|
@@ -19,13 +19,14 @@
|
|
|
<div v-if="item.repairRegisterVo?.checkResult">检测结果: {{item.repairRegisterVo?.checkResult}}</div>
|
|
|
<div v-if="item.repairRegisterVo?.partNamesStr">所需备件: {{item.repairRegisterVo?.partNamesStr}}</div>
|
|
|
<div v-if="item.repairRegisterVo?.orderFaultMsg">机器外观: {{item.orderReceiving?.orderFaultMsg}}</div>
|
|
|
- <div class="imgList">
|
|
|
- <img :src="imgItem" v-for="imgItem in item.imagesInfo" :key="imgItem + index" alt="" />
|
|
|
+ <div class="imgList" v-if="item.imagesInfo?.length">
|
|
|
+ <img :src="imgItem" v-for="(imgItem,imgID) in item.imagesInfo" @click="imgPreview(item.imagesInfo, imgID)" :key="imgItem + index" alt="" />
|
|
|
</div>
|
|
|
- <div class="step_time" v-if="item.repairLogId">{{ namePrivate(item.sysUserName) }}完成{{ item.remark }} {{dayjs(item.createTime).format('MM-DD HH:mm')}}</div>
|
|
|
+ <div v-if="item.repairLogId">{{ namePrivate(item.sysUserName) }}完成{{ item.remark }}</div>
|
|
|
<div class="status" v-else>
|
|
|
{{ replacName(item.sysUserName,item.subTitle) }}
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div class="step_time" >{{dayjs(item.createTime).format('MM-DD HH:mm')}}</div>
|
|
|
<div class="doct" :class="index == 0 ? 'oneSpot' : 'Spot'"></div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -63,7 +64,7 @@
|
|
|
<div class="text" v-html="detailData.repairerVo?.faultMsg"></div>
|
|
|
|
|
|
<div class="imgList" v-if="detailData.repairerVo">
|
|
|
- <img :src="imgItem" v-for="imgItem in detailData.repairerVo.faultImg" :key="imgItem" alt="" />
|
|
|
+ <img :src="imgItem" v-for="(imgItem, imgID) in detailData.repairerVo.faultImg" @click="imgPreview(detailData.repairerVo.faultImg, imgID)" :key="imgItem" alt="" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -144,6 +145,7 @@
|
|
|
<script lang="ts" setup name="detailPage">
|
|
|
import { useRouter } from 'vue-router';
|
|
|
import { ref, onMounted, unref, onActivated } from 'vue';
|
|
|
+import { showImagePreview } from 'vant';
|
|
|
import { repairProcess, repairDetails } from '/@/api';
|
|
|
import dayjs from 'dayjs'
|
|
|
const { currentRoute } = useRouter();
|
|
@@ -220,6 +222,19 @@ function namePrivate(name) {
|
|
|
return ''
|
|
|
}
|
|
|
}
|
|
|
+function imgPreview(list,startPosition=1){
|
|
|
+ let images = list.map(ele =>{
|
|
|
+ if(typeof ele == 'string' ){
|
|
|
+ return ele
|
|
|
+ }else{
|
|
|
+ return
|
|
|
+ }
|
|
|
+ })
|
|
|
+ showImagePreview({
|
|
|
+ images: images||[],
|
|
|
+ startPosition,
|
|
|
+});
|
|
|
+}
|
|
|
|
|
|
</script>
|
|
|
<style lang="scss" >
|
|
@@ -272,7 +287,7 @@ function namePrivate(name) {
|
|
|
padding: 24px 16px;
|
|
|
.item_content_top{
|
|
|
padding-bottom: 15px;
|
|
|
- margin-bottom: 24px;
|
|
|
+ margin-bottom: 16px;
|
|
|
border-bottom: 1px solid #f5f5f5;
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
@@ -291,11 +306,15 @@ function namePrivate(name) {
|
|
|
&:last-child {
|
|
|
// border: none;
|
|
|
}
|
|
|
- padding: 0 15px;
|
|
|
+ padding: 8px 15px 16px 15px;
|
|
|
border-left: 1px solid #f5f5f5;
|
|
|
+ div{
|
|
|
+ margin-top: 8px;
|
|
|
+ }
|
|
|
&_title {
|
|
|
font-size: 14px;
|
|
|
line-height: 22px;
|
|
|
+ margin-top: 0px !important;
|
|
|
}
|
|
|
&_time {
|
|
|
font-size: 10px;
|
|
@@ -303,13 +322,13 @@ function namePrivate(name) {
|
|
|
font-weight: 400;
|
|
|
color: #999999;
|
|
|
line-height: 14px;
|
|
|
- padding-bottom: 24px;
|
|
|
+ // padding-bottom: 24px;
|
|
|
}
|
|
|
font-size: 12px;
|
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
|
font-weight: 400;
|
|
|
color: #333333;
|
|
|
- line-height: 30px;
|
|
|
+ line-height: 18px;
|
|
|
position: relative;
|
|
|
.doct {
|
|
|
display: inline-block;
|