From f267d04e0561a0a20d1f2a9f558a273558ece90d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 24 五月 2021 17:50:19 +0800
Subject: [PATCH] 2021-05-24

---
 src/menu/components/card/cardcellcomponent/formconfig.jsx |  154 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 137 insertions(+), 17 deletions(-)

diff --git a/src/menu/components/card/cardcellcomponent/formconfig.jsx b/src/menu/components/card/cardcellcomponent/formconfig.jsx
index cfb5189..50b7ea0 100644
--- a/src/menu/components/card/cardcellcomponent/formconfig.jsx
+++ b/src/menu/components/card/cardcellcomponent/formconfig.jsx
@@ -1,22 +1,20 @@
 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 {*} card           缂栬緫鎸夐挳
- * @param {*} setting        缁勪欢閰嶇疆
- * @param {*} permFuncField  瀛樺偍杩囩▼鍙敤鐨勫紑濮嬪瓧娈�
  * @param {*} type           鎸夐挳绫诲瀷锛岀敤浜庡尯鍒嗗彲閫夌殑鎵撳紑鏂瑰紡
  */
-export function getCardCellForm (card, type) {
+export function getCardCellForm (card, type, subtype) {
   let _options = [
     { value: 'text', text: '鏂囨湰'},
     { value: 'number', text: '鏁板��'},
     { value: 'picture', text: '鍥剧墖'},
+    { value: 'video', text: '瑙嗛'},
     { value: 'icon', text: '鍥炬爣'},
-    { value: 'link', text: '閾炬帴'},
     { value: 'slider', text: '杩涘害鏉�'},
     { value: 'splitline', text: '鍒嗗壊绾�'},
     { value: 'barcode', text: '鏉″舰鐮�'},
@@ -24,8 +22,24 @@
     { value: 'currentDate', text: '褰撳墠鏃堕棿'},
   ]
 
-  if (type === 'table') {
+  if (type === 'table' || (type === 'card' && subtype === 'datacard')) {
     _options.push({value: 'sequence', text: '搴忓彿'})
+  }
+  let appMenus = []
+  const isApp = sessionStorage.getItem('appType') === 'pc'
+
+  if (isApp) {
+    appMenus = sessionStorage.getItem('appMenus')
+    if (appMenus) {
+      try {
+        appMenus = JSON.parse(appMenus)
+        appMenus = appMenus.map(item => ({value: item.MenuID, text: item.MenuName}))
+      } catch {
+        appMenus = []
+      }
+    } else {
+      appMenus = []
+    }
   }
 
   let forms = [
@@ -103,31 +117,47 @@
       min: 0,
       label: '鍐呭',
       initVal: card.value || '',
+      tooltip: '鏂囨湰绫诲瀷锛屼細鏇挎崲鍐呭涓殑@username@銆丂fullName@銆丂login_city@銆�',
       required: true
     },
     {
       type: 'file',
       key: 'url',
-      label: '鍥剧墖',
+      label: '鍥剧墖/鏂囦欢',
       initVal: card.url || '',
       maxfile: 1,
-      required: false
+      required: true
     },
     {
-      type: 'text',
-      key: 'label',
-      label: '鏄剧ず淇℃伅',
-      initVal: card.label || '',
-      required: false
+      type: 'radio',
+      key: 'autoPlay',
+      label: '鑷姩鎾斁',
+      initVal: card.autoPlay || 'false',
+      required: false,
+      options: [
+        { value: 'true', text: '鏄�' },
+        { value: 'false', text: '鍚�' }
+      ]
+    },
+    {
+      type: 'radio',
+      key: 'loop',
+      label: '寰幆鎾斁',
+      initVal: card.loop || 'false',
+      required: false,
+      options: [
+        { value: 'true', text: '鏄�' },
+        { value: 'false', text: '鍚�' }
+      ]
     },
     {
       type: 'select',
       key: 'format',
       label: '鏍煎紡鍖�',
       initVal: card.format || '',
-      tooltip: '娉細鐧惧垎鏁般�佸崈鍒嗕綅瀵逛簬鏁板�肩被鍨嬫湁鏁堬紝YYYY-MM-DD瀵逛簬鏃堕棿绫诲瀷鐨勬枃鏈湁鏁堛��',
       required: false,
-      options: [
+      options: [],
+      oriOptions: [
         { value: '', text: '鏃�' },
         { value: 'percent', text: '鐧惧垎鏁�' },
         { value: 'thdSeparator', text: '鍗冨垎浣�' },
@@ -203,8 +233,9 @@
       min: 1,
       max: 10,
       label: '楂樺害(琛�)',
-      initVal: card.height || 1,
-      required: true,
+      initVal: card.height,
+      tooltip: '鍐呭鏄剧ず琛屾暟锛屽�间负绌烘椂楂樺害鑷�傚簲锛屾敞锛氳嚜閫傚簲楂樺害浠呭湪璁剧疆鍗$墖楂樺害鍚庢湁鏁堛��',
+      required: false
     },
     {
       type: 'number',
@@ -262,10 +293,91 @@
       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: 'select',
+      key: 'aspectRatio',
+      label: '闀垮姣�',
+      initVal: card.aspectRatio || '16:9',
+      required: true,
+      options: [
         { value: '4:3', text: '4:3' },
         { value: '16:9', text: '16:9' }
       ]
+    },
+    {
+      type: 'radio',
+      key: 'link',
+      label: '閾炬帴',
+      initVal: card.link || '',
+      tooltip: '鍔ㄦ�佸湴鍧�涓虹粦瀹氬瓧娈靛�笺��',
+      required: false,
+      forbid: isApp,
+      options: [
+        { value: '', text: '鏃�' },
+        { value: 'dynamic', text: '鍔ㄦ��' },
+        { value: 'static', text: '闈欐��' }
+      ]
+    },
+    {
+      type: 'select',
+      key: 'link',
+      label: '閾炬帴',
+      initVal: card.link || '',
+      required: false,
+      forbid: !isApp,
+      options: [
+        { value: '', text: '鏃�' },
+        { value: 'page', text: '鑿滃崟' },
+        { value: 'linkpage', text: '鍏宠仈鑿滃崟' },
+        { value: 'custom', text: '閾炬帴' }
+      ]
+    },
+    {
+      type: 'select',
+      key: 'linkmenu',
+      label: '鍏宠仈鑿滃崟',
+      initVal: card.linkmenu || '',
+      required: true,
+      forbid: !isApp,
+      options: appMenus
+    },
+    {
+      type: 'radio',
+      key: 'open',
+      label: '鎵撳紑鏂瑰紡',
+      initVal: card.open || 'blank',
+      required: false,
+      forbid: !isApp,
+      options: [
+        { value: 'blank', text: '鏂伴〉闈�' },
+        { value: 'self', text: '褰撳墠椤甸潰' }
+      ]
+    },
+    {
+      type: 'select',
+      key: 'copyMenuId',
+      label: '澶嶅埗鑿滃崟',
+      initVal: card.copyMenuId || '',
+      required: false,
+      forbid: !isApp,
+      options: appMenus
     },
     {
       type: 'radio',
@@ -281,6 +393,14 @@
         text: Formdict['model.false']
       }]
     },
+    {
+      type: 'select',
+      key: 'linkurl',
+      label: '閾炬帴鍦板潃',
+      initVal: card.linkurl || '',
+      required: true,
+      options: []
+    },
   ]
 
   return forms

--
Gitblit v1.8.0