From 8040a18c4b2a848d252bf01838f06c7aec1be9f3 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 07 六月 2024 15:16:11 +0800
Subject: [PATCH] 2024-06-07

---
 src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx |  417 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 384 insertions(+), 33 deletions(-)

diff --git a/src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx b/src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx
index c9f7736..94e2a8c 100644
--- a/src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx
+++ b/src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx
@@ -2,7 +2,7 @@
  * @description 鑾峰彇鏄剧ず鍒楄〃鍗曢厤缃俊鎭�
  * @param {object} card       // 鎼滅储鏉′欢瀵硅薄
  */
-export function getColumnForm (card, fields = [], columns = []) {
+export function getColumnForm (card, fields = [], columns = [], wrap) {
   let roleList = sessionStorage.getItem('sysRoles')
   if (roleList) {
     try {
@@ -25,36 +25,46 @@
     value: 'number',
     text: '鏁板瓧'
   }, {
-    value: 'textarea',
-    text: '澶氳鏂囨湰'
-  }, {
     value: 'custom',
     text: '鑷畾涔夊垪'
+  }, {
+    value: 'formula',
+    text: '鍏紡'
+  }, {
+    value: 'textarea',
+    text: '澶氳鏂囨湰'
   }, {
     value: 'colspan',
     text: '鍚堝苟鍒�'
   }, {
-    value: 'formula',
-    text: '鍏紡'
+    value: 'extend',
+    text: '鎵╁睍鍒�'
   }, {
     value: 'index',
     text: '搴忓彿'
   }]
 
   let editCols = [
+    // {
+    //   field: '$sub',
+    //   label: '鎻愪氦'
+    // },
     {
-      field: '$sub',
-      label: '鎻愪氦'
+      field: '$noAct',
+      label: '鏃犲姩浣�'
     },
     {
       field: '$next',
       label: '涓嬩竴琛�'
-    },
-    {
-      field: '$noAct',
-      label: '鏃犲姩浣�'
     }
   ]
+
+  if (card.enter === '$sub') {
+    card.enter = '$noAct'
+  }
+  if (wrap.commit === 'change') {
+    editCols[0].label = '澶卞幓鐒︾偣'
+  }
 
   let cols = []
   let getcols = (columns, suplabel = '') => {
@@ -80,6 +90,21 @@
       label: col.label + '锛堜笅涓�琛岋級'
     })
   })
