From 3a675efd3a8883f23208cefd39e0e871bf57a70b Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 31 八月 2023 10:21:29 +0800
Subject: [PATCH] 2023-08-31

---
 src/menu/components/card/data-card/options.jsx |  121 ++++++++++++++++++++++++++++++----------
 1 files changed, 91 insertions(+), 30 deletions(-)

diff --git a/src/menu/components/card/data-card/options.jsx b/src/menu/components/card/data-card/options.jsx
index 04a516b..d113003 100644
--- a/src/menu/components/card/data-card/options.jsx
+++ b/src/menu/components/card/data-card/options.jsx
@@ -5,7 +5,7 @@
  */
 export default function (wrap, subtype, columns = [], id = '', supNodes = [], setting, buttons = []) {
   let appType = sessionStorage.getItem('appType')
-  let MenuType = ''
+  let MenuType = sessionStorage.getItem('MenuType') || 'custom'
   let menu = window.GLOB.customMenu
   let laypage = setting && setting.laypage !== 'false'
   let interfaces = []
@@ -18,10 +18,6 @@
         })
       }
     })
-  }
-
-  if (menu.parentId === 'BillPrintTemp') {
-    MenuType = 'billPrint'
   }
   let modules = []
   if (subtype === 'propcard' || subtype === 'datacard') {
@@ -103,10 +99,10 @@
       ],
       linkFields: ['priKeyType'],
       controlFields: [
-        {field: 'goback', values: ['dynamic']},
+        {field: 'goback', values: ['dynamic', 'public']},
         {field: 'empty', values: ['dynamic', 'public']},
-        {field: 'jump', values: ['dynamic']},
-        {field: 'autoExec', values: ['dynamic']},
+        {field: 'jump', values: ['dynamic', 'public']},
+        {field: 'broadcast', values: ['dynamic', 'public']},
         {field: 'supModule', values: ['static']},
         {field: 'publicId', values: ['public']},
       ],
@@ -119,7 +115,42 @@
       initval: wrap.publicId || '',
       required: true,
       options: interfaces,
-      forbid: subtype !== 'propcard'
+      reset_source: true,
+      forbid: subtype !== 'propcard',
+      callback: (map, record) => {
+        if (!record.publicId) return
+        
+        let interfaces = window.GLOB.customMenu.interfaces || []
+        
+        let d = interfaces.filter(m => m.uuid === record.publicId && m.status === 'true')[0]
+        
+        if (!d || !d.columns) return
+        let columns = JSON.parse(JSON.stringify(d.columns))
+
+        let _broadcast = map.get('broadcast')
+
+        if (_broadcast && !_broadcast.forbid) {
+          _broadcast.options = columns
+          _broadcast.oriOptions = columns
+          map.set('broadcast', _broadcast)
+        }
+        
+        let _jumpField = map.get('jumpField')
+
+        if (_jumpField && !_jumpField.forbid) {
+          _jumpField.options = columns
+          _jumpField.oriOptions = columns
+          map.set('jumpField', _jumpField)
+        }
+
+        let _link = map.get('link')
+
+        if (_link && !_link.forbid) {
+          _link.options = columns
+          _link.oriOptions = columns
+          map.set('link', _link)
+        }
+      }
     },
     {
       type: 'radio',
@@ -149,7 +180,7 @@
       options: [
         {value: 'page', label: '椤电爜'},
         {value: 'switch', label: '宸﹀彸鍒囨崲', forbid: appType === 'mob' || subtype === 'tablecard'},
-        {value: 'slide', label: '婊戝姩鍔犺浇', forbid: appType !== 'mob'},
+        {value: 'slide', label: '婊戝姩鍔犺浇', forbid: appType !== 'mob' || sessionStorage.getItem('editMenuType') === 'popview'},
         {value: 'more', label: '鏌ョ湅鏇村'},
       ],
       controlFields: [
@@ -237,22 +268,13 @@
         {value: 'backFont', label: '鑳屾櫙+鏂囧瓧'},
         {value: 'font', label: '鏂囧瓧'},
         {value: 'tabs', label: '鏍囩椤�'},
-        ...(subtype === 'datacard' && appType === 'mob' ? [{value: 'check', label: '鍕鹃��'}] : [])
+        ...(subtype === 'datacard' ? [
+          {value: 'check', label: '鍕鹃�夛紙鍦嗘锛�'},
+          {value: 'check square', label: '鍕鹃�夛紙鏂规锛�'}
+        ] : [])
       ],
       forbid: subtype === 'tablecard'
     },
