From e5454b769d44a34af423bf87ac8a740bf8c20341 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期二, 29 四月 2025 13:25:29 +0800
Subject: [PATCH] Merge branch 'dev' into dev_tides

---
 src/views/CNAS/externalService/serviceAndSupplyPro/component/ConsumableList.vue |  113 ++++++++++++++++----------------------------------------
 1 files changed, 33 insertions(+), 80 deletions(-)

diff --git a/src/views/CNAS/externalService/serviceAndSupplyPro/component/ConsumableList.vue b/src/views/CNAS/externalService/serviceAndSupplyPro/component/ConsumableList.vue
index 189ccd3..40e44a9 100644
--- a/src/views/CNAS/externalService/serviceAndSupplyPro/component/ConsumableList.vue
+++ b/src/views/CNAS/externalService/serviceAndSupplyPro/component/ConsumableList.vue
@@ -1,63 +1,33 @@
 <template>
   <div>
-    <TableCard :showTitle="false">
-      <template slot="form">
-        <div class="action-box">
-          <div></div>
-          <div class="flex">
-            <el-button icon="el-icon-plus" size="small" type="primary" @click="showDialog(undefined)">
-              鏂板缓
-            </el-button>
-            <el-button icon="el-icon-upload2" size="small" @click="exportExcel">
-              瀵煎嚭Excel
-            </el-button>
-          </div>
-        </div>
+    <div class="flex">
+      <el-button icon="el-icon-plus" size="small" type="primary" @click="showDialog(undefined)">
+        鏂板缓
+      </el-button>
+      <el-button icon="el-icon-upload2" size="small" @click="exportExcel">
+        瀵煎嚭Excel
+      </el-button>
+    </div>
+    <limsTable :column="columns" :currentChange="rowClick" :height="'25vh'" :highlightCurrentRow="true"
+               :isSelection="false" :rowStyle="tableRowStyle" :table-data="tableData" rowKey="id"
+               @pagination="pagination" :page="page" style="margin-top: 18px;">
+      <template v-slot:consumablesTypeSlot="{ row }">
+        {{ findType(row.consumablesType) }}
       </template>
-      <template v-slot:table>
-        <limsTable
-          :column="columns"
-          :currentChange="rowClick"
-          :height="'25vh'"
-          :highlightCurrentRow="true"
-          :isSelection="false"
-          :rowStyle="tableRowStyle"
-          :table-data="tableData"
-          rowKey="id"
-          style="margin-top: 18px; padding: 0 15px;"
-        >
-          <template v-slot:consumablesTypeSlot="{row}">
-            {{ findType(row.consumablesType) }}
-          </template>
-          <template v-slot:operation="scope">
-            <el-button size="small" type="text" @click="showDialog(scope.row)">缂栬緫</el-button>
-            <el-button size="small" style="color: #f56c6c" type="text" @click="handleDelete(scope.row)">鍒犻櫎</el-button>
-          </template>
-        </limsTable>
-        <div class="pagination">
-          <div></div>
-          <el-pagination
-            :page-size="pagination.pageSize"
-            :page-sizes="[10, 20, 30, 40]"
-            :total="pagination.total"
-            layout="total, sizes, prev, pager, next, jumper"
-            @current-change="handleCurrent"
-            @size-change="handleSize"
-          >
-          </el-pagination>
-        </div>
+      <template v-slot:operation="scope">
+        <el-button size="small" type="text" @click="showDialog(scope.row)">缂栬緫</el-button>
+        <el-button size="small" style="color: #f56c6c" type="text" @click="handleDelete(scope.row)">鍒犻櫎</el-button>
       </template>
-    </TableCard>
+    </limsTable>
     <el-divider></el-divider>
     <div>
       <ConsumableProject ref="consumableProject"></ConsumableProject>
     </div>
-    <Edit ref="editRef" :contentsId="contentsId" @submit="fetchData"/>
+    <Edit ref="editRef" :contentsId="contentsId" @submit="fetchData" />
   </div>
 </template>
 
 <script>
-import TableCard from './index.vue';
 import Edit from "./Edit.vue"
 import limsTable from '@/components/Table/lims-table.vue'
 import {
@@ -69,9 +39,7 @@
 
 export default {
   dicts: ["consumables_type"],
-  components: {
-    TableCard, limsTable,Edit, ConsumableProject
-  },
+  components: {limsTable, Edit, ConsumableProject},
   props: {
     contentsId: {
       type: Number,
@@ -147,9 +115,9 @@
         }
       ],
       tableData: [],
-      pagination: {
+      page: {
         current: 1,
-        pageSize: 20,
+        size: 20,
         total: 0
       },
       options: [],
@@ -161,9 +129,10 @@
   },
   methods: {
     async fetchData() {
-      procurementSuppliesList({ contentId: this.contentsId}).then(res => {
+      procurementSuppliesList({ contentId: this.contentsId, ...this.page }).then(res => {
         if (res.code === 200) {
           this.tableData = res.data.records
+          this.page.total = res.data.total
           if (this.tableData.length > 0) {
             this.rowClick(this.tableData[0])
           }
@@ -174,7 +143,7 @@
       this.$nextTick()
       let res
       const e = this.options.find(item => item.value == val)
-      if(e) {
+      if (e) {
         res = e.label
       } else {
         res = '-'
@@ -185,18 +154,17 @@
       this.$refs.editRef.openDialog(row);
     },
     async exportExcel() {
-      exportProcurementSuppliesList({parentId:this.contentsId}).then(res => {
-        const blob = new Blob([res], {type: 'application/octet-stream'});
+      exportProcurementSuppliesList({ parentId: this.contentsId }).then(res => {
+        const blob = new Blob([res], { type: 'application/octet-stream' });
         this.$download.saveAs(blob, '鑰楁潗鍒楄〃.xlsx')
-        this.$message.success('瀵煎嚭鎴愬姛')
       })
     },
-    handleCurrent() {
-    },
-    handleSize() {
+    pagination(page) {
+      this.page.size = page.limit
+      this.fetchData()
     },
     handleDelete(row) {
-      deleteProcurementSuppliesList({ id:row.id }).then(res => {
+      deleteProcurementSuppliesList({ id: row.id }).then(res => {
         if (res.code === 200) {
           this.$message.success('鍒犻櫎鎴愬姛')
           this.fetchData()
@@ -206,11 +174,11 @@
     rowClick(row) {
       this.$refs.consumableProject.fetchListId(row)
     },
-    tableRowStyle({row}) {
+    tableRowStyle({ row }) {
       if(row.currentAmount <= row.lowerLimit) {
         return { background: '#ffcaca' }
       } else {
-        return {}
+        return { background: '#fff' }
       }
     }
   }
@@ -220,21 +188,6 @@
 
 <style scoped>
 .flex {
-  display: flex;
-}
-
-.action-box {
-  width: 100%;
-  padding-top: 10px;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-}
-
-.pagination {
-  padding-top: 15px;
-  padding-right: 10px;
-  display: flex;
-  justify-content: space-between
+  text-align: right;
 }
 </style>

--
Gitblit v1.9.3