king
2021-10-15 4d13944afeb0e095dfedaf820a192f844f5f541a
src/menu/components/share/actioncomponent/formconfig.jsx
@@ -13,6 +13,7 @@
 */
export function getActionForm (card, functip, config, usefulFields, type, menulist = [], modules = []) {
  let appType = sessionStorage.getItem('appType')
  let viewType = sessionStorage.getItem('editMenuType') // 弹窗 popview
  let setting = config.setting || {}
  let columns = config.columns || []
  let appMenus = []
@@ -46,6 +47,32 @@
      text: Formdict['model.form.funcbutton']
    }
  ]
  let getTabs = (list) => {
    return list.filter(item => {
      if (item.type !== 'tabs') return false
      item.children = item.children.map(cell => {
        cell.children = getTabs(cell.children)
        return cell
      })
      return item
    })
  }
  if (type === 'editable') {
    opentypes = [
      {
        value: 'excelIn',
        text: Formdict['model.form.excelIn']
      }, {
        value: 'excelOut',
        text: Formdict['model.form.excelOut']
      }
    ]
  }
  let tabs = getTabs(JSON.parse(JSON.stringify(modules)))
  let pageTemps = [
    { value: 'billprint', text: '单据打印' },
@@ -104,7 +131,7 @@
  }
  let refresh = []
  if (sessionStorage.getItem('editMenuType') === 'popview') { // 弹窗标签
  if (viewType === 'popview') { // 弹窗标签
    opentypes = opentypes.filter(item => item.value !== 'popview' && item.value !== 'funcbutton')
    refresh.push({
      value: 'popclose',
@@ -358,8 +385,8 @@
        value: 'mainline',
        text: '刷新上级组件 - 行'
      }, {
        value: 'closetab',
        text: '关闭标签'
        value: !appType ? 'closetab' : 'goback',
        text: !appType ? '关闭标签' : '返回(上一个页面)'
      },
      ...refresh]
    },
@@ -527,7 +554,7 @@
      }]
    },
    {
      type: 'mcascader',
      type: 'cascader',
      key: 'syncComponent',
      label: '刷新组件',
      initVal: card.syncComponent || [],
@@ -537,12 +564,21 @@
    },
    {
      type: 'cascader',
      key: 'refreshTab',
      label: '刷新标签',
      initVal: card.refreshTab || [],
      tooltip: '执行成功后或标签关闭时,需要同步刷新的标签',
      key: 'switchTab',
      label: '切换标签',
      initVal: card.switchTab || [],
      tooltip: '执行成功后,需要切换的标签页',
      required: false,
      forbid: isApp,
      options: tabs
    },
    {
      type: 'cascader',
      key: 'refreshTab',
      label: '刷新菜单',
      initVal: card.refreshTab || [],
      tooltip: '执行成功后或标签关闭时,需要同步刷新的菜单',
      required: false,
      forbid: isApp || viewType === 'popview',
      options: menulist
    },
    {
@@ -564,15 +600,24 @@
      required: false
    },
    {
      type: 'select',
      type: 'cascader',
      key: 'linkmenu',
      label: Formdict['model.form.linkmenu'],
      initVal: card.linkmenu || [],
      required: true,
      forbid: isApp,
      options: menulist
    },
    {
      type: !appType ? 'cascader' : 'select',
      key: 'openmenu',
      label: '打开菜单',
      tooltip: '执行成功后需要打开的菜单。',
      initVal: card.openmenu || '',
      forbid: appType !== 'pc' && appType !== 'mob',
      initVal: card.openmenu || (!appType ? [] : ''),
      required: false,
      allowClear: true,
      options: appType !== 'mob' ? appMenus : [...appMenus, {value: 'goback', text: '返回'}]
      options: appType === 'mob' ? [...appMenus, {value: 'goback', text: '返回'}] : (appType === 'pc' ? appMenus : menulist),
      forbid: viewType === 'popview'
    },
    {
      type: 'text',
@@ -580,8 +625,8 @@
      label: '返回值',
      tooltip: '执行成功后的返回值。',
      initVal: card.output || '',
      forbid: appType !== 'pc' && appType !== 'mob',
      required: false
      required: false,
      forbid: viewType === 'popview'
    },
    {
      type: 'radio',