From bdfec44c9f3a37dbbe05bf14a252ffec04132a86 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 06 九月 2022 21:24:28 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/menu/components/table/base-table/columns/editColumn/formconfig.jsx |  414 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 414 insertions(+), 0 deletions(-)

diff --git a/src/menu/components/table/base-table/columns/editColumn/formconfig.jsx b/src/menu/components/table/base-table/columns/editColumn/formconfig.jsx
new file mode 100644
index 0000000..547c1c6
--- /dev/null
+++ b/src/menu/components/table/base-table/columns/editColumn/formconfig.jsx
@@ -0,0 +1,414 @@
+import zhCN from '@/locales/zh-CN/model.js'
+import enUS from '@/locales/en-US/model.js'
+
+const Formdict = sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS
+
+/**
+ * @description 鑾峰彇鏄剧ず鍒楄〃鍗曢厤缃俊鎭�
+ * @param {object} card       // 鎼滅储鏉′欢瀵硅薄
+ */
+export function getColumnForm (card, fields = []) {
+  let appType = sessionStorage.getItem('appType')
+  let roleList = sessionStorage.getItem('sysRoles')
+  if (roleList) {
+    try {
+      roleList = JSON.parse(roleList)
+    } catch (e) {
+      roleList = []
+    }
+  } else {
+    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 = []
+  }
+
+  let options = [{
+    value: 'text',
+    text: Formdict['model.form.text']
+  }, {
+    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: 'formula',
+    text: '鍏紡'
+  }, {
+    value: 'index',
+    text: '搴忓彿'
+  }]
+
+  if (!card.isSub) {
+    options.push({
+      value: 'action',
+      text: '鎿嶄綔'
+    })
+  }
+
+  if (!card.linkurl && (!card.linkmenu || card.linkmenu.length === 0)) {
+    card.perspective = ''
+  }
+
+  return [
+    {
+      type: 'text',
+      key: 'label',
+      label: '鍒楀ご鏂囧瓧',
+      initVal: card.label,
+      required: true
+    },
+    {
+      type: 'select',
+      key: 'type',
+      label: Formdict['model.form.type'],
+      initVal: card.type,
+      required: true,
+      options: options
+    },
+    {
+      type: 'select',
+      key: 'field',
+      label: Formdict['model.form.field'],
+      initVal: card.field,
+      required: true,
+      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,
+      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',
+      key: 'Hide',
+      label: Formdict['model.hidden'],
+      initVal: card.Hide || 'false',
+      required: true,
+      options: [{
+        value: 'true',
+        text: Formdict['model.true']
+      }, {
+        value: 'false',
+        text: Formdict['model.false']
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'IsSort',
+      label: Formdict['model.sort'],
+      initVal: card.IsSort || (card.isSub ? 'false' : 'true'),
+      required: true,
+      options: [{
+        value: 'true',
+        text: Formdict['model.true']
+      }, {
+        value: 'false',
+        text: Formdict['model.false']
+      }]
+    },
+    {
+      type: 'radio',
+      key: 'Align',
+      label: Formdict['model.form.align'],
+      initVal: card.Align || 'left',
+      required: true,
+      options: [{
+        value: 'left',
+        text: Formdict['model.form.alignLeft']
+      }, {
+        value: 'center',
+        text: Formdict['model.form.alignCenter']
+      }, {
+        value: 'right',
+        text: Formdict['model.form.alignRight']
+      }]
+    },
+    {
+      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',
+      tooltip: '鍚堣淇℃伅鍙湪浣跨敤绯荤粺鏁版嵁婧愭椂鏈夋晥銆�',
+      required: false,
+      options: [{
+        value: 'true',
+        text: Formdict['model.true']
+      }, {
+        value: 'false',
+        text: Formdict['model.false']
+      }]
+    },
+    {
+      type: 'number',
+      key: 'decimal',
+      min: 0,
+      max: 18,
+      decimal: 0,
+      label: Formdict['header.form.decimal'],
+      initVal: card.decimal || 0,
+      required: true
+    },
+    {
+      type: 'select',
+      key: 'format',
+      label: Formdict['header.form.format'],
+      initVal: card.format || 'none',
+      options: [{
+        value: 'none',
+        text: '鏃�'
+      }, {
+        value: 'thdSeparator',
+        text: '鍗冨垎浣�'
+      }, {
+        value: 'percent',
+        text: '鐧惧垎姣�'
+      }, {
+        value: 'abs',
+        text: '缁濆鍊�'
+      }],
+      required: false
+    },
+    {
+      type: 'select',
+      key: 'textFormat',
+      label: Formdict['header.form.format'],
+      initVal: card.textFormat || 'none',
+      options: [{
+        value: 'none',
+        text: '鏃�'
+      }, {
+        value: 'encryption',
+        text: '鍔犲瘑'
+      }, {
+        value: 'YYYY-MM-DD',
+        text: 'YYYY-MM-DD'
+      }, {
+        value: 'YYYY-MM-DD HH:mm:ss',
+        text: 'YYYY-MM-DD HH:mm:ss'
+      }],
+      required: false
+    },
+    {
+      type: 'text',
+      key: 'prefix',
+      label: Formdict['header.form.prefix'],
+      initVal: card.prefix || '',
+      required: false,
+      readonly: false
+    },
+    {
+      type: 'text',
+      key: 'postfix',
+      label: Formdict['header.form.postfix'],
+      initVal: card.postfix || '',
+      required: false,
+      readonly: false
+    },
+    {
+      type: 'number',
+      key: 'span',
+      min: 1,
+      max: 24,
+      precision: 0,
+      label: '鍥剧墖瀹藉害',
+      initVal: card.span || 24,
+      tooltip: '鏍呮牸甯冨眬锛岀瓑鍒嗕负24浠姐��',
+      required: true
+    },
+    {
+      type: 'select',
+      key: 'lenWidRadio',
+      label: '闀垮姣�',
+      initVal: card.lenWidRadio || '1:1',
+      required: true,
+      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' },
+      ]
+    },
+    {
+      type: 'radio',
+      key: 'scale',
+      label: '鐐瑰嚮缂╂斁',
+      initVal: card.scale || 'true',
+      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'
+    },
+    {
+      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: '褰撳墠绐楀彛' }
+      ]
+    },
+    {
+      type: 'radio',
+      key: 'eval',
+      label: '瑙f瀽',
+      initVal: card.eval || 'true',
+      tooltip: '褰撳叕寮忓唴瀹规秹鍙婅绠楁椂璇烽�夋嫨鈥滄槸鈥濓紝褰撳叕寮忓唴瀹逛负瀛楁鎷兼帴鏃惰閫夋嫨鈥滃惁鈥濄��',
+      required: false,
+      options: [
+        { value: 'true', text: '鏄�' },
+        { value: 'false', text: '鍚�' }
+      ]
+    },
+    {
+      type: 'textarea',
+      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: 'blacklist',
+      label: Formdict['header.form.blacklist'],
+      initVal: card.blacklist || [],
+      required: false,
+      options: roleList,
+      forbidden: appType === 'mob'
+    }
+  ]
+}

--
Gitblit v1.8.0