king
2023-10-30 bca9d545b6b10e1d0120b8edaece22f9acbe12f3
src/tabviews/custom/components/table/edit-table/index.jsx
@@ -130,6 +130,15 @@
        
                return !cell.Hide
              })
            } else if (item.editType === 'popSelect') {
              if (item.pops) {
                item.pops.forEach(cell => {
                  this.resetPop(cell)
                  cell.tabName = cell.initval.replace(/^tab:/, '')
                })
              } else {
                this.resetPop(item)
              }
            }
          }
        }
@@ -200,6 +209,67 @@
    })
  }
  resetPop = (config) => {
    let arrfield = config.columns.map(f => f.field)
    if (config.linkSubField && config.linkSubField.length > 0) {
      config.linkSubField.forEach(n => {
        if (!arrfield.includes(n)) {
          arrfield.push(n)
        }
      })
    }
    if (sessionStorage.getItem('dataM') === 'true') { // 数据权限
      config.dataSource = config.dataSource.replace(/\$@/ig, '/*').replace(/@\$/ig, '*/').replace(/@datam@/ig, '\'Y\'')
    } else {
      config.dataSource = config.dataSource.replace(/@\$|\$@/ig, '').replace(/@datam@/ig, '\'\'')
    }
    config.dataSource = config.dataSource.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
    config.dataSource = config.dataSource.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
    config.dataSource = config.dataSource.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
    config.dataSource = config.dataSource.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
    if (/\s/.test(config.dataSource)) { // 拼接别名
      config.dataSource = '(' + config.dataSource + ') tb'
    }
    let labels = {}
    config.cols = []
    config.columns.forEach(col => {
      labels[col.field] = col.label
      if (col.Hide === 'true') return
      config.cols.push({
        dataIndex: col.field,
        title: col.label,
        sorter: col.IsSort === 'true',
        width: col.Width || 120
      })
    })
    let placeholder = ''
    if (!config.searchKey) {
      config.onload = 'true'
    } else {
      placeholder = []
      config.searchKey.split(',').forEach(key => {
        if (!labels[key]) {
          placeholder = ''
        } else if (placeholder) {
          placeholder.push(labels[key])
        }
      })
      placeholder = placeholder ? placeholder.join('、') : ''
    }
    config.placeholder = placeholder
    config.arr_field = arrfield.join(',')
  }
  /**
   * @description 主表数据加载
   * @param { Boolean } reset  表格是否重置