king
2024-04-01 5ea9c480262010a8ee08b3c94377013a42263ffc
src/menu/components/share/actioncomponent/formconfig.jsx
@@ -8,7 +8,7 @@
 * @param {*} setting        组件配置
 * @param {*} usefulFields   存储过程可用的开始字段
 */
export function getActionForm (card, functip, config, usefulFields, modules = [], anchors = [], side) {
export function getActionForm (card, functip, config, usefulFields, modules = [], anchors = [], side, position) {
  let appType = sessionStorage.getItem('appType')
  let viewType = sessionStorage.getItem('editMenuType') // 弹窗 popview
  let setting = config.setting || {}
@@ -311,6 +311,11 @@
    }]
  } else if (card.formType === 'scan') {
    card.formType = 'switch'
  }
  let width = card.width || (card.width === 0 ? 0 : 12)
  if (/x/.test(card.width)) {
    width = +width.replace(/x/, '.5')
  }
  let forms = [
@@ -809,10 +814,10 @@
      key: 'width',
      min: 0,
      max: 24,
      precision: 0,
      precision: 1,
      label: '宽度',
      initVal: card.width || (card.width === 0 ? 0 : 12),
      tooltip: '栅格布局,每行等分为24列。为 0 时宽度自适应。',
      initVal: width,
      tooltip: '栅格布局,每行等分为24列。为 0 时宽度自适应。可设置半列即.5。',
      forbid: type !== 'card',
      required: true
    },
@@ -847,6 +852,25 @@
      }, {
        value: 'link',
        text: '文字+图标'
      }]
    },
    {
      type: 'radio',
      key: 'hover',
      label: '悬浮效果',
      initVal: card.hover || '',
      tooltip: '鼠标悬浮按钮上方时的颜色变化。',
      required: false,
      forbid: type === 'card' || appType === 'mob',
      options: [{
        value: '',
        text: '无'
      }, {
        value: 'mk-btn-hover-bg',
        text: '背景变化'
      }, {
        value: 'mk-btn-hover-border',
        text: '边框变化'
      }]
    },
    {
@@ -1029,7 +1053,7 @@
      tooltip: '执行成功后的返回值。系统函数可指定返回的变量(以@符开头,返回id时可使用@id@);自定义函数可指定返回字段(如id)。',
      initVal: card.output || '',
      required: false,
      forbid: viewType === 'popview'
      // forbid: viewType === 'popview'
    },
    {
      type: 'text',
@@ -1047,6 +1071,20 @@
      tooltip: '鼠标悬浮在按钮上方时的提示信息。',
      forbid: appType === 'mob',
      required: false
    },
    {
      type: 'select',
      key: 'showName',
      label: '显示内容',
      initVal: card.showName || '',
      tooltip: '行级按钮可通过行信息控制按钮显示内容。',
      required: false,
      allowClear: true,
      forbid: position !== 'line',
      options: columns.map(item => ({
        value: item.field,
        text: `${item.label}(${item.field})`
      }))
    },
    {
      type: 'radio',
@@ -1313,6 +1351,18 @@
      }]
    },
    {
      type: 'radio',
      key: 'permission',
      label: '权限验证',
      initVal: card.permission || 'true',
      required: false,
      options: [
        {value: 'true', text: '继承菜单'},
        {value: 'false', text: '禁用'},
      ],
      forbid: viewType === 'popview'
    },
    {
      type: 'splitLine',
      key: 'title',
      label: '表单',
@@ -1457,6 +1507,28 @@
          options: modules
        }
      ]
    },
    {
      type: 'radio',
      key: 'preHandle',
      label: '自定义脚本',
      initVal: card.preHandle || 'false',
      // tooltip: '隐藏后按钮在页面中不显示,且不参与权限分配。',
      required: false,
      options: [{
        value: 'false',
        text: '禁用'
      }, {
        value: 'true',
        text: '启用'
      }]
    },
    {
      type: 'codemirror',
      key: 'pre_func',
      label: '自定义脚本',
      initVal: card.pre_func || '',
      required: true,
    }
  ]
@@ -1470,7 +1542,7 @@
 * @param {*} setting        组件配置
 * @param {*} usefulFields   存储过程可用的开始字段
 */
export function getBaseTableActionForm (card, functip, config, usefulFields, modules) {
export function getBaseTableActionForm (card, functip, config, usefulFields, modules, position) {
  let viewType = sessionStorage.getItem('editMenuType') // 弹窗 popview
  let setting = config.setting || {}
  let columns = config.columns || []
@@ -2063,6 +2135,24 @@
      }]
    },
    {
      type: 'radio',
      key: 'hover',
      label: '悬浮效果',
      initVal: card.hover || '',
      tooltip: '鼠标悬浮按钮上方时的颜色变化。',
      required: false,
      options: [{
        value: '',
        text: '无'
      }, {
        value: 'mk-btn-hover-bg',
        text: '背景变化'
      }, {
        value: 'mk-btn-hover-border',
        text: '边框变化'
      }]
    },
    {
      type: 'icon',
      key: 'icon',
      label: '图标',
@@ -2166,7 +2256,7 @@
      tooltip: '执行成功后的返回值。系统函数可指定返回的变量(以@符开头,返回id时可使用@id@);自定义函数可指定返回字段(如id)。',
      initVal: card.output || '',
      required: false,
      forbid: viewType === 'popview'
      // forbid: viewType === 'popview'
    },
    {
      type: 'text',
@@ -2183,6 +2273,20 @@
      initVal: card.hoverTitle || '',
      tooltip: '鼠标悬浮在按钮上方时的提示信息。',
      required: false
    },
    {
      type: 'select',
      key: 'showName',
      label: '显示内容',
      initVal: card.showName || '',
      tooltip: '行级按钮可通过行信息控制按钮显示内容。',
      required: false,
      allowClear: true,
      forbid: position !== 'line',
      options: columns.map(item => ({
        value: item.field,
        text: `${item.label}(${item.field})`
      }))
    },
    {
      type: 'radio',
@@ -2372,6 +2476,18 @@
    },
    {
      type: 'radio',
      key: 'permission',
      label: '权限验证',
      initVal: card.permission || 'true',
      required: false,
      options: [
        {value: 'true', text: '启用'},
        {value: 'false', text: '禁用'},
      ],
      forbid: viewType === 'popview'
    },
    {
      type: 'radio',
      key: 'execType',
      label: '请求方式',
      initVal: card.execType || 'multi',
@@ -2420,6 +2536,28 @@
          options: modules
        }
      ]
    },
    {
      type: 'radio',
      key: 'preHandle',
      label: '自定义脚本',
      initVal: card.preHandle || 'false',
      // tooltip: '隐藏后按钮在页面中不显示,且不参与权限分配。',
      required: false,
      options: [{
        value: 'false',
        text: '禁用'
      }, {
        value: 'true',
        text: '启用'
      }]
    },
    {
      type: 'codemirror',
      key: 'pre_func',
      label: '自定义脚本',
      initVal: card.pre_func || '',
      required: true,
    }
  ]