Browse Source

commit-m 联合丽格V1.0.2

zhengjinyi 2 years ago
parent
commit
51f96aed80
49 changed files with 1670 additions and 1452 deletions
  1. BIN
      common/fonts/iconfont.ttf
  2. BIN
      common/fonts/iconfont.woff
  3. BIN
      common/fonts/iconfont.woff2
  4. 2 2
      components/cm-custom/cm-drag.vue
  5. 1 0
      components/cm-module/cart-components/cm-unit-popup.vue
  6. 10 7
      components/cm-module/listTemplate/listSkeleton.vue
  7. 1 0
      components/cm-module/productDetails/cm-unit-popup.vue
  8. 2 1
      manifest.json
  9. 2 1
      pages/goods/components/cm-unit-popup.vue
  10. 161 151
      pages/goods/good-floor.vue
  11. 2 2
      pages/notice/club/notice-order.vue
  12. 22 11
      pages/seller/address/addressManage.vue
  13. 0 7
      pages/seller/cart/cart.vue
  14. 231 226
      pages/seller/cart/components/immediatelyList.vue
  15. 13 13
      pages/seller/club/club-list.vue
  16. 5 5
      pages/seller/components/user.vue
  17. 133 112
      pages/seller/index/index.vue
  18. 1 1
      pages/seller/order/components/cm-address-temp.vue
  19. 2 1
      pages/seller/order/components/cm-club-visible.vue
  20. 1 1
      pages/seller/order/components/cm-coupon-popup.vue
  21. 87 36
      pages/seller/order/components/cm-freight-popup.vue
  22. 3 0
      pages/seller/order/components/cm-goods-temp.vue
  23. 3 1
      pages/seller/order/components/cm-invice-popup.vue
  24. 10 2
      pages/seller/order/components/cm-regula-popup.vue
  25. 6 6
      pages/seller/order/components/details/cm-goods-temp.vue
  26. 1 0
      pages/seller/order/components/details/cm-payment-temp.vue
  27. 47 43
      pages/seller/order/create-order.vue
  28. 2 2
      pages/seller/order/mixins/conMixins.js
  29. 1 1
      pages/seller/order/order-details.vue
  30. 2 2
      pages/tabBar/user/user.vue
  31. 248 232
      pages/user/address/address.vue
  32. 287 247
      pages/user/address/addressManage.vue
  33. 3 3
      pages/user/order/components/cm-address-temp.vue
  34. 1 1
      pages/user/order/components/cm-coupon-popup.vue
  35. 29 18
      pages/user/order/components/cm-freight-popup.vue
  36. 1 1
      pages/user/order/components/cm-invice-popup.vue
  37. 220 207
      pages/user/order/components/cm-list-button.vue
  38. 6 6
      pages/user/order/components/details/cm-goods-temp.vue
  39. 1 0
      pages/user/order/components/details/cm-payment-temp.vue
  40. 76 62
      pages/user/order/create-order.vue
  41. 3 3
      pages/user/order/mixins/conMixins.js
  42. 4 4
      pages/user/order/order-details.vue
  43. 4 4
      pages/user/order/order-list.vue
  44. 3 8
      pages/user/order/order-logistics.vue
  45. 12 3
      pages/user/order/order-pay-list.vue
  46. 1 1
      pages/user/order/order-sharedetails.vue
  47. 14 12
      pages/user/order/order-sharelogin.vue
  48. 2 2
      pages/user/order/order-success.vue
  49. 4 4
      pages/user/order/search-order.vue

BIN
common/fonts/iconfont.ttf


BIN
common/fonts/iconfont.woff


BIN
common/fonts/iconfont.woff2


+ 2 - 2
components/cm-custom/cm-drag.vue

