From 2aa5ab63b4bbce5c36dbb3511b205b3b5f6af9bd Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 07 五月 2024 11:34:20 +0800
Subject: [PATCH] 2024-05-07

---
 src/menu/components/share/actioncomponent/formconfig.jsx |  688 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 638 insertions(+), 50 deletions(-)

diff --git a/src/menu/components/share/actioncomponent/formconfig.jsx b/src/menu/components/share/actioncomponent/formconfig.jsx
index dff3ec2..c9f53f2 100644
--- a/src/menu/components/share/actioncomponent/formconfig.jsx
+++ b/src/menu/components/share/actioncomponent/formconfig.jsx
@@ -1,5 +1,5 @@
+import React from 'react'
 import { btnClasses } from '@/utils/option.js'
-
 
 /**
  * @description 鑾峰彇鎸夐挳琛ㄥ崟閰嶇疆淇℃伅
@@ -7,18 +7,16 @@
  * @param {*} functip        鐢熸垚瀛樺偍杩囩▼鎻愮ず
  * @param {*} setting        缁勪欢閰嶇疆
  * @param {*} usefulFields   瀛樺偍杩囩▼鍙敤鐨勫紑濮嬪瓧娈�
- * @param {*} type           鎸夐挳绫诲瀷锛岀敤浜庡尯鍒嗗彲閫夌殑鎵撳紑鏂瑰紡
  */
-export function getActionForm (card, functip, config, usefulFields, modules = [], anchors = [], side) {
+export function getActionForm (card, functip, config, usefulFields, modules = [], anchors = [], side, position) {
   let appType = sessionStorage.getItem('appType')
   let viewType = sessionStorage.getItem('editMenuType') // 寮圭獥 popview
-  let printTemps = sessionStorage.getItem('printTemps')
-  printTemps = printTemps ? JSON.parse(printTemps) : []
   let setting = config.setting || {}
   let columns = side === 'sub' && config.subColumns ? config.subColumns : (config.columns || [])
   let appMenus = []
   let menulist = []
   let type = ''
+  let alltype = config.type + '_' + config.subtype
 
   if (card.eleType === 'button') {
     type = 'card'
@@ -84,7 +82,73 @@
     return _list
   }
 
-  let tabs = getTabs(JSON.parse(JSON.stringify(window.GLOB.customMenu.components)))
+  let tabs = getTabs(window.GLOB.customMenu.components)
+
+  let linkButtons = []
+  let filterComponent = (components) => {
+    components.forEach(item => {
+      if (item.type === 'tabs') {
+        item.subtabs.forEach(tab => {
+          filterComponent(tab.components)
+        })
+      } else if (item.type === 'group') {
+        filterComponent(item.components)
+      } else {
+        item.action && item.action.forEach(cell => {
+          if (cell.hidden === 'true' || cell.uuid === card.uuid) return
+          if (!['exec', 'prompt', 'pop'].includes(cell.OpenType)) return
+  
+          linkButtons.push({
+            value: cell.uuid,
+            label: cell.label + '锛�' + item.name + '锛�'
+          })
+        })
+  
+        if (item.type === 'card' && item.subcards) {
+          item.subcards.forEach(m => {
+            if ((item.subtype === 'datacard' || item.subtype === 'dualdatacard') && m.$cardType !== 'extendCard') return
+            m.elements.forEach(cell => {
+              if (cell.eleType !== 'button' || cell.hidden === 'true' || cell.uuid === card.uuid) return
+              if (!['exec', 'prompt', 'pop'].includes(cell.OpenType)) return
+  
+              linkButtons.push({
+                value: cell.uuid,
+                label: cell.label + '锛�' + item.name + '锛�'
+              })
+            })
+          })
+        } else if (item.type === 'balcony') {
+          item.elements.forEach(cell => {
+            if (cell.eleType !== 'button' || cell.hidden === 'true' || cell.uuid === card.uuid) return
+            if (!['exec', 'prompt', 'pop'].includes(cell.OpenType)) return
+            
+            linkButtons.push({
+              value: cell.uuid,
+              label: cell.label + '锛�' + item.name + '锛�'
+            })
+          })
+        } else if (item.type === 'form') {
+          item.subcards.forEach(group => {
+            if(group.uuid === card.uuid) return
+
+            if (item.subcards.length > 1) {
+              linkButtons.push({
+                value: group.uuid,
+                label: group.subButton.label + '锛�' + item.name + '-' + group.setting.title + '锛�'
+              })
+            } else {
+              linkButtons.push({
+                value: group.uuid,
+                label: group.subButton.label + '锛�' + item.name + '锛�'
+              })
+            }
+          })
+        }
+      }
+    })
+  }
+
+  filterComponent(window.GLOB.customMenu.components)
 
   let pageTemps = [
     { value: 'billprint', text: '鍗曟嵁鎵撳嵃' },
@@ -97,6 +161,8 @@
     { value: 'print', text: '鏍囩鎵撳嵃' },
     { value: 'refund', text: '閫�娆�' },
     { value: 'closetab', text: '鏍囩鍏抽棴' },
+    { value: 'expPdf', text: '瀵煎嚭PDF' },
+    { value: 'shareLink', text: '鍒嗕韩閾炬帴' },
     { value: 'megvii', text: '鏃疯闈㈡澘鏈�' },
     { value: 'filezip', text: '鏂囦欢鍘嬬缉鍖�' },
   ]
@@ -139,6 +205,8 @@
       { value: 'reAuth', text: '鍒囨崲绯荤粺锛堟竻绌虹紦瀛�-灏忕▼搴忥級' },
       { value: 'clearCache', text: '娓呯┖鏈湴閰嶇疆' },
       { value: 'copyurl', text: '澶嶅埗閾炬帴鍦板潃' },
+      { value: 'expPdf', text: '瀵煎嚭PDF' },
+      { value: 'shareLink', text: '鍒嗕韩閾炬帴' },
       { value: 'logout', text: '閫�鍑�' },
       { value: 'goBack', text: '杩斿洖' },
     ]
@@ -245,6 +313,29 @@
     card.formType = 'switch'
   }
 
