From 49f09cc6f8ff8c30a75ed1a9d6f510b69b73962a Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 12 十二月 2023 21:05:37 +0800
Subject: [PATCH] 2023-12-12

---
 src/menu/components/tabs/antv-tabs/options.jsx |  192 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 169 insertions(+), 23 deletions(-)

diff --git a/src/menu/components/tabs/antv-tabs/options.jsx b/src/menu/components/tabs/antv-tabs/options.jsx
index 11ca9a3..b04d73f 100644
--- a/src/menu/components/tabs/antv-tabs/options.jsx
+++ b/src/menu/components/tabs/antv-tabs/options.jsx
@@ -1,7 +1,9 @@
+import MenuUtils from '@/utils/utils-custom.js'
+
 /**
  * @description tab琛ㄥ崟閰嶇疆淇℃伅
  */
-export function getTabForm(tab, setting) {
+export function getTabForm(tab) {
   let appType = sessionStorage.getItem('appType')
   let roleList = sessionStorage.getItem('sysRoles')
 
@@ -23,7 +25,6 @@
       initval: tab.label || '',
       required: true,
       focus: true,
-      span: 22
     },
     {
       type: 'mkicon',
@@ -32,20 +33,40 @@
       initval: tab.icon || '',
       required: false,
       allowClear: true,
-      span: 22
+    },
+    // {
+    //   type: 'text',
+    //   field: 'controlVal',
+    //   label: '闅愯棌鏍囪',
+    //   initval: tab.controlVal || '',
+    //   tooltip: '褰撶鐢ㄥ瓧娈靛�间笌闅愯棌鏍囪鐩哥瓑鏃讹紝鏍囩椤典細闅愯棌銆傛敞锛�1銆佸涓�艰鐢ㄩ�楀彿鍒嗛殧锛�2銆丂pass@鍊艰〃绀哄拷鐣ユ璁剧疆锛堝缁堟樉绀猴級锛�2銆丂pass_empty@鍊艰〃绀哄拷鐣ョ┖鍊硷紝鍗虫湭鑾峰彇涓婄骇缁勪欢淇℃伅鏃舵樉绀猴紙鍙笌鍏朵粬鍊兼嫾鎺ワ級銆�',
+    //   required: false,
+    // },
+    {
+      type: 'text',
+      field: 'selectVal',
+      label: '閫変腑鏍囪',
+      initval: tab.selectVal || '',
+      tooltip: '褰撻�変腑瀛楁鍊间笌閫変腑鏍囪鐩哥瓑鏃讹紝鏍囩椤甸粯璁ら�変腑銆�',
+      required: false
+    },
+    {
+      type: 'color',
+      field: 'backgroundColor',
+      label: '鑳屾櫙(鍐呭鍖�)',
+      initval: tab.backgroundColor || 'transparent',
+      required: false,
     },
     {
       type: 'radio',
-      field: 'hasSearch',
-      label: '鎼滅储',
-      initval: tab.hasSearch || 'false',
+      field: 'hide',
+      label: '闅愯棌',
+      initval: tab.hide || 'false',
       required: false,
       options: [
-        {value: 'false', label: '鏃�'},
-        {value: 'icon', label: '鏈�'},
+        {value: 'false', label: '鍚�'},
+        {value: 'true', label: '鏄�'},
       ],
-      forbid: appType !== 'mob' || setting.position !== 'top' || setting.display !== 'inline-block',
-      span: 22
     },
     {
       type: 'multiselect',
@@ -55,7 +76,6 @@
       required: false,
       options: roleList,
       forbid: !!appType,
-      span: 22
     },
   ]
 
@@ -65,9 +85,15 @@
 /**
  * @description tabs琛ㄥ崟閰嶇疆淇℃伅
  */
