king
2023-10-25 d49124329b0119ba0ce7c69afbe2b864209e2495
src/tabviews/custom/components/table/edit-table/index.jsx
@@ -27,7 +27,6 @@
    config: {},           // 页面配置信息,包括按钮、搜索、显示列、标签等
    actions: null,        // 按钮集
    columns: null,        // 显示列
    arr_field: '',        // 查询字段集
    setting: null,        // 页面全局设置:数据源、按钮及显示列固定、主键等
    data: [],             // 列表数据集
    selectedData: [],     // 已选表格数据
@@ -36,7 +35,8 @@
    pageIndex: 1,         // 页码
    pageSize: 10,         // 每页数据条数
    orderBy: '',          // 排序
    search: ''            // 搜索条件数组,使用时需分场景处理
    search: '',           // 搜索条件数组,使用时需分场景处理
    allSearch: null
  }
  /**
@@ -164,6 +164,22 @@
      _config.lineMarks = null
    }
    let allSearch = null
    if (_config.colsCtrls && _config.colsCtrls.length > 0) {
      allSearch = [{key: 'BID', value: BID || ''}]
      allSearch.push(..._config.$searches)
      if (_config.setting.useMSearch) {
        let mainSearch = window.GLOB.SearchBox.get(_config.$searchId) || []
        allSearch.push(...mainSearch)
      }
    } else {
      _config.colsCtrls = null
    }
    if (setting.commit === 'blur') {
      setting.hasSubmit = false
    }
    this.setState({
      pageSize: setting.pageSize || 10,
      BID: BID || '',
@@ -173,8 +189,8 @@
      setting: setting,
      actions: _config.action,
      columns: _columns,
      arr_field: _config.columns.map(col => col.field).join(','),
      search: _config.$searches
      search: _config.$searches,
      allSearch
    }, () => {
      if (_config.setting.onload === 'true') {
        setTimeout(() => {
@@ -190,7 +206,7 @@
   * @param { String }  repage 表格是否重置页码
   */
  async loadmaindata (reset, repage) {
    const { setting, config, arr_field, search, orderBy, BID, pageIndex, pageSize, BData } = this.state
    const { setting, config, search, orderBy, BID, pageIndex, pageSize, BData } = this.state
    if (setting.supModule && !BID) { // BID 不存在时,不做查询
      this.setState({
@@ -222,7 +238,7 @@
    })
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getQueryDataParams(setting, arr_field, searches, _orderBy, pageIndex, pageSize, BID)
    let param = UtilsDM.getQueryDataParams(setting, searches, _orderBy, pageIndex, pageSize, BID)
    let result = await Api.genericInterface(param)
    if (result.status) {
@@ -257,9 +273,16 @@
        total = data[data.length - 1].mk_total || 0
      }
      let allSearch = null
      if (config.colsCtrls) {
        allSearch = [{key: 'BID', value: BID || ''}]
        allSearch.push(...searches)
      }
      this.setState({
        data: data,
        selectedData: [],
        allSearch: allSearch,
        total: total,
        loading: false
      })
@@ -303,8 +326,13 @@
   * @description 获取单行数据
   */ 
  async loadmainLinedata (id) {
    const { setting, config, arr_field, search, orderBy, BID, pageIndex, pageSize, BData } = this.state
    const { setting, config, search, orderBy, BID, pageIndex, pageSize, BData } = this.state
    if (config.forbidLine) {
      this.reloadtable()
      return
    }
    let searches = fromJS(search).toJS()
    if (config.setting.useMSearch) { // 主表搜索条件
      let mainSearch = window.GLOB.SearchBox.get(config.$searchId) || []
@@ -321,7 +349,7 @@
    })
    let _orderBy = orderBy || setting.order
    let param = UtilsDM.getQueryDataParams(setting, arr_field, searches, _orderBy, pageIndex, pageSize, BID, id)
    let param = UtilsDM.getQueryDataParams(setting, searches, _orderBy, pageIndex, pageSize, BID, id)
    let result = await Api.genericInterface(param)
    if (result.status) {
@@ -440,7 +468,7 @@
   * @description 导出Excel时,获取页面搜索排序等参数
   */
  queryModuleParam = (menuId, callback) => {
    const { arr_field, config, orderBy, search, setting} = this.state
    const { config, orderBy, search, setting } = this.state
    if (config.uuid !== menuId) return
@@ -456,10 +484,8 @@
    }
    callback({
      arr_field: arr_field,
      orderBy: orderBy || setting.order,
      search: searches,
      menuName: config.name
      search: searches
    })
  }
@@ -584,7 +610,7 @@
  }
  render() {
    const { BID, setting, actions, config, columns, BData, data, selectedData } = this.state
    const { BID, setting, actions, config, columns, BData, data, selectedData, allSearch } = this.state
    let style = {...config.style}
    if (config.wrap.empty === 'hidden' && data.length === 0) {
@@ -610,9 +636,11 @@
          setting={setting}
          columns={columns}
          MenuID={config.uuid}
          allSearch={allSearch}
          submit={config.submit}
          fields={config.columns}
          total={this.state.total}
          colsCtrls={config.colsCtrls}
          lineMarks={config.lineMarks}
          loading={this.state.loading}
          refreshdata={this.refreshbytable}