页面开发

This commit is contained in:
1154079537 2024-06-03 18:25:34 +08:00
parent ad58f01675
commit 1db31e0ed7
22 changed files with 1886 additions and 956 deletions

View File

@ -1,33 +1,33 @@
import request from '@/utils/request'; import request from '@/utils/request';
//添加购物车数量 //添加购物车数量
export const cartCreateApi = (data)=>{ export const cartCreateApi = (data) => {
return request.post('/order/cart/create', data); return request.post('/order/cart/create', data);
} }
//购物车-调整数量 //购物车-调整数量
export const cartChangeApi = (data)=>{ export const cartChangeApi = (data) => {
return request.post('/order/cart/change', data); return request.post('/order/cart/change', data);
} }
//购物车-清空 //购物车-清空
export const cartDeleteApi = (data)=>{ export const cartDeleteApi = (data) => {
return request.post('/order/cart/delete', data); return request.post('/order/cart/delete', data);
} }
//购物车-零售列表 //购物车-零售列表
export const cartListApi = (data)=>{ export const cartListApi = (data) => {
return request.get('/order/cart/list', data, { return request.get('/order/cart/list', data, {
noAuth: true noAuth: true
}); });
} }
//购物车-常买记录 //购物车-常买记录
export const frequentlyPurchaseApi = (data)=>{ export const frequentlyPurchaseApi = (data) => {
return request.get('/order/RetailOrder/frequently_purchase', data); return request.get('/order/order/frequently_purchase', data);
} }
//购物车-零售购物车预检 //购物车-零售购物车预检
export const checkOrderApi = (data)=>{ export const checkOrderApi = (data) => {
return request.post('/order/RetailOrder/checkOrder', data); return request.post('/order/RetailOrder/checkOrder', data);
} }

View File

@ -1,9 +1,9 @@
import request from '@/utils/request'; import request from '@/utils/request';
export const goodListApi = (data)=>{ export const goodListApi = (data) => {
return request.get('/goods/goods/lists', data); return request.get('/product/product/lists', data);
} }
export const goodClassListApi = (data)=>{ export const goodClassListApi = (data) => {
return request.get('/goods/goodsclass/lists', data); return request.get('/cate/cate/lists', data);
} }

5
api/multipleShop.js Normal file
View File

@ -0,0 +1,5 @@
import request from '@/utils/request';
export const shopListApi = (data) => {
return request.get('/store/store/lists', data);
}

View File

@ -23,15 +23,15 @@
<view v-if="datas.is_bulk" class="row"> <view v-if="datas.is_bulk" class="row">
<view>购买重量<text style="color: #F55726;">*</text></view> <view>购买重量<text style="color: #F55726;">*</text></view>
<view style="flex: 1;"> <view style="flex: 1;">
<up-input v-model="datas.cart_num" :cursorSpacing='120' type="number" border="none" placeholder="请输入购买重量" <up-input v-model="datas.cart_num" :cursorSpacing='120' type="number" border="none"
inputAlign="right"></up-input> placeholder="请输入购买重量" inputAlign="right"></up-input>
</view> </view>
</view> </view>
<view v-else class="row"> <view v-else class="row">
<view>购买数量<text style="color: #F55726;">*</text></view> <view>购买数量<text style="color: #F55726;">*</text></view>
<view style="flex: 1;"> <view style="flex: 1;">
<up-input v-model="datas.cart_num" :cursorSpacing='120' type="number" border="none" placeholder="请输入购买数量" <up-input v-model="datas.cart_num" :cursorSpacing='120' type="number" border="none"
inputAlign="right"> placeholder="请输入购买数量" inputAlign="right">
<template #suffix> <template #suffix>
<span style="color: #20b128;">{{datas.unit_name}}</span> <span style="color: #20b128;">{{datas.unit_name}}</span>
</template> </template>
@ -89,7 +89,7 @@
const subtotal = computed(() => { const subtotal = computed(() => {
let num = +datas.value.cart_num || 0; let num = +datas.value.cart_num || 0;
let sell = +datas.value.sell; let sell = +datas.value.price;
return Math.ceil(num * sell * 100) / 100 return Math.ceil(num * sell * 100) / 100
}) })

