From f45b2ad61211cf2821cdaab07676c7906c96410a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 05 七月 2023 18:23:56 +0800 Subject: [PATCH] 2023-07-05 --- src/menu/components/calendar/options.jsx | 254 +++++++++++++++++++++++++++----------------------- 1 files changed, 138 insertions(+), 116 deletions(-) diff --git a/src/menu/components/calendar/options.jsx b/src/menu/components/calendar/options.jsx index f9537e1..c4504d7 100644 --- a/src/menu/components/calendar/options.jsx +++ b/src/menu/components/calendar/options.jsx @@ -1,3 +1,4 @@ +import React from 'react' /** * @description Wrap琛ㄥ崟閰嶇疆淇℃伅 */ @@ -15,7 +16,18 @@ roleList = [] } - const balconyWrapForm = [ + let menulist = sessionStorage.getItem('fstMenuList') + if (menulist) { + try { + menulist = JSON.parse(menulist) + } catch (e) { + menulist = [] + } + } else { + menulist = [] + } + + const calendarWrapForm = [ { type: 'text', field: 'title', @@ -43,123 +55,52 @@ required: true }, { - type: 'radio', - field: 'direction', - label: '杞寸嚎鏂瑰悜', - initval: wrap.direction || 'vertical', - required: false, + type: 'checkbox', + field: 'levels', + label: '鏃ュ巻绛夌骇', + initval: wrap.levels || [], + required: true, options: [ - {value: 'vertical', label: '绾靛悜'}, - {value: 'horizontal', label: '妯悜'}, - ], - controlFields: [ - {field: 'mode', values: ['vertical']}, - {field: 'hmode', values: ['horizontal']}, - {field: 'label', values: ['vertical']}, - {field: 'iconSize', values: ['horizontal']}, - {field: 'dotSign', values: ['horizontal']}, - ] - }, - { - type: 'radio', - field: 'mode', - label: '杞寸嚎浣嶇疆', - initval: ['left', 'alternate', 'right'].includes(wrap.mode) ? wrap.mode : 'left', - required: false, - options: [ - {value: 'left', label: '宸︿晶'}, - {value: 'alternate', label: '涓棿'}, - {value: 'right', label: '鍙充晶'}, - ] - }, - { - type: 'radio', - field: 'hmode', - label: '杞寸嚎浣嶇疆', - initval: ['up', 'down'].includes(wrap.mode) ? wrap.mode : 'up', - required: false, - options: [ - {value: 'up', label: '涓婁晶'}, - {value: 'down', label: '涓嬩晶'} - ] - }, - // { - // type: 'radio', - // field: 'reverse', - // label: '鎺掑簭', - // initval: wrap.reverse || 'false', - // required: false, - // options: [ - // {value: 'false', label: '姝e簭'}, - // {value: 'true', label: '鍊掑簭'}, - // ] - // }, - { - type: 'color', - field: 'color', - label: '鑺傜偣棰滆壊', - initval: wrap.color || '#1890ff', - tooltip: '鑺傜偣榛樿棰滆壊銆�', - required: false - }, - { - type: 'radio', - field: 'line', - label: '杩炵嚎棰滆壊', - initval: wrap.line || '', - required: false, - options: [ - {value: '', label: '榛樿'}, - {value: 'system', label: '绯荤粺鑹�'}, - ] - }, - { - type: 'radio', - field: 'dotSign', - label: '鑺傜偣娓叉煋', - initval: wrap.dotSign || 'background', - tooltip: '鑺傜偣鐨勬覆鏌撴柟寮忥紝鍦ㄨ妭鐐圭粍涓缃殑棰滆壊娓叉煋鍥炬爣杩樻槸娓叉煋鑳屾櫙鑹层��', - required: false, - options: [ - {value: 'background', label: '鑳屾櫙鑹�'}, - {value: 'icon', label: '鍥炬爣'}, + {value: 'day', label: '澶�'}, + {value: 'month', label: '鏈�'}, ] }, { type: 'select', - field: 'iconSize', - label: '鍥炬爣澶у皬', - initval: wrap.iconSize || '', - tooltip: '鍥炬爣鍙湪鑺傜偣缁勪腑娣诲姞銆�', - required: false, - options: [ - {value: '', label: '榛樿(14px)'}, - {value: 'size16', label: '16px'}, - {value: 'size18', label: '18px'}, - {value: 'size20', label: '20px'}, - {value: 'size22', label: '22px'}, - {value: 'size24', label: '24px'}, - {value: 'adaptive', label: '鑷�傚簲'}, - ] + field: 'timeField', + label: '鏃堕棿瀛楁', + initval: wrap.timeField || '', + tooltip: '鏁版嵁涓殑鏃堕棿瀛楁锛岀敤浜庡湪鏃ュ巻涓爣璁颁簨浠朵綅缃��', + required: true, + options: columns }, { type: 'select', - field: 'label', - label: '鏍囩', - initval: wrap.label || '', - tooltip: '鍦ㄥ唴瀹瑰闈㈠崟鐙睍绀恒��', - required: false, - options: columns, - forbid: !appType - }, - { - type: 'select', - field: 'node', - label: '鑺傜偣鎺у埗', - initval: wrap.node || '', - tooltip: '閫夋嫨鑷畾涔夎妭鐐圭殑鎺у埗瀛楁鍚庯紝鍦ㄨ妭鐐圭粍涓坊鍔犺妭鐐规牱寮忋��', + field: 'endField', + label: '缁撴潫鏃堕棿', + initval: wrap.endField || '', + tooltip: '鏁版嵁涓簨浠剁殑缁撴潫鏃堕棿锛岀敤浜庡湪鏃ュ巻涓爣璁颁簨浠朵綅缃��', required: false, options: columns + }, + { + type: 'select', + field: 'remarkField', + label: '淇℃伅瀛楁', + initval: wrap.remarkField || '', + required: true, + options: columns + }, + { + type: 'select', + field: 'colorField', + label: '棰滆壊瀛楁', + initval: wrap.colorField || '', + required: false, + options: columns, + controlFields: [ + {field: 'signs', notNull: true}, + ] }, { type: 'radio', @@ -175,16 +116,38 @@ }, { type: 'radio', - field: 'empty', - label: '绌哄�奸殣钘�', - initval: wrap.empty || 'show', - tooltip: '褰撴煡璇㈡暟鎹负绌烘椂锛岄殣钘忚缁勪欢銆�', + field: 'click', + label: '鐐瑰嚮浜嬩欢', + initval: wrap.click || '', + tooltip: '鍙�氳繃鐐瑰嚮浜嬩欢璺宠浆鑷虫寚瀹氶〉闈€��', required: false, - skip: true, options: [ - {value: 'show', label: '鍚�'}, - {value: 'hidden', label: '鏄�'}, + {value: '', label: '鏃�'}, + {value: 'menu', label: '鑿滃崟'}, + {value: 'menus', label: '鑿滃崟缁�'} ], + controlFields: [ + {field: 'menu', values: ['menu']}, + {field: 'menuType', values: ['menus']}, + {field: 'menus', values: ['menus']}, + ] + }, + { + type: 'select', + field: 'menuType', + label: '鑿滃崟绫诲瀷', + initval: wrap.menuType || '', + required: true, + options: columns, + }, + { + type: 'cascader', + field: 'menu', + label: '鍏宠仈鑿滃崟', + initval: wrap.menu || [], + required: true, + extendName: 'MenuNo', + options: menulist, }, { type: 'multiselect', @@ -195,7 +158,66 @@ options: roleList, forbid: !!appType }, + { + type: 'table', + field: 'signs', + label: '棰滆壊鏍囪瘑', + initval: wrap.signs || [], + required: false, + span: 24, + columns: [ + { + title: '鏍囪瘑', + dataIndex: 'sign', + inputType: 'input', + editable: true, + unique: true, + required: false, + width: '30%' + }, + { + title: '棰滆壊', + dataIndex: 'background', + inputType: 'color', + editable: true, + required: true, + render: (text, record) => (<div style={{background: text, width: '100px', height: '25px'}}></div>), + width: '40%' + } + ] + }, + { + type: 'table', + field: 'menus', + label: '鑿滃崟缁�', + initval: wrap.menus || [], + required: true, + span: 24, + actions: ['view'], + columns: [ + { + title: '鏍囪瘑', + dataIndex: 'sign', + inputType: 'input', + editable: true, + unique: true, + required: false, + width: '30%' + }, + { + title: '鑿滃崟', + dataIndex: 'menu', + inputType: 'cascader', + editable: true, + required: true, + extends: 'Menu', + width: '40%', + render: (text, record) => record.label, + options: menulist + } + ] + }, ] - return balconyWrapForm + return calendarWrapForm } \ No newline at end of file -- Gitblit v1.8.0