king
2025-04-21 f3d4db769ba9b51b799d981511a710fd443d0e08
src/menu/components/editor/braft-editor/options.jsx
@@ -7,14 +7,15 @@
  let isprint = sessionStorage.getItem('MenuType') === 'billPrint'
  let ispop = sessionStorage.getItem('editMenuType') === 'popview'
  let menu = window.GLOB.customMenu
  let interfaces = []
  if (menu.interfaces) {
    menu.interfaces.forEach(item => {
      if (item.status === 'true') {
        interfaces.push({
          value: item.uuid,
          label: item.name
          label: item.name,
          columns: JSON.parse(JSON.stringify(item.columns))
        })
      }
    })
@@ -28,6 +29,20 @@
    }
  } else {
    roleList = []
  }
  let tbStyle = wrap.tbStyle ? wrap.tbStyle.split(' ') : []
  let splitLine = 'false'
  if (tbStyle.includes('deep-split')) {
    tbStyle = tbStyle.filter(n => n !== 'deep-split')
    splitLine = 'true'
  }
  let loads = []
  if (wrap.loaded === 'true') {
    loads.push('loaded')
  }
  if (wrap.preload === 'true') {
    loads.push('preload')
  }
  const cardWrapForm = [
@@ -84,23 +99,15 @@
      required: true,
      options: interfaces,
      reset_source: true,
      callback: (map, record) => {
      callback: (record) => {
        if (!record.publicId) return
        let interfaces = window.GLOB.customMenu.interfaces || []
        let d = interfaces.filter(m => m.uuid === record.publicId && m.status === 'true')[0]
        let d = interfaces.filter(m => m.value === record.publicId)[0]
        if (!d || !d.columns) return
        let columns = JSON.parse(JSON.stringify(d.columns))
        let _field = map.get('field')
        if (_field) {
          _field.options = columns
          _field.oriOptions = columns
          map.set('field', _field)
        return {
          field: d.columns
        }
      }
    },
@@ -109,6 +116,7 @@
      field: 'field',
      label: '文本字段',
      initval: wrap.field || '',
      timestamp: new Date().getTime(),
      required: false,
      options: columns
    },
@@ -131,25 +139,72 @@
      initval: wrap.empty || 'show',
      tooltip: '当查询数据为空时,隐藏该组件。',
      required: false,
      skip: true,
      options: [
        {value: 'show', label: '否'},
        {value: 'hidden', label: '是'},
      ],
    },
    {
      type: 'radio',
      field: 'firstTr',
      label: '表格首行',
      initval: wrap.firstTr || 'deep',
      tooltip: '富文本中table的首行背景颜色。',
      type: 'checkbox',
      field: 'tbStyle',
      label: '表格样式',
      initval: tbStyle,
      tooltip: '富文本中表格的样式,注:选择“边框加粗”或“边框颜色加深”时“无边框”无效。',
      required: false,
      options: [
        {value: 'deep', label: '深色'},
        {value: 'light', label: '浅色'},
        {value: 'th-light', label: '表头透明'},
        {value: 'tb-flex', label: '列等宽'},
        {value: 'no-border', label: '无边框'},
        {value: 'bold-border', label: '边框加粗'},
        {value: 'deep-border', label: '边框颜色加深'},
        {value: 'word-break', label: '强制换行'},
      ],
      span: 24
    },
    {
      type: 'radio',
      field: 'splitLine',
      label: '分割线加深',
      initval: splitLine,
      required: false,
      options: [
        {value: 'false', label: '否'},
        {value: 'true', label: '是'},
      ],
    },
    {
      type: 'checkbox',
      field: 'loads',
      label: '布局调整',
      initval: loads,
      required: false,
      tooltip: '预处理入参html、data,返回修改后的html;后处理入参为html,可通过页面元素的样式调整并返回处理后的html。',
      options: [
        {value: 'preload', label: '预处理'},
        {value: 'loaded', label: '后处理'},
      ],
      controlFields: [
        {field: 'prefunc', values: ['preload']},
        {field: 'loadedfunc', values: ['loaded']},
      ]
    },
    {
      type: 'codemirror',
      field: 'prefunc',
      label: '预处理脚本',
      initval: wrap.prefunc || '',
      required: true,
      span: 24
    },
    {
      type: 'codemirror',
      field: 'loadedfunc',
      label: '后处理脚本',
      initval: wrap.loadedfunc || '',
      required: true,
      span: 24
    },
    {
      type: 'radio',
      field: 'permission',
      label: '权限验证',