This commit is contained in:
zmj 2024-07-11 16:50:31 +08:00
commit 76daf934b1
10 changed files with 1070 additions and 945 deletions

View File

@ -75,3 +75,7 @@ export const refundReasonListApi = (data) => {
export const applyRefundApi = (data) => { export const applyRefundApi = (data) => {
return request.post('/order/order/apply_refund', data); return request.post('/order/order/apply_refund', data);
} }
export const UserProductStorageLogApi = (data) => {
return request.get('/user_product_storage_log/UserProductStorageLog/lists', data);
}

View File

@ -63,14 +63,7 @@
computed, computed,
nextTick, nextTick,
ref, ref,
} from "vue" } from "vue"
import {
toast
} from "../uni_modules/uview-plus";
import {
onShow
} from '@dcloudio/uni-app';
const foucs1 = ref(null) const foucs1 = ref(null)
const props = defineProps({ const props = defineProps({
@ -78,20 +71,17 @@
type: Boolean, type: Boolean,
default: false default: false
}, },
priceKey: {
type: Object,
default: () => ({})
}
}) })
const valChange = () => { const valChange = () => {
uni.vibrateShort(); uni.vibrateShort();
} }
let priceKey = ref({})
if (uni.getStorageSync('PRICE_KEY')) {
priceKey.value = JSON.parse(uni.getStorageSync('PRICE_KEY'));
} else {
priceKey.value = {};
}
const datas = ref({ const datas = ref({
cart_num: '' cart_num: ''
}); });
@ -121,7 +111,9 @@
const subtotal = computed(() => { const subtotal = computed(() => {
let num = +datas.value.cart_num || 1; let num = +datas.value.cart_num || 1;
let sell = +datas.value[priceKey.value.off_activity == 1 ? priceKey.value.price : priceKey.value.op_price]; let sell = +datas.value[props.priceKey.off_activity == 1 ? props.priceKey.price : props
.priceKey
.op_price];
return Number(num * sell * 100 / 100).toFixed(2) return Number(num * sell * 100 / 100).toFixed(2)
}) })

View File

@ -1,27 +1,33 @@
<template> <template>
<view class="m-card m-good" v-for="(item, index) in lists" :key="index"> <block v-if="lists.length">
<view class="shop-check" @click="item.check=!item.check"> <view class="m-card m-good" v-for="(item, index) in lists" :key="index">
<image v-if="!item.check" src="@/static/icon/n-check.png"></image> <view class="shop-check" @click="item.check=!item.check">
<image v-else src="@/static/icon/check.png"></image> <image v-if="!item.check" src="@/static/icon/n-check.png"></image>
<image v-else src="@/static/icon/check.png"></image>
</view>
<view class="image">
<up-image width="160rpx" height="160rpx" :src="item.image"></up-image>
</view>
<view class="body-content">
<view>
<view class="title">
<view> <text>{{item.store_name }}</text> x<text>{{item.nums }}</text> </view>
<view>¥{{item.price}}</view>
</view>
</view>
<view class="time">
<view style="float: right;">
<up-number-box :min="1" :max="item.nums" v-model="item.num"></up-number-box>
</view>
</view>
</view>
</view> </view>
<view class="image"> </block>
<up-image width="160rpx" height="160rpx" :src="item.image"></up-image>
</view> <up-empty v-else mode="history" style="margin-top: 20vh;" text='没有更多内容了'>
<view class="body-content"> </up-empty>
<view>
<view class="title">
<view> <text>{{item.store_name }}</text> x<text>{{item.nums }}</text> </view>
<view>¥{{item.price}}</view>
</view>
</view>
<view class="time">
<view style="float: right;">
<up-number-box :min="1" :max="item.nums" v-model="item.num"></up-number-box>
</view>
</view>
</view>
</view>
<view style="height: 200rpx;" /> <view style="height: 200rpx;" />
<view class="bottom"> <view class="bottom">

