king
2023-10-24 4de0acf2a232ae29f2b5bd7bb2ee61a238c5d2d0
src/menu/components/table/edit-table/options.jsx
@@ -1,7 +1,7 @@
/**
 * @description Wrap表单配置信息
 */
export default function (wrap, action = []) {
export default function (wrap, columns = []) {
  let roleList = sessionStorage.getItem('sysRoles')
  let appType = sessionStorage.getItem('appType')
@@ -47,81 +47,88 @@
      field: 'height',
      label: '高度',
      initval: wrap.height || '',
      tooltip: '表格高度,空值时高度自适应。',
      tooltip: '表格高度,空值时高度自适应。注:小于等于100时为高度的百分比。',
      min: 10,
      max: 3000,
      precision: 0,
      required: false
    },
    {
      type: 'radio',
      field: 'editable',
      label: '初始化',
      initval: wrap.editable || 'false',
      required: false,
      options: [
        {value: 'true', label: '可编辑'},
        {value: 'false', label: '不可编辑'},
      ]
    },
    {
      type: 'radio',
      field: 'submittal',
      label: '提交后',
      initval: wrap.submittal || 'false',
      required: false,
      options: [
        {value: 'true', label: '可编辑'},
        {value: 'false', label: '不可编辑'},
      ]
    },
    {
      type: 'radio',
      field: 'addable',
      label: '可新增',
      initval: wrap.addable || 'false',
      required: false,
      options: [
        {value: 'true', label: '是'},
        {value: 'false', label: '否'},
      ]
    },
    {
      type: 'radio',
      field: 'delable',
      label: '可删除',
      initval: wrap.delable || 'true',
      required: false,
      options: [
        {value: 'true', label: '是'},
        {value: 'false', label: '否'},
      ]
    },
    // {
    //   type: 'radio',
    //   field: 'editable',
    //   label: '初始化',
    //   initval: wrap.editable || 'false',
    //   required: false,
    //   options: [
    //     {value: 'true', label: '可编辑'},
    //     {value: 'false', label: '不可编辑'},
    //   ],
    //   controlFields: [
    //     {field: 'switchable', values: ['true']},
    //   ]
    // },
    // {
    //   type: 'radio',
    //   field: 'submittal',
    //   label: '提交后',
    //   initval: wrap.submittal || 'false',
    //   required: false,
    //   options: [
    //     {value: 'true', label: '可编辑'},
    //     {value: 'false', label: '不可编辑'},
    //   ]
    // },
    // {
    //   type: 'radio',
    //   field: 'addable',
    //   label: '可新增',
    //   initval: wrap.addable || 'false',
    //   required: false,
    //   options: [
    //     {value: 'true', label: '是'},
    //     {value: 'false', label: '否'},
    //   ]
    // },
    // {
    //   type: 'radio',
    //   field: 'delable',
    //   label: '可删除',
    //   initval: wrap.delable || 'false',
    //   required: false,
    //   options: [
    //     {value: 'true', label: '是'},
    //     {value: 'false', label: '否'},
    //   ]
    // },
    {
      type: 'radio',
      field: 'commit',
      label: '数据提交',
      initval: wrap.commit || 'all',
      tooltip: '单项提交指在表单中回车或删除行时,设置为单项时如点击提交按钮,会提交修改项。',
      tooltip: '单项提交指在表单中回车或删除行时,设置为单项时如点击提交按钮,会提交修改项。失去焦点提交时会验证数据是否修改,未修改的数据不会提交。',
      required: false,
      options: [
        {value: 'all', label: '全部'},
        {value: 'change', label: '修改项'},
        {value: 'simple', label: '单项'},
        {value: 'blur', label: '失去焦点'},
      ],
      controlFields: [
        {field: 'standard', values: ['change', 'simple']},
      ]
    },
    {
      type: 'radio',
      field: 'operType',
      label: '编辑按钮',
      initval: wrap.operType || 'btnMode',
      tooltip: '编辑时的添加、删除按钮显示位置,注:使用浮标时表格横向滚动失效,表格设置高度时浮标无效。',
      required: false,
      options: [
        {value: 'btnMode', label: '按钮式'},
        {value: 'buoyMode', label: '浮标式'},
      ]
    },
    // {
    //   type: 'radio',
    //   field: 'operType',
    //   label: '编辑按钮',
    //   initval: wrap.operType || 'btnMode',
    //   tooltip: '编辑时的添加、删除按钮显示位置,注:使用浮标时表格横向滚动失效,表格设置高度时浮标无效。',
    //   required: false,
    //   options: [
    //     {value: 'btnMode', label: '按钮式'},
    //     {value: 'buoyMode', label: '浮标式'},
    //   ]
    // },
    {
      type: 'radio',
      field: 'editType',
@@ -132,6 +139,18 @@
      options: [
        {value: 'simple', label: '单项'},
        {value: 'multi', label: '整体'},
      ]
    },
    {
      type: 'radio',
      field: 'standard',
      label: '修改标准',
      initval: wrap.standard || 'init',
      tooltip: '如何判断行信息是否应该提交。',
      required: false,
      options: [
        {value: 'init', label: '与初始值不同'},
        {value: 'change', label: '存在编辑痕迹'},
      ]
    },
    {
@@ -271,13 +290,47 @@
      type: 'radio',
      field: 'permission',
      label: '权限验证',
      initval: wrap.permission || 'false',
      initval: wrap.permission || (!appType ? 'true' : 'false'),
      required: false,
      options: [
        {value: 'true', label: '启用'},
        {value: 'false', label: '禁用'},
      ],
      forbid: !appType
      forbid: sessionStorage.getItem('editMenuType') === 'popview'
    },
    // {
    //   type: 'radio',
    //   field: 'switchable',
    //   label: '状态切换',
    //   initval: wrap.switchable || 'true',
    //   tooltip: '是否可以在编辑和默认table状态间切换。',
    //   required: false,
    //   options: [
    //     {value: 'true', label: '启用'},
    //     {value: 'false', label: '禁用'},
    //   ]
    // },
    {
      type: 'radio',
      field: 'empty',
      label: '空值隐藏',
      initval: wrap.empty || 'show',
      tooltip: '当查询数据为空时,隐藏该组件。',
      required: false,
      options: [
        {value: 'show', label: '否'},
        {value: 'hidden', label: '是'},
      ],
    },
    {
      type: 'select',
      field: 'tipField',
      label: '信息提示',
      initval: wrap.tipField || '',
      tooltip: '鼠标悬浮于行上方时的提示信息。',
      required: false,
      allowClear: true,
      options: columns
    },
    {
      type: 'multiselect',