diff --git a/components/productItem.vue b/components/productItem.vue new file mode 100644 index 0000000..91bf1c8 --- /dev/null +++ b/components/productItem.vue @@ -0,0 +1,133 @@ + + + + + \ No newline at end of file diff --git a/pages.json b/pages.json index 10027b8..c9c08e4 100644 --- a/pages.json +++ b/pages.json @@ -72,6 +72,9 @@ { "path": "product/productDetail" }, + { + "path": "product/productList" + }, { "path": "auth/wxLogin" }, diff --git a/pages/index/index.vue b/pages/index/index.vue index f554fdb..0446ff3 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -49,28 +49,10 @@ - - - - - - - {{item.name}} - - - - - - - ¥{{item.price}}元/{{item.unit}} - - - - - + + @@ -89,13 +71,15 @@ import PrivacyAgreementPoup from '@/components/config/PrivacyAgreementPoup.vue' import tabber from '@/components/base/tabbar.vue' import QuickOrderEntry from '@/components/QuickOrderEntry.vue' +import productItem from '@/components/productItem.vue' import mixinsList from '@/mixins/list.js' export default { mixins: [mixinsList], components: { tabber, PrivacyAgreementPoup, - QuickOrderEntry + QuickOrderEntry, + productItem, }, data() { return { @@ -145,12 +129,15 @@ export default { }) }, menuClick(item){ - if(!item.url){ - return - } - uni.navigateTo({ - url: item.url, - }) + uni.navigateTo({ + url: `/pages_order/product/productList?title=${item.title}&iconId=${item.id}` + }) + // if(!item.url){ + // return + // } + // uni.navigateTo({ + // url: item.url, + // }) }, // 刷新快捷下单信息 refreshQuickOrder() { @@ -348,97 +335,7 @@ export default { border-radius: 3rpx; } } - -.shop-list { - width: 95%; - height: 222rpx; - display: flex; - margin: 30rpx auto; - background-color: #ffffff; - border-radius: 20rpx; - box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.05); - transition: transform 0.3s, box-shadow 0.3s; - - &:active { - transform: translateY(2rpx); - box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); - } - - // /deep/ - .picture-shop { - width: 240rpx; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - - image { - width: 200rpx; - height: 150rpx; - } - } - - .price-shop { - width: 250rpx; - height: 100%; - - .top-shop { - height: 100rpx; - width: 100%; - font-size: 32rpx; - margin-top: 20rpx; - text-align: center; - font-weight: 600; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - - .tag-shop { - display: flex; - justify-content: space-around; - margin-top: 10rpx; - } - - .bottom-price { - display: inline-block; - font-size: 28rpx; - color: #666; - text { - color: #DC2828; - font-weight: 700; - } - } - } - - } +.productList{ - .buy-shop { - height: 100%; - width: 250rpx; - display: flex; - justify-content: center; - align-items: center; - - :deep(.uv-button) { - transition: transform 0.2s; - &:active { - transform: scale(0.95); - } - } - } - - @keyframes pulse { - 0% { - transform: scale(1); - } - - 50% { - transform: scale(1.05); - } - - 100% { - transform: scale(1); - } - } } diff --git a/pages_order/product/productList.vue b/pages_order/product/productList.vue new file mode 100644 index 0000000..d7d327f --- /dev/null +++ b/pages_order/product/productList.vue @@ -0,0 +1,44 @@ + + + + +