Explorar o código

Merge tag 'developerE' into developer

zhengjinyi %!s(int64=4) %!d(string=hai) anos
pai
achega
fe5f5a70ee

+ 1 - 1
components/cm-module/productDetails/cm-activipopu.vue

@@ -34,7 +34,7 @@
 					</view>
 					<view class="box-product" v-show="product.promotions.mode==3">
 						<view class="box-product-main"  v-for="(item, index) in product.promotions.giftList" :key="index">
-							<view class="image"><image :src="item.image" mode="widthFix"></image></view>
+							<view class="image"><image :src="item.image" mode=""></image></view>
 							<view class="info">
 								<view class="name">{{ item.name }}</view>
 								<view class="num">X{{ item.number }}</view>

+ 1 - 1
components/cm-module/productDetails/cm-price.vue

@@ -148,7 +148,7 @@
 							</view>
 							<view class="box-product" v-show="product.promotions.mode==3">
 								<view class="box-product-main"  v-for="(item, index) in product.promotions.giftList" :key="index">
-									<view class="image"><image :src="item.image" mode="widthFix"></image></view>
+									<view class="image"><image :src="item.image" mode=""></image></view>
 									<view class="info">
 										<view class="name">{{ item.name }}</view>
 										<view class="num">X{{ item.number }}</view>

+ 63 - 17
pages/goods/product.vue

@@ -93,11 +93,16 @@
 						<image class="none-image" :src="productNoneImage" mode=""></image>
 						<view class="none-text">此商品已{{goodsData.disabledText}},请浏览以下推荐商品~</view>
 					</view>
-					<view class="product-parameter" @click="showPopup" v-if="!goodsData.isNoneDisabled">
+					<view class="product-parameter" @click="showPopup(0)" v-if="!goodsData.isNoneDisabled">
 						<text class="title">参数:</text>
 						<text class="name">品牌  起订量  分类...</text>
 						<text class="iconfont icon-xiayibu"></text>
 					</view>
+					<view class="product-parameter" @click="showPopup(1)" v-if='product.commodityType == 2'>
+						<text class="title">培训方案:</text>
+						<text class="name">线上培训</text>
+						<text class="iconfont icon-xiayibu"></text>
+					</view>
 					<view class="product-supplier" v-if="isNoneSupplier" @click="goSupplier">
 						<view class="logo"><img :src="shop.logo ? shop.logo :'https://static.caimei365.com/app/img/icon/icon-shoplogo.png'" alt=""></view>
 						<view class="main">
@@ -147,7 +152,7 @@
 					</view>
 				</view>	
 				<!-- 商品参数 -->
-				<tui-bottom-popup :radius="true" :show="popupShow" @close="hidePopup()">
+				<tui-bottom-popup :radius="true" :show="popupShow0" @close="hidePopup(0)">
 					<view class="tui-popup-box clearfix">
 						<view class="title">商品参数</view>
 						<div class="tui-popup-main">
@@ -184,7 +189,30 @@
 						</div>
 						<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom :isIphoneX ? '68rpx' : '0rpx' }">
 							<view class="tui-flex-1">
-								<view class="tui-button" @click="hidePopup()">收起</view>
+								<view class="tui-button" @click="hidePopup(0)">收起</view>
+							</view>
+						</view>
+					</view>	
+				</tui-bottom-popup>	
+				<!-- 培训方案 -->
+				<tui-bottom-popup :radius="true" :show="popupShow1" @close="hidePopup(1)">
+					<view class="tui-popup-box clearfix">
+						<view class="title">培训方案</view>
+						<div class="tui-popup-main">
+							<scroll-view class="tui-popup-scroll train"  scroll-y="true">
+								<view class="content-tr">
+									<view class="content-td">培训方式:</view>
+									<view class="content-th">{{ product.trainingMethod == 1 ? '线上培训' : '线下培训' }}</view>
+								</view>
+								<view class="content-tr">
+									<view class="content-td">培训费用:</view>
+									<view class="content-th">{{ product.trainingType == 1 ? '¥'+product.trainingFee : '售价已包含' }}</view>
+								</view>
+							</scroll-view>
+						</div>
+						<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom :isIphoneX ? '68rpx' : '0rpx' }">
+							<view class="tui-flex-1">
+								<view class="tui-button" @click="hidePopup(1)">收起</view>
 							</view>
 						</view>
 					</view>	
