|
@@ -1,20 +1,25 @@
|
|
<template>
|
|
<template>
|
|
- <van-nav-bar
|
|
|
|
- :title="title"
|
|
|
|
- left-arrow
|
|
|
|
- @click-left="onClickLeft"
|
|
|
|
- safe-area-inset-top
|
|
|
|
- />
|
|
|
|
|
|
+ <van-nav-bar :title="title" safe-area-inset-top>
|
|
|
|
+ <template #left>
|
|
|
|
+ <van-icon
|
|
|
|
+ :name="require('@/assets/arrow-left.svg')"
|
|
|
|
+ size="24"
|
|
|
|
+ @click="backPath"
|
|
|
|
+ />
|
|
|
|
+ </template>
|
|
|
|
+ </van-nav-bar>
|
|
<div class="page_info">
|
|
<div class="page_info">
|
|
<div class="info_list">
|
|
<div class="info_list">
|
|
<van-cell-group class="cell_title_icon">
|
|
<van-cell-group class="cell_title_icon">
|
|
<van-cell
|
|
<van-cell
|
|
title="报修信息"
|
|
title="报修信息"
|
|
:icon="require('@/assets/line.svg')"
|
|
:icon="require('@/assets/line.svg')"
|
|
- v-if="dataForm.repairStatus == 2 || dataForm.repairStatus == 3"
|
|
|
|
|
|
+ v-if="
|
|
|
|
+ role == 'admin' && (dataForm.status == 2 || dataForm.status == 3)
|
|
|
|
+ "
|
|
/>
|
|
/>
|
|
- <van-cell title="报修时间" :value="dataForm.repairTime" />
|
|
|
|
- <van-cell title="报修位置" :value="dataForm.repairPositionName" />
|
|
|
|
|
|
+ <van-cell title="报修时间" :value="dataForm.createDate" />
|
|
|
|
+ <van-cell title="报修位置" :value="dataForm.repairPosition" />
|
|
<van-cell
|
|
<van-cell
|
|
title="报修区域"
|
|
title="报修区域"
|
|
:value="`${repairRegion_filter(dataForm.repairRegion)}`"
|
|
:value="`${repairRegion_filter(dataForm.repairRegion)}`"
|
|
@@ -34,21 +39,13 @@
|
|
:src="item"
|
|
:src="item"
|
|
v-for="(item, index) in imagesList"
|
|
v-for="(item, index) in imagesList"
|
|
:key="item + '_' + index"
|
|
:key="item + '_' + index"
|
|
- @click="showImgPreview = true"
|
|
|
|
/>
|
|
/>
|
|
- <van-image-preview
|
|
|
|
- v-model:show="showImgPreview"
|
|
|
|
- :images="imagesList"
|
|
|
|
- v-if="showImgPreview"
|
|
|
|
- >
|
|
|
|
- </van-image-preview>
|
|
|
|
</template>
|
|
</template>
|
|
</van-cell>
|
|
</van-cell>
|
|
</van-cell-group>
|
|
</van-cell-group>
|
|
-
|
|
|
|
<van-cell-group
|
|
<van-cell-group
|
|
class="cell_title_icon"
|
|
class="cell_title_icon"
|
|
- v-if="dataForm.repairStatus == 2 || dataForm.repairStatus == 3"
|
|
|
|
|
|
+ v-if="role == 'admin' && (dataForm.status == 2 || dataForm.status == 3)"
|
|
>
|
|
>
|
|
<van-cell title="维修信息" :icon="require('@/assets/line.svg')" />
|
|
<van-cell title="维修信息" :icon="require('@/assets/line.svg')" />
|
|
<van-cell
|
|
<van-cell
|
|
@@ -56,11 +53,11 @@
|
|
:value="`${urgency_filter(dataForm.urgency)}`"
|
|
:value="`${urgency_filter(dataForm.urgency)}`"
|
|
/>
|
|
/>
|
|
<van-cell title="维修人员" :value="dataForm.repairPersonName" />
|
|
<van-cell title="维修人员" :value="dataForm.repairPersonName" />
|
|
- <van-cell title="联系电话" :value="dataForm.repairPerson" />
|
|
|
|
|
|
+ <van-cell title="联系电话" :value="dataForm.repairPersonId" />
|
|
<van-cell
|
|
<van-cell
|
|
title="维修完成时间"
|
|
title="维修完成时间"
|
|
:value="dataForm.repairFinishTime"
|
|
:value="dataForm.repairFinishTime"
|
|
- v-if="dataForm.repairStatus == 3"
|
|
|
|
|
|
+ v-if="dataForm.status == 3"
|
|
/>
|
|
/>
|
|
</van-cell-group>
|
|
</van-cell-group>
|
|
</div>
|
|
</div>
|
|
@@ -78,7 +75,7 @@
|
|
维修完成
|
|
维修完成
|
|
</van-button>
|
|
</van-button>
|
|
</template>
|
|
</template>
|
|
- <template v-if="role == 1">
|
|
|
|
|
|
+ <template v-if="role == 'admin' && dataForm.status == 1">
|
|
<van-button
|
|
<van-button
|
|
block
|
|
block
|
|
type="primary"
|
|
type="primary"
|
|
@@ -126,7 +123,7 @@
|
|
@cancel="showRepairPersonPicker = false"
|
|
@cancel="showRepairPersonPicker = false"
|
|
@confirm="
|
|
@confirm="
|
|
(value) => {
|
|
(value) => {
|
|
- dataForm.repairPerson = value.value;
|
|
|
|
|
|
+ dataForm.repairPersonId = value.value;
|
|
dataForm.repairPersonName = value.text;
|
|
dataForm.repairPersonName = value.text;
|
|
showRepairPersonPicker = false;
|
|
showRepairPersonPicker = false;
|
|
}
|
|
}
|
|
@@ -173,6 +170,7 @@
|
|
</van-popup>
|
|
</van-popup>
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
|
|
+import Api from "../utils/api";
|
|
import { isEmpty } from "@/utils/index.js";
|
|
import { isEmpty } from "@/utils/index.js";
|
|
import VCountUp from "./CountUp";
|
|
import VCountUp from "./CountUp";
|
|
export default {
|
|
export default {
|
|
@@ -181,7 +179,7 @@ export default {
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
- role: 3,
|
|
|
|
|
|
+ role: "",
|
|
loading: false,
|
|
loading: false,
|
|
title: "",
|
|
title: "",
|
|
showImgPreview: false,
|
|
showImgPreview: false,
|
|
@@ -197,32 +195,28 @@ export default {
|
|
{ text: "普通", value: 3 },
|
|
{ text: "普通", value: 3 },
|
|
],
|
|
],
|
|
dataForm: {
|
|
dataForm: {
|
|
- repairPerson: "15394820234",
|
|
|
|
- repairPersonName: "王旭",
|
|
|
|
|
|
+ id: "",
|
|
|
|
+ repairPersonId: "",
|
|
|
|
+ repairPersonName: "",
|
|
urgency: "",
|
|
urgency: "",
|
|
urgencyName: "",
|
|
urgencyName: "",
|
|
- repairTime: "2022/05/24 13:32:22",
|
|
|
|
- repairFinishTime: "2022/05/24 13:32:22",
|
|
|
|
- repairPositionName: "B座13楼1301",
|
|
|
|
- repairRegion: 1,
|
|
|
|
- repairStatus: 1,
|
|
|
|
- repairType: 1,
|
|
|
|
- contactPerson: "张浩",
|
|
|
|
- contactPhone: "13682307574",
|
|
|
|
- faultDes: "女卫生间水龙头一直滴水,关不上,请尽快处理谢谢",
|
|
|
|
- faultPics:
|
|
|
|
- "https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg,https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg",
|
|
|
|
|
|
+ repairTime: "",
|
|
|
|
+ repairFinishTime: "",
|
|
|
|
+ repairPositionName: "",
|
|
|
|
+ repairRegion: "",
|
|
|
|
+ status: "",
|
|
|
|
+ repairType: "",
|
|
|
|
+ contactPerson: "",
|
|
|
|
+ contactPhone: "",
|
|
|
|
+ faultDes: "",
|
|
|
|
+ faultPics: "",
|
|
},
|
|
},
|
|
};
|
|
};
|
|
},
|
|
},
|
|
-
|
|
|
|
created() {
|
|
created() {
|
|
- this.imagesList = this.dataForm.faultPics.split(",");
|
|
|
|
- if (this.dataForm.repairStatus == 2 || this.dataForm.repairStatus == 3) {
|
|
|
|
- this.title = "报修详情";
|
|
|
|
- } else {
|
|
|
|
- this.title = "工单详情";
|
|
|
|
- }
|
|
|
|
|
|
+ this.role = localStorage.getItem("role");
|
|
|
|
+ this.getDataDetail();
|
|
|
|
+ this.getUserList();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
repairType_filter(val) {
|
|
repairType_filter(val) {
|
|
@@ -250,7 +244,6 @@ export default {
|
|
return "室内";
|
|
return "室内";
|
|
}
|
|
}
|
|
},
|
|
},
|
|
-
|
|
|
|
urgency_filter(val) {
|
|
urgency_filter(val) {
|
|
if (isEmpty(val)) {
|
|
if (isEmpty(val)) {
|
|
return "";
|
|
return "";
|
|
@@ -265,6 +258,31 @@ export default {
|
|
return "普通";
|
|
return "普通";
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ //获取维修人员
|
|
|
|
+ getUserList() {
|
|
|
|
+ Api.repairInfoUser({
|
|
|
|
+ page: 1,
|
|
|
|
+ limit: 100,
|
|
|
|
+ }).then((res) => {
|
|
|
|
+ if (res.code == 0) {
|
|
|
|
+ this.repairPersonList = res.data.list;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ getDataDetail() {
|
|
|
|
+ Api.repairInfoDetail(this.$route.query.id).then((res) => {
|
|
|
|
+ if (res.code == 0) {
|
|
|
|
+ this.dataForm = res.data;
|
|
|
|
+ this.imagesList = this.dataForm.faultPics.split(",");
|
|
|
|
+ if (this.dataForm.status == 2 || this.dataForm.status == 3) {
|
|
|
|
+ this.title = "报修详情";
|
|
|
|
+ } else {
|
|
|
|
+ this.title = "工单详情";
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ },
|
|
handleClick(type) {
|
|
handleClick(type) {
|
|
if (type == "finish") {
|
|
if (type == "finish") {
|
|
this.$dialog
|
|
this.$dialog
|
|
@@ -290,13 +308,27 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
onSubmit() {
|
|
onSubmit() {
|
|
- this.loading = true;
|
|
|
|
- setTimeout(() => {
|
|
|
|
- this.loading = false;
|
|
|
|
- this.showPopup = false;
|
|
|
|
- }, 2000);
|
|
|
|
|
|
+ this.$toast.loading({
|
|
|
|
+ message: "保存中...",
|
|
|
|
+ forbidClick: true,
|
|
|
|
+ });
|
|
|
|
+ Api.repairInfoDispatch({
|
|
|
|
+ id: this.dataForm.id,
|
|
|
|
+ repairPersonId: this.dataForm.repairPersonId,
|
|
|
|
+ urgency: this.dataForm.urgency,
|
|
|
|
+ }).then((res) => {
|
|
|
|
+ if (res.code == 0) {
|
|
|
|
+ this.$toast.success("保存成功");
|
|
|
|
+ this.showPopup = false;
|
|
|
|
+ this.getDataDetail();
|
|
|
|
+ } else {
|
|
|
|
+ this.$toast.fail("保存失败");
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ backPath() {
|
|
|
|
+ this.$router.back();
|
|
},
|
|
},
|
|
- onClickLeft() {},
|
|
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
@@ -308,11 +340,9 @@ export default {
|
|
.van-cell__title {
|
|
.van-cell__title {
|
|
flex: unset;
|
|
flex: unset;
|
|
}
|
|
}
|
|
- .van-cell__value {
|
|
|
|
- text-align: center;
|
|
|
|
- }
|
|
|
|
.van-image {
|
|
.van-image {
|
|
margin-left: 8px;
|
|
margin-left: 8px;
|
|
|
|
+ margin-bottom: 8px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.cell_title_icon {
|
|
.cell_title_icon {
|