From f0bf8c399c354c22227f8f1a76ed806098db59c0 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 21 五月 2024 16:51:02 +0800 Subject: [PATCH] 2024-05-21 --- src/menu/components/card/cardcellcomponent/formconfig.jsx | 157 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 120 insertions(+), 37 deletions(-) diff --git a/src/menu/components/card/cardcellcomponent/formconfig.jsx b/src/menu/components/card/cardcellcomponent/formconfig.jsx index f0464b2..7b651e9 100644 --- a/src/menu/components/card/cardcellcomponent/formconfig.jsx +++ b/src/menu/components/card/cardcellcomponent/formconfig.jsx @@ -1,3 +1,4 @@ +import React from 'react' import MenuUtils from '@/utils/utils-custom.js' /** @@ -20,6 +21,7 @@ { value: 'qrcode', text: '浜岀淮鐮�'}, { value: 'currentDate', text: '褰撳墠鏃堕棿'}, { value: 'formula', text: '鍏紡'}, + { value: 'tag', text: '鏍囩'}, { value: 'color', text: '棰滆壊'}, ] @@ -52,7 +54,7 @@ _options = [{ value: 'text', text: '鏂囨湰'}] } - let width = card.width || 12 + let width = card.width === undefined ? 12 : card.width if (/x/.test(card.width)) { width = +width.replace(/x/, '.5') } @@ -60,6 +62,7 @@ let linkTypes = [ { value: 'tel', text: '鐢佃瘽' }, { value: 'email', text: '閭' }, + { value: 'linkmenu', text: '鍏宠仈鑿滃崟' }, { value: 'download', text: '涓嬭浇' }, { value: 'other', text: '鍏朵粬' } ] @@ -89,13 +92,25 @@ card.linkType = '' card.linkurl = '' } - } else if (card.linkType === 'linkmenu') { - if (appType !== 'mob' && appType !== 'pc') { - card.link = '' - card.linkType = '' - card.linkurl = '' - card.linkmenu = '' + // } else if (card.linkType === 'linkmenu') { + // if (appType !== 'mob' && appType !== 'pc') { + // card.link = '' + // card.linkType = '' + // card.linkurl = '' + // card.linkmenu = '' + // } + } + + let menulist = sessionStorage.getItem('fstMenuList') + + if (appType === '' && menulist) { + try { + menulist = JSON.parse(menulist) + } catch (e) { + menulist = [] } + } else { + menulist = [] } let appMenus = sessionStorage.getItem('appMenus') @@ -110,6 +125,17 @@ appMenus = [] } appMenus.push({value: 'goback', text: '杩斿洖锛堜笂涓�椤碉級'}) + } + + let fields = [] + let isStatic = (cards.subtype === 'propcard' || cards.type === 'balcony') && cards.wrap.datatype === 'static' + if (isStatic) { + if (cards.wrap.supModule && cards.wrap.supModule.length) { + let cell = MenuUtils.getComponent(cards.wrap.supModule[cards.wrap.supModule.length - 1]) + if (cell && cell.columns) { + fields = cell.columns.map(col => ({ value: col.field })) + } + } } let forms = [ @@ -145,12 +171,17 @@ ] }, { - type: 'select', + type: isStatic ? 'text' : 'select', key: 'field', label: '瀛楁', initVal: card.field || '', + tooltip: isStatic ? '鍙粦瀹氫笂绾х粍浠跺瓧娈碉紝涓嶅瓨鍦ㄤ笂绾х粍浠舵椂鍙粦瀹歶rl鍙傛暟瀛楁銆�' : '', required: true, - options: [] + options: fields, + rules: [{ + pattern: /^[\u4E00-\u9FA50-9a-zA-Z_-]*$/ig, + message: '瀛楁鍚嶅彧鍏佽鍖呭惈鏁板瓧銆佸瓧姣嶃�佹眽瀛椾互鍙奯-' + }] }, { type: 'icon', @@ -165,7 +196,7 @@ min: 0, label: '鍐呭', initVal: card.value || '', - tooltip: '鏂囨湰绫诲瀷锛屼細鏇挎崲鍐呭涓殑@username@銆丂fullName@銆丂mk_city@銆丂appname@銆丂bid@銆丂month@銆丂week@銆丂day@', + // tooltip: '鏂囨湰绫诲瀷锛屼細鏇挎崲鍐呭涓殑@username@銆丂fullName@銆丂mk_city@銆丂appname@銆丂bid@銆丂month@銆丂week@銆丂day@', required: true }, { @@ -229,11 +260,12 @@ required: true }, { - type: 'select', + type: isStatic ? 'text' : 'select', key: 'posterField', label: '棰勮鍦板潃', initVal: card.posterField || '', - required: true + required: true, + options: fields }, { type: 'radio', @@ -301,6 +333,7 @@ { value: 'YYYY-MM', text: 'YYYY-MM' }, { value: 'YYYY-MM-DD HH:mm', text: 'YYYY-MM-DD HH:mm' }, { value: 'YYYY-MM-DD HH:mm:ss', text: 'YYYY-MM-DD HH:mm:ss' }, + { value: 'YYYY骞碝M鏈圖D鏃�', text: 'YYYY骞碝M鏈圖D鏃�' }, ] }, { @@ -427,12 +460,12 @@ { type: 'number', key: 'width', - min: 0.5, + min: 0, max: 24, precision: 1, label: '鍏冪礌瀹藉害', initVal: width, - tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒楋紝鍙缃崐鍒楀嵆.5銆�', + tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒楋紝鍙缃崐鍒楀嵆.5銆傛敞锛氫负0鏃跺搴︿緷鎹唴瀹硅嚜閫傚簲锛堟枃鏈�佹暟鍊笺�佹彁绀猴紙鍥炬爣锛夈�佸綋鍓嶆椂闂淬�佸叕寮忥級銆�', required: true }, { @@ -446,14 +479,14 @@ required: false }, { - type: 'select', + type: isStatic ? 'text' : 'select', key: 'bgImage', label: '鍔ㄦ�佽儗鏅�', initVal: card.bgImage || '', tooltip: '缁戝畾鏁版嵁婧愬瓧娈碉紝鍙牴鎹繑鍥炲�兼敼鍙樿儗鏅浘銆�', required: false, allowClear: true, - options: [], + options: fields, forbid: isHeader }, { @@ -579,7 +612,7 @@ key: 'link', label: '閾炬帴', initVal: card.link || '', - tooltip: '鍔ㄦ�佸湴鍧�涓虹粦瀹氬瓧娈靛�笺��', + tooltip: '鍔ㄦ�佸湴鍧�涓虹粦瀹氬瓧娈靛�笺�備娇鐢� 鍔ㄦ��-鍏宠仈鑿滃崟 鏃讹紝璇峰湪鈥滈摼鎺ュ湴鍧�鈥濆瓧娈佃繑鍥炶彍鍗旾D銆�', required: false, options: [ { value: '', text: '鏃�' }, @@ -589,7 +622,7 @@ forbid: isHeader }, { - type: linkTypes.length > 4 ? 'select' : 'radio', + type: 'select', key: 'linkType', label: '閾炬帴绫诲瀷', initVal: card.linkType || 'other', @@ -612,18 +645,31 @@ key: 'linkmenu', label: '鍏宠仈鑿滃崟', initVal: card.linkmenu || '', + tooltip: '琛屼俊鎭紙瀛楁闆嗕腑鍓�40涓暱搴︿笉瓒呰繃256鐨勫瓧娈碉級灏嗕紶閫掕嚦姝よ彍鍗曪紝鍙湪url鍙橀噺銆佽〃鍗曪紙鍏宠仈涓昏〃锛夈�侀潤鎬佸睘鎬у崱銆佹诞鍔ㄥ崱涓娇鐢ㄣ��', required: true, options: appMenus || [], forbid: !['pc', 'mob'].includes(appType) }, { - type: 'select', + type: 'cascader', + key: 'linkmenu', + label: '鍏宠仈鑿滃崟', + initVal: card.linkmenu || [], + tooltip: '琛屼俊鎭皢浼犻�掕嚦姝よ彍鍗曪紝鍙湪url鍙橀噺銆佽〃鍗曪紙鍏宠仈涓昏〃锛夈�侀潤鎬佸睘鎬у崱銆佹诞鍔ㄥ崱涓娇鐢ㄣ��', + required: true, + options: menulist, + forbid: ['pc', 'mob'].includes(appType) + }, + { + type: isStatic ? 'text' : 'select', + defType: isStatic ? 'text' : 'select', key: 'linkurl', label: '閾炬帴鍦板潃', initVal: card.linkurl || '', - tooltip: ['pc', 'mob'].includes(appType) ? '褰撻摼鎺ョ被鍨嬩负鈥滃叾浠栤�濓紝涓旈摼鎺ュ湴鍧�浠menuid@寮�澶存椂锛屽叾鍚庡唴瀹瑰皢琚涓鸿彍鍗旾D銆�' : '', + tooltip: '鍦ㄩ摼鎺ヤ腑浠***@褰㈠紡鎷兼帴鐨勫瓧娈碉紙瀛楁鏉ユ簮浜庡瓧娈甸泦涓紝姝ゅ id銆乤ppkey銆乽serid銆丩oginUID 涓虹郴缁熷瓧娈碉級锛岃烦杞椂灏嗘浛鎹负瀵瑰簲鍊硷紝渚嬪锛歨ttp://sso.mk9h.cn/doc/index.html?appkey=@appkey@&LoginUID=@LoginUID@锛屽叾涓璦ppkey涓嶭oginUID灏嗚鏇挎崲銆�' + (['pc', 'mob'].includes(appType) ? '褰撻摼鎺ョ被鍨嬩负鈥滃叾浠栤�濓紝涓旈摼鎺ュ湴鍧�浠menuid@寮�澶存椂锛屽叾鍚庡唴瀹瑰皢琚涓鸿彍鍗旾D銆�' : ''), + toolWidth: 350, required: true, - options: [] + options: fields }, { type: 'radio', @@ -639,25 +685,12 @@ ] }, { - type: 'radio', - key: 'joint', - label: '鎷兼帴鍙傛暟', - initVal: card.joint || 'true', - required: false, - options: [{ - value: 'true', - text: '鏄�' - }, { - value: 'false', - text: '鍚�' - }] - }, - { - type: 'textarea', + type: 'codemirror', key: 'formula', label: '鍏紡', initVal: card.formula || '', - tooltip: '鎵ц鏃朵細浣跨敤鏌ヨ鍒扮殑鏁版嵁鏇挎崲鐩稿簲鐨勫瓧娈碉紝灞曠ず鑾峰緱鐨勭粨鏋滐紝鍦ㄤ笉浣跨敤瑙f瀽鏃舵崲琛岀鎴栫┖鏍间細鏇挎崲涓洪〉闈㈠厓绱犮�傚彲浣跨敤JS鐨勪竴浜涜娉曪紝濡傦細涓夊厓琛ㄨ揪寮� @field1@ > @field2@ ? 0 : 1锛汳ath瀵硅薄锛屽彇缁濆鍊� Math.abs(@field@)銆佸洓鑸嶄簲鍏� Math.round(@field@)绛�', + tooltip: '鎵ц鏃朵細浣跨敤鏌ヨ鍒扮殑鏁版嵁鏇挎崲鐩稿簲鐨勫瓧娈碉紝灞曠ず鑾峰緱鐨勭粨鏋滐紝鍦ㄤ笉浣跨敤瑙f瀽鏃舵崲琛岀鎴栫┖鏍间細鏇挎崲涓洪〉闈㈠厓绱犮�傚彲浣跨敤JS鐨勪竴浜涜娉曪紝濡傦細涓夊厓琛ㄨ揪寮� @field1@ > @field2@ ? 0 : 1锛汳ath瀵硅薄锛屽彇缁濆鍊� Math.abs(@field@)銆佸洓鑸嶄簲鍏� Math.round(@field@)绛夈�傛敞锛氫細鏇挎崲鍏紡涓殑@username@銆丂fullName@銆丂bid@銆�', + toolWidth: 450, placeholder: '渚嬪锛欯price@ * @number@', required: true }, @@ -773,6 +806,56 @@ options: [], forbid: !isHeader }, + { + type: 'table', + key: 'signs', + label: '鏍囪', + initVal: card.signs || [], + tooltip: '鍙緷鎹爣绛惧唴瀹硅缃笉鍚屾牱寮忋��', + required: false, + actions: ['edit', 'del', 'add', 'move'], + columns: [ + { + title: '鍊�', + dataIndex: 'value', + inputType: 'text', + editable: true, + required: true, + unique: true, + width: '20%' + }, + { + title: '鑳屾櫙', + dataIndex: 'background', + inputType: 'color', + className: 'mini-color', + editable: true, + required: true, + width: '20%', + render: (text) => <span className="mk-color-value" style={{background: text}}></span>, + }, + { + title: '鏂囧瓧', + dataIndex: 'color', + inputType: 'color', + className: 'mini-color', + editable: true, + required: true, + width: '20%', + render: (text) => <span className="mk-color-value" style={{background: text}}></span>, + }, + { + title: '杈规', + dataIndex: 'border', + inputType: 'color', + className: 'mini-color', + editable: true, + required: true, + width: '20%', + render: (text) => <span className="mk-color-value" style={{background: text}}></span>, + }, + ] + }, ] return forms -- Gitblit v1.8.0