ludc
2024-10-17 dedbadd96ab7e1533572b25511fd201678c64dad
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -2,27 +2,37 @@
  <basic-container>
    <div class="main">
      <div class="top">
        <div class="testbox" style="">
        <div class="testbox">
          <div>
          </div>
          <el-row style="width: 100%;margin-bottom: 10px">
            <div style="margin-bottom: 10px" >
                <el-button v-for="(item, index) in masterVrBtnList"
                           v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)"
                           :key="index" plain size="small"
                           type="primary"
                           @click="handleBtnClick(item)">{{
                    item.name
                  }}
                </el-button>
              <span v-if="tableHeadFindData.length > 0">
              <el-select slot="prepend" v-model="keyWordFind" placeholder="请选择" size="small">
            <div style="margin-bottom: 10px">
              <el-button v-for="(item, index) in masterVrBtnList"
                         v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)"
                         :key="index" plain size="small"
                         type="primary"
                         @click="handleBtnClick(item)">{{
                  item.name
                }}
              </el-button>
              <span v-if="tableHeadFindData.length > 0 ">
              <el-select slot="prepend" v-model="keyWordFind" placeholder="请选择" size="small" @change="searchChange">
                <el-option v-for="item in tableHeadFindData" :key="item.id" :label="item.label"
                           :value="item.prop"></el-option>
                           :value="item.query"></el-option>
              </el-select>
              <el-input v-model="WupinFindValue" placeholder="请输入关键字按回车查询"
                        size="small" style="width: 180px; margin-left: 5px; margin-top: 10px"
              <el-input v-if="!isTimeStatus" v-model="WupinFindValue"
                        placeholder="请输入关键字按回车查询" size="small" style="width: 180px; margin-left: 5px; margin-top: 10px"
                        @keyup.enter.native="tableFindInp"></el-input>
              </span>
              <span v-if="tableHeadFindData.length > 0  && isTimeStatus" class="block">
                <el-date-picker
                  v-model="dateValue"
                  placeholder="选择日期"
                  size="small"
                  style="margin-left: 5px"
                  type="date"
                  @change="dateChange">
                </el-date-picker>
              </span>
              <span v-if="tableHeadFindData.length > 0" style="margin-left: 10px">
               <p style="font-size: 13px;display: inline-block;"> 状态:</p>