@@ -298,7 +326,7 @@
 				mode:'round',
 				iconClass:'icon-aixin',
 				iconColor:'#ff9100',
-				specClass: '',//规格弹窗css类,控制开关动画
+				specClass: '',								// 规格弹窗css类,控制开关动画
 				isBtnType:'',
 				isRequest:false,
 				isScrollTop:false,
@@ -322,8 +350,8 @@
 				userId:'',
 				shopID:'',
 				productId:0,
-				userIdentity:0,//用户类型
-				goodsData:{},//自定义数据
+				userIdentity:0,								// 用户类型
+				goodsData:{},								// 自定义数据
 				shop:{},//供应商信息
 				product:{},//采美
 				productImage:[],
@@ -335,19 +363,20 @@
 				minBuyNumber:0,
 				productsList:[],
 				goodListData:[],
-				headerBtnPosi:	this.setHeaderBtnPosi(), //获取设备顶部胶囊高度
-				systeminfo: this.setSysteminfo(),		 //获取设备信息
+				headerBtnPosi:	this.setHeaderBtnPosi(), 	// 获取设备顶部胶囊高度
+				systeminfo: this.setSysteminfo(),		 	// 获取设备信息
 				isIphoneX:this.$store.state.isIphoneX,
 				windowHeight: '',
 				headerColor:false,
 				backPage:1,
-				nvabarData: {							 //顶部自定义导航
-					showCapsule: 1, // 是否显示左上角图标   1表示显示    0表示不显示
-					title: ''		// 导航栏 中间的标题
+				nvabarData: {							 	// 顶部自定义导航
+					showCapsule: 1, 						// 是否显示左上角图标   1表示显示    0表示不显示
+					title: ''								// 导航栏 中间的标题
 				},
 				linkPath:'',
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				popupShow:false,//参数弹窗
+				CustomBar:this.CustomBar,					// 顶部导航栏高度
+				popupShow0:false,							// 参数弹窗
+				popupShow1:false,							// 培训方案
 				tabSelectFlag:false,
 				sectionPropsArr: [],
 				scrollTopArray:[],
@@ -675,11 +704,25 @@
 				  imageUrl:`${this.productImage[0]}`
 				}
 			},
