From 3c6bdb6f439ff7af04765259fd6a91b6d201d095 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 19 六月 2025 17:12:25 +0800
Subject: [PATCH] 工单,数据中心用户查看数据的权限,合同考核每日,以及导出每日和按月

---
 src/views/system/work-order/index.vue |   65 +++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 15 deletions(-)

diff --git a/src/views/system/work-order/index.vue b/src/views/system/work-order/index.vue
index 9142161..5c3514e 100644
--- a/src/views/system/work-order/index.vue
+++ b/src/views/system/work-order/index.vue
@@ -6,7 +6,7 @@
           <el-menu-item index="0" @click="changeUnit(null, '鍏ㄩ儴')">
             鍏ㄩ儴鍗曚綅锛坽{ totalWorkOrders }}锛�
           </el-menu-item>
-          <el-menu-item :index="index + 1" v-for="(item, index) in unitList" :key="index" @click="changeUnit(item.id, item.value)">
+          <el-menu-item :index="index + 1 +''" v-for="(item, index) in unitList" :key="index" @click="changeUnit(item.id, item.value)">
             {{ item.unitName }}锛坽{ item.workOrderCount }}锛�
           </el-menu-item>
         </el-menu>
@@ -99,6 +99,7 @@
           v-hasPermi="['work:order:delete']"
         >鍒犻櫎
         </el-button>
+        <el-button size="mini" plain type="info" @click="selectedDistribute" class="op">鎵归噺涓婃姤</el-button>
       </el-col>
     </el-row>
 
@@ -113,7 +114,7 @@
               <el-row style="display: flex;">
               <el-checkbox  v-if="$store.state.user.roles.includes('admin')"
                             v-model="isItemSelected[item.workOrderNo]"
-                            @change="toggleSelection(item.workOrderNo)"
+                            @change="toggleSelection(item)"
                             style="margin-right: 10px; "></el-checkbox>
                <el-tooltip
                 effect="dark"
@@ -121,7 +122,14 @@
                 placement="top"
                >
               <el-row>
-                <el-tag style="margin-right: 5px;height:24px;overflow:auto" effect="dark" v-for="(error, errorIndex) in displayedErrors(item.errorTypeList)" :key="errorIndex" size="small" type="warning">
+                <el-tag
+                  style="margin-right: 5px;height:24px;overflow:auto" effect="dark"
+                  v-for="(error, errorIndex) in displayedErrors(item.errorTypeList)" :key="errorIndex" size="small"
+                  :type="error === '鍥惧儚寮傚父'
+                     || error ===  '鐐逛綅淇℃伅閿欒'
+                     || error ===  '鏃堕挓鍋忓樊'
+                     || error ===  'OSD寮傚父'
+                     ? 'danger' : 'warning'">
                   {{ error }}
                 </el-tag>
               </el-row>
@@ -214,7 +222,7 @@
                       size="mini"
                       type="text"
                       @click="handleDetail(item)"
-                      v-hasPermi="['system:workorder:detail']"
+                      v-hasPermi="['work:order:detail']"
                     >璇︽儏
                     </el-button>
                     <el-button
@@ -341,10 +349,10 @@
 
     <el-dialog title="杩愮淮鎯呭喌璁板綍" :visible.sync="ywConditionOpen" width="500px" append-to-body>
       <el-form ref="ywConditionForm" :model="form" :rules="ywConditionRules" label-width="80px">
-        <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">
+        <el-form-item label="宸ュ崟鍙�" prop="workOrderNo" v-if="!isConditionList">
           <el-input v-model="ywConditionForm.workOrderNo" disabled/>
         </el-form-item>
-        <el-form-item label="杩愮淮鍗曚綅" prop="unitName">
+        <el-form-item label="杩愮淮鍗曚綅" prop="unitName"  v-if="!isConditionList">
           <el-input v-model="ywConditionForm.unitName" disabled/>
         </el-form-item>
         <el-form-item label="鐜板満鎯呭喌" prop="ywCondition">
@@ -554,6 +562,7 @@
 </style>
 <script>
 import {
+  ywConditionList,
   listWorkOrder,
   getWorkOrder,
   delWorkOrder,
@@ -578,6 +587,7 @@
   components: {WorkOrderAuditing},
   data() {
     return {
+      isConditionList:false,
       isSelectAll: false, // 鍏ㄩ�夋寜閽�
       activeIndex: '0',
       drawer: false,
@@ -714,7 +724,8 @@
       ywData: {
         content: '',
         fileList: 'process.env.VUE_APP_BASE_API'
-      }
+      },
+
     }
   },
   created() {
@@ -726,6 +737,17 @@
     this.getList()
   },
   methods: {
+    selectedDistribute(){
+      this.form = {}
+      if (this.workOrderNumbers.length < 1) {
+        this.$message.warning("璇峰厛閫夋嫨瑕佷笅鍙戠殑宸ュ崟")
+        return
+      }
+      this.form.workOrderNumbers = this.workOrderNumbers;
+      this.ywConditionOpen = true
+      this.isConditionList = true
+    },
+
     //鍏ㄩ�夋寜閽�
     toggleSelectAll() {
       this.isSelectAll = !this.isSelectAll;
@@ -826,6 +848,7 @@
       this.form = {}
       this.ywConditionForm = row
       this.ywConditionOpen = true
+      this.isConditionList = false
       this.form.id = row.id
     },
     // 杩愮淮缁撴灉鎸夐挳
@@ -898,17 +921,27 @@
     submitYwCondition() {
       this.$refs['ywConditionForm'].validate(valid => {
         if (valid) {
-          ywCondition(this.form).then(res => {
-            this.ywConditionOpen = false
-            this.$modal.msgSuccess('鎿嶄綔鎴愬姛')
-            this.getList()
-          })
+          if(this.isConditionList){
+            ywConditionList(this.form).then(res => {
+              this.ywConditionOpen = false
+              this.$modal.msgSuccess('鎿嶄綔鎴愬姛')
+              this.getList()
+            })
+          }else {
+            ywCondition(this.form).then(res => {
+              this.ywConditionOpen = false
+              this.$modal.msgSuccess('鎿嶄綔鎴愬姛')
+              this.getList()
+            })
+          }
+
         }
       })
     },
     cancelYwCondition() {
       this.ywConditionForm = {}
       this.ywConditionOpen = false
+      this.isConditionList = false
     },
     // 鎻愪氦杩愮淮缁撴灉
     submitYwResult() {
@@ -1020,12 +1053,14 @@
       this.multiple = !selection.length
     },
     // 澶氶�夋閫変腑鏁版嵁
-    toggleSelection(workOrderNo) {
-      const index = this.workOrderNumbers.indexOf(workOrderNo);
+    toggleSelection(item) {
+      console.log(item.workOrderNo)
+      console.log(this.workOrderNumbers)
+      const index = this.workOrderNumbers.indexOf(item.workOrderNo);
       if (index > -1) {
         this.workOrderNumbers.splice(index, 1); // 绉婚櫎閫変腑椤�
       } else {
-        this.workOrderNumbers.push(workOrderNo); // 娣诲姞閫変腑椤�
+        this.workOrderNumbers.push(item.workOrderNo); // 娣诲姞閫変腑椤�
       }
     },
     /** 鏂板鎸夐挳鎿嶄綔 */

--
Gitblit v1.8.0