作者 韩昌

修改:评论

... ... @@ -166,6 +166,12 @@ const getOrderPays = async () => {
proxy.$methods.pay(res)
canclePop()
console.log('getOrderPay', res)
if (defaultMode.value === 1) {
uni.showToast({ title: '支付成功', icon: 'none' })
setTimeout(() => {
uni.navigateBack()
}, 1500)
}
// 保存数据
} catch (err) {
uni.showToast({ title: err, icon: 'none' })
... ...
... ... @@ -32,7 +32,8 @@
<view class="topBox flexJ">
<view class="titles">
<view class="title">特价专区</view>
<text>Special price zone</text>
<!-- <text>Special price zone</text> -->
<text>SPECIAL PRICE ZONE</text>
</view>
<view class="more flexA" @click="toBargainPriceMoreHandler">
更多
... ...
... ... @@ -33,7 +33,7 @@
<image src="/static/indexIc/orangeRight.png" mode=""></image>
</view>
</view>
<view v-if="commentList.length > 0">
<view v-if="commentList.length">
<comment :commentList="commentList"></comment>
</view>
<!-- 暂无评论 -->
... ... @@ -155,7 +155,7 @@ const getShopDetailes = async id => {
moreSpec.value = res.specData //多规格
shopType.value = res.detail.goodstatus //商品类型
value.value = res.cartNum
console.log('getShopDetaile', res)
// console.log('评论数据', commentList.value)
// 保存数据
} catch (err) {
uni.showToast({ title: err, icon: 'none' })
... ...
... ... @@ -36,29 +36,39 @@ import { onShow, onLoad } from '@dcloudio/uni-app'
import { getComment } from '@/api/'
const count = ref(5) //最高可选星星数
const value = ref(0) //星星选中数
let photoList = reactive([]) //图片
let photoList = reactive([]) // 显示图片
const imgList = ref([])
let desc = ref('') //评论
const { proxy } = getCurrentInstance() //获取当前实例
// 提交评论
const submit = () => {
getComments()
}
const evaluateOrderId = ref(0) // 评价订单 id
onLoad(e => {
evaluateOrderId.value = e.id
})
// 上传图片
const addPhoto = () =>
proxy.$methods.upload('http://health.shs.broing.cn/api/common/upload', imgUrl => {
console.log('返回图片', imgUrl)
imgList.value.push(imgUrl.upImg)
photoList.push(imgUrl.avatar)
})
// 删除图片
const delPhoto = index => {
imgList.value.splice(index, 1)
photoList.splice(index, 1)
}
// 写评论
const getComments = async () => {
try {
let params = {
goods_id: 86, //integer 否 商品id
image: photoList.join(','), //string 是 图片
id: evaluateOrderId.value,
image: imgList.value.join(','), //string 是 图片
content: desc.value //integer 否 内容
}
const res = await getComment(params)
... ...
<template>
<view>
<u-navbar title="我的" bgColor="transparent"></u-navbar>
<view class="topBgBox">
<view class="name flexA">
<!-- <image src="../../static/logo.png" mode=""></image>
<view>
<u-navbar title="我的" bgColor="transparent"></u-navbar>
<view class="topBgBox">
<view class="name flexA">
<!-- <image src="../../static/logo.png" mode=""></image>
<text>阅读</text> -->
<view class="avatar">
<open-data type="userAvatarUrl"></open-data>
</view>
<view class="nicName">
<open-data type="userNickName"></open-data>
</view>
</view>
<view class="vipBox">
<image class="blackBg" src="/static/mineIc/blackBg.png" mode=""></image>
<view class="vip flexJ">
<view>
<view class="title flexA">
<image src="/static/mineIc/Vector.png" mode=""></image>
会员中心
</view>
<view class="tip">充值会员享更多权益</view>
</view>
<view class="btn flexC" @click="toRecharg">立即充值</view>
</view>
</view>
</view>
<view class="mainBox">
<view class="orderClass">
<view class="classTitle flexJ" @click="orderStatus(5)">
<view class="my">我的订单</view>
<view class="all flexA">
全部
<image src="/static/mineIc/gayRight.png" mode=""></image>
</view>
</view>
<view class="classBox flexJ">
<view class="items flexV" v-for="(item,index) in classList" :key="item.id" @click="orderStatus(index)">
<view class="badge">
<u-badge absolute :offset="[-4,-10]" color="#FFFFFF" bgColor="#F74637" max="99"
:value="item.num"></u-badge>
<image :src="item.ic" mode=""></image>
</view>
<text>{{item.name}}</text>
</view>
</view>
</view>
<view class="functionBox">
<view class="item flexJ" v-for="(item,index) in functionList" :key="item.id" @click="functionC(index)">
<view class="itemIc flexA">
<image :src="item.ic" mode=""></image>
<text>{{item.name}}</text>
</view>
<image src="/static/mineIc/gayRight.png" mode=""></image>
</view>
<view class="myService flexJ">
<view class="service flexA">
<image src="/static/indexIc/service.png" mode=""></image>
<text>我的客服</text>
</view>
<image src="/static/mineIc/gayRight.png" mode=""></image>
<button open-type="contact"></button>
</view>
</view>
</view>
</view>
<view class="avatar">
<open-data type="userAvatarUrl"></open-data>
</view>
<view class="nicName">
<open-data type="userNickName"></open-data>
</view>
</view>
<view class="vipBox">
<image class="blackBg" src="/static/mineIc/blackBg.png" mode=""></image>
<view class="vip flexJ">
<view>
<view class="title flexA">
<image src="/static/mineIc/Vector.png" mode=""></image>
会员中心
</view>
<view class="tip">充值会员享更多权益</view>
</view>
<view class="btn flexC" @click="toRecharg">立即充值</view>
</view>
</view>
</view>
<view class="mainBox">
<view class="orderClass">
<view class="classTitle flexJ" @click="orderStatus(5)">
<view class="my">我的订单</view>
<view class="all flexA">
全部
<image src="/static/mineIc/gayRight.png" mode=""></image>
</view>
</view>
<view class="classBox flexJ">
<view class="items flexV" v-for="(item, index) in classList" :key="item.id" @click="orderStatus(index)">
<view class="badge">
<u-badge absolute :offset="[-4, -10]" color="#FFFFFF" bgColor="#F74637" max="99" :value="item.num"></u-badge>
<image :src="item.ic" mode=""></image>
</view>
<text>{{ item.name }}</text>
</view>
</view>
</view>
<view class="functionBox">
<view class="item flexJ" v-for="(item, index) in functionList" :key="item.id" @click="functionC(index)">
<view class="itemIc flexA">
<image :src="item.ic" mode=""></image>
<text>{{ item.name }}</text>
</view>
<image src="/static/mineIc/gayRight.png" mode=""></image>
</view>
<view class="myService flexJ">
<view class="service flexA">
<image src="/static/indexIc/service.png" mode=""></image>
<text>我的客服</text>
</view>
<image src="/static/mineIc/gayRight.png" mode=""></image>
<button open-type="contact"></button>
</view>
</view>
</view>
</view>
</template>
<script setup>
import { ref,reactive} from 'vue'
import {onShow,onLoad} from '@dcloudio/uni-app'
import { getMine } from '@/api/'
onShow(()=>{
getMines()
})
let classList = reactive([{id:1,name:'待付款',num:0,ic:'/static/mineIc/obligation.png'},
{id:2,name:'待发货',num:0,ic:'/static/mineIc/shipped.png'},
{id:3,name:'待收货',num:0,ic:'/static/mineIc/received.png'},
{id:4,name:'待评价',num:0,ic:'/static/mineIc/evaluated.png'},
{id:5,name:'售后',num:0,ic:'/static/mineIc/afterSales.png'}])
let functionList = reactive([{id:1,name:'我的余额',ic:'/static/mineIc/balance.png'},
{id:2,name:'我的积分',ic:'/static/mineIc/collect.png'},
{id:3,name:'我的地址',ic:'/static/mineIc/addressBlack.png'}])
let info = ref({})
// 订单跳转
const orderStatus = (index)=> {
uni.navigateTo({
url:`/pages/mine/myOrder?status=${index==5 ? 0 : Number(index) + 1}`
})
}
// 功能跳转
const functionC = (index)=> {
// uni.navigateTo({
// url:'/pages/mine/' + ( index < 2 ? 'myPoints' : index==1 ? 'myCollection' :'myAddress' )
// })
if(index < 2) {
uni.navigateTo({
url:`/pages/mine/myPoints?type=${index}`
})
} else {
uni.navigateTo({
url:'/pages/mine/myAddress'
})
}
}
// 跳转充值中心
const toRecharg = ()=> {
uni.navigateTo({
url:'/pages/mine/recharge'
})
}
// 个人信息
const getMines = async ()=>{
try {
const res = await getMine()
classList[0].num = res.dfk
classList[1].num = res.dfh
classList[2].num = res.dsh
classList[3].num = res.ywc
classList[4].num = res.yth
info.value = res.userInfo
console.log('getMine', res)
// 保存数据
} catch (err) {
uni.showToast({ title:err,icon:'none' })
console.log('getMine', err)
}
}
import { ref, reactive } from 'vue'
import { onShow, onLoad } from '@dcloudio/uni-app'
import { getMine } from '@/api/'
onShow(() => {
getMines()
})
let classList = reactive([
{ id: 1, name: '待付款', num: 0, ic: '/static/mineIc/obligation.png' },
{ id: 2, name: '待发货', num: 0, ic: '/static/mineIc/shipped.png' },
{ id: 3, name: '待收货', num: 0, ic: '/static/mineIc/received.png' },
{ id: 4, name: '待评价', num: 0, ic: '/static/mineIc/evaluated.png' },
{ id: 5, name: '售后', num: 0, ic: '/static/mineIc/afterSales.png' }
])
let functionList = reactive([
{ id: 1, name: '我的余额', ic: '/static/mineIc/balance.png' },
{ id: 2, name: '我的积分', ic: '/static/mineIc/collect.png' },
{ id: 3, name: '我的地址', ic: '/static/mineIc/addressBlack.png' }
])
let info = ref({})
// 订单跳转
const orderStatus = index => {
uni.navigateTo({
url: `/pages/mine/myOrder?status=${index == 5 ? 0 : Number(index) + 1}`
})
}
// 功能跳转
const functionC = index => {
// uni.navigateTo({
// url:'/pages/mine/' + ( index < 2 ? 'myPoints' : index==1 ? 'myCollection' :'myAddress' )
// })
if (index < 2) {
uni.navigateTo({
url: `/pages/mine/myPoints?type=${index}`
})
} else {
uni.navigateTo({
url: '/pages/mine/myAddress'
})
}
}
// 跳转充值中心
const toRecharg = () => {
uni.navigateTo({
url: '/pages/mine/recharge'
})
}
// 个人信息
const getMines = async () => {
try {
const res = await getMine()
classList[0].num = res.dfk
classList[1].num = res.dfh
classList[2].num = res.dsh
classList[3].num = res.dpj
classList[4].num = res.yth
info.value = res.userInfo
console.log('getMine', res)
// 保存数据
} catch (err) {
uni.showToast({ title: err, icon: 'none' })
console.log('getMine', err)
}
}
</script>
<style lang="scss">
.u-icon__icon {
display: none !important;
}
page {
background-color: #F6F8FA;
}
.topBgBox {
width: 100%;
height: 520rpx;
padding: 202rpx 24rpx 26rpx;
box-sizing: border-box;
opacity: 1;
background: linear-gradient(180deg, #ffece3ff 0%, #f7f8faff 100%);
.name {
margin-bottom: 32rpx;
.avatar {
overflow: hidden;
margin-right: 40rpx;
width: 120rpx;
height: 120rpx;
border-radius: 50% !important;
}
.nicName {
color: #000000e6;
font-size: 40rpx;
font-weight: 700;
}
}
.vipBox {
position: relative;
width: 702rpx;
height: 140rpx;
.blackBg {
width: 100%;
height: 100%;
}
.vip {
width: 642rpx;
position: absolute;
top: 28rpx;
left: 28rpx;
.title {
color: #ffdcb5ff;
font-size: 30rpx;
font-weight: 700;
image {
margin-right: 8rpx;
width: 58rpx;
height: 26rpx;
}
}
.btn {
width: 136rpx;
height: 56rpx;
border-radius: 34rpx;
color: #361e0dff;
font-size: 26rpx;
font-weight: 700;
background: linear-gradient(142.6deg, #fbcd9bff 0%, #ebc295ff 100%);
box-shadow: inset 0 -6rpx 8rpx 0 #9760217d;
}
.tip {
color: #ffffffb3;
font-size: 22rpx;
margin-top: 16rpx;
}
}
}
}
.mainBox {
width: 100%;
padding: 0 24rpx;
box-sizing: border-box;
.orderClass {
width: 100%;
padding: 28rpx 24rpx;
box-sizing: border-box;
background: #fff;
.classTitle {
margin-bottom: 28rpx;
.my {
color: #323233ff;
font-size: 30rpx;
font-weight: 700;
}
.all {
color: #969799ff;
font-size: 26rpx;
image {
margin: 4rpx 0 0 12rpx;
width: 16rpx;
height: 32rpx;
}
}
}
.classBox {
.items {
.badge {
position: relative;
image {
width: 48rpx;
height: 48rpx;
margin-bottom: 16rpx;
}
}
text {
color: #646566ff;
font-size: 24rpx;
}
}
}
}
.functionBox {
width: 100%;
padding: 0 32rpx 0 24rpx;
box-sizing: border-box;
border-radius: 34rpx;
margin-top: 24rpx;
background-color: #fff;
.item {
width: 100%;
height: 104rpx;
.itemIc {
text {
color: #000000e6;
font-size: 28rpx;
}
image {
margin-right: 24rpx;
width: 36rpx;
height: 36rpx;
}
}
image {
width: 16rpx;
height: 32rpx;
}
}
.myService {
position: relative;
width: 100%;
height: 104rpx;
.service {
image {
margin-right: 24rpx;
width: 36rpx;
height: 36rpx;
}
text {
color: #000000e6;
font-size: 28rpx;
}
}
button {
position: absolute;
width: 100%;
height: 100%;
background-color: transparent;
&::after {
border: none;
}
}
image {
width: 16rpx;
height: 32rpx;
}
}
}
}
.u-icon__icon {
display: none !important;
}
page {
background-color: #f6f8fa;
}
.topBgBox {
width: 100%;
height: 520rpx;
padding: 202rpx 24rpx 26rpx;
box-sizing: border-box;
opacity: 1;
background: linear-gradient(180deg, #ffece3ff 0%, #f7f8faff 100%);
.name {
margin-bottom: 32rpx;
.avatar {
overflow: hidden;
margin-right: 40rpx;
width: 120rpx;
height: 120rpx;
border-radius: 50% !important;
}
.nicName {
color: #000000e6;
font-size: 40rpx;
font-weight: 700;
}
}
.vipBox {
position: relative;
width: 702rpx;
height: 140rpx;
.blackBg {
width: 100%;
height: 100%;
}
.vip {
width: 642rpx;
position: absolute;
top: 28rpx;
left: 28rpx;
.title {
color: #ffdcb5ff;
font-size: 30rpx;
font-weight: 700;
image {
margin-right: 8rpx;
width: 58rpx;
height: 26rpx;
}
}
.btn {
width: 136rpx;
height: 56rpx;
border-radius: 34rpx;
color: #361e0dff;
font-size: 26rpx;
font-weight: 700;
background: linear-gradient(142.6deg, #fbcd9bff 0%, #ebc295ff 100%);
box-shadow: inset 0 -6rpx 8rpx 0 #9760217d;
}
.tip {
color: #ffffffb3;
font-size: 22rpx;
margin-top: 16rpx;
}
}
}
}
.mainBox {
width: 100%;
padding: 0 24rpx;
box-sizing: border-box;
.orderClass {
width: 100%;
padding: 28rpx 24rpx;
box-sizing: border-box;
background: #fff;
.classTitle {
margin-bottom: 28rpx;
.my {
color: #323233ff;
font-size: 30rpx;
font-weight: 700;
}
.all {
color: #969799ff;
font-size: 26rpx;
image {
margin: 4rpx 0 0 12rpx;
width: 16rpx;
height: 32rpx;
}
}
}
.classBox {
.items {
.badge {
position: relative;
image {
width: 48rpx;
height: 48rpx;
margin-bottom: 16rpx;
}
}
text {
color: #646566ff;
font-size: 24rpx;
}
}
}
}
.functionBox {
width: 100%;
padding: 0 32rpx 0 24rpx;
box-sizing: border-box;
border-radius: 34rpx;
margin-top: 24rpx;
background-color: #fff;
.item {
width: 100%;
height: 104rpx;
.itemIc {
text {
color: #000000e6;
font-size: 28rpx;
}
image {
margin-right: 24rpx;
width: 36rpx;
height: 36rpx;
}
}
image {
width: 16rpx;
height: 32rpx;
}
}
.myService {
position: relative;
width: 100%;
height: 104rpx;
.service {
image {
margin-right: 24rpx;
width: 36rpx;
height: 36rpx;
}
text {
color: #000000e6;
font-size: 28rpx;
}
}
button {
position: absolute;
width: 100%;
height: 100%;
background-color: transparent;
&::after {
border: none;
}
}
image {
width: 16rpx;
height: 32rpx;
}
}
}
}
</style>
... ...
<template>
<!-- 我的地址列表 -->
<view>
<u-navbar placeholder title="我的地址" bgColor="#fff" :autoBack="true"></u-navbar>
<view class="mainBox">
<view class="addressBox" v-for="item in addressList" :key="item.id" @click="checkAddress(item)">
<view class="topBox flexJ">
<view class="nameBox flexA">
<image src="/static/mineIc/redAddress.png" mode=""></image>
<view class="name">{{item.name}}</view>
<text>{{item.mobile}}</text>
</view>
<view class="rightIc flexA">
<image @click.stop="del(item.id)" src="/static/mineIc/delAddress.png" mode=""></image>
<image @click.stop="newAdd(0,item.id)" src="/static/mineIc/edit.png" mode=""></image>
</view>
</view>
<view class="area">
{{item.diqu}}
<test>{{item.address}}</test>
</view>
</view>
</view>
<!-- 地址列表为空 -->
<view class="addressNull flexV" v-if="!addressList">
<image src="/static/mineIc/addressNull.png" mode=""></image>
<text>暂无收货地址</text>
</view>
<view class="btnBox iosAuto">
<view class="btn flexC" @click="newAdd(1)">新建收货地址</view>
</view>
</view>
<!-- 我的地址列表 -->
<view>
<u-navbar placeholder title="我的地址" bgColor="#fff" :autoBack="true"></u-navbar>
<view class="mainBox">
<view class="addressBox" v-for="item in addressList" :key="item.id" @click="checkAddress(item)">
<view class="topBox flexJ">
<view class="nameBox flexA">
<image src="/static/mineIc/redAddress.png" mode=""></image>
<view class="name">{{ item.name }}</view>
<text>{{ item.mobile }}</text>
</view>
<view class="rightIc flexA">
<image @click.stop="del(item.id)" src="/static/mineIc/delAddress.png" mode=""></image>
<image @click.stop="newAdd(0, item.id)" src="/static/mineIc/edit.png" mode=""></image>
</view>
</view>
<view class="area">
{{ item.diqu }}
<test>{{ item.address }}</test>
</view>
</view>
</view>
<!-- 地址列表为空 -->
<view class="addressNull flexV" v-if="!addressList">
<image src="/static/mineIc/addressNull.png" mode=""></image>
<text>暂无收货地址</text>
</view>
<view class="btnBox iosAuto">
<view class="btn flexC" @click="newAdd(1)">新建收货地址</view>
</view>
</view>
</template>
<script setup>
import { ref, reactive } from 'vue'
import {onShow,onLoad} from '@dcloudio/uni-app'
import { getAdressList,getDelAdres } from '@/api/'
onShow(()=>{
getAdressLists() //地址列表
})
onLoad((e)=> {
isCheck.value = e.isCheck //是否选这地址
})
const addressList = ref([])
//type==0 修改地址 - 新建地址
const newAdd = (type,id)=> {
uni.navigateTo({
url:`/pages/mine/newAddress?id=${type == 0 ? id :''}`
})
}
let isCheck = ref(0)
// 选这地址
const checkAddress = (item)=> {
if(isCheck.value == 1) {
const pop = getCurrentPages().pop();
pop.$vm.getOpenerEventChannel().emit("steBack", item)
uni.navigateBack()
}
}
const del = (id)=> {
uni.showModal({
title: '提示',
content: '确认删除此地址吗',
success: function (res) {
if (res.confirm) {
getDelAdress(id)
}
}
});
}
// 删除地址
const getDelAdress = async (ids)=> {
try {
const res = await getDelAdres(ids)
uni.showToast({ title:'删除成功!',icon:'none' })
getAdressLists()
console.log('getDelAdres', res)
// 保存数据
} catch (err) {
console.log('getDelAdres', err)
}
}
// 获取地址列表
const getAdressLists = async ()=>{
try {
const res = await getAdressList()
addressList.value = res
let defaultAdres = res.find(item=>item.is_default == 1) //默认地址
uni.setStorageSync('defaultAdres',defaultAdres)
console.log('getAdressList', res)
// 保存数据
} catch (err) {
uni.showToast({ title:err,icon:'none' })
console.log('getAdressList', err)
}
}
import { ref, reactive } from 'vue'
import { onShow, onLoad } from '@dcloudio/uni-app'
import { getAdressList, getDelAdres } from '@/api/'
const addressList = ref([])
onShow(() => {
addressList.value.splice(0)
getAdressLists() //地址列表
})
onLoad(e => {
isCheck.value = e.isCheck //是否选这地址
})
//type==0 修改地址 - 新建地址
const newAdd = (type, id) => {
console.log(type, id, 'type id是什么')
uni.navigateTo({
url: `/pages/mine/newAddress?id=${type == 0 ? id : ''}`
})
}
let isCheck = ref(0)
// 选这地址
const checkAddress = item => {
if (isCheck.value == 1) {
const pop = getCurrentPages().pop()
pop.$vm.getOpenerEventChannel().emit('steBack', item)
uni.navigateBack()
}
}
const del = id => {
uni.showModal({
title: '提示',
content: '确认删除此地址吗',
success: function (res) {
if (res.confirm) {
getDelAdress(id)
}
}
})
}
// 删除地址
const getDelAdress = async ids => {
try {
const res = await getDelAdres(ids)
uni.showToast({ title: '删除成功!', icon: 'none' })
getAdressLists()
console.log('getDelAdres', res)
// 保存数据
} catch (err) {
console.log('getDelAdres', err)
}
}
// 获取地址列表
const getAdressLists = async () => {
try {
const res = await getAdressList()
addressList.value = res
let defaultAdres = res.find(item => item.is_default == 1) //默认地址
uni.setStorageSync('defaultAdres', defaultAdres)
console.log('getAdressList', res)
// 保存数据
} catch (err) {
uni.showToast({ title: err, icon: 'none' })
console.log('getAdressList', err)
}
}
</script>
<style lang="scss">
.mainBox {
background: #f8f9feff;
.addressBox {
width: 100%;
padding: 44rpx 32rpx;
box-sizing: border-box;
background: #fff;
margin-bottom: 12rpx;
.topBox {
margin-bottom: 18rpx;
.nameBox {
image {
width: 32rpx;
height: 32rpx;
}
.name {
color: #000000cc;
font-size: 32rpx;
font-weight: 700;
margin: 0 20rpx;
}
text {
color: #000000cc;
font-size: 28rpx;
font-weight: 700;
}
}
.rightIc {
image {
margin-left: 32rpx;
width: 36rpx;
height: 36rpx;
}
}
}
.area {
color: #00000066;
font-size: 26rpx;
text {
margin-left: 8rpx;
}
}
}
}
.addressNull {
margin-top: 266rpx;
image {
width: 266rpx;
height: 266rpx;
}
text {
color: #00000066;
font-size: 26rpx;
}
}
.btnBox {
position: fixed;
left: 0;
bottom: 0;
background: #fff;
width: 100%;
height: 120rpx;
.btn {
width: 686rpx;
height: 88rpx;
border-radius: 12rpx;
color: #ffffffff;
font-size: 32rpx;
font-weight: 700;
margin: 0 auto;
background: linear-gradient(139deg, #fb753cff 0%, #fb3e3cff 100%);
}
}
.mainBox {
background: #f8f9feff;
.addressBox {
width: 100%;
padding: 44rpx 32rpx;
box-sizing: border-box;
background: #fff;
margin-bottom: 12rpx;
.topBox {
margin-bottom: 18rpx;
.nameBox {
image {
width: 32rpx;
height: 32rpx;
}
.name {
color: #000000cc;
font-size: 32rpx;
font-weight: 700;
margin: 0 20rpx;
}
text {
color: #000000cc;
font-size: 28rpx;
font-weight: 700;
}
}
.rightIc {
image {
margin-left: 32rpx;
width: 36rpx;
height: 36rpx;
}
}
}
.area {
color: #00000066;
font-size: 26rpx;
text {
margin-left: 8rpx;
}
}
}
}
.addressNull {
margin-top: 266rpx;
image {
width: 266rpx;
height: 266rpx;
}
text {
color: #00000066;
font-size: 26rpx;
}
}
.btnBox {
position: fixed;
left: 0;
bottom: 0;
background: #fff;
width: 100%;
height: 120rpx;
.btn {
width: 686rpx;
height: 88rpx;
border-radius: 12rpx;
color: #ffffffff;
font-size: 32rpx;
font-weight: 700;
margin: 0 auto;
background: linear-gradient(139deg, #fb753cff 0%, #fb3e3cff 100%);
}
}
</style>
... ...
... ... @@ -77,7 +77,7 @@ onLoad(e => {
})
onShow(() => {
console.log('订单状态', tabStatus.value)
getOrderLists(tabStatus.value == 5 ? 21 : tabStatus.value * 1)
getOrderLists(tabStatus.value == 5 ? 21 : tabStatus.value == 4 ? 5 : tabStatus.value * 1)
})
let tabStatus = ref(0) //订单状态
let orderList = ref([]) //订单
... ... @@ -94,7 +94,7 @@ const operateOrder = (item, type) => {
getReceipts() //确认收货
} else if (type == 4) {
uni.navigateTo({
url: '/pages/mine/evaluate'
url: `/pages/mine/evaluate?id=${item.id}`
})
} else if (type == 5) {
toDetaile(item.id)
... ... @@ -134,7 +134,7 @@ const click = e => {
console.log(e)
getOrderLists(e.index == 5 ? 21 : e.index == 4 ? 5 : e.index)
}
//订单状态: 0=全部,1=待付款,2=待发货,3=待收货,4=待评价,11=已取消,21=售后
// 订单状态: 0=全部,1=待付款,2=待发货,3=待收货,4=待评价,11=已取消,21=售后
const getOrderLists = async status => {
try {
const res = await getOrderList(status)
... ...
... ... @@ -65,7 +65,7 @@ const getyues = async () => {
const getMoneyDetails = async () => {
try {
const res = await getMoneyDetail()
recordList.value = res.mingxi
recordList.value = res
console.log('getMoneyDetail', res)
// 保存数据
} catch (err) {
... ...
<template>
<!-- 新建地址 -->
<view>
<u-navbar placeholder :title=" editId=='' ? '新建地址' : '修改地址' " bgColor="#f7f8faff" :autoBack="true"></u-navbar>
<view class="formBox flexA" v-for="item in formList" :key="item.id">
<view class="formTitle">{{item.name}}</view>
<input type="text" v-model="item.model" placeholder-class="gay" :placeholder="item.place" v-if="item.type == 'input'">
<view class="checkBox flexJ" :class="item.model!= ''? 'black' :'' " v-else @click="showPop">
<text>{{item.model == '' ? '选择地区' : item.model}}</text>
<image src="/static/mineIc/rightGayS.png" mode=""></image>
</view>
</view>
<view class="formBox flexJ">
<view class="defaults">设置为默认地址</view>
<view class="switch">
<u-switch activeColor="#FB623C" v-model="isDefault" @change="change"></u-switch>
</view>
</view>
<view class="btn flexC" @click="getEdits">保存</view>
<chekcArea @close="close" @popShow="popShow" :shows="shows"></chekcArea>
</view>
<!-- 新建地址 -->
<view>
<u-navbar placeholder :title="editId == '' ? '新建地址' : '修改地址'" bgColor="#f7f8faff" :autoBack="true"></u-navbar>
<view class="formBox flexA" v-for="item in formList" :key="item.id">
<view class="formTitle">{{ item.name }}</view>
<input type="text" v-model="item.model" placeholder-class="gay" :placeholder="item.place" v-if="item.type == 'input'" />
<view class="checkBox flexJ" :class="item.model != '' ? 'black' : ''" v-else @click="showPop">
<text>{{ item.model == '' ? '选择地区' : item.model }}</text>
<image src="/static/mineIc/rightGayS.png" mode=""></image>
</view>
</view>
<view class="formBox flexJ">
<view class="defaults">设置为默认地址</view>
<view class="switch">
<u-switch activeColor="#FB623C" v-model="isDefault" @change="change"></u-switch>
</view>
</view>
<view class="btn flexC" @click="getEdits">保存</view>
<chekcArea @close="close" @popShow="popShow" :shows="shows"></chekcArea>
</view>
</template>
<script setup>
import { ref, reactive } from 'vue'
import {onShow,onLoad} from '@dcloudio/uni-app'
import chekcArea from '@/componets/areaCheck.vue'
import { getEdit,getadresDetail } from '@/api/'
onLoad((e)=> {
editId.value = e.id //修改地址id
console.log('修改地址id',e.id)
if(e.id) {
getadresDetails(e.id) //地址详情
}
})
const formList = reactive([{id:1,name:'收货人',model:'',type:'input',place:'姓名'},
{id:2,name:'手机号',model:'',type:'input',place:'手机号码'},
{id:3,name:'所在地区',model:'',type:'check',place:'选这地区'},
{id:4,name:'详细地址',model:'',type:'input',place:'请填写详细地址'}])
let shows = ref(false)
const showPop = ()=> {
shows.value = true
}
const close = (data)=> {
shows.value = false
}
const popShow = (data)=> {
shows.value = false
formList[2].model = data.join('-')
console.log('省市区数据',data)
}
const isDefault = ref(false)
// 默认地址
const change = (e)=> {
console.log('默认地址', e);
isDefault.value = e
}
// 地址详情
const getadresDetails = async (id)=>{
try {
const res = await getadresDetail(id)
formList[0].model = res.name
formList[1].model = res.mobile
formList[2].model = res.diqu
formList[3].model = res.address
isDefault.value = res.is_default == 1 ? true : false
console.log('getadresDetail', res)
// 保存数据
} catch (err) {
uni.showToast({ title:err,icon:'none' })
console.log('getadresDetail', err)
}
}
let editId = ref('') //修改地址的id
// 修改 / 新建地址
const getEdits = async ()=>{
try {
let params = {
id:editId.value, //integer 否 地址ID—修改时必须
name:formList[0].model, //string 是 姓名
mobile:formList[1].model, //string 是 联系方式
diqu:formList[2].model, //string 是 所在地区
is_default:isDefault.value ? 1 : 0, //string 是 是否为默认地址1是
address:formList[3].model, //string 是 详细地址
}
const res = await getEdit(params)
uni.showToast({ title: editId.value == '' ? '新建地址成功' : '已修改',icon:'none' })
setTimeout(()=> {
uni.navigateBack()
},1000)
console.log('getEdit', res)
// 保存数据
} catch (err) {
uni.showToast({ title:err,icon:'none' })
console.log('getEdit', err)
}
}
import { ref, reactive } from 'vue'
import { onShow, onLoad } from '@dcloudio/uni-app'
import chekcArea from '@/componets/areaCheck.vue'
import { getEdit, getadresDetail } from '@/api/'
onLoad(e => {
editId.value = e.id //修改地址id
console.log('修改地址id', e.id)
if (e.id) {
getadresDetails(e.id) //地址详情
}
})
const formList = reactive([
{ id: 1, name: '收货人', model: '', type: 'input', place: '姓名' },
{ id: 2, name: '手机号', model: '', type: 'input', place: '手机号码' },
{ id: 3, name: '所在地区', model: '', type: 'check', place: '选这地区' },
{ id: 4, name: '详细地址', model: '', type: 'input', place: '请填写详细地址' }
])
let shows = ref(false)
const showPop = () => {
shows.value = true
}
const close = data => {
shows.value = false
}
const popShow = data => {
shows.value = false
formList[2].model = data.join('-')
console.log('省市区数据', data)
}
const isDefault = ref(false)
// 默认地址
const change = e => {
console.log('默认地址', e)
isDefault.value = e
}
// 地址详情
const getadresDetails = async id => {
try {
const res = await getadresDetail(id)
formList[0].model = res.name
formList[1].model = res.mobile
formList[2].model = res.diqu
formList[3].model = res.address
isDefault.value = res.is_default == 1 ? true : false
console.log('getadresDetail', res)
// 保存数据
} catch (err) {
uni.showToast({ title: err, icon: 'none' })
console.log('getadresDetail', err)
}
}
let editId = ref('') //修改地址的id
// 修改 / 新建地址
const getEdits = async () => {
try {
let params = {
id: editId.value, //integer 否 地址ID—修改时必须
name: formList[0].model, //string 是 姓名
mobile: formList[1].model, //string 是 联系方式
diqu: formList[2].model, //string 是 所在地区
is_default: isDefault.value ? 1 : 0, //string 是 是否为默认地址1是
address: formList[3].model //string 是 详细地址
}
const res = await getEdit(params)
uni.showToast({ title: editId.value == '' ? '新建地址成功' : '已修改', icon: 'none' })
setTimeout(() => {
uni.navigateBack()
}, 1000)
console.log('getEdit', res)
// 保存数据
} catch (err) {
uni.showToast({ title: err, icon: 'none' })
console.log('getEdit', err)
}
}
</script>
<style lang="scss">
page {
background: #f7f8faff;
}
page {
background: #f7f8faff;
}
.formBox {
padding: 32rpx;
background: #fff;
.formBox {
padding: 32rpx;
background: #fff;
.formTitle {
min-width: 112rpx;
margin-right: 152rpx;
color: #000000cc;
font-size: 28rpx;
}
input {
color: #000000cc;
font-size: 28rpx;
}
.gay {
color: #00000066;
font-size: 28rpx;
}
.checkBox {
width: 100%;
color: #00000066;
font-size: 28rpx;
image {
width: 24rpx;
height: 24rpx;
}
}
.black {
color: #000000cc;
font-size: 28rpx;
}
.defaults {
color: #000000cc;
font-size: 28rpx;
font-weight: 700;
}
}
.btn {
width: 686rpx;
height: 88rpx;
border-radius: 12rpx;
color: #ffffffff;
font-size: 32rpx;
font-weight: 700;
margin: 188rpx auto 0;
background: linear-gradient(139deg, #fb753cff 0%, #fb3e3cff 100%);
}
.formTitle {
min-width: 112rpx;
margin-right: 152rpx;
color: #000000cc;
font-size: 28rpx;
}
input {
color: #000000cc;
font-size: 28rpx;
}
.gay {
color: #00000066;
font-size: 28rpx;
}
.checkBox {
width: 100%;
color: #00000066;
font-size: 28rpx;
image {
width: 24rpx;
height: 24rpx;
}
}
.black {
color: #000000cc;
font-size: 28rpx;
}
.defaults {
color: #000000cc;
font-size: 28rpx;
font-weight: 700;
}
}
.btn {
width: 686rpx;
height: 88rpx;
border-radius: 12rpx;
color: #ffffffff;
font-size: 32rpx;
font-weight: 700;
margin: 188rpx auto 0;
background: linear-gradient(139deg, #fb753cff 0%, #fb3e3cff 100%);
}
</style>
... ...
... ... @@ -46,7 +46,15 @@
<view v-if="btnType == 1 || btnType == 3" class="red flexC" @click="btns(1)">{{ btnType == 1 ? '立即支付' : '确认收货' }}</view>
</view>
<!-- 选择支付方式 -->
<payMode @canclePop="modeShow = false" :orderId="orderId" :isOrderPay="true" :totalPrice="orderList.total_price" :modeShow="modeShow"></payMode>
<payMode
@canclePop="modeShow = false"
:balance="balance"
:orderId="orderId"
:isOrderPay="true"
:totalPrice="orderList.total_price"
:modeShow="modeShow"
></payMode>
<!-- 提示弹窗 -->
<tipPops @pointsBtns="pointsBtns" :integral="integral" :tipType="tipType" :tipShow="tipShow"></tipPops>
</view>
... ... @@ -59,7 +67,7 @@ import shopAddres from '@/componets/address.vue'
import orderShops from '@/componets/orderShop.vue'
import tipPops from '@/componets/tipPop.vue'
import PayMode from '@/componets/checkPayMode.vue'
import { getOrderdetail, getCancleOrder, getRefund, getReceipt } from '@/api/'
import { getOrderdetail, getCancleOrder, getRefund, getReceipt, getyue } from '@/api/'
onLoad(e => {
console.log(e.id)
orderId.value = e.id
... ... @@ -72,6 +80,7 @@ let orderId = ref('') //订单id
let btnType = ref(1) //按钮状态
let integral = ref(0) //积分
let tipType = ref(1) //1取消支付 2取消订单
let balance = ref(0) //余额
let placeOrder = ref([
{ id: 1, name: '订单编号', text: '1212' },
{ id: 2, name: '支付方式', text: '1212' },
... ... @@ -79,6 +88,21 @@ let placeOrder = ref([
{ id: 4, name: '快递编号', text: '1212' }
])
onShow(() => {
getyues()
})
const getyues = async () => {
try {
const res = await getyue()
balance.value = res.money
// 保存数据
} catch (err) {
uni.showToast({ title: err, icon: 'none' })
console.log('getyue', err)
}
}
const leftClickHandler = () => {
// const pages = getCurrentPages()
// const page = pages[pages.length - 2]
... ...
... ... @@ -134,6 +134,12 @@ const _sfc_main = {
proxy.$methods.pay(res);
canclePop();
console.log("getOrderPay", res);
if (defaultMode.value === 1) {
common_vendor.index.showToast({ title: "\u652F\u4ED8\u6210\u529F", icon: "none" });
setTimeout(() => {
common_vendor.index.navigateBack();
}, 1500);
}
} catch (err) {
common_vendor.index.showToast({ title: err, icon: "none" });
console.log("getOrderPay", err);
... ...
<view><u-navbar wx:if="{{a}}" u-s="{{['left']}}" u-i="0a7f8b7d-0" bind:__l="__l" u-p="{{a}}"><view class="u-nav-slot" slot="left">大健康商城</view></u-navbar><view class="topBgBox"><image src="/static/indexIc/topBg.png" mode=""></image><view class="searchBox"><search u-i="0a7f8b7d-1" bind:__l="__l"></search><view class="vip flexC" bindtap="{{b}}"><image src="/static/indexIc/vip.png" mode=""></image></view></view></view><view class="classBox"><view wx:for="{{c}}" wx:for-item="item" wx:key="c" class="itemClss flexV" bindtap="{{item.d}}"><image src="{{item.a}}" mode=""></image><text>{{item.b}}</text></view><view class="itemClss flexV" bindtap="{{d}}"><image src="/static/indexIc/classIc.png" mode=""></image><text>更多</text></view></view><view class="specialOffer"><image class="pinkBg" src="/static/indexIc/pinkBg.png" mode=""></image><view class="special"><view class="topBox flexJ"><view class="titles"><view class="title">特价专区</view><text>Special price zone</text></view><view class="more flexA" bindtap="{{e}}"> 更多 <image src="/static/indexIc/orangeRight.png" mode=""></image></view></view><view class="shop"><shops wx:if="{{f}}" u-i="0a7f8b7d-2" bind:__l="__l" u-p="{{f}}"></shops></view></view></view><view class="recom flexA"><image src="/static/indexIc/recommendIc.png" mode=""></image> 推荐商品 <text>限时限量好物推荐</text></view><view class="recomBox"><shops wx:if="{{g}}" u-i="0a7f8b7d-3" bind:__l="__l" u-p="{{g}}"></shops></view></view>
\ No newline at end of file
<view><u-navbar wx:if="{{a}}" u-s="{{['left']}}" u-i="0a7f8b7d-0" bind:__l="__l" u-p="{{a}}"><view class="u-nav-slot" slot="left">大健康商城</view></u-navbar><view class="topBgBox"><image src="/static/indexIc/topBg.png" mode=""></image><view class="searchBox"><search u-i="0a7f8b7d-1" bind:__l="__l"></search><view class="vip flexC" bindtap="{{b}}"><image src="/static/indexIc/vip.png" mode=""></image></view></view></view><view class="classBox"><view wx:for="{{c}}" wx:for-item="item" wx:key="c" class="itemClss flexV" bindtap="{{item.d}}"><image src="{{item.a}}" mode=""></image><text>{{item.b}}</text></view><view class="itemClss flexV" bindtap="{{d}}"><image src="/static/indexIc/classIc.png" mode=""></image><text>更多</text></view></view><view class="specialOffer"><image class="pinkBg" src="/static/indexIc/pinkBg.png" mode=""></image><view class="special"><view class="topBox flexJ"><view class="titles"><view class="title">特价专区</view><text>SPECIAL PRICE ZONE</text></view><view class="more flexA" bindtap="{{e}}"> 更多 <image src="/static/indexIc/orangeRight.png" mode=""></image></view></view><view class="shop"><shops wx:if="{{f}}" u-i="0a7f8b7d-2" bind:__l="__l" u-p="{{f}}"></shops></view></view></view><view class="recom flexA"><image src="/static/indexIc/recommendIc.png" mode=""></image> 推荐商品 <text>限时限量好物推荐</text></view><view class="recomBox"><shops wx:if="{{g}}" u-i="0a7f8b7d-3" bind:__l="__l" u-p="{{g}}"></shops></view></view>
\ No newline at end of file
... ...
... ... @@ -77,7 +77,6 @@ const _sfc_main = {
moreSpec.value = res.specData;
shopType.value = res.detail.goodstatus;
value.value = res.cartNum;
console.log("getShopDetaile", res);
} catch (err) {
common_vendor.index.showToast({ title: err, icon: "none" });
console.log("", err);
... ... @@ -111,8 +110,8 @@ const _sfc_main = {
}, common_vendor.unref(commentList).length > 0 ? {
k: common_vendor.o(seeAll)
} : {}, {
l: common_vendor.unref(commentList).length > 0
}, common_vendor.unref(commentList).length > 0 ? {
l: common_vendor.unref(commentList).length
}, common_vendor.unref(commentList).length ? {
m: common_vendor.p({
commentList: common_vendor.unref(commentList)
})
... ...
... ... @@ -17,23 +17,30 @@ const _sfc_main = {
const count = common_vendor.ref(5);
const value = common_vendor.ref(0);
let photoList = common_vendor.reactive([]);
const imgList = common_vendor.ref([]);
let desc = common_vendor.ref("");
const { proxy } = common_vendor.getCurrentInstance();
const submit = () => {
getComments();
};
const evaluateOrderId = common_vendor.ref(0);
common_vendor.onLoad((e) => {
evaluateOrderId.value = e.id;
});
const addPhoto = () => proxy.$methods.upload("http://health.shs.broing.cn/api/common/upload", (imgUrl) => {
console.log("\u8FD4\u56DE\u56FE\u7247", imgUrl);
imgList.value.push(imgUrl.upImg);
photoList.push(imgUrl.avatar);
});
const delPhoto = (index) => {
imgList.value.splice(index, 1);
photoList.splice(index, 1);
};
const getComments = async () => {
try {
let params = {
goods_id: 86,
image: photoList.join(","),
id: evaluateOrderId.value,
image: imgList.value.join(","),
content: desc.value
};
const res = await api_index.getComment(params);
... ...
... ... @@ -57,7 +57,7 @@ const _sfc_main = {
classList[0].num = res.dfk;
classList[1].num = res.dfh;
classList[2].num = res.dsh;
classList[3].num = res.ywc;
classList[3].num = res.dpj;
classList[4].num = res.yth;
info.value = res.userInfo;
console.log("getMine", res);
... ...
... ... @@ -28,7 +28,7 @@
display: none !important;
}
page {
background-color: #F6F8FA;
background-color: #f6f8fa;
}
.topBgBox {
width: 100%;
... ...
... ... @@ -13,14 +13,16 @@ if (!Math) {
}
const _sfc_main = {
setup(__props) {
const addressList = common_vendor.ref([]);
common_vendor.onShow(() => {
addressList.value.splice(0);
getAdressLists();
});
common_vendor.onLoad((e) => {
isCheck.value = e.isCheck;
});
const addressList = common_vendor.ref([]);
const newAdd = (type, id) => {
console.log(type, id, "type id\u662F\u4EC0\u4E48");
common_vendor.index.navigateTo({
url: `/pages/mine/newAddress?id=${type == 0 ? id : ""}`
});
... ...
... ... @@ -24,7 +24,7 @@ const _sfc_main = {
});
common_vendor.onShow(() => {
console.log("\u8BA2\u5355\u72B6\u6001", tabStatus.value);
getOrderLists(tabStatus.value == 5 ? 21 : tabStatus.value * 1);
getOrderLists(tabStatus.value == 5 ? 21 : tabStatus.value == 4 ? 5 : tabStatus.value * 1);
});
let tabStatus = common_vendor.ref(0);
let orderList = common_vendor.ref([]);
... ... @@ -40,7 +40,7 @@ const _sfc_main = {
getReceipts();
} else if (type == 4) {
common_vendor.index.navigateTo({
url: "/pages/mine/evaluate"
url: `/pages/mine/evaluate?id=${item.id}`
});
} else if (type == 5) {
toDetaile(item.id);
... ...
... ... @@ -44,7 +44,7 @@ const _sfc_main = {
const getMoneyDetails = async () => {
try {
const res = await api_index.getMoneyDetail();
recordList.value = res.mingxi;
recordList.value = res;
console.log("getMoneyDetail", res);
} catch (err) {
common_vendor.index.showToast({ title: err, icon: "none" });
... ...
<view><u-navbar wx:if="{{a}}" u-i="d543e3d0-0" bind:__l="__l" u-p="{{a}}"></u-navbar><view wx:for="{{b}}" wx:for-item="item" wx:key="i" class="formBox flexA"><view class="formTitle">{{item.a}}</view><input wx:if="{{item.b}}" type="text" placeholder-class="gay" placeholder="{{item.c}}" value="{{item.d}}" bindinput="{{item.e}}"></input><view wx:else class="{{['checkBox', 'flexJ', item.g]}}" bindtap="{{item.h}}"><text>{{item.f}}</text><image src="/static/mineIc/rightGayS.png" mode=""></image></view></view><view class="formBox flexJ"><view class="defaults">设置为默认地址</view><view class="switch"><u-switch wx:if="{{e}}" bindchange="{{c}}" u-i="d543e3d0-1" bind:__l="__l" bindupdateModelValue="{{d}}" u-p="{{e}}"></u-switch></view></view><view class="btn flexC" bindtap="{{f}}">保存</view><chekc-area wx:if="{{i}}" bindclose="{{g}}" bindpopShow="{{h}}" u-i="d543e3d0-2" bind:__l="__l" u-p="{{i}}"></chekc-area></view>
\ No newline at end of file
<view><u-navbar wx:if="{{a}}" u-i="d543e3d0-0" bind:__l="__l" u-p="{{a}}"></u-navbar><view wx:for="{{b}}" wx:for-item="item" wx:key="i" class="formBox flexA"><view class="formTitle">{{item.a}}</view><input wx:if="{{item.b}}" type="text" placeholder-class="gay" placeholder="{{item.c}}" value="{{item.d}}" bindinput="{{item.e}}"/><view wx:else class="{{['checkBox', 'flexJ', item.g]}}" bindtap="{{item.h}}"><text>{{item.f}}</text><image src="/static/mineIc/rightGayS.png" mode=""></image></view></view><view class="formBox flexJ"><view class="defaults">设置为默认地址</view><view class="switch"><u-switch wx:if="{{e}}" bindchange="{{c}}" u-i="d543e3d0-1" bind:__l="__l" bindupdateModelValue="{{d}}" u-p="{{e}}"></u-switch></view></view><view class="btn flexC" bindtap="{{f}}">保存</view><chekc-area wx:if="{{i}}" bindclose="{{g}}" bindpopShow="{{h}}" u-i="d543e3d0-2" bind:__l="__l" u-p="{{i}}"></chekc-area></view>
\ No newline at end of file
... ...
... ... @@ -28,12 +28,25 @@ const _sfc_main = {
let btnType = common_vendor.ref(1);
let integral = common_vendor.ref(0);
let tipType = common_vendor.ref(1);
let balance = common_vendor.ref(0);
let placeOrder = common_vendor.ref([
{ id: 1, name: "\u8BA2\u5355\u7F16\u53F7", text: "1212" },
{ id: 2, name: "\u652F\u4ED8\u65B9\u5F0F", text: "1212" },
{ id: 3, name: "\u4E0B\u5355\u65F6\u95F4", text: "1212" },
{ id: 4, name: "\u5FEB\u9012\u7F16\u53F7", text: "1212" }
]);
common_vendor.onShow(() => {
getyues();
});
const getyues = async () => {
try {
const res = await api_index.getyue();
balance.value = res.money;
} catch (err) {
common_vendor.index.showToast({ title: err, icon: "none" });
console.log("getyue", err);
}
};
const leftClickHandler = () => {
common_vendor.index.navigateBack({ delta: 1 });
};
... ... @@ -155,6 +168,7 @@ const _sfc_main = {
} : {}, {
s: common_vendor.o(($event) => common_vendor.isRef(modeShow) ? modeShow.value = false : modeShow = false),
t: common_vendor.p({
balance: common_vendor.unref(balance),
orderId: common_vendor.unref(orderId),
isOrderPay: true,
totalPrice: common_vendor.unref(orderList).total_price,
... ...