king
2023-05-18 e9e8b1c7b481415714fff9a0d83099fd5a7d6ff0
src/utils/utils-custom.js
@@ -517,73 +517,40 @@
          })
        }
      } else if (item.type === 'table' && item.cols) {
        let loopCol = (col) => {
          col.subcols = col.subcols.map(c => {
            c.uuid = md5(commonId + c.uuid)
        let loopCol = (cols) => {
          return cols.map(col => {
            if (col.type === 'action') {
              col.type = 'custom'
            }
  
            if (c.type === 'colspan' && c.subcols) {
              c = loopCol(c)
            } else if (c.type === 'custom' && c.elements) {
              c.elements = c.elements.map(cell => {
                cell.uuid = this.getuuid()
            col.uuid = md5(commonId + col.uuid)
                return cell
              })
            } else if (c.type === 'action' && c.elements) {
              c.elements = c.elements.map(cell => {
            if (col.type === 'colspan' && col.subcols) {
              col.subcols = loopCol(col.subcols)
            } else if (col.type === 'custom' && col.elements) {
              col.elements = col.elements.map(cell => {
                cell.uuid = md5(commonId + cell.uuid)
                if (cell.eleType === 'button') {
                if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
                  cell.pageTemplate = ''
                  cell.linkmenu = ''
                }
                this.resetBtn(cell, commonId)
                }
                return cell
              })
            }
            return c
          })
          return col
        }
        item.cols = item.cols.map(col => {
          col.uuid = md5(commonId + col.uuid)
          if (col.type === 'colspan' && col.subcols) {
            col = loopCol(col)
          } else if (col.type === 'custom' && col.elements) {
            col.elements = col.elements.map(cell => {
              cell.uuid = this.getuuid()
              return cell
            })
          } else if (col.type === 'action' && col.elements) {
            col.elements = col.elements.map(cell => {
              cell.uuid = md5(commonId + cell.uuid)
              this.resetBtn(cell, commonId)
              return cell
            })
          }
          return col
        })
        if (item.subtype === 'editable') {
          item.cols = item.cols.map(col => {
            if (col.editable === 'true' && col.enter) {
            } else if (col.editable === 'true' && col.enter) {
              col.enter = md5(commonId + col.enter)
            } else if (col.type === 'colspan' && col.subcols) {
              col.subcols = col.subcols.map(c => {
                if (c.editable === 'true' && c.enter) {
                  c.enter = md5(commonId + c.enter)
                }
                return c
              })
            }
            return col
          })
        }
        item.cols = loopCol(item.cols)
      } else if (item.type === 'form') {
        item.subcards = item.subcards.map(cell => {
          cell.uuid = this.getuuid()
@@ -831,40 +798,23 @@
        })
      }
    } else if (item.type === 'table' && item.cols) {
      let loopCol = (col) => {
        col.subcols = col.subcols.map(c => {
          c.uuid = this.getuuid()
          if (c.type === 'colspan' && c.subcols) {
            c = loopCol(c)
          } else if (c.type === 'custom' && c.elements) {
            c.elements = c.elements.map(cell => {
              cell.uuid = this.getuuid()
              return cell
            })
          }
          return c
        })
        return col
      let loopCol = (cols) => {
        return cols.map(col => {
          if (col.type === 'action') {
            col.type = 'custom'
      }
      item.cols = item.cols.map(col => {
        col.uuid = md5(commonId + col.uuid)
        if (col.type === 'colspan' && col.subcols) {
          col = loopCol(col)
            col.subcols = loopCol(col.subcols)
        } else if (col.type === 'custom' && col.elements) {
          col.elements = col.elements.map(cell => {
            cell.uuid = this.getuuid()
            return cell
          })
        } else if (col.type === 'action' && col.elements) {
          if (sessionStorage.getItem('editMenuType') === 'popview') {
            col.elements = col.elements.filter(c => c.OpenType !== 'popview' && c.OpenType !== 'funcbutton')
              col.elements = col.elements.filter(c => c.eleType !== 'button' || (c.OpenType !== 'popview' && c.OpenType !== 'funcbutton'))
          }
          col.elements = col.elements.map(cell => {
            cell.uuid = md5(commonId + cell.uuid)
              if (cell.eleType === 'button') {
            if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) {
              if (cell.modal && cell.modal.fields.length > 0) {
                cell.modal.fields = cell.modal.fields.map(m => {
@@ -873,21 +823,18 @@
                })
              }
            }
              }
            return cell
          })
        }
        return col
      })
      if (item.subtype === 'editable') {
        item.cols = item.cols.map(col => {
          if (col.editable === 'true' && col.enter) {
          } else if (col.editable === 'true' && col.enter) { // 可编辑表
            col.enter = md5(commonId + col.enter)
          }
          return col
        })
      }
      item.cols = loopCol(item.cols)
    } else if (item.type === 'form') {
      item.subcards = item.subcards.map(cell => {
        cell.uuid = this.getuuid()
@@ -1094,9 +1041,14 @@
    })
  }
  config.cols && config.cols.forEach(col => {
    if (col.type === 'action') {
  if (config.cols) {
    let loopCol = (cols) => {
      cols.forEach(col => {
        if (col.type === 'colspan') {
          loopCol(col.subcols)
        } else if (col.type === 'custom') {
      col.elements.forEach(cell => {
            if (cell.eleType !== 'button') return
        if (['form', 'pop', 'prompt', 'exec', 'excelIn', 'excelOut'].includes(cell.OpenType)) {
          action.push(cell)
        } else if (cell.OpenType === 'funcbutton' && cell.funcType === 'print' && cell.verify) {
@@ -1111,6 +1063,9 @@
      })
    }
  })
    }
    loopCol(config.cols)
  }
  config.elements && config.elements.forEach(cell => {
    if (cell.eleType !== 'button') return
@@ -1394,8 +1349,9 @@
  if (card.$c_cl) {
    card.cols.forEach(col => {
      if (col.type === 'action') {
      if (col.type === 'custom') {
        col.elements.forEach(cell => {
          if (cell.eleType === 'button') {
          if (cell.hidden === 'true') return
          if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) {
            if (!cell.modal || cell.modal.fields.length === 0) {
@@ -1410,12 +1366,11 @@
          if (doubleClick === cell.uuid) {
            doubleClick = ''
          }
        })
      } else if (col.type === 'custom') {
        col.elements.forEach(cell => {
          } else {
          if (cell.datatype === 'dynamic' && cell.field && !columns.includes(cell.field)) {
            errors.push({ level: 1, detail: `显示列“${col.label}”中动态字段“${cell.field}”无效`})
          }
          }
        })
      } else if (col.field && !columns.includes(col.field)) {
        errors.push({ level: 1, detail: `显示列“${col.label}”中字段“${col.field}”无效`})