ludc
2024-11-21 9c06f1650313b76c8e1c06ac35a18dce44664320
Source/plt-web/plt-web-ui/src/components/dynamic-components/dynamic-table.vue
@@ -4,15 +4,15 @@
               v-model="form"
               :data="tableList"
               :option="option"
               :page.sync="pageType"
               :page.sync="componentVO.uiComponentType == 'TreeTable'?{}:pageType"
               :table-loading="loading"
               @on-load="onLoad"
               @search-reset="searchReset"
               @search-change='searchChange'
               @refresh-change="handleRefresh"
               @current-change="currentChange"
               @size-change="sizeChange"
               @row-click="rowClickChange"
               @search-change='searchChange'
               @filter="filterChange"
               @selection-change="selectChange">
      <!--top区域按钮-->
@@ -57,6 +57,14 @@
          <el-button icon="el-icon-refresh" circle @click="$refs.dataTable.refreshChange()"
                     :size="scope.size"></el-button>
        </el-tooltip>
      </template>
      <template #icon="{ row }">
          <span class="avue-icon avue-icon--small">
            <svg v-if="row.icon && row.icon.indexOf('#')==0" aria-hidden="true">
              <use :xlink:href="row.icon"></use>
            </svg>
            <i v-else :class="row.icon"></i>
          </span>
      </template>
    </avue-crud>
  </div>
@@ -143,6 +151,8 @@
      //表格数据
      tableList: [],
      option: {
        border:true,
        stripe:true,
        index: true,
        addBtn: false,
        editBtn: false,
@@ -200,7 +210,6 @@
    },
    isShow: {
      handler(newval) {
        debugger;
        if (newval && this.$el.clientHeight > 50) {
          this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - this.$children[0].$children[2].$el.clientHeight - 5;
        }
@@ -225,7 +234,7 @@
    },
    'sourceData':{
      handler(newval) {
        if(newval) {
        if(newval && Object.keys(newval).length>0) {
          this.sourceDataMapParams=this.sourceDataMap();
          this.getParams();
          this.handleRefresh();
@@ -294,7 +303,7 @@
        for (let i in this.sourceData) {
          const item = this.sourceData[i]
          if (item && item.constructor === Object) continue;
          if (i == 'type' || i == 'context' || i == 'content') continue;
          if (['type', 'context', 'content', 'querytemplate', 'querytype'].includes(i)) continue;
          sourceDataMap['sourceData["' + i + '"]'] = item
        }
      }
@@ -302,7 +311,7 @@
      if (Object.keys(this.paramVOS).length>0) {
        for (let j in this.paramVOS) {
          if (this.paramVOS[j] && this.paramVOS[j].constructor === Object) continue;
          if (j == 'type' || j == 'context' || j == 'content' || j == "getdataurl" || j == "getdatamethod" || j == "url" || j == "method" || j == "uploadfileurl" || j == "title") continue;
          if (['type', 'context', 'content', "getdataurl", "getdatamethod", "url", "method", "uploadfileurl", "title", 'querytemplate', 'querytype', 'usesourcedata'].includes(j)) continue;
          sourceDataMap['sourceData["' + j + '"]'] = this.paramVOS[j]
        }
      }
@@ -325,6 +334,7 @@
    },
    onLoad(page, params = {}) {
      if (Object.keys(this.sourceData).length>0 && this.isShow) {
        this.tableList = [];
        this.loading = true;
        getList(page.currentPage, page.pageSize, Object.assign({},this.params,this.query,params)).then(res => {
          let data = [];
@@ -351,7 +361,7 @@
      this.$refs.dataTable.rowView(row,index)
    },
    rowClickChange(row){
      this.$refs.dataTable.toggleRowSelection(row);
      this.$refs.dataTable.toggleRowSelection(row,true);
    },
    selectChange(row) {
      this.selectList = row;
@@ -398,6 +408,7 @@
      this.onLoad(this.page,parms);
    },
    searchReset() {
      console.log('searchReset')
      this.query = {};
      this.onLoad(this.page);
    },
@@ -410,6 +421,7 @@
      }
    },
    handleRefresh(type) {
      console.log('handleRefresh')
      this.onLoad(this.page);
    },
    rowExcel() {