Forráskód Böngészése

套餐购买流程完善

huangzhe 3 éve
szülő
commit
5ac31d55d2
29 módosított fájl, 1735 hozzáadás és 1048 törlés
  1. 2 2
      src/components/page-component/app-my-order/app-my-order.vue
  2. 1 1
      src/components/page-component/app-special-topic/app-special-topic-list.vue
  3. 3 3
      src/components/page-component/app-user-center-top/app-user-center-top.vue
  4. 2 2
      src/components/page-component/goods/bd-info.vue
  5. 7 0
      src/core/apiUrl.js
  6. 5 6
      src/pages.json
  7. 1 1
      src/pages/case/components/hxj-bd-info.vue
  8. 11 0
      src/pages/case/hot_sale_project.vue
  9. 870 877
      src/pages/case/projectInfo.vue
  10. 1 1
      src/pages/case/themeArea.vue
  11. 1 1
      src/pages/favorite/favorite.vue
  12. 6 5
      src/pages/index/binding/binding.vue
  13. 5 5
      src/pages/index/binding/bindingSale.vue
  14. 35 9
      src/pages/index/hxj_index_component.vue
  15. 209 3
      src/pages/order-submit/invoice/invoice.vue
  16. 131 2
      src/pages/order-submit/invoice/invoiceAddr.vue
  17. 61 34
      src/pages/order-submit/order-submit.vue
  18. 4 55
      src/pages/user-center/user-center.vue
  19. 208 0
      src/plugins/composition/components/app-add-subtract/app-add-subtract.vue
  20. 93 0
      src/plugins/composition/components/app-bd-info/app-bd-info.vue
  21. 67 36
      src/plugins/composition/components/app-list/app-list.vue
  22. 9 5
      src/plugins/composition/detail/detail.vue
  23. 3 0
      src/static/css/hxj.scss
  24. BIN
      src/static/image/index/refresh.png
  25. BIN
      src/static/image/index/temporary/jhk-1634283447190.png
  26. BIN
      src/static/image/index/temporary/jhk-1634283667210.png
  27. BIN
      src/static/image/index/temporary/jhk-1634283687206.png
  28. BIN
      src/static/image/index/temporary/jhk-1634284367308.png
  29. BIN
      src/static/image/index/temporary/jhk-1634284372084.png

+ 2 - 2
src/components/page-component/app-my-order/app-my-order.vue

xqd
@@ -3,8 +3,8 @@
           :class="[!margin?'no-margin':'', !round?'no-round':'',]">
         <app-form-id @click="goUrl('/pages/order/index/index')">
             <view class="dir-left-nowrap cross-center title">
-                <view class="box-grow-1">我的订单</view>
-                <view class="box-grow-0 more">查看更多</view>
+                <view class="box-grow-1 hjx-ts-28 hjx-tw-800 hjx-tc-222">我的订单</view>
+                <view class="box-grow-0 more hjx-ts-22">查看更多</view>
                 <view class="box-grow-0">
                     <image class="arrow" src="https://shop.9026.com/web/statics/image/mall/static/icon/arrow-right.png"></image>
                 </view>

+ 1 - 1
src/components/page-component/app-special-topic/app-special-topic-list.vue

xqd
@@ -91,7 +91,7 @@
 					<view class="w-read">{{ item.read_number }} 阅读</view>
 				</view>
 				
-				<app-no-goods v-if="list.length === 0" :title="'没有任何专题哦'" background="#f7f7f7"></app-no-goods>
+				<app-no-goods v-if="list.length === 0" :title="'没有任何方案哦'" background="#f7f7f7"></app-no-goods>
 			</view>
 		</view>
 		<pre-topic :previewItem="previewItem" :swiperCurrent="swiperCurrent" :previewStatus.sync="previewStatus">

+ 3 - 3
src/components/page-component/app-user-center-top/app-user-center-top.vue

xqd xqd xqd
@@ -684,7 +684,7 @@
 
 	.u-refresh {
 		border-radius: 18upx;
-		border: 1upx solid #ffffff;
+		border: 1upx solid #CDCCCB;
 		min-width: 69upx;
 		margin: 0 0 0 10upx;
 		box-sizing: content-box;
@@ -696,7 +696,7 @@
 		.u-icon {
 			width: 21upx;
 			height: 21upx;
-			background-image: url('https://shop.9026.com/web/statics/image/mall/static/icon/refresh.png');
+			background-image: url('../../../static/image/index/refresh.png');
 			background-size: 100% 100%;
 			background-repeat: no-repeat;
 			margin-right: 5upx;
@@ -704,7 +704,7 @@
 
 		text {
 			line-height: 1;
-			color: #ffffff;
+			color: #CDCCCB;
 			font-size: 21upx;
 		}
 	}

+ 2 - 2
src/components/page-component/goods/bd-info.vue

xqd
@@ -87,13 +87,13 @@
         <view class="bd-margin" v-if="flashSale">
             <bd-flash-sale :flash-sale="flashSale" :theme="theme"></bd-flash-sale>
         </view>
-        <view class="bd-margin" v-if="levelShow === 2 && isNegotiable === 0">
+        <!-- <view class="bd-margin" v-if="levelShow === 2 && isNegotiable === 0">
             <bd-join-member
                 :member-max-price="`${priceMemberMax}`"
                 :member-min-price="`${priceMemberMin}`"
                 :price="`${price}`"
             ></bd-join-member>
-        </view>
+        </view> -->
 		<view class="bd-margin bd-procedure" v-if="isProcess">
 			<image class="process" src="https://shop.9026.com/web/statics/img/mall/static/procedure.png"></image>
 		</view>

+ 7 - 0
src/core/apiUrl.js

xqd xqd xqd
@@ -1,4 +1,5 @@
 const apiUrl = {
+	// hxj新增
 	sale:{
 		sale_login:'plugin/sale/api/user/login',
 		binding_estate:'plugin/sale/api/user/binding-estate',
@@ -9,6 +10,7 @@ const apiUrl = {
 		
 		estate_list:'plugin/sale/api/estate/list'
 	},
+	//
     index: {
         config: 'api/index/config',
         newIndex: 'api/index/new-index',
@@ -652,6 +654,11 @@ const apiUrl = {
         composition_detail: 'plugin/composition/api/index/composition-detail',
         order_preview: 'plugin/composition/api/index/order-preview',
         order_submit: 'plugin/composition/api/index/order-submit',
+		
+		// hxj新增
+		cat_list:'plugin/composition/api/index/cat-list',
+		list:'plugin/composition/api/index/list',
+		//
     },
     favorite: {
         cats: 'api/user/favorite-cats',

+ 5 - 6
src/pages.json

xqd xqd
@@ -573,7 +573,7 @@
 			"pages": [{
 					"path": "order-submit",
 					"style": {
-						"navigationBarTitleText": "结算",
+						"navigationBarTitleText": "确认订单",
 						"navigationStyle": "default"
 					}
 				},
@@ -616,11 +616,10 @@
 				}
 			    ,{
                     "path" : "invoice/invoiceAddr",
-                    "style" :                                                                                    
-                {
-                    "navigationBarTitleText": "发票收货地址",
-                    "enablePullDownRefresh": false
-                }
+                    "style" :  {
+						"navigationBarTitleText": "发票收货地址",
+						"enablePullDownRefresh": false
+					}
                 
                 }
             ]

+ 1 - 1
src/pages/case/components/hxj-bd-info.vue

xqd
@@ -17,7 +17,7 @@
 			<view class="main-between-y">
 				<view class="lq" @click="receive">领券</view>
 				<view class="cross-center se" v-if="isShowShare" @click="shareClick">
-					<image src="../../../static/image/index/share_y.png" mode=""></image>分享
+					<image src="https://t17.9026.com/web/statics/image/index/share_y.png" mode=""></image>分享
 				</view>
 			</view>
 		</view>

+ 11 - 0
src/pages/case/hot_sale_project.vue

xqd xqd
@@ -53,6 +53,9 @@
 				navbarHeight:'',
 			};
 		},
+		onLoad() {
+			this.getCompositionClass()
+		},
 		methods:{
 			selectTag(index){
 				this.activeIndex=index
@@ -64,6 +67,14 @@
 				uni.navigateTo({
 					url:'/pages/case/projectInfo?id=9'
 				})
+			},
+			getCompositionClass(){
+				this.$request({
+					url: this.$api.composition.cat_list,
+					method:'post'
+				}).then(res=>{
+					console.log(res)
+				})
 			}
 		}
 	}

+ 870 - 877
src/pages/case/projectInfo.vue

xqd xqd xqd
@@ -2,93 +2,65 @@
 	<app-layout>
 		<view v-if="!goods" class="u-goods-detail"></view>
 		<template v-if="goods">
-			<app-nav-bar v-if="true" :fixed="true" :background-color="''" :xStyle="1" :hasMallSetting="2" :hasHeight="false"></app-nav-bar>
+			<app-nav-bar v-if="true" :fixed="true" :background-color="''" :xStyle="1" :hasMallSetting="2"
+				:hasHeight="false"></app-nav-bar>
 
 			<!--商品轮播图-->
-			<app-goods-banner
-				v-bind:pic-list="goods.pic_url"
-				v-bind:share="goods.share"
-				v-bind:video-url="goods.video_url"
-				v-bind:goods_id="goodsId"
-				:isCart="true"
-			></app-goods-banner>
+			<app-goods-banner v-bind:pic-list="goods.pic_url" v-bind:share="goods.share"
+				v-bind:video-url="goods.video_url" v-bind:goods_id="goodsId" :isCart="true"></app-goods-banner>
 			<!-- 套装内商品 -->
 			<view style="background-color: #fff;">
 				<view class="link ">
 					<view class="title1 main-left cross-center">
 						套装内商品
-						<image class="coupon_1" src="https://t17.9026.com/web/statics/image/index/coupon_1.png" mode=""></image>
+						<image class="coupon_1" src="https://t17.9026.com/web/statics/image/index/coupon_1.png" mode="">
+						</image>
 						<text class="coupon_sub">IN SET GOODS</text>
 					</view>
 				</view>
 				<hxj-scroll-list :itemWidth="'168rpx'" :itemHeight="'168rpx'" :list="list"></hxj-scroll-list>
-				<hxj-bd-info
-					:theme="getTheme"
-					:name="name"
-					:is-negotiable="is_negotiable"
-					:subtitle="subtitle"
-					:flash-sale="flash_sale"
-					:level-show="level_show"
-					:price="price"
-					:original-price="original_price"
-					:price-max="price_max"
-					:price-min="price_min"
-					:price-member-max="price_member_max"
-					:price-member-min="price_member_min"
-					:discount="discount"
-					:is-vip-card-user="is_vip_card_user"
-					:sales="sales"
-					:is-vip="is_vip"
-					:unit="unit"
-					:is-sales="is_sales"
-					:goods-id="goodsId"
+				<hxj-bd-info :theme="getTheme" :name="name" :is-negotiable="is_negotiable" :subtitle="subtitle"
+					:flash-sale="flash_sale" :level-show="level_show" :price="price" :original-price="original_price"
+					:price-max="price_max" :price-min="price_min" :price-member-max="price_member_max"
+					:price-member-min="price_member_min" :discount="discount" :is-vip-card-user="is_vip_card_user"
+					:sales="sales" :is-vip="is_vip" :unit="unit" :is-sales="is_sales" :goods-id="goodsId"
 					:extra-quick-share="extra_quick_share"
 					:app-share-pic="app_share_pic ? app_share_pic : goods.pic_url[0].pic_url"
 					:app-share-title="app_share_title ? app_share_title : name"
 					:poster-config="poster_config + `&goods_id=` + goodsId"
-					:poster-generate="poster_generate + `&goods_id=` + goodsId"
-					:has-poster-nav="true"
-					v-bind:goods="goods"
-					@share="hShareAppMessage"
-					@quickShare="quickShare"
-					:limit-buy="limit_buy"
-					:min-number="min_number"
-				></hxj-bd-info>
+					:poster-generate="poster_generate + `&goods_id=` + goodsId" :has-poster-nav="true"
+					v-bind:goods="goods" @share="hShareAppMessage" @quickShare="quickShare" :limit-buy="limit_buy"
+					:min-number="min_number"></hxj-bd-info>
 				<view class="hxj-goods-list" :style="{ height: isOpen ? 'auto' : '270rpx' }">
 					<view class="main-between" style="width: 560rpx;">
 						<view class="title">套装内商品</view>
 						<view class="title">数量</view>
 					</view>
-					<view class="main-between item" v-for="(item, index) in 5" :key="index">
+					<view class="main-between item" v-for="(item, index) in ['ins风高档皮质沙发','歌尚雅新款单人沙发布艺小户型客厅','梵瑟 北欧全实木沙发组合新中式现代简约','梵瑟 北欧全实木沙发组合新中式现代简约','客厅家用茶几桌轻奢现代小户型']" :key="index">
 						<view class="main-between" style="width: 560rpx;">
-							<view class="name t-omit">ins风高档皮质沙发</view>
+							<view class="name t-omit">{{item}}</view>
 							<view class="num">x1</view>
 						</view>
 						<view class="zk cropss-center" v-if="index === 1 && isOpen === false" @click="isOpen = true">
 							展开
-							<image src="https://t17.9026.com/web/statics/image/user-center/arrow-bottom.png" mode=""></image>
+							<image src="https://t17.9026.com/web/statics/image/user-center/arrow-bottom.png" mode="">
+							</image>
 						</view>
 						<view class="zk cropss-center" v-if="index === 4 && isOpen === true" @click="isOpen = false">
 							收起
-							<image src="https://t17.9026.com/web/statics/image/user-center/arrow-top.png" mode=""></image>
+							<image src="https://t17.9026.com/web/statics/image/user-center/arrow-top.png" mode="">
+							</image>
 						</view>
 					</view>
 				</view>
 			</view>
 
 			<!--商品优惠券-->
-			<bd-coupon
-				@change="setCoupon"
-				@on-show-change="
+			<bd-coupon @change="setCoupon" @on-show-change="
 					val => {
 						isCouponShow = val;
 					}
-				"
-				:isCustomEntry="true"
-				:myShow="isCouponShow"
-				:theme="getTheme"
-				:coupons="goods_coupon_center"
-			></bd-coupon>
+				" :isCustomEntry="true" :myShow="isCouponShow" :theme="getTheme" :coupons="goods_coupon_center"></bd-coupon>
 			<!--商品规格-->
 			<!-- <bd-xbc
                 :coAttr="is_open == 1 && exchangeStatus ==null ? 1 : 0"
@@ -138,59 +110,55 @@
 			<!--相关推荐-->
 			<!-- <app-goods-recommend :sureCart="true" :theme="getTheme" :goods-list="recommend_list"></app-goods-recommend> -->
 			<!--空格区域-->
-			<view class="safe-area-inset-bottom u-bottom"><view class="u-bottom-height" :class="uBottomHeight"></view></view>
+			<view class="safe-area-inset-bottom u-bottom">
+				<view class="u-bottom-height" :class="uBottomHeight"></view>
+			</view>
 			<!--底部按钮-->
 			<view v-if="is_open == 1" class="safe-area-inset-bottom u-bottom-fixed">
 				<view v-if="full_reduce && exchangeStatus == null">
-					<app-goods-full-reduce :theme="getTheme" :full_reduce="full_reduce" :sign="goodsType === 'goods' ? '' : 1"></app-goods-full-reduce>
+					<app-goods-full-reduce :theme="getTheme" :full_reduce="full_reduce"
+						:sign="goodsType === 'goods' ? '' : 1"></app-goods-full-reduce>
+				</view>
+				<view v-if="exchangeStatus == null && sell_time > 0">
+					<app-sell-tip :time="sell_time" @changeTime="changeTime"></app-sell-tip>
 				</view>
-				<view v-if="exchangeStatus == null && sell_time > 0"><app-sell-tip :time="sell_time" @changeTime="changeTime"></app-sell-tip></view>
 				<view class="bd-bottom u-bottom-height-0 cross-center dir-left-nowrap">
 					<template v-if="exchangeStatus == null">
 						<view class="bd-back dir-top-nowrap main-center cross-center box-grow-0" @click="back">
-							<image class="bd-icon" src="https://shop.9026.com/web/statics/image/mall/static/icon/index.png"></image>
+							<image class="bd-icon"
+								src="https://shop.9026.com/web/statics/image/mall/static/icon/index.png"></image>
 							<text class="bd-text">首页</text>
 						</view>
 						<template v-if="is_negotiable !== 1">
 							<bd-service :name="name" :url="sendPath"></bd-service>
 						</template>
 						<view class="bd-back dir-top-nowrap main-center cross-center box-grow-0" @click="setFavorite">
-							<image
-								class="bd-icon"
-								:src="
+							<image class="bd-icon" :src="
 									favorite
 										? 'https://shop.9026.com/web/statics/image/mall/static/icon/icon-favorite-active.png'
 										: 'https://shop.9026.com/web/statics/image/mall/static/icon/icon-favorite.png'
-								"
-							></image>
+								"></image>
 							<text class="bd-text">收藏</text>
 						</view>
 						<template v-if="is_negotiable !== 1">
-							<view class="box-grow-1 bd-btn bd-btn-color " :class="[disableBtn]" v-if="goods_num === 0 || is_finish_sell">
+							<view class="box-grow-1 bd-btn bd-btn-color " :class="[disableBtn]"
+								v-if="goods_num === 0 || is_finish_sell">
 								{{ is_finish_sell ? '商品已下架' : '已售罄' }}
 							</view>
 							<view class="box-grow-1 dir-left-nowrap" v-else>
-								<view
-									v-if="goods.type === 'goods'"
-									@click="clickAttr(0)"
-									:style="{
+								<view v-if="goods.type === 'goods'" @click="clickAttr(0)" :style="{
 										background: !goods || goods.buy_goods_auth ? getTheme.background_s_gradient_btn : '#999999',
 										color: !goods || goods.buy_goods_auth ? getTheme.secondary_text : '#ffffff'
-									}"
-									:class="['bd-btn', leftTip]"
-								>
+									}" :class="['bd-btn', leftTip]">
 									加入购物车
 								</view>