-export function getTabsSetForm(setting) {
+export function getTabsSetForm(setting, uuid, subtabs) {
   let appType = sessionStorage.getItem('appType')
   let roleList = sessionStorage.getItem('sysRoles')
+
+  let modules = MenuUtils.getSupModules(window.GLOB.customMenu.components, uuid, window.GLOB.customMenu.interfaces)
+  modules.push({
+    value: 'preview',
+    label: '涓婁竴椤碉紙url鍙傛暟锛�'
+  })
 
   if (roleList) {
     try {
@@ -78,6 +104,10 @@
   } else {
     roleList = []
   }
+
+  let controlVals = subtabs.map(item => ({uuid: item.uuid, label: item.label, value: item.controlVal}))
+
+  let tabStyle = setting.cusClass || setting.tabStyle
 
   const tabForm = [
     {
@@ -112,33 +142,122 @@
         {value: 'right', label: 'right'},
       ],
       controlFields: [
-        {field: 'display', values: ['top', 'bottom']},
+        // {field: 'cusClass', values: ['top']},
+        {field: 'tabStyle', values: ['top']},
       ]
     },
     {
-      type: 'radio',
+      type: 'select',
       field: 'tabStyle',
       label: '椤电鏍峰紡',
-      initval: setting.tabStyle || 'line',
-      tooltip: '鏍囩浣嶇疆涓簍op鏃舵湁鏁堬紝榛樿鍊间负line銆�',
+      initval: tabStyle || 'line',
+      tooltip: '鎸夐挳鏍峰紡鍦ㄨ繍琛屾椂鍙',
       required: true,
       options: [
         {value: 'line', label: 'line'},
         {value: 'card', label: 'card'},
+        {value: 'mk-tab-button', label: '鎸夐挳锛堝乏锛�'},
+        {value: 'mk-tab-button tab-right', label: '鎸夐挳锛堝彸锛�'},
       ],
-      forbid: appType === 'mob'
+    },
+    // {
+    //   type: 'select',
+    //   field: 'cusClass',
+    //   label: '鑷畾涔夋牱寮�',
+    //   initval: setting.cusClass || '',
+    //   required: false,
+    //   options: [
+    //     {value: '', label: '鏃�'},
+    //     {value: 'mk-tab-button', label: '鎸夐挳锛堝乏锛�'},
+    //     {value: 'mk-tab-button tab-right', label: '鎸夐挳锛堝彸锛�'},
+    //   ]
+    // },
+    {
+      type: 'radio',
+      field: 'autoSwitch',
+      label: '鑷姩鍒囨崲',
+      initval: setting.autoSwitch || 'false',
+      tooltip: '瀛樺湪涓や釜鍙婁互涓婃爣绛炬椂鏈夋晥銆�',
+      required: false,
+      options: [
+        {value: 'true', label: '鏄�'},
+        {value: 'false', label: '鍚�'},
+      ],
+      controlFields: [
+        {field: 'interval', values: ['true']},
+        {field: 'tabLabel', values: ['true']},
+      ]
+    },
+    {
+      type: 'number',
+      field: 'interval',
+      label: '闂撮殧锛坰锛�',
+      initval: setting.interval || 5,
+      min: 1,
+      max: 1000,
+      precision: 0,
+      required: true
     },
     {
       type: 'radio',
-      field: 'display',
-      label: '鏍囩鏄剧ず',
-      initval: setting.display || 'flex',
+      field: 'tabLabel',
+      label: '鏍囩鏍�',
+      initval: setting.tabLabel || 'show',
       required: false,
       options: [
-        {value: 'flex', label: '寮规�у竷灞�'},
-        {value: 'inline-block', label: '瀹氬'},
+        {value: 'show', label: '鏄剧ず'},
+        {value: 'hide', label: '闅愯棌'},
+      ]
+    },
+    {
+      type: 'cascader',
+      field: 'supModule',
+      label: '涓婄骇缁勪欢',
+      initval: setting.supModule || [],
+      tooltip: '鏍囩缁勫彲浠ラ�夋嫨涓婄骇缁勪欢锛屽~鍏ョ鐢ㄥ瓧娈碉紝鐢ㄤ簬鎺у埗鏍囩闅愯棌銆�',
+      help: '鐢ㄤ簬鎺у埗鏍囩椤甸殣钘忋��',
+      required: false,
+      allowClear: true,
+      options: modules,
+      controlFields: [
+        {field: 'controlField', notNull: true},
+        {field: 'controlVals', notNull: true},
       ],
-      forbid: appType !== 'mob'
+    },
+    {
+      type: 'text',
+      field: 'controlField',
+      label: '绂佺敤瀛楁',
+      initval: setting.controlField || '',
+      tooltip: '鐢ㄤ簬鎺у埗鏍囩闅愯棌鐨勫瓧娈点�傛敞锛氭爲褰㈢粍浠朵腑涓嶅悓灞傜骇浼氳嚜鍔ㄧ敓鎴恗k_floor锛堝眰绾у瓧娈�1銆�2銆�3...锛夈��',
+      required: true,
+    },
+    {
+      type: 'text',
+      field: 'selectField',
+      label: '閫変腑瀛楁',
+      initval: setting.selectField || '',
+      tooltip: '鐢ㄤ簬鎺у埗鏍囩椤靛垵濮嬪寲閫変腑锛屽湪鏍囩涓~鍏ラ�変腑鏍囪锛屾敞锛氭暟鎹潵婧愪簬url鍙傛暟銆�',
+      required: false
+    },
+    {
+      type: 'color',
+      field: 'backgroundColor',
+      label: '鑳屾櫙(鏍囬鏍�)',
+      initval: setting.backgroundColor || 'transparent',
+      required: false
+    },
+    {
+      type: 'radio',
+      field: 'permission',
+      label: '鏉冮檺楠岃瘉',
+      initval: setting.permission || 'false',
+      required: false,
+      options: [
+        {value: 'true', label: '鍚敤'},
+        {value: 'false', label: '绂佺敤'},
+      ],
+      forbid: !appType || sessionStorage.getItem('editMenuType') === 'popview'
     },
     {
       type: 'multiselect',
@@ -149,6 +268,33 @@
       options: roleList,
       forbid: !!appType
     },
+    {
+      type: 'table',
+      field: 'controlVals',
+      label: '鏍囩缁�',
+      initval: controlVals,
+      tooltip: '褰撶鐢ㄥ瓧娈靛�间笌闅愯棌鏍囪鐩哥瓑鏃讹紝鏍囩椤典細闅愯棌銆傛敞锛�1銆佸涓�艰鐢ㄩ�楀彿鍒嗛殧锛�2銆丂pass@鍊艰〃绀哄拷鐣ユ璁剧疆锛堝缁堟樉绀猴級锛�2銆丂pass_empty@鍊艰〃绀哄拷鐣ョ┖鍊硷紝鍗虫湭鑾峰彇涓婄骇缁勪欢淇℃伅鏃舵樉绀猴紙鍙笌鍏朵粬鍊兼嫾鎺ワ級銆�',
+      required: false,
+      fixed: true,
+      span: 24,
+      columns: [
+        {
+          title: '鏍囩鍚嶇О',
+          dataIndex: 'label',
+          editable: false,
+          required: false,
+          width: '30%'
+        },
+        {
+          title: '闅愯棌鏍囪',
+          dataIndex: 'value',
+          inputType: 'input',
+          editable: true,
+          required: false,
+          width: '50%'
+        }
+      ]
+    }
   ]
 
   return tabForm

--
Gitblit v1.8.0