优化工单列表

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);
}
},
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: "维保工单检索",

View File

@ -2,7 +2,7 @@
<el-container>
<el-main>
<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="title">工作时间</div>
<div class="boxCom">
@ -181,7 +181,7 @@
</div>
</div>
<div class="btnBox">
<el-button type="primary" @click="save"> </el-button>
<el-button type="primary" @click="save" :loading="isSave"> </el-button>
</div>
</el-form>
</el-scrollbar>
@ -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("操作成功");
}
}
})
}
}
}

View File

@ -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('开始检查是否有需要同步的邮件');

View File

@ -3,6 +3,10 @@
<el-header>
<div class="left-panel">
<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">
<template #header>
<el-button v-auth="'organizationImport'" type="primary" :size="size" plain @click="importFile">批量导入</el-button>
@ -51,8 +55,10 @@
<el-dropdown-menu>
<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_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 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-menu>
</template>
@ -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 (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];
})
}
if(res.code == 200){
this.searchList.forEach(item=>{
if(item.code == data.code){
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){
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(()=>{})
},