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