@@ -36,57 +46,62 @@
              </el-select></span>
            </div>
            <div class="custom-table">
              <el-table class="cus-table" ref="dataTable" v-loading="isLoading" :data="tableData"
                        :height="tableHeight"  border
                        @select="handleSelection" @cell-click="handleCellClick" @row-click="handleRowClick"
                        @select-all="handleSelectionAll" @selection-change="handleSelectionChange"
                        @sort-change="sortChange">
              <el-table ref="dataTable" v-loading="isLoading" :data="tableData"
                        :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
                        :height="tableHeight" border
                        class="cus-table" @select="handleSelection" @cell-click="handleCellClick"
                        @row-click="handleRowClick" @select-all="handleSelectionAll"
                        @selection-change="handleSelectionChange" @sort-change="sortChange">
                <el-table-column v-if="tableData.length != 0" fixed type="selection" width="55"></el-table-column>
                <el-table-column v-if="tableData.length != 0" fixed label="序号" type="index" width="55">
                </el-table-column>
                <!--              生命周期-->
                <el-table-column v-for="(item,index) in lcstatusArray" key="index" v-if=" lcstatusArray.length !== 0 && !item.hidden" label="生命周期值" prop="lcstatus"
                <!--                <el-table-column v-for="(item,index) in lcstatusArray"-->
                <!--                                 v-if=" lcstatusArray.length >= 0 && !item.hidden"-->
                <!--                                 key="index" :show-overflow-tooltip="true" :sortable="item.sortable"-->
                <!--                                 :width="item.width" align="center" label="生命周期值"-->
                <!--                                 prop="lcstatus">-->
                <!--                  <template slot-scope="scope">-->
                <!--                    <span>{{ scope.row.lcstatus_text }}</span>-->
                <!--                  </template>-->
                <!--                </el-table-column>-->
                <!--              编号-->
                <el-table-column v-for="(item, index) in CodeArray" v-if="CodeArray.length !== 0 && !item.hidden"
                                 key="index" :label="item.label" :prop="item.prop"
                                 :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width"
                                 align="center">
                  <template slot-scope="scope">
                    <span>{{ scope.row.lcstatus_text }}</span>
                  </template>
                </el-table-column>
                <!--              编号-->
                <el-table-column  v-for="(item, index) in CodeArray" key="index" v-if="CodeArray.length !== 0 && !item.hidden" :label="item.label" :prop="item.prop"
                                  :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width"
                                  align="center">
                  <template slot-scope="scope">
                    <el-link type="primary" @click="CodeLinkHandler(scope.row)">
                      {{ scope.row[item.prop] }}
                    </el-link>
                  </template>
                </el-table-column>
                <el-table-column v-for="item in this.tableHeadFindData" v-if="!item.hidden && item.prop !== 'id' && item.prop !== 'lcstatus'"
                <el-table-column v-for="item in this.tableHeadFindData"
                                 v-if="!item.hidden && item.prop !== 'id'"
                                 :key="item.id"
                                 :formatter="item.formatter"
                                 :label="item.label" :prop="item.prop"
                                 :label="item.label"
                                 :prop="item.prop"
                                 :show-overflow-tooltip="true"
                                 :sortable="item.sortable"
                                 :width="item.width"
                                 align="center">
                </el-table-column>
              </el-table>
            </div>
          </el-row>
          <!--          申请-->
          <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid"
                              :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid"
                              :visible.sync="applyvisible"
                              :visible.sync="applyvisible" status="apply"
                              type="add"
                              @submit="applySumbit">
          </FormTemplateDialog>
          <!--          修订-->
          <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'修改编码信息'"
                              :visible.sync="amendvisible"
                              type="edit" @submit="amendSumbit"></FormTemplateDialog>
                              :disabledProp="disabledProp" :selectRow="selectRow" :templateOid="templateOid"
                              :title="'数据修订'" :visible.sync="amendvisible" status="amend"
                              type="add" @submit="amendSumbit"></FormTemplateDialog>
          <!--          新增-->
          <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid"
                              :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid"
@@ -96,12 +111,15 @@
          </FormTemplateDialog>
          <!--          修改-->
          <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'修改编码信息'"
                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid"
                              :title="'修改编码信息'"
                              :visible.sync="editvisible"
                              type="edit" @submit="EditSumbit"></FormTemplateDialog>
          <!--          批量编辑-->
          <!--          <MasterEditBulk :visible.sync="bulkeditvisible" ></MasterEditBulk>-->
          <!--          数据详情-->
          <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
                               :rowOid="this.LinkObject.oid" :templateOid="templateOid"
                              :rowOid="this.LinkObject.oid" :templateOid="templateOid"
                              :title="'数据详情'"
                              :visible.sync="LinkVisible"
                              type="detail"></FormTemplateDialog>
@@ -131,6 +149,11 @@
                          :tableData="tableData"
                          :tableHeadData="tableHeadFindData" :templateOid="templateOid"
                          :visible.sync="dialogPush"></MasterTransfer>
          <!--        导入-->
          <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :resetTable="CrudRend"
                       :selectRow="selectRow" :tableHeadData="tableHeadFindData"
                       :visible.sync="batchImportData.visible">
          </BatchImport>
          <!--          相似项-->
          <ResembleQueryDialog :codeClassifyOid="codeClassifyOid" :codeRuleOid="this.codeRuleOid" :rowOid="rowOid"
                               :templateOid="templateOid" :visible.sync="similarVisible"></ResembleQueryDialog>
@@ -141,13 +164,23 @@
                           @current-change="handleCurrentChange">
            </el-pagination>
          </div>
          <el-dialog v-loading="syncLoading" :visible.sync="syncDialogBox" append-to-body title="手动同步" top="200px"
                     width="30%" @close="syncClose">
            <p style="display: inline-block">最后更新时间:</p>
            <el-date-picker
              v-model="SyncValue"
              format="yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒"
              placeholder="选择日期"
              style="width: 300px"
              type="date"
              value-format="yyyy-MM-dd HH:mm:ss">
            </el-date-picker>
            <div slot="footer" class="dialog-footer">
              <el-button @click="syncClose">取 消</el-button>
              <el-button type="primary" @click="submitSync">确 定</el-button>
            </div>
          </el-dialog>
        </div>
      </div>
      <div>