View File

@ -3,8 +3,9 @@ import store from "@/store/user.js"
// 环境 // 环境
// let env = "dev" // let env = "dev"
// let env = "test" // let env = "test"
let env = "prod" // let env = "prod"
// let env = "local" // let env = "local"
let env = "liu";
switch (env) { switch (env) {
case 'prod': case 'prod':
@ -13,8 +14,11 @@ switch (env) {
case 'test': case 'test':
BASE_URL = 'https://ceshi-erp.lihaink.cn'; BASE_URL = 'https://ceshi-erp.lihaink.cn';
break; break;
case 'liu':
BASE_URL = 'http://192.168.1.201:8545';
break;
default: default:
BASE_URL = 'http://192.168.1.22:8546'; BASE_URL = 'https://test-multi-store.lihaink.cn';
} }
let HTTP_REQUEST_URL let HTTP_REQUEST_URL

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 760 B

View File

@ -0,0 +1,214 @@
<style lang="scss">
page {
background: #FAFAFA;
}
.multiple {
padding-bottom: 30rpx;
.multiple-search {
position: sticky;
top: 0;
z-index: 10;
display: flex;
height: 90rpx;
background-color: #fff;
padding: 0 24rpx;
box-sizing: border-box;
.multiple-search-txt {
position: absolute;
right: 28rpx;
top: 50%;
transform: translateY(-50%);
width: 110rpx;
height: 52rpx;
line-height: 52rpx;
text-align: center;
background: #FFFFFF;
border-radius: 30rpx 30rpx 30rpx 30rpx;
font-size: 28rpx;
color: #20B128;
}
}
.multiple-card {
padding-top: 24rpx;
.multiple-card-item {
display: flex;
background: #FFFFFF;
border-radius: 16rpx;
margin: 0 24rpx 20rpx;
padding: 30rpx 0 42rpx 30rpx;
overflow: hidden;
.multiple-card-item-left {
width: 70%;
border-right: 2rpx solid #F1F1F1;
.multiple-card-item-left-title {
margin-bottom: 14rpx;
font-weight: bold;
font-size: 28rpx;
color: #444444;
}
.multiple-card-item-left-tag {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-bottom: 16rpx;
text {
width: 90rpx;
height: 42rpx;
line-height: 42rpx;
text-align: center;
border-radius: 8rpx;
font-size: 24rpx;
margin-right: 16rpx;
padding: 4rpx 10rpx;
}
.yellow {
background-color: #FFF8F1;
color: #FFB76D;
}
.green {
color: #20B128;
background-color: #F2FFF3;
}
}
.multiple-card-item-left-info {
display: flex;
&:nth-child(1) {
margin-bottom: 10rpx;
}
text {
font-weight: 400;
font-size: 24rpx;
color: #777777;
margin-left: 4rpx;
}
}
}
.multiple-card-item-right {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 30%;
.multiple-card-item-right-distance {
margin-bottom: 20rpx;
font-size: 22rpx;
color: #777777;
}
.multiple-card-item-right-icon {
display: flex;
align-items: center;
}
}
}
.active {
position: relative;
border: 2rpx solid #20B128;
&::after {
content: "";
display: block;
position: absolute;
right: -34rpx;
bottom: -8rpx;
width: 0;
height: 0;
border-left: 50rpx solid transparent;
border-right: 50rpx solid transparent;
border-bottom: 50rpx solid #20B128;
transform: rotate(135deg);
}
&::before {
content: "√";
display: block;
position: absolute;
right: 10rpx;
bottom: 4rpx;
color: #fff;
z-index: 11;
font-weight: bold;
}
}
}
}
</style>
<template>
<view class="multiple">
<view class="multiple-search">
<u-search :animation="true" :showAction="false" bgColor="#f6f6f6" placeholder="请输入门店"></u-search>
<view class="multiple-search-txt">搜索</view>
</view>
<view class="multiple-card">
<view class="multiple-card-item active" v-for="item in 10">
<view class="multiple-card-item-left">
<view class="multiple-card-item-left-title">泸州春雨路自提中转中心</view>
<view class="multiple-card-item-left-tag">
<text class="yellow">可自提</text>
<text class="green">可配送</text>
</view>
<view class="multiple-card-item-left-info">
<u-image src="../images/location_small.webp" width="24rpx" height="24rpx" />
<text>四川省泸州市龙马潭区一环春雨路一段107号一环路117号</text>
</view>
<view class="multiple-card-item-left-info">
<u-image src="../images/time.webp" width="24rpx" height="24rpx" />
<text>09:00-20:00</text>
</view>
</view>
<view class="multiple-card-item-right">
<view class="multiple-card-item-right-distance">距离1km</view>
<view class="multiple-card-item-right-icon">
<view style="margin-right: 30rpx;">
<u-image src="../images/phone.webp" width="48rpx" height="48rpx" />
</view>
<u-image src="../images/location.webp" width="48rpx" height="48rpx" />
</view>
</view>
</view>
</view>
</view>
</template>
<script setup>
import {
shopListApi
} from "@/api/multipleShop.js";
import {
onLoad
} from "@dcloudio/uni-app"
//
const getShopList = () => {
shopListApi().then(res => {
console.log(res);
})
}
onLoad(() => {
getShopList();
})
</script>

View File

@ -0,0 +1,226 @@
<style lang="scss" scoped>
.orderVerification {
padding-top: 68rpx;
.verification {
position: relative;
width: 710rpx;
height: 390rpx;
background-image: url(../images/circle_bg.png);
background-size: 100%;
background-repeat: no-repeat;
margin: 0 auto 66rpx;
padding: 70rpx 30rpx 0 30rpx;
box-sizing: border-box;
.num {
position: absolute;
left: 50%;
top: -36rpx;
transform: translateX(-50%);
width: 72rpx;
height: 72rpx;
line-height: 72rpx;
border-radius: 50%;
background: #20B128;
font-size: 36rpx;
color: #FFFFFF;
text-align: center;
}
.verification-title {
margin-bottom: 24rpx;
font-weight: 600;
font-size: 32rpx;
color: #333333;
text-align: center;
}
.scan {
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0 4rpx 16rpx rgba(32, 177, 40, .1);
width: 160rpx;
height: 160rpx;
border-radius: 50%;
margin: 0 auto;
}
.scan1 {
display: flex;
align-items: center;
justify-content: center;
width: 152rpx;
height: 152rpx;
background-color: #20B128;
border-radius: 50%;
box-shadow: 0 0 0 8rpx rgba(32, 177, 40, .3);
}
}
.verification-btn {
width: 648rpx;
height: 94rpx;
line-height: 94rpx;
background: #38BE41;
border-radius: 48rpx;
margin-top: 40rpx;
font-weight: 600;
font-size: 32rpx;
color: #FFFFFF;
text-align: center;
}
::v-deep .u-popup__content {
background-color: transparent;
}
.popup {
.popup-wrap {
width: 710rpx;
border-radius: 12rpx;
padding: 40rpx;
box-sizing: border-box;
background-color: #fff;
.popup-title {
margin-bottom: 60rpx;
font-weight: 600;
font-size: 32rpx;
color: #333333;
text-align: center;
}
.popup-order_num {
margin-bottom: 36rpx;
font-weight: bold;
font-size: 24rpx;
color: #333333;
}
.popup-goods {
display: flex;
justify-content: space-between;
width: 630rpx;
height: 190rpx;
background: #F7F7F7;
border-radius: 16rpx;
margin-bottom: 36rpx;
padding: 24rpx;
box-sizing: border-box;
.popup-goods-left {
margin-right: 24rpx;
}
.popup-goods-right {
flex-grow: 1;
.popup-goods-right-info {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
.goods_name {
font-size: 24rpx;
color: #333333;
}
.goods_price {
font-weight: bold;
font-size: 24rpx;
color: #060606;
}
}
.popup-goods-num {
margin-bottom: 20rpx;
font-size: 24rpx;
color: #777777;
text-align: right;
}
.popup-goods-total {
text-align: right;
.popup-goods-total-num {
font-size: 24rpx;
color: #666666;
}
.popup-goods-total-price {
font-size: 24rpx;
color: #F55726;
}
}
}
}
}
}
}
</style>
<template>
<view class="orderVerification">
<!-- 输入核销码 -->
<view class="verification">
<view class="num">1</view>
<view class="verification-title">核销券码</view>
<u-input inputAlign="center" :customStyle="{'border-color':'#38BE41 !important'}"
placeholder="请输入核销券码"></u-input>
<view class="verification-btn">确认核销</view>
</view>
<!-- 二维码 -->
<view class="verification">
<view class="num">2</view>
<view class="verification-title" style="margin-bottom: 48rpx;">二维码核销</view>
<view class="scan">
<view class="scan1">
<u-image width="54rpx" height="50rpx" src="../images/scan.png"></u-image>
</view>
</view>
</view>
<!-- 弹框 -->
<u-popup :show="show" @close="close" @open="open" mode="center">
<view class="popup">
<view class="popup-wrap">
<view class="popup-title">请确认核销订单</view>
<view class="popup-order_num">订单编号:wxo1709797879549583601</view>
<view class="popup-goods">
<view class="popup-goods-left">
<u-image width="100rpx" height="100rpx" radius="8rpx" />
</view>
<view class="popup-goods-right">
<view class="popup-goods-right-info">
<text class='goods_name'>黄牛牛肉</text>
<text class="goods_price">10.00</text>
</view>
<view class="popup-goods-num">x5</view>
<view class="popup-goods-total">
<text class="popup-goods-total-num">共5件商品总金额</text>
<text class="popup-goods-total-price">50.00</text>
</view>
</view>
</view>
<view class="verification-btn">确认核销</view>
</view>
</view>
</u-popup>
</view>
</template>
<script setup>
import {
ref
} from "vue";
const show = ref(true);
</script>

View File

@ -0,0 +1,119 @@
<style lang="scss">
.detail {
width: 710rpx;
background: #FFFFFF;
border-radius: 12rpx;
margin: 24rpx auto 0;
padding: 0 30rpx 24rpx;
box-sizing: border-box;
.detail-order_num {
height: 78rpx;
line-height: 78rpx;
margin-bottom: 24rpx;
font-weight: 600;
font-size: 26rpx;
color: #333333;
border-bottom: 2rpx solid #f1f1f1;
}
.detail-form {
border-bottom: 2rpx solid #f1f1f1;
margin-bottom: 24rpx;
.detail-form-item {
margin-bottom: 16rpx;
font-size: 26rpx;
color: #333333;
}
}
.popup-goods {
display: flex;
justify-content: space-between;
width: 630rpx;
border-radius: 16rpx;
margin-bottom: 20rpx;
padding-bottom: 1rpx;
box-sizing: border-box;
border-bottom: 2rpx solid #f1f1f1;
.popup-goods-left {
margin-right: 24rpx;
}
.popup-goods-right {
flex-grow: 1;
.popup-goods-right-info {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
.goods_name {
font-size: 24rpx;
color: #333333;
}
.goods_price {
font-weight: bold;
font-size: 24rpx;
color: #060606;
}
}
.popup-goods-num {
margin-bottom: 20rpx;
font-size: 24rpx;
color: #777777;
text-align: right;
}
}
}
.popup-goods-total {
text-align: right;
.popup-goods-total-num {
font-size: 24rpx;
color: #666666;
}
.popup-goods-total-price {
font-size: 26rpx;
color: #333;
}
}
}
</style>
<template>
<view class="detail">
<view class="detail-order_num">订单编号:123123123</view>
<view class="detail-form">
<view class="detail-form-item">收货人</view>
<view class="detail-form-item">核销码</view>
<view class="detail-form-item">核销门店</view>
<view class="detail-form-item">核销时间</view>
</view>
<view class="popup-goods">
<view class="popup-goods-left">
<u-image width="100rpx" height="100rpx" radius="8rpx" />
</view>
<view class="popup-goods-right">
<view class="popup-goods-right-info">
<text class='goods_name'>黄牛牛肉</text>
<text class="goods_price">10.00</text>
</view>
<view class="popup-goods-num">x5</view>
</view>
</view>
<view class="popup-goods-total">
<text class="popup-goods-total-num">共5件商品总金额</text>
<text class="popup-goods-total-price">50.00</text>
</view>
</view>
</template>

View File

@ -0,0 +1,191 @@
<style lang="scss">
page {
background: #FAFAFA;
}
.order {
padding-bottom: 30rpx;
.order-search {
position: sticky;
top: 0;
z-index: 10;
display: flex;
height: 90rpx;
background-color: #fff;
padding: 0 24rpx;
box-sizing: border-box;
.order-search-txt {
position: absolute;
right: 28rpx;
top: 50%;
transform: translateY(-50%);
width: 110rpx;
height: 52rpx;
line-height: 52rpx;
text-align: center;
background: #FFFFFF;
border-radius: 30rpx 30rpx 30rpx 30rpx;
font-size: 28rpx;
color: #20B128;
}
}
.order-list {
padding-top: 24rpx;
height: calc(100vh - 90rpx - 24rpx - 30rpx);
.order-list-item {
width: 710rpx;
background: #FFFFFF;
border-radius: 12rpx;
margin: 0 auto 24rpx;
padding: 0 30rpx;
box-sizing: border-box;
.order-list-item-order_num {
height: 74rpx;
line-height: 74rpx;
font-weight: 600;
font-size: 26rpx;
color: #333333;
border-bottom: 2rpx solid #F1F1F1;
}
.order-list-item-trans {
display: flex;
justify-content: space-between;
padding: 16rpx 0 24rpx 0;
.order-list-item-trans-left {
display: flex;
justify-content: center;
align-items: center;
margin-right: 38rpx;
}
.order-list-item-trans-right {
.order-type {
margin-bottom: 10rpx;
font-weight: 600;
font-size: 32rpx;
color: #444444;
}
.order-reciver {
margin-bottom: 10rpx;
font-size: 26rpx;
color: #777777;
}
.order-verification-time {
width: 500rpx;
font-size: 26rpx;
color: #777777;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
}
}
}
.order-tab {
display: flex;
align-items: center;
justify-content: space-around;
width: 100%;
height: 102rpx;
background-color: #fff;
.order-tab-item {
font-size: 32rpx;
color: #444444;
}
.order-tab-active {
position: relative;
font-weight: bold;
font-size: 32rpx;
color: #20B128;
&::after {
content: "";
display: block;
position: absolute;
width: 52rpx;
height: 6rpx;
border-radius: 6rpx;
background-color: #20B128;
bottom: -20rpx;
left: 50%;
transform: translateX(-50%);
}
}
}
}
</style>
<template>
<view class="order">
<view class="order-search">
<u-search :animation="true" :showAction="false" bgColor="#f6f6f6" placeholder="请输入门店"></u-search>
<view class="order-search-txt">搜索</view>
</view>
<view class="order-tab">
<view class="order-tab-item" @click="onTabChange(1)" :class="{'order-tab-active':orderTab==1}">待配送(0)</view>
<view class="order-tab-item" @click="onTabChange(2)" :class="{'order-tab-active':orderTab==2}">已配送(0)</view>
</view>
<view class="order-list">
<scroll-view style="height: 100%;" :scroll-y="true" @scroll="onScroll">
<view class="order-list-wrap">
<view class="order-list-item" v-for="item in 10">
<view class="order-list-item-order_num">订单编号:123123123123</view>
<view class="order-list-item-trans">
<view class="order-list-item-trans-right">
<view class="order-type">配送订单</view>
<view class="order-reciver">收货人李斯</view>
<view class="order-verification-time">商品信息黄牛牛腩块2kg*5</view>
</view>
<view class="order-list-item-trans-left">
<u-image width="76rpx" height="76rpx" src="../../multipleShop/images/scan.png" />
</view>
</view>
</view>
</view>
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
</u-empty>
</scroll-view>
</view>
</view>
</template>
<script setup>
import {
onLoad
} from "@dcloudio/uni-app";
import {
ref
} from "vue";
// tab
const orderTab = ref(1);
const onTabChange = (e) => {
orderTab.value = e;
}
uni.login({
success(res) {
console.log(res);
}
})
const onScroll = (e) => {
console.log(e);
}
</script>

2
node_modules/.package-lock.json generated vendored
View File

@ -1,5 +1,5 @@
{ {
"name": "purchase-let", "name": "purchase_let",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {

2
package-lock.json generated
View File

@ -1,5 +1,5 @@
{ {
"name": "purchase-let", "name": "purchase_let",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {

View File

@ -22,6 +22,18 @@
} }
} }
}, },
{
"path": "pages/index/test",
"style": {
"navigationBarTitleText": "购物",
"disableScroll": true,
"enablePullDownRefresh": false,
"app-plus": {
//
"bounce": "none"
}
}
},
{ {
"path": "pages/login/login", "path": "pages/login/login",
"style": { "style": {
@ -56,6 +68,34 @@
], ],
"subPackages": [{ "subPackages": [{
"root": "multipleShop",
"pages": [{
"path": "index/index",
"style": {
"navigationBarTitleText": "选择门店",
"enablePullDownRefresh": false
}
}, {
"path": "verificationOrder/index",
"style": {
"navigationBarTitleText": "核销订单",
"enablePullDownRefresh": false
}
}, {
"path": "verificationOrder/detail",
"style": {
"navigationBarTitleText": "核销订单详情",
"enablePullDownRefresh": false
}
}, {
"path": "orderVerification/index",
"style": {
"navigationBarTitleText": "订单核销",
"enablePullDownRefresh": false
}
}]
}, {
"root": "pagesOrder", "root": "pagesOrder",
"pages": [{ "pages": [{
"path": "order/order", "path": "order/order",

View File

@ -26,8 +26,8 @@
<view class='headScoll' ref='headscroll' :style="{height:isScroll?'0':'200rpx'}"> <view class='headScoll' ref='headscroll' :style="{height:isScroll?'0':'200rpx'}">
<scroll-view class="head-view" scroll-x @scrolltolower="getgoodClassList(0)"> <scroll-view class="head-view" scroll-x @scrolltolower="getgoodClassList(0)">
<view class="list"> <view class="list">
<view class="item" :class="{'item-active': topActive===item.id}" v-for="(item, index) in goodClassList" <view class="item" :class="{'item-active': topActive===item.id}"
:key="index" @click="changeOne(item, index)"> v-for="(item, index) in goodClassList" :key="index" @click="changeOne(item, index)">
<view class="c-img"><up-image height="100rpx" width="100rpx" :src="item.pic"></up-image></view> <view class="c-img"><up-image height="100rpx" width="100rpx" :src="item.pic"></up-image></view>
<view class="c-text u-line-1">{{item.name}}</view> <view class="c-text u-line-1">{{item.name}}</view>
</view> </view>
@ -46,8 +46,8 @@
<view class="head-title">全部分类</view> <view class="head-title">全部分类</view>
<scroll-view scroll-y style="height: 600rpx;"> <scroll-view scroll-y style="height: 600rpx;">
<view class="list"> <view class="list">
<view class="item" :class="{'item-active': topActive===item.id}" v-for="(item, index) in goodClassList" <view class="item" :class="{'item-active': topActive===item.id}"
:key="index" @click="changeOne(item, index)"> v-for="(item, index) in goodClassList" :key="index" @click="changeOne(item, index)">
<view class="c-img"><up-image height="100rpx" width="100rpx" :src="item.pic"></up-image> <view class="c-img"><up-image height="100rpx" width="100rpx" :src="item.pic"></up-image>
</view> </view>
<view class="c-text u-line-1">{{item.name}}</view> <view class="c-text u-line-1">{{item.name}}</view>
@ -58,8 +58,8 @@
</viewPopup> </viewPopup>
<view class="scroll-box"> <view class="scroll-box">
<scroll-view class="left" scroll-y @scrolltolower="getgoodClassList(topActive)"> <scroll-view class="left" scroll-y @scrolltolower="getgoodClassList(topActive)">
<view class="item u-line-1" :class="{'item-active': leftActive===item.id}" v-for="(item, index) in goodClassTow" <view class="item u-line-1" :class="{'item-active': leftActive===item.id}"
:key="index" @click="changeTwo(item, index)">{{item.name}} v-for="(item, index) in goodClassTow" :key="index" @click="changeTwo(item, index)">{{item.name}}
</view> </view>
<view style="width: 100%;height: 450rpx;"></view> <view style="width: 100%;height: 450rpx;"></view>
</scroll-view> </scroll-view>
@ -81,30 +81,34 @@
<view class="item" :class="{'order-active': where.order==''}" @click="changeOrder('')">综合</view> <view class="item" :class="{'order-active': where.order==''}" @click="changeOrder('')">综合</view>
<view class="item" :class="{'order-active': where.order=='desc'||where.order=='asc'}" <view class="item" :class="{'order-active': where.order=='desc'||where.order=='asc'}"
@click="changeOrder(where.order=='asc'?'desc':'asc')">价格</view> @click="changeOrder(where.order=='asc'?'desc':'asc')">价格</view>
<view class="item" :class="{'order-active': where.order=='sales'}" @click="changeOrder('sales')">销量</view> <view class="item" :class="{'order-active': where.order=='sales'}"
@click="changeOrder('sales')">销量</view>
</view> </view>
</view> </view>
<viewPopup v-if="show===2" @close="show=0"> <viewPopup v-if="show===2" @close="show=0">
<view class="cateOne"> <view class="cateOne">
<scroll-view scroll-y style="height: 230rpx;" @scrolltolower="getgoodClassList(leftActive)"> <scroll-view scroll-y style="height: 230rpx;" @scrolltolower="getgoodClassList(leftActive)">
<view class="classify-list"> <view class="classify-list">
<view class="classify-list-item u-line-1" :class="{'item-active': rightActive===item.id}" <view class="classify-list-item u-line-1"
v-for="(item, index) in goodClassThree" :key="index" @click="changeThree(item, index)"> :class="{'item-active': rightActive===item.id}"
v-for="(item, index) in goodClassThree" :key="index"
@click="changeThree(item, index)">
{{item.name}} {{item.name}}
</view> </view>
</view> </view>
</scroll-view> </scroll-view>
</view> </view>
</viewPopup> </viewPopup>
<scroll-view class="list" id='drag_area' style="overscroll-behavior: none;" @scroll="hideHeadView" scroll-y <scroll-view class="list" id='drag_area' style="overscroll-behavior: none;" @scroll="hideHeadView"
@scrolltolower="loadMoreGood"> scroll-y @scrolltolower="loadMoreGood">
<view class="shop-item" v-for="(item, index) in goodList" :key="item.id" @click="openGoodPopup(item)"> <view class="shop-item" v-for="(item, index) in goodList" :key="item.id"
@click="openGoodPopup(item)">
<view class="shop-img"> <view class="shop-img">
<up-image width="120rpx" height="120rpx" :src="item.imgs"></up-image> <up-image width="120rpx" height="120rpx" :src="item.image"></up-image>
</view> </view>
<view class="shop-content"> <view class="shop-content">
<view class="title"> <view class="title">
<view class="name u-line-2">{{item.name}}</view> <view class="name u-line-2">{{item.store_name}}</view>
<view class="tip u-line-1"> <view class="tip u-line-1">
<text>{{item.spec}}</text> <text>{{item.spec}}</text>
<!-- <text>{{item.brand_name}}|</text> --> <!-- <text>{{item.brand_name}}|</text> -->
@ -113,7 +117,7 @@
</view> </view>
</view> </view>
<view class="price-btn"> <view class="price-btn">
<view class="price">{{item.sell}}</view> <view class="price">{{item.price}}</view>
<view class="btn"> <view class="btn">
<u--icon name="plus-circle-fill" size="20" color="#20b128"></u--icon> <u--icon name="plus-circle-fill" size="20" color="#20b128"></u--icon>
</view> </view>

127
pages/index/test.vue Normal file
View File

@ -0,0 +1,127 @@
<style lang="scss">
.detail {
width: 710rpx;
background: #FFFFFF;
border-radius: 12rpx;
margin: 24rpx auto 0;
padding: 0 30rpx 24rpx;
box-sizing: border-box;
.detail-order_num {
height: 78rpx;
line-height: 78rpx;
margin-bottom: 24rpx;
font-weight: 600;
font-size: 26rpx;
color: #333333;
border-bottom: 2rpx solid #f1f1f1;
}
.detail-form {
border-bottom: 2rpx solid #f1f1f1;
margin-bottom: 24rpx;
.detail-form-item {
margin-bottom: 16rpx;
font-size: 26rpx;
color: #333333;
}
}
.popup-goods {
display: flex;
justify-content: space-between;
width: 630rpx;
border-radius: 16rpx;
margin-bottom: 20rpx;
padding-bottom: 1rpx;
box-sizing: border-box;
border-bottom: 2rpx solid #f1f1f1;
.popup-goods-left {
margin-right: 24rpx;
}
.popup-goods-right {
flex-grow: 1;
.popup-goods-right-info {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
.goods_name {
font-size: 24rpx;
color: #333333;
}
.goods_price {
font-weight: bold;
font-size: 24rpx;
color: #060606;
}
}
.popup-goods-num {
margin-bottom: 20rpx;
font-size: 24rpx;
color: #777777;
text-align: right;
}
}
}
.popup-goods-total {
text-align: right;
.popup-goods-total-num {
font-size: 24rpx;
color: #666666;
}
.popup-goods-total-price {
font-size: 26rpx;
color: #333;
}
}
}
</style>
<template>
<view class="detail">
<view class="detail-order_num">订单编号:123123123</view>
<view class="detail-form">
<view class="detail-form-item">收货人</view>
<view class="detail-form-item">核销码</view>
<view class="detail-form-item">联系电话</view>
<view class="detail-form-item">核销门店</view>
<view class="detail-form-item">核销时间</view>
</view>
<view class="popup-goods">
<view class="popup-goods-left">
<u-image width="100rpx" height="100rpx" radius="8rpx" />
</view>
<view class="popup-goods-right">
<view class="popup-goods-right-info">
<text class='goods_name'>黄牛牛肉</text>
<text class="goods_price">10.00</text>
</view>
<view class="popup-goods-num">x5</view>
</view>
</view>
<view class="popup-goods-total">
<text class="popup-goods-total-num">共5件商品总金额</text>
<text class="popup-goods-total-price">50.00</text>
</view>
</view>
</template>
<script setup>
uni.login({
success(res) {
console.log(res);
}
})
</script>