From b372b06dc08d94731223cef2a741fe7a7a6a09bb Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 09 一月 2025 13:55:59 +0800 Subject: [PATCH] 2025-01-09 --- src/mob/components/topbar/normal-navbar/options.jsx | 252 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 199 insertions(+), 53 deletions(-) diff --git a/src/mob/components/topbar/normal-navbar/options.jsx b/src/mob/components/topbar/normal-navbar/options.jsx index bcb83ca..a66aa8b 100644 --- a/src/mob/components/topbar/normal-navbar/options.jsx +++ b/src/mob/components/topbar/normal-navbar/options.jsx @@ -1,8 +1,24 @@ +import React from 'react' +import MkIcon from '@/components/mk-icon' + /** * @description Wrap琛ㄥ崟閰嶇疆淇℃伅 */ export default function (wrap) { let menulist = sessionStorage.getItem('appMenus') + let searchable = true + let adapters = sessionStorage.getItem('adapter') + if (adapters) { + adapters = adapters.split(',') + } else { + adapters = [] + } + + window.GLOB.customMenu.components.forEach(item => { + if (item.type === 'search') { + searchable = false + } + }) if (menulist) { try { @@ -14,6 +30,24 @@ menulist = [] } + let funs = [] + + if (wrap.back === 'true') { + funs.push('back') + } + if (wrap.logout === 'true') { + funs.push('logout') + } + if (wrap.scan === 'true') { + funs.push('scan') + } + if (wrap.refresh === 'true') { + funs.push('refresh') + } + if (wrap.resetPwd === 'true') { + funs.push('resetPwd') + } + const topbarWrapForm = [ { type: 'radio', @@ -23,79 +57,118 @@ required: false, options: [ {value: 'navbar', label: '瀵艰埅鏍�'}, - {value: 'search', label: '鎼滅储鏍�'}, + {value: 'search', label: '鎼滅储妗�', disabled: !searchable}, + {value: 'searchIcon', label: '鎼滅储鏍�', disabled: !searchable}, ], - controlFields: [ - {field: 'search', values: ['navbar']}, - ] }, { type: 'text', field: 'title', label: '鏍囬', initval: wrap.title || '', - tooltip: '浣跨敤鎼滅储鏍忔椂锛屾爣棰樼敤浜庢悳绱㈡潯浠堕殣钘忔椂鏄剧ず銆�', + // tooltip: '浣跨敤鎼滅储妗嗘椂锛屾爣棰樼敤浜庢悳绱㈡潯浠堕殣钘忔椂锛堝綋鍚敤榛戝悕鍗曪紝鐧诲綍鐢ㄦ埛鏃犳潈闄愭椂锛夋樉绀恒�傛敞锛欯username浠h〃鐢ㄦ埛鍚嶏紝@fullname浠h〃濮撳悕銆�', + tooltip: '娉細@username浠h〃鐢ㄦ埛鍚嶏紝@fullname浠h〃濮撳悕锛孈appname浠h〃搴旂敤鍚嶃��', required: false }, { - type: 'radio', - field: 'back', - label: '杩斿洖', - initval: wrap.back || 'true', + type: 'checkbox', + field: 'funs', + label: '鎵╁睍鍔熻兘', + tooltip: '1銆佽繑鍥炰笂涓�椤碉紱2銆佺粦瀹氬叕浼楀彿鍚庡彲鍒嗕韩褰撳墠椤甸潰锛�3銆佷簩缁寸爜浠モ�渓ogin鈥濆紑澶存椂涓烘壂鐮佺櫥褰曪紝浜岀淮鐮佷互鈥渉ttp鈥濆紑澶翠负椤甸潰璺宠浆锛屼簩缁寸爜浠モ�渕kbid鈥濆紑澶翠负鑿滃崟璺宠浆锛屼笖璁剧疆鏈夊叧鑱旇彍鍗曪紱4銆佸綋鍓嶉〉闈㈠埛鏂帮紱5銆侀��鍑虹郴缁燂紝杩斿洖绗竴涓〉闈€��', + initval: funs, required: false, options: [ - {value: 'true', label: '鏄剧ず'}, - {value: 'false', label: '闅愯棌'}, - ] - }, - { - type: 'radio', - field: 'search', - label: '鎼滅储', - initval: wrap.search || 'false', - required: false, - options: [ - {value: 'true', label: '鏄剧ず'}, - {value: 'false', label: '闅愯棌'}, - ] - }, - { - type: 'radio', - field: 'logout', - label: '閫�鍑�', - initval: wrap.logout || 'false', - tooltip: '鐐瑰嚮閫�鍑烘椂锛岃繑鍥炵涓�涓〉闈€��', - required: false, - options: [ - {value: 'true', label: '鏄剧ず'}, - {value: 'false', label: '闅愯棌'}, - ] - }, - { - type: 'radio', - field: 'scan', - label: '鎵竴鎵�', - initval: wrap.scan || 'false', - tooltip: '绯荤粺鍔熻兘锛�1銆佹壂鐮佺櫥褰曪紝浜岀淮鐮佷互鈥渓ogin鈥濆紑澶达紝2銆侀〉闈㈣烦杞紝浜岀淮鐮佷互鈥渉ttp鈥濆紑澶达紝3銆佽彍鍗曡烦杞紝浜岀淮鐮佷互鈥渕kbid鈥濆紑澶达紝涓旇缃叧鑱旇彍鍗�', - required: false, - options: [ - {value: 'true', label: '鏄剧ず'}, - {value: 'false', label: '闅愯棌'}, + {value: 'back', label: '杩斿洖'}, + {value: 'scan', label: '鎵竴鎵�'}, + {value: 'resetPwd', label: '淇敼瀵嗙爜'}, + {value: 'refresh', label: '鍒锋柊'}, + {value: 'logout', label: '閫�鍑�'}, ], controlFields: [ - {field: 'linkmenu', values: ['true']}, - ] + {field: 'reload', values: ['back']}, + {field: 'linkmenu', values: ['scan']}, + {field: 'prefix', values: ['scan']}, + ], + span: 24 }, { type: 'radio', - field: 'refresh', - label: '鍒锋柊', - initval: wrap.refresh || 'false', + field: 'mode', + label: '寮规鑳屾櫙', + initval: wrap.mode || 'dark', + tooltip: '褰撳瓨鍦ㄦ墿灞曞姛鑳芥垨鑷畾涔夎彍鍗曟椂锛屽睍绀哄搴斾俊鎭脊绐楃殑鑳屾櫙棰滆壊銆�', required: false, options: [ - {value: 'true', label: '鏄剧ず'}, - {value: 'false', label: '闅愯棌'}, + {value: 'light', label: '鐧借壊'}, + {value: 'dark', label: '榛戣壊'}, ] + }, + // { + // type: 'radio', + // field: 'back', + // label: '杩斿洖', + // initval: wrap.back || 'true', + // required: false, + // options: [ + // {value: 'true', label: '鏄剧ず'}, + // {value: 'false', label: '闅愯棌'}, + // ], + // controlFields: [ + // {field: 'reload', values: ['true']}, + // ] + // }, + // { + // type: 'radio', + // field: 'logout', + // label: '閫�鍑�', + // initval: wrap.logout || 'false', + // tooltip: '鐐瑰嚮閫�鍑烘椂锛岃繑鍥炵涓�涓〉闈€��', + // required: false, + // options: [ + // {value: 'true', label: '鏄剧ず'}, + // {value: 'false', label: '闅愯棌'}, + // ] + // }, + // { + // type: 'radio', + // field: 'scan', + // label: '鎵竴鎵�', + // initval: wrap.scan || 'false', + // tooltip: '绯荤粺鍔熻兘锛�1銆佹壂鐮佺櫥褰曪紝浜岀淮鐮佷互鈥渓ogin鈥濆紑澶达紝2銆侀〉闈㈣烦杞紝浜岀淮鐮佷互鈥渉ttp鈥濆紑澶达紝3銆佽彍鍗曡烦杞紝浜岀淮鐮佷互鈥渕kbid鈥濆紑澶达紝涓旇缃叧鑱旇彍鍗�', + // required: false, + // options: [ + // {value: 'true', label: '鏄剧ず'}, + // {value: 'false', label: '闅愯棌'}, + // ], + // controlFields: [ + // {field: 'linkmenu', values: ['true']}, + // ] + // }, + // { + // type: 'radio', + // field: 'refresh', + // label: '鍒锋柊', + // initval: wrap.refresh || 'false', + // required: false, + // options: [ + // {value: 'true', label: '鏄剧ず'}, + // {value: 'false', label: '闅愯棌'}, + // ] + // }, + { + type: 'radio', + field: 'reload', + label: '杩斿洖鍚�', + initval: wrap.reload || 'false', + tooltip: '杩斿洖鍚庢槸鍚﹀埛鏂版暟鎹�傛敞锛氬湪鏄庣浜慉PP涓湁鏁堛��', + required: false, + options: [{ + value: 'false', + label: '涓嶅埛鏂�' + }, { + value: 'true', + label: '鍒锋柊' + }] }, { type: 'select', @@ -106,6 +179,79 @@ required: false, options: menulist }, + { + type: 'text', + field: 'prefix', + label: '鍓嶇紑', + initval: wrap.prefix || '', + tooltip: '鎵爜淇℃伅灏嗕笌鍓嶇紑鎷兼帴鍚庢墽琛屻�傛敞锛氳烦杞彍鍗曢渶浠kbid锛�:鎴�,锛夊紑澶达紝mkbid锛�:鎴�,锛夎烦杞悗灏嗚鍘婚櫎銆備緥濡傦細mkbid:123456 璺宠浆鍚庨〉闈ID涓� 123456銆�', + required: false + }, + { + type: 'radio', + field: 'minishow', + label: '灏忕▼搴忎腑', + initval: wrap.minishow || 'false', + tooltip: '瀵艰埅鏍忓湪灏忕▼搴忎腑鏄惁鏄剧ず銆�', + required: false, + options: [ + {value: 'true', label: '鏄剧ず'}, + {value: 'false', label: '闅愯棌'}, + ], + forbid: !adapters.includes('wxmini') + }, + { + type: 'radio', + field: 'menuPosition', + label: '鑷畾涔夎彍鍗曚綅缃�', + initval: wrap.menuPosition || 'right', + tooltip: '鑷畾涔夎彍鍗曠殑浣嶇疆銆傛敞锛氳彍鍗曚綅浜庡乏渚ф椂浼氭樉绀哄ご鍍忥紝涓旇繑鍥炲姛鑳借绂佺敤銆�', + required: false, + options: [ + {value: 'left', label: '宸︿晶'}, + {value: 'right', label: '鍙充晶'}, + ] + }, + { + type: 'table', + field: 'menus', + label: '鑷畾涔夎彍鍗�', + initval: wrap.menus || [], + required: false, + span: 24, + actions: ['edit', 'del', 'add', 'move', 'view'], + tip: <span style={{fontSize: '12px', color: '#959595', position: 'relative', top: '-8px'}}>褰撲娇鐢ㄥ浘鏍�<MkIcon type="user"/>锛屼笖鍙充晶鍙湁涓�涓彍鍗曟椂锛屼細鏄剧ず鐢ㄦ埛澶村儚銆�</span>, + columns: [ + { + title: '鍥炬爣', + dataIndex: 'icon', + inputType: 'icon', + editable: true, + required: true, + render: (text, record) => <MkIcon type={text}/>, + width: '23%' + }, + { + title: '鑷畾涔夊悕绉�', + dataIndex: 'name', + inputType: 'text', + editable: true, + required: false, + width: '23%' + }, + { + title: '鑿滃崟', + dataIndex: 'menu', + inputType: 'select', + editable: true, + required: true, + extends: [{key: 'label', value: 'label'}], + width: '23%', + render: (text, record) => record.label, + options: menulist + } + ] + } ] return topbarWrapForm -- Gitblit v1.8.0