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