From 1ea1ad2c56e95e71e1756cfca73e7183f9795ac9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 16 四月 2025 15:23:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev_test

---
 src/views/CNAS/process/sampleDisposal/index.vue |  370 +++++++++++++++++++---------------------------------
 1 files changed, 133 insertions(+), 237 deletions(-)

diff --git a/src/views/CNAS/process/sampleDisposal/index.vue b/src/views/CNAS/process/sampleDisposal/index.vue
index 705000e..31a1624 100644
--- a/src/views/CNAS/process/sampleDisposal/index.vue
+++ b/src/views/CNAS/process/sampleDisposal/index.vue
@@ -1,40 +1,29 @@
 <template>
-  <div class="sample-disposal">
-    <el-row class="title">
-      <el-col :span="20" style="padding-left: 20px;text-align: left;">妫�娴嬫垨鏍″噯鐗╁搧鐨勫缃�</el-col>
-      <el-col :span="4" style="text-align: right;">
-        <!-- <el-button size="medium" type="primary" @click="handleDown" v-loading="outLoading" style="margin-right: 16px;">瀵煎嚭</el-button> -->
-      </el-col>
-    </el-row>
+  <div class="capacity-scope">
     <el-tabs type="border-card" v-model="activeName" style="height: 100%;" @tab-click="queryParams.totaldealId = ''">
       <el-tab-pane label="濉啓" name="濉啓" style="height: 100%;" :key="1">
-        <el-button size="small" type="primary" @click="handleAdd0" style="margin-left: 20px;"
-          v-if="addPower">鏂板</el-button>
+        <el-button size="small" type="primary" @click="handleAdd0" style="margin-bottom: 10px">鏂板</el-button>
         <div class="table" style="height: calc(100% - 200px)" v-if="activeName == '濉啓'">
           <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading"
-            :height="'calc(100vh - 290px)'" :page="page" @pagination="pagination"></lims-table>
-          <!-- <ValueTable ref="ValueTable0" :url="$api.processTotaldeal.pageProcessDeal" :componentData="componentData0"
-            :key="upIndex0" :delUrl="$api.processTotaldeal.delProcessDeal" /> -->
+                      key="tableData" :height="'calc(100vh - 290px)'" :page="page" @pagination="pagination"></lims-table>
         </div>
       </el-tab-pane>
       <el-tab-pane label="鍘嗗彶璁板綍" name="鍘嗗彶璁板綍" style="height: 100%;" :key="2">
-        <div class="search">
-          <div class="search_thing">
-            <div class="search_label">骞存湀锛�</div>
-            <div class="search_input">
-              <el-date-picker v-model="componentData.entity.month" type="month" placeholder="閫夋嫨鏈�" format="yyyy-MM"
-                value-format="yyyy-MM" size="small" @change="refreshTable()">
-              </el-date-picker>
-            </div>
-          </div>
-          <div class="search_thing" style="padding-left: 30px;">
-            <el-button size="small" @click="refresh()">閲� 缃�</el-button>
-            <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
-          </div>
-        </div>
+        <el-form :model="queryParams0" ref="queryParams0" size="small" :inline="true">
+          <el-form-item label="骞存湀" prop="month">
+            <el-date-picker v-model="queryParams0.month" type="month" placeholder="閫夋嫨鏈�" format="yyyy-MM"
+                            value-format="yyyy-MM" size="small" @change="refreshTable()">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" size="mini" @click="refreshTable">鏌ヨ</el-button>
+            <el-button size="mini" @click="refresh">閲嶇疆</el-button>
+          </el-form-item>
+        </el-form>
         <div class="table">
-          <!-- <ValueTable ref="ValueTable" :url="$api.processTotaldeal.pageProcessTotaldeal" :componentData="componentData"
-            :key="upIndex" /> -->
+          <lims-table :tableData="tableData0" :column="column0" :tableLoading="tableLoading"
+                      key="tableData0"
+            :height="'calc(100vh - 300px)'" :page="page0" @pagination="pagination0"></lims-table>
         </div>
       </el-tab-pane>
     </el-tabs>
@@ -122,13 +111,14 @@
   checkProcessTotaldeal,
   ratifyProcessTotaldeal,
   delProcessDeal,