-    // {
-    //   type: 'radio',
-    //   field: 'checkAll',
-    //   label: '鍏ㄩ��',
-    //   initval: wrap.checkAll || 'hidden',
-    //   required: false,
-    //   options: [
-    //     {value: 'hidden', label: '闅愯棌'},
-    //     {value: 'show', label: '鏄剧ず'},
-    //   ],
-    //   forbid: subtype !== 'datacard' || appType !== 'mob'
-    // },
     {
       type: 'radio',
       field: 'cardFloat',
@@ -282,13 +304,26 @@
     },
     {
       type: 'radio',
+      field: 'parity',
+      label: '濂囧伓鑳屾櫙',
+      initval: wrap.parity || 'false',
+      tooltip: '鍋舵暟琛屼細娣诲姞鑳屾櫙鑹层��',
+      required: false,
+      options: [
+        {value: 'false', label: '鏃�'},
+        {value: 'true', label: '鏈�'},
+      ],
+      forbid: subtype === 'propcard'
+    },
+    {
+      type: 'radio',
       field: 'printType',
       label: '缁勪欢绫诲瀷',
       initval: wrap.printType || 'content',
-      tooltip: '閫夋嫨绫诲瀷涓恒�婇〉鐪�/椤佃剼銆嬫椂锛屾墦鍗扮殑姣忛〉閲岄兘浼氬甫鏈夎缁勪欢銆�',
+      tooltip: '閫夋嫨绫诲瀷涓恒�婇〉鐪�/椤佃剼銆嬫椂锛屾墦鍗扮殑姣忛〉閲岄兘浼氬甫鏈夎缁勪欢銆傛敞锛氶〉鐪夐〉鑴氫腑鏂囨湰鍏冪礌灏嗘浛鎹� @pageIndex@锛堥〉鐮侊級銆丂total@锛堟�绘暟锛夈�丂date@锛堝綋鍓嶆棩鏈燂級銆丂datetime@锛堝綋鍓嶆椂闂达級锛屼娇鐢ㄥ垎椤靛弬鏁版椂娉ㄦ剰鎵撳嵃妯℃澘鐨勯〉闈㈠竷灞�浣跨敤鍒嗛〉銆�',
       required: false,
       options: [
-        {value: 'content', label: '鍐呭'},
+        {value: 'content', label: '灞炴�у崱'},
         {value: 'headerOrfooter', label: '椤电湁/椤佃剼'},
       ],
       controlFields: [
@@ -310,7 +345,7 @@
       field: 'broadcast',
       label: '璇煶鎾姤',
       initval: wrap.broadcast || '',
-      tooltip: '璇煶鎾姤鍦ㄧЩ鍔ㄧapp涓湁鏁堛�傛敞锛氫娇鐢ㄨ闊虫挱鎶ユ椂锛屾暟鎹簮涓嶈浣跨敤鍚屾鏌ヨ锛屾坊鍔犲畾鏃跺櫒鏃讹紝鍙惊鐜挱鎶�',
+      tooltip: '璇煶鎾姤鍦ㄧЩ鍔ㄧ鏈夋晥銆傛敞锛氬湪H5涓浣跨敤闊抽閾炬帴锛屾坊鍔犲畾鏃跺櫒鏃讹紝鍙惊鐜挱鎶�',
       required: false,
       options: columns,
       forbid: !columns || appType !== 'mob' || subtype !== 'propcard'
@@ -333,6 +368,7 @@
       field: 'display',
       label: '鏄剧ず鎺у埗',
       initval: wrap.display || 'normal',
+      tooltip: '褰撲娇鐢ㄥ睘鎬у崱杩涜鏌愪簺涓氬姟鎿嶄綔锛屼笖涓嶉渶瑕佸睍绀哄崱鐗囦俊鎭椂锛屽彲璁剧疆涓轰笉鍙銆�',
       required: false,
       options: [
         {value: 'normal', label: '姝e父鏄剧ず'},
@@ -381,6 +417,7 @@
       controlFields: [
         {field: 'jumpField', values: ['menu', 'link']},
         {field: 'joint', values: ['menu', 'link']},
+        {field: 'open', values: ['menu', 'link']},
         {field: 'menu', values: ['menu']},
         {field: 'link', values: ['link']},
       ],
@@ -391,7 +428,7 @@
       field: 'jumpField',
       label: '鎺у埗瀛楁',
       initval: wrap.jumpField || '',
-      tooltip: '褰撳瓧娈靛�间负true鏃�',
+      tooltip: '褰撳瓧娈靛�间负true鏃惰Е鍙戣烦杞��',
       required: true,
       options: columns,
       forbid: subtype !== 'propcard' || appType !== 'mob'
@@ -424,6 +461,18 @@
       options: [
         {value: 'true', label: '鏄�'},
         {value: 'false', label: '鍚�'},
+      ],
+      forbid: subtype !== 'propcard' || appType !== 'mob'
+    },
+    {
+      type: 'radio',
+      field: 'open',
+      label: '鎵撳紑鏂瑰紡',
+      initval: wrap.open || 'blank',
+      required: false,
+      options: [
+        {value: 'blank', label: '鏂扮獥鍙�'},
+        {value: 'self', label: '褰撳墠绐楀彛'},
       ],
       forbid: subtype !== 'propcard' || appType !== 'mob'
     },
@@ -493,13 +542,25 @@
       type: 'radio',
       field: 'permission',
       label: '鏉冮檺楠岃瘉',
-      initval: wrap.permission || 'false',
+      initval: wrap.permission || (!appType ? 'true' : 'false'),
       required: false,
       options: [
-        {value: 'true', label: '鍚敤'},
+        {value: 'true', label: !appType ? '缁ф壙鑿滃崟' : '鍚敤'},
         {value: 'false', label: '绂佺敤'},
       ],
-      forbid: !appType
+      forbid: sessionStorage.getItem('editMenuType') === 'popview'
+    },
+    {
+      type: 'radio',
+      field: 'cacheLocal',
+      label: '鏈湴缂撳瓨',
+      initval: wrap.cacheLocal || 'true',
+      required: false,
+      options: [
+        {value: 'true', label: '缁ф壙鑿滃崟'},
+        {value: 'false', label: '绂佺敤'},
+      ],
+      forbid: sessionStorage.getItem('editMenuType') === 'popview'
     },
     {
       type: 'multiselect',

--
Gitblit v1.8.0