From 8040a18c4b2a848d252bf01838f06c7aec1be9f3 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 07 六月 2024 15:16:11 +0800
Subject: [PATCH] 2024-06-07

---
 src/menu/components/table/normal-table/options.jsx |  176 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 145 insertions(+), 31 deletions(-)

diff --git a/src/menu/components/table/normal-table/options.jsx b/src/menu/components/table/normal-table/options.jsx
index 0a6329b..1806ca8 100644
--- a/src/menu/components/table/normal-table/options.jsx
+++ b/src/menu/components/table/normal-table/options.jsx
@@ -1,9 +1,13 @@
+import MenuUtils from '@/utils/utils-custom.js'
+
 /**
  * @description Wrap琛ㄥ崟閰嶇疆淇℃伅
  */
-export default function (wrap, action = [], columns = []) {
+export default function (wrap, action = [], columns = [], toolBtns, supNodes, id = '') {
   let roleList = sessionStorage.getItem('sysRoles')
   let appType = sessionStorage.getItem('appType')
+  let isprint = sessionStorage.getItem('MenuType') === 'billPrint'
+  let ispop = sessionStorage.getItem('editMenuType') === 'popview'
 
   if (roleList) {
     try {
@@ -14,6 +18,9 @@
   } else {
     roleList = []
   }
+
+  let menu = window.GLOB.customMenu
+  let modules = MenuUtils.getSupModules(menu.components, id, menu.interfaces)
 
   const wrapForm = [
     {
@@ -45,10 +52,10 @@
     {
       type: 'number',
       field: 'height',
-      label: '楂樺害',
+      label: '鏈�澶ч珮搴�',
       initval: wrap.height || '',
-      tooltip: '琛ㄦ牸楂樺害锛岀┖鍊兼椂楂樺害鑷�傚簲銆傛敞锛氬皬浜庣瓑浜�100鏃朵负楂樺害鐨勭櫨鍒嗘瘮銆�',
-      min: 10,
+      tooltip: '琛ㄦ牸鍐呭鍖虹殑鏈�澶ч珮搴︼紙涓嶅寘鍚〃澶达級锛岀┖鍊兼椂楂樺害鑷�傚簲銆傛敞锛氬皬浜庣瓑浜�100澶т簬0鏃朵负楂樺害鐨勭櫨鍒嗘瘮锛屽皬浜�0鏃朵负绐楀彛楂樺害鍑忓幓姝ゅ�笺��',
+      min: -1000,
       max: 3000,
       precision: 0,
       required: false,
@@ -67,6 +74,17 @@
       ],
       controlFields: [
         {field: 'selected', values: ['radio', 'checkbox']},
+      ]
+    },
+    {
+      type: 'radio',
+      field: 'parity',
+      label: '濂囧伓寮傝壊',
+      initval: wrap.parity || 'false',
+      required: false,
+      options: [
+        {value: 'true', label: '鍚敤'},
+        {value: 'false', label: '绂佺敤'},
       ]
     },
     {
@@ -143,6 +161,19 @@
     },
     {
       type: 'radio',
+      field: 'searchSize',
+      label: '鎼滅储闂磋窛',
+      initval: wrap.searchSize || 'middle',
+      tooltip: '鎼滅储鏉′欢鐨勪笂涓嬮棿璺濄��',
+      required: false,
+      options: [
+        {value: 'middle', label: '榛樿'},
+        {value: 'small', label: '灏�'},
+      ],
+      forbid: appType === 'mob'
+    },
+    {
+      type: 'radio',
       field: 'mode',
       label: '妯″紡',
       initval: wrap.mode || 'default',
@@ -151,20 +182,6 @@
         {value: 'default', label: '甯歌'},
         {value: 'ghost', label: '閫忔槑'},
       ]
-    },
-    {
-      type: 'select',
-      field: 'selected',
-      label: '鏁版嵁閫変腑',
-      initval: wrap.selected || 'false',
-      tooltip: '鍒濆鍖栵細鏁版嵁鍔犺浇鏃堕�変腑棣栬鏁版嵁锛屼粎鎵ц涓�娆°�傛暟鎹姞杞斤細姣忔鏁版嵁鍔犺浇鏃跺潎閫変腑棣栬锛堝綋鎸夐挳鎵ц瀹屾垚骞惰繑鍥炰富閿�兼椂锛岄粯璁ら�変腑涓婚敭鍊煎搴旇锛夈�傞�変腑鏍囪锛氳繑鍥炴暟鎹腑瀛樺湪 selected 瀛楁锛屼笖鍊间负 true 鐨勬暟鎹閫変腑銆�',
-      required: false,
-      options: [
-        {value: 'false', label: '鏃�'},
-        {value: 'init', label: '鍒濆鍖�'},
-        {value: 'always', label: '鏁版嵁鍔犺浇'},
-        {value: 'sign', label: '閫変腑鏍囪'}
-      ],
     },
     {
       type: 'color',
@@ -188,16 +205,18 @@
       ]
     },
     {
-      type: 'number',
-      field: 'btnlimit',
-      label: '鎸夐挳闄愬埗',
-      initval: wrap.btnlimit || '',
-      tooltip: '鎸夐挳鏁伴噺闄愬埗锛岃秴鍑虹殑鎸夐挳浼氬湪鏇村涓笅鎷夋樉绀猴紝娉細鏇村涓殑鎸夐挳涓嶈缁戝畾鍙屽嚮浜嬩欢銆�',
-      min: 3,
-      max: 3000,
-      precision: 0,
+      type: 'select',
+      field: 'selected',
+      label: '鏁版嵁閫変腑',
+      initval: wrap.selected || 'false',
+      tooltip: '鍒濆鍖栵細鏁版嵁鍔犺浇鏃堕�変腑棣栬鏁版嵁锛屼粎鎵ц涓�娆°�傛暟鎹姞杞斤細姣忔鏁版嵁鍔犺浇鏃跺潎閫変腑棣栬锛堝綋鎸夐挳鎵ц瀹屾垚骞惰繑鍥炰富閿�兼椂锛岄粯璁ら�変腑涓婚敭鍊煎搴旇锛夈�傞�変腑鏍囪锛氳繑鍥炴暟鎹腑瀛樺湪 selected 瀛楁锛屼笖鍊间负 true 鐨勬暟鎹閫変腑銆�',
       required: false,
-      forbid: appType !== ''
+      options: [
+        {value: 'false', label: '鏃�'},
+        {value: 'init', label: '鍒濆鍖�'},
+        {value: 'always', label: '鏁版嵁鍔犺浇'},
+        {value: 'sign', label: '閫変腑鏍囪'}
+      ],
     },
     {
       type: 'select',
@@ -207,8 +226,17 @@
       tooltip: '鍙屽嚮琛ㄦ牸涓锛岃Е鍙戠殑鎸夐挳銆�',
       required: false,
       allowClear: true,
-      options: action.map(item => ({value: item.uuid, label: item.label})),
+      options: [...toolBtns, ...action].map(item => ({value: item.uuid, label: item.label})),
       forbid: appType === 'mob'
+    },
+    {
+      type: 'select',
+      field: 'autoExec',
+      label: '鑷姩鎵ц',
+      initval: wrap.autoExec || '',
+      tooltip: '鍒濆鍖栬嚜鍔ㄦ墽琛屾寜閽��',
+      required: false,
+      options: toolBtns.map(item => ({value: item.uuid, label: item.label}))
     },
     {
       type: 'select',
@@ -218,6 +246,7 @@
       tooltip: '榧犳爣鎮诞浜庤涓婃柟鏃剁殑鎻愮ず淇℃伅銆�',
       required: false,
       allowClear: true,
+      joint: true,
       options: columns
     },
     {
@@ -228,6 +257,7 @@
       tooltip: '鐢ㄤ簬鎺у埗琛屾暟鎹槸鍚﹀彲閫夋嫨銆�',
       required: false,
       allowClear: true,
+      joint: true,
       options: columns,
       controlFields: [
         {field: 'controlVal', notNull: true},
@@ -240,6 +270,30 @@
       initval: wrap.controlVal || '',
       tooltip: '褰撳瓧娈靛�间笌绂佺敤鍊肩浉绛夋椂锛岃鏁版嵁浼氱鐢紝澶氫釜鍊肩敤閫楀彿鍒嗛殧銆�',
       required: false
+    },
+    {
+      type: 'number',
+      field: 'btnlimit',
+      label: '鎸夐挳闄愬埗',
+      initval: wrap.btnlimit || '',
+      tooltip: '鎸夐挳鏁伴噺闄愬埗锛岃秴鍑虹殑鎸夐挳浼氬湪鏇村涓笅鎷夋樉绀猴紝娉細鏇村涓殑鎸夐挳涓嶈缁戝畾鍙屽嚮浜嬩欢銆�',
+      min: 3,
+      max: 3000,
+      precision: 0,
+      required: false,
+      forbid: appType !== '' || isprint
+    },
+    {
+      type: 'number',
+      field: 'maxPageSize',
+      label: '姣忛〉鏈�澶ф暟',
+      initval: wrap.maxPageSize || '',
+      tooltip: '鍒嗛〉鏃舵瘡椤靛彲鏄剧ず鐨勬渶澶ф暟閲忋��',
+      min: 10,
+      max: 500,
+      precision: 0,
+      required: false,
+      forbid: appType === 'mob'
     },
     {
       type: 'radio',
@@ -264,6 +318,23 @@
         {value: 'true', label: '楠岃瘉'},
         {value: 'false', label: '蹇界暐'},
       ],
+      forbid: isprint
+    },
+    {
+      type: 'radio',
+      field: 'supType',
+      label: '涓婄骇绫诲瀷',
+      initval: wrap.supType || 'single',
+      tooltip: '涓婄骇缁勪欢涓哄崟涓�缁勪欢鎴栧涓粍浠躲��',
+      required: false,
+      forbid: appType === 'mob' || isprint,
+      options: [
+        {value: 'single', label: '鍗曠粍浠�'},
+        {value: 'multi', label: '澶氱粍浠�'},
+      ],
+      controlFields: [
+        {field: 'supNodes', values: ['multi']},
+      ]
     },
     {
       type: 'radio',
@@ -275,7 +346,7 @@
         {value: 'true', label: !appType ? '缁ф壙鑿滃崟' : '鍚敤'},
         {value: 'false', label: '绂佺敤'},
       ],
-      forbid: sessionStorage.getItem('editMenuType') === 'popview'
+      forbid: ispop || isprint
     },
     {
       type: 'radio',
@@ -287,7 +358,20 @@
         {value: 'true', label: '缁ф壙鑿滃崟'},
         {value: 'false', label: '绂佺敤'},
       ],
-      forbid: sessionStorage.getItem('editMenuType') === 'popview'
+      forbid: ispop || isprint
+    },
+    {
+      type: 'radio',
+      field: 'cacheSearch',
+      label: '鎼滅储缂撳瓨',
+      initval: wrap.cacheSearch || 'false',
+      tooltip: '鍚敤鎼滅储鏉′欢缂撳瓨鍚庯紝鍦ㄨ彍鍗曞埛鏂版椂鎼滅储鏉′欢涓嶅彉銆�',
+      required: false,
+      options: [
+        {value: 'true', label: '鍚敤'},
+        {value: 'false', label: '绂佺敤'},
+      ],
+      forbid: !!appType || isprint
     },
     {
       type: 'multiselect',
@@ -296,8 +380,38 @@
       initval: wrap.blacklist || [],
       required: false,
       options: roleList,
-      forbid: !!appType
+      forbid: !!appType || isprint
     },
+    {
+      type: 'table',
+      field: 'supNodes',
+      label: '涓婄骇缁勪欢',
+      initval: supNodes,
+      required: true,
+      forbid: appType === 'mob' || isprint,
+      span: 24,
+      actions: ['edit', 'del', 'add', 'move'],
+      columns: [
+        {
+          title: '搴忓彿',
+          dataIndex: '$index',
+          editable: false,
+          required: false,
+          width: '20%'
+        },
+        {
+          title: '缁勪欢',
+          dataIndex: 'nodes',
+          inputType: 'cascader',
+          editable: true,
+          required: true,
+          extends: [{key: 'label', value: 'label'}],
+          width: '50%',
+          render: (text, record) => record.label,
+          options: modules
+        }
+      ]
+    }
   ]
 
   return wrapForm

--
Gitblit v1.8.0