137
pageQuota/asset/lists.vue Normal file
View File

@ -0,0 +1,137 @@
<template>
<up-sticky bgColor="#fff" style="padding: 20rpx;">
<up-tabs :list="tabsLst" :itemStyle="{ width: '50vw', paddingBottom: '20rpx' }" lineColor='#50C758'
:current='currentTab' @change="tabsChange"></up-tabs>
</up-sticky>
<view class="content" v-if="lists.length">
<view class="card" v-for="(item,index) in lists" :key="item.id">
<view class="head">
<view class="">
{{item.system_store_name}}
</view>
<view v-if="currentTab==0" style="text-decoration: underline;text-underline-offset: 5rpx;"
@click="hdClick(item)">
提货码
</view>
</view>
<view class="card-li" v-if="currentTab==0">
<text class="lab">预约时间</text>{{item.times}}
</view>
<view class="card-li" v-if="currentTab==1">
<text class="lab">提货时间</text>{{item.update_time}}
</view>
<view class="card-li" style="display: flex;justify-content: space-between;">
<view class="">
<text class="lab">商品信息</text>{{item.store_name}}
</view>
<view class="">
x{{item.nums}}
</view>
</view>
</view>
</view>
<up-empty v-else mode="history" style="margin-top: 20vh;" text='没有更多内容了'>
</up-empty>
<view class="mask" v-if='showVerifyPop' @click="showVerifyPop=false">
<view
style="position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);background-color: white;padding: 20rpx;">
<up-image :src="orderData.verify_img" width="710rpx" height="105rpx"></up-image>
<view style="font-weight: bold;color: #333;font-size: 26;text-align: center;margin-top: 20rpx;">
提货码 {{orderData.verify_code}}
</view>
</view>
</view>
</template>
<script setup>
import {
ref,
reactive
} from "vue"
import {
UserProductStorageLogApi
} from "@/api/order.js"
import useUserStore from "@/store/user";
const userStore = useUserStore().userInfo;
const currentTab = ref(0)
const showVerifyPop = ref(false)
const orderData = reactive({})
const tabsLst = reactive([{
name: '已预约'
},
{
name: '已提货'
},
]);
const tabsChange = (e) => {
currentTab.value = e.index
getLists()
}
const lists = ref([{}])
const getLists = async () => {
let res = await UserProductStorageLogApi({
uid: userStore.id,
status: currentTab.value
})
lists.value = res.data.lists
}
const hdClick = (item) => {
orderData.verify_code = item.verify_code
orderData.verify_img = item.verify_img
showVerifyPop.value = true
}
getLists()
</script>
<style lang="scss">
.content {
padding: 20rpx;
}
.card {
background-color: white;
border-radius: 20rpx;
// padding: 20rpx;
margin-bottom: 20rpx;
padding-bottom: 20rpx;
.head {
background-color: #50C758;
border-radius: 20rpx 20rpx 0 0;
color: white;
padding: 20rpx;
font-size: 30rpx;
display: flex;
justify-content: space-between;
}
.card-li {
padding: 0 20rpx;
margin-top: 10rpx;
.lab {
color: #989898;
}
}
}
.mask {
position: fixed;
width: 100vw;
height: 100vh;
background-color: rgba(0, 0, 0, .5);
top: 0;
left: 0;
z-index: 99999 !important;
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -245,10 +245,17 @@
{ {
"path": "asset/index", "path": "asset/index",
"style": { "style": {
"navigationBarTitleText": "会员资产", "navigationBarTitleText": "用户资产",
"enablePullDownRefresh": true "enablePullDownRefresh": true
} }
}, },
{
"path": "asset/lists",
"style": {
"navigationBarTitleText": "预约记录",
"enablePullDownRefresh": false
}
},
{ {
"path": "Gifts/index", "path": "Gifts/index",
"style": { "style": {

View File

@ -168,15 +168,15 @@
<view class="shop-content-li-r" style="color:#FC452F ;"><text <view class="shop-content-li-r" style="color:#FC452F ;"><text
style="font-size: 30rpx;">{{item[priceKey.price]}}</text>/{{ item.unit_name }} style="font-size: 30rpx;">{{item[priceKey.price]}}</text>/{{ item.unit_name }}
</view> </view>
<view class="tag"> <view class="tag" v-if="item.tag">
<view class="icon" /> <view class="icon" />
赠10%品牌礼品券 {{item.tag}}
</view> </view>
</view> </view>
<!-- <view class="shop-content-li" style="color: #999999;" v-if="priceKey.off_activity==1"> <view class="shop-content-li" style="color: #999999;" v-if="priceKey.off_activity==1">
<view class="shop-content-li-l">原价</view> <view class="shop-content-li-l">原价</view>
<view class="shop-content-li-r line-through">{{item[priceKey.op_price]}}</view> <view class="shop-content-li-r line-through">{{item[priceKey.op_price]}}</view>
</view> --> </view>
<view class="shop-content-li" v-else> <view class="shop-content-li" v-else>
<view class="shop-content-li-l">售价</view> <view class="shop-content-li-l">售价</view>
@ -231,7 +231,8 @@
</view> </view>
</view> </view>
<goodPopup ref="goodRef" :show="showGoodPopup" @close="showGoodPopup = false" @change="changeGood" /> <goodPopup ref="goodRef" :priceKey='priceKey' :show="showGoodPopup" @close="showGoodPopup = false"
@change="changeGood" />
<u-overlay :show="showOverlay" @click="showOverlay = false"> <u-overlay :show="showOverlay" @click="showOverlay = false">
<view class="warp"> <view class="warp">
@ -293,7 +294,7 @@
} from "@/api/multipleShop.js"; } from "@/api/multipleShop.js";
import useUserStore from "@/store/user"; import useUserStore from "@/store/user";
const vipList = reactive([1, 2, 3, 5, 6, 7, 8]) const vipList = reactive([1, 2, 3, 4, 5, 6, 7, 8])
const userStore = useUserStore(); const userStore = useUserStore();
const STORE_INFO = reactive({ const STORE_INFO = reactive({
id: '', id: '',

View File

@ -16,10 +16,10 @@
<up-button @click="weixinLogin" color="#20B128" size="large"><up-icon color="#fff" <up-button @click="weixinLogin" color="#20B128" size="large"><up-icon color="#fff"
size="28"></up-icon></up-button> size="28"></up-icon></up-button>
</view> </view>
<!-- <view class="btn"> <view class="btn" v-if="config.ENV !='prod'">
<up-button @click="navgo('/pages/login/test')" color="#20B128" size="large"><up-icon <up-button @click="navgo('/pages/login/test')" color="#20B128" size="large"><up-icon
name="account-fill" color="#fff" size="28"></up-icon>-</up-button> name="account-fill" color="#fff" size="28"></up-icon>-</up-button>
</view> --> </view>
<!-- <view class="btn"> <!-- <view class="btn">
<up-button @click="officialCode" color="#20B128" size="large"><up-icon name="weixin-fill" color="#fff" <up-button @click="officialCode" color="#20B128" size="large"><up-icon name="weixin-fill" color="#fff"
size="28"></up-icon></up-button> size="28"></up-icon></up-button>

View File

@ -24,7 +24,7 @@
<template> <template>
<view style="flex-grow: 1;overflow-y: auto;"> <view style="flex-grow: 1;overflow-y: auto;">
<view class="user-info" <view class="user-info"
:style="{backgroundImage: [0,4].includes(userInfo.user_ship)?'url(https://lihai001.oss-cn-chengdu.aliyuncs.com/def/e3a7b202404261113002322.webp)':'url(https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/aace1202407021022357574.png)' }"> :style="{backgroundImage: [0].includes(userInfo.user_ship)?'url(https://lihai001.oss-cn-chengdu.aliyuncs.com/def/e3a7b202404261113002322.webp)':'url(https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/aace1202407021022357574.png)' }">
<view class="u-card"> <view class="u-card">
<view style="display: flex;" @click="updataInfp"> <view style="display: flex;" @click="updataInfp">
<up-image :src="userInfo.avatar" mode="aspectFill" width="112rpx" height="112rpx" <up-image :src="userInfo.avatar" mode="aspectFill" width="112rpx" height="112rpx"
@ -36,7 +36,7 @@
<view style="margin:0 20rpx;"> <view style="margin:0 20rpx;">
{{userInfo.id}} {{userInfo.id}}
</view> </view>
<view v-if="![0,4].includes(userInfo.user_ship)" <view v-if="![0].includes(userInfo.user_ship)"
style="display: flex;align-items: center;background-color: #F6EECD;padding: 4rpx 10rpx;border-radius: 20rpx;"> style="display: flex;align-items: center;background-color: #F6EECD;padding: 4rpx 10rpx;border-radius: 20rpx;">
<view style="margin-right: 10rpx;"> <view style="margin-right: 10rpx;">
<up-icon <up-icon
@ -116,8 +116,9 @@
<view class="card"> <view class="card">
<up-cell-group> <up-cell-group>
<!-- <up-cell v-if="userInfo.user_ship==1" title="赠品区" :isLink="true" url="/pageQuota/Gifts/index"></up-cell> <!-- <up-cell v-if="userInfo.user_ship==1" title="赠品区" :isLink="true" url="/pageQuota/Gifts/index"></up-cell> -->
<up-cell title="我的资产" :isLink="true" url="/pageQuota/asset/index"></up-cell> --> <!-- <up-cell title="我的资产" :isLink="true" url="/pageQuota/asset/index"></up-cell>
<up-cell title="预约记录" :isLink="true" url="/pageQuota/asset/lists"></up-cell> -->
<up-cell title="我的地址" :isLink="true" url="/pagesOrder/addressList/addressList"></up-cell> <up-cell title="我的地址" :isLink="true" url="/pagesOrder/addressList/addressList"></up-cell>
<up-cell title="支付密码" :isLink="true" url="/pagesOrder/setPayPassword/index"></up-cell> <up-cell title="支付密码" :isLink="true" url="/pagesOrder/setPayPassword/index"></up-cell>
</up-cell-group> </up-cell-group>
@ -226,7 +227,6 @@
const showPop = ref(false) const showPop = ref(false)
const updataInfp = () => { const updataInfp = () => {
console.log(5454)
showPop.value = true showPop.value = true
} }
@ -291,7 +291,7 @@
userInfo.value = res.data; userInfo.value = res.data;
formData.avatar = res.data.avatar formData.avatar = res.data.avatar
formData.nick_name = res.data.nickname formData.nick_name = res.data.nickname
if (![0, 4].includes(res.data.user_ship)) { if (![0].includes(res.data.user_ship)) {
uni.setNavigationBarColor({ uni.setNavigationBarColor({
frontColor: "#000000", frontColor: "#000000",
backgroundColor: "#EAFFE1" backgroundColor: "#EAFFE1"

View File

@ -98,7 +98,7 @@
<view class="row" v-if="[4,5,6].includes(userInfo.user_ship)" style="color: red;"> <view class="row" v-if="[4,5,6].includes(userInfo.user_ship)" style="color: red;">
<view>优惠减免</view> <view>优惠减免</view>
<view> <view>
<text>-¥</text>{{ c_price(orderInfo.activity_price, 0) }}<text>.{{ c_price(orderInfo.activity_price, 1) }}</text> <text>-¥</text>{{ c_price(orderInfo.frozen_money, 0) }}<text>.{{ c_price(orderInfo.frozen_money, 1) }}</text>
</view> </view>
</view> </view>
<view class="row" v-if="userInfo.user_ship==1 "> <view class="row" v-if="userInfo.user_ship==1 ">