king
2022-06-09 ed1cc4adc145f8685d04763e19fbd6b0bd80c136
src/menu/components/card/data-card/options.jsx
@@ -29,6 +29,21 @@
    roleList = []
  }
  let menulist = []
  if (appType === 'mob') {
    menulist = sessionStorage.getItem('appMenus')
    if (menulist) {
      try {
        menulist = JSON.parse(menulist)
      } catch (e) {
        menulist = []
      }
    } else {
      menulist = []
    }
  }
  const cardWrapForm = [
    {
      type: 'text',
@@ -71,6 +86,7 @@
      controlFields: [
        {field: 'goback', values: ['dynamic']},
        {field: 'empty', values: ['dynamic']},
        {field: 'jump', values: ['dynamic']},
        {field: 'supModule', values: ['static']},
      ],
      forbid: subtype !== 'propcard'
@@ -86,9 +102,10 @@
        {value: 'grid', label: '栅格布局'},
        {value: 'flex', label: '弹性布局'},
      ],
      controlFields: [
      controlFields: subtype !== 'propcard' ? [
        {field: 'printHeight', values: ['flex']},
        {field: 'cardFloat', values: ['grid']},
      ],
      ] : [{field: 'cardFloat', values: ['grid']}],
      forbid: subtype === 'tablecard'
    },
    {
@@ -102,6 +119,9 @@
        {value: 'page', label: '页码'},
        {value: 'switch', label: '左右切换', forbid: appType === 'mob'},
        {value: 'slide', label: '滑动加载', forbid: appType !== 'mob'},
      ],
      controlFields: [
        {field: 'slidetip', values: ['slide']},
      ],
      forbid: !(subtype === 'datacard' || (subtype === 'tablecard' && appType === 'mob'))
    },
@@ -145,12 +165,14 @@
      field: 'selected',
      label: '首行选中',
      initval: wrap.selected || 'false',
      tooltip: '当按钮执行完成并返回主键值时,默认选中主键值对应行。',
      required: false,
      options: [
        {value: 'false', label: '无'},
        {value: 'init', label: '初始化'},
        {value: 'always', label: '数据加载'},
      ]
      ],
      forbid: subtype === 'tablecard'
    },
    {
      type: 'select',
@@ -165,8 +187,8 @@
        {value: 'backFont', label: '背景+文字'},
        {value: 'font', label: '文字'},
        ...(subtype === 'datacard' && appType === 'mob' ? [{value: 'check', label: '勾选'}] : [])
      ]
      // forbid: subtype !== 'propcard'
      ],
      forbid: subtype === 'tablecard'
    },
    // {
    //   type: 'radio',
@@ -185,7 +207,7 @@
      field: 'cardFloat',
      label: '对齐方式',
      initval: wrap.cardFloat || 'left',
      tooltip: '设置为居中对齐或右对齐,只在卡片为1行时有效。',
      tooltip: '设置卡片的对齐方式。',
      required: false,
      options: [
        {value: 'left', label: '左对齐'},
@@ -218,7 +240,19 @@
        {value: 'content', label: '内容'},
        {value: 'headerOrfooter', label: '页眉/页脚'},
      ],
      controlFields: [
        {field: 'printHeight', values: ['content']},
      ],
      forbid: subtype !== 'propcard' || MenuType !== 'billPrint'
    },
    {
      type: 'number',
      field: 'printHeight',
      label: '换算高度',
      initval: wrap.printHeight || '',
      tooltip: subtype !== 'propcard' ? '当前数据卡高度相当于几条数据。' : '当前属性卡高度相当于几条数据。',
      required: false,
      forbid: subtype === 'tablecard' || MenuType !== 'billPrint'
    },
    {
      type: 'select',
@@ -255,6 +289,67 @@
        {value: 'show', label: '否'},
        {value: 'hidden', label: '是'},
      ],
    },
    {
      type: 'radio',
      field: 'jump',
      label: '页面跳转',
      initval: wrap.jump || '',
      tooltip: '通过查询返回值判断页面是否要跳转。',
      required: false,
      options: [
        {value: '', label: '无'},
        {value: 'menu', label: '菜单'},
        {value: 'link', label: '链接'},
      ],
      controlFields: [
        {field: 'jumpField', values: ['menu', 'link']},
        {field: 'joint', values: ['menu', 'link']},
        {field: 'menu', values: ['menu']},
        {field: 'link', values: ['link']},
      ],
      forbid: subtype !== 'propcard' || appType !== 'mob'
    },
    {
      type: 'select',
      field: 'jumpField',
      label: '控制字段',
      initval: wrap.jumpField || '',
      tooltip: '当字段值为true时',
      required: true,
      options: columns,
      forbid: subtype !== 'propcard' || appType !== 'mob'
    },
    {
      type: 'select',
      field: 'menu',
      label: '菜单',
      initval: wrap.menu || '',
      required: true,
      options: menulist,
      forbid: subtype !== 'propcard' || appType !== 'mob'
    },
    {
      type: 'select',
      field: 'link',
      label: '链接字段',
      initval: wrap.link || '',
      tooltip: '跳转链接为查询数据的返回值。',
      required: true,
      options: columns,
      forbid: subtype !== 'propcard' || appType !== 'mob'
    },
    {
      type: 'radio',
      field: 'joint',
      label: '参数拼接',
      initval: wrap.joint || 'true',
      required: false,
      options: [
        {value: 'true', label: '是'},
        {value: 'false', label: '否'},
      ],
      forbid: subtype !== 'propcard' || appType !== 'mob'
    },
    {
      type: 'radio',
@@ -319,6 +414,18 @@
      ]
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
    },
    {
      type: 'multiselect',
      field: 'blacklist',
      label: '黑名单',
@@ -326,6 +433,15 @@
      required: false,
      options: roleList,
      forbid: !!appType
    },
    {
      type: 'text',
      field: 'slidetip',
      label: '底部提示',
      initval: wrap.slidetip || wrap.slidetip === '' ? wrap.slidetip : '没有更多了',
      tooltip: '滑动加载至底部时的提示信息。',
      required: false,
      forbid: appType !== 'mob' || subtype === 'propcard'
    },
    {
      type: 'table',
@@ -358,11 +474,11 @@
    }
  ]
  return cardWrapForm.map(item => {
  return cardWrapForm.filter(item => {
    if (['pagestyle'].includes(item.field)) {
      item.options = item.options.filter(option => !option.forbid)
    }
    return item
    return !item.forbid
  })