|
|
@ -342,13 +342,18 @@
|
|
|
|
<el-dialog
|
|
|
|
<el-dialog
|
|
|
|
:title="title"
|
|
|
|
:title="title"
|
|
|
|
:visible.sync="openView"
|
|
|
|
:visible.sync="openView"
|
|
|
|
width="1100px"
|
|
|
|
width="1200px"
|
|
|
|
append-to-body
|
|
|
|
append-to-body
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
|
|
<el-tabs type="border-card">
|
|
|
|
<el-tabs type="border-card">
|
|
|
|
<el-tab-pane label="报修基本信息">
|
|
|
|
<el-tab-pane label="报修基本信息">
|
|
|
|
<el-descriptions :column="3" border :contentStyle="CS" :label-style="LS">
|
|
|
|
<el-descriptions
|
|
|
|
|
|
|
|
:column="3"
|
|
|
|
|
|
|
|
border
|
|
|
|
|
|
|
|
:contentStyle="CS"
|
|
|
|
|
|
|
|
:label-style="LS"
|
|
|
|
|
|
|
|
>
|
|
|
|
<el-descriptions-item label="报修单编号">{{
|
|
|
|
<el-descriptions-item label="报修单编号">{{
|
|
|
|
form.orderCode
|
|
|
|
form.orderCode
|
|
|
|
}}</el-descriptions-item>
|
|
|
|
}}</el-descriptions-item>
|
|
|
@ -390,7 +395,11 @@
|
|
|
|
}}</el-descriptions-item>
|
|
|
|
}}</el-descriptions-item>
|
|
|
|
</el-descriptions>
|
|
|
|
</el-descriptions>
|
|
|
|
<el-descriptions :column="1" border>
|
|
|
|
<el-descriptions :column="1" border>
|
|
|
|
<el-descriptions-item label="维修前故障图片" :contentStyle="CS" :label-style="LS">
|
|
|
|
<el-descriptions-item
|
|
|
|
|
|
|
|
label="维修前故障图片"
|
|
|
|
|
|
|
|
:contentStyle="CS"
|
|
|
|
|
|
|
|
:label-style="LS"
|
|
|
|
|
|
|
|
>
|
|
|
|
<el-image
|
|
|
|
<el-image
|
|
|
|
v-for="(item, index) in urlBeforeLists"
|
|
|
|
v-for="(item, index) in urlBeforeLists"
|
|
|
|
:key="index"
|
|
|
|
:key="index"
|
|
|
@ -401,7 +410,12 @@
|
|
|
|
</el-tab-pane>
|
|
|
|
</el-tab-pane>
|
|
|
|
|
|
|
|
|
|
|
|
<el-tab-pane label="维修基本信息">
|
|
|
|
<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="维修工单号">{{
|
|
|
|
<el-descriptions-item label="维修工单号">{{
|
|
|
|
form.workCode
|
|
|
|
form.workCode
|
|
|
|
}}</el-descriptions-item>
|
|
|
|
}}</el-descriptions-item>
|
|
|
@ -465,7 +479,12 @@
|
|
|
|
form.workReason
|
|
|
|
form.workReason
|
|
|
|
}}</el-descriptions-item>
|
|
|
|
}}</el-descriptions-item>
|
|
|
|
</el-descriptions>
|
|
|
|
</el-descriptions>
|
|
|
|
<el-descriptions :column="1" border :contentStyle="CS" :label-style="LS">
|
|
|
|
<el-descriptions
|
|
|
|
|
|
|
|
:column="1"
|
|
|
|
|
|
|
|
border
|
|
|
|
|
|
|
|
:contentStyle="CS"
|
|
|
|
|
|
|
|
:label-style="LS"
|
|
|
|
|
|
|
|
>
|
|
|
|
<el-descriptions-item label="维修后图片">
|
|
|
|
<el-descriptions-item label="维修后图片">
|
|
|
|
<el-image
|
|
|
|
<el-image
|
|
|
|
v-for="(item, index) in urlAfterLists"
|
|
|
|
v-for="(item, index) in urlAfterLists"
|
|
|
@ -477,10 +496,14 @@
|
|
|
|
</el-tab-pane>
|
|
|
|
</el-tab-pane>
|
|
|
|
|
|
|
|
|
|
|
|
<el-tab-pane label="检查项信息">
|
|
|
|
<el-tab-pane label="检查项信息">
|
|
|
|
<el-table :data="detailList" border >
|
|
|
|
<el-table :data="detailList" border :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 prop="itemName" label="检查项名称" width="150">
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="itemMethod" label="检查项方法" width="150">
|
|
|
|
<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>
|
|
|
|
<el-table-column prop="standardName" label="标准名称" width="150">
|
|
|
|
<el-table-column prop="standardName" label="标准名称" width="150">
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
@ -499,7 +522,10 @@
|
|
|
|
width="110"
|
|
|
|
width="110"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<template scope="scope">
|
|
|
|
<template scope="scope">
|
|
|
|
<el-radio-group v-model="scope.row.repairReach">
|
|
|
|
<el-radio-group
|
|
|
|
|
|
|
|
v-model="scope.row.repairReach"
|
|
|
|
|
|
|
|
v-if="scope.row.standardType != 'quantify'"
|
|
|
|
|
|
|
|
>
|
|
|
|
<el-radio label="1">达标</el-radio>
|
|
|
|
<el-radio label="1">达标</el-radio>
|
|
|
|
<el-radio label="0">不达标</el-radio>
|
|
|
|
<el-radio label="0">不达标</el-radio>
|
|
|
|
</el-radio-group>
|
|
|
|
</el-radio-group>
|
|
|
@ -528,10 +554,9 @@
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="detailDownLimit" label="下限" width="50">
|
|
|
|
<el-table-column prop="detailDownLimit" label="下限" width="50">
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="detailUnit" label="单位" width="50">
|
|
|
|
<el-table-column prop="detailUnit" label="单位" width="40">
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="picturePath" label="图片">
|
|
|
|
<el-table-column prop="picturePath" label="图片" width="60">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<el-popover placement="right" width="300" trigger="hover">
|
|
|
|
<el-popover placement="right" width="300" trigger="hover">
|
|
|
|
<div class="standardUrl_body">
|
|
|
|
<div class="standardUrl_body">
|
|
|
@ -582,6 +607,7 @@ export default {
|
|
|
|
//表格样式
|
|
|
|
//表格样式
|
|
|
|
CS: {
|
|
|
|
CS: {
|
|
|
|
"text-align": "center",
|
|
|
|
"text-align": "center",
|
|
|
|
|
|
|
|
width: "200px",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
LS: {
|
|
|
|
LS: {
|
|
|
|
"text-align": "center",
|
|
|
|
"text-align": "center",
|
|
|
@ -833,8 +859,12 @@ export default {
|
|
|
|
if (item1 != null) {
|
|
|
|
if (item1 != null) {
|
|
|
|
item1.standardList.forEach((item) => {
|
|
|
|
item1.standardList.forEach((item) => {
|
|
|
|
var standard = {};
|
|
|
|
var standard = {};
|
|
|
|
|
|
|
|
standard.itemTypeName = item1.itemTypeName;
|
|
|
|
standard.itemName = item1.itemName;
|
|
|
|
standard.itemName = item1.itemName;
|
|
|
|
standard.itemMethod = item1.itemMethod;
|
|
|
|
standard.itemMethod = item1.itemMethod;
|
|
|
|
|
|
|
|
standard.itemTools = item1.itemTools;
|
|
|
|
|
|
|
|
standard.planLoop = item1.planLoop;
|
|
|
|
|
|
|
|
standard.planLoopType = item1.planLoopType;
|
|
|
|
standard.standardName = item.standardName;
|
|
|
|
standard.standardName = item.standardName;
|
|
|
|
standard.detailUpLimit = item.detailUpLimit;
|
|
|
|
standard.detailUpLimit = item.detailUpLimit;
|
|
|
|
standard.detailDownLimit = item.detailDownLimit;
|
|
|
|
standard.detailDownLimit = item.detailDownLimit;
|
|
|
@ -852,8 +882,10 @@ export default {
|
|
|
|
standardUrlLists.push(item2.fileAddress);
|
|
|
|
standardUrlLists.push(item2.fileAddress);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
standard.standardUrlLists = standardUrlLists;
|
|
|
|
standard.standardUrlLists = standardUrlLists;
|
|
|
|
standards.push(standard);
|
|
|
|
} else {
|
|
|
|
|
|
|
|
standard.standardUrlLists = null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
standards.push(standard);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
@ -879,6 +911,58 @@ export default {
|
|
|
|
` repairOrder_${new Date().getTime()}.xlsx`
|
|
|
|
` repairOrder_${new Date().getTime()}.xlsx`
|
|
|
|
);
|
|
|
|
);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
|
|
|
|
|
|
if (columnIndex === 0) {
|
|
|
|
|
|
|
|
// 获取当前单元格的值
|
|
|
|
|
|
|
|
const currentValue = row[column.property];
|
|
|
|
|
|
|
|
// 获取上一行相同列的值
|
|
|
|
|
|
|
|
const preRow = this.detailList[rowIndex - 1];
|
|
|
|
|
|
|
|
const preValue = preRow ? preRow[column.property] : null;
|
|
|
|
|
|
|
|
// 如果当前值和上一行的值相同,则将当前单元格隐藏
|
|
|
|
|
|
|
|
if (currentValue === preValue) {
|
|
|
|
|
|
|
|
return { rowspan: 0, colspan: 0 };
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
// 否则计算当前单元格应该跨越多少行
|
|
|
|
|
|
|
|
let rowspan = 1;
|
|
|
|
|
|
|
|
for (let i = rowIndex + 1; i < this.detailList.length; i++) {
|
|
|
|
|
|
|
|
const nextRow = this.detailList[i];
|
|
|
|
|
|
|
|
const nextValue = nextRow[column.property];
|
|
|
|
|
|
|
|
if (nextValue === currentValue) {
|
|
|
|
|
|
|
|
rowspan++;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return { rowspan, colspan: 1 };
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (columnIndex === 1) {
|
|
|
|
|
|
|
|
// 获取当前单元格的值
|
|
|
|
|
|
|
|
const currentValue = row[column.property];
|
|
|
|
|
|
|
|
// 获取上一行相同列的值
|
|
|
|
|
|
|
|
const preRow = this.detailList[rowIndex - 1];
|
|
|
|
|
|
|
|
const preValue = preRow ? preRow[column.property] : null;
|
|
|
|
|
|
|
|
// 如果当前值和上一行的值相同,则将当前单元格隐藏
|
|
|
|
|
|
|
|
if (currentValue === preValue) {
|
|
|
|
|
|
|
|
return { rowspan: 0, colspan: 0 };
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
// 否则计算当前单元格应该跨越多少行
|
|
|
|
|
|
|
|
let rowspan = 1;
|
|
|
|
|
|
|
|
for (let i = rowIndex + 1; i < this.detailList.length; i++) {
|
|
|
|
|
|
|
|
const nextRow = this.detailList[i];
|
|
|
|
|
|
|
|
const nextValue = nextRow[column.property];
|
|
|
|
|
|
|
|
if (nextValue === currentValue) {
|
|
|
|
|
|
|
|
rowspan++;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return { rowspan, colspan: 1 };
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|