From 6565eb74d006296fe67a386e1c48abdb0f2fe7c2 Mon Sep 17 00:00:00 2001
From: pyt <626651354@qq.com>
Date: 星期一, 12 五月 2025 09:21:32 +0800
Subject: [PATCH] feat

---
 laboratory/src/views/dataManagement/confirmation-sheet/index.vue |  128 ++++++++++++++++++++++++++++--------------
 1 files changed, 86 insertions(+), 42 deletions(-)

diff --git a/laboratory/src/views/dataManagement/confirmation-sheet/index.vue b/laboratory/src/views/dataManagement/confirmation-sheet/index.vue
index df1403c..4f9ef86 100644
--- a/laboratory/src/views/dataManagement/confirmation-sheet/index.vue
+++ b/laboratory/src/views/dataManagement/confirmation-sheet/index.vue
@@ -4,22 +4,27 @@
             <template #search>
                 <el-form :model="form" label-width="140px" inline>
                     <el-form-item label="所属项目课题方案:">
-                        <el-input v-model="form.planName" placeholder="请输入"></el-input>
+                        <el-input v-model="form.projectName" placeholder="请输入"></el-input>
                     </el-form-item>
                     <el-form-item label="实验编号:">
-                        <el-input v-model="form.planCode" placeholder="请输入"></el-input>
+                        <el-input v-model="form.experimentCode" placeholder="请输入"></el-input>
                     </el-form-item>
-                    <el-form-item label="创建人:">
-                        <el-input v-model="form.creator" placeholder="请输入"></el-input>
+                    <el-form-item label="实验名称:">
+                        <el-input v-model="form.experimentName" placeholder="请输入"></el-input>
                     </el-form-item>
                     <el-form-item label="通知时间:">
-                        <el-date-picker v-model="form.createTime" type="daterange" range-separator="至"
-                            start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd"></el-date-picker>
+                        <el-date-picker v-model="dateRange" type="daterange" range-separator="至"
+                            start-placeholder="开始日期" end-placeholder="结束日期" 
+                            value-format="yyyy-MM-dd"
+                            @change="handleDateChange"></el-date-picker>
                     </el-form-item>
-                    <el-form-item label="状态:">
-                        <el-select v-model="form.status" placeholder="请选择">
-                            <el-option label="待确认" value="待确认"></el-option>
-                            <el-option label="已确认" value="已确认"></el-option>
+                    <el-form-item label="状态:" v-if="!isDrafts">
+                        <el-select v-model="form.auditStatus" placeholder="请选择">
+                            <el-option label="待确认" :value="1"></el-option>
+                            <el-option label="已通过" :value="2"></el-option>
+                            <el-option label="已驳回" :value="3"></el-option>
+                            <el-option label="已撤回" :value="4"></el-option>
+                            <el-option label="已封存" :value="5"></el-option>
                         </el-select>
                     </el-form-item>
                     <el-form-item label="" class="search-btn-box">
@@ -30,9 +35,9 @@
             </template>
             <template #setting>
                 <div class="tableTitle">
-                    <div class="flex a-center">
-                        <div class="title pointer">检验方法确认单列表</div>
-                        <div class="drafts pointer">草稿箱</div>
+                    <div class="flex a-center" style="gap: 16px;">
+                        <div class="title pointer" :class="{ active: !isDrafts }" @click="switchToDrafts(false)">检验方法确认单列表</div>
+                        <div class="drafts pointer" :class="{ active: isDrafts }" @click="switchToDrafts(true)">草稿箱</div>
                     </div>
                     <el-button @click="handleAddPlan" class="el-icon-plus" type="primary">
                         新增检测方法确认单</el-button>
@@ -68,6 +73,7 @@
 
 <script>
 import reviewDialog from './components/review-dialog.vue';
+import { getList } from './service'
 export default {
     name: "ConfirmationSheet",
     components: {
@@ -76,40 +82,76 @@
     data() {
         return {
             form: {
-                planName: "",
-                planCode: "",
-                creator: "",
-                createTime: [],
-                approver: "",
-                status: "",
+                pageNum: 1,
+                pageSize: 10,
+                projectName: "",
+                experimentCode: "",
+                experimentName: "",
+                startTime: "",
+                endTime: "",
+                auditStatus: "",
             },
-            showRevoke:false,
+            dateRange: [],
+            isDrafts: false,
+            showRevoke: false,
             tableData: [],
             total: 0,
-            editorContent: '', // 编辑器内容
-            reviewDialogVisible: true,
+            editorContent: '',
+            reviewDialogVisible: false,
             dialogType: 'review',
             currentRow: {},
             sampleData: [],
         };
     },
     mounted() {
-
+        this.getTableData();
     },
     methods: {
+        async getTableData() {
+            try {
+                const params = { ...this.form };
+                if (this.isDrafts) {
+                    params.auditStatus = -1;
+                }
+                const res = await getList(params);
+                if (res.code === 200) {
+                    this.tableData = res.data.list || [];
+                    this.total = res.data.total || 0;
+                }
+            } catch (error) {
+                console.error('获取列表数据失败:', error);
+            }
+        },
+        handleDateChange(val) {
+            if (val) {
+                this.form.startTime = val[0];
+                this.form.endTime = val[1];
+            } else {
+                this.form.startTime = '';
+                this.form.endTime = '';
+            }
+        },
         resetForm() {
             this.form = {
-                planName: "",
-                planCode: "",
-                creator: "",
-                createTime: [],
-                approver: "",
-                status: "",
+                pageNum: 1,
+                pageSize: 10,
+                projectName: "",
+                experimentCode: "",
+                experimentName: "",
+                startTime: "",
+                endTime: "",
+                auditStatus: "",
             };
+            this.dateRange = [];
+            this.getTableData();
         },
         handleSearch() {
-            // 实现查询逻辑
-            console.log("查询条件:", this.form);
+            this.form.pageNum = 1;
+            this.getTableData();
+        },
+        switchToDrafts(isDrafts) {
+            this.isDrafts = isDrafts;
+            this.resetForm();
         },
         getStatusType(status) {
             const statusMap = {
@@ -182,27 +224,29 @@
     padding-bottom: 20px;
     justify-content: space-between;
     align-items: center;
-
-    .title {
+    .title, .drafts {
         background: #ffffff;
         border-radius: 8px 8px 0px 0px;
-        border: 1px solid #049c9a;
         padding: 16px 29px;
         font-weight: bold;
         font-size: 18px;
-        color: #049c9a;
+        background: #fafafc;
+        border: 1px solid #dcdfe6;
+        color: #606266;
         width: unset;
+
+        &.active {
+            background: #ffffff;
+            border: 1px solid #049c9a !important;
+            color: #049c9a;
+        }
     }
 
     .drafts {
         padding: 16px 65px;
-        background: #fafafc;
-        border-radius: 8px 8px 0px 0px;
-        border: 1px solid #dcdfe6;
-        font-weight: 400;
-        font-size: 18px;
-        color: #606266;
-        margin-left: 16px;
+        &:not(.active) {
+            
+        }
     }
 }
 

--
Gitblit v1.7.1