-			showPopup(){
-				this.popupShow = true
+			showPopup(index){
+				switch(index){
+					case 0:
+						this.popupShow0 = true
+						break;
+					case 1:
+						this.popupShow1 = true
+						break;
+				}
 			},
-			hidePopup(){
-				this.popupShow = false
+			hidePopup(index){
+				switch(index){
+					case 0:
+						this.popupShow0 = false
+						break;
+					case 1:
+						this.popupShow1 = false
+						break;
+				}
 			},
 			getSectionProps() {//获取每个tab对应区域的scrollTop值
 				let className = '.product-details',
@@ -1850,6 +1893,9 @@
 			.tui-popup-scroll{
 				width: 100%;
 				height: 500rpx;
+				&.train{
+					height: 240rpx;
+				}
 				.content-tr{
 					width: 100%;
 					min-height: 58rpx;

+ 6 - 4
pages/login/apply.vue

@@ -25,17 +25,19 @@
 				</view>
 				<view class="register-tip"><text>提示:邮箱可用作登录账号,请使用公司邮箱或法人邮箱</text></view>
 			</view>
-			<view class="register-row clearfix">
+			<view class="register-row none clearfix">
 				<view class="register-from">
 					<view class="label">机构名称</view>
 					<input class="row-input" type="text" v-model="clubName" placeholder="请输入您的机构名称" placeholder-class="placeholder" maxlength="30"/>
 				</view>
+				<view class="register-tip"><text>示例:深圳市美丽人生医疗美容有限公司</text></view>
 			</view>
-			<view class="register-row clearfix">
+			<view class="register-row none clearfix">
 				<view class="register-from">
 					<view class="label">机构简称</view>
-					<input class="row-input" type="text" v-model="shortName" placeholder="请输入您的机构简称" placeholder-class="placeholder" maxlength="10"/>
+					<input class="row-input" type="text" v-model="shortName" placeholder="请输入姓名或常用名" placeholder-class="placeholder" maxlength="10"/>
 				</view>
+				<view class="register-tip"><text>示例:美丽人生</text></view>
 			</view>
 			<view class="register-row clearfix">
 				<view class="register-from"  @click="showMulLinkageThreePicker">
@@ -716,7 +718,7 @@
 				}
 				.register-tip{
 					line-height: 64rpx;
-					font-size: $font-size-24;
+					font-size: $font-size-20;
 					color: #fea785;
 					text-align: left;
 				}

+ 18 - 4
pages/login/information.vue

@@ -28,17 +28,19 @@
 					<input class="row-input" type="text" name="input" v-model="contractEmail" placeholder="请输入邮箱地址"placeholder-class="placeholder" maxlength="30"/>
 				</view>
 			</view>
-			<view class="register-row clearfix">
+			<view class="register-row none clearfix">
 				<view class="register-from">
 					<view class="label">机构名称</view>
 					<input class="row-input" type="text" v-model="name" placeholder="请输入您的机构名称" placeholder-class="placeholder" maxlength="30"/>
 				</view>
+				<view class="register-tip"><text>示例:深圳市美丽人生医疗美容有限公司</text></view>
 			</view>
-			<view class="register-row clearfix">
+			<view class="register-row none clearfix">
 				<view class="register-from">
 					<view class="label">机构简称</view>
-					<input class="row-input" type="text" v-model="shortName" placeholder="请输入您的机构简称" placeholder-class="placeholder" maxlength="10"/>
+					<input class="row-input" type="text" v-model="shortName" placeholder="请输入姓名或常用名" placeholder-class="placeholder" maxlength="10"/>
 				</view>
+				<view class="register-tip"><text>示例:美丽人生</text></view>
 			</view>
 			<view class="register-row clearfix">
 				<view class="register-from"  @click="showMulLinkageThreePicker">
@@ -732,7 +734,10 @@
 			}
 			.register-row{
 				height: auto;
-				margin-bottom: 20rpx;			
+				margin-bottom: 20rpx;	
+				&.none{
+					margin-bottom: 0;
+				}		
 				.secondTyperadio{
 					border: 2rpx solid #e1e1e1;
 					display: inline-block;
@@ -748,6 +753,15 @@
 						color: $color-system;
 					}
 				}	
+				.register-tip{
+					width: 100%;
+					box-sizing: border-box;
+					padding: 0 24rpx;
+					line-height: 44rpx;
+					font-size: $font-size-20;
+					color: #fea785;
+					text-align: left;
+				}
 				.register-title{
 					line-height: 80rpx;
 					font-size: $font-size-30;

+ 11 - 1
pages/login/login.vue

@@ -18,7 +18,7 @@
 				<view class="iconfont" :class="isShowEye ? iconEyen : iconEyes"  @click="passwordClick"></view>
 			</view>
 			<view class="login-input link">
-				<view class="login-reg" @click.stop="this.$api.navigateTo('/pages/login/register-select')">免费注册</view>
+				<view class="login-reg" @click.stop="navigatorRegirst('/pages/login/register-select')">免费注册</view>
 				<view class="login-pwd" @click.stop="this.$api.navigateTo('/pages/login/password')">忘记密码?</view>
 			</view>
 		</view>
@@ -86,6 +86,16 @@
 				this.$store.commit('updateStatus',data)
 				this.login(data);
 			},
+			navigatorRegirst(url){
+				// 友盟埋点注册入口点击事件
+				if(process.env.NODE_ENV != 'development'){
+					this.$uma.trackEvent('Um_Event_zhuce', {
+						Um_Key_PageName: '立即注册',
+						Um_Key_SourcePage: '个人中心',
+					})
+				}
+				this.$api.navigateTo(url)
+			},
 			passwordClick() { //密码显隐操作
 				this.isShowEye = !this.isShowEye;
 			},

+ 27 - 2
pages/login/logincode.vue

@@ -12,9 +12,12 @@
 				   placeholder="请输入邀请码"
 			/>
 		</view>
-		<view class="login-row" @click.stop="this.$api.navigateTo('/pages/login/register-select')"><text>免费注册</text></view>
-		<view class="login-btn"  @click.stop="goLogin">登录</view>
+		<view class="login-row" @click.stop="navigatorRegirst('/pages/login/register-select')"><text>免费注册</text></view>
+		<view class="login-btn"  @click.stop="goLogin">邀请码登录</view>
 		<view class="login-btn-last" @click.stop="this.$api.navigateTo('/pages/login/login')">账号登录</view>
+		<view class="login-tips">
+			邀请码是采美平台为了方便机构内成员互相邀请并快速注册采美账号推出的一项邀请机制。机构成员在任一渠道(包括采美365网站和微信“采美采购商城”小程序)注册了采美账号,该成员可在其个人中心添加其他机构成员,系统自动为每一个成员生成邀请码。其他成员使用邀请码可直接登录“采美采购商城”小程序。
+		</view>
 	</view>
 </template>
 
@@ -50,6 +53,16 @@
 				this.params.unionId = uni.getStorageSync('unionId')
 				this.GetUserProfile()
 			},
+			navigatorRegirst(url){
+				// 友盟埋点注册入口点击事件
+				if(process.env.NODE_ENV != 'development'){
+					this.$uma.trackEvent('Um_Event_zhuce', {
+						Um_Key_PageName: '立即注册',
+						Um_Key_SourcePage: '个人中心',
+					})
+				}
+				this.$api.navigateTo(url)
+			},
 			GetUserProfile(){//获取用户微信个人信息
 				const self = this
 				wx.getUserProfile({
@@ -184,6 +197,18 @@
 			border: 1px solid $color-system;
 			margin-top: 20rpx;
 		}
+		.login-tips{
+			width: 100%;
+			height: auto;
+			margin-top: 80rpx;
+			box-sizing: border-box;
+			padding: 0 75rpx;
+			line-height: 44rpx;
+			font-size: $font-size-20;
+			color: #fea785;
+			text-align: justify;
+			text-indent: 40rpx;
+		}
 		.model-authorization{
 			width: 100%;
 			height: 100%;

+ 8 - 2
pages/login/register-supplier.vue

@@ -69,12 +69,15 @@
 			</view>
 		</view>	
 		<view class="register-main clearfix" v-if="stepIndex === 1">
-			<view class="register-row clearfix">
+			<view class="register-row none clearfix">
 				<view class="register-from">
 					<view class="label">公司名称:</view>
 					<input class="row-input" type="text" name="input" v-model="twoParmas.name" placeholder="请输入您的公司名称" maxlength="30"/>
 				</view>
 			</view>
+			<view class="register-row text clearfix">
+				<text>示例:华熙生物科技股份有限公司</text>
+			</view>	
 			<view class="register-row clearfix">
 				<view class="register-from">
 					<view class="label">联系人:</view>
@@ -96,12 +99,15 @@
 			</view>
 		</view>
 		<view class="register-main clearfix" v-if="stepIndex === 2">
-			<view class="register-row clearfix">
+			<view class="register-row none clearfix">
 				<view class="register-from">
 					<view class="label">公司简称:</view>
 					<input class="row-input" type="text" v-model="threeParmas.shortName" placeholder="请输入您的公司简称" maxlength="10"/>
 				</view>
 			</view>
+			<view class="register-row text clearfix">
+				<text>示例:华熙生物</text>
+			</view>	
 			<view class="register-row clearfix">
 				<view class="register-from"  @click="showMulLinkageThreePicker">
 					<view class="label">联系地址:</view>

+ 6 - 6
pages/user/order/order-pay.vue

@@ -176,13 +176,13 @@
 			GetPayOrderInfo(){//初始化支付信息
 				this.PayService.PayOrderCheckoutCounter({orderId:this.orderID}).then(response =>{
 					this.isRepuest = true
-					this.discernReceipt = response.data.discernReceipt 		//支付记录
-					this.payTotalFee = response.data.order.payTotalFee  //订单总额
-					this.receiptAmount = response.data.order.receiptAmount  //已付金额
-					this.payableAmount = response.data.order.payableAmount - this.receiptAmount//已付金额
-					this.payAmount = this.toFixedFn(this.payableAmount)	//自定义金额
+					this.discernReceipt = response.data.discernReceipt 			// 支付记录
+					this.payTotalFee = response.data.order.payTotalFee  		// 订单总额
+					this.receiptAmount = response.data.order.receiptAmount  	// 已付金额
+					this.payableAmount = response.data.order.payableAmount - this.receiptAmount// 已付金额
+					this.payAmount = this.toFixedFn(this.payableAmount)			// 自定义金额
 					console.log('this.payAmount',this.payAmount)
-					this.balanceAmount = this.payableAmount - this.payAmount// 计算剩余支付金额
+					this.balanceAmount = this.payableAmount - this.payAmount	// 计算剩余支付金额
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)
 				})

+ 0 - 2
seller/pages/login/register-member.vue

@@ -563,11 +563,9 @@
 				switch(this.params.firstClubType){
 					case 1:
 						this.params.mainProduct = this.CheckLikes(e,this.mentuzCampList)
-						console.log(this.params.mainProduct)
 						break;
 					case 2:
 						this.params.mainProduct = this.CheckLikes(e,this.medicaCampList)
-						console.log(this.params.mainProduct)
 						break;
 				}
 			},

+ 17 - 2
supplier/pages/user/information.vue

@@ -8,10 +8,12 @@
 				<view class="label">公司名称</view>
 				<input class="row-input" type="text"  v-model="params.name" placeholder="请与营业执照的注册名称保持一致" placeholder-class="placeholder" maxlength="30"/>
 			</view>
+			<view class="info-email">示例:华熙生物科技股份有限公司</view>
 			<view class="info-from">
 				<view class="label">公司简称</view>
 				<input class="row-input" type="text" v-model="params.shortName" placeholder="请输入公司简称" placeholder-class="placeholder" maxlength="10"/>
 			</view>
+			<view class="info-email">示例:华熙生物</view>
 			<view class="info-from">
 				<view class="label">公司地址</view>
 				<view class="row-input" @click="showMulLinkageThreePicker">
@@ -764,6 +766,15 @@
 	.placeholder{
 		 color: #b2b2b2;
 	}
+	.info-from-tips{
+		width: 100%;
+		box-sizing: border-box;
+		padding: 0 24rpx;
+		line-height: 44rpx;
+		font-size: $font-size-24;
+		color: #fea785;
+		text-align: left;
+	}
 	.info-from{
 		width: 702rpx;
 		height: 90rpx;
@@ -814,9 +825,13 @@
 	}
 	 input[type="text"]::placeholder,textarea::placeholder {color: #b2b2b2;font-size: $font-size-28;}
 	 .info-email{
-		 color: #fea785;
+		 width: 100%;
+		 box-sizing: border-box;
+		 padding: 0 24rpx;
+		 line-height: 44rpx;
 		 font-size: $font-size-20;
-		 padding-left: 24rpx ;
+		 color: #fea785;
+		 text-align: left;
 	 }
 	 .ShopTyperadio{
 		 overflow: hidden;