From 1e4d700c9d85f2716e866bde7a9ca5f296f944e4 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 13 三月 2025 14:36:43 +0800
Subject: [PATCH] 工时管理查询修改

---
 src/views/business/inspectionTask/index.vue |  256 ++++++++++++++++++++++++++++-----------------------
 1 files changed, 141 insertions(+), 115 deletions(-)

diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index 6dccaa2..515c16e 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -89,7 +89,7 @@
 </style>
 <template>
   <div class="ins-order-plan-main">
-    <div v-show="activeFace == 0" style="height: 100%">
+    <div style="height: 100%">
       <div class="search">
         <div class="search_thing">
           <div class="search_label">濮旀墭缂栧彿锛�</div>
@@ -138,7 +138,8 @@
           </el-row>
         </div>
         <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"
-          :height="'calc(100vh - 300px)'" @pagination="pagination" key="tableData0"></lims-table>
+          :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination"
+          key="tableData0"></lims-table>
       </div>
     </div>
     <el-dialog :visible.sync="claimVisible" title="鎻愮ず" width="400px">
@@ -178,33 +179,18 @@
         <el-button :loading="loading" type="primary" @click="confirmConnect">纭� 瀹�</el-button>
       </span>
     </el-dialog>
-    <div v-if="activeFace > 0 && isCopper == null" style="width: 100%; height: 100%">
-      <!-- <Add :active="activeFace" :currentId="currentId" :examine="examine" /> -->
-    </div>
-    <div v-if="activeFace > 0 && isCopper == 0" style="width: 100%; height: 100%">
-      <!-- <CustomsInspection
-        :active="activeFace"
-        :currentId="currentId"
-        :customsInspection="customsInspection"
-        :isReport="isReport"
-      /> -->
-    </div>
-    <div v-if="activeFace > 0 && isCopper == 1" style="width: 100%; height: 100%">
-      <!-- <CopperOrder :active="activeFace" :currentId="currentId"></CopperOrder> -->
-    </div>
-    <!--<Inspection
-      v-if="state > 0"
-      :key="InspectionKey"
-      :inspectorList="inspectorList"
-      :orderId="orderId"
-      :sonLaboratory="sonLaboratory"
-      :state="state"
-      :typeSource="typeSource"
-      @goback="goback"
-      @refreshView="refreshView"
-    />-->
     <el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%">
       <div v-if="dataDialogVisible" style="height: 70vh; 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>
@@ -220,7 +206,7 @@
           鏂板
         </el-button>
       </div>
-      <el-table :data="bindTableData" style="width: 100%" height="70vh">
+      <el-table :data="bindTableData" style="width: 100%" height="70vh" v-loading="bindTableDataLoading">
         <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150">
         </el-table-column>
         <el-table-column prop="inspectionItem" label="妫�楠岄」" width="150">
@@ -256,20 +242,21 @@
       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>
 
 <script>
-import ValueTable from "@/components/Table/value-table.vue";
-// import Inspection from "../do/b1-inspect-order-plan/Inspection.vue";
-// import CustomsInspection from "../do/b1-material-ins-order/customs-inspection.vue";
 import { getYearAndMonthAndDays } from "@/utils/date";
-// import Add from "../do/b1-ins-order/add.vue";
-// import ShowInfo from "../do/b1-material-ins-order/showInfo.vue";
-// import CopperOrder from "../do/b1-material-ins-order/copper-order.vue";
 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,
@@ -283,16 +270,14 @@
   selectSampleAndProductByOrderId,
 } from "@/api/business/inspectionTask.js";
 import { mapGetters } from "vuex";
