Prechádzať zdrojové kódy

审核时间报错修改

liaolijun 1 mesiac pred
rodič
commit
017698abd6

+ 3 - 3
cors.js

@@ -205,9 +205,9 @@ module.exports = {
       }
     }
   },
-  // devModules: ['index', 'resourceManager']
+  // devModules: ['index', 'entrustedManagement','approveManagement','screeningTests', 'resourceManager']
   //devModules: ['reportForm', 'screeningTests', 'index',  'entrustedManagement','measurementDataManagement', 'approveManagement', 'testAnalysis', 'resourceManager', 'taskManagement']
-   devModules: ['all']
-  //  devModules:['index']
+  //  devModules: ['all']
+   devModules:['index']
   // devModules: ['index',  'entrustedManagement','approveManagement','sampleManager']
 }

+ 1 - 1
src/views/approveManagement/components/fourApprove.vue

@@ -1372,7 +1372,7 @@ export default {
         .then((res) => {
           if (res.code == 0 || res.code == 200) {
             this.tableData1 = res.data.data.list;
-            this.cols = res.data.head;//如何动态获取表头!!!!
+            this.cols = res.data.head;
             this.total_main = res.data.data.total;
             if (this.tableData1.length > 0) {
               this.isShowSuppName = res.data.data.list[0].SUPP_NAME

+ 1 - 19
src/views/approveManagement/components/secondApprove.vue

@@ -20,28 +20,10 @@
           <el-date-picker v-model="searchForm.times[0]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
             placeholder="开始日期" size="mini" style="width: 140px" :default-time="'00:00:00'">
           </el-date-picker>
-          <!-- <el-date-picker v-model="searchForm.times[0]" value-format="yyyy-MM-dd HH:mm:ss" format="" type="date"
-            placeholder="开始日期" size="mini" style="width: 140px" :default-time="'00:00:00'">
-          </el-date-picker> -->
           <span>至</span>
           <el-date-picker v-model="searchForm.times[1]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
             placeholder="结束日期" size="mini" style="width: 140px" :default-time="'23:59:59'">
           </el-date-picker>
-          <!-- <el-date-picker v-model="searchForm.times[1]" value-format="yyyy-MM-dd HH:mm:ss" format="" type="date"
-            placeholder="结束日期" size="mini" style="width: 140px" :default-time="'23:59:59'">
-          </el-date-picker> -->
-          <!-- <el-date-picker
-            v-model="searchForm.times"
-            type="daterange"
-            range-separator="至"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            size="small"
-            style="width: 350px"
-            value-format="yyyy-MM-dd HH:mm:ss"
-            :default-time="['00:00:00', '23:59:59']"
-          >
-          </el-date-picker> -->
         </el-form-item>
         <el-form-item>
           <el-button icon="el-icon-search" type="goon" size="mini" @click="searchData">查询</el-button>
@@ -74,7 +56,7 @@
               </div>
             </div>
             <div class="common-table-div">
-              <el-table ref="table1" :height="theight1" v-loading="tableLoading4" :data="tableData4"
+              <el-table ref="table1" :height="theight1" v-loading="tableLoading4" :data="tableData4" :row-class-name="tableRowClassName0"
                 :cell-class-name="tableRowClassName" :summary-method="getSummaries2" show-summary
                 @row-click="searchAnalyze" border @selection-change="searchFollow"
                 :header-cell-style="tableHeaderCellStyle" highlight-current-row :icorePanelShown="100"

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 382 - 347
src/views/resourceManager/components/fluidManagement/fluidManagement.vue


+ 86 - 61
src/views/resourceManager/components/goodsMangement/goodsMangementruku.vue

@@ -11,18 +11,21 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="物品名称" >
-          <el-input v-model="search.stuffName" size="small" style="width: 150px;" placeholder="请输入物品名称" ></el-input>
+        <el-form-item label="物品名称">
+          <el-input v-model="search.stuffName" size="small" style="width: 150px;" placeholder="请输入物品名称"></el-input>
         </el-form-item>
         <el-form-item label="入库时间">
-          <el-date-picker v-model="search.times" type="datetimerange" range-separator="至" start-placeholder="开始日期"
-            end-placeholder="结束日期" size="small" style="width:250px" value-format="yyyy-MM-dd HH:mm:ss"
-            :default-time="['00:00:00', '23:59:59']">
+          <el-date-picker v-model="search.times[0]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
+            placeholder="开始日期" size="mini" style="width: 140px" :default-time="'00:00:00'">
+          </el-date-picker>
+          <span>至</span>
+          <el-date-picker v-model="search.times[1]" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date"
+            placeholder="结束日期" size="mini" style="width: 140px" :default-time="'23:59:59'">
           </el-date-picker>
         </el-form-item>
         <el-form-item>
           <el-button icon="el-icon-search" type="primary" size="mini" @click="searchData">查询</el-button>
-          <el-button icon="el-icon-refresh"  size="mini" @click="reset">重置</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="reset">重置</el-button>
         </el-form-item>
       </el-form>
     </div>
@@ -50,7 +53,7 @@
         <!-- 物品入库表表格 -->
         <div class="common-table-div">
           <div class="table-wrapper" :style="{ transform: `scale(${scale})`, transformOrigin: 'top left' }">
-            <el-table v-loading="dataLoading3" ref="dataTable3" border :height="height_bot" highlight-current-row
+            <el-table v-loading="dataLoading3" ref="dataTable3" border :height="height_top" highlight-current-row
               @selection-change="handleSelectionChange3" :data="table.list3" :icore-filter-flag="icoreFilterFlag"
               :header-cell-style="tableHeaderCellStyle" :summary-method="getSummaries" show-summary
               :cell-class-name="tableRowClassName3" @row-click="getRowCheck2"
@@ -119,6 +122,12 @@
               <el-table-column sortable :show-overflow-tooltip="true" min-width="140px" prop="updateTime" label="更新时间"
                 align="center"></el-table-column>
             </el-table>
+            <div class="zy-foot-page">
+              <el-pagination v-loading="dataLoading" @size-change="pageSizeChange3" @current-change="pageCurrentChange3"
+                :current-page="page3.pageNum" :page-sizes="[10, 20, 50, 100, 200]" :page-size="page3.pageSize"
+                layout="total, sizes, prev, pager, next, jumper" :total="page3.totalPage" background>
+              </el-pagination>
+            </div>
           </div>
         </div>
       </el-tabs>
@@ -181,6 +190,11 @@ export default {
   components: { alertComponents, alertComponents2, alertComponents3, alertComponents31, alertComponents4, alertComponents5, alertComponents6, alertComponents7, alertComponents8, alertComponents9 },
   data() {
     return {
+      headerHeight: 0, // 搜索栏高度
+      titleHeight: 0, // 标题栏高度
+      footerHeight: 0, // 分页栏高度
+      minTableHeight: 250, // 表格最小高度阈值
+      resizeObserver: null, // 窗口监听对象
       scale: 1, // 缩放比例
       table: {
         list: [],
@@ -271,7 +285,7 @@ export default {
       search: {
         stuffName: '',
         stuffTypeName: '',
-        times: [],
+        times: "",
       },
       search1: {
         stuffName: '',
@@ -283,30 +297,52 @@ export default {
       activeName: 'first',
     }
   },
+
   created() {
-    this.height_top = window.innerHeight / 2 - 130 < 250 ? 250 : window.innerHeight / 2 - 110;
-    this.height_bot = window.innerHeight - 130 < 550 ? 550 : window.innerHeight - 150;
-    this.search.times = [this.getYNM(new Date()) + ' 00:00:00', this.getYNM(new Date()) + ' 23:59:59']
+    // this.height_top = window.innerHeight / 2 - 130 < 250 ? 250 : window.innerHeight / 2 - 110;
+    // this.height_bot = window.innerHeight - 130 < 550 ? 550 : window.innerHeight - 150;
+    // this.search.times = [this.getYNM(new Date()) + ' 00:00:00', this.getYNM(new Date()) + ' 23:59:59']
+    let timestamp = new Date().getTime() - 7 * 24 * 60 * 60 * 1000; // 默认前一周
+    this.search.times = [this.getYNM(new Date(timestamp)), this.getYNM(new Date())]
   },
   mounted() {
-    // 初始化时计算一次缩放比例
-    this.calculateScale();
-    // 监听窗口大小变化
-    window.addEventListener("resize", this.calculateScale);
-    this.getDataList();
-    this.addScreen();
-    this.addScreen2();
-    this.addScreen3();
-    this.addScreen4();
-    this.addScreen5();
-    this.addScreen6();
+    this.calcTableHeight();
     this.getStuffTypeNameList()
+    this.getDataList3();
+    window.addEventListener('resize', this.calcTableHeight);
+    this.resizeObserver = new ResizeObserver(() => {
+      this.calcTableHeight();
+    });
+    const headerEl = document.querySelector('.zy-head-search');
+    const titleEl = document.querySelector('.zy-title-div');
+    const footerEl = document.querySelector('.zy-foot-page');
+    if (headerEl) this.resizeObserver.observe(headerEl);
+    if (titleEl) this.resizeObserver.observe(titleEl);
+    if (footerEl) this.resizeObserver.observe(footerEl);
   },
   beforeDestroy() {
-    // 销毁时移除事件监听,防止内存泄漏
-    window.removeEventListener("resize", this.calculateScale);
+    window.removeEventListener("resize", this.calcTableHeight);
   },
   methods: {
+    calcTableHeight() {
+      this.$nextTick(() => {
+        const headerEl = document.querySelector('.zy-head-search');
+        const titleEl = document.querySelector('.zy-title-div');
+        const footerEl = document.querySelector('.zy-foot-page');
+
+        this.headerHeight = headerEl ? headerEl.offsetHeight : 0;
+        this.titleHeight = titleEl ? titleEl.offsetHeight : 0;
+        this.footerHeight = footerEl ? footerEl.offsetHeight : 0;
+
+        const totalReserveHeight = this.headerHeight + this.titleHeight + this.footerHeight + 20; // 20为额外边距(可调整)
+
+        const calcHeight = window.innerHeight / 2 - totalReserveHeight;
+        this.height_top = calcHeight < this.minTableHeight ? this.minTableHeight : calcHeight;
+        this.height_bot = this.height_top;
+
+        this.$refs.dataTable3.doLayout();
+      });
+    },
     getYNM(date) {
       let year = date.getFullYear().toString();
       let month = date.getMonth() + 1;
@@ -315,29 +351,6 @@ export default {
       day = day < 10 ? "0" + day : day;
       return `${year}-${month}-${day}`;
     },
-    // calculateScale() {
-    //   // 1. 获取容器和表格元素
-    //   const container = this.$el.querySelector(".common-table-div");
-    //   const tableWrapper = this.$el.querySelector(".table-wrapper");
-    //   if (!container || !tableWrapper) return;
-
-    //   // 2. 获取容器可见宽度和表格实际宽度
-    //   const containerWidth = container.clientWidth;
-    //   const table = tableWrapper.querySelector(".el-table__body-wrapper table") ||
-    //     tableWrapper.querySelector("table");
-    //   if (!table) return;
-    //   const tableWidth = table.offsetWidth;
-
-    //   if (tableWidth > containerWidth) {
-    //     this.scale = containerWidth / tableWidth;
-    //   } else {
-    //     this.scale = 1;
-    //   }
-
-    //   // 4. 调整 wrapper 高度,保证垂直滚动正常(关键)
-    //   const originalHeight = tableWrapper.scrollHeight / this.scale;
-    //   tableWrapper.style.height = `${originalHeight}px`;
-    // },
     getStuffTypeNameList() {
       this.axios.post('pass/baseManagement/v1/limsbaseinfos/queryBaseInfoByBaseCode', { validFlag: 1, baseCode: 4813 }, { individualType: 'json' })
         .then(res => {
@@ -492,26 +505,30 @@ export default {
     //     });
     //   },
     searchData() {
-      this.dataLoading3 = true;
+      // this.dataLoading3 = true;
+      // let startTime = '';
+      // let endTime = '';
+      // startTime = this.search.times[0] === '' ? '' : (this.search.times[0] + ' 00:00:00')
+      // endTime = this.search.times[1] === ''? '' : (this.search.times[1] + ' 23:59:59')
       let startTime = ''
       let endTime = ''
-      if (!this.search.times) {
+      if (this.search.times[0]==''||this.search.times[1]=='') {
         startTime = null
         endTime = null
       } else {
-        startTime = this.search.times[0]
-        endTime = this.search.times[1]
+        startTime = this.search.times[0]+ ' 00:00:00'
+        endTime = this.search.times[1]+ ' 23:59:59'
       }
-      let obj ={
-         stuffTypeName:this.search.stuffTypeName ,
-         stuffName:this.search.stuffName,
-         startTime:startTime,
-         endTime:endTime
+      let obj = {
+        stuffTypeName: this.search.stuffTypeName,
+        stuffName: this.search.stuffName,
+        startTime: startTime,
+        endTime: endTime
       }
-      this.axios.post('pass/baseManagement/v1/limslrcstuffis/selectRuku' + '?pageNum=' + this.page3.pageNum + '&pageSize=' + this.page3.pageSize,obj)
+      this.axios.post('pass/baseManagement/v1/limslrcstuffis/selectRuku' + '?pageNum=' + this.page3.pageNum + '&pageSize=' + this.page3.pageSize, obj)
         .then(res => {
           this.dataLoading3 = false;
-          this.table.list3 = res.list;
+          this.table.list3 = res.data.list;
           console.log('this.table.list3: ', this.table.list3.length, this.table.list3[0]);
           this.page3.totalPage = res.data.total;
         }).catch(e => {
@@ -523,6 +540,8 @@ export default {
     reset() {
       this.search.stuffTypeName = '';
       this.search.stuffName = '';
+      let timestamp = new Date().getTime() - 7 * 24 * 60 * 60 * 1000; // 默认前一周
+      this.search.times = [this.getYNM(new Date(timestamp)), this.getYNM(new Date())]
       this.getDataList3();
     },
     // 库存
@@ -1310,6 +1329,7 @@ export default {
     // 第三
     pageSizeChange3(size) {
       this.page3.pageSize = size;
+      // this.page3.pageNum = 1;
       this.getDataList3();
     },
     pageCurrentChange3(index) {
@@ -1442,19 +1462,24 @@ export default {
     },
     getDataList3() {
       this.dataLoading3 = true;
+      // let startTime = '';
+      // let endTime = '';
+      // startTime = this.search.times[0] === '' ? '' : (this.search.times[0] + ' 00:00:00')
+      // endTime = this.search.times[1] === '' ? '' : (this.search.times[1] + ' 23:59:59')
       let startTime = ''
       let endTime = ''
       if (!this.search.times) {
         startTime = null
         endTime = null
       } else {
-        startTime = this.search.times[0]
-        endTime = this.search.times[1]
+        startTime = this.search.times[0]+ ' 00:00:00'
+        endTime = this.search.times[1]+ ' 23:59:59'
       }
-      this.axios.get('pass/baseManagement/v1/limslrcstuffis/selectRuku' + '?pageNum=' + this.page3.pageNum + '&pageSize=' + this.page3.pageSize
+      this.axios.post('pass/baseManagement/v1/limslrcstuffis/selectRuku' + '?pageNum=' + this.page3.pageNum + '&pageSize=' + this.page3.pageSize
         + '&stuffTypeName=' + this.search.stuffTypeName + '&stuffName=' + this.search.stuffName
         + '&startTime=' + startTime + '&endTime=' + endTime)
         .then(res => {
+          console.log('res.......', res)
           this.dataLoading3 = false;
           this.table.list3 = res.data.list;
           this.page3.totalPage = res.data.total;

+ 324 - 243
src/views/screeningTests/components/commonCodeManagement/commonCodeManagement.vue

@@ -1,68 +1,99 @@
 <template>
-  <div class="examination" style="height:100%">
+  <div class="examination" style="height:100vh; overflow: hidden;">
     <div style="display: flex">
-       <div class="common-title-div-left" style="border-right: 1px solid rgb(233, 231, 231); border-bottom: 1px solid rgb(233, 231, 231); height: 100%; min-width: 300px">
-        <div class="common-title-name">
-        <img style="width: 25px; height: 25px" src='../../../../assets/img/imgScreen/logo.png' />
-        导航树
+      <div class="common-title-div-left"
+        style="border-right: 1px solid rgb(233, 231, 231); border-bottom: 1px solid rgb(233, 231, 231); height: 100%; min-width: 300px">
+        <div class="common-title-name" style="height: 40px; flex-shrink: 0;">
+          <img style="width: 25px; height: 25px" src='../../../../assets/img/imgScreen/logo.png' />
+          导航树
         </div>
-        <el-tree v-loading='dataLoading' ref="baseDataTree" :props="props" :data="baseDataTree"
-          highlight-current node-key="id" @node-click="nodeClick" :style="`height:${tableHeight}px`">
+        <el-tree v-loading='dataLoading' ref="baseDataTree" :props="props" :data="baseDataTree" highlight-current
+          node-key="id" @node-click="nodeClick" style="height: calc(100% - 40px); overflow: auto;">
         </el-tree>
-       </div>
-    <div>
-    <div class="common-title-div">
-      <div class="common-title-name">
-        <img style="width: 25px; height: 25px" src='../../../../assets/img/imgScreen/logo.png' />
-        公共代码
       </div>
       <div>
-      <el-button icon="el-icon-circle-plus-outline" type="goon" size="mini" @click="addData">新增</el-button>
-      <el-button icon="el-icon-edit" type="goon" size="mini" @click="modifyData">修改</el-button>
-      <el-button icon="el-icon-circle-close" type="danger" size="mini" @click="deleteData">停用</el-button>
-      <el-button icon="el-icon-check" type="goon" size="mini" @click="recoverData">启用</el-button>
-      </div>
-    </div>
-    <div class="common-table-div-right">
-       <el-table v-loading="dataLoading" ref="dataTable" border :height="tableHeight" highlight-current-row @selection-change="handleSelectionChange" :data="table.list" :icore-filter-flag="icoreFilterFlag"
-       :header-cell-style="tableHeaderCellStyle" :cell-class-name="tableRowClassName" :summary-method="getSummaries" show-summary>
-        <el-table-column type="index" label="NO" fixed="left" align="center">
-        </el-table-column>
-        <el-table-column type="selection" width="55" align="center"></el-table-column>
-        <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="baseCode" label="代码编码" align="center"></el-table-column>
-        <el-table-column sortable :show-overflow-tooltip="true" min-width="110px" prop="baseName" label="代码名称" align="center"></el-table-column>
-        <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="isEdit1" label="是否可编辑" align="center">
-            <!-- <template slot-scope="scope">
+        <div class="common-right"
+          style="flex: 1; display: flex; flex-direction: column; height: 100%; overflow: hidden;">
+          <div class="common-title-div">
+            <div class="zy-title-div">
+              <img style="width: 25px; height: 25px" src='../../../../assets/img/imgScreen/logo.png' />
+              公共代码
+            </div>
+            <div>
+              <el-button icon="el-icon-circle-plus-outline" type="goon" size="mini" @click="addData">新增</el-button>
+              <el-button icon="el-icon-edit" type="goon" size="mini" @click="modifyData">修改</el-button>
+              <el-button icon="el-icon-circle-close" type="danger" size="mini" @click="deleteData">停用</el-button>
+              <el-button icon="el-icon-check" type="goon" size="mini" @click="recoverData">启用</el-button>
+            </div>
+          </div>
+          <!-- <div class="common-table-div" style="margin-bottom:0;margin-top:0">
+            <el-table
+                v-loading="dataLoading"
+                ref="dataTable"
+                border
+                highlight-current-row
+                @selection-change="handleSelectionChange"
+                :data="table.list"
+                :height="height_top"
+                :icore-filter-flag="icoreFilterFlag"
+                :header-cell-style="tableHeaderCellStyle"
+                @row-click="getAllListByEmpNo"
+                :cell-class-name="tableRowClassName"
+                :summary-method="getSummaries"
+                show-summary
+                :exchangeFilterMap="{'validFlag':{'0':'已停用','1':'已启用'}}"
+            > -->
+          <div class="common-table-div-right" style="height: 100%;">
+            <el-table v-loading="dataLoading" ref="dataTable" border :height="tableHeight" class="el-table" style="height:100%"
+              highlight-current-row @selection-change="handleSelectionChange" :data="table.list"
+              :icore-filter-flag="icoreFilterFlag" :header-cell-style="tableHeaderCellStyle"
+              :cell-class-name="tableRowClassName" :summary-method="getSummaries" show-summary>
+              <el-table-column type="index" label="NO" fixed="left" align="center">
+              </el-table-column>
+              <el-table-column type="selection" width="55" align="center"></el-table-column>
+              <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="baseCode" label="代码编码"
+                align="center"></el-table-column>
+              <el-table-column sortable :show-overflow-tooltip="true" min-width="110px" prop="baseName" label="代码名称"
+                align="center"></el-table-column>
+              <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="isEdit1" label="是否可编辑"
+                align="center">
+                <!-- <template slot-scope="scope">
               <span v-if="scope.row.isEdit == 1">是</span>
               <span v-else-if="scope.row.isEdit == 0">否</span>
             </template> -->
-        </el-table-column>
-        <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="isSub1" label="是否允许添加子类" align="center">
-            <!-- <template slot-scope="scope">
+              </el-table-column>
+              <el-table-column sortable :show-overflow-tooltip="true" min-width="120px" prop="isSub1" label="是否允许添加子类"
+                align="center">
+                <!-- <template slot-scope="scope">
               <span v-if="scope.row.isSub == 1">是</span>
               <span v-else-if="scope.row.isSub == 0">否</span>
            </template> -->
-        </el-table-column>
-        <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="validFlag1" label="数据状态" align="center">
-          <!-- <template slot-scope="scope">
+              </el-table-column>
+              <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="validFlag1" label="数据状态"
+                align="center">
+                <!-- <template slot-scope="scope">
               <span v-if="scope.row.validFlag == 1">有效</span>
               <span v-else-if="scope.row.validFlag == 0">无效</span>
           </template> -->
-        </el-table-column>
-        <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="memo" label="备注" align="center"></el-table-column>
-        <el-table-column sortable :show-overflow-tooltip="true" min-width="165px" prop="createTime" label="创建时间" align="center"></el-table-column>
-        <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="createMan" label="创建人" align="center"></el-table-column>
-        <!-- <el-table-column width="165px" prop="updateTime" label="修改时间" align="center"></el-table-column>
+              </el-table-column>
+              <el-table-column sortable :show-overflow-tooltip="true" min-width="100px" prop="memo" label="备注"
+                align="center"></el-table-column>
+              <el-table-column sortable :show-overflow-tooltip="true" min-width="165px" prop="createTime" label="创建时间"
+                align="center"></el-table-column>
+              <el-table-column sortable :show-overflow-tooltip="true" min-width="80px" prop="createMan" label="创建人"
+                align="center"></el-table-column>
+              <!-- <el-table-column width="165px" prop="updateTime" label="修改时间" align="center"></el-table-column>
         <el-table-column width="95px" prop="updateMan" label="修改人" align="center"></el-table-column> -->
-      </el-table>
-    </div>
-    <div class="common-foot-style">
-        <el-pagination v-loading="dataLoading" @size-change="pageSizeChange" @current-change="pageCurrentChange"
-          :current-page="page.pageNum" :page-sizes="[10, 10, 50, 100, 100]" :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper"
-          :total="page.totalPage" background>
-        </el-pagination>
-    </div>
-    </div>
+            </el-table>
+          </div>
+          <div class="zy-foot-page" style="flex-shrink: 0; height: 50px;">
+            <el-pagination v-loading="dataLoading" @size-change="pageSizeChange" @current-change="pageCurrentChange"
+              :current-page="page.pageNum" :page-sizes="[10, 10, 50, 100, 100]" :page-size="page.pageSize"
+              layout="total, sizes, prev, pager, next, jumper" :total="page.totalPage" background>
+            </el-pagination>
+          </div>
+        </div>
+      </div>
     </div>
     <div is="alertComponets" :showFlag="showFlag" :Params="Params" :Params2="Params2" @refresh='refresh'></div>
   </div>
@@ -79,9 +110,15 @@ import alertComponets from './alertComponents';
 let userName = getCookie(cookieUserName);
 let userId = getCookie(cookieUserId);
 export default {
-  components: {alertComponets},
-  data () {
+  components: { alertComponets },
+  data() {
     return {
+      height_tree: 0,
+      headerHeight: 0, // 搜索栏高度
+      titleHeight: 0, // 标题栏高度
+      footerHeight: 0, // 分页栏高度
+      minTableHeight: 250, // 表格最小高度阈值
+      resizeObserver: null, // 窗口监听对象
       baseDataTree: [],
       selectBaseCodeNo: '',
       selectBaseItem: {},
@@ -89,23 +126,23 @@ export default {
         list: []
       },
       props: {
-          label: (data, node) => {
-            return data.baseName
-            // if (node.level === 1) {
-            //   // 第一层lable为src_name字段
-            //   return data.src_name
-            // } else if (node.level === 2 || node.level === 3) {
-            //   // 第二三层lable为name字段
-            //   return data.name
-            // }
-          },
-          // isLeaf: (data, node) => {
-          //   if (node.level === 3) {
-          //     // 第三层没有下一级节点
-          //     return true
-          //   }
+        label: (data, node) => {
+          return data.baseName
+          // if (node.level === 1) {
+          //   // 第一层lable为src_name字段
+          //   return data.src_name
+          // } else if (node.level === 2 || node.level === 3) {
+          //   // 第二三层lable为name字段
+          //   return data.name
           // }
         },
+        // isLeaf: (data, node) => {
+        //   if (node.level === 3) {
+        //     // 第三层没有下一级节点
+        //     return true
+        //   }
+        // }
+      },
       dataLoading: false,
       icoreFilterFlag: true,
       page: {
@@ -123,20 +160,62 @@ export default {
         strTypeName: '',
         strName: ''
       },
-      height_top:0,
+      height_top: 0,
     }
   },
-  mounted () {
+  beforeDestroy() {
+    window.removeEventListener("resize", this.calcTableHeight);
+  },
+  mounted() {
     this.getDataList();
     this.addScreen();
     this.getBaseDataList2()
+    window.addEventListener('resize', this.calcTableHeight);
+    this.resizeObserver = new ResizeObserver(() => {
+      this.calcTableHeight();
+    });
+    // const headerEl = document.querySelector('.zy-head-search');
+    const titleEl = document.querySelector('.common-title-div');
+    const footerEl = document.querySelector('.zy-foot-page');
+    // if (headerEl) this.resizeObserver.observe(headerEl);
+    if (titleEl) this.resizeObserver.observe(titleEl);
+    if (footerEl) this.resizeObserver.observe(footerEl);
   },
- created () {
-      this.tableHeight = window.innerHeight - 120
-      this.tableWidth = window.innerWidth - 500
+  created() {
+    // this.tableHeight = window.innerHeight - 120
+    // this.tableWidth = window.innerWidth - 500
   },
- methods: {
-  getSummaries(param) {
+  methods: {
+    calcTableHeight() {
+      this.$nextTick(() => {
+        // const headerEl = document.querySelector('.zy-head-search');
+        const titleEl = document.querySelector('.common-title-div');
+        const footerEl = document.querySelector('.zy-foot-page');
+
+        // this.headerHeight = headerEl ? headerEl.offsetHeight : 0;
+        this.titleHeight = titleEl ? titleEl.offsetHeight : 0;
+        this.footerHeight = footerEl ? footerEl.offsetHeight : 0;
+
+        // const totalReserveHeight = this.headerHeight + this.titleHeight + this.footerHeight + 20; // 20为额外边距(可调整)
+
+        // const totalReserveHeight = this.titleHeight + this.footerHeight + 20;
+        const calcHeight = window.innerHeight - this.titleHeight - this.footerHeight;
+        this.tableHeight = calcHeight < this.minTableHeight ? this.minTableHeight : calcHeight;
+        console.log('tableHeight:', this.tableHeight)
+        console.log('========== 高度调试 ==========');
+        console.log('窗口高度:', window.innerHeight);
+        console.log('表格容器高度:', this.titleHeight);
+        console.log('分页高度:', this.footerHeight);
+        // console.log('保留高度:', totalReserveHeight);
+        console.log('计算高度:', calcHeight);
+        console.log('最终tableHeight:', this.tableHeight);
+        console.log('页面总高度:', document.body.scrollHeight);
+        console.log('左侧树高度:', document.querySelector('.common-title-div-left').offsetHeight);
+        console.log('右侧容器高度:', document.querySelector('.common-table-div-right').parentElement.offsetHeight);
+        this.$refs.dataTable.doLayout();
+      });
+    },
+    getSummaries(param) {
       const { columns, data } = param;
       const sums = [];
       columns.forEach((column, index) => {
@@ -145,182 +224,182 @@ export default {
         }
         if (index === 1) {
           sums[index] = data.length;
-        } 
+        }
       });
       return sums;
-  },
-    refresh () {
+    },
+    refresh() {
       // this.getDataList();
-      this.getBaseDataList2 ();
-      this.getBaseDataList ();
+      this.getBaseDataList2();
+      this.getBaseDataList();
       this.selectBaseItem = {}
     },
-    addData () {
+    addData() {
       let _this = this;
       if (_this.selectBaseItem.isSub === '0') {
-          this.$message.warning('该父类不允许添加子类!')
+        this.$message.warning('该父类不允许添加子类!')
       } else {
-          _this.Params2 = []
-          _this.showFlag = !_this.showFlag;
-          _this.Params = null;
-          _this.Params2 = _this.selectBaseItem
+        _this.Params2 = []
+        _this.showFlag = !_this.showFlag;
+        _this.Params = null;
+        _this.Params2 = _this.selectBaseItem
       }
     },
-    modifyData () {
+    modifyData() {
       let _this = this;
       if (_this.multipleSelection.length !== 1) {
         this.$message.warning('请勾选您要修改的一条数据!')
       } else if (_this.multipleSelection[0].isEdit === '0') {
-          this.$message.warning('该数据不允许修改!')
+        this.$message.warning('该数据不允许修改!')
       } else {
         _this.showFlag = !_this.showFlag;
         _this.Params = _this.multipleSelection
       }
     },
-     recoverData () {
-       let _this = this;
-        if (_this.multipleSelection.length < 1) {
+    recoverData() {
+      let _this = this;
+      if (_this.multipleSelection.length < 1) {
         this.$message.warning('请勾选您要启用的数据!')
       } else {
         for (var i = 0; i < _this.multipleSelection.length; i++) {
-        _this.multipleSelection[i].updateMan = userName;
-        _this.multipleSelection[i].updateNo = userId
-        }
-        _this.axios.post('pass/baseManagement/v1/limsbaseinfos/recover', _this.multipleSelection, {individualType: 'json'}).then(res => {
-        if (res.succeed) {
-          _this.dialogTableVisible = false;
-         this.$message.success('启用成功');
-         _this.refresh()
-        } else {
-         this.$message.error(res.message)
+          _this.multipleSelection[i].updateMan = userName;
+          _this.multipleSelection[i].updateNo = userId
         }
+        _this.axios.post('pass/baseManagement/v1/limsbaseinfos/recover', _this.multipleSelection, { individualType: 'json' }).then(res => {
+          if (res.succeed) {
+            _this.dialogTableVisible = false;
+            this.$message.success('启用成功');
+            _this.refresh()
+          } else {
+            this.$message.error(res.message)
+          }
         }).catch(e => {
-         this.$message.error(e.message)
-       })
+          this.$message.error(e.message)
+        })
       }
     },
-    deleteData () {
-       let _this = this;
-        if (_this.multipleSelection.length < 1) {
+    deleteData() {
+      let _this = this;
+      if (_this.multipleSelection.length < 1) {
         this.$message.warning('请勾选您要停用的数据!')
       } else {
         for (var i = 0; i < _this.multipleSelection.length; i++) {
-        _this.multipleSelection[i].updateMan = userName;
-        _this.multipleSelection[i].updateNo = userId
-        }
-        _this.axios.post('pass/baseManagement/v1/limsbaseinfos/abolish', _this.multipleSelection, {individualType: 'json'}).then(res => {
-        if (res.succeed) {
-          _this.dialogTableVisible = false;
-         this.$message.success('停用成功');
-         _this.refresh()
-        } else {
-         this.$message.error(res.message)
+          _this.multipleSelection[i].updateMan = userName;
+          _this.multipleSelection[i].updateNo = userId
         }
+        _this.axios.post('pass/baseManagement/v1/limsbaseinfos/abolish', _this.multipleSelection, { individualType: 'json' }).then(res => {
+          if (res.succeed) {
+            _this.dialogTableVisible = false;
+            this.$message.success('停用成功');
+            _this.refresh()
+          } else {
+            this.$message.error(res.message)
+          }
         }).catch(e => {
-         this.$message.error(e.message)
-       })
+          this.$message.error(e.message)
+        })
       }
     },
-    handleSelectionChange (val) {
+    handleSelectionChange(val) {
       this.multipleSelection = val;
     },
-    pageSizeChange (size) {
+    pageSizeChange(size) {
       this.page.pageSize = size;
       this.getDataList();
     },
-    pageCurrentChange (index) {
+    pageCurrentChange(index) {
       this.page.pageNum = index;
       this.getDataList();
     },
-    addScreen () {
+    addScreen() {
       this.$nextTick(() => {
-          let ss = document.createElement('div');
-          ss.innerHTML = '筛选';
-          ss.style = 'text-align: center;'
-          this.$refs.dataTable.$el.getElementsByClassName('el-table__fixed')[0].getElementsByTagName('td')[0].appendChild(ss);
-       });
+        let ss = document.createElement('div');
+        ss.innerHTML = '筛选';
+        ss.style = 'text-align: center;'
+        this.$refs.dataTable.$el.getElementsByClassName('el-table__fixed')[0].getElementsByTagName('td')[0].appendChild(ss);
+      });
     },
-    getDataList () {
+    getDataList() {
       this.dataLoading = true;
       this.axios.get('pass/baseManagement/v1/limsbaseinfos/' + '?pageNum=' + this.page.pageNum + '&pageSize=' + this.page.pageSize + '&levelNum=0')
-            .then(res => {
-              this.dataLoading = false;
-              this.table.list = res.data.list;
-              for (let i = 0; i < this.table.list.length; i++) {
-              if (this.table.list[i].validFlag === '0') {
-                this.table.list[i].validFlag1 = '无效'
-              } else if (this.table.list[i].validFlag === '1') {
-                this.table.list[i].validFlag1 = '有效'
-              }
-              }
-              for (let i = 0; i < this.table.list.length; i++) {
-              if (this.table.list[i].isEdit === '0') {
-                this.table.list[i].isEdit1 = '否'
-              } else if (this.table.list[i].isEdit === '1') {
-                this.table.list[i].isEdit1 = '是'
-              }
-              }
-              for (let i = 0; i < this.table.list.length; i++) {
-              if (this.table.list[i].isSub === '0') {
-                this.table.list[i].isSub1 = '否'
-              } else if (this.table.list[i].isSub === '1') {
-                this.table.list[i].isSub1 = '是'
-              }
-              }
-              this.page.totalPage = res.data.total;
-            }).catch(e => {
-              this.dataLoading = false;
-            });
+        .then(res => {
+          this.dataLoading = false;
+          this.table.list = res.data.list;
+          for (let i = 0; i < this.table.list.length; i++) {
+            if (this.table.list[i].validFlag === '0') {
+              this.table.list[i].validFlag1 = '无效'
+            } else if (this.table.list[i].validFlag === '1') {
+              this.table.list[i].validFlag1 = '有效'
+            }
+          }
+          for (let i = 0; i < this.table.list.length; i++) {
+            if (this.table.list[i].isEdit === '0') {
+              this.table.list[i].isEdit1 = '否'
+            } else if (this.table.list[i].isEdit === '1') {
+              this.table.list[i].isEdit1 = '是'
+            }
+          }
+          for (let i = 0; i < this.table.list.length; i++) {
+            if (this.table.list[i].isSub === '0') {
+              this.table.list[i].isSub1 = '否'
+            } else if (this.table.list[i].isSub === '1') {
+              this.table.list[i].isSub1 = '是'
+            }
+          }
+          this.page.totalPage = res.data.total;
+        }).catch(e => {
+          this.dataLoading = false;
+        });
     },
-     nodeClick (item) {
-        this.selectBaseCodeNo = item.baseCode;
-        this.selectBaseItem = item;
-        this.getBaseDataList();
-      },
-      getBaseDataList () {
-        this.dataLoading = true;
-        this.axios.get('pass/baseManagement/v1/limsbaseinfos/' + 'like/?pageNum=' + this.page.pageNum + '&pageSize=' + this.page.pageSize +
-            '&baseCode=' + this.selectBaseCodeNo)
-          .then(res => {
-            this.dataLoading = false;
-            this.table.list = res.data.list;
-             for (let i = 0; i < this.table.list.length; i++) {
-              if (this.table.list[i].validFlag === '0') {
-                this.table.list[i].validFlag1 = '无效'
-              } else if (this.table.list[i].validFlag === '1') {
-                this.table.list[i].validFlag1 = '有效'
-              }
-              }
-              for (let i = 0; i < this.table.list.length; i++) {
-              if (this.table.list[i].isEdit === '0') {
-                this.table.list[i].isEdit1 = '否'
-              } else if (this.table.list[i].isEdit === '1') {
-                this.table.list[i].isEdit1 = '是'
-              }
-              }
-              for (let i = 0; i < this.table.list.length; i++) {
-              if (this.table.list[i].isSub === '0') {
-                this.table.list[i].isSub1 = '否'
-              } else if (this.table.list[i].isSub === '1') {
-                this.table.list[i].isSub1 = '是'
-              }
-              }
-            this.page.totalPage = res.data.total;
-          }).catch(e => {
-            this.dataLoading = false;
-          });
-      },
-      getBaseDataList2 () {
-        this.axios.post("pass/baseManagement/v1/limsbaseinfos/findBaseInfoAllTree").then(response => {
-        this.baseDataTree = response.data
-          // this.initTree(response.data)
+    nodeClick(item) {
+      this.selectBaseCodeNo = item.baseCode;
+      this.selectBaseItem = item;
+      this.getBaseDataList();
+    },
+    getBaseDataList() {
+      this.dataLoading = true;
+      this.axios.get('pass/baseManagement/v1/limsbaseinfos/' + 'like/?pageNum=' + this.page.pageNum + '&pageSize=' + this.page.pageSize +
+        '&baseCode=' + this.selectBaseCodeNo)
+        .then(res => {
+          this.dataLoading = false;
+          this.table.list = res.data.list;
+          for (let i = 0; i < this.table.list.length; i++) {
+            if (this.table.list[i].validFlag === '0') {
+              this.table.list[i].validFlag1 = '无效'
+            } else if (this.table.list[i].validFlag === '1') {
+              this.table.list[i].validFlag1 = '有效'
+            }
+          }
+          for (let i = 0; i < this.table.list.length; i++) {
+            if (this.table.list[i].isEdit === '0') {
+              this.table.list[i].isEdit1 = '否'
+            } else if (this.table.list[i].isEdit === '1') {
+              this.table.list[i].isEdit1 = '是'
+            }
+          }
+          for (let i = 0; i < this.table.list.length; i++) {
+            if (this.table.list[i].isSub === '0') {
+              this.table.list[i].isSub1 = '否'
+            } else if (this.table.list[i].isSub === '1') {
+              this.table.list[i].isSub1 = '是'
+            }
+          }
+          this.page.totalPage = res.data.total;
+        }).catch(e => {
+          this.dataLoading = false;
         });
-        // this.axios.get('pass/baseManagement/v1/limsbaseinfos/' + '?pageNum=1' + '&pageSize=1000')
-        //   .then(res => {
-        //     this.initTree(res.data.list);
-        //   });
-      },
-      initTree (data) {
+    },
+    getBaseDataList2() {
+      this.axios.post("pass/baseManagement/v1/limsbaseinfos/findBaseInfoAllTree").then(response => {
+        this.baseDataTree = response.data
+        // this.initTree(response.data)
+      });
+      // this.axios.get('pass/baseManagement/v1/limsbaseinfos/' + '?pageNum=1' + '&pageSize=1000')
+      //   .then(res => {
+      //     this.initTree(res.data.list);
+      //   });
+    },
+    initTree(data) {
       //  for (let i = 0; i < data.length; i++) {
       //   if (data[i].validFlag === '0') {
       //      data[i].validFlag1 = '无效'
@@ -342,57 +421,59 @@ export default {
       //     data[i].isSub1 = '是'
       //   }
       //   }
-        var list = [];
-        var parentList = [];
-        for (var i = 0; i < data.length; i++) {
-          data[i].children = [];
-          data[i].label = data[i].baseName;
-          if (data[i].baseCode === data[i].sortCode) {
-            parentList.push(data[i]);
-          } else {
-            list.push(data[i]);
-          }
+      var list = [];
+      var parentList = [];
+      for (var i = 0; i < data.length; i++) {
+        data[i].children = [];
+        data[i].label = data[i].baseName;
+        if (data[i].baseCode === data[i].sortCode) {
+          parentList.push(data[i]);
+        } else {
+          list.push(data[i]);
         }
-        this.getChildren(parentList, list);
-        this.baseDataTree = parentList;
-      },
-      getChildren (parentList, list) {
-        for (var i = 0; i < parentList.length; i++) {
-          var childrenList = [];
-          for (var j = 0; j < list.length; j++) {
-            if (parentList[i].baseCode === list[j].sortCode) {
-              parentList[i].children.push(list[j]);
-              childrenList.push(list[j]);
-            }
-          }
-          if (childrenList.length > 0) {
-            this.getChildren(childrenList, list);
+      }
+      this.getChildren(parentList, list);
+      this.baseDataTree = parentList;
+    },
+    getChildren(parentList, list) {
+      for (var i = 0; i < parentList.length; i++) {
+        var childrenList = [];
+        for (var j = 0; j < list.length; j++) {
+          if (parentList[i].baseCode === list[j].sortCode) {
+            parentList[i].children.push(list[j]);
+            childrenList.push(list[j]);
           }
         }
-      },
-   tableRowClassName ({
-        row, column, rowIndex, columnIndex
-      }) {
-        if (columnIndex === 6) {
+        if (childrenList.length > 0) {
+          this.getChildren(childrenList, list);
+        }
+      }
+    },
+    tableRowClassName({
+      row, column, rowIndex, columnIndex
+    }) {
+      if (columnIndex === 6) {
         if (row.validFlag !== '1') {
           return 'error-row';
         }
         return '';
-        }
-      },
-   tableHeaderCellStyle () {
-     return 'color: rgb(255,255,255);border-bottom: 1px solid #DCDFE7;'
-   }
+      }
+    },
+    tableHeaderCellStyle() {
+      return 'color: rgb(255,255,255);'
+      // border-bottom: 1px solid #DCDFE7;'
+    }
   }
 }
 </script>
-<style  lang="less">
+<style lang="less">
 .el-tree {
-    overflow-x: hidden !important;
-  }
-  .el-tree-node {
-    .el-tree-node__label {
-      border-bottom: 0;
-    }
+  overflow-x: hidden !important;
+}
+
+.el-tree-node {
+  .el-tree-node__label {
+    border-bottom: 0;
   }
+}
 </style>

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov