소스 검색

美易转版本相关代码提交

zhengjinyi 1 개월 전
부모
커밋
d491f6c3e7

+ 4 - 2
common/config/wxLogin.js

@@ -9,7 +9,8 @@ const newUserService = new UserService(ajaxService)
 const wxLoginAuthorize = async function(){
     const wechatCode = await authorize.getCode('weixin')// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
     const getUserInfo = await authorize.getUserInfo('weixin')
-    newUserService.UserLoginAuthApplets({ 
+    newUserService.UserLoginAuthApplets({ 
+        organizeId: 0,
         code:wechatCode,
         encryptedData:getUserInfo.encryptedData,
         iv:getUserInfo.iv
@@ -29,7 +30,8 @@ const wxLoginAuthorize = async function(){
 const wxLoginQuick = async function(){// 根据微信的code获取用户登录状态:1已登录过 -1未登录过跳转
     const wechatCode = await authorize.getCode('weixin')// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
     const getUserInfo = await authorize.getUserInfo('weixin')
-    newUserService.UserLoginAuthApplets({ 
+    newUserService.UserLoginAuthApplets({ 
+        organizeId: 0,
         code:wechatCode,
         encryptedData:getUserInfo.encryptedData,
         iv:getUserInfo.iv

+ 1 - 0
mixins/appMixins.js

@@ -11,6 +11,7 @@ const appMixins = {
             const wechatCode = await authorize.getCode('weixin') // 根据微信的code获取用户登录状态:1已登录过 -1未登录过
             const getUserInfo = await authorize.getUserInfo('weixin')
             this.UserService.UserLoginAuthApplets({
+                    organizeId: 0,
                     code: wechatCode,
                     encryptedData: getUserInfo.encryptedData,
                     iv: getUserInfo.iv

+ 6 - 0
pages.json

@@ -461,6 +461,12 @@
 						"navigationBarTitleText": "物流信息"
 					}
 				},
+				{
+					"path": "order/order-contract",
+					"style": {
+						"navigationBarTitleText": "销售合同"
+					}
+				},
 				{
 					"path": "operator/list",
 					"style": {

+ 2 - 0
pages/login/bindOperator.vue

@@ -112,6 +112,7 @@
 				const wechatCode = await authorize.getCode('weixin')// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
 				const getUserInfo = await authorize.getUserInfo('weixin')
 				this.UserService.UserLoginAuthApplets({ 
+                    organizeId: 0,
 					code:wechatCode,
 					encryptedData:getUserInfo.encryptedData,
 					iv:getUserInfo.iv ,
@@ -235,6 +236,7 @@
 			},
 			BindingWechat(){//绑定微信并登录
 				let params ={
+                        organizeId: 0,
 						userId:uni.getStorageSync('bind_id'),
 						mobile:this.bindMobile,
 						linkName:this.bindLinkName,

+ 6 - 4
pages/login/binding.vue

@@ -22,7 +22,7 @@
 				<view class="register-fiexd clearfix" :style="{paddingBottom:isIphoneX ? '68rpx':''}">
 					<view class="register-agree">
 						<view class="agree-text">
-							提示:采美销售顾问已帮您填写好了注册信息,请确认信息是否正确。点击确认并登录按钮将为您自动生成账号进行登录,并绑定您的微信。
+							提示:服务商已帮您填写好了注册信息,请确认信息是否正确。点击确认并登录按钮将为您自动生成账号进行登录,并绑定您的微信。
 						</view>
 					</view>
 					<view class="register-row">
@@ -107,7 +107,7 @@
 				<view class="register-fiexd clearfix" :style="{paddingBottom:isIphoneX ? '68rpx':''}">
 					<view class="register-agree">
 						<view class="agree-text">
-							提示:采美销售顾问已帮您填写好了注册信息,请确认信息是否正确。点击确认并登录按钮将为您自动生成账号进行登录,并绑定您的微信。
+							提示:服务商已帮您填写好了注册信息,请确认信息是否正确。点击确认并登录按钮将为您自动生成账号进行登录,并绑定您的微信。
 						</view>
 					</view>
 					<view class="register-row">
@@ -135,7 +135,8 @@
 				isInvalid:false,
 				isSubLoading:false,
 				productNoneImage:'https://static.caimei365.com/app/img/icon/icon-pnone.png',
-				params:{
+				params:{
+                    organizeId: 0,
 					userId:0,
 					mobile:'',
 					linkName:'',
@@ -191,7 +192,8 @@
 			async getWxAuthorize(){
 				const wechatCode = await authorize.getCode('weixin')// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
 				const getUserInfo = await authorize.getUserInfo('weixin')
-				this.UserService.UserLoginAuthApplets({ 
+				this.UserService.UserLoginAuthApplets({ 
+                    organizeId: 0,
 					code:wechatCode,
 					encryptedData:getUserInfo.encryptedData,
 					iv:getUserInfo.iv ,

+ 1 - 0
pages/login/bindwechat.vue

@@ -135,6 +135,7 @@
 						self.nickName = res.userInfo.nickName
 						self.avatarUrl = res.userInfo.avatarUrl
                         const params = {
+                            organizeId: 0,
                             userId:self.userId,
                             mobile:self.bindLinkPhone,
                             linkName:self.bindLinkName,

+ 1 - 0
pages/login/logincode.vue

@@ -29,6 +29,7 @@
         data() {
             return {
                 params: {
+                    organizeId: 0,
                     invitationCode: '', //获取用户登录的邀请码
                     unionId: 0,
                     nickName: '',

+ 1 - 0
pages/login/register.vue

@@ -275,6 +275,7 @@ export default {
             try{
                 await this.UserService.UserRegisterClub(params)
                 wxLogin.wxLoginAuthorize()
+                this.$util.msg('注册成功', 2000, true, 'success')
                 const url = uni.getStorageSync('LOGIN_REDIRECT_URL')
                 if (url) {
                     if (url.indexOf('tabBar') > -1) {

+ 6 - 6
pages/seller/components/user.vue

@@ -165,11 +165,11 @@
                         path: '/pages/seller/login/register-select',
                         icon: 'https://static.caimei365.com/app/img/icon/icon_seller_3@2x.png'
                     },
-                    // {
-                    //     name: '待注册机构',
-                    //     path: '/pages/seller/club/stayClub-list',
-                    //     icon: 'https://static.caimei365.com/app/img/icon/icon_seller_1@2x.png'
-                    // },
+                    {
+                        name: '待注册机构',
+                        path: '/pages/seller/club/stayClub-list',
+                        icon: 'https://static.caimei365.com/app/img/icon/icon_seller_1@2x.png'
+                    },
                     {
                         name: '我的名片',
                         path: '/pages/seller/remarks/business-card',
@@ -223,7 +223,7 @@
             async initData() {
                 const wechatCode = await authorize.getCode('weixin') // 根据微信的code获取用户登录状态:1已登录过 -1未登录过
                 const getUserInfo = await authorize.getUserInfo('weixin')
-                const params = { code: wechatCode, encryptedData: getUserInfo.encryptedData, iv: getUserInfo.iv }
+                const params = { organizeId: 0, code: wechatCode, encryptedData: getUserInfo.encryptedData, iv: getUserInfo.iv }
                 this.UserService.UserLoginAuthApplets(params).then(response => {
                     if (response.code == 0 || response.code == 4) {
                         this.isLogin = true

+ 1 - 0
pages/seller/login/login.vue

@@ -64,6 +64,7 @@
 				const wechatCode = await authorize.getCode('weixin');// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
 				const getUserInfo = await authorize.getUserInfo('weixin');
 				this.UserService.UserLoginAuthApplets({ 
+                    organizeId: 0,
 					code:wechatCode,
 					encryptedData:getUserInfo.encryptedData,
 					iv:getUserInfo.iv ,

+ 1 - 1
pages/seller/login/register-member.vue

@@ -370,7 +370,7 @@
 				</view>
 			</view>
 			<view class="register-fiexd clearfix" :style="{ paddingBottom: isIphoneX ? '68rpx' : '' }">
-				<view class="register-row"> <button class="register-btn sub" @tap="ShareRegister">分享</button> </view>
+				<view class="register-row"> <button class="register-btn sub" @tap="ShareRegister">分享给机构确认注册</button> </view>
 			</view>
 		</view>
 		<!-- 地址Pciker -->

+ 1 - 1
pages/supplier/components/user.vue

@@ -286,7 +286,7 @@ export default {
 		async initData() {
 			const wechatCode = await authorize.getCode('weixin') // 根据微信的code获取用户登录状态:1已登录过 -1未登录过
 			const getUserInfo = await authorize.getUserInfo('weixin')
-			const params = { code: wechatCode, encryptedData: getUserInfo.encryptedData, iv: getUserInfo.iv }
+			const params = { organizeId: 0, code: wechatCode, encryptedData: getUserInfo.encryptedData, iv: getUserInfo.iv }
 			this.UserService.UserLoginAuthApplets(params).then(response => {
 				if (response.code == 0 || response.code == 4) {
 					this.isLogin = true

+ 2 - 0
pages/supplier/login/bind-operator.vue

@@ -101,6 +101,7 @@
 				const wechatCode = await authorize.getCode('weixin');// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
 				const getUserInfo = await authorize.getUserInfo('weixin');
 				this.UserService.UserLoginAuthApplets({ 
+                    organizeId: 0,
 					code:wechatCode,
 					encryptedData:getUserInfo.encryptedData,
 					iv:getUserInfo.iv ,
@@ -222,6 +223,7 @@
 			},
 			BindingWechat(){//绑定微信并登录
 				let params ={
+                        organizeId: 0,
 						userId:this.bind_supplierInfo.userId,
 						mobile:this.bindLinkPhone,
 						linkName:this.bindLinkName,

+ 3 - 2
pages/tabBar/home/index.js

@@ -47,7 +47,8 @@ const homeMiXins = {
         async GetWxAuthorize() {
         	const wechatCode = await authorize.getCode('weixin') // 根据微信的code获取用户登录状态:1已登录过 -1未登录过
         	const getUserInfo = await authorize.getUserInfo('weixin')
-        	this.UserService.UserLoginAuthApplets({
+        	this.UserService.UserLoginAuthApplets({
+                organizeId: 0,
         		code: wechatCode,
         		encryptedData: getUserInfo.encryptedData,
         		iv: getUserInfo.iv
@@ -65,7 +66,7 @@ const homeMiXins = {
         			if (response.data.userIdentity == 1) {
         				this.$api.redirectTo('/pages/seller/index/index')
         			} else if (response.data.userIdentity === 3) {
-        				this.$api.redirectTo('/pages/supplier/index/index')
+        				this.$api.redirectTo('/pages/supplier/index/index') 
         			}
         			this.updateRossShow()
         			this.GetInitBeansInfo()

+ 128 - 0
pages/user/order/components/cm-contract-temp.vue

@@ -0,0 +1,128 @@
+<template name="cm-parameter">
+    <view class="contract-template">
+        <!-- 发票信息 -->
+        <view class="contract-title" @tap.stop="handleContract">
+            <text class="text">销售合同:</text>
+            <text class="contract-text">查看合同</text>
+            <text class="iconfont icon-xiangyou"></text>
+        </view>
+        <view class="contract-checked" @click.stop="handleChecked">
+            <view class="checkbox-text">
+                (请查看并阅读销售合同后勾选同意)
+            </view>
+            <view class="checkbox-box">
+                <button class="checkbox iconfont" hover-class="btn-hover"
+                    :class="[ischecked ? 'icon-gouxuanl' : 'icon-weigouxuan']"></button>
+            </view>
+        </view>
+    </view>
+</template>
+
+<script>
+    export default {
+        name: 'cm-contract-temp',
+        props: {},
+        data() {
+            return {
+                isIphoneX: this.$store.state.isIphoneX,
+                userId: 0,
+                ischecked: false
+            }
+        },
+        created() {
+
+        },
+        computed: {
+
+        },
+        methods: {
+            // 跳转订单合同
+            handleContract() {
+                this.$api.navigateTo('/pages/user/order/order-contract')
+            },
+            //勾选使用余额
+            handleChecked() {
+                this.ischecked = !this.ischecked
+            },
+        }
+    }
+</script>
+
+<style lang="scss">
+    .contract-template {
+        width: 100%;
+        height: auto;
+        background: #ffffff;
+        float: left;
+        margin-top: 24rpx;
+
+        .contract-title {
+            width: 702rpx;
+            padding: 0 24rpx;
+            height: 66rpx;
+            line-height: 66rpx;
+            position: relative;
+
+            .text {
+                font-size: $font-size-28;
+                color: $text-color;
+                font-weight: bold;
+            }
+
+            .contract-text {
+                font-size: $font-size-24;
+                color: #999999;
+                line-height: 66rpx;
+                display: inline-block;
+                float: right;
+                box-sizing: border-box;
+                padding-right: 40rpx;
+            }
+
+            .iconfont {
+                width: 50rpx;
+                height: 66rpx;
+                line-height: 66rpx;
+                color: #999999;
+                display: block;
+                position: absolute;
+                right: 0;
+                top: 0;
+            }
+        }
+
+        .contract-checked {
+            width: 100%;
+            height: 60rpx;
+            display: flex;
+            justify-content: flex-end;
+            box-sizing: border-box;
+            padding: 0 10rpx;
+
+            .checkbox-box {
+                display: flex;
+                width: 60rpx;
+                float: left;
+                height: 100%;
+                font-size: $font-size-28;
+
+                .checkbox {
+                    width: 40rpx;
+                    text-align: right;
+                    box-sizing: border-box;
+                    text-align: center;
+                    text-decoration: none;
+                    border-radius: 0;
+                    -webkit-tap-highlight-color: transparent;
+                    overflow: hidden;
+                    color: $color-system;
+                }
+            }
+
+            .checkbox-text {
+                font-size: $font-size-24;
+                color: #fea785;
+            }
+        }
+    }
+</style>

+ 8 - 9
pages/user/order/components/cm-invice-popup.vue

@@ -122,7 +122,7 @@
 
 <script>
 export default {
-	name: 'cm-prams-popup',
+	name: 'cm-invice-popup',
 	props: {},
 	data() {
 		return {
@@ -286,19 +286,19 @@ export default {
 			}
 			switch (data.type){
 				case 0:
-					return `不开发票`
-					break;
+					return '不开发票'
+					break
 				case 1:
 					return `普票-${map[data.headingType]}(${this.nameFilters(data.invoiceTitle)})`
-					break;
+					break
 				case 2:
 					return `专票(${this.nameFilters(data.invoiceTitle)})`
-					break;
+					break
 			}
 		},
 		nameFilters(value) {
 			if(value && value.length>10){
-				return value.substring(0,10)+"..." 
+				return value.substring(0,10)+'...' 
 			}else{
 				return value
 			}
@@ -316,17 +316,16 @@ export default {
 	height: auto;
 	background: #ffffff;
 	float: left;
-	margin-top: 24rpx;
 	.invoice-title {
 		width: 702rpx;
 		padding: 0 24rpx;
 		height: 88rpx;
 		line-height: 88rpx;
 		position: relative;
-		border-bottom: 1px solid #ebebeb;
 		.text {
 			font-size: $font-size-28;
-			color: $text-color;
+			color: $text-color;
+            font-weight: bold;
 		}
 		.invoice-text {
 			font-size: $font-size-28;

+ 910 - 910
pages/user/order/create-order.vue

@@ -1,910 +1,910 @@
-<template>
-	<view class="container order clearfix" :style="{ paddingBottom: isIphoneX ? '250rpx' : '214rpx' }">
-		<!-- 地址选择 -->
-		<cm-address-temp ref="choiceAddress" v-if="isRequest" :addressData="addressData" />
-		<!-- 商品 -->
-		<cm-goods-temp
-			ref="goods"
-			v-if="isRequest"
-			:goodsData.sync="goodsData"
-			@handleGoodList="handChangeInputGoodsList"
-			@changeChina="handleChangeChina"
-			@changePostage="handleChangePostage"
-		/>
-		<!-- 发票信息 -->
-		<cm-invice-popup
-			ref="invoice"
-			v-if="isRequest"
-			:invoiceDatas="invoiceData"
-			@handleChoiceaInvoice="handleChoiceaInvoiceData"
-		/>
-		<!-- 优惠券选择弹窗 -->
-		<cm-coupon-popup
-			ref="coupon"
-			v-if="isCouponShow"
-			:couponList="couponList"
-			@handleChoiceaCoupon="handleChoiceaCouponData"
-		/>
-		<!-- 兑换优惠券弹窗 -->
-		<cm-coupon-chang v-if="isExchangePopup" @changeCoupon="handleChangeCoupon"/>
-		<!-- 优惠券 -->
-		<cm-coupon-tips ref="coupon-tips" :coupon="ExchangeCouponData" @cancel="handleClickCancel" v-if="isCouponModel" />
-		<!-- 余额抵扣 -->
-		<view class="invoice-balance" v-show="isRequest && !rechargeGoods">
-			<view class="balabce-t">
-				<view class="balabce-t-le">余额抵扣:</view>
-				<view class="balabce-t-ri">
-					<view class="money">
-						<text>可用余额:</text> <text>¥{{ userMoney | NumFormat }}</text>
-					</view>
-					<view class="checkbox-box">
-						<button
-							class="checkbox iconfont"
-							hover-class="btn-hover"
-							v-if="userMoney != 0"
-							@click.stop="checkedBalabce"
-							:class="[ischecked ? 'icon-yixuanze' : 'icon-weixuanze']"
-						></button>
-					</view>
-				</view>
-			</view>
-			<view class="balabce-b" :class="{ 'balabce-b--hide': !ischecked }">
-				<view
-					class="balabce-b-text animation"
-					:style="{
-						transform: ischecked ? 'translateY(0)' : 'translateY(-50%)',
-						'-webkit-transform': ischecked ? 'translateY(0)' : 'translateY(-50%)'
-					}"
-				>
-					<text>当前使用:¥{{ deductMoney | NumFormat }},剩余:¥{{ surplusMoney | NumFormat }}</text>
-				</view>
-			</view>
-		</view>
-		<!-- 底部 -->
-		<view class="footer-wrapper" :style="{ paddingBottom: isIphoneX ? '68rpx' : '0rpx' }">
-			<cm-return-popup v-if="returnGoodsStutas" :content="helpContent" @change="onAgreementChange" />
-			<view class="footer">
-				<view class="footer-le">
-					<view class="footer-count">
-						<text>共{{ totalCount }}件商品</text>
-					</view>
-					<view class="footer-price">
-						<view class="sum" :class="totalDiscountAmount == 0 ? 'none' : ''">
-							总价:<text class="price">¥{{ orderShouldPayFee | NumFormat }}</text>
-						</view>
-						<view class="sum-none" v-if="totalDiscountAmount > 0">
-							<text class="money-reduced"
-								>共减<text>¥{{ totalDiscountAmount | NumFormat }}</text></text
-							>
-						</view>
-					</view>
-				</view>
-				<view class="footer-submit" @click.stop="orderSubmitMit">
-					<view class="btn" :class="isSubLoading ? 'disabled' : ''">提交订单</view>
-				</view>
-			</view>
-		</view>
-		<!-- 提示弹窗 -->
-		<tui-modal
-			:show="showModal"
-			@click="handleClick"
-			@cancel="hideMobel"
-			:content="contentModalText"
-			:button="modalButton"
-			color="#333"
-			:size="28"
-			shape="circle"
-			:maskClosable="false"
-		/>
-		<tui-modal
-			:show="agreementModel"
-			title="提示"
-			content="请先阅读《特殊商品退货须知》并勾选后再提交订单~"
-			shape="circle"
-			color="#333"
-			:size="28"
-			:button="agreementModelButtons"
-			@click="agreementModel = false"
-		/>
-	</view>
-</template>
-<script>
-import { mapState, mapMutations } from 'vuex'
-import cmAddressTemp from './components/cm-address-temp'
-import cmGoodsTemp from './components/cm-goods-temp'
-import cmInvicePopup from './components/cm-invice-popup'
-import cmCouponPopup from './components/cm-coupon-popup'
-import cmCouponChang from './components/cm-coupon-chang'
-import cmReturnPopup from './components/cm-return-popup'
-import cmCouponTips from './components/cm-coupon-tips'
-import conMixins from './mixins/conMixins.js'
-export default {
-	mixins: [conMixins],
-	components: {
-		cmAddressTemp,
-		cmGoodsTemp,
-		cmInvicePopup,
-		cmCouponPopup,
-		cmCouponChang,
-		cmReturnPopup,
-		cmCouponTips
-	},
-	data() {
-		return {
-			isIphoneX: this.$store.state.isIphoneX,
-			isSubLoading: false,
-			confirmType: 1,
-			confirmParam: {
-				cartType: 1, // 购买类型:(1自主下单, 3协销下单)
-				orderMiniType: 0, // 订单提交状态 0初始提交 1 继续提交
-				orderSource: 6, // 订单来源 1WWW 6小程序[采美,星范]
-				addressId: 0, // 收货地址Id
-				clubCouponId: 0, // 关联优惠券Id
-				clubId: 0, // 机构Id
-				orderInfo: [], // 订单商品数据
-				orderInvoice: { type: 0 }, // 订单发票信息
-				payInfo: {
-					// 订单金额数据
-					orderShouldPayFee: 0, // 订单最终支付金额
-					balancePayFlag: 0, // 勾选余额的状态(1使用,0不使用)
-					clauseId: 0, // 条款Id
-					postage: '0.00', // 运费金额
-					postageFlag: 0, // 运费类型
-					userBeans: 0, // 抵扣采美豆数量
-					rebateFlag: 0 // 是否返佣订单
-				},
-				unionId: uni.getStorageSync('unionId') // 用户unionId
-			}, // 提交订单参数
-			productIds: '', // 获取上一级页面商品信息
-			submitState: '', // 提交状态
-			isRequest: false, // 是否加载完成渲染子组件
-			isFreight: false, // 是否加载完成渲染子组件
-			isExchangePopup: false, // 控制兑换优惠券弹窗
-			ischecked: false, // 是否勾选余额
-			addressData: {}, // 初始化地址信息
-			goodsData: [], // 初始化商品信息
-			couponList: [], // 初始化优惠券信息
-			invoiceData: { type: 0 }, // 初始化发票信息
-			freightData: {}, // 邮费数据
-			orderInfo: [], // 提交的商品信息
-			rechargeGoods: null, // 判断订单里有定金商品或者充值商品时,余额抵扣部分不显示
-			freightBeansMoney: 0, // 存储采美豆抵扣金额
-			isCouponShow: false, // 是否显示可选优惠券
-			isCheckedBeans: false, // 是否抵扣采美豆
-			isCouponModel: false, // 兑换优惠券成功提示
-			ExchangeCouponData: {}, // 兑换优惠券信息
-			contentModalText: '采购金额过小,将扣除500采美豆,建议您前往采美旗下“颜选美学”小程序购买小额商品。', //操作文字提示语句
-			modalButton: [
-				{
-					text: '前往颜选美学',
-					type: 'gray',
-					plain: true //是否空心
-				},
-				{
-					text: '继续提交',
-					customStyle: {
-						color: '#fff',
-						bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)'
-					},
-					plain: false
-				}
-			],
-			showModal: false,
-			showModalstauts: 0,
-			returnGoodsStutas: false,
-			helpContent: '',
-			agreementActive: false,
-			agreementModel: false,
-			agreementModelButtons: [
-				{
-					text: '确定',
-					customStyle: {
-						color: '#fff',
-						bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)'
-					},
-					plain: false
-				}
-			]
-		}
-	},
-	onLoad(option) {
-		//商品数据
-
-		this.initStorage(option)
-	},
-	filters: {
-		NumFormat(value) {
-			//处理金额
-			return Number(value).toFixed(2)
-		}
-	},
-	methods: {
-		onAgreementChange(val) {
-			this.agreementActive = val
-		},
-		async initStorage(option) {
-			const data = JSON.parse(option.data)
-			const userInfo = await this.$api.getStorage()
-			this.handleComType = option.type * 1
-			this.productParam.userId = this.cartParam.userId = userInfo.userId
-			this.supportParm.userId = userInfo.userId
-			this.confirmParam.clubId = userInfo.clubId
-			switch (option.type) {
-				case '1': // 商品详情立即购买
-					this.confirmParam.cartType = 2
-					this.productParam.productCount = data.data.productCount
-					this.productParam.productId = data.data.productIds
-					this.productParam.skuId = data.data.skuId
-					this.productIds = data.data.productIds
-					this.getAddressData(userInfo.userId, 1)
-					break
-				case '2': // 购物车结算
-					this.confirmParam.cartType = 1
-					this.confirmType = 2
-					this.cartParam.skuIds = data.data.skuIds
-					this.getAddressData(userInfo.userId, 2)
-					break
-				case '3': // 组合商品立即购买
-					this.confirmParam.cartType = 2
-					this.confirmType = 2
-					this.supportParm.productInfo = JSON.stringify(data.data)
-					this.getAddressData(userInfo.userId, 3)
-			}
-		},
-		async getAddressData(userId, type) {
-			//获取地址信息
-			try {
-				const params = { pageNum: 1, pageSize: 1, userId: userId }
-				const res = await this.UserService.QueryAddressList(params)
-				const data = res.data
-				if (data.list && data.list.length > 0) {
-					this.addressData = data.list[0]
-					this.confirmParam.addressId = this.addressData.addressId
-					this.cartParam.cityId = this.addressData.cityId
-					this.productParam.cityId = this.addressData.cityId
-					this.supportParm.cityId = this.addressData.cityId
-				}
-				if (type === 1) {
-					//立即都买提交
-					this.GetProductCreateOrderInfo()
-				}
-				if (type === 2) {
-					//购物车提交
-					this.CartCreateOrderInfo()
-				}
-				if (type === 3) {
-					//组合商品提交
-					this.GetOrderClubProductSupporting()
-				}
-			} catch (error) {
-				console.log('获取订单地址异常')
-			}
-		},
-		// 商品立即购买确认订单数据初始化
-		async GetProductCreateOrderInfo() {
-			try {
-				const res = await this.OrderService.ProductCreateOrderInfo(this.productParam)
-				this.setCreatDataInfo(res.data)
-			} catch (error) {
-				this.$util.msg(error.msg, 2000)
-			}
-		},
-		// 组合商品立即购买确认订单数据初始化
-		async GetOrderClubProductSupporting() {
-			try {
-				const res = await this.OrderService.OrderClubProductSupporting(this.supportParm)
-				this.setCreatDataInfo(res.data)
-			} catch (error) {
-				this.$util.msg(error.msg, 2000)
-			}
-		},
-		// 购物车去结算确认订单数据初始化
-		async CartCreateOrderInfo() {
-			try {
-				const res = await this.OrderService.CartCreateOrderInfo(this.cartParam)
-				this.setCreatDataInfo(res.data)
-			} catch (error) {
-				this.$util.msg(error.msg, 2000)
-			}
-		},
-		// 公共初始化数据
-		setCreatDataInfo(data) {
-			this.isRequest = true
-			this.goodsData = data.list.map(el => {
-				el.handlePostageFlag = el.postageFlag
-				return el
-			})
-			this.couponList = data.couponList
-			this.userMoney = data.userMoney
-			this.reducedPrice = data.reducedPrice
-			this.totalCount = data.totalCount
-			this.allPrice = data.totalPrice
-			this.rechargeGoods = data.rechargeGoods
-			if (this.couponList.length > 0) {
-				this.isCouponShow = true
-				this.couponAmount = data.couponList[0].couponAmount
-				this.confirmParam.clubCouponId = data.couponList[0].clubCouponId
-			}
-			this.orderShouldPayFee = this.allPrice - this.couponAmount
-			// 特殊商品退货须知
-			this.returnGoodsStutas = data.returnGoodsStutas && data.returnGoodsStutas === 2 // 1:可以 2:不可以
-			this.helpContent = data.helpContent
-		},
-		async getFreightData() {
-			// 获取邮费信息
-			try {
-				this.isFreight = false
-				const res = await this.OrderService.GetOrderPostage(this.postageParam)
-				const data = res.data
-				this.isFreight = true
-				this.isCheckedBeans = false
-				this.freightData = data
-				this.hanldFreePostFlag = data.postageFlag
-				this.hanldFreight = data.postage
-				if (this.hanldFreePostFlag == 1) {
-					if (this.freightData.userBeans > 0) {
-						this.freightBeansMoney = this.hanldFreight
-					} else {
-						this.freightBeansMoney = 0
-					}
-					this.orderShouldPayFee = this.allPrice + data.postage
-					this.attributePallPrice()
-					this.hanldFreightBeans(this.isCheckedBeans)
-				} else {
-					if (this.freightData.userBeans > 0) {
-						this.freightBeansMoney = 30
-					} else {
-						this.freightBeansMoney = 0
-					}
-					this.orderShouldPayFee = this.allPrice
-					this.attributePallPrice()
-					this.hanldFreightBeans(this.isCheckedBeans)
-				}
-			} catch (error) {
-				console.log('获取订单运费异常')
-			}
-		},
-
-		handChangeInputGoodsList(data) {
-			//对应供应商的留言信息
-			this.goodsData = data
-		},
-		handleChoiceaInvoiceData(data) {
-			//获取发票信息
-			this.confirmParam.orderInvoice = data
-		},
-		hanldFreightBeans(data) {
-			//是否勾选采美豆抵扣
-			this.isCheckedBeans = data
-			console.log(this.confirmParam.payInfo)
-			if (this.isCheckedBeans) {
-				// 判断如果采美豆大于等于运费*100
-				if (this.freightData.userBeans > 0) {
-					this.confirmParam.payInfo.userBeans = this.freightBeansMoney * 100
-				} else {
-					this.confirmParam.payInfo.userBeans = 0
-				}
-				// 计算抵扣后的总价
-				if (this.hanldFreePostFlag == 1) {
-					// 如果使用了余额 最终价格
-					if (this.ischecked) {
-						let totalAmount = this.allPrice - this.couponAmount
-						if (this.userMoney >= totalAmount) {
-							this.orderShouldPayFee = 0.0
-							this.deductMoney = this.allPrice - this.couponAmount // 当前使用金额等于订单金额
-							this.surplusMoney = this.userMoney - this.deductMoney // 剩余金额等于余额-当前使用金额
-						} else {
-							this.orderShouldPayFee = this.allPrice - this.userMoney - this.couponAmount // 订单最终支付金额等于订单金额-账户余额
-							this.deductMoney = this.userMoney // 当前使用金额等于总余额
-							this.surplusMoney = this.userMoney - this.deductMoney // 剩余余额等于总余额-当前使用金额
-						}
-					} else {
-						this.orderShouldPayFee =
-							this.allPrice + this.hanldFreight - this.freightBeansMoney - this.couponAmount
-					}
-					console.log('抵扣', this.orderShouldPayFee)
-				}
-			} else {
-				// 采美豆不抵扣运费
-				this.confirmParam.payInfo.userBeans = 0
-				// 不抵扣时计算总价
-				if (this.hanldFreePostFlag == 1) {
-					this.attributeHashfreight(this.hanldFreight)
-				}
-			}
-		},
-		handleChoiceaCouponData(data) {
-			// 勾选使用优惠券
-			console.log('优惠券信息', data)
-			this.couponAmount = data.couponAmount
-			this.confirmParam.clubCouponId = data.clubCouponId
-			this.attributePallPrice()
-			// this.hanldFreightBeans(this.isCheckedBeans)
-		},
-		attributeHashfreight() {
-			// 计算需要邮费的支付价格
-			let totalAmount = this.allPrice - this.couponAmount //计算不包邮的价格 总价等于商品价格+邮费
-			if (this.ischecked) {
-				if (this.userMoney >= totalAmount) {
-					// 全部抵扣
-					this.orderShouldPayFee = 0.0
-					if (this.isCheckedBeans) {
-						// 抵扣运费了
-						this.deductMoney = this.allPrice - this.couponAmount // 当前使用金额等于订单金额
-						this.surplusMoney = this.userMoney - this.deductMoney // 剩余金额等于余额减去当前使用金额
-					} else {
-						this.deductMoney = this.allPrice - this.couponAmount // 当前使用金额等于订单金额+运费金额
-						this.surplusMoney = this.userMoney - this.deductMoney // 剩余余额等于总余额-当前使用金额
-					}
-				} else {
-					// 部分抵扣
-					if (this.isCheckedBeans) {
-						// 抵扣运费了
-						this.orderShouldPayFee = this.allPrice - this.userMoney - this.couponAmount // 订单最终支付金额等于总订单金额-账户余额-优惠券金额
-						this.deductMoney = this.userMoney // 当前使用金额等于账户余额
-						this.surplusMoney = this.userMoney - this.deductMoney // 剩余余额等于账户余额-当前使用金额
-					} else {
-						this.orderShouldPayFee = this.allPrice - this.userMoney - this.couponAmount //订单支付金额等于订单金额+运费-账户余额-优惠券
-						this.deductMoney = this.userMoney // 当前使用金额等于账户余额
-						this.surplusMoney = this.userMoney - this.deductMoney // 剩余余额等于账户余额-当前使用金额
-					}
-				}
-			} else {
-				this.orderShouldPayFee = this.allPrice - this.couponAmount
-				this.deductMoney = 0.0 // 当前使用金额
-				this.surplusMoney = this.userMoney // 剩余余额
-			}
-			console.log('最终订单支付金额', this.orderShouldPayFee)
-			console.log('优惠券金额', this.couponAmount)
-		},
-		orderSubmitMit() {
-			// 提交订单按钮点击事件
-			if (this.returnGoodsStutas && !this.agreementActive) {
-				this.agreementModel = true
-			} else {
-				this.handleClickOrderSubmitMit()
-			}
-		},
-		handleClickOrderSubmitMit() {
-			// 提交订单
-			if (this.isSubLoading) {
-				return
-			}
-			if (this.confirmParam.addressId == '') {
-				this.$util.msg('请先添加收货地址~', 2000)
-				return
-			}
-			this.confirmParam.orderInfo = this.hanldeProcessing()
-			this.confirmParam.payInfo.orderShouldPayFee = this.orderShouldPayFee.toFixed(2)
-			this.confirmParam.payInfo = JSON.stringify(this.confirmParam.payInfo)
-			this.confirmParam.orderInfo = JSON.stringify(this.confirmParam.orderInfo)
-			this.confirmParam.orderInvoice = JSON.stringify(this.confirmParam.orderInvoice)
-			console.log(this.confirmParam)
-			this.isSubLoading = true
-			this.hanldeOrderSubmit(this.confirmParam)
-		},
-		// 处理数据格式
-		hanldeProcessing() {
-			return this.goodsData.map(el => {
-				let productInfo = []
-				el.cartList.forEach(pros => {
-					productInfo.push({
-						skuId: pros.skuId,
-						productNum: pros.number,
-						presentNum: 0,
-						productType: pros.giftType
-					})
-				})
-				return {
-					splitCode: el.splitCode,
-					shopId: el.shopId,
-					note: el.note ? el.note : '',
-					postage: el.isColdChina
-						? parseInt(el.postage + el.coldChain).toFixed(2)
-						: parseInt(el.postage).toFixed(2),
-					postageFlag: parseInt(el.handlePostageFlag),
-					isColdChina: el.isColdChina ? 1 : 0,
-					productInfo: productInfo
-				}
-			})
-		},
-		// 提交订单
-		async hanldeOrderSubmit(params) {
-			try {
-				const res = await this.OrderService.CreatedOrderSubmit(params)
-				const data = res.data
-				// 友盟埋点收集机构自主提交订单
-				if (process.env.NODE_ENV != 'development') {
-					this.$uma.trackEvent('Um_Event_ConfirmOrder', {
-						Um_Key_PageName: '机构提交订单',
-						Um_Key_SourcePage: '确认订单',
-						Um_Key_OrderID: `${data.orderId}`
-					})
-				}
-				if (data.code === 1) {
-					this.submitState = 'success'
-					setTimeout(() => {
-						this.isSubLoading = false
-					}, 2000)
-					this.$api.redirectTo(
-						`/pages/user/order/success?data=${JSON.stringify({ data: { orderId: data.orderId } })}`
-					)
-				} else {
-					this.submitState = 'confirm'
-					this.$util.msg('订单提交成功', 2000, true, 'success')
-					setTimeout(() => {
-						this.isSubLoading = false
-						this.$api.redirectTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
-					}, 2000)
-				}
-			} catch (error) {
-				this.isSubLoading = false
-				this.handleError(error)
-			}
-		},
-		handleError(data) {
-			// 提交订单异常处理
-			const buttonMap = {
-				1: {
-					contentModalText:
-						'您已有2个采购金额过小的订单,本次不能再进行采购。建议您前往采美旗下“颜选美学”小程序购买小额商品。',
-					modalButton: [
-						{ text: '了解', type: 'gray', plain: true },
-						{
-							text: '前往颜选美学',
-							customStyle: { color: '#fff', bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)' },
-							plain: false
-						}
-					]
-				},
-				2: {
-					contentModalText: '采美豆不足,不能提交订单。建议您前往采美旗下“颜选美学”小程序购买小额商品。',
-					modalButton: [
-						{ text: '了解', type: 'gray', plain: true },
-						{
-							text: '前往颜选美学',
-							customStyle: { color: '#fff', bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)' },
-							plain: false
-						}
-					]
-				},
-				3: {
-					contentModalText: '采购金额过小,将扣除500采美豆,建议您前往采美旗下“颜选美学”小程序购买小额商品。',
-					modalButton: [
-						{ text: '前往颜选美学', type: 'gray', plain: true },
-						{
-							text: '继续提交',
-							customStyle: { color: '#fff', bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)' },
-							plain: false
-						}
-					]
-				},
-				4: {
-					contentModalText:
-						'订单内存在械字号三类商品,需要拥有医疗执业许可证的医美机构才能购买。建议升级医美机构后再下单,否则会导致订单退款或影响发货。',
-					modalButton: [
-						{ text: '继续提交', type: 'gray', plain: true },
-						{
-							text: '去升级',
-							customStyle: { color: '#fff', bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)' },
-							plain: false
-						}
-					]
-				}
-			}
-			if (data.code === -3) {
-				// 已提交2个小于1000元的订单提示
-				this.showModal = true
-				this.showModalstauts = 3
-				this.contentModalText = buttonMap[1].contentModalText
-				this.modalButton = buttonMap[1].modalButton
-				this.formatConfirmParam()
-			} else if (data.code === -4) {
-				// 采美豆为负数
-				this.showModal = true
-				this.showModalstauts = 3
-				this.contentModalText = buttonMap[2].contentModalText
-				this.modalButton = buttonMap[2].modalButton
-				this.formatConfirmParam()
-			} else if (data.code === -5) {
-				// 订单总金额低于500
-				this.showModal = true
-				this.showModalstauts = 1
-				this.contentModalText = buttonMap[3].contentModalText
-				this.modalButton = buttonMap[3].modalButton
-				this.formatConfirmParam()
-			} else if (data.code === -6) {
-				// 非医美机构下三类商品订单
-				this.showModal = true
-				this.showModalstauts = 2
-				this.contentModalText = buttonMap[4].contentModalText
-				this.modalButton = buttonMap[4].modalButton
-				this.formatConfirmParam()
-			} else {
-				this.$util.msg(data.msg, 3000)
-			}
-		},
-		formatConfirmParam() {
-			// 还原提交订单参数格式
-			this.confirmParam.payInfo = JSON.parse(this.confirmParam.payInfo)
-			this.confirmParam.orderInfo = JSON.parse(this.confirmParam.orderInfo)
-			this.confirmParam.orderInvoice = JSON.parse(this.confirmParam.orderInvoice)
-		},
-        handleChangeCoupon(data){
-            this.ExchangeCouponData = data
-            this.isExchangePopup = false
-            this.isCouponModel = true
-            this.getInitCrearOrder()
-        },
-		handleClickCancel() {
-			// 关闭优惠券弹窗
-			this.isCouponModel = false
-			if (this.confirmType == 1) {
-				this.GetProductCreateOrderInfo()
-			} else {
-				this.CartCreateOrderInfo()
-			}
-		},
-		handleClick(e) {
-			// 采购量过小提示弹窗
-			if (e.index === 1) {
-				if (this.showModalstauts === 1) {
-					this.showModal = false
-					this.confirmParam.orderMiniType = 1
-					this.handleClickOrderSubmitMit()
-				} else if (this.showModalstauts === 2) {
-					this.showModal = false
-					this.isSubLoading = false
-					this.$api.navigateTo('/pages/login/apply')
-				} else {
-					this.showModal = false
-					this.handleClickHeHeMiniApplet()
-				}
-			} else {
-				if (this.showModalstauts == 1) {
-					this.showModal = false
-					this.handleClickHeHeMiniApplet()
-				} else if (this.showModalstauts === 2) {
-					this.showModal = false
-					this.confirmParam.orderMiniType = 2
-					this.handleClickOrderSubmitMit()
-				} else {
-					this.showModal = false
-				}
-			}
-		},
-		handleClickHeHeMiniApplet() {
-			// 跳转颜选美学小程序
-			uni.navigateToMiniProgram({
-				appId: 'wx2c3b0a7f343235b1',
-				path: '/pages/tabBar/index/index',
-				extraData: {
-					data1: 'test'
-				},
-				envVersion: 'develop',
-				success(res) {
-					// 打开成功
-					console.log(res)
-				}
-			})
-		}
-	},
-	onShow() {
-		let pages = getCurrentPages()
-		let currPage = pages[pages.length - 1]
-		if (currPage.data.select == 'select') {
-			let address = uni.getStorageSync('selectAddress')
-			this.confirmParam.addressId = address.addressId
-			this.cartParam.cityId = address.cityId
-			this.productParam.cityId = address.cityId
-			this.supportParm.cityId = address.cityId
-			this.addressData = address
-			this.ischecked = false
-			this.isRequest = false
-			if (this.handleComType === 1) {
-				//立即都买提交
-				this.GetProductCreateOrderInfo()
-			}
-			if (this.handleComType === 2) {
-				//购物车提交
-				this.CartCreateOrderInfo()
-			}
-			if (this.handleComType === 3) {
-				//组合商品提交
-				this.GetOrderClubProductSupporting()
-			}
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-page {
-	height: auto;
-	background: #f7f7f7;
-}
-.btn-hover {
-	background: #ffffff;
-}
-.animation {
-	/* transition: transform 0.3s ease;*/
-	transition-property: transform;
-	transition-duration: 0.3s;
-	transition-timing-function: ease;
-}
-.order {
-	padding-bottom: 134rpx;
-}
-.invoice-freight {
-	width: 702rpx;
-	padding: 0 24rpx;
-	height: auto;
-	font-size: $font-size-28;
-	color: $text-color;
-	background: #ffffff;
-	float: left;
-	font-weight: bold;
-}
-.invoice-balance {
-	width: 702rpx;
-	height: auto;
-	padding: 0 24rpx;
-	background: #ffffff;
-	float: left;
-	margin-top: 24rpx;
-	margin-bottom: 24rpx;
-	.balabce-t {
-		width: 100%;
-		height: 86rpx;
-		line-height: 86rpx;
-		font-size: $font-size-28;
-		color: $text-color;
-		float: left;
-		.balabce-t-le {
-			float: left;
-			font-weight: bold;
-		}
-		.balabce-t-ri {
-			float: right;
-			display: flex;
-			align-items: center;
-			.money {
-				display: flex;
-				float: left;
-			}
-			.checkbox-box {
-				display: flex;
-				width: 60rpx;
-				float: left;
-				height: 100%;
-				font-size: $font-size-24;
-				.checkbox {
-					width: 40rpx;
-					text-align: right;
-					box-sizing: border-box;
-					text-align: center;
-					text-decoration: none;
-					border-radius: 0;
-					-webkit-tap-highlight-color: transparent;
-					overflow: hidden;
-					color: $color-system;
-				}
-			}
-		}
-	}
-	.balabce-b {
-		width: 100%;
-		float: left;
-		overflow: hidden;
-		.balabce-b-text {
-			width: 100%;
-			line-height: 58rpx;
-			font-size: $font-size-24;
-			color: #ff2a2a;
-			text-align: right;
-			float: right;
-		}
-		&.balabce-b--hide {
-			padding: 0 0;
-			height: 0px;
-			line-height: 0px;
-		}
-	}
-}
-.footer-wrapper {
-	position: fixed;
-	left: 0;
-	bottom: 0;
-	background-color: #ffffff;
-	z-index: 990;
-	.footer {
-		display: flex;
-		align-items: center;
-		width: 100%;
-		height: 110rpx;
-		line-height: 110rpx;
-		justify-content: space-between;
-		font-size: $font-size-28;
-		color: $text-color;
-	}
-	.footer-le {
-		width: 570rpx;
-		height: 100%;
-		float: left;
-	}
-	.footer-count {
-		float: left;
-		padding-left: 24rpx;
-		width: 180rpx;
-		box-sizing: border-box;
-	}
-	.footer-price {
-		width: 370rpx;
-		float: right;
-		text-align: right;
-		color: $text-color;
-		padding: 10rpx 20rpx 10rpx 0;
-		box-sizing: border-box;
-		.sum-none {
-			width: 100%;
-			height: 45rpx;
-			line-height: 45rpx;
-			color: $text-color;
-			float: left;
-			text-align: right;
-			.money {
-				font-size: $font-size-26;
-				color: #999999;
-				text-decoration: line-through;
-			}
-			.money-sign {
-				font-size: $font-size-26;
-				color: #999999;
-				text-decoration: line-through;
-			}
-			.money-reduced {
-				margin-left: 10rpx;
-				font-size: $font-size-26;
-				color: #ff2a2a;
-			}
-		}
-		.sum {
-			width: 100%;
-			height: 45rpx;
-			line-height: 45rpx;
-			float: left;
-			&.none {
-				height: 90rpx;
-				line-height: 90rpx;
-			}
-			.price {
-				font-size: $font-size-32;
-				color: #ff2a2a;
-			}
-		}
-	}
-	.footer-submit {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		width: 180rpx;
-		height: 100%;
-		box-sizing: border-box;
-		padding: 15rpx 5rpx;
-		.btn {
-			width: 100%;
-			height: 100%;
-			color: #ffffff;
-			background: linear-gradient(135deg, rgba(242, 143, 49, 1) 0%, rgba(225, 86, 22, 1) 100%);
-			font-size: $font-size-26;
-			text-align: center;
-			line-height: 80rpx;
-			border-radius: 40rpx;
-			&.disabled {
-				background: #e4e8eb;
-				color: #999999;
-			}
-		}
-	}
-}
-</style>
+<template>
+    <view class="container order clearfix" :style="{ paddingBottom: isIphoneX ? '250rpx' : '214rpx' }">
+        <!-- 地址选择 -->
+        <cm-address-temp ref="choiceAddress" v-if="isRequest" :addressData="addressData" />
+        <!-- 商品 -->
+        <cm-goods-temp ref="goods" v-if="isRequest" :goodsData.sync="goodsData"
+            @handleGoodList="handChangeInputGoodsList" @changeChina="handleChangeChina"
+            @changePostage="handleChangePostage" />
+        <!-- 余额抵扣 -->
+        <view class="invoice-balance" v-show="isRequest && !rechargeGoods">
+            <view class="balabce-t">
+                <view class="balabce-t-le">余额抵扣:</view>
+                <view class="balabce-t-ri">
+                    <view class="money">
+                        <text>可用余额:</text> <text>¥{{ userMoney | NumFormat }}</text>
+                    </view>
+                    <view class="checkbox-box" v-if="userMoney !== 0">
+                        <button class="checkbox iconfont" hover-class="btn-hover" @click.stop="checkedBalabce"
+                            :class="[ischecked ? 'icon-yixuanze' : 'icon-weixuanze']"></button>
+                    </view>
+                </view>
+            </view>
+            <view class="balabce-b" :class="{ 'balabce-b--hide': !ischecked }">
+                <view class="balabce-b-text animation" :style="{
+        				transform: ischecked ? 'translateY(0)' : 'translateY(-50%)',
+        				'-webkit-transform': ischecked ? 'translateY(0)' : 'translateY(-50%)'
+        			}">
+                    <text>当前使用:¥{{ deductMoney | NumFormat }},剩余:¥{{ surplusMoney | NumFormat }}</text>
+                </view>
+            </view>
+        </view>
+        <!-- 发票信息 -->
+        <cm-invice-popup ref="invoice" v-if="isRequest" :invoiceDatas="invoiceData"
+            @handleChoiceaInvoice="handleChoiceaInvoiceData" />
+        <!-- 订单合同 -->
+        <!-- <cm-contract-temp ref="contract" v-if="isContract" @handleChoiceaInvoice="handleChoiceaInvoiceData" /> -->
+        <!-- 优惠券选择弹窗 -->
+        <cm-coupon-popup ref="coupon" v-if="isCouponShow" :couponList="couponList"
+            @handleChoiceaCoupon="handleChoiceaCouponData" />
+        <!-- 兑换优惠券弹窗 -->
+        <cm-coupon-chang v-if="isExchangePopup" @changeCoupon="handleChangeCoupon" />
+        <!-- 优惠券 -->
+        <cm-coupon-tips ref="coupon-tips" :coupon="ExchangeCouponData" @cancel="handleClickCancel"
+            v-if="isCouponModel" />
+        <!-- 底部 -->
+        <view class="footer-wrapper" :style="{ paddingBottom: isIphoneX ? '68rpx' : '0rpx' }">
+            <cm-return-popup v-if="returnGoodsStutas" :content="helpContent" @change="onAgreementChange" />
+            <view class="footer">
+                <view class="footer-le">
+                    <view class="footer-count">
+                        <text>共{{ totalCount }}件商品</text>
+                    </view>
+                    <view class="footer-price">
+                        <view class="sum" :class="totalDiscountAmount == 0 ? 'none' : ''">
+                            总价:<text class="price">¥{{ orderShouldPayFee | NumFormat }}</text>
+                        </view>
+                        <view class="sum-none" v-if="totalDiscountAmount > 0">
+                            <text class="money-reduced">共减<text>¥{{ totalDiscountAmount | NumFormat }}</text></text>
+                        </view>
+                    </view>
+                </view>
+                <view class="footer-submit" @click.stop="orderSubmitMit">
+                    <view class="btn" :class="isSubLoading ? 'disabled' : ''">提交订单</view>
+                </view>
+            </view>
+        </view>
+        <!-- 提示弹窗 -->
+        <tui-modal :show="showModal" @click="handleClick" @cancel="hideMobel" :content="contentModalText"
+            :button="modalButton" color="#333" :size="28" shape="circle" :maskClosable="false" />
+        <tui-modal :show="agreementModel" title="提示" content="请先阅读《特殊商品退货须知》并勾选后再提交订单~" shape="circle" color="#333"
+            :size="28" :button="agreementModelButtons" @click="agreementModel = false" />
+    </view>
+</template>
+<script>
+    import { mapState, mapMutations } from 'vuex'
+    import cmAddressTemp from './components/cm-address-temp'
+    import cmGoodsTemp from './components/cm-goods-temp'
+    import cmInvicePopup from './components/cm-invice-popup'
+    import cmContractTemp from './components/cm-contract-temp'
+    import cmCouponPopup from './components/cm-coupon-popup'
+    import cmCouponChang from './components/cm-coupon-chang'
+    import cmReturnPopup from './components/cm-return-popup'
+    import cmCouponTips from './components/cm-coupon-tips'
+    import conMixins from './mixins/conMixins.js'
+    export default {
+        mixins: [conMixins],
+        components: {
+            cmAddressTemp,
+            cmGoodsTemp,
+            cmInvicePopup,
+            cmCouponPopup,
+            cmContractTemp,
+            cmCouponChang,
+            cmReturnPopup,
+            cmCouponTips
+        },
+        data() {
+            return {
+                isIphoneX: this.$store.state.isIphoneX,
+                isSubLoading: false,
+                confirmType: 1,
+                confirmParam: {
+                    cartType: 1, // 购买类型:(1自主下单, 3协销下单)
+                    orderMiniType: 0, // 订单提交状态 0初始提交 1 继续提交
+                    orderSource: 6, // 订单来源 1WWW 6小程序[采美,星范]
+                    addressId: 0, // 收货地址Id
+                    clubCouponId: 0, // 关联优惠券Id
+                    clubId: 0, // 机构Id
+                    orderInfo: [], // 订单商品数据
+                    orderInvoice: { type: 0 }, // 订单发票信息
+                    payInfo: {
+                        // 订单金额数据
+                        orderShouldPayFee: 0, // 订单最终支付金额
+                        balancePayFlag: 0, // 勾选余额的状态(1使用,0不使用)
+                        clauseId: 0, // 条款Id
+                        postage: '0.00', // 运费金额
+                        postageFlag: 0, // 运费类型
+                        userBeans: 0, // 抵扣采美豆数量
+                        rebateFlag: 0 // 是否返佣订单
+                    },
+                    unionId: uni.getStorageSync('unionId') // 用户unionId
+                }, // 提交订单参数
+                productIds: '', // 获取上一级页面商品信息
+                submitState: '', // 提交状态
+                isRequest: false, // 是否加载完成渲染子组件
+                isFreight: false, // 是否加载完成渲染子组件
+                isExchangePopup: false, // 控制兑换优惠券弹窗
+                ischecked: false, // 是否勾选余额
+                addressData: {}, // 初始化地址信息
+                goodsData: [], // 初始化商品信息
+                couponList: [], // 初始化优惠券信息
+                invoiceData: { type: 0 }, // 初始化发票信息
+                freightData: {}, // 邮费数据
+                orderInfo: [], // 提交的商品信息
+                rechargeGoods: null, // 判断订单里有定金商品或者充值商品时,余额抵扣部分不显示
+                freightBeansMoney: 0, // 存储采美豆抵扣金额
+                isCouponShow: false, // 是否显示可选优惠券
+                isCheckedBeans: false, // 是否抵扣采美豆
+                isCouponModel: false, // 兑换优惠券成功提示
+                ExchangeCouponData: {}, // 兑换优惠券信息
+                contentModalText: '采购金额过小,将扣除500采美豆,建议您前往采美旗下“颜选美学”小程序购买小额商品。', //操作文字提示语句
+                modalButton: [{
+                        text: '前往颜选美学',
+                        type: 'gray',
+                        plain: true //是否空心
+                    },
+                    {
+                        text: '继续提交',
+                        customStyle: {
+                            color: '#fff',
+                            bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)'
+                        },
+                        plain: false
+                    }
+                ],
+                showModal: false,
+                showModalstauts: 0,
+                returnGoodsStutas: false,
+                helpContent: '',
+                agreementActive: false,
+                agreementModel: false,
+                agreementModelButtons: [{
+                    text: '确定',
+                    customStyle: {
+                        color: '#fff',
+                        bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)'
+                    },
+                    plain: false
+                }],
+                isContract: false
+            }
+        },
+        onLoad(option) {
+            //商品数据
+
+            this.initStorage(option)
+        },
+        filters: {
+            NumFormat(value) {
+                //处理金额
+                return Number(value).toFixed(2)
+            }
+        },
+        methods: {
+            onAgreementChange(val) {
+                this.agreementActive = val
+            },
+            async initStorage(option) {
+                const data = JSON.parse(option.data)
+                const userInfo = await this.$api.getStorage()
+                this.handleComType = option.type * 1
+                this.productParam.userId = this.cartParam.userId = userInfo.userId
+                this.supportParm.userId = userInfo.userId
+                this.confirmParam.clubId = userInfo.clubId
+                switch (option.type) {
+                    case '1': // 商品详情立即购买
+                        this.confirmParam.cartType = 2
+                        this.productParam.productCount = data.data.productCount
+                        this.productParam.productId = data.data.productIds
+                        this.productParam.skuId = data.data.skuId
+                        this.productIds = data.data.productIds
+                        this.getAddressData(userInfo.userId, 1)
+                        break
+                    case '2': // 购物车结算
+                        this.confirmParam.cartType = 1
+                        this.confirmType = 2
+                        this.cartParam.skuIds = data.data.skuIds
+                        this.getAddressData(userInfo.userId, 2)
+                        break
+                    case '3': // 组合商品立即购买
+                        this.confirmParam.cartType = 2
+                        this.confirmType = 2
+                        this.supportParm.productInfo = JSON.stringify(data.data)
+                        this.getAddressData(userInfo.userId, 3)
+                }
+            },
+            async getAddressData(userId, type) {
+                //获取地址信息
+                try {
+                    const params = { pageNum: 1, pageSize: 1, userId: userId }
+                    const res = await this.UserService.QueryAddressList(params)
+                    const data = res.data
+                    if (data.list && data.list.length > 0) {
+                        this.addressData = data.list[0]
+                        this.confirmParam.addressId = this.addressData.addressId
+                        this.cartParam.cityId = this.addressData.cityId
+                        this.productParam.cityId = this.addressData.cityId
+                        this.supportParm.cityId = this.addressData.cityId
+                    }
+                    if (type === 1) {
+                        //立即都买提交
+                        this.GetProductCreateOrderInfo()
+                    }
+                    if (type === 2) {
+                        //购物车提交
+                        this.CartCreateOrderInfo()
+                    }
+                    if (type === 3) {
+                        //组合商品提交
+                        this.GetOrderClubProductSupporting()
+                    }
+                } catch (error) {
+                    console.log('获取订单地址异常')
+                }
+            },
+            // 商品立即购买确认订单数据初始化
+            async GetProductCreateOrderInfo() {
+                try {
+                    const res = await this.OrderService.ProductCreateOrderInfo(this.productParam)
+                    this.setCreatDataInfo(res.data)
+                } catch (error) {
+                    this.$util.msg(error.msg, 2000)
+                }
+            },
+            // 组合商品立即购买确认订单数据初始化
+            async GetOrderClubProductSupporting() {
+                try {
+                    const res = await this.OrderService.OrderClubProductSupporting(this.supportParm)
+                    this.setCreatDataInfo(res.data)
+                } catch (error) {
+                    this.$util.msg(error.msg, 2000)
+                }
+            },
+            // 购物车去结算确认订单数据初始化
+            async CartCreateOrderInfo() {
+                try {
+                    const res = await this.OrderService.CartCreateOrderInfo(this.cartParam)
+                    this.setCreatDataInfo(res.data)
+                } catch (error) {
+                    this.$util.msg(error.msg, 2000)
+                }
+            },
+            // 公共初始化数据
+            setCreatDataInfo(data) {
+                this.goodsData = data.list.map(el => {
+                    el.handlePostageFlag = el.postageFlag
+                    return el
+                })
+                this.isContract = data.list.some(item => item.shopId === 11070)
+                console.log('isContract',this.isContract) 
+                this.couponList = data.couponList
+                this.userMoney = data.userMoney
+                this.reducedPrice = data.reducedPrice
+                this.totalCount = data.totalCount
+                this.allPrice = data.totalPrice 
+                this.rechargeGoods = data.rechargeGoods
+                if (this.couponList.length > 0) {
+                    this.isCouponShow = true
+                    this.couponAmount = data.couponList[0].couponAmount
+                    this.confirmParam.clubCouponId = data.couponList[0].clubCouponId
+                }
+                this.orderShouldPayFee = this.allPrice - this.couponAmount
+                // 特殊商品退货须知
+                this.returnGoodsStutas = data.returnGoodsStutas && data.returnGoodsStutas === 2 // 1:可以 2:不可以
+                this.helpContent = data.helpContent
+                this.isRequest = true
+                
+            },
+            async getFreightData() {
+                // 获取邮费信息
+                try {
+                    this.isFreight = false
+                    const res = await this.OrderService.GetOrderPostage(this.postageParam)
+                    const data = res.data
+                    this.isFreight = true
+                    this.isCheckedBeans = false
+                    this.freightData = data
+                    this.hanldFreePostFlag = data.postageFlag
+                    this.hanldFreight = data.postage
+                    if (this.hanldFreePostFlag == 1) {
+                        if (this.freightData.userBeans > 0) {
+                            this.freightBeansMoney = this.hanldFreight
+                        } else {
+                            this.freightBeansMoney = 0
+                        }
+                        this.orderShouldPayFee = this.allPrice + data.postage
+                        this.attributePallPrice()
+                        this.hanldFreightBeans(this.isCheckedBeans)
+                    } else {
+                        if (this.freightData.userBeans > 0) {
+                            this.freightBeansMoney = 30
+                        } else {
+                            this.freightBeansMoney = 0
+                        }
+                        this.orderShouldPayFee = this.allPrice
+                        this.attributePallPrice()
+                        this.hanldFreightBeans(this.isCheckedBeans)
+                    }
+                } catch (error) {
+                    console.log('获取订单运费异常')
+                }
+            },
+
+            handChangeInputGoodsList(data) {
+                //对应供应商的留言信息
+                this.goodsData = data
+            },
+            handleChoiceaInvoiceData(data) {
+                //获取发票信息
+                this.confirmParam.orderInvoice = data
+            },
+            hanldFreightBeans(data) {
+                //是否勾选采美豆抵扣
+                this.isCheckedBeans = data
+                console.log(this.confirmParam.payInfo)
+                if (this.isCheckedBeans) {
+                    // 判断如果采美豆大于等于运费*100
+                    if (this.freightData.userBeans > 0) {
+                        this.confirmParam.payInfo.userBeans = this.freightBeansMoney * 100
+                    } else {
+                        this.confirmParam.payInfo.userBeans = 0
+                    }
+                    // 计算抵扣后的总价
+                    if (this.hanldFreePostFlag == 1) {
+                        // 如果使用了余额 最终价格
+                        if (this.ischecked) {
+                            let totalAmount = this.allPrice - this.couponAmount
+                            if (this.userMoney >= totalAmount) {
+                                this.orderShouldPayFee = 0.0
+                                this.deductMoney = this.allPrice - this.couponAmount // 当前使用金额等于订单金额
+                                this.surplusMoney = this.userMoney - this.deductMoney // 剩余金额等于余额-当前使用金额
+                            } else {
+                                this.orderShouldPayFee = this.allPrice - this.userMoney - this
+                                    .couponAmount // 订单最终支付金额等于订单金额-账户余额
+                                this.deductMoney = this.userMoney // 当前使用金额等于总余额
+                                this.surplusMoney = this.userMoney - this.deductMoney // 剩余余额等于总余额-当前使用金额
+                            }
+                        } else {
+                            this.orderShouldPayFee =
+                                this.allPrice + this.hanldFreight - this.freightBeansMoney - this.couponAmount
+                        }
+                        console.log('抵扣', this.orderShouldPayFee)
+                    }
+                } else {
+                    // 采美豆不抵扣运费
+                    this.confirmParam.payInfo.userBeans = 0
+                    // 不抵扣时计算总价
+                    if (this.hanldFreePostFlag == 1) {
+                        this.attributeHashfreight(this.hanldFreight)
+                    }
+                }
+            },
+            handleChoiceaCouponData(data) {
+                // 勾选使用优惠券
+                console.log('优惠券信息', data)
+                this.couponAmount = data.couponAmount
+                this.confirmParam.clubCouponId = data.clubCouponId
+                this.attributePallPrice()
+                // this.hanldFreightBeans(this.isCheckedBeans)
+            },
+            attributeHashfreight() {
+                // 计算需要邮费的支付价格
+                let totalAmount = this.allPrice - this.couponAmount //计算不包邮的价格 总价等于商品价格+邮费
+                if (this.ischecked) {
+                    if (this.userMoney >= totalAmount) {
+                        // 全部抵扣
+                        this.orderShouldPayFee = 0.0
+                        if (this.isCheckedBeans) {
+                            // 抵扣运费了
+                            this.deductMoney = this.allPrice - this.couponAmount // 当前使用金额等于订单金额
+                            this.surplusMoney = this.userMoney - this.deductMoney // 剩余金额等于余额减去当前使用金额
+                        } else {
+                            this.deductMoney = this.allPrice - this.couponAmount // 当前使用金额等于订单金额+运费金额
+                            this.surplusMoney = this.userMoney - this.deductMoney // 剩余余额等于总余额-当前使用金额
+                        }
+                    } else {
+                        // 部分抵扣
+                        if (this.isCheckedBeans) {
+                            // 抵扣运费了
+                            this.orderShouldPayFee = this.allPrice - this.userMoney - this
+                                .couponAmount // 订单最终支付金额等于总订单金额-账户余额-优惠券金额
+                            this.deductMoney = this.userMoney // 当前使用金额等于账户余额
+                            this.surplusMoney = this.userMoney - this.deductMoney // 剩余余额等于账户余额-当前使用金额
+                        } else {
+                            this.orderShouldPayFee = this.allPrice - this.userMoney - this
+                                .couponAmount //订单支付金额等于订单金额+运费-账户余额-优惠券
+                            this.deductMoney = this.userMoney // 当前使用金额等于账户余额
+                            this.surplusMoney = this.userMoney - this.deductMoney // 剩余余额等于账户余额-当前使用金额
+                        }
+                    }
+                } else {
+                    this.orderShouldPayFee = this.allPrice - this.couponAmount
+                    this.deductMoney = 0.0 // 当前使用金额
+                    this.surplusMoney = this.userMoney // 剩余余额
+                }
+                console.log('最终订单支付金额', this.orderShouldPayFee)
+                console.log('优惠券金额', this.couponAmount)
+            },
+            orderSubmitMit() {
+                // 提交订单按钮点击事件
+                if (this.returnGoodsStutas && !this.agreementActive) {
+                    this.agreementModel = true
+                } else {
+                    this.handleClickOrderSubmitMit()
+                }
+            },
+            handleClickOrderSubmitMit() {
+                // 提交订单
+                if (this.isSubLoading) {
+                    return
+                }
+                if (this.confirmParam.addressId == '') {
+                    this.$util.msg('请先添加收货地址~', 2000)
+                    return
+                }
+                this.confirmParam.orderInfo = this.hanldeProcessing()
+                this.confirmParam.payInfo.orderShouldPayFee = this.orderShouldPayFee.toFixed(2)
+                this.confirmParam.payInfo = JSON.stringify(this.confirmParam.payInfo)
+                this.confirmParam.orderInfo = JSON.stringify(this.confirmParam.orderInfo)
+                this.confirmParam.orderInvoice = JSON.stringify(this.confirmParam.orderInvoice)
+                console.log(this.confirmParam)
+                this.isSubLoading = true
+                this.hanldeOrderSubmit(this.confirmParam)
+            },
+            // 处理数据格式
+            hanldeProcessing() {
+                return this.goodsData.map(el => {
+                    let productInfo = []
+                    el.cartList.forEach(pros => {
+                        productInfo.push({
+                            skuId: pros.skuId,
+                            productNum: pros.number,
+                            presentNum: 0,
+                            productType: pros.giftType
+                        })
+                    })
+                    return {
+                        splitCode: el.splitCode,
+                        shopId: el.shopId,
+                        note: el.note ? el.note : '',
+                        postage: el.isColdChina ?
+                            parseInt(el.postage + el.coldChain).toFixed(2) :
+                            parseInt(el.postage).toFixed(2),
+                        postageFlag: parseInt(el.handlePostageFlag),
+                        isColdChina: el.isColdChina ? 1 : 0,
+                        productInfo: productInfo
+                    }
+                })
+            },
+            // 提交订单
+            async hanldeOrderSubmit(params) {
+                try {
+                    const res = await this.OrderService.CreatedOrderSubmit(params)
+                    const data = res.data
+                    // 友盟埋点收集机构自主提交订单
+                    if (process.env.NODE_ENV != 'development') {
+                        this.$uma.trackEvent('Um_Event_ConfirmOrder', {
+                            Um_Key_PageName: '机构提交订单',
+                            Um_Key_SourcePage: '确认订单',
+                            Um_Key_OrderID: `${data.orderId}`
+                        })
+                    }
+                    if (data.code === 1) {
+                        this.submitState = 'success'
+                        setTimeout(() => {
+                            this.isSubLoading = false
+                        }, 2000)
+                        this.$api.redirectTo(
+                            `/pages/user/order/success?data=${JSON.stringify({ data: { orderId: data.orderId } })}`
+                        )
+                    } else {
+                        this.submitState = 'confirm'
+                        this.$util.msg('订单提交成功', 2000, true, 'success')
+                        setTimeout(() => {
+                            this.isSubLoading = false
+                            this.$api.redirectTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
+                        }, 2000)
+                    }
+                } catch (error) {
+                    this.isSubLoading = false
+                    this.handleError(error)
+                }
+            },
+            handleError(data) {
+                // 提交订单异常处理
+                const buttonMap = {
+                    1: {
+                        contentModalText: '您已有2个采购金额过小的订单,本次不能再进行采购。建议您前往采美旗下“颜选美学”小程序购买小额商品。',
+                        modalButton: [
+                            { text: '了解', type: 'gray', plain: true },
+                            {
+                                text: '前往颜选美学',
+                                customStyle: { color: '#fff',
+                                    bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)' },
+                                plain: false
+                            }
+                        ]
+                    },
+                    2: {
+                        contentModalText: '采美豆不足,不能提交订单。建议您前往采美旗下“颜选美学”小程序购买小额商品。',
+                        modalButton: [
+                            { text: '了解', type: 'gray', plain: true },
+                            {
+                                text: '前往颜选美学',
+                                customStyle: { color: '#fff',
+                                    bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)' },
+                                plain: false
+                            }
+                        ]
+                    },
+                    3: {
+                        contentModalText: '采购金额过小,将扣除500采美豆,建议您前往采美旗下“颜选美学”小程序购买小额商品。',
+                        modalButton: [
+                            { text: '前往颜选美学', type: 'gray', plain: true },
+                            {
+                                text: '继续提交',
+                                customStyle: { color: '#fff',
+                                    bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)' },
+                                plain: false
+                            }
+                        ]
+                    },
+                    4: {
+                        contentModalText: '订单内存在械字号三类商品,需要拥有医疗执业许可证的医美机构才能购买。建议升级医美机构后再下单,否则会导致订单退款或影响发货。',
+                        modalButton: [
+                            { text: '继续提交', type: 'gray', plain: true },
+                            {
+                                text: '去升级',
+                                customStyle: { color: '#fff',
+                                    bgColor: 'linear-gradient(90deg, #F28F31 0%, #FF5B00 100%)' },
+                                plain: false
+                            }
+                        ]
+                    }
+                }
+                if (data.code === -3) {
+                    // 已提交2个小于1000元的订单提示
+                    this.showModal = true
+                    this.showModalstauts = 3
+                    this.contentModalText = buttonMap[1].contentModalText
+                    this.modalButton = buttonMap[1].modalButton
+                    this.formatConfirmParam()
+                } else if (data.code === -4) {
+                    // 采美豆为负数
+                    this.showModal = true
+                    this.showModalstauts = 3
+                    this.contentModalText = buttonMap[2].contentModalText
+                    this.modalButton = buttonMap[2].modalButton
+                    this.formatConfirmParam()
+                } else if (data.code === -5) {
+                    // 订单总金额低于500
+                    this.showModal = true
+                    this.showModalstauts = 1
+                    this.contentModalText = buttonMap[3].contentModalText
+                    this.modalButton = buttonMap[3].modalButton
+                    this.formatConfirmParam()
+                } else if (data.code === -6) {
+                    // 非医美机构下三类商品订单
+                    this.showModal = true
+                    this.showModalstauts = 2
+                    this.contentModalText = buttonMap[4].contentModalText
+                    this.modalButton = buttonMap[4].modalButton
+                    this.formatConfirmParam()
+                } else {
+                    this.$util.msg(data.msg, 3000)
+                }
+            },
+            formatConfirmParam() {
+                // 还原提交订单参数格式
+                this.confirmParam.payInfo = JSON.parse(this.confirmParam.payInfo)
+                this.confirmParam.orderInfo = JSON.parse(this.confirmParam.orderInfo)
+                this.confirmParam.orderInvoice = JSON.parse(this.confirmParam.orderInvoice)
+            },
+            handleChangeCoupon(data) {
+                this.ExchangeCouponData = data
+                this.isExchangePopup = false
+                this.isCouponModel = true
+                this.getInitCrearOrder()
+            },
+            handleClickCancel() {
+                // 关闭优惠券弹窗
+                this.isCouponModel = false
+                if (this.confirmType == 1) {
+                    this.GetProductCreateOrderInfo()
+                } else {
+                    this.CartCreateOrderInfo()
+                }
+            },
+            handleClick(e) {
+                // 采购量过小提示弹窗
+                if (e.index === 1) {
+                    if (this.showModalstauts === 1) {
+                        this.showModal = false
+                        this.confirmParam.orderMiniType = 1
+                        this.handleClickOrderSubmitMit()
+                    } else if (this.showModalstauts === 2) {
+                        this.showModal = false
+                        this.isSubLoading = false
+                        this.$api.navigateTo('/pages/login/apply')
+                    } else {
+                        this.showModal = false
+                        this.handleClickHeHeMiniApplet()
+                    }
+                } else {
+                    if (this.showModalstauts == 1) {
+                        this.showModal = false
+                        this.handleClickHeHeMiniApplet()
+                    } else if (this.showModalstauts === 2) {
+                        this.showModal = false
+                        this.confirmParam.orderMiniType = 2
+                        this.handleClickOrderSubmitMit()
+                    } else {
+                        this.showModal = false
+                    }
+                }
+            },
+            handleClickHeHeMiniApplet() {
+                // 跳转颜选美学小程序
+                uni.navigateToMiniProgram({
+                    appId: 'wx2c3b0a7f343235b1',
+                    path: '/pages/tabBar/index/index',
+                    extraData: {
+                        data1: 'test'
+                    },
+                    envVersion: 'develop',
+                    success(res) {
+                        // 打开成功
+                        console.log(res)
+                    }
+                })
+            }
+        },
+        onShow() {
+            let pages = getCurrentPages()
+            let currPage = pages[pages.length - 1]
+            if (currPage.data.select == 'select') {
+                let address = uni.getStorageSync('selectAddress')
+                this.confirmParam.addressId = address.addressId
+                this.cartParam.cityId = address.cityId
+                this.productParam.cityId = address.cityId
+                this.supportParm.cityId = address.cityId
+                this.addressData = address
+                this.ischecked = false
+                this.isRequest = false
+                if (this.handleComType === 1) {
+                    //立即都买提交
+                    this.GetProductCreateOrderInfo()
+                }
+                if (this.handleComType === 2) {
+                    //购物车提交
+                    this.CartCreateOrderInfo()
+                }
+                if (this.handleComType === 3) {
+                    //组合商品提交
+                    this.GetOrderClubProductSupporting()
+                }
+            }
+        }
+    }
+</script>
+
+<style lang="scss">
+    page {
+        height: auto;
+        background: #f7f7f7;
+    }
+
+    .btn-hover {
+        background: #ffffff;
+    }
+
+    .animation {
+        /* transition: transform 0.3s ease;*/
+        transition-property: transform;
+        transition-duration: 0.3s;
+        transition-timing-function: ease;
+    }
+
+    .order {
+        padding-bottom: 134rpx;
+    }
+
+    .invoice-freight {
+        width: 702rpx;
+        padding: 0 24rpx;
+        height: auto;
+        font-size: $font-size-28;
+        color: $text-color;
+        background: #ffffff;
+        float: left;
+        font-weight: bold;
+    }
+
+    .invoice-balance {
+        width: 702rpx;
+        height: auto;
+        padding: 0 24rpx;
+        background: #ffffff;
+        float: left;
+        margin-top: 24rpx;
+        margin-bottom: 24rpx;
+
+        .balabce-t {
+            width: 100%;
+            height: 86rpx;
+            line-height: 86rpx;
+            font-size: $font-size-28;
+            color: $text-color;
+            float: left;
+
+            .balabce-t-le {
+                float: left;
+                font-weight: bold;
+            }
+
+            .balabce-t-ri {
+                float: right;
+                display: flex;
+                align-items: center;
+
+                .money {
+                    display: flex;
+                    float: left;
+                }
+
+                .checkbox-box {
+                    display: flex;
+                    width: 60rpx;
+                    float: left;
+                    height: 100%;
+                    font-size: $font-size-24;
+
+                    .checkbox {
+                        width: 40rpx;
+                        text-align: right;
+                        box-sizing: border-box;
+                        text-align: center;
+                        text-decoration: none;
+                        border-radius: 0;
+                        -webkit-tap-highlight-color: transparent;
+                        overflow: hidden;
+                        color: $color-system;
+                    }
+                }
+            }
+        }
+
+        .balabce-b {
+            width: 100%;
+            float: left;
+            overflow: hidden;
+
+            .balabce-b-text {
+                width: 100%;
+                line-height: 58rpx;
+                font-size: $font-size-24;
+                color: #ff2a2a;
+                text-align: right;
+                float: right;
+            }
+
+            &.balabce-b--hide {
+                padding: 0 0;
+                height: 0px;
+                line-height: 0px;
+            }
+        }
+    }
+
+    .footer-wrapper {
+        position: fixed;
+        left: 0;
+        bottom: 0;
+        background-color: #ffffff;
+        z-index: 990;
+
+        .footer {
+            display: flex;
+            align-items: center;
+            width: 100%;
+            height: 110rpx;
+            line-height: 110rpx;
+            justify-content: space-between;
+            font-size: $font-size-28;
+            color: $text-color;
+        }
+
+        .footer-le {
+            width: 570rpx;
+            height: 100%;
+            float: left;
+        }
+
+        .footer-count {
+            float: left;
+            padding-left: 24rpx;
+            width: 180rpx;
+            box-sizing: border-box;
+        }
+
+        .footer-price {
+            width: 370rpx;
+            float: right;
+            text-align: right;
+            color: $text-color;
+            padding: 10rpx 20rpx 10rpx 0;
+            box-sizing: border-box;
+
+            .sum-none {
+                width: 100%;
+                height: 45rpx;
+                line-height: 45rpx;
+                color: $text-color;
+                float: left;
+                text-align: right;
+
+                .money {
+                    font-size: $font-size-26;
+                    color: #999999;
+                    text-decoration: line-through;
+                }
+
+                .money-sign {
+                    font-size: $font-size-26;
+                    color: #999999;
+                    text-decoration: line-through;
+                }
+
+                .money-reduced {
+                    margin-left: 10rpx;
+                    font-size: $font-size-26;
+                    color: #ff2a2a;
+                }
+            }
+
+            .sum {
+                width: 100%;
+                height: 45rpx;
+                line-height: 45rpx;
+                float: left;
+
+                &.none {
+                    height: 90rpx;
+                    line-height: 90rpx;
+                }
+
+                .price {
+                    font-size: $font-size-32;
+                    color: #ff2a2a;
+                }
+            }
+        }
+
+        .footer-submit {
+            display: flex;
+            align-items: center;
+            justify-content: center;
+            width: 180rpx;
+            height: 100%;
+            box-sizing: border-box;
+            padding: 15rpx 5rpx;
+
+            .btn {
+                width: 100%;
+                height: 100%;
+                color: #ffffff;
+                background: linear-gradient(135deg, rgba(242, 143, 49, 1) 0%, rgba(225, 86, 22, 1) 100%);
+                font-size: $font-size-26;
+                text-align: center;
+                line-height: 80rpx;
+                border-radius: 40rpx;
+
+                &.disabled {
+                    background: #e4e8eb;
+                    color: #999999;
+                }
+            }
+        }
+    }
+</style>

+ 181 - 0
pages/user/order/order-contract.vue

@@ -0,0 +1,181 @@
+<template>
+    <view class="container clearfix">
+        <tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading="true"
+            :loadingType="5" />
+        <view class="container-content tui-skeleton" v-else>
+            <!-- <view class="text-h1 center">销售合同</view> -->
+            <view class="text-h1">甲方:厦门盛德至善医疗科技有限公司</view>
+            <view class="text-h1">乙方:{{ clubInfo.name }}</view>
+            <view class="text-p">根据《中华人民共和国民法典》等相关法律、法规的规定,甲乙双方在平等自愿的基础上,就乙方购买甲方销售的产品,达成以下合作内容:</view>
+            <view class="text-h1">一、甲方向乙方供货的产品名称、规格、计价单位和单价。</view>
+            <view class="text-h1">二、付款方式</view>
+            <view class="text-p">付款方式:乙方向甲方发送《发货通知单》,并于3个工作日内将相应的全额货款汇入甲方指定账号;甲方确认收到货款后的5个工作日内安排发货;甲方按货款金额向乙方开具发票,开票时间以乙方发票接收邮箱收到发票或税务系统收到发票为准。</view>   
+            <view class="text-p">甲方帐户信息:</view>
+            <view class="text-p">单位名称:厦门盛德至善医疗科技有限公司</view>
+            <view class="text-p">开户银行: 招商银行股份有限公司厦门海沧支行</view>
+            <view class="text-p">账号:592909949010001</view>
+            <view class="text-p">乙方开票信息:</view>
+            <view class="text-p">单位名称:</view>
+            <view class="text-p">开户行:</view>
+            <view class="text-p">账号:</view>
+            <view class="text-p">税号:电子专票</view>
+            <view class="text-p">发票接收邮箱:</view>
+            <view class="text-h1">三、产品交付方式:</view>
+            <view class="text-p">运输:产品经由合规冷链运输,运费由甲方承担,产品的附件及相关材料应随产品一并交付乙方。</view>
+            <view class="text-h1">四、产品所有权及产品毁损、灭失风险转移</view>
+            <view class="text-p">产品所有权及产品毁损、灭失的风险自乙方签收货物之日起转移,货物签收以物流签收信息为准,除有质量问题外。产品发出后,因乙方的原因致使产品不能按期交付,产品毁损、灭失的风险责任由乙方自行负责。</view>
+            <view class="text-h1">五、验收及退换货</view>
+            <view class="text-p">1、乙方收货时应在现场验收。乙方在收货时,应检查产品有无破损或缺少,如发现异常,应在收货时当场与承运人一起出具书面证明,并书面通知甲方办理相关事宜;如收货后当日未通知则视为乙方已收到全部合格产品。收货时,以物流信息显示签收作为收货凭证,不再进行纸质签收或返回物流签收单。</view>
+            <view class="text-p">2、乙方无故拒绝接受货物的,应承担因此给甲方造成的损失,除本协议明确约定外,损失赔偿范围包括但不限于:直接或间接损失、调查费用支出、诉讼费用、仲裁费用、聘请诉讼仲裁代理人的费用以及其他因违约行为所支出的必要费用。</view>
+            <view class="text-p">3、乙方在收货后如发现产品质量问题的当日向甲方提出书面申请,经甲方审查符合退换货条件的给予退换货,退换货时间为从书面申请受理之日起30天内完成退换货。</view>         <view class="text-h1">六:广告合规要求</view>
+            <view class="text-p">1、乙方自行设计制作的广告须取得广告批文方可发布,且不得侵犯第三方合法权益。乙方如使用甲方提供材料开展宣传的,不得擅自添加、删减、篡改甲方提供的材料内容。</view>
+            <view class="text-p">2、乙方应依法开展产品宣传及产品销售,不得通过夸大产品功效、虚构事实或虚假宣传等方式宣传、销售合作产品。否则因此造成的一切责任(包括但不限于民事赔偿、刑事责任、行政处罚等)均由乙方一力承担。若因乙方的违法宣传,给甲方造成损失的,由乙方承担赔偿责任(包括但不限于甲方支出的诉讼费、律师费、保全费、交通费等)。</view>
+            <view class="text-h1">七、违约责任</view>
+            <view class="text-p">1、在本协议有效期限内,乙方不得将本协议条款中的全部或部分权利、义务转让给任何第三方;若乙方将本协议条款中的权利义务转让给第三方,甲方有权单方解除协议;若因第三方导致甲方权利受到损害的,甲方除可以要求第三方进行损害赔偿之外,仍可以要求乙方承担责任。</view>
+            <view class="text-p">2、因乙方无正当合理的理由退货或拒收货物造成的相应损失(包括甲方损失和乙方损失)由乙方承担。</view>
+            <view class="text-p">3、因乙方行为扰乱甲方市场环境的,甲方有权单方解除本协议,并要求乙方赔偿因此产生的损失。</view>
+            <view class="text-p">4、本协议所述的甲方损失包括但不限于甲方的直接损失、间接损失以及维权所支付的诉讼费、律师费、公证费、鉴定费、差旅费等费用。</view>
+            <view class="text-h1">八、不可抗力</view>
+            <view class="text-p">1、如果双方中的任何一方因为不可抗力(如:战争、火灾、台风、洪水、地震)而被迫停止或推迟协议的执行,则协议执行相应延迟,延迟的时间等于不可抗力发生作用的时间。</view>   
+            <view class="text-p">2、因不可抗力因素导致的甲乙双方未能按本协议约定履行相应的权利义务的,甲乙双方免除相应的责任,但双方应采取必要的措施以减少造成的损失。出现不可抗力情形的一方,应在不可抗力发生之日起三日内向对方发出出现不可抗力情形的书面通知,并提供相应的证明。</view>   
+            <view class="text-p">3、如不可抗力及其影响无法终止或消除而致使合同任何一方丧失继续履行协议的能力或不可抗力的影响连续二十天以上时,任何一方均有权通知对方无责解除本协议。双方根据已完成进度据实结算。</view>   
+            <view class="text-h1">九、保密条款</view>   
+            <view class="text-p">本协议有效期内,甲、乙双方对本协议内容,特别是供货价格及销售政策等信息,均负有严格保密的义务,不得以任何形式泄露给第三方,否则应承担违约责任并赔偿损失。</view>   
+            <view class="text-h1">十、其它约定事项</view>   
+            <view class="text-p">甲方向乙方出具所经营产品的《中华人民共和国医疗器械注册证》及本企业的《营业执照》、《医疗器械生产许可证》及其他授权证明等加盖甲方公章的复印件,同时乙方需向甲方提供《营业执照》、《医疗机构执业许可证》等加盖乙方公章的复印件。</view>   
+            <view class="text-p">本协议的附件与本协议具同等法律效力,是本协议不可分割的组成部分。双方对此协议有任何修改与补充,均需另行签订补充协议,经双方法定代表人或其授权人的签字并且盖章后方可生效,否则不产生任何约束力。</view>   
+            <view class="text-p">乙方同意甲方为其首次公开发行股票并上市及其他上市融资需求而将与乙方的合作涉及的相关信息披露予甲方指定的中介机构、证券交易所以及中国证券监督管理委员会。</view>   
+            <view class="text-h1">十一、争议解决</view>   
+            <view class="text-p">合同执行过程中发生争议的,双方友好协商,协商不成的,任何一方有权向甲方所在地人民法院提起诉讼。</view>   
+            <view class="text-h1">十二、其他</view>   
+            <view class="text-p">本合同自双方加盖合同章或公章之日起生效。本合同一式两份,甲乙双方各执一份,具有同等法律效力。</view>   
+            <view class="text-flex">
+                <view class="flex-p">甲方: 厦门盛德至善医疗科技有限公司</view>
+                <view class="flex-p">乙方:{{ clubInfo.name }}</view>
+            </view>
+            <view class="text-flex">
+                <view class="flex-p">日期:2025年  月  日 </view>
+                <view class="flex-p">日期:2025年  月  日  </view>
+            </view>
+        </view>
+    </view>
+</template>
+
+<script>
+    import { mapState, mapMutations } from 'vuex'
+    export default {
+        data() {
+            return {
+                StaticUrl: this.$Static,
+                isIphoneX: this.$store.state.isIphoneX,
+                skeletonShow: true,
+                clubInfo: {},
+                invoiceData: {
+                	type: 0, 		//发票类型 0 不开发票 1 普通发票 2 增值税发票
+                	headingType: 0, 		//抬头类型 0 个人 1 单位
+                	invoiceTitle: '', 		//发票抬头
+                	corporationTaxNum: '',  //单位税号
+                	registeredAddress: '',  //单位地址
+                	registeredPhone: '',    //注册电话
+                	openBank: '', 		    //开户银行
+                	bankAccountNo: ''       //银行账号
+                }
+            }
+        },
+        onLoad(option) {
+           this.initCouponDetail()
+        },
+        filters: {
+            
+        },
+        computed: {
+            ...mapState(['hasLogin', 'userInfo', ])
+        },
+        methods: {
+            async initCouponDetail(couponId) {
+                // 初始化优惠券信息
+                try {
+                    this.clubInfo = await this.$api.getStorage()
+                    this.getUseInvoice(this.clubInfo.userId)
+                    setTimeout(() => {
+                        this.skeletonShow = false
+                    }, 500)
+
+                } catch (e) {
+                    console.log('初始化优惠券信息异常~')
+                }
+            },
+            //获取发票信息
+            async getUseInvoice(userId) {
+            	try {
+            		const res = await this.OrderService.GetFindInvoice({ userId: userId })
+            		this.invoiceData = {...this.invoiceData, ...res.data}
+            		console.log('invoiceData',this.invoiceData)
+            	} catch (error) {
+            		console.log('error',error)
+            	}
+            },
+            //保存发票信息
+            
+        },
+        onHide() {
+            
+        },
+        onShow() {
+
+        }
+    }
+</script>
+
+<style lang="scss">
+    page {
+        background-color: #FFFFFF;
+    }
+
+    .container {
+        width: 100%;
+        height: auto;
+    }
+    .container-content{
+        width: 100%;
+        box-sizing: border-box;
+        padding: 24rpx;
+        text-align: justify;
+        font-size: $font-size-26;
+        color: #666666;
+        line-height: 68rpx;
+        .text-h1{
+            font-size: $font-size-28;
+            text-align: left;
+            font-weight: 600;
+            color: #333333;
+            &.center{
+                text-align: center;
+            }
+        }
+        .text-p{
+            font-size: $font-size-28;
+            text-align: justify;
+            text-indent: 24rpx;
+            color: #666666;
+        }
+        .text-flex{
+            width: 100%;
+            height: 168rpx;
+            display: flex;
+            justify-content: space-between;
+            flex-wrap: wrap;
+            .flex-p{
+                font-size: $font-size-26;
+                color: #666666;
+                line-height: 168rpx;
+            }
+        }
+    }
+    .empty-container-image {
+        width: 260rpx;
+        height: 260rpx;
+        margin-top: -300rpx;
+    }
+    
+</style>

+ 2 - 2
services/config.env.js

@@ -2,8 +2,8 @@ let URL_CONFIG = ''
 if(process.env.NODE_ENV === 'development'){
     // 开发环境
     // URL_CONFIG = 'http://192.168.2.67:18002'	 //智捷联调地址
-    // URL_CONFIG = 'https://core-b.caimei365.com' 
-    URL_CONFIG = 'https://core.caimei365.com'    
+    URL_CONFIG = 'https://core-b.caimei365.com' 
+    // URL_CONFIG = 'https://core.caimei365.com'    
 }else{
     // 生产环境
     URL_CONFIG = 'https://core.caimei365.com'

+ 1 - 1
services/pay.service.js

@@ -131,7 +131,7 @@ export default class PayService {
     }
     /**
 	 *@param 二手发布支付
-	 *@param  orderId  主订单ID
+	 *@param  productId  二手商品ID
 	 */
     SecondHandPay (data = {}) {
         return this.AjaxService.post({