From abe961768cb069e84ed958f4c768c512cc3db598 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 04 八月 2021 18:24:57 +0800 Subject: [PATCH] 2021-08-04 --- src/menu/components/card/balcony/options.jsx | 405 ++++++++++++++++++++++++++++++--------------------------- 1 files changed, 213 insertions(+), 192 deletions(-) diff --git a/src/menu/components/card/balcony/options.jsx b/src/menu/components/card/balcony/options.jsx index ecd14d8..b1684a8 100644 --- a/src/menu/components/card/balcony/options.jsx +++ b/src/menu/components/card/balcony/options.jsx @@ -1,195 +1,216 @@ +import { fromJS } from 'immutable' +import MenuUtils from '@/utils/utils-custom.js' + /** * @description Wrap琛ㄥ崟閰嶇疆淇℃伅 */ -export const balconyWrapForm = [ - { - type: 'text', - field: 'name', - label: '缁勪欢鍚嶇О', - initval: '', - tooltip: '鐢ㄤ簬缁勪欢闂寸殑鍖哄垎銆�', - required: true - }, - { - type: 'number', - field: 'width', - label: '瀹藉害', - initval: '', - tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��', - min: 1, - max: 24, - precision: 0, - required: true - }, - { - type: 'radio', - field: 'datatype', - label: '鏁版嵁鏉ユ簮', - initval: '', - tooltip: '閫夋嫨闈欐�佸�硷紝鏃犻渶閰嶇疆鏁版嵁婧愩��', - required: false, - options: [ - {value: 'dynamic', label: '鍔ㄦ��'}, - {value: 'static', label: '闈欐��'}, - ] - }, - { - type: 'radio', - field: 'linkType', - label: '鍙楁帶绫诲瀷', - initval: 'static', - tooltip: '缁勪欢涓庡叾浠栫粍浠朵箣闂寸殑鎺у埗绫诲瀷锛岀嫭绔嬭〃绀轰笌鍏朵粬娌℃湁鍏宠仈銆�', - required: false, - options: [ - {value: 'static', label: '鐙珛'}, - {value: 'sync', label: '鍚屾'}, - {value: 'sup', label: '涓婄骇'}, - ], - controlFields: [ - {field: 'supModule', values: ['sup']}, - {field: 'supControl', values: ['sup']}, - {field: 'syncModule', values: ['sync']}, - {field: 'checkAll', values: ['sync']}, - ] - }, - { - type: 'cascader', - field: 'supModule', - label: '涓婄骇缁勪欢', - initval: '', - required: true, - options: [] - }, - { - type: 'radio', - field: 'supControl', - label: '鏄剧ず鎺у埗', - tooltip: '褰撳墠缁勪欢鍦ㄤ富琛ㄩ�変腑琛屾椂鏄剧ず锛岃繕鏄缁堟樉绀恒��', - initval: 'show', - required: false, - options: [ - {value: 'hidden', label: '閫夎'}, - {value: 'show', label: '濮嬬粓'}, - ] - }, - { - type: 'cascader', - field: 'syncModule', - label: '鍚屾缁勪欢', - initval: '', - required: true, - options: [] - }, - { - type: 'radio', - field: 'checkAll', - label: '鍏ㄩ��', - initval: 'hidden', - tooltip: '褰撳悓姝ョ粍浠跺彲澶氶�夋椂锛岃缃叏閫夋湁鏁堛��', - required: false, - options: [ - {value: 'hidden', label: '闅愯棌'}, - {value: 'show', label: '鏄剧ず'}, - ] - }, - { - type: 'radio', - field: 'position', - label: '浣嶇疆', - initval: 'relative', - tooltip: '浣跨敤鍥哄畾瀹氫綅鏃讹紝璇峰湪娴嬭瘯鐜涓煡鐪嬪畾浣嶆晥鏋溿��', - required: false, - options: [ - {value: 'relative', label: '鐩稿瀹氫綅'}, - {value: 'fixed', label: '鍥哄畾瀹氫綅'}, - ], - controlFields: [ - {field: 'quick', values: ['fixed']}, - {field: 'top', values: ['fixed']}, - {field: 'right', values: ['fixed']}, - {field: 'bottom', values: ['fixed']}, - {field: 'left', values: ['fixed']}, - {field: 'realwidth', values: ['fixed']}, - {field: 'transform', values: ['fixed']}, - ] - }, - { - type: 'select', - field: 'quick', - label: '蹇嵎閫夋嫨', - initval: '', - required: false, - subFields: ['top', 'left', 'right', 'bottom', 'transform'], - options: [ - {value: 'top', label: '涓�', top: '0px', left: '0px', right: '0px', bottom: '', transform: ''}, - {value: 'top-left', label: '宸︿笂', top: '0px', left: '0px', right: '', bottom: '', transform: ''}, - {value: 'top-right', label: '鍙充笂', top: '0px', left: '', right: '0px', bottom: '', transform: ''}, - {value: 'left-middle', label: '宸︿腑', top: '50%', left: '0px', right: '', bottom: '', transform: 'translateY(-50%)'}, - {value: 'right-middle', label: '鍙充腑', top: '50%', left: '', right: '0px', bottom: '', transform: 'translateY(-50%)'}, - {value: 'bottom-left', label: '宸︿笅', top: '', left: '0px', right: '', bottom: '0px', transform: ''}, - {value: 'bottom-right', label: '鍙充笅', top: '', left: '', right: '0px', bottom: '0px', transform: ''}, - {value: 'bottom', label: '涓�', top: '', left: '0px', right: '0px', bottom: '0px', transform: ''}, - {value: 'middle', label: '涓棿', top: '50%', left: '50%', right: '', bottom: '', transform: 'translate(-50%, -50%)'} - ] - }, - { - type: 'styleInput', - field: 'top', - label: '璺濅笂', - initval: '', - required: false - }, - { - type: 'styleInput', - field: 'right', - label: '璺濆彸', - initval: '', - required: false - }, - { - type: 'styleInput', - field: 'bottom', - label: '璺濅笅', - initval: '', - required: false - }, - { - type: 'styleInput', - field: 'left', - label: '璺濆乏', - initval: '', - required: false - }, - { - type: 'styleInput', - field: 'realwidth', - label: '瀹為檯瀹藉害', - initval: '', - required: false - }, - { - type: 'select', - field: 'transform', - label: '鍙樻崲', - initval: '', - required: false, - options: [ - {value: 'translateY(-50%)', label: '涓婄Щ50%'}, - {value: 'translateY(50%)', label: '涓嬬Щ50%'}, - {value: 'translateX(-50%)', label: '宸︾Щ50%'}, - {value: 'translateX(50%)', label: '鍙崇Щ50%'}, - {value: 'translate(-50%, -50%)', label: '宸︿笂绉�50%'}, - {value: 'translate(-50%, 50%)', label: '宸︿笅绉�50%'}, - {value: 'translate(50%, -50%)', label: '鍙充笂绉�50%'}, - {value: 'translate(50%, 50%)', label: '鍙充笅绉�50%'}, - ] - }, - { - type: 'multiselect', - field: 'blacklist', - label: '榛戝悕鍗�', - initval: '', - required: false, - options: [] - }, -] \ No newline at end of file +export default function (wrap) { + let modules = MenuUtils.getLinkModules(fromJS(window.GLOB.customMenu).toJS().components) || [] + let supmodules = MenuUtils.getSupModules(fromJS(window.GLOB.customMenu).toJS().components, '') || [] + let roleList = sessionStorage.getItem('sysRoles') + + if (roleList) { + try { + roleList = JSON.parse(roleList) + } catch { + roleList = [] + } + } else { + roleList = [] + } + + const balconyWrapForm = [ + { + type: 'text', + field: 'name', + label: '缁勪欢鍚嶇О', + initval: wrap.name || '', + tooltip: '鐢ㄤ簬缁勪欢闂寸殑鍖哄垎銆�', + required: true + }, + { + type: 'number', + field: 'width', + label: '瀹藉害', + initval: wrap.width || 24, + tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��', + min: 1, + max: 24, + precision: 0, + required: true + }, + { + type: 'radio', + field: 'datatype', + label: '鏁版嵁鏉ユ簮', + initval: wrap.datatype || 'static', + tooltip: '閫夋嫨闈欐�佸�硷紝鏃犻渶閰嶇疆鏁版嵁婧愩��', + required: false, + options: [ + {value: 'dynamic', label: '鍔ㄦ��'}, + {value: 'static', label: '闈欐��'}, + ] + }, + { + type: 'radio', + field: 'linkType', + label: '鍙楁帶绫诲瀷', + initval: wrap.linkType || 'static', + tooltip: '缁勪欢涓庡叾浠栫粍浠朵箣闂寸殑鎺у埗绫诲瀷锛岀嫭绔嬭〃绀轰笌鍏朵粬娌℃湁鍏宠仈銆�', + required: false, + options: [ + {value: 'static', label: '鐙珛'}, + {value: 'sync', label: '鍚屾'}, + {value: 'sup', label: '涓婄骇'}, + ], + controlFields: [ + {field: 'supModule', values: ['sup']}, + {field: 'supControl', values: ['sup']}, + {field: 'syncModule', values: ['sync']}, + {field: 'checkAll', values: ['sync']}, + ] + }, + { + type: 'cascader', + field: 'supModule', + label: '涓婄骇缁勪欢', + initval: wrap.supModule || '', + required: true, + options: supmodules + }, + { + type: 'radio', + field: 'supControl', + label: '鏄剧ず鎺у埗', + tooltip: '褰撳墠缁勪欢鍦ㄤ富琛ㄩ�変腑琛屾椂鏄剧ず锛岃繕鏄缁堟樉绀恒��', + initval: wrap.supControl || 'show', + required: false, + options: [ + {value: 'hidden', label: '閫夎'}, + {value: 'show', label: '濮嬬粓'}, + ] + }, + { + type: 'cascader', + field: 'syncModule', + label: '鍚屾缁勪欢', + initval: wrap.syncModule || '', + required: true, + options: modules + }, + { + type: 'radio', + field: 'checkAll', + label: '鍏ㄩ��', + initval: wrap.checkAll || 'hidden', + tooltip: '褰撳悓姝ョ粍浠跺彲澶氶�夋椂锛岃缃叏閫夋湁鏁堛��', + required: false, + options: [ + {value: 'hidden', label: '闅愯棌'}, + {value: 'show', label: '鏄剧ず'}, + ] + }, + { + type: 'radio', + field: 'position', + label: '浣嶇疆', + initval: wrap.position || 'relative', + tooltip: '浣跨敤鍥哄畾瀹氫綅鏃讹紝璇峰湪娴嬭瘯鐜涓煡鐪嬪畾浣嶆晥鏋溿��', + required: false, + options: [ + {value: 'relative', label: '鐩稿瀹氫綅'}, + {value: 'fixed', label: '鍥哄畾瀹氫綅'}, + ], + controlFields: [ + {field: 'quick', values: ['fixed']}, + {field: 'top', values: ['fixed']}, + {field: 'right', values: ['fixed']}, + {field: 'bottom', values: ['fixed']}, + {field: 'left', values: ['fixed']}, + {field: 'realwidth', values: ['fixed']}, + {field: 'transform', values: ['fixed']}, + ] + }, + { + type: 'select', + field: 'quick', + label: '蹇嵎閫夋嫨', + initval: '', + required: false, + subFields: ['top', 'left', 'right', 'bottom', 'transform'], + options: [ + {value: 'top', label: '涓�', top: '0px', left: '0px', right: '0px', bottom: '', transform: ''}, + {value: 'top-left', label: '宸︿笂', top: '0px', left: '0px', right: '', bottom: '', transform: ''}, + {value: 'top-right', label: '鍙充笂', top: '0px', left: '', right: '0px', bottom: '', transform: ''}, + {value: 'left-middle', label: '宸︿腑', top: '50%', left: '0px', right: '', bottom: '', transform: 'translateY(-50%)'}, + {value: 'right-middle', label: '鍙充腑', top: '50%', left: '', right: '0px', bottom: '', transform: 'translateY(-50%)'}, + {value: 'bottom-left', label: '宸︿笅', top: '', left: '0px', right: '', bottom: '0px', transform: ''}, + {value: 'bottom-right', label: '鍙充笅', top: '', left: '', right: '0px', bottom: '0px', transform: ''}, + {value: 'bottom', label: '涓�', top: '', left: '0px', right: '0px', bottom: '0px', transform: ''}, + {value: 'middle', label: '涓棿', top: '50%', left: '50%', right: '', bottom: '', transform: 'translate(-50%, -50%)'} + ] + }, + { + type: 'styleInput', + field: 'top', + label: '璺濅笂', + initval: wrap.top || '', + required: false + }, + { + type: 'styleInput', + field: 'right', + label: '璺濆彸', + initval: wrap.right || '', + required: false + }, + { + type: 'styleInput', + field: 'bottom', + label: '璺濅笅', + initval: wrap.bottom || '', + required: false + }, + { + type: 'styleInput', + field: 'left', + label: '璺濆乏', + initval: wrap.left || '', + required: false + }, + { + type: 'styleInput', + field: 'realwidth', + label: '瀹為檯瀹藉害', + initval: wrap.realwidth || '', + required: false + }, + { + type: 'select', + field: 'transform', + label: '鍙樻崲', + initval: wrap.transform || '', + required: false, + options: [ + {value: 'translateY(-50%)', label: '涓婄Щ50%'}, + {value: 'translateY(50%)', label: '涓嬬Щ50%'}, + {value: 'translateX(-50%)', label: '宸︾Щ50%'}, + {value: 'translateX(50%)', label: '鍙崇Щ50%'}, + {value: 'translate(-50%, -50%)', label: '宸︿笂绉�50%'}, + {value: 'translate(-50%, 50%)', label: '宸︿笅绉�50%'}, + {value: 'translate(50%, -50%)', label: '鍙充笂绉�50%'}, + {value: 'translate(50%, 50%)', label: '鍙充笅绉�50%'}, + ] + }, + { + type: 'multiselect', + field: 'blacklist', + label: '榛戝悕鍗�', + initval: wrap.blacklist || '', + required: false, + options: roleList + }, + ] + + return balconyWrapForm +} \ No newline at end of file -- Gitblit v1.8.0