1
0

2 Commits 340668a1c8 ... 5ac31d55d2

Autor SHA1 Mensagem Data
  huangzhe 5ac31d55d2 套餐购买流程完善 3 anos atrás
  一懒众山小 d0a876f750 发票页面 3 anos atrás
31 arquivos alterados com 1573 adições e 818 exclusões
  1. 8 0
      src/App.vue
  2. 2 2
      src/components/page-component/app-my-order/app-my-order.vue
  3. 1 1
      src/components/page-component/app-special-topic/app-special-topic-list.vue
  4. 3 3
      src/components/page-component/app-user-center-top/app-user-center-top.vue
  5. 2 2
      src/components/page-component/goods/bd-info.vue
  6. 0 9
      src/components/page-component/goods/u-attr.vue
  7. 7 0
      src/core/apiUrl.js
  8. 10 2
      src/pages.json
  9. 1 1
      src/pages/case/components/hxj-bd-info.vue
  10. 11 0
      src/pages/case/hot_sale_project.vue
  11. 671 647
      src/pages/case/projectInfo.vue
  12. 1 1
      src/pages/case/themeArea.vue
  13. 1 1
      src/pages/favorite/favorite.vue
  14. 6 5
      src/pages/index/binding/binding.vue
  15. 5 5
      src/pages/index/binding/bindingSale.vue
  16. 35 9
      src/pages/index/hxj_index_component.vue
  17. 209 3
      src/pages/order-submit/invoice/invoice.vue
  18. 148 0
      src/pages/order-submit/invoice/invoiceAddr.vue
  19. 68 31
      src/pages/order-submit/order-submit.vue
  20. 4 55
      src/pages/user-center/user-center.vue
  21. 208 0
      src/plugins/composition/components/app-add-subtract/app-add-subtract.vue
  22. 93 0
      src/plugins/composition/components/app-bd-info/app-bd-info.vue
  23. 67 36
      src/plugins/composition/components/app-list/app-list.vue
  24. 9 5
      src/plugins/composition/detail/detail.vue
  25. 3 0
      src/static/css/hxj.scss
  26. BIN
      src/static/image/index/refresh.png
  27. BIN
      src/static/image/index/temporary/jhk-1634283447190.png
  28. BIN
      src/static/image/index/temporary/jhk-1634283667210.png
  29. BIN
      src/static/image/index/temporary/jhk-1634283687206.png
  30. BIN
      src/static/image/index/temporary/jhk-1634284367308.png
  31. BIN
      src/static/image/index/temporary/jhk-1634284372084.png

+ 8 - 0
src/App.vue

xqd
@@ -130,6 +130,14 @@
 	@import "./static/css/hxj.scss";
 	
 	
+	checkbox .wx-checkbox-input {
+			border-radius: 50% !important;
+	}
+	
+	checkbox .wx-checkbox-input.wx-checkbox-input-checked {
+		color: #fff;
+		background: #B78D56;
+	}
 	
 	
     .u-goods-detail {

+ 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>

+ 0 - 9
src/components/page-component/goods/u-attr.vue

xqd xqd xqd
@@ -4,7 +4,6 @@
 			<slot name="btn"></slot>
 		</view>
 		<u-popup v-model="newValue" mode="bottom" border-radius="14" :safeAreaInsetBottom="true" @close="close">
-		<template v-if="type==='goods'">
 			
 		    <!-- #ifdef MP-TOUTIAO -->
 		    <view class="u-model">
@@ -173,10 +172,6 @@
                     </view>
                 </app-jump-button>
 			</view>
-			</template>
-			<template v-if="type==='package'">
-				<view>套餐</view>
-			</template>
 		</u-popup>
 		<app-preview-image v-if="showPreview" :cover_list="cover_list" :index="attrIndex" @change="closePreview"></app-preview-image>
 	</view>
@@ -196,10 +191,6 @@
 		name: "u-attr",
 		mixins: [goodsMixin,calendarCommon],
 		props: {
-			type:{ //类型 goods单品、package套餐
-				type:String,
-				default:'goods'
-			},
 			value: {
 				type: [Boolean, Number]
 			},

+ 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',

+ 10 - 2
src/pages.json

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

+ 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)
+				})
 			}
 		}
 	}

Diferenças do arquivo suprimidas por serem muito extensas
+ 671 - 647
src/pages/case/projectInfo.vue


+ 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>

+ 148 - 0
src/pages/order-submit/invoice/invoiceAddr.vue

xqd
@@ -0,0 +1,148 @@
+<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>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			};
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<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>

+ 68 - 31
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>
@@ -168,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>
@@ -289,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="#AE8445" 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;">编辑发票资料</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="#AE8445" 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;">填写收货地址</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;">
@@ -456,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费用:
@@ -472,13 +500,13 @@
 					<view @click="subscribe" class="submit-btn u-submit-bar-height box-grow-0 main-center cross-center"
 						:class="[ submitLock? ' lock' : '', themeBgClass]"
 						:style="{'background-color': !is_gift ? theme.background : ''}">
-						<view style="background-color: transparent;color:#ffffff; text-align: center;">提交订单</view>
+						<view style="background-color: transparent;color:#ffffff; text-align: center;">去支付</view>
 					</view>
 				</template>
 				<template v-else>
 					<view class="submit-btn u-submit-bar-height box-grow-0 main-center cross-center disabled"
 						:class="[themeTextClass]" :style="{'color': !is_gift ? theme.color : ''}">
-						<view style="background-color: transparent;color: #ffffff; text-align: center;">提交订单</view>
+						<view style="background-color: transparent;color: #ffffff; text-align: center;">去支付</view>
 					</view>
 				</template>
 			</view>
@@ -513,6 +541,7 @@
 		},
 		data() {
 			return {
+				isNeedInvoice: false, //是否需要发票
 				balance: 0, // 余额
 				totalTitle: '合计',
 				check: false,
@@ -839,6 +868,16 @@
 					url: `/pages/order-submit/store-pick?mchIndex=${mchIndex}&plugin=${plugin}&firstGoodsId=${firstGoodsId}`,
 				});
 			},
+			navigateInvoice() {
+				uni.navigateTo({
+					url: '/pages/order-submit/invoice/invoice'
+				})
+			},
+			navigateInvoiceAddr() {
+				uni.navigateTo({
+					url: '/pages/order-submit/invoice/invoiceAddr'
+				})
+			},
 			navigateCoupon(mchIndex) {
 				uni.navigateTo({
 					url: `/pages/order-submit/coupon-pick?mchIndex=${mchIndex}`,
@@ -1509,7 +1548,7 @@
 		.submit-btn {
 			width: 240upx;
 			text-align: center;
-			border-radius: 41upx;
+			// border-radius: 41upx;
 		}
 
 		.submit-btn:active {
@@ -1560,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


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff