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