+  pageProcessTotaldeal,
 } from "@/api/cnas/process/sampleDisposal";
 export default {
+  name: 'SampleDisposal',
   components: {
     limsTable,
     filePreview,
   },
-  name: "SampleDisposal",
   data() {
     return {
       activeName: '濉啓',
@@ -142,105 +132,6 @@
       noCheckLoading: false,
       checkLoading: false,
       // 鍘嗗彶鍒楄〃
-      componentData: {
-        entity: {
-          month: null,
-          orderBy: {
-            field: 'id',
-            order: 'desc'
-          }
-        },
-        isIndex: true,
-        showSelect: false,
-        select: false,
-        do: [{
-          id: 'handleLook',
-          font: '鏌ョ湅',
-          type: 'text',
-          method: 'handleLook',
-        }, {
-          id: 'handleDown0',
-          font: '涓嬭浇',
-          type: 'text',
-          method: 'handleDown0',
-          disabFun: (row, index) => {
-            return !row.url
-          }
-        },
-        // {
-        //   id: 'handleAdd',
-        //   font: '濉啓',
-        //   type: 'text',
-        //   method: 'handleAdd',
-        //   disabFun: (row, index) => {
-        //     return row.submitState=='宸叉彁浜�'
-        //   }
-        // },
-        {
-          id: 'handleSubmit',
-          font: '鎻愪氦',
-          type: 'text',
-          method: 'handleSubmit',
-          disabFun: (row, index) => {
-            return !!row.submitState && row.submitState != '寰呮彁浜�'
-          }
-        }, {
-          id: 'handleCheck',
-          font: '瀹℃牳',
-          type: 'text',
-          method: 'handleCheck',
-          disabFun: (row, index) => {
-            return row.examineState == '閫氳繃' || row.submitState == '寰呮彁浜�'
-          }
-        }, {
-          id: 'handleApproval',
-          font: '鎵瑰噯',
-          type: 'text',
-          method: 'handleApproval',
-          disabFun: (row, index) => {
-            return row.ratifyState == '閫氳繃' || row.submitState == '寰呮彁浜�'
-          }
-        }],
-        tagField: {},
-        selectField: {},
-        requiredAdd: [],
-        requiredUp: [],
-        needSort: [],
-        inputType: ''
-      },
-      // 鏍峰搧鍒楄〃
-      componentData0: {
-        entity: {
-          totaldealId: null,
-          orderBy: {
-            field: 'id',
-            order: 'desc'
-          }
-        },
-        isIndex: true,
-        showSelect: false,
-        select: false,
-        do: [{
-          id: 'handleAdd0',
-          font: '淇敼',
-          type: 'text',
-          method: 'handleAdd0'
-        }, {
-          id: 'delete',
-          font: '鍒犻櫎',
-          type: 'text',
-          method: 'doDiy'
-        }],
-        tagField: {},
-        selectField: {},
-        requiredAdd: [],
-        requiredUp: [],
-        needSort: [],
-        inputType: ''
-      },
-      upIndex0: 100,
-      entityCopy: {},
-      upIndex: 0,
       addInfo: {},//鏂板鏍峰搧
       customPageList: [],
       currentInfo: {
@@ -285,60 +176,89 @@
         current: 0,
       },
       tableLoading: false,
+      queryParams0: {},
+      tableData0: [],
+      column0: [
+        { label: "鏈堜唤", prop: "month" },
+        { label: "鎬绘暟閲�", prop: "totalNum" },
+        { label: "鎻愪氦浜�", prop: "submitUserName" },
+        { label: "瀹℃牳浜�", prop: "examineUserName" },
+        { label: "鎵瑰噯浜�", prop: "ratifyUserName" },
+        {
+          dataType: "action",
+          fixed: "right",
+          label: "鎿嶄綔",
+          operation: [
+            {
+              name: "鏌ョ湅",
+              type: "text",
+              clickFun: (row) => {
+                this.handleLook(row);
+              },
+            },
+            {
+              name: "涓嬭浇",
+              type: "text",
+              clickFun: (row) => {
+                this.handleDown0(row);
+              },
+              disabled: (row) => {
+                return !row.url
+              }
+            },
+            {
+              name: "鎻愪氦",
+              type: "text",
+              clickFun: (row) => {
+                this.handleSubmit(row);
+              },
+              disabled: (row) => {
+                return !!row.submitState && row.submitState != '寰呮彁浜�'
+              }
+            },
+            {
+              name: "瀹℃牳",
+              type: "text",
+              clickFun: (row) => {
+                this.handleCheck(row);
+              },
+              disabled: (row) => {
+                return row.examineState == '閫氳繃' || row.submitState == '寰呮彁浜�'
+              }
+            },
+            {
+              name: "鎵瑰噯",
+              type: "text",
+              clickFun: (row) => {
+                this.handleApproval(row);
+              },
+              disabled: (row) => {
+                return row.ratifyState == '閫氳繃' || row.submitState == '寰呮彁浜�'
+              }
+            },
+          ],
+        },
+      ],
+      page0: {
+        total: 0,
+        size: 10,
+        current: 0,
+      },
     };
   },
   mounted() {
-    // this.entityCopy = this.HaveJson(this.componentData.entity);
     this.getCustomPageList()
-    // this.getPower()
+    this.getList()
+    this.getList0()
   },
   methods: {
-    getPower() {
-      let power = JSON.parse(sessionStorage.getItem('power'))
-      let add = false
-      let out = false
-      let submitProcessTotaldeal = false
-      let checkProcessTotaldeal = false
-      let ratifyProcessTotaldeal = false
-      for (var i = 0; i < power.length; i++) {
-        if (power[i].menuMethod == 'addProcessDeal') {
-          add = true
-        }
-        // if (power[i].menuMethod == 'exportProcessEvaluate') {
-        //   out = true
-        // }
-        if (power[i].menuMethod == 'submitProcessTotaldeal') {
-          submitProcessTotaldeal = true
-        }
-        if (power[i].menuMethod == 'checkProcessTotaldeal') {
-          checkProcessTotaldeal = true
-        }
-        if (power[i].menuMethod == 'ratifyProcessTotaldeal') {
-          ratifyProcessTotaldeal = true
-        }
-      }
-      if (!ratifyProcessTotaldeal) {
-        this.componentData.do.splice(4, 1)
-      }
-      if (!checkProcessTotaldeal) {
-        this.componentData.do.splice(3, 1)
-      }
-      if (!submitProcessTotaldeal) {
-        this.componentData.do.splice(2, 1)
-      }
-      if (!add) {
-        this.componentData0.do.splice(1, 1)
-        this.componentData0.do.splice(0, 1)
-      }
-      this.addPower = add
-    },
     // 鑾峰彇閫佹牱鍗曚綅鍒楄〃
     getCustomPageList() {
       selectCustomPageList({
         current: -1,
         size: -1
       }).then(res => {
-        this.customPageList = res.data.body.records
+        this.customPageList = res.data.records
       }).catch(err => { });
     },
     handleDown() { },
@@ -364,13 +284,34 @@
       this.getList();
     },
     refresh() {
-      this.queryParams = {};
-      this.page.current = 1;
-      this.getList();
+      this.queryParams0 = {};
+      this.page0.current = 1;
+      this.getList0();
     },
     refreshTable() {
-      this.page.current = 1;
-      this.getList();
+      this.page0.current = 1;
+      this.getList0();
+    },
+    getList0() {
+      this.tableLoading = true;
+      let param = { ...this.queryParams0, ...this.page };
+      delete param.total;
+      pageProcessTotaldeal({ ...param })
+        .then((res) => {
+          this.tableLoading = false;
+          if (res.code === 200) {
+            this.tableData0 = res.data.records;
+            this.page0.total = res.data.total;
+          }
+        })
+        .catch((err) => {
+          this.tableLoading = false;
+        });
+    },
+    pagination0({ page, limit }) {
+      this.page0.current = page;
+      this.page0.size = limit;
+      this.getList0();
     },
     // 濉啓
     // handleAdd(row){
@@ -398,13 +339,13 @@
           ...this.addInfo
         }).then(res => {
           this.addLoading = false
-          if (res.code === 201) return
           this.addDialogVisible = false
           this.$message({
             type: 'success',
             message: '缂栬緫鎴愬姛!'
           });
-          this.$refs.ValueTable0.selectList()
+          this.page.current = 0;
+          this.getList();
         }).catch(err => { });
       } else {
         // 鏂板
@@ -414,13 +355,13 @@
           ...this.addInfo
         }).then(res => {
           this.addLoading = false
-          if (res.code === 201) return
           this.addDialogVisible = false
           this.$message({
             type: 'success',
             message: '鏂板鎴愬姛!'
           });
-          this.$refs.ValueTable0.selectList()
+          this.page.current = 0;
+          this.getList();
         }).catch(err => { });
       }
     },