@@ -37,8 +37,8 @@
 		},
 		data() {
 			return {
-				top:300,
-				left:150,
+				top:518,
+				left:314,
 				width: 0,
 				height: 0,
 				offsetWidth: 0,

+ 1 - 0
components/cm-module/cart-components/cm-unit-popup.vue

@@ -82,6 +82,7 @@
 									v-model="addParams.count"
 									maxlength="4"
 									@blur="skuChangNumberChange($event)"
+									cursor-spacing="40"
 								/>
 								<view
 									class="iconfont icon-jiahao"

+ 10 - 7
components/cm-module/listTemplate/listSkeleton.vue

@@ -7,6 +7,16 @@
 <script>
 	var self;
 	export default{
+		props:{
+			listType:{
+				type:Number,
+				default: 0
+			},
+			src: {
+				type: String,
+				default: 'empty'
+			}
+		},
 		data() {
 			return{
 				skeletonList: {
@@ -17,13 +27,6 @@
 				},
 			}
 		},
-		props:{
-			listType:String,
-			src: {
-				type: String,
-				default: 'empty'
-			}
-		},
 		created(){
 			
 		},

+ 1 - 0
components/cm-module/productDetails/cm-unit-popup.vue

@@ -88,6 +88,7 @@
 									v-model="productCount"
 									maxlength="4"
 									@blur="changeNumber($event)"
+									cursor-spacing="40"
 								/>
 								<view
 									class="iconfont icon-jiahao"

+ 2 - 1
manifest.json

@@ -71,7 +71,8 @@
         "navigateToMiniProgramAppIdList" : [ "wx5a5cda32926f55ac" ],
         "uniStatistics" : {
             "enable" : true
-        }
+        },
+		"lazyCodeLoading": "requiredComponents"
     },
     "mp-alipay" : {
         "usingComponents" : true

+ 2 - 1
pages/goods/components/cm-unit-popup.vue

@@ -43,6 +43,7 @@
 										v-model="productCount"
 										maxlength="4"
 										@blur="changeNumber($event)"
+										cursor-spacing="40"
 									/>
 									<view
 										class="iconfont icon-jiahao"
@@ -218,7 +219,7 @@ export default {
 		},
 		totalLadderPrice() {
 			//单独处理活动价格和阶梯价格
-			if (this.ladderPriceList.length > 0) {
+			if (this.ladderPriceList) {
 				this.ladderPriceList.forEach((ladder, index) => {
 					if (this.productCount >= ladder.buyNum) {
 						this.$parent.skuProduct.price = ladder.buyPrice

+ 161 - 151
pages/goods/good-floor.vue

@@ -1,174 +1,184 @@
 <template>
-	<view class="container floor clearfix" :style="{paddingTop:CustomBar+'px'}">
-		<custom-floor   :systeminfo='systeminfo' 
-						:navbar-data='nvabarData' 
-						:headerBtnPosi ="headerBtnPosi">
-		</custom-floor>
-		<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="5"></tui-skeleton>
-		<view class="container-home tui-skeleton">
-			<!-- 金刚区菜单 -->
-			<templateNav :list="navBarsList" v-if="isRequest"></templateNav>
-		</view>	
-		<!-- ross广告图区 -->
-		<view class="container-ross" v-if="isRossShow">
-			<view class="ross-image" @click="this.$api.navigateTo('/pages/supplier/user/my-shop?shopId=1378')">
-				<image class="image" src="https://static.caimei365.com/app/img/ross/ross-image@2x.jpg" mode=""></image>
+	<view class="container floor clearfix" :style="{ paddingTop: CustomBar + 'px' }">
+		<custom-floor :systeminfo="systeminfo" :navbar-data="nvabarData" :headerBtnPosi="headerBtnPosi" />
+		<tui-skeleton
+			v-if="!isRequest"
+			backgroundColor="#fafafa"
+			borderRadius="10rpx"
+			:isLoading="true"
+			:loadingType="5"
+		/>
+		<template v-else>
+			<view class="container-home tui-skeleton">
+				<!-- 金刚区菜单 -->
+				<templateNav :list="navBarsList" v-if="isRequest" />
 			</view>
-		</view>
-		<!-- 楼层 -->
-		<view class="container-section tui-skeleton">
-			<page-floor :list="pageList" :userIdentity="userIdentity" :pageType="2" v-if="isRequest"></page-floor>
-		</view>
-		<!-- 侧边 -->
-		<scroll-top :isScrollTop="isScrollTop" :bottom="50"></scroll-top>
+			<!-- ross广告图区 -->
+			<view class="container-ross" v-if="isRossShow">
+				<view class="ross-image" @click="this.$api.navigateTo('/pages/supplier/user/my-shop?shopId=1378')">
+					<image
+						class="image"
+						src="https://static.caimei365.com/app/img/ross/ross-image@2x.jpg"
+						mode=""
+					></image>
+				</view>
+			</view>
+			<!-- 楼层 -->
+			<view class="container-section tui-skeleton">
+				<page-floor :list="pageList" :userIdentity="userIdentity" :pageType="2" v-if="isRequest" />
+			</view>
+			<!-- 侧边 -->
+			<scroll-top :isScrollTop="isScrollTop" :bottom="50" />
+		</template>
 	</view>
 </template>
 
 <script>
-	import { mapState,mapMutations} from 'vuex';
-	import customFloor from '@/components/cm-custom/custom-floor' 		 //自定义导航
-	import templateNav from '@/components/cm-module/pageTemplate/templateNav.vue'
-	import pageFloor from '@/components/cm-module/homeIndex/pageFloor.vue'
-	import authorize from '@/common/config/authorize.js'
-	import wxLogin from "@/common/config/wxLogin.js"
-	
-	export default{
-		components:{
-			customFloor,
-			templateNav,
-			pageFloor
-		},
-		data(){
-			return{
-				userId:0,
-				shopId:0,
-				userIdentity:0,
-				skeletonShow:true,
-				headerBtnPosi:	this.setHeaderBtnPosi(), //获取设备顶部胶囊高度
-				systeminfo: this.setSysteminfo(),		 //获取设备信息
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-				navBarsList:[],
-				pageList:[],//楼层
-				isRequest:false,
-				isScrollTop:false,
-				pageId:'',
-				typeSort:'',
-			}
-		},
-		computed: {
-			...mapState(['hasLogin','userInfo','isRossShow','isWxAuthorize'])
-		},
-		onLoad(option) {
-			if(option.type =='share'){
-				wxLogin.wxLoginAuthorize()
-			}
-			this.pageId = option.linkId
-			this.GetInstrumentPageDataa(this.pageId)
-		},
-		methods:{
-			async GetInstrumentPageDataa(pageId){//获取楼层数据
-				const userInfo = await this.$api.getStorage()
-				this.userId = userInfo.userId ? userInfo.userId : 0
-				this.shopId = userInfo.shopId ? userInfo.shopId : 0
-				this.userIdentity = userInfo.userIdentity
-				this.CommonService.GetInstrumentPageData({pageId:pageId,userId:this.userId,source:2}).then(response =>{
+import { mapState, mapMutations } from 'vuex'
+import customFloor from '@/components/cm-custom/custom-floor' //自定义导航
+import templateNav from '@/components/cm-module/pageTemplate/templateNav.vue'
+import pageFloor from '@/components/cm-module/homeIndex/pageFloor.vue'
+import authorize from '@/common/config/authorize.js'
+import wxLogin from '@/common/config/wxLogin.js'
+
+export default {
+	components: {
+		customFloor,
+		templateNav,
+		pageFloor
+	},
+	data() {
+		return {
+			userId: 0,
+			shopId: 0,
+			userIdentity: 0,
+			headerBtnPosi: this.setHeaderBtnPosi(), //获取设备顶部胶囊高度
+			systeminfo: this.setSysteminfo(), //获取设备信息
+			CustomBar: this.CustomBar, // 顶部导航栏高度
+			navBarsList: [],
+			pageList: [], //楼层
+			isRequest: false,
+			isScrollTop: false,
+			pageId: '',
+			typeSort: ''
+		}
+	},
+	computed: {
+		...mapState(['hasLogin', 'userInfo', 'isRossShow', 'isWxAuthorize'])
+	},
+	onLoad(option) {
+		if (option.type == 'share') {
+			wxLogin.wxLoginAuthorize()
+		}
+		this.pageId = option.linkId
+		this.GetInstrumentPageDataa(this.pageId)
+	},
+	methods: {
+		async GetInstrumentPageDataa(pageId) {
+			//获取楼层数据
+			const userInfo = await this.$api.getStorage()
+			this.userId = userInfo.userId ? userInfo.userId : 0
+			this.shopId = userInfo.shopId ? userInfo.shopId : 0
+			this.userIdentity = userInfo.userIdentity
+			this.CommonService.GetInstrumentPageData({ pageId: pageId, userId: this.userId, source: 2 })
+				.then(response => {
 					let data = response.data
-					uni.setStorageSync('pageLabel',`${data.contentLabel}`)
-					this.GetHomeInit(data.typeSort,data.floorList)
-					
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
-				})
-			},
-			GetHomeInit(typeSort,floorList){//金刚区分类
-				this.CommonService.GetFirstClassly({typeSort:typeSort,source:'crm'}).then(response =>{
-					this.navBarsList = response.data
-					this.pageList = floorList
-					setTimeout(()=>{
-						this.skeletonShow = false
-						this.isRequest =true
-					},200)
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
+					uni.setStorageSync('pageLabel', `${data.contentLabel}`)
+					this.GetHomeInit(data.typeSort, data.floorList)
 				})
-			},
-			setHeaderBtnPosi(){
-				// 获得胶囊按钮位置信息
-				let headerBtnPosi = uni.getMenuButtonBoundingClientRect()
-				return headerBtnPosi
-			},
-			setSysteminfo(){
-				let systeminfo;
-				uni.getSystemInfo({ // 获取设备信息
-					success: (res) => {
-						systeminfo = res
-					},
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
 				})
-				return systeminfo
-			},
-		},
-		onPageScroll(e){//实时获取到滚动的值
-			if(e.scrollTop>400){
-				this.isScrollTop = true
-			}else{
-				this.isScrollTop = false
-			}	
 		},
-		onPullDownRefresh() {
-			setTimeout(() => {
-				uni.stopPullDownRefresh()
-			}, 200)
-		},
-		onShareAppMessage(res){//分享转发
-			if (res.from === 'button') {
-		      // 来自页面内转发按钮
-		    }
-			return {
-			  title: '采美-一站式生/医美采购服务平台',
-			  path: `pages/goods/good-floor?type=share&linkId=${this.pageId}`
+		//金刚区分类
+		async GetHomeInit(typeSort, floorList) {
+			try{
+				const res = await this.CommonService.GetFirstClassly({ typeSort: typeSort, source: 'crm' })
+				this.navBarsList = res.data
+				this.pageList = floorList
+				this.isRequest = true
+			}catch(error){
+				console.log('error',error)
 			}
 		},
-		onShow() {
-			
+		setHeaderBtnPosi() {
+			// 获得胶囊按钮位置信息
+			let headerBtnPosi = uni.getMenuButtonBoundingClientRect()
+			return headerBtnPosi
+		},
+		setSysteminfo() {
+			let systeminfo
+			uni.getSystemInfo({
+				// 获取设备信息
+				success: res => {
+					systeminfo = res
+				}
+			})
+			return systeminfo
 		}
-	}
+	},
+	onPageScroll(e) {
+		//实时获取到滚动的值
+		if (e.scrollTop > 400) {
+			this.isScrollTop = true
+		} else {
+			this.isScrollTop = false
+		}
+	},
+	onPullDownRefresh() {
+		setTimeout(() => {
+			uni.stopPullDownRefresh()
+		}, 200)
+	},
+	onShareAppMessage(res) {
+		//分享转发
+		if (res.from === 'button') {
+			// 来自页面内转发按钮
+		}
+		return {
+			title: '采美-一站式生/医美采购服务平台',
+			path: `pages/goods/good-floor?type=share&linkId=${this.pageId}`
+		}
+	},
+	onShow() {}
+}
 </script>
 
 <style lang="scss">
-	page{
-		background-color: #FFFFFF;
-	}
-	.container-home{
-		width: 100%;
-		height: auto;
-	}
-	.container-ross{
+page {
+	background-color: #ffffff;
+}
+.container-home {
+	width: 100%;
+	height: auto;
+}
+.container-ross {
+	width: 100%;
+	height: 264rpx;
+	box-sizing: border-box;
+	padding: 24rpx 24rpx 0 24rpx;
+	float: left;
+	background-color: #f5f5f5;
+	.ross-image {
 		width: 100%;
-		height: 264rpx;
-		box-sizing: border-box;
-		padding: 24rpx 24rpx 0 24rpx;
-		float: left;
-		background-color: #F5F5F5;
-		.ross-image{
+		height: 100%;
+		line-height: 240rpx;
+		background-color: #f3920d;
+		border-radius: 16rpx;
+		text-align: center;
+		font-size: 80rpx;
+		color: #ffffff;
+		.image {
 			width: 100%;
 			height: 100%;
-			line-height: 240rpx;
-			background-color: #F3920D;
 			border-radius: 16rpx;
-			text-align: center;
-			font-size: 80rpx;
-			color: #FFFFFF;
-			.image{
-				width: 100%;
-				height: 100%;
-				border-radius: 16rpx;
-				display: block;
-			}
+			display: block;
 		}
 	}
-	.container-section{
-		width: 100%;
-		height: auto;
-		background-color: #F7F7F7;
-	}
+}
+.container-section {
+	width: 100%;
+	height: auto;
+	background-color: #f7f7f7;
+}
 </style>

+ 2 - 2
pages/notice/club/notice-order.vue

@@ -87,9 +87,9 @@ export default {
 				if (this.isOnliyPay(cell)) {
 					let payLinkMap = {
 						0: `/pages/user/order/order-pay-list?orderId=${cell.orderId}`,
-						1: `/pages/user/order/order-payunder?orderId=${cell.orderId}`
+						1: `/pages/user/order/order-pay-list?orderId=${cell.orderId}`
 					}
-					let linkJumpMap = { 1: `/pages/user/order/order-payunder?orderId=${cell.orderId}` }
+					let linkJumpMap = { 1: `/pages/user/order/order-pay-list?orderId=${cell.orderId}` }
 					this.$api.navigateTo(linkJumpMap[cell.orderMessageType])
 				} else {
 					this.$util.msg('订单已完成支付', 2000)

+ 22 - 11
pages/seller/address/addressManage.vue

@@ -71,7 +71,8 @@
 					address: '',	//地址
 					defaultFlag:0,		//是否默认收货地址(0 不是默认,1 默认)
 				},
-				params:{}				//参数
+				params:{},//参数
+				isSelect:false
 			}
 		},
 		onLoad(option){
@@ -95,6 +96,9 @@
 					this.switchDefault = false
 				}
 			}
+			if (option.type == 'select') {
+				this.isSelect = true
+			}
 			uni.setNavigationBarTitle({
 				title
 			})
@@ -146,18 +150,25 @@
 					this.postAddressData(this.params)
 				}
 			},
-			postAddressData(params){
-				this.btnText(true)
-				this.UserService.AddressSave(params).then( response=>{
-					this.$util.msg('保存成功',1500,true,'success')
+			async postAddressData(params) {
+				try{
+					this.btnText(true)
+					const res = await this.UserService.AddressSave(params)
+					const data = res.data
+					this.$util.msg('保存成功', 1500, true, 'success')
 					this.btnText(false)
-					setTimeout(()=>{
-						uni.navigateBack()
-					},2000)
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
+					if(this.isSelect){
+						console.log('222222222222')
+						uni.setStorageSync('selectAddress', data)
+						let pages = getCurrentPages()
+						let prevPage = pages[pages.length - 2] //上一个页面
+						prevPage.setData({ select: 'select' })
+					}
+					uni.navigateBack()
+				}catch(error){
+					this.$util.msg(error.msg, 2000)
 					this.btnText(false)
-				})
+				}
 			},
 			btnText(flg){
 				if(flg){

+ 0 - 7
pages/seller/cart/cart.vue

@@ -380,8 +380,6 @@ export default {
 			this.submitIds = []
 			this.vipFlag = clubInfo.vipFlag ? clubInfo.vipFlag : 0
 			this.userIdentity = clubInfo.userIdentity ? clubInfo.userIdentity : 0
-			console.log('userIdentity', this.userIdentity)
-			console.log('vipFlag', this.vipFlag)
 			this.listQuery.clubId = clubInfo.clubId ? clubInfo.clubId : 0
 			this.listQuery.againBuyProductIds = clubInfo.againBuyProductIds ? clubInfo.againBuyProductIds : ''
 			this.listQuery.serviceProviderId = userInfo.serviceProviderId ? userInfo.serviceProviderId : 0
@@ -503,7 +501,6 @@ export default {
 							newFailureList.push(Object.assign({}, failure, { isFailureLayer: isFailureLayer }))
 						})
 						this.failureList = newFailureList
-						console.log(this.failureList)
 					} else {
 						this.failureList = []
 					}
@@ -718,7 +715,6 @@ export default {
 					if (item.promotions.discount == 1) {
 						// 支持促销叠加条件的店铺满减 执行
 						prosDiscountNum = parseInt(prosPrice / item.promotions.touchPrice) // 店铺满减促销叠加次数 = 店铺合计价格/满减促销价格
-						console.log('店铺满减促销叠加通道叠加次数', `${prosDiscountNum}次`)
 						if (prosPrice >= item.promotions.touchPrice) {
 							// 满足店铺满减条件下执行
 							item.totalPrice = prosPrice - item.promotions.reducedPrice * prosDiscountNum
@@ -729,7 +725,6 @@ export default {
 							item.totalPrice = prosPrice
 						}
 					} else {
-						console.log('店铺满减非促销叠加通道')
 						if (prosPrice >= item.promotions.touchPrice) {
 							// 满足店铺满减条件下执行
 							item.totalPrice = prosPrice - item.promotions.reducedPrice
@@ -752,14 +747,12 @@ export default {
 						if (pros.promotions && pros.promotions.type != 2 && pros.promotions.mode == 2) {
 							if (pros.promotions.discount == 1) {
 								discountNum = parseInt(_price / pros.promotions.touchPrice)
-								console.log('单品满减促销叠加通道叠加次数', `${discountNum}次`)
 								if (_price >= pros.promotions.touchPrice) {
 									_price = _price - pros.promotions.reducedPrice * discountNum
 									_reducedPrice += pros.promotions.reducedPrice * discountNum
 								}
 								_totalPrice += _price
 							} else {
-								console.log('单品满减非促销叠加通道')
 								if (_price >= pros.promotions.touchPrice) {
 									_price = _price - pros.promotions.reducedPrice
 									_reducedPrice += pros.promotions.reducedPrice

+ 231 - 226
pages/seller/cart/components/immediatelyList.vue

@@ -3,248 +3,250 @@
 		class="container commodity-list-wrapper"
 		:style="{ overflow: showSkeleton ? 'hidden' : 'auto', height: showSkeleton ? windowHeight + 'px' : 'auto' }"
 	>
-		<view class="good-search clearfix" v-if="searchStatus">
-			<view class="nav-tab-bar u-f-ajc">
-				<block v-for="(tab, index) in tabBars" :key="tab.id" :class="{ current: tabIndex === index }">
-					<view class="tabstyle u-f-ajc" :class="{ addstyle: tabIndex == index }" @tap="changeTab(index)">
-						{{ tab.name }}<i v-if="tabIndex == index" class="nav-tab-line iconfont icon-gou"></i>
-					</view>
-				</block>
+		<list-skeleton :listType="0" v-if="showSkeleton" />
+		<template v-else>
+			<view class="good-search clearfix" v-if="searchStatus">
+				<view class="nav-tab-bar u-f-ajc">
+					<block v-for="(tab, index) in tabBars" :key="tab.id" :class="{ current: tabIndex === index }">
+						<view class="tabstyle u-f-ajc" :class="{ addstyle: tabIndex == index }" @tap="changeTab(index)">
+							{{ tab.name }}<i v-if="tabIndex == index" class="nav-tab-line iconfont icon-gou"></i>
+						</view>
+					</block>
+				</view>
+				<view class="search-from name">
+					<text class="iconfont icon-iconfonticonfontsousuo1"></text>
+					<input
+						class="input"
+						type="text"
+						:focus="isFocus"
+						confirm-type="search"
+						v-model="searchInputVal"
+						placeholder="请输入商品关键词"
+						@input="onShowClose"
+						@confirm="searchOpertor(tabIndex)"
+						maxlength="20"
+					/>
+					<text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText(tabIndex)"></text>
+				</view>
 			</view>
-			<view class="search-from name">
-				<text class="iconfont icon-iconfonticonfontsousuo1"></text>
-				<input
-					class="input"
-					type="text"
-					:focus="isFocus"
-					confirm-type="search"
-					v-model="searchInputVal"
-					placeholder="请输入商品关键词"
-					@input="onShowClose"
-					@confirm="searchOpertor(tabIndex)"
-					maxlength="20"
-				/>
-				<text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText(tabIndex)"></text>
+			<view class="empty-container" v-if="isShowEmpty">
+				<image
+					class="empty-container-image"
+					src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png"
+				></image>
+				<text class="error-text">{{ isShowEmptyText }}</text>
 			</view>
-		</view>
-		<list-skeleton v-if="showSkeleton"></list-skeleton>
-		<view class="empty-container" v-if="isShowEmpty">
-			<image
-				class="empty-container-image"
-				src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png"
-			></image>
-			<text class="error-text">{{ isShowEmptyText }}</text>
-		</view>
-		<!-- 单一商品 -->
-		<view class="product-container" v-else>
-			<view :class="tabIndex" v-if="tabIndex === 0" :style="{ paddingTop: searchStatus ? '128rpx' : '' }">
-				<scroll-view
-					:style="{ height: scrollHeight + 'px' }"
-					@scrolltolower="scrolltolower(tabIndex)"
-					scroll-y
-					v-if="listData.length > 0"
-				>
-					<view
-						v-for="(pros, index) in listData"
-						:key="index"
-						:id="pros.productId"
-						class="all-type-list-content commodity-list"
-						@click.stop="navToDetailPage(pros.productId)"
+			<!-- 单一商品 -->
+			<view class="product-container" v-else>
+				<view :class="tabIndex" v-if="tabIndex === 0" :style="{ paddingTop: searchStatus ? '128rpx' : '' }">
+					<scroll-view
+						:style="{ height: scrollHeight + 'px' }"
+						@scrolltolower="scrolltolower(tabIndex)"
+						scroll-y
+						v-if="listData.length > 0"
 					>
-						<view class="list-details-image">
-							<image mode="widthFix" :src="pros.image" class="list-img" alt="list-img"></image>
-							<view class="list-details-type" v-if="pros.productType == 2">医疗器械</view>
-						</view>
-						<view class="list-details-info">
-							<text class="list-details-title">{{ isInterceptHtmlFn(pros.name) }}</text>
-							<text class="list-details-specs">规格:{{ pros.unit ? pros.unit : '' }}</text>
-							<text class="list-details-miniQuantity list-details-specs"
-								>起订量:{{ pros.minBuyNumber }}</text
-							>
-							<view class="list-details-specs" v-if="pros.code != '' && pros.code != null">
-								<view>商品编码:{{ pros.code }}</view>
-							</view>
-							<view class="list-details-price">
-								<template v-if="priceLoading">
-									<view class="list-price-loding">正在获取价格...</view>
-								</template>
-								<template v-else>
-									<view class="list-shop">
-										<view class="list-price">
-											<text
-												class="price-larger"
-												:class="
-													PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? 'none'
-														: ''
-												"
-											>
-												¥{{
-													(PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
-														? pros.originalPrice
-														: pros.price) | NumFormat
-												}}
-											</text>
-										</view>
-									</view>
-									<button class="add-cart-btn" @click.stop="operationHanld(pros)">数量</button>
-								</template>
-							</view>
-							<view class="list-details-price">
-								<view class="floor-item-act">
-									<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
-									<template v-if="pros.actStatus == 1">
-										<view class="floor-tags" v-if="PromotionsFormat(pros.promotions)">
-											{{ pros.promotions.name }}<text>:¥{{ pros.price | NumFormat }}</text>
-										</view>
-										<view class="floor-tags" v-else>{{ pros.promotions.name }}</view>
-									</template>
-									<template v-if="pros.svipProductFlag == 1">
-										<view class="svip-tags">
-											<view class="tags">SVIP</view>
-											<view class="price">{{ pros.svipPriceTag }}</view>
-										</view>
-									</template>
-								</view>
-							</view>
-						</view>
-					</view>
-					<view v-if="showLoading && listData.length > 4 && !showRegularBtn">
-						<view class="loading-wrapper loading-wrapper-now" v-if="loadingNow"
-							>{{ loadingText }}<text v-if="loadingText === '已至底部'">‧ ‧ ‧</text></view
-						>
-						<view class="loading-wrapper loading-wrapper-btm" v-else
-							>———<text class="btm-text">已至底部</text>———</view
-						>
-					</view>
-				</scroll-view>
-			</view>
-			<!-- 组合商品 -->
-			<view :class="tabIndex" v-if="tabIndex === 1">
-				<scroll-view
-					:style="{ height: scrollHeight + 'px', paddingTop: searchStatus ? '112rpx' : '' }"
-					@scrolltolower="scrolltolower(tabIndex)"
-					scroll-y
-				>
-					<view class="all-zuhe-list" v-for="(item, index) in combinationProduct" :key="index" :id="item.id">
-						<view class="zuhe_title" :class="index % 2 == 0 ? 'active' : ''">{{ item.name }}</view>
 						<view
-							v-for="(pros, proIndex) in item.combinationProductList"
-							:class="index % 2 == 0 ? 'stylecontent' : ''"
-							:key="proIndex"
+							v-for="(pros, index) in listData"
+							:key="index"
 							:id="pros.productId"
-							class="zuhe-list-content commodity-list"
+							class="all-type-list-content commodity-list"
+							@click.stop="navToDetailPage(pros.productId)"
 						>
+							<view class="list-details-image">
+								<image mode="widthFix" :src="pros.image" class="list-img" alt="list-img"></image>
+								<view class="list-details-type" v-if="pros.productType == 2">医疗器械</view>
+							</view>
 							<view class="list-details-info">
-								<text class="list-details-title zuhe_list_text">商品编码:{{ pros.code }}</text>
-								<text
-									class="list-details-specs zuhe_list_text"
-									@click.stop="navToDetailPage(pros.productId)"
-									>{{ pros.name }}</text
+								<text class="list-details-title">{{ isInterceptHtmlFn(pros.name) }}</text>
+								<text class="list-details-specs">规格:{{ pros.unit ? pros.unit : '' }}</text>
+								<text class="list-details-miniQuantity list-details-specs"
+									>起订量:{{ pros.minBuyNumber }}</text
 								>
-								<view class="list-details-price zuhe_list_price">
-									<view class="list-shop com">
-										<view class="list-price zuhe_list_price">
-											<view class="zuhe_price-larger zuhe_list_text">
-												<text class="price-larger">规格:{{ pros.unit }}</text>
+								<view class="list-details-specs" v-if="pros.code != '' && pros.code != null">
+									<view>商品编码:{{ pros.code }}</view>
+								</view>
+								<view class="list-details-price">
+									<template v-if="priceLoading">
+										<view class="list-price-loding">正在获取价格...</view>
+									</template>
+									<template v-else>
+										<view class="list-shop">
+											<view class="list-price">
 												<text
-													class="price-btn"
-													@click.stop="handleShowUnitPopup(pros, proIndex)"
-													>重选</text
+													class="price-larger"
+													:class="
+														PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
+															? 'none'
+															: ''
+													"
 												>
+													¥{{
+														(PromotionsFormat(pros.promotions) || pros.svipProductFlag == 1
+															? pros.originalPrice
+															: pros.price) | NumFormat
+													}}
+												</text>
 											</view>
-											<view class="zuhe_price-larger zuhe_list_text">
-												<view class="list-price-none" v-if="pros.repurchaseFlag == 1">
-													<text class="price-none">价格:¥{{ pros.originalPrice }}</text>
+										</view>
+										<button class="add-cart-btn" @click.stop="operationHanld(pros)">数量</button>
+									</template>
+								</view>
+								<view class="list-details-price">
+									<view class="floor-item-act">
+										<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
+										<template v-if="pros.actStatus == 1">
+											<view class="floor-tags" v-if="PromotionsFormat(pros.promotions)">
+												{{ pros.promotions.name }}<text>:¥{{ pros.price | NumFormat }}</text>
+											</view>
+											<view class="floor-tags" v-else>{{ pros.promotions.name }}</view>
+										</template>
+										<template v-if="pros.svipProductFlag == 1">
+											<view class="svip-tags">
+												<view class="tags">SVIP</view>
+												<view class="price">{{ pros.svipPriceTag }}</view>
+											</view>
+										</template>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view v-if="showLoading && listData.length > 4 && !showRegularBtn">
+							<view class="loading-wrapper loading-wrapper-now" v-if="loadingNow"
+								>{{ loadingText }}<text v-if="loadingText === '已至底部'">‧ ‧ ‧</text></view
+							>
+							<view class="loading-wrapper loading-wrapper-btm" v-else
+								>———<text class="btm-text">已至底部</text>———</view
+							>
+						</view>
+					</scroll-view>
+				</view>
+				<!-- 组合商品 -->
+				<view :class="tabIndex" v-if="tabIndex === 1">
+					<scroll-view
+						:style="{ height: scrollHeight + 'px', paddingTop: searchStatus ? '112rpx' : '' }"
+						@scrolltolower="scrolltolower(tabIndex)"
+						scroll-y
+					>
+						<view class="all-zuhe-list" v-for="(item, index) in combinationProduct" :key="index" :id="item.id">
+							<view class="zuhe_title" :class="index % 2 == 0 ? 'active' : ''">{{ item.name }}</view>
+							<view
+								v-for="(pros, proIndex) in item.combinationProductList"
+								:class="index % 2 == 0 ? 'stylecontent' : ''"
+								:key="proIndex"
+								:id="pros.productId"
+								class="zuhe-list-content commodity-list"
+							>
+								<view class="list-details-info">
+									<text class="list-details-title zuhe_list_text">商品编码:{{ pros.code }}</text>
+									<text
+										class="list-details-specs zuhe_list_text"
+										@click.stop="navToDetailPage(pros.productId)"
+										>{{ pros.name }}</text
+									>
+									<view class="list-details-price zuhe_list_price">
+										<view class="list-shop com">
+											<view class="list-price zuhe_list_price">
+												<view class="zuhe_price-larger zuhe_list_text">
+													<text class="price-larger">规格:{{ pros.unit }}</text>
 													<text
-														class="iconfont icon-wenhao"
-														@click.stop="repurchModel"
-													></text>
+														class="price-btn"
+														@click.stop="handleShowUnitPopup(pros, proIndex)"
+														>重选</text
+													>
 												</view>
-												<view class="price-larger">价格:¥{{ pros.price | NumFormat }}</view>
-											</view>
-											<view class="zuhe_price-larger zuhe_list_text">
-												<view class="floor-item-act">
-													<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
-													<template v-if="pros.actStatus == 1">
-														<view
-															class="floor-tags"
-															v-if="PromotionsFormat(pros.promotions)"
-														>
-															{{ pros.promotions.name
-															}}<text>:¥{{ pros.price | NumFormat }}</text>
-														</view>
-														<view class="floor-tags" v-else>{{
-															pros.promotions.name
-														}}</view>
-													</template>
-													<template v-if="pros.svipProductFlag == 1">
-														<view class="svip-tags">
-															<view class="tags">SVIP</view>
-															<view class="price">{{ pros.svipPriceTag }}</view>
-														</view>
-													</template>
+												<view class="zuhe_price-larger zuhe_list_text">
+													<view class="list-price-none" v-if="pros.repurchaseFlag == 1">
+														<text class="price-none">价格:¥{{ pros.originalPrice }}</text>
+														<text
+															class="iconfont icon-wenhao"
+															@click.stop="repurchModel"
+														></text>
+													</view>
+													<view class="price-larger">价格:¥{{ pros.price | NumFormat }}</view>
 												</view>
-												<view class="count">
-													<view class="number-box">
-														<view
-															class="iconfont icon-jianhao"
-															@click.stop="changeCountSub(item, pros)"
-														></view>
-														<input
-															class="btn-input"
-															type="number"
-															maxlength="6"
-															v-model="pros.initProductNum"
-															@blur="changeNnmber($event, item, pros)"
-														/>
-														<view
-															class="iconfont icon-jiahao"
-															@click.stop="changeCountAdd(item, pros)"
-														></view>
+												<view class="zuhe_price-larger zuhe_list_text">
+													<view class="floor-item-act">
+														<view class="coupon-tags" v-if="pros.couponsLogo">优惠券</view>
+														<template v-if="pros.actStatus == 1">
+															<view
+																class="floor-tags"
+																v-if="PromotionsFormat(pros.promotions)"
+															>
+																{{ pros.promotions.name
+																}}<text>:¥{{ pros.price | NumFormat }}</text>
+															</view>
+															<view class="floor-tags" v-else>{{
+																pros.promotions.name
+															}}</view>
+														</template>
+														<template v-if="pros.svipProductFlag == 1">
+															<view class="svip-tags">
+																<view class="tags">SVIP</view>
+																<view class="price">{{ pros.svipPriceTag }}</view>
+															</view>
+														</template>
+													</view>
+													<view class="count">
+														<view class="number-box">
+															<view
+																class="iconfont icon-jianhao"
+																@click.stop="changeCountSub(item, pros)"
+															></view>
+															<input
+																class="btn-input"
+																type="number"
+																maxlength="6"
+																v-model="pros.initProductNum"
+																@blur="changeNnmber($event, item, pros)"
+															/>
+															<view
+																class="iconfont icon-jiahao"
+																@click.stop="changeCountAdd(item, pros)"
+															></view>
+														</view>
 													</view>
 												</view>
-											</view>
-											<view class="list-price-all" :style="{ overflow: 'hidden' }">
-												<view class="price-two zuhe_list_text"
-													>总价:<text class="zuhe_list_zj"
-														>¥ {{ pros.totalPrice | NumFormat }}</text
-													></view
-												>
+												<view class="list-price-all" :style="{ overflow: 'hidden' }">
+													<view class="price-two zuhe_list_text"
+														>总价:<text class="zuhe_list_zj"
+															>¥ {{ pros.totalPrice | NumFormat }}</text
+														></view
+													>
+												</view>
 											</view>
 										</view>
 									</view>
 								</view>
 							</view>
-						</view>
-						<view class="foot_conten">
-							<view class="zuhe_foot-box">
-								<view class="">
-									<text>种类:{{ item.productKind }}</text>
-									<text>总数:{{ item.productTotalNum }}</text>
+							<view class="foot_conten">
+								<view class="zuhe_foot-box">
+									<view class="">
+										<text>种类:{{ item.productKind }}</text>
+										<text>总数:{{ item.productTotalNum }}</text>
+									</view>
+									<text
+										>总额:<text class="foot_text">{{
+											item.productTotalAmount | NumFormat
+										}}</text></text
+									>
 								</view>
-								<text
-									>总额:<text class="foot_text">{{
-										item.productTotalAmount | NumFormat
-									}}</text></text
-								>
+								<button type="default" class="buycart" @click.stop="operationHanld(item)">
+									加入购物车
+								</button>
 							</view>
-							<button type="default" class="buycart" @click.stop="operationHanld(item)">
-								加入购物车
-							</button>
 						</view>
-					</view>
-					<view v-if="showLoading && combinationProduct.length > 4 && !showRegularBtn">
-						<view class="loading-wrapper loading-wrapper-now" v-if="loadingNow"
-							>{{ loadingText }}<text v-if="loadingText === '已至底部'">‧ ‧ ‧</text></view
-						>
-						<view class="loading-wrapper loading-wrapper-btm" v-else
-							>———<text class="btm-text">已至底部</text>———</view
-						>
-					</view>
-				</scroll-view>
+						<view v-if="showLoading && combinationProduct.length > 4 && !showRegularBtn">
+							<view class="loading-wrapper loading-wrapper-now" v-if="loadingNow"
+								>{{ loadingText }}<text v-if="loadingText === '已至底部'">‧ ‧ ‧</text></view
+							>
+							<view class="loading-wrapper loading-wrapper-btm" v-else
+								>———<text class="btm-text">已至底部</text>———</view
+							>
+						</view>
+					</scroll-view>
+				</view>
 			</view>
-		</view>
+		</template>
 		<!-- 组合商品规格弹窗 -->
 		<cmUnitSupporPopup
 			v-if="popupShow"
@@ -255,6 +257,7 @@
 		></cmUnitSupporPopup>
 		<!-- 可拖动悬浮按钮 -->
 		<cm-drag
+			v-if="!showSkeleton"
 			:cartNum="cartQuantity"
 			:isDock="true"
 			:existTabBar="true"
@@ -299,7 +302,7 @@ export default {
 			searchInputVal: '',
 			isModallayer: false,
 			windowHeight: '',
-			showSkeleton: false,
+			showSkeleton: true,
 			priceLoading: true,
 			isShowEmpty: false,
 			isShowEmptyText: '搜索相关商品',
@@ -401,7 +404,6 @@ export default {
 						} else {
 							this.listData = [...resList]
 							this.getProductPrice()
-							this.showSkeleton = false
 						}
 						// 防上拉暴滑
 						this.pullFlag = false
@@ -441,13 +443,16 @@ export default {
 				productIds: productIds,
 				source: 2
 			})
-				.then(response => {
-					this.listData = this.ReturnNewProducts(this.listData, response.data)
-					this.priceLoading = false
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
+			.then(response => {
+				this.listData = this.ReturnNewProducts(this.listData, response.data)
+				this.priceLoading = false
+				setTimeout(() => {
+						this.showSkeleton = false
+				}, 500)
+			})
+			.catch(error => {
+				this.$util.msg(error.msg, 2000)
+			})
 		},
 		ReturnNewProducts(Array, list) {
 			//合并字段

+ 13 - 13
pages/seller/club/club-list.vue

@@ -75,9 +75,9 @@
 						</view>
 						<view class="club-list-bot">
 							<view class="btn" @click.stop="handleClickOper(1, club)"> <text class="iconfont icon-lijixiadan"></text> 立即下单</view>
-							<view class="btn" @click.stop="handleClickOper(3, club)"> <text class="iconfont icon-zaicigoumai1"></text> 再次购买</view>
+<!-- 							<view class="btn" @click.stop="handleClickOper(3, club)"> <text class="iconfont icon-zaicigoumai1"></text> 再次购买</view>
 							<view class="btn" @click.stop="handleClickOper(6, club)"> <text class="iconfont icon-youhuiquan"></text> 购买优惠券</view>
-							<!-- <view class="btn" @click.stop="handleShowBubble(club,index)"> 
+							<view class="btn" @click.stop="handleShowBubble(club,index)"> 
 								<text class="iconfont icon-gengduo2"></text> 
 								<view class="btn-bubble" v-if="currentIndex === index && club.bubble">
 									<view class="btn-view border" @click.stop="handleClickOper(2, club)">
@@ -474,17 +474,17 @@ page,
 				text-align: center;
 				float: left;
 				position: relative;
-				&:nth-child(1){
-					&:before{
-						content: '';
-						width: 1px;
-						height: 20rpx;
-						background-color: #B2B2B2;
-						position: absolute;
-						right: 0;
-						top: 30rpx;
-					}
-				}
+				// &:nth-child(1){
+				// 	&:before{
+				// 		content: '';
+				// 		width: 1px;
+				// 		height: 20rpx;
+				// 		background-color: #B2B2B2;
+				// 		position: absolute;
+				// 		right: 0;
+				// 		top: 30rpx;
+				// 	}
+				// }
 				&:nth-child(2){
 					&:before{
 						content: '';

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

@@ -232,11 +232,11 @@ export default {
 					path: '/pages/seller/club/club-list',
 					icon: 'https://static.caimei365.com/app/img/icon/icon_seller_5@2x.png'
 				},
-				{
-					name: '发布二手商品',
-					path: '/pages/second/form/form-select',
-					icon: 'https://static.caimei365.com/app/img/icon/icon_seller_6@2x.png'
-				},
+				// {
+				// 	name: '发布二手商品',
+				// 	path: '/pages/second/form/form-select',
+				// 	icon: 'https://static.caimei365.com/app/img/icon/icon_seller_6@2x.png'
+				// },
 				{
 					name: '客户咨询记录',
 					path: '/pages/seller/remarks/list',

+ 133 - 112
pages/seller/index/index.vue

@@ -1,25 +1,25 @@
 <template>
-	<view class="content"  :style="{paddingBottom:isIphoneX?'140rpx':'98rpx'}">
+	<view class="content" :style="{ paddingBottom: isIphoneX ? '140rpx' : '98rpx' }">
 		<!-- 采美采购商城 -->
-		<view :style="{'display':show_index == 0 ?'block':'none'}">
-			<seller-home  ref="home" v-if="isHomeData"></seller-home>
+		<view :style="{ display: show_index == 0 ? 'block' : 'none' }">
+			<seller-home ref="home" v-if="isHomeData"></seller-home>
 		</view>
 		<!-- 商品分类 -->
-		<view :style="{'display':show_index == 1? 'block':'none'}">
-			<seller-category  ref="category" v-if="isCategory"></seller-category>
+		<view :style="{ display: show_index == 1 ? 'block' : 'none' }">
+			<seller-category ref="category" v-if="isCategory"></seller-category>
 		</view>
 		<!-- 账户中心 -->
-		<view :style="{'display':show_index == 2 ?'flex':'none'}">
-			<seller-user  ref="user" v-if="isUserData"></seller-user>
+		<view :style="{ display: show_index == 2 ? 'flex' : 'none' }">
+			<seller-user ref="user" v-if="isUserData"></seller-user>
 		</view>
 		<!-- isIphoneX判断是否为刘海屏在main.js里,好像uniapp有一个css变量获取刘海屏的安全区域 -->
-		<view class="tabBar" :style="{height:isIphoneX?'140rpx':'98rpx'}">
+		<view class="tabBar" :style="{ height: isIphoneX ? '140rpx' : '98rpx' }">
 			<!-- 导航的中间圆圈 -->
-			<view class="tabBar_list" :style="{paddingBottom:isIphoneX?'40rpx':''}">
-				<view v-for="(item) in tab_nav_list" :key="item.id" class="tabBar_item" @tap="cut_index(item.id)">
+			<view class="tabBar_list" :style="{ paddingBottom: isIphoneX ? '40rpx' : '' }">
+				<view v-for="item in tab_nav_list" :key="item.id" class="tabBar_item" @tap="cut_index(item.id)">
 					<image v-if="show_index == item.id" :src="item.iconAc"></image>
 					<image v-else :src="item.icon"></image>
-					<view :class="{'tabBar_name':true,'nav_active':show_index == item.id}">{{item.name}}</view>
+					<view :class="{ tabBar_name: true, nav_active: show_index == item.id }">{{ item.name }}</view>
 				</view>
 			</view>
 		</view>
@@ -27,117 +27,138 @@
 </template>
 
 <script>
-	import sellerHome from '../components/home.vue'
-	import sellerUser from '../components/user.vue'
-	import sellerCategory from '../components/category.vue'
-	export default {
-		components: {
-			sellerHome,//采美采购商城 0
-			sellerUser,//账户中心     1
-			sellerCategory,//商品分类 2
-		},
-		data() {
-			return {
-				show_index:2,//控制显示那个组件
-				isUserData: false,
-				isCategory: false,
-				isHomeData: false,
-				isIphoneX:this.$store.state.isIphone,
-				tab_nav_list :[//菜单列表
-					{'id':0,'name':'首页',icon:'https://static.caimei365.com/app/img/icon/icon-home@3x.png',iconAc:'https://static.caimei365.com/app/img/icon/icon-home-active@3x.png'},
-					{'id':1,'name':'分类',icon:'https://static.caimei365.com/app/img/icon/icon-sort@3x.png',iconAc:'https://static.caimei365.com/app/img/icon/icon-sort-active@3x.png'},
-					{'id':2,'name':'我的',icon:'https://static.caimei365.com/app/img/icon/icon-user@3x.png',iconAc:'https://static.caimei365.com/app/img/icon/icon-user-active@3x.png'}
-				],
-				nvabarData: {		//顶部自定义导航
-					showCapsule: 0, // 是否显示左上角图标  1表示显示  0表示不显示,
-					showSearch: 0,
-					title: '账户中心',  // 导航栏 中间的标题
-					textLeft:false
-				}, 
-				isIphoneX:this.$store.state.isIphoneX,
-				CustomBar:this.CustomBar,// 顶部导航栏高度
-			}
-		},
-		onLoad() {
-			this.$nextTick(()=>{// 一定要等视图更新完再调用方法
-				setTimeout(()=>{ this.isUserData = true },100)
-			})
-		},
-		methods: {
-			// 切换组件
-			cut_index(type){
-				this.show_index = type
-				if(this.show_index == 0){
-					this.isHomeData = true
-					this.isUserData = false
-					this.isCategory = false
-				}else if(this.show_index == 1){
-					this.isHomeData = false
-					this.isUserData = false
-					this.isCategory = true
-				}else if(this.show_index == 2){
-					this.isHomeData = false
-					this.isUserData = true
-					this.isCategory = false
+import sellerHome from '../components/home.vue'
+import sellerUser from '../components/user.vue'
+import sellerCategory from '../components/category.vue'
+export default {
+	components: {
+		sellerHome, //采美采购商城 0
+		sellerUser, //账户中心     1
+		sellerCategory //商品分类 2
+	},
+	data() {
+		return {
+			show_index: 2, //控制显示那个组件
+			isUserData: false,
+			isCategory: false,
+			isHomeData: false,
+			isIphoneX: this.$store.state.isIphone,
+			tab_nav_list: [
+				//菜单列表
+				{
+					id: 0,
+					name: '首页',
+					icon: 'https://static.caimei365.com/app/img/icon/icon-home@3x.png',
+					iconAc: 'https://static.caimei365.com/app/img/icon/icon-home-active@3x.png'
+				},
+				{
+					id: 1,
+					name: '分类',
+					icon: 'https://static.caimei365.com/app/img/icon/icon-sort@3x.png',
+					iconAc: 'https://static.caimei365.com/app/img/icon/icon-sort-active@3x.png'
+				},
+				{
+					id: 2,
+					name: '我的',
+					icon: 'https://static.caimei365.com/app/img/icon/icon-user@3x.png',
+					iconAc: 'https://static.caimei365.com/app/img/icon/icon-user-active@3x.png'
 				}
+			],
+			nvabarData: {
+				//顶部自定义导航
+				showCapsule: 0, // 是否显示左上角图标  1表示显示  0表示不显示,
+				showSearch: 0,
+				title: '账户中心', // 导航栏 中间的标题
+				textLeft: false
 			},
-			onPullDownRefresh(){
-				if(this.show_index == 0){
-					this.$refs.home.getHomeInformation()
-				}else if(this.show_index == 2){
-					this.$refs.user.initData()
-				}
-				uni.stopPullDownRefresh()
+			isIphoneX: this.$store.state.isIphoneX,
+			CustomBar: this.CustomBar // 顶部导航栏高度
+		}
+	},
+	onLoad() {
+		this.$nextTick(() => {
+			// 一定要等视图更新完再调用方法
+			setTimeout(() => {
+				this.isUserData = true
+			}, 100)
+		})
+	},
+	methods: {
+		// 切换组件
+		cut_index(type) {
+			this.show_index = type
+			if (this.show_index == 0) {
+				this.isHomeData = true
+				this.isUserData = false
+				this.isCategory = false
+			} else if (this.show_index == 1) {
+				this.isHomeData = false
+				this.isUserData = false
+				this.isCategory = true
+			} else if (this.show_index == 2) {
+				this.isHomeData = false
+				this.isUserData = true
+				this.isCategory = false
 			}
 		},
-		onShareAppMessage(res){//分享转发
-			if (res.from === 'button') {
-		      // 来自页面内转发按钮
-		    }
-			return {
-			  title: '生美医美正品采购服务平台',
-			  path: 'pages/tabBar/home/index',
-			  imageUrl:'https://static.caimei365.com/app/img/bg/min-banner.jpg'
+		onPullDownRefresh() {
+			if (this.show_index == 0) {
+				this.$refs.home.getHomeInformation()
+			} else if (this.show_index == 2) {
+				this.$refs.user.initData()
 			}
-		},
+			uni.stopPullDownRefresh()
+		}
+	},
+	onShareAppMessage(res) {
+		//分享转发
+		if (res.from === 'button') {
+			// 来自页面内转发按钮
+		}
+		return {
+			title: '生美医美正品采购服务平台',
+			path: 'pages/tabBar/home/index',
+			imageUrl: 'https://static.caimei365.com/app/img/bg/min-banner.jpg'
+		}
 	}
+}
 </script>
 
 <style lang="scss">
-	.tabBar{
-		width:100%;
-		height: 98rpx;
-		background: #fff;
-		border-top:1px solid #E5E5E5;
-		position: fixed;
-		bottom:0px;
-		left:0px;
-		right:0px;
+.tabBar {
+	width: 100%;
+	height: 98rpx;
+	background: #fff;
+	border-top: 1px solid #e5e5e5;
+	position: fixed;
+	bottom: 0px;
+	left: 0px;
+	right: 0px;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	z-index: 999;
+	.tabBar_list {
+		width: 86%;
 		display: flex;
-		align-items: center;
-		justify-content: center;
-		z-index: 999;
-		.tabBar_list{
-			width:86%;
+		justify-content: space-between;
+		image {
+			width: 48rpx;
+			height: 48rpx;
+			margin-bottom: 2rpx;
+		}
+		.tabBar_item {
+			width: 150rpx;
 			display: flex;
-			justify-content: space-between;
-			image{
-				width:48rpx;
-				height: 48rpx;
-				margin-bottom:2rpx
-			}
-			.tabBar_item{
-				width:150rpx;
-				display: flex;
-				justify-content: center;
-				align-items: center;
-				flex-direction: column;
-				font-size: 20rpx;
-				color: #999999;
-			}
-		 }
-	}
-	.nav_active{
-		color: $color-system;
+			justify-content: center;
+			align-items: center;
+			flex-direction: column;
+			font-size: 20rpx;
+			color: #999999;
+		}
 	}
+}
+.nav_active {
+	color: $color-system;
+}
 </style>

+ 1 - 1
pages/seller/order/components/cm-address-temp.vue

@@ -63,7 +63,7 @@
 			initData(res) {
 				if(Object.keys(res).length == 0){
 					this.isEmpty = true
-					this.addressSrc = '/pages/seller/address/addressManage'
+					this.addressSrc = '/pages/seller/address/addressManage?type=select'
 				}else{
 					this.isEmpty = false
 					this.$parent.isFreight = false

+ 2 - 1
pages/seller/order/components/cm-club-visible.vue

@@ -2,7 +2,7 @@
 	<view class="orderVisible-template">
 		<!-- 订单对机构是否可见 -->
 		<view class="visible-title" @tap.stop="showPopup">
-			<text class="orderVisible">订单对机构是否可见</text>
+			<text class="orderVisible">订单对机构是否可见:</text>
 			<view class="visible-right">
 				<text class="text-l">{{ orderVisibleText }}</text> <text class="iconfont icon-xiayibu"></text>
 			</view>
@@ -104,6 +104,7 @@ export default {
 		.visible-right {
 			float: right;
 			color: #2a81ff;
+			font-weight: normal;
 			.text-l {
 				margin-right: 40rpx;
 			}

+ 1 - 1
pages/seller/order/components/cm-coupon-popup.vue

@@ -232,7 +232,7 @@ export default {
 		.text-coupon {
 			display: inline-block;
 			float: right;
-			padding-right: 30rpx;
+			padding-right: 40rpx;
 			line-height: 88rpx;
 			font-size: 28rpx;
 			color: #f94b4b;

+ 87 - 36
pages/seller/order/components/cm-freight-popup.vue

@@ -3,13 +3,23 @@
 	<view>
 		<view class="goods-pros-m">
 			<view class="freight-main">
-				<view class="freight-left">运费</view>
+				<view class="freight-left">运费:</view>
 				<view class="freight-right" @click.stop="handlePupShow">
-					<view class="freight-text" v-if="handlePostageFlag === 0">包邮</view>
+					<template v-if="handlePostageFlag === 0">
+						<view class="freight-text" v-if="handleSupplier.isColdChina"
+							>¥{{ handleSupplier.coldChain | NumFormat }}</view
+						>
+						<view class="freight-text" v-else>包邮</view>
+					</template>
 					<view class="freight-text" v-if="handlePostageFlag === 1"
 						>¥{{ handleTotalPostage | NumFormat }}</view
 					>
-					<view class="freight-text" v-if="handlePostageFlag === 2">到付</view>
+					<template v-if="handlePostageFlag === 2">
+						<view class="freight-text" v-if="handleSupplier.isColdChina"
+							>¥{{ handleSupplier.coldChain | NumFormat }}</view
+						>
+						<view class="freight-text" v-else>到付</view>
+					</template>
 					<view class="select"><text class="iconfont icon-xiayibu"></text></view>
 				</view>
 			</view>
@@ -31,13 +41,6 @@
 						</label>
 					</radio-group>
 					<template v-if="handlePostageFlag === 0">
-						<view class="freight-form">
-							<view class="freight-form-item">
-								<view class="label">总运费</view> <view class="texts red">包邮</view>
-							</view>
-						</view>
-					</template>
-					<template v-if="handlePostageFlag === 1">
 						<view class="freight-form">
 							<view class="freight-form-item" v-if="handleSupplier.coldChain > 0">
 								<view class="label">冷链运输费</view>
@@ -51,16 +54,42 @@
 									</text>
 								</view>
 							</view>
+							<view class="freight-form-item">
+								<view class="label">其他运费 </view> <view class="texts red">包邮</view>
+							</view>
+							<view class="freight-form-item">
+								<view class="label">总运费</view>
+								<view class="texts red" v-if="handleSupplier.isColdChina"
+									>¥{{ handleSupplier.coldChain | NumFormat }}</view
+								>
+								<view class="texts red" v-else>包邮</view>
+							</view>
+						</view>
+					</template>
+					<template v-if="handlePostageFlag === 1">
+						<view class="freight-form">
 							<view class="freight-form-item">
 								<input
 									class="form-input"
 									type="number"
-									v-model="handlePostage"
+									v-model="handlePostageVal"
 									@input="handleInputPostage"
 									placeholder="请填写运费"
 									maxlength="20"
 								/>
 							</view>
+							<view class="freight-form-item" v-if="handleSupplier.coldChain > 0">
+								<view class="label">冷链运输费</view>
+								<view class="texts">
+									<text>¥{{ handleSupplier.coldChain | NumFormat }}</text>
+									<text
+										class="iconfont"
+										:class="[isColdChina ? 'icon-yixuanze' : 'icon-weixuanze']"
+										@click.stop="handleChangeColdChina"
+									>
+									</text>
+								</view>
+							</view>
 							<view class="freight-form-item">
 								<view class="label">其他运费 </view>
 								<view class="texts">¥{{ handleSupplier.postage | NumFormat }} </view>
@@ -73,8 +102,27 @@
 					</template>
 					<template v-if="handlePostageFlag === 2">
 						<view class="freight-form">
+							<view class="freight-form-item" v-if="handleSupplier.coldChain > 0">
+								<view class="label">冷链运输费</view>
+								<view class="texts">
+									<text>¥{{ handleSupplier.coldChain | NumFormat }}</text>
+									<text
+										class="iconfont"
+										:class="[isColdChina ? 'icon-yixuanze' : 'icon-weixuanze']"
+										@click.stop="handleChangeColdChina"
+									>
+									</text>
+								</view>
+							</view>
 							<view class="freight-form-item">
-								<view class="label">总运费</view> <view class="texts red">到付</view>
+								<view class="label">其他运费 </view><view class="texts red">到付</view>
+							</view>
+							<view class="freight-form-item">
+								<view class="label">总运费</view>
+								<view class="texts red" v-if="handleSupplier.isColdChina"
+									>¥{{ handleSupplier.coldChain | NumFormat }}</view
+								>
+								<view class="texts red" v-else>到付</view>
 							</view>
 						</view>
 					</template>
@@ -100,8 +148,10 @@ export default {
 		return {
 			popupShow: false,
 			isColdChina: false,
-			handlePostage: 0,
-			handlePostageFlag: 0,
+			handleColdChain:0,// 记录冷链费
+			handlePostage: 0, // 记录原始运费
+			handlePostageVal: 0, // 记录修改的运费
+			handlePostageFlag: 0, //  记录运费类型
 			radioItems: [
 				{
 					name: '包邮',
@@ -119,8 +169,8 @@ export default {
 					checked: false
 				}
 			],
-			handleTotalPrice: 0,
-			handleSupplier: {}
+			handleTotalPrice: 0, // 记录原始供应商总价
+			handleSupplier: {} // 记录原始信息
 		}
 	},
 	filters: {
@@ -156,9 +206,11 @@ export default {
 		infoSupplier(data) {
 			this.handleSupplier = data
 			this.isColdChina = data.isColdChina
+			this.handleColdChain = data.coldChain
 			this.handleTotalPrice = data.totalPrice
-			this.handlePostage = data.postage
+			this.handlePostage = this.handlePostageVal = data.postage
 			this.handlePostageFlag = data.handlePostageFlag
+			console.log('handlePostageFlag', this.handlePostageFlag)
 			switch (this.handlePostageFlag) {
 				case 0:
 					this.radioItems[0].checked = true
@@ -173,13 +225,9 @@ export default {
 		},
 		handleInputPostage(e) {
 			//处理邮费显示
-			if (e.detail.value == '') {
-				this.handlePostage = 0
-				this.handleSupplier.postage = 0
-			} else {
-				this.handlePostage = e.detail.value
-				this.handleSupplier.postage = e.detail.value
-			}
+			// if (e.detail.value == '') {
+			// 	this.handleSupplier.postage = 0
+			// }
 		},
 		// 勾选冷链费
 		handleChangeColdChina() {
@@ -208,25 +256,29 @@ export default {
 		},
 		// 确定运费
 		handleComfirm() {
-			const postage = this.isColdChina ? this.handleSupplier.postage + this.handleSupplier.coldChain : this.handleSupplier.postage
 			if (this.handlePostageFlag === 0) {
-				this.handleSupplier.totalPrice = this.handleTotalPrice
+				let handleTotalPrice = this.isColdChina ? this.handleTotalPrice : Number(this.repiceNumSub(this.handleTotalPrice, this.handleColdChain))
+				this.handleSupplier.totalPrice = Number(this.repiceNumSub(handleTotalPrice, this.handleSupplier.postage))
 				this.$emit('changePostage', this.handleSupplier, this.index)
 			} else if (this.handlePostageFlag === 1) {
-				if (this.handleSupplier.postage == 0 || !this.handleSupplier.postage) {
+				if (this.handlePostageVal == 0 || !this.handlePostageVal) {
 					this.$util.msg('请填写运费', 2000)
 					return
 				}
-				this.handleSupplier.totalPrice = Number((this.handleTotalPrice * 100 + postage * 100) / 100)
+				this.handleSupplier.totalPrice = Number(
+					(this.handleTotalPrice * 100 - this.handlePostage * 100 + this.handlePostageVal * 100) / 100
+				)
+				this.handleSupplier.postage = this.handlePostageVal
 				this.$emit('changePostage', this.handleSupplier, this.index)
 			} else {
-				this.handleSupplier.totalPrice = this.handleTotalPrice
+				let handleTotalPrice = this.isColdChina ? this.handleTotalPrice : Number(this.repiceNumSub(this.handleTotalPrice, this.handleColdChain))
+				this.handleSupplier.totalPrice = Number(this.repiceNumSub(handleTotalPrice, this.handleSupplier.postage))
 				this.$emit('changePostage', this.handleSupplier, this.index)
 			}
 			this.popupShow = false
 		},
+		//减法精确,arg2:被减数,arg1:减数
 		repiceNumSub(arg1, arg2) {
-			//减法精确,arg2:被减数,arg1:减数
 			var r1, r2, m, n
 			try {
 				r1 = arg1.toString().split('.')[1].length
@@ -280,10 +332,9 @@ export default {
 			}
 			.select {
 				float: right;
-				height: 60rpx;
+				height: 78rpx;
 				padding: 0 20rpx;
-				margin-top: 14rpx;
-				line-height: 60rpx;
+				line-height: 78rpx;
 				color: #333333;
 				font-weight: normal;
 				position: relative;
@@ -294,13 +345,13 @@ export default {
 				}
 				.iconfont {
 					width: 60rpx;
-					height: 60rpx;
-					line-height: 60rpx;
+					height: 78rpx;
+					line-height: 78rpx;
 					text-align: right;
 					position: absolute;
 					right: 0;
 					top: 0;
-					font-size: $font-size-28;
+					font-size: $font-size-30;
 					color: #b2b2b2;
 				}
 			}

+ 3 - 0
pages/seller/order/components/cm-goods-temp.vue

@@ -69,6 +69,7 @@
 				<!-- 运费 -->
 				<cm-freight-popup         
 					ref="freight"
+					v-if="isFreight"
 					:index.sync="index"
 					:supplier.sync="supplier"
 					@changePostage="changePostageFlag"
@@ -109,6 +110,7 @@ export default {
 	},
 	data() {
 		return {
+			isFreight:false,
 			remark: [],
 			vipFlag: 0
 		}
@@ -136,6 +138,7 @@ export default {
 		async initGetStotage() {
 			const userInfo = await this.$api.getStorage()
 			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
+			this.isFreight = true
 		},
 		// 勾选冷链费操作
 		hanldChangeColdChina(supplier,index){

+ 3 - 1
pages/seller/order/components/cm-invice-popup.vue

@@ -317,6 +317,7 @@ export default {
 	height: auto;
 	background: #ffffff;
 	float: left;
+	margin-top: 24rpx;
 	.invoice-title {
 		width: 702rpx;
 		padding: 0 24rpx;
@@ -327,6 +328,7 @@ export default {
 		.text {
 			font-size: $font-size-28;
 			color: $text-color;
+			font-weight: bold;
 		}
 		.invoice-text {
 			font-size: $font-size-28;
@@ -335,7 +337,7 @@ export default {
 			display: inline-block;
 			float: right;
 			box-sizing: border-box;
-			padding-right: 30rpx;
+			padding-right: 40rpx;
 		}
 		.iconfont {
 			width: 50rpx;

+ 10 - 2
pages/seller/order/components/cm-regula-popup.vue

@@ -1,7 +1,7 @@
 <template name="regulations">
 	<view class="regulations-template">
 		<view class="regulations-title" @tap.stop="hanldOperationConfim">
-			<text class="text">售后条款</text>
+			<text class="text">售后条款:</text>
 			<view class="freight-right">
 				<text class="text-l">{{regulaText}}</text>
 				<text class="iconfont icon-xiayibu"></text>
@@ -106,6 +106,7 @@
 			float: left;
 			font-weight: bold;
 			border-bottom: 1rpx solid #EBEBEB;
+			position: relative;
 			.freight-left{
 				float: left;
 				.icon-yunfeishuoming{
@@ -125,7 +126,8 @@
 				float: right;
 				color: #2A81FF;
 				.text-l{
-					margin-right: 20rpx;
+					margin-right: 40rpx;
+					font-weight: normal;
 				}
 				.text{
 					line-height: 88rpx;
@@ -134,8 +136,14 @@
 					font-weight: normal;
 				}
 				.icon-xiayibu{
+					width: 50rpx;
+					height: 88rpx;
 					line-height: 88rpx;
 					color: #999999;
+					display: block;
+					position: absolute;
+					right: 0;
+					top: 0;
 					font-weight: normal;
 				}
 			}

+ 6 - 6
pages/seller/order/components/details/cm-goods-temp.vue

@@ -76,15 +76,15 @@
 						<view class="product-view" v-if="item.returnedNum > 0 || item.actualCancelNum > 0">
 							<view class="view-num">已退货/已取消:<text class="text">{{ item.returnedNum }}/{{ item.actualCancelNum }}</text></view>
 						</view>
-						<view class="product-view" v-if="item.svipPriceType != 1">
+<!-- 						<view class="product-view" v-if="item.svipPriceType != 1">
 							<view class="view-num">折扣:<text class="text">{{ item.discount == null ? '0' : item.discount }}%</text></view>
-						</view>
+						</view> -->
 						<view class="product-view">
 							<view class="view-num">税率:<text class="text">{{ item.taxRate }}%</text></view>
 						</view>
-						<view class="product-view">
+						<!-- <view class="product-view">
 							<view class="view-num">折后单价:<text class="text">¥{{ item.discountPrice | NumFormat }}</text></view>
-						</view>
+						</view> -->
 						<view class="product-view allPrice">
 							<view class="view-num">合计:<text class="text">¥{{ item.totalFee | NumFormat }}</text></view>
 						</view>
@@ -107,7 +107,7 @@
 						<view class="price-view-le">运费:</view>
 						<view class="price-view-ri">{{ orderInfo.postageInfo }}</view>
 					</view>
-					<view class="pros-price-view">
+					<view class="pros-price-view"v-if="orderInfo.eachDiscount > 0">>
 						<view class="price-view-le">优惠:</view>
 						<view class="price-view-ri">¥{{ orderInfo.eachDiscount | NumFormat }}</view>
 					</view>
@@ -119,7 +119,7 @@
 						<view class="price-view-le">已付金额:</view>
 						<view class="price-view-ri">
 							¥{{ orderInfo.receiptAmount | NumFormat }}
-							<text v-if="orderInfo.balancePayFee > 0">(余额抵扣:¥{{ orderInfo.balancePayFee | NumFormat }})</text>
+							<text v-if="orderInfo.accountAmount > 0">(余额抵扣:¥{{ orderInfo.accountAmount | NumFormat }})</text>
 						</view>
 					</view>
 					<view class="pros-price-view">

+ 1 - 0
pages/seller/order/components/details/cm-payment-temp.vue

@@ -68,6 +68,7 @@
 					14: '支付宝',
 					15: '微信支付',
 					16: '余额抵扣',
+					31: '线下支付凭证'
 				}
 				if(record.payType === 28 || record.payType === 29 ){
 					return record.quickPayStr

+ 47 - 43
pages/seller/order/create-order.vue

@@ -1,19 +1,19 @@
 <template>
 	<view class="container order clearfix" :style="{ paddingBottom: isIphoneX ? '190rpx' : '134rpx' }">
 		<!-- 地址选择 -->
-		<cm-address-temp ref="choiceAddress" v-if="isAddress" :addressData="addressData" />
+		<cm-address-temp ref="choiceAddress" v-if="isRequest" :addressData="addressData" />
 		<!-- 商品 -->
 		<cm-goods-temp
 			ref="goods"
 			v-if="isRequest"
 			:secondflag="secondflag"
-			:goodsData.sync="goodsData" 
+			:goodsData.sync="goodsData"
 			@handleGoodList="handChangeInputGoodsList"
 			@changeChina="handleChangeChina"
 			@changePostage="handleChangePostage"
 		/>
 		<!-- 返佣订单 -->
-<!-- 		<view class="order-return" v-if="goodsData.length == 1 && secondflag">
+		<!-- 		<view class="order-return" v-if="goodsData.length == 1 && secondflag">
 			<view class="order-return-main" @click="handleRebateFlag">
 				<view class="label">是否返佣</view>
 				<view class="label-right">
@@ -25,7 +25,7 @@
 			</view>
 		</view> -->
 		<!-- 返佣订单 -->
-<!-- 		<view class="Rebate" @click="handleSecondFlag" v-if="!secondflag">
+		<!-- 		<view class="Rebate" @click="handleSecondFlag" v-if="!secondflag">
 			<text class="rebate-title">二手返佣订单</text>
 			<text class="iconfont" :class="rebatecheck ? 'icon-yixuanze' : 'icon-weixuanze'"></text>
 		</view> -->
@@ -46,9 +46,9 @@
 		<!-- 兑换优惠券弹窗 -->
 		<cm-coupon-chang v-if="isExchangePopup" />
 		<!-- 余额抵扣 -->
-		<view class="invoice-balance" v-if="!rechargeGoods">
+		<view class="invoice-balance" v-if="isRequest && !rechargeGoods">
 			<view class="balabce-t">
-				<view class="balabce-t-le">余额抵扣</view>
+				<view class="balabce-t-le">余额抵扣:</view>
 				<view class="balabce-t-ri">
 					<view class="money">
 						<text>可用余额:</text> <text>¥{{ userMoney | NumFormat }}</text>
@@ -180,7 +180,8 @@ export default {
 				orderInfo: [], // 订单商品数据
 				orderInvoice: { type: 0 }, // 订单发票信息
 				orderSeen: 1, // 订单对机构可见度 1可见  2不可见
-				payInfo: {// 订单金额数据
+				payInfo: {
+					// 订单金额数据
 					orderShouldPayFee: 0, // 订单最终支付金额
 					balancePayFlag: 0, // 勾选余额的状态(1使用,0不使用)
 					clauseId: 0, // 条款Id
@@ -198,7 +199,6 @@ export default {
 			submitState: '', // 提交状态
 			isRequest: false, // 是否加载完成渲染子组件
 			isFreight: false, // 是否加载完成渲染子组件
-			isAddress: false, // 是否加载完成地址
 			isExchangePopup: false, // 控制兑换优惠券弹窗
 			isfreightTip: false, // 控制邮费弹窗
 			ischecked: false, // 是否勾选余额
@@ -233,31 +233,31 @@ export default {
 			const data = JSON.parse(option.data)
 			const clubInfo = await this.$api.getComStorage('orderUserInfo')
 			const userInfo = await this.$api.getStorage()
-			this.handleComType = option.type*1
+			this.handleComType = option.type * 1
 			this.productParam.clubId = this.cartParam.clubId = this.confirmParam.clubId = clubInfo.clubId
-			this.productParam.serviceProviderId = userInfo.serviceProviderId 
-			this.cartParam.serviceProviderId = userInfo.serviceProviderId 
-			this.confirmParam.serviceProviderId = userInfo.serviceProviderId 
+			this.productParam.serviceProviderId = userInfo.serviceProviderId
+			this.cartParam.serviceProviderId = userInfo.serviceProviderId
+			this.confirmParam.serviceProviderId = userInfo.serviceProviderId
 			if (option.type == '1') {
 				this.confirmType = 1
 				this.productParam.productCount = data.data.productCount
 				this.productParam.productId = data.data.productIds
-				this.getAddressData(clubInfo.userId,1)
+				this.getAddressData(clubInfo.userId, 1)
 			} else {
 				this.confirmType = 2
 				this.cartParam.skuIds = data.data.skuIds
-				this.getAddressData(clubInfo.userId,2)
+				this.getAddressData(clubInfo.userId, 2)
 			}
 		},
 		//协销购物车跳转确认订单初始化信息
 		async getInitCrearOrder() {
-			try{
+			try {
 				const res = await this.SellerService.SellerSettlement(this.cartParam)
 				const data = res.data
-				this.goodsData = data.list.map((el)=>{
+				this.goodsData = data.list.map(el => {
 					el.handlePostageFlag = el.postageFlag
 					return el
-				});
+				})
 				this.userMoney = data.userMoney
 				this.couponList = data.couponList
 				this.reducedPrice = data.reducedPrice
@@ -272,20 +272,20 @@ export default {
 				}
 				this.orderShouldPayFee = this.allPrice - this.couponAmount
 				this.isRequest = true
-			}catch(error){
+			} catch (error) {
 				console.log('获取订单信息异常')
 			}
 		},
 		//二手下单初始化查询
 		async getInitProdcutCrearOrder() {
-			try{
+			try {
 				this.seconDepositFlg = false
 				const res = await this.SellerService.GetSettlementBySencondProduct(this.productParam)
 				const data = res.data
-				this.goodsData = data.list.map((el)=>{
+				this.goodsData = data.list.map(el => {
 					el.handlePostageFlag = el.postageFlag
 					return el
-				});
+				})
 				this.userMoney = data.userMoney
 				this.totalCount = data.totalCount
 				this.allPrice = data.totalPrice
@@ -293,14 +293,14 @@ export default {
 				this.isCouponShow = false
 				this.secondflag = false
 				this.isRequest = true
-			}catch(error){
+			} catch (error) {
 				console.log('获取订单信息异常')
 			}
 		},
 		//获取地址信息
-		async getAddressData(userId,type) {
-			try{
-				const params = {pageNum: 1,pageSize: 1,userId: userId }
+		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) {
@@ -308,14 +308,16 @@ export default {
 					this.confirmParam.addressId = this.addressData.addressId
 					this.cartParam.townId = this.addressData.townId
 					this.productParam.townId = this.addressData.townId
-					if(type === 1) {//立即都买提交
-						this.getInitProdcutCrearOrder()
-					}
-					if(type === 2) {//购物车提交
-						this.getInitCrearOrder()
-					}
 				}
-			}catch(error){
+				if (type === 1) {
+					//立即都买提交
+					this.getInitProdcutCrearOrder()
+				}
+				if (type === 2) {
+					//购物车提交
+					this.getInitCrearOrder()
+				}
+			} catch (error) {
 				console.log('获取订单地址异常')
 			}
 		},
@@ -349,7 +351,6 @@ export default {
 			if (this.confirmParam.addressId == '') {
 				this.$util.msg('请先添加收货地址~', 2000)
 				return
-				
 			}
 			this.SellerCreateOrderSubmit()
 			// if (this.confirmParam.payInfo.rebateFlag === 2) {
@@ -396,7 +397,7 @@ export default {
 		},
 		// 提交订单
 		async hanldeOrderSubmit(params) {
-			try{
+			try {
 				const res = await this.SellerService.SellerCreateOrderSubmit(params)
 				const data = res.data
 				if (data.code === 1) {
@@ -412,7 +413,7 @@ export default {
 						this.$api.redirectTo('/pages/seller/order/order-list?listType=0')
 					}, 2000)
 				}
-			}catch(error){
+			} catch (error) {
 				this.isSubLoading = false
 				this.handleError(error)
 			}
@@ -552,16 +553,19 @@ export default {
 		let pages = getCurrentPages()
 		let currPage = pages[pages.length - 1]
 		if (currPage.data.select == 'select') {
-			this.isAddress = true
-			let SelectData = uni.getStorageSync('selectAddress')
-			this.confirmParam.addressId = SelectData.addressId
-			this.cartParam.townId = selectData.townId
-			this.productParam.townId = selectData.townId
-			this.addressData = SelectData
-			if(this.handleComType === 1) {//立即都买提交
+			let address = uni.getStorageSync('selectAddress')
+			this.confirmParam.addressId = address.addressId
+			this.cartParam.townId = address.townId
+			this.productParam.townId = address.townId
+			this.addressData = address
+			this.ischecked = false
+			this.isRequest = false
+			if (this.handleComType === 1) {
+				//立即都买提交
 				this.getInitProdcutCrearOrder()
 			}
-			if(this.handleComType === 2) {//购物车提交
+			if (this.handleComType === 2) {
+				//购物车提交
 				this.getInitCrearOrder()
 			}
 		}

+ 2 - 2
pages/seller/order/mixins/conMixins.js

@@ -5,14 +5,14 @@ const conMixins = {
             handleComType:0,//跳转类型
             cartParam: {
                 // 购物车立即结算确认订单参数
-                townId:null,          //地址ID
+                townId:'',          //地址ID
                 skuIds:'',
                 serviceProviderId: 0, // 协销Id
                 clubId: 0 // 机构Id
             },
             productParam: {
                 // 商品立即购买确认订单参数
-                townId:null,          //地址ID
+                townId:'',          //地址ID
                 productCount: 0, // 商品数量
                 productId: 0, // 商品Id
                 serviceProviderId: 0, // 协销Id

+ 1 - 1
pages/seller/order/order-details.vue

@@ -392,7 +392,7 @@ export default {
 			}
 		},
 		// 再来一单
-		async handOrderAgainn(shopOrderId) {
+		async handOrderAgain(shopOrderId) {
 			try{
 				const res = await this.SellerService.SellerCreateOrderAgain({
 					confirmFlag: 0,

+ 2 - 2
pages/tabBar/user/user.vue

@@ -287,7 +287,7 @@
                                 <text class="iconfont icon-xiayibu"></text>
                             </text>
                         </view>
-                        <view
+<!--                        <view
                             class="list-cell"
                             @click="navigator('/pages/user/regularPurchase/regularPurchase')"
                             hover-class="cell-hover"
@@ -302,7 +302,7 @@
                             </view>
                             <text class="cell-tit">再次购买</text>
                             <text class="cell-more iconfont icon-xiayibu"></text>
-                        </view>
+                        </view>--> 
                         <view
                             class="list-cell"
                             @click="navigator('/pages/user/collection/collection')"

+ 248 - 232
pages/user/address/address.vue

@@ -1,21 +1,25 @@
 <template>
 	<view class="container clearfix">
 		<view v-if="isEmpty" class="empty-container">
-			<image class="empty-container-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AFmO1AAGxLZjSeDg040.png" mode="aspectFit"></image>
-			<view class="txt">您还没有收货地址</view>
-			<view class="txt">点击底部按钮添加收货地址吧~~</view>
+			<image
+				class="empty-container-image"
+				src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AFmO1AAGxLZjSeDg040.png"
+				mode="aspectFit"
+			></image>
+			<view class="txt">您还没有收货地址</view> <view class="txt">点击底部按钮添加收货地址吧~~</view>
 			<view class="login-btn" @click="addAddress('add')">添加新地址</view>
 		</view>
-		<view v-else class="address-list" :style="{'height': scrollHeight + 'px'}">
-			<scroll-view scroll-y="true" :style="{'height': scrollHeight + 'px'}">
+		<view v-else class="address-list" :style="{ height: scrollHeight + 'px' }">
+			<scroll-view scroll-y="true" :style="{ height: scrollHeight + 'px' }">
 				<view class="list" v-for="(item, index) in addressList" :key="index" @click="checkAddress(item)">
 					<view class="wrapper">
 						<view class="u-box">
-							<text class="name">{{item.receiver}}</text>
-							<text class="mobile">{{item.mobile}}</text>
+							<text class="name">{{ item.receiver }}</text> <text class="mobile">{{ item.mobile }}</text>
 						</view>
 						<view class="u-box b-b">
-							<text class="address">收货地址:{{item.province}}{{item.city}}{{item.town}}{{item.address}}</text>
+							<text class="address"
+								>收货地址:{{ item.province }}{{ item.city }}{{ item.town }}{{ item.address }}</text
+							>
 						</view>
 						<view class="u-box b-t">
 							<view v-if="item.defaultFlag == 1" class="tag-left">
@@ -23,274 +27,286 @@
 							</view>
 							<view v-else class="tag-left"></view>
 							<view class="tag-right">
-								<view class="t-b"  @click.stop="deleteAddress(item.addressId)">
-									<text class="iconfont icon-shanchu"></text>
-									<text class="txt">删除</text>
+								<view class="t-b" @click.stop="deleteAddress(item.addressId)">
+									<text class="iconfont icon-shanchu"></text> <text class="txt">删除</text>
 								</view>
-								<view class="t-b"  @click.stop="addAddress('edit',item)">
-									<text class="iconfont icon-bianji"></text>
-									<text class="txt">编辑</text>
+								<view class="t-b" @click.stop="addAddress('edit', item)">
+									<text class="iconfont icon-bianji"></text> <text class="txt">编辑</text>
 								</view>
-								
 							</view>
 						</view>
 					</view>
 				</view>
 			</scroll-view>
-			<view class="add-btn" @click="addAddress('add')" :style="{bottom :isIphoneX ? '68rpx' : '34rpx'}">添加新地址</view>
+			<view class="add-btn" @click="addAddress('add')" :style="{ bottom: isIphoneX ? '68rpx' : '34rpx' }"
+				>添加新地址</view
+			>
 		</view>
 	</view>
 </template>
 
 <script>
-	import authorize from '@/common/config/authorize.js'	
-	export default {
-		data() {
-			return {
-				isIphoneX:this.$store.state.isIphoneX,
-				isSelect:false,
-				isEmpty:false,
-				listQuery:{
-					userId:0,
-					pageNum:1,
-					pageSize:10
-				},
-				addressList: [],
-				hasNextPage:false,
-				allowDataStatus:true,
-				wrapperHeight:'100%',
-				scrollHeight:'',
-				currPage:'',//当前页面
-				prevPage:''//上一个页面
-			}
-		},
-		onLoad(option){	
-			if(option.type=='select'){this.isSelect = true;}
-			this.setScrollHeight();
-		},
-		methods: {
-			setScrollHeight() {	// 窗口高度 - 底部距离
-				setTimeout(()=> {
-					const query = wx.createSelectorQuery().in(this);
-					query.selectAll('.add-btn').boundingClientRect();
-					query.exec(res => {
-						if(res[0][0]){
-							let winHeight = this.$api.getWindowHeight(),
-								eleTop = res[0][0].top - 1;
-								this.scrollHeight =  eleTop;
-						}
-					})
-				}, 500)
+import authorize from '@/common/config/authorize.js'
+export default {
+	data() {
+		return {
+			isIphoneX: this.$store.state.isIphoneX,
+			isSelect: false,
+			isEmpty: false,
+			listQuery: {
+				userId: 0,
+				pageNum: 1,
+				pageSize: 10
 			},
-			getQueryAddressList(){	//初始化地址列表数据
-				this.UserService.QueryAddressList(this.listQuery).then(response =>{
+			addressList: [],
+			hasNextPage: false,
+			allowDataStatus: true,
+			wrapperHeight: '100%',
+			scrollHeight: '',
+			currPage: '', //当前页面
+			prevPage: '' //上一个页面
+		}
+	},
+	onLoad(option) {
+		if (option.type == 'select') {
+			this.isSelect = true
+		}
+		this.setScrollHeight()
+	},
+	methods: {
+		setScrollHeight() {
+			// 窗口高度 - 底部距离
+			setTimeout(() => {
+				const query = wx.createSelectorQuery().in(this)
+				query.selectAll('.add-btn').boundingClientRect()
+				query.exec(res => {
+					if (res[0][0]) {
+						let winHeight = this.$api.getWindowHeight(),
+							eleTop = res[0][0].top - 1
+						this.scrollHeight = eleTop
+					}
+				})
+			}, 500)
+		},
+		getQueryAddressList() {
+			//初始化地址列表数据
+			this.UserService.QueryAddressList(this.listQuery)
+				.then(response => {
 					let data = response.data
-					if(data.list&&data.list.length > 0){
+					if (data.list && data.list.length > 0) {
 						this.isEmpty = false
 						this.hasNextPage = data.hasNextPage
 						this.addressList = data.list
-					}else{
+					} else {
 						this.isEmpty = true
 					}
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000)
 				})
-			},
-			getOnReachBottomData(){// 上滑加载分页
-				this.listQuery.pageNum+=1
-				this.UserService.QueryAddressList(this.listQuery).then(response =>{
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
+				})
+		},
+		getOnReachBottomData() {
+			// 上滑加载分页
+			this.listQuery.pageNum += 1
+			this.UserService.QueryAddressList(this.listQuery)
+				.then(response => {
 					let data = response.data
-					if(data.list&&data.list.length > 0){
+					if (data.list && data.list.length > 0) {
 						this.hasNextPage = data.hasNextPage
-						this.addressList = this.addressList.concat(data.list) 
+						this.addressList = this.addressList.concat(data.list)
 					}
 				})
-				.catch(error =>{
-					this.$util.msg(error.msg,2000)
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
 				})
-			},
-			checkAddress(item){//选择地址
-				//是否需要返回地址(从订单确认页跳过来选收货地址)
-				if(!this.isSelect){return ;}
-				uni.setStorageSync('selectAddress',item)
-				var pages = getCurrentPages();
-				var prevPage = pages[pages.length - 2];  //上一个页面	
-					prevPage.setData({select:'select'})
-				uni.navigateBack();
-			},
-			addAddress(type,item){
-				uni.navigateTo({
-					url: `/pages/user/address/addressManage?type=${type}&data=${JSON.stringify(item)}`
-				})
-			},
-			deleteAddress(addressId){//删除收货地址
-				this.$util.modal('','确定要删除该地址?','确定','取消',true,() =>{
-					this.UserService.DeleteAddress({addressId:addressId,userId:this.listQuery.userId}).then(response =>{
-						this.$util.msg('删除成功',2000,true,'success')
-						setTimeout(() =>{
-							this.listQuery.pageNum = 1;
-							this.addressList = [];
-							this.getQueryAddressList();
-						},2000)
-					}).catch(error =>{
-						this.$util.msg(error.msg,2000);
-					})
-				})
-			}
 		},
-		onReachBottom() {
-			if(this.hasNextPage) {
-				this.getOnReachBottomData();
+		checkAddress(item) {
+			//选择地址
+			//是否需要返回地址(从订单确认页跳过来选收货地址)
+			if (!this.isSelect) {
+				return
 			}
+			uni.setStorageSync('selectAddress', item)
+			var pages = getCurrentPages()
+			var prevPage = pages[pages.length - 2] //上一个页面
+			prevPage.setData({ select: 'select' })
+			uni.navigateBack()
 		},
-		onShow() {
-			this.$api.getStorage().then((resolve) =>{
-				this.listQuery.userId = resolve.userId ? resolve.userId : 0
-				this.listQuery.pageNum = 1;
-				this.addressList = [];
-				this.getQueryAddressList();
-				var pages = getCurrentPages();
-				var prevPage = pages[pages.length - 2];  //上一个页面	
-					// prevPage.setData({select:''})
+		addAddress(type, item) {
+			uni.navigateTo({
+				url: `/pages/user/address/addressManage?type=${type}&data=${JSON.stringify(item)}`
 			})
+		},
+		deleteAddress(addressId) {
+			//删除收货地址
+			this.$util.modal('', '确定要删除该地址?', '确定', '取消', true, () => {
+				this.UserService.DeleteAddress({ addressId: addressId, userId: this.listQuery.userId })
+					.then(response => {
+						this.$util.msg('删除成功', 2000, true, 'success')
+						setTimeout(() => {
+							this.listQuery.pageNum = 1
+							this.addressList = []
+							this.getQueryAddressList()
+						}, 2000)
+					})
+					.catch(error => {
+						this.$util.msg(error.msg, 2000)
+					})
+			})
+		}
+	},
+	onReachBottom() {
+		if (this.hasNextPage) {
+			this.getOnReachBottomData()
 		}
+	},
+	onShow() {
+		this.$api.getStorage().then(resolve => {
+			this.listQuery.userId = resolve.userId ? resolve.userId : 0
+			this.listQuery.pageNum = 1
+			this.addressList = []
+			this.getQueryAddressList()
+			var pages = getCurrentPages()
+			var prevPage = pages[pages.length - 2] //上一个页面
+			// prevPage.setData({select:''})
+		})
 	}
+}
 </script>
 
-<style lang='scss'>
-	page {
-		height: auto;
-	}
-	page,.container{
-		/* padding-bottom: 120upx; */
-		background: #F7F7F7;
-		border-top: 1px solid #EBEBEB;
+<style lang="scss">
+page {
+	height: auto;
+}
+page,
+.container {
+	/* padding-bottom: 120upx; */
+	background: #f7f7f7;
+	border-top: 1px solid #ebebeb;
+}
+.container {
+	position: relative;
+}
+.address-list {
+	width: 100%;
+	box-sizing: border-box;
+	padding: 24rpx;
+}
+.list {
+	display: flex;
+	align-items: center;
+	width: 100%;
+	height: auto;
+	padding: 24rpx;
+	background: #ffffff;
+	position: relative;
+	box-sizing: border-box;
+	margin-bottom: 24rpx;
+	border-radius: 16rpx;
+}
+.wrapper {
+	display: flex;
+	flex-direction: column;
+	flex: 1;
+}
+.u-box.b-b {
+}
+.u-box.b-b {
+	margin-bottom: 24rpx;
+}
+.u-box.b-t {
+	margin-bottom: 0;
+}
+.u-box {
+	display: flex;
+	align-items: center;
+	font-size: $font-size-28;
+	color: $text-color;
+	line-height: 40rpx;
+	margin-bottom: 12rpx;
+	.name {
+		margin-right: 40rpx;
+		font-weight: bold;
 	}
-	.container{
-		position: relative;
+	.mobile {
+		font-weight: bold;
 	}
-	.address-list{
-		width: 100%;
-		box-sizing: border-box;
-		padding: 24rpx;
-	}
-	.list{
-		display: flex;
-		align-items: center;
-		width: 100%;
-		height: auto;
-		padding: 24rpx;
-		background: #FFFFFF;
-		position: relative;
-		box-sizing: border-box;
-		margin-bottom: 24rpx;
-		border-radius: 16rpx;
-	}
-	.wrapper{
-		display: flex;
-		flex-direction: column;
-		flex: 1;
-	}
-	.u-box.b-b{
-		
-	}
-	.u-box.b-b{
-		margin-bottom:24rpx;
-	}
-	.u-box.b-t{
-		margin-bottom:0;
+	.tag-left {
+		flex: 6;
+		.tag {
+			width: 120rpx;
+			height: 40rpx;
+			background: $color-system;
+			border-radius: 20rpx;
+			font-size: $font-size-24;
+			color: #ffffff;
+			line-height: 40rpx;
+			text-align: center;
+			padding: 0 6rpx;
+		}
 	}
-	.u-box{
+	.tag-right {
+		flex: 4;
 		display: flex;
-		align-items: center;
-		font-size: $font-size-28;
-		color: $text-color;
-		line-height: 40rpx;
-		margin-bottom: 12rpx;
-		.name{
-			margin-right: 40rpx;
-			font-weight: bold;
-		}
-		.mobile{
-			font-weight: bold;
-		}
-		.tag-left{
-			flex: 6;
-			.tag{
-				width: 120rpx;
-				height: 40rpx;
-				background: $color-system;
-				border-radius: 20rpx;
+		text-align: right;
+		.t-b {
+			flex: 1;
+			line-height: 40rpx;
+			.txt {
 				font-size: $font-size-24;
-				color: #FFFFFF;
+				color: $text-color;
 				line-height: 40rpx;
-				text-align: center;
-				padding: 0 6rpx;
 			}
 		}
-		.tag-right{
-			flex: 4;
-			display: flex;
-			text-align: right;
-			.t-b{
-				flex: 1;
-				line-height: 40rpx;
-				.txt{
-					font-size: $font-size-24;
-					color: $text-color;
-					line-height: 40rpx;
-				}
-			}
-			.icon-shanchu{
-				color:#FF2A2A ;
-				margin-right: 8rpx;
-			}
-			.icon-bianji{
-				color: #2A7AFF;
-				margin-right: 8rpx;
-			}
+		.icon-shanchu {
+			color: #ff2a2a;
+			margin-right: 8rpx;
 		}
-		.address{
-			font-size: $font-size-28;
-			color: $text-color;
-			line-height: 40rpx;
-			-o-text-overflow: ellipsis;
-			text-overflow: ellipsis;
-			display: -webkit-box;
-			word-break: break-all;
-			-webkit-box-orient: vertical;
-			-webkit-line-clamp: 2;
-			overflow: hidden;
+		.icon-bianji {
+			color: #2a7aff;
+			margin-right: 8rpx;
 		}
 	}
-	.add-btn{
-		position: fixed;
-		left: 75rpx;
-		right: 75rpx;
-		bottom: 34rpx;
-		z-index: 95;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		width: 600rpx;
-		height: 88rpx;
+	.address {
 		font-size: $font-size-28;
-		line-height: 88rpx;
-		color: #FFFFFF;
-		text-align: center;
-		background: $btn-confirm;
-		border-radius: 44rpx;
-	}
-	.adds-btn{
-		width: 600rpx;
-		height: 88rpx;
-		font-size: 28rpx;
-		line-height: 88rpx;
-		color: #FFFFFF;
-		margin: 0 auto;
-		text-align: center;
-		background: #000000;
-		border-radius: 44rpx;
+		color: $text-color;
+		line-height: 40rpx;
+		-o-text-overflow: ellipsis;
+		text-overflow: ellipsis;
+		display: -webkit-box;
+		word-break: break-all;
+		-webkit-box-orient: vertical;
+		-webkit-line-clamp: 2;
+		overflow: hidden;
 	}
+}
+.add-btn {
+	position: fixed;
+	left: 75rpx;
+	right: 75rpx;
+	bottom: 34rpx;
+	z-index: 95;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	width: 600rpx;
+	height: 88rpx;
+	font-size: $font-size-28;
+	line-height: 88rpx;
+	color: #ffffff;
+	text-align: center;
+	background: $btn-confirm;
+	border-radius: 44rpx;
+}
+.adds-btn {
+	width: 600rpx;
+	height: 88rpx;
+	font-size: 28rpx;
+	line-height: 88rpx;
+	color: #ffffff;
+	margin: 0 auto;
+	text-align: center;
+	background: #000000;
+	border-radius: 44rpx;
+}
 </style>
-

+ 287 - 247
pages/user/address/addressManage.vue

@@ -3,297 +3,337 @@
 		<view class="add-content">
 			<view class="input-row b-b">
 				<view class="label">收货人:</view>
-				<input class="input" type="text" v-model="addressData.receiver" @input="onShouHuoRen" placeholder="请输入收货人姓名" placeholder-class="placeholder" />
+				<input
+					class="input"
+					type="text"
+					v-model="addressData.receiver"
+					@input="onShouHuoRen"
+					placeholder="请输入收货人姓名"
+					placeholder-class="placeholder"
+				/>
 			</view>
 			<view class="input-row b-b">
 				<view class="label">手机号:</view>
-				<input class="input" type="number" maxlength="11" v-model="addressData.mobile"  @input="onMobile" placeholder="请输入手机号码" placeholder-class="placeholder" />
+				<input
+					class="input"
+					type="number"
+					maxlength="11"
+					v-model="addressData.mobile"
+					@input="onMobile"
+					placeholder="请输入手机号码"
+					placeholder-class="placeholder"
+				/>
 			</view>
 			<view class="input-row b-b" @click="showMulLinkageThreePicker">
 				<view class="label address">所在地区:</view>
-				<text class="input" :style="addressData.allAddress=='请选择收货地区'?'color:#b2b2b2':''">
-					{{addressData.allAddress}}
-				</text>		
+				<text class="input" :style="addressData.allAddress == '请选择收货地区' ? 'color:#b2b2b2' : ''">
+					{{ addressData.allAddress }}
+				</text>
 				<text class="iconfont icon-xiayibu"></text>
 			</view>
-			<view class="text-textarea b-b"> 
+			<view class="text-textarea b-b">
 				<view class="textarea show" v-if="isShowInput">
-					{{addressData.address ? addressData.address :'详细地址:如道路、门牌号、小区、楼房号、单元室等'}}
+					{{ addressData.address ? addressData.address : '详细地址:如道路、门牌号、小区、楼房号、单元室等' }}
 				</view>
-				<textarea 	v-else
-							class="textarea" 
-							type="text" 
-							v-model="addressData.address" 
-							placeholder="详细地址:如道路、门牌号、小区、楼房号、单元室等" 
-							placeholder-class="placeholder"
-							maxlength="50"
-							@input="onTextareaInput"
-							:class="isShowInput ? '':''"
+				<textarea
+					v-else
+					class="textarea"
+					type="text"
+					v-model="addressData.address"
+					placeholder="详细地址:如道路、门牌号、小区、楼房号、单元室等"
+					placeholder-class="placeholder"
+					maxlength="50"
+					@input="onTextareaInput"
+					:class="isShowInput ? '' : ''"
 				/>
 			</view>
 			<view class="text-input default-row">
 				<text class="tit">设为默认地址</text>
 				<switch :checked="switchDefault" color="#5FB00A" @change="switchChange" style="transform:scale(0.8)" />
 			</view>
-			<button class="add-btn" :disabled="isConfirm" :class="[isConfirm == true ? 'disabled':'']" @click="confirm">{{buttonText}}</button>
+			<button
+				class="add-btn"
+				:disabled="isConfirm"
+				:class="[isConfirm == true ? 'disabled' : '']"
+				@click="confirm"
+			>
+				{{ buttonText }}
+			</button>
 		</view>
-		<mpvue-city-picker :themeColor="themeColor" 
-							ref="mpvueCityPicker" 
-						    :pickerValueDefault="cityPickerValueDefault"
-							@onCancel="onCancel" 
-							@onConfirm="onConfirm">
+		<mpvue-city-picker
+			:themeColor="themeColor"
+			ref="mpvueCityPicker"
+			:pickerValueDefault="cityPickerValueDefault"
+			@onCancel="onCancel"
+			@onConfirm="onConfirm"
+		>
 		</mpvue-city-picker>
-
 	</view>
 </template>
 
-<script>	
-	import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue'
-	import authorize from '@/common/config/authorize.js'	
-	export default {
-		components:{
-			mpvueCityPicker
-		},
-		data() {
-			return {
-				buttonText:'保存',
-				addType:1,				//记录添加地址的类型
-				isConfirm:true,
-				isShowInput:false,
-				switchDefault:false,
-				addressData:{
-					addressId:'',
-					allAddress:'请选择收货地区',
-					userId: '',			//用户id ,只在新增收货地址时传
-					receiver: '',		//收货人
-					mobile:'',			//收货人手机
-					townId:'',			//区ID
-					address: '',	//地址
-					defaultFlag:0,		//是否默认收货地址(0 不是默认,1 默认)
-				},
-				params:{}				//参数
+<script>
+import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue'
+import authorize from '@/common/config/authorize.js'
+export default {
+	components: {
+		mpvueCityPicker
+	},
+	data() {
+		return {
+			buttonText: '保存',
+			addType: 1, //记录添加地址的类型
+			isConfirm: true,
+			isShowInput: false,
+			switchDefault: false,
+			addressData: {
+				addressId: '',
+				allAddress: '请选择收货地区',
+				userId: '', //用户id ,只在新增收货地址时传
+				receiver: '', //收货人
+				mobile: '', //收货人手机
+				townId: '', //区ID
+				address: '', //地址
+				defaultFlag: 0 //是否默认收货地址(0 不是默认,1 默认)
+			},
+			params: {} ,//参数
+			isSelect:false
+		}
+	},
+	onLoad(option) {
+		let title = '添加新地址'
+		if (option.type === 'edit') {
+			title = '编辑收货地址'
+			this.isConfirm = false
+			this.addType = 2
+			let optionData = JSON.parse(option.data)
+			this.addressData.allAddress = `${optionData.province}-${optionData.city}-${optionData.town}`
+			this.addressData.address = optionData.address ? optionData.address : ''
+			this.addressData.defaultFlag = optionData.defaultFlag
+			this.addressData.userId = optionData.userId
+			this.addressData.mobile = optionData.mobile
+			this.addressData.townId = optionData.townId
+			this.addressData.addressId = optionData.addressId
+			this.addressData.receiver = optionData.receiver
+			if (this.addressData.defaultFlag == 1) {
+				this.switchDefault = true
+			} else {
+				this.switchDefault = false
+			}
+		}
+		if (option.type == 'select') {
+			this.isSelect = true
+		}
+		uni.setNavigationBarTitle({
+			title
+		})
+	},
+	methods: {
+		switchChange(e) {
+			if (e.detail.value == true) {
+				this.addressData.defaultFlag = '1'
+			} else {
+				this.addressData.defaultFlag = '0'
 			}
 		},
-		onLoad(option){
-			let title = '添加新地址'
-			if(option.type==='edit'){
-				title = '编辑收货地址'
-				this.isConfirm = false;
-				this.addType = 2;			
-				let optionData = JSON.parse(option.data)
-				this.addressData.allAddress = `${optionData.province}-${optionData.city}-${optionData.town}`
-				this.addressData.address = optionData.address?optionData.address:''
-				this.addressData.defaultFlag = optionData.defaultFlag;
-				this.addressData.userId = optionData.userId;
-				this.addressData.mobile = optionData.mobile;
-				this.addressData.townId = optionData.townId;
-				this.addressData.addressId = optionData.addressId;
-				this.addressData.receiver = optionData.receiver;
-				if(this.addressData.defaultFlag == 1){
-					this.switchDefault = true
-				}else{
-					this.switchDefault = false
+		// 三级联动选择
+		showMulLinkageThreePicker() {
+			this.isShowInput = true
+			this.$refs.mpvueCityPicker.show()
+		},
+		onConfirm(e) {
+			console.log(e)
+			this.addressData.allAddress = e.name
+			this.addressData.townId = e.townCode
+			this.initInput()
+		},
+		//提交
+		confirm() {
+			let data = this.addressData
+			if (!data.receiver) {
+				this.$util.msg('请填写收货人')
+			}
+			if (data.address == '所在地区') {
+				this.$util.msg('请选择所在地区')
+			}
+			if (!/(^1[0-9][0-9]{9}$)/.test(data.mobile)) {
+				this.$util.msg('请输入正确的手机号码')
+				return
+			}
+			if (this.addType == 1) {
+				this.params = {
+					userId: data.userId, //用户id ,只在新增收货地址时传
+					receiver: data.receiver, //收货人
+					townId: data.townId, //区ID
+					address: data.address, //地址
+					mobile: data.mobile, //手机
+					defaultFlag: data.defaultFlag //是否默认收货地址(0 不是默认,1 默认)
 				}
+				this.postAddressData(this.params)
+			} else {
+				this.params = this.addressData
+				this.postAddressData(this.params)
 			}
-			uni.setNavigationBarTitle({
-				title
-			})
 		},
-		methods: {			
-			switchChange(e){
-				if(e.detail.value== true){
-					this.addressData.defaultFlag = '1';
-				}else{
-					this.addressData.defaultFlag = '0';
-				}
-			},
-			// 三级联动选择
-			showMulLinkageThreePicker() {
-				this.isShowInput = true
-				this.$refs.mpvueCityPicker.show()
-			},
-			onConfirm(e) {
-				console.log(e)
-				this.addressData.allAddress = e.name;
-				this.addressData.townId = e.townCode;	
-				this.initInput();
-			},			
-			//提交
-			confirm(){
-				let data = this.addressData;
-				if(!data.receiver){
-					this.$util.msg('请填写收货人');
-				}
-				if(data.address =='所在地区'){
-					this.$util.msg('请选择所在地区');
-				}
-				if(!/(^1[0-9][0-9]{9}$)/.test(data.mobile)){
-					this.$util.msg('请输入正确的手机号码');
-					return;
-				}
-				if(this.addType ==1){
-					this.params ={
-							userId:data.userId  ,		//用户id ,只在新增收货地址时传
-							receiver:data.receiver ,//收货人
-							townId:data.townId,			//区ID
-							address:data.address,//地址
-							mobile:data.mobile,			//手机
-							defaultFlag:data.defaultFlag//是否默认收货地址(0 不是默认,1 默认)
-						}
-					this.postAddressData(this.params)	
-				}else{
-					this.params =  this.addressData;
-					this.postAddressData(this.params)
-				}
-			},
-			postAddressData(params){
+		async postAddressData(params) {
+			try{
 				this.btnText(true)
-				this.UserService.AddressSave(params).then( response=>{
-					this.$util.msg('保存成功',1500,true,'success')
-					this.btnText(false)
-					setTimeout(()=>{
-						uni.navigateBack();
-					},2000)
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000);
-					this.btnText(false)
-				})
-			},
-			btnText(flg){
-				if(flg){
-					this.isConfirm = true;
-					this.buttonText = '保存中...'
-				}else{
-					this.isConfirm = false;
-					this.buttonText = '保存'
-				}
-			},
-			onShouHuoRen(e){
-			   this.addressData.receiver = e.detail.value
-			   this.initInput();
-			},
-			onMobile(e){
-			   this.addressData.mobile = e.detail.value
-			   this.initInput();
-			},
-			onTextareaInput(e){
-			   this.addressData.address = e.detail.value
-			   this.initInput();
-			},
-			initInput(){
-				if(this.addressData.receiver !== "" && this.addressData.mobile !=="" && this.addressData.address !=="" && this.addressData.townId!==""){
-					this.isConfirm =false;
-				}else{
-					this.isConfirm =true;
+				const res = await this.UserService.AddressSave(params)
+				const data = res.data
+				this.$util.msg('保存成功', 1500, true, 'success')
+				this.btnText(false)
+				if(this.isSelect){
+					uni.setStorageSync('selectAddress', data)
+					let pages = getCurrentPages()
+					let prevPage = pages[pages.length - 2] //上一个页面
+					prevPage.setData({ select: 'select' })
 				}
+				uni.navigateBack()
+			}catch(error){
+				this.$util.msg(error.msg, 2000)
+				this.btnText(false)
 			}
 		},
-		onShow() {
-			this.$api.getStorage().then((resolve) =>{
-				this.addressData.userId = resolve.userId ? resolve.userId : 0
-			})
+		btnText(flg) {
+			if (flg) {
+				this.isConfirm = true
+				this.buttonText = '保存中...'
+			} else {
+				this.isConfirm = false
+				this.buttonText = '保存'
+			}
+		},
+		onShouHuoRen(e) {
+			this.addressData.receiver = e.detail.value
+			this.initInput()
+		},
+		onMobile(e) {
+			this.addressData.mobile = e.detail.value
+			this.initInput()
+		},
+		onTextareaInput(e) {
+			this.addressData.address = e.detail.value
+			this.initInput()
+		},
+		initInput() {
+			if (
+				this.addressData.receiver !== '' &&
+				this.addressData.mobile !== '' &&
+				this.addressData.address !== '' &&
+				this.addressData.townId !== ''
+			) {
+				this.isConfirm = false
+			} else {
+				this.isConfirm = true
+			}
 		}
+	},
+	onShow() {
+		this.$api.getStorage().then(resolve => {
+			this.addressData.userId = resolve.userId ? resolve.userId : 0
+		})
 	}
+}
 </script>
 
 <style lang="scss">
-	page{
-		height: auto;
-		background: $bg-color;
-		// border-top: 1px solid #EBEBEB;
-	}
-	.placeholder{color: #b2b2b2;}
-	.add-content{
+page {
+	height: auto;
+	background: $bg-color;
+	// border-top: 1px solid #EBEBEB;
+}
+.placeholder {
+	color: #b2b2b2;
+}
+.add-content {
+	width: 702rpx;
+	padding: 0 24rpx;
+	.input-row {
+		align-items: center;
+		position: relative;
 		width: 702rpx;
-		padding:0 24rpx;
-		.input-row{
-			align-items: center;
-			position: relative;
-			width: 702rpx;
-			height: 88rpx;
-			margin: 0 auto;
-			border-bottom: 2rpx solid #e1e1e1;
-			.label{
-				width:100rpx ;
-				line-height: 88rpx;
-				color: #666666;
-				font-size: $font-size-28;
-				float: left;
-				&.address{
-					width: 120rpx;
-				}
-			}
-			.input{
-				width: 500rpx;
-				height: 100%;
-				font-size: $font-size-28;
-				line-height: 88rpx;
-				display: inline-block;
-				color: #333333;
-				float: left;
-				padding-left: 20rpx;
-			}
-			&.b-b{
-				margin: 20rpx 0;
-			}
-		}
-	}
-	.icon-xiayibu{
-		font-size: 36rpx;
-		color: #b2b2b2;
-		position: absolute;
-		right: 0;
-		top: 10rpx;
-	}
-	.text-textarea{
-		width: 654rpx;
-		height: 147rpx;
-		padding: 24rpx;
-		// background: #F7F7F7;
+		height: 88rpx;
+		margin: 0 auto;
 		border-bottom: 2rpx solid #e1e1e1;
-		.textarea{
-			width: 100%;
-			height: 100%;
+		.label {
+			width: 100rpx;
+			line-height: 88rpx;
+			color: #666666;
 			font-size: $font-size-28;
-			color: $text-color;
-			z-index: 1;
-		}
-		.textarea.hide{
-			opacity: 0;
-		}
-		.textarea.show{
-			color: #999999;
+			float: left;
+			&.address {
+				width: 120rpx;
+			}
 		}
-	}
-	.default-row{
-		background: #FFFFFF;
-		margin-top: 16upx;
-		.tit{
+		.input {
+			width: 500rpx;
+			height: 100%;
 			font-size: $font-size-28;
-			line-height: 40rpx;
+			line-height: 88rpx;
+			display: inline-block;
 			color: #333333;
-			flex: 1;
+			float: left;
+			padding-left: 20rpx;
 		}
-		switch{
-			transform: translateX(16upx) scale(.9);
+		&.b-b {
+			margin: 20rpx 0;
 		}
 	}
-	.add-btn{
-		width: 702rpx;
-		height:90rpx;
-		font-size: $font-size-30;
-		line-height: 90rpx;
-		color: #FFFFFF;
-		margin: 0 auto;
-		text-align: center;
-		background: $btn-confirm;
-		border-radius: 45rpx;
-		border-radius: 44rpx;
-		margin-top: 80rpx;
+}
+.icon-xiayibu {
+	font-size: 36rpx;
+	color: #b2b2b2;
+	position: absolute;
+	right: 0;
+	top: 10rpx;
+}
+.text-textarea {
+	width: 654rpx;
+	height: 147rpx;
+	padding: 24rpx;
+	// background: #F7F7F7;
+	border-bottom: 2rpx solid #e1e1e1;
+	.textarea {
+		width: 100%;
+		height: 100%;
+		font-size: $font-size-28;
+		color: $text-color;
+		z-index: 1;
+	}
+	.textarea.hide {
+		opacity: 0;
 	}
-	.add-btn.disabled{
-		background: #F8F8F8;
-		border-radius: 44rpx;
+	.textarea.show {
+		color: #999999;
 	}
+}
+.default-row {
+	background: #ffffff;
+	margin-top: 16upx;
+	.tit {
+		font-size: $font-size-28;
+		line-height: 40rpx;
+		color: #333333;
+		flex: 1;
+	}
+	switch {
+		transform: translateX(16upx) scale(0.9);
+	}
+}
+.add-btn {
+	width: 702rpx;
+	height: 90rpx;
+	font-size: $font-size-30;
+	line-height: 90rpx;
+	color: #ffffff;
+	margin: 0 auto;
+	text-align: center;
+	background: $btn-confirm;
+	border-radius: 45rpx;
+	border-radius: 44rpx;
+	margin-top: 80rpx;
+}
+.add-btn.disabled {
+	background: #f8f8f8;
+	border-radius: 44rpx;
+}
 </style>
-

+ 3 - 3
pages/user/order/components/cm-address-temp.vue

@@ -62,7 +62,7 @@
 			initData(data) {
 				if(Object.keys(data).length == 0){
 					this.isEmpty = true
-					this.addressSrc = '/pages/user/address/addressManage'
+					this.addressSrc = '/pages/user/address/addressManage?type=select'
 				}else{
 					this.isEmpty = false
 					this.$parent.isFreight = false
@@ -93,8 +93,8 @@
 		
 		.address-empty{
 			width: 100%;
-			height: 100rpx;
-			line-height: 100rpx;
+			height: 120rpx;
+			line-height: 120rpx;
 			color: $color-system;
 			text-align: center;
 			font-size: $font-size-26;

+ 1 - 1
pages/user/order/components/cm-coupon-popup.vue

@@ -202,7 +202,7 @@ export default {
 		.text-coupon {
 			display: inline-block;
 			float: right;
-			padding-right: 30rpx;
+			padding-right: 40rpx;
 			line-height: 88rpx;
 			font-size: 28rpx;
 			color: #f94b4b;

+ 29 - 18
pages/user/order/components/cm-freight-popup.vue

@@ -4,15 +4,16 @@
 		<view class="goods-pros-m">
 			<template v-if="supplier.postageFlag === 0">
 				<view class="freight-main">
-					<view class="freight-left">运费</view>
+					<view class="freight-left">运费:</view>
 					<view class="freight-right"> <view class="freight-text">包邮</view> </view>
 				</view>
 			</template>
 			<template v-if="supplier.postageFlag === 1 && supplier.designatedFlag === 1">
 				<view class="freight-main">
-					<view class="freight-left">运费</view>
-					<view class="freight-right">
+					<view class="freight-left">运费:</view>
+					<view class="freight-right" @click.stop="handlePupShow">
 						<view class="freight-text">¥{{ handleTotalPostage | NumFormat }}</view>
+						<view class="select"><text class="iconfont icon-xiayibu"></text></view>
 					</view>
 				</view>
 			</template>
@@ -23,26 +24,29 @@
 				"
 			>
 				<view class="freight-main">
-					<view class="freight-left">运费</view>
+					<view class="freight-left">运费:</view>
 					<view class="freight-right" @click.stop="handlePupShow">
-						<view class="freight-text" v-if="handlePostageFlag === 1"
-							>¥{{ handleTotalPostage | NumFormat }}</view
-						>
-						<view class="freight-text" v-if="handlePostageFlag === 2">到付</view>
+						<template v-if="handlePostageFlag === 1">
+							<view class="freight-text">¥{{ handleTotalPostage | NumFormat }}</view>
+						</template>
+						<template v-if="handlePostageFlag === 2">
+							<view v-if="handleSupplier.isColdChina" class="freight-text" >¥{{ handleTotalPostage | NumFormat }}</view>
+							<view v-else class="freight-text">到付</view>
+						</template>
 						<view class="select"><text class="iconfont icon-xiayibu"></text></view>
 					</view>
 				</view>
 			</template>
 			<template v-if="supplier.postageFlag === 2">
 				<view class="freight-main">
-					<view class="freight-left">运费</view>
-					<view class="freight-right"> <view class="freight-text">到付</view> </view>
+					<view class="freight-left">运费:</view>
+					<view class="freight-right"> <view class="freight-text">到付</view></view>
 				</view>
 			</template>
 			<tui-bottom-popup :radius="true" :show="popupShow" @close="hidePopup">
 				<view class="freight-title">运费设置</view>
 				<view class="freight-content">
-					<radio-group @change="radioChange">
+					<radio-group @change="radioChange" v-if="handleDesignatedFlag!=1">
 						<label v-for="(item, index) in radioItems" :key="index">
 							<radio
 								style="transform:scale(0.7)"
@@ -70,7 +74,7 @@
 									</text>
 								</view>
 							</view>
-							<view class="freight-form-item">
+							<view class="freight-form-item" v-if="handleDesignatedFlag!=1">
 								<view class="label">其他运费 </view>
 								<view class="texts red">¥{{ handleSupplier.postage | NumFormat }} </view>
 							</view>
@@ -128,7 +132,9 @@ export default {
 		return {
 			popupShow: false,
 			isColdChina: false,
+			handlePostage:0,
 			handlePostageFlag: 1,
+			handleDesignatedFlag:0,
 			radioItems: [
 				{
 					name: '不包邮',
@@ -176,7 +182,9 @@ export default {
 		infoSupplier(data) {
 			this.handleSupplier = data
 			this.isColdChina = data.isColdChina
+			this.handlePostage = data.postage
 			this.handlePostageFlag = data.handlePostageFlag
+			this.handleDesignatedFlag = data.designatedFlag
 		},
 		// 勾选冷链费
 		handleChangeColdChina() {
@@ -198,7 +206,9 @@ export default {
 		radioChange($event) {
 			// const postage = this.isColdChina ? ( this.handleSupplier.postage + this.handleSupplier.coldChain ) : this.handleSupplier.postage
 			this.handlePostageFlag = this.handleSupplier.handlePostageFlag = $event.detail.value * 1
+			console.log('handlePostageFlag',this.handlePostageFlag)
 			if (this.handlePostageFlag === 1) {
+				this.handleSupplier.postage = this.handlePostage
 				this.handleSupplier.totalPrice = Number(
 					(this.handleSupplier.totalPrice * 100 + this.handleSupplier.postage * 100) / 100
 				)
@@ -207,6 +217,8 @@ export default {
 				this.handleSupplier.totalPrice = Number(
 					this.repiceNumSub(this.handleSupplier.totalPrice, this.handleSupplier.postage)
 				)
+				this.handleSupplier.postage = 0
+				console.log('2222222222',this.handleSupplier.totalPrice)
 				this.$emit('changePostage', this.handleSupplier, this.index)
 			}
 		},
@@ -265,10 +277,9 @@ export default {
 			}
 			.select {
 				float: right;
-				height: 60rpx;
+				height: 78rpx;
 				padding: 0 20rpx;
-				margin-top: 14rpx;
-				line-height: 60rpx;
+				line-height: 78rpx;
 				color: #333333;
 				font-weight: normal;
 				position: relative;
@@ -279,13 +290,13 @@ export default {
 				}
 				.iconfont {
 					width: 60rpx;
-					height: 60rpx;
-					line-height: 60rpx;
+					height: 78rpx;
+					line-height: 78rpx;
 					text-align: right;
 					position: absolute;
 					right: 0;
 					top: 0;
-					font-size: $font-size-28;
+					font-size: $font-size-30;
 					color: #b2b2b2;
 				}
 			}

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

@@ -335,7 +335,7 @@ export default {
 			display: inline-block;
 			float: right;
 			box-sizing: border-box;
-			padding-right: 30rpx;
+			padding-right: 40rpx;
 		}
 		.iconfont {
 			width: 50rpx;

+ 220 - 207
pages/user/order/components/cm-list-button.vue

@@ -2,243 +2,256 @@
 	<view class="button-template">
 		<!-- 底部按钮 -->
 		<view class="button-content">
-			<view class="btn btn-payment" v-if="order.affirmPaymentFlag == 10" @click.stop="btnConfirm('payment',order)">确认打款<text>供应商</text></view>
-			<view class="btn btn-pay" v-if="btnState.isPay" @click.stop="btnConfirm('pay',order)">付款</view>
-			<view class="btn btn-cancel" v-if="order.checkFlag === 2" @click.stop="btnConfirm('upload',order)">上传凭证</view>
-			<view class="btn btn-confirm" v-if="btnState.isConfirmation" @click.stop="btnConfirm('confirmation',order)">确认订单</view>
-			<view class="btn btn-share"  @click.stop="onShareCode(order)">分享订单</view>
-			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel',order)">取消订单</view>
+			<view
+				class="btn btn-payment"
+				v-if="order.affirmPaymentFlag == 10"
+				@click.stop="btnConfirm('payment', order)"
+				>确认打款<text>供应商</text></view
+			>
+			<view class="btn btn-confirm" v-if="btnState.isConfirmation" @click.stop="btnConfirm('confirmation', order)"
+				>确认订单</view
+			>
+			<view class="btn btn-pay" v-if="btnState.isPay" @click.stop="btnConfirm('pay', order)">付款</view>
+			<view class="btn btn-cancel" v-if="order.checkFlag === 2" @click.stop="btnConfirm('upload', order)"
+				>上传凭证</view
+			>
+			<view class="btn btn-share" @click.stop="onShareCode(order)">分享订单</view>
+			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel', order)"
+				>取消订单</view
+			>
 			<!-- <view class="btn btn-delete" v-if="btnState.isDelete" @click.stop="btnConfirm('delete',order)">删除订单</view> -->
-			<view class="btn btn-query" v-if="btnState.isQuery && order.secondHandOrderFlag!=1" @click.stop="btnConfirm('query',order)">查看物流</view>
-			<view class="btn btn-firm" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm',order)">
-				确认收货
-				<view class="tips">采美豆<text class="line"></text></view>
+			<view
+				class="btn btn-query"
+				v-if="btnState.isQuery && order.secondHandOrderFlag != 1"
+				@click.stop="btnConfirm('query', order)"
+				>查看物流</view
+			>
+			<view class="btn btn-firm" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm', order)">
+				确认收货 <view class="tips">采美豆<text class="line"></text></view>
 			</view>
 		</view>
 	</view>
 </template>
 
 <script>
-	export default{
-		name:"button",
-		props:{
-			status: {
-				type:Number
-			},
-			order: {
-				type:Object
+export default {
+	name: 'button',
+	props: {
+		status: {
+			type: Number
+		},
+		order: {
+			type: Object
+		}
+	},
+	data() {
+		return {
+			isShare: true,
+			shareCode: '',
+			btnState: this.initStatus(),
+			mapStateArr: [
+				{ label: 'isQuery', val: [2, 3, 5, 6, 12, 13, 22, 23, 32, 33], status: true },
+				{ label: 'isDelete', val: [4], status: true },
+				{ label: 'isCancel', val: [0, 11], status: true },
+				{ label: 'isConfirm', val: [33], status: true },
+				{ label: 'isConfirmation', val: [0], status: true },
+				{ label: 'isPay', val: [11, 12, 13, 21, 22, 23], status: true }
+			]
+		}
+	},
+	created() {
+		this.initData(this.status)
+	},
+	computed: {},
+	watch: {
+		status: {
+			handler: function(val) {
+				this.initData(val)
 			},
+			deep: true //对象内部的属性监听,也叫深度监听
+		}
+	},
+	methods: {
+		initData(resVal) {
+			/**
+			 * @分享按钮统一显示
+			 * @按钮根据状态显示
+			 * @(4、5、7、12、22、23、32)显示[查看物流]按钮,其他隐藏
+			 * @(6)显示[删除订单],其他隐藏
+			 * @(0、111)显示[取消订单],其他隐藏
+			 * @(21,31)只显示分享
+			 * @(13,33)显示[确认收货]和[查看物流]
+			 */
+			this.btnState = this.initStatus()
+			this.mapStateArr.forEach(el => {
+				el.val.forEach(value => {
+					if (resVal === value) {
+						this.btnState[el.label] = el.status
+					}
+				})
+			})
 		},
-		data() {
-			return{
-				isShare:true,
-				shareCode:'',
-				btnState:this.initStatus(),
-				mapStateArr:[
-					{label:'isQuery',val:[2,3,5,6,12,13,22,23,32,33],status: true},
-					{label:'isDelete',val:[4],status: true},
-					{label:'isCancel',val:[0,11],status: true},
-					{label:'isConfirm',val:[33],status: true},
-					{label:'isConfirmation',val:[0],status: true},
-					{label:'isPay',val:[11,12,13,21,22,23],status: true},
-				]
+		initStatus() {
+			let btnState = {
+				isQuery: false,
+				isDelete: false,
+				isCancel: false,
+				isConfirm: false,
+				isShare: true,
+				isConfirmation: false
 			}
+			return btnState
 		},
-		created(){
-			this.initData(this.status)
+		getShareCode(code) {
+			this.shareCode = code
 		},
-		computed: {
-
+		onShareCode(order) {
+			this.$parent.isShareModal = true
+			this.$parent.handleShopOrderId = order.shopOrderId
 		},
-		watch:{
-			status:{
-				handler:function(val){
-					this.initData(val)
-				},
-				deep:true//对象内部的属性监听,也叫深度监听
-			}
-		},
-		methods:{
-			initData(resVal) {
-				/**
-				 * @分享按钮统一显示
-				 * @按钮根据状态显示
-				 * @(4、5、7、12、22、23、32)显示[查看物流]按钮,其他隐藏
-				 * @(6)显示[删除订单],其他隐藏
-				 * @(0、111)显示[取消订单],其他隐藏
-				 * @(21,31)只显示分享
-				 * @(13,33)显示[确认收货]和[查看物流]
-				 */
-				this.btnState = this.initStatus()
-				this.mapStateArr.forEach(el => {
-					el.val.forEach(value => {
-						if(resVal === value){
-							this.btnState[el.label] = el.status
-						}
-					})
-				})
-			},
-			initStatus(){
-				let btnState= {
-						isQuery: false,
-						isDelete: false,
-						isCancel: false,
-						isConfirm: false,
-						isShare: true,
-						isConfirmation:false,
-					}
-				return 	btnState
-			},
-			getShareCode(code){
-				this.shareCode = code
-			},
-			onShareCode(order){
-				this.$parent.isShareModal = true
-				this.$parent.handleShopOrderId = order.shopOrderId
-			},
-			btnConfirm(type,order){
-				let data = {
-						type:type,
-						shopOrderId:order.shopOrderId,
-						order:order
-					}
-				this.$emit('buttonConfirm',data)
+		btnConfirm(type, order) {
+			let data = {
+				type: type,
+				shopOrderId: order.shopOrderId,
+				order: order
 			}
+			this.$emit('buttonConfirm', data)
 		}
 	}
+}
 </script>
 
 <style lang="scss">
-	.button-template{
-		width: 100%;
+.button-template {
+	width: 100%;
+	height: auto;
+	float: left;
+	background: #ffffff;
+	.button-content {
 		height: auto;
-		float: left;
-		background: #FFFFFF;
-		.button-content{
-			height: auto;
+		float: right;
+		position: relative;
+		.share-code {
+			width: 200rpx;
+			height: 64rpx;
+			line-height: 64rpx;
+			color: #2a45ff;
+			text-align: left;
+			position: absolute;
+			font-size: $font-size-28;
+			font-weight: bold;
+			left: 24rpx;
+			top: 24rpx;
+		}
+		.btn {
+			width: 150rpx;
+			height: 64rpx;
+			margin: 22rpx 0 20rpx 15rpx;
+			line-height: 64rpx;
+			font-size: $font-size-26;
+			color: #999999;
+			text-align: center;
 			float: right;
-			position: relative;
-			.share-code{
-				width: 200rpx;
-				height:  64rpx;
-				line-height: 64rpx;
-				color: #2A45FF;
-				text-align: left;
-				position: absolute;
-				font-size: $font-size-28;
-				font-weight: bold;
-				left: 24rpx;
-				top: 24rpx;
-			}
-			.btn{
-				width: 150rpx;
-				height:  64rpx;
-				margin: 22rpx 0 20rpx 15rpx;
-				line-height: 64rpx;
-				font-size:$font-size-26;
-				color: #999999;
-				text-align: center;
-				float: right;
-				border-radius: 34rpx;
-				border: 2rpx solid #999999;
-				&.btn-payment{
-					line-height: 38rpx;
-					font-size: 24rpx;
-					background: #f9a94b;
-					color: #fff;
-					border: 2rpx solid #f9a94b;
-					text{
-						display: block;
-						line-height: 15rpx;
-					}
+			border-radius: 34rpx;
+			border: 2rpx solid #999999;
+			&.btn-payment {
+				line-height: 38rpx;
+				font-size: 24rpx;
+				background: #f9a94b;
+				color: #fff;
+				border: 2rpx solid #f9a94b;
+				text {
+					display: block;
+					line-height: 15rpx;
 				}
 			}
-			.btn-color{
-				background: $btn-confirm;
-				// margin: 22rpx 0 22rpx 22rpx;
-			}
-			.btn-cancel{
-				// background:#FFFFFF;
-				// color: #999999;
-				// float: left;
-				// margin: 22rpx 0;
+		}
+		.btn-color {
+			background: $btn-confirm;
+			// margin: 22rpx 0 22rpx 22rpx;
+		}
+		.btn-cancel {
+			// background:#FFFFFF;
+			// color: #999999;
+			// float: left;
+			// margin: 22rpx 0;
+			text-align: center;
+		}
+		// .btn-delete{
+		// 	background:linear-gradient(315deg,rgba(255,163,3,1) 0%,rgba(255,53,1,1) 100%);
+		// }
+		// .btn-query{
+		// 	background:linear-gradient(135deg,rgba(255,212,129,1) 0%,rgba(198,129,0,1) 100%);
+		// }
+		.btn-confirm {
+			background: #ff7a51;
+			border-color: #ff7a51;
+			color: #ffffff;
+		}
+		.btn-pay {
+			background: #f94b4b;
+			color: #ffffff;
+			border: 2rpx solid #f94b4b;
+		}
+		.btn-firm {
+			position: relative;
+			.tips {
+				width: 74rpx;
+				height: 32rpx;
+				line-height: 32rpx;
+				padding: 0 7rpx;
+				border-radius: 16rpx;
+				background-color: #ffe6dc;
+				color: $color-system;
 				text-align: center;
-			}
-			// .btn-delete{
-			// 	background:linear-gradient(315deg,rgba(255,163,3,1) 0%,rgba(255,53,1,1) 100%);
-			// }
-			// .btn-query{
-			// 	background:linear-gradient(135deg,rgba(255,212,129,1) 0%,rgba(198,129,0,1) 100%);
-			// }
-			.btn-confirm{
-				background:#ff7a51;
-				border-color:#ff7a51;
-				color: #FFFFFF;
-			}
-			.btn-pay{
-				background:#f94b4b;
-				color: #FFFFFF;
-				border: 2rpx solid #f94b4b;
-			}
-			.btn-firm{
-				position:relative;
-				.tips{
-					width: 74rpx;
-					height: 32rpx;
-					line-height: 32rpx;
-					padding: 0 7rpx;
-					border-radius: 16rpx;
+				font-size: $font-size-20;
+				position: absolute;
+				right: 0;
+				top: -40rpx;
+				z-index: 90;
+				.line {
+					display: block;
+					width: 20rpx;
+					height: 20rpx;
 					background-color: #ffe6dc;
-					color: $color-system;
-					text-align: center;
-					font-size: $font-size-20;
-					position:absolute;
-					right: 0;
-					top: -40rpx;
-					z-index: 90;
-					.line{
-						display: block;
-						width: 20rpx;
-						height: 20rpx;
-						background-color: #ffe6dc;
-						position: relative;
-						bottom: 18rpx;
-						left: 15rpx;
-						z-index: -1;
-						transform:rotate(45deg);
-					}
+					position: relative;
+					bottom: 18rpx;
+					left: 15rpx;
+					z-index: -1;
+					transform: rotate(45deg);
 				}
 			}
-			.btn-share{
-				// background:linear-gradient(315deg,rgba(0,212,150,1) 0%,rgba(126,243,174,1) 100%);
-				position: relative;
-				.tips{
-					width: 160rpx;
-					height: 34rpx;
-					padding: 10rpx 10rpx;
-					background:linear-gradient(45deg,rgba(0,0,0,1) 0%,rgba(87,87,87,1) 100%);
-					box-shadow:0px 2px 4px 0px rgba(0,0,0,0.2);
-					border-radius: 8rpx;
+		}
+		.btn-share {
+			// background:linear-gradient(315deg,rgba(0,212,150,1) 0%,rgba(126,243,174,1) 100%);
+			position: relative;
+			.tips {
+				width: 160rpx;
+				height: 34rpx;
+				padding: 10rpx 10rpx;
+				background: linear-gradient(45deg, rgba(0, 0, 0, 1) 0%, rgba(87, 87, 87, 1) 100%);
+				box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2);
+				border-radius: 8rpx;
+				position: absolute;
+				color: #ffffff;
+				line-height: 34rpx;
+				font-size: $font-size-24;
+				text-align: left;
+				right: 0;
+				top: -65rpx;
+				&:before {
+					content: '';
+					width: 25rpx;
+					height: 25rpx;
+					background: linear-gradient(45deg, rgba(0, 0, 0, 1) 0%, rgba(87, 87, 87, 1) 100%);
 					position: absolute;
-					color: #FFFFFF;
-					line-height: 34rpx;
-					font-size: $font-size-24;
-					text-align: left;
-					right: 0;
-					top: -65rpx;
-					&:before{
-						content: "";
-						width: 25rpx;
-						height: 25rpx;
-						background:linear-gradient(45deg,rgba(0,0,0,1) 0%,rgba(87,87,87,1) 100%);
-						position: absolute;
-						bottom: -8rpx;
-						right: 30rpx;
-						z-index: -1;
-						transform:rotate(45deg);
-					}
+					bottom: -8rpx;
+					right: 30rpx;
+					z-index: -1;
+					transform: rotate(45deg);
 				}
 			}
 		}
 	}
+}
 </style>

+ 6 - 6
pages/user/order/components/details/cm-goods-temp.vue

@@ -76,15 +76,15 @@
 						<view class="product-view" v-if="item.returnedNum > 0 || item.actualCancelNum > 0">
 							<view class="view-num">已退货/已取消:<text class="text">{{ item.returnedNum }}/{{ item.actualCancelNum }}</text></view>
 						</view>
-						<view class="product-view" v-if="item.svipPriceType != 1">
+<!-- 						<view class="product-view" v-if="item.svipPriceType != 1">
 							<view class="view-num">折扣:<text class="text">{{ item.discount == null ? '0' : item.discount }}%</text></view>
-						</view>
+						</view> -->
 						<view class="product-view">
 							<view class="view-num">税率:<text class="text">{{ item.taxRate }}%</text></view>
 						</view>
-						<view class="product-view">
+<!-- 						<view class="product-view">
 							<view class="view-num">折后单价:<text class="text">¥{{ item.discountPrice | NumFormat }}</text></view>
-						</view>
+						</view> -->
 						<view class="product-view allPrice">
 							<view class="view-num">合计:<text class="text">¥{{ item.totalFee | NumFormat }}</text></view>
 						</view>
@@ -101,7 +101,7 @@
 				<view class="goods-pros-b clearfix">
 					<view class="pros-price-view">
 						<view class="price-view-le">商品总额:</view>
-						<view class="price-view-ri">¥{{ orderInfo.totalAmount | NumFormat }}</view>
+						<view class="price-view-ri">¥{{ orderInfo.productAmount | NumFormat }}</view>
 					</view>
 					<view class="pros-price-view">
 						<view class="price-view-le">运费:</view>
@@ -119,7 +119,7 @@
 						<view class="price-view-le">已付金额:</view>
 						<view class="price-view-ri">
 							¥{{ orderInfo.receiptAmount | NumFormat }}
-							<text v-if="orderInfo.balancePayFee > 0">(余额抵扣:¥{{ orderInfo.balancePayFee | NumFormat }})</text>
+							<text v-if="orderInfo.accountAmount > 0">(余额抵扣:¥{{ orderInfo.accountAmount | NumFormat }})</text>
 						</view>
 					</view>
 					<view class="pros-price-view">

+ 1 - 0
pages/user/order/components/details/cm-payment-temp.vue

@@ -68,6 +68,7 @@
 					14: '支付宝',
 					15: '微信支付',
 					16: '余额抵扣',
+					31: '线下支付凭证'
 				}
 				if(record.payType === 28 || record.payType === 29 ){
 					return record.quickPayStr

+ 76 - 62
pages/user/order/create-order.vue

@@ -1,28 +1,38 @@
 <template>
 	<view class="container order clearfix" :style="{ paddingBottom: isIphoneX ? '250rpx' : '214rpx' }">
 		<!-- 地址选择 -->
-		<cm-address-temp ref="choiceAddress" v-if="isRequest" :addressData="addressData" />		
+		<cm-address-temp ref="choiceAddress" v-if="isRequest" :addressData="addressData" />
 		<!-- 商品 -->
-		<cm-goods-temp 
-			ref="goods" 
-			v-if="isRequest" 
-			:goodsData.sync="goodsData" 
-			@handleGoodList="handChangeInputGoodsList" 
+		<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-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-popup
+			ref="coupon"
+			v-if="isCouponShow"
+			:couponList="couponList"
+			@handleChoiceaCoupon="handleChoiceaCouponData"
+		/>
 		<!-- 兑换优惠券弹窗 -->
 		<cm-coupon-chang v-if="isExchangePopup" />
 		<!-- 优惠券 -->
-		<cm-coupon-tips ref="coupon-tips"  :coupon="ExchangeCouponData" v-if="isCouponModel" />
+		<cm-coupon-tips ref="coupon-tips" :coupon="ExchangeCouponData" v-if="isCouponModel" />
 		<!-- 余额抵扣 -->
-		<view class="invoice-balance" v-show="!rechargeGoods">
+		<view class="invoice-balance" v-show="isRequest && !rechargeGoods">
 			<view class="balabce-t">
-				<view class="balabce-t-le">余额抵扣</view>
+				<view class="balabce-t-le">余额抵扣:</view>
 				<view class="balabce-t-ri">
 					<view class="money">
 						<text>可用余额:</text> <text>¥{{ userMoney | NumFormat }}</text>
@@ -52,11 +62,7 @@
 		</view>
 		<!-- 底部 -->
 		<view class="footer-wrapper" :style="{ paddingBottom: isIphoneX ? '68rpx' : '0rpx' }">
-			<cm-return-popup
-				v-if="returnGoodsStutas"
-				:content="helpContent"
-				@change="onAgreementChange"
-			/>
+			<cm-return-popup v-if="returnGoodsStutas" :content="helpContent" @change="onAgreementChange" />
 			<view class="footer">
 				<view class="footer-le">
 					<view class="footer-count">
@@ -137,12 +143,13 @@ export default {
 				clubId: 0, // 机构Id
 				orderInfo: [], // 订单商品数据
 				orderInvoice: { type: 0 }, // 订单发票信息
-				payInfo: {// 订单金额数据
+				payInfo: {
+					// 订单金额数据
 					orderShouldPayFee: 0, // 订单最终支付金额
 					balancePayFlag: 0, // 勾选余额的状态(1使用,0不使用)
 					clauseId: 0, // 条款Id
-					postage: '0.00',		// 运费金额
-					postageFlag: 0,			// 运费类型
+					postage: '0.00', // 运费金额
+					postageFlag: 0, // 运费类型
 					userBeans: 0, // 抵扣采美豆数量
 					rebateFlag: 0 // 是否返佣订单
 				},
@@ -202,7 +209,7 @@ export default {
 	},
 	onLoad(option) {
 		//商品数据
-		
+
 		this.initStorage(option)
 	},
 	filters: {
@@ -218,10 +225,10 @@ export default {
 		async initStorage(option) {
 			const data = JSON.parse(option.data)
 			const userInfo = await this.$api.getStorage()
-			this.handleComType = option.type*1
+			this.handleComType = option.type * 1
 			this.productParam.userId = this.cartParam.userId = userInfo.userId
 			this.supportParm.userId = userInfo.userId
-			this.confirmParam.clubId = userInfo.clubId 
+			this.confirmParam.clubId = userInfo.clubId
 			switch (option.type) {
 				case '1': // 商品详情立即购买
 					this.confirmParam.cartType = 2
@@ -229,25 +236,25 @@ export default {
 					this.productParam.productId = data.data.productIds
 					this.productParam.skuId = data.data.skuId
 					this.productIds = data.data.productIds
-					this.getAddressData(userInfo.userId,1)
+					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)
+					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)
+					this.getAddressData(userInfo.userId, 3)
 			}
 		},
-		async getAddressData(userId,type) {
+		async getAddressData(userId, type) {
 			//获取地址信息
-			try{
-				const params = {pageNum: 1,pageSize: 1,userId: userId }
+			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) {
@@ -256,54 +263,57 @@ export default {
 					this.cartParam.townId = this.addressData.townId
 					this.productParam.townId = this.addressData.townId
 					this.supportParm.townId = this.addressData.townId
-					if(type === 1) {//立即都买提交
-						this.GetProductCreateOrderInfo()
-					}
-					if(type === 2) {//购物车提交
-						this.CartCreateOrderInfo()
-					}
-					if(type === 3) {//组合商品提交
-						this.GetOrderClubProductSupporting()
-					}
 				}
-			}catch(error){
+				if (type === 1) {
+					//立即都买提交
+					this.GetProductCreateOrderInfo()
+				}
+				if (type === 2) {
+					//购物车提交
+					this.CartCreateOrderInfo()
+				}
+				if (type === 3) {
+					//组合商品提交
+					this.GetOrderClubProductSupporting()
+				}
+			} catch (error) {
 				console.log('获取订单地址异常')
 			}
 		},
 		// 商品立即购买确认订单数据初始化
 		async GetProductCreateOrderInfo() {
-			try{
+			try {
 				const res = await this.OrderService.ProductCreateOrderInfo(this.productParam)
 				this.setCreatDataInfo(res.data)
-			}catch(error){
+			} catch (error) {
 				this.$util.msg(error.msg, 2000)
 			}
 		},
 		// 组合商品立即购买确认订单数据初始化
 		async GetOrderClubProductSupporting() {
-			try{
+			try {
 				const res = await this.OrderService.OrderClubProductSupporting(this.supportParm)
 				this.setCreatDataInfo(res.data)
-			}catch(error){
+			} catch (error) {
 				this.$util.msg(error.msg, 2000)
 			}
 		},
 		// 购物车去结算确认订单数据初始化
 		async CartCreateOrderInfo() {
-			try{
+			try {
 				const res = await this.OrderService.CartCreateOrderInfo(this.cartParam)
 				this.setCreatDataInfo(res.data)
-			}catch(error){
+			} catch (error) {
 				this.$util.msg(error.msg, 2000)
 			}
 		},
 		// 公共初始化数据
 		setCreatDataInfo(data) {
 			this.isRequest = true
-			this.goodsData = data.list.map((el)=>{
+			this.goodsData = data.list.map(el => {
 				el.handlePostageFlag = el.postageFlag
 				return el
-			});
+			})
 			this.couponList = data.couponList
 			this.userMoney = data.userMoney
 			this.reducedPrice = data.reducedPrice
@@ -322,7 +332,7 @@ export default {
 		},
 		async getFreightData() {
 			// 获取邮费信息
-			try{
+			try {
 				this.isFreight = false
 				const res = await this.OrderService.GetOrderPostage(this.postageParam)
 				const data = res.data
@@ -350,11 +360,11 @@ export default {
 					this.attributePallPrice()
 					this.hanldFreightBeans(this.isCheckedBeans)
 				}
-			}catch(error){
+			} catch (error) {
 				console.log('获取订单运费异常')
 			}
 		},
-	
+
 		handChangeInputGoodsList(data) {
 			//对应供应商的留言信息
 			this.goodsData = data
@@ -413,7 +423,7 @@ export default {
 		},
 		attributeHashfreight() {
 			// 计算需要邮费的支付价格
-			let totalAmount = this.allPrice  - this.couponAmount //计算不包邮的价格 总价等于商品价格+邮费
+			let totalAmount = this.allPrice - this.couponAmount //计算不包邮的价格 总价等于商品价格+邮费
 			if (this.ischecked) {
 				if (this.userMoney >= totalAmount) {
 					// 全部抵扣
@@ -494,7 +504,7 @@ export default {
 		},
 		// 提交订单
 		async hanldeOrderSubmit(params) {
-			try{
+			try {
 				// 友盟埋点收集机构自主提交订单
 				if (process.env.NODE_ENV != 'development') {
 					this.$uma.trackEvent('Um_Event_ConfirmOrder', {
@@ -521,7 +531,7 @@ export default {
 						this.$api.redirectTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
 					}, 2000)
 				}
-			}catch(error){
+			} catch (error) {
 				this.isSubLoading = false
 				this.handleError(error)
 			}
@@ -671,19 +681,24 @@ export default {
 		let pages = getCurrentPages()
 		let currPage = pages[pages.length - 1]
 		if (currPage.data.select == 'select') {
-			let selectData = uni.getStorageSync('selectAddress')
-			this.confirmParam.addressId = selectData.addressId
-			this.cartParam.townId = selectData.townId
-			this.productParam.townId = selectData.townId
-			this.supportParm.townId = selectData.townId
-			this.addressData = selectData
-			if(this.handleComType === 1) {//立即都买提交
+			let address = uni.getStorageSync('selectAddress')
+			this.confirmParam.addressId = address.addressId
+			this.cartParam.townId = address.townId
+			this.productParam.townId = address.townId
+			this.supportParm.townId = address.townId
+			this.addressData = address
+			this.ischecked = false
+			this.isRequest = false
+			if (this.handleComType === 1) {
+				//立即都买提交
 				this.GetProductCreateOrderInfo()
 			}
-			if(this.handleComType === 2) {//购物车提交
+			if (this.handleComType === 2) {
+				//购物车提交
 				this.CartCreateOrderInfo()
 			}
-			if(this.handleComType === 3) {//组合商品提交
+			if (this.handleComType === 3) {
+				//组合商品提交
 				this.GetOrderClubProductSupporting()
 			}
 		}
@@ -880,5 +895,4 @@ page {
 		}
 	}
 }
-
 </style>

+ 3 - 3
pages/user/order/mixins/conMixins.js

@@ -5,14 +5,14 @@ const conMixins = {
             handleComType:0,//跳转类型
             cartParam: {
                 // 购物车立即结算确认订单参数
-                townId:null,          //地址ID
+                townId:'',          //地址ID
                 skuIds: 0, // 商品Id(逗号隔开)
                 source: 2, // 来源:1WWW 2小程序
                 userId: 0 // 用户Id
             },
             productParam: {
                 // 商品立即购买确认订单参数
-                townId:null,          //地址ID
+                townId:'',          //地址ID
                 productCount: 0, // 商品数量
                 productId: 0, // 商品Id
                 source: 2, // 来源:1WWW 2小程序
@@ -20,7 +20,7 @@ const conMixins = {
             },
             supportParm: {
                 // 组合商品立即购买确认订单参数
-                townId:null,          //地址ID
+                townId:'',          //地址ID
                 productInfo: '',
                 source: 2, // 来源:1WWW 2小程序
                 userId: 0 // 用户Id

+ 4 - 4
pages/user/order/order-details.vue

@@ -427,7 +427,7 @@ export default {
 				this.payModelData = data
 				if (data.balanceFlag == 1) {
 					// 0可以走余额抵扣,1不能走余额抵扣
-					this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${order.order.orderId}`)
+					this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${order.order.shopOrderId}`)
 				} else {
 					switch (data.code) {
 						case 1:
@@ -442,7 +442,7 @@ export default {
 							this.$util.modal('', '订单已申请全部退款,无需再付款!', '确定', '', false, () => {})
 							break
 						default:
-							this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${order.order.orderId}`)
+							this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${order.order.shopOrderId}`)
 					}
 				}
 			}catch(error){
@@ -459,7 +459,7 @@ export default {
 						`/pages/user/order/success?type=deduction&data=${JSON.stringify({ data: data })}`
 					)
 				} else {
-					this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${order.order.orderId}`)
+					this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${order.order.shopOrderId}`)
 				}
 			} catch (error) {
 				this.$util.msg(error.msg, 2000)
@@ -467,7 +467,7 @@ export default {
 		},
 		//不使用余额抵扣直接跳转收银台
 		hanldCancelConfirm(data) {
-			this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
+			this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${data.shopOrderId}`)
 		},
 		// 查看售后条款
 		openclauseConten(id) {

+ 4 - 4
pages/user/order/order-list.vue

@@ -613,7 +613,7 @@ export default {
 				this.payModelData = data
 				if (data.balanceFlag == 1) {
 					// 0可以走余额抵扣,1不能走余额抵扣
-					this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${order.order.orderId}`)
+					this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${order.order.shopOrderId}`)
 				} else {
 					switch (data.code) {
 						case 1:
@@ -628,7 +628,7 @@ export default {
 							this.$util.modal('', '订单已申请全部退款,无需再付款!', '确定', '', false, () => {})
 							break
 						default:
-							this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${order.order.orderId}`)
+							this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${order.order.shopOrderId}`)
 					}
 				}
 			} catch (error) {
@@ -645,7 +645,7 @@ export default {
 						`/pages/user/order/success?type=deduction&data=${JSON.stringify({ data: data })}`
 					)
 				} else {
-					this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${order.order.orderId}`)
+					this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${order.order.shopOrderId}`)
 				}
 			} catch (error) {
 				this.$util.msg(error.msg, 2000)
@@ -653,7 +653,7 @@ export default {
 		},
 		hanldCancelConfirm(data) {
 			//不使用余额抵扣直接跳转收银台
-			this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
+			this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${data.shopOrderId}`)
 		},
 		goShophome(order) {
 			if (order.shopType === 2) {

+ 3 - 8
pages/user/order/order-logistics.vue

@@ -81,26 +81,21 @@
 				</view>
 			</view>
 		</view>
-		<!-- 物流信息 -->
-		<!-- <logistics-record ref="logistics"></logistics-record> -->
 	</view>
 </template>
 
 <script>
 const thorui = require('@/components/clipboard/clipboard.thorui.js')
 export default {
-	components: {
-		// logisticsRecord,
-	},
 	data() {
 		return {
-			orderId: '',
+			shopOrderId: '',
 			goodsList: []
 		}
 	},
 	onLoad(option) {
 		//商品数据
-		this.orderId = option.orderId
+		this.shopOrderId = option.shopOrderId
 		this.getData()
 	},
 	methods: {
@@ -122,7 +117,7 @@ export default {
 			})
 		},
 		getData() {
-			this.OrderService.QueryLogistics({ orderId: this.orderId })
+			this.OrderService.QueryLogistics({ shopOrderId: this.shopOrderId })
 				.then(response => {
 					const resData = response.data
 					// 添加订单列表信息

+ 12 - 3
pages/user/order/order-pay-list.vue

@@ -63,6 +63,7 @@ export default {
 	data() {
 		return {
 			orderId: 0,
+			shopOrderId:0,
 			list: []
 		}
 	},
@@ -83,11 +84,19 @@ export default {
 		initData(e) {
 			console.log(e)
 			this.orderId = e.orderId
-			this.PayOrderShoporders(this.orderId )
+			this.shopOrderId = e.shopOrderId
+			this.PayOrderShoporders(this.orderId,this.shopOrderId)
 		},
-		async PayOrderShoporders(orderId) {
+		async PayOrderShoporders(orderId,shopOrderId) {
 			try{
-				const res = await this.PayService.PayOrderShoporders({ orderId: orderId })
+				let params = {}
+				if(orderId){ 
+					params = { orderId: orderId }
+				}
+				if(shopOrderId){ 
+					params = { shopOrderId: shopOrderId }
+				}
+				const res = await this.PayService.PayOrderShoporders(params)
 				this.list = res.data
 			}catch(error){
 				this.$util.msg(error.msg, 2000)

+ 1 - 1
pages/user/order/order-sharedetails.vue

@@ -122,7 +122,7 @@ export default {
 					if (response.data.code == -1) {
 						this.$util.modal('', '订单已申请全部退款,无需再付款!', '确定', '', false, () => {})
 					} else {
-						this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${this.orderId}`,)
+						this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${this.shopOrderId}`,)
 					}
 				})
 				.catch(error => {

+ 14 - 12
pages/user/order/order-sharelogin.vue

@@ -48,11 +48,9 @@ export default {
 				serviceProviderId: 0 //协销ID
 			},
 			btnState: {
-				isPay:false
+				isPay: false
 			},
-			mapStateArr: [
-				{ label: 'isPay', val: [11, 12, 13, 21, 22, 23, 111], status: true }
-			]
+			mapStateArr: [{ label: 'isPay', val: [11, 12, 13, 21, 22, 23, 111], status: true }]
 		}
 	},
 	onLoad(e) {
@@ -77,7 +75,9 @@ export default {
 					this.getOrderCommodityData()
 				} else if (response.code == 1) {
 					// 同为会所运营人员查看订单详情
-					this.$api.navigateTo(`/pages/user/order/order-details?type=share&shopOrderId=${this.params.shopOrderId}`)
+					this.$api.navigateTo(
+						`/pages/user/order/order-details?type=share&shopOrderId=${this.params.shopOrderId}`
+					)
 				} else if (response.code == 2) {
 					// 协销查看分享订单
 					this.$api.navigateTo(
@@ -102,7 +102,7 @@ export default {
 			//查询订单商品信息s
 			this.OrderService.OrderCommodityData({ shopOrderId: this.params.shopOrderId })
 				.then(response => {
-					const data =  response.data
+					const data = response.data
 					this.productList = data.productList
 					this.mapStateArr.forEach(el => {
 						el.val.forEach(value => {
@@ -126,7 +126,9 @@ export default {
 					break
 				case 2:
 					this.$api.navigateTo(
-						`/pages/user/order/orderShareLogin?shopOrderId=${this.params.shopOrderId}&userId=${this.params.userId}`
+						`/pages/user/order/orderShareLogin?shopOrderId=${this.params.shopOrderId}&userId=${
+							this.params.userId
+						}`
 					)
 					break
 			}
@@ -135,16 +137,16 @@ export default {
 			//监听根据付款状态做操作
 			this.OrderService.OrderPaymentValidation({ orderId: this.params.shopOrderId })
 				.then(response => {
-					if(response.data.code == -1){
+					if (response.data.code == -1) {
 						this.$util.modal('', '订单已申请全部退款,无需再付款!', '确定', '', false, () => {})
-					}else{
-						this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${orderId}`)
+					} else {
+						this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${this.params.shopOrderId}`)
 					}
 				})
 				.catch(error => {
 					this.$util.msg(error.msg, 2000)
 				})
-		},
+		}
 	},
 	onShow() {}
 }
@@ -234,8 +236,8 @@ export default {
 					}
 				}
 			}
-	}
 		}
+	}
 	.login-btn {
 		width: 600rpx;
 		height: 88rpx;

+ 2 - 2
pages/user/order/order-success.vue

@@ -96,10 +96,10 @@
 				}
 			},
 			toAgainPay(){
-				this.$api.reLaunch(`/pages/user/order/order-pay-list?orderId=${this.orderId}`)
+				this.$api.reLaunch(`/pages/user/order/order-pay-list?shopOrderId=${this.shopOrderId}`)
 			},
 			details(){
-				this.$api.reLaunch('/pages/user/order/order-details?type=share&orderId='+this.orderId)
+				this.$api.reLaunch('/pages/user/order/order-details?type=share&shopOrderId='+this.shopOrderId)
 			}
 		},
 		onShow() {

+ 4 - 4
pages/user/order/search-order.vue

@@ -568,7 +568,7 @@ export default {
 				this.payModelData = data
 				if (data.balanceFlag == 1) {
 					// 0可以走余额抵扣,1不能走余额抵扣
-					this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${order.order.orderId}`)
+					this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${order.order.shopOrderId}`)
 				} else {
 					switch (data.code) {
 						case 1:
@@ -583,7 +583,7 @@ export default {
 							this.$util.modal('', '订单已申请全部退款,无需再付款!', '确定', '', false, () => {})
 							break
 						default:
-							this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${order.order.orderId}`)
+							this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${order.order.shopOrderId}`)
 					}
 				}
 			} catch (error) {
@@ -600,7 +600,7 @@ export default {
 						`/pages/user/order/success?type=deduction&data=${JSON.stringify({ data: data })}`
 					)
 				} else {
-					this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${order.order.orderId}`)
+					this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${order.order.shopOrderId}`)
 				}
 			} catch (error) {
 				this.$util.msg(error.msg, 2000)
@@ -608,7 +608,7 @@ export default {
 		},
 		hanldCancelConfirm(data) {
 			//不使用余额抵扣直接跳转收银台
-			this.$api.navigateTo(`/pages/user/order/order-pay-list?orderId=${data.orderId}`)
+			this.$api.navigateTo(`/pages/user/order/order-pay-list?shopOrderId=${data.shopOrderId}`)
 		},
 		detail(shopOrderId) {
 			//订单详情跳转