From a7666ec39e65e56759a9b12ed7748fd349e6828f Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 02 一月 2022 23:47:23 +0800 Subject: [PATCH] 2022-01-02 --- src/menu/components/card/cardcomponent/options.jsx | 76 +++++++++++++++++++++++++++----------- 1 files changed, 54 insertions(+), 22 deletions(-) diff --git a/src/menu/components/card/cardcomponent/options.jsx b/src/menu/components/card/cardcomponent/options.jsx index 01ee4a9..ab83bf7 100644 --- a/src/menu/components/card/cardcomponent/options.jsx +++ b/src/menu/components/card/cardcomponent/options.jsx @@ -1,8 +1,9 @@ /** * @description Setting琛ㄥ崟閰嶇疆淇℃伅 */ -export default function (setting, hasPrimaryKey) { +export default function (setting, subtype, buttons = [], cardType, columns) { let appType = sessionStorage.getItem('appType') + let hasMenus = subtype === 'datacard' && cardType !== 'extendCard' let menulist = [] let appmenulist = [] @@ -12,23 +13,33 @@ if (appmenulist) { try { appmenulist = JSON.parse(appmenulist) - } catch { + } catch (e) { appmenulist = [] } } else { appmenulist = [] + } + if (appType === 'mob' && hasMenus) { // 鏁版嵁鍗″彲鎵撳紑鍗虫椂閫氫俊 + appmenulist.push({ + value: 'IM', label: '鍗虫椂閫氫俊锛堢郴缁熼〉锛�' + }) } } else { menulist = sessionStorage.getItem('fstMenuList') if (menulist) { try { menulist = JSON.parse(menulist) - } catch { + } catch (e) { menulist = [] } } else { menulist = [] } + } + + let ops = [] + if (hasMenus) { + ops = [{value: 'menus', label: '鑿滃崟缁�'}] } const cardSettingForm = [ @@ -80,50 +91,50 @@ { type: 'text', field: 'primaryId', - label: '涓婚敭鍊�', + label: '闈欐�佷富閿��', initval: setting.primaryId || '', - tooltip: '鍗$墖鐐瑰嚮鏃讹紝鍚戝叾浠栫粍浠朵紶閫掔殑ID鍊笺��', + tooltip: '璁剧疆涓�涓睘鎬у崱闈欐�両D锛屽悜鍏朵粬缁勪欢浼犻�掔殑鎸囧畾闈欐�両D鍊硷紝涓婚敭涓哄姩鎬佸�兼椂鏃犳晥銆�', required: false, - forbid: !hasPrimaryKey + forbid: subtype !== 'propcard' }, { - type: 'radio', + type: !hasMenus ? 'radio' : 'select', field: 'click', label: '鐐瑰嚮浜嬩欢', initval: setting.click || '', - tooltip: '褰撻�夋嫨瑙﹀彂鎸夐挳鏃讹紝鍙湁褰撳崱鐗囦腑鍙瓨鍦ㄤ竴涓寜閽椂鏈夋晥銆�', + tooltip: '褰撶粦瀹氱偣鍑讳簨浠舵椂锛屽崱鐗囩殑鍒囨崲鍔熻兘灏嗗け鏁堛��', required: false, options: [ {value: '', label: '鏃�'}, {value: 'menu', label: '鑿滃崟'}, {value: 'link', label: '閾炬帴'}, {value: 'button', label: '鎸夐挳'}, + ...ops ], controlFields: [ {field: 'menu', values: ['menu']}, - {field: 'appmenu', values: ['menu']}, {field: 'linkurl', values: ['link']}, - {field: 'open', values: ['menu', 'link']}, - {field: 'joint', values: ['menu', 'link']}, + {field: 'open', values: ['menu', 'link', 'menus']}, + {field: 'joint', values: ['menu', 'link', 'menus']}, + {field: 'linkbtn', values: ['button']}, + {field: 'menuType', values: ['menus']}, ] }, { - type: 'cascader', - field: 'menu', - label: '鑿滃崟', - initval: setting.menu || [], + type: 'select', + field: 'menuType', + label: '鑿滃崟绫诲瀷', + initval: setting.menuType || '', required: true, - options: menulist, - forbid: !!appType + options: columns, }, { - type: 'select', - field: 'appmenu', + type: appType ? 'select' : 'cascader', + field: 'menu', label: '鍏宠仈鑿滃崟', - initval: setting.menu || '', + initval: setting.menu || (appType ? '' : []), required: true, - options: appmenulist, - forbid: !appType + options: appType ? appmenulist : menulist, }, { type: 'textarea', @@ -157,6 +168,27 @@ {value: 'false', label: '鍚�'}, ], }, + { + type: 'select', + field: 'linkbtn', + label: '鍏宠仈鎸夐挳', + initval: setting.linkbtn || '', + required: true, + options: buttons + }, + { + type: 'radio', + field: 'btnControl', + label: '鎸夐挳鎺у埗', + initval: setting.btnControl || 'show', + tooltip: '鍙缃寜閽樉绀鸿鍒欙紝涓�鐩存樉绀烘垨榧犳爣鎮诞鏃舵樉绀恒��', + required: false, + options: [ + {value: 'show', label: '姝e父鏄剧ず'}, + {value: 'hover', label: '鎮诞鏄剧ず'}, + ], + forbid: appType === 'mob' + } ] return cardSettingForm -- Gitblit v1.8.0