<!--        导入-->
        <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :resetTable="CrudRend"
                     :visible.sync="batchImportData.visible">
        </BatchImport>
      </div>
      <div class="bottom">
        <el-collapse v-model="visibleNames" @change="handleCollapse">
@@ -169,7 +202,10 @@
  deleteCode,
  upSaveCode,
  applyGroupCode,
  receiveEditApply
  receiveEditApply,
  applySaveCode,
  exportGroupCodeExcel,
  syncSearch
} from "@/api/GetItem";
import {processTS, changeStatus} from "@/api/template/setPersonnel"
import {listCodeAttributeByClassId} from "@/api/integration/integration.js";
@@ -177,10 +213,12 @@
import SetPersonnel from "@/components/template/SetPersonnel";
import ResembleQueryDialog from "@/components/FormTemplate/ResembleQueryDialog.vue";
import BatchImport from '@/components/BatchImport'
import MasterEditBulk from '@/components/Master/MasterEditBulk'
import {validatenull} from "@/util/validate";
import fileInHtml from "@/components/file/inHtml.vue";
import {getUserInfo} from "@/api/system/user";
import func from "@/util/func";
import moment from "moment/moment";
export default {
  components: {
@@ -188,7 +226,8 @@
    SetPersonnel,
    ResembleQueryDialog,
    BatchImport,
    fileInHtml
    fileInHtml,
    MasterEditBulk
  },
  name: "Crud.vue",
  props: {
@@ -237,17 +276,33 @@
    Treedata: {
      type: Array
    },
    nodeClickList: {
      type: Array,
      default: []
    }
  },
  data() {
    return {
      //手动同步model
      SyncValue: '',
      syncLoading: false,
      syncDialogBox: false,
      isTimeStatus: false,
      isTimeName: '',
      dateValue: "",
      //批量编辑对话框
      bulkeditvisible: false,
      LinkVisible: false,
      LinkObject: {}, // 编码数据
      LinkList: [],
      isCodeArrayPushed: false, // 编码数组添加标识变量
      CodeArray: [],
      lcstatusArray:[],
      islcstatusPushed:false,
      //生命周期数组
      lcstatusArray: [],
      //参照数据数组
      referArray: [],
      islcstatusPushed: false,
      isReferPushed: false,
      // 状态搜索
      statusSelect: "all",
      // 关键字查询
@@ -263,7 +318,6 @@
        btmtype: '',
        code: "",
        type: '',
        // this.visibleDeactivate ?'ENABLE':this.visibleEnable ? 'DISABLE' :this.visibleRecovery ? 'ROLLBACK' :'PUBLIC'
        processName: "",
        vars: {
          codeClassifyOid: "",
@@ -285,9 +339,8 @@
        key: "oid",
        label: "name",
      },
      tableHeadFindDatas: [],
      applyvisible:false,
      amendvisible:false,
      applyvisible: false,
      amendvisible: false,
      addvisible: false,
      editvisible: false,
      findvisible: false,
@@ -325,17 +378,10 @@
      },
      // 主数据按钮
      masterVrBtnList: [],
      fileOptions: {
        ownbizOid: "0",
        ownbizBtm: "0",
        fileDocClassify: '!=processAuditSuggest',
        fileDocClassifyName: '',
        hasDownload: true,
        hasUpload: true,
        height: 110
      },
      fileOptions: {},
      result: '',
      elapsedTime:'',
      elapsedTime: '',
      conditionMap: [],
    };
  },
  computed: {
@@ -348,8 +394,6 @@
    },
  },
  created() {
    // const index = this.$route.query.id.indexOf('@name=') + '@name='.length;
    // this.result = this.$route.query.id.substring(index);
    getUserInfo().then(res => {
      this.result = res.data.data.realName
    })
@@ -363,9 +407,16 @@
    this.doLayout()
  },
  watch: {
    isLoading: {
      handler(newval) {
        // console.log(newval)
      }
    },
    tableHeadDataFateher: {
      handler(newval, oldval) {
        this.options = newval.tableDefineVO.seniorQueryColumns
        if (Object.keys(newval).length > 0) {
          this.options = newval.tableDefineVO.seniorQueryColumns;
        }
      }
    },
    codeClassifyOid: {
@@ -377,8 +428,23 @@
    tableDataArray: {
      handler(newval, oldval) {
        this.tableData = newval;
        this.searchResults = newval
        this.doLayout()
        this.searchResults = newval;
        this.doLayout();
        if (newval.length > 0) {
          this.fileOptions = {
            ownbizOid: "0",
            ownbizBtm: "0",
            fileDocClassify: '!=processAuditSuggest',
            fileDocClassifyName: '',
            hasDownload: true,
            hasUpload: true,
            hasEdit: true,
            hasDel: true,
            height: 'auto'
          }
        } else {
          this.fileOptions = {};
        }
      },
    },
    tableHeadFindData: {
@@ -399,30 +465,40 @@
          }
          if (_index == 0) {
            this.keyWordFind = record.queryField
            this.keyWordFind = record.queryField;
          }
          ;
          // if(record.fieldType === "datetime"){
          //       this.isTimeStatus = true;
          //       console.log(this.isTimeStatus)
          //       console.log(record)
          // }
        })
        this.tableHeadFindDatas = newval;
        // console.log('new',newval)
        if (!this.isCodeArrayPushed) {
        if (newval) {
          this.CodeArray = [];
          if (newval.find(item => item.prop === 'id')) {
            this.CodeArray.push(newval.find(item => item.prop === 'id'));
          } else {
            this.CodeArray.push([]);
            this.CodeArray = [];
          }
          // console.log('CodeArray', this.CodeArray);
          this.isCodeArrayPushed = true;
        }
        if (!this.islcstatusPushed) {
        if (newval) {
          this.lcstatusArray = [];
          if (newval.find(item => item.prop === 'lcstatus')) {
            this.lcstatusArray.push(newval.find(item => item.prop === 'lcstatus'));
          } else {
            this.lcstatusArray.push([]);
            this.lcstatusArray = [];
          }
          // console.log('lcstatusArray', this.lcstatusArray);
          this.islcstatusPushed = true;
        }
        // console.log('new',newval)
        if (newval) {
          this.referArray = [];
          if (newval.find(item => Object.keys(item.referConfig).length > 0)) {
            this.referArray.push(newval.find(item => Object.keys(item.referConfig).length > 0));
          } else {
            this.referArray = [];
          }
        }
        this.WupinFindValue = ''
      },
    },
