jiuyiUniapp/jiuyi/pages/shop/refund/index.vue

204 lines
6.0 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- 申请退货退款 -->
<template>
<view class="jy-return-refund">
<!-- 商品信息 -->
<JyCommodityInformation :showType="1" class="mb20"></JyCommodityInformation>
<uni-section>
<template v-slot:decoration>
<text class="decoration">申请类型</text>
</template>
<template v-slot:content>
<text class="content">我要退款无需退货</text>
</template>
<template v-slot:right>
<uni-icons type="right"></uni-icons>
</template>
</uni-section>
<uni-section class="mb20" @click="reasonPopup.open()">
<template v-slot:decoration>
<text class="decoration">申请原因</text>
</template>
<template v-slot:content>
<text :class="['content', !postData.reason && 'noContent']">{{ postData.reason ? postData.reason :
'点击选择申请原因' }}</text>
</template>
<template v-slot:right>
<uni-icons type="right"></uni-icons>
</template>
</uni-section>
<uni-section class="application_amount mb20">
<template v-slot:content>
<view class="jy-return-type">
<text class="decoration">申请金额</text>
<view class="df">
<text></text>
<uni-easyinput v-if="!disabled" v-model="postData.priceNum" type="number"
:disabled="disabled"></uni-easyinput>
<text v-else>{{ postData.priceNum }}</text>
</view>
</view>
</template>
<template v-slot:right>
<uni-icons type="compose" @click="changeDisabled">{{ disabled ? '修改金额' : '确定修改' }}</uni-icons>
</template>
</uni-section>
<uni-section class="mb20">
<template v-slot:decoration>
<view class="jy-return-type" style="width: 100%;">
<text class="decoration">申请说明</text>
<view>
<uni-easyinput type="textarea" autoHeight :inputBorder="false" v-model="value"
placeholder="必填,请您详细填写申请说明" maxlength="300"></uni-easyinput>
<uni-file-picker limit="9" class="uni-file-picker" :imageStyles="{
width: '150rpx',
height: '150rpx'
}">
<template v-slot:default>
<image class="wh150" :src="shopUploadImage" mode="aspectFill"></image>
</template>
</uni-file-picker>
</view>
</view>
</template>
</uni-section>
<uni-section>
<template v-slot:decoration>
<text class="decoration">联系电话</text>
</template>
<template v-slot:content>
<text class="decoration">123123213</text>
</template>
</uni-section>
</view>
<uni-popup ref="reasonPopup" type="bottom">
<view class="reason-popup f1 bfff pr">
<view class="title">
<text>请选择申请原因</text>
</view>
<view class="close-btn" @click="reasonPopup.close()">×</view>
<view class="reason-list" v-for="item in reasonList" @click="selectReason(item)">
<text class="label">{{ item.label }}</text>
</view>
</view>
</uni-popup>
<JyBottomBtn @click="postApi">提交申请</JyBottomBtn>
</template>
<script setup>
import { ref, reactive } from 'vue'
import JyCommodityInformation from '@/components/public/jy-commodity-information'
import shopUploadImage from '@/static/shop-upload-image.png'
import JyBottomBtn from '@/components/public/jy-bottom-button'
const value = ref(null)
const reasonPopup = ref(null)
const disabled = ref(true)
const postData = reactive({
reason: '',
priceNum: 5.99,
content: ''
})
const postApi = () => {
console.log('我是提交');
}
const selectReason = (val) => {
postData.reason = val.label
reasonPopup.value.close()
}
const reasonList = [
{ label: '缺货' },
{ label: '不想要了' },
{ label: '价格太贵' },
{ label: '其他' },
]
const changeDisabled = () => {
disabled.value = !disabled.value
if (postData.priceNum === null) {
postData.priceNum = 5.99
}
}
</script>
<style scoped lang="scss">
.jy-return-refund {
padding-bottom: 200rpx;
}
.decoration {
font-size: 30rpx;
color: #1D2129;
margin-right: 40rpx;
}
.content {
color: #333333;
font-size: 28rpx;
font-weight: 600;
}
.noContent {
color: #999999;
font-size: 28rpx;
}
.jy-return-type {
font-size: 48rpx;
color: #333333;
}
.application_amount {
::v-deep .uni-section-header {
align-items: flex-end;
}
}
::v-deep .file-picker__box-content {
border: none !important;
margin: 0;
}
::v-deep .uni-file-picker {
padding: none;
}
.uni-file-picker {
background: #ffffff;
padding: 24rpx 20rpx;
}
.reason-popup {
width: 100%;
height: 800rpx;
// 上面两个圆角
border-radius: 30rpx 30rpx 0 0;
.reason-list {
padding: 16rpx 24rpx;
}
.title {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
padding: 20rpx 0;
// 底部边框显示
color: #3D3D3D;
font-weight: 600;
font-size: 32rpx;
}
.close-btn {
position: absolute;
top: 40rpx;
right: 40rpx;
height: 52rpx;
line-height: 52rpx;
width: 52rpx;
color: #999999;
font-size: 40rpx;
display: flex;
justify-content: center;
align-items: center;
transform: translate(50%, -50%);
}
}
</style>