-								<view :class="[goods.type === 'goods' ? 'bd-btn-right bd-btn-half' : 'box-grow-1']" v-if="!(isTip == 0 && sell_time > 0)">
+								<view :class="[goods.type === 'goods' ? 'bd-btn-right bd-btn-half' : 'box-grow-1']"
+									v-if="!(isTip == 0 && sell_time > 0)">
 									<app-jump-button form>
-										<view
-											@click="clickAttr(1)"
-											:style="{
+										<view @click="clickAttr(1)" :style="{
 												background: goods.buy_goods_auth ? getTheme.background_gradient_btn : '#999999',
 												color: goods.buy_goods_auth ? getTheme.main_text : ''
-											}"
-											:class="['bd-btn', 'bd-btn-color', 'box-grow-1', goods.type === 'goods' ? 'bd-btn-right' : '']"
-										>
+											}" :class="['bd-btn', 'bd-btn-color', 'box-grow-1', goods.type === 'goods' ? 'bd-btn-right' : '']">
 											{{ rightRemindText }}
 										</view>
 									</app-jump-button>
@@ -199,915 +167,940 @@
 						</template>
 						<view class="box-grow-1 dir-left-nowrap bd-btn-tel" v-else>
 							<block v-for="(item, index) in good_negotiable" :key="index">
-								<view
-									class="tel"
-									v-if="item === 'contact_tel'"
-									@click="makePhoneCall(mall.setting.contact_tel)"
-									:style="{
+								<view class="tel" v-if="item === 'contact_tel'"
+									@click="makePhoneCall(mall.setting.contact_tel)" :style="{
 										background: good_negotiable.length === 1 ? getTheme.background_gradient_btn : getTheme.background_s_gradient_btn,
 										color: good_negotiable.length === 2 ? getTheme.color : ''
-									}"
-									:class="[
+									}" :class="[
 										good_negotiable.length === 1 ? 'all-radius all-width text ' : '',
 										good_negotiable.length === 3 ? 'bd-three-one text ' : '',
 										good_negotiable.length === 2 ? 'bd-btn-half' : ''
-									]"
-								>
+									]">
 									联系电话
 								</view>
 								<!-- #ifndef MP-TOUTIAO || MP-ALIPAY || H5 -->
-								<button
-									v-else-if="item === 'contact'"
-									open-type="contact"
-									show-message-card
-									:send-message-title="name"
-									:send-message-path="sendPath"
-									:style="contactBtnStyle"
-									class="contact"
-									:class="contactBtn"
-								>
+								<button v-else-if="item === 'contact'" open-type="contact" show-message-card
+									:send-message-title="name" :send-message-path="sendPath" :style="contactBtnStyle"
+									class="contact" :class="contactBtn">
 									客服
 								</button>
 								<!-- #endif -->
-								<view
-									class="service"
-									v-else-if="item === 'contact_web'"
+								<view class="service" v-else-if="item === 'contact_web'"
 									@click="router('/pages/web/web?url=' + encodeURIComponent(mall.setting.web_service_url))"
 									:style="{
 										background: good_negotiable.length !== 3 ? getTheme.background_gradient_btn : '',
 										color: good_negotiable.length === 1 ? getTheme.secondary_text : ''
-									}"
-									:class="
+									}" :class="
 										good_negotiable.length === 3
 											? 'default-bakground bd-three-one '
 											: good_negotiable.length === 2
 											? 'bd-btn-half text '
 											: ' all-radius all-width '
-									"
-								>
+									">
 									客服
 								</view>
 							</block>
 						</view>
 					</template>
 					<template v-else>
-						<view v-if="exchangeStatus == 0" @click="toExchange" class="box-grow-1 bd-exchange" :style="{ background: getTheme.background_gradient_o }">立即领取</view>
+						<view v-if="exchangeStatus == 0" @click="toExchange" class="box-grow-1 bd-exchange"
+							:style="{ background: getTheme.background_gradient_o }">立即领取</view>
 						<view class="box-grow-1 bd-exchange bd-over" v-else-if="exchangeStatus == 1">已领取</view>
 					</template>
 				</view>
 			</view>
 			<!--快捷导航-->
 			<!-- <app-quick-navigation></app-quick-navigation> -->
-			<u-attr
-				v-if="is_negotiable === 0 && exchangeStatus == null && goods && goods.type"
-				v-model="attrShow"
-				:goods="goods"
-				:theme="getTheme"
-				:checked="checked"
-				@check="check"
-				@update="updateCartNumber"
-			></u-attr>
+			<u-attr v-if="is_negotiable === 0 && exchangeStatus == null && goods && goods.type" v-model="attrShow"
+				:goods="goods" :theme="getTheme" :checked="checked" @check="check" @update="updateCartNumber"></u-attr>
 		</template>
 		<app-close v-if="showClose" :modal="false" @update="getMall"></app-close>
 	</app-layout>
 </template>
 
 <script>
-import { mapGetters, mapState } from 'vuex';
-import appGoodsBanner from '../../components/page-component/goods/app-goods-banner.vue';
-import appGoodsRecommend from '../../components/page-component/app-goods-recommend/app-goods-recommend.vue';
-import appQuickNavigation from '../../components/page-component/app-quick-navigation/app-quick-navigation.vue';
-import appComposition from '../../components/basic-component/app-composition/app-composition.vue';
-// import uniSwiperDot from '../../components/basic-component/uni-swiper-dot/uni-swiper-dot';
-import uAttr from '../../components/page-component/goods/u-attr.vue';
-import appGoodsFullReduce from '../../components/page-component/goods/app-goods-full-reduce.vue';
-import bdInfo from '@/components/page-component/goods/bd-info';
-import bdCoupon from '@/components/page-component/goods/bd-coupon.vue';
-// import bdXbc from '@/components/page-component/goods/bd-xbc.vue';
-// import bdKb from '@/components/page-component/goods/bd-kb.vue';
-// import bdHc from '@/components/page-component/goods/bd-hc.vue';
-import bdDetail from '@/components/page-component/goods/bd-detail.vue';
-import bdComments from '@/components/page-component/goods/bd-comments.vue';
-import appClose from '@/components/basic-component/app-close/app-close.vue';
-import bdService from '@/components/page-component/goods/bd-service.vue';
-import bdFlashSale from '@/components/page-component/goods/bd-flash-sale.vue';
-import appSellTip from '@/components/page-component/goods/app-sell-tip.vue';
-import goodsMixin from '@/core/goods-mixin.js';
-import appNavBar from '@/components/page-component/index/app-nav-bar.vue';
+	import {
+		mapGetters,
+		mapState
+	} from 'vuex';
+	import appGoodsBanner from '../../components/page-component/goods/app-goods-banner.vue';
+	import appGoodsRecommend from '../../components/page-component/app-goods-recommend/app-goods-recommend.vue';
+	import appQuickNavigation from '../../components/page-component/app-quick-navigation/app-quick-navigation.vue';
+	import appComposition from '../../components/basic-component/app-composition/app-composition.vue';
+	// import uniSwiperDot from '../../components/basic-component/uni-swiper-dot/uni-swiper-dot';
+	import uAttr from '../../components/page-component/goods/u-attr.vue';
+	import appGoodsFullReduce from '../../components/page-component/goods/app-goods-full-reduce.vue';
+	import bdInfo from '@/components/page-component/goods/bd-info';
+	import bdCoupon from '@/components/page-component/goods/bd-coupon.vue';
+	// import bdXbc from '@/components/page-component/goods/bd-xbc.vue';
+	// import bdKb from '@/components/page-component/goods/bd-kb.vue';
+	// import bdHc from '@/components/page-component/goods/bd-hc.vue';
+	import bdDetail from '@/components/page-component/goods/bd-detail.vue';
+	import bdComments from '@/components/page-component/goods/bd-comments.vue';
+	import appClose from '@/components/basic-component/app-close/app-close.vue';
+	import bdService from '@/components/page-component/goods/bd-service.vue';
+	import bdFlashSale from '@/components/page-component/goods/bd-flash-sale.vue';
+	import appSellTip from '@/components/page-component/goods/app-sell-tip.vue';
+	import goodsMixin from '@/core/goods-mixin.js';
+	import appNavBar from '@/components/page-component/index/app-nav-bar.vue';
 