@@ -434,23 +510,27 @@
    templateOid: {
      handler(newval, oldval) {
        this.fileOptions.ownbizOid = "0";
        this.statusSelect = 'all'
      },
      deep: true,
    },
    tableHeadBtnData: {
      handler(newval) {
          this.masterVrBtnList = newval
        this.masterVrBtnList = newval
      },
      deep: true
    },
  },
  methods: {
    // 置空查询条件
    resetConditionMap() {
      this.conditionMap = {};
    },
    CodeLinkHandler(row) {
      this.LinkObject = row;
      this.LinkVisible = true;
      this.LinkList = Object.keys(row).map(property => property)
      // console.log(result);
      // console.log(this.LinkObject)
    },
    //状态搜索
    cellSelectHandler(row) {
@@ -461,6 +541,8 @@
      }
    },
    cellStatusFind(lcstatus) {
      this.isLoading = true;
      this.conditionMap["conditionMap[lcstatus]"] = lcstatus;
      TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
@@ -468,7 +550,10 @@
        limit: this.page.pageSize,
        'conditionMap[lcstatus]': lcstatus
      }).then(res => {
        this.tableData = res.data.data
        // console.log(res)
        this.tableData = res.data.data;
        this.page.total = res.data.total;
        this.isLoading = false;
      })
    },
    //展开附件
