From 923e854bd0abf94557bfad7829541abb81cac322 Mon Sep 17 00:00:00 2001
From: youmengting <2080639302@qq.com>
Date: Wed, 26 Apr 2023 09:38:41 +0800
Subject: [PATCH] 4/26
---
App.vue | 13 +
components/J-skeleton/J-skeleton.vue | 270 ++++
components/J-skeleton/README.md | 77 ++
components/cart-choose/cart-choose.vue | 36 +-
components/goods-list/goods-list.vue | 1148 +++++++++--------
components/search/search.vue | 94 +-
.../uni-goods-nav/uni-goods-nav.vue | 2 +-
components/wyb-popup/wyb-popup.vue | 2 +-
manifest.json | 4 +-
pages.json | 14 +-
pages/tabBar/classify/classify.css | 34 +-
pages/tabBar/classify/classify.vue | 161 ++-
pages/user/order_list/order_list.vue | 2 +-
.../address/addNewAddress/addNewAddress.vue | 140 +-
physical-merchants/address/address.vue | 54 +-
physical-merchants/classify/cart/cart.vue | 119 +-
.../classify/goods-search/goods-search.vue | 4 +-
.../classify/goodsDetail/goodsDetail.vue | 12 +-
.../classify/order/orderDetail.vue | 4 +-
physical-merchants/classify/order/pay.vue | 12 +-
.../classify/order/paymentResult.vue | 2 +-
.../detail-popup/detail-popup.vue | 10 +-
.../settleAccounts/settleAccounts.vue | 67 +-
uni.scss | 4 +-
.../uni-goods-nav/uni-goods-nav.vue | 2 +-
.../uni-number-box/uni-number-box.vue | 4 +-
26 files changed, 1383 insertions(+), 908 deletions(-)
create mode 100644 components/J-skeleton/J-skeleton.vue
create mode 100644 components/J-skeleton/README.md
diff --git a/App.vue b/App.vue
index 7448537..059f6e0 100644
--- a/App.vue
+++ b/App.vue
@@ -271,6 +271,19 @@
}
+ /* 解决小程序和app滚动条的问题 */
+ /* #ifdef MP-WEIXIN || APP-PLUS */
+ ::-webkit-scrollbar{
+ display: none;
+ }
+ /* #endif */
+ /* 解决H5 的问题 */
+ /* #ifdef H5 */
+ uni-scroll-view .uni-scroll-view::-webkit-scrollbar {
+ /* 隐藏滚动条,但依旧具备可以滚动的功能 */
+ display: none
+ }
+ /* #endif */
diff --git a/components/J-skeleton/J-skeleton.vue b/components/J-skeleton/J-skeleton.vue
new file mode 100644
index 0000000..3eaa209
--- /dev/null
+++ b/components/J-skeleton/J-skeleton.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/J-skeleton/README.md b/components/J-skeleton/README.md
new file mode 100644
index 0000000..77c64e1
--- /dev/null
+++ b/components/J-skeleton/README.md
@@ -0,0 +1,77 @@
+# skeleton
+感谢原作者 https://ext.dcloud.net.cn/plugin?id=852
+
+自己项目非常需要骨架,正好原作者发布了1.0 根据自己项目 自己修改了下。
+
+目前仅支持:
+1.轮播图
+2.分类栏
+3.头像
+4.文章条
+5.动态心情
+
+以上是根据自己项目修改的,后续再拓展,或者自己根据自己项目修改,原作者写的还是很灵活的,修改方便!
+
+
+## 属性说明
+
+|属性名|类型|默认值|说明|
+| -- | -- | --|--|
+| loading | Boolean | true | 是否显示占位图 |
+| flexType | String | flex-start | 排列方式 center 居中 √ space-between 两端对齐 √ space-around 子元素拉手分布 √ flex-start 居左 flex-end 居右 |
+| imgTitle | Boolean | false | 轮播图占位图 |
+| showAvatar | Boolean | true | 是否显示头像占位图 |
+| nameRow | Number | 1 | 显示头像圆1个 |
+| avatarSize | String | 50px | 头像站占位图大小 |
+| avatarShape | String | round | 头像形状,可选值:round, square |
+| showTitle | Boolean | true | 是否显示标题占位图 |
+| titleWidth | String | 40% | 标题占位图宽度 |
+| row | Number| 3 | 标题段落占位图行数 |
+| animate | Boolean | true | 是否开启动画 |
+
+## 使用示例
+
+```html
+
+ 我是段落1
+
+```
+
+```javascript
+import Skeleton from '../components/skeleton/index.vue'
+export default {
+ components: {
+ Skeleton
+ },
+ data() {
+ return {
+ loading: true,
+ skeleton1 : {
+ avatarSize: '52px',
+ row: 3,
+ showTitle: true,
+ }
+ }
+ },
+ created() {
+ this.reloadData()
+ },
+ methods: {
+ reloadData() {
+ this.loading = true
+ setTimeout(() => {
+ this.loading = false
+ }, 3000)
+ },
+ },
+}
+```
+
+## 效果图
+
+![](http://images.alisali.cn/img_20191014113211.png)
diff --git a/components/cart-choose/cart-choose.vue b/components/cart-choose/cart-choose.vue
index 0e11ea2..dfa798c 100644
--- a/components/cart-choose/cart-choose.vue
+++ b/components/cart-choose/cart-choose.vue
@@ -8,10 +8,10 @@
- 原价 ¥{{specificationList[chooseIndex].originalPrice}}
+ 原价¥{{specificationList[chooseIndex].originalPrice}}
-
- 现价 ¥{{specificationList[chooseIndex].price}}
+
+ 现价 ¥{{specificationList[chooseIndex].price}}
@@ -39,7 +39,7 @@
-
+
选择规格
@@ -54,9 +54,9 @@
-
+
购买数量
-
+
@@ -119,6 +119,14 @@
default:{}
}
},
+ watch:{
+ specificationList:{
+ handler(n,o){
+ this.chooseNumber = 1;
+ },
+ deep:true
+ }
+ },
components:{
"uni-number-box":uniNumberBox
},
@@ -266,7 +274,7 @@
.choose-detail {
position: relative;
- padding: 20rpx 20rpx 80rpx 20rpx;
+ padding: 20rpx 20rpx 100rpx 20rpx;
//选择
.choose-top {
display: flex;
@@ -286,7 +294,7 @@
display: inline-block;
height: 50rpx;
line-height: 50rpx;
- padding: 10rpx;
+ padding: 10rpx 20rpx;
color: white;
background-color: #F95100;
border-radius: 45rpx;
@@ -357,9 +365,9 @@
width: calc(100% - 40rpx);
padding-bottom: 20rpx;
.choose-way{
- height: 60rpx;
+ height: 70rpx;
width: 100%;
- border-radius: 30rpx;
+ border-radius: 35rpx;
overflow: hidden;
display: flex;
align-items: center;
@@ -367,15 +375,15 @@
.way{
width: 50%;
- height: 60rpx;
- line-height: 60rpx;
+ height:70rpx;
+ line-height:70rpx;
text-align: center;
}
.way1{
width: 100% ;
- height: 60rpx;
- line-height: 60rpx;
+ height: 70rpx;
+ line-height: 70rpx;
text-align: center;
}
diff --git a/components/goods-list/goods-list.vue b/components/goods-list/goods-list.vue
index 9e22e4b..93dd3e4 100644
--- a/components/goods-list/goods-list.vue
+++ b/components/goods-list/goods-list.vue
@@ -1,99 +1,92 @@
-
-
-
-
-
+
+
-
- {{ refreshText[refreshStatus] }}
+
+ {{ refreshText[refreshStatus] }}
-
+
-
-
-
-
-
-
- {{item.name}}
-
- {{item.listDescribe || ''}}
+
+
+
+
+
+
+ {{item.name}}
+
+ {{item.listDescribe || ''}}
- ¥{{item.price}}
+ ¥{{item.price}}
¥{{item.originalPrice}}
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
-
-
+
+
+
-
- {{ emptyText }}
+
+
-
+
-
-
-
+
+
+
- {{ loadText[loadStatus] }}
+ {{ loadText[loadStatus] }}
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
{{item.name}}
- {{item.listDescribe || ''}}
+ {{item.listDescribe || ''}}
@@ -105,634 +98,687 @@
-
+
-
-
-
+
+
+
+
+
+
+
+
-
-
-
- {{ emptyText }}
-
-
+
-
-
-
+
+
+
-
-
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
+
-
+
-
\ No newline at end of file
+
diff --git a/components/search/search.vue b/components/search/search.vue
index 2fd5aeb..e42c7fc 100644
--- a/components/search/search.vue
+++ b/components/search/search.vue
@@ -1,12 +1,11 @@
-
-
+
-
+
@@ -21,14 +20,6 @@
},
components: {},
props: {
- propUrl: {
- type: String,
- default: '/pages/goods-search/goods-search'
- },
- propFormName: {
- type: String,
- default: 'keywords'
- },
propPlaceholder: {
type: String,
default: '输入商品名称搜索'
@@ -37,41 +28,28 @@
type: String,
default: 'cr-grey'
},
- propTextColor: {
- type: String,
- default: '#666'
- },
- propBgColor: {
- type: String,
- default: '#FFFFFF'
- },
- propBrColor: {
- type: String,
- default: ''
- },
propIsRequired: {
type: Boolean,
default: true
},
- propIsOnEvent: {
- type: Boolean,
- default: false
- },
- // propIcon: {
- // type: String,
- // default: 'search'
- // },
- propIsIconOnEvent: {
- type: Boolean,
- default: false
- },
+ disableInput:{
+ type: Boolean,
+ default: false
+ }
+
},
+ // watch:{
+ // propKeyWords:{
+ // handler(n,o){
+ // this.keywords = n;
+ // },
+ // immediate:true
+ // }
+ // },
methods: {
// 搜索事件
search_input_event() {
- // var keywords = e.detail.value || null;
- // console.log(this.keywords)
this.keywords = this.keywords || null;
// 是否验证必须要传值
if (this.propIsRequired && this.keywords == null) {
@@ -82,29 +60,23 @@
});
return false;
}
-
- // 是否回调事件
- // if(this.propIsOnEvent) {
- this.$emit('onsearch', this.keywords);//回调
- // } else {
- // // 进入搜索页面
- // uni.navigateTo({
- // url: this.propUrl+'?'+this.propFormName+'=' + keywords
- // });
- // }
+ this.$emit('onsearch', this.keywords);//回调
},
- // icon事件
- // search_icon_event(e) {
- // // 是否回调事件
- // if(this.propIsIconOnEvent) {
- // this.$emit('onicon', {});
- // }
- // }
- }
+ },
+ destroyed() {
+ this.keywords = ""
+ }
};
\ No newline at end of file
diff --git a/components/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue b/components/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue
index 11d74ae..05eef79 100644
--- a/components/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue
+++ b/components/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue
@@ -114,7 +114,7 @@
.uni-tab__cart-box {
flex: 1;
- height: 50px;
+ height: 60px;
background-color: #fff;
z-index: 900;
}
diff --git a/components/wyb-popup/wyb-popup.vue b/components/wyb-popup/wyb-popup.vue
index cd51a8a..a470972 100644
--- a/components/wyb-popup/wyb-popup.vue
+++ b/components/wyb-popup/wyb-popup.vue
@@ -148,7 +148,7 @@
if (this.type === 'left' || this.type === 'right') {
return '100%'
} else {
- return '400px'
+ return `${this.height}px`
}
}
}
diff --git a/manifest.json b/manifest.json
index 2bc71e7..9383752 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,6 +1,6 @@
{
"name" : "嗨森逛",
- "appid" : "__UNI__E807B53",
+ "appid" : "__UNI__70C9511",
"description" : "",
"versionName" : "1.2.1",
"versionCode" : "100",
@@ -70,7 +70,7 @@
"desc" : "你的位置信息将用于小程序定位"
}
},
- "requiredPrivateInfos" : [ "getLocation","chooseAddress" ]
+ "requiredPrivateInfos" : [ "getLocation", "chooseAddress" ]
},
"h5" : {
"sdkConfigs" : {
diff --git a/pages.json b/pages.json
index eba1b05..8bde333 100644
--- a/pages.json
+++ b/pages.json
@@ -35,7 +35,8 @@
"navigationBarTitleText": "商品",
"navigationBarBackgroundColor": "#3da7e7",
"backgroundColorTop": "#3da7e7",
- "onReachBottomDistance": 50,
+ "enablePullDownRefresh": false,
+ "disableScroll": true,
"app-plus": {
"titleNView": false, //禁用原生导航栏
"softinputNavBar": "none"
@@ -1095,14 +1096,17 @@
"navigationBarTitleText": "搜索",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#3da7e7",
- "backgroundColorTop": "#3da7e7"
+ "backgroundColorTop": "#3da7e7",
+ "navigationBarTextStyle": "white"
}
},
{
"path": "classify/cart/cart",
"style": {
"navigationBarTitleText": "购物车",
- "enablePullDownRefresh": false
+ "enablePullDownRefresh": false,
+ "disableScroll": true
+
}
},
{
@@ -1131,6 +1135,10 @@
"style": {
"navigationBarTitleText": "订单确认",
"enablePullDownRefresh": false
+ },
+ "app-plus": {
+ // "softinputNavBar": "none",
+ "softinputMode": "adjustResize"
}
},
{
diff --git a/pages/tabBar/classify/classify.css b/pages/tabBar/classify/classify.css
index 8b78391..3f810db 100644
--- a/pages/tabBar/classify/classify.css
+++ b/pages/tabBar/classify/classify.css
@@ -33,6 +33,13 @@
.bs{
box-sizing: border-box;
}
+
+/* 商品comtainer */
+
+.nav-container{
+ height:calc(100% - 150rpx );
+}
+
/**
* 左侧导航
*/
@@ -41,7 +48,8 @@
}
.left-nav {
width: 200rpx;
- height:calc(100% - 150rpx );
+ /* height:calc(100% - 150rpx ); */
+ height:100%;
background-color: #F9F9F9;
}
@@ -130,14 +138,11 @@
.goods-right-content {
width: calc(100% - 200rpx);
- height: calc(100% - 150rpx);
- top: 150rpx;
- right: 0;
+ /* height: calc(100% - 150rpx); */
+ height: 100%;
background: #ffffff;
- /* padding-left: 20rpx;
- padding-right: 20rpx; */
box-sizing: border-box;
- /* overflow: auto; */
+
}
.right-content-actual {
height: calc(100% - 150rpx);
@@ -145,20 +150,17 @@
}
.goods-right-ms{
- /* height: calc(100% - 60rpx); */
- height: 100%;
- padding-top: 60rpx;
+ height: calc(100% - 60rpx);
+
+ /* padding-top: 60rpx; */
box-sizing: border-box;
}
.goods-right-content .sort-contain{
- position: fixed;
- /* top:150rpx; */
- width: calc(100% - 240rpx);
- z-index: 100;
+ /* position: fixed; */
+ width: 100%;
+ /* z-index: 100; */
background-color: #ffffff;
- /* background-color: #333333; */
-
}
.goods-right-content .sort-cla {
width: 100%;
diff --git a/pages/tabBar/classify/classify.vue b/pages/tabBar/classify/classify.vue
index 3c9eb05..29ed6b3 100644
--- a/pages/tabBar/classify/classify.vue
+++ b/pages/tabBar/classify/classify.vue
@@ -4,15 +4,24 @@
-
+
-
+
+
+
+
-
+
+
@@ -22,17 +31,21 @@
+
+
+
+
-
+
-
- {{item.title}}
+
+ {{item.title || ''}}
@@ -40,11 +53,11 @@
-
+
综合
- 销量
+
价格
@@ -54,22 +67,34 @@
-
-
+
+
+
+
+
+
-
-
+
@@ -80,13 +105,16 @@
import goodsList from '@/components/goods-list/goods-list.vue'
+ import skeleton from '@/components/J-skeleton/J-skeleton.vue'
+
import {getGoodsTypeTree,getListGoodsDetail,getShoppingCartList} from '@/Utils/physicalObject.js'
const app = getApp();
export default {
components: {
componentSearch,
goodsList,
- uniBadge
+ uniBadge,
+ skeleton
},
data(){
return{
@@ -107,7 +135,7 @@
pageData:{
pageStart:1,//页码
- pageNum:7,//每页有多少条数据
+ pageNum:20,//每页有多少条数据
navigateLastPage:1,//总共有几页
allData:0 //总共有多少条数据
},
@@ -118,27 +146,25 @@
// cartNum:app.globalData.cartNum,
hackReset:false,//强制刷新子组件
-
+ isLoading:false,
+ skeletonNum:[1,2,3,4],
}
},
- created() {
- // 数据加载
- this.init();
+
+ onLoad(){
+ // 数据加载
+ this.init();
+ this.isLoading = true;
},
- onShow(){
-
-
+ onShow(){
this.hackReset = false;
this.$nextTick(() => {
this.hackReset = true;
- })
-
-
+ })
},
-
methods:{
// 获取数据
init() {
@@ -180,7 +206,9 @@
},
-
+ touchFalse(){
+ return false;
+ },
//搜索事件
toSearch() {
uni.navigateTo({
@@ -209,7 +237,7 @@
this.goodsListData = [];
this.pageData={
pageStart:1,
- pageNum:7,
+ pageNum:20,
allData:0
}
this.get_goods_list(this.data_content.children[this.nav_active_item_two_index].key)
@@ -233,8 +261,12 @@
pageSize:_this.pageData.pageNum,
price:price,
}
+
// console.log(params,"params")
- getListGoodsDetail(params).then(res=>{
+ getListGoodsDetail(params).then(res=>{
+ setTimeout(()=>{
+ this.isLoading = false;
+ },200)
if (res.return_code == '000000') {
if(res.return_data.list.length > 0){
_this.goodsListData =_this.goodsListData.concat(res.return_data.list);
@@ -265,7 +297,7 @@
// pageData:{
// pageStart:1,//页码
- // pageNum:7,//每页有多少条数据
+ // pageNum:20,//每页有多少条数据
// navigateLastPage:1,//总共有几页
// allData:0 //总共有多少条数据
// },
@@ -315,11 +347,15 @@
},
+
+
}
}
\ No newline at end of file
diff --git a/pages/user/order_list/order_list.vue b/pages/user/order_list/order_list.vue
index 959528f..f3c4506 100644
--- a/pages/user/order_list/order_list.vue
+++ b/pages/user/order_list/order_list.vue
@@ -81,7 +81,7 @@
- {{row.title}}
+ {{row.title.replaceAll("+", "|")}}
diff --git a/physical-merchants/address/addNewAddress/addNewAddress.vue b/physical-merchants/address/addNewAddress/addNewAddress.vue
index 17de1d3..c5c90dc 100644
--- a/physical-merchants/address/addNewAddress/addNewAddress.vue
+++ b/physical-merchants/address/addNewAddress/addNewAddress.vue
@@ -3,70 +3,73 @@