|  |  | 
 |  |  |             <view class="item" :class="flg==index?'cur':''" @click="go(index,item)">
 | 
 |  |  | 
 | 
 |  |  |                 <view v-if="index==0">
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-home-1.png" class="footer-icon" v-if="flg==0"></image>
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-home-0.png" class="footer-icon" v-if="flg!=0"></image>
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-home-1.png" class="footer-icon"
 | 
 |  |  |                         v-if="flg==0"></image>
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-home-0.png" class="footer-icon"
 | 
 |  |  |                         v-if="flg!=0"></image>
 | 
 |  |  |                 </view>
 | 
 |  |  |                 <view v-if="index==1">
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-trade-1.png" class="footer-icon" v-if="flg==1"></image>
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-trade-0.png" class="footer-icon" v-if="flg!=1"></image>
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-trade-1.png" class="footer-icon"
 | 
 |  |  |                         v-if="flg==1"></image>
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-trade-0.png" class="footer-icon"
 | 
 |  |  |                         v-if="flg!=1"></image>
 | 
 |  |  |                 </view>
 | 
 |  |  |                 <view v-if="index==2">
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-shopping-1.png" class="footer-icon" v-if="flg==2">
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-shopping-1.png" class="footer-icon"
 | 
 |  |  |                         v-if="flg==2">
 | 
 |  |  |                     </image>
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-shopping-0.png" class="footer-icon" v-if="flg!=2">
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-shopping-0.png" class="footer-icon"
 | 
 |  |  |                         v-if="flg!=2">
 | 
 |  |  |                     </image>
 | 
 |  |  |                 </view>
 | 
 |  |  |                 <view v-if="index==3">
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-self-1.png" class="footer-icon" v-if="flg==3"></image>
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-self-0.png" class="footer-icon" v-if="flg!=3"></image>
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-self-1.png" class="footer-icon"
 | 
 |  |  |                         v-if="flg==3"></image>
 | 
 |  |  |                     <image src="../../static/images/customer/footer/footer-self-0.png" class="footer-icon"
 | 
 |  |  |                         v-if="flg!=3"></image>
 | 
 |  |  |                 </view>
 | 
 |  |  | 
 | 
 |  |  |                 <view>
 | 
 |  |  | 
 |  |  |                 tabBar: [{
 | 
 |  |  | 
 | 
 |  |  |                         "text": "首页",
 | 
 |  |  |                         "pagePath":'/pages/home/home'
 | 
 |  |  |                         "pagePath": '/pages/home/home'
 | 
 |  |  |                     },
 | 
 |  |  |                     {
 | 
 |  |  | 
 | 
 |  |  |                         "text": "交易大厅",
 | 
 |  |  |                         "pagePath":'/sub_pages/customer/trade/trade'
 | 
 |  |  |                         "pagePath": '/sub_pages/customer/trade/trade'
 | 
 |  |  |                     },
 | 
 |  |  |                     {
 | 
 |  |  | 
 | 
 |  |  |                         "text": "购物车",
 | 
 |  |  |                         "pagePath":'/sub_pages/customer/shopping/shopping'
 | 
 |  |  |                         "pagePath": '/sub_pages/customer/shopping/shopping'
 | 
 |  |  |                     },
 | 
 |  |  |                     {
 | 
 |  |  |                         "text": "我的",
 | 
 |  |  |                         "pagePath":'/pages/user/supplier-user'
 | 
 |  |  |                         "pagePath": '/pages/user/supplier-user'
 | 
 |  |  |                     }
 | 
 |  |  |                 ]
 | 
 |  |  |             }
 | 
 |  |  | 
 |  |  |         methods: {
 | 
 |  |  | 
 | 
 |  |  |             go(index, item) {
 | 
 |  |  |                 if (this.flg == ('' + index)) {
 | 
 |  |  |                 if (this.flg == index) {
 | 
 |  |  |                     return
 | 
 |  |  |                 }
 | 
 |  |  |                 uni.redirectTo({
 | 
 |  |  |                     url: item.pagePath
 | 
 |  |  | 
 | 
 |  |  |                 });
 | 
 |  |  |                 if (index===1||index===2) {
 | 
 |  |  |                     //交易大厅和购物车,这2个可以用跳转方式 | 
 |  |  |                     uni.navigateTo({ | 
 |  |  |                         url:item.pagePath | 
 |  |  |                     }) | 
 |  |  | 					 | 
 |  |  |                 }else{ | 
 |  |  |                     uni.redirectTo({ | 
 |  |  |                         url: item.pagePath | 
 |  |  | 					 | 
 |  |  |                     }); | 
 |  |  |                 }
 | 
 |  |  | 				 | 
 |  |  |             },
 | 
 |  |  |         }
 | 
 |  |  |     }
 | 
 
 |  |  | 
 |  |  |             show() { | 
 |  |  |                 this.isOpened = true | 
 |  |  |                 setTimeout(() => { | 
 |  |  |                     this.$refs.pickerView.updateData({ | 
 |  |  |                     this.$refs.pickerView&&this.$refs.pickerView.updateData({ | 
 |  |  |                         treeData: this._treeData, | 
 |  |  |                         selected: this.selected, | 
 |  |  |                         selectedIndex: this.selectedIndex | 
 |  |  | 
 |  |  |         .tree-filter-nodes { | 
 |  |  |             padding-left: 40rpx; | 
 |  |  |             padding-right: 40rpx; | 
 |  |  |             overflow-y: scroll; | 
 |  |  |             max-height: 80vh; | 
 |  |  |  | 
 |  |  |             .tree-filter-node { | 
 |  |  |                 display: flex; | 
 
 |  |  | 
 |  |  |     "quickapp" : {}, | 
 |  |  |     /* 快应用特有相关 */ | 
 |  |  |     "mp-weixin" : { | 
 |  |  |         "appid" : "wx1441324401626290", | 
 |  |  |         "appid" : "wx3203fd935a6ffe09", | 
 |  |  |         "setting" : { | 
 |  |  |             "urlCheck" : false, | 
 |  |  |             "es6" : true, | 
 
 |  |  | 
 |  |  |         {
 | 
 |  |  |             "path": "pages/order/order-delivery-detail",
 | 
 |  |  |             "style": {
 | 
 |  |  |                 "navigationBarTitleText": "订单详情"
 | 
 |  |  |                 "navigationBarTitleText": "配送单详情"
 | 
 |  |  |             }
 | 
 |  |  |         },
 | 
 |  |  |         {
 | 
 |  |  |             "path": "pages/order/order-delivery",
 | 
 |  |  |             "style": {
 | 
 |  |  |                 "navigationBarTitleText": "订单列表"
 | 
 |  |  |                 "navigationBarTitleText": "配送单列表"
 | 
 |  |  |             }
 | 
 |  |  |         },
 | 
 |  |  |         {
 | 
 
 |  |  | 
 |  |  |     <view class=" home-banner-imgs"> | 
 |  |  |         <view class="flex" v-if="list&&list.length>=3"> | 
 |  |  |             <view class="flex1 m-r-5"> | 
 |  |  |                 <image class="p1 img100" :src="list[0].url" mode="scaleToFill"> | 
 |  |  |                 <image class="p1 img100" :src="list[0].url" mode="scaleToFill" @click="previewImg(list[0].url)"> | 
 |  |  |                 </image> | 
 |  |  |             </view> | 
 |  |  |             <view class="flex1 m-l-5"> | 
 |  |  |                 <image class="p2 img100" :src="list[1].url" mode="scaleToFill"> | 
 |  |  |                 <image class="p2 img100" :src="list[1].url" mode="scaleToFill" @click="previewImg(list[1].url)"> | 
 |  |  |                 </image> | 
 |  |  |                 <image class="p3 img100" :src="list[2].url" mode="scaleToFill"> | 
 |  |  |                 <image class="p3 img100" :src="list[2].url" mode="scaleToFill" @click="previewImg(list[2].url)"> | 
 |  |  |                 </image> | 
 |  |  |             </view> | 
 |  |  |         </view> | 
 |  |  |         <view class="flex l-2" v-else-if="list&&list.length>=2" mode="scaleToFill"> | 
 |  |  |             <view class="flex1 m-r-5"> | 
 |  |  |                 <image class="p1 img100" :src="list[0].url" mode="scaleToFill"> | 
 |  |  |                 <image class="p1 img100" :src="list[0].url" mode="scaleToFill" @click="previewImg(list[0].url)"> | 
 |  |  |                 </image> | 
 |  |  |             </view> | 
 |  |  |             <view class="flex1 m-l-5"> | 
 |  |  |                 <image class="p1 img100" :src="list[1].url" mode="scaleToFill"> | 
 |  |  |                 <image class="p1 img100" :src="list[1].url" mode="scaleToFill" @click="previewImg(list[1].url)"> | 
 |  |  |                 </image> | 
 |  |  |             </view> | 
 |  |  |         </view> | 
 |  |  |         <view class="flex l-1" v-else-if="list&&list.length>=1" mode="scaleToFill"> | 
 |  |  |             <view class="flex1 m-r-5"> | 
 |  |  |                 <image class="p1 img100" :src="list[0].url" mode="scaleToFill"> | 
 |  |  |                 <image class="p1 img100" :src="list[0].url" mode="scaleToFill" @click="previewImg(list[0].url)"> | 
 |  |  |                 </image> | 
 |  |  |             </view> | 
 |  |  |         </view> | 
 |  |  | 
 |  |  |             const { | 
 |  |  |                 data, | 
 |  |  |                 code | 
 |  |  |             } = await this.$http.request('get', '/api/pub/banner/list', { | 
 |  |  |             } = await this.$http.request('get', '/api/pub/advertisement/list', { | 
 |  |  |  | 
 |  |  |             }) | 
 |  |  |             if (code === 0) { | 
 |  |  |                 this.list = data || [] | 
 |  |  |                 for(var item of this.list){ | 
 |  |  |                     item.url = item.cover | 
 |  |  |                     try{ | 
 |  |  |                         if(item.url){ | 
 |  |  |                             var t = JSON.parse(item.url) | 
 |  |  | 
 |  |  |                     }catch(e){ | 
 |  |  |                         // console.log('error',e) | 
 |  |  |                     } | 
 |  |  |                     // item.url = item.cover | 
 |  |  |                 } | 
 |  |  |                 console.log(this.list) | 
 |  |  |             } | 
 
 |  |  | 
 |  |  | <template> | 
 |  |  |   <view class="home-top-flow"> | 
 |  |  |     <view class="item flex" v-for="(item,index) of list" :key="index"> | 
 |  |  |       <view class="img"> | 
 |  |  |         <image class="img img100" | 
 |  |  |                :src="item.cover"> | 
 |  |  |         </image> | 
 |  |  |         <view class="level"> | 
 |  |  |           {{ item.levelStr}} | 
 |  |  |         </view> | 
 |  |  |       </view> | 
 |  |  |     <view class="home-top-flow"> | 
 |  |  |         <view class="item flex" v-for="(item,index) of list" :key="index" @click="toDetail(item)"> | 
 |  |  |             <view class="img"> | 
 |  |  |                 <image class="img img100" :src="item.cover"> | 
 |  |  |                 </image> | 
 |  |  |                 <view class="level"> | 
 |  |  |                     {{ item.levelStr}} | 
 |  |  |                 </view> | 
 |  |  |             </view> | 
 |  |  |  | 
 |  |  |       <view class="m-l-12 info-container flex1"> | 
 |  |  |         <view class="title"> | 
 |  |  |           {{ item.name || '-' }} | 
 |  |  |           <view class="price"> | 
 |  |  |             ¥{{ item.price || 0 }}/扎 | 
 |  |  |           </view> | 
 |  |  |         </view> | 
 |  |  |         <view class="tags" v-if="item.tag"> | 
 |  |  |           <view class="tag red" v-for="(tag,k) of item.tagArr" :class="[k===0?'red':'green']" :key="tag">{{ | 
 |  |  |             <view class="m-l-12 info-container flex1"> | 
 |  |  |                 <view class="title"> | 
 |  |  |                     {{ item.name || '-' }} | 
 |  |  |                     <view class="price"> | 
 |  |  |                         ¥{{ item.price || 0 }}/扎 | 
 |  |  |                     </view> | 
 |  |  |                 </view> | 
 |  |  |                 <view class="tags" v-if="item.tag"> | 
 |  |  |                     <view class="tag red" v-for="(tag,k) of item.tagArr" :class="[k===0?'red':'green']" :key="tag">{{ | 
 |  |  |               tag | 
 |  |  |             }} | 
 |  |  |           </view> | 
 |  |  |           <!--                    <view class="tag red">限时抢购</view>--> | 
 |  |  |           <!--                    <view class="tag green">品质严选</view>--> | 
 |  |  |         </view> | 
 |  |  |         <view class="shop-name"> | 
 |  |  |           {{ item.supplierName || '佚名' }} | 
 |  |  |         </view> | 
 |  |  |         <view class="other-info flex"> | 
 |  |  |           <view class="m-r-15"> | 
 |  |  |             已售:{{ item.sales || 0 }} | 
 |  |  |           </view> | 
 |  |  |           <view class="m-r-15"> | 
 |  |  |             剩余:{{ item.stock || 0 }} | 
 |  |  |           </view> | 
 |  |  |           <view class="m-r-15"> | 
 |  |  |             {{ item.unit || 0 }} | 
 |  |  |           </view> | 
 |  |  |         </view> | 
 |  |  |       </view> | 
 |  |  |     </view> | 
 |  |  |   </view> | 
 |  |  |                     </view> | 
 |  |  |                     <!--                    <view class="tag red">限时抢购</view>--> | 
 |  |  |                     <!--                    <view class="tag green">品质严选</view>--> | 
 |  |  |                 </view> | 
 |  |  |                 <view class="shop-name"> | 
 |  |  |                     {{ item.supplierName || '佚名' }} | 
 |  |  |                 </view> | 
 |  |  |                 <view class="other-info flex"> | 
 |  |  |                     <view class="m-r-15"> | 
 |  |  |                         已售:{{ item.sales || 0 }} | 
 |  |  |                     </view> | 
 |  |  |                     <view class="m-r-15"> | 
 |  |  |                         剩余:{{ item.stock || 0 }} | 
 |  |  |                     </view> | 
 |  |  |                     <view class="m-r-15"> | 
 |  |  |                         {{ item.unit || 0 }} | 
 |  |  |                     </view> | 
 |  |  |                 </view> | 
 |  |  |                 <view class="button-buy  m-l-a m-r-0" v-if="item.status=='UP'"> | 
 |  |  |                     立即抢购 | 
 |  |  |                 </view> | 
 |  |  |             </view> | 
 |  |  |         </view> | 
 |  |  |     </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script> | 
 |  |  | export default { | 
 |  |  |   data() { | 
 |  |  |     return { | 
 |  |  |       // list: [{}, {}, {}, {}] | 
 |  |  |     }; | 
 |  |  |   }, | 
 |  |  |   mounted() { | 
 |  |  |     this.listApi = '/api/customer/flower/list' | 
 |  |  |     this.page.size = 4 | 
 |  |  |     this.page.current = 1 | 
 |  |  |     this.getList('post') | 
 |  |  |   }, | 
 |  |  |   methods: { | 
 |  |  |     getList_after() { | 
 |  |  |       if (this.list) { | 
 |  |  |         for (var item of this.list) { | 
 |  |  |           item.tagArr = [] | 
 |  |  |           if (item.tags) { | 
 |  |  |             item.tagArr = item.tags.split(",") || [] | 
 |  |  |           } | 
 |  |  |         } | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |     export default { | 
 |  |  |         data() { | 
 |  |  |             return { | 
 |  |  |                 // list: [{}, {}, {}, {}] | 
 |  |  |                 query: { | 
 |  |  |                     status: 'UP' | 
 |  |  |                 } | 
 |  |  |             }; | 
 |  |  |         }, | 
 |  |  |         mounted() { | 
 |  |  |             this.listApi = '/api/customer/flower/list' | 
 |  |  |             this.page.size = 4 | 
 |  |  |             this.page.current = 1 | 
 |  |  |             this.getList('post') | 
 |  |  |         }, | 
 |  |  |         methods: { | 
 |  |  |             getList_after() { | 
 |  |  |                 if (this.list) { | 
 |  |  |                     for (var item of this.list) { | 
 |  |  |                         item.tagArr = [] | 
 |  |  |                         if (item.tags) { | 
 |  |  |                             item.tagArr = item.tags.split(",") || [] | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |             toDetail(item) { | 
 |  |  |                 uni.navigateTo({ | 
 |  |  |                     url: '/sub_pages/customer/trade/detail?id=' + item.id | 
 |  |  |                 }) | 
 |  |  |             } | 
 |  |  |         }, | 
 |  |  |  | 
 |  |  | } | 
 |  |  |     } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style lang="scss"> | 
 |  |  | .home-top-flow { | 
 |  |  |   .item { | 
 |  |  |     margin-top: 20rpx; | 
 |  |  |     background: #FFFFFF; | 
 |  |  |     border-radius: 8rpx; | 
 |  |  |     padding: 10rpx; | 
 |  |  |     .home-top-flow { | 
 |  |  |         .item { | 
 |  |  |             margin-top: 20rpx; | 
 |  |  |             background: #FFFFFF; | 
 |  |  |             border-radius: 8rpx; | 
 |  |  |             padding: 10rpx; | 
 |  |  |  | 
 |  |  |     .info-container { | 
 |  |  |             .info-container { | 
 |  |  |                 .button-buy { | 
 |  |  |                     width: 128rpx; | 
 |  |  |                     height: 48rpx; | 
 |  |  |                     border-radius: 30rpx; | 
 |  |  |                     border: 2rpx solid #CF0000; | 
 |  |  |                     font-size: 24rpx; | 
 |  |  |                     color: #CF0000; | 
 |  |  |                     line-height: 48rpx; | 
 |  |  |                     text-align: center; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |       .other-info { | 
 |  |  |         margin-top: 6rpx; | 
 |  |  |         font-size: 24rpx; | 
 |  |  |         color: #666666; | 
 |  |  |         line-height: 34rpx; | 
 |  |  |         text-align: left; | 
 |  |  |       } | 
 |  |  |                 .other-info { | 
 |  |  |                     margin-top: 6rpx; | 
 |  |  |                     font-size: 24rpx; | 
 |  |  |                     color: #666666; | 
 |  |  |                     line-height: 34rpx; | 
 |  |  |                     text-align: left; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |       .shop-name { | 
 |  |  |         margin-top: 14rpx; | 
 |  |  |         font-size: 24rpx; | 
 |  |  |         color: #666666; | 
 |  |  |         line-height: 34rpx; | 
 |  |  |       } | 
 |  |  |                 .shop-name { | 
 |  |  |                     margin-top: 14rpx; | 
 |  |  |                     font-size: 24rpx; | 
 |  |  |                     color: #666666; | 
 |  |  |                     line-height: 34rpx; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |       .tags { | 
 |  |  |         margin-top: 12rpx; | 
 |  |  |         display: flex; | 
 |  |  |                 .tags { | 
 |  |  |                     margin-top: 12rpx; | 
 |  |  |                     display: flex; | 
 |  |  |  | 
 |  |  |         .tag { | 
 |  |  |           min-width: 80rpx; | 
 |  |  |           padding-left: 20rpx; | 
 |  |  |           padding-right: 20rpx; | 
 |  |  |           line-height: 36rpx; | 
 |  |  |           background: #FEE6E6; | 
 |  |  |           border-radius: 21rpx; | 
 |  |  |           font-size: 24rpx; | 
 |  |  |           color: #CD1212; | 
 |  |  |           margin-right: 12rpx; | 
 |  |  |           text-align: center; | 
 |  |  |         } | 
 |  |  |                     .tag { | 
 |  |  |                         min-width: 80rpx; | 
 |  |  |                         padding-left: 20rpx; | 
 |  |  |                         padding-right: 20rpx; | 
 |  |  |                         line-height: 36rpx; | 
 |  |  |                         background: #FEE6E6; | 
 |  |  |                         border-radius: 21rpx; | 
 |  |  |                         font-size: 24rpx; | 
 |  |  |                         color: #CD1212; | 
 |  |  |                         margin-right: 12rpx; | 
 |  |  |                         text-align: center; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |         .tag.green { | 
 |  |  |           color: rgba(110, 159, 102, 1); | 
 |  |  |           background: rgba(202, 229, 214, 1); | 
 |  |  |           border-radius: 21rpx; | 
 |  |  |           // opacity: 0.57; | 
 |  |  |         } | 
 |  |  |       } | 
 |  |  |                     .tag.green { | 
 |  |  |                         color: rgba(110, 159, 102, 1); | 
 |  |  |                         background: rgba(202, 229, 214, 1); | 
 |  |  |                         border-radius: 21rpx; | 
 |  |  |                         // opacity: 0.57; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |       .title { | 
 |  |  |         font-weight: 600; | 
 |  |  |         font-size: 32rpx; | 
 |  |  |         color: #000000; | 
 |  |  |         line-height: 44rpx; | 
 |  |  |         margin-top: 8rpx; | 
 |  |  |         position: relative; | 
 |  |  |                 .title { | 
 |  |  |                     font-weight: 600; | 
 |  |  |                     font-size: 32rpx; | 
 |  |  |                     color: #000000; | 
 |  |  |                     line-height: 44rpx; | 
 |  |  |                     margin-top: 8rpx; | 
 |  |  |                     position: relative; | 
 |  |  |  | 
 |  |  |         .price { | 
 |  |  |           position: absolute; | 
 |  |  |           font-weight: 400; | 
 |  |  |           font-size: 28rpx; | 
 |  |  |           color: #CF0000; | 
 |  |  |           line-height: 40rpx; | 
 |  |  |           top: 0; | 
 |  |  |           right: 0; | 
 |  |  |         } | 
 |  |  |       } | 
 |  |  |                     .price { | 
 |  |  |                         position: absolute; | 
 |  |  |                         font-weight: 400; | 
 |  |  |                         font-size: 28rpx; | 
 |  |  |                         color: #CF0000; | 
 |  |  |                         line-height: 40rpx; | 
 |  |  |                         top: 0; | 
 |  |  |                         right: 0; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |     .img { | 
 |  |  |       width: 206rpx; | 
 |  |  |       height: 206rpx; | 
 |  |  |       border-radius: 8rpx; | 
 |  |  |       position: relative; | 
 |  |  |             .img { | 
 |  |  |                 width: 206rpx; | 
 |  |  |                 height: 206rpx; | 
 |  |  |                 border-radius: 8rpx; | 
 |  |  |                 position: relative; | 
 |  |  |  | 
 |  |  |       .level { | 
 |  |  |         position: absolute; | 
 |  |  |         width: 66rpx; | 
 |  |  |         height: 44rpx; | 
 |  |  |         background: #20613D; | 
 |  |  |         left: 0; | 
 |  |  |         top: 0; | 
 |  |  |         border-top-left-radius: 8rpx; | 
 |  |  |         border-bottom-right-radius: 8rpx; | 
 |  |  |         color: #FFFFFF; | 
 |  |  |         line-height: 44rpx; | 
 |  |  |         font-size: 24rpx; | 
 |  |  |         text-align: center; | 
 |  |  |       } | 
 |  |  |                 .level { | 
 |  |  |                     position: absolute; | 
 |  |  |                     width: 66rpx; | 
 |  |  |                     height: 44rpx; | 
 |  |  |                     background: #20613D; | 
 |  |  |                     left: 0; | 
 |  |  |                     top: 0; | 
 |  |  |                     border-top-left-radius: 8rpx; | 
 |  |  |                     border-bottom-right-radius: 8rpx; | 
 |  |  |                     color: #FFFFFF; | 
 |  |  |                     line-height: 44rpx; | 
 |  |  |                     font-size: 24rpx; | 
 |  |  |                     text-align: center; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |   } | 
 |  |  | } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | </style> | 
 
 |  |  | 
 |  |  |                 v-if="banners&&banners.length>0" :autoplay="true">
 | 
 |  |  |                 <swiper-item v-for="(item, index) in banners" :key="index">
 | 
 |  |  |                     <view class="swiper-item" :class="'swiper-item' + index">
 | 
 |  |  |                         <image @click="previewImg(item.imageSmall||item.image)" class="home-banner-image"
 | 
 |  |  |                             mode="aspectFit" :src="item.imageSmall||item.image">
 | 
 |  |  |                         <image @click="previewImg(item.url||item.image)" class="home-banner-image" mode="scaleToFill"
 | 
 |  |  |                             :src="item.url||item.image">
 | 
 |  |  |                         </image>
 | 
 |  |  |                     </view>
 | 
 |  |  |                 </swiper-item>
 | 
 |  |  | 
 |  |  |             //获取banner图
 | 
 |  |  |             this.$http.request('get', '/api/pub/banner/list', {}).then(res => {
 | 
 |  |  |                 if (res.code == 0) {
 | 
 |  |  |                     this.banners = res.data.records || []
 | 
 |  |  |                     this.banners = res.data || []
 | 
 |  |  |                     if (this.banners.length == 0) {
 | 
 |  |  |                         this.banners.push({
 | 
 |  |  |                             url: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/62/62ddac6297104e369aba646be704064dbanner@2x.png'
 | 
 |  |  |                         })
 | 
 |  |  |                     } else {
 | 
 |  |  |                         for (var item of this.banners) {
 | 
 |  |  |                             // http://106.14.123.210/files/group1/e8/e1c17f7229514e5da211d8d47b09906b.jpeg
 | 
 |  |  |                             try {
 | 
 |  |  |                                 if (item.url) {
 | 
 |  |  |                                     var t = JSON.parse(item.url)
 | 
 |  |  |                                     if (Array.isArray(t)) {
 | 
 |  |  |                                         item.url = t[0] || ''
 | 
 |  |  |                                     } else {
 | 
 |  |  |                                         item.url = t.url || ''
 | 
 |  |  |                                     }
 | 
 |  |  |                                 }
 | 
 |  |  | 
 | 
 |  |  |                             } catch (e) {
 | 
 |  |  |                                 // console.log('error',e)
 | 
 |  |  |                             }
 | 
 |  |  |                         }
 | 
 |  |  |                     }
 | 
 |  |  |                 }
 | 
 |  |  |             })
 | 
 |  |  | 
 | 
 |  |  | 
 |  |  |             }
 | 
 |  |  |             //如果已经登录,加载一下默认地址
 | 
 |  |  |             let that = this
 | 
 |  |  |             setTimeout(()=>{
 | 
 |  |  |                 if(that.currentInfo.id&&!that.address.id){
 | 
 |  |  |                     that.$http.request('get', '/api/address/default/detail').then(res=>{
 | 
 |  |  |                         if(res.data){
 | 
 |  |  |                             that.$store.commit('setDefaultAddress', {...res.data})
 | 
 |  |  | 							 | 
 |  |  |             setTimeout(() => {
 | 
 |  |  |                 if (that.currentInfo.id && !that.address.id) {
 | 
 |  |  |                     that.$http.request('get', '/api/address/default/detail').then(res => {
 | 
 |  |  |                         if (res.data) {
 | 
 |  |  |                             that.$store.commit('setDefaultAddress', {
 | 
 |  |  |                                 ...res.data
 | 
 |  |  |                             })
 | 
 |  |  | 
 | 
 |  |  |                         }
 | 
 |  |  |                     })
 | 
 |  |  |                 }
 | 
 |  |  | 				 | 
 |  |  |             },2000)
 | 
 |  |  | 
 | 
 |  |  |             }, 2000)
 | 
 |  |  |             //公告
 | 
 |  |  |             this.$http.request('get', '/api/pub/announcement/list', {
 | 
 |  |  |                 params: {
 | 
 |  |  | 
 |  |  |                     // status: 'A'
 | 
 |  |  |                 }
 | 
 |  |  |             }).then(res => {
 | 
 |  |  |                 if (res.code === 0) { | 
 |  |  |                 if (res.code === 0) {
 | 
 |  |  |                     // (res.data && res.data.records || [])
 | 
 |  |  |                     this.noticeList =  res.data || []
 | 
 |  |  |                     this.noticeList = res.data || []
 | 
 |  |  |                     console.log('this.noticeList', this.noticeList)
 | 
 |  |  |                     if (this.noticeList.length > 0) {
 | 
 |  |  |                         this.currentNotice = this.noticeList[0]
 | 
 
 |  |  | 
 |  |  |  | 
 |  |  |         }, | 
 |  |  |         onReachBottom() { | 
 |  |  |             this.page.current += 1 | 
 |  |  |             this.getMore() | 
 |  |  |         }, | 
 |  |  |         async onPullDownRefresh() { | 
 
 |  |  | 
 |  |  |                     <view class="delivery-form"> | 
 |  |  |                         <view class="form-item"> | 
 |  |  |                             <view class="label">仓库名称</view> | 
 |  |  |                             <view class="value red">{{item.warehouseName}}</view> | 
 |  |  |                             <view class="value red">{{item.warehouseName || '待分配'}}</view> | 
 |  |  |                         </view> | 
 |  |  |                         <view class="form-item"> | 
 |  |  |                             <view class="label">库位名称</view> | 
 |  |  |                             <view class="value red">{{item.warehouseLocationCode}}</view> | 
 |  |  |                             <view class="value red">{{item.warehouseLocationCode || '待分配'}}</view> | 
 |  |  |                         </view> | 
 |  |  |  | 
 |  |  |                     </view> | 
 |  |  | 
 |  |  |  | 
 |  |  |         }, | 
 |  |  |         onReachBottom() { | 
 |  |  |             this.page.current += 1 | 
 |  |  |             this.getMore() | 
 |  |  |         }, | 
 |  |  |         async onShow() { | 
 
 |  |  | 
 |  |  |  | 
 |  |  |                 await this.getDetail() | 
 |  |  |                 await this.getItemList() | 
 |  |  |                 this.submitForm = { | 
 |  |  |                     orderId: this.id, | 
 |  |  |                     imageList: [], | 
 |  |  |                     videoList: [], | 
 |  |  |                     reason: [], | 
 |  |  |                     orderItems: [] | 
 |  |  |                 } | 
 |  |  |                 this.showSales = options.showsales && true || false | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             this.showSales = options.showsales && true || false | 
 |  |  |         }, | 
 |  |  |         methods: { | 
 |  |  |  | 
 
 |  |  | 
 |  |  |         </view> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         <view class="info-container bg-white m-t-12 br-4"> | 
 |  |  |             <view v-if="dto.imageList&&dto.imageList.length>0"> | 
 |  |  |                 <view class="form-item"> | 
 |  |  |                     <view class="label">图片: | 
 |  |  |                     </view> | 
 |  |  |                 </view> | 
 |  |  |                 <view class="flex p20"> | 
 |  |  |                     <view class="m-t-12 m-r-10 " v-for="(timg,index) of dto.imageList" :key="index"> | 
 |  |  |                         <image class="check-img" :src="timg" @click.stop="previewImg(timg)"> | 
 |  |  |                         </image> | 
 |  |  |                     </view> | 
 |  |  |                 </view> | 
 |  |  |             </view> | 
 |  |  |             <view v-if="dto.imageList&&dto.imageList.length>0"> | 
 |  |  |                 <view class="form-item"> | 
 |  |  |                     <view class="label">视频: | 
 |  |  |                     </view> | 
 |  |  |                 </view> | 
 |  |  |                 <view class="flex p20"> | 
 |  |  |                     <view class="m-t-12 m-r-10 " v-for="(timg,index) of dto.videoList" :key="index"> | 
 |  |  |                         <video :src="timg" style="display: block;margin: 0 auto;"></video> | 
 |  |  |  | 
 |  |  |                     </view> | 
 |  |  |                 </view> | 
 |  |  |             </view> | 
 |  |  |  | 
 |  |  |         </view> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     </view> | 
 |  |  | </template> | 
 |  |  | 
 |  |  |         .info-container { | 
 |  |  |             padding: 28rpx; | 
 |  |  |  | 
 |  |  |             .check-img { | 
 |  |  |                 width: 96rpx; | 
 |  |  |                 height: 96rpx; | 
 |  |  |                 border-radius: 4rpx; | 
 |  |  |                 border: 2rpx dashed #CECECE; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             .form-item { | 
 |  |  |                 font-weight: 400; | 
 |  |  |                 font-size: 28rpx; | 
 
 |  |  | 
 |  |  |  | 
 |  |  |         }, | 
 |  |  |         onReachBottom() { | 
 |  |  |             this.page.current += 1 | 
 |  |  |             this.getMore() | 
 |  |  |         }, | 
 |  |  |         async onPullDownRefresh() { | 
 
 |  |  | 
 |  |  |             this.getList() | 
 |  |  |         }, | 
 |  |  |         onReachBottom() { | 
 |  |  |             this.page.current += 1 | 
 |  |  |             this.getMore() | 
 |  |  |         }, | 
 |  |  |         async onPullDownRefresh() { | 
 |  |  | 
 |  |  |                     </view> | 
 |  |  |                     <view class="value">{{ item.customerAddress }}</view> | 
 |  |  |                 </view> | 
 |  |  |                 <view class="desc flex" v-if="item.status!=='PENDING'"> | 
 |  |  |                 <view class="desc flex" v-if="item.statusBackend!=='PENDING'"> | 
 |  |  |                     <view class="label"> | 
 |  |  |                         支付时间: | 
 |  |  |                     </view> | 
 |  |  | 
 |  |  |                 </view> | 
 |  |  |                 <view class="line-gray"></view> | 
 |  |  |                 <view class="flex buttons"> | 
 |  |  |                     <view class="button button-0 m-l-a m-r-0" v-if="item.status==='PENDING'" | 
 |  |  |                     <view class="button button-0 m-l-a m-r-15" v-if="item.statusBackend==='PENDING'" | 
 |  |  |                         @click="buttonClick(item,'cancelOrder')">取消订单</view> | 
 |  |  |                     <view class="button button-1 m-l-15 m-r-0" v-if="item.status==='PENDING'" | 
 |  |  |                     <view class="button button-1 m-l-15 m-r-15" v-if="item.statusBackend==='PENDING'" | 
 |  |  |                         @click="buttonClick(item,'payAgain')">重新支付</view> | 
 |  |  |  | 
 |  |  |                     <view class="button button-0 m-l-a m-r-0" @click="buttonClick('refund')" v-if="item.couldRefund"> | 
 |  |  |                     <view class="button button-0 m-l-a m-r-15" @click="buttonClick('refund')" v-if="item.couldRefund"> | 
 |  |  |                         申请退款 | 
 |  |  |                     </view> | 
 |  |  |                     <view class="button button-0 m-l-a m-r-0" @click="buttonClick('confirm')" | 
 |  |  |                         v-if="item.status ==='RECEIVE'"> 确认收货 | 
 |  |  |                     <view class="button button-0 m-l-a m-r-15" @click="buttonClick('confirm')" | 
 |  |  |                         v-if="item.statusBackend ==='RECEIVE'"> 确认收货 | 
 |  |  |                     </view> | 
 |  |  |  | 
 |  |  |                     <view class="button button-1 m-l-a m-r-0" @click="toDetailSale(item)" | 
 |  |  |                         v-if=" item.status === 'EVALUATE'||item.status=='COMPLETED'"> 申请售后 | 
 |  |  |                     <view class="button button-1 m-l-a m-r-15" @click="toDetailSale(item)" | 
 |  |  |                         v-if=" item.statusBackend === 'EVALUATE'||item.statusBackend=='COMPLETED'"> 申请售后 | 
 |  |  |                     </view> | 
 |  |  |                     <view class="button button-0 m-l-a m-r-0" @click="buttonClick(item,'evaluate')" | 
 |  |  |                         v-if=" item.status === 'EVALUATE'"> 评价 | 
 |  |  |                     <view class="button button-0 m-l-a m-r-15" @click="buttonClick(item,'evaluate')" | 
 |  |  |                         v-if=" item.statusBackend === 'EVALUATE'"> 评价 | 
 |  |  |                     </view> | 
 |  |  |  | 
 |  |  |  | 
 
 |  |  | 
 |  |  |                     <view class="order-icons" style="position: relative;" @click="goto('/pages/order/order?status=PENDING',true)">
 | 
 |  |  |                         <image src="../../static/images/customer/order/order-type-1.png" class="order-icon dfk"
 | 
 |  |  |                             style="position: relative;"> | 
 |  |  |                             <view class="image-shop-number">{{order_pendding_num||''}}</view>							 | 
 |  |  |                             <view class="image-shop-number" v-if="order_pendding_num">{{order_pendding_num||''}}</view>							 | 
 |  |  |                         </image>
 | 
 |  |  |                         <view>待付款</view>
 | 
 |  |  |                     </view>
 | 
 
 |  |  | 
 |  |  |                                 message.showToast('系统异常') | 
 |  |  |                             } else if (res.data.code === '401' || res.data && res.data.code && | 
 |  |  |                                 res.data.code.startsWith('401')) { | 
 |  |  |                                 console.log('resp', res) | 
 |  |  |                                 message.showToast('登录信息失效') | 
 |  |  |                                 storage.removeItem('token') | 
 |  |  |                                 reject({ | 
 |  |  | 
 |  |  |                                 uni.reLaunch({ | 
 |  |  |                                     url: '/pages/login/supplier-login' | 
 |  |  |                                 }) | 
 |  |  |                                 // #endif | 
 |  |  |  | 
 |  |  |                             } else { | 
 |  |  |                                 if (res.data.data && typeof res.data.data === 'string') { | 
 |  |  | 
 |  |  |                         // store.dispatch('/clearUserInfo') | 
 |  |  |                         // commit('updat') | 
 |  |  |                         // store.commit('updateLogin', false) | 
 |  |  |                         console.log('401',res) | 
 |  |  |                         message.showToast('登录信息失效') | 
 |  |  |                         storage.removeItem('token') | 
 |  |  |                         reject({ | 
 |  |  |                             data: null, | 
 |  |  |                             code: 401, | 
 |  |  |                             msg: 'Unauthorized' | 
 |  |  |                         }) | 
 |  |  |                         // #ifdef H5 | 
 |  |  |                         // #ifdef PUB_CUSTOMER | 
 |  |  |                         uni.reLaunch({ | 
 |  |  |                             url: '/views/pc/login.vue' | 
 |  |  |                             url: '/pages/user/supplier-user' | 
 |  |  |                         }) | 
 |  |  |                         // #endif | 
 |  |  |                         // #ifndef H5 | 
 |  |  |                         // #ifndef PUB_CUSTOMER | 
 |  |  |                         uni.reLaunch({ | 
 |  |  |                             url: '/' | 
 |  |  |                             url: '/pages/login/supplier-login' | 
 |  |  |                         }) | 
 |  |  |                         // #endif | 
 |  |  |  | 
 
 |  |  | 
 |  |  |             'shopping': 0, | 
 |  |  |             'follow': 0, | 
 |  |  |             'delivery': 0, | 
 |  |  |             'order':0 | 
 |  |  |             'order': 0 | 
 |  |  |         }, | 
 |  |  |         defaultaddress: {} | 
 |  |  |     }, | 
 |  |  | 
 |  |  |             state | 
 |  |  |         }, data) { | 
 |  |  |             { | 
 |  |  |                 const resp = await http.request('post', '/api/login/customer' + ((data.phoneNumber || data.tel) ? '/phone' : ''), { | 
 |  |  |                 const resp = await http.request('post', '/api/login/customer' + ((data.phoneNumber || data | 
 |  |  |                     .tel) ? '/phone' : ''), { | 
 |  |  |                     data: { | 
 |  |  |                         username: (data.phoneNumber || data.tel) ? (data.phoneNumber || | 
 |  |  |                             data.tel) : data.username, | 
 |  |  | 
 |  |  |         }, | 
 |  |  |         submitShopping: async function({ | 
 |  |  |             commit, | 
 |  |  |             dispatch | 
 |  |  |             dispatch, | 
 |  |  |             state | 
 |  |  |         }, data) { | 
 |  |  |             const resp = await http.request('post', '/api/customer/flower/cart/change-num', { | 
 |  |  |                 data: { | 
 |  |  |                     id: data.id, | 
 |  |  |                     num: 1 | 
 |  |  |                 } | 
 |  |  |             }) | 
 |  |  |             if (resp && resp.code === 0) { | 
 |  |  |                 message.showToast('添加购物车成功') | 
 |  |  |                 dispatch('sign_add', 'shopping') | 
 |  |  |             } else { | 
 |  |  |  | 
 |  |  |             if(!state.currentInfo.id){ | 
 |  |  |                 message.showToast('请先登录') | 
 |  |  |                 return | 
 |  |  |             } | 
 |  |  |             return resp | 
 |  |  |             //输入要添加多少个 | 
 |  |  |             const res = await message.confirm('', { | 
 |  |  |                 editable: true, | 
 |  |  |                 title: '请输入购买数目' | 
 |  |  |             }) | 
 |  |  |             if (res.content && res.confirm) { | 
 |  |  |                 var t = res.content | 
 |  |  |                 if (!isNaN(parseInt(t)) && t > 0) { | 
 |  |  |                     message.showLoading() | 
 |  |  |                     const resp = await http.request('post', '/api/customer/flower/cart/change-num', { | 
 |  |  |                         data: { | 
 |  |  |                             id: data.id, | 
 |  |  |                             num: parseInt(t) | 
 |  |  |                         } | 
 |  |  |                     }) | 
 |  |  |                     message.hideLoading() | 
 |  |  | 					 | 
 |  |  |                     if (resp && resp.code === 0) { | 
 |  |  |                         message.showToast('添加购物车成功') | 
 |  |  |                         dispatch('sign_add', 'shopping') | 
 |  |  |                         return resp | 
 |  |  |                     } else { | 
 |  |  |  | 
 |  |  |                     } | 
 |  |  |                     return resp | 
 |  |  |                 } else { | 
 |  |  |                     message.showToast('输入数目需要大于0') | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             return { | 
 |  |  |                 code: 1, | 
 |  |  |                 data: {} | 
 |  |  |             } | 
 |  |  |         }, | 
 |  |  |         countShopping: async function({ | 
 |  |  |             commit, | 
 |  |  |             dispatch, | 
 |  |  |             state | 
 |  |  |         }, data) { | 
 |  |  |             if(state.currentInfo.id){ | 
 |  |  |             if (state.currentInfo.id) { | 
 |  |  |                 const resp = await http.request('get', '/api/customer/flower/cart/flower/count', {}) | 
 |  |  |                 if (resp && resp.code === 0) { | 
 |  |  |                     return resp.data || 0 | 
 
 |  |  | 
 |  |  |         }, | 
 |  |  |         methods: { | 
 |  |  |             toDetail(item) { | 
 |  |  |                 if(item.status=='UP'){ | 
 |  |  | 					 | 
 |  |  |                 }else{ | 
 |  |  |                 if (item.status == 'UP') { | 
 |  |  |  | 
 |  |  |                 } else { | 
 |  |  |                     this.$message.showToast('已失效,无法查看详情') | 
 |  |  |                     return | 
 |  |  |                 } | 
 |  |  | 
 |  |  |             }, | 
 |  |  |             async submitShopping(dto) { | 
 |  |  |                 //提交到购物车中 | 
 |  |  |                 this.$message.showLoading() | 
 |  |  |                 // this.$message.showLoading() | 
 |  |  |                 await this.$store.dispatch('submitShopping', dto); | 
 |  |  |                 this.$message.hideLoading() | 
 |  |  |                 // this.$message.hideLoading() | 
 |  |  |             }, | 
 |  |  |             select_level(e) { | 
 |  |  |                 this.level_show = false | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         .trade-info-container { | 
 |  |  |             background-color: #fff; | 
 |  |  |             border-top-right-radius: 40rpx; | 
 |  |  |             border-top-left-radius: 40rpx; | 
 |  |  |             padding: 30rpx; | 
 |  |  |             overflow: hidden; | 
 |  |  |         .trade-list-container { | 
 |  |  |             min-height: calc(100vh - 300rpx); | 
 |  |  |             overflow-y: scroll; | 
 |  |  |             border-top-right-radius: 40rpx; | 
 |  |  |             border-top-left-radius: 40rpx; | 
 |  |  |             padding: 20rpx; | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         .trade-info-container { | 
 |  |  |             background-color: #fff; | 
 |  |  |             border-radius: 40rpx; | 
 |  |  |             margin-bottom: 20rpx; | 
 |  |  |             padding: 20rpx; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             .img { | 
 |  |  |                 width: 124rpx; | 
 
 |  |  | 
 |  |  |         methods: { | 
 |  |  |             toDetail(item) { | 
 |  |  |                 uni.navigateTo({ | 
 |  |  |                     url: '/sub_pages/customer/shop/shop?id=' + (item.id || '') | 
 |  |  |                     url: '/sub_pages/customer/shop/shop?id=' + (item.supplierId || '') | 
 |  |  |                 }) | 
 |  |  |             }, | 
 |  |  |             async clearFollow(item) { | 
 |  |  | 
 |  |  |                     code | 
 |  |  |                 } = await this.$http.request('get', `/api/follow/delete`, { | 
 |  |  |                     params: { | 
 |  |  |                         supplierId: item.id | 
 |  |  |                         supplierId: item.supplierId | 
 |  |  |                     } | 
 |  |  |                 }) | 
 |  |  |                 this.$message.hideLoading() | 
 |  |  |                 if (code === 0) { | 
 |  |  |                     //删除list里的本元素 | 
 |  |  |                     for (var i = 0; i < this.list.length; i++) { | 
 |  |  |                         if (this.list[i].id === item.id) { | 
 |  |  |                             this.list.splice(i, 1) | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     // for (var i = 0; i < this.list.length; i++) { | 
 |  |  |                     //     if (this.list[i].id === item.id) { | 
 |  |  |                     //         this.list.splice(i, 1) | 
 |  |  |                     //     } | 
 |  |  |                     // } | 
 |  |  |                     this.refreshList() | 
 |  |  |                 } | 
 |  |  |             }, | 
 |  |  |             getList_after() { | 
 |  |  |                 // uni. | 
 |  |  |             } | 
 |  |  |             // getList_after() { | 
 |  |  |             //     // uni. | 
 |  |  |             // } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | </script> | 
 
 |  |  | 
 |  |  |             }, | 
 |  |  |             async submitShopping(dto) { | 
 |  |  |                 //提交到购物车中 | 
 |  |  |                 this.$message.showLoading() | 
 |  |  |                 // this.$message.showLoading() | 
 |  |  |                 await this.$store.dispatch('submitShopping', dto); | 
 |  |  |                 this.$message.hideLoading() | 
 |  |  |                 // this.$message.hideLoading() | 
 |  |  |             }, | 
 |  |  |             select_level(e) { | 
 |  |  |                 this.level_show = false | 
 |  |  | 
 |  |  | <style lang="scss" scoped> | 
 |  |  |     .page-collect { | 
 |  |  |         min-height: 99vh; | 
 |  |  |  | 
 |  |  | 		 | 
 |  |  |         .search-container { | 
 |  |  |             display: flex; | 
 |  |  |             margin: 12rpx 0rpx 20rpx 0rpx; | 
 |  |  | 
 |  |  |                 line-height: 70rpx !important; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         .trade-info-container { | 
 |  |  |             background-color: #fff; | 
 |  |  |         .trade-list-container { | 
 |  |  |             min-height: calc(100vh - 300rpx); | 
 |  |  |             overflow-y: scroll; | 
 |  |  |             border-top-right-radius: 40rpx; | 
 |  |  |             border-top-left-radius: 40rpx; | 
 |  |  |             padding: 30rpx; | 
 |  |  |             padding: 20rpx; | 
 |  |  | 			 | 
 |  |  |         } | 
 |  |  |         .trade-info-container { | 
 |  |  |             background-color: #fff; | 
 |  |  |             border-radius: 20rpx; | 
 |  |  |             margin-bottom: 20rpx; | 
 |  |  |             padding: 20rpx; | 
 |  |  |             overflow: hidden; | 
 |  |  |             min-height: calc(100vh - 300rpx); | 
 |  |  | 			 | 
 |  |  |             overflow-y: scroll; | 
 |  |  |  | 
 |  |  |             .img { | 
 
 |  |  | 
 |  |  | 
 | 
 |  |  |             },
 | 
 |  |  |             //update 关注
 | 
 |  |  |             async updateGz(type) {
 | 
 |  |  |             async updateGz(type) { | 
 |  |  |                 if(!this.currentInfo.id){ | 
 |  |  |                     this.$message.showToast('请先登录') | 
 |  |  |                     return | 
 |  |  |                 }
 | 
 |  |  |                 this.$message.showLoading()
 | 
 |  |  |                 const {
 | 
 |  |  |                     code
 | 
 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 <view class="sup-title"> | 
 |  |  |                     <radio :checked="ids.indexOf(item.id)>=0" @click="changeItem(item,'supplier')"></radio> | 
 |  |  |                     <radio :checked="ids.indexOf('supplier@'+item.supplierId)>=0" @click="changeItem(item,'supplier')"> | 
 |  |  |                     </radio> | 
 |  |  |                     {{ item.supplierName || '-' }} | 
 |  |  |                 </view> | 
 |  |  |                 <u-divider></u-divider> | 
 |  |  | 
 |  |  |                                 this.ids.push(item.id) | 
 |  |  |                             } | 
 |  |  |                         }) | 
 |  |  |                         if (this.ids.indexOf('supplier@' + dto.supplierId) < 0) { | 
 |  |  |                             this.ids.push('supplier@' + dto.supplierId) | 
 |  |  |                         } | 
 |  |  |                     }) | 
 |  |  |                     this.checkall = true | 
 |  |  |                 } | 
 |  |  | 
 |  |  |                     } else { | 
 |  |  |                         this.checkall = false | 
 |  |  |                         this.ids.splice(this.ids.indexOf('supplier@' + dto.supplierId), 1) | 
 |  |  |                         console.log('this.ids splice', this.ids) | 
 |  |  |                         dto.flowerList.forEach(item => { | 
 |  |  |                             this.ids.splice(this.ids.indexOf('supplier@' + item.supplierId), 1) | 
 |  |  |                             this.ids.splice(this.ids.indexOf(item.id), 1) | 
 |  |  |                         }) | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         if (has) { | 
 |  |  |                             this.ids.push(dto.supplierId) | 
 |  |  |                             this.$forceUpdate() | 
 |  |  |                         }else{ | 
 |  |  |                             console.log('has',this.ids,dto) | 
 |  |  |                             if (this.ids.indexOf('supplier@' + dto.supplierId) < 0) { | 
 |  |  |                                 this.ids.push('supplier@' + dto.supplierId) | 
 |  |  |                                 this.$forceUpdate() | 
 |  |  |                             } | 
 |  |  |  | 
 |  |  |                         } else { | 
 |  |  |                             console.log('has', this.ids, dto) | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                     } else { | 
 |  |  | 
 |  |  |                         if (this.ids.indexOf(dto.id) >= 0) { | 
 |  |  |                             this.ids.splice(this.ids.indexOf(dto.id), 1) | 
 |  |  |                         } | 
 |  |  |                         //还要删除供应商的id | 
 |  |  |                         if (this.ids.indexOf('supplier@' + dto.supplierId) >= 0) { | 
 |  |  |                             this.ids.splice(this.ids.indexOf('supplier@' + dto.supplierId), 1) | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                 } | 
 
 |  |  | 
 |  |  |             </view>
 | 
 |  |  |             <view class="icon-container">
 | 
 |  |  |                 <image src="../../../static/common/icon-shop.png" @click="toShopping(dto)" class="icon-shop">
 | 
 |  |  |                     <view class="image-shop-number">{{shopnum||''}}</view>
 | 
 |  |  |                     <view class="image-shop-number" v-if="shopnum">{{shopnum||''}}</view>
 | 
 |  |  |                 </image>
 | 
 |  |  | 
 | 
 |  |  |             </view>
 | 
 |  |  | 
 |  |  |                 <view class="label">{{ param.name}}:</view>
 | 
 |  |  |                 <view class="value">{{ param.value || '-'}}</view>
 | 
 |  |  |             </view>
 | 
 |  |  |             <!--      <view class="flex m-t-8">-->
 | 
 |  |  |             <view v-if="!dto.params">
 | 
 |  |  |                 <view class="flex m-t-8">
 | 
 |  |  |                     <view class="label">暂无</view>
 | 
 |  |  |                 </view>
 | 
 |  |  |             </view>
 | 
 |  |  |             <!--      <view class="flex m-t-8">
 | 
 |  |  |             <!--        <view class="label">枝粗:</view>-->
 | 
 |  |  |             <!--        <view class="value">中等粗细</view>-->
 | 
 |  |  |             <!--      </view>-->
 | 
 |  |  | 
 |  |  |         },
 | 
 |  |  |         methods: {
 | 
 |  |  |             async refreshShopNum() {
 | 
 |  |  |                 this.shopnum = await this.$store.dispatch('submitShopping', dto);
 | 
 |  |  |                 this.shopnum = await this.$store.dispatch('countShopping');
 | 
 |  |  |             },
 | 
 |  |  |             async collectItem(dto) {
 | 
 |  |  |                 if (!this.currentInfo.id) {
 | 
 |  |  |                     this.$message.showToast('请先登录')
 | 
 |  |  |                     return
 | 
 |  |  |                 }
 | 
 |  |  |                 await this.$message.confirm(`是否${dto.collection?'移除':'添加到'}收藏`)
 | 
 |  |  |                 this.$message.showLoading()
 | 
 |  |  |                 const {
 | 
 |  |  | 
 |  |  |                             flowerId: dto.id
 | 
 |  |  |                         },
 | 
 |  |  |                         params: {
 | 
 |  |  |                             id: dto.id
 | 
 |  |  |                             flowerId: dto.id
 | 
 |  |  |                         }
 | 
 |  |  |                     })
 | 
 |  |  |                 if (code === 0) {
 | 
 |  |  | 
 |  |  |             },
 | 
 |  |  |             async submitShopping(dto) {
 | 
 |  |  |                 //提交到购物车中
 | 
 |  |  |                 this.$message.showLoading()
 | 
 |  |  |                 await this.$store.dispatch('submitShopping', dto);
 | 
 |  |  |                 this.$message.hideLoading()
 | 
 |  |  |                 this.refreshShopNum()
 | 
 |  |  |                 // this.$message.showLoading()
 | 
 |  |  |                 const {
 | 
 |  |  |                     code
 | 
 |  |  |                 } = await this.$store.dispatch('submitShopping', dto);
 | 
 |  |  |                 // this.$message.hideLoading()
 | 
 |  |  |                 if (code == 0) {
 | 
 |  |  |                     this.refreshShopNum()
 | 
 |  |  | 
 | 
 |  |  |                 }
 | 
 |  |  |             },
 | 
 |  |  |             async getDetail() {
 | 
 |  |  |                 this.$message.showLoading()
 | 
 |  |  | 
 |  |  | 
 | 
 |  |  | <style lang="scss" scoped>
 | 
 |  |  |     .trade-detail {
 | 
 |  |  |         background-color: #FFFFFF; | 
 |  |  |         .image-shop-number { | 
 |  |  |             width: 30rpx; | 
 |  |  |             height: 30rpx; | 
 |  |  |             background: #F20000; | 
 |  |  |             line-height: 30rpx; | 
 |  |  |             text-align: center; | 
 |  |  |             position: absolute; | 
 |  |  |             right: 0rpx; | 
 |  |  |             top: -6rpx; | 
 |  |  |             color: #FFFFFF; | 
 |  |  |             border-radius: 50%; | 
 |  |  |             font-size: 24rpx; | 
 |  |  |         background-color: #FFFFFF;
 | 
 |  |  | 
 | 
 |  |  |         .image-shop-number {
 | 
 |  |  |             width: 30rpx;
 | 
 |  |  |             height: 30rpx;
 | 
 |  |  |             background: #F20000;
 | 
 |  |  |             line-height: 30rpx;
 | 
 |  |  |             text-align: center;
 | 
 |  |  |             position: absolute;
 | 
 |  |  |             right: 0rpx;
 | 
 |  |  |             top: -6rpx;
 | 
 |  |  |             color: #FFFFFF;
 | 
 |  |  |             border-radius: 50%;
 | 
 |  |  |             font-size: 24rpx;
 | 
 |  |  |         }
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  |         .trade-info-container {
 | 
 |  |  |             padding: 46rpx 30rpx;
 | 
 |  |  | 
 |  |  |                     height: 54rpx;
 | 
 |  |  |                     margin: 0 auto;
 | 
 |  |  |                     margin-top: 12rpx;
 | 
 |  |  |                     display: inline-block; | 
 |  |  |                     display: inline-block;
 | 
 |  |  |                     margin-left: 12rpx;
 | 
 |  |  |                     position: relative;
 | 
 |  |  | 					 | 
 |  |  | 
 | 
 |  |  |                 }
 | 
 |  |  | 
 | 
 |  |  |                 .num {
 | 
 
 |  |  | 
 |  |  |         },
 | 
 |  |  |         methods: { | 
 |  |  |             async refreshShopNum() { | 
 |  |  |                 this.shoptotal = await this.$store.dispatch('submitShopping', dto); | 
 |  |  |                 this.shoptotal = await this.$store.dispatch('countShopping'); | 
 |  |  |             },
 | 
 |  |  |             async getDetail() {
 | 
 |  |  |                 this.$message.showLoading()
 | 
 
 |  |  | 
 |  |  |                     font-weight: 500;
 | 
 |  |  |                     font-size: 28rpx;
 | 
 |  |  |                     color: #000000;
 | 
 |  |  |                     line-height: 40rpx;
 | 
 |  |  |                     line-height: 40rpx; | 
 |  |  |                     min-height: 80rpx; | 
 |  |  |                     text-align:center;
 | 
 |  |  |                 }
 | 
 |  |  | 
 | 
 |  |  |                 .desc {
 | 
 |  |  | 
 |  |  |                     font-size: 24rpx;
 | 
 |  |  |                     color: #CF0000;
 | 
 |  |  |                     line-height: 34rpx;
 | 
 |  |  |                     text-align: left;
 | 
 |  |  |                     text-align: center;
 | 
 |  |  |                 }
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 
 |  |  | 
 |  |  |  | 
 |  |  |         }, | 
 |  |  |         onReachBottom() { | 
 |  |  |             this.page.current += 1 | 
 |  |  |             this.getMore() | 
 |  |  |         }, | 
 |  |  |         async onPullDownRefresh() { | 
 
 |  |  | 
 |  |  |                     </view>
 | 
 |  |  |                     <u-divider></u-divider>
 | 
 |  |  |                     <view class="form">
 | 
 |  |  |                         <view class="form-item">
 | 
 |  |  |                             <view class="form-item-label">分类</view>
 | 
 |  |  |                             <view class="form-item-value">{{ item.categoryStr || '-' }}</view>
 | 
 |  |  |                         <view class="flex"> | 
 |  |  |                             <view class="form-item"> | 
 |  |  |                                 <view class="form-item-label">分类</view> | 
 |  |  |                                 <view class="form-item-value">{{ item.categoryStr || '-' }}</view> | 
 |  |  |                             </view> | 
 |  |  |                             <view class="form-item"> | 
 |  |  |                                 <view class="form-item-label">规格</view> | 
 |  |  |                                 <view class="form-item-value">{{ item.unit || '-' }}</view> | 
 |  |  |                             </view> | 
 |  |  |                         </view>
 | 
 |  |  |                         <view class="form-item">
 | 
 |  |  |                             <view class="form-item-label">规格</view>
 | 
 |  |  |                             <view class="form-item-value">{{ item.unit || '-' }}</view>
 | 
 |  |  |                         <view class="flex"> | 
 |  |  |                             <view class="form-item"> | 
 |  |  |                                 <view class="form-item-label">规格</view> | 
 |  |  |                                 <view class="form-item-value">{{ item.unit || '-' }}</view> | 
 |  |  |                             </view> | 
 |  |  |                             <view class="form-item"> | 
 |  |  |                                 <view class="form-item-label">重量</view> | 
 |  |  |                                 <view class="form-item-value">{{ item.weight || '-' }}</view> | 
 |  |  |                             </view> | 
 |  |  |                         </view>
 | 
 |  |  |                         <view class="form-item">
 | 
 |  |  |                             <view class="form-item-label">规格</view>
 | 
 |  |  |                             <view class="form-item-value">{{ item.unit || '-' }}</view>
 | 
 |  |  |                         <view class="flex"> | 
 |  |  |                             <view class="form-item"> | 
 |  |  |                                 <view class="form-item-label">颜色</view> | 
 |  |  |                                 <view class="form-item-value">{{ item.color || '-' }}</view> | 
 |  |  |                             </view> | 
 |  |  |                             <view class="form-item"> | 
 |  |  |                                 <view class="form-item-label">级别</view> | 
 |  |  |                                 <view class="form-item-value">{{ item.levelStr || '-' }}</view> | 
 |  |  |                             </view> | 
 |  |  |                         </view>
 | 
 |  |  |                         <view class="form-item">
 | 
 |  |  |                             <view class="form-item-label">重量</view>
 | 
 |  |  |                             <view class="form-item-value">{{ item.weight || '-' }}</view>
 | 
 |  |  |                         </view>
 | 
 |  |  |                         <view class="form-item">
 | 
 |  |  |                             <view class="form-item-label">颜色</view>
 | 
 |  |  |                             <view class="form-item-value">{{ item.color || '-' }}</view>
 | 
 |  |  |                         </view>
 | 
 |  |  |                         <view class="form-item">
 | 
 |  |  |                             <view class="form-item-label">级别</view>
 | 
 |  |  |                             <view class="form-item-value">{{ item.levelStr || '-' }}</view>
 | 
 |  |  |                         </view>
 | 
 |  |  |                         <view class="form-item">
 | 
 |  |  |                             <view class="form-item-label">供应商价格</view>
 | 
 |  |  |                             <view class="form-item-value">¥{{ item.price || '-' }}</view>
 | 
 |  |  |                         </view>
 | 
 |  |  |                         <view class="form-item">
 | 
 |  |  |                             <view class="form-item-label">加价金额</view>
 | 
 |  |  |                             <view class="form-item-value">{{ item.fee || '-' }}</view>
 | 
 |  |  |                         <view class="flex"> | 
 |  |  |                             <view class="form-item"> | 
 |  |  |                                 <view class="form-item-label">供应商价格</view> | 
 |  |  |                                 <view class="form-item-value">¥{{ item.price || '-' }}</view> | 
 |  |  |                             </view> | 
 |  |  |                             <view class="form-item"> | 
 |  |  |                                 <view class="form-item-label">加价金额</view> | 
 |  |  |                                 <view class="form-item-value">{{ item.fee || '-' }}</view> | 
 |  |  |                             </view> | 
 |  |  |                         </view> | 
 |  |  |                         <view class="form-item"> | 
 |  |  |                             <view class="form-item-label">供应商名称</view> | 
 |  |  |                             <view class="form-item-value">{{ item.supplierName || '-' }}</view> | 
 |  |  |                         </view>
 | 
 |  |  |                         <view class="form-item">
 | 
 |  |  |                             <view class="form-item-label">审核时间</view>
 | 
 |  |  |                             <view class="form-item-value">{{ item.auditTime || '-' }}</view>
 | 
 |  |  |                         </view>
 | 
 |  |  |                         <view class="form-item">
 | 
 |  |  |                             <view class="form-item-label">供应商名称</view>
 | 
 |  |  |                             <view class="form-item-value">{{ item.supplierName || '-' }}</view>
 | 
 |  |  |                         </view>
 | 
 |  |  | 						 | 
 |  |  |                     </view>
 | 
 |  |  |                 </view>
 | 
 |  |  |             </view>
 | 
 |  |  | 
 |  |  | 
 | 
 |  |  |         },
 | 
 |  |  |         onReachBottom() {
 | 
 |  |  |             this.page.current += 1
 | 
 |  |  |             this.getMore()
 | 
 |  |  |         },
 | 
 |  |  |         async onPullDownRefresh() {
 | 
 |  |  | 
 |  |  |                         // padding-top: 4rpx;
 | 
 |  |  |                         padding-bottom: 0rpx;
 | 
 |  |  |                         border-bottom: none;
 | 
 |  |  |                         min-width: 35%;
 | 
 |  |  |                         max-width: 50%;
 | 
 |  |  |                         // min-width: 35%;
 | 
 |  |  |                         // max-width: 50%; | 
 |  |  |                         display: flex;
 | 
 |  |  |                         flex: 1;
 | 
 |  |  | 
 | 
 |  |  |                         .form-item-label {}
 | 
 
 |  |  | 
 |  |  |  | 
 |  |  |   }, | 
 |  |  |   onReachBottom() { | 
 |  |  |     this.page.current += 1 | 
 |  |  |     this.getMore() | 
 |  |  |   }, | 
 |  |  |   async onPullDownRefresh() { | 
 
 |  |  | 
 |  |  |                     }
 | 
 |  |  |                 }
 | 
 |  |  |             },
 | 
 |  |  |             mapCategoryTree(node, arr) {
 | 
 |  |  |             mapCategoryTree(node, arr,parentCheckTrue=false) {
 | 
 |  |  |                 var has = true
 | 
 |  |  |                 if (arr) {
 | 
 |  |  |                     var hasTrue = false
 | 
 |  |  | 
 |  |  |                         has = true
 | 
 |  |  |                         if (this.columns_categorys_search) {
 | 
 |  |  |                             has = false
 | 
 |  |  |                         } | 
 |  |  |                         if(parentCheckTrue){ | 
 |  |  |                             has = true | 
 |  |  |                         }
 | 
 |  |  |                         var tmp = {
 | 
 |  |  |                             ...item,
 | 
 |  |  | 
 |  |  |                         // }
 | 
 |  |  |                         this.columns_categorys_dict['@' + item.id] = item
 | 
 |  |  |                         if (item.children && item.children.length > 0) {
 | 
 |  |  |                             tmp.children = []
 | 
 |  |  |                             var childrenhas = this.mapCategoryTree(tmp.children, item.children)
 | 
 |  |  |                             if (childrenhas) {
 | 
 |  |  |                                 has = true
 | 
 |  |  |                                 hasTrue = true
 | 
 |  |  |                             //如果上级已经有了,下级都包含
 | 
 |  |  |                             tmp.children = [] | 
 |  |  |                             var childrenhas = this.mapCategoryTree(tmp.children, item.children,has) | 
 |  |  |                             if (childrenhas) { | 
 |  |  |                                 has = true | 
 |  |  |                                 hasTrue = true | 
 |  |  |                             }
 | 
 |  |  | 
 | 
 |  |  |                         } else {
 | 
 |  |  |                             tmp.children = undefined
 | 
 |  |  |                         }
 | 
 |  |  | 
 |  |  |                 var tmp = parseFloat(this.dto.price)
 | 
 |  |  |                 if (isNaN(tmp) || parseFloat('' + tmp).toFixed(3) !== parseFloat('' + this.dto.price).toFixed(3)) {
 | 
 |  |  |                     this.$message.showToast('商品价格格式错误,精确到分')
 | 
 |  |  |                     console.log('a1', ('' + tmp) )
 | 
 |  |  |                     console.log('a1', ('' + tmp))
 | 
 |  |  |                     console.log('a1', ('' + this.dto.price))
 | 
 |  |  |                     return
 | 
 |  |  |                 }
 | 
 |  |  | 
 |  |  |         // height: 100px;
 | 
 |  |  | 
 | 
 |  |  |         .label {
 | 
 |  |  |             width: 300rpx;
 | 
 |  |  |             line-height: 60px;
 | 
 |  |  |             width: 240rpx;
 | 
 |  |  |             line-height: 60px; | 
 |  |  |             min-width: 240rpx;
 | 
 |  |  | 
 | 
 |  |  |         }
 | 
 |  |  | 
 | 
 
 |  |  | 
 |  |  |             </view>
 | 
 |  |  | 
 | 
 |  |  |         </view>
 | 
 |  |  | 
 | 
 |  |  |         <view class="p15" style="min-height: calc(100vh - 160rpx);">
 | 
 |  |  |         <view class="p15" style="min-height: calc(100vh - 500rpx);">
 | 
 |  |  |             <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
 | 
 |  |  |             <view v-for="(item,index) in list" :key="index" class="m-b-24 flow-manage-list">
 | 
 |  |  |                 <view class="flow-manage-list-item">
 | 
 |  |  | 
 |  |  |         async onLoad(options) {
 | 
 |  |  |             this.type = options.type || 'all'
 | 
 |  |  |             var title = ''
 | 
 |  |  |             this.page.size = 5
 | 
 |  |  |             //todo 根据type切换查询条件
 | 
 |  |  |             if (this.type === 'delete') {
 | 
 |  |  |                 this.listApi = '/api/supplier/flower/list/rc'
 | 
 |  |  | 
 |  |  |             await this.$store.dispatch('sign_clear', 'flower');
 | 
 |  |  |             this.getList()
 | 
 |  |  |         },
 | 
 |  |  |         onReachBottom() {
 | 
 |  |  |             this.page.current += 1
 | 
 |  |  |         onReachBottom() { | 
 |  |  |             console.log('onReachBottom')
 | 
 |  |  |             this.getMore()
 | 
 |  |  |         },
 | 
 |  |  |         async onPullDownRefresh() {
 | 
 |  |  | 
 |  |  | 
 | 
 |  |  | <style lang="scss" scoped>
 | 
 |  |  |     .flow-manage {
 | 
 |  |  |         overflow-y: scroll;
 | 
 |  |  | 
 | 
 |  |  |         // min-height: ;
 | 
 |  |  |         .flow-manage-list {
 | 
 |  |  |             // padding: 20rpx 30rpx;
 | 
 |  |  |             padding: 22rpx 22rpx 20rpx 22rpx;
 | 
 
 |  |  | 
 |  |  |  | 
 |  |  |         }, | 
 |  |  |         onReachBottom() { | 
 |  |  |             this.page.current += 1 | 
 |  |  |             this.getMore() | 
 |  |  |         }, | 
 |  |  |         async onPullDownRefresh() { |