From c5190d45cc1b3bcb59bdd031fcee06a8774c3499 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期一, 17 三月 2025 14:03:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 src/views/business/inspectionTask/index.vue |  348 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 188 insertions(+), 160 deletions(-)

diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index 01fc535..7917484 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -1,92 +1,3 @@
-<style scoped>
-.search {
-  background-color: #fff;
-  height: 40px;
-  display: flex;
-  align-items: center;
-  margin-top: 20px;
-}
-
-.search_thing {
-  display: flex;
-  align-items: center;
-  height: 50px;
-}
-
-.search_label {
-  width: 100px;
-  font-size: 14px;
-  text-align: right;
-}
-
-.search_input {
-  width: calc(100% - 120px);
-}
-
-.ins-order-plan-main .search {
-  width: 100%;
-  height: 40px;
-  background-color: #fff;
-  border-radius: 3px;
-}
-
-.ins-order-plan-main .center {
-  background-color: #fff;
-  border-radius: 3px;
-  padding: 20px;
-  padding-top: 0px;
-}
-
-.tab {
-  list-style-type: none;
-  display: flex;
-  padding-left: 6px;
-}
-
-.tab li {
-  line-height: 24px;
-  padding: 4px 10px;
-  font-size: 14px;
-  color: #333333;
-  border: 1px solid #eeeeee;
-  cursor: pointer;
-}
-
-.tab li:nth-child(1) {
-  border-radius: 8px 0 0 8px;
-}
-
-.tab li:nth-last-child(1) {
-  border-radius: 0 8px 8px 0;
-}
-
-.tab li.active {
-  border-color: #3a7bfa;
-  color: #3a7bfa;
-}
-
-.center .center-options .center-title {
-  width: 100%;
-  display: flex;
-  align-items: center;
-  justify-content: right;
-}
-
-.center .center-options .center-title span:last-child {
-  color: #3a7bfa;
-  font-size: 23px;
-  font-weight: 400;
-}
-
-.view-self-checkbox {
-  margin-left: 50px;
-}
-</style>
-<style>
-.ins-order-plan-main .el-form-item__label {
-  color: #000;
-}
-</style>
 <template>
   <div class="ins-order-plan-main">
     <div style="height: 100%">
@@ -180,7 +91,17 @@
       </span>
     </el-dialog>
     <el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%">
-      <div v-if="dataDialogVisible" style="height: 70vh; overflow-y: auto">
+      <div v-if="dataDialogVisible" style="height: 74vh; overflow-y: auto">
+        <div>
+          <el-form :model="entity" :inline="true">
+            <el-form-item label="妫�楠岄」" prop="outputWorkTime">
+              <el-input v-model="entity.inspectionItem" clearable size="small"></el-input>
+            </el-form-item>
+            <el-form-item>
+              <el-button size="small" type="primary" @click="getLookList">鏌ヨ</el-button>
+            </el-form-item>
+          </el-form>
+        </div>
         <lims-table :tableData="lookTableData" :column="lookColumn" :page="lookPage" :tableLoading="lookTableLoading"
           :height="'60vh'" @pagination="lookPagination" key="tableData1"></lims-table>
       </div>
@@ -196,7 +117,8 @@
           鏂板
         </el-button>
       </div>
-      <el-table :data="bindTableData" style="width: 100%" height="70vh" v-loading="bindTableDataLoading">
+      <el-table :data="bindTableData" style="width: 100%" height="70vh" v-loading="bindTableDataLoading"
+                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border>
         <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150">
         </el-table-column>
         <el-table-column prop="inspectionItem" label="妫�楠岄」" width="150">
@@ -212,6 +134,7 @@
     </el-dialog>
     <el-dialog :visible.sync="bindAddDialogVisible" title="閫夋嫨缁戝畾" width="600px">
       <el-table :data="bindAddTableData" style="width: 100%" height="60vh"
+                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
         @selection-change="handleBindAddSelectionChange">
         <el-table-column type="selection" width="55"> </el-table-column>
         <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150">
