4d60d48feadf90b8737ed8720ae762152803a9f7..fad2d49a5335dcfccb6b532a4a0053fafb61fa3b
2025-05-09 king
2025-05-09
fad2d4 对比 | 目录
2025-05-09 king
2025-05-09
69de89 对比 | 目录
4个文件已修改
311 ■■■■ 已修改文件
src/menu/datasource/verifycard/index.jsx 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/datasource/verifycard/settingform/index.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tabviews/custom/components/card/double-data-card/index.jsx 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/utils-custom.js 217 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/menu/datasource/verifycard/index.jsx
@@ -723,6 +723,16 @@
      return
    }
    if (type === 'submit' && config.subtype === 'dualdatacard' && setting.subdata === 'sub_data_string' && !columns.find(col => col.field === 'sub_data_string')) {
      notification.warning({
        top: 92,
        message: '主表字段集中需添加 sub_data_string 字段!',
        duration: 5
      })
      reject()
      return
    }
    if (type === 'change' && columns.length === 0) {
      reject()
      return
src/menu/datasource/verifycard/settingform/index.jsx
@@ -679,7 +679,7 @@
            </Col> : null}
            {config.subtype === 'dualdatacard' ? <Col span={8}>
              <Form.Item label={
                <Tooltip placement="topLeft" title="子表在主表中的数据集名称,使用 sub_data_string 时数据以 JSON 字符串形式返回(字段集中需添加 sub_data_string 字段)。">
                <Tooltip placement="topLeft" title="子表在主表中的数据集名称,使用 sub_data_string 时数据以 JSON 字符串形式返回(字段集中需添加 sub_data_string 字段);当主表字段存在 sub_data_string 且值不为空时,优先使用主表的 sub_data_string。">
                  <QuestionCircleOutlined className="mk-form-tip" />
                  子表字段
                </Tooltip>
src/tabviews/custom/components/card/double-data-card/index.jsx
@@ -282,17 +282,18 @@
    if (config.$cache) {
      let getData = (res) => {
        return res.map((item, index) => {
          let _children = item[config.setting.subdata]
          delete item[config.setting.subdata]
          if (config.setting.subdata === 'sub_data_string') {
            _children = this.parseSubData(_children)
          } else if (item.sub_data_string) {
            _children = this.parseSubData(item.sub_data_string)
          }
          let children = []
          if (item[config.setting.subdata]) {
            let _children = item[config.setting.subdata]
            delete item[config.setting.subdata]
            if (config.setting.subdata === 'sub_data_string') {
              _children = this.parseSubData(_children)
            }
          if (_children) {
            _children.forEach((cell, i) => {
              cell.key = i
              cell.$$uuid = cell[config.setting.subKey] || ''
@@ -679,16 +680,17 @@
      if (type === 'plus') {
        let _data = (this.state.data || []).concat(result.data || [])
        data = _data.map((item, index) => {
          if (item[config.setting.subdata]) {
            let children = []
            let _children = item[config.setting.subdata]
          let _children = item[config.setting.subdata]
          delete item[config.setting.subdata]
          if (config.setting.subdata === 'sub_data_string') {
            _children = this.parseSubData(_children)
          } else if (item.sub_data_string) {
            _children = this.parseSubData(item.sub_data_string)
          }
            delete item[config.setting.subdata]
            if (config.setting.subdata === 'sub_data_string') {
              _children = this.parseSubData(_children)
            }
          let children = []
          if (_children) {
            _children.forEach((cell, i) => {
              cell.key = i
              cell.$$uuid = cell[config.setting.subKey] || ''
@@ -701,10 +703,9 @@
                children.push(cell)
              }
            })
            item.children = children
          } else if (!item.children) {
            item.children = []
          }
          item.children = children
          item.key = index
          item.$$uuid = item[config.setting.primaryKey] || ''
@@ -722,17 +723,18 @@
        })
      } else {
        data = result.data.map((item, index) => {
          let _children = item[config.setting.subdata]
          delete item[config.setting.subdata]
          if (config.setting.subdata === 'sub_data_string') {
            _children = this.parseSubData(_children)
          } else if (item.sub_data_string) {
            _children = this.parseSubData(item.sub_data_string)
          }
          let children = []
          if (item[config.setting.subdata]) {
            let _children = item[config.setting.subdata]
            delete item[config.setting.subdata]
            if (config.setting.subdata === 'sub_data_string') {
              _children = this.parseSubData(_children)
            }
          if (_children) {
            _children.forEach((cell, i) => {
              cell.key = i
              cell.$$uuid = cell[config.setting.subKey] || ''
@@ -852,17 +854,19 @@
        data = data.map(item => {
          if (item.$$uuid === _data.$$uuid) {
            let _children = _data[config.setting.subdata]
            delete _data[config.setting.subdata]
            if (config.setting.subdata === 'sub_data_string') {
              _children = this.parseSubData(_children)
            } else if (_data.sub_data_string) {
              _children = this.parseSubData(_data.sub_data_string)
            }
            let children = []
            if (_data[config.setting.subdata]) {
              let _children = _data[config.setting.subdata]
              delete _data[config.setting.subdata]
              if (config.setting.subdata === 'sub_data_string') {
                _children = this.parseSubData(_children)
              }
            if (_children) {
              _children.forEach((cell, i) => {
                cell.key = i
                cell.$$uuid = cell[config.setting.subKey] || ''
src/utils/utils-custom.js
@@ -2762,7 +2762,15 @@
  text = text.filter(Boolean)
  menu = menu.filter(Boolean)
  sql = sql.map(n => n.replace(/(:|:)$/g, ''))
  sql = sql.map(n => n.replace(/^\s+|\s+$/g, '').replace(/(:|:)$/g, ''))
  btn = btn.map(n => n.replace(/^\s+|\s+$/g, ''))
  ops = ops.map(n => n.replace(/^\s+|\s+$/g, ''))
  menu = menu.map(n => n.replace(/^\s+|\s+$/g, ''))
  sql = sql.filter(Boolean)
  btn = btn.filter(Boolean)
  ops = ops.filter(Boolean)
  menu = menu.filter(Boolean)
  sql = Array.from(new Set(sql))
  btn = Array.from(new Set(btn))
@@ -2810,6 +2818,21 @@
  }
  let replaceTitle = (val) => {
    let s = ''
    let e = ''
    if (/^\s+/g) {
      val = val.replace(/^\s+/g, (w) => {
        s = w
        return ''
      })
    }
    if (/\s+$/g) {
      val = val.replace(/\s+$/g, (w) => {
        e = w
        return ''
      })
    }
    if (/(:|:)$/g.test(val)) {
      let _val = val.replace(/(:|:)$/g, '')
      if (titDict[_val]) {
@@ -2820,6 +2843,83 @@
    } else if (titDict[val]) {
      val = titDict[val]
    }
    val = s + val + e
    return val
  }
  let replaceBtn = (val) => {
    let s = ''
    let e = ''
    if (/^\s+/g) {
      val = val.replace(/^\s+/g, (w) => {
        s = w
        return ''
      })
    }
    if (/\s+$/g) {
      val = val.replace(/\s+$/g, (w) => {
        e = w
        return ''
      })
    }
    if (btnDict[val]) {
      val = btnDict[val]
    }
    val = s + val + e
    return val
  }
  let replaceList = (val) => {
    let s = ''
    let e = ''
    if (/^\s+/g) {
      val = val.replace(/^\s+/g, (w) => {
        s = w
        return ''
      })
    }
    if (/\s+$/g) {
      val = val.replace(/\s+$/g, (w) => {
        e = w
        return ''
      })
    }
    if (lisDict[val]) {
      val = lisDict[val]
    }
    val = s + val + e
    return val
  }
  let replaceMenu = (val) => {
    let s = ''
    let e = ''
    if (/^\s+/g) {
      val = val.replace(/^\s+/g, (w) => {
        s = w
        return ''
      })
    }
    if (/\s+$/g) {
      val = val.replace(/\s+$/g, (w) => {
        e = w
        return ''
      })
    }
    if (menuDict[val]) {
      val = menuDict[val]
    }
    val = s + val + e
    return val
  }
@@ -2856,8 +2956,8 @@
  }
  let filterBtn = (btn) => {
    if (btn.label && btnDict[btn.label]) {
      btn.label = btnDict[btn.label]
    if (btn.label) {
      btn.label = replaceBtn(btn.label)
    }
    if (btn.OpenType === 'tab' && btn.linkmenu) {
@@ -2956,8 +3056,8 @@
      n.dataSource = filterSql(n.dataSource)
    } else if (n.options) {
      n.options.forEach(o => {
        if (o.Text && lisDict[o.Text]) {
          o.Text = lisDict[o.Text]
        if (o.Text) {
          o.Text = replaceList(o.Text)
        }
      })
    }
@@ -3097,8 +3197,8 @@
          item.wrap.linkmenu = item.wrap.linkmenu.slice(0, 24) + tail
        } else if (item.type === 'menubar') {
          item.subMenus = item.subMenus.map(cell => {
            if (cell.setting.name && menuDict[cell.setting.name]) {
              cell.setting.name = menuDict[cell.setting.name]
            if (cell.setting.name) {
              cell.setting.name = replaceMenu(cell.setting.name)
            }
            if (cell.setting.type === 'linkmenu') {
              cell.setting.linkMenuId = cell.setting.linkMenuId.slice(0, 24) + tail
@@ -3246,6 +3346,20 @@
  }
  let replaceTitle = (val) => {
    let s = ''
    let e = ''
    if (/^\s+/g) {
      val = val.replace(/^\s+/g, (w) => {
        s = w
        return ''
      })
    }
    if (/\s+$/g) {
      val = val.replace(/\s+$/g, (w) => {
        e = w
        return ''
      })
    }
    if (/(:|:)$/g.test(val)) {
      let _val = val.replace(/(:|:)$/g, '')
      if (titDict[_val]) {
@@ -3256,6 +3370,83 @@
    } else if (titDict[val]) {
      val = titDict[val]
    }
    val = s + val + e
    return val
  }
  let replaceBtn = (val) => {
    let s = ''
    let e = ''
    if (/^\s+/g) {
      val = val.replace(/^\s+/g, (w) => {
        s = w
        return ''
      })
    }
    if (/\s+$/g) {
      val = val.replace(/\s+$/g, (w) => {
        e = w
        return ''
      })
    }
    if (btnDict[val]) {
      val = btnDict[val]
    }
    val = s + val + e
    return val
  }
  let replaceList = (val) => {
    let s = ''
    let e = ''
    if (/^\s+/g) {
      val = val.replace(/^\s+/g, (w) => {
        s = w
        return ''
      })
    }
    if (/\s+$/g) {
      val = val.replace(/\s+$/g, (w) => {
        e = w
        return ''
      })
    }
    if (lisDict[val]) {
      val = lisDict[val]
    }
    val = s + val + e
    return val
  }
  let replaceMenu = (val) => {
    let s = ''
    let e = ''
    if (/^\s+/g) {
      val = val.replace(/^\s+/g, (w) => {
        s = w
        return ''
      })
    }
    if (/\s+$/g) {
      val = val.replace(/\s+$/g, (w) => {
        e = w
        return ''
      })
    }
    if (menuDict[val]) {
      val = menuDict[val]
    }
    val = s + val + e
    return val
  }
@@ -3292,8 +3483,8 @@
  }
  let filterBtn = (btn) => {
    if (btn.label && btnDict[btn.label]) {
      btn.label = btnDict[btn.label]
    if (btn.label) {
      btn.label = replaceBtn(btn.label)
    }
    if (!btn.verify) return
@@ -3341,8 +3532,8 @@
      n.dataSource = filterSql(n.dataSource)
    } else if (n.options) {
      n.options.forEach(o => {
        if (o.Text && lisDict[o.Text]) {
          o.Text = lisDict[o.Text]
        if (o.Text) {
          o.Text = replaceList(o.Text)
        }
      })
    }
@@ -3423,8 +3614,8 @@
        if (item.type === 'menubar') {
          item.subMenus = item.subMenus.map(cell => {
            if (cell.setting.name && menuDict[cell.setting.name]) {
              cell.setting.name = menuDict[cell.setting.name]
            if (cell.setting.name) {
              cell.setting.name = replaceMenu(cell.setting.name)
            }
            return cell
          })