From a6be5cfd9c6fb084af584b77f79100fe32b385c1 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 30 十一月 2023 16:20:54 +0800 Subject: [PATCH] 2023-11-30 --- src/menu/components/card/cardcellcomponent/formconfig.jsx | 256 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 189 insertions(+), 67 deletions(-) diff --git a/src/menu/components/card/cardcellcomponent/formconfig.jsx b/src/menu/components/card/cardcellcomponent/formconfig.jsx index 02e8d29..2f83093 100644 --- a/src/menu/components/card/cardcellcomponent/formconfig.jsx +++ b/src/menu/components/card/cardcellcomponent/formconfig.jsx @@ -1,34 +1,105 @@ +import MenuUtils from '@/utils/utils-custom.js' + /** * @description 鑾峰彇鍏冪礌閰嶇疆淇℃伅 * @param {*} card * @param {*} type */ -export function getCardCellForm (card, type, subtype, cardCell, anchors) { +export function getCardCellForm (card, cards, cardCell) { + let appType = sessionStorage.getItem('appType') + let _options = [ { value: 'text', text: '鏂囨湰'}, { value: 'number', text: '鏁板��'}, { value: 'picture', text: '鍥剧墖'}, { value: 'video', text: '瑙嗛'}, - { value: 'icon', text: '鍥炬爣'}, + { value: 'icon', text: '鎻愮ず锛堝浘鏍囷級'}, { value: 'slider', text: '杩涘害鏉�'}, { value: 'splitline', text: '鍒嗗壊绾�'}, { value: 'barcode', text: '鏉″舰鐮�'}, { value: 'qrcode', text: '浜岀淮鐮�'}, { value: 'currentDate', text: '褰撳墠鏃堕棿'}, { value: 'formula', text: '鍏紡'}, + { value: 'color', text: '棰滆壊'}, ] - if (type === 'table' || (type === 'card' && subtype === 'datacard')) { + let anchors = [] + if (window.GLOB.customMenu.Template === 'BaseTable') { + anchors = null + } else { + anchors = MenuUtils.getAnchors(window.GLOB.customMenu.components, cards.uuid) || [] + } + + if (cards.type === 'table' || (cards.type === 'card' && cards.subtype !== 'propcard')) { _options.push({value: 'sequence', text: '搴忓彿'}) } else if (card.eleType === 'sequence') { // 鎷栨嫿娣诲姞绫诲瀷杞崲 card.eleType = 'text' } + if (card.eleType === 'icon' && card.datatype === 'dynamic' && !card.field) { // 鎷栨嫿娣诲姞绫诲瀷杞崲 + card.datatype = 'static' + } - let appMenus = [] - const isApp = sessionStorage.getItem('appType') === 'pc' + let tooltip = '' + if (cardCell.$cardType === 'extendCard') { + tooltip = '鍦ㄦ墿灞曞崱鐗囦腑锛屽姩鎬佹暟鎹樉绀哄�间负鑾峰彇鍒扮殑绗竴琛屾暟鎹��' + } - if (isApp) { - appMenus = sessionStorage.getItem('appMenus') + let isHeader = false + if (cardCell.$cardType === 'extendCard' && cardCell.setting.cardRole === 'header') { + isHeader = true + anchors = null + card.link = '' + _options = [{ value: 'text', text: '鏂囨湰'}] + } + + let width = card.width || 12 + if (/x/.test(card.width)) { + width = +width.replace(/x/, '.5') + } + + let linkTypes = [ + { value: 'tel', text: '鐢佃瘽' }, + { value: 'email', text: '閭' }, + { value: 'download', text: '涓嬭浇' }, + { value: 'other', text: '鍏朵粬' } + ] + + if (appType === 'mob') { + linkTypes = [ + { value: 'tel', text: '鐢佃瘽' }, + { value: 'email', text: '閭' }, + { value: 'qywx', text: '浼佷笟寰俊' }, + { value: 'linkmenu', text: '鍏宠仈鑿滃崟' }, + { value: 'download', text: '涓嬭浇' }, + { value: 'other', text: '鍏朵粬' } + ] + } else if (appType === 'pc') { + linkTypes = [ + { value: 'tel', text: '鐢佃瘽' }, + { value: 'email', text: '閭' }, + { value: 'linkmenu', text: '鍏宠仈鑿滃崟' }, + { value: 'download', text: '涓嬭浇' }, + { value: 'other', text: '鍏朵粬' } + ] + } + + if (card.linkType === 'qywx') { + if (appType !== 'mob') { + card.link = '' + card.linkType = '' + card.linkurl = '' + } + } else if (card.linkType === 'linkmenu') { + if (appType !== 'mob' && appType !== 'pc') { + card.link = '' + card.linkType = '' + card.linkurl = '' + card.linkmenu = '' + } + } + + let appMenus = sessionStorage.getItem('appMenus') + if (['pc', 'mob'].includes(appType)) { if (appMenus) { try { appMenus = JSON.parse(appMenus) @@ -38,11 +109,7 @@ } else { appMenus = [] } - } - - let tooltip = '' - if (cardCell.$cardType === 'extendCard') { - tooltip = '鍦ㄦ墿灞曞崱鐗囦腑锛屽姩鎬佹暟鎹樉绀哄�间负鑾峰彇鍒扮殑绗竴琛屾暟鎹��' + appMenus.push({value: 'goback', text: '杩斿洖锛堜笂涓�椤碉級'}) } let forms = [ @@ -53,13 +120,6 @@ initVal: card.eleType, required: true, options: _options - }, - { - type: 'icon', - key: 'icon', - label: '鍥炬爣', - initVal: card.icon, - required: true }, { type: 'radio', @@ -74,6 +134,17 @@ ] }, { + type: 'radio', + key: 'tipType', + label: '鎻愮ず鍐呭', + initVal: card.tipType || 'icon', + required: false, + options: [ + { value: 'icon', text: '鍥炬爣' }, + { value: 'text', text: '鏂囨湰' } + ] + }, + { type: 'select', key: 'field', label: '瀛楁', @@ -82,12 +153,19 @@ options: [] }, { + type: 'icon', + key: 'icon', + label: '鍥炬爣', + initVal: card.icon, + required: true + }, + { type: 'text', key: 'value', min: 0, label: '鍐呭', initVal: card.value || '', - tooltip: '鏂囨湰绫诲瀷锛屼細鏇挎崲鍐呭涓殑@username@銆丂fullName@銆丂mk_city@銆丂appname@銆丂bid@銆�', + tooltip: '鏂囨湰绫诲瀷锛屼細鏇挎崲鍐呭涓殑@username@銆丂fullName@銆丂mk_city@銆丂appname@銆丂bid@銆丂month@銆丂week@銆丂day@', required: true }, { @@ -158,6 +236,24 @@ required: true }, { + type: 'radio', + key: 'eval', + label: '瑙f瀽鏂瑰紡', + initVal: card.eval || 'false', + tooltip: '褰撳叕寮忓唴瀹规秹鍙婅绠楁椂璇烽�夋嫨鈥滆绠椻�濓紝褰撳叕寮忓唴瀹逛负瀛楁鎷兼帴鏃惰閫夋嫨鈥滃瓧娈垫浛鎹⑩�濓紝浣跨敤鍑芥暟鏃跺叆鍙備负data锛堟暟缁勶級銆�', + required: false, + options: [{ + value: 'false', + text: '瀛楁鏇挎崲' + }, { + value: 'true', + text: '璁$畻' + }, { + value: 'func', + text: '鍑芥暟' + }] + }, + { type: 'number', key: 'decimal', min: 0, @@ -190,7 +286,8 @@ { value: 'MM鏈圖D鏃� ahh:mm', text: '鑷畾涔�2锛堜緥锛�12鏈�17鏃� 涓婂崍10:57锛�' }, { value: 'calendar1', text: '鑷畾涔�3锛堜緥锛氫粖澶� 涓婂崍10:57锛�' }, { value: 'calendar2', text: '鑷畾涔�4锛堜緥锛氬垰鍒氥�佹槰澶┿��5澶╁墠锛�' }, - ] + ], + forbid: isHeader }, { type: 'select', @@ -225,7 +322,8 @@ key: 'tooltip', label: '鎻愮ず淇℃伅', initVal: card.tooltip || '', - tooltip: '榧犳爣鎮诞鏃舵樉绀恒��', + tooltip: '榧犳爣鎮诞鏃舵樉绀恒�傛敞锛氬浣跨敤鍔ㄦ�佷俊鎭紝璇峰湪姝ゅ濉啓鐩稿簲鐨勫瓧娈靛悕銆�', + forbid: appType === 'mob', required: false }, { @@ -329,12 +427,12 @@ { type: 'number', key: 'width', - min: 1, + min: 0.5, max: 24, - precision: 0, + precision: 1, label: '鍏冪礌瀹藉害', - initVal: card.width || 12, - tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��', + initVal: width, + tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒楋紝鍙缃崐鍒楀嵆.5銆�', required: true }, { @@ -355,7 +453,8 @@ tooltip: '缁戝畾鏁版嵁婧愬瓧娈碉紝鍙牴鎹繑鍥炲�兼敼鍙樿儗鏅浘銆�', required: false, allowClear: true, - options: [] + options: [], + forbid: isHeader }, { type: 'cascader', @@ -364,7 +463,8 @@ initVal: card.anchors || [], tooltip: sessionStorage.getItem('appType') === 'mob' ? '娉細灏忕▼搴忎腑鏃犳晥' : '', required: false, - options: anchors + options: anchors, + forbid: !anchors }, { type: 'number', @@ -440,6 +540,18 @@ { value: '9:16', text: '9:16' }, ] }, + // { + // type: 'radio', + // key: 'backgroundSize', + // label: '鍥惧儚澶у皬', + // initVal: card.backgroundSize || 'cover', + // required: false, + // options: [ + // { value: 'cover', text: '瑕嗙洊' }, + // { value: 'contain', text: '鍖呭惈' }, + // { value: 'auto', text: '鑷�傚簲' }, + // ] + // }, { type: 'number', key: 'maxWidth', @@ -473,19 +585,16 @@ { value: '', text: '鏃�' }, { value: 'dynamic', text: '鍔ㄦ��' }, { value: 'static', text: '闈欐��' } - ] + ], + forbid: isHeader }, { - type: 'radio', + type: linkTypes.length > 4 ? 'select' : 'radio', key: 'linkType', label: '閾炬帴绫诲瀷', initVal: card.linkType || 'other', required: false, - options: [ - { value: 'tel', text: '鐢佃瘽' }, - { value: 'email', text: '閭' }, - { value: 'other', text: '鍏朵粬' } - ] + options: linkTypes }, { type: 'radio', @@ -504,49 +613,36 @@ label: '鍏宠仈鑿滃崟', initVal: card.linkmenu || '', required: true, - forbid: !isApp, - options: appMenus + options: appMenus || [], + forbid: !['pc', 'mob'].includes(appType) }, - // { - // type: 'radio', - // key: 'open', - // label: '鎵撳紑鏂瑰紡', - // initVal: card.open || 'blank', - // required: false, - // forbid: !isApp, - // options: [ - // { value: 'blank', text: '鏂伴〉闈�' }, - // { value: 'self', text: '褰撳墠椤甸潰' } - // ] - // }, { type: 'select', key: 'linkurl', label: '閾炬帴鍦板潃', initVal: card.linkurl || '', + tooltip: ['pc', 'mob'].includes(appType) ? '褰撻摼鎺ョ被鍨嬩负鈥滃叾浠栤�濓紝涓旈摼鎺ュ湴鍧�浠menuid@寮�澶存椂锛屽叾鍚庡唴瀹瑰皢琚涓鸿彍鍗旾D銆�' : '', required: true, options: [] + }, + { + type: 'radio', + key: 'open', + label: '鎵撳紑鏂瑰紡', + initVal: card.open || 'blank', + tooltip: '鑿滃崟鎵撳紑鏂瑰紡锛岄摼鎺ユ棤鏁堛��', + required: true, + forbid: !['pc', 'mob'].includes(appType), + options: [ + {value: 'blank', text: appType !== 'mob' ? '鏂扮獥鍙�' : '鏂伴〉闈�'}, + {value: 'self', text: appType !== 'mob' ? '褰撳墠绐楀彛' : '褰撳墠椤甸潰'}, + ] }, { type: 'radio', key: 'joint', label: '鎷兼帴鍙傛暟', initVal: card.joint || 'true', - required: false, - options: [{ - value: 'true', - text: '鏄�' - }, { - value: 'false', - text: '鍚�' - }] - }, - { - type: 'radio', - key: 'eval', - label: '瑙f瀽', - initVal: card.eval || 'true', - tooltip: '褰撳叕寮忓唴瀹规秹鍙婅绠楁椂璇烽�夋嫨鈥滄槸鈥濓紝褰撳叕寮忓唴瀹逛负瀛楁鎷兼帴鏃惰閫夋嫨鈥滃惁鈥濄��', required: false, options: [{ value: 'true', @@ -570,12 +666,26 @@ key: 'noValue', label: '绌哄��', initVal: card.noValue || 'show', - tooltip: '褰撳厓绱犲唴瀹逛负绌烘椂锛屾槸鍚︽樉绀哄綋鍓嶅厓绱犮��', + tooltip: '褰撳厓绱犲唴瀹逛负绌烘椂锛屾槸鍚︽樉绀哄綋鍓嶅厓绱犮�傛敞锛氭暟鍊肩被鍨嬪厓绱犲寘鎷暟瀛�0锛堥潪鏂囨湰锛夈��', required: false, options: [ { value: 'show', text: '鏄剧ず' }, { value: 'hide', text: '闅愯棌' } ] + }, + { + type: 'radio', + key: 'alignItems', + label: '鍨傜洿瀵归綈', + initVal: card.alignItems || '', + tooltip: '鍨傜洿鏂瑰悜鐨勫榻愭柟寮忋�傛敞锛氶珮搴︼紙琛岋級澶т簬1鏃舵湁鏁堛��', + required: false, + options: [ + { value: '', text: '灞呬笂' }, + { value: 'center', text: '灞呬腑' }, + { value: 'end', text: '灞呬笅' } + ], + forbid: isHeader }, { type: 'radio', @@ -587,7 +697,8 @@ options: [ { value: '', text: '缁熶竴鏍峰紡' }, { value: 'alone', text: '鐙珛鏍峰紡' } - ] + ], + forbid: isHeader }, { type: 'radio', @@ -599,7 +710,8 @@ options: [ { value: 'true', text: '鏄�' }, { value: 'false', text: '鍚�' } - ] + ], + forbid: isHeader }, { type: 'number', @@ -639,6 +751,16 @@ tooltip: '鍓嶇紑銆佸悗缂�鐨勫彸杈硅窛銆�', required: false }, + { + type: 'select', + key: 'sortField', + label: '鎺掑簭瀛楁', + initVal: card.sortField || '', + required: false, + allowClear: true, + options: [], + forbid: !isHeader + }, ] return forms -- Gitblit v1.8.0