From f40c4519fd3922ca8c9b3e08f6e8632954e6017d Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期五, 19 九月 2025 11:59:01 +0800 Subject: [PATCH] 新需求 --- src/views/system/work-order/distribute/index.vue | 89 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 81 insertions(+), 8 deletions(-) diff --git a/src/views/system/work-order/distribute/index.vue b/src/views/system/work-order/distribute/index.vue index 7d56ea9..803a7f9 100644 --- a/src/views/system/work-order/distribute/index.vue +++ b/src/views/system/work-order/distribute/index.vue @@ -26,17 +26,34 @@ /> </el-form-item> <el-form-item label="鏁呴殰绫诲瀷" prop="errorTypeList"> - <el-select v-model="queryParams.errorTypeList" multiple placeholder="鏁呴殰绫诲瀷" clearable @change="page"> - <el-option v-for="dict in dict.type.error_type" - :value="dict.value" - :label="dict.label"/> - </el-select> + <el-cascader + v-model="queryParams.errorType" + :options="errorTypeList" + :props="{ expandTrigger: 'hover',emitPath: false }" + :show-all-levels="false" + @change="page" + placeholder="鏁呴殰绫诲瀷" + clearable + ></el-cascader> </el-form-item> <el-form-item label="涓嬪彂鐘舵��" prop="status"> <el-select v-model="queryParams.status" @change="page" placeholder="涓嬪彂鐘舵��" clearable> <el-option label="鏈笅鍙�" value="WAIT_DISTRIBUTE"/> <el-option label="宸蹭笅鍙�" value="DISTRIBUTED"/> </el-select> + </el-form-item> + <el-form-item label="鏃堕棿鑼冨洿" prop="timeRange" > + <el-date-picker + v-model="timeRange" + type="daterange" + range-separator="鑷�" + value-format="yyyy-MM-dd" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + @change="page" + clearable + > + </el-date-picker> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="small" @click="page">鎼滅储</el-button> @@ -95,6 +112,18 @@ <el-button slot="reference" type="primary" size="mini" plain>蹇嵎涓嬪彂</el-button> </el-popover> <el-button size="mini" plain type="success" @click="handleAdd">鎵嬪姩鏂板宸ュ崟</el-button> + <el-popconfirm + @confirm="delDistribute" + title="纭畾瑕佸垹闄ゆ墍閫夊伐鍗曞悧锛�" + > + <el-button size="mini" plain type="danger" class="op" slot="reference">鎵归噺鍒犻櫎</el-button> + </el-popconfirm> + <el-popconfirm + @confirm="allDistribute" + title="纭畾瑕佷笅鍙戞墍鏈夊伐鍗曞悧锛�" + > + <el-button size="mini" plain type="danger" class="op" slot="reference">鍏ㄩ儴涓嬪彂</el-button> + </el-popconfirm> <right-toolbar :showSearch.sync="showSearch" @queryTable="page"></right-toolbar> </el-row> </el-row> @@ -120,7 +149,14 @@ <el-table-column label="杩愮淮鍗曚綅" align="center" prop="unitName"/> <el-table-column label="浜х敓鏃堕棿" align="center" prop="createTime"/> <el-table-column v-if="queryParams.status === 'DISTRIBUTED'" label="涓嬪彂浜�" align="center" prop="realName"/> - <el-table-column v-if="queryParams.status === 'DISTRIBUTED'" label="涓嬪彂鏃堕棿" align="center" prop="distributeTime"/> + <el-table-column v-if="queryParams.status === 'DISTRIBUTED'" label="涓嬪彂鏃堕棿" align="center" prop="distributeTime"/>0 + <el-table-column label="鎿嶄綔" align="center" v-if="queryParams.status === 'WAIT_DISTRIBUTE'"> + <template slot-scope="scope"> + <el-button size="mini" type="text" @click="delWorkOrderClick(scope.row)" v-show="scope.row.status === 'WAIT_DISTRIBUTE'"> + 鍒犻櫎 + </el-button> + </template> + </el-table-column> </el-table> <pagination @@ -184,14 +220,17 @@ </template> <script> -import {distributeWorkOrder, fastDistribute, addWorkOrder, updateWorkOrder, selectedIdsDistribute} from '@/api/platform/work-order' +import {distributeWorkOrder, fastDistribute, addWorkOrder, updateWorkOrder, selectedIdsDistribute, errorTypeAll} from '@/api/platform/work-order' import {workList} from "@/api/platform/unit"; import { pointSelectData } from "@/api/platform/point"; +import {delWorkOrder,delWorkOrderByIds} from "../../../../api/platform/work-order"; export default { dicts: ['error_type'], - name: 'index', + name: 'Work-order-distribute', data() { return { + showDel:false, + errorTypeList: [], // 鐢ㄤ簬瀛樺偍閫変腑鐨勯」鐩甀D showSearch: true, selectedIdsDistributeForm: { ids: [], @@ -213,6 +252,7 @@ multipleSelection: [], // 涓嬪彂鏃堕棿鑼冨洿 fastTimeRange: [], + timeRange : null, // 涓嬪彂 fastDistributeForm: { fastWay: null, @@ -288,6 +328,11 @@ } }, mounted() { + const today = new Date(); + const start = today.toISOString().split('T')[0]; // 鑾峰彇鏃ユ湡閮ㄥ垎锛屾牸寮忎负 yyyy-MM-dd + const end = start; // 缁撴潫鏃ユ湡涔熸槸褰撳ぉ + this.timeRange = [start, end]; + this.getErrorList() this.page(); }, computed: { @@ -296,6 +341,27 @@ }, }, methods: { + delDistribute(){ + console.log(this.multipleSelection) + this.multipleSelection.forEach(item =>{ + console.log(item) + }) + delWorkOrderByIds(this.multipleSelection).then(res =>{ + if (res.code === 200){ + this.$message.success("鍒犻櫎鎴愬姛!") + } + this.page(); + }) + }, + delWorkOrderClick(row){ + delWorkOrder(row.id) + this.page() + }, + getErrorList() { + errorTypeAll().then(errorRes => { + this.errorTypeList = errorRes.data; + }) + }, setPointId(selectedValue) { const selectedItem = this.pointList.find(item => item.value === selectedValue); this.form.serialNumber = selectedItem.id @@ -312,6 +378,13 @@ }, page() { this.loading = true; + if (this.timeRange && this.timeRange.length > 0) { + this.queryParams.start = this.timeRange[0] + this.queryParams.end = this.timeRange[1] + }else { + this.queryParams.start = null + this.queryParams.end = null + } distributeWorkOrder(this.queryParams).then(data => { workList(this.queryParams).then(res => { this.unitList = res.data; -- Gitblit v1.8.0