修改工单

This commit is contained in:
龙运模 2024-08-26 22:39:09 +08:00
parent 34c1a74812
commit 9ca2c0e905
10 changed files with 213 additions and 145 deletions

View File

@ -168,8 +168,22 @@ export default {
post: async function (params) { post: async function (params) {
return await http.post(this.url,params); return await http.post(this.url,params);
} }
},
status:{
url: `${config.API_URL}/maintenance.order.business.status.list`,
name: "维保工单业务状态",
post: async function (params) {
return await http.post(this.url,params);
} }
}, },
optionList:{
url: `${config.API_URL}/maintenance.repair.options.const.list`,
name: "维保工单常量下拉",
post: async function (params) {
return await http.post(this.url,params);
}
},
},
sock: { sock: {
list:{ list:{
url: `${config.API_URL}/inventory.list`, url: `${config.API_URL}/inventory.list`,

View File

@ -50,4 +50,27 @@ export default {
}, },
} }
}, },
bom:{
list:{
url: `${config.API_URL}/bom.list`,
name: "bom列表",
get: async function (data = {}) {
return await http.post(this.url, data);
},
},
info:{
url: `${config.API_URL}/bom.detail`,
name: "bom详情",
post: async function (data = {}) {
return await http.post(this.url, data);
},
},
refresh:{
url: `${config.API_URL}/bom.refresh`,
name: "重新拉取bom",
post: async function (data = {}) {
return await http.post(this.url, data);
},
}
}
}; };

View File

