Files
dajiankang-uniapp/pages/goods/prefecture.vue
PC-202306242200\Administrator 1c24452b6c first commit
2026-03-28 23:10:55 +08:00

127 lines
2.9 KiB
Vue

<template>
<view class="notice">
<wd-navbar title="进货专区" safeAreaInsetTop left-arrow @click-left="back"></wd-navbar>
<z-paging ref="paging" v-model="dataList" use-page-scroll @query="queryList">
<view class="p30">
<view class="home_block" @click="toGoods(item.id)" v-for="(item, index) in dataList" :key="index">
<image class="home_block_left" :src="item.cover"></image>
<view class="home_block_right">
<view class="home_block_right_title">{{ item.name }}</view>
<view class="home_block_right_info">{{ item.specs }}</view>
<view style="display: flex; justify-content: space-between; align-items: center; margin-top: 25rpx">
<view style="font-size: 36rpx; font-weight: bold; color: #ff2929">{{ item.currentPrice }}</view>
<view class="home_block_right_button">下单</view>
</view>
</view>
</view>
</view>
</z-paging>
</view>
</template>
<script setup lang="ts">
import { onLoad } from '@dcloudio/uni-app';
import { ref, computed } from 'vue';
import api from '@/api/index';
const active = ref(1);
const categoryId = ref<string | number>('');
const paging = ref(null);
const dataList = ref([]);
const noticeCateList = ref([]);
onLoad(() => {
api.noticeCatePage().then((res) => {
noticeCateList.value = res.list;
});
});
const activeChange = (e, cateId) => {
active.value = e;
categoryId.value = cateId;
paging.value.reload();
};
const queryList = (pageNo, pageSize) => {
api.goodsPage({ pageNo, pageSize, type: active.value, categoryId: categoryId.value,recommended:1 })
.then((res: any) => {
paging.value.complete(res.list);
})
.catch((res) => {
paging.value.complete(false);
});
};
const toGoods = (e) => {
uni.navigateTo({
url: `/pages/goods/goods?id=${e}`
});
};
const back = () => {
uni.navigateBack();
};
</script>
<style lang="scss" scoped>
.notice {
&_block {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 35rpx;
width: 690rpx;
height: 106rpx;
background: #ffffff;
border-radius: 16rpx;
position: relative;
font-weight: 400;
font-size: 24rpx;
color: #232323;
}
}
.home_block {
width: 690rpx;
height: 250rpx;
background: #ffffff;
border-radius: 8rpx 8rpx 8rpx 8rpx;
display: flex;
align-items: center;
padding-right: 25rpx;
margin-bottom: 25rpx;
&_left {
width: 250rpx;
height: 250rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
margin-right: 25rpx;
}
&_right {
flex: 1;
&_title {
font-weight: 600;
font-size: 28rpx;
color: #232323;
}
&_info {
font-weight: 400;
font-size: 24rpx;
color: #232323;
margin-top: 25rpx;
}
&_button {
width: 128rpx;
height: 48rpx;
background: #ff2a2a;
box-shadow: 0rpx 2rpx 4rpx 2rpx #dbdbdb;
border-radius: 10rpx 10rpx 10rpx 10rpx;
display: flex;
align-items: center;
justify-content: center;
font-weight: 800;
font-size: 20rpx;
color: #ffffff;
}
}
}
</style>