king
2021-11-18 c98e45bfac25e9110ad0383faac54a54d98ea9d5
src/menu/components/table/edit-table/columns/editColumn/formconfig.jsx
@@ -7,7 +7,7 @@
 * @description 获取显示列表单配置信息
 * @param {object} card       // 搜索条件对象
 */
export function getColumnForm (card, fields = []) {
export function getColumnForm (card, fields = [], columns = []) {
  let roleList = sessionStorage.getItem('sysRoles')
  if (roleList) {
    try {
@@ -39,9 +39,27 @@
    value: 'action',
    text: '操作'
  }, {
    value: 'formula',
    text: '公式'
  }, {
    value: 'index',
    text: '序号'
  }]
  let editCols = [
    {
      field: '$next',
      label: '下一行'
    }
  ]
  columns.forEach(col => {
    if (col.editable === 'true' && col.uuid !== card.uuid) {
      editCols.push({
        field: col.uuid,
        label: col.label
      })
    }
  })
  return [
    {
@@ -125,6 +143,21 @@
    },
    {
      type: 'radio',
      key: 'sum',
      label: '显示合计',
      initVal: card.sum || 'false',
      tooltip: '合计信息只在使用系统数据源时有效。',
      required: false,
      options: [{
        value: 'true',
        text: Formdict['model.true']
      }, {
        value: 'false',
        text: Formdict['model.false']
      }]
    },
    {
      type: 'radio',
      key: 'editable',
      label: '可编辑',
      initVal: card.editable || 'false',
@@ -138,6 +171,52 @@
      }]
    },
    {
      type: 'radio',
      key: 'required',
      label: '必填',
      initVal: card.required || 'false',
      required: false,
      options: [{
        value: 'false',
        text: '否'
      }, {
        value: 'true',
        text: '是'
      }]
    },
    {
      type: 'text',
      key: 'initval',
      label: '默认值',
      initVal: card.initval,
      tooltip: '使用$copy时,表示新增时复制上一行信息。',
      required: false
    },
    {
      type: 'select',
      key: 'enter',
      label: '回车切换',
      initVal: card.enter || '$next',
      options: editCols
    },
    {
      type: 'radio',
      key: 'footEnter',
      label: '末行回车',
      initVal: card.footEnter || 'false',
      tooltip: '新增功能仅在表格可新增时有效。',
      options: [{
        value: 'sub',
        text: '提交'
      }, {
        value: 'add',
        text: '新增'
      }, {
        value: 'false',
        text: '无动作'
      }]
    },
    {
      type: 'number',
      key: 'decimal',
      min: 0,
@@ -146,6 +225,22 @@
      label: Formdict['header.form.decimal'],
      initVal: card.decimal || 0,
      required: true
    },
    {
      type: 'number',
      key: 'max',
      label: '最大值',
      initVal: card.max,
      unlimit: true,
      required: false
    },
    {
      type: 'number',
      key: 'min',
      label: '最小值',
      initVal: card.min,
      unlimit: true,
      required: false
    },
    {
      type: 'select',
@@ -198,6 +293,27 @@
      readonly: false
    },
    {
      type: 'radio',
      key: 'eval',
      label: '解析',
      initVal: card.eval || 'true',
      tooltip: '当公式内容涉及计算时请选择“是”,当公式内容为字段拼接时请选择“否”。',
      required: false,
      options: [
        { value: 'true', text: '是' },
        { value: 'false', text: '否' }
      ]
    },
    {
      type: 'textarea',
      key: 'formula',
      label: '公式',
      initVal: card.formula || '',
      tooltip: '执行时会使用查询到的数据替换相应的字段,展示获得的结果。可使用JS的一些语法,如:三元表达式 @field1@ > @field2@ ? 0 : 1;Math对象,取绝对值 Math.abs(@field@)、四舍五入 Math.round(@field@)等',
      placeholder: '例如:@price@ * @number@',
      required: true
    },
    {
      type: 'multiselect',
      key: 'blacklist',
      label: Formdict['header.form.blacklist'],