king
2023-05-15 b20a4d7c75c2ff8951e93d9c0394df9277fc6093
src/menu/components/table/base-table/columns/editColumn/formconfig.jsx
@@ -3,7 +3,6 @@
 * @param {object} card       // 搜索条件对象
 */
export function getColumnForm (card, fields = []) {
  let appType = sessionStorage.getItem('appType')
  let roleList = sessionStorage.getItem('sysRoles')
  if (roleList) {
    try {
@@ -15,13 +14,7 @@
    roleList = []
  }
  let menulist = []
  if (appType === 'pc') {
    menulist = sessionStorage.getItem('appMenus')
  } else if (!appType) {
    menulist = sessionStorage.getItem('fstMenuList')
  }
  let menulist = sessionStorage.getItem('fstMenuList')
  if (menulist) {
    try {
@@ -42,6 +35,9 @@
  }, {
    value: 'picture',
    text: '图片'
  }, {
    value: 'video',
    text: '视频'
  }, {
    value: 'link',
    text: '链接'
@@ -69,10 +65,6 @@
    })
  }
  if (!card.linkurl && (!card.linkmenu || card.linkmenu.length === 0)) {
    card.perspective = ''
  }
  return [
    {
      type: 'text',
@@ -90,20 +82,19 @@
      options: options
    },
    {
      type: 'select',
      type: card.isSub ? 'select' : 'text',
      key: 'field',
      label: '字段',
      initVal: card.field,
      required: true,
      options: fields
      options: card.isSub ? fields : []
    },
    {
      type: 'select',
      type: 'text',
      key: 'nameField',
      label: '名称字段',
      initVal: card.nameField || '',
      required: false,
      options: [{uuid: 'empty', field: '', label: '空'}, ...fields]
      required: false
    },
    {
      type: 'number',
@@ -175,6 +166,26 @@
      }]
    },
    {
      type: 'number',
      key: 'startTime',
      precision: 0,
      label: '开始时间',
      initVal: card.startTime || 0,
      tooltip: '视频开始播放的时间,用于调整视频初始化展示的界面。',
      required: false
    },
    {
      type: 'select',
      key: 'aspectRatio',
      label: '长宽比',
      initVal: card.aspectRatio || '16:9',
      required: true,
      options: [
        { value: '4:3', text: '4:3' },
        { value: '16:9', text: '16:9' }
      ]
    },
    {
      type: 'radio',
      key: 'rowspan',
      label: '行合并',
@@ -202,7 +213,16 @@
      }, {
        value: 'false',
        text: '否'
      }]
      }],
      forbid: card.isSub
    },
    {
      type: 'number',
      key: 'fieldlength',
      label: '字段长度',
      initVal: card.fieldlength || 50,
      required: true,
      forbid: card.isSub
    },
    {
      type: 'number',
@@ -211,8 +231,8 @@
      max: 18,
      decimal: 0,
      label: '小数位',
      initVal: card.decimal || 0,
      required: true
      initVal: card.decimal === undefined ? 0 : card.decimal,
      required: !card.isSub
    },
    {
      type: 'select',
@@ -308,6 +328,18 @@
    },
    {
      type: 'radio',
      key: 'backgroundSize',
      label: '图像大小',
      initVal: card.backgroundSize || 'cover',
      required: false,
      options: [
        { value: 'cover', text: '覆盖' },
        { value: 'contain', text: '包含' },
        { value: 'auto', text: '自适应' },
      ]
    },
    {
      type: 'radio',
      key: 'scale',
      label: '点击缩放',
      initVal: card.scale || 'true',
@@ -335,24 +367,21 @@
        value: 'linkurl',
        text: '链接'
      }],
      forbidden: appType === 'mob'
    },
    {
      type: appType === 'pc' ? 'select' : 'cascader',
      type: 'cascader',
      key: 'linkmenu',
      label: '菜单',
      initVal: card.linkmenu || (appType === 'pc' ? '' : []),
      initVal: card.linkmenu || [],
      required: true,
      options: menulist,
      forbidden: appType === 'mob'
      options: menulist
    },
    {
      type: 'textarea',
      key: 'linkurl',
      label: '链接地址',
      initVal: card.linkurl || '',
      required: true,
      forbidden: appType === 'mob'
      required: true
    },
    {
      type: 'multiselect',
@@ -361,25 +390,12 @@
      initVal: card.linkfields || [],
      required: false,
      options: fields,
      forbidden: appType === 'mob'
    },
    {
      type: 'radio',
      key: 'open',
      label: '打开方式',
      initVal: card.open || 'blank',
      required: false,
      forbid: appType !== 'pc',
      options: [
        { value: 'blank', text: '新窗口' },
        { value: 'self', text: '当前窗口' }
      ]
    },
    {
      type: 'radio',
      key: 'eval',
      label: '解析',
      initVal: card.eval || 'true',
      initVal: card.eval || 'false',
      tooltip: '当公式内容涉及计算时请选择“是”,当公式内容为字段拼接时请选择“否”。',
      required: false,
      options: [
@@ -402,8 +418,7 @@
      label: '黑名单',
      initVal: card.blacklist || [],
      required: false,
      options: roleList,
      forbidden: appType === 'mob'
      options: roleList
    }
  ]
}