From 72419e2f826031a158173f46d723a672064e37cd Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 31 八月 2021 22:42:51 +0800
Subject: [PATCH] 2021-08-31

---
 src/menu/components/chart/antv-pie/chartcompile/formconfig.jsx |  185 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 155 insertions(+), 30 deletions(-)

diff --git a/src/menu/components/chart/antv-pie/chartcompile/formconfig.jsx b/src/menu/components/chart/antv-pie/chartcompile/formconfig.jsx
index 5379e71..20a3b61 100644
--- a/src/menu/components/chart/antv-pie/chartcompile/formconfig.jsx
+++ b/src/menu/components/chart/antv-pie/chartcompile/formconfig.jsx
@@ -1,17 +1,50 @@
 // import zhCN from '@/locales/zh-CN/model.js'
 // import enUS from '@/locales/en-US/model.js'
 
-// const Formdict = localStorage.getItem('lang') !== 'en-US' ? zhCN : enUS
+// const Formdict = sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS
 
 /**
  * @description 鑾峰彇鍥捐〃瑙嗗浘閰嶇疆琛ㄥ崟
  * @param {object} card       // 鍥捐〃瀵硅薄
- * @param {Array}  columns    // 鏄剧ず鍒�
  */
-export function getPieChartOptionForm (card, columns, sysRoles = [], MenuType) {
-  let xfields = columns.filter(item => /^Nvarchar/ig.test(item.datatype))
-  let yfields = columns.filter(item => /^(Int|Decimal)/ig.test(item.datatype))
-  let _sysRoles = sysRoles.map(item => ({...item, field: item.value, label: item.text}))
+export function getBaseForm (card) {
+  let appType = sessionStorage.getItem('appType')
+  let isApp = appType === 'pc' || appType === 'mob'
+  let menulist = null
+
+  if (isApp) {
+    menulist = sessionStorage.getItem('appMenus')
+  } else {
+    menulist = sessionStorage.getItem('fstMenuList')
+  }
+
+  if (menulist) {
+    try {
+      menulist = JSON.parse(menulist)
+      if (isApp) {
+        menulist = menulist.map(item => {
+          item.value = item.MenuID
+          item.text = item.MenuName
+          return item
+        })
+      }
+    } catch {
+      menulist = []
+    }
+  } else {
+    menulist = []
+  }
+
+  let roleList = sessionStorage.getItem('sysRoles')
+  if (roleList) {
+    try {
+      roleList = JSON.parse(roleList)
+    } catch {
+      roleList = []
+    }
+  } else {
+    roleList = []
+  }
 
   return [
     {
@@ -51,6 +84,60 @@
       required: true
     },
     {
+      type: 'select',
+      key: 'blacklist',
+      label: '榛戝悕鍗�',
+      initVal: card.blacklist || [],
+      multi: true,
+      required: false,
+      options: roleList
+    },
+    {
+      type: 'cascader',
+      key: 'linkmenu',
+      label: '鍏宠仈鑿滃崟',
+      initVal: card.linkmenu || [],
+      tooltip: '鍙屽嚮楗煎浘锛屼細鎵撳紑鍏宠仈鐨勮彍鍗曘��',
+      required: false,
+      forbid: isApp,
+      options: menulist
+    },
+    {
+      type: 'select',
+      key: 'linkmenu',
+      label: '鍏宠仈鑿滃崟',
+      initVal: card.linkmenu || '',
+      tooltip: '鍙屽嚮楗煎浘锛屼細鎵撳紑鍏宠仈鐨勮彍鍗曘��',
+      required: false,
+      forbid: !isApp,
+      options: menulist
+    },
+    {
+      type: 'radio',
+      key: 'open',
+      label: '鎵撳紑鏂瑰紡',
+      initVal: card.open || 'blank',
+      required: false,
+      forbid: !isApp,
+      options: [
+        { value: 'blank', text: '鏂扮獥鍙�' },
+        { value: 'self', text: '褰撳墠绐楀彛' }
+      ]
+    }
+  ]
+}
+/**
+ * @description 鑾峰彇鍥捐〃瑙嗗浘閰嶇疆琛ㄥ崟
+ * @param {object} card       // 鍥捐〃瀵硅薄
+ * @param {Array}  columns    // 鏄剧ず鍒�
+ */
+export function getOptionForm (card, columns) {
+  let appType = sessionStorage.getItem('appType')
+  let xfields = columns.filter(item => /^Nvarchar/ig.test(item.datatype))
+  let yfields = columns.filter(item => /^(Int|Decimal)/ig.test(item.datatype))
+
+  return [
+    {
       type: 'radio',
       key: 'shape',
       label: '褰㈢姸',
@@ -59,13 +146,14 @@
       options: [
         { value: 'pie', text: '楗煎浘' },
         { value: 'ring', text: '鐜浘' },
+        { value: 'nest', text: '宓屽' },
         { value: 'nightingale', text: '鍗椾竵鏍煎皵鍥�' }
       ]
     },
     {
       type: 'select',
       key: 'Xaxis',
-      label: 'X-杞�',
+      label: '鍚嶇О',
       initVal: card.Xaxis || '',
       required: true,
       options: xfields
@@ -73,10 +161,20 @@
     {
       type: 'select',
       key: 'Yaxis',
-      label: 'Y-杞�',
+      label: '鍊�',
       initVal: card.Yaxis || '',
       required: true,
       options: yfields
+    },
+    {
+      type: 'select',
+      key: 'type',
+      label: '绫诲瀷',
+      initVal: card.type || '',
+      tooltip: '鍐呯幆鐨勫垎绫诲瓧娈点��',
+      required: true,
+      options: xfields,
+      hidden: card.shape !== 'nest',
     },
     {
       type: 'select',
@@ -98,7 +196,8 @@
         { field: 'left-top', label: '宸︿笂' },
         { field: 'left-bottom', label: '宸︿笅' },
         { field: 'hidden', label: '闅愯棌' }
-      ]
+      ],
+      hidden: card.shape === 'nest',
     },
     {
       type: 'number',
@@ -126,7 +225,7 @@
     {
       type: 'radio',
       key: 'tooltip',
-      label: '鎻愮ず淇℃伅',
+      label: '鎮诞鎻愮ず',
       initVal: card.tooltip || 'true',
       required: false,
       options: [{
@@ -140,21 +239,21 @@
     {
       type: 'radio',
       key: 'show',
-      label: '鏄剧ず鍊�',
+      label: '鏍煎紡鍖�',
       initVal: card.show || 'value',
       required: false,
       options: [{
+        value: 'value',
+        text: '鏃�'
+      }, {
         value: 'percent',
         text: '鐧惧垎姣�'
-      }, {
-        value: 'value',
-        text: '鏁板��'
       }]
     },
     {
       type: 'radio',
       key: 'label',
-      label: '鏍囨敞',
+      label: '鏍囩',
       initVal: card.label || 'false',
       required: false,
       options: [{
@@ -165,8 +264,11 @@
         text: '鍐呬晶'
       }, {
         value: 'outer',
-        text: '澶栦晶'
-      }]
+        text: '铚樿洓'
+      }, {
+        value: 'normal',
+        text: '甯歌'
+      }],
     }, {
       type: 'radio',
       key: 'repeat',
@@ -184,28 +286,51 @@
         text: '绱姞'
       }]
     }, {
+      type: 'number',
+      key: 'splitLine',
+      label: '鍒嗛殧绾�',
+      initVal: card.splitLine || '',
+      tooltip: '鍒嗛殧绾跨殑瀹藉害銆�',
+      min: 0,
+      max: 20,
+      decimal: 0,
+      required: false
+    }, {
+      type: 'color',
+      key: 'splitColor',
+      label: '鍒嗛殧鑹�',
+      initVal: card.splitColor || '#ffffff',
+      tooltip: '鍒嗛殧绾跨殑棰滆壊锛屽瓨鍦ㄥ垎闅旂嚎鏃舵湁鏁堛��',
+      required: false
+    }, {
       type: 'color',
       key: 'color',
       label: '鑹茬郴',
       initVal: card.color || 'rgba(0, 0, 0, 0.85)',
       tooltip: '鍧愭爣杞村強绀轰緥绛夋彁绀烘枃瀛椾娇鐢ㄧ殑棰滆壊銆�',
-      required: false,
-      options: [{
-        value: 'black',
-        text: '榛戣壊'
-      }, {
-        value: 'white',
-        text: '鐧借壊'
-      }]
+      required: false
     }, {
       type: 'select',
-      key: 'blacklist',
-      label: '榛戝悕鍗�',
-      initVal: card.blacklist || [],
+      key: 'interaction',
+      label: '浜や簰鏁堟灉',
+      initVal: card.interaction || [],
       multi: true,
       required: false,
-      forbid: MenuType === 'billPrint',
-      options: _sysRoles
+      forbid: appType === 'mob',
+      options: [
+        { value: 'element-active', label: '鍏冪礌鑱氱劍' },
+        { value: 'element-selected', label: '鍏冪礌閫変腑锛堝閫夛級' },
+        { value: 'element-single-selected', label: '鍏冪礌閫変腑锛堝崟閫夛級' },
+        // { value: 'active-region', label: '鑳屾櫙妗�' },
+        // { value: 'view-zoom', label: '瑙嗗浘缂╂斁' },
+        { value: 'element-highlight', label: '鍏冪礌楂樹寒' },
+        // { value: 'element-highlight-by-color', label: '鍚岃壊鍏冪礌楂樹寒' },
+        // { value: 'element-highlight-by-x', label: '鍚孹杞村厓绱犻珮浜�' },
+        { value: 'legend-filter', label: '鍥句緥杩囨护' },
+        { value: 'legend-active', label: '鍥句緥鑱氱劍' },
+        { value: 'legend-highlight', label: '鍥句緥楂樹寒' },
+        // { value: 'brush', label: '閫夋杩囨护' },
+      ]
     }
   ]
 }

--
Gitblit v1.8.0