From 21d92eff0e23974d76e3e5a79ba50e3fc1c0b879 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 15 四月 2022 01:08:15 +0800 Subject: [PATCH] 2022-04-15 --- src/menu/components/tabs/antv-tabs/options.jsx | 210 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 198 insertions(+), 12 deletions(-) diff --git a/src/menu/components/tabs/antv-tabs/options.jsx b/src/menu/components/tabs/antv-tabs/options.jsx index db65e1c..c0430ab 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 Wrap琛ㄥ崟閰嶇疆淇℃伅 + * @description tab琛ㄥ崟閰嶇疆淇℃伅 */ -export default function (tab, setting) { +export function getTabForm(tab, setting) { 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,46 @@ initval: tab.icon || '', required: false, allowClear: true, - span: 22 + }, + // { + // type: 'radio', + // field: 'hasSearch', + // label: '鎼滅储', + // initval: tab.hasSearch || 'false', + // required: false, + // options: [ + // {value: 'false', label: '鏃�'}, + // {value: 'icon', label: '鏈�'}, + // ], + // forbid: appType !== 'mob' || setting.position !== 'top' || setting.display !== 'inline-block', + // span: 22 + // }, + { + type: 'text', + field: 'controlVal', + label: '闅愯棌鏍囪', + initval: tab.controlVal || '', + tooltip: '褰撶鐢ㄥ瓧娈靛�间笌闅愯棌鏍囪鐩哥瓑鏃讹紝鏍囩椤典細闅愯棌銆�', + required: false, + // forbid: appType === 'mob', + }, + { + 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 +82,166 @@ required: false, options: roleList, forbid: !!appType, - span: 22 + }, + ] + + return tabForm +} + +/** + * @description tabs琛ㄥ崟閰嶇疆淇℃伅 + */ +export function getTabsSetForm(setting, uuid) { + let appType = sessionStorage.getItem('appType') + let roleList = sessionStorage.getItem('sysRoles') + + let modules = MenuUtils.getSupModules(window.GLOB.customMenu.components, uuid) || [] + + if (roleList) { + try { + roleList = JSON.parse(roleList) + } catch (e) { + roleList = [] + } + } else { + roleList = [] + } + + const tabForm = [ + { + type: 'text', + field: 'name', + label: '缁勪欢鍚嶇О', + initval: setting.name || '', + tooltip: '鐢ㄤ簬缁勪欢闂寸殑鍖哄垎銆�', + required: true + }, + { + type: 'number', + field: 'width', + label: '瀹藉害', + initval: setting.width || 24, + tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��', + min: 1, + max: 24, + precision: 0, + required: true + }, + { + type: 'select', + field: 'position', + label: '鏍囩浣嶇疆', + initval: setting.position || 'top', + required: true, + options: [ + {value: 'top', label: 'top'}, + {value: 'bottom', label: 'bottom'}, + {value: 'left', label: 'left'}, + {value: 'right', label: 'right'}, + ], + controlFields: [ + {field: 'display', values: ['top', 'bottom']}, + ] + }, + { + type: 'radio', + field: 'tabStyle', + label: '椤电鏍峰紡', + initval: setting.tabStyle || 'line', + tooltip: '鏍囩浣嶇疆涓簍op鏃舵湁鏁堬紝榛樿鍊间负line銆�', + required: true, + options: [ + {value: 'line', label: 'line'}, + {value: 'card', label: 'card'}, + ], + }, + { + 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: 'tabLabel', + label: '鏍囩鏍�', + initval: setting.tabLabel || 'show', + required: false, + options: [ + {value: 'show', label: '鏄剧ず'}, + {value: 'hide', label: '闅愯棌'}, + ] + }, + { + type: 'cascader', + field: 'supModule', + label: '涓婄骇缁勪欢', + initval: setting.supModule || [], + tooltip: '鏍囩缁勫彲浠ラ�夋嫨涓婄骇缁勪欢锛屽~鍏ョ鐢ㄥ瓧娈碉紝鐢ㄤ簬鎺у埗鏍囩闅愯棌銆�', + required: false, + allowClear: true, + options: modules, + controlFields: [ + {field: 'controlField', notNull: true}, + ], + // forbid: appType === 'mob', + }, + { + type: 'text', + field: 'controlField', + label: '绂佺敤瀛楁', + initval: setting.controlField || '', + tooltip: '鐢ㄤ簬鎺у埗鏍囩闅愯棌鐨勫瓧娈碉紝鍦ㄦ爣绛句腑濉叆闅愯棌鏍囪銆�', + required: true, + // forbid: appType === 'mob', + }, + { + 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 + }, + { + type: 'multiselect', + field: 'blacklist', + label: '榛戝悕鍗�', + initval: setting.blacklist || [], + required: false, + options: roleList, + forbid: !!appType }, ] -- Gitblit v1.8.0