king
2022-01-14 ab10e496feff0d7de81af939cd7ca1973e1ea220
src/menu/components/card/cardcomponent/options.jsx
@@ -1,26 +1,25 @@
/**
 * @description Setting表单配置信息
 */
export default function (setting, subtype, buttons = [], cardType, columns) {
export default function (setting, subtype, buttons = [], cardType, columns, menus = []) {
  let appType = sessionStorage.getItem('appType')
  let hasMenus = subtype === 'datacard' && cardType !== 'extendCard'
  let menulist = []
  let appmenulist = []
  if (appType) {
    appmenulist = sessionStorage.getItem('appMenus')
    if (appmenulist) {
    menulist = sessionStorage.getItem('appMenus')
    if (menulist) {
      try {
        appmenulist = JSON.parse(appmenulist)
        menulist = JSON.parse(menulist)
      } catch (e) {
        appmenulist = []
        menulist = []
      }
    } else {
      appmenulist = []
      menulist = []
    }
    if (appType === 'mob' && (subtype === 'datacard' || subtype === 'propcard') && cardType !== 'extendCard') { // 数据卡可打开即时通信
      appmenulist.push({
      menulist.push({
        value: 'IM', label: '即时通信(系统页)'
      })
    }
@@ -118,6 +117,7 @@
        {field: 'joint', values: ['menu', 'link', 'menus']},
        {field: 'linkbtn', values: ['button']},
        {field: 'menuType', values: ['menus']},
        {field: 'menus', values: ['menus']},
      ]
    },
    {
@@ -134,7 +134,7 @@
      label: '关联菜单',
      initval: setting.menu || (appType ? '' : []),
      required: true,
      options: appType ? appmenulist : menulist,
      options: menulist,
    },
    {
      type: 'textarea',
@@ -188,6 +188,36 @@
        {value: 'hover', label: '悬浮显示'},
      ],
      forbid: appType === 'mob'
    },
    {
      type: 'table',
      field: 'menus',
      label: '菜单组',
      initval: menus,
      required: true,
      span: 24,
      columns: [
        {
          title: '标识',
          dataIndex: 'sign',
          inputType: 'input',
          editable: true,
          unique: true,
          required: false,
          width: '35%'
        },
        {
          title: '菜单',
          dataIndex: 'menu',
          inputType: !appType ? 'cascader' : 'select',
          editable: true,
          required: true,
          extends: !appType ? 'Menu' : [{key: 'label', value: 'label'}],
          width: '35%',
          render: (text, record) => record.label,
          options: menulist
        }
      ]
    }
  ]