+  let width = card.width || (card.width === 0 ? 0 : 12)
+  if (/x/.test(card.width)) {
+    width = +width.replace(/x/, '.5')
+  }
+
+  let extraParam = []
+  if (card.recordUser === 'true') {
+    extraParam.push('recordUser')
+  }
+  if (card.dataM === 'true') {
+    extraParam.push('dataM')
+  }
+
+  if (!appType) {
+    if (typeof(card.openmenu) === 'string') {
+      card.openmenu = []
+    }
+  } else {
+    if (typeof(card.openmenu) !== 'string') {
+      card.openmenu = ''
+    }
+  }
+
   let forms = [
     {
       type: 'select',
@@ -259,6 +350,7 @@
       key: 'label',
       label: '鎸夐挳鍚嶇О',
       initVal: card.label,
+      tooltip: card.uuid ? '鎸夐挳ID锛�' + card.uuid : '',
       required: true,
     },
     {
@@ -344,7 +436,7 @@
       key: 'procMode',
       label: '鍙傛暟澶勭悊',
       initVal: card.procMode || (card.innerFunc ? 'inner' : 'system'),
-      tooltip: '褰撹繑鍥炲�煎瓨鍦� mk_ex_invoke 涓斿�间负 false 鏃讹紝涓嶄細璋冪敤澶栭儴鎺ュ彛銆傛敞锛氬綋閫夆�滄棤鈥濇椂锛屾寜閽�夎鏃朵細浼犻�掍富閿紝瀛樺湪琛ㄥ崟鏃朵細浼犻�掕〃鍗曞瓧娈碉紝瀛樺湪BID鏃朵細浼燘ID瀛楁銆�',
+      tooltip: '褰撹繑鍥炲�煎瓨鍦� mk_ex_invoke 涓斿�间负 false 鏃讹紝涓嶄細璋冪敤澶栭儴鎺ュ彛锛涘綋杩斿洖鍊煎瓨鍦� mk_ex_data 鏃讹紝灏嗕互姝や负鍙傛暟鍒嗘壒璇锋眰鑷畾涔夋帴鍙c�傛敞锛氬綋閫夆�滄棤鈥濇椂锛屾寜閽�夎鏃朵細浼犻�掍富閿紝瀛樺湪琛ㄥ崟鏃朵細浼犻�掕〃鍗曞瓧娈碉紝瀛樺湪BID鏃朵細浼燘ID瀛楁銆�',
       required: true,
       options: [{
         value: 'system',
@@ -399,12 +491,24 @@
       options: pageTemps
     },
     {
-      type: 'select',
+      type: 'printTemps',
       key: 'printTemp',
       label: '鎵撳嵃妯℃澘',
       initVal: card.printTemp || '',
-      required: true,
-      options: printTemps
+      help: (record) => {
+        if (record.printTemp) {
+          return <span onClick={() => {
+            sessionStorage.setItem('mk-print-temp', record.printTemp)
+            window.open('#/hs')
+
+            setTimeout(() => {
+              sessionStorage.removeItem('mk-print-temp')
+            }, 50)
+          }} style={{color: '#1890ff', cursor: 'pointer', fontSize: '13px'}}>#鏌ョ湅妯℃澘</span>
+        }
+        return ''
+      },
+      required: true
     },
     {
       type: isApp ? 'select' : 'cascader',
@@ -413,14 +517,14 @@
       initVal: card.linkmenu || (isApp ? '' : []),
       required: true,
       extendName: 'MenuNo',
-      options: isApp ? appMenus : menulist
+      options: isApp ? appMenus : (menulist.length ? [...menulist, {value: 'multiMenu', label: '澶氳彍鍗�'}] : [])
     },
     {
       type: 'text',
       key: 'prefix',
       label: '鍓嶇紑',
       initVal: card.prefix || '',
-      tooltip: '鎵爜淇℃伅灏嗕笌鍓嶇紑鎷兼帴鍚庢墽琛屻�傛敞锛氳烦杞彍鍗曢渶浠kbid寮�澶淬��',
+      tooltip: '鎵爜淇℃伅灏嗕笌鍓嶇紑鎷兼帴鍚庢墽琛屻�傛敞锛氳烦杞彍鍗曢渶浠kbid锛�:鎴�,锛夊紑澶达紝mkbid锛�:鎴�,锛夎烦杞悗灏嗚鍘婚櫎銆備緥濡傦細mkbid:123456 璺宠浆鍚庨〉闈ID涓� 123456銆�',
       required: false
     },
     {
@@ -605,17 +709,22 @@
       key: 'execSuccess',
       label: '鎴愬姛鍚�',
       initVal: card.execSuccess || 'grid',
-      tooltip: refresh.length ? '鎵ц鍒锋柊婧愮粍浠舵椂锛岃鍦ㄦ簮鎸夐挳涓缃叧闂悗鍒锋柊閭d竴椤癸紝娉細姝ゆ椂浼氬悓姝ュ埛鏂板綋鍓嶇粍浠跺拰涓婄骇缁勪欢-琛屻�傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭腑鍖呭惈@close_tab@銆丂close_popup@銆丂goback@ 浼氭墽琛岋紙鍏抽棴鏍囩-绠$悊绯荤粺锛夈�侊紙鍏抽棴寮圭獥锛夈�侊紙杩斿洖涓婁竴椤�-瀛愬簲鐢級绛夊姩浣溿��' : '閫夋嫨鍒锋柊琛屾椂锛屽鏋滈�夋嫨澶氭潯鏁版嵁浼氬埛鏂拌〃鏍笺�傛敞锛氫笂绾х粍浠跺湪鏁版嵁婧愪腑娣诲姞銆傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭腑鍖呭惈@close_tab@銆丂close_popup@銆丂goback@ 浼氭墽琛岋紙鍏抽棴鏍囩-绠$悊绯荤粺锛夈�侊紙鍏抽棴寮圭獥锛夈�侊紙杩斿洖涓婁竴椤�-瀛愬簲鐢級绛夊姩浣溿��',
+      tooltip: refresh.length ? '鎵ц鍒锋柊婧愮粍浠舵椂锛岃鍦ㄦ簮鎸夐挳锛堝脊绐楁寜閽級涓缃叧闂悗鍒锋柊閭d竴椤癸紝娉細姝ゆ椂浼氬悓姝ュ埛鏂板綋鍓嶇粍浠跺拰涓婄骇缁勪欢-琛屻�傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭紙@retmsg锛夌壒娈婃爣璇嗭細@close_tab@ 鎵ц锛堝叧闂爣绛�-绠$悊绯荤粺锛夛紱@close_popup@ 鎵ц锛堝叧闂脊绐楋級锛汙goback@ 鎵ц锛堣繑鍥炰笂涓�椤�-瀛愬簲鐢級锛汙no_target_menu@ 涓嶆墽琛屾墦寮�鑿滃崟銆�' : '閫夋嫨鍒锋柊琛屾椂锛屽鏋滈�夋嫨澶氭潯鏁版嵁浼氬埛鏂扮粍浠讹紱閫夋嫨鍒锋柊琛� / 缁勪欢鏃讹紝濡傛灉褰撳墠琛屾暟鎹笉瀛樺湪浼氬埛鏂扮粍浠躲�傛敞锛氫笂绾х粍浠跺湪鏁版嵁婧愪腑娣诲姞銆傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭紙@retmsg锛夌壒娈婃爣璇嗭細@close_tab@ 鎵ц锛堝叧闂爣绛�-绠$悊绯荤粺锛夛紱@close_popup@ 鎵ц锛堝叧闂脊绐楋級锛汙goback@ 鎵ц锛堣繑鍥炰笂涓�椤�-瀛愬簲鐢級锛汙no_target_menu@ 涓嶆墽琛屾墦寮�鑿滃崟銆�',
       required: true,
       options: [{
         value: 'never',
         text: '涓嶅埛鏂�'
       }, {
         value: 'line',
-        text: '鍒锋柊琛�'
+        text: '鍒锋柊琛�',
+        $disabled: !['table_normaltable', 'table_editable', 'table_basetable', 'card_datacard', 'card_dualdatacard'].includes(alltype)
       }, {
         value: 'grid',
         text: '鍒锋柊褰撳墠缁勪欢'
+      }, {
+        value: 'line_grid',
+        text: '鍒锋柊琛� / 缁勪欢',
+        $disabled: !['table_normaltable', 'table_editable', 'table_basetable', 'card_datacard', 'card_dualdatacard'].includes(alltype)
       }, {
         value: 'mainline',
         text: '鍒锋柊涓婄骇缁勪欢 - 琛�'
@@ -628,17 +737,22 @@
       key: 'execError',
       label: '澶辫触鍚�',
       initVal: card.execError || 'never',
-      tooltip: refresh.length ? '鎵ц鍒锋柊婧愮粍浠舵椂锛岃鍦ㄦ簮鎸夐挳涓缃叧闂悗鍒锋柊閭d竴椤癸紝娉細姝ゆ椂浼氬悓姝ュ埛鏂板綋鍓嶇粍浠跺拰涓婄骇缁勪欢-琛屻�傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭腑鍖呭惈@close_tab@銆丂close_popup@銆丂goback@ 浼氭墽琛岋紙鍏抽棴鏍囩-绠$悊绯荤粺锛夈�侊紙鍏抽棴寮圭獥锛夈�侊紙杩斿洖涓婁竴椤�-瀛愬簲鐢級绛夊姩浣溿��' : '閫夋嫨鍒锋柊琛屾椂锛屽鏋滈�夋嫨澶氭潯鏁版嵁浼氬埛鏂拌〃鏍硷紝娉細涓婄骇缁勪欢鍦ㄦ暟鎹簮涓坊鍔犮�傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭腑鍖呭惈@close_tab@銆丂close_popup@銆丂goback@ 浼氭墽琛岋紙鍏抽棴鏍囩-绠$悊绯荤粺锛夈�侊紙鍏抽棴寮圭獥锛夈�侊紙杩斿洖涓婁竴椤�-瀛愬簲鐢級绛夊姩浣溿��',
+      tooltip: refresh.length ? '鎵ц鍒锋柊婧愮粍浠舵椂锛岃鍦ㄦ簮鎸夐挳锛堝脊绐楁寜閽級涓缃叧闂悗鍒锋柊閭d竴椤癸紝娉細姝ゆ椂浼氬悓姝ュ埛鏂板綋鍓嶇粍浠跺拰涓婄骇缁勪欢-琛屻�傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭紙@retmsg锛夌壒娈婃爣璇嗭細@close_tab@ 鎵ц锛堝叧闂爣绛�-绠$悊绯荤粺锛夛紱@close_popup@ 鎵ц锛堝叧闂脊绐楋級锛汙goback@ 鎵ц锛堣繑鍥炰笂涓�椤�-瀛愬簲鐢級銆�' : '閫夋嫨鍒锋柊琛屾椂锛屽鏋滈�夋嫨澶氭潯鏁版嵁浼氬埛鏂扮粍浠讹紱閫夋嫨鍒锋柊琛� / 缁勪欢鏃讹紝濡傛灉褰撳墠琛屾暟鎹笉瀛樺湪浼氬埛鏂扮粍浠躲�傛敞锛氫笂绾х粍浠跺湪鏁版嵁婧愪腑娣诲姞銆傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭紙@retmsg锛夌壒娈婃爣璇嗭細@close_tab@ 鎵ц锛堝叧闂爣绛�-绠$悊绯荤粺锛夛紱@close_popup@ 鎵ц锛堝叧闂脊绐楋級锛汙goback@ 鎵ц锛堣繑鍥炰笂涓�椤�-瀛愬簲鐢級銆�',
       required: true,
       options: [{
         value: 'never',
         text: '涓嶅埛鏂�'
       }, {
         value: 'line',
-        text: '鍒锋柊琛�'
+        text: '鍒锋柊琛�',
+        $disabled: !['table_normaltable', 'table_editable', 'table_basetable', 'card_datacard', 'card_dualdatacard'].includes(alltype)
       }, {
         value: 'grid',
         text: '鍒锋柊褰撳墠缁勪欢'
+      }, {
+        value: 'line_grid',
+        text: '鍒锋柊琛� / 缁勪欢',
+        $disabled: !['table_normaltable', 'table_editable', 'table_basetable', 'card_datacard', 'card_dualdatacard'].includes(alltype)
       }, {
         value: 'mainline',
         text: '鍒锋柊涓婄骇缁勪欢 - 琛�'
@@ -649,7 +763,7 @@
       type: 'select',
       key: 'popClose',
       label: '鍏抽棴鍚�',
-      initVal: card.popClose || 'never',
+      initVal: card.popClose || 'grid',
       required: true,
       options: [{
         value: 'never',
@@ -677,17 +791,69 @@
       }]
     },
     {
+      type: 'radio',
+      key: 'shortUrl',
+      label: '鐭摼鎺�',
+      initVal: card.shortUrl || 'false',
+      options: [{
+        value: 'false',
+        text: '绂佺敤'
+      }, {
+        value: 'true',
+        text: '鍚敤'
+      }]
+    },
+    {
+      type: 'textarea',
+      key: 'shareUrl',
+      label: '閾炬帴鍦板潃',
+      initVal: card.shareUrl || '',
+      tooltip: '閾炬帴涓鏋滃瓨鍦ˊBID@鎴朄ID@灏嗚嚜鍔ㄦ浛鎹€��',
+      required: true
+    },
+    {
+      type: 'textarea',
+      key: 'shareProUrl',
+      label: '姝e紡閾炬帴',
+      initVal: card.shareProUrl || '',
+      tooltip: '閾炬帴涓鏋滃瓨鍦ˊBID@鎴朄ID@灏嗚嚜鍔ㄦ浛鎹€��',
+      required: false
+    },
+    {
+      type: 'text',
+      key: 'shareTip',
+      label: '鍒嗕韩鎻愮ず',
+      initVal: card.shareTip || '',
+      tooltip: '鍒嗕韩鏃跺鐢ㄦ埛鐨勬彁绀轰俊鎭��',
+      required: false
+    },
+    {
       type: 'number',
       key: 'width',
-      min: 1,
+      min: 0,
       max: 24,
-      precision: 0,
+      precision: 1,
       label: '瀹藉害',
-      initVal: card.width || 12,
-      tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��',
+      initVal: width,
+      tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼�備负 0 鏃跺搴﹁嚜閫傚簲銆傚彲璁剧疆鍗婂垪鍗�.5銆�',
       forbid: type !== 'card',
       required: true
     },
+    // {
+    //   type: 'radio',
+    //   key: 'exportType',
+    //   label: '瀵煎嚭鏂瑰紡',
+    //   initVal: card.exportType || 'download',
+    //   tooltip: '',
+    //   required: true,
+    //   options: [{
+    //     value: 'download',
+    //     text: '涓嬭浇鏈湴'
+    //   }, {
+    //     value: 'link',
+    //     text: '鐢熸垚閾炬帴'
+    //   }]
+    // },
     {
       type: 'radio',
       key: 'show',
@@ -708,15 +874,31 @@
     },
     {
       type: 'radio',
+      key: 'hover',
+      label: '鎮诞鏁堟灉',
+      initVal: card.hover || '',
+      tooltip: '榧犳爣鎮诞鎸夐挳涓婃柟鏃剁殑棰滆壊鍙樺寲銆�',
+      required: false,
+      forbid: type === 'card' || appType === 'mob',
+      options: [{
+        value: '',
+        text: '鏃�'
+      }, {
+        value: 'mk-btn-hover-bg',
+        text: '鑳屾櫙鍙樺寲'
+      }, {
+        value: 'mk-btn-hover-border',
+        text: '杈规鍙樺寲'
+      }]
+    },
+    {
+      type: 'radio',
       key: 'swipe',
       label: "婊戝姩鏄剧ず",
       initVal: card.swipe === 'false' ? 'left' : (card.swipe || 'left'), // 绉诲姩绔粎淇濈暀婊戝姩鏄剧ず鎸夐挳
       required: false,
       forbid: (type !== 'datacard' || appType !== 'mob'),
       options: [{
-      //   value: 'false',
-      //   text: '鍚�'
-      // }, {
         value: 'left',
         text: '宸︽粦'
       }, {
@@ -873,21 +1055,54 @@
       forbid: viewType === 'popview'
     },
     {
+      type: 'select',
+      key: 'preButton',
+      label: '鍓嶇疆鎸夐挳',
+      tooltip: '褰撳墠鎸夐挳鎵ц鍓嶏紝闇�瑕佹墽琛岀殑鎸夐挳銆�',
+      initVal: card.preButton || '',
+      required: false,
+      allowClear: true,
+      options: linkButtons
+    },
+    {
       type: 'text',
       key: 'output',
       label: '杩斿洖鍊�',
       tooltip: '鎵ц鎴愬姛鍚庣殑杩斿洖鍊笺�傜郴缁熷嚱鏁板彲鎸囧畾杩斿洖鐨勫彉閲忥紙浠绗﹀紑澶达紝杩斿洖id鏃跺彲浣跨敤@id@锛夛紱鑷畾涔夊嚱鏁板彲鎸囧畾杩斿洖瀛楁锛堝id锛夈��',
       initVal: card.output || '',
       required: false,
-      forbid: viewType === 'popview'
+      // forbid: viewType === 'popview'
     },
     {
       type: 'text',
       key: 'tipTitle',
       label: '纭鎻愮ず',
       initVal: card.tipTitle || '',
-      tooltip: '娉細寮圭獥锛堣〃鍗曪級鍦ㄦ樉绀轰负鏄惁妗嗘椂鏈夋晥銆�',
+      tooltip: '鎻愮ず妗嗙殑纭鎻愮ず淇℃伅銆�',
       required: false
+    },
+    {
+      type: 'text',
+      key: 'hoverTitle',
+      label: '鎮诞鎻愮ず',
+      initVal: card.hoverTitle || '',
+      tooltip: '榧犳爣鎮诞鍦ㄦ寜閽笂鏂规椂鐨勬彁绀轰俊鎭��',
+      forbid: appType === 'mob',
+      required: false
+    },
+    {
+      type: 'select',
+      key: 'showName',
+      label: '鏄剧ず鍐呭',
+      initVal: card.showName || '',
+      tooltip: '琛岀骇鎸夐挳鍙�氳繃琛屼俊鎭帶鍒舵寜閽樉绀哄唴瀹广��',
+      required: false,
+      allowClear: true,
+      forbid: position !== 'line',
+      options: columns.map(item => ({
+        value: item.field,
+        text: `${item.label}锛�${item.field}锛塦
+      }))
     },
     {
       type: 'radio',
@@ -1062,6 +1277,21 @@
       forbid: appType === 'mob'
     },
     {
+      type: 'checkbox',
+      key: 'extraParam',
+      label: '鎵╁睍鍙傛暟',
+      initVal: extraParam,
+      tooltip: '閫夋嫨鈥滅敤鎴蜂俊鎭�濇椂锛屽唴閮ㄥ嚱鏁扮殑浼犲弬浼氬鍔� username 涓� fullname銆傞�夋嫨鈥滄暟鎹鐞嗗憳鈥濇椂锛屽唴閮ㄥ嚱鏁扮殑浼犲弬浼氬鍔� dataM 锛岀鐞嗗憳鍊间负鈥淵鈥濓紝鏅�氱敤鎴蜂负绌恒��',
+      required: false,
+      options: [{
+        value: 'recordUser',
+        text: '鐢ㄦ埛淇℃伅'
+      }, {
+        value: 'dataM',
+        text: '鏁版嵁绠$悊鍛�'
+      }]
+    },
+    {
       type: 'radio',
       key: 'control',
       label: '鎸夐挳鎺у埗',
@@ -1108,6 +1338,21 @@
       initVal: card.reason || '',
       required: false
     },
+    // {
+    //   type: 'radio',
+    //   key: 'formCache',
+    //   label: '琛ㄥ崟缂撳瓨',
+    //   initVal: card.formCache || 'false',
+    //   tooltip: '涓昏鐢ㄤ簬鏁版嵁淇敼鍚庯紝鏇存柊鐩稿叧琛ㄥ崟鐨勯�夐」锛屾竻绌虹紦瀛樺悗琛ㄥ崟鍐嶆鎵撳紑鏃舵暟鎹細閲嶆柊鍔犺浇銆�',
+    //   required: false,
+    //   options: [{
+    //     value: 'false',
+    //     text: '涓嶆竻绌�'
+    //   }, {
+    //     value: 'clear',
+    //     text: '娓呯┖'
+    //   }]
+    // },
     {
       type: 'radio',
       key: 'hidden',
@@ -1122,6 +1367,18 @@
         value: 'true',
         text: '鏄�'
       }]
+    },
+    {
+      type: 'radio',
+      key: 'permission',
+      label: '鏉冮檺楠岃瘉',
+      initVal: card.permission || 'true',
+      required: false,
+      options: [
+        {value: 'true', text: '缁ф壙鑿滃崟'},
+        {value: 'false', text: '绂佺敤'},
+      ],
+      forbid: viewType === 'popview'
     },
     {
       type: 'splitLine',
@@ -1253,13 +1510,14 @@
       label: '缁勪欢鍒楄〃',
       initVal: card.syncComponents || [],
       required: true,
-      actions: [],
+      actions: ['edit', 'del', 'add', 'move'],
       columns: [
         {
           title: '缁勪欢',
           dataIndex: 'syncComId',
           inputType: 'cascader',
           editable: true,
+          unique: true,
           required: true,
           extends: [{key: 'label', value: 'label'}],
           width: '70%',
@@ -1267,6 +1525,90 @@
           options: modules
         }
       ]
+    },
+    {
+      type: 'radio',
+      key: 'sysId',
+      label: '鑷畾涔塈D',
+      initVal: card.sysId || '',
+      tooltip: '涓嶉�夎鎸夐挳鍙湪鍓嶇鐢熸垚ID鍊�(32浣�)锛屼綔涓哄悗缁彍鍗曠殑BID锛屽瓨鍦ㄦ爣璁版椂锛孖D鍊煎悗灏嗘嫾鎺ユ爣璁板�笺��',
+      required: false,
+      options: [{
+        value: '',
+        text: '缁勪欢BID'
+      }, {
+        value: 'js',
+        text: '鍓嶇鐢熸垚'
+      }, {
+        value: 'empty',
+        text: '绌�'
+      }]
+    },
+    {
+      type: 'text',
+      key: 'sign',
+      label: '鏍囪',
+      initVal: card.sign || '',
+      required: false
+    },
+    {
+      type: 'table',
+      key: 'multiMenus',
+      label: '鑿滃崟鍒楄〃',
+      initVal: card.multiMenus || [],
+      required: true,
+      actions: ['edit', 'del', 'add', 'move'],
+      columns: [
+        {
+          title: '鍚嶇О',
+          dataIndex: 'name',
+          inputType: 'text',
+          editable: true,
+          required: false,
+          width: '30%'
+        },
+        {
+          title: '鑿滃崟',
+          dataIndex: 'menuId',
+          inputType: 'cascader',
+          editable: true,
+          required: true,
+          extends: [{key: 'label', value: 'label', mutilLabel: 'name'}],
+          width: '30%',
+          render: (text, record) => record.label,
+          options: menulist
+        },
+        {
+          title: '鏍囪',
+          dataIndex: 'sign',
+          inputType: 'text',
+          editable: true,
+          required: false,
+          width: '20%'
+        }
+      ]
+    },
+    {
+      type: 'radio',
+      key: 'preHandle',
+      label: '鑷畾涔夎剼鏈�',
+      initVal: card.preHandle || 'false',
+      // tooltip: '闅愯棌鍚庢寜閽湪椤甸潰涓笉鏄剧ず锛屼笖涓嶅弬涓庢潈闄愬垎閰嶃��',
+      required: false,
+      options: [{
+        value: 'false',
+        text: '绂佺敤'
+      }, {
+        value: 'true',
+        text: '鍚敤'
+      }]
+    },
+    {
+      type: 'codemirror',
+      key: 'pre_func',
+      label: '鑷畾涔夎剼鏈�',
+      initVal: card.pre_func || '',
+      required: true,
     }
   ]
 
@@ -1280,10 +1622,8 @@
  * @param {*} setting        缁勪欢閰嶇疆
  * @param {*} usefulFields   瀛樺偍杩囩▼鍙敤鐨勫紑濮嬪瓧娈�
  */
-export function getBaseTableActionForm (card, functip, config, usefulFields, modules) {
+export function getBaseTableActionForm (card, functip, config, usefulFields, modules, position) {
   let viewType = sessionStorage.getItem('editMenuType') // 寮圭獥 popview
-  let printTemps = sessionStorage.getItem('printTemps')
-  printTemps = printTemps ? JSON.parse(printTemps) : []
   let setting = config.setting || {}
   let columns = config.columns || []
 
@@ -1336,6 +1676,8 @@
     { value: 'print', text: '鏍囩鎵撳嵃' },
     { value: 'refund', text: '閫�娆�' },
     { value: 'closetab', text: '鏍囩鍏抽棴' },
+    { value: 'expPdf', text: '瀵煎嚭PDF' },
+    { value: 'shareLink', text: '鍒嗕韩閾炬帴' },
     { value: 'megvii', text: '鏃疯闈㈡澘鏈�' },
     { value: 'filezip', text: '鏂囦欢鍘嬬缉鍖�' },
   ]
@@ -1371,6 +1713,14 @@
     card.OpenType = 'pop'
   }
 
+  let extraParam = []
+  if (card.recordUser === 'true') {
+    extraParam.push('recordUser')
+  }
+  if (card.dataM === 'true') {
+    extraParam.push('dataM')
+  }
+
   let forms = [
     {
       type: 'select',
@@ -1385,6 +1735,7 @@
       key: 'label',
       label: '鎸夐挳鍚嶇О',
       initVal: card.label,
+      tooltip: card.uuid ? '鎸夐挳ID锛�' + card.uuid : '',
       required: true,
     },
     {
@@ -1449,7 +1800,7 @@
       key: 'procMode',
       label: '鍙傛暟澶勭悊',
       initVal: card.procMode || (card.innerFunc ? 'inner' : 'system'),
-      tooltip: '褰撹繑鍥炲�煎瓨鍦� mk_ex_invoke 涓斿�间负 false 鏃讹紝涓嶄細璋冪敤澶栭儴鎺ュ彛銆傛敞锛氬綋閫夆�滄棤鈥濇椂锛屾寜閽�夎鏃朵細浼犻�掍富閿紝瀛樺湪琛ㄥ崟鏃朵細浼犻�掕〃鍗曞瓧娈碉紝瀛樺湪BID鏃朵細浼燘ID瀛楁銆�',
+      tooltip: '褰撹繑鍥炲�煎瓨鍦� mk_ex_invoke 涓斿�间负 false 鏃讹紝涓嶄細璋冪敤澶栭儴鎺ュ彛锛涘綋杩斿洖鍊煎瓨鍦� mk_ex_data 鏃讹紝灏嗕互姝や负鍙傛暟鍒嗘壒璇锋眰鑷畾涔夋帴鍙c�傛敞锛氬綋閫夆�滄棤鈥濇椂锛屾寜閽�夎鏃朵細浼犻�掍富閿紝瀛樺湪琛ㄥ崟鏃朵細浼犻�掕〃鍗曞瓧娈碉紝瀛樺湪BID鏃朵細浼燘ID瀛楁銆�',
       required: true,
       options: [{
         value: 'system',
@@ -1504,12 +1855,24 @@
       options: pageTemps
     },
     {
-      type: 'select',
+      type: 'printTemps',
       key: 'printTemp',
       label: '鎵撳嵃妯℃澘',
       initVal: card.printTemp || '',
-      required: true,
-      options: printTemps
+      help: (record) => {
+        if (record.printTemp) {
+          return <span onClick={() => {
+            sessionStorage.setItem('mk-print-temp', record.printTemp)
+            window.open('#/hs')
+
+            setTimeout(() => {
+              sessionStorage.removeItem('mk-print-temp')
+            }, 50)
+          }} style={{color: '#1890ff', cursor: 'pointer', fontSize: '13px'}}>#鏌ョ湅妯℃澘</span>
+        }
+        return ''
+      },
+      required: true
     },
     {
       type: 'cascader',
@@ -1518,7 +1881,7 @@
       initVal: card.linkmenu || [],
       required: true,
       extendName: 'MenuNo',
-      options: menulist
+      options: menulist.length ? [...menulist, {value: 'multiMenu', label: '澶氳彍鍗�'}] : []
     },
     {
       type: 'textarea',
@@ -1702,7 +2065,7 @@
       key: 'execSuccess',
       label: '鎴愬姛鍚�',
       initVal: card.execSuccess || 'grid',
-      tooltip: refresh.length ? '鎵ц鍒锋柊婧愮粍浠舵椂锛岃鍦ㄦ簮鎸夐挳涓缃叧闂悗鍒锋柊閭d竴椤癸紝娉細姝ゆ椂浼氬悓姝ュ埛鏂板綋鍓嶇粍浠跺拰涓婄骇缁勪欢-琛屻�傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭腑鍖呭惈@close_tab@銆丂close_popup@銆丂goback@ 浼氭墽琛岋紙鍏抽棴鏍囩-绠$悊绯荤粺锛夈�侊紙鍏抽棴寮圭獥锛夈�侊紙杩斿洖涓婁竴椤�-瀛愬簲鐢級绛夊姩浣溿��' : '閫夋嫨鍒锋柊琛屾椂锛屽鏋滈�夋嫨澶氭潯鏁版嵁浼氬埛鏂拌〃鏍笺�傛敞锛氫笂绾х粍浠跺湪鏁版嵁婧愪腑娣诲姞銆傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭腑鍖呭惈@close_tab@銆丂close_popup@銆丂goback@ 浼氭墽琛岋紙鍏抽棴鏍囩-绠$悊绯荤粺锛夈�侊紙鍏抽棴寮圭獥锛夈�侊紙杩斿洖涓婁竴椤�-瀛愬簲鐢級绛夊姩浣溿��',
+      tooltip: refresh.length ? '鎵ц鍒锋柊婧愮粍浠舵椂锛岃鍦ㄦ簮鎸夐挳锛堝脊绐楁寜閽級涓缃叧闂悗鍒锋柊閭d竴椤癸紝娉細姝ゆ椂浼氬悓姝ュ埛鏂板綋鍓嶇粍浠跺拰涓婄骇缁勪欢-琛屻�傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭紙@retmsg锛夌壒娈婃爣璇嗭細@close_tab@ 鎵ц锛堝叧闂爣绛�-绠$悊绯荤粺锛夛紱@close_popup@ 鎵ц锛堝叧闂脊绐楋級锛汙goback@ 鎵ц锛堣繑鍥炰笂涓�椤�-瀛愬簲鐢級锛汙no_target_menu@ 涓嶆墽琛屾墦寮�鑿滃崟銆�' : '閫夋嫨鍒锋柊琛屾椂锛屽鏋滈�夋嫨澶氭潯鏁版嵁浼氬埛鏂扮粍浠讹紱閫夋嫨鍒锋柊琛� / 缁勪欢鏃讹紝濡傛灉褰撳墠琛屾暟鎹笉瀛樺湪浼氬埛鏂扮粍浠躲�傛敞锛氫笂绾х粍浠跺湪鏁版嵁婧愪腑娣诲姞銆傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭紙@retmsg锛夌壒娈婃爣璇嗭細@close_tab@ 鎵ц锛堝叧闂爣绛�-绠$悊绯荤粺锛夛紱@close_popup@ 鎵ц锛堝叧闂脊绐楋級锛汙goback@ 鎵ц锛堣繑鍥炰笂涓�椤�-瀛愬簲鐢級锛汙no_target_menu@ 涓嶆墽琛屾墦寮�鑿滃崟銆�',
       required: true,
       options: [{
         value: 'never',
@@ -1713,6 +2076,9 @@
       }, {
         value: 'grid',
         text: '鍒锋柊褰撳墠缁勪欢'
+      }, {
+        value: 'line_grid',
+        text: '鍒锋柊琛� / 缁勪欢',
       }, {
         value: 'mainline',
         text: '鍒锋柊涓婄骇缁勪欢 - 琛�'
@@ -1724,7 +2090,7 @@
       key: 'execError',
       label: '澶辫触鍚�',
       initVal: card.execError || 'never',
-      tooltip: refresh.length ? '鎵ц鍒锋柊婧愮粍浠舵椂锛岃鍦ㄦ簮鎸夐挳涓缃叧闂悗鍒锋柊鍝竴椤癸紝娉細姝ゆ椂浼氬悓姝ュ埛鏂板綋鍓嶇粍浠跺拰涓婄骇缁勪欢-琛屻�傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭腑鍖呭惈@close_tab@銆丂close_popup@銆丂goback@ 浼氭墽琛岋紙鍏抽棴鏍囩-绠$悊绯荤粺锛夈�侊紙鍏抽棴寮圭獥锛夈�侊紙杩斿洖涓婁竴椤�-瀛愬簲鐢級绛夊姩浣溿��' : '閫夋嫨鍒锋柊琛屾椂锛屽鏋滈�夋嫨澶氭潯鏁版嵁浼氬埛鏂拌〃鏍硷紝娉細涓婄骇缁勪欢鍦ㄦ暟鎹簮涓坊鍔犮�傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭腑鍖呭惈@close_tab@銆丂close_popup@銆丂goback@ 浼氭墽琛岋紙鍏抽棴鏍囩-绠$悊绯荤粺锛夈�侊紙鍏抽棴寮圭獥锛夈�侊紙杩斿洖涓婁竴椤�-瀛愬簲鐢級绛夊姩浣溿��',
+      tooltip: refresh.length ? '鎵ц鍒锋柊婧愮粍浠舵椂锛岃鍦ㄦ簮鎸夐挳锛堝脊绐楁寜閽級涓缃叧闂悗鍒锋柊鍝竴椤癸紝娉細姝ゆ椂浼氬悓姝ュ埛鏂板綋鍓嶇粍浠跺拰涓婄骇缁勪欢-琛屻�傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭紙@retmsg锛夌壒娈婃爣璇嗭細@close_tab@ 鎵ц锛堝叧闂爣绛�-绠$悊绯荤粺锛夛紱@close_popup@ 鎵ц锛堝叧闂脊绐楋級锛汙goback@ 鎵ц锛堣繑鍥炰笂涓�椤�-瀛愬簲鐢級銆�' : '閫夋嫨鍒锋柊琛屾椂锛屽鏋滈�夋嫨澶氭潯鏁版嵁浼氬埛鏂扮粍浠讹紱閫夋嫨鍒锋柊琛� / 缁勪欢鏃讹紝濡傛灉褰撳墠琛屾暟鎹笉瀛樺湪浼氬埛鏂扮粍浠躲�傛敞锛氫笂绾х粍浠跺湪鏁版嵁婧愪腑娣诲姞銆傚闇�璇煶鎾姤璇蜂互@speak@寮�澶达紝鎾姤鍐呭鎴栨枃浠舵斁缃簬<<>>涓�傝繑鍥炰俊鎭紙@retmsg锛夌壒娈婃爣璇嗭細@close_tab@ 鎵ц锛堝叧闂爣绛�-绠$悊绯荤粺锛夛紱@close_popup@ 鎵ц锛堝叧闂脊绐楋級锛汙goback@ 鎵ц锛堣繑鍥炰笂涓�椤�-瀛愬簲鐢級銆�',
       required: true,
       options: [{
         value: 'never',
@@ -1736,6 +2102,9 @@
         value: 'grid',
         text: '鍒锋柊褰撳墠缁勪欢'
       }, {
+        value: 'line_grid',
+        text: '鍒锋柊琛� / 缁勪欢',
+      }, {
         value: 'mainline',
         text: '鍒锋柊涓婄骇缁勪欢 - 琛�'
       },
@@ -1745,7 +2114,7 @@
       type: 'select',
       key: 'popClose',
       label: '鍏抽棴鍚�',
-      initVal: card.popClose || 'never',
+      initVal: card.popClose || 'grid',
       required: true,
       options: [{
         value: 'never',
@@ -1772,18 +2141,70 @@
         text: '涓嶉噸缃�'
       }]
     },
+    // {
+    //   type: 'radio',
+    //   key: 'exportType',
+    //   label: '瀵煎嚭鏂瑰紡',
+    //   initVal: card.exportType || 'download',
+    //   tooltip: '',
+    //   required: true,
+    //   options: [{
+    //     value: 'download',
+    //     text: '涓嬭浇鏈湴'
+    //   }, {
+    //     value: 'link',
+    //     text: '鐢熸垚閾炬帴'
+    //   }]
+    // },
     {
-      type: 'number',
-      key: 'width',
-      min: 1,
-      max: 24,
-      precision: 0,
-      label: '瀹藉害',
-      initVal: card.width || 12,
-      tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��',
-      forbid: card.eleType !== 'button',
+      type: 'radio',
+      key: 'shortUrl',
+      label: '鐭摼鎺�',
+      initVal: card.shortUrl || 'false',
+      options: [{
+        value: 'false',
+        text: '绂佺敤'
+      }, {
+        value: 'true',
+        text: '鍚敤'
+      }]
+    },
+    {
+      type: 'textarea',
+      key: 'shareUrl',
+      label: '閾炬帴鍦板潃',
+      initVal: card.shareUrl || '',
+      tooltip: '閾炬帴涓鏋滃瓨鍦ˊBID@鎴朄ID@灏嗚嚜鍔ㄦ浛鎹€��',
       required: true
     },
+    {
+      type: 'textarea',
+      key: 'shareProUrl',
+      label: '姝e紡閾炬帴',
+      initVal: card.shareProUrl || '',
+      tooltip: '閾炬帴涓鏋滃瓨鍦ˊBID@鎴朄ID@灏嗚嚜鍔ㄦ浛鎹€��',
+      required: false
+    },
+    {
+      type: 'text',
+      key: 'shareTip',
+      label: '鍒嗕韩鎻愮ず',
+      initVal: card.shareTip || '',
+      tooltip: '鍒嗕韩鏃跺鐢ㄦ埛鐨勬彁绀轰俊鎭��',
+      required: false
+    },
+    // {
+    //   type: 'number',
+    //   key: 'width',
+    //   min: 1,
+    //   max: 24,
+    //   precision: 0,
+    //   label: '瀹藉害',
+    //   initVal: card.width || 12,
+    //   tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��',
+    //   forbid: card.eleType !== 'button',
+    //   required: true
+    // },
     {
       type: 'radio',
       key: 'show',
@@ -1799,6 +2220,24 @@
       }, {
         value: 'link',
         text: '鏂囧瓧+鍥炬爣'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'hover',
+      label: '鎮诞鏁堟灉',
+      initVal: card.hover || '',
+      tooltip: '榧犳爣鎮诞鎸夐挳涓婃柟鏃剁殑棰滆壊鍙樺寲銆�',
+      required: false,
+      options: [{
+        value: '',
+        text: '鏃�'
+      }, {
+        value: 'mk-btn-hover-bg',
+        text: '鑳屾櫙鍙樺寲'
+      }, {
+        value: 'mk-btn-hover-border',
+        text: '杈规鍙樺寲'
       }]
     },
     {
@@ -1905,15 +2344,37 @@
       tooltip: '鎵ц鎴愬姛鍚庣殑杩斿洖鍊笺�傜郴缁熷嚱鏁板彲鎸囧畾杩斿洖鐨勫彉閲忥紙浠绗﹀紑澶达紝杩斿洖id鏃跺彲浣跨敤@id@锛夛紱鑷畾涔夊嚱鏁板彲鎸囧畾杩斿洖瀛楁锛堝id锛夈��',
       initVal: card.output || '',
       required: false,
-      forbid: viewType === 'popview'
+      // forbid: viewType === 'popview'
     },
     {
       type: 'text',
       key: 'tipTitle',
       label: '纭鎻愮ず',
       initVal: card.tipTitle || '',
-      tooltip: '娉細寮圭獥锛堣〃鍗曪級鍦ㄦ樉绀轰负鏄惁妗嗘椂鏈夋晥銆�',
+      tooltip: '鎻愮ず妗嗙殑纭鎻愮ず淇℃伅銆�',
       required: false
+    },
+    {
+      type: 'text',
+      key: 'hoverTitle',
+      label: '鎮诞鎻愮ず',
+      initVal: card.hoverTitle || '',
+      tooltip: '榧犳爣鎮诞鍦ㄦ寜閽笂鏂规椂鐨勬彁绀轰俊鎭��',
+      required: false
+    },
+    {
+      type: 'select',
+      key: 'showName',
+      label: '鏄剧ず鍐呭',
+      initVal: card.showName || '',
+      tooltip: '琛岀骇鎸夐挳鍙�氳繃琛屼俊鎭帶鍒舵寜閽樉绀哄唴瀹广��',
+      required: false,
+      allowClear: true,
+      forbid: position !== 'line',
+      options: columns.map(item => ({
+        value: item.field,
+        text: `${item.label}锛�${item.field}锛塦
+      }))
     },
     {
       type: 'radio',
@@ -2010,6 +2471,21 @@
       required: false
     },
     {
+      type: 'checkbox',
+      key: 'extraParam',
+      label: '鎵╁睍鍙傛暟',
+      initVal: extraParam,
+      tooltip: '閫夋嫨鈥滅敤鎴蜂俊鎭�濇椂锛屽唴閮ㄥ嚱鏁扮殑浼犲弬浼氬鍔� username 涓� fullname銆傞�夋嫨鈥滄暟鎹鐞嗗憳鈥濇椂锛屽唴閮ㄥ嚱鏁扮殑浼犲弬浼氬鍔� dataM 锛岀鐞嗗憳鍊间负鈥淵鈥濓紝鏅�氱敤鎴蜂负绌恒��',
+      required: false,
+      options: [{
+        value: 'recordUser',
+        text: '鐢ㄦ埛淇℃伅'
+      }, {
+        value: 'dataM',
+        text: '鏁版嵁绠$悊鍛�'
+      }]
+    },
+    {
       type: 'radio',
       key: 'control',
       label: '鎸夐挳鎺у埗',
@@ -2056,6 +2532,21 @@
       initVal: card.reason || '',
       required: false
     },
+    // {
+    //   type: 'radio',
+    //   key: 'formCache',
+    //   label: '琛ㄥ崟缂撳瓨',
+    //   initVal: card.formCache || 'false',
+    //   tooltip: '涓昏鐢ㄤ簬鏁版嵁淇敼鍚庯紝鏇存柊鐩稿叧琛ㄥ崟鐨勯�夐」锛屾竻绌虹紦瀛樺悗琛ㄥ崟鍐嶆鎵撳紑鏃舵暟鎹細閲嶆柊鍔犺浇銆�',
+    //   required: false,
+    //   options: [{
+    //     value: 'false',
+    //     text: '涓嶆竻绌�'
+    //   }, {
+    //     value: 'clear',
+    //     text: '娓呯┖'
+    //   }]
+    // },
     {
       type: 'radio',
       key: 'hidden',
@@ -2070,6 +2561,18 @@
         value: 'true',
         text: '鏄�'
       }]
+    },
+    {
+      type: 'radio',
+      key: 'permission',
+      label: '鏉冮檺楠岃瘉',
+      initVal: card.permission || 'true',
+      required: false,
+      options: [
+        {value: 'true', text: '鍚敤'},
+        {value: 'false', text: '绂佺敤'},
+      ],
+      forbid: viewType === 'popview'
     },
     {
       type: 'radio',
@@ -2106,12 +2609,13 @@
       label: '缁勪欢鍒楄〃',
       initVal: card.syncComponents || [],
       required: true,
-      actions: [],
+      actions: ['edit', 'del', 'add', 'move'],
       columns: [
         {
           title: '缁勪欢',
           dataIndex: 'syncComId',
           inputType: 'cascader',
+          unique: true,
           editable: true,
           required: true,
           extends: [{key: 'label', value: 'label'}],
@@ -2120,6 +2624,90 @@
           options: modules
         }
       ]
+    },
+    {
+      type: 'radio',
+      key: 'sysId',
+      label: '鑷畾涔塈D',
+      initVal: card.sysId || '',
+      tooltip: '涓嶉�夎鎸夐挳鍙湪鍓嶇鐢熸垚ID鍊�(32浣�)锛屼綔涓哄悗缁彍鍗曠殑BID锛屽瓨鍦ㄦ爣璁版椂锛孖D鍊煎悗灏嗘嫾鎺ユ爣璁板�笺��',
+      required: false,
+      options: [{
+        value: '',
+        text: '缁勪欢BID'
+      }, {
+        value: 'js',
+        text: '鍓嶇鐢熸垚'
+      }, {
+        value: 'empty',
+        text: '绌�'
+      }]
+    },
+    {
+      type: 'text',
+      key: 'sign',
+      label: '鏍囪',
+      initVal: card.sign || '',
+      required: false
+    },
+    {
+      type: 'table',
+      key: 'multiMenus',
+      label: '鑿滃崟鍒楄〃',
+      initVal: card.multiMenus || [],
+      required: true,
+      actions: ['edit', 'del', 'add', 'move'],
+      columns: [
+        {
+          title: '鍚嶇О',
+          dataIndex: 'name',
+          inputType: 'text',
+          editable: true,
+          required: false,
+          width: '30%'
+        },
+        {
+          title: '鑿滃崟',
+          dataIndex: 'menuId',
+          inputType: 'cascader',
+          editable: true,
+          required: true,
+          extends: [{key: 'label', value: 'label', mutilLabel: 'name'}],
+          width: '30%',
+          render: (text, record) => record.label,
+          options: menulist
+        },
+        {
+          title: '鏍囪',
+          dataIndex: 'sign',
+          inputType: 'text',
+          editable: true,
+          required: false,
+          width: '20%'
+        }
+      ]
+    },
+    {
+      type: 'radio',
+      key: 'preHandle',
+      label: '鑷畾涔夎剼鏈�',
+      initVal: card.preHandle || 'false',
+      // tooltip: '闅愯棌鍚庢寜閽湪椤甸潰涓笉鏄剧ず锛屼笖涓嶅弬涓庢潈闄愬垎閰嶃��',
+      required: false,
+      options: [{
+        value: 'false',
+        text: '绂佺敤'
+      }, {
+        value: 'true',
+        text: '鍚敤'
+      }]
+    },
+    {
+      type: 'codemirror',
+      key: 'pre_func',
+      label: '鑷畾涔夎剼鏈�',
+      initVal: card.pre_func || '',
+      required: true,
     }
   ]
 

--
Gitblit v1.8.0