From 9e716f3bd30820a08757845b592db73363faa48c Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 25 四月 2022 14:53:37 +0800
Subject: [PATCH] 2022-04-25

---
 src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx |  470 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 285 insertions(+), 185 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 e2b4ae1..adbb88b 100644
--- a/src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx
+++ b/src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx
@@ -7,8 +7,7 @@
  * @description 鑾峰彇鏄剧ず鍒楄〃鍗曢厤缃俊鎭�
  * @param {object} card       // 鎼滅储鏉′欢瀵硅薄
  */
-export function getColumnForm (card, fields = []) {
-  let appType = sessionStorage.getItem('appType')
+export function getColumnForm (card, fields = [], columns = []) {
   let roleList = sessionStorage.getItem('sysRoles')
   if (roleList) {
     try {
@@ -20,22 +19,8 @@
     roleList = []
   }
 
-  let menulist = []
-
-  if (appType === 'pc') {
-    menulist = sessionStorage.getItem('appMenus')
-  } else if (!appType) {
-    menulist = sessionStorage.getItem('fstMenuList')
-  }
-
-  if (menulist) {
-    try {
-      menulist = JSON.parse(menulist)
-    } catch (e) {
-      menulist = []
-    }
-  } else {
-    menulist = []
+  if (['picture', 'link', 'colspan'].includes(card.type)) {
+    card.type = 'text'
   }
 
   let options = [{
@@ -45,35 +30,44 @@
     value: 'number',
     text: Formdict['model.form.number']
   }, {
-    value: 'picture',
-    text: Formdict['model.form.picture']
-  }, {
-    value: 'link',
-    text: Formdict['model.form.href']
-  }, {
     value: 'textarea',
     text: Formdict['model.form.textarea']
   }, {
     value: 'custom',
     text: '鑷畾涔夊垪'
   }, {
-    value: 'colspan',
-    text: '鍚堝苟鍒�'
+    value: 'action',
+    text: '鎿嶄綔'
+  }, {
+    value: 'formula',
+    text: '鍏紡'
   }, {
     value: 'index',
     text: '搴忓彿'
   }]
 
-  if (!card.isSub) {
-    options.push({
-      value: 'action',
-      text: '鎿嶄綔'
-    })
-  }
-
-  if (!card.linkurl && (!card.linkmenu || card.linkmenu.length === 0)) {
-    card.perspective = ''
-  }
+  let editCols = [
+    {
+      field: '$sub',
+      label: '鎻愪氦'
+    },
+    {
+      field: '$next',
+      label: '涓嬩竴琛�'
+    },
+    {
+      field: '$noAct',
+      label: '鏃犲姩浣�'
+    }
+  ]
+  columns.forEach(col => {
+    if (col.editable === 'true' && col.uuid !== card.uuid) {
+      editCols.push({
+        field: col.uuid,
+        label: col.label
+      })
+    }
+  })
 
   return [
     {
@@ -100,36 +94,14 @@
       options: fields
     },
     {
-      type: 'select',
-      key: 'nameField',
-      label: Formdict['model.name'] + Formdict['model.form.field'],
-      initVal: card.nameField || '',
-      required: false,
-      options: [{uuid: 'empty', field: '', label: '绌�'}, ...fields]
-    },
-    {
       type: 'number',
       key: 'Width',
       min: 20,
       max: 1000,
-      decimal: 0,
+      precision: 0,
       label: Formdict['model.form.columnWidth'],
       initVal: card.Width || 120,
       required: true
-    },
-    {
-      type: 'radio',
-      key: 'joint',
-      label: Formdict['model.form.paramJoint'],
-      initVal: card.joint || 'true',
-      required: true,
-      options: [{
-        value: 'true',
-        text: Formdict['model.true']
-      }, {
-        value: 'false',
-        text: Formdict['model.false']
-      }]
     },
     {
       type: 'radio',
@@ -149,9 +121,8 @@
       type: 'radio',
       key: 'IsSort',
       label: Formdict['model.sort'],
-      initVal: card.IsSort || 'true',
+      initVal: card.IsSort || 'false',
       required: true,
-      forbidden: card.isSub,
       options: [{
         value: 'true',
         text: Formdict['model.true']
@@ -179,21 +150,6 @@
     },
     {
       type: 'radio',
-      key: 'rowspan',
-      label: '琛屽悎骞�',
-      initVal: card.rowspan || 'false',
-      tooltip: '鐩搁偦琛屼俊鎭浉鍚屾椂锛屽崟鍏冩牸鍚堝苟銆�',
-      required: false,
-      options: [{
-        value: 'true',
-        text: Formdict['model.true']
-      }, {
-        value: 'false',
-        text: Formdict['model.false']
-      }]
-    },
-    {
-      type: 'radio',
       key: 'sum',
       label: '鏄剧ず鍚堣',
       initVal: card.sum || 'false',
@@ -208,14 +164,243 @@
       }]
     },
     {
+      type: 'radio',
+      key: 'editable',
+      label: '鍙紪杈�',
+      initVal: card.editable || 'false',
+      required: true,
+      options: [{
+        value: 'false',
+        text: '鍚�'
+      }, {
+        value: 'true',
+        text: '鏄�'
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'editType',
+      label: '缂栬緫绫诲瀷',
+      initVal: card.editType || 'text',
+      required: true,
+      options: [{
+        value: 'text',
+        text: '鏂囨湰'
+      }, {
+        value: 'select',
+        text: '涓嬫媺'
+      }, {
+        value: 'switch',
+        text: '寮�鍏�'
+      }]
+    },
+    {
+      type: 'text',
+      key: 'initval',
+      label: '榛樿鍊�',
+      initVal: card.initval,
+      tooltip: '浣跨敤$copy鏃讹紝琛ㄧず鏂板鏃跺鍒朵笂涓�琛屼俊鎭��',
+      required: false
+    },
+    {
+      type: 'text',
+      key: 'openVal',
+      label: '寮�鍚��',
+      initVal: card.openVal || '',
+      required: false
+    },
+    {
+      type: 'text',
+      key: 'closeVal',
+      label: '鍏抽棴鍊�',
+      initVal: card.closeVal || '',
+      required: false
+    },
+    {
+      type: 'text',
+      key: 'openText',
+      label: '寮�鍚彁绀�',
+      initVal: card.openText || '',
+      required: false
+    },
+    {
+      type: 'text',
+      key: 'closeText',
+      label: '鍏抽棴鎻愮ず',
+      initVal: card.closeText || '',
+      required: false
+    },
+    {
+      type: 'radio',
+      key: 'resourceType',
+      label: '閫夐」鏉ユ簮',
+      initVal: card.resourceType || '0',
+      required: true,
+      options: [{
+        value: '0',
+        text: '鑷畾涔�'
+      }, {
+        value: '1',
+        text: '鏁版嵁婧�'
+      }]
+    },
+    {
+      type: 'select',
+      key: 'editField',
+      label: '缂栬緫瀛楁',
+      initVal: card.editField || '',
+      tooltip: '褰撳�间笌鎻愮ず鏂囧瓧涓嶅悓鏃讹紝鍙澶栨坊鍔犵紪杈戝瓧娈碉紝浣滀负瀹為檯鍊肩殑褰曞叆瀛楁銆�',
+      allowClear: true,
+      required: false,
+      options: fields
+    },
+    {
+      type: 'options',
+      key: 'options',
+      label: '閫夐」',
+      initVal: card.options || [],
+      required: true,
+    },
+    {
+      type: 'codemirror',
+      key: 'dataSource',
+      label: '鏁版嵁婧�',
+      initVal: card.dataSource || '',
+      required: true,
+    },
+    {
+      type: 'text',
+      key: 'valueField',
+      label: '鍊悸峰瓧娈�',
+      initVal: card.valueField || '',
+      required: true,
+    },
+    {
+      type: 'text',
+      key: 'valueText',
+      label: '鏂囨湰路瀛楁',
+      initVal: card.valueText || '',
+      required: true,
+    },
+    {
+      type: 'text',
+      key: 'orderBy',
+      label: '鎺掑簭路瀛楁',
+      initVal: card.orderBy || '',
+      required: false,
+    },
+    {
+      type: 'select',
+      key: 'orderType',
+      label: '鎺掑簭鏂瑰紡',
+      initVal: card.orderType || 'asc',
+      options: [{
+        value: 'asc',
+        text: Formdict['header.form.asc']
+      }, {
+        value: 'desc',
+        text: Formdict['header.form.desc']
+      }]
+    },
+    {
+      type: 'text',
+      key: 'disableField',
+      label: '绂佺敤路瀛楁',
+      initVal: card.disableField || '',
+      tooltip: '璁剧疆绂佺敤瀛楁锛屼笖瀛楁鍊间负true鏃讹紝閫夐」涓嶅彲閫夈��',
+      required: false,
+    },
+    {
+      type: 'radio',
+      key: 'dropdown',
+      label: '涓嬫媺瀹藉害',
+      initVal: card.dropdown || 'flex',
+      required: false,
+      options: [{
+        value: 'flex',
+        text: '鑷�傚簲'
+      }, {
+        value: 'fixed',
+        text: '瀹氬'
+      }]
+    },
+    {
+      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',
+      options: [{
+        value: 'local',
+        text: '鏈湴'
+      }, {
+        value: 'sso',
+        text: '绯荤粺'
+      }]
+    },
+    {
+      type: 'select',
+      key: 'enter',
+      label: '鍥炶溅鍒囨崲',
+      initVal: card.enter || '$next',
+      tooltip: '鍖呮嫭鏂囨湰鎴栨暟鍊煎洖杞︿簨浠躲�佷笅鎷夎彍鍗曢�変腑浜嬩欢銆佸紑鍏冲垏鎹簨浠躲��',
+      options: editCols
+    },
+    // {
+    //   type: 'radio',
+    //   key: 'footEnter',
+    //   label: '鏈鍥炶溅',
+    //   initVal: card.footEnter || 'false',
+    //   tooltip: '鏂板鍔熻兘浠呭湪琛ㄦ牸鍙柊澧炴椂鏈夋晥銆�',
+    //   options: [{
+    //     value: 'sub',
+    //     text: '鎻愪氦'
+    //   }, {
+    //     value: 'add',
+    //     text: '鏂板'
+    //   }, {
+    //     value: 'false',
+    //     text: '鏃犲姩浣�'
+    //   }]
+    // },
+    {
       type: 'number',
       key: 'decimal',
       min: 0,
       max: 18,
-      decimal: 0,
+      precision: 0,
       label: Formdict['header.form.decimal'],
       initVal: card.decimal || 0,
       required: true
+    },
+    {
+      type: 'number',
+      key: 'min',
+      label: '鏈�灏忓��',
+      initVal: card.min,
+      unlimit: true,
+      required: false
+    },
+    {
+      type: 'number',
+      key: 'max',
+      label: '鏈�澶у��',
+      initVal: card.max,
+      unlimit: true,
+      required: false
     },
     {
       type: 'select',
@@ -227,10 +412,13 @@
         text: Formdict['model.empty']
       }, {
         value: 'thdSeparator',
-        text: Formdict['header.form.thdSeparator']
+        text: '鍗冨垎浣�'
       }, {
         value: 'percent',
         text: '鐧惧垎姣�'
+      }, {
+        value: 'abs',
+        text: '缁濆鍊�'
       }],
       required: false
     },
@@ -257,7 +445,6 @@
       label: Formdict['header.form.prefix'],
       initVal: card.prefix || '',
       required: false,
-      readonly: false
     },
     {
       type: 'text',
@@ -265,122 +452,35 @@
       label: Formdict['header.form.postfix'],
       initVal: card.postfix || '',
       required: false,
-      readonly: false
     },
     {
-      type: 'select',
-      key: 'lenWidRadio',
-      label: '闀垮姣�',
-      initVal: card.lenWidRadio || '1:1',
-      required: true,
+      type: 'radio',
+      key: 'eval',
+      label: '瑙f瀽',
+      initVal: card.eval || 'true',
+      tooltip: '褰撳叕寮忓唴瀹规秹鍙婅绠楁椂璇烽�夋嫨鈥滄槸鈥濓紝褰撳叕寮忓唴瀹逛负瀛楁鎷兼帴鏃惰閫夋嫨鈥滃惁鈥濄��',
+      required: false,
       options: [
-        { value: '1:1', text: '1:1' },
-        { value: '4:3', text: '4:3' },
-        { value: '3:2', text: '3:2' },
-        { value: '16:9', text: '16:9' },
-        { value: '2:1', text: '2:1' },
-        { value: '3:1', text: '3:1' },
-        { value: '4:1', text: '4:1' },
-        { value: '5:1', text: '5:1' },
-        { value: '6:1', text: '6:1' },
-        { value: '7:1', text: '7:1' },
-        { value: '8:1', text: '8:1' },
-        { value: '9:1', text: '9:1' },
-        { value: '10:1', text: '10:1' },
-        { value: '3:4', text: '3:4' },
-        { value: '2:3', text: '2:3' },
-        { value: '9:16', text: '9:16' },
+        { value: 'true', text: '鏄�' },
+        { value: 'false', text: '鍚�' }
       ]
-    },
-    {
-      type: 'radio',
-      key: 'picSort',
-      label: '鍥剧墖鎺掑垪',
-      initVal: card.picSort || '1',
-      tooltip: '鍚屼竴鍗曞厓鏍煎唴锛屽惈鏈夊寮犲浘鐗囨椂鐨勫垪鏁般��',
-      required: false,
-      options: [{
-        value: '1',
-        text: '1'
-      }, {
-        value: '2',
-        text: '2'
-      }, {
-        value: '3',
-        text: '3'
-      }, {
-        value: '4',
-        text: '4'
-      }]
-    },
-    {
-      type: 'radio',
-      key: 'scale',
-      label: Formdict['header.form.clickscale'],
-      initVal: card.scale || 'false',
-      required: false,
-      options: [{
-        value: 'true',
-        text: Formdict['model.true']
-      }, {
-        value: 'false',
-        text: Formdict['model.false']
-      }]
-    },
-    {
-      type: 'radio',
-      key: 'perspective',
-      label: '瀛楁閫忚',
-      initVal: card.perspective || '',
-      options: [{
-        value: '',
-        text: '鏃�'
-      }, {
-        value: 'linkmenu',
-        text: '鑿滃崟'
-      }, {
-        value: 'linkurl',
-        text: '閾炬帴'
-      }],
-      forbidden: appType === 'mob'
-    },
-    {
-      type: appType === 'pc' ? 'select' : 'cascader',
-      key: 'linkmenu',
-      label: Formdict['model.menu'],
-      initVal: card.linkmenu || (appType === 'pc' ? '' : []),
-      required: true,
-      options: menulist,
-      forbidden: appType === 'mob'
     },
     {
       type: 'textarea',
-      key: 'linkurl',
-      label: '閾炬帴鍦板潃',
-      initVal: card.linkurl || '',
-      required: true,
-      forbidden: appType === 'mob'
+      key: 'formula',
+      label: '鍏紡',
+      initVal: card.formula || '',
+      tooltip: '鎵ц鏃朵細浣跨敤鏌ヨ鍒扮殑鏁版嵁鏇挎崲鐩稿簲鐨勫瓧娈碉紝灞曠ず鑾峰緱鐨勭粨鏋滐紝鍦ㄤ笉浣跨敤瑙f瀽鏃舵崲琛岀鎴栫┖鏍间細鏇挎崲涓洪〉闈㈠厓绱犮�傚彲浣跨敤JS鐨勪竴浜涜娉曪紝濡傦細涓夊厓琛ㄨ揪寮� @field1@ > @field2@ ? 0 : 1锛汳ath瀵硅薄锛屽彇缁濆鍊� Math.abs(@field@)銆佸洓鑸嶄簲鍏� Math.round(@field@)绛�',
+      placeholder: '渚嬪锛欯price@ * @number@',
+      required: true
     },
     {
       type: 'multiselect',
-      key: 'linkfields',
-      label: '鍏宠仈瀛楁',
-      initVal: card.linkfields || [],
-      required: false,
-      options: fields,
-      forbidden: appType === 'mob'
-    },
-    {
-      type: 'radio',
-      key: 'open',
-      label: '鎵撳紑鏂瑰紡',
-      initVal: card.open || 'blank',
-      required: false,
-      forbid: appType !== 'pc',
-      options: [
-        { value: 'blank', text: '鏂扮獥鍙�' },
-        { value: 'self', text: '褰撳墠绐楀彛' }
-      ]
+      key: 'linkSubField',
+      label: '濉厖琛ㄥ崟',
+      tooltip: '鍦ㄥ垏鎹㈤�夐」鏃朵細鎶婁俊鎭嚜鍔ㄥ~鍏ュ叧鑱旂殑瀛楁涓��',
+      initVal: card.linkSubField || [],
+      options: fields
     },
     {
       type: 'multiselect',

--
Gitblit v1.8.0