From cc499362b6eba119792e113796e4da029a70fc6d Mon Sep 17 00:00:00 2001 From: queenwuli <942534046@qq.com> Date: Sun, 27 Dec 2020 14:59:26 +0800 Subject: [PATCH] 服务单接口联调 --- hive-app/pages/workbench/productDetail/index.vue | 201 ++++++++++++++++++++++--------------------------- 1 files changed, 90 insertions(+), 111 deletions(-) diff --git a/hive-app/pages/workbench/productDetail/index.vue b/hive-app/pages/workbench/productDetail/index.vue index 84ed221..8f4b154 100644 --- a/hive-app/pages/workbench/productDetail/index.vue +++ b/hive-app/pages/workbench/productDetail/index.vue @@ -1,104 +1,76 @@ <template> <!-- 商品详情 --> - <!-- 默认是基础属性 1是项目 2是套餐 3是充值卡 --> <view> <!-- #ifndef H5 --> <view class="status_bar"></view> <!-- #endif --> - <view class="banner"> - <swiper class="swiper" - autoplay="true" - interval="5000" - duration="1500" - @change="swiperChange" - > - <swiper-item v-for="(item,index) in bannerList" :key="index"> - <image class="banner-img" :src="item.img" mode="widthFix"></image> - <view class="dots-container flex align-center justify-center"> - <text class="font-10 white">{{swiperIndex+1}}/{{bannerList.length}}</text> - </view> - </swiper-item> - </swiper> - </view> - <navigator open-type="navigateBack"> - <view class="return-icon iconfont iconzuojiantou"></view> + <navigator open-type="navigateBack" hover-class="none"> + <view class="back iconfont iconzuojiantou"></view> </navigator> - <view class="product-price"> - <text class="font-24 red font-bold">¥128.00</text> - <view class="font-14 flex justify-between mt-5"> - <text>多肽沁妍水润面膜</text> - <text class="gray">月销:122</text> + <swiper class="banner" + autoplay="true" + interval="5000" + duration="1500" + @change="swiperChange"> + <swiper-item v-for="(item,index) in banner" :key="index"> + <image class="img" :src="item.img?item.img:'../../../static/images/no-img.png'"></image> + <view class="indicator"> + <text>{{swiperIndex+1}}/{{banner.length}}</text> + </view> + </swiper-item> + </swiper> + <view class="product-info"> + <text class="price">¥{{productInfo.salePrice}}</text> + <view class="flex justify-between align-center"> + <text>{{productInfo.goodsName}}</text> + <text class="gray">月销:{{productInfo.saleCnt}}</text> </view> </view> - <view class="product-info mt-15"> - <view class="product-info-row"> - <h-tabs - class="tab" - :tabData="tabs" - :config="{ - color: '#abb1cc', - activeColor: '#518EFF', - underLineColor: '#518EFF', - underLineHeight: 4, - fontSize: '28', - underLineWidth: 110 - }" - @tabClick="tabClick($event)" - /> - </view> - <view v-if="tabIndex==0"> - <image class="product-img" mode="widthFix" src="../../../static/images/banner1.jpg"></image> - </view> - <view v-else class="product-all"> - <view class="product-property"> - <view class="product-property-row flex justify-between"> - <text>商品编码</text> - <text>123123000</text> - </view> - <view class="product-property-row flex justify-between"> - <text>商品分类</text> - <text>家居产品</text> - </view> - <view class="product-property-row flex justify-between"> - <text>规格</text> - <text>500ml</text> - </view> - <view class="product-property-row flex justify-between"> - <text>每人限购次数</text> - <text>1</text> - </view> - <view class="product-property-row flex justify-between"> - <text>最大销售数量</text> - <text>23</text> - </view> - </view> - <project class="mt-10" v-if="type==1"></project> - <combo class="mt-10" v-if="type==2"></combo> - <refillCard class="mt-10" v-if="type==3"></refillCard> - </view> - + <view class="product-desc-wrap"> + <h-tabs + class="tab" + :tabData="tabs" + :config="{ + color: '#abb1cc', + activeColor: '#518EFF', + underLineColor: '#518EFF', + underLineHeight: 4, + fontSize: '28', + underLineWidth: 110 + }" + @tabClick="tabClick($event)" + /> + <template v-if="tabIndex==0"> + <view class="product-desc" v-html="productInfo.desc"></view> + </template> + <template v-else> + <product :productInfo="productInfo" v-if="goodsType=='家居产品'"></product> + <project :productInfo="productInfo" v-if="goodsType=='项目'"></project> + <combo :productInfo="productInfo" v-if="goodsType=='套餐'"></combo> + <refillCard :productInfo="productInfo" v-if="goodsType=='充值卡'"></refillCard> + </template> </view> </view> </template> <script> import HTabs from "@/components/liuyuno-tabs/liuyuno-tabs.vue"; + import product from './product.vue'; import project from './project.vue'; import combo from './combo.vue' import refillCard from './refillCard.vue' export default{ components: { HTabs, + product, project, combo, refillCard }, data(){ return{ - bannerList:[ - {img:'../../../static/images/banner1.jpg'}, - {img:'../../../static/images/banner1.jpg'} - ], + goodsType: '家居产品', + banner:[], swiperIndex:0, tabs:[ { @@ -111,8 +83,12 @@ } ], tabIndex:0, - type:3 + productInfo: {} } + }, + onLoad(options) { + this.goodsType = options.goodsType; + this.getInfo(options.id); }, methods:{ swiperChange(e){ @@ -120,6 +96,14 @@ }, tabClick(index){ this.tabIndex=index + }, + getInfo(id){ + this.$httpUtils.request('/api/order/findGoodsDetailById/'+id).then((res) => { + if(res.status == 200){ + this.productInfo = res.mapInfo.goods; + this.banner.push(this.productInfo.img); + } + }) } } } @@ -129,64 +113,59 @@ page{ background: #F6F6F8; } - .return-icon{ - font-size: 28px; - opacity: 0.5; + .back{ position: absolute; top: 10px; left: 10px; + z-index: 9; + font-size: 28px; + opacity: 0.5; } - .swiper{ + .banner{ width: 100%; height: 300px; } - .banner-img{ + .banner .img{ width: 100%; height: 100%; } - .dots-container { + .banner .indicator{ position: absolute; right: 10px; bottom: 10px; background: rgba(0,0,0,0.5); border-radius: 20px; padding: 2px 15px; - } - .product-price{ - background: #FFFFFF; - padding: 15px 10px; - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow:0 6px 6px rgba(237,234,244,0.5); + color: #FFFFFF; + font-size: 10px; } .product-info{ background: #FFFFFF; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - box-shadow:0 -6px 6px rgba(237,234,244,0.5); - } - .product-info-row{ - background: #FFFFFF; - border-bottom: 1px solid #EDEAF4; - } - .product-img{ - width: 100%; - } - .product-all{ - background: #F6F6F8; - } - .product-property{ - background: #FFFFFF; - padding: 0 10px; + padding: 15px 10px; font-size: 14px; - border-radius: 4px; - box-shadow:0 6px 6px rgba(237,234,244,0.5); + margin-bottom: 10px; } - .product-property-row{ + .product-info .price{ + display: block; + font-size: 24px; + font-weight: bold; + color: #FA5151; + margin-bottom: 5px; + } + .product-desc-wrap{ + background: #FFFFFF; + } + .tab{ + background: #FFFFFF; border-bottom: 1px solid #EDEAF4; - padding: 12px 0; } - .product-property-row:nth-last-child(1){ - border: 0; + .product-desc{ + padding: 10px; + min-height: 500rpx; + font-size: 14px; } + .product-desc img{ + max-width: 100%; + } + </style> -- Gitblit v1.9.1