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 | 83 +++++++++++++++++++++++++++++------------ 1 files changed, 58 insertions(+), 25 deletions(-) diff --git a/src/views/system/work-order/index.vue b/src/views/system/work-order/index.vue index e1a191d..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"> @@ -364,12 +372,6 @@ <el-form ref="batchAuditingWorkOrder" :model="batchAuditingWorkOrder" label-width="80px" :rules="batchAuditingRules" > - <el-form-item label="鏁呴殰绫诲瀷" prop="errorType"> - <el-select v-model="batchAuditingWorkOrder.errorTypes" multiple placeholder="鏁呴殰绫诲瀷"> - <el-option v-for="dict in dict.type.error_type" :value="dict.value" :key="dict.value" :label="dict.label" /> - </el-select> - - </el-form-item> <el-form-item label="瀹℃牳璇存槑" prop="auditingRemark"> <el-input v-model="batchAuditingWorkOrder.auditingRemark" type="textarea" maxlength="30" show-word-limit/> </el-form-item> @@ -560,6 +562,7 @@ </style> <script> import { + ywConditionList, listWorkOrder, getWorkOrder, delWorkOrder, @@ -584,6 +587,7 @@ components: {WorkOrderAuditing}, data() { return { + isConditionList:false, isSelectAll: false, // 鍏ㄩ�夋寜閽� activeIndex: '0', drawer: false, @@ -598,7 +602,7 @@ timeRange : null, batchAuditingVisible: false, batchAuditingWorkOrder: { - errorTypes: [], + workOrderNumbers: [], auditingRemark: '', auditingResult: '' }, @@ -712,7 +716,7 @@ }, // 鎵归噺瀹℃牳鏍¢獙 batchAuditingRules: { - errorTypes: [ + workOrderNumbers: [ { required: true, message: '璇烽�夋嫨鏁呴殰绫诲瀷', trigger: 'change' } ] }, @@ -720,7 +724,8 @@ ywData: { content: '', fileList: 'process.env.VUE_APP_BASE_API' - } + }, + } }, created() { @@ -732,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; @@ -777,6 +793,7 @@ // 鎵归噺瀹℃牳 batchAuditing(result) { this.batchAuditingWorkOrder.auditingResult = result + this.batchAuditingWorkOrder.workOrderNumbers = this.workOrderNumbers this.$refs['batchAuditingWorkOrder'].validate(valid => { if (valid) { batchAuditing(this.batchAuditingWorkOrder).then(res => { @@ -831,6 +848,7 @@ this.form = {} this.ywConditionForm = row this.ywConditionOpen = true + this.isConditionList = false this.form.id = row.id }, // 杩愮淮缁撴灉鎸夐挳 @@ -903,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() { @@ -957,9 +985,11 @@ //鍚庣澶嶇敤涓�涓帴鍙� this.queryParams.isNotDistribute = true; if(this.queryParams.errorType){ - console.log(this.queryParams.errorType,"--------",this.errorTypeLabelsMap) this.queryParams.errorTypeLabel = this.errorTypeLabelsMap[this.queryParams.errorType]; } + //閲嶇疆鍏ㄩ�� + this.workOrderNumbers = [] + this.isSelectAll = false listWorkOrder(this.queryParams).then(response => { workList(this.queryParams).then(res => { this.unitList = res.data; @@ -1023,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); // 娣诲姞閫変腑椤� } }, /** 鏂板鎸夐挳鎿嶄綔 */ @@ -1115,7 +1147,8 @@ this.imageQueryParams.workOrderNo= row.workOrderNo this.imageQueryParams.serialNumber= row.serialNumber checkWorkOrder(this.imageQueryParams).then((res) => { - this.imageUrl = res.data + this.imageUrl = this.$img + res.data + console.log( "鍥剧墖鍦板潃"+this.imageUrl ) this.imageLoading = false }).catch(() => { this.imageLoading = false -- Gitblit v1.8.0