+
+  editCols.push({
+    field: '$next_' + card.uuid,
+    label: card.label + '锛堜笅涓�琛岋級'
+  })
+
+  if (wrap.commit === 'change') {
+    editCols.push({
+      field: '$noActX',
+      label: '鏃犲姩浣�',
+      disabled: card.editType !== 'select'
+    })
+  } else if (card.enter === '$noActX') {
+    card.enter = '$noAct'
+  }
 
   return [
     {
@@ -133,7 +158,7 @@
       type: 'radio',
       key: 'IsSort',
       label: '鎺掑簭',
-      initVal: card.IsSort || (card.isSub ? 'false' : 'true'),
+      initVal: card.IsSort || (card.isSub || card.type === 'custom' ? 'false' : 'true'),
       required: true,
       options: [{
         value: 'true',
@@ -142,6 +167,14 @@
         value: 'false',
         text: '鍚�'
       }]
+    },
+    {
+      type: 'select',
+      key: 'sortField',
+      label: '鎺掑簭瀛楁',
+      initVal: card.sortField || '',
+      required: true,
+      options: fields
     },
     {
       type: 'radio',
@@ -180,6 +213,95 @@
     },
     {
       type: 'radio',
+      key: 'colUnit',
+      label: '鍗曚綅',
+      initVal: card.colUnit || 'day',
+      required: true,
+      options: [{
+        value: 'day',
+        text: '澶�'
+      }, {
+        value: 'hour',
+        text: '灏忔椂'
+      }]
+    },
+    {
+      type: 'number',
+      key: 'shift',
+      label: '鍋忕Щ閲�',
+      initVal: card.shift || 0,
+      min: -1000,
+      max: 1000,
+      decimal: 0,
+      required: true
+    },
+    {
+      type: 'number',
+      key: 'quota',
+      label: '鎸囨爣鏁�',
+      initVal: card.quota || 7,
+      min: 1,
+      max: 1000,
+      decimal: 0,
+      required: true
+    },
+    {
+      type: 'select',
+      key: 'dayFormat',
+      label: '鏍煎紡鍖�',
+      initVal: card.dayFormat || 'M/DD',
+      required: true,
+      options: [{
+        value: 'M/DD',
+        label: 'M/DD锛�4/29锛�'
+      }, {
+        value: 'M-DD',
+        label: 'M-DD锛�4-29锛�'
+      }, {
+        value: 'M鏈圖D鏃�',
+        label: 'M鏈圖D鏃ワ紙4鏈�29鏃ワ級'
+      }, {
+        value: 'M/DD week',
+        label: 'M/DD week锛�4/29 鏄熸湡涓�锛�'
+      }, {
+        value: 'M-DD week',
+        label: 'M-DD week锛�4-29 鏄熸湡涓�锛�'
+      }, {
+        value: 'M鏈圖D鏃� week',
+        label: 'M鏈圖D鏃� week锛�4鏈�29鏃� 鏄熸湡涓�锛�'
+      }]
+    },
+    {
+      type: 'select',
+      key: 'hourFormat',
+      label: '鏍煎紡鍖�',
+      initVal: card.hourFormat || 'H:00',
+      required: true,
+      options: [{
+        value: 'H:00',
+        label: 'H:00锛�15:00锛�'
+      }, {
+        value: 'H point',
+        label: 'H锛�15鐐癸級'
+      }, {
+        value: 'h:00',
+        label: 'h:00锛�3:00 pm锛�'
+      }]
+    },
+    {
+      type: 'text',
+      key: 'supField',
+      label: '涓婄骇瀛楁',
+      initVal: card.supField || '',
+      tooltip: '鏉ユ簮浜庝笂绾х粍浠剁殑瀛楁闆嗭紙涓婄骇缁勪欢涓虹┖鏃朵粠url鍙傛暟涓�夊彇锛夛紝璇ュ瓧娈靛�硷紙鐢ㄩ�楀彿鍒嗛殧锛夊彲鎺у埗鎵╁睍鍒楃殑鍒楀悕銆�',
+      required: false,
+      rules: [{
+        pattern: /^[0-9a-zA-Z_]*$/ig,
+        message: '瀛楁鍚嶅彧鍏佽鍖呭惈鏁板瓧銆佸瓧姣嶄互鍙奯'
+      }]
+    },
+    {
+      type: 'radio',
       key: 'editable',
       label: '鍙紪杈�',
       initVal: card.editable || 'false',
@@ -193,7 +315,7 @@
       }]
     },
     {
-      type: 'radio',
+      type: 'select',
       key: 'editType',
       label: '缂栬緫绫诲瀷',
       initVal: card.editType || 'text',
@@ -207,6 +329,59 @@
       }, {
         value: 'switch',
         text: '寮�鍏�'
+      }, {
+        value: 'date',
+        text: '鏃ユ湡锛堝ぉ锛�'
+      }, {
+        value: 'popSelect',
+        text: '閫夋嫨鍣�'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'precision',
+      label: '绮剧‘搴�',
+      initVal: card.precision || 'day',
+      options: [{
+        value: 'day',
+        text: '澶�'
+      }, {
+        value: 'hour',
+        text: '灏忔椂'
+      }, {
+        value: 'minute',
+        text: '鍒嗛挓'
+      }, {
+        value: 'second',
+        text: '绉�'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'declareType',
+      label: '鏁版嵁绫诲瀷',
+      tooltip: '澹版槑鍙橀噺鏃剁殑绫诲瀷锛屾椂闂存牸寮廳atetime鎴栨枃鏈牸寮弉varchar(50)銆�',
+      initVal: card.declareType || 'datetime',
+      options: [{
+        value: 'datetime',
+        text: 'datetime'
+      }, {
+        value: 'nvarchar(50)',
+        text: 'nvarchar(50)'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'required',
+      label: '蹇呭~',
+      initVal: card.required || 'false',
+      required: false,
+      options: [{
+        value: 'false',
+        text: '鍚�'
+      }, {
+        value: 'true',
+        text: '鏄�'
       }]
     },
     {
@@ -271,8 +446,188 @@
       key: 'dataSource',
       label: '鏁版嵁婧�',
       initVal: card.dataSource || '',
-      placeholder: '绯荤粺鍙橀噺锛歮k_departmentcode銆乵k_organization銆乵k_user_type銆�',
+      placeholder: '绯荤粺鍙橀噺锛歮k_departmentcode銆乵k_organization銆乵k_user_type銆傚叕鍏卞�粿BID@銆�',
       required: true,
+    },
+    {
+      type: 'fields',
+      key: 'columns',
+      label: '瀛楁闆�',
+      initVal: card.columns || [],
+      required: true,
+      readonly: false,
+      columns: [
+        {
+          title: '鍚嶇О',
+          dataIndex: 'label',
+          inputType: 'input',
+          editable: true,
+          initval: 'label',
+          width: '20%'
+        },
+        {
+          title: '瀛楁',
+          dataIndex: 'field',
+          inputType: 'input',
+          editable: true,
+          unique: true,
+          strict: true,
+          copy: true,
+          initval: 'field',
+          rules: [{
+            pattern: /^[\u4E00-\u9FA50-9a-zA-Z_-]*$/ig,
+            message: '璇蜂娇鐢ㄦ暟瀛椼�佸瓧姣嶃�佹眽瀛椾互鍙奯-'
+          }],
+          width: '20%'
+        },
+        {
+          title: '闅愯棌',
+          dataIndex: 'Hide',
+          inputType: 'radio',
+          editable: true,
+          width: '20%',
+          initval: 'false',
+          options: [
+            {value: 'true', text: '鏄�'},
+            {value: 'false', text: '鍚�'},
+          ],
+          render: (text, record) => {
+            if (text === 'true') {
+              return '鏄�'
+            } else {
+              return '鍚�'
+            }
+          }
+        },
+        {
+          title: '鎺掑簭',
+          dataIndex: 'IsSort',
+          inputType: 'radio',
+          editable: true,
+          width: '20%',
+          initval: 'false',
+          options: [
+            {value: 'true', text: '鏄�'},
+            {value: 'false', text: '鍚�'},
+          ],
+          render: (text, record) => {
+            if (text === 'true') {
+              return '鏄�'
+            } else {
+              return '鍚�'
+            }
+          }
+        },
+        {
+          title: '鍒楀',
+          dataIndex: 'Width',
+          inputType: 'number',
+          editable: true,
+          width: '20%',
+          initval: 120
+        }
+      ]
+    },
+    {
+      type: 'select',
+      key: 'primaryKey',
+      label: '涓婚敭',
+      initVal: card.primaryKey || '',
+      required: true,
+      readonly: false,
+      options: 'columns'
+    },
+    {
+      type: 'text',
+      key: 'order',
+      label: '榛樿鎺掑簭',
+      initVal: card.order || '',
+      placeholder: 'ID asc',
+      required: true
+    },
+    {
+      type: 'select',
+      key: 'showField',
+      label: '鏄剧ず瀛楁',
+      initVal: card.showField || '',
+      tooltip: '鐢ㄤ簬鎺у埗鍗曞厓鏍间腑鐨勬樉绀哄唴瀹广��',
+      required: false,
+      options: 'columns'
+    },
+    {
+      type: 'select',
+      key: 'controlField',
+      label: '绂佺敤瀛楁',
+      initVal: card.controlField || '',
+      tooltip: '鐢ㄤ簬鎺у埗琛屾暟鎹槸鍚﹀彲閫夋嫨銆傚瓧娈靛�间负true鏃讹紝閫夐」涓嶅彲閫夈��',
+      required: false,
+      allowClear: true,
+      joint: true,
+      options: 'columns'
+    },
+    {
+      type: 'text',
+      key: 'searchKey',
+      label: '鎼滅储瀛楁',
+      initVal: card.searchKey || '',
+      tooltip: '澶氫釜鍊艰鐢ㄩ�楀彿鍒嗛殧銆�',
+      required: false,
+      rules: [{
+        pattern: /^[0-9a-zA-Z,_-]*$/ig,
+        message: '瀛楁鍚嶅彧鍏佽鍖呭惈鏁板瓧銆佸瓧姣嶄互鍙奯-',
+      }]
+    },
+    {
+      type: 'number',
+      key: 'popWidth',
+      label: '寮圭獥瀹藉害',
+      initVal: card.popWidth || 60,
+      tooltip: '灏忎簬100鏃朵负鐧惧垎鐜囷紝澶т簬100鏃朵负缁濆鍊笺��',
+      required: true
+    },
+    {
+      type: 'radio',
+      key: 'laypage',
+      label: '鍒嗛〉',
+      initVal: card.laypage || 'true',
+      required: false,
+      options: [{
+        value: 'true',
+        text: '鏄�'
+      }, {
+        value: 'false',
+        text: '鍚�'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'onload',
+      label: '鍒濆鍖�',
+      initVal: card.onload || 'true',
+      tooltip: '褰撴病鏈夎缃悳绱㈠瓧娈垫椂锛屽垵濮嬪寲鍔犺浇鏁版嵁銆�',
+      required: false,
+      options: [{
+        value: 'true',
+        text: '鍔犺浇'
+      }, {
+        value: 'false',
+        text: '涓嶅姞杞�'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'cache',
+      label: '閫夐」鏌ヨ',
+      initVal: card.cache || 'true',
+      tooltip: '鏁版嵁鏌ヨ鏄惁浣跨敤缂撳瓨銆�',
+      required: false,
+      options: [{
+        value: 'true',
+        text: '缂撳瓨'
+      }, {
+        value: 'false',
+        text: '瀹炴椂'
+      }]
     },
     {
       type: 'text',
@@ -332,20 +687,6 @@
     },
     {
       type: 'radio',
-      key: 'required',
-      label: '蹇呭~',
-      initVal: card.required || 'false',
-      required: false,
-      options: [{
-        value: 'false',
-        text: '鍚�'
-      }, {
-        value: 'true',
-        text: '鏄�'
-      }]
-    },
-    {
-      type: 'radio',
       key: 'database',
       label: '鏁版嵁搴�',
       initVal: card.database || 'local',
@@ -362,13 +703,13 @@
       key: 'enter',
       label: '鍥炶溅鍒囨崲',
       initVal: card.enter || '$noAct',
-      tooltip: '鍖呮嫭鏂囨湰鎴栨暟鍊煎洖杞︿簨浠躲�佷笅鎷夎彍鍗曢�変腑浜嬩欢銆佸紑鍏冲垏鎹簨浠躲��',
+      tooltip: '鍖呮嫭鏂囨湰鎴栨暟鍊煎洖杞︿簨浠躲�佷笅鎷夎彍鍗曘�侀�夋嫨鍣ㄣ�佹椂闂村彉鍖栦簨浠躲�佸紑鍏冲垏鎹簨浠躲��',
       options: editCols
     },
     {
       type: 'select',
       key: 'ctrlField',
-      label: '绂佺敤瀛楁',
+      label: '绂佹缂栬緫',
       initVal: card.ctrlField || '',
       tooltip: '鎺у埗鍗曞厓鏍兼槸鍚﹀彲浠ョ紪杈戙��',
       allowClear: true,
@@ -378,10 +719,20 @@
     {
       type: 'text',
       key: 'ctrlValue',
-      label: '绂佺敤鍊�',
+      label: '绂佹鍊�',
       initVal: card.ctrlValue || '',
       tooltip: '澶氫釜鍊肩敤閫楀彿鍒嗛殧銆�',
       required: false
+    },
+    {
+      type: 'select',
+      key: 'clearField',
+      label: '娓呯┖瀛楁',
+      initVal: card.clearField || '',
+      tooltip: '褰撳墠瀛楁缂栬緫鏃堕渶瑕佹竻绌虹殑瀛楁銆�',
+      allowClear: true,
+      required: false,
+      options: fields
     },
     {
       type: 'number',
@@ -485,7 +836,7 @@
       key: 'noValue',
       label: '绌哄��',
       initVal: card.noValue || 'show',
-      tooltip: '褰撳�间负0鏃舵槸鍚︽樉绀�',
+      tooltip: '鏁板�间负 0 鎴栨椂闂村皬浜� 1949-10-02 鏃讹紝鏄惁鏄剧ず',
       required: false,
       options: [{
         value: 'show',

--
Gitblit v1.8.0