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