From b83ba3cc4687f21d744e9866e10e30e91229e8a4 Mon Sep 17 00:00:00 2001
From: queenwuli <942534046@qq.com>
Date: Thu, 28 Jan 2021 16:23:30 +0800
Subject: [PATCH] gx

---
 hive-app/pages/workbench/selectProduct/index.vue |   56 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 41 insertions(+), 15 deletions(-)

diff --git a/hive-app/pages/workbench/selectProduct/index.vue b/hive-app/pages/workbench/selectProduct/index.vue
index fbc7de0..ed1bbba 100644
--- a/hive-app/pages/workbench/selectProduct/index.vue
+++ b/hive-app/pages/workbench/selectProduct/index.vue
@@ -5,8 +5,8 @@
 		<view class="list">
 			<scroll-view class="list-left" scroll-y="true">
 				<uni-collapse accordion="true" @change="toggleCollapse">
-				    <uni-collapse-item :showAnimation="true" :title="item.name" class="list-left-row"
-						v-if="item.parentId===0" v-for="item in goodsTypeList">
+				    <uni-collapse-item :showAnimation="true" :open="item.id==cateId" :title="item.name" :isShowIcon="isShowIcon(item)" class="list-left-row"
+						v-if="item.parentId===0" v-for="(item, index) in goodsTypeList">
 				        <view class="list-row-wrap">
 							<view class="list-row" :class="op.id==cateId?'blue':''"
 								v-for="op in goodsTypeList" 
@@ -42,6 +42,7 @@
 				<view v-if="goodsList.length">
 					<uni-load-more :status="loadStatus" color="#a5abaf"></uni-load-more>
 				</view>
+				<no-record :isShow="!goodsList.length" txt="暂无产品/项目"></no-record>
 			</scroll-view>
 		</view>
 		<view class="footer">
@@ -54,7 +55,7 @@
 			</view>
 			<button class="blue-btn btn mr-0" @click="submit" :disabled="isEnableSumbit">提交订单</button>
 		</view>
-		<shopping-cart ref="shopCart" :list="selectItems" @addGoods="addGoods" @decreaseGoods="decreaseGoods" @reset="clearShopCart"></shopping-cart>
+		<shopping-cart ref="shopCart" :list="selectItems" @freeChange="freeChange" @addGoods="addGoods" @decreaseGoods="decreaseGoods" @reset="clearShopCart"></shopping-cart>
 	</view>
 </template>
 
@@ -75,6 +76,7 @@
 		data(){
 			return{
 				id: '',
+				tabIndex: '0',
 				goodsTypeList: [], 
 				goodsList: [],
 				cateId: null,//当前产品类别id
@@ -97,7 +99,9 @@
 			totalAmount(){
 				let amount = 0;
 				this.selectItems.forEach((item) => {
-					amount += item.price * item.num;
+					if(!item.isFree){
+						amount += item.price * item.num;
+					}
 				})
 				return amount;
 			},
@@ -115,7 +119,7 @@
 		onPullDownRefresh(){
 			this.reloadData();
 			let timer = setTimeout(function () {
-				uni.startPullDownRefresh();
+				uni.stopPullDownRefresh();
 				clearTimeout(timer);
 				timer = null;
 			}, 800);
@@ -129,6 +133,15 @@
 			},
 			scrolltolower(){
 				this.loadGoodsList()
+			},
+			isShowIcon(item){
+				let count = 0;
+				this.goodsTypeList.forEach((op) => {
+					if(op.parentId==item.id){
+						count ++ 
+					}
+				});
+				return count?true:false;
 			},
 			openShoppingCart(){
 				this.$refs.shopCart.toggle()
@@ -187,6 +200,9 @@
 				})
 				return arr.length?arr[0].parentId:'';
 			},
+			toggleAll(arr){
+				this.changeGoodsType('');
+			},
 			// 打开关闭面板
 			toggleCollapse(arr){
 				if(!arr.length){
@@ -207,6 +223,11 @@
 				this.cateId = id;
 				this.reloadData();
 			},
+			freeChange(data){
+				data.goods.isFree = !data.goods.isFree;
+				this.$set(this.selectItems, data.index, data.goods)
+			},
+			// 添加商品
 			addGoods(goods){
 				goods.num ++ 
 				// 所有商品列表的下标
@@ -228,7 +249,7 @@
 				if(selectIndex > -1){
 					this.selectItems[selectIndex].num = goods.num;
 				}else{
-					this.selectItems.push(goods);
+					this.selectItems.push(Object.assign(goods, {isFree: false}));
 				}
 				
 			},
@@ -280,7 +301,7 @@
 		display: flex;
 		flex-direction: column;
 		height: 100%;
-		padding: 10px 0 0;
+		padding-top: 10px;
 		box-sizing: border-box;
 	}
 	.search-bar{
@@ -306,9 +327,11 @@
 		border-bottom: 0;
 	}
 	.uni-collapse{
-		background: transparent;
+		background-color: #F6F6F8!important;
 	}
-	
+	.uni-collapse-cell{
+		border-color: #F6F6F8!important;
+	}
 	.uni-collapse-cell__title:active, .uni-collapse-cell--hover, .uni-collapse-cell--open, .uni-collapse-cell--disabled{
 		background-color: #FFFFFF!important;
 	}
@@ -327,11 +350,11 @@
 		padding: 10px;
 		margin: 0 10px 10px;
 		border: 1px solid #EDEAF4;
-		box-shadow:0 6px 6px rgba(237,234,244,0.5);
+		box-shadow:0 6px 6px rgba(237,234,244,0.4);
 		border-radius: 4px;
 		font-size: 13px;
 	}
-	.list-right-row:nth-last-of-type(1){
+	.list-row .list-right-row:nth-last-of-type(1){
 		margin-bottom: 0;
 	}
 	.list-right-row .product-img{
@@ -350,8 +373,11 @@
 		display: flex;
 		justify-content: space-between;
 		background: #FFFFFF;
-		padding: 10px 10px;
-		box-shadow: 0 6px 100px rgba(237,234,244,1);
+		padding: 10px;
+		padding-bottom: 10px;
+		padding-bottom: calc(10px + constant(safe-area-inset-bottom));  
+		padding-bottom: calc(10px + env(safe-area-inset-bottom)); 
+		box-shadow: 0 -6px 6px rgba(237,234,244,0.2);
 	}
 	.footer .icon-car-wrap{
 		position: relative;
@@ -375,8 +401,8 @@
 	}
 	.footer .btn{
 		border-radius: 20px;
-		line-height: 34px;
-		padding: 0 24px;
+		line-height: 36px;
+		padding: 0 26px;
 		font-size: 14px;
 	}
 </style>

--
Gitblit v1.9.1