king
2024-04-08 37e28da53f6d4d7d8abe7626ba28ba7dbe16e7bb
src/mob/components/topbar/normal-navbar/options.jsx
@@ -7,6 +7,13 @@
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
@@ -37,6 +44,9 @@
  if (wrap.refresh === 'true') {
    funs.push('refresh')
  }
  if (wrap.resetPwd === 'true') {
    funs.push('resetPwd')
  }
  const topbarWrapForm = [
    {
@@ -56,34 +66,9 @@
      field: 'title',
      label: '标题',
      initval: wrap.title || '',
      tooltip: '使用搜索框时,标题用于搜索条件隐藏时(当启用黑名单,登录用户无权限时)显示。',
      // tooltip: '使用搜索框时,标题用于搜索条件隐藏时(当启用黑名单,登录用户无权限时)显示。注:@username代表用户名,@fullname代表姓名。',
      tooltip: '注:@username代表用户名,@fullname代表姓名。',
      required: false
    },
    {
      type: 'radio',
      field: 'menuPosition',
      label: '菜单位置',
      initval: wrap.menuPosition || 'right',
      tooltip: '自定义菜单的位置。',
      required: false,
      options: [
        {value: 'left', label: '左侧'},
        {value: 'right', label: '右侧'},
      ],
      controlFields: [
        {field: 'back', values: ['right']},
      ]
    },
    {
      type: 'radio',
      field: 'mode',
      label: '弹框背景',
      initval: wrap.mode || 'dark',
      required: false,
      options: [
        {value: 'light', label: '白色'},
        {value: 'dark', label: '黑色'},
      ]
    },
    {
      type: 'checkbox',
@@ -95,14 +80,28 @@
      options: [
        {value: 'back', label: '返回'},
        {value: 'scan', label: '扫一扫'},
        {value: 'resetPwd', label: '修改密码'},
        {value: 'refresh', label: '刷新'},
        {value: 'logout', label: '退出'},
      ],
      controlFields: [
        {field: 'reload', values: ['back']},
        {field: 'linkmenu', values: ['scan']},
        {field: 'prefix', values: ['scan']},
      ],
      span: 24
    },
    {
      type: 'radio',
      field: 'mode',
      label: '弹框背景',
      initval: wrap.mode || 'dark',
      tooltip: '当存在扩展功能或自定义菜单时,展示对应信息弹窗的背景颜色。',
      required: false,
      options: [
        {value: 'light', label: '白色'},
        {value: 'dark', label: '黑色'},
      ]
    },
    // {
    //   type: 'radio',
@@ -181,13 +180,47 @@
      options: menulist
    },
    {
      type: 'text',
      field: 'prefix',
      label: '前缀',
      initval: wrap.prefix || '',
      tooltip: '扫码信息将与前缀拼接后执行。注:跳转菜单需以mkbid(:或,)开头,mkbid(:或,)跳转后将被去除。例如:mkbid:123456 跳转后页面BID为 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: ['view'],
      actions: ['edit', 'del', 'add', 'move', 'view'],
      tip: <span style={{fontSize: '12px', color: '#959595', position: 'relative', top: '-8px'}}>当使用图标<MkIcon type="user"/>,且右侧只有一个菜单时,会显示用户头像。</span>,
      columns: [
        {
          title: '图标',