+import {getRetestResult} from "@/api/business/rawMaterialOrder";
 export default {
+  name: 'InspectionTask',
   components: {
     EditInspectionItem,
-    // CopperOrder,
-    // ShowInfo,
-    ValueTable,
     limsTable,
-    // Inspection,
-    // Add,
-    // CustomsInspection,
+    viewManHourDia,
+    UnPassRetestResult
   },
   dicts: ["urgency_level", "inspection_task_state"],
   computed: {
@@ -303,6 +288,7 @@
       InspectionKey: 1,
       bindDialogVisible: false,
       bindAddDialogVisible: false,
+      bindTableDataLoading: false,
       bindTableData: [],
       bindAddTableData: [],
       chooseBindAddList: [],
@@ -384,14 +370,15 @@
         {
           label: "濮旀墭缂栧彿",
           prop: "entrustCode",
-          width: "140px",
+          width: "160px",
           dataType: "link",
           linkMethod: "selectAllByOne",
         },
-        { label: "鏍峰搧鍚嶇О", prop: "sample", width: "140px" },
+        { label: "鏍峰搧鍚嶇О", prop: "sample", width: "160px" },
         {
           label: "涓嬪崟绫诲埆",
           prop: "typeSource",
+          width: "100px",
           dataType: "tag",
           formatData: (params) => {
             if (params == 0) {
@@ -409,10 +396,14 @@
           formatData: (params) => {
             return this.urgencyLevel.find((m) => m.value == params).label;
           },
+          formatType: (params) => {
+            return this.urgencyLevel.find((m) => m.value == params).type;
+          },
         },
         {
           label: "妫�楠岀被鍨�",
           prop: "orderType",
+          width: "100px",
           dataType: "tag",
           formatData: (params) => {
             return this.orderTypeList.find((m) => m.value == params).label;
@@ -426,8 +417,7 @@
           prop: "insState",
           dataType: "tag",
           formatData: (params) => {
-            return this.inspectionTaskState.find((m) => m.value == params)
-              .label;
+            return this.inspectionTaskState.find((m) => m.value == params).label;
           },
           formatType: (params) => {
             return this.inspectionTaskState.find((m) => m.value == params).type;
@@ -458,9 +448,17 @@
                 this.editInspection(row);
               },
               disabled: (row) => {
-                return (
-                  row.userName == null || row.insState == 3 || row.insState == 5
-                );
+                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'])
               },
             },
             {
@@ -528,6 +526,9 @@
         },
       ],
       // 鏁版嵁鏌ョ湅鐩稿叧瀛楁---寮�濮�
+      entity: {
+        inspectionItem: "",
+      },
       lookTableData: [],
       lookColumn: [
         {
@@ -551,10 +552,20 @@
           prop: "insResult",
           dataType: "tag",
           formatData: (params) => {
-            return this.insResultList.find((m) => m.value == params).label;
+            let obj = this.insResultList.find((m) => m.value == params)
+            if (obj) {
+              return this.insResultList.find((m) => m.value == params).label;
+            } else {
+              return null
+            }
           },
           formatType: (params) => {
-            return this.insResultList.find((m) => m.value == params).type;
+            let obj = this.insResultList.find((m) => m.value == params)
+            if (obj) {
+              return this.insResultList.find((m) => m.value == params).type;
+            } else {
+              return null
+            }
           },
         },
         {
@@ -562,6 +573,16 @@
           fixed: "right",
           label: "鎿嶄綔",
           operation: [
+            {
+              name: "涓嶅悎鏍煎娴嬫煡鐪�",
+              type: "text",
+              clickFun: (row) => {
+                this.getRetestResultInfo(row);
+              },
+              disabled: (row) => {
+                return row.insResult!=0
+              },
+            },
             {
               name: "妫�楠岄」缁戝畾",
               type: "text",
@@ -586,9 +607,10 @@
       },
       lookTableLoading: false,
       // 鏁版嵁鏌ョ湅鐩稿叧瀛楁---缁撴潫
+      retestVisible: false,
     };
   },
-  created() {
+  mounted() {
     this.getAuthorizedPerson();
     this.currentTime = getYearAndMonthAndDays();
     this.getDicts("urgency_level").then((response) => {
@@ -597,10 +619,10 @@
     this.getDicts("inspection_task_state").then((response) => {
       this.inspectionTaskState = this.dictToValue(response.data);
     });
-  },
-  mounted() {
+    this.refreshTable();
     this.queryParams.userId = this.userId;
-    // this.getPower();
+  },
+  activated() {
     this.refreshTable();
   },
   methods: {
@@ -627,7 +649,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) => {
@@ -651,48 +673,14 @@
     editInspection(row) {
       this.$refs.editInspectionItem.showDialog(row.id);
     },
-    // 鍒锋柊椤甸潰
-    refreshView() {
-      this.getList();
+    // 鏌ョ湅宸ユ椂
+    viewManHour(row) {
+      this.$refs.viewManHourDia.showDialog(row.id, row.insState);
     },
     // 鏁版嵁鏌ョ湅
     handleDataLook(row) {
       this.lookInfo = row;
       this.getLookList();
-    },
-    // 鏉冮檺鍒嗛厤
-    getPower(radio) {
-      let power = JSON.parse(sessionStorage.getItem("power"));
-      let inspection = false;
-      let connect = false;
-      let review = false;
-      let claim = false;
-      for (var i = 0; i < power.length; i++) {
-        if (power[i].menuMethod == "doInsOrder") {
-          inspection = true;
-        }
-        if (power[i].menuMethod == "upPlanUser") {
-          connect = true;
-        }
-        if (power[i].menuMethod == "verifyPlan") {
-          review = true;
-        }
-        if (power[i].menuMethod == "claimInsOrderPlan") {
-          claim = true;
-        }
-      }
-      if (!claim) {
-        this.componentData.do.splice(3, 1);
-      }
-      if (!review) {
-        this.componentData.do.splice(2, 1);
-      }
-      if (!connect) {
-        this.componentData.do.splice(1, 1);
-      }
-      if (!inspection) {
-        this.componentData.do.splice(0, 1);
-      }
     },
     changeCheckBox(val) {
       this.queryParams.userId = val ? 0 : null;
@@ -742,7 +730,7 @@
           this.loading = false;
         });
     },
-    changeRowClass({ row, rowIndex }) {
+    rowClassName({ row, rowIndex }) {
       if (this.currentTime == row.appointed) {
         return "highlight-warning-row-border";
       } else if (this.currentTime > row.appointed) {
@@ -794,6 +782,39 @@
       this.examine = 1;
       this.isReport = 0;
       this.currentId = parseInt(row.id);
+      switch (row.isCopper) {
+        case 0:
+          // 鍘熸潗鏂�
+          this.$router.push({
+            path: "/materialOrder/customsInspection", query: {
+              customsInspection: row,
+              active: this.activeFace,
+              currentId: this.currentId,
+              isReport: this.isReport
+            }
+          });
+          break;
+        case null:
+          // 鎴愬搧
+          this.$router.push({
+            path: "/productOrder/add", query: {
+              examine: this.examine,
+              active: this.activeFace,
+              currentId: this.currentId
+            }
+          });
+          break;
+        case 1:
+          // 閾滄潗
+          this.$router.push({
+            path: "/materialOrder/copperOrder", query: {
+              active: this.activeFace,
+              currentId: this.currentId
+            }
+          });
+          break;
+      }
+
     },
     playOrder(num) {
       this.activeFace = num;
@@ -843,6 +864,16 @@
       this.state = 3;
       this.typeSource = row.typeSource;
       this.orderId = row.id;
+      this.$router.push({
+        path: "/inspectionTask/inspection",
+        query: {
+          inspectorList: this.inspectorList,
+          sonLaboratory: this.sonLaboratory,
+          state: this.state,
+          typeSource: this.typeSource,
+          orderId: this.orderId,
+        },
+      });
     },
     handleConnect(row) {
       this.orderId = row.id;
@@ -913,15 +944,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;
@@ -935,10 +972,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;
@@ -965,10 +998,6 @@
       })
         .then((res) => {
           this.loading = false;
-          if (res.code == 201) {
-            this.$message.error("缁戝畾澶辫触");
-            return;
-          }
           this.$message.success("缁戝畾鎴愬姛");
           this.bindAddDialogVisible = false;
           this.getBinding(this.bindCurrentInfo);
@@ -983,17 +1012,14 @@
         cancelButtonText: "鍙栨秷",
         type: "warning",
       }).then(async () => {
-        delProductTreeByProductId({ productId: row.id })
-          .then((res) => {
-            if (res.coe == 201) {
-              // this.$message.error('鏈粦瀹氭楠岄」')
-              return;
-            }
-            this.getBinding(this.bindCurrentInfo);
-          })
-          .catch((error) => {
-            console.error(error);
-          });
+        this.bindTableDataLoading = true
+        delProductTreeByProductId({ productId: row.id }).then((res) => {
+          this.bindTableDataLoading = false
+          this.getBinding(this.bindCurrentInfo);
+        }).catch((error) => {
+          this.bindTableDataLoading = false
+          console.error(error);
+        });
       });
     },
   },

--
Gitblit v1.9.3