@@ -434,24 +375,21 @@
         submitProcessTotaldeal({
           id: row.id
         }).then(res => {
-          if (res.code === 201) return
           this.$message({
             type: 'success',
             message: '鎻愪氦鎴愬姛!'
           });
-          this.$refs['ValueTable'].selectList()
+          this.refreshTable()
         }).catch(err => { });
       })
     },
     // 鏌ョ湅
     handleLook(row) {
-      // console.log(row)
-      // this.title0 = '鏌ョ湅'
-      // this.commonFun(row)
       this.activeName = '濉啓'
       this.queryParams.totaldealId = row.id
       this.$nextTick(() => {
-        this.$refs['ValueTable0'].selectList()
+        this.page.current = 1;
+        this.getList();
       })
     },
     commonFun(row, callbanck) {
@@ -461,8 +399,8 @@
         current: -1,
         size: -1, ...this.queryParams
       }).then(res => {
-        this.currentInfo.arr = res.data.body.records
         this.lookDialogVisible = true
+        this.currentInfo.arr = res.data.records
         if (callbanck) {
           callbanck()
         }
@@ -492,12 +430,11 @@
         }).then(res => {
           this.checkLoading = false
           this.noCheckLoading = false
-          if (res.code === 201) return
           this.$message({
             type: 'success',
             message: '鎿嶄綔鎴愬姛!'
           });
-          this.$refs['ValueTable'].selectList()
+          this.refreshTable()
           this.lookDialogVisible = false
         }).catch(err => { });
       } else if (this.title0 == '鎵瑰噯') {
@@ -507,21 +444,23 @@
         }).then(res => {
           this.checkLoading = false
           this.noCheckLoading = false
-          if (res.code === 201) return
           this.$message({
             type: 'success',
             message: '鎿嶄綔鎴愬姛!'
           });
-          this.$refs['ValueTable'].selectList()
+          this.refreshTable()
           this.lookDialogVisible = false
         }).catch(err => { });
       }
     },
     // 瀵煎嚭璇︽儏
     handleDown0(row) {
+      if (!row.url) {
+        this.$message.warning('鏆傛棤鏂囦欢')
+        return
+      }
       // 鍚庣涓嬭浇
-      let url = this.javaApi + '/word/' + row.url
-      this.$download.saveAs(url, row.month + ' 鏍峰搧澶勭悊鐢宠琛�');
+      this.$download.saveAs(row.url, row.month + ' 鏍峰搧澶勭悊鐢宠琛�');
     },
     handleDelete(row) {
       this.$confirm("鏄惁鍒犻櫎璇ユ潯鏁版嵁?", "鎻愮ず", {
@@ -531,9 +470,9 @@
       })
         .then(() => {
           delProcessDeal({ id: row.id }).then((res) => {
-            if (res.code == 201) return;
             this.$message.success("鍒犻櫎鎴愬姛");
-            this.refresh();
+            this.page.current = 0;
+            this.getList();
           });
         })
         .catch(() => { });
@@ -543,19 +482,6 @@
 </script>
 
 <style scoped>
-.title {
-  height: 60px;
-  line-height: 60px;
-}
-
-.search {
-  background-color: #fff;
-  height: 40px;
-  display: flex;
-  align-items: center;
-  position: relative;
-}
-
 .search_thing {
   width: 350px;
   display: flex;
@@ -572,21 +498,8 @@
   width: calc(100% - 110px);
 }
 
-.table {
-  background-color: #fff;
-  width: calc(100% - 40px);
-  height: calc(100% - 60px - 140px);
-  padding: 20px;
-}
-
 .downPdf {
   opacity: 0 !important;
-}
-
-.tables {
-  table-layout: fixed;
-  width: 100%;
-  margin-top: 10px;
 }
 
 .tables td {
@@ -596,23 +509,6 @@
   font-size: 14px;
   word-wrap: break-word;
   white-space: normal;
-}
-
-.en {
-  font-size: 12px;
-  word-break: break-word;
-  /* 鑷姩鏂 */
-  overflow-wrap: break-word;
-  /* 闃叉婧㈠嚭 */
-  white-space: normal;
-  /* 榛樿鎹㈣ */
-}
-
-.user-info {
-  display: flex;
-  align-items: center;
-  justify-content: space-evenly;
-  margin-top: 20px;
 }
 
 .user-info .el-button {

--
Gitblit v1.9.3