From f07c42a322f41e14ef5b1bf8f2fd66fc5d338cdd Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 28 六月 2023 18:17:09 +0800
Subject: [PATCH] 2023-06-28

---
 src/menu/components/share/actioncomponent/formconfig.jsx |  305 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 234 insertions(+), 71 deletions(-)

diff --git a/src/menu/components/share/actioncomponent/formconfig.jsx b/src/menu/components/share/actioncomponent/formconfig.jsx
index 91acca3..550b969 100644
--- a/src/menu/components/share/actioncomponent/formconfig.jsx
+++ b/src/menu/components/share/actioncomponent/formconfig.jsx
@@ -97,7 +97,6 @@
     { value: 'print', text: '鏍囩鎵撳嵃' },
     { value: 'refund', text: '閫�娆�' },
     { value: 'closetab', text: '鏍囩鍏抽棴' },
-    { value: 'changeuser', text: '鍒囨崲鐢ㄦ埛' },
     { value: 'megvii', text: '鏃疯闈㈡澘鏈�' },
     { value: 'filezip', text: '鏂囦欢鍘嬬缉鍖�' },
   ]
@@ -113,6 +112,7 @@
     } else {
       appMenus = []
     }
+    appMenus.push({value: 'goback', text: '杩斿洖锛堜笂涓�椤碉級'})
   } else {
     menulist = sessionStorage.getItem('fstMenuList')
     if (menulist) {
@@ -150,7 +150,6 @@
     opentypes = opentypes.filter(item => item.value !== 'tab')
     funTypes = [
       { value: 'print', text: '鏍囩鎵撳嵃' },
-      { value: 'changeuser', text: '鍒囨崲鐢ㄦ埛' },
     ]
     pageTemps = [
       { value: 'linkpage', text: '鍏宠仈鑿滃崟' },
@@ -165,6 +164,19 @@
       pageTemps.unshift({ value: 'billprintTemp', text: '鍗曟嵁鎵撳嵃妯℃澘' })
     }
   }
+
+  if (card.funcType === 'changeuser') { // 鍘熺被鍨嬫敮鎸�
+    funTypes.unshift({ value: 'changeuser', text: '鍒囨崲鐢ㄦ埛' })
+  }
+
+  if (config.subtype === 'editable') { // 缂栬緫琛ㄧ殑娣诲姞銆佸垹闄�
+    funTypes.push(
+      { value: 'addline', text: '澧炲姞琛岋紙缂栬緫琛級' },
+      { value: 'delline', text: '鍒犻櫎琛岋紙缂栬緫琛級' }
+    )
+  } else if (card.funcType === 'addline' || card.funcType === 'delline') {
+    card.funcType = ''
+  }
   
   if (type === 'chart' && appType !== 'mob') {
     opentypes = opentypes.filter(item => item.value === 'excelIn' || item.value === 'excelOut')
@@ -176,7 +188,10 @@
 
   let refresh = []
   if (viewType === 'popview') { // 寮圭獥鏍囩
-    opentypes = opentypes.filter(item => item.value !== 'popview' && item.value !== 'funcbutton')
+    opentypes = opentypes.filter(item => item.value !== 'popview')
+
+    funTypes = funTypes.filter(item => item.value !== 'print')
+
     refresh.push({
       value: 'closepoptab', // 鍏抽棴寮圭獥鏍囩
       text: '鍏抽棴寮圭獥'
@@ -230,7 +245,7 @@
     {
       type: 'select',
       key: 'OpenType',
-      label: '鎵撳紑鏂瑰紡',
+      label: '鎸夐挳绫诲瀷',
       initVal: card.OpenType,
       required: true,
       options: opentypes
@@ -261,7 +276,7 @@
       ]
     },
     {
-      type: 'radio',
+      type: formTypes.length ? 'select' : 'radio',
       key: 'formType',
       label: '琛ㄥ崟绫诲瀷',
       initVal: card.formType || 'switch',
@@ -275,6 +290,9 @@
       }, {
         value: 'counter',
         text: '璁℃暟鍣�'
+      }, {
+        value: 'count_line',
+        text: '璁℃暟鍣�(鏈湴)'
       }, 
       ...formTypes]
     },
@@ -322,7 +340,7 @@
       key: 'procMode',
       label: '鍙傛暟澶勭悊',
       initVal: card.procMode || (card.innerFunc ? 'inner' : 'system'),
-      tooltip: '褰撹繑鍥炲�煎瓨鍦� mk_ex_invoke 涓斿�间负 false 鏃讹紝涓嶄細璋冪敤澶栭儴鎺ュ彛銆�',
+      tooltip: '褰撹繑鍥炲�煎瓨鍦� mk_ex_invoke 涓斿�间负 false 鏃讹紝涓嶄細璋冪敤澶栭儴鎺ュ彛銆傛敞锛氬綋閫夆�滄棤鈥濇椂锛屾寜閽�夎鏃朵細浼犻�掍富閿紝瀛樺湪琛ㄥ崟鏃朵細浼犻�掕〃鍗曞瓧娈碉紝瀛樺湪BID鏃朵細浼燘ID瀛楁銆�',
       required: true,
       options: [{
         value: 'system',
@@ -406,7 +424,16 @@
       key: 'url',
       label: '椤甸潰鍦板潃',
       initVal: card.url || '',
+      tooltip: appType === '' ? '鍦板潃鏍煎紡涓猴細http://******/admin/index.html#/iframe/menuId/loginuid/BID 浼氭墦寮�鏍囩椤点�傛敞锛氫娇鐢ˊloginuid@鏃惰嚜鍔ㄦ浛鎹负褰撳墠绯荤粺鐨刲oginuid锛涢�夋嫨鍗曡涓旀嫾鎺ュ弬鏁版椂浼氭嫾鎺ID銆�' : '',
       required: true
+    },
+    {
+      type: 'textarea',
+      key: 'proUrl',
+      label: '姝e紡鍦板潃',
+      initVal: card.proUrl || '',
+      tooltip: appType === '' ? '鍦板潃鏍煎紡涓猴細http://******/admin/index.html#/iframe/menuId/loginuid/BID 浼氭墦寮�鏍囩椤点�傛敞锛氫娇鐢ˊloginuid@鏃惰嚜鍔ㄦ浛鎹负褰撳墠绯荤粺鐨刲oginuid锛涢�夋嫨鍗曡涓旀嫾鎺ュ弬鏁版椂浼氭嫾鎺ID銆�' : '',
+      required: false
     },
     {
       type: 'radio',
@@ -466,35 +493,6 @@
     },
     {
       type: 'radio',
-      key: 'method',
-      label: '璇锋眰鏂瑰紡',
-      initVal: card.method || 'post',
-      required: true,
-      options: [{
-        value: 'get',
-        text: 'GET'
-      }, {
-        value: 'post',
-        text: 'POST'
-      }]
-    },
-    {
-      type: 'radio',
-      key: 'cross',
-      label: '璺ㄥ煙璇锋眰',
-      initVal: card.cross || 'true',
-      tooltip: '濡傛灉鑷畾涔夋帴鍙d笉鏀寔璺ㄥ煙璇锋眰锛屼細閫氳繃褰撳墠绯荤粺杞彂銆�',
-      required: false,
-      options: [{
-        value: 'true',
-        text: '鏀寔'
-      }, {
-        value: 'false',
-        text: '涓嶆敮鎸�'
-      }]
-    },
-    {
-      type: 'radio',
       key: 'callbackType',
       label: '鍥炶皟鏂瑰紡',
       initVal: card.callbackType || (card.callbackFunc ? 'func' : 'none'),
@@ -527,6 +525,52 @@
       label: '鍥炶皟鍑芥暟',
       initVal: card.callbackFunc || '',
       required: true
+    },
+    {
+      type: 'radio',
+      key: 'method',
+      label: '璇锋眰鏂瑰紡',
+      initVal: card.method || 'post',
+      required: true,
+      options: [{
+        value: 'get',
+        text: 'GET'
+      }, {
+        value: 'post',
+        text: 'POST'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'cross',
+      label: '鎺ュ彛璺ㄥ煙',
+      initVal: card.cross || 'true',
+      tooltip: '濡傛灉鑷畾涔夋帴鍙d笉鏀寔璺ㄥ煙璇锋眰锛屼細閫氳繃褰撳墠绯荤粺杞彂銆�',
+      required: false,
+      options: [{
+        value: 'true',
+        text: '鏀寔'
+      }, {
+        value: 'false',
+        text: '涓嶆敮鎸�'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'stringify',
+      label: '搴忓垪鍖�',
+      initVal: card.stringify || 'text',
+      required: false,
+      options: [{
+        value: 'text',
+        text: 'Text'
+      }, {
+        value: 'JSON',
+        text: 'JSON'
+      }, {
+        value: 'qs',
+        text: 'qs'
+      }]
     },
     {
       type: 'select',
@@ -701,6 +745,9 @@
       }, {
         value: 'light',
         text: '鐏�'
+      }, {
+        value: 'system',
+        text: '绯荤粺'
       }]
     },
     {
@@ -731,7 +778,7 @@
       initVal: card.syncComponent || [],
       tooltip: '鎵ц鎴愬姛鍚庯紙鎴栧脊绐楁爣绛惧叧闂椂锛夛紝闇�瑕佸悓姝ュ埛鏂扮殑缁勪欢銆傛敞锛氶�夋嫨褰撳墠缁勪欢鐨勪笂绾х粍浠舵棤鏁堬紝鍒锋柊涓婄骇缁勪欢璇烽�夋嫨鎴愬姛鍚庘�滃埛鏂颁笂绾х粍浠� - 琛屸�濄��',
       required: false,
-      options: modules
+      options: modules.length ? [...modules, {value: 'multiComponent', label: '澶氱粍浠�'}] : []
     },
     {
       type: 'radio',
@@ -802,7 +849,7 @@
       extendName: 'MenuNo',
       required: false,
       allowClear: true,
-      options: appType === 'mob' || appType === 'pc' ? [...appMenus, {value: 'goback', text: '杩斿洖锛堜笂涓�椤碉級'}] : menulist,
+      options: appType === 'mob' || appType === 'pc' ? appMenus : menulist,
       forbid: viewType === 'popview'
     },
     {
@@ -833,6 +880,19 @@
       options: [
         {value: 'blank', text: appType !== 'mob' ? '鏂扮獥鍙�' : '鏂伴〉闈�'},
         {value: 'self', text: appType !== 'mob' ? '褰撳墠绐楀彛' : '褰撳墠椤甸潰'},
+      ]
+    },
+    {
+      type: 'radio',
+      key: 'openTab',
+      label: '鎵撳紑鏂瑰紡',
+      initVal: card.openTab || 'newtab',
+      tooltip: '鑿滃崟鎵撳紑鏂瑰紡銆�',
+      forbid: appType !== '',
+      options: [
+        {value: 'newtab', text: '鏍囩椤�'},
+        // {value: 'newpage', text: '鏂伴〉闈紙鏍囩椤碉級'},
+        {value: 'view', text: '鏂伴〉闈紙鍏ㄥ睆锛�'}
       ]
     },
     {
@@ -955,6 +1015,15 @@
         value: 'bottom',
         text: '搴曢儴'
       }]
+    },
+    {
+      type: 'text',
+      key: 'preFunc',
+      label: '鍓嶇疆鍑芥暟',
+      initVal: card.preFunc || '',
+      tooltip: '鍓嶇疆鍑芥暟鎵ц瀹屾垚鍚庯紝缁撴灉浼氫紶鍏ュ唴閮ㄥ嚱鏁颁腑锛屾鏃跺唴閮ㄥ嚱鏁颁細寮傛鎵ц锛涘綋鍓嶇疆鍑芥暟杩斿洖涓璄rrCode绛変簬-1鏃讹紝灏嗕笉鍐嶆墽琛屽唴閮ㄥ嚱鏁般��',
+      required: false,
+      forbid: appType === 'mob'
     },
     {
       type: 'radio',
@@ -1141,6 +1210,27 @@
         value: 'progressbar',
         text: '杩涘害鏉�'
       }]
+    },
+    {
+      type: 'table',
+      key: 'syncComponents',
+      label: '缁勪欢鍒楄〃',
+      initVal: card.syncComponents || [],
+      required: true,
+      actions: [],
+      columns: [
+        {
+          title: '缁勪欢',
+          dataIndex: 'syncComId',
+          inputType: 'cascader',
+          editable: true,
+          required: true,
+          extends: [{key: 'label', value: 'label'}],
+          width: '70%',
+          render: (text, record) => record.label,
+          options: modules
+        }
+      ]
     }
   ]
 
