优化工单列表

This commit is contained in:
龙运模 2024-08-21 23:40:30 +08:00
parent 850597c9a9
commit 7db33a3ea9
4 changed files with 67 additions and 39 deletions

View File

@ -134,6 +134,13 @@ export default {
return await http.post(this.url,params); 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:{ field:{
url: `${config.API_URL}/maintenance.order.field.list`, url: `${config.API_URL}/maintenance.order.field.list`,
name: "维保工单检索", name: "维保工单检索",

View File

@ -2,7 +2,7 @@
<el-container> <el-container>
<el-main> <el-main>
<el-scrollbar> <el-scrollbar>
<el-form :size="size" label-width="100px" :model="form"> <el-form ref="form" :size="size" label-width="100px" :model="form">
<div class="boxMain"> <div class="boxMain">
<div class="title">工作时间</div> <div class="title">工作时间</div>
<div class="boxCom"> <div class="boxCom">
@ -181,7 +181,7 @@
</div> </div>
</div> </div>
<div class="btnBox"> <div class="btnBox">
<el-button type="primary" @click="save"> </el-button> <el-button type="primary" @click="save" :loading="isSave"> </el-button>
</div> </div>
</el-form> </el-form>
</el-scrollbar> </el-scrollbar>
@ -195,6 +195,7 @@ export default {
data(){ data(){
return{ return{
size:"small", size:"small",
isSave:false,
form:{ form:{
maintenance_level: "234", // maintenance_level: "234", //
fault_type: "234", // fault_type: "234", //
@ -214,7 +215,7 @@ export default {
sla_expiration: "2024-08-21", // SLA sla_expiration: "2024-08-21", // SLA
bd_backup_count: "234", // BD bd_backup_count: "234", // BD
pe_confirmation_time: "2024-08-21", // PE pe_confirmation_time: "2024-08-21", // PE
warranty_end_date: "234", // warranty_end_date: "2024-08-21", //
maintenance_plan: '' // 1- maintenance_plan: '' // 1-
} }
} }
@ -224,7 +225,16 @@ export default {
}, },
methods:{ methods:{
save(){ 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("操作成功");
}
}
})
} }
} }
} }

View File

@ -391,6 +391,9 @@ export default {
} }
}, },
async manualClick() { async manualClick() {
if(this.refreshShow){
return
}
const res = await this.$API.orders.order.mail.manual.post(); const res = await this.$API.orders.order.mail.manual.post();
if(res.code == 200){ if(res.code == 200){
this.$message.success('开始检查是否有需要同步的邮件'); this.$message.success('开始检查是否有需要同步的邮件');

View File

@ -3,6 +3,10 @@
<el-header> <el-header>
<div class="left-panel"> <div class="left-panel">
<el-button type="primary" :size="size" icon="el-icon-plus" @click="add">新增工单</el-button> <el-button type="primary" :size="size" icon="el-icon-plus" @click="add">新增工单</el-button>
<el-button type="success" :size="size" icon="sc-icon-Review" :disabled="selection.length==0" @click="batch_del">批量审核</el-button>
<el-button type="primary" plain :size="size" icon="sc-icon-OrderSetup" :disabled="selection.length==0" @click="batch_del">提交维保</el-button>
<el-button type="primary" plain :size="size" icon="sc-icon-OrderSetup" :disabled="selection.length==0" @click="batch_del">下发维保</el-button>
<el-button type="danger" plain :size="size" icon="el-icon-Delete" :disabled="selection.length==0" @click="batch_del"></el-button>
<scImport ref="scImport" :size="size" title="批量导入维保工单" @parentParams="importUpload" @importSuccess="importSuccess"> <scImport ref="scImport" :size="size" title="批量导入维保工单" @parentParams="importUpload" @importSuccess="importSuccess">
<template #header> <template #header>
<el-button v-auth="'organizationImport'" type="primary" :size="size" plain @click="importFile">批量导入</el-button> <el-button v-auth="'organizationImport'" type="primary" :size="size" plain @click="importFile">批量导入</el-button>
@ -51,8 +55,10 @@
<el-dropdown-menu> <el-dropdown-menu>
<el-dropdown-item @click="table_edit(scope.row, 'edit')" icon="sc-icon-Edit">编辑工单</el-dropdown-item> <el-dropdown-item @click="table_edit(scope.row, 'edit')" icon="sc-icon-Edit">编辑工单</el-dropdown-item>
<el-dropdown-item @click="table_del(scope.row, 'delete')" icon="sc-icon-Delete">删除工单</el-dropdown-item> <el-dropdown-item @click="table_del(scope.row, 'delete')" icon="sc-icon-Delete">删除工单</el-dropdown-item>
<el-dropdown-item @click="table_show(scope.row, 'see')" icon="sc-icon-See" divided>审核工单</el-dropdown-item>
<el-dropdown-item @click="table_show(scope.row, 'see')" icon="sc-icon-See">工单详情</el-dropdown-item> <el-dropdown-item @click="table_show(scope.row, 'see')" icon="sc-icon-See">工单详情</el-dropdown-item>
<el-dropdown-item icon="sc-icon-OrderSetup" @click="table_setup(scope.row)" divided>执行维修</el-dropdown-item> <el-dropdown-item icon="sc-icon-OrderSetup" @click="table_setup(scope.row)" divided>提交维保</el-dropdown-item>
<el-dropdown-item icon="sc-icon-OrderSetup" @click="table_setup(scope.row)">下发维保</el-dropdown-item>
<el-dropdown-item icon="sc-icon-OrderLog" @click="table_logs(scope.row)" divided>工单日志</el-dropdown-item> <el-dropdown-item icon="sc-icon-OrderLog" @click="table_logs(scope.row)" divided>工单日志</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
@ -123,39 +129,30 @@ export default {
} }
}) })
}, },
getSelectData(item){ async getSelectData(item) {
let {data,params} = item; let {data, params} = item;
this.params = params; this.params = params;
if(data.code == "id"){ let searchParams = this.$TOOL.objCopy(params);
this.getCompanyList(data,params) searchParams.field = ""
}else if(data.code == "active_status"){ if (typeof data.code === 'string') {
this.getStatusList(data,params); searchParams.field = data.code;
} else {
searchParams.field = data.code[0];
} }
}, if (data.type == 'select') {
const res = await this.$API.orders.order.maintenance.field.post(searchParams);
async getCompanyList(data,params) { if (res.code == 200) {
const res = await this.$API.system.company.select.post(params); if (res.data && res.data.length > 0) {
if(res.data && res.data.length>0){ res.data.forEach(item => {
res.data.forEach(item=>{ item.label = item[data.code];
item.label = item.full_name; })
})
}
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;
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;
}
})
} }
}, },
@ -206,16 +203,27 @@ export default {
}, },
// //
async table_del(row){ async table_del(row){
this.$confirm(`确定删除 ${row.name} 吗?`, '提示', { this.$confirm(`确定删除 ${row.repair_order_no} 吗?`, '提示', {
type: 'warning' type: 'warning'
}).then(async () => { }).then(async () => {
const reqData = {order_ids: [row.id]}; const reqData = {order_ids: [row.id]};
const res = await this.$API.orders.order.maintenance.delete.post(reqData); const res = await this.$API.orders.order.maintenance.delete.post(reqData);
if(res.code == 200){ 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("删除成功") this.$message.success("删除成功")
}else{
await this.$alert(res.message, "提示", {type: 'error'})
} }
}).catch(()=>{}) }).catch(()=>{})
}, },