From c8dec113736cc78c47cd63377d756d364b42a94e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 23 四月 2025 16:39:15 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/menu/components/card/cardcomponent/options.jsx |  178 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 160 insertions(+), 18 deletions(-)

diff --git a/src/menu/components/card/cardcomponent/options.jsx b/src/menu/components/card/cardcomponent/options.jsx
index e50b706..5e985e1 100644
--- a/src/menu/components/card/cardcomponent/options.jsx
+++ b/src/menu/components/card/cardcomponent/options.jsx
@@ -1,24 +1,28 @@
 /**
  * @description Setting琛ㄥ崟閰嶇疆淇℃伅
  */
-export default function (setting, subtype, buttons = [], cardType, columns) {
+export default function (setting, subtype, buttons = [], cardType, columns, menus = []) {
   let appType = sessionStorage.getItem('appType')
   let hasMenus = subtype === 'datacard' && cardType !== 'extendCard'
 
   let menulist = []
-  let appmenulist = []
 
   if (appType) {
-    appmenulist = sessionStorage.getItem('appMenus')
-    if (appmenulist) {
+    menulist = sessionStorage.getItem('appMenus')
+    if (menulist) {
       try {
-        appmenulist = JSON.parse(appmenulist)
+        menulist = JSON.parse(menulist)
       } catch (e) {
-        appmenulist = []
+        menulist = []
       }
     } else {
-      appmenulist = []
+      menulist = []
     }
+    // if (appType === 'mob' && (subtype === 'datacard' || subtype === 'propcard') && cardType !== 'extendCard') { // 鏁版嵁鍗″彲鎵撳紑鍗虫椂閫氫俊
+    //   menulist.push({
+    //     value: 'IM', label: '鍗虫椂閫氫俊锛堢郴缁熼〉锛�'
+    //   })
+    // }
   } else {
     menulist = sessionStorage.getItem('fstMenuList')
     if (menulist) {
@@ -36,6 +40,12 @@
   if (hasMenus) {
     ops = [{value: 'menus', label: '鑿滃崟缁�'}]
   }
+  let adapters = sessionStorage.getItem('adapter') || ''
+  if (adapters.indexOf('wxmini') > -1) {
+    ops.push({value: 'miniprogram', label: '灏忕▼搴�'})
+  } else if (setting.click === 'miniprogram') {
+    setting.click = ''
+  }
 
   const cardSettingForm = [
     {
@@ -51,6 +61,24 @@
     },
     {
       type: 'radio',
+      field: 'cardRole',
+      label: '鍗$墖瑙掕壊',
+      initval: setting.cardRole || 'card',
+      required: false,
+      options: [
+        {value: 'card', label: '灞炴�у崱'},
+        {value: 'header', label: '琛ㄦ牸澶达紙鍙帓搴忥級'},
+      ],
+      controlFields: [
+        {field: 'type', values: ['card']},
+        {field: 'click', values: ['card']},
+        {field: 'btnControl', values: ['card']},
+      ],
+      del: true,
+      forbid: cardType !== 'extendCard'
+    },
+    {
+      type: 'radio',
       field: 'type',
       label: '鍗$墖绫诲瀷',
       initval: setting.type || 'simple',
@@ -63,7 +91,7 @@
       controlFields: [
         {field: 'transform', values: ['multi']},
       ],
-      forbid: appType === 'mob'
+      forbid: appType === 'mob' || subtype === 'dualdatacard'
     },
     {
       type: 'select',
@@ -81,23 +109,34 @@
         {value: 'opacity', label: '閫忔槑搴�'},
         {value: 'rotateX', label: '绾靛悜灞曞紑'},
         {value: 'rotateY', label: '妯悜灞曞紑'},
-      ]
+      ],
+      forbid: appType === 'mob' || subtype === 'dualdatacard'
     },
     {
       type: 'text',
       field: 'primaryId',
-      label: '涓婚敭鍊�',
+      label: '闈欐�佷富閿��',
       initval: setting.primaryId || '',
-      tooltip: '璁剧疆涓�涓睘鎬у崱闈欐�両D锛屽悜鍏朵粬缁勪欢浼犻�掔殑鎸囧畾闈欐�両D鍊�',
+      tooltip: '璁剧疆涓�涓睘鎬у崱闈欐�両D锛屽悜鍏朵粬缁勪欢浼犻�掔殑鎸囧畾闈欐�両D鍊硷紝涓婚敭涓哄姩鎬佸�兼椂鏃犳晥銆�',
       required: false,
       forbid: subtype !== 'propcard'
     },
     {
-      type: !hasMenus ? 'radio' : 'select',
+      type: 'select',
+      field: 'bgField',
+      label: '鑳屾櫙鍥�',
+      initval: setting.bgField || '',
+      tooltip: '鍔ㄦ�佽儗鏅紝鑳屾櫙鍥剧墖鐢卞瓧娈靛�兼帶鍒躲�傝娉ㄦ剰璋冩暣鑳屾櫙鏍峰紡銆�',
+      required: false,
+      options: columns,
+      forbid: cardType === 'extendCard'
+    },
+    {
+      type: ops.length === 0 ? 'radio' : 'select',
       field: 'click',
       label: '鐐瑰嚮浜嬩欢',
       initval: setting.click || '',
-      tooltip: '褰撻�夋嫨瑙﹀彂鎸夐挳鏃讹紝鍙湁褰撳崱鐗囦腑鍙瓨鍦ㄤ竴涓寜閽椂鏈夋晥銆�',
+      // tooltip: '褰撶粦瀹氱偣鍑讳簨浠舵椂锛屽崱鐗囩殑鍒囨崲鍔熻兘灏嗗け鏁堛��',
       required: false,
       options: [
         {value: '', label: '鏃�'},
@@ -110,9 +149,13 @@
         {field: 'menu', values: ['menu']},
         {field: 'linkurl', values: ['link']},
         {field: 'open', values: ['menu', 'link', 'menus']},
-        {field: 'joint', values: ['menu', 'link', 'menus']},
+        {field: 'joint', values: ['miniprogram']},
         {field: 'linkbtn', values: ['button']},
+        {field: 'clickType', values: ['button']},
         {field: 'menuType', values: ['menus']},
+        {field: 'menus', values: ['menus']},
+        {field: 'miniAppId', values: ['miniprogram']},
+        {field: 'miniPath', values: ['miniprogram']},
       ]
     },
     {
@@ -128,17 +171,36 @@
       field: 'menu',
       label: '鍏宠仈鑿滃崟',
       initval: setting.menu || (appType ? '' : []),
+      tooltip: `琛屼俊鎭�${appType ? '锛堝瓧娈甸泦涓墠40涓暱搴︿笉瓒呰繃256鐨勫瓧娈碉級' : ''}灏嗕紶閫掕嚦姝よ彍鍗曪紝鍙湪url鍙橀噺銆佽〃鍗曪紙鍏宠仈涓昏〃锛夈�侀潤鎬佸睘鎬у崱銆佹诞鍔ㄥ崱涓娇鐢ㄣ�俙,
       required: true,
-      options: appType ? appmenulist : menulist,
+      extendName: 'MenuNo',
+      options: menulist,
     },
     {
       type: 'textarea',
       field: 'linkurl',
       label: '閾炬帴',
       initval: setting.linkurl || '',
+      tooltip: '鍦ㄩ摼鎺ヤ腑浠***@褰㈠紡鎷兼帴鐨勫瓧娈碉紙瀛楁鏉ユ簮浜庡瓧娈甸泦涓紝姝ゅ id銆乤ppkey銆乽serid銆丩oginUID 涓虹郴缁熷瓧娈碉級锛岃烦杞椂灏嗘浛鎹负瀵瑰簲鍊硷紝渚嬪锛歨ttp://sso.mk9h.cn/doc/index.html?appkey=@appkey@&LoginUID=@LoginUID@锛屽叾涓璦ppkey涓嶭oginUID灏嗚鏇挎崲銆�',
+      toolWidth: 350,
       required: true,
       options: [],
       span: 24
+    },
+    {
+      type: 'text',
+      field: 'miniAppId',
+      label: '灏忕▼搴廇ppID',
+      initval: setting.miniAppId || '',
+      required: true
+    },
+    {
+      type: 'text',
+      field: 'miniPath',
+      label: '椤甸潰璺緞',
+      initval: setting.miniPath || '',
+      tooltip: '鍙寚瀹氳烦杞皬绋嬪簭椤甸潰锛屼负绌烘椂鎵撳紑棣栭〉锛屾敞锛氬弬鏁版嫾鎺ュ湪鎸囧畾椤甸潰鏃舵湁鏁堛��',
+      required: false
     },
     {
       type: 'radio',
@@ -147,10 +209,10 @@
       initval: setting.open || 'blank',
       required: false,
       options: [
-        {value: 'blank', label: '鏂扮獥鍙�'},
-        {value: 'self', label: '褰撳墠绐楀彛'},
+        {value: 'blank', label: appType !== 'mob' ? '鏂扮獥鍙�' : '鏂伴〉闈�'},
+        {value: 'self', label: appType !== 'mob' ? '褰撳墠绐楀彛' : '褰撳墠椤甸潰'},
       ],
-      forbid: appType !== 'pc'
+      forbid: appType !== 'pc' && appType !== 'mob'
     },
     {
       type: 'radio',
@@ -170,6 +232,86 @@
       initval: setting.linkbtn || '',
       required: true,
       options: buttons
+    },
+    {
+      type: 'radio',
+      field: 'layout',
+      label: '鍏冪礌甯冨眬',
+      initval: setting.layout || 'grid',
+      required: false,
+      options: [
+        {value: 'grid', label: '鏍呮牸甯冨眬'},
+        {value: 'flex', label: '寮规�у竷灞�'},
+      ]
+    },
+    {
+      type: 'radio',
+      field: 'clickType',
+      label: '瑙﹀彂鏂瑰紡',
+      initval: setting.clickType || 'normal',
+      required: false,
+      options: [
+        {value: 'normal', label: '鍗曞嚮'},
+        {value: 'multi', label: '鍙屽嚮'},
+      ],
+      forbid: appType === 'mob'
+    },
+    {
+      type: 'radio',
+      field: 'btnControl',
+      label: '鎸夐挳鎺у埗',
+      initval: setting.btnControl || 'show',
+      tooltip: '鍙缃寜閽樉绀鸿鍒欙紝濮嬬粓鏄剧ず鎴栭紶鏍囨偓娴椂鏄剧ず銆�',
+      required: false,
+      options: [
+        {value: 'show', label: '姝e父鏄剧ず'},
+        {value: 'hover', label: '鎮诞鏄剧ず'},
+      ],
+      forbid: appType === 'mob'
+    },
+    {
+      type: 'radio',
+      field: 'checkAll',
+      label: '鍏ㄩ��',
+      initval: setting.checkAll || 'hidden',
+      tooltip: '鍏ㄩ�変粎鍦ㄦ暟鎹崱鍙閫夛紝涓旈�変腑椋庢牸涓哄嬀閫夋鏃舵湁鏁堛��',
+      required: false,
+      options: [
+        {value: 'hidden', label: '闅愯棌'},
+        {value: 'show', label: '鏄剧ず'},
+      ],
+      forbid: cardType !== 'extendCard'
+    },
+    {
+      type: 'table',
+      field: 'menus',
+      label: '鑿滃崟缁�',
+      initval: menus,
+      required: true,
+      span: 24,
+      actions: ['edit', 'del', 'add', 'move', 'view'],
+      columns: [
+        {
+          title: '鏍囪瘑',
+          dataIndex: 'sign',
+          inputType: 'input',
+          editable: true,
+          unique: true,
+          required: false,
+          width: '30%'
+        },
+        {
+          title: '鑿滃崟',
+          dataIndex: 'menu',
+          inputType: !appType ? 'cascader' : 'select',
+          editable: true,
+          required: true,
+          extends: !appType ? 'Menu' : [{key: 'label', value: 'label'}],
+          width: '40%',
+          render: (text, record) => record.label,
+          options: menulist
+        }
+      ]
     }
   ]
 

--
Gitblit v1.8.0