@@ -1210,10 +1300,13 @@
     { value: 'print', text: '鏍囩鎵撳嵃' },
     { value: 'refund', text: '閫�娆�' },
     { value: 'closetab', text: '鏍囩鍏抽棴' },
-    { value: 'changeuser', text: '鍒囨崲鐢ㄦ埛' },
     { value: 'megvii', text: '鏃疯闈㈡澘鏈�' },
     { value: 'filezip', text: '鏂囦欢鍘嬬缉鍖�' },
   ]
+
+  if (card.funcType === 'changeuser') { // 鍘熺被鍨嬫敮鎸�
+    funTypes.unshift({ value: 'changeuser', text: '鍒囨崲鐢ㄦ埛' })
+  }
 
   let menulist = sessionStorage.getItem('fstMenuList')
   if (menulist) {
@@ -1228,7 +1321,10 @@
 
   let refresh = []
   if (viewType === 'popview') { // 寮圭獥鏍囩
-    opentypes = opentypes.filter(item => item.value !== 'popview' && item.value !== 'funcbutton')
+    opentypes = opentypes.filter(item => item.value !== 'popview')
+
+    funTypes = funTypes.filter(item => item.value !== 'print')
+
     refresh.push({
       value: 'closepoptab', // 鍏抽棴寮圭獥鏍囩
       text: '鍏抽棴寮圭獥'
@@ -1243,7 +1339,7 @@
     {
       type: 'select',
       key: 'OpenType',
-      label: '鎵撳紑鏂瑰紡',
+      label: '鎸夐挳绫诲瀷',
       initVal: card.OpenType,
       required: true,
       options: opentypes
@@ -1317,7 +1413,7 @@
       key: 'procMode',
       label: '鍙傛暟澶勭悊',
       initVal: card.procMode || (card.innerFunc ? 'inner' : 'system'),
-      tooltip: '褰撹繑鍥炲�煎瓨鍦� mk_ex_invoke 涓斿�间负 false 鏃讹紝涓嶄細璋冪敤澶栭儴鎺ュ彛銆�',
+      tooltip: '褰撹繑鍥炲�煎瓨鍦� mk_ex_invoke 涓斿�间负 false 鏃讹紝涓嶄細璋冪敤澶栭儴鎺ュ彛銆傛敞锛氬綋閫夆�滄棤鈥濇椂锛屾寜閽�夎鏃朵細浼犻�掍富閿紝瀛樺湪琛ㄥ崟鏃朵細浼犻�掕〃鍗曞瓧娈碉紝瀛樺湪BID鏃朵細浼燘ID瀛楁銆�',
       required: true,
       options: [{
         value: 'system',
@@ -1393,7 +1489,16 @@
       key: 'url',
       label: '椤甸潰鍦板潃',
       initVal: card.url || '',
+      tooltip: '鍦板潃鏍煎紡涓猴細http://******/admin/index.html#/iframe/menuId/loginuid/BID 浼氭墦寮�鏍囩椤点�傛敞锛氫娇鐢ˊloginuid@鏃惰嚜鍔ㄦ浛鎹负褰撳墠绯荤粺鐨刲oginuid锛涢�夋嫨鍗曡涓旀嫾鎺ュ弬鏁版椂浼氭嫾鎺ID銆�',
       required: true
+    },
+    {
+      type: 'textarea',
+      key: 'proUrl',
+      label: '姝e紡鍦板潃',
+      initVal: card.proUrl || '',
+      tooltip: '鍦板潃鏍煎紡涓猴細http://******/admin/index.html#/iframe/menuId/loginuid/BID 浼氭墦寮�鏍囩椤点�傛敞锛氫娇鐢ˊloginuid@鏃惰嚜鍔ㄦ浛鎹负褰撳墠绯荤粺鐨刲oginuid锛涢�夋嫨鍗曡涓旀嫾鎺ュ弬鏁版椂浼氭嫾鎺ID銆�',
+      required: false
     },
     {
       type: 'radio',
@@ -1453,35 +1558,6 @@
     },
     {
       type: 'radio',
-      key: 'method',
-      label: '璇锋眰鏂瑰紡',
-      initVal: card.method || 'post',
-      required: true,
-      options: [{
-        value: 'get',
-        text: 'GET'
-      }, {
-        value: 'post',
-        text: 'POST'
-      }]
-    },
-    {
-      type: 'radio',
-      key: 'cross',
-      label: '璺ㄥ煙璇锋眰',
-      initVal: card.cross || 'true',
-      tooltip: '濡傛灉鑷畾涔夋帴鍙d笉鏀寔璺ㄥ煙璇锋眰锛屼細閫氳繃褰撳墠绯荤粺杞彂銆�',
-      required: false,
-      options: [{
-        value: 'true',
-        text: '鏀寔'
-      }, {
-        value: 'false',
-        text: '涓嶆敮鎸�'
-      }]
-    },
-    {
-      type: 'radio',
       key: 'callbackType',
       label: '鍥炶皟鏂瑰紡',
       initVal: card.callbackType || (card.callbackFunc ? 'func' : 'none'),
@@ -1514,6 +1590,52 @@
       label: '鍥炶皟鍑芥暟',
       initVal: card.callbackFunc || '',
       required: true
+    },
+    {
+      type: 'radio',
+      key: 'method',
+      label: '璇锋眰鏂瑰紡',
+      initVal: card.method || 'post',
+      required: true,
+      options: [{
+        value: 'get',
+        text: 'GET'
+      }, {
+        value: 'post',
+        text: 'POST'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'cross',
+      label: '鎺ュ彛璺ㄥ煙',
+      initVal: card.cross || 'true',
+      tooltip: '濡傛灉鑷畾涔夋帴鍙d笉鏀寔璺ㄥ煙璇锋眰锛屼細閫氳繃褰撳墠绯荤粺杞彂銆�',
+      required: false,
+      options: [{
+        value: 'true',
+        text: '鏀寔'
+      }, {
+        value: 'false',
+        text: '涓嶆敮鎸�'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'stringify',
+      label: '搴忓垪鍖�',
+      initVal: card.stringify || 'text',
+      required: false,
+      options: [{
+        value: 'text',
+        text: 'Text'
+      }, {
+        value: 'JSON',
+        text: 'JSON'
+      }, {
+        value: 'qs',
+        text: 'qs'
+      }]
     },
     {
       type: 'select',
@@ -1671,7 +1793,7 @@
       initVal: card.syncComponent || [],
       tooltip: '鎵ц鎴愬姛鍚庯紙鎴栧脊绐楁爣绛惧叧闂椂锛夛紝闇�瑕佸悓姝ュ埛鏂扮殑缁勪欢銆傛敞锛氶�夋嫨褰撳墠缁勪欢鐨勪笂绾х粍浠舵棤鏁堬紝鍒锋柊涓婄骇缁勪欢璇烽�夋嫨鎴愬姛鍚庘�滃埛鏂颁笂绾х粍浠� - 琛屸�濄��',
       required: false,
-      options: modules
+      options: modules.length ? [...modules, {value: 'multiComponent', label: '澶氱粍浠�'}] : []
     },
     {
       type: 'radio',
@@ -1743,6 +1865,18 @@
     },
     {
       type: 'radio',
+      key: 'openTab',
+      label: '鎵撳紑鏂瑰紡',
+      initVal: card.openTab || 'newtab',
+      tooltip: '鑿滃崟鎵撳紑鏂瑰紡銆�',
+      options: [
+        {value: 'newtab', text: '鏍囩椤�'},
+        // {value: 'newpage', text: '鏂伴〉闈紙鏍囩椤碉級'},
+        {value: 'view', text: '鏂伴〉闈紙鍏ㄥ睆锛�'}
+      ]
+    },
+    {
+      type: 'radio',
       key: 'display',
       label: '鏄剧ず鏂瑰紡',
       initVal: card.display || 'modal',
@@ -1799,6 +1933,14 @@
         value: 'close',
         text: '鍏抽棴'
       }]
+    },
+    {
+      type: 'text',
+      key: 'preFunc',
+      label: '鍓嶇疆鍑芥暟',
+      initVal: card.preFunc || '',
+      tooltip: '鍓嶇疆鍑芥暟鎵ц瀹屾垚鍚庯紝缁撴灉浼氫紶鍏ュ唴閮ㄥ嚱鏁颁腑锛屾鏃跺唴閮ㄥ嚱鏁颁細寮傛鎵ц锛涘綋鍓嶇疆鍑芥暟杩斿洖涓璄rrCode绛変簬-1鏃讹紝灏嗕笉鍐嶆墽琛屽唴閮ㄥ嚱鏁般��',
+      required: false
     },
     {
       type: 'radio',
@@ -1890,6 +2032,27 @@
         value: 'progressbar',
         text: '杩涘害鏉�'
       }]
+    },
+    {
+      type: 'table',
+      key: 'syncComponents',
+      label: '缁勪欢鍒楄〃',
+      initVal: card.syncComponents || [],
+      required: true,
+      actions: [],
+      columns: [
+        {
+          title: '缁勪欢',
+          dataIndex: 'syncComId',
+          inputType: 'cascader',
+          editable: true,
+          required: true,
+          extends: [{key: 'label', value: 'label'}],
+          width: '70%',
+          render: (text, record) => record.label,
+          options: modules
+        }
+      ]
     }
   ]
 

--
Gitblit v1.8.0