<template>
|
|
<!-- 破损上报 -->
|
|
<view class="help">
|
|
<navbar title="破损上报" leftClick @leftClick="$utils.navigateBack" />
|
|
|
|
|
|
<uv-radio-group
|
|
@change="change"
|
|
v-model="form.orderDetailId">
|
|
<view class="flex">
|
|
<view class="server-item"
|
|
v-for="(p, i) in list"
|
|
:key="i">
|
|
|
|
<view class="radio">
|
|
<uv-radio :name="p.id"
|
|
:disabled="!!p.status"
|
|
activeColor="#FA5A0A" size="40rpx"
|
|
icon-size="35rpx"></uv-radio>
|
|
</view>
|
|
|
|
<view class="img-box">
|
|
<image :src="p.pic" mode="aspectFill"></image>
|
|
</view>
|
|
|
|
<view class="server-info">
|
|
|
|
<view class="server-title">
|
|
产品名称:{{p.goodsName}}
|
|
</view>
|
|
|
|
<view class="sales-volume" style="margin-top: 5px;">
|
|
<view class="desc">规格:{{p.sku}}</view>
|
|
</view>
|
|
|
|
<view class="sales-volume" style="margin-top: 5px;">
|
|
<view class="desc">数量:{{p.num}}</view>
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
</view>
|
|
</uv-radio-group>
|
|
|
|
|
|
<view class="type">
|
|
<span>破损数量</span>
|
|
<span>
|
|
<uv-number-box
|
|
v-model="form.num" :min="1"
|
|
:max="max"></uv-number-box>
|
|
</span>
|
|
</view>
|
|
|
|
<view class="help-box">
|
|
<view>
|
|
<uv-textarea
|
|
:count="true"
|
|
v-model="form.info"
|
|
border="none" height="400"
|
|
placeholder="请输入破损的细节部位....."
|
|
:text-style="{color:'#000',fontSize:'28rpx'}" />
|
|
</view>
|
|
|
|
<view>
|
|
<view class="help-issue">
|
|
<text>上传图片</text>
|
|
<text style="color: #BD3624;">*</text>
|
|
</view>
|
|
|
|
<view class="help-screenshot">
|
|
<uv-upload :fileList="fileList" multiple :maxCount="6" width="180rpx"
|
|
height="180rpx" multiple @afterRead="afterRead" @delete="deleteImage">
|
|
<image src="../static/help/uploading.png" mode="aspectFill"
|
|
style="width: 180rpx;height: 180rpx;" />
|
|
</uv-upload>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="help-button">
|
|
<view
|
|
@click="submit">提交审核</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import mixinOrder from '@/mixins/order.js'
|
|
export default {
|
|
mixins : [mixinOrder],
|
|
data() {
|
|
return {
|
|
fileList: [],
|
|
form : {
|
|
orderDetailId : 0,
|
|
num : 1,
|
|
info : '',
|
|
},
|
|
list: {},
|
|
orderId: 0,
|
|
max : 1,
|
|
}
|
|
},
|
|
onLoad(agrs) {
|
|
this.orderId = agrs.id
|
|
},
|
|
onShow() {
|
|
this.getData()
|
|
},
|
|
methods: {
|
|
change(e){
|
|
this.list.forEach(n => {
|
|
if(n.id == e){
|
|
this.max = n.num
|
|
}
|
|
})
|
|
},
|
|
deleteImage(e){
|
|
this.fileList.splice(e.index, 1)
|
|
},
|
|
afterRead(e){
|
|
let self = this
|
|
e.file.forEach(file => {
|
|
self.$Oss.ossUpload(file.url).then(url => {
|
|
self.fileList.push({
|
|
url
|
|
})
|
|
})
|
|
})
|
|
},
|
|
// 查询订单详情
|
|
getData() {
|
|
this.$api('detailList', {
|
|
id: this.orderId
|
|
}, res => {
|
|
uni.stopPullDownRefresh()
|
|
if (res.code == 200) {
|
|
this.list = res.result
|
|
}
|
|
})
|
|
},
|
|
submit(){
|
|
this.form.pic = this.fileList.map(item=>item.url).join(",")
|
|
if (this.$utils.verificationAll(this.form, {
|
|
orderDetailId : '请选择产品',
|
|
info: '请输入破损的细节部位',
|
|
pic: '请上传图片',
|
|
})) {
|
|
return
|
|
}
|
|
this.orderConfirmedDamage({id : this.orderId}, 2, this.form,
|
|
() => {
|
|
uni.redirectTo({
|
|
url:'/pages/index/order'
|
|
})
|
|
})
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.help {
|
|
.server-item {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
background: white;
|
|
border-radius: 15rpx;
|
|
box-sizing: border-box;
|
|
margin: 30rpx;
|
|
width: 690rpx;
|
|
|
|
.radio{
|
|
width: 100rpx;
|
|
height: 180rpx;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.img-box {
|
|
width: 180rpx;
|
|
height: 180rpx;
|
|
border-radius: 10rpx;
|
|
overflow: hidden;
|
|
|
|
image {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
|
|
.server-info {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-around;
|
|
box-sizing: border-box;
|
|
padding: 10rpx 15rpx;
|
|
|
|
.server-title {
|
|
display: flex;
|
|
margin-bottom: 10rpx;
|
|
}
|
|
|
|
.coupon {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
background: #F29E45;
|
|
color: white;
|
|
width: 120rpx;
|
|
height: 40rpx;
|
|
border-radius: 10rpx;
|
|
margin-left: 10rpx;
|
|
font-size: 22rpx;
|
|
}
|
|
|
|
.time-coupon,
|
|
.price {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
}
|
|
|
|
.time-coupon {
|
|
margin: 10rpx 0rpx;
|
|
font-size: 26rpx;
|
|
justify-content: space-between;
|
|
width: 100%;
|
|
|
|
.flex {
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
image {
|
|
width: 25rpx;
|
|
height: 25rpx;
|
|
}
|
|
|
|
.time {
|
|
color: #B8B8B8;
|
|
margin-left: 6rpx;
|
|
}
|
|
}
|
|
|
|
.sales-volume {
|
|
display: flex;
|
|
align-items: center;
|
|
color: #B8B8B8;
|
|
font-size: 24rpx;
|
|
|
|
image {
|
|
width: 25rpx;
|
|
height: 25rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.type {
|
|
display: flex;
|
|
align-items: center;
|
|
background-color: #FFF;
|
|
width: 92%;
|
|
margin: 30rpx 4%;
|
|
padding: 20rpx;
|
|
box-sizing: border-box;
|
|
|
|
>span:nth-of-type(1) {
|
|
width: 70%;
|
|
}
|
|
|
|
>span:nth-of-type(2) {
|
|
width: 30%;
|
|
}
|
|
}
|
|
.help-box {
|
|
width: 92%;
|
|
margin-left: 4%;
|
|
|
|
.help-issue {
|
|
margin: 20rpx;
|
|
font-size: 28rpx;
|
|
font-weight: 600;
|
|
color: #000;
|
|
}
|
|
|
|
.help-screenshot {
|
|
display: flex;
|
|
align-items: center;
|
|
background-color: #fff;
|
|
padding: 20rpx;
|
|
}
|
|
|
|
.help-button {
|
|
display: flex;
|
|
justify-content: center;
|
|
font-size: 24rpx;
|
|
flex-shrink: 0;
|
|
margin-top: 60rpx;
|
|
|
|
view {
|
|
padding: 14rpx 120rpx;
|
|
border-radius: 38rpx;
|
|
}
|
|
|
|
view:nth-child(1) {
|
|
background: $uni-color;
|
|
color: #fff;
|
|
}
|
|
|
|
view:nth-child(2) {
|
|
color: #FFFDF6;
|
|
background-color: #C83741;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|