From e1cee96b38805bcccf48e7bcb9d296f2bc54c720 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 24 一月 2025 11:10:32 +0800 Subject: [PATCH] 2025-01-24 --- 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