king
2022-12-08 a29edbd4c670e1907e38e98f20257e5519745a4d
src/mob/components/menubar/normal-menubar/menucomponent/options.jsx
@@ -1,13 +1,13 @@
/**
 * @description Setting表单配置信息
 */
export default function (setting) {
export default function (setting, columns) {
  let menulist = sessionStorage.getItem('appMenus')
  if (menulist) {
    try {
      menulist = JSON.parse(menulist)
    } catch {
    } catch (e) {
      menulist = []
    }
  } else {
@@ -22,26 +22,15 @@
      initval: setting.name || '',
      required: true
    },
    // {
    //   type: 'text',
    //   field: 'MenuNo',
    //   label: '菜单参数',
    //   initval: setting.MenuNo || '',
    //   required: true
    // },
    {
      type: 'text',
      field: 'MenuNo',
      label: '菜单参数',
      initval: setting.MenuNo || '',
      required: true
    },
    {
      type: 'number',
      field: 'width',
      label: '宽度',
      initval: setting.width || 24,
      tooltip: '栅格布局,每行等分为24列。',
      min: 1,
      max: 24,
      precision: 0,
      required: true
    },
    {
      type: 'select',
      type: 'radio',
      field: 'type',
      label: '菜单属性',
      initval: setting.type || 'menu',
@@ -49,24 +38,13 @@
      options: [
        {value: 'menu', label: '菜单'},
        {value: 'linkmenu', label: '关联菜单'},
        {value: 'sysmenu', label: '系统页'},
        {value: 'link', label: '链接'},
      ],
      controlFields: [
        {field: 'sysmenu', values: ['sysmenu']},
        {field: 'copyMenuId', values: ['menu']},
        {field: 'linkMenuId', values: ['linkmenu']},
        {field: 'linkurl', values: ['link']},
      ]
    },
    {
      type: 'select',
      field: 'sysmenu',
      label: '系统页面',
      initval: setting.sysmenu || '',
      required: true,
      options: [
        {value: 'AIService', label: '智能客服'},
        {field: 'primaryId', values: ['menu', 'linkmenu']},
      ]
    },
    {
@@ -74,9 +52,25 @@
      field: 'copyMenuId',
      label: '复制菜单',
      initval: setting.copyMenuId || '',
      tooltip: '复制菜单仅在当前菜单初始化时有效。',
      tooltip: '复制菜单仅在当前菜单创建时有效。',
      required: false,
      options: menulist
      options: menulist,
      extendName: 'MenuNo',
      controlFields: [
        {field: 'clearMenu', notNull: true},
      ],
    },
    {
      type: 'radio',
      field: 'clearMenu',
      label: '清空关联菜单',
      initval: setting.clearMenu || 'true',
      tooltip: '复制菜单时,是否清空原页面中的关联菜单。',
      required: false,
      options: [
        {value: 'true', label: '是'},
        {value: 'false', label: '否'}
      ]
    },
    {
      type: 'select',
@@ -84,7 +78,12 @@
      label: '关联菜单',
      initval: setting.linkMenuId || '',
      required: true,
      options: menulist
      extendName: 'MenuNo',
      options: [
        ...menulist,
        // {value: 'IM', label: '即时通信(系统页)'},
        {value: 'AIService', label: '智能客服(系统页)'}
      ]
    },
    {
      type: 'textarea',
@@ -123,11 +122,22 @@
    },
    {
      type: 'number',
      field: 'width',
      label: '宽度',
      initval: setting.width || 24,
      tooltip: '栅格布局,每行等分为24列。',
      min: 1,
      max: 24,
      precision: 0,
      required: true
    },
    {
      type: 'number',
      field: 'iconFont',
      label: '字体大小',
      initval: setting.iconFont || 20,
      min: 12,
      max: 200,
      max: 300,
      precision: 0,
      required: true
    },
@@ -140,6 +150,13 @@
      max: 200,
      precision: 0,
      required: true
    },
    {
      type: 'styleInput',
      field: 'borderRadius',
      label: '圆角',
      initval: setting.borderRadius || '15%',
      required: false
    },
    {
      type: 'color',
@@ -173,6 +190,23 @@
      precision: 0,
      required: false
    },
    {
      type: 'select',
      field: 'tip',
      label: '提示',
      initval: setting.tip || '',
      tooltip: '绑定提示字段后,会在菜单右上角显示红色标记。',
      required: false,
      options: columns
    },
    {
      type: 'text',
      field: 'primaryId',
      label: '静态主键值',
      initval: setting.primaryId || '',
      tooltip: '可作为BID传到下一页面。注:@userid@会替换为用户ID。',
      required: false
    }
  ]
  return menuWrapForm