@ -2,7 +2,7 @@
<el-container> <el-container>
<el-main> <el-main>
<el-scrollbar> <el-scrollbar>
<el-form ref="form" :size="size" label-width="100px" :model="form"> <el-form ref="form" :size="size" label-width="90px" :model="form">
<div class="boxMain"> <div class="boxMain">
<div class="title">工作时间</div> <div class="title">工作时间</div>
<div class="boxCom"> <div class="boxCom">
@ -29,14 +29,9 @@
<div class="title">维保单号</div> <div class="title">维保单号</div>
<div class="boxCom"> <div class="boxCom">
<el-row> <el-row>
<!-- <el-col :span="8" :lg="6">-->
<!-- <el-form-item label="维修单ID">-->
<!-- <el-input class="input" type="text" placeholder="请输入维修单ID"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<el-form-item label="维修单号"> <el-form-item label="维修单号" prop="repair_order_no">
<el-input class="input" type="text" placeholder="请输入维修单号"></el-input> <el-input class="input" type="text" v-model="form.repair_order_no" disabled placeholder="请输入维修单号"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -47,36 +42,35 @@
<div class="boxCom"> <div class="boxCom">
<el-row> <el-row>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<el-form-item label="维修单等级" prop="maintenance_level"> <el-form-item label="维修单等级" prop="maintenance_grade">
<el-input class="input" v-model="form.maintenance_level" type="text" placeholder="请输入维修等级"></el-input> <el-input class="input" v-model="form.maintenance_grade" type="text" placeholder="请输入维修等级"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<el-form-item label="故障类型" prop="fault_type"> <el-form-item label="维修分类" prop="maintenance_level">
<el-select class="input" v-model="form.fault_type" placeholder="请选择故障类型"> <el-select class="input" v-model="form.maintenance_level" @visible-change="getSelect('maintenance_level',2)" placeholder="请选择维修分类">
<el-option></el-option> <el-option v-for="(item,index) in setMap['maintenance_level']" :key="index" :value="item.id" :label="item.item_name"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="12">
<el-form-item label="故障内容" prop="fault_description"> <el-form-item label="故障内容" prop="fault_description">
<el-input class="input" v-model="form.fault_description" type="text" placeholder="请输入维修单号"></el-input> <el-input class="input" v-model="form.fault_description" type="text" placeholder="请输入维修单号"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<!-- <el-col :span="8" :lg="6">--> <el-col :span="8" :lg="6">
<!-- <el-form-item label="当前状态">--> <el-form-item label="故障类型" prop="fault_type">
<!-- <el-select class="input" placeholder="请选择当前状态">--> <el-select class="input" v-model="form.fault_type" @visible-change="getSelect('fault_type',1)" placeholder="请选择故障类型">
<!-- <el-option></el-option>--> <el-option v-for="(item,index) in setMap['fault_type']" :key="index" :value="item.id" :label="item.item_name"></el-option>
<!-- </el-select>--> </el-select>
<!-- </el-form-item>--> </el-form-item>
<!-- </el-col>--> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<el-form-item label="维保等级" prop="maintenance_plan"> <el-form-item label="维保等级" prop="maintenance_plan">
<el-select class="input" v-model="form.maintenance_plan" placeholder="请选择维保等级"> <el-input class="input" v-model="form.maintenance_plan" placeholder="维保等级">
<el-option></el-option> </el-input>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
@ -88,33 +82,25 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</div>
</div>
<div class="boxMain">
<div class="title">维保工单信息</div>
<div class="boxCom">
<el-row> <el-row>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<el-form-item label="机房城市" prop="city"> <el-form-item label="机房城市" prop="city">
<el-select class="input" v-model="form.city" placeholder="请选择机房城市"> <el-input class="input" v-model="form.city" placeholder="机房城市">
<el-option></el-option> </el-input>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<el-form-item label="园区" prop="park_name"> <el-form-item label="园区" prop="park_name">
<el-select class="input" v-model="form.park_name" placeholder="请选择园区"> <el-input class="input" v-model="form.park_name" placeholder="园区">
<el-option></el-option> </el-input>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<el-form-item label="机房/IDC" prop="data_center_name"> <el-form-item label="机房/IDC" prop="data_center_name">
<el-select class="input" v-model="form.data_center_name" placeholder="请选择机房/IDC"> <el-input class="input" v-model="form.data_center_name" placeholder="机房/IDC">
<el-option></el-option> </el-input>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
@ -126,9 +112,8 @@
<el-row> <el-row>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<el-form-item label="整机SN/Se" prop="device_sn"> <el-form-item label="整机SN/Se" prop="device_sn">
<el-select class="input" v-model="form.device_sn" placeholder="请选择整机SN/Se"> <el-input class="input" v-model="form.device_sn" placeholder="整机SN/Se">
<el-option></el-option> </el-input>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
@ -142,12 +127,16 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</div>
</div>
<div class="boxMain">
<div class="title">维保工单信息</div>
<div class="boxCom">
<el-row> <el-row>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<el-form-item label="部件SN/Sp" prop="component_serial_no"> <el-form-item label="部件SN/Sp" prop="component_serial_no">
<el-select class="input" v-model="form.component_serial_no" placeholder="请选择部件SN/Se"> <el-input class="input" v-model="form.component_serial_no" placeholder="部件SN/Se">
<el-option></el-option> </el-input>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
@ -181,7 +170,7 @@
</div> </div>
</div> </div>
<div class="btnBox"> <div class="btnBox">
<el-button type="primary" @click="save" :loading="isSave"> </el-button> <el-button type="primary" size="default" @click="save" :loading="isSave">确认保存</el-button>
</div> </div>
</el-form> </el-form>
</el-scrollbar> </el-scrollbar>
@ -196,26 +185,32 @@ export default {
return{ return{
size:"small", size:"small",
isSave:false, isSave:false,
setMap:{
maintenance_level:[],
fault_type:[],
},
form:{ form:{
maintenance_level: "234", // repair_order_no:"",
fault_type: "234", // maintenance_grade:"", //
fault_description: "234", // maintenance_level: "", //
requires_shutdown: "234", // fault_type: "", //
city: "234", // fault_description: "", //
park_name: "234", // requires_shutdown: "", //
data_center_name: "234", // /IDC city: "", //
rack_position: "234", // park_name: "", //
device_sn: "234", // SN data_center_name: "", // /IDC
device_manufacturer: "234", // rack_position: "", //
device_model: "234", // device_sn: "", // SN
component_serial_no: "234", // device_manufacturer: "", //
component_manufacturer: "234", // device_model: "", //
component_model: "234", // component_serial_no: "", //
component_pn: "234", // PN component_manufacturer: "", //
sla_expiration: "2024-08-21", // SLA component_model: "", //
bd_backup_count: "234", // BD component_pn: "", // PN
pe_confirmation_time: "2024-08-21", // PE sla_expiration: "", // SLA
warranty_end_date: "2024-08-21", // bd_backup_count: "", // BD
pe_confirmation_time: "", // PE
warranty_end_date: "", //
maintenance_plan: '' // 1- maintenance_plan: '' // 1-
} }
} }
@ -224,6 +219,12 @@ export default {
}, },
methods:{ methods:{
async getSelect(name,num) {
const res = await this.$API.orders.order.maintenance.optionList.post({const_type:num});
if(res.code == 200){
this.setMap[name] = res.data;
}
},
save(){ save(){
this.$refs.form.validate(async (valid) => { this.$refs.form.validate(async (valid) => {
if (valid) { if (valid) {
@ -260,7 +261,7 @@ export default {
} }
.btnBox{ .btnBox{
margin-top: 15px; margin-top: 15px;
text-align: right; text-align: left;
padding: 0 10px; padding: 0 10px;
} }
</style> </style>

View File

@ -4,7 +4,11 @@
<div class="title">工单时间</div> <div class="title">工单时间</div>
<div class="status"> <div class="status">
<span class="name">当前状态</span> <span class="name">当前状态</span>
<span class="text">{{info.business_status}}</span> <span class="text">
<span v-for="(item,ind) in statusList" :key="ind">
<span v-if="item.value == info.business_status">{{item.label}}</span>
</span>
</span>
</div> </div>
</div> </div>
<div class="cardBody"> <div class="cardBody">
@ -53,15 +57,19 @@
<span class="text">{{info.maintenance_plan}}</span> <span class="text">{{info.maintenance_plan}}</span>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label">故障类型</span> <span class="label">维修分类</span>
<span class="text">{{info.fault_type}}</span> <span class="text">{{info.maintenance_level}}</span>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="12">
<span class="label">故障内容</span> <span class="label">故障内容</span>
<span class="text">{{info.fault_description}}</span> <span class="text">{{info.fault_description}}</span>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8" :lg="6">
<span class="label">故障类型</span>
<span class="text">{{info.fault_type}}</span>
</el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label">维保等级</span> <span class="label">维保等级</span>
<span class="text">{{info.maintenance_plan}}</span> <span class="text">{{info.maintenance_plan}}</span>
@ -71,11 +79,6 @@
<span class="text">{{info.requires_shutdown}}</span> <span class="text">{{info.requires_shutdown}}</span>
</el-col> </el-col>
</el-row> </el-row>
</div>
</div>
<div class="cardItem">
<div class="title">部件信息</div>
<div class="cardBody">
<el-row> <el-row>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label">机房城市</span> <span class="label">机房城市</span>
@ -110,6 +113,11 @@
<span class="text">{{info.device_model}}</span> <span class="text">{{info.device_model}}</span>
</el-col> </el-col>
</el-row> </el-row>
</div>
</div>
<div class="cardItem">
<div class="title">部件信息</div>
<div class="cardBody">
<el-row> <el-row>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label">部件SN/Sp</span> <span class="label">部件SN/Sp</span>
@ -159,14 +167,20 @@ export default {
}, },
data(){ data(){
return{ return{
info:{} info:{},
statusList:[]
} }
}, },
mounted() { mounted() {
this.getStatusList();
}, },
methods:{ methods:{
async getStatusList() {
const res = await this.$API.orders.order.maintenance.status.post();
if (res.code == 200) {
this.statusList = res.data;
}
},
} }
} }
</script> </script>

View File

@ -11,8 +11,8 @@
<div v-auth="'companyImportTemplate'" @click="importTemplate">下载导入模版</div> <div v-auth="'companyImportTemplate'" @click="importTemplate">下载导入模版</div>
</template> </template>
</scImport> </scImport>
<el-button type="success" :size="size" icon="sc-icon-OrderReview" :disabled="selection.length==0" @click="batch_review">批量审核</el-button>
<el-button type="primary" plain :size="size" :disabled="selection.length==0" @click="save_maintenance">提交维保</el-button> <el-button type="primary" plain :size="size" :disabled="selection.length==0" @click="save_maintenance">提交维保</el-button>
<el-button type="success" :size="size" icon="sc-icon-OrderReview" :disabled="selection.length==0" @click="batch_review">批量审核</el-button>
<el-button type="primary" plain :size="size" :disabled="selection.length==0" @click="issued_maintenance">下发维保</el-button> <el-button type="primary" plain :size="size" :disabled="selection.length==0" @click="issued_maintenance">下发维保</el-button>
<el-button type="danger" plain :size="size" icon="el-icon-Delete" :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>
</div> </div>
@ -47,6 +47,11 @@
</template> </template>
</el-image> </el-image>
</template> </template>
<template #business_status="scope">
<span v-for="(item,ind) in statusList" :key="ind">
<span v-if="item.value == scope.row.business_status">{{item.label}}</span>
</span>
</template>
<template #active_status="scope"> <template #active_status="scope">
<el-switch :size="size" v-model="scope.row.active_status" @change="changeSwitch($event, scope.row)" :loading="scope.row.$switch_status" :active-value="true" :inactive-value="false"></el-switch> <el-switch :size="size" v-model="scope.row.active_status" @change="changeSwitch($event, scope.row)" :loading="scope.row.$switch_status" :active-value="true" :inactive-value="false"></el-switch>
</template> </template>
@ -127,8 +132,12 @@ export default {
{name:'关键字',type:'text',code:['fault_description'],keyword:true,show:true}, {name:'关键字',type:'text',code:['fault_description'],keyword:true,show:true},
], ],
params: {}, params: {},
statusList:[],
} }
}, },
mounted() {
this.getStatusList();
},
methods: { methods: {
searchShowClick(){ searchShowClick(){
this.searchShow = !this.searchShow; this.searchShow = !this.searchShow;
@ -339,6 +348,12 @@ export default {
handleSaveSuccess(){ handleSaveSuccess(){
this.$refs.table.refresh(); this.$refs.table.refresh();
}, },
async getStatusList() {
const res = await this.$API.orders.order.maintenance.status.post();
if (res.code == 200) {
this.statusList = res.data;
}
},
} }
} }
</script> </script>

View File

@ -7,7 +7,11 @@
<div class="title">工单时间</div> <div class="title">工单时间</div>
<div class="status"> <div class="status">
<span class="name">当前状态</span> <span class="name">当前状态</span>
<span class="text">{{info.business_status}}</span> <span class="text">
<span v-for="(item,ind) in statusList" :key="ind">
<span v-if="item.value == info.business_status">{{item.label}}</span>
</span>
</span>
</div> </div>
</div> </div>
<div class="cardBody"> <div class="cardBody">
@ -56,15 +60,19 @@
<span class="text">{{info.maintenance_plan}}</span> <span class="text">{{info.maintenance_plan}}</span>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label">故障类型</span> <span class="label">维修分类</span>
<span class="text">{{info.fault_type}}</span> <span class="text">{{info.maintenance_level}}</span>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="12">
<span class="label">故障内容</span> <span class="label">故障内容</span>
<span class="text">{{info.fault_description}}</span> <span class="text">{{info.fault_description}}</span>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8" :lg="6">
<span class="label">故障类型</span>
<span class="text">{{info.fault_type}}</span>
</el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label">维保等级</span> <span class="label">维保等级</span>
<span class="text">{{info.maintenance_plan}}</span> <span class="text">{{info.maintenance_plan}}</span>
@ -74,59 +82,45 @@
<span class="text">{{info.requires_shutdown}}</span> <span class="text">{{info.requires_shutdown}}</span>
</el-col> </el-col>
</el-row> </el-row>
</div>
</div>
<div class="cardItem">
<div class="title">部件信息</div>
<div class="cardBody">
<el-row> <el-row>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label labelText">机房城市</span> <span class="label labelText">机房城市</span>
<span class="text"> <span class="text">{{info.city}}</span>
<el-input :size="size" v-model="info.city" placeholder="机房城市"></el-input>
</span>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label labelText">园区</span> <span class="label labelText">园区</span>
<span class="text"> <span class="text">{{info.park_name}}</span>
<el-input :size="size" v-model="info.park_name" placeholder="园区"></el-input>
</span>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label labelText">机房</span> <span class="label labelText">机房</span>
<span class="text"> <span class="text">{{info.data_center_name}}</span>
<el-input :size="size" v-model="info.data_center_name" placeholder="机房"></el-input>
</span>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label labelText">机架位</span> <span class="label labelText">机架位</span>
<span class="text"> <span class="text">{{info.rack_position}}</span>
<el-input :size="size" v-model="info.rack_position" placeholder="机架位"></el-input>
</span>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label labelText">整机SN</span> <span class="label labelText">整机SN</span>
<span class="text"> <span class="text">{{info.device_sn}}</span>
<el-input :size="size" v-model="info.device_sn" placeholder="整机SN"></el-input>
</span>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label labelText">整机厂商</span> <span class="label labelText">整机厂商</span>
<span class="text"> <span class="text">{{info.device_manufacturer}}</span>
<el-input :size="size" v-model="info.device_manufacturer" placeholder="整机厂商"></el-input>
</span>
</el-col> </el-col>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label labelText">整机型号</span> <span class="label labelText">整机型号</span>
<span class="text"> <span class="text">{{info.device_model}}</span>
<el-input :size="size" v-model="info.device_model" placeholder="整机型号"></el-input>
</span>
</el-col> </el-col>
</el-row> </el-row>
</div>
</div>
<div class="cardItem">
<div class="title">部件信息</div>
<div class="cardBody">
<el-row> <el-row>
<el-col :span="8" :lg="6"> <el-col :span="8" :lg="6">
<span class="label labelText">部件SN/Sp</span> <span class="label labelText">部件SN/Sp</span>
@ -170,7 +164,7 @@
</div> </div>
</div> </div>
<div class="btnView"> <div class="btnView">
<el-button type="primary" :size="size" @click="save" :loading="saveLoading">确认提交</el-button> <el-button type="primary" size="default" @click="save" :loading="saveLoading">确认提交</el-button>
</div> </div>
</div> </div>
</el-scrollbar> </el-scrollbar>
@ -189,11 +183,13 @@ export default {
params:{ params:{
order_id:Number(this.$route.query.id) order_id:Number(this.$route.query.id)
}, },
info:{} info:{},
statusList:[]
} }
}, },
mounted() { mounted() {
this.getData(); this.getData();
this.getStatusList();
}, },
methods:{ methods:{
async getData() { async getData() {
@ -236,12 +232,18 @@ export default {
} }
this.saveLoading = false; this.saveLoading = false;
}, },
async getStatusList() {
const res = await this.$API.orders.order.maintenance.status.post();
if (res.code == 200) {
this.statusList = res.data;
}
},
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.btnView{ .btnView{
text-align: right; text-align: left;
} }
</style> </style>

View File

@ -60,11 +60,6 @@ export default {
title: "费用配置", title: "费用配置",
component: "password" component: "password"
}, },
{
icon: "sc-icon-AgentMaintenance",
title: "维保代理商维护",
component: "pushSettings"
},
] ]
}, },
{ {
@ -76,7 +71,7 @@ export default {
component: "mail" component: "mail"
}, },
{ {
icon: "sc-icon-DataSource", icon: "sc-icon-AgentMaintenance",
title: "K3接口配置", title: "K3接口配置",
component: "interface" component: "interface"
} }

View File

@ -68,8 +68,10 @@ export default {
async getMail() { async getMail() {
const res = await this.$API.setup.k3.get.post(); const res = await this.$API.setup.k3.get.post();
if(res.code == 200){ if(res.code == 200){
if(res.data && res.data.account_id){
this.inter = res.data; this.inter = res.data;
} }
}
}, },
async save() { async save() {
this.loading = true; this.loading = true;

View File

@ -61,8 +61,10 @@ export default {
async getMail() { async getMail() {
const res = await this.$API.setup.mail.get.post(); const res = await this.$API.setup.mail.get.post();
if(res.code == 200){ if(res.code == 200){
if(res.data && res.data.alias){
this.mail = res.data; this.mail = res.data;
} }
}
}, },
async save() { async save() {
this.loading = true; this.loading = true;

View File

@ -2,20 +2,7 @@
<el-container class="mainBox mainHeaderNoBorderPadding"> <el-container class="mainBox mainHeaderNoBorderPadding">
<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">新增BOM</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>
</template>
<template #download>
<div v-auth="'companyImportTemplate'" @click="importTemplate">下载导入模版</div>
</template>
</scImport>
</div>
<div class="right-panel">
<scExport :size="size" @exportData="exportData" @updateShow="exportChangeShow" :show="exportShow" type="11">
<el-button :size="size" icon="sc-icon-Download" @click="exportData">下载</el-button>
</scExport>
</div> </div>
</el-header> </el-header>
<el-main class="nopadding"> <el-main class="nopadding">
@ -80,23 +67,36 @@ export default {
show: false, show: false,
}, },
list: { list: {
apiObj: {}, apiObj: this.$API.setup.bom.list,
column: [], column: [],
}, },
selection: [], selection: [],
exportShow:false, exportShow:false,
searchShow:false, searchShow:false,
searchList:[ searchList:[
{name:'生产日期',type:'date',code:'activation_date'}, {name:'创建时间',type:'date',code:'created_at',show: true},
{name:'反厂日期',type:'date',code:'activation_date'}, {name:'更新时间',type:'date',code:'updated_at',show: true},
{name:'处理时间',type:'date',code:'activation_date'}, {name:'BOM版本',type:'text',code:'bom_version',placeholder:"请输入BOM版本",show:true},
{name:'客户名称',type:'multiple',code:'id', data:[], placeholder:"请选择公司名称",show:false}, {name:'BOM简称',type:'text',code:'bom_abbreviation',placeholder:"请输入BOM简称",show:false},
{name:'状态',type:'select',code:'active_status', data:[], placeholder:"请选择状态",show:false}, {name:'BOM分类',type:'text',code:['bom_classification'],placeholder:"请输入BOM分类",isOpen:true,show:false},
{name:'工单号',type:'text',code:['mobile'],placeholder:"请输入手机号",isOpen:true,show:false}, {name:'BOM用途',type:'text',code:['bom_purpose'],placeholder:"请输入BOM用途",isOpen:true,show:false},
{name:'邮件地址',type:'text',code:['email'],placeholder:"请输入邮箱地址",isOpen:true,show:false}, {name:'父项物料编码',type:'text',code:['parent_material_code'],placeholder:"请输入父项物料编码",isOpen:true,show:false},
{name:'公司地址',type:'text',code:['address'],placeholder:"请输入公司地址",isOpen:true,show:false}, {name:'父项物料名称',type:'text',code:['parent_material_name'],placeholder:"请输入父项物料名称",isOpen:true,show:false},
{name:'负责人',type:'text',code:['owner'],placeholder:"请输入负责人",isOpen:true,show:false}, {name:'父项物料单位',type:'text',code:['parent_material_unit'],placeholder:"请输入父项物料单位",isOpen:true,show:false},
{name:'关键字',type:'text',code:['domain','name'],keyword:true,show:true}, {name:'子项物料编码',type:'text',code:['child_material_code'],placeholder:"请输入子项物料编码",isOpen:true,show:false},
{name:'子项物料名称',type:'text',code:['child_material_name'],placeholder:"请输入子项物料名称",isOpen:true,show:false},
{name:'子项物料单位',type:'text',code:['child_material_unit'],placeholder:"请输入子项物料单位",isOpen:true,show:false},
{name:'次项',type:'text',code:['item_sequence'],placeholder:"请输入次项",isOpen:true,show:false},
{name:'子项类型',type:'text',code:['child_material_type'],placeholder:"请输入子项类型",isOpen:true,show:false},
{name:'用量分母',type:'text',code:['usage_numerator'],placeholder:"请输入用量分母",isOpen:true,show:false},
{name:'用量分子',type:'text',code:['usage_denominator'],placeholder:"请输入用量分子",isOpen:true,show:false},
{name:'创建组织编码',type:'text',code:['create_org_code'],placeholder:"请输入创建组织编码",isOpen:true,show:false},
{name:'创建组织名称',type:'text',code:['create_org_name'],placeholder:"请输入创建组织名称",isOpen:true,show:false},
{name:'使用组织编码',type:'text',code:['use_org_code'],placeholder:"请输入使用组织编码",isOpen:true,show:false},
{name:'使用组织名称',type:'text',code:['use_org_name'],placeholder:"请输入使用组织名称",isOpen:true,show:false},
{name:'单据状态',type:'text',code:['document_status'],placeholder:"请输入单据状态",isOpen:true,show:false},
{name:'禁用状态',type:'text',code:['disable_status'],placeholder:"请输入禁用状态",isOpen:true,show:false},
{name:'关键字',type:'text',code:['bom_abbreviation'],keyword:true,show:true},
], ],
params: {}, params: {},
} }