@@ -516,32 +601,157 @@
        if (uniqueFlag === 'CODEAPPLY') return this.codeApplyHandler()
        //  标准修订
        if (uniqueFlag === 'CODEAMEND') return this.codeAMENDHandler()
        //批量编辑
        if (uniqueFlag === 'bulkEdit') return this.bulkEditHandler("bulkEdit")
        //集团码导出
        if (uniqueFlag === 'excelGroupCode') return this.excelGroupCode()
        //集团码导入
        if (uniqueFlag === 'importGroupCode') return this.importGroupCode("groupCode")
        //手动同步
        if (uniqueFlag === 'manualSyncing') return this.manualSyncing("groupCode")
      });
    },
    //手动同步
    manualSyncing() {
      this.syncDialogBox = true;
    },
    //手动同步关闭
    syncClose() {
      this.syncDialogBox = false;
    },
    //手动同步确定
    async submitSync() {
      if (this.SyncValue) {
        this.syncLoading = true;
        const response = await syncSearch({endDate: this.SyncValue})
        console.log('response',response)
        if (response.data.code === 200) {
          this.$message.success('同步成功!')
          this.syncLoading = false;
          this.syncDialogBox = false;
          this.SyncValue = "";
        } else {
          this.syncLoading = false;
          this.syncDialogBox = false;
          this.SyncValue = "";
        }
      } else {
        this.$message.warning('请选择最后更新时间!')
      }
    },
    //集团码导入
    importGroupCode(type) {
      this.batchImportData.visible = true
      this.batchImportData.type = type
      this.batchImportData.codeClassifyOid = this.codeClassifyOid
    },
    //集团码导出
    excelGroupCode() {
      this.isLoading = true;
      exportGroupCodeExcel({
        codeClassifyOid: this.codeClassifyOid,
      }).then(res => {
        // let reader = new FileReader();
        // reader.readAsText(res.data);
        // reader.onload = () => {
        //   try {
        //     let resData = JSON.parse(reader.result);  // 解析对象成功
        //     if (!resData.success) {
        //       this.$message.error(resData.msg);
        //       this.isLoading = false;
        //     }
        //   } catch (err) {
        //     // 解析成对象失败,说明是正常的文件流
        //     func.downloadFileByBlobHandler(res);
        //     this.$message.success('下载成功,请查看!');
        //     this.isLoading = false;
        //   }
        // };
        func.downloadFileByBlobHandler(res);
        this.$message.success('下载成功,请查看!');
        this.isLoading = false;
      }).catch(error => {
        this.$message.error(error);
      });
    },
    //标准申请
    codeApplyHandler(){
    codeApplyHandler() {
      this.$nextTick(() => {
        this.applyvisible = true;
      });
    },
    applySumbit(){
    applySumbit(val) {
      // console.log('val',val)
      if (func.notEmpty(val.ts)) {
        val.ts = func.formattedDateTime(val.ts);
        //console.log(val.ts);
      }
      applySaveCode(val).then(res => {
        this.$nextTick(() => {
          this.applyvisible = false;
          this.$message.success("保存成功");
          this.onLoad()
        })
      })
    },
    amendSumbit(){
    amendSumbit(val) {
      applySaveCode(val).then(res => {
        this.$nextTick(() => {
          this.amendvisible = false;
          this.$message.success("保存成功");
          this.onLoad()
        })
      })
    },
    //标准修订
    codeAMENDHandler(){
      if (this.selectRow.length !== 1) {
        this.$message.warning("请选择一条数据");
      } else if (this.selectRow[0].lcstatus !== "Editing") {
        this.$message.warning("编码状态不是“编辑中”,不可编辑");
    codeAMENDHandler() {
      let foundItem = false;
      this.tableHeadFindData.forEach(item => {
        if (item.field === "oldcode" && Object.keys(item.referConfig).length >= 1) {
          foundItem = true;
        }
      });
      if (foundItem) {
        if (this.selectRow.length >= 1) {
          this.$confirm('已有参照是否取消勾选继续执行?', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning'
          }).then(() => {
            this.selectRow = [];
            //取消勾选状态
            this.$refs.dataTable.clearSelection();
            this.amendvisible = true;
          }).catch(() => {
            this.$message({
              type: 'info',
              message: '已取消当前操作'
            });
          });
        } else {
          this.amendvisible = true;
        }
      } else {
        this.amendvisible = true;
        this.rowOid = this.selectRow[0].oid;
        if (this.selectRow.length <= 0) {
          this.$message.warning("请至少选择一条数据");
        } else {
          this.amendvisible = true;
        }
      }
    },
    addSaveHandler(){
    //批量编辑
    bulkEditHandler(type) {
      if (this.nodeClickList.children.length >= 1) {
        this.$message.warning('当前选择的分类不是叶子节点,不允许批量编辑!')
        return;
      }
      this.batchImportData.visible = true
      this.batchImportData.type = type
      this.batchImportData.codeClassifyOid = this.codeClassifyOid
    },
    addSaveHandler() {
      this.$nextTick(() => {
        this.addvisible = true;
      });
@@ -551,9 +761,6 @@
      if (this.selectRow.length <= 0) {
        this.$message.warning('请选择一条数据模板!')
      } else {
        // const requestData = this.selectRow.forEach(item => {
        //   return { oids: item.oid, btmName: item.btmname };
        // });
        const oids = this.selectRow.map(item => item.oid).join(',');
        applyGroupCode({oids, btmName: this.selectRow[0].btmname}).then(res => {
          if (res.data.code == 200) {
@@ -568,9 +775,6 @@
      if (this.selectRow.length <= 0) {
        this.$message.warning('请选择一条数据模板!')
      } else {
        // const requestData = this.selectRow.forEach(item => {
        //   return { oids: item.oid, btmName: item.btmname };
        // });
        const oids = this.selectRow.map(item => item.oid).join(',');
        receiveEditApply({oids, btmName: this.selectRow[0].btmname}).then(res => {
          if (res.data.code == 200) {
@@ -729,6 +933,7 @@
        codeClassifyOid: this.codeClassifyOid,
        page: this.page.currentPage,
        limit: this.page.pageSize,
        ...this.conditionMap, /**带上分页查询条件 */
      });
      const endTime = performance.now();
      this.elapsedTime = Math.floor(endTime - startTime) * 1;
@@ -790,7 +995,7 @@
        });
      });
    },
    // 将正在编辑的行的状态变为 null ,即退出编辑状态
    //将正在编辑的行的状态变为 null ,即退出编辑状态
    saveRow() {
      this.editingRow = null;
    },
@@ -803,40 +1008,46 @@
      })
    },
    // 排序
    sortChange(val) {
      // console.log(val)
      this.isLoading = true;
      let order = "";
      if (val.order == "ascending") {
        order = "asc";
      } else {
        order = "desc";
    async sortChange(val) {
      try {
        this.isLoading = true;
        const order = val.order == 'ascending' ? 'asc' : 'desc';
        const {data} = await TableData({
          templateOid: this.templateOid,
          codeClassifyOid: this.codeClassifyOid,
          order: order,
          sort: val.prop,
          page: this.page.currentPage,
          limit: this.page.pageSize,
          ...this.conditionMap
        });
        this.data = data.data;
      } finally {
        this.isLoading = false;
      }
      TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
        order: order,
        sort: val.prop,
        page: this.page.currentPage,
        limit: this.page.pageSize,
      }).then((res) => {
        setTimeout(() => {
          this.data = res.data.data;
          this.isLoading = false;
        }, 100);
      });
    },
    //分页刷新
    async onLoad(val) {
      await TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
        page: this.page.currentPage,
        limit: this.page.pageSize,
      }).then((res) => {
      this.isLoading = true;
      try {
        let conditionMap = {};
        if (this.statusSelect !== 'all') {
          conditionMap.lcstatus = this.statusSelect;
        }
        const res = await TableData({
          templateOid: this.templateOid,
          codeClassifyOid: this.codeClassifyOid,
          page: this.page.currentPage,
          limit: this.page.pageSize,
          conditionMap
        });
        this.tableData = res.data.data;
        this.doLayout()
      });
        this.doLayout();
      } catch (error) {
        this.$message.error(error)
      } finally {
        this.isLoading = false;
      }
    },
    //多选
    handleSelectionChange(list) {
@@ -869,43 +1080,54 @@
      this.findvisible = true;
    },
    // 高级查询
    echoContion(val) {
      FindData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
        ...val,
      }).then((res) => {
    async echoContion(val) {
      this.conditionMap = val;
      try {
        const res = await FindData({
          templateOid: this.templateOid,
          codeClassifyOid: this.codeClassifyOid,
          ...val,
          page: this.page.currentPage = 1, /** 每次点击高级查询都应该从第一页开始*/
          limit: this.page.pageSize
        });
        this.tableData = res.data.data;
        this.page.total = res.data.total
      });
      } catch (error) {
      }
    },
    //相似项查询
    similarHandler() {
      if (this.selectRow.length <= 0) {
        this.$message.warning("请选择一条数据");
      } else if (this.selectRow.length > 1) {
        this.$message.warning("只能选择一条数据");
      } else {
        this.similarVisible = true;
        return;
      }
      if (this.selectRow.length > 1) {
        this.$message.warning("只能选择一条数据");
        return;
      }
      this.similarVisible = true;
    },
    //数据更改
    DataChange() {
      if (this.selectRow.length <= 0) {
        this.$message.warning("请选择一条数据");
      } else if (this.selectRow.length > 1) {
        this.$message.warning("只能选择一条数据");
      } else if (this.selectRow[0].lcstatus != "Released") {
        this.$message.warning("只有状态为已发布的数据才能进行数据更改");
      } else {
        this.DataVisible = true;
        this.rowOid = this.selectRow[0]['oid']
        return
      }
      if (this.selectRow.length > 1) {
        this.$message.warning("只能选择一条数据");
        return;
      }
      if (this.selectRow[0].lcstatus != "Released") {
        this.$message.warning("只有状态为已发布的数据才能进行数据更改");
        return;
      }
      this.DataVisible = true;
      this.rowOid = this.selectRow[0]['oid']
    },
    //增加保存
    AddSumbit(val) {
      // console.log('val',val)
      if(func.notEmpty(val.ts)) {
      if (func.notEmpty(val.ts)) {
        val.ts = func.formattedDateTime(val.ts);
        //console.log(val.ts);
      }
@@ -944,22 +1166,57 @@
      this.batchImportData.type = type
      this.batchImportData.codeClassifyOid = this.codeClassifyOid
    },
    searchChange(val) {
      this.isTimeName = val;
      this.isTimeStatus = this.tableHeadFindData.some(item => {
        if (item.fieldType === "datetime" && item.prop === val) {
          return true;
        }
        return false;
      });
      // console.log(this.isTimeStatus)
    },
    dateChange(val) {
      if (val) {
        const momentDate = moment(this.dateValue);
        const dateString = momentDate.format("yyyy-MM-DD");
        this.isLoading = true;
        try {
          TableData({
            templateOid: this.templateOid,
            codeClassifyOid: this.codeClassifyOid,
            page: this.page.currentPage,
            limit: this.page.pageSize,
            ['conditionMap[' + this.keyWordFind + ']']: dateString
          }).then(res => {
            this.tableData = res.data.data;
            this.page.total = res.data.total;
          })
        } finally {
          this.isLoading = false;
        }
      }
    },
    //输入回车搜索
    tableFindInp() {
      /*if (this.WupinFindValue.trim() === '') {
        this.$message.warning('输入值不能为空')
        return;
      }*/
      TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
        page: this.page.currentPage,
        limit: this.page.pageSize,
        ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*'
      }).then(res => {
        this.tableData = res.data.data;
        // this.page.total = res.data.data.total;
      })
      this.isLoading = true;
      try {
        this.conditionMap = {};
        // 存储查询条件,主要是为了点击页码时带上这个条件
        this.conditionMap["conditionMap[" + this.keyWordFind + "]"] = '*' + this.WupinFindValue + '*';
        TableData({
          templateOid: this.templateOid,
          codeClassifyOid: this.codeClassifyOid,
          page: this.page.currentPage,
          limit: this.page.pageSize,
          ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*'
        }).then(res => {
          this.tableData = res.data.data;
          this.page.total = res.data.total;
        })
      } finally {
        this.isLoading = false;
      }
    }
  }
@@ -967,10 +1224,18 @@
</script>
<style lang="scss" scoped>
/deep/ .el-table__fixed-body-wrapper {
  .el-table__body {
    padding-bottom: 15px;
  }
}
//固定列高度
/deep/ .el-table__fixed {
  height: calc(100vh - 370px)!important;
  height: calc(100vh - 365px) !important;
}
// 滚动条样式修改
// 滚动条的宽度
/deep/ .el-table__body-wrapper::-webkit-scrollbar {
@@ -980,6 +1245,7 @@
  width: 10px;
}
// 滚动条的滑块
/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb {
  background-color: #ececec;
@@ -999,20 +1265,20 @@
.main {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 150px);
  height: calc(100vh - 145px);
  min-height: 400px;
}
.top {
  overflow-y: scroll;
  min-height: 55%;
  min-height: 40%;
}
.bottom {
  margin-top: 10px;
}
 .el-table__body-wrapper{
.el-table__body-wrapper {
  height: calc(100% - 44px) !important;
}
</style>