酒店桌布为微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

322 lines
5.9 KiB

<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>