zouyu
2023-12-26 032ddb30a8d9d884cc176a4a506580b4a1272586
src/views/common/ztt-table.vue
@@ -164,7 +164,7 @@
        :span-method="objectSpanMethod"
        :header-cell-style="tableHeaderStyle"
        v-adaptive="{ bottomOffset: bottomOffset, fixedHeight: fixedHeight }"
        height="100px"
        height="300px"
        :class="[
          'commonTable',
          isGeneralSearch && !isEdit
@@ -245,6 +245,7 @@
            :show-overflow-tooltip="!item.noShowTip"
            :width="inMemoryColWidth[item.prop] || item.width"
            :prop="item.prop"
            align="center"
          >
            <template slot="header" slot-scope="scope">
              <template v-if="item.isSearch">
@@ -324,7 +325,7 @@
                <template v-if="!item.render">
                  <template v-if="item.formatter">
                    <span v-if="item.isTag" style="text-align: center;">
                      <el-tag style="width:50px;margin: 3px;" :type="scope.row[item.prop] == 0 ? 'success' : 'info'">
                      <el-tag style="width:60px;margin: 3px;" :type="scope.row[item.prop] == 0 ? 'success' : 'info'">
                        <span v-html="item.formatter(scope.row, item, scope.row[item.prop])"></span>
                      </el-tag>
                    </span>
@@ -397,6 +398,7 @@
        @size-change="sizeChangeHandle"
        :page-sizes="[10, 20, 50, 100]"
        :page-size="pagination.pageSize"
        :page-count="pagination.size"
        :layout="
          size
            ? 'total, prev, pager, next'
@@ -507,7 +509,8 @@
                只能上传xlsx/xls文件,且不超过10M<el-button
                  type="text"
                  style="font-size:12px;"
                  @click="downDataTemplate"   v-if="uploadInfo.Download"
                  @click="downDataTemplate(uploadInfo.fileName)"
                  v-if="uploadInfo.Download"
                  >下载模板</el-button
                >
              </div>
@@ -564,6 +567,10 @@
      default: ()=>{
        return 'id'
      }
    },
    toolbarMaxLength: {
      type: Number,
      default: 5,
    },
    // 表格型号:mini,medium,small
    tableSize: { type: String, default: 'small' },
@@ -718,6 +725,7 @@
        currentPage:
          this.table.currentPage == null ? 1 : this.table.currentPage,
        pageSize: this.table.pageSize == null ? 20 : this.table.pageSize,
        size: this.table.size == null ? 7 : this.table.size,
        total: this.table.total == null ? 0 : this.table.total
      }, // 分页信息
      inMemoryColWidth: {}, // 记忆中列宽,默认列宽
@@ -751,11 +759,11 @@
      return colList
    },
    getToolBarBtn() {
      return this.table.toolbar ? this.table.toolbar.slice(0, 5) : []
      return this.table.toolbar ? this.table.toolbar.slice(0, this.toolbarMaxLength) : []
    },
    getToolbarDown() {
      return this.getToolBarBtn.length === 5
        ? this.table.toolbar.slice(5, this.table.toolbar.length)
      return this.getToolBarBtn.length == this.toolbarMaxLength
        ? this.table.toolbar.slice(this.toolbarMaxLength, this.table.toolbar.length)
        : []
    },
    isRefreshBtn() {
@@ -939,8 +947,7 @@
      }
    },
    getDataList(selectedId) {
      // this.dataListLoading = true
      this.dataListLoading = false
      this.dataListLoading = true
      var criteria = {}
      criteria.dateTimeFilters = this.dateTimeFilters
      criteria.multiSearchFilter = this.multiSearchFilter
@@ -966,6 +973,7 @@
      return this.doCallback(this.ajaxFun, arr, selectedId)
    },
    doCallback(fn, args, selectedId) {
      this.tableData=[]
      return fn
        .apply(this, args)
        .then((response) => {
@@ -1579,7 +1587,8 @@
      if(response.data!=""&&response.data!=[]&&response.data!=null){
        this.$message({
          message: response.data,
          type: 'success'
          type: 'success',
          dangerouslyUseHTMLString: true,
        })
      }else{
        this.$message({
@@ -1611,7 +1620,11 @@
        const blob = new Blob([response.data], {
          type: 'application/force-download'
        })
        const filename = decodeURI('模板文件.xlsx')
        let fileName="模板文件";
        if(this.uploadInfo.fileName!=undefined&&this.uploadInfo.fileName!=''&&this.uploadInfo.fileName!=null){
            fileName=this.uploadInfo.fileName
        }
        const filename = decodeURI(fileName+'.xlsx')
        // 创建一个超链接,将文件流赋进去,然后实现这个超链接的单击事件
        const elink = document.createElement('a')
        elink.download = filename