@@ -232,7 +155,12 @@
       ref="showInfoDialog"
       :showInfoDialog="showInfoDialog"
     ></ShowInfo> -->
+    <!--淇敼妫�楠屽�煎脊妗�-->
     <edit-inspection-item ref="editInspectionItem"></edit-inspection-item>
+    <!--鏌ョ湅宸ユ椂寮规-->
+    <viewManHourDia ref="viewManHourDia"></viewManHourDia>
+    <!--涓嶅悎鏍煎娴嬫煡鐪嬪脊妗�-->
+    <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" @closeRetestLook="closeRetestLook"></un-pass-retest-result>
   </div>
 </template>
 
@@ -240,6 +168,8 @@
 import { getYearAndMonthAndDays } from "@/utils/date";
 import EditInspectionItem from "./components/EditInspectionItem.vue";
 import limsTable from "@/components/Table/lims-table.vue";
+import viewManHourDia from "./components/viewManHourDia.vue"
+import UnPassRetestResult from "@/components/rawMaterialInspection/unPassRetestResult.vue"
 import {
   claimInsOrderPlan,
   upPlanUser2,
@@ -253,11 +183,14 @@
   selectSampleAndProductByOrderId,
 } from "@/api/business/inspectionTask.js";
 import { mapGetters } from "vuex";
+import {getRetestResult} from "@/api/business/rawMaterialOrder";
 export default {
   name: 'InspectionTask',
   components: {
     EditInspectionItem,
     limsTable,
+    viewManHourDia,
+    UnPassRetestResult
   },
   dicts: ["urgency_level", "inspection_task_state"],
   computed: {
@@ -374,11 +307,23 @@
           prop: "type",
           dataType: "tag",
           formatData: (params) => {
-            return this.urgencyLevel.find((m) => m.value == params).label;
+            if (params == 0) {
+              return '鏅��'
+            } else if (params == 1) {
+              return '浼樺厛'
+            } else {
+              return '绱ф��'
+            }
           },
           formatType: (params) => {
-            return this.urgencyLevel.find((m) => m.value == params).type;
-          },
+            if (params == 0) {
+              return 'success'
+            } else if (params == 1) {
+              return 'warning'
+            } else {
+              return 'danger'
+            }
+          }
         },
         {
           label: "妫�楠岀被鍨�",
@@ -397,10 +342,18 @@
           prop: "insState",
           dataType: "tag",
           formatData: (params) => {
-            return this.inspectionTaskState.find((m) => m.value == params).label;
+            if (this.inspectionTaskState.find((m) => m.value == params)) {
+              return this.inspectionTaskState.find((m) => m.value == params).label;
+            } else {
+              return null
+            }
           },
           formatType: (params) => {
-            return this.inspectionTaskState.find((m) => m.value == params).type;
+            if (this.inspectionTaskState.find((m) => m.value == params)) {
+              return this.inspectionTaskState.find((m) => m.value == params).type;
+            } else {
+              return null
+            }
           },
         },
         { label: "妫�楠屼汉", prop: "userName" },
@@ -431,6 +384,16 @@
                 return (row.userName == null || row.insState == 3 || row.insState == 5) && this.checkPermi(['update:product:onPlan'])
               },
             },
+            // {
+            //   name: "鏌ョ湅宸ユ椂",
+            //   type: "text",
+            //   clickFun: (row) => {
+            //     this.viewManHour(row);
+            //   },
+            //   showHide: (row) => {
+            //     return this.checkPermi(['get:working:hours:byOrder'])
+            //   },
+            // },
             {
               name: "妫�楠�",
               type: "text",
@@ -473,7 +436,7 @@
       ],
       page: {
         total: 0,
-        size: 10,
+        size: 20,
         current: 0,
       },
       tableLoading: false,
@@ -496,6 +459,9 @@
         },
       ],
       // 鏁版嵁鏌ョ湅鐩稿叧瀛楁---寮�濮�
+      entity: {
+        inspectionItem: "",
+      },
       lookTableData: [],
       lookColumn: [
         {
@@ -541,6 +507,16 @@
           label: "鎿嶄綔",
           operation: [
             {
+              name: "涓嶅悎鏍煎娴嬫煡鐪�",
+              type: "text",
+              clickFun: (row) => {
+                this.getRetestResultInfo(row);
+              },
+              disabled: (row) => {
+                return row.insResult!=0
+              },
+            },
+            {
               name: "妫�楠岄」缁戝畾",
               type: "text",
               clickFun: (row) => {
@@ -559,15 +535,17 @@
       ],
       lookPage: {
         total: 0,
-        size: 10,
+        size: 20,
         current: 0,
       },
       lookTableLoading: false,
       // 鏁版嵁鏌ョ湅鐩稿叧瀛楁---缁撴潫
+      retestVisible: false,
     };
   },
   mounted() {
     this.getAuthorizedPerson();
+    this.queryParams.userId = this.userId;
     this.currentTime = getYearAndMonthAndDays();
     this.getDicts("urgency_level").then((response) => {
       this.urgencyLevel = this.dictToValue(response.data);
@@ -576,9 +554,17 @@
       this.inspectionTaskState = this.dictToValue(response.data);
     });
     this.refreshTable();
-    this.queryParams.userId = this.userId;
   },
   activated() {
+    this.getAuthorizedPerson();
+    this.queryParams.userId = this.userId;
+    this.currentTime = getYearAndMonthAndDays();
+    this.getDicts("urgency_level").then((response) => {
+      this.urgencyLevel = this.dictToValue(response.data);
+    });
+    this.getDicts("inspection_task_state").then((response) => {
+      this.inspectionTaskState = this.dictToValue(response.data);
+    });
     this.refreshTable();
   },
   methods: {
@@ -605,7 +591,7 @@
     },
     getLookList() {
       this.lookTableLoading = true;
-      let param = { id: this.lookInfo.id, ...this.lookPage };
+      let param = { id: this.lookInfo.id, ...this.lookPage, inspectionItem: this.entity.inspectionItem };
       delete param.total;
       selectSampleAndProductByOrderId({ ...param })
         .then((res) => {
@@ -629,9 +615,9 @@
     editInspection(row) {
       this.$refs.editInspectionItem.showDialog(row.id);
     },
-    // 鍒锋柊椤甸潰
-    refreshView() {
-      this.getList();
+    // 鏌ョ湅宸ユ椂
+    viewManHour(row) {
+      this.$refs.viewManHourDia.showDialog(row.id, row.insState);
     },
     // 鏁版嵁鏌ョ湅
     handleDataLook(row) {
@@ -653,16 +639,6 @@
       this.queryParams.typeSource = this.tabIndex;
       this.getList();
     },
-    // claimFun(row) {
-    // 	if (row) {
-    // 		this.sampleUserForm = {
-    // 			entrustCode: row.entrustCode,
-    // 			insSampleId: row.id,
-    //       sonLaboratory: row.sonLaboratory,
-    // 		}
-    // 		this.claimVisible = true
-    // 	}
-    // },
     // 鏌ョ湅浜т笟閾句俊鎭�
     openInfoDialog(row) {
       this.showInfoDialog = true;
@@ -694,43 +670,11 @@
       }
       return "";
     },
-    onReset() {
-      this.searchForm = {
-        sampleName: null,
-        state: null,
-      };
-      this.queryParams.insState = null;
-      this.queryParams.sampleName = null;
-      this.refreshTable();
-    },
-    onSubmit() {
-      this.queryParams.insState = this.searchForm.state;
-      this.queryParams.sampleName = this.searchForm.sampleName;
-      this.$nextTick(() => {
-        this.refreshTable();
-      });
-    },
     handleTab(m, i) {
       this.tabIndex = i;
       this.queryParams.sonLaboratory = "";
       this.refreshTable();
     },
-    // getLaboratoryDicts() {
-    // 	this.$axios.post(this.$api.enums.selectEnumByCategory, {
-    // 		category: "瀛愬疄楠屽"
-    // 	}).then(res => {
-    // 		this.tabList = res.data.map(ele => {
-    // 			return {
-    // 				label: ele.label,
-    // 				value: ele.value
-    // 			}
-    // 		})
-    // 		if(this.tabList.length>0){
-    // 			this.componentData.entity.sonLaboratory = this.tabList[0].value
-    // 		}
-    // 		this.refreshTable()
-    // 	})
-    // },
     selectAllByOne(row) {
       this.isCopper = row.isCopper;
       this.customsInspection = row;
@@ -771,9 +715,6 @@
           break;
       }
 
-    },
-    playOrder(num) {
-      this.activeFace = num;
     },
     goback() {
       this.state = 0;
@@ -884,10 +825,6 @@
           this.loading = false;
         });
     },
-    handleReview(row) {
-      this.state = 2;
-      this.orderId = row.id;
-    },
     getAuthorizedPerson() {
       selectUserCondition({ type: 1 }).then((res) => {
         let data = [];
@@ -900,15 +837,21 @@
         this.personList = data;
       });
     },
+    // 鏌ョ湅涓嶅悎鏍煎娴嬬粨鏋�
+    getRetestResultInfo (row) {
+      getRetestResult({insProductId: row.insProductId}).then(res => {
+        this.retestVisible = true
+        this.retestInfo = res.data
+      })
+    },
+    closeRetestLook () {
+      this.retestVisible = false
+    },
     // 缁戝畾妫�楠岄」缁戝畾
     getBinding(row) {
       this.bindCurrentInfo = row;
       getBindingProductByProductId({ productId: row.insProductId })
         .then((res) => {
-          if (res.coe == 201) {
-            // this.$message.error('鏈粦瀹氭楠岄」')
-            return;
-          }
           // console.log(res)
           this.bindTableData = res.data;
           this.bindDialogVisible = true;
@@ -922,10 +865,6 @@
         productId: this.bindCurrentInfo.insProductId,
       })
         .then((res) => {
-          if (res.coe == 201) {
-            // this.$message.error('鏈粦瀹氭楠岄」')
-            return;
-          }
           // console.log(res)
           this.bindAddTableData = res.data;
           this.bindAddDialogVisible = true;
@@ -979,3 +918,92 @@
   },
 };
 </script>
+<style scoped>
+.search {
+  background-color: #fff;
+  height: 40px;
+  display: flex;
+  align-items: center;
+  margin-top: 20px;
+}
+
+.search_thing {
+  display: flex;
+  align-items: center;
+  height: 50px;
+}
+
+.search_label {
+  width: 100px;
+  font-size: 14px;
+  text-align: right;
+}
+
+.search_input {
+  width: calc(100% - 120px);
+}
+
+.ins-order-plan-main .search {
+  width: 100%;
+  height: 40px;
+  background-color: #fff;
+  border-radius: 3px;
+}
+
+.ins-order-plan-main .center {
+  background-color: #fff;
+  border-radius: 3px;
+  padding: 20px;
+  padding-top: 0px;
+}
+
+.tab {
+  list-style-type: none;
+  display: flex;
+  padding-left: 6px;
+}
+
+.tab li {
+  line-height: 24px;
+  padding: 4px 10px;
+  font-size: 14px;
+  color: #333333;
+  border: 1px solid #eeeeee;
+  cursor: pointer;
+}
+
+.tab li:nth-child(1) {
+  border-radius: 8px 0 0 8px;
+}
+
+.tab li:nth-last-child(1) {
+  border-radius: 0 8px 8px 0;
+}
+
+.tab li.active {
+  border-color: #3a7bfa;
+  color: #3a7bfa;
+}
+
+.center .center-options .center-title {
+  width: 100%;
+  display: flex;
+  align-items: center;
+  justify-content: right;
+}
+
+.center .center-options .center-title span:last-child {
+  color: #3a7bfa;
+  font-size: 23px;
+  font-weight: 400;
+}
+
+.view-self-checkbox {
+  margin-left: 50px;
+}
+</style>
+<style>
+.ins-order-plan-main .el-form-item__label {
+  color: #000;
+}
+</style>

--
Gitblit v1.9.3