-import hxjScrollList from './components/scroll-list.vue';
-import hxjBdInfo from './components/hxj-bd-info.vue';
-export default {
-	name: 'goods',
-	mixins: [goodsMixin],
-	components: {
-		appGoodsBanner,
-		'app-goods-recommend': appGoodsRecommend,
-		'app-quick-navigation': appQuickNavigation,
-		'app-composition': appComposition,
-		appClose,
-		// uniSwiperDot,
-		appGoodsFullReduce,
-		uAttr,
-		bdInfo,
-		bdCoupon,
-		// bdXbc,
-		// bdKb,
-		// bdHc,
-		bdDetail,
-		bdComments,
-		bdService,
-		bdFlashSale,
-		appSellTip,
-		appNavBar,
-		hxjScrollList,
-		hxjBdInfo
-	},
-	data() {
-		return {
-			isCouponShow: false,
-			list: [
-				{
-					image: 'https://t17.9026.com/web/statics/image/index/2.png',
-					title: '',
-					tag: ''
-				},
-				{
-					image: 'https://t17.9026.com/web/statics/image/index/2.png',
-					title: '',
-					tag: ''
-				},
-				{
-					image: 'https://t17.9026.com/web/statics/image/index/2.png',
-					title: '',
-					tag: ''
-				},
-				{
-					image: 'https://t17.9026.com/web/statics/image/index/2.png',
-					title: '',
-					tag: ''
-				}
-			],
-			isOpen: false, //hxj套装内商品是否展开
+	import hxjScrollList from './components/scroll-list.vue';
+	import hxjBdInfo from './components/hxj-bd-info.vue';
+	export default {
+		name: 'goods',
+		mixins: [goodsMixin],
+		components: {
+			appGoodsBanner,
+			'app-goods-recommend': appGoodsRecommend,
+			'app-quick-navigation': appQuickNavigation,
+			'app-composition': appComposition,
+			appClose,
+			// uniSwiperDot,
+			appGoodsFullReduce,
+			uAttr,
+			bdInfo,
+			bdCoupon,
+			// bdXbc,
+			// bdKb,
+			// bdHc,
+			bdDetail,
+			bdComments,
+			bdService,
+			bdFlashSale,
+			appSellTip,
+			appNavBar,
+			hxjScrollList,
+			hxjBdInfo
+		},
+		data() {
+			return {
+				isCouponShow: false,
+				list: [{
+						image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634283687206.png',
+						title: '',
+						tag: '',
+						link: ''
+					},
+					{
+						image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634284372084.png',
+						title: '',
+						tag: '',
+						link: ''
+					},
+					{
+						image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634283667210.png',
+						title: '',
+						tag: '',
+						link: ''
+					},
+					{
+						image: 'https://t17.9026.com/web/statics/image/index/2.png',
+						title: '',
+						tag: ''
+					}
+				],
+				isOpen: false, //hxj套装内商品是否展开
 
-			showClose: false,
-			is_open: 0,
-			goods: null,
-			selectAttr: null,
-			recommend_list: null,
-			is_vip: false,
-			is_vip_card_user: 0,
-			current: 0,
-			discount: null,
-			attrShow: false,
-			shareData: null,
-			contact_tel: '',
-			contact: '',
-			contact_web: '',
-			sendPath: '',
-			poster_config: this.$api.goods.poster,
-			poster_generate: this.$api.poster.goods_new,
-			// 限时抢购
-			flash_sale: null,
-			checked: null,
-			// 商品服务
-			services: null,
-			// 商品详情
-			detail: null,
-			// 商品ID
-			goodsId: null,
-			// 套餐组合
-			composition: null,
-			autoplay: true,
-			full_reduce: null,
-			goods_marketing_award: null,
-			express: null,
-			goods_marketing: null,
-			exchangeStatus: null,
-			exchange: null,
+				showClose: false,
+				is_open: 0,
+				goods: null,
+				selectAttr: null,
+				recommend_list: null,
+				is_vip: false,
+				is_vip_card_user: 0,
+				current: 0,
+				discount: null,
+				attrShow: false,
+				shareData: null,
+				contact_tel: '',
+				contact: '',
+				contact_web: '',
+				sendPath: '',
+				poster_config: this.$api.goods.poster,
+				poster_generate: this.$api.poster.goods_new,
+				// 限时抢购
+				flash_sale: null,
+				checked: null,
+				// 商品服务
+				services: null,
+				// 商品详情
+				detail: null,
+				// 商品ID
+				goodsId: null,
+				// 套餐组合
+				composition: null,
+				autoplay: true,
+				full_reduce: null,
+				goods_marketing_award: null,
+				express: null,
+				goods_marketing: null,
+				exchangeStatus: null,
+				exchange: null,
 
-			price: null,
-			level_show: null,
-			sales: null,
-			unit: null,
-			is_sales: null,
-			extra_quick_share: null,
-			price_max: null,
-			price_min: null,
-			price_member_max: null,
-			price_member_min: null,
-			original_price: null,
-			subtitle: null,
-			is_negotiable: null,
-			name: null,
-			app_share_pic: null,
-			app_share_title: null,
-			goodsType: null,
-			favorite: null,
-			goods_coupon_center: null,
-			guarantee_title: null,
-			guarantee_pic: null,
-			param_content: null,
-			param_name: null,
-			attr_groups: null,
-			goods_num: null,
-			good_stock: null,
-			min_number: null,
-			limit_buy: null,
-			disable: 'disable',
-			sell_time: 0,
-			template_message_list: [],
-			is_finish_sell: false
-		};
-	},
-	computed: {
-		...mapState({
-			mall: state => state.mallConfig.mall,
-			gConfig: state => state.gConfig,
-			isTip: state => state.mallConfig.mall.setting.is_remind_sell_time
-		}),
-		...mapGetters('mallConfig', {
-			getTheme: 'getTheme'
-		}),
-		good_negotiable: function() {
-			let good_negotiable = this.mall.setting.good_negotiable;
-			this.contact_tel = '';
-			this.contact = '';
-			this.contact_web = '';
-			let arr = [];
-			for (let i = 0; i < good_negotiable.length; i++) {
-				if (good_negotiable[i] === 'contact_tel') {
-					this.contact_tel = 'contact_tel';
+				price: null,
+				level_show: null,
+				sales: null,
+				unit: null,
+				is_sales: null,
+				extra_quick_share: null,
+				price_max: null,
+				price_min: null,
+				price_member_max: null,
+				price_member_min: null,
+				original_price: null,
+				subtitle: null,
+				is_negotiable: null,
+				name: null,
+				app_share_pic: null,
+				app_share_title: null,
+				goodsType: null,
+				favorite: null,
+				goods_coupon_center: null,
+				guarantee_title: null,
+				guarantee_pic: null,
+				param_content: null,
+				param_name: null,
+				attr_groups: null,
+				goods_num: null,
+				good_stock: null,
+				min_number: null,
+				limit_buy: null,
+				disable: 'disable',
+				sell_time: 0,
+				template_message_list: [],
+				is_finish_sell: false
+			};
+		},
+		computed: {
+			...mapState({
+				mall: state => state.mallConfig.mall,
+				gConfig: state => state.gConfig,
+				isTip: state => state.mallConfig.mall.setting.is_remind_sell_time
+			}),
+			...mapGetters('mallConfig', {
+				getTheme: 'getTheme'
+			}),
+			good_negotiable: function() {
+				let good_negotiable = this.mall.setting.good_negotiable;
+				this.contact_tel = '';
+				this.contact = '';
+				this.contact_web = '';
+				let arr = [];
+				for (let i = 0; i < good_negotiable.length; i++) {
+					if (good_negotiable[i] === 'contact_tel') {
+						this.contact_tel = 'contact_tel';
+					}
+					// #ifndef MP-TOUTIAO || MP-ALIPAY || H5
+					if (good_negotiable[i] === 'contact') {
+						this.contact = 'contact';
+					}
+					// #endif
+					if (good_negotiable[i] === 'contact_web') {
+						this.contact_web = 'contact_web';
+					}
 				}
-				// #ifndef MP-TOUTIAO || MP-ALIPAY || H5
-				if (good_negotiable[i] === 'contact') {
-					this.contact = 'contact';
+				if (this.contact_tel) {
+					arr.push(this.contact_tel);
 				}
-				// #endif
-				if (good_negotiable[i] === 'contact_web') {
-					this.contact_web = 'contact_web';
+				if (this.contact) {
+					arr.push(this.contact);
+				}
+				if (this.contact_web) {
+					arr.push(this.contact_web);
+				}
+				return arr;
+			},
+			contactBtnStyle: function() {
+				const len = this.good_negotiable.length;
+				const theme = this.getTheme.key;
+				if (len === 3 && (theme === 'a' || theme === 'b' || theme === 'f')) {
+					return `background:${this.getTheme.background_gradient_btn}`;
+				} else if (len === 3 && !(theme === 'a' || theme === 'b' || theme === 'f')) {
+					return `background:${this.getTheme.background_gradient_btn};color:${this.getTheme.background_s}`;
+				}
+				if (len === 2 && (theme === 'a' || theme === 'b' || theme === 'f') && !this.contact_tel) {
+					return `background:${this.getTheme.background_s_gradient_btn};`;
+				} else if (len === 2 && (theme === 'a' || theme === 'b' || theme === 'f') && this.contact_tel) {
+					return `background:${this.getTheme.background}`;
+				} else if (len === 2 && !(theme === 'a' || theme === 'b' || theme === 'f') && !this.contact_tel) {
+					return `background:${this.getTheme.background_s_gradient_btn};color:${this.getTheme.background_s}`;
+				} else if (len === 2 && !(theme === 'a' || theme === 'b' || theme === 'f') && this.contact_tel) {
+					return `background:${this.getTheme.background_gradient_btn};color:${this.getTheme.background_s}`;
+				} else {
+					return `background:${this.getTheme.background_gradient_btn}`;
+				}
+			},
+			uBottomHeight() {
+				if (this.full_reduce && this.sell_time > 0) {
+					return 'u-bottom-height-2';
+				} else if (this.full_reduce || this.sell_time > 0) {
+					return 'u-bottom-height-1';
+				} else {
+					return 'u-bottom-height-0';
+				}
+			},
+			leftTip() {
+				let leftTip = '';
+				if (!(this.isTip == 0 && this.sell_time > 0)) {
+					leftTip = 'bd-btn-left bd-btn-half';
+				} else {
+					leftTip = 'box-grow-1';
+				}
+				return this.goods && this.goods.type === 'goods' ? leftTip : '';
+			},
+			disableBtn() {
+				return this.is_finish_sell ? 'btn-finish-sell' : 'bd-oversell-btn';
+			},
+			contactBtn: function() {
+				const len = this.good_negotiable.length;
+				const theme = this.getTheme.key;
+				if (len === 3 && (theme === 'a' || theme === 'b' || theme === 'f')) {
+					return `text bd-three-one bd-no-radius `;
+				} else if (len === 3 && !(theme === 'a' || theme === 'b' || theme === 'f')) {
+					return `bd-three-one bd-no-radius `;
+				}
+				if (len === 2 && (theme === 'a' || theme === 'b' || theme === 'f') && !this.contact_tel) {
+					return `text bd-btn-half bd-content-radius-0`;
+				} else if (len === 2 && (theme === 'a' || theme === 'b' || theme === 'f') && this.contact_tel) {
+					return `bd-btn-half bd-content-radius-1`;
+				} else if (len === 2 && !(theme === 'a' || theme === 'b' || theme === 'f') && !this.contact_tel) {
+					return `bd-btn-half bd-content-radius-0`;
+				} else if (len === 2 && !(theme === 'a' || theme === 'b' || theme === 'f') && this.contact_tel) {
+					return `bd-btn-half bd-content-radius-1`;
+				} else {
+					return `text all-width all-radius `;
 				}
 			}
-			if (this.contact_tel) {
-				arr.push(this.contact_tel);
-			}
-			if (this.contact) {
-				arr.push(this.contact);
-			}
-			if (this.contact_web) {
-				arr.push(this.contact_web);
-			}
-			return arr;
 		},
-		contactBtnStyle: function() {
-			const len = this.good_negotiable.length;
-			const theme = this.getTheme.key;
-			if (len === 3 && (theme === 'a' || theme === 'b' || theme === 'f')) {
-				return `background:${this.getTheme.background_gradient_btn}`;
-			} else if (len === 3 && !(theme === 'a' || theme === 'b' || theme === 'f')) {
-				return `background:${this.getTheme.background_gradient_btn};color:${this.getTheme.background_s}`;
-			}
-			if (len === 2 && (theme === 'a' || theme === 'b' || theme === 'f') && !this.contact_tel) {
-				return `background:${this.getTheme.background_s_gradient_btn};`;
-			} else if (len === 2 && (theme === 'a' || theme === 'b' || theme === 'f') && this.contact_tel) {
-				return `background:${this.getTheme.background}`;
-			} else if (len === 2 && !(theme === 'a' || theme === 'b' || theme === 'f') && !this.contact_tel) {
-				return `background:${this.getTheme.background_s_gradient_btn};color:${this.getTheme.background_s}`;
-			} else if (len === 2 && !(theme === 'a' || theme === 'b' || theme === 'f') && this.contact_tel) {
-				return `background:${this.getTheme.background_gradient_btn};color:${this.getTheme.background_s}`;
-			} else {
-				return `background:${this.getTheme.background_gradient_btn}`;
+		onLoad(options) {
+			this.$commonLoad.onload(options);
+			// #ifdef MP-WEIXIN
+			wx.showShareMenu({
+				menus: ['shareAppMessage', 'shareTimeline']
+			});
+			// #endif
+			if (this.isLogin) {
+				this.$store.dispatch('user/info');
 			}
-		},
-		uBottomHeight() {
-			if (this.full_reduce && this.sell_time > 0) {
-				return 'u-bottom-height-2';
-			} else if (this.full_reduce || this.sell_time > 0) {
-				return 'u-bottom-height-1';
-			} else {
-				return 'u-bottom-height-0';
+			this.goodsId = options.id;
+			// #ifndef MP-ALIPAY
+			this.loadData(this.goodsId, options);
+			// #endif
+			this.sendPath = '/pages/goods/goods?id=' + options.id;
+			console.log(this.sendPath);
+			if (options && options.exchange) {
+				this.exchangeStatus = options.exchange;
+				this.exchange = options;
 			}
 		},
-		leftTip() {
-			let leftTip = '';
-			if (!(this.isTip == 0 && this.sell_time > 0)) {
-				leftTip = 'bd-btn-left bd-btn-half';
-			} else {
-				leftTip = 'box-grow-1';
-			}
-			return this.goods && this.goods.type === 'goods' ? leftTip : '';
+		onShow() {
+			this.autoplay = true;
+			this.showClose = false;
+			setTimeout(() => {
+				this.showClose = true;
+				// #ifdef MP-ALIPAY
+				this.loadData(this.goodsId, this.exchange);
+				// #endif
+			});
 		},
-		disableBtn() {
-			return this.is_finish_sell ? 'btn-finish-sell' : 'bd-oversell-btn';
+		onHidden() {
+			this.autoplay = false;
 		},
-		contactBtn: function() {
-			const len = this.good_negotiable.length;
-			const theme = this.getTheme.key;
-			if (len === 3 && (theme === 'a' || theme === 'b' || theme === 'f')) {
-				return `text bd-three-one bd-no-radius `;
-			} else if (len === 3 && !(theme === 'a' || theme === 'b' || theme === 'f')) {
-				return `bd-three-one bd-no-radius `;
-			}
-			if (len === 2 && (theme === 'a' || theme === 'b' || theme === 'f') && !this.contact_tel) {
-				return `text bd-btn-half bd-content-radius-0`;
-			} else if (len === 2 && (theme === 'a' || theme === 'b' || theme === 'f') && this.contact_tel) {
-				return `bd-btn-half bd-content-radius-1`;
-			} else if (len === 2 && !(theme === 'a' || theme === 'b' || theme === 'f') && !this.contact_tel) {
-				return `bd-btn-half bd-content-radius-0`;
-			} else if (len === 2 && !(theme === 'a' || theme === 'b' || theme === 'f') && this.contact_tel) {
-				return `bd-btn-half bd-content-radius-1`;
-			} else {
-				return `text all-width all-radius `;
-			}
-		}
-	},
-	onLoad(options) {
-		this.$commonLoad.onload(options);
 		// #ifdef MP-WEIXIN
-		wx.showShareMenu({
-			menus: ['shareAppMessage', 'shareTimeline']
-		});
-		// #endif
-		if (this.isLogin) {
-			this.$store.dispatch('user/info');
-		}
-		this.goodsId = options.id;
-		// #ifndef MP-ALIPAY
-		this.loadData(this.goodsId, options);
-		// #endif
-		this.sendPath = '/pages/goods/goods?id=' + options.id;
-		console.log(this.sendPath);
-		if (options && options.exchange) {
-			this.exchangeStatus = options.exchange;
-			this.exchange = options;
-		}
-	},
-	onShow() {
-		this.autoplay = true;
-		this.showClose = false;
-		setTimeout(() => {
-			this.showClose = true;
-			// #ifdef MP-ALIPAY
-			this.loadData(this.goodsId, this.exchange);
-			// #endif
-		});
-	},
-	onHidden() {
-		this.autoplay = false;
-	},
-	// #ifdef MP-WEIXIN
-	onShareTimeline() {
-		// 分享朋友圈beta
-		return this.$shareTimeline({
-			title: this.app_share_title ? this.app_share_title : this.name,
-			imageUrl: this.goods.pic_url[0].pic_url,
-			query: {
-				id: this.goodsId
-			}
-		});
-	},
-	// #endif
-	methods: {
-		onCouponShow(val) {
-			console.log(val);
-		},
-		hShareAppMessage(s = false) {
-			return this.$shareAppMessage(
-				{
-					title: this.app_share_title ? this.app_share_title : this.name,
-					imageUrl: this.app_share_pic ? this.app_share_pic : this.goods.pic_url[0].pic_url,
-					path: '/pages/goods/goods',
-					desc: this.subtitle,
-					params: {
-						id: this.goodsId
-					}
-				},
-				s
-			);
-		},
-		getMall(e) {
-			this.is_open = e.is_open;
+		onShareTimeline() {
+			// 分享朋友圈beta
+			return this.$shareTimeline({
+				title: this.app_share_title ? this.app_share_title : this.name,
+				imageUrl: this.goods.pic_url[0].pic_url,
+				query: {
+					id: this.goodsId
+				}
+			});
 		},
-		toExchange() {
-			let mch_list = [
-				{
-					mch_id: 0,
-					goods_list: [
-						{
-							id: this.exchange.id,
-							attr: this.exchange.attr,
-							num: this.exchange.goods_num,
-							cat_id: 0,
-							goods_attr_id: this.exchange.attr_id
+		// #endif
+		methods: {
+			onCouponShow(val) {
+				console.log(val);
+			},
+			hShareAppMessage(s = false) {
+				return this.$shareAppMessage({
+						title: this.app_share_title ? this.app_share_title : this.name,
+						imageUrl: this.app_share_pic ? this.app_share_pic : this.goods.pic_url[0].pic_url,
+						path: '/pages/goods/goods',
+						desc: this.subtitle,
+						params: {
+							id: this.goodsId
 						}
-					],
+					},
+					s
+				);
+			},
+			getMall(e) {
+				this.is_open = e.is_open;
+			},
+			toExchange() {
+				let mch_list = [{
+					mch_id: 0,
+					goods_list: [{
+						id: this.exchange.id,
+						attr: this.exchange.attr,
+						num: this.exchange.goods_num,
+						cat_id: 0,
+						goods_attr_id: this.exchange.attr_id
+					}],
 					code: this.exchange.code,
 					token: this.exchange.token
+				}];
+				let url = `/pages/order-submit/order-submit?mch_list=${JSON.stringify(mch_list)}`;
+				url +=
+					`&preview_url=${encodeURIComponent(this.$api.exchange.exchange_preview)}&submit_url=${encodeURIComponent(this.$api.exchange.exchange_submit)}&plugin=exchange`;
+				uni.navigateTo({
+					url: url
+				});
+			},
+			// 规格选择
+			check({
+				item
+			}) {
+				this.checked = item;
+			},
+			change(e) {
+				if (e.detail.source === 'touch') {
+					this.current = e.detail.current;
 				}
-			];
-			let url = `/pages/order-submit/order-submit?mch_list=${JSON.stringify(mch_list)}`;
-			url += `&preview_url=${encodeURIComponent(this.$api.exchange.exchange_preview)}&submit_url=${encodeURIComponent(this.$api.exchange.exchange_submit)}&plugin=exchange`;
-			uni.navigateTo({
-				url: url
-			});
-		},
-		// 规格选择
-		check({ item }) {
-			this.checked = item;
-		},
-		change(e) {
-			if (e.detail.source === 'touch') {
-				this.current = e.detail.current;
-			}
-			if (e.detail.source === 'autoplay') {
-				this.current = e.detail.current;
-			}
-		},
-		quickShare(info) {
-			this.shareData = info;
-			//#ifdef H5
-			this.$shareAppMessage(this.shareData, true);
-			// #endif
-		},
-		toComposition(item) {
-			let id = item.id > 0 ? item.id : this.composition.list[0].id;
-			uni.navigateTo({
-				url: this.composition.url + '?goods_id=' + this.goodsId + '&composition_id=' + id
-			});
-		},
-		loadData(id, options) {
-			return new Promise((resolve, reject) => {
-				this.$showLoading();
-				this.$request({
-					url: this.$api.goods.detail,
-					data: {
-						id: id,
-						plugin: options && options.exchange ? 'exchange' : 'mall'
-					}
-				})
-					.then(response => {
-						this.$hideLoading();
-						if (response.code === 0) {
-							let {
-								services,
-								detail,
-								name,
-								vip_card_appoint,
-								plugin_extra,
-								id,
-								goods_activity,
-								goods_marketing_award,
-								goods_marketing,
-								express,
-								price,
-								sales,
-								level_show,
-								is_sales,
-								unit,
-								extra_quick_share,
-								price_max,
-								price_min,
-								price_member_max,
-								price_member_min,
-								original_price,
-								subtitle,
-								is_negotiable,
-								app_share_title,
-								app_share_pic,
-								type,
-								favorite,
-								goods_coupon_center,
-								guarantee_title,
-								guarantee_pic,
-								param_content,
-								param_name,
-								attr_groups,
-								goods_num,
-								good_stock,
-								min_number,
-								limit_buy,
-								sell_time,
-								template_message_list,
-								is_finish_sell
-							} = response.data.goods;
-							uni.setNavigationBarTitle({
-								title: name
-							});
-
-							this.name = name;
-							this.app_share_pic = app_share_pic;
-							this.app_share_title = app_share_title;
-							this.goods = response.data.goods;
-							this.services = services;
-							this.detail = detail;
-							this.goodsId = id;
-							this.flash_sale = plugin_extra.flash_sale;
-							this.composition = plugin_extra.composition;
-							this.goods_marketing_award = goods_marketing_award;
-							this.goods_marketing = goods_marketing;
-							this.express = express;
-							this.price = price;
-							this.level_show = level_show;
-							this.sales = sales;
-							this.unit = unit;
-							this.is_sales = is_sales;
-							this.price_max = price_max;
-							this.price_min = price_min;
-							this.price_member_max = price_member_max;
-							this.price_member_min = price_member_min;
-							this.original_price = original_price;
-							this.subtitle = subtitle;
-							this.is_negotiable = is_negotiable;
-							this.extra_quick_share = extra_quick_share;
-							this.goodsType = type;
-							this.favorite = favorite;
-							this.goods_coupon_center = goods_coupon_center;
-							this.guarantee_title = guarantee_title;
-							this.param_content = param_content;
-							this.guarantee_pic = guarantee_pic;
-							this.attr_groups = attr_groups;
-							this.param_name = param_name;
-							this.goods_num = goods_num;
-							this.good_stock = good_stock;
-							this.min_number = min_number;
-							this.limit_buy = limit_buy;
-							this.sell_time = sell_time;
-							this.template_message_list = template_message_list;
-							this.is_finish_sell = is_finish_sell;
-							if (goods_activity) {
-								this.full_reduce = goods_activity.full_reduce;
+				if (e.detail.source === 'autoplay') {
+					this.current = e.detail.current;
+				}
+			},
+			quickShare(info) {
+				this.shareData = info;
+				//#ifdef H5
+				this.$shareAppMessage(this.shareData, true);
+				// #endif
+			},
+			toComposition(item) {
+				let id = item.id > 0 ? item.id : this.composition.list[0].id;
+				uni.navigateTo({
+					url: this.composition.url + '?goods_id=' + this.goodsId + '&composition_id=' + id
+				});
+			},
+			loadData(id, options) {
+				return new Promise((resolve, reject) => {
+					this.$showLoading();
+					this.$request({
+							url: this.$api.goods.detail,
+							data: {
+								id: id,
+								plugin: options && options.exchange ? 'exchange' : 'mall'
 							}
-							if (vip_card_appoint.discount || vip_card_appoint.discount === '0.00') {
-								this.is_vip = true;
-								this.discount = vip_card_appoint.discount;
+						})
+						.then(response => {
+							this.$hideLoading();
+							if (response.code === 0) {
+								let {
+									services,
+									detail,
+									name,
+									vip_card_appoint,
+									plugin_extra,
+									id,
+									goods_activity,
+									goods_marketing_award,
+									goods_marketing,
+									express,
+									price,
+									sales,
+									level_show,
+									is_sales,
+									unit,
+									extra_quick_share,
+									price_max,
+									price_min,
+									price_member_max,
+									price_member_min,
+									original_price,
+									subtitle,
+									is_negotiable,
+									app_share_title,
+									app_share_pic,
+									type,
+									favorite,
+									goods_coupon_center,
+									guarantee_title,
+									guarantee_pic,
+									param_content,
+									param_name,
+									attr_groups,
+									goods_num,
+									good_stock,
+									min_number,
+									limit_buy,
+									sell_time,
+									template_message_list,
+									is_finish_sell
+								} = response.data.goods;
+								uni.setNavigationBarTitle({
+									title: name
+								});
+
+								this.name = name;
+								this.app_share_pic = app_share_pic;
+								this.app_share_title = app_share_title;
+								this.goods = response.data.goods;
+								this.services = services;
+								this.detail = detail;
+								this.goodsId = id;
+								this.flash_sale = plugin_extra.flash_sale;
+								this.composition = plugin_extra.composition;
+								this.goods_marketing_award = goods_marketing_award;
+								this.goods_marketing = goods_marketing;
+								this.express = express;
+								this.price = price;
+								this.level_show = level_show;
+								this.sales = sales;
+								this.unit = unit;
+								this.is_sales = is_sales;
+								this.price_max = price_max;
+								this.price_min = price_min;
+								this.price_member_max = price_member_max;
+								this.price_member_min = price_member_min;
+								this.original_price = original_price;
+								this.subtitle = subtitle;
+								this.is_negotiable = is_negotiable;
+								this.extra_quick_share = extra_quick_share;
+								this.goodsType = type;
+								this.favorite = favorite;
+								this.goods_coupon_center = goods_coupon_center;
+								this.guarantee_title = guarantee_title;
+								this.param_content = param_content;
+								this.guarantee_pic = guarantee_pic;
+								this.attr_groups = attr_groups;
+								this.param_name = param_name;
+								this.goods_num = goods_num;
+								this.good_stock = good_stock;
+								this.min_number = min_number;
+								this.limit_buy = limit_buy;
+								this.sell_time = sell_time;
+								this.template_message_list = template_message_list;
+								this.is_finish_sell = is_finish_sell;
+								if (goods_activity) {
+									this.full_reduce = goods_activity.full_reduce;
+								}
+								if (vip_card_appoint.discount || vip_card_appoint.discount === '0.00') {
+									this.is_vip = true;
+									this.discount = vip_card_appoint.discount;
+								}
+								this.is_vip_card_user = vip_card_appoint.is_vip_card_user;
+								this.loadRecommend();
+								// #ifdef H5
+								this.hShareAppMessage();
+								// #endif
+								resolve();
+							} else {
+								uni.showToast({
+									title: response.msg,
+									icon: 'none'
+								});
+								reject();
 							}
-							this.is_vip_card_user = vip_card_appoint.is_vip_card_user;
-							this.loadRecommend();
-							// #ifdef H5
-							this.hShareAppMessage();
-							// #endif
-							resolve();
-						} else {
-							uni.showToast({
-								title: response.msg,
-								icon: 'none'
-							});
+						})
+						.catch(() => {
 							reject();
-						}
-					})
-					.catch(() => {
-						reject();
-						this.$hideLoading();
-					});
-			});
-		},
-		onAttr(data) {
-			this.selectAttr = data;
-		},
-		loadRecommend() {
-			this.$request({
-				url: this.$api.goods.new_recommend,
-				data: {
-					goods_id: this.goodsId,
-					type: 'goods'
+							this.$hideLoading();
+						});
+				});
+			},
+			onAttr(data) {
+				this.selectAttr = data;
+			},
+			loadRecommend() {
+				this.$request({
+					url: this.$api.goods.new_recommend,
+					data: {
+						goods_id: this.goodsId,
+						type: 'goods'
+					}
+				}).then(response => {
+					if (response.code === 0) {
+						this.recommend_list = response.data.list;
+					}
+				});
+			},
+			back() {
+				uni.reLaunch({
+					url: '/pages/index/index'
+				});
+			},
+			setFavorite() {
+				let url = this.$api.user.favorite_add;
+				let favorite = true;
+				if (this.favorite) {
+					url = this.$api.user.favorite_remove;
+					favorite = false;
 				}
-			}).then(response => {
-				if (response.code === 0) {
-					this.recommend_list = response.data.list;
+				this.favorite = favorite;
+				this.$request({
+					url: url,
+					data: {
+						goods_id: this.goodsId
+					}
+				}).then(response => {
+					if (response.code === 0) {} else {
+						uni.showModal({
+							title: '提示',
+							content: response.msg,
+							showCancel: false
+						});
+					}
+				});
+			},
+			clickAttr(data) {
+				console.log('开始');
+				if (data === 1 && this.sell_time > 0) {
+					this.rightTip();
+					return;
 				}
-			});
-		},
-		back() {
-			uni.reLaunch({
-				url: '/pages/index/index'
-			});
-		},
-		setFavorite() {
-			let url = this.$api.user.favorite_add;
-			let favorite = true;
-			if (this.favorite) {
-				url = this.$api.user.favorite_remove;
-				favorite = false;
-			}
-			this.favorite = favorite;
-			this.$request({
-				url: url,
-				data: {
-					goods_id: this.goodsId
+				if (!this.goods.buy_goods_auth) {
+					this.$tips.showToast({
+						title: '您暂无权限购买该商品',
+						icon: 'none'
+					});
+					return;
 				}
-			}).then(response => {
-				if (response.code === 0) {
-				} else {
-					uni.showModal({
-						title: '提示',
-						content: response.msg,
-						showCancel: false
+				if (this.goods.type === 'ecard' && data === 0) {
+					this.$tips.showToast({
+						title: '虚拟商品不允许加入购物车',
+						icon: 'none'
 					});
+					return;
 				}
-			});
-		},
-		clickAttr(data) {
-			console.log('开始');
-			if (data === 1 && this.sell_time > 0) {
-				this.rightTip();
-				return;
-			}
-			if (!this.goods.buy_goods_auth) {
-				this.$tips.showToast({
-					title: '您暂无权限购买该商品',
-					icon: 'none'
+				uni.navigateTo({
+					url: '/plugins/composition/detail/detail?composition_id=3'
 				});
-				return;
-			}
-			if (this.goods.type === 'ecard' && data === 0) {
-				this.$tips.showToast({
-					title: '虚拟商品不允许加入购物车',
-					icon: 'none'
+				// this.attrShow = true;
+				console.log('结束');
+			},
+			setCoupon(index) {
+				this.$set(this.goods_coupon_center[index], 'is_receive', 1);
+			},
+			router(url) {
+				uni.navigateTo({
+					url: url
 				});
-				return;
+			},
+			makePhoneCall(number) {
+				uni.makePhoneCall({
+					phoneNumber: number
+				});
+			},
+			changeTime(time) {
+				this.sell_time = time;
+				this.goods.sell_time = time;
 			}
-			uni.navigateTo({
-				url: '/plugins/composition/detail/detail'
-			});
-			// this.attrShow = true;
-			console.log('结束');
-		},
-		setCoupon(index) {
-			this.$set(this.goods_coupon_center[index], 'is_receive', 1);
-		},
-		router(url) {
-			uni.navigateTo({
-				url: url
-			});
-		},
-		makePhoneCall(number) {
-			uni.makePhoneCall({
-				phoneNumber: number
-			});
 		},
-		changeTime(time) {
-			this.sell_time = time;
-			this.goods.sell_time = time;
-		}
-	},
-	// #ifdef MP
-	onShareAppMessage(object) {
-		if (object.from === 'button' && this.shareData) {
-			return this.$shareAppMessage(this.shareData);
+		// #ifdef MP
+		onShareAppMessage(object) {
+			if (object.from === 'button' && this.shareData) {
+				return this.$shareAppMessage(this.shareData);
+			}
+			return this.hShareAppMessage();
 		}
-		return this.hShareAppMessage();
-	}
-	// #endif
-};
+		// #endif
+	};
 </script>
 
 <style scoped lang="scss">
-@import '../index/index.scss';
+	@import '../index/index.scss';
 
-.hxj-goods-list {
-	width: 100%;
-	height: 270rpx;
-	overflow: hidden;
-	padding: 50rpx 43rpx 50rpx 51rpx;
-	background-color: #fff;
-	.title {
-		font-size: 24rpx;
-		font-weight: 500;
-		color: #121212;
-		line-height: 56px;
-	}
-	.item {
-		.name {
-			width: 300rpx;
+	.hxj-goods-list {
+		width: 100%;
+		height: 270rpx;
+		overflow: hidden;
+		padding: 50rpx 43rpx 50rpx 51rpx;
+		background-color: #fff;
+
+		.title {
 			font-size: 24rpx;
-			font-weight: 300;
+			font-weight: 500;
 			color: #121212;
-			line-height: 56rpx;
+			line-height: 56px;
 		}
-		.num {
-			width: 80rpx;
-			font-size: 24rpx;
-			font-weight: 300;
-			color: #121212;
-			line-height: 56rpx;
-			text-align: right;
+
+		.item {
+			.name {
+				width: 300rpx;
+				font-size: 24rpx;
+				font-weight: 300;
+				color: #121212;
+				line-height: 56rpx;
+			}
+
+			.num {
+				width: 80rpx;
+				font-size: 24rpx;
+				font-weight: 300;
+				color: #121212;
+				line-height: 56rpx;
+				text-align: right;
+			}
+
+			.zk {
+				font-size: 24rpx;
+				font-weight: bold;
+				color: #a18353;
+				line-height: 56rpx;
+
+				image {
+					width: 19rpx;
+					height: 12rpx;
+					margin-left: 8rpx;
+				}
+			}
 		}
-		.zk {
+	}
+
+	.goods-composition {
+		width: 702upx;
+		margin: 20upx 20upx 0 20upx;
+		padding: 20rpx;
+		background-color: #fff;
+		border-radius: 15upx;
+
+		.goods-composition-title {
+			font-size: 28rpx;
+			color: #353535;
+			margin-bottom: 20rpx;
+		}
+
+		.goods-composition-swiper {
+			height: 194rpx;
+		}
+
+		.goods-composition-more {
+			margin: 20rpx auto 4rpx auto;
+			width: 226rpx;
+			padding: 0 24rpx;
+			height: 56rpx;
+			line-height: 54rpx;
+			border-radius: 28rpx;
+			border: 2rpx solid #bbbbbb;
 			font-size: 24rpx;
-			font-weight: bold;
-			color: #a18353;
-			line-height: 56rpx;
+			color: #999999;
+
 			image {
-				width: 19rpx;
-				height: 12rpx;
-				margin-left: 8rpx;
+				width: #{12rpx};
+				height: #{22rpx};
 			}
 		}
 	}
-}
-.goods-composition {
-	width: 702upx;
-	margin: 20upx 20upx 0 20upx;
-	padding: 20rpx;
-	background-color: #fff;
-	border-radius: 15upx;
-	.goods-composition-title {
-		font-size: 28rpx;
+
+	.goods-name {
+		padding: 24upx 24upx 0 24upx;
+		background-color: #ffffff;
 		color: #353535;
-		margin-bottom: 20rpx;
+		font-size: 32upx;
+		line-height: 42upx;
 	}
-	.goods-composition-swiper {
-		height: 194rpx;
-	}
-	.goods-composition-more {
-		margin: 20rpx auto 4rpx auto;
-		width: 226rpx;
-		padding: 0 24rpx;
-		height: 56rpx;
-		line-height: 54rpx;
-		border-radius: 28rpx;
-		border: 2rpx solid #bbbbbb;
+
+	.goods-subtitle {
+		padding: #{24rpx 24rpx 0 24rpx};
 		font-size: 24rpx;
+		background-color: #ffffff;
 		color: #999999;
-		image {
-			width: #{12rpx};
-			height: #{22rpx};
-		}
 	}
-}
-.goods-name {
-	padding: 24upx 24upx 0 24upx;
-	background-color: #ffffff;
-	color: #353535;
-	font-size: 32upx;
-	line-height: 42upx;
-}
 
-.goods-subtitle {
-	padding: #{24rpx 24rpx 0 24rpx};
-	font-size: 24rpx;
-	background-color: #ffffff;
-	color: #999999;
-}
+	.price {
+		padding-top: #{24rpx};
+		background-color: #ffffff;
+	}
 
-.price {
-	padding-top: #{24rpx};
-	background-color: #ffffff;
-}
-.vip-card {
-	padding-bottom: #{20rpx};
-	background-color: #fff;
-}
-.attr {
-	background-color: #f7f7f7;
-}
-.bottom {
-	width: 100%;
-	height: #{110rpx};
-}
+	.vip-card {
+		padding-bottom: #{20rpx};
+		background-color: #fff;
+	}
 
-.bd-bottom {
-	width: 750upx;
-	height: 110upx;
-	padding: 20upx 24upx;
-}
+	.attr {
+		background-color: #f7f7f7;
+	}
+
+	.bottom {
+		width: 100%;
+		height: #{110rpx};
+	}
 
-.bd-back {
-	width: 66upx;
-	height: 100%;
-	margin-right: 20upx;
-}
-.bd-icon {
-	width: 30upx;
-	height: 30upx;
-	margin-bottom: 8upx;
-}
-.bd-text {
-	font-size: 20upx;
-	color: #888888;
-	line-height: 1;
-}
-.bd-btn {
-	text-align: center;
-	line-height: 70upx;
-	font-size: 28upx;
-	// border-radius: 35upx;
-}
-.bd-btn-left {
-	border-top-right-radius: 0;
-	border-bottom-right-radius: 0;
-}
-.bd-btn-right {
-	border-top-left-radius: 0;
-	border-bottom-left-radius: 0;
-}
-.bd-btn-half {
-	width: 50%;
-}
-.bd-btn-color {
-	color: #ffffff;
-}
-.bd-oversell-btn {
-	background-color: #cdcdcd;
-}
+	.bd-bottom {
+		width: 750upx;
+		height: 110upx;
+		padding: 20upx 24upx;
+	}
 
-.bd-content-radius-0 {
-	border-radius: 35upx 0 0 35upx;
-}
-.bd-content-radius-1 {
-	border-radius: 0 35upx 35upx 0;
-}
-.bd-btn-tel {
-	font-size: 26upx;
-	> view {
-		line-height: 70upx;
+	.bd-back {
+		width: 66upx;
+		height: 100%;
+		margin-right: 20upx;
+	}
+
+	.bd-icon {
+		width: 30upx;
+		height: 30upx;
+		margin-bottom: 8upx;
+	}
+
+	.bd-text {
+		font-size: 20upx;
+		color: #888888;
+		line-height: 1;
+	}
+
+	.bd-btn {
 		text-align: center;
+		line-height: 70upx;
+		font-size: 28upx;
+		// border-radius: 35upx;
 	}
-	.tel {
-		border-top-left-radius: 35upx;
-		border-bottom-left-radius: 35upx;
+
+	.bd-btn-left {
+		border-top-right-radius: 0;
+		border-bottom-right-radius: 0;
 	}
-	.contact {
-		padding: 0;
+
+	.bd-btn-right {
+		border-top-left-radius: 0;
+		border-bottom-left-radius: 0;
+	}
+
+	.bd-btn-half {
+		width: 50%;
+	}
+
+	.bd-btn-color {
+		color: #ffffff;
+	}
+
+	.bd-oversell-btn {
+		background-color: #cdcdcd;
+	}
+
+	.bd-content-radius-0 {
+		border-radius: 35upx 0 0 35upx;
+	}
+
+	.bd-content-radius-1 {
+		border-radius: 0 35upx 35upx 0;
+	}
+
+	.bd-btn-tel {
 		font-size: 26upx;
-		height: 70upx;
+
+		>view {
+			line-height: 70upx;
+			text-align: center;
+		}
+	
+	.tel {
+			border-top-left-radius: 35upx;
+			border-bottom-left-radius: 35upx;
+		}
+
+		.contact {
+			padding: 0;
+			font-size: 26upx;
+			height: 70upx;
+			line-height: 70upx;
+			margin: 0;
+			border: none;
+		}
+
+		.service {
+			border-top-right-radius: 35upx;
+			border-bottom-right-radius: 35upx;
+		}
+
+		.all-radius {
+			border-radius: 35upx;
+		}
+
+		.all-width {
+			width: 100%;
+		}
+
+		.bd-three-one {
+			width: calc(100% / 3);
+		}
+
+		.bd-no-radius {
+			border-radius: 0;
+		}
+	}
+
+	.bd-exchange {
 		line-height: 70upx;
-		margin: 0;
-		border: none;
+		font-size: #{28rpx};
+		text-align: center;
+		color: #fff;
+		border-radius: 35upx;
+
+		&.bd-over {
+			background: #e9e9e9;
+			color: #999999;
+		}
 	}
-	.service {
-		border-top-right-radius: 35upx;
-		border-bottom-right-radius: 35upx;
+
+	.text {
+		color: #ffffff;
 	}
-	.all-radius {
-		border-radius: 35upx;
+
+	.default-bakground {
+		background-color: #446dfd;
+		color: #ffffff;
 	}
-	.all-width {
+
+	.u-bottom-fixed {
+		position: fixed;
+		bottom: 0;
+		left: 0;
 		width: 100%;
+		z-index: 1500;
+		background-color: #ffffff;
+		box-shadow: 0 -1rpx 20rpx -15rpx #353535;
+	}
+
+	.u-bottom-height-0 {
+		height: 110upx;
+	}
+
+	.u-bottom-height-1 {
+		height: 190upx;
 	}
-	.bd-three-one {
-		width: calc(100% / 3);
+
+	.u-bottom-height-2 {
+		height: 270upx;
 	}
-	.bd-no-radius {
-		border-radius: 0;
+
+	.goods-margin {
+		margin-top: 20upx;
 	}
-}
-.bd-exchange {
-	line-height: 70upx;
-	font-size: #{28rpx};
-	text-align: center;
-	color: #fff;
-	border-radius: 35upx;
-	&.bd-over {
-		background: #e9e9e9;
+
+	.bd-goods {
+		margin: 24 upx 24 upx 24 upx 24 upx;
+	}
+
+	.ecard-text {
 		color: #999999;
 	}
-}
-.text {
-	color: #ffffff;
-}
-.default-bakground {
-	background-color: #446dfd;
-	color: #ffffff;
-}
-.u-bottom-fixed {
-	position: fixed;
-	bottom: 0;
-	left: 0;
-	width: 100%;
-	z-index: 1500;
-	background-color: #ffffff;
-	box-shadow: 0 -1rpx 20rpx -15rpx #353535;
-}
-.u-bottom-height-0 {
-	height: 110upx;
-}
-.u-bottom-height-1 {
-	height: 190upx;
-}
-.u-bottom-height-2 {
-	height: 270upx;
-}
-.goods-margin {
-	margin-top: 20upx;
-}
-.bd-goods {
-	margin: 24 upx 24 upx 24 upx 24 upx;
-}
-.ecard-text {
-	color: #999999;
-}
 
-.bd-content {
-	padding: 0;
-	display: block;
-	background-color: #ffffff;
-}
-.bd-content-view {
-	width: 100%;
-	height: 100%;
-}
-.btn-finish-sell {
-	background: linear-gradient(to right, rgba(153, 153, 153, 1), rgba(153, 153, 153, 0.7));
-}
+	.bd-content {
+		padding: 0;
+		display: block;
+		background-color: #ffffff;
+	}
+
+	.bd-content-view {
+		width: 100%;
+		height: 100%;
+	}
+
+	.btn-finish-sell {
+		background: linear-gradient(to right, rgba(153, 153, 153, 1), rgba(153, 153, 153, 0.7));
+	}
 </style>

+ 1 - 1
src/pages/case/themeArea.vue

xqd
@@ -8,7 +8,7 @@
 					<image v-show="activeIndex===index1" class="l" src="https://t17.9026.com/web/statics/image/index/k.png" mode=""></image>
 				</view>
 				<view class="main-center cross-center g">
-					更多方案<image class="h" src="https://t17.9026.com/web/statics/image/index/arrow-right-yellow.png" mode=""></image>
+					更多<image class="h" src="https://t17.9026.com/web/statics/image/index/arrow-right-yellow.png" mode=""></image>
 				</view>
 			</view>
 		</view>

+ 1 - 1
src/pages/favorite/favorite.vue

xqd
@@ -291,7 +291,7 @@ export default {
 					name: '商品'
 				},
 				{
-					name: '专题'
+					name: '方案'
 				}
 			];
 		},

+ 6 - 5
src/pages/index/binding/binding.vue

xqd xqd xqd xqd xqd xqd
@@ -2,7 +2,7 @@
 	<view>
 		<view class="main-between cross-center lp">
 			<view class="name">世龙广场</view>
-			<image src="../../../static/image/index/arrow-down-bottom.png" mode=""></image>
+			<image src="https://t17.9026.com/web/statics/image/index/arrow-down-bottom.png" mode=""></image>
 		</view>
 		<view class="form-box">
 			<view class="title">楼盘信息</view>
@@ -10,7 +10,7 @@
 				<view class="title_1">楼盘名称</view>
 				<view class="main-right cross-center">
 					<text class="pla">请选择</text>
-					<image class="arrow-right" src="../../../static/image/index/arrow-right-gray.png" mode=""></image>
+					<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode=""></image>
 				</view>
 			</view>
 			<view class="line"></view>
@@ -19,7 +19,7 @@
 					<view class="title_1">区域信息</view>
 					<view class="main-right cross-center">
 						<text :class="{'val':region!=='请选择','pla':region==='请选择'}">{{region}}</text>
-						<image class="arrow-right" src="../../../static/image/index/arrow-right-gray.png" mode="">
+						<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode="">
 						</image>
 					</view>
 				</view>
@@ -30,7 +30,7 @@
 					<view class="title_1">楼盘性质</view>
 					<view class="main-right cross-center">
 						<text :class="{'val':nature!=='请选择','pla':nature==='请选择'}">{{nature}}</text>
-						<image class="arrow-right" src="../../../static/image/index/arrow-right-gray.png" mode="">
+						<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode="">
 						</image>
 					</view>
 				</view>
@@ -40,7 +40,7 @@
 				<view class="title_1">绑定销售</view>
 				<view class="main-right cross-center" >
 					<text class="pla">请选择</text>
-					<image class="arrow-right" src="../../../static/image/index/arrow-right-gray.png" mode=""></image>
+					<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode=""></image>
 				</view>
 			</view>
 		</view>
@@ -70,6 +70,7 @@
 				})
 			},
 			bindPickerRegion(e) {
+				console.log('地区',e)
 				this.region = e.target.value.join('')
 			},
 			bindPickerNature(e) {

+ 5 - 5
src/pages/index/binding/bindingSale.vue

xqd xqd xqd
@@ -1,15 +1,15 @@
 <template>
 	<view>
-		<image class="a" src="../../../static/image/index/addcustomerbg.png" mode=""></image>
+		<image class="a" src="https://t17.9026.com/web/statics/image/index/addcustomerbg.png" mode=""></image>
 		<view class="main-left cross-center search">
 			<image src="https://t17.9026.com/web/statics/image/index/search.png" mode=""></image>
-			<input style="width: 560rpx;" type="text" value="" placeholder="搜索楼盘" placeholder-style="font-size:28rpx;color:#999;" />
+			<input style="width: 560rpx;" type="text" value="" placeholder="输入销售人员姓名" placeholder-style="font-size:28rpx;color:#999;" />
 		</view>
 		
 		<view class="main">
 			<view class="main-between cross-center" style="height: 100rpx;">
 				<view class="title">世龙广场销售人员</view>
-				<view class="main-right cross-center"><text class="pla">更多</text><image class="arrow-right" src="../../../static/image/index/arrow-right-gray.png" mode=""></image></view>
+				<view class="main-right cross-center"><text class="pla">更多</text><image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode=""></image></view>
 			</view>
 			<view class="main-between cross-center item" v-for="(item,index) in 4" :key="index" @click="selectSale(index)">
 				<view class="main-left">
@@ -19,7 +19,7 @@
 						<view class="phone">15888888888</view>
 					</view>
 				</view>
-				<image v-show="selectSaleIndex===index" style="width: 36rpx;height: 36rpx;" src="../../../static/image/index/select_sale.png" mode=""></image>
+				<image v-show="selectSaleIndex===index" style="width: 36rpx;height: 36rpx;" src="https://t17.9026.com/web/statics/image/index/select_sale.png" mode=""></image>
 			</view>
 		</view>
 		<button type="default" @click="" :class="{'add':true, 'allow-add':selectSaleIndex!==-1, 'not-add':selectSaleIndex===-1}" :disabled="fasle">确认绑定</button>
@@ -45,7 +45,7 @@
 	.item{
 		width: 678rpx;
 		height: 130rpx;
-		background-image: url(../../../static/image/index/sale_bg.png);
+		background-image: url(https://t17.9026.com/web/statics/image/index/sale_bg.png);
 		padding: 0 37rpx 0 31rpx;
 		margin-bottom: 21rpx;
 		.name{

+ 35 - 9
src/pages/index/hxj_index_component.vue

xqd xqd xqd xqd xqd
@@ -20,7 +20,7 @@
 			</view>
 
 		</view>
-		<app-scroll-list></app-scroll-list>
+		<app-scroll-list :list="list"></app-scroll-list>
 		<view class="link">
 			<view class="title1">本期家点灵感</view>
 			<image class="tyx" src="https://t17.9026.com/web/statics/image/index/tyx.png" mode=""></image>
@@ -28,8 +28,8 @@
 			<view class="subtitle">臻选整装 · 安全无甲醛 · 7天入住</view>
 		</view>
 		<view class="lg_list">
-			<view class="item" v-for="(item,index) in 3" :key="index">
-				<image class="imgBox" src="https://t17.9026.com/web/statics/image/index/3.png"></image>
+			<view class="item" v-for="(item,index) in [3,'temporary/jhk-1634283447190','temporary/jhk-1634284367308']" :key="index" @click="goPage('/pages/case/projectInfo?id=9')">
+				<image class="imgBox" :src="`https://t17.9026.com/web/statics/image/index/${item}.png`"></image>
 				<view class="b_card main-between">
 					<view class="left">
 						<view class="title">85m²MUJI风创造「最大坪效」</view>
@@ -94,20 +94,20 @@
 			</view>
 			<scroll-view scroll-x="true">
 				<view class="main-left w">
-					<view class="item" v-for="(item,index) in 3" :key="index">
-						<image class="borradu_20" src="https://t17.9026.com/web/statics/image/index/7.png" mode=""></image>
-						<view class="title_2">定制主题占位符</view>
+					<view class="item" v-for="(item,index) in ['jhk-1634283667210','jhk-1634284372084','jhk-1634283687206']" :key="index">
+						<image class="borradu_20" :src="`https://t17.9026.com/web/statics/image/index/temporary/${item}.png`" mode=""></image>
+						<view class="title_2">定制主题</view>
 						<view class="desc_2">独到品味的代表备份</view>
 					</view>
 				</view>
 			</scroll-view>
-			<view class="more">
+			<!-- <view class="more">
 				<view class="viewmore1_color">查看更多</view>
 				<view class="viewmore1_color">VIEW MORE</view>
 				<view>
 					<image class="viewmore1" src="https://t17.9026.com/web/statics/image/index/viewmore1.png" mode=""></image>
 				</view>
-			</view>
+			</view> -->
 		</view>
 		<view class="link mt_20">
 			<view class="title1">限时团购<image class="coupon_1" src="https://t17.9026.com/web/statics/image/index/coupon_1.png" mode="">
@@ -118,7 +118,7 @@
 		<view class="group_list">
 			<swiper style="height: 606rpx;" :indicator-dots="false" :autoplay="false" :interval="3000" :duration="1000"
 				previous-margin="75rpx" next-margin="75rpx">
-				<swiper-item class="" v-for="(item,index) in 3" :key="index">
+				<swiper-item class="" v-for="(item,index) in 3" :key="index" @click="goPage('/plugins/pt/goods/goods?goods_id=29')">
 					<view class="item">
 						<view class="imgBox">
 							<image class="img" src="https://t17.9026.com/web/statics/image/index/3.png"></image>
@@ -194,6 +194,32 @@
 		data() {
 			return {
 				swiperKey: 0, //轮播位置
+				list:[
+					
+						{
+							image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634283687206.png',
+							title: '热销方案',
+							tag: '热销',
+							link:'/pages/case/hot_sale_project'
+						},
+						{
+							image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634284372084.png',
+							title: '主题专区',
+							tag: '主题',
+							link:'/pages/case/themeArea'
+						},
+						{
+								image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634283667210.png',
+								title: '定制产品',
+								tag: '定制',
+								link:''
+							},
+						{
+							image: 'https://t17.9026.com/web/statics/image/index/2.png',
+							title: '定制产品',
+							tag: '定制'
+						}
+				]
 			}
 		},
 		methods: {

+ 209 - 3
src/pages/order-submit/invoice/invoice.vue

xqd xqd
@@ -1,6 +1,90 @@
 <template>
 	<view>
-		
+		<view class="form-box">
+			<picker mode="region" @change="bindPickerRegion">
+				<view class="main-between cross-center item">
+					<view class="title_1">票据类型<text>*</text></view>
+					<view class="main-right cross-center">
+						<text :class="{'val':region!=='请选择','pla':region==='请选择'}">{{region}}</text>
+						<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode="">
+						</image>
+					</view>
+				</view>
+			</picker>
+		</view>
+		<view class="form-box">
+			<!-- <view class="title">楼盘信息</view> -->
+			<picker mode="region" @change="bindPickerRegion">
+				<view class="main-between cross-center item">
+					<view class="title_1">抬头类型<text>*</text></view>
+					<view class="main-right cross-center">
+						<text :class="{'val':region!=='请选择','pla':region==='请选择'}">{{region}}</text>
+						<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode="">
+						</image>
+					</view>
+				</view>
+			</picker>
+			<view class="line"></view>
+			<view class="main-between cross-center item">
+				<view class="title_1">发票抬头<text>*</text></view>
+				<view class="main-right cross-center">
+					<input type="text" value="" placeholder="企业名称" style="text-align: right;"
+						placeholder-style="font-size: 28rpx;font-weight: 500;color: #999999;" />
+				</view>
+			</view>
+			<view class="line"></view>
+			<view class="main-between cross-center item">
+				<view class="title_1">税号</view>
+				<view class="main-right cross-center">
+					<input type="text" value="" placeholder="抬头为企业单位时填写" style="text-align: right;"
+						placeholder-style="font-size: 28rpx;font-weight: 500;color: #999999;" />
+				</view>
+			</view>
+			<view class="line"></view>
+			<view class="main-between cross-center item">
+				<view class="title_1">单位地址</view>
+				<view class="main-right cross-center">
+					<input type="text" value="" placeholder="请输入" style="text-align: right;"
+						placeholder-style="font-size: 28rpx;font-weight: 500;color: #999999;" />
+				</view>
+			</view>
+			
+		</view>
+		<view class="form-box">
+			<view class="main-between cross-center item">
+				<view class="title_1">电话号码</view>
+				<view class="main-right cross-center">
+					<input type="text" value="" placeholder="请输入" style="text-align: right;"
+						placeholder-style="font-size: 28rpx;font-weight: 500;color: #999999;" />
+				</view>
+			</view>
+			<view class="line"></view>
+			<view class="main-between cross-center item">
+				<view class="title_1">开户银行</view>
+				<view class="main-right cross-center">
+					<input type="text" value="" placeholder="请输入" style="text-align: right;"
+						placeholder-style="font-size: 28rpx;font-weight: 500;color: #999999;" />
+				</view>
+			</view>
+			<view class="line"></view>
+			<view class="main-between cross-center item">
+				<view class="title_1">银行账户</view>
+				<view class="main-right cross-center">
+					<input type="text" value="" placeholder="请输入" style="text-align: right;"
+						placeholder-style="font-size: 28rpx;font-weight: 500;color: #999999;" />
+				</view>
+			</view>
+			<view class="line"></view>
+			<view class="main-between cross-center item">
+				<view class="title_1">开票金额<text>*</text></view>
+				<view class="main-right cross-center">
+					<input type="text" value="" placeholder="请输入" style="text-align: right;"
+						placeholder-style="font-size: 28rpx;font-weight: 500;color: #999999;" />
+				</view>
+			</view>
+			
+		</view>
+		<button type="default" :class="{'add':true, 'allow-add':true, 'not-add':false}" :disabled="fasle">提交</button>
 	</view>
 </template>
 
@@ -8,12 +92,134 @@
 	export default {
 		data() {
 			return {
-				
+				region: '请选择',
+				nature: '请选择',
+
+				natureList: ['住宅用房', '非住宅用房']
 			};
+		},
+		methods: {
+			selectBuild() {
+				uni.navigateTo({
+					url: '/pages/sale/properties/addProperties'
+				})
+			},
+			selectSale() {
+				uni.navigateTo({
+					url: '/pages/index/binding/bindingSale'
+				})
+			},
+			bindPickerRegion(e) {
+				this.region = e.target.value.join('')
+			},
+			bindPickerNature(e) {
+				this.nature = this.natureList[e.target.value]
+			}
 		}
 	}
 </script>
 
-<style lang="scss">
+<style lang="scss" scoped>
+	.page {
+		min-height: 100vh;
+		background: #F8F8F8;
+		padding-top: 21rpx;
+	}
+
+	.lp {
+		width: 678rpx;
+		height: 100rpx;
+		background: #FFFFFF;
+		border-radius: 6rpx;
+		padding: 0 43rpx 0 34rpx;
+		margin: 0 auto;
+
+		.name {
+			font-size: 32rpx;
+			font-weight: bold;
+			color: #000000;
+		}
+
+		image {
+			width: 18rpx;
+			height: 11rpx;
+		}
+	}
+
+	.form-box {
+		width: 678rpx;
+		height: auto;
+		background: #FFFFFF;
+		border-radius: 6rpx;
+		margin: 21rpx auto;
+
+		.title {
+			font-size: 32rpx;
+			font-weight: bold;
+			color: #000000;
+			border-bottom: 1rpx solid #E4E2E2;
+			height: 99rpx;
+			padding-left: 34rpx;
+			line-height: 99rpx;
+		}
+
+		.item {
+			height: 89rpx;
+			padding: 0 32rpx 0 30rpx;
+		}
+
+		.title_1 {
+			font-size: 28rpx;
+			font-weight: bold;
+			color: #000000;
+
+			text {
+				color: #FD1616;
+			}
+		}
+
+		.pla {
+			font-size: 28rpx;
+			font-weight: 500;
+			color: #999999;
+			margin-right: 20rpx;
+		}
+
+		.val {
+			font-size: 28rpx;
+			font-weight: 500;
+			color: #232323;
+			margin-right: 20rpx;
+		}
+	}
+
+	.add {
+		width: 678rpx;
+		height: 90rpx;
+		border-radius: 6rpx;
+		margin: 0 auto;
+		font-size: 32rpx;
+		font-weight: bold;
+		color: #FFFFFF;
+	}
 
+	.allow-add {
+		background: #A18353;
+	}
+
+	.not-add {
+		background-color: #bab994;
+	}
+
+	.line {
+		width: 618rpx;
+		height: 1rpx;
+		background-color: #EAEAEA;
+		margin: 0 auto;
+	}
+
+	.arrow-right {
+		width: 12.8rpx;
+		height: 22.8rpx;
+	}
 </style>

+ 131 - 2
src/pages/order-submit/invoice/invoiceAddr.vue

xqd xqd
@@ -1,6 +1,31 @@
 <template>
 	<view>
-		
+		<view class="form-box">
+			<view class="main-between cross-center item">
+				<view class="title_1">姓名</view>
+				<view class="main-right cross-center">
+					<input type="text" value="" placeholder="请输入" style="text-align: right;"
+						placeholder-style="font-size: 28rpx;font-weight: 500;color: #999999;" />
+				</view>
+			</view>
+			<view class="line"></view>
+			<view class="main-between cross-center item">
+				<view class="title_1">电话</view>
+				<view class="main-right cross-center">
+					<input type="text" value="" placeholder="请输入" style="text-align: right;"
+						placeholder-style="font-size: 28rpx;font-weight: 500;color: #999999;" />
+				</view>
+			</view>
+			<view class="line"></view>
+			<view class="main-between cross-center item">
+				<view class="title_1">地址</view>
+				<view class="main-right cross-center">
+					<input type="text" value="" placeholder="请输入" style="text-align: right;"
+						placeholder-style="font-size: 28rpx;font-weight: 500;color: #999999;" />
+				</view>
+			</view>
+		</view>
+		<button type="default" :class="{'add':true, 'allow-add':true, 'not-add':false}" :disabled="fasle">提交</button>
 	</view>
 </template>
 
@@ -10,10 +35,114 @@
 			return {
 				
 			};
+		},
+		methods: {
+			
 		}
 	}
 </script>
 
-<style lang="scss">
+<style lang="scss" scoped>
+	.page {
+		min-height: 100vh;
+		background: #F8F8F8;
+		padding-top: 21rpx;
+	}
+
+	.lp {
+		width: 678rpx;
+		height: 100rpx;
+		background: #FFFFFF;
+		border-radius: 6rpx;
+		padding: 0 43rpx 0 34rpx;
+		margin: 0 auto;
+
+		.name {
+			font-size: 32rpx;
+			font-weight: bold;
+			color: #000000;
+		}
+
+		image {
+			width: 18rpx;
+			height: 11rpx;
+		}
+	}
+
+	.form-box {
+		width: 678rpx;
+		height: auto;
+		background: #FFFFFF;
+		border-radius: 6rpx;
+		margin: 21rpx auto;
+
+		.title {
+			font-size: 32rpx;
+			font-weight: bold;
+			color: #000000;
+			border-bottom: 1rpx solid #E4E2E2;
+			height: 99rpx;
+			padding-left: 34rpx;
+			line-height: 99rpx;
+		}
+
+		.item {
+			height: 89rpx;
+			padding: 0 32rpx 0 30rpx;
+		}
+
+		.title_1 {
+			font-size: 28rpx;
+			font-weight: bold;
+			color: #000000;
+
+			text {
+				color: #FD1616;
+			}
+		}
 
+		.pla {
+			font-size: 28rpx;
+			font-weight: 500;
+			color: #999999;
+			margin-right: 20rpx;
+		}
+
+		.val {
+			font-size: 28rpx;
+			font-weight: 500;
+			color: #232323;
+			margin-right: 20rpx;
+		}
+	}
+
+	.add {
+		width: 678rpx;
+		height: 90rpx;
+		border-radius: 6rpx;
+		margin: 0 auto;
+		font-size: 32rpx;
+		font-weight: bold;
+		color: #FFFFFF;
+	}
+
+	.allow-add {
+		background: #A18353;
+	}
+
+	.not-add {
+		background-color: #bab994;
+	}
+
+	.line {
+		width: 618rpx;
+		height: 1rpx;
+		background-color: #EAEAEA;
+		margin: 0 auto;
+	}
+
+	.arrow-right {
+		width: 12.8rpx;
+		height: 22.8rpx;
+	}
 </style>

+ 61 - 34
src/pages/order-submit/order-submit.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -23,14 +23,16 @@
 							<view class="dir-left-nowrap cross-center" style="padding: 10rpx 0;line-height: 1.2;">
 								<!-- 商户名start -->
 								<view class="box-grow-0">
-									<image src="https://shop.9026.com/web/statics/image/mall/static/icon/store-black.png" class="title-icon mr-12"></image>
+									<image
+										src="https://shop.9026.com/web/statics/image/mall/static/icon/store-black.png"
+										class="title-icon mr-12"></image>
 								</view>
 								<view class="box-grow-1 font-bold ellipsis-1">{{mch.mch.name}}</view>
 								<view
 									v-if="mch.mch.id > 0 &&  mch.delivery && mch.delivery.send_type === 'offline' && mch.store && mch.store.distance != '-m'"
 									class="box-grow-0 dir-left-nowrap cross-center">
-									<image src="https://shop.9026.com/web/statics/image/mall/static/icon/location.png" class="mr-12"
-										style="display: block; width: 22rpx;height: 26rpx;"></image>
+									<image src="https://shop.9026.com/web/statics/image/mall/static/icon/location.png"
+										class="mr-12" style="display: block; width: 22rpx;height: 26rpx;"></image>
 									<view>距您{{mch.store.distance}}</view>
 								</view>
 							</view><!-- 商户名end -->
@@ -47,21 +49,25 @@
 											<view @click="navigateStore(mchIndex)"
 												class="box-grow-1 dir-left-nowrap cross-center">
 												<view>
-													<image src="https://shop.9026.com/web/statics/image/mall/static/icon/navigation-black.png"
+													<image
+														src="https://shop.9026.com/web/statics/image/mall/static/icon/navigation-black.png"
 														class="title-icon mr-12"></image>
 												</view>
 												<view class="font-bold ellipsis-1 mr-12">
 													{{mch.store.name}}
 												</view>
 												<view class="mr-12">
-													<image src="https://shop.9026.com/web/statics/image/mall/static/icon/right.png" class="mr-12"
-														style="width: 12rpx; height: 22rpx;"></image>
+													<image
+														src="https://shop.9026.com/web/statics/image/mall/static/icon/right.png"
+														class="mr-12" style="width: 12rpx; height: 22rpx;"></image>
 												</view>
 											</view>
 											<view v-if="mch.store.distance != '-m' || getLocationFail"
 												class="box-grow-0 dir-left-nowrap cross-center">
 												<view>
-													<image src="https://shop.9026.com/web/statics/image/mall/static/icon/location.png" class="mr-12"
+													<image
+														src="https://shop.9026.com/web/statics/image/mall/static/icon/location.png"
+														class="mr-12"
 														style="display: block; width: 22rpx;height: 26rpx;"></image>
 												</view>
 												<view v-if="getLocationFail" @click.stop="openLocationSetting"
@@ -83,14 +89,16 @@
 									<view v-else class="dir-left-nowrap cross-center" @click="navigateStore(mchIndex)"
 										style="padding: 10rpx 0;">
 										<view class="box-grow-1 dir-left-nowrap">
-											<image src="https://shop.9026.com/web/statics/image/mall/static/icon/navigation-black.png"
+											<image
+												src="https://shop.9026.com/web/statics/image/mall/static/icon/navigation-black.png"
 												class="title-icon mr-12"></image>
 											<view class="mr-12 font-bold">选择门店</view>
 										</view>
 										<view class="box-grow-0 dir-left-nowrap cross-center">
 											<view class="mr-12 font-gray">请选择门店</view>
-											<image src="https://shop.9026.com/web/statics/image/mall/static/icon/arrow-right.png" class="mr-12"
-												style="width: 12rpx; height: 22rpx;"></image>
+											<image
+												src="https://shop.9026.com/web/statics/image/mall/static/icon/arrow-right.png"
+												class="mr-12" style="width: 12rpx; height: 22rpx;"></image>
 										</view>
 									</view>
 								</template>
@@ -143,7 +151,8 @@
 							style="height: 80rpx;line-height: 80rpx; background: #fff4f3;padding: 0 24rpx;">
 							<view>以下商品满{{mch.pick_up_price}}元起送</view>
 						</view>
-						<app-submit-goods :theme="theme" v-on:updateList="updateList" :index="mchIndex" :plugin="plugin" :list="mch"></app-submit-goods>
+						<app-submit-goods :theme="theme" v-on:updateList="updateList" :index="mchIndex" :plugin="plugin"
+							:list="mch"></app-submit-goods>
 						<view class="line"></view>
 						<template v-if="(mch.coupon && mch.coupon.enabled) ||
                                 (mch.member_discount > 0 || mch.member_discount < 0) ||
@@ -167,7 +176,8 @@
 											</view>
 											<view class="box-grow-0 mr-12 font-gray" v-else>选择优惠券</view>
 											<view class="box-grow-0">
-												<image src="https://shop.9026.com/web/statics/image/mall/static/icon/arrow-right.png"
+												<image
+													src="https://shop.9026.com/web/statics/image/mall/static/icon/arrow-right.png"
 													style="width: 12rpx; height: 22rpx; margin-bottom: -2rpx;"></image>
 											</view>
 										</view>
@@ -288,40 +298,57 @@
 						<template>
 							<view class="dir-left-nowrap cross-center" style="height: 84rpx; padding: 0 32rpx;">
 								<view class="box-grow-1">支付方式</view>
-								<view class="box-grow-0" >
+								<view class="box-grow-0">
 									微信支付
 								</view>
 							</view>
 							<view class="dir-left-nowrap cross-center" style="height: 84rpx; padding: 0 32rpx;">
 								<view class="box-grow-1">配送方式</view>
-								<view class="box-grow-0" >
+								<view class="box-grow-0">
 									快递配送
 								</view>
 							</view>
 						</template>
-						<template >
+						<template>
 							<!-- 申请发票start -->
 							<view class="dir-left-nowrap cross-center" style="height: 84rpx; padding: 0 32rpx;">
 								<view class="box-grow-1">发票</view>
 								<view class="box-grow-0">
 									<label>
-										<checkbox class="fp" :value="1" checked="false" color="#ffffff" style="transform:scale(0.7)" />
+										<checkbox @click="isNeedInvoice=!isNeedInvoice" :checked="isNeedInvoice"
+											color="#ffffff" style="transform:scale(0.7)" />
 									</label>
 								</view>
 							</view>
-							<view style="font-size: 24rpx;font-weight: 500;color: #AE8445;line-height: 46rpx;text-align: right;padding: 0 32rpx;" @click="navigateInvoice">编辑发票资料</view>
-							
-							<view class="dir-left-nowrap cross-center" style="height: 84rpx; padding: 0 32rpx;">
+							<view v-show="isNeedInvoice"
+								style="font-size: 24rpx;font-weight: 500;color: #AE8445;line-height: 46rpx;text-align: right;padding: 0 32rpx;"
+								@click="navigateInvoice">编辑发票资料</view>
+
+							<view v-show="isNeedInvoice" class="dir-left-nowrap cross-center"
+								style="height: 84rpx; padding: 0 32rpx;">
 								<view class="box-grow-1">发票收货地址</view>
 								<view class="box-grow-0">
 									<label>
-										<checkbox class="fp" :value="1" checked="false" color="#ffffff" style="transform:scale(0.7)" />
+										<checkbox :value="1" checked="false" color="#ffffff"
+											style="transform:scale(0.7)" />
 									</label>
 								</view>
 							</view>
-							<view style="font-size: 24rpx;font-weight: 500;color: #AE8445;line-height: 46rpx;text-align: right;padding: 0 32rpx;" @click="navigateInvoiceAddr">填写收货地址</view>
+							<view v-show="isNeedInvoice"
+								style="font-size: 24rpx;font-weight: 500;color: #AE8445;line-height: 46rpx;text-align: right;padding: 0 32rpx;"
+								@click="navigateInvoiceAddr">填写收货地址</view>
+
 						</template><!-- 申请发票end -->
-						
+						<template>
+							<!-- 买家留言start -->
+							<view class="dir-left-nowrap cross-center" style="min-height: 84rpx; padding: 0 32rpx;">
+								<view class="box-grow-1">买家留言</view>
+								<view class="box-grow-0">
+									<textarea type="text" style="width: 460rpx;" maxlength="50" auto-height placeholder="填写您想要备注的信息,50字以内" placeholder-style="font-size: 24rpx;font-weight: 500;color: #999999;" />
+								</view>
+							</view>
+						</template><!-- 买家留言end -->
+
 						<template v-if="mch.show_express_price !== false">
 							<!-- 运费信息start -->
 							<view class="dir-left-nowrap cross-center" style="height: 84rpx; padding: 0 32rpx;">
@@ -455,11 +482,13 @@
 							<text v-for="(custom_currency, ccIndex) in previewData.custom_currency_all" :key="ccIndex">
 								{{custom_currency}}+
 							</text>
-							<template v-if="previewData.vip_card_discount_total_price">
-								¥{{balance <0 ? setPrice(previewData.vip_card_discount_total_price, balance) : FlorPrice(previewData.vip_card_discount_total_price)}}
-							</template>
-							<template
-								v-else>¥{{balance <0 ? setPrice(previewData.total_price, balance) : FlorPrice(previewData.total_price)}}</template>
+							<text style="font-size: 30rpx;font-weight: bold;color: #F93F3F;">
+								<template v-if="previewData.vip_card_discount_total_price">
+									¥{{balance <0 ? setPrice(previewData.vip_card_discount_total_price, balance) : FlorPrice(previewData.vip_card_discount_total_price)}}
+								</template>
+								<template
+									v-else>¥{{balance <0 ? setPrice(previewData.total_price, balance) : FlorPrice(previewData.total_price)}}</template>
+							</text>
 						</view>
 						<view v-if="previewData.vip_card_price > 0" :class="[themeTextClass]"
 							:style="{'color': !is_gift ? theme.color : '','font-size': '20rpx'}">包含SVIP费用:
@@ -512,6 +541,7 @@
 		},
 		data() {
 			return {
+				isNeedInvoice: false, //是否需要发票
 				balance: 0, // 余额
 				totalTitle: '合计',
 				check: false,
@@ -838,14 +868,14 @@
 					url: `/pages/order-submit/store-pick?mchIndex=${mchIndex}&plugin=${plugin}&firstGoodsId=${firstGoodsId}`,
 				});
 			},
-			navigateInvoice(){
+			navigateInvoice() {
 				uni.navigateTo({
-					url:'/pages/order-submit/invoice/invoice'
+					url: '/pages/order-submit/invoice/invoice'
 				})
 			},
-			navigateInvoiceAddr(){
+			navigateInvoiceAddr() {
 				uni.navigateTo({
-					url:'/pages/order-submit/invoice/invoiceAddr'
+					url: '/pages/order-submit/invoice/invoiceAddr'
 				})
 			},
 			navigateCoupon(mchIndex) {
@@ -1303,7 +1333,6 @@
 	}
 </script>
 <style scoped lang="scss">
-	
 	$submitBarHeight: #{110rpx};
 	$borderColor: $uni-weak-color-one;
 	$xWidth: #{24rpx};
@@ -1570,6 +1599,4 @@
 			color: #FF4544;
 		}
 	}
-	
-	
 </style>

+ 4 - 55
src/pages/user-center/user-center.vue

xqd xqd xqd xqd
@@ -42,7 +42,7 @@
         ></app-my-order>
 
         <view class="app-my-service" v-if="userCenter.is_menu_status == 1">
-            <view class="title" v-if="userCenter.menu_title">{{userCenter.menu_title}}</view>
+            <view class="title hjx-ts-28 hjx-tw-800 hjx-tc-222" v-if="userCenter.menu_title">{{userCenter.menu_title}}</view>
             <view class="list" :class="[listStyle]">
                 <!--  #ifdef MP -->
                 <view class="item" v-for="(item, index) in userCenter.menus" :key="index" >
@@ -69,30 +69,6 @@
                         </view>
                     </app-jump-button>
                 </view>
-				<view class="item" v-for="(item, index) in temporaryMenu" :key="index" >
-				    <app-jump-button form
-				                     :url="item.link_url"
-				                     :open_type="item.open_type"
-				                     :item="item"
-				                     :arrangement="`${userCenter.menu_style === '1' ? 'row' : userCenter.menu_style === '2' ? 'column' : ''}`">
-				        <view style="width: 100%"
-				              class="item-container"
-				              :class="[
-				                  userCenter.menu_style=='1'?'dir-left-nowrap cross-center':'',
-				                  userCenter.menu_style=='2'?'dir-top-nowrap cross-center':'',
-				              ]">
-				            <view class="box-grow-0">
-				                <image :src="item.icon_url" class="icon"></image>
-				            </view>
-				            <view class="box-grow-1" style="max-width: 100%">
-				                <view class="name">{{item.name}}</view>
-				            </view>
-				            <view class="box-grow-0" v-if="userCenter.menu_style=='1'">
-				                <image src="https://shop.9026.com/web/statics/image/mall/static/icon/arrow-right.png" class="arrow"></image>
-				            </view>
-				        </view>
-				    </app-jump-button>
-				</view>
                 <!--  #endif -->
                 <!--  #ifdef H5 -->
                 <block v-for="(item, index) in menus" :key="index">
@@ -168,36 +144,7 @@
         },
 		data(){ 
 			return {
-				temporaryMenu:[
-					{
-						icon_url: "https://t1.9026.com/plugins/pintuan/assets/img/pick-link/icon-pintuan.png",
-						key: "pintuan",
-						link_url: "/pages/user-center/evaluate/list",
-						name: "我的评价",
-						open_type: "navigate",
-					},
-					{
-						icon_url: "https://t1.9026.com/plugins/pintuan/assets/img/pick-link/icon-pintuan.png",
-						key: "pintuan",
-						link_url: "",
-						name: "我的楼盘",
-						open_type: "navigate",
-					},
-					{
-						icon_url: "https://t1.9026.com/plugins/pintuan/assets/img/pick-link/icon-pintuan.png",
-						key: "pintuan",
-						link_url: "/pages/user-center/about-mall/about-mall",
-						name: "关于商城",
-						open_type: "navigate",
-					},
-					{
-						icon_url: "https://t1.9026.com/plugins/pintuan/assets/img/pick-link/icon-pintuan.png",
-						key: "pintuan",
-						link_url: "/pages/sale/sale_login/sale_login",
-						name: "切换销售端",
-						open_type: "navigate",
-					}
-				]
+				
 			}
 		},
         computed: {
@@ -211,7 +158,9 @@
 					let val=this.$utils.deepClone(state.userCenter.data.foot_bar)
 					if(val){
 						val.splice(1, 0, {icon_url:'',name:'我的优惠券'})
+						val.splice(2,1)
 						return val;
+						console.log(val)
 					}else{
 						return state.userCenter.data.foot_bar
 					}

+ 208 - 0
src/plugins/composition/components/app-add-subtract/app-add-subtract.vue

xqd
@@ -0,0 +1,208 @@
+<template>
+	<view>
+		<view v-if="xStyle==1">
+			<view class="app-add-subtract dir-left-nowrap cross-center">
+				<image class="app-icon" @click.stop="_calcValue('minus')"
+					:src="inputValue <= min ? background == '#ffffff' ? 'https://shop.9026.com/web/statics/image/mall/static/cart/unreducible.png' : 'https://shop.9026.com/web/statics/image/mall/static/cart/unreducible-gray.png' : 'https://shop.9026.com/web/statics/image/mall/static/icon/subtract.png'">
+				</image>
+				<!--		<view class="app-value">-->
+				<input width="88rpx" height="60rpx" v-model="inputValue" class="text" @blur.stop="_onBlur" type="number"
+					:style="{'background-color':background}">
+				<!--		</view>-->
+				<image class="app-icon" v-show="is_loading" @load="imgLoad" @click.stop="_calcValue('plus')"
+					:src="inputValue >= stock ? background == '#ffffff' ? 'https://shop.9026.com/web/statics/image/mall/static/cart/can-add.png' : 'https://shop.9026.com/web/statics/image/mall/static/cart/can-add-gray.png' : background == '#ffffff' ? 'https://shop.9026.com/web/statics/image/mall/static/icon/add-but.png':'https://shop.9026.com/web/statics/image/mall/static/icon/add-but-gray.png'"
+					:style="{'background-color': theme.background}"></image>
+			</view>
+		</view>
+		<view v-else>
+			<view class="app-add-subtract dir-left-nowrap cross-center">
+				<view class="app-icon" :class="{'app-can':inputValue > min,'app-not':inputValue <= min}" @click.stop="_calcValue('minus')">-</view>
+				<!--		<view class="app-value">-->
+				<input v-model="inputValue" class="text" @blur.stop="_onBlur" type="number"
+					:style="{'background-color':background}">
+				<!--		</view>-->
+				<view class="app-icon" :class="{'app-can':inputValue < stock,'app-not':inputValue >= stock}" @click.stop="_calcValue('plus')">+</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: 'app-add-subtract',
+		data() {
+			return {
+				inputValue: 0,
+				step: 1,
+				disabled: false,
+				is_loading: false,
+			}
+		},
+		props: {
+			xStyle:{
+				type:[String, Number],
+				default (){
+					return 1
+				}
+			}, 
+			value: {
+				type: [String, Number],
+				default () {
+					return 1;
+				}
+			},
+			stock: {
+				type: Number,
+				default () {
+					return 0;
+				}
+			},
+			min: {
+				type: Number,
+				default () {
+					return 1;
+				}
+			},
+			background: {
+				type: String,
+				default () {
+					return '#ffffff';
+				}
+			},
+			good_id: [String, Number],
+			theme: Object
+		},
+		created() {
+			this.inputValue = +this.value;
+		},
+		methods: {
+			_calcValue(type) {
+				if (this.disabled) {
+					return;
+				}
+				const scale = this._getDecimalScale();
+				let value = this.inputValue * scale;
+				let step = this.step * scale;
+				if (type === "minus") {
+					value -= step;
+				} else if (type === "plus") {
+					value += step;
+				}
+				if (value < this.min || value > this.stock) {
+					return;
+				}
+				this.inputValue = String(value / scale);
+			},
+
+			_getDecimalScale() {
+
+				let scale = 1;
+				// 浮点型
+				if (~~this.step !== this.step) {
+					scale = Math.pow(10, (this.step + "").split(".")[1].length);
+				}
+				return scale;
+			},
+
+			_onBlur(event) {
+
+				let value = event.detail.value;
+				if (!value) {
+					// this.inputValue = 0;
+					return;
+				}
+				value = +value;
+				if (value > this.stock) {
+					value = this.stock;
+				} else if (value < this.min) {
+					value = this.min;
+				}
+				this.inputValue = value;
+			},
+
+			imgLoad() {
+				this.is_loading = true;
+			}
+		},
+		watch: {
+			value: {
+				handler(val) {
+					this.inputValue = +val;
+				}
+			},
+			inputValue(newVal, oldVal) {
+				if (+newVal !== +oldVal) {
+					this.$emit("change", {
+						number: newVal,
+						id: this.good_id
+					});
+				}
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.app-icon{
+		width: 32rpx;
+		height: 32rpx;
+		border-radius: 4rpx;
+		text-align: center;
+		line-height: 32rpx;
+	}
+	.app-not{
+		background: #F8F8F8;
+		color: #BABABA;;
+	}
+	.app-can{
+		background: #A6824F;
+		color: #fff;
+	}
+	.app-add-subtract {
+		height: #{60rpx};
+		// background-color: #efefef;
+		.app-icon {
+			height: #{44rpx};
+			width: #{44rpx};
+			background-size: 100% 100%;
+			background-repeat: no-repeat;
+		}
+
+		image {
+			margin-top: #{4rpx};
+		}
+
+		.app-unreducible {
+			background-image: url("https://shop.9026.com/web/statics/image/mall/static/cart/unreducible.png");
+		}
+
+		.app-not-add {
+			background-image: url("https://shop.9026.com/web/statics/image/mall/static/cart/can-add.png");
+		}
+
+		.app-can-add {
+			background-image: url("https://shop.9026.com/web/statics/image/mall/static/icon/add-but.png");
+		}
+
+		.app-can-be-reduced {
+			background-image: url("https://shop.9026.com/web/statics/image/mall/static/icon/subtract.png");
+		}
+
+		input {
+			font-size: #{30rpx};
+		}
+
+		.text {
+			line-height: #{32upx};
+			height: #{32rpx};
+			width: #{68rpx};
+			font-size: #{21rpx};
+			margin-top: #{4rpx};
+			color: #353535;
+			text-align: center;
+			vertical-align: middle;
+			padding: 0;
+		}
+
+	}
+</style>

+ 93 - 0
src/plugins/composition/components/app-bd-info/app-bd-info.vue

xqd
@@ -0,0 +1,93 @@
+<template>
+	<view>
+		<view class="main-between info-box">
+			<view class="main-left">
+				<image class="gd-cover" src="https://swdzshopv4.oss-cn-chengdu.aliyuncs.com/uploads/mall10000/20211213/bea32f790435d8a108717fd823113cda.jpg" mode=""></image>
+				<view>
+					<view class="title">兴城人居ins居家占位套餐</view>
+					<view>
+						<text class="price">
+							<text class="dw">¥</text>
+							<text class="rmb">2466</text>
+							<text class="decimal">.00</text>
+						</text>
+						<text class="price-line"><text>¥</text>3000.00</text>
+					</view>
+					<view class="main-left">
+						<view class="tag">套餐</view>
+						<view class="tag">全款</view>
+						<view class="tag">满200减10</view>
+					</view>
+				</view>
+			</view>
+			<view></view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.info-box{
+		width: 100%;
+		height: 230rpx;
+		background-color: #fff;
+		padding: 35rpx;
+		.gd-cover{
+			width: 170rpx;
+			height: 170rpx;
+			border-radius: 8rpx;
+			overflow: hidden;
+			margin-right: 28rpx;
+		}
+		.title{
+			font-size: 32rpx;
+			font-weight: bold;
+			color: #222222;
+			line-height: 46rpx;
+		}
+		.price{
+			color: #F93F3F;
+			line-height: 70rpx;
+			.dw{
+				font-size: 24rpx;
+				font-weight: 500;
+			}
+			.rmb{
+				font-size: 40rpx;
+				font-weight: 600;
+			}
+			.decimal{
+				font-size: 24rpx;
+				font-weight: 500;
+			}
+		}
+		.price-line{
+			font-size: 20rpx;
+			font-weight: 500;
+			text-decoration: line-through;
+			color: #999999;
+			line-height: 36rpx;
+		}
+		.tag{
+			width: auto;
+			height: 25rpx;
+			border: 1rpx solid #F59922;
+			border-radius: 2rpx;
+			font-size: 20rpx;
+			font-weight: 500;
+			color: #F59922;
+			line-height: 24rpx;
+			margin-right: 13rpx;
+			padding: 0 9rpx;
+		}
+	}
+</style>

+ 67 - 36
src/plugins/composition/components/app-list/app-list.vue

xqd xqd xqd xqd xqd xqd xqd xqd
@@ -2,65 +2,70 @@
     <view>
         <view class="app-list" :style="{'margin-top': `${top}rpx`}">
             <view class="app-item" v-for="(item,index) in list" :key="item.id">
-                <view class="dir-left-nowrap cross-center app-item-title">
+                <!-- <view class="dir-left-nowrap cross-center app-item-title">
                     <view class="check-icon" @click="choose(index,item)">
                         <image src="https://shop.9026.com/web/statics/image/mall/static/icon/icon-uncheck.png" v-if="!item.choose"></image>
                         <image :style="{'background-color': theme.background,'opacity': `${item.type == 1 ? '0.3' : '1'}`}"  src="https://shop.9026.com/web/statics/image/mall/static/icon/icon-checkbox-checked.png" v-else></image>
                     </view>
                     <view :style="{'color': theme.color}" class="item-type">{{item.type_text}}</view>
                     <view class="item-name">{{item.name}}</view>
-                </view>
-                <view class="item-goods dir-left-nowrap" v-for="goods in item.host_list" :key="goods.id">
-                    <view class="check-icon">
+                </view> -->
+                <view class="item-goods main-between" v-for="goods in item.host_list" :key="goods.id">
+                   <!-- <view class="check-icon">
                         <image :style="{'background-color': theme.background,'opacity': `${goods.opacity}`}" src="https://shop.9026.com/web/statics/image/mall/static/icon/icon-checkbox-checked.png"></image>
-                    </view>
+                    </view> -->
                     <image @click="toDetail(goods.goods_id)" class="goods-img" :src="goods.cover_pic"></image>
                     <view v-if="goods.stock == 0 || item.stock == 0" class="out-dialog">
                         <image :src="appSetting.is_use_stock == '1' ? appImg.plugins_out : appSetting.sell_out_pic"></image>
                     </view>
                     <view class="dir-top-nowrap goods-info">
                         <view class="item-good-name">{{goods.name}}</view>
-                        <view class="item-good-num">x1</view>
+                        <!-- <view class="item-good-num">x1</view> -->
                         <view class="item-good-attr" v-if="!goods.choose_attr" @click="chooseAttr(goods,index)">
                             <view class="item-good-attr-text t-omit-two">未选择</view>
-                            <image class="item-good-attr-arrow" src="https://shop.9026.com/web/statics/image/mall/static/icon/bottom.png"></image>
+                            <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-yellow.png"></image>
                         </view>
                         <view class="item-good-attr" v-else @click="chooseAttr(goods,index)">
                             <view class="item-good-attr-text t-omit-two">
-                                <text v-for="attr in goods.choose_attr.attr_list" :key="attr.attr_id">{{attr.attr_group_name}}:{{attr.attr_name}}</text>
+								<!-- {{attr.attr_group_name}}: -->
+                                <text v-for="attr in goods.choose_attr.attr_list" :key="attr.attr_id">{{attr.attr_name}}</text>
                             </view>
-                            <image class="item-good-attr-arrow" src="https://shop.9026.com/web/statics/image/mall/static/icon/bottom.png"></image>
+                            <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-yellow.png"></image>
                         </view>
                         <view v-if="item.type == 2 && goods.choose_attr" :style="{'color': theme.color}" class="choose_price">¥{{goods.total_price}}</view>
+						<view class="price"><text class="ought_price">¥3400.00</text><text class="paid_price">实付:¥<text>3000</text>.00</text></view>
                     </view>
+					<app-add-subtract :xStyle="2" :stock="100"></app-add-subtract>
                 </view>                    
-                <view class="item-goods dir-left-nowrap" v-for="(goods,idx) in item.goods_list" :key="goods.id">
-                    <view class="check-icon" v-if="item.type == 2" @click="chooseGoods(idx,index,goods)">
+                <view class="item-goods main-between" v-for="(goods,idx) in item.goods_list" :key="goods.id">
+                    <!-- <view class="check-icon" v-if="item.type == 2" @click="chooseGoods(idx,index,goods)">
                         <image src="https://shop.9026.com/web/statics/image/mall/static/icon/icon-uncheck.png" v-if="!goods.choose_goods"></image>
                         <image :style="{'background-color': theme.background}" src="https://shop.9026.com/web/statics/image/mall/static/icon/icon-checkbox-checked.png" v-else></image>
-                    </view>
+                    </view> -->
                     <image @click="toDetail(goods.goods_id)" class="goods-img" :src="goods.cover_pic"></image>
                     <view v-if="goods.stock == 0 || item.stock == 0" class="out-dialog">
                         <image :src="appSetting.is_use_stock == '1' ? appImg.plugins_out : appSetting.sell_out_pic"></image>
                     </view>
                     <view class="dir-top-nowrap goods-info">
                         <view class="item-good-name">{{goods.name}}</view>
-                        <view class="item-good-num">x1</view>
+                        <!-- <view class="item-good-num">x1</view> -->
                         <view class="item-good-attr" v-if="!goods.choose_attr" @click="chooseAttr(goods,index)">
                             <view class="item-good-attr-text t-omit-two">未选择</view>
-                            <image class="item-good-attr-arrow" src="https://shop.9026.com/web/statics/image/mall/static/icon/bottom.png"></image>
+                            <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-yellow.png"></image>
                         </view>
                         <view class="item-good-attr" v-else @click="chooseAttr(goods,index)">
                             <view class="item-good-attr-text t-omit-two">
                                 <text v-for="(attr,idx) in goods.choose_attr.attr_list" :key="attr.attr_id">
                                     <text v-if="idx > 0">,</text>
-                                    <text>{{attr.attr_group_name}}:{{attr.attr_name}}</text>
+                                    <text>{{attr.attr_name}}</text>
                                 </text>
                             </view>
-                            <image class="item-good-attr-arrow" src="https://shop.9026.com/web/statics/image/mall/static/icon/bottom.png"></image>
+                            <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-yellow.png"></image>
                         </view>
                         <view v-if="item.type == 2 && goods.choose_attr"  :style="{'color': theme.color}" class="choose_price">¥{{goods.total_price}}</view>
+						<view class="price"><text class="ought_price">¥3400.00</text><text class="paid_price">实付:¥<text>3000</text>.00</text></view>
                     </view>
+					<app-add-subtract :xStyle="2" :stock="100"></app-add-subtract>
                 </view>
                 <view class="app-price">
                     <template v-if="item.total_price && hidden">
@@ -101,6 +106,7 @@
     import { mapState } from "vuex";
     // import appAttr from "../../../../components/page-component/app-attr/app-attr.vue";
     import uAttr from "../../../../components/page-component/goods/u-attr.vue";
+	import appAddSubtract from "../app-add-subtract/app-add-subtract.vue";
 
     export default {
         name: 'app-index',
@@ -154,6 +160,7 @@
         },
         components: {
             'u-attr': uAttr,
+			appAddSubtract
         },
         methods: {
             // 规格选择
@@ -357,11 +364,11 @@
     .app-list {
         .app-item {
             background-color: #fff;
-            margin: #{10rpx} #{24rpx};
-            border-radius: #{16rpx};
+            // margin: #{10rpx} #{24rpx};
+            // border-radius: #{16rpx};
             padding: #{24rpx};
-            padding-top: 0;
-            padding-left: 0;
+            padding-top: 20rpx;
+            padding-left: 35rpx;
             .app-price {
                 line-height: #{74rpx};
                 height: #{74rpx};
@@ -413,9 +420,9 @@
             }
             .item-goods {
                 margin-top: #{28rpx};
-                margin-left: #{76rpx};
+                // margin-left: #{76rpx};
                 padding-bottom: #{28rpx};
-                border-bottom: #{2rpx} solid #e2e2e2;
+                // border-bottom: #{2rpx} solid #e2e2e2;
                 position: relative;
                 .out-dialog {
                     width: #{180rpx};
@@ -448,8 +455,8 @@
                     }
                 }
                 .goods-img {
-                    height: #{180rpx};
-                    width: #{180rpx};
+                    height: #{100rpx};
+                    width: #{100rpx};
                     border-radius: #{8rpx};
                     margin-right: #{24rpx};
                     position: relative;
@@ -461,11 +468,13 @@
                     .item-good-name {
                         width: #{336rpx};
                         max-height: #{90rpx};
-                        line-height: #{42rpx};
                         word-break: break-all;
                         overflow: hidden;
                         text-overflow: ellipsis;
                         white-space: nowrap;
+						font-size: 26rpx;
+						font-weight: 500;
+						color: #222222;
                     }
                     .item-good-num {
                         position: absolute;
@@ -476,27 +485,49 @@
                         font-size: #{28rpx};
                         margin-top: #{20rpx};
                     }
+					.price {
+						.ought_price{
+							font-size: 20rpx;
+							font-weight: 500;
+							color: #999999;
+							margin-right: 32rpx;
+						}
+						.paid_price{
+							font-size: 22rpx;
+							font-weight: 500;
+							color: #F93F3F;
+							text{
+								font-weight: 600;
+							}
+						}
+					}
                     .item-good-attr {
-                        margin-top: #{20rpx};
-                        background-color: #f7f7f7;
-                        width: #{398rpx};
+                        margin-top: #{10rpx};
                         display: inline-block;
-                        padding: #{8rpx} #{16rpx};
-                        border-radius: #{8rpx};
                         position: relative;
+						
+						width: 110rpx;
+						padding-right: 20rpx;
+						height: 30rpx;
+						background: #EFDDC4;
+						border: 1px solid #A18353;
+						border-radius: 4rpx;
+						overflow: hidden;
                         .item-good-attr-text {
-                            width: #{314rpx};
-                            line-height: #{32rpx};
+                            line-height: #{30rpx};
                             max-height: #{62rpx};
-                            color: #999;
+
+							font-size: 20rpx;
+							font-weight: 500;
+							color: #A6824F;
                         }
                         .item-good-attr-arrow {
                             position: absolute;
-                            right: #{16rpx};
+                            right: #{8rpx};
                             top: 50%;
                             margin-top: #{-6rpx};
-                            height: #{12rpx};
-                            width: #{22rpx};
+                            height: #{15.1rpx};
+                            width: #{9.9rpx};
                         }
                     }
                 }

+ 9 - 5
src/plugins/composition/detail/detail.vue

xqd xqd xqd xqd xqd
@@ -1,5 +1,7 @@
 <template>
     <app-layout>
+		<app-bd-info></app-bd-info>
+		<view style="font-size: 34rpx;font-weight: bold;color: #222222;line-height: 46rpx;padding:30rpx 0 0 35rpx;background-color: #fff;">套餐内商品</view>
         <app-list v-if="loading" :hidden="false" :top="0" :theme="getTheme" :list="list" v-on:update="update" v-on:change="getTotal" v-on:updateList="updateList"></app-list>
         <view class="list" v-if="other.length > 0">
             <view class="title">其他套餐</view>
@@ -9,13 +11,13 @@
         </view>
         <view v-if="list.length > 0" :class="['bottom-space', `${iphone_x? 'iphone_x':''}`]"></view>
         <view v-if="list.length > 0" :class="['bottom','main-between','cross-center', `${iphone_x? 'iphone_x':''}`]">
-            <view>
+           <!-- <view>
                 <view class="dir-left-nowrap cross-center">
                     <view>总计</view>
                     <view class="total-price" :style="{'color': getTheme.color}">¥{{total == 0 ? '0.00' : total}}</view>
                 </view>
                 <view class="discount" :style="{'color': getTheme.color}">已省¥{{max_discount}}</view>
-            </view>
+            </view> -->
             <view @click="toBuy" class="submit-btn" :style="{'background-color': getTheme.background}">立即购买</view>
         </view>
         <view class="dialog-bg" v-if="showNoAttr">
@@ -43,6 +45,7 @@
 <script>
     import {mapGetters} from "vuex";
     import appList from '../components/app-list/app-list';
+	import appBdInfo from '../components/app-bd-info/app-bd-info.vue';
     import appComposition from "../../../components/basic-component/app-composition/app-composition.vue";
 
     export default {
@@ -65,7 +68,8 @@
         },
         components: {
             'app-list': appList,
-            'app-composition': appComposition
+            'app-composition': appComposition,
+			appBdInfo
         },
         computed: {
             ...mapGetters('mallConfig', {
@@ -474,9 +478,9 @@
             margin-left: #{8rpx};
         }
         .submit-btn {
-            width: #{222rpx};
+            width: #{678rpx};
             height: #{78rpx};
-            border-radius: #{39rpx};
+            // border-radius: #{39rpx};
             color: #fff;
             font-size: #{32rpx};
             line-height: #{78rpx};

+ 3 - 0
src/static/css/hxj.scss

xqd
@@ -47,6 +47,9 @@
 .hjx-tw-600{
 	font-weight: 600;
 }
+.hjx-tw-800{
+	font-weight: 800;
+}
 
 .hxj-mb-10{
 	margin-bottom: 10rpx;

BIN
src/static/image/index/refresh.png


BIN
src/static/image/index/temporary/jhk-1634283447190.png


BIN
src/static/image/index/temporary/jhk-1634283667210.png


BIN
src/static/image/index/temporary/jhk-1634283687206.png


BIN
src/static/image/index/temporary/jhk-1634284367308.png


BIN
src/static/image/index/temporary/jhk-1634284372084.png