巡检维修需求开发

master
zhangdi 10 months ago
parent 50af8b0554
commit a5e99a9b72
  1. 51
      src/views/businessManagement/inspection/repair.vue
  2. 16
      src/views/businessManagement/inspection/task.vue
  3. 44
      src/views/device/deviceSystem.vue

@ -98,13 +98,7 @@
</template>
</el-table-column>
<el-table-column label="异常原因" prop="remark" width="100"></el-table-column>
<!-- <el-table-column label="价格" prop="price" v-if="errorForm.repairStatus != 1"></el-table-column>
<el-table-column label="价格" prop="price" v-if="errorForm.repairStatus == 1">
<template slot-scope="scope">
<el-input v-model="scope.row.price"
:disabled="viewType == 'view' || viewType == 'evaluate' || viewType == 'confirm'"></el-input>
</template>
</el-table-column> -->
<el-table-column prop="isRepair" align="center" label="是否维修"
v-if="(errorForm.repairStatus >= 3) && (errorForm.repairStatus != 101)" width="150">
<template slot-scope="scope">
@ -116,17 +110,16 @@
</el-radio-group>
</template>
</el-table-column>
<el-table-column prop="repairOption" align="center" label="维修方案" width="150">
<el-table-column prop="repairOption" align="center" label="维修方案" width="150" v-if="(viewType != 'view')|| (errorForm.repairStatus != 1 && errorForm.repairStatus != 101)">
<template slot-scope="scope">
<el-input placeholder="请输入维修方案"
:disabled="viewType == 'view' || (errorForm.repairStatus != 1 && errorForm.repairStatus != 101)"
v-model="scope.row.repairOption" style="width: 98%;"></el-input>
</template>
</el-table-column>
<el-table-column prop="isNeed" align="center" label="是否需要物料" width="120">
<el-table-column prop="isNeed" align="center" label="是否需要物料" width="120" v-if="(viewType != 'view')|| (errorForm.repairStatus != 1 && errorForm.repairStatus != 101)">
<template slot-scope="scope">
<el-radio-group v-model="scope.row.isNeed" fill="red">
<!-- || errorForm.repairStatus != 1 -->
<el-radio
:disabled="viewType == 'view' || (errorForm.repairStatus != 1 && errorForm.repairStatus != 101)"
:label="'1'"></el-radio>
@ -136,7 +129,7 @@
</el-radio-group>
</template>
</el-table-column>
<el-table-column align="center" label="物料配置" width="120" v-if="errorForm.repairStatus == 1">
<el-table-column align="center" label="物料配置" width="120" v-if="(viewType != 'view')|| (errorForm.repairStatus != 1 && errorForm.repairStatus != 101)">
<template slot-scope="scope">
<el-button @click="setMaterial(scope.row)" :disabled="scope.row.isNeed == 0"
size="mini">物料配置</el-button>
@ -144,7 +137,7 @@
</el-table-column>
<!-- 维修完成 -->
<el-table-column align="center" label="维修完成图片" width="200"
v-if="errorForm.repairStatus == 4 || errorForm.repairStatus == 5 || errorForm.repairStatus == 6 || errorForm.repairStatus == 7 || errorForm.repairStatus == 8">
v-if="(viewType != 'view')|| errorForm.repairStatus == 5 || errorForm.repairStatus == 6 || errorForm.repairStatus == 7 || errorForm.repairStatus == 8">
<template slot-scope="scope">
<div v-if="errorForm.repairStatus == 4">
<el-upload action="/api/blade-resource/oss/endpoint/put-file" list-type="picture-card"
@ -164,17 +157,18 @@
</el-form-item>
<el-form-item label="差旅费">
<el-form-item label="差旅费" v-if="(viewType != 'view')|| (errorForm.repairStatus != 1 && errorForm.repairStatus != 101)">
<el-input placeholder="请输入差旅费" v-model="errorForm.travelExpense" style="width:98%;"
:disabled="viewType == 'view' || (errorForm.repairStatus != 1 && errorForm.repairStatus != 101)"
@input="actualAmount()"><template slot="append"></template></el-input>
><template slot="append"></template></el-input>
</el-form-item>
<el-form-item label="处理结果">
<el-form-item label="处理结果" v-if="(viewType != 'view')|| (errorForm.repairStatus != 1 && errorForm.repairStatus != 101)">
<el-input placeholder="请输入处理结果" type="textarea" v-model="errorForm.processingResult" style="width:98%;"
:disabled="viewType == 'view' || (errorForm.repairStatus != 1 && errorForm.repairStatus != 101)"></el-input>
</el-form-item>
<el-form-item label="维修总计"
v-if="errorForm.repairStatus == 2 || errorForm.repairStatus == 3 || errorForm.repairStatus == 4 || errorForm.repairStatus == 5 || errorForm.repairStatus == 6 || errorForm.repairStatus == 7 || errorForm.repairStatus == 8 || errorForm.repairStatus == 102">
v-if="viewType != 'view' ||(errorForm.repairStatus == 2 || errorForm.repairStatus == 3 || errorForm.repairStatus == 4 || errorForm.repairStatus == 5 || errorForm.repairStatus == 6 || errorForm.repairStatus == 7 || errorForm.repairStatus == 8 || errorForm.repairStatus == 102)">
<el-input placeholder="请输入" v-model="errorForm.actualAmount" style="width:98%;"
:disabled="viewType == 'view' || (errorForm.repairStatus != 2 && errorForm.repairStatus != 102)"><template
slot="append"></template></el-input>
@ -212,7 +206,7 @@
</div>
<!-- 客户确认审核效果 -->
<!-- 客户确认方案 -->
<div v-show="errorForm.repairStatus == 3 && viewType != 'view'">
<div style="
color: #101010;
@ -236,7 +230,7 @@
</div>
<!-- 维修效果确认 -->
<div
v-show="(errorForm.repairStatus == 5 || errorForm.repairStatus == 6 || errorForm.repairStatus == 7 || errorForm.repairStatus == 8)">
v-show="viewType != 'view'||( errorForm.repairStatus == 6 || errorForm.repairStatus == 7 || errorForm.repairStatus == 8)">
<div style="
color: #101010;
font-size: 20px;
@ -651,10 +645,6 @@ export default {
return sums;
},
//
actualAmount() {
},
closeName() {
if (this.nameImg == '') {
@ -1349,15 +1339,7 @@ export default {
}
// this.$confirm('?', '', {
// confirmButtonText: '',
// cancelButtonText: '',
// type: 'warning'
// }).then(() => {
// this.$message.success('')
// this.viewType = ''
// this.dialogerror = false
// })
}
})
},
@ -1409,7 +1391,7 @@ export default {
let data = this.checkDeepData(res.data.data.details)
if (this.errorForm.repairStatus > 1) {
data.forEach(item => {
item.completeImgList = JSON.parse(item.completeImgList)
item.completeImgList =item.completeImgList==''?[]:JSON.parse(item.completeImgList)
if (item.detailGoodsList.length > 0) {
item.isNeed = '1'
} else {
@ -1516,7 +1498,10 @@ export default {
getExpandedKeys(table) {
this.expandedKeys = []
table.forEach(item => {
this.expandedKeys.push(item.id)
if(item.detailGoodsList.length>0){
this.expandedKeys.push(item.id)
}
})
}
}

@ -23,6 +23,7 @@
</template>
</avue-crud>
<!--查看 指派 接单 -->
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" :append-to-body="true" width="70%"
:close-on-click-modal="false">
<div style="height: 500px; overflow: auto">
@ -129,22 +130,19 @@
<el-form-item label="使用人签字" prop="signUrl" v-if="addForm.taskStatus >= 3">
<el-input placeholder="请输入使用人签字" v-model="addForm.signUrl" disabled style="width: 98%;"></el-input>
</el-form-item>
<!-- <el-form-item label="巡检结论" prop="remark" v-if="addForm.taskStatus >= 3">
<el-input placeholder="请输入巡检结论" type="textarea" v-model="addForm.inspectionConclusion" disabled
style="width: 98%;"></el-input>
</el-form-item> -->
<el-form-item label="备注" prop="remark" v-if="addForm.taskStatus >= 3">
<el-input placeholder="请输入备注" type="textarea" v-model="addForm.remark" disabled
style="width: 98%;"></el-input>
</el-form-item>
</div>
<div>
<!-- 处理情况 -->
<div v-if="addForm.taskStatus != 0|| dialogType != '查看'">
<div style="
color: #101010;
font-size: 20px;
font-weight: 550;
margin-bottom: 20px;
">
" >
处理情况
</div>
<el-form-item label="巡检人员" prop="servicemanId">
@ -156,6 +154,7 @@
</el-form-item>
</div>
<div v-show="addForm.taskStatus == 4"> <!-- -->
<div style="
color: #101010;
@ -175,7 +174,8 @@
<el-input type="textarea" disabled v-model="addForm.approveRemark" style="width: 98%;"></el-input>
</el-form-item>
</div>
<div v-show="addForm.taskStatus == 1">
<!-- 维修人员 接单 -->
<div v-show="addForm.taskStatus == 2||addForm.taskStatus == 3||addForm.taskStatus == 4|| dialogType != '查看'">
<div style="
color: #101010;
font-size: 20px;
@ -197,6 +197,7 @@
<el-button v-show="dialogType != '查看'" type="primary" @click="handleConfirm"> </el-button>
</span>
</el-dialog>
<el-dialog class="inspectionDialog" :title="dialogTitle" :visible.sync="dialogInspection" :append-to-body="true"
width="70%" :close-on-click-modal="false" custom-class="task_dialog">
<div style="height: 500px; overflow: auto">
@ -756,6 +757,7 @@ export default {
let firstRoom = firstFloor.details.find(item => item.deptName == this.activeRoom)
this.tableData = firstRoom.details
this.dialogVisible = true
this.addForm.appointTime = res.data.data.reservationTime
this.addForm = {
...res.data.data,
inspectionData: res.data.data.details,

@ -130,8 +130,8 @@
v-model="addForm.description"></el-input>
</el-form-item>
<el-form-item label="关联实验室" prop="lab">
<el-cascader :props="labProps" style="width:98%;" v-model="addForm.lab"
:disabled="viewType == 'view'" ref="labRef"></el-cascader>
<el-cascader :props="labProps" style="width:98%;" v-model="addForm.lab" :disabled="viewType == 'view'"
ref="labRef" clearable></el-cascader>
</el-form-item>
</div>
@ -614,9 +614,9 @@ export default {
}
},
treeData: [],//
typeProps:{
value:'id',
label:'title',
typeProps: {
value: 'id',
label: 'title',
}
}
},
@ -625,13 +625,13 @@ export default {
},
mounted() {
this.dataTypes = this.userInfo.dataType
if(this.dataTypes==1){
if (this.dataTypes == 1) {
//
this.option.column.forEach(item => {
this.option.column.forEach(item => {
if (item.prop == 'supplier') {
item.hide = false
}
if (item.prop == 'brand' ){
if (item.prop == 'brand') {
item.hide = false
}
})
@ -672,7 +672,7 @@ export default {
},
methods: {
//
nodeClick(data){
nodeClick(data) {
// this.treeDeptId = data.id;
this.searchForm.limsName = data.title
this.page.currentPage = 1;
@ -1045,8 +1045,9 @@ export default {
})
})
//
let typeNameList = this.$refs.typeRef.getCheckedNodes()[0].pathNodes
let typeName_ = typeNameList.map(item=>item.label)
let typeNameList = this.$refs.typeRef.getCheckedNodes()[0] != null ? this.$refs.typeRef.getCheckedNodes()[0].pathNodes : []
let typeName_ = typeNameList.map(item => item.label)
//
let query = {
@ -1054,7 +1055,7 @@ export default {
name: this.addForm.name ? this.addForm.name : null,
model: this.addForm.model ? this.addForm.model : null,
type: this.addForm.type ? this.addForm.type.join(',') : null,
typeName:typeName_.join('/'),
typeName: typeName_.join('/'),
position: this.addForm.position.node ? this.addForm.position.node : null,
supplier: this.addForm.supplier ? this.addForm.supplier : null,
produceTime: this.addForm.produceTime ? this.addForm.produceTime.length <= 10 ? this.addForm.produceTime + ' 00:00:00' : this.addForm.produceTime : null,
@ -1072,14 +1073,17 @@ export default {
description: this.addForm.description
}
if (this.addForm.lab && this.addForm.lab.length > 0) {
let labNameList = this.$refs.labRef.getCheckedNodes()[0].pathNodes
// let labNameList = this.$refs.labRef.getCheckedNodes()[0].pathNodes
let labNameList = this.$refs.labRef.getCheckedNodes()[0] != null ? this.$refs.labRef.getCheckedNodes()[0].pathNodes : []
if (labNameList.length > 0) {
query.limsId = this.addForm.lab[0]
query.floorId = this.addForm.lab[1]
query.roomId = this.addForm.lab[2]
query.limsNmae = labNameList[0].label
query.floorName = labNameList[1].label
query.roomName = labNameList[2].label
}
query.limsId = this.addForm.lab[0]
query.floorId = this.addForm.lab[1]
query.roomId = this.addForm.lab[2]
query.limsNmae = labNameList[0].label
query.floorName = labNameList[1].label
query.roomName = labNameList[2].label
}
if (this.viewType == 'add') {
@ -1136,7 +1140,7 @@ export default {
supplier: this.searchForm.supplier ? this.searchForm.supplier : '',//
brand: this.searchForm.brand ? this.searchForm.brand : '',//
size: this.page.pageSize,
limsName:this.searchForm.limsName
limsName: this.searchForm.limsName
}
if (this.role_id == '1846419477876510721') {

Loading…
Cancel
Save