feat: 设备管理优化

dev_ksck2.0
chenhc 11 months ago
parent 2ca04c2165
commit 00ccec1ebf

@ -19,11 +19,12 @@ export function deviceRepairInfo(repairId) {
)
}
export function finishRepairByUser(repairId) {
export function finishRepairByUser(query) {
return axios(
{
url: `/udi/device/repair/finishByUser/${repairId}`,
method: "GET"
url: `/udi/device/repair/finishByUser/repairId`,
method: "POST",
data: query
}
)
}

@ -3,7 +3,7 @@ import {filterList} from "@/api/system/invWarehouse";
export default {
name: 'deptSelect',
props: { value: { required: true }, notCode: null,maintenance: null,
props: { value: { required: true }, notCode: null,maintenance: null,disabled: false,
},
data() {
return {

@ -1,6 +1,6 @@
<template>
<el-select v-model="val" class="width-full" placeholder="请选择" filterable clearable>
<el-select v-model="val" class="width-full" placeholder="请选择" filterable clearable :disabled="disabled">
<el-option v-for="item in list" :key="item.id" :label="item.name" :value="item.code"/>
</el-select>
</template>

@ -39,6 +39,9 @@
<el-descriptions-item label="诊断信息" :label-style="{'height': '100px'}" :span="4">
{{ info.diagnosisInfo }}
</el-descriptions-item>
<el-descriptions-item label="维修内容" :label-style="{'height': '100px'}" :span="4" >
<el-input type="textarea" resize="none" :autosize="{ minRows: 4, maxRows: 4 }" clearable v-model.trim="info.repairDescription" :disabled="info.finishFlag"></el-input>
</el-descriptions-item>
</el-descriptions>
</el-card>
</template>

@ -114,18 +114,21 @@
<el-table-column label="供应商" width="100" prop="supName"/>
<el-table-column label="UDI码" width="150" prop="udi"/>
<el-table-column label="注册/备案号" width="150" prop="zczbhhzbapzbh"/>
<el-table-column label="操作" width="160" fixed="right">
<el-table-column label="操作" width="200" fixed="right">
<template slot-scope="scope">
<!-- <el-button type="text" @click="openItem(scope.row)"-->
<!-- >开始巡检-->
<!-- </el-button>-->
<el-button type="text" @click="startCheck(scope.row)"
<el-button type="text" @click="startCheck(scope.row)" v-if="!scope.row.finishFlag"
>开始巡检
</el-button>
<el-button type="text" @click="startCheck(scope.row)" v-if="scope.row.finishFlag"
>巡检详情
</el-button>
<el-button :disabled="!(scope.row.finishFlag&&scope.row.exceptionCount>0&&!scope.row.repairId)" type="text"
<el-button :disabled="!(scope.row.finishFlag && scope.row.exceptionCount>0&&!scope.row.repairId)" type="text"
@click="createRepair(scope.row)"
>维修
</el-button>
@ -294,12 +297,27 @@
</el-radio-group>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="维修部门" :span="3">
<el-form-item label=" " prop="repairDeptCode" style="margin-bottom: 10px">
<deptSelect :value.sync="repairRow.repairDeptCode" :maintenance="true" placeholder="请选择报修部门" />
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="维修人姓名" :span="3">
<el-form-item label=" " prop="repairUserName" style="margin-bottom: 10px">
<el-input v-model.trim="repairRow.repairUserName" placeholder="请输入维修人姓名"/>
<el-select
v-model="repairRow.repairUserName"
>
<el-option
v-for="(item, index) in userlist"
:key="index"
:label="item.employeeName"
:value="item.employeeName"
/>
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="维修人电话" :span="3">
<el-descriptions-item label="维修人电话" :span="3">
<el-form-item label=" " prop="repairUserPhone" style="margin-bottom: 10px">
<el-input v-model.trim="repairRow.repairUserPhone" placeholder="请输入维修人电话"/>
</el-form-item>
@ -351,6 +369,7 @@ import {deviceCheckDetailPage, deviceCheckDetailRepair} from "@/api/dev/deviceCh
import {deviceCheckDetailItemFinish, deviceCheckDetailItemPage} from "@/api/dev/deviceCheckDetailItemApi";
import {copyProperties, getLoading} from "@/utils";
import deptDeviceCheckDetail from "@/views/dev/deptDeviceCheckDetail";
import {filterListByDeptCode} from "@/api/system/deptUser";
let query = {
page: 1,
@ -380,6 +399,7 @@ let repairData = {
innerFlag: true,
repairUserName: null,
repairUserPhone: null,
repairDeptCode: null,
}
export default {
@ -393,6 +413,7 @@ export default {
clickRow: null,
showSearch: true,
loading: false,
userlist:[],
total: .0,
list: [],
query: {...query},
@ -431,6 +452,11 @@ export default {
message: "维修人电话不能为空",
trigger: ["change", "blur"]
}],
repairDeptCode: [{
required: true,
message: "维修部门不能为空",
trigger: ["change", "blur"]
}],
description: [{required: true, message: "问题描述不能为空", trigger: ["change", "blur"]}],
diagnosisInfo: [{required: true, message: "诊断信息不能为空", trigger: ["change", "blur"]}],
},
@ -444,6 +470,15 @@ export default {
created() {
this.getList()
},
watch: {
'repairRow.repairDeptCode': {
handler (newV, oldV) {
this.getUerList()
},
// deep: true,
// immediate: true,
}
},
methods: {
commitRepair() {
this.$refs.repairForm.validate(b => {
@ -581,6 +616,23 @@ export default {
this.total = 0
this.loading = false
})
},
getUerList() {
if (this.repairRow.repairDeptCode != null){
let userQuery = {
deptCode: this.repairRow.repairDeptCode,
}
filterListByDeptCode(userQuery).then((response) => {
// this.loading = false;
this.userlist = response.data.list || [];
// this.userTotal = response.data.total;
})
.catch(() => {
// this.loading = false;
this.userlist = [];
// this.userTotal = 0;
});
}
}
}
}

@ -6,11 +6,11 @@
<!-- {{ `巡检记录表&#45;&#45;${itemRow.itemName}[${itemRow.itemCode}]` }}-->
<!-- </div>-->
<div class="fr">
<el-button @click="itemRow = null">取消</el-button>
<el-button type="primary" @click="commitItemCheck"></el-button>
<el-button @click="itemRow = null" v-if="!itemRow.finishFlag" >取消</el-button>
<el-button type="primary" @click="commitItemCheck" v-if="!itemRow.finishFlag" >提交</el-button>
</div>
</div>
<el-form :model="itemRow" :rules="itemRules" ref="itemForm" label-width="auto">
<el-form :model="itemRow" :rules="itemRules" ref="itemForm" label-width="auto" :disabled="itemRow.finishFlag">
<el-descriptions border :column="2" label-style="width:100px">
<el-descriptions-item label="所属部门">
{{ itemRow.deptName }}

@ -1,12 +1,11 @@
<template>
<div>
<el-card>
<el-form :model="query" v-if="showSearch" label-width="auto">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="所属科室">
<deptSelect :value.sync="query.deptCode"/>
<deptSelect :value.sync="query.deptCode" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">

@ -4,11 +4,11 @@
<el-form :model="query" v-if="showSearch" label-width="auto">
<el-row :gutter="20">
<!-- <el-col :span="6">-->
<!-- <el-form-item label="所属科室" >-->
<!-- <deptSelect :value.sync="query.deptCode" />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="6">
<el-form-item label="所属科室" >
<deptSelect :value.sync="query.deptCode" :disabled="disabled"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="设备编码">
<el-input v-model="query.deviceCode" clearable/>
@ -164,4 +164,4 @@
</template>
<script src="./js/deviceInfoFull.js"/>
<script src="./js/deviceInfoSelf.js"/>

@ -76,6 +76,7 @@
<el-table-column label="操作" fixed="right" width="80">
<template slot-scope="scope">
<el-button type="text" v-if="!scope.row.finishFlag" @click="finishFuncFlag(scope.row)"></el-button>
<el-button type="text" v-if="scope.row.finishFlag" @click="finishFuncFlag(scope.row)"></el-button>
</template>
</el-table-column>
</el-table>
@ -101,7 +102,7 @@
{{ `设备号:${currentRow.deviceCode}` }}
</div>
<div class="fr">
<el-button type="primary" @click="finishFunc" >完成维修</el-button>
<el-button type="primary" @click="finishFunc" v-if="!currentRow.finishFlag" >完成维修</el-button>
</div>
</div>
<el-descriptions border label-style="width:90px" :column="4">
@ -135,6 +136,9 @@
<el-descriptions-item label="诊断信息" :label-style="{'height': '100px'}" :span="4">
{{ currentRow.diagnosisInfo }}
</el-descriptions-item>
<el-descriptions-item label="维修内容" :label-style="{'height': '100px'}" :span="4" >
<el-input type="textarea" resize="none" :autosize="{ minRows: 4, maxRows: 4 }" clearable v-model.trim="currentRow.repairDescription" :disabled="currentRow.finishFlag"></el-input>
</el-descriptions-item>
</el-descriptions>
</el-card>
</el-dialog>

@ -118,7 +118,7 @@
<el-table-column label="生产企业" width="180" prop="manufactory"/>
<el-table-column label="操作" fixed="right" width="100">
<template slot-scope="scope">
<el-button type="text" v-if="scope.row.repairId" @click="repairId = scope.row.repairId">
<el-button type="text" :disabled="!scope.row.repairId" @click="repairId = scope.row.repairId">查看维修
</el-button>
</template>
</el-table-column>

@ -36,6 +36,7 @@ export default {
props: {isChoose: {required: false, default: false, type: Boolean}, chooseFunc: {required: false, type: Function}},
data() {
return {
disabled:false,
deviceInfoFlag: false,
locDeptCode: null,
clickRow: null,
@ -75,6 +76,7 @@ export default {
this.$message.success(res.message)
})
// this.deviceInfoFlag = false;
},
downloadBase64Image,
genQR(row) {

@ -37,6 +37,7 @@ export default {
props: {isChoose: {required: false, default: false, type: Boolean}, chooseFunc: {required: false, type: Function}},
data() {
return {
disabled:true,
deviceInfoFlag: false,
locDeptCode: null,
clickRow: null,

@ -41,12 +41,12 @@ export default {
},
finishFunc() {
let row = this.currentRow
this.$confirm("确定完成维修吗", "提示", {
confirmButtonText: '完成维修',
cancelButtonText: "取消"
}).then((r) => {
// this.$confirm("确定完成维修吗", "提示", {
// confirmButtonText: '完成维修',
// cancelButtonText: "取消"
// }).then((r) => {
let loading = getLoading(this);
finishRepairByUser(row.id).then(res => {
finishRepairByUser(row).then(res => {
loading.close()
if (res.code != 20000) {
this.$message.error(res.message)
@ -57,7 +57,7 @@ export default {
}).catch(e=>{
loading.close()
})
})
// })
},
search() {
this.query.page = 1

Loading…
Cancel
Save