From 7db33a3ea9fac9f8bf1f0d6de9e8f0ae2b15bb81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=99=E8=BF=90=E6=A8=A1?= <1724894114@qq.com> Date: Wed, 21 Aug 2024 23:40:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B7=A5=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/model/orders.js | 7 +++ src/views/order/create-order.vue | 18 +++++-- src/views/order/dataConfirm/index.vue | 3 ++ src/views/order/orderList/index.vue | 78 +++++++++++++++------------ 4 files changed, 67 insertions(+), 39 deletions(-) diff --git a/src/api/model/orders.js b/src/api/model/orders.js index d28ac73..513443c 100644 --- a/src/api/model/orders.js +++ b/src/api/model/orders.js @@ -134,6 +134,13 @@ export default { return await http.post(this.url,params); } }, + add:{ + url: `${config.API_URL}/maintenance.order.add`, + name: "创建维保工单", + post: async function (params) { + return await http.post(this.url,params); + } + }, field:{ url: `${config.API_URL}/maintenance.order.field.list`, name: "维保工单检索", diff --git a/src/views/order/create-order.vue b/src/views/order/create-order.vue index b947831..758223b 100644 --- a/src/views/order/create-order.vue +++ b/src/views/order/create-order.vue @@ -2,7 +2,7 @@ - +
工作时间
@@ -181,7 +181,7 @@
- 保 存 + 保 存
@@ -195,6 +195,7 @@ export default { data(){ return{ size:"small", + isSave:false, form:{ maintenance_level: "234", // 维修等级 fault_type: "234", // 故障类型 @@ -214,7 +215,7 @@ export default { sla_expiration: "2024-08-21", // SLA到期时间 bd_backup_count: "234", // 剩余BD数 pe_confirmation_time: "2024-08-21", // PE确认时间 - warranty_end_date: "234", // 保修期结束 + warranty_end_date: "2024-08-21", // 保修期结束 maintenance_plan: '' // 维保等级:1-铜牌;常量维护项 } } @@ -224,7 +225,16 @@ export default { }, methods:{ save(){ - + this.$refs.form.validate(async (valid) => { + if (valid) { + this.isSave = true; + const res = await this.$API.orders.order.maintenance.add.post(this.form); + this.isSave = false; + if(res.code == 200){ + this.$message.success("操作成功"); + } + } + }) } } } diff --git a/src/views/order/dataConfirm/index.vue b/src/views/order/dataConfirm/index.vue index 4a232b4..c0f067f 100644 --- a/src/views/order/dataConfirm/index.vue +++ b/src/views/order/dataConfirm/index.vue @@ -391,6 +391,9 @@ export default { } }, async manualClick() { + if(this.refreshShow){ + return + } const res = await this.$API.orders.order.mail.manual.post(); if(res.code == 200){ this.$message.success('开始检查是否有需要同步的邮件'); diff --git a/src/views/order/orderList/index.vue b/src/views/order/orderList/index.vue index 84f93ee..4fa49a8 100644 --- a/src/views/order/orderList/index.vue +++ b/src/views/order/orderList/index.vue @@ -3,6 +3,10 @@
新增工单 + 批量审核 + 提交维保 + 下发维保 + @@ -123,39 +129,30 @@ export default { } }) }, - getSelectData(item){ - let {data,params} = item; + async getSelectData(item) { + let {data, params} = item; this.params = params; - if(data.code == "id"){ - this.getCompanyList(data,params) - }else if(data.code == "active_status"){ - this.getStatusList(data,params); + let searchParams = this.$TOOL.objCopy(params); + searchParams.field = "" + if (typeof data.code === 'string') { + searchParams.field = data.code; + } else { + searchParams.field = data.code[0]; } - }, - - async getCompanyList(data,params) { - const res = await this.$API.system.company.select.post(params); - if(res.data && res.data.length>0){ - res.data.forEach(item=>{ - item.label = item.full_name; - }) - } - if(res.code == 200){ - this.searchList.forEach(item=>{ - if(item.code == data.code){ - item.data = res.data; + if (data.type == 'select') { + const res = await this.$API.orders.order.maintenance.field.post(searchParams); + if (res.code == 200) { + if (res.data && res.data.length > 0) { + res.data.forEach(item => { + item.label = item[data.code]; + }) } - }) - } - }, - async getStatusList(data,params) { - const res = await this.$API.oss.status.post(params); - if(res.code == 200){ - this.searchList.forEach(item=>{ - if(item.code == data.code){ - item.data = res.data; - } - }) + this.searchList.forEach(item => { + if (item.code == data.code) { + item.data = res.data; + } + }) + } } }, @@ -206,16 +203,27 @@ export default { }, //删除 async table_del(row){ - this.$confirm(`确定删除 ${row.name} 吗?`, '提示', { + this.$confirm(`确定删除 ${row.repair_order_no} 吗?`, '提示', { type: 'warning' }).then(async () => { const reqData = {order_ids: [row.id]}; const res = await this.$API.orders.order.maintenance.delete.post(reqData); if(res.code == 200){ - this.$refs.table.refresh() + this.$refs.table.refresh(); + this.$message.success("删除成功") + } + }).catch(()=>{}) + }, + async batch_del(){ + this.$confirm(`确定删除 ${this.selection.length}项吗?`, '提示', { + type: 'warning' + }).then(async () => { + let ids = this.selection.map(em=>em.id); + const reqData = {order_ids: ids}; + const res = await this.$API.orders.order.maintenance.delete.post(reqData); + if(res.code == 200){ + this.$refs.table.refresh(); this.$message.success("删除成功") - }else{ - await this.$alert(res.message, "提示", {type: 'error'}) } }).catch(()=>{}) },