pad-app/pages/quality/details.vue

373 lines
9.1 KiB
Vue
Raw Normal View History

2023-07-10 17:11:31 +08:00
<template>
<view class="details">
2024-01-08 15:16:29 +08:00
<head-view :title="title" url="/pages/quality/index"></head-view>
2023-11-01 18:40:05 +08:00
<view class="container contentFixed">
2023-11-13 10:11:34 +08:00
<!-- <view class="userInfo">
2023-09-23 20:16:54 +08:00
<p>填报人{{infoData.qdReportPerson}}</p>
<p>上报部门{{infoData.qrpDept}}</p>
2023-11-13 10:11:34 +08:00
</view> -->
<view class="itemBox">
<view class="formTitle">
<image src="../../static/images/goodsImg2.png"></image>
<text>基本信息</text>
2023-07-25 17:15:05 +08:00
</view>
2023-11-13 10:11:34 +08:00
<view class="ul zsInfo">
<view class="li">
<p>质损发生环节</p>
<view class="rightInfo">
2024-03-22 19:00:41 +08:00
<p>{{infoData.qdLinkName}} </p>
<p v-if="infoData.qdLinkName == '客户反馈' || infoData.qdLinkName == '其他'">
2023-11-13 10:11:34 +08:00
备注{{infoData.linkFeedback}}{{infoData.linkOther}}
</p>
</view>
2023-07-10 17:57:36 +08:00
</view>
2023-07-25 17:15:05 +08:00
</view>
2023-07-10 17:57:36 +08:00
</view>
2023-11-13 10:11:34 +08:00
<view class="itemBox">
<view class="formTitle">
2023-11-16 18:04:18 +08:00
<image src="../../static/images/zlIcon.png"></image>
2023-11-13 10:11:34 +08:00
<text>板车照片</text>
2023-07-25 17:15:05 +08:00
</view>
2023-12-22 17:48:52 +08:00
<view class="picture" :class="{picture2 : boardCarPhotos > 0}">
2023-11-21 17:43:02 +08:00
<template v-for="(item,index) in boardCarPhotos">
<image :key="item" :src="item" @click="clickImg(boardCarPhotos,index)"></image>
2023-11-13 10:11:34 +08:00
</template>
2023-07-25 17:15:05 +08:00
</view>
2023-11-13 10:11:34 +08:00
</view>
<view class="itemBox">
<view class="formTitle">
2023-11-16 18:04:18 +08:00
<image src="../../static/images/cpIcon.png"></image>
2023-11-13 10:11:34 +08:00
<text>板车车牌照</text>
2023-07-25 17:15:05 +08:00
</view>
2023-12-22 17:48:52 +08:00
<view class="picture" :class="{picture2 : boardCarList > 0}">
2023-11-21 17:43:02 +08:00
<template v-for="(item,index) in boardCarList">
<image :key="item" :src="item" @click="clickImg(boardCarList,index)"></image>
2023-11-13 10:11:34 +08:00
</template>
2023-07-25 17:15:05 +08:00
</view>
2023-11-13 10:11:34 +08:00
</view>
<view class="itemBox">
<view class="formTitle">
2023-11-16 18:04:18 +08:00
<image src="../../static/images/zxIcon.png"></image>
2023-11-13 10:11:34 +08:00
<text>质损信息</text>
2023-07-25 17:15:05 +08:00
</view>
2023-11-13 10:11:34 +08:00
<view class="zsInfo">
<view class="li">
<p>车架号/条形码</p>
<p>{{infoData.vinCode}}</p>
2023-09-23 20:16:54 +08:00
</view>
2023-11-13 10:11:34 +08:00
<view class="li">
<p>船名/航次</p>
<p>{{infoData.spmIdAndVvyId}}</p>
2023-09-23 20:16:54 +08:00
</view>
2023-11-13 10:11:34 +08:00
<view class="li">
<p>车型</p>
<p>{{infoData.bvmName}}</p>
2023-09-23 20:16:54 +08:00
</view>
2023-11-13 10:11:34 +08:00
<view class="li">
<p>品牌</p>
<p>{{infoData.brdName}}</p>
2023-09-23 20:16:54 +08:00
</view>
2023-11-13 10:11:34 +08:00
<view class="li">
<p>场位</p>
<p>{{infoData.pos}}</p>
2023-07-10 17:57:36 +08:00
</view>
2023-11-13 10:11:34 +08:00
<view class="li">
<p>质损时间</p>
<p>{{infoData.qualityDamageTime}}</p>
</view>
<view class="li">
<p>质损货物品类</p>
<view class="rightInfo">
2023-11-16 18:04:18 +08:00
<p>{{infoData.qdGodsCategory}}</p>
2023-11-24 15:55:58 +08:00
<p v-if="infoData.qdGcOther != null && infoData.qdGcOther != ''">
2023-11-13 10:11:34 +08:00
备注{{infoData.qdGcOther}}
</p>
</view>
</view>
2023-11-16 18:04:18 +08:00
<view class="li imageLi" v-if="zsImg != ''">
2023-11-13 10:11:34 +08:00
<image :src="zsImg"></image>
</view>
<view class="li tsLi">
<p>质损概况</p>
<view class="rightInfo">
2023-11-16 18:04:18 +08:00
<p>{{infoData.qualityDamageSituationName}}</p>
2023-11-24 15:55:58 +08:00
<p v-if="infoData.qdsOther != null && infoData.qdsOther != ''">
2023-11-13 10:11:34 +08:00
备注{{infoData.qdsOther}}
</p>
</view>
</view>
<view class="li tsLi">
<p>损伤情况</p>
<view class="rightInfo">
<p>{{infoData.damageSituationName}}</p>
2023-11-24 15:55:58 +08:00
<p v-if="infoData.dsOther != null && infoData.dsOther != ''">
2023-11-13 10:11:34 +08:00
备注{{infoData.dsOther}}
</p>
</view>
</view>
<view class="li tsLi">
<p>处置情况</p>
<view class="rightInfo">
<p>{{infoData.disposalSituationName}}</p>
2023-11-24 15:55:58 +08:00
<p v-if="infoData.dpsOther != null && infoData.dpsOther != ''">
2023-11-13 10:11:34 +08:00
备注{{infoData.dpsOther}}
</p>
</view>
2023-09-23 20:16:54 +08:00
</view>
</view>
</view>
2023-11-13 10:11:34 +08:00
<view class="itemBox">
<view class="formTitle">
2023-11-16 18:04:18 +08:00
<image src="../../static/images/zsIcon.png"></image>
2023-11-13 10:11:34 +08:00
<text>质损照片</text>
</view>
2023-12-22 17:48:52 +08:00
<view class="picture" :class="{picture2 : qualityDamage > 0}">
2023-11-21 17:43:02 +08:00
<template v-for="(item,index) in qualityDamage">
<image :key="item" :src="item" @click="clickImg(qualityDamage,index)"></image>
2023-11-13 10:11:34 +08:00
</template>
</view>
2023-09-23 20:16:54 +08:00
</view>
2023-11-13 10:11:34 +08:00
<view class="itemBox">
<view class="formTitle">
2023-11-16 18:04:18 +08:00
<image src="../../static/images/cjhIcon.png"></image>
2023-11-13 10:11:34 +08:00
<text>车架号图片</text>
2023-09-23 20:16:54 +08:00
</view>
2023-12-22 17:48:52 +08:00
<view class="picture" :class="{picture2 : carFrameNumber > 0}">
2023-11-21 17:43:02 +08:00
<template v-for="(item,index) in carFrameNumber">
<image :key="item" :src="item" @click="clickImg(carFrameNumber,index)"></image>
2023-11-13 10:11:34 +08:00
</template>
2023-07-25 17:15:05 +08:00
</view>
</view>
2023-11-13 10:11:34 +08:00
<view class="btnSign">
<view class="signLeft">
<p>质损负责人签名:</p>
<p>Quality loss responsible:</p>
</view>
<view class="signRightft">
<image :src="signImg"></image>
</view>
2023-07-11 15:28:40 +08:00
</view>
2023-07-10 17:57:36 +08:00
</view>
2023-07-10 17:11:31 +08:00
</view>
</template>
<script>
2023-07-11 15:28:40 +08:00
export default {
data() {
2023-09-23 20:16:54 +08:00
return {
2023-11-13 10:11:34 +08:00
title: "",
2023-09-23 20:16:54 +08:00
ygqId: "",
loginObj: {},
infoData: {},
// 板车照片
boardCarPhotos: [],
// 板车车牌照
boardCarList: [],
// 质损照片
qualityDamage: [],
// 车架号图片
carFrameNumber: [],
// 签名图片
signImg: "",
// 质损参考图
zsImg: "",
}
},
onLoad(options) {
if ('params' in options) {
// 获取传递的对象参数使用decodeURIComponent解码并转为对象
this.ygqId = JSON.parse(decodeURIComponent(options.params)).ygqId
}
this.loginObj = uni.getStorageSync('loginObj')
this.initData()
2023-07-11 15:28:40 +08:00
},
methods: {
2023-09-23 20:16:54 +08:00
initData() {
uni.request({
url: `${this.$local}/api/goodsQuality/getDetail?ygqId=${this.ygqId}`,
header: {
'Content-Type': 'application/json', //自定义请求头信息
'Authorization': `Bearer ${this.loginObj.access_token}`
},
method: 'GET', //请求方式,必须为大写
success: (res) => {
if (res.statusCode == 200) {
this.infoData = res.data.data
2023-11-13 10:11:34 +08:00
this.title = `${this.infoData.vinCode} - 质损详情`
2023-09-23 20:16:54 +08:00
// 获取板车照片
this.infoData.boardCarPhotos.forEach(v => {
this.initImg(v.filePath, "1")
})
// 获取板车车牌照
this.infoData.boardCarLicensePlates.forEach(v => {
this.initImg(v.filePath, "2")
})
// 获取质损照片
this.infoData.qualityDamagePhotos.forEach(v => {
this.initImg(v.filePath, "3")
})
// 获取车架号图片
this.infoData.carFrameNumberPhotos.forEach(v => {
this.initImg(v.filePath, "4")
})
this.initImg(this.infoData.signUrl, "5")
this.initImg(this.infoData.refImageUrl, "6")
}
}
})
},
// type 1 板车照片 2板车车牌照 3质损照片 4车架号图片 5签名 6参考图
initImg(fileName, type) {
uni.request({
url: `${this.$local}/api/file/url/?fileName=${fileName}`,
header: {
'Content-Type': 'application/json', //自定义请求头信息
'Authorization': `Bearer ${this.loginObj.access_token}`
},
method: 'GET', //请求方式,必须为大写
success: (res) => {
if (res.statusCode == 200) {
if (type == 1) {
this.boardCarPhotos.push(res.data)
} else if (type == 2) {
this.boardCarList.push(res.data)
} else if (type == 3) {
this.qualityDamage.push(res.data)
} else if (type == 4) {
this.carFrameNumber.push(res.data)
} else if (type == 5) {
this.signImg = res.data
2023-11-16 18:04:18 +08:00
} else if (type == 6) {
2023-09-23 20:16:54 +08:00
this.zsImg = res.data
}
}
}
})
},
2023-11-21 17:43:02 +08:00
// 点击图片放大
clickImg(urlList, index) {
uni.previewImage({
current: index,
urls: urlList,
2023-07-11 15:28:40 +08:00
})
2023-11-21 17:43:02 +08:00
},
2023-07-11 15:28:40 +08:00
}
}
2023-07-10 17:11:31 +08:00
</script>
<style lang="less" scoped>
2023-07-10 17:57:36 +08:00
.details {
.container {
2023-11-13 10:11:34 +08:00
padding: 16px;
padding-bottom: 80px;
2023-07-10 17:57:36 +08:00
.userInfo {
display: flex;
margin-bottom: 20px;
p {
margin-right: 30px;
font-size: 16px;
}
}
2023-11-13 10:11:34 +08:00
.itemBox {
2023-12-22 17:48:52 +08:00
padding: 16px;
2023-11-13 10:11:34 +08:00
background: #fff;
margin-bottom: 16px;
2023-07-10 17:57:36 +08:00
}
2023-11-13 10:11:34 +08:00
.formTitle {
font-size: 18px;
2023-12-22 17:48:52 +08:00
color: #666;
2023-11-13 10:11:34 +08:00
font-weight: bold;
display: flex;
2023-09-23 20:16:54 +08:00
2023-11-13 10:11:34 +08:00
image {
width: 18px;
height: 18px;
margin-right: 10px;
margin-top: 5px;
2023-07-10 17:57:36 +08:00
}
2023-11-13 10:11:34 +08:00
}
2023-07-10 17:57:36 +08:00
2023-11-13 10:11:34 +08:00
.picture {
display: flex;
flex-wrap: wrap;
2023-09-23 20:16:54 +08:00
2023-11-13 10:11:34 +08:00
image {
width: 120px;
height: 120px;
margin: 10px;
2023-07-10 17:57:36 +08:00
}
}
2023-12-22 17:48:52 +08:00
.picture2 {
margin-top: 20px;
}
2023-07-10 17:57:36 +08:00
.zsInfo {
display: flex;
flex-wrap: wrap;
2023-11-13 10:11:34 +08:00
margin-top: 24px;
2023-07-10 17:57:36 +08:00
2023-07-25 17:15:05 +08:00
.li {
2023-07-10 17:57:36 +08:00
width: 48%;
display: flex;
2023-11-13 10:11:34 +08:00
margin-bottom: 12px;
font-size: 14px;
color: #23262E;
2023-07-10 17:57:36 +08:00
}
.tsLi {
width: 100%;
}
.zpLi {
width: 100%;
display: block;
}
2023-07-11 15:28:40 +08:00
2023-09-23 20:16:54 +08:00
.imageLi {
2023-07-11 15:28:40 +08:00
width: 100%;
2023-07-25 17:15:05 +08:00
height: 400px;
2023-07-11 15:28:40 +08:00
}
}
2023-11-13 10:11:34 +08:00
.btnSign {
width: 100%;
height: 66px;
position: fixed;
bottom: 0;
left: 0;
border: 1px solid #E1E5ED;
box-shadow: 0 -1px 4px 0 rgba(0, 0, 0, 0.05);
display: flex;
justify-content: flex-end;
background-color: #fff;
.signLeft {
display: flex;
flex-direction: column;
justify-content: center;
gap: 3px;
p {
text-align: right;
}
}
.signRightft {
display: flex;
flex-direction: column;
justify-content: center;
image {
2023-11-16 18:04:18 +08:00
width: 120px;
height: 100%;
2023-11-13 10:11:34 +08:00
}
}
}
2023-07-10 17:57:36 +08:00
}
}
2023-07-10 17:11:31 +08:00
</style>