功能完善
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
<scroll-view class='goods-list' :scroll-y='true' type='custom'>
|
||||
<scroll-view class='goods-list' :scroll-y='true' type='custom' @scrolltolower='loadMore'>
|
||||
<grid-view type='masonry' :cross-axis-count='2'>
|
||||
<view v-for='(item, index) in goodsList' :key='index' class='goods-item'
|
||||
@click.stop='goPath(`/pages/mall/subs/goods/detail?goodsId=${item.goodsId}`)'>
|
||||
@@ -43,7 +43,7 @@
|
||||
<script setup lang='ts'>
|
||||
import SkuDialog from '@/components/sku-dialog.vue';
|
||||
import { assetsUrl } from '@/utils/assets';
|
||||
import { goLogin, goPath, isLogin } from '@/utils';
|
||||
import { goLogin, goPath, isLogin, showToast } from '@/utils';
|
||||
import { getCategoryList, getGoodsList } from '@/api/goods';
|
||||
import { CategoryBean, GoodsBean } from '@/api/goods/types';
|
||||
import useShoppingCartStore from '@/store/modules/shoppingcart';
|
||||
@@ -58,6 +58,7 @@ const skuDialogRef = ref();
|
||||
const categoryList = ref<CategoryBean[]>([]);
|
||||
const categorySelectedIndex = ref<number>(0);
|
||||
const goodsList = ref<GoodsBean[]>([]);
|
||||
const currentPageNum = ref<number>(1);
|
||||
|
||||
onLoad(() => {
|
||||
if(!isLogin()) {
|
||||
@@ -87,18 +88,27 @@ const changeCategory = async (index: number) => {
|
||||
await fetchGoodsList();
|
||||
};
|
||||
|
||||
const fetchGoodsList = async () => {
|
||||
const fetchGoodsList = async (refresh: boolean = true) => {
|
||||
currentPageNum.value = refresh ? 1 : currentPageNum.value + 1;
|
||||
const { rows } = await getGoodsList({
|
||||
page: {
|
||||
pageNum: 1,
|
||||
pageSize: 100,
|
||||
pageNum: currentPageNum.value,
|
||||
pageSize: 30,
|
||||
bean: {
|
||||
keyword: '',
|
||||
typeIds: [categoryList.value[categorySelectedIndex.value].typeId]
|
||||
}
|
||||
}
|
||||
});
|
||||
goodsList.value = rows;
|
||||
if(refresh) {
|
||||
goodsList.value = rows;
|
||||
} else {
|
||||
goodsList.value = goodsList.value.concat(rows);
|
||||
}
|
||||
};
|
||||
|
||||
const loadMore = () => {
|
||||
fetchGoodsList(false);
|
||||
};
|
||||
|
||||
const randomImageHeight = () => {
|
||||
@@ -114,6 +124,7 @@ const getRandomFloatInRange = (a: number, b: number) => {
|
||||
const addShoppingCart = (goodsBean: GoodsBean) => {
|
||||
skuDialogRef.value.show(goodsBean.goodsId, (e: GoodsBean) => {
|
||||
shoppingCartStore.save(e);
|
||||
showToast('添加购物车成功');
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
@@ -94,14 +94,14 @@
|
||||
<view class='payment-way c-flex-row' @click.stop='changePayment'>
|
||||
<text>支付方式</text>
|
||||
<view>{{ paymentType === 0 ? '微信支付' : '余额' }}
|
||||
<image :src='assetsUrl("ic_arrow_right_gray.png")' />
|
||||
<image style='display: none' :src='assetsUrl("ic_arrow_right_gray.png")' />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class='bottom-view c-flex-row'>
|
||||
<text>合计</text>
|
||||
<text>¥{{ orderBean?.totalPrice || 0 }}</text>
|
||||
<sqb-pay @bindnavigateTo='navigateTo'
|
||||
<sqb-pay @navigateTo='navigateTo'
|
||||
:return_url='buildSqbParams.return_url'
|
||||
:total_amount='buildSqbParams.total_amount'
|
||||
:terminal_sn='buildSqbParams.terminal_sn'
|
||||
@@ -130,6 +130,7 @@ import { getPaymentList, orderCreate, overPayment } from '@/api/order';
|
||||
import { CouponBean } from '@/api/user/types';
|
||||
import { OrderBean } from '@/api/order/types';
|
||||
import { useUserStore } from '@/store';
|
||||
import { handlePayResult } from '@/utils/order';
|
||||
|
||||
const userStore = useUserStore();
|
||||
const { terminalInfo, deliveryAddress } = storeToRefs(userStore);
|
||||
@@ -176,15 +177,14 @@ const showCouponDialog = () => {
|
||||
const confirmCoupon = (item: CouponBean) => {
|
||||
checkedCoupon.value = item;
|
||||
};
|
||||
|
||||
const navigateTo = (e: any) => {
|
||||
console.log('----------->>>>>navigateTo ', e);
|
||||
uni.redirectTo({
|
||||
url: e.detail.url,
|
||||
fail(e) {
|
||||
uni.showToast({
|
||||
title: '支付失败'
|
||||
});
|
||||
console.log('--------------_>>>>>>navigateTo ', e);
|
||||
handlePayResult(orderBean.value?.id, e, {
|
||||
onSuccess: () => {
|
||||
// pay({
|
||||
// 'orderId': orderBean.value?.order.id,
|
||||
// 'result': 'xxx'
|
||||
// });
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -237,7 +237,6 @@ const payment = async () => {
|
||||
}]
|
||||
};
|
||||
await overPayment(paymentParams);
|
||||
uni.navigateBack();
|
||||
uni.hideLoading();
|
||||
|
||||
};
|
||||
|
Reference in New Issue
Block a user