优化工单列表
This commit is contained in:
parent
850597c9a9
commit
7db33a3ea9
@ -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: "维保工单检索",
|
||||
|
||||
@ -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("操作成功");
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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('开始检查是否有需要同步的邮件');
|
||||
|
||||
@ -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(()=>{})
|
||||
},
|
||||
|
||||
Loading…
Reference in New Issue
Block a user