From 7ef2454c7df85c9a8fd493552398d4ac07c460d4 Mon Sep 17 00:00:00 2001
From: pyt <626651354@qq.com>
Date: 星期一, 23 六月 2025 09:43:56 +0800
Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/leshan-laboratory

---
 laboratory/src/views/chemistQa/projectTesting/index.vue |   63 ++++++++++++++++++++++++-------
 1 files changed, 48 insertions(+), 15 deletions(-)

diff --git a/laboratory/src/views/chemistQa/projectTesting/index.vue b/laboratory/src/views/chemistQa/projectTesting/index.vue
index ddfeb56..236ef95 100644
--- a/laboratory/src/views/chemistQa/projectTesting/index.vue
+++ b/laboratory/src/views/chemistQa/projectTesting/index.vue
@@ -75,8 +75,8 @@
                                         </template>
                                     </el-table-column>
                                     <el-table-column prop="developPerson" label="制订人" />
-                                    <el-table-column prop="developDate" label="制订日期" />
-                                    <el-table-column prop="auditPersonId" label="审批人" />
+                                    <el-table-column prop="createTime" label="制订日期" />
+                                    <el-table-column prop="auditPersonName" label="审批人" />
                                     <el-table-column prop="auditTime" label="审批时间" />
                                     <el-table-column prop="status" label="状态">
                                         <template #default="{ row }">
@@ -119,16 +119,16 @@
                     <el-table-column prop="createBy" label="创建人" />
                     <el-table-column prop="createTime" label="创建时间" />
                     <el-table-column prop="auditTime" label="审批时间" v-if="!isChemist" />
-                    <el-table-column prop="age" label="状态">
+                    <el-table-column prop="age" label="状态" v-if="isApprovaler">
                         <template #default="{ row }">
-                            <!-- 化验师的状态显示 -->
+                           
                             <template v-if="isChemist">
                                 <el-tag v-if="row.status == -1" type="info" color="#fff">草稿箱</el-tag>
                                 <el-tag v-else-if="row.status == 1" type="warning">已提交</el-tag>
                                 <el-tag v-else-if="row.status == 2" type="primary">待评定</el-tag>
                                 <el-tag v-else-if="row.status == 3" type="success">已评定</el-tag>
                             </template>
-                            <!-- 其他角色的状态显示 -->
+                           
                             <template v-else>
                                 <el-tag v-if="row.status == -1" type="info" color="#fff">草稿箱</el-tag>
                                 <el-tag v-else-if="row.status == 1" type="warning">待审核</el-tag>
@@ -244,6 +244,10 @@
         isProcessEngineer() {
             const userInfo = JSON.parse(sessionStorage.getItem('userInfo') || '{}');
             return userInfo.roleType == 3; // 3是工艺工程师
+        },
+        isApprovaler() {
+            const userInfo = JSON.parse(sessionStorage.getItem('userInfo') || '{}');
+            return userInfo.roleType == 2; // 2是审批人
         }
     },
     methods: {
@@ -354,18 +358,24 @@
                 if (this.currentAction === 'delete') {
                     if (this.confirmType === 'deleteReport') {
                         const res = await deleteDetail({ id: this.currentRow.id });
-                        if (res.code === 200) {
+                        if (res) {
+                            this.loading = false;
                             this.$message.success('删除成功');
+                            const parentItemId = this._getParentItemId(this.currentRow.id);
+                            await this._refreshReportList(parentItemId);
+                            
                             this.closeConfirm();
-                            await this.getList();
+
                         } else {
                             this.$message.error(res.msg || '删除失败');
                         }
                     } else if (this.confirmType === 'deleteItem') {
                         const res = await deleteData({ id: this.currentRow.id });
-                        if (res.code === 200) {
+                        if (res) {
+                            this.loading = false;
                             this.$message.success('删除成功');
                             this.closeConfirm();
+                            
                             await this.getList();
                         } else {
                             this.$message.error(res.msg || '删除失败');
@@ -374,9 +384,13 @@
                 } else if (this.currentAction === 'revoke') {
                     const res = await revokedReport({ id: this.currentRow.id });
                     if (res.code === 200) {
+                        this.loading = false;
                         this.$message.success('撤销审批成功');
+                        const parentItemId = this._getParentItemId(this.currentRow.id);
+                        await this._refreshReportList(parentItemId);
+                         this.loading = false;
                         this.closeConfirm();
-                        await this.getList();
+
                     } else {
                         this.$message.error(res.msg || '撤销审批失败');
                     }
@@ -386,6 +400,23 @@
                 this.$message.error('操作失败,请重试');
             } finally {
                 this.loading = false;
+            }
+        },
+        _getParentItemId(reportId) {
+            return Object.keys(this.reportList).find(key =>
+                this.reportList[key].some(report => report.id === reportId)
+            );
+        },
+        async _refreshReportList(itemId) {
+            if (!itemId) return;
+            try {
+                const res = await getListByItemId({ id: itemId });
+                if (res) {
+                    this.$set(this.reportList, itemId, res || []);
+                }
+            } catch (error) {
+                console.error('刷新报告列表失败:', error);
+                this.$message.error('刷新报告列表失败');
             }
         },
         handleCurrentChange(page) {
@@ -471,7 +502,7 @@
         async handleSubmitConfirm() {
             if (!this.rowId) return;
             try {
-                this.loading = true;
+                // this.loading = true;
                 const res = await commitEvaluate({ id: this.rowId });
                 if (res.code === 200) {
                     this.$message.success('提交评定成功');
@@ -490,14 +521,14 @@
         },
         async handleSearch() {
             try {
-                this.loading = true;
+                console.log('111111111')
+                // this.loading = true;
                 await this.$refs.searchForm.validate();
                 this.queryForm.pageNum = 1;
                 await this.getList();
             } catch (error) {
-                if (error === false) {
-                    this.$message.warning('请检查表单填写是否正确');
-                } else {
+                // 如果是校验失败,error会是false,此时不做任何处理,因为el-form会展示错误信息
+                if (error !== false) {
                     this.$message.error('查询失败,请重试');
                 }
             } finally {
@@ -506,8 +537,9 @@
         },
         async handleReset() {
             try {
-                this.loading = true;
+                // this.loading = true;
                 this.$refs.searchForm.resetFields();
+                // resetFields会把status也置为初始值'',需要根据当前tab重新设置
                 this.form = {
                     itemCode: '',
                     itemName: '',
@@ -517,6 +549,7 @@
                     pageNum: 1,
                     pageSize: 10
                 };
+                this.form.status = this.currentType === 'draft' ? '-1' : '';
                 this.queryForm.pageNum = 1;
                 await this.getList();
             } catch (error) {

--
Gitblit v1.7.1