故障+维修

yangwl
A0010407 10 months ago
parent 2bbcf182de
commit 60084d99e2

@ -70,4 +70,13 @@ export function getMaintenancePersonList(query) {
});
}
// 传故障类型
export function queryEquFaultTypeTree(query) {
return request({
url: '/device/repairOrder/queryEquFaultTypeTree',
method: 'get',
params: query
});
}

@ -751,7 +751,12 @@
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-descriptions :column="2" border :contentStyle="WCS" :label-style="WLS">
<el-descriptions
:column="2"
border
:contentStyle="WCS"
:label-style="WLS"
>
<el-descriptions-item label="设备编号">{{
form.equipmentCode
}}</el-descriptions-item>
@ -801,7 +806,12 @@
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-tabs type="border-card">
<el-tab-pane label="维修基本信息">
<el-descriptions :column="2" border :contentStyle="CS" :label-style="LS">
<el-descriptions
:column="2"
border
:contentStyle="CS"
:label-style="LS"
>
<el-descriptions-item label="维修工单号">{{
form.workCode
}}</el-descriptions-item>
@ -864,7 +874,11 @@
}}</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="维修前故障图片" :contentStyle="CS" :label-style="LSP">
<el-descriptions-item
label="维修前故障图片"
:contentStyle="CS"
:label-style="LSP"
>
<el-image
v-for="(item, index) in urlBeforeLists"
:key="index"
@ -873,7 +887,11 @@
></el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="维修后故障图片" :contentStyle="CS" :label-style="LSP">
<el-descriptions-item
label="维修后故障图片"
:contentStyle="CS"
:label-style="LSP"
>
<el-image
v-for="(item, index) in urlAfterLists"
:key="index"
@ -883,7 +901,13 @@
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="检查项信息">
<el-table :data="detailList" border :contentStyle="CS" :label-style="LS" :span-method="objectSpanMethod">
<el-table
:data="detailList"
border
:contentStyle="CS"
:label-style="LS"
:span-method="objectSpanMethod"
>
<el-table-column prop="itemTypeName" label="检查类型" width="100">
</el-table-column>
<el-table-column prop="itemName" label="检查项名称" width="150">
@ -909,7 +933,10 @@
width="110"
>
<template scope="scope">
<el-radio-group v-model="scope.row.repairReach" v-if="scope.row.standardType != 'quantify'">
<el-radio-group
v-model="scope.row.repairReach"
v-if="scope.row.standardType != 'quantify'"
>
<el-radio label="1">达标</el-radio>
<el-radio label="0">不达标</el-radio>
</el-radio-group>
@ -1023,7 +1050,7 @@
style="width: 195px"
value-format="yyyy-MM-dd HH:mm:ss"
@change="listening"
placeholder="请选择开始维修时间"
placeholder="请输入开始时间"
></el-date-picker>
</el-form-item>
</el-col>
@ -1036,13 +1063,13 @@
style="width: 195px"
@change="listeningTime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择结束维修时间"
placeholder="请输入结束时间"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修用时" prop="workCostTime">
<el-input v-model="form.workCostTime" style="width: 195px" disabled>
<el-input v-model="form.workCostTime" style="width: 195px">
</el-input>
</el-form-item>
</el-col>
@ -1056,9 +1083,14 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-col :span="8">
<el-form-item label="故障类型" prop="faultType">
<el-cascader :options="faultTypeOption" v-model="form.faultType" style="width: 195px" clearable></el-cascader>
<el-cascader
:options="faultTypeOption"
v-model="form.faultType"
style="width: 195px"
clearable
></el-cascader>
</el-form-item>
</el-col>
</el-row>
@ -1067,10 +1099,10 @@
<el-form-item label="原因分析" prop="workReason">
<el-input
v-model="form.workReason"
placeholder="请输入故障原因分析"
placeholder="请输入原因分析"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
style="width: 840px"
style="width: 940px"
/>
</el-form-item>
</el-col>
@ -1083,7 +1115,319 @@
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="填写备件申领记录">
</el-tabs>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitWriteForm"> </el-button>
<el-button @click="cancelWriteForm"> </el-button>
</div>
</el-dialog>
<!-- 查看维修记录对话框 -->
<el-dialog
:title="title"
:visible.sync="queryWrite"
width="1200px"
append-to-body
v-if="queryWrite"
>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-tabs type="border-card">
<el-tab-pane label="维修基本信息">
<el-descriptions
:column="2"
border
:contentStyle="CS"
:label-style="LS"
>
<el-descriptions-item label="维修工单号">{{
form.workCode
}}</el-descriptions-item>
<el-descriptions-item label="报修单号">{{
form.workCode
}}</el-descriptions-item>
<el-descriptions-item label="设备编号">{{
form.equipmentCode
}}</el-descriptions-item>
<el-descriptions-item label="设备名称">{{
form.equipmentName
}}</el-descriptions-item>
<el-descriptions-item label="设备类型">{{
form.equipmentTypeName
}}</el-descriptions-item>
<el-descriptions-item label="设备位置">{{
form.equipmentLocation
}}</el-descriptions-item>
<el-descriptions-item label="工作中心编码">{{
form.workshopCode
}}</el-descriptions-item>
<el-descriptions-item label="工作中心名称">{{
form.workshopName
}}</el-descriptions-item>
<el-descriptions-item label="报修来源">{{
form.orderSource
}}</el-descriptions-item>
<el-descriptions-item label="报修时间">{{
form.orderTime
}}</el-descriptions-item>
<el-descriptions-item label="报修人名字">{{
form.orderRepairmanName
}}</el-descriptions-item>
<el-descriptions-item label="联系方式">{{
form.orderConnection
}}</el-descriptions-item>
<el-descriptions-item label="是否立即处理">{{
form.workHandle ? "否" : "是"
}}</el-descriptions-item>
<el-descriptions-item label="计划维修时间">{{
form.workPlanTime
}}</el-descriptions-item>
<el-descriptions-item label="是否停机维修">{{
form.workDownMachine ? "否" : "是"
}}</el-descriptions-item>
<el-descriptions-item label="计划停机时间">{{
form.workPlanDownTime
}}</el-descriptions-item>
<el-descriptions-item label="是否委外">{{
form.workOutsource ? "否" : "是"
}}</el-descriptions-item>
<el-descriptions-item label="维修班组">{{
form.workTeam
}}</el-descriptions-item>
<el-descriptions-item label="维修班组人员">{{
form.workTeamPerson
}}</el-descriptions-item>
<el-descriptions-item label="故障描述">{{
form.orderDesc
}}</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item
label="维修前故障图片"
:contentStyle="CS"
:label-style="LSP"
>
<el-image
v-for="(item, index) in urlBeforeLists"
:key="index"
:src="item"
></el-image
></el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item
label="维修后故障图片"
:contentStyle="CS"
:label-style="LSP"
>
<el-image
v-for="(item, index) in urlAfterLists"
:key="index"
:src="item"
></el-image
></el-descriptions-item>
</el-descriptions>
</el-tab-pane>
<el-tab-pane label="查看检查项信息">
<el-table
:data="detailList"
border
:contentStyle="CS"
:label-style="LS"
:span-method="objectSpanMethod"
>
<el-table-column prop="itemTypeName" label="检查类型" width="100">
</el-table-column>
<el-table-column prop="itemName" label="检查项名称" width="150">
</el-table-column>
<el-table-column prop="itemMethod" label="方法" width="150">
</el-table-column>
<el-table-column prop="itemTools" label="工具" width="50">
</el-table-column>
<el-table-column prop="standardName" label="标准名称" width="150">
</el-table-column>
<el-table-column
prop="detailReach"
label="维修前是否达标"
width="67"
>
<template slot-scope="scope">
{{ scope.row.detailReach == "1" ? "达标" : "不达标" }}
</template>
</el-table-column>
<el-table-column
prop="repairReach"
label="维修后是否达标"
width="110"
>
<template slot-scope="scope">
{{ scope.row.repairReach == "1" ? "达标" : "不达标" }}
</template>
</el-table-column>
<el-table-column
prop="actualValue"
label="维修前实际值"
width="75"
>
</el-table-column>
<el-table-column
prop="repairValue"
label="维修后实际值"
width="75"
>
<template slot-scope="scope">
<el-input
size="small"
v-model="scope.row.repairValue"
v-if="scope.row.standardType == 'quantify'"
></el-input>
</template>
</el-table-column>
<el-table-column prop="detailUpLimit" label="上限" width="50">
</el-table-column>
<el-table-column prop="detailDownLimit" label="下限" width="50">
</el-table-column>
<el-table-column prop="detailUnit" label="单位" width="40">
</el-table-column>
<el-table-column prop="picturePath" label="维修后图片" width="60">
<template slot-scope="scope">
<el-popover placement="right" width="300" trigger="hover">
<div class="standardUrl_body">
<div
v-for="(url, index) in scope.row.standardUrlLists"
:key="index"
>
<el-image :src="url"></el-image>
</div>
</div>
<el-button
slot="reference"
type="primary"
icon="el-icon-picture"
circle
></el-button>
</el-popover>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="查看维修记录">
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="维修人" prop="workPerson">
<el-input
v-model="form.workPerson"
style="width: 195px"
disabled
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修状态" prop="workStatus">
<el-select
v-model="form.workStatus"
disabled
style="width: 195px"
>
<el-option
v-for="dict in dict.type.device_repair_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修费用" prop="workCost">
<el-input-number
:min="0"
:step="1"
disabled
v-model="form.workCost"
style="width: 175px"
/>
<span> </span>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="开始时间" prop="workStartTime">
<el-date-picker
clearable
v-model="form.workStartTime"
type="datetime"
style="width: 195px"
value-format="yyyy-MM-dd HH:mm:ss"
@change="listening"
disabled
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="结束时间" prop="workEndTime">
<el-date-picker
clearable
v-model="form.workEndTime"
type="datetime"
style="width: 195px"
@change="listeningTime"
disabled
value-format="yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="维修用时" prop="workCostTime">
<el-input
v-model="form.workCostTime"
style="width: 195px"
disabled
>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="8">
<el-form-item label="是否停机" prop="workDownMachine">
<el-radio-group v-model="form.workDownMachine" disabled>
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="故障类型" prop="faultType">
<el-cascader
disabled
:options="faultTypeOption"
v-model="form.faultType"
style="width: 195px"
clearable
></el-cascader>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="24">
<el-form-item label="原因分析" prop="workReason">
<el-input
disabled
v-model="form.workReason"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
style="width: 940px"
/>
</el-form-item>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="查看备件申领记录">
<!-- 使用备件领用记录 -->
<ItemSelectSpareParts
:optType="optType"
@ -1094,10 +1438,8 @@
</el-tab-pane>
</el-tabs>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitWriteForm"> </el-button>
<el-button @click="cancelWriteForm"> </el-button>
<el-button @click="cancelQueryWriteForm"> </el-button>
</div>
</el-dialog>
</div>
@ -1184,6 +1526,8 @@ export default {
openApplyView: false,
//
openWrite: false,
//
queryWrite: false,
//
queryParams: {
pageNum: 1,
@ -1395,6 +1739,11 @@ export default {
this.openWrite = false;
this.reset();
},
// -
cancelQueryWriteForm() {
this.openWrite = false;
this.reset();
},
//
reset() {
this.form = {
@ -1467,7 +1816,9 @@ export default {
getRepairOrder(workId).then((response) => {
this.form = response.data;
//list
this.form.faultType = response.data.faultType.split(",");
if (response.data.faultType != null) {
this.form.faultType = response.data.faultType.split(",");
}
//response.data.beforeRepairFiles
if (response.data.beforeRepairFiles != null) {
var beforeNewFiles = [];
@ -1516,6 +1867,7 @@ export default {
if (item1 != null) {
item1.standardList.forEach((item) => {
var standard = {};
standard.id = item.id;
standard.itemTypeName = item1.itemTypeName;
standard.itemName = item1.itemName;
standard.itemMethod = item1.itemMethod;
@ -1550,8 +1902,13 @@ export default {
this.detailList = standards;
console.log("111111111111", this.detailList);
}
this.openWrite = true;
this.title = "填写维修记录";
if (this.form.workStatus == "1") {
this.queryWrite = true;
this.title = "查看维修记录";
} else {
this.openWrite = true;
this.title = "填写维修记录";
}
});
},
/** 委外申请按钮操作 */
@ -1618,12 +1975,13 @@ export default {
this.form.afterRepairFile
);
}
this.form.faultType = this.form.faultType.join(',');
this.form.faultType = this.form.faultType.join(",");
console.log(this.form.faultType);
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.workId != null) {
this.form.standardList = this.detailList;
console.log(this.form.standardList);
writeRepairOrder(this.form).then((response) => {
this.openWrite = false;
this.$modal.msgSuccess("填写维修记录成功!");
@ -1737,7 +2095,6 @@ export default {
}
return strs != "" ? strs.substr(0, strs.length - 1) : "";
},
},
};
</script>

Loading…
Cancel
Save