소스 검색

协销模块

zhengjinyi 5 년 전
부모
커밋
1d270b4abb
43개의 변경된 파일1377개의 추가작업 그리고 661개의 파일을 삭제
  1. 21 6
      api/order.js
  2. 33 1
      api/seller.js
  3. 17 7
      common/config/caimeiApi.js
  4. 3 0
      common/config/common.js
  5. 2 2
      common/config/config.js
  6. 9 4
      common/css/common.scss
  7. 205 0
      components/module/creatOrder/sellerAddress.vue
  8. 3 0
      components/module/headerNavbar/header-back.vue
  9. 4 12
      components/module/listTemplate/buyagainList.vue
  10. 3 8
      components/module/listTemplate/immediatelyList.vue
  11. 1 3
      components/module/modelAlert/shareAlert.vue
  12. 1 0
      components/module/orderDetails/orderInformation.vue
  13. 3 1
      components/module/orderDetails/orderListButton.vue
  14. 181 0
      components/module/orderDetails/sellerDetaileButton.vue
  15. 12 7
      components/module/orderDetails/sellerOrderButton.vue
  16. 23 19
      market/pages/address/address.vue
  17. 2 2
      market/pages/address/addressManage.vue
  18. 32 10
      market/pages/cart/buyagain.vue
  19. 24 104
      market/pages/cart/cart.vue
  20. 13 17
      market/pages/cart/immediately.vue
  21. 239 125
      market/pages/club/addoperator.vue
  22. 21 13
      market/pages/club/club-list.vue
  23. 1 0
      market/pages/club/list.vue
  24. 1 1
      market/pages/home/home.vue
  25. 1 1
      market/pages/login/login.vue
  26. 35 3
      market/pages/login/register.vue
  27. 4 3
      market/pages/order/create-order.vue
  28. 12 14
      market/pages/order/order-details.vue
  29. 48 46
      market/pages/order/order-history.vue
  30. 16 10
      market/pages/order/order-list.vue
  31. 0 187
      market/pages/order/orderShareLogin.vue
  32. 2 1
      market/pages/search/search-order.vue
  33. 5 6
      pages.json
  34. 11 6
      pages/authorization/authorization.vue
  35. 6 3
      pages/goods/product.vue
  36. 362 0
      pages/login/bindOperator.vue
  37. 0 20
      pages/tabBar/cart/cart.vue
  38. 14 10
      pages/tabBar/home/home.vue
  39. 1 1
      pages/user/operator/list.vue
  40. 0 1
      pages/user/order/create-order.vue
  41. 1 1
      pages/user/order/order-details.vue
  42. 1 2
      pages/user/order/order-list.vue
  43. 4 4
      pages/user/order/orderShareLogin.vue

+ 21 - 6
api/order.js

@@ -87,7 +87,7 @@ export function queryOrderDetails(params) {
 }
 /**
  *取消订单
- * @param
+ * @param orderID
  */
 export function cancelOrder(params) {
 	return new Promise(function(resolve,reject) {
@@ -102,7 +102,7 @@ export function cancelOrder(params) {
 }
 /**
  *删除订单
- * @param
+ * @param orderID
  */
 export function deleteOrder(params) {
 	return new Promise(function(resolve,reject) {
@@ -115,9 +115,24 @@ export function deleteOrder(params) {
 		})
 	})
 }
+/**
+ *确认订单
+ * @param orderID
+ */
+export function affirmOrder(params) {
+	return new Promise(function(resolve,reject) {
+		request.post('/order/affirmOrder',params,true,res => {
+			if(res.code == 0){
+				resolve(res)
+			}else{
+				reject(res)
+			}
+		})
+	})
+}
 /**
  *确认收货
- * @param
+ * @param orderID
  */
 export function confirmReceipt(params) {
 	return new Promise(function(resolve,reject) {
@@ -132,7 +147,7 @@ export function confirmReceipt(params) {
 }
 /**
  *查询物流信息
- * @param
+ * @param orderID
  */
 export function queryLogistics(params) {
 	return new Promise(function(resolve,reject) {
@@ -147,7 +162,7 @@ export function queryLogistics(params) {
 }
 /**
  *获取订单分享码
- * @param
+ * @param orderID
  */
 export function queryOrderShareCode(params) {
 	return new Promise(function(resolve,reject) {
@@ -162,7 +177,7 @@ export function queryOrderShareCode(params) {
 }
 /**
  *分享订单登录
- * @param
+ * @param orderID
  */
 export function orderShareCode(params) {
 	return new Promise(function(resolve,reject) {

+ 33 - 1
api/seller.js

@@ -101,6 +101,21 @@ export function sellerClubRegister(params) {
 		})
 	})
 }
+/**
+ *@协销拉机构上线检测手机号和邮箱
+ *@param mobileOrEmail 手机号和邮箱
+ */
+export function sellerClubCheck(params) {
+	return new Promise(function(resolve,reject) {
+		request.post('/seller/club/check',params,true,res => {
+			if(res.code == 0){
+				resolve(res)
+			}else{
+				reject(res)
+			}
+		})
+	})
+}
 /**
  *@协销修改机构资料
  *@param userID 协销ID
@@ -205,7 +220,22 @@ export function getSellerProductNum(params) {
 	})
 }
 /**
- *@协销帮机构下单获取购物车数量
+ *@协销帮机构下单购物车删除商品
+ *@param sellerCartIds 	购物车ID
+ */
+export function deleteSellerCart(params) {
+	return new Promise(function(resolve,reject) {
+		request.post('/seller/deleteSellerCart',params,true,res => {
+			if(res.code == 0){
+				resolve(res)
+			}else{
+				reject(res)
+			}
+		})
+	})
+}
+/**
+ *@协销帮机构下单去结算初始化
  *@param clubId 	机构ID
  *@param serviceProviderId 协销ID
  *@param productIds 	商品ID
@@ -221,6 +251,8 @@ export function sellerSettlement(params) {
 		})
 	})
 }
+
+
 /**
  *@协销帮机构下单商品搜索
  *@param clubUserId 机构的userID

+ 17 - 7
common/config/caimeiApi.js

@@ -100,8 +100,7 @@ const caimeiApi = {
 			}
 		})
 	},
-	getCommonStorage:function(key){
-	// 获取本地Storage
+	getComStorage:function(key){// 获取本地Storage
 		return new Promise(function(resolve,reject) {
 			uni.getStorage({
 				key: key,
@@ -111,8 +110,19 @@ const caimeiApi = {
 			})
 		});
 	},
-	getStorage:function(){
-	// 获取本地Storage
+	setStorage:function(key,data){// 存储本地Storage
+		return new Promise(function(resolve,reject) {
+			uni.setStorage({
+				key: key,
+				data:data,
+				success: function (res){
+					 console.log(res);
+				}
+			})
+		});
+	},
+	getStorage:function(){// 获取本地userInfo
+	
 		return new Promise(function(resolve,reject) {
 			uni.getStorage({
 				key: 'userInfo',
@@ -122,8 +132,7 @@ const caimeiApi = {
 			})
 		});
 	},
-	getStorageAddressKey:function(){
-	// 获取本地Storage
+	getStorageAddressKey:function(){// 获取本地地址信息
 		return new Promise(function(resolve,reject) {
 			uni.getStorage({
 				key: 'address_key',
@@ -272,8 +281,9 @@ module.exports = {
 	switchTabTo: caimeiApi.switchTabTo,
 	formatDate: caimeiApi.formatDate,
 	loginStatus: caimeiApi.loginStatus,
+	setStorage: caimeiApi.setStorage,
 	getStorage: caimeiApi.getStorage,
-	getCommonStorage: caimeiApi.getCommonStorage,
+	getComStorage: caimeiApi.getComStorage,
 	navToListPage: caimeiApi.navToListPage,
 	getWindowHeight: caimeiApi.getWindowHeight,
 	adaptRichTextImg: caimeiApi.adaptRichTextImg,

+ 3 - 0
common/config/common.js

@@ -30,6 +30,9 @@ const utils = {
 	isMobileCode:function(value) {
 	    return RegExp(/^\d{6}$/).test(value);
 	},
+	isCredit:function(value) {//统一社会信用代码
+	    return RegExp(/^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/).test(value);
+	},
 	checkPwd: function(value) {
 		//密码为8~20位数字和字母组合
 		return RegExp(/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/).test(value);

+ 2 - 2
common/config/config.js

@@ -1,9 +1,9 @@
 let URL_CONFIG = ""
 if(process.env.NODE_ENV === 'development'){
     // 开发环境
-	// URL_CONFIG = 'http://192.168.1.22:8008'	 //裴裴联调地址
+	URL_CONFIG = 'http://192.168.1.22:8008'	 //裴裴联调地址
 	// URL_CONFIG = 'http://192.168.1.24:8008'	 //俊俊联调地址
-    URL_CONFIG = 'https://spi-b.caimei365.com'	 //采美测试地址
+    // URL_CONFIG = 'https://spi-b.caimei365.com'	 //采美测试地址
 }else{
     // 生产环境
     URL_CONFIG = 'https://spi.caimei365.com'

+ 9 - 4
common/css/common.scss

@@ -74,20 +74,25 @@ button::after{
 	background: $bg-color;
 	// padding-bottom: 120rpx;
 	border-top: 1px solid #EBEBEB;
+	.club-empty-image{
+		width: 300rpx;
+		height: 180rpx;
+		margin-bottom: 20rpx;
+	}
 	&-image {
-		width: 382rpx;
-		height: 310rpx;
+		width: 332rpx;
+		height: 260rpx;
 		margin-bottom: 10rpx;
 		margin-top: -120rpx;
 	}
 	.error-text{
 		font-size: $font-size-28;
-		color: $text-color;
+		color: #999999;
 		line-height: 88rpx;
 	}
 	.txt{
 		font-size: $font-size-28;
-		color: $text-color;
+		color: #999999;
 		line-height: 44rpx;
 	}
 	.login-btn{

+ 205 - 0
components/module/creatOrder/sellerAddress.vue

@@ -0,0 +1,205 @@
+<template name="address">
+	<view class="address-template">
+		 <!-- 地址 -->
+		 <navigator :url="addressSrc" class="address-section">
+			<view class="address-empty" v-if="isEmpty">
+			 	<text>添加收货地址</text><text class="iconfont icon-tianjiadizhi"></text>
+			</view>
+		 	<view class="address-content" v-else>
+		 		<view class="address-cen">
+		 			<view class="top">
+		 				<view class="name">{{addressData.shouHuoRen !== undefined ? addressData.shouHuoRen : ''}}</view>
+		 				<view class="mobile">{{addressData.mobile !== undefined ? addressData.mobile : ''}}</view>
+		 			</view>
+		 			<view class="address">
+						<view class="address-icon">
+							<text class="iconfont icon-shouhuodizhi"></text>
+						</view>
+						<view class="address-text">
+							收货地址:
+							{{addressData.province !== undefined ? addressData.province : ''}}
+							{{addressData.city !== undefined ? addressData.city : ''}}
+							{{addressData.town !== undefined ? addressData.town : ''}}
+							{{addressData.address !== undefined ? addressData.address : ''}}
+						</view>
+					</view>
+					<view class="nexpage"><text class="iconfont icon-genghuan"></text></view>
+		 		</view>
+		 	</view>
+		 </navigator>
+		 <image  src="../../../static/temp/line@3x.png" mode=""></image>
+	</view>
+</template>
+
+<script>
+	export default{
+		name:"address",
+		props:{
+			addressData:{
+				type:Object
+			}
+		},
+		data() {
+			return{
+				isEmpty:false,
+				addressSrc:'',
+			}
+		},
+		created(){
+			// console.log(this.addressData)
+			this.initData(this.addressData)
+		},
+		computed: {
+
+		},
+		watch:{
+			addressData:{
+				handler:function(val){
+					this.initData(val)
+				}
+			}
+		},
+		methods:{
+			initData(res) {
+				// console.log(res)
+				if(Object.keys(res).length == 0){
+					// console.log('没有地址')
+					this.isEmpty = true
+					this.addressSrc = '/market/pages/address/addressManage'
+				}else{
+					// console.log('有地址或者选择地址')
+					this.isEmpty = false
+					this.addressSrc = '/market/pages/address/address?type=select'
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.address-template{
+		width: 100%;
+		height: auto;
+		background: #FFFFFF;
+		border-top: 1px solid #F8F8F8;
+		image{
+			float: left;
+			width: 100%;
+			height: 16rpx;
+		}
+	}
+	.address-section {
+		width: 100%;
+		height: auto;
+		float: left;
+		position: relative;
+		
+		.address-empty{
+			width: 100%;
+			height: 84rpx;
+			line-height: 84rpx;
+			color: $color-system;
+			text-align: center;
+			font-size: $font-size-26;
+			font-weight: bold;
+			background: #fff;
+			float: left;
+			.icon-tianjiadizhi{
+				font-size: 30rpx;
+				margin: 0 8rpx;
+			}
+		}
+		.address-content {
+			display: flex;
+			align-items: center;
+			padding:20rpx 24rpx;
+			background: #fff;
+		}
+		
+		.icon-shouhuodizhi {
+			flex-shrink: 0;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			width: 40rpx;
+			color: $color-system;
+			font-size: 46rpx;
+			margin-right: 10rpx;
+		}	
+		.address-cen {
+			width: 100%;
+			height: auto;
+			position: relative;
+			.top{
+				padding-left: 50rpx;
+				height: 42rpx;
+				line-height: 42rpx;
+				text-align: left;
+				font-size: $font-size-30;
+				color: $text-color;
+				padding-bottom: 8rpx;
+				display: flex;
+				float: left;
+				.name{
+					font-weight: bold;
+					margin-right: 48rpx;
+				}
+				.mobile{
+					margin-right: 40rpx;
+					font-weight: bold;
+				}
+			}
+			.address {
+				width: 100%;
+				height: auto;
+				float: left;
+				.address-icon{
+					width: 40rpx;
+					height: auto;
+					float: left;
+					line-height: 40rpx;
+				}
+				.address-text{
+					width: 610rpx;
+					padding-left: 10rpx;
+					float: left;
+					line-height: 40rpx;
+					font-size: $font-size-28;
+					color: $text-color;
+					text-align: left;
+					-o-text-overflow: ellipsis;
+					text-overflow: ellipsis;
+					display: -webkit-box;
+					word-break: break-all;
+					-webkit-box-orient: vertical;
+					-webkit-line-clamp: 2;
+					overflow: hidden;
+				}
+			}
+			.nexpage{
+				text-align: right;
+				font-size: $font-size-30;
+				color: $color-system;
+				position: absolute;
+				right: 0;
+				top: 45rpx;
+				.icon-genghuan{
+					font-size: $font-size-30;
+				}
+			}
+		}
+		.icon-xiayibu {
+			font-size: 32rpx;
+			color: $text-color;
+			margin-right: 30rpx;
+		}
+		.a-bg {
+			position: absolute;
+			left: 0;
+			bottom: 0;
+			display: block;
+			width: 100%;
+			height: 5rpx;
+		}
+	}
+</style>

+ 3 - 0
components/module/headerNavbar/header-back.vue

@@ -34,6 +34,9 @@
 			},
 			isDelete:{
 				type:Boolean
+			},
+			isUsertype:{
+				type:Number
 			}
 		},
 		data() {

+ 4 - 12
components/module/listTemplate/buyagainList.vue

@@ -40,9 +40,8 @@
 		<view class="empty-container" v-else>
 			<image class="empty-container-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AWdWzAAGlgAP0das422.png" mode="aspectFit"></image>
 			<text class="error-text">您还没有购买过任何商品哟~</text>
-			<button class="submit-btn toIndexPage" @click="toIndexPage">去逛逛</button>
 		</view>
-		<view class="cart-icon" v-if="!isShowEmpty" @click="toCartPage">
+		<view class="cart-icon" @click="toCartPage">
 			<text v-if="cartQuantity > 0" class="uni-badge uni-badge-error uni-small uni-badge--small icon-num">
 				{{cartQuantity >= 100 ? '99+' : cartQuantity}}
 			</text>
@@ -92,7 +91,8 @@
 		},
 		created() {
 			this.setScrollHeight();		
-			this.$api.getStorage().then((resolve) =>{
+			this.$parent.getClubProductNum()
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
 				this.userID = resolve.userID
 				this.getProductAgainInfo()
 			})
@@ -120,7 +120,6 @@
 				let params = {userId:this.userID,pageNum:this.pageNum,pageSize:this.pageSize}
 				queryAgaingoodslist(params).then(response =>{
 					this.isShowWrapper = true
-					this.cartQuantity = response.data.cartQuantity
 					const responseData = response.data.pageDate;
 					if(responseData.results && responseData.results.length > 0){
 						this.hasNextPage = responseData.hasNextPage;
@@ -174,14 +173,7 @@
 				this.isModallayer = false;
 			},
 			toCartPage() {
-				uni.switchTab({
-					url: '/pages/tabBar/cart/cart'
-				})
-			},
-			toIndexPage() {
-				uni.switchTab({
-					url: '/pages/tabBar/home/home' 
-				})
+				this.$emit('goCartPage')
 			},
 			repurchModel(){
 				this.$util.modal('','此商品成本有变化原来的购买价已不适用','知道了','',false,() =>{})

+ 3 - 8
components/module/listTemplate/immediatelyList.vue

@@ -79,9 +79,6 @@
 			searchStatus:{
 				type:Boolean,
 				default:false
-			},
-			getUserId:{
-				type:Number
 			}
 		},
 		data(){
@@ -111,7 +108,9 @@
 		},
 		created() {
 			this.setScrollHeight();		
-			this.clubUserId = this.getUserId
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+				this.clubUserId = resolve.userID
+			})
 		},
 		computed: {
 			...mapState(['hasLogin','userInfo'])
@@ -127,7 +126,6 @@
 				this.windowHeight = windowHeight - 1;
 				this.scrollHeight = windowHeight - 1;
 			},
-			
 			getProductAgainInfo(loadMore) {
 				this.showLoading = true;
 				this.loadingNow = true;
@@ -223,9 +221,6 @@
 		scroll-view {
 			height: 100%;
 		}
-		.empty-container-image {
-			margin-top: -300rpx;
-		}
 		.show-more-btn {
 			width: 276rpx;
 			height: 52rpx;

+ 1 - 3
components/module/modelAlert/shareAlert.vue

@@ -44,9 +44,7 @@
 					this.$parent.shareCode = this.shareCode;
 				}).catch(response =>{
 					this.$parent.isShareModal = false;
-					this.$util.modal('提示',response.msg,'确定','',false,() =>{
-						 this.$api.switchTabTo('/pages/tabBar/home/home')
-					})
+					this.$util.modal('提示',response.msg,'确定','',false,() =>{})
 				})
 			},
 			hideConfirm(){

+ 1 - 0
components/module/orderDetails/orderInformation.vue

@@ -51,6 +51,7 @@
 				typeText:'',
 				expensesOfTaxation:'',
 				typeTextObject:{
+					0:'待确认',
 					4:'交易完成',
 					5:'订单完成',
 					6:'已关闭',

+ 3 - 1
components/module/orderDetails/orderListButton.vue

@@ -3,6 +3,7 @@
 		<!-- 底部按钮 -->
 		<view class="button-content">
 			<view class="btn btn-share"  @click.stop="onShareCode(orderID)">分享订单</view>	
+			<view class="btn btn-confirm" v-if="btnState.isConfirmation" @click.stop="btnConfirm('confirm',orderID)">确认订单</view>
 			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel',orderID)">取消订单</view>
 			<view class="btn btn-delete" v-if="btnState.isDelete" @click.stop="btnConfirm('delete',orderID)">删除订单</view>
 			<view class="btn btn-query" v-if="btnState.isQuery" @click.stop="btnConfirm('query',orderID)">查看物流</view>
@@ -30,8 +31,9 @@
 				mapStateArr:[
 					{label:'isQuery',val:[4,5,12,13,33,22,23,32,77],status: true},
 					{label:'isDelete',val:[6],status: true},
-					{label:'isCancel',val:[111],status: true},
+					{label:'isCancel',val:[0,111],status: true},
 					{label:'isConfirm',val:[33],status: true},
+					{label:'isConfirmation',val:[0],status: true},
 				]
 			}
 		},

+ 181 - 0
components/module/orderDetails/sellerDetaileButton.vue

@@ -0,0 +1,181 @@
+<template name="button">
+	<view class="button-template" :style="{paddingBottom :isIphoneX ? '68rpx' : '0rpx'}">
+		<!-- 底部按钮 -->
+		<view class="button-content">
+			<view class="btn btn-share" @click.stop="onShareCode">
+				<view class="tips" v-if="shareCode">分享码:{{shareCode}}</view>
+				分享订单
+			</view>	
+			<view class="btn btn-confirm" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm')">确认订单</view>
+			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel')">取消订单</view>
+			<view class="btn btn-delete" v-if="btnState.isDelete" @click.stop="btnConfirm('delete')">删除订单</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		name:"button",
+		props:{
+			status:{
+				type:Number
+			},
+			shareCode:{
+				type:String
+			}
+		},
+		watch:{
+			status:{
+				handler:function(val){
+					// console.log(val)
+					this.initData(val)
+				},
+				deep:true//对象内部的属性监听,也叫深度监听
+			}
+		},
+		data() {
+			return{
+				btnState:this.initStatus(),
+				isIphoneX:this.$store.state.isIphoneX,
+				mapStateArr:[
+					{label:'isDelete',val:[6],status: true},
+					{label:'isCancel',val:[0,111],status: true},
+					{label:'isConfirm',val:[0],status: true},
+				]
+			}
+		},
+		created(){
+			// console.log(this.status)
+			this.initData(this.status)
+		},
+		computed: {
+
+		},
+		methods:{
+			initData(resVal) {
+				console.log(resVal)
+				/**
+				 * @分享按钮统一显示
+				 * @按钮根据状态显示
+				 * @(4、5、7、12、22、23、32)显示[查看物流]按钮,其他隐藏
+				 * @(6)显示[删除订单],其他隐藏
+				 * @(11)显示[取消订单],其他隐藏
+				 * @(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
+							//console.log(this.btnState[el.label]);
+						}
+					})
+				})
+			},
+			initStatus(){
+				let btnState= {
+						isQuery: false,
+						isDelete: false,
+						isCancel: false,
+						isConfirm: false,
+					}
+				return 	btnState
+			},
+			getShareCode(code){
+				this.shareCode = code
+			},
+			onShareCode(){
+				this.$parent.isShareModal = true
+				this.$emit('shareConfirm')
+			},
+			btnConfirm(type){
+				this.$emit('buttonConfirm',type)
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.button-template{
+		width: 100%;
+		height: auto;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		background: #FFFFFF;
+		.button-content{
+			width: 702rpx;
+			padding:0 24rpx;
+			height: auto;
+			float: left;
+			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: 160rpx;
+				height:  64rpx;
+				margin:22rpx;
+				line-height: 64rpx;
+				font-size:$font-size-26;
+				color: #FFFFFF;
+				text-align: center;
+				border-radius: 10rpx;
+				float: right;
+			}
+			.btn-cancel{
+				background:linear-gradient(135deg,rgba(104,104,104,1) 0%,rgba(181,181,181,1) 100%);
+			}
+			.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:linear-gradient(315deg,rgba(231,0,0,1) 0%,rgba(255,104,1,1) 100%);
+			}
+			.btn-share{
+				background:linear-gradient(315deg,rgba(0,212,150,1) 0%,rgba(126,243,174,1) 100%);
+				margin-right: 0;
+				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;
+						bottom: -8rpx;
+						right: 30rpx;
+						z-index: -1;
+						transform:rotate(45deg);
+					}
+				}
+			}
+		}
+	}
+</style>

+ 12 - 7
components/module/orderDetails/sellerOrderButton.vue

@@ -2,9 +2,10 @@
 	<view class="button-template">
 		<!-- 底部按钮 -->
 		<view class="button-content">
-			<view class="btn btn-share"  @click.stop="onShareCode(orderID)">分享订单</view>	
+			<view class="btn btn-share"  @click.stop="onShareCode(orderID,clubUserid)">分享订单</view>	
+			<view class="btn btn-confirm" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm',orderID)">确认订单</view>
 			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel',orderID)">取消订单</view>
-			<view class="btn btn-confirm" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm',orderID)">立即确认</view>
+			<view class="btn btn-delete" v-if="btnState.isDelete" @click.stop="btnConfirm('delete',orderID)">删除订单</view>
 		</view>
 	</view>
 </template>
@@ -18,6 +19,9 @@
 			},
 			orderID: {
 				type:Number
+			},
+			clubUserid:{
+				type:Number
 			}
 		},
 		data() {
@@ -26,8 +30,9 @@
 				shareCode:'',
 				btnState:this.initStatus(),
 				mapStateArr:[
-					{label:'isCancel',val:[111],status: true},
-					{label:'isConfirm',val:[33],status: true},
+					{label:'isDelete',val:[6],status: true},
+					{label:'isCancel',val:[0,111],status: true},
+					{label:'isConfirm',val:[0],status: true},
 				]
 			}
 		},
@@ -68,7 +73,6 @@
 			},
 			initStatus(){
 				let btnState= {
-						isQuery: false,
 						isDelete: false,
 						isCancel: false,
 						isConfirm: false,
@@ -79,9 +83,10 @@
 			getShareCode(code){
 				this.shareCode = code
 			},
-			onShareCode(orderId){
+			onShareCode(oID,uID){
 				this.$parent.isShareModal = true
-				this.$parent.btnoRderID = orderId
+				this.$parent.btnoRderID = oID,
+				this.$parent.clubUserID = uID
 				this.$emit('shareConfirm')
 			},
 			btnConfirm(type,id){

+ 23 - 19
market/pages/address/address.vue

@@ -97,25 +97,29 @@
 				}, 500)
 			},
 			initAddressList(){	
-				let params = {pageNum:this.pageNum,pageSize:this.pageSize,userID:this.userID}
-				queryAddressList(params).then(response =>{
-					if(response.data.results == ''){
-						this.isEmpty = true
-					}else{
-						this.isEmpty = false
-						let results =[];
-						results = response.data.results;
-						this.addressList = this.addressList.concat(results);
-						this.pageNum = response.index +1;
-						if(this.pageNum === response.totalPage + 1 ){
-							this.isLoadMore = false;
-						} else {
-							this.isLoadMore = true;
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+					this.userID = resolve.userID
+					let params = {pageNum:this.pageNum,pageSize:this.pageSize,userID:this.userID}
+					queryAddressList(params).then(response =>{
+						if(response.data.results == ''){
+							this.isEmpty = true
+						}else{
+							this.isEmpty = false
+							let results =[];
+							results = response.data.results;
+							this.addressList = this.addressList.concat(results);
+							this.pageNum = response.index +1;
+							if(this.pageNum === response.totalPage + 1 ){
+								this.isLoadMore = false;
+							} else {
+								this.isLoadMore = true;
+							}
 						}
-					}
-				}).catch(response =>{
-					this.$util.msg(res.msg,2000)
+					}).catch(response =>{
+						this.$util.msg(res.msg,2000)
+					})
 				})
+				
 			},
 			//选择地址
 			checkAddress(item){
@@ -129,7 +133,7 @@
 			},
 			addAddress(type,item){
 				uni.navigateTo({
-					url: `/pages/user/address/addressManage?type=${type}&data=${JSON.stringify(item)}`
+					url: `/market/pages/address/addressManage?type=${type}&data=${JSON.stringify(item)}`
 				})
 			},
 			//删除收货地址
@@ -147,7 +151,7 @@
 						this.$util.msg(response.msg,2000);
 						setTimeout(function(){
 							uni.switchTab({
-								url:'/pages/tabBar/home/home'
+								url:'/market/pages/home/home'
 							})
 						},1000)
 					})

+ 2 - 2
market/pages/address/addressManage.vue

@@ -150,7 +150,7 @@
 					this.$util.msg(response.msg,2000);
 					setTimeout(function(){
 						uni.switchTab({
-							url:'/pages/tabBar/home/home'
+							url:'/market/pages/home/home'
 						})
 					},1000)
 				})
@@ -188,7 +188,7 @@
 			}
 		},
 		onShow() {
-			this.$api.getStorage().then((resolve) =>{
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
 				this.addressData.userID = resolve.userID
 			})
 		}

+ 32 - 10
market/pages/cart/buyagain.vue

@@ -1,6 +1,9 @@
 <template>
 	<view class="container all-type-list-wrapper">
-		<buyagain-list ref="productList" @operationConfim="hanldOperationConfim"></buyagain-list>
+		<buyagain-list ref="productList" 
+					   @operationConfim="hanldOperationConfim"
+					   @goCartPage="hanldToCartPage">
+		</buyagain-list>
 		<!--底部选择模态层弹窗组件 -->
 		<view class="popup spec" :class="specClass"  @touchmove.stop.prevent="discard" @tap="hideSpec">
 			<!-- 遮罩层 -->
@@ -37,14 +40,16 @@
 
 <script>
 	import buyagainList from '@/components/module/listTemplate/buyagainList'
-	import { shoppingAddCart } from "@/api/cart.js" 
+	import { shoppingAddCart ,shoppingCartAddCart} from "@/api/cart.js" 
+	import { getSellerProductNum } from "@/api/seller.js" 
 	export default{
 		components:{
 			buyagainList
 		},
 		data(){
 			return{
-				userID: '',
+				clubID:'',//机构ID
+				serviceProviderId:'',//协销ID
 				serverUrl: '',
 				emptyText: '',
 				lastPageType: '',
@@ -59,9 +64,15 @@
 			}
 		},
 		onLoad() {
-
+		
 		},
 		methods:{
+			getClubProductNum(){
+				getSellerProductNum({clubId:this.clubID,serviceProviderId:this.serviceProviderId}).then(response =>{
+					console.log(response.data)
+					this.$refs.productList.cartQuantity = response.data
+				})
+			},
 			hanldOperationConfim(data){//显示选择数量确认弹窗
 				console.log(data)
 				this.specClass = 'show';
@@ -116,24 +127,35 @@
 				}
 			},
 			getAddProductCart(){//增加购物车成功和toast弹窗提示成功
-				console.log(this.number)
-				shoppingAddCart({productID:this.handleData.productID,userID:this.userID,productCount:this.number}).then(response => {
+				let params ={
+						productId:this.handleData.productID,
+						clubId:this.clubID,
+						serviceProviderId:this.serviceProviderId,
+						num:this.number
+					}
+				shoppingCartAddCart(params).then(response => {
 					this.specClass = 'hide';
-					this.$util.msg(response.msg,1500,true,'success')
+					this.$util.msg('加入购物车成功',1500,true,'success')
+					this.getClubProductNum()
 					setTimeout(() => {this.specClass = 'none'}, 200)
-					this.$refs.productList.cartQuantity = response.data
 				}).catch(response =>{
 					this.$util.msg(response.msg,2000);
 				})
 			},
+			hanldToCartPage(){
+				this.$api.navigateTo('/market/pages/cart/cart')
+			},
 			discard(){
 				//丢弃
 			}
 		},
 		onShow() {
-			let pages = getCurrentPages(),thisPage = pages[pages.length - 1];
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+				this.clubID = resolve.clubID
+			})
 			this.$api.getStorage().then((resolve) =>{
-				this.userID = resolve.userID
+				this.serviceProviderId = resolve.serviceProviderID
+				this.getClubProductNum()
 			})
 		},
 	}

+ 24 - 104
market/pages/cart/cart.vue

@@ -11,7 +11,7 @@
 								<view class="checkbox-box">
 									<button class="checkbox iconfont" 
 											:class="[item.checked ?'icon-gouxuanl':'icon-weigouxuan']" 									
-											@click.stop="checkShop(item)" :disabled="item.isDisabled && !isshowDelbtn">
+											@click.stop="checkShop(item)">
 									</button>
 								</view>
 								<view class="text">{{item.name}}</view> 
@@ -23,31 +23,28 @@
 								>
 									<view class="goods-pros-t">
 										<!--选择商品-->
-										<view class="checkbox-box" :class="[pros.validFlag == '3' && !isshowDelbtn ?'disabled' : '']">
+										<view class="checkbox-box">
 											<button class="checkbox iconfont" 
-													:disabled="pros.validFlag == '3' && !isshowDelbtn"
 													:class="[pros.productsChecked ?'icon-gouxuanl':'icon-weigouxuan']" 
 													@click.stop="ischeck(item,pros,idx)">
 											</button>
 										</view>
-										<view class="pros-img" @click.stop="navToListPage(pros.productID)"	><image :src="pros.mainImage ? pros.mainImage :''" alt="" /></view>
+										<view class="pros-img" @click.stop="navToListPage(pros.productID)"><image :src="pros.mainImage ? pros.mainImage :''" alt="" /></view>
 										<view class="pros-product">
 											<view class="producttitle" @click.stop="navToListPage(pros.id)"	>
-												<text v-if="pros.validFlag == '3'" class="no-text">商品已下架</text>{{pros.name}}
+												{{pros.name}}
 											</view>
 											<view class="productspec">规格:{{pros.unit ? pros.unit : ''}}</view>
 											<view class="productprice">
 												<!--使用过滤器对总价改变-->
-												<view 	class="price" 
-														:class="[pros.validFlag == '3' ?'disabled' : '']">
-														<text :class="[pros.validFlag == '3' ?'disabled' : 'money-sign']">¥</text>
+												<view class="price"><text>¥</text>
 														{{pros.retailPrice ? pros.retailPrice.toFixed(2) : ''}}
 												</view>
-												<view class="count" v-if="pros.validFlag == '2'"  :class="[isshowDelbtn ? 'none':'show']">
+												<view class="count" :class="[isshowDelbtn ? 'none':'show']">
 													<view class="number-box">
-														<view  class="iconfont icon-jianhao" :class="[pros.validFlag == '3'?'disabled':'']" @click="changeCountSub(item,pros)"></view>
+														<view  class="iconfont icon-jianhao"  @click="changeCountSub(item,pros)"></view>
 														<input class="btn-input" type="number" maxlength='4' v-model="pros.productCount" @blur="changeNnmber($event,item,pros)">
-														<view  class="iconfont icon-jiahao"  :class="[pros.validFlag == '3'?'disabled':'']" @click="changeCountAdd(item,pros)"></view>
+														<view  class="iconfont icon-jiahao"   @click="changeCountAdd(item,pros)"></view>
 													</view>
 												</view>
 											</view>
@@ -89,8 +86,7 @@
 			<view v-if="isEmpty" class="cart-content empty">
 				<view  class="empty-container">
 					<image class="empty-container-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AWdWzAAGlgAP0das422.png" mode="aspectFit"></image>
-					<text class="error-text">购物车空空如也,快去商城逛逛吧~</text>
-					<view class="login-btn"  @click="goIndex">去商城</view>
+					<text class="error-text">购物车空空如也~</text>
 				</view>
 			</view>
 		</view>
@@ -104,7 +100,7 @@
 	import tuiNomore from "@/components/tui-components/nomore/nomore"
 	import modalLayer from "@/components/modal-layer"
 	import { mapState,mapMutations } from 'vuex';
-	import { getSellerShoppingInfo,sellerAddProductNum } from "@/api/seller.js" 
+	import { getSellerShoppingInfo,sellerAddProductNum, deleteSellerCart } from "@/api/seller.js" 
 	
 	export default{
 		components:{
@@ -140,8 +136,10 @@
 				pageNum: 1,
 			}
 		},
-		onLoad(option){
-			this.clubId = option.clubId
+		onLoad(){
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+				this.clubId = resolve.clubID
+			})
 			this.setScrollHeight();
 			this.initData()
 		},
@@ -195,9 +193,7 @@
 								invalidLength = 0;
 							item.productsList.forEach(pros => {
 								pros.shopID = item.shopID;
-								if(pros.validFlag == '3') {invalidLength++;}
 							})
-							item.isDisabled = invalidLength === productsListLength;
 						})
 						this.pullFlag = false;
 						setTimeout(()=>{this.pullFlag = true;},500)
@@ -258,12 +254,9 @@
 					})
 				} else {
 					productsList.forEach(pros => {
-						if(pros.productsChecked && pros.validFlag != '3') {
+						if(pros.productsChecked) {
 							productsCheckedLength++;
 						}
-						if(pros.validFlag == '3') {
-							disabledLength++;
-						}
 					})
 				}
 				item.checked = productsCheckedLength === productsList.length - disabledLength;
@@ -276,9 +269,6 @@
 					if(item.checked) {
 						goodsCheckedLength++;
 					}
-					if(item.isDisabled && !this.isshowDelbtn) {
-						disabledListLength++;
-					}
 				})
 				this.isCheckAll = goodsCheckedLength === goodsList.length - disabledListLength;
 			},
@@ -291,15 +281,9 @@
 				let products = item.productsList;
 				products.forEach(pros=>{
 					if(item.checked) {
-						if(pros.validFlag =='3'){
-							// 无效
-							this.isNnder = true;
-							pros.productsChecked = this.isshowDelbtn ?true :false;
-						}else{
-							// 有效
-							this.isNnder = false;
-							pros.productsChecked = true;
-						}
+						// 有效
+						this.isNnder = false;
+						pros.productsChecked = true;
 					} else {
 						pros.productsChecked = false;
 					}
@@ -314,7 +298,7 @@
 					})
 				} else {
 					this.goodsList.forEach((item)=>{
-						item.checked = this.isCheckAll && !item.isDisabled;
+						item.checked = this.isCheckAll;
 						this.setProductChecked(item);
 					})
 				}
@@ -332,13 +316,7 @@
 					productsList=item.productsList;
 					prosPrice=productsList.reduce((p,e)=>p+e.retailPrice*e.productCount,0);
 					productsList.forEach(pros =>{
-						if(pros.validFlag =='3'){
-							validList.push(pros)
-							validPrice = validList.reduce((p,e)=>p+e.retailPrice*e.productCount,0);
-							item.totalPrice = prosPrice - validPrice
-						}else{
-							item.totalPrice = prosPrice
-						}
+						item.totalPrice = prosPrice
 					})
 				})
 			},
@@ -353,13 +331,7 @@
 					productsList.forEach(pros=>{	
 						if(pros.productsChecked){
 							prosPrice+=pros.retailPrice*pros.productCount;
-							if(pros.validFlag =='3'){
-								validList.push(pros)
-								validPrice = validList.reduce((p,e)=>p+e.retailPrice*e.productCount,0);
-								this.allPrice = prosPrice - validPrice
-							}else{
-								this.allPrice = prosPrice
-							}
+							this.allPrice = prosPrice
 						}	
 					})
 			    })
@@ -375,15 +347,7 @@
 					productsList.forEach(pros=>{
 						if(pros.productsChecked){
 							prosAllCount+=parseInt(pros.productCount);
-							if(pros.validFlag =='3'){
-								validList.push(pros)
-								validList.forEach(val =>{
-									validCount += val.productCount
-								})
-								this.allCount = prosAllCount - validCount
-							}else{
-								this.allCount = prosAllCount
-							}
+							this.allCount = prosAllCount
 						}
 					})
 			    })
@@ -485,40 +449,12 @@
 					this.$api.navigateTo(`/market/pages/order/create-order?data=${JSON.stringify({data:cartPramsData})}`)
 				}
 			},
-			setOrderGoods(){//本地获取勾选商品信息***暂时丢弃***
-				let setGoodData = {}
-				let prosPrice =0;
-				let prosCount =0;
-				let goodsArr = this.goodsList.map(el => {
-					el.productsList = el.productsList.filter(item => item.productsChecked)
-					prosPrice=el.productsList.reduce((p,e)=>p+e.retailPrice*e.productCount,0);
-					el.productsList.forEach(pros=>{
-						el.totalCount += pros.productCount;
-					})
-					el.totalPrice = prosPrice
-					return el
-				}).filter(el => el.productsList && el.productsList.length !==0);
-				setGoodData = {
-					allPrice:this.allPrice,
-					allCount:this.allCount,
-					goodList:goodsArr
-				}
-				return setGoodData
-			},
 			showDelManager(){//显示删除商品管理
 				this.isshowDelbtn = true;
 				this.isNnder = true;
 				if(this.isCheckAll) {
 					this.updateBothCheckBtn();	
 				} else {
-					// 失效也被勾选
-					this.goodsList.forEach(item => {
-						if(item.checked) {
-							item.productsList.forEach(pros => {
-								pros.productsChecked = true;
-							})
-						}
-					})
 					this.updateCheckAllBtn();
 				}
 			},
@@ -527,17 +463,6 @@
 				if(this.isCheckAll) {
 					this.updateBothCheckBtn();	
 				} else {
-					// 失效商品取消勾选
-					this.goodsList.forEach(item => {
-						if(item.isDisabled) {
-							item.checked = false;
-						}
-						item.productsList.forEach(pros => {
-							if(pros.validFlag == '3') {
-								pros.productsChecked = false;
-							}
-						})
-					})
 					this.updateCheckAllBtn();
 				}
 			},
@@ -547,7 +472,7 @@
 					let products = delitem.productsList
 					products.forEach(pros=>{
 						if(pros.productsChecked){
-						    this.delGoodsList += pros.productID+','
+						    this.delGoodsList += pros.sellerCartId+','
 						}
 					})
 				})
@@ -557,7 +482,7 @@
 					return
 				}else{				
 					this.$util.modal('','确定删除选中的商品吗?','确定','取消',true,() =>{
-						shoppingCartDelete({userID:this.userID,productIDs:this.delGoodsList}).then(response =>{
+						deleteSellerCart({sellerCartIds:this.delGoodsList}).then(response =>{
 							console.log(response)
 							this.$util.msg('删除成功',2000);
 							setTimeout(()=>{
@@ -570,11 +495,6 @@
 					})
 				}
 			},
-			goIndex(){
-				uni.switchTab({
-				    url: '/pages/tabBar/home/home'
-				});
-			},
 			goNavto(url){
 				uni.navigateTo ({
 					url

+ 13 - 17
market/pages/cart/immediately.vue

@@ -2,7 +2,6 @@
 	<view class="container all-type-list-wrapper">
 		<immediately-list ref="productList" 
 						  :search-status="true" 
-						  :get-userId="clubUserId" 
 						  @operationConfim="hanldOperationConfim"
 						  @goCartPage="hanldToCartPage">
 		</immediately-list>
@@ -49,8 +48,7 @@
 		},
 		data(){
 			return{
-				clubID:'',		//机构ID
-				clubUserId: '',	//机构用户ID
+				clubID:'',	//机构ID
 				serviceProviderId:'',//协销ID
 				serverUrl: '',
 				emptyText: '',
@@ -65,15 +63,8 @@
 				buyRetailPrice:0
 			}
 		},
-		onLoad(option) {
-			this.clubUserId = option.userID
-			this.clubID = option.clubID
-			console.log(this.clubID)
-			console.log(this.clubUserId)
-			this.$api.getStorage().then((resolve) =>{
-				this.serviceProviderId = resolve.serviceProviderID
-				this.getClubProductNum()
-			})
+		onLoad() {
+			
 		},
 		methods:{
 			getClubProductNum(){
@@ -135,31 +126,36 @@
 				}
 			},
 			getAddProductCart(){//增加购物车成功和toast弹窗提示成功
-				console.log(this.number)
-				console.log(this.handleData)
 				let params ={
 						productId:this.handleData.productID,
 						clubId:this.clubID,
 						serviceProviderId:this.serviceProviderId,
 						num:this.number
-				}
+					}
 				shoppingCartAddCart(params).then(response => {
 					this.specClass = 'hide';
 					this.$util.msg('加入购物车成功',1500,true,'success')
-					this.$refs.productList.cartQuantity = response.data
+					this.getClubProductNum()
 					setTimeout(() => {this.specClass = 'none'}, 200)
 				}).catch(response =>{
 					this.$util.msg(response.msg,2000);
 				})
 			},
 			hanldToCartPage(){
-				this.$api.navigateTo(`/market/pages/cart/cart?clubId=${this.clubID}`)
+				this.$api.navigateTo('/market/pages/cart/cart')
 			},
 			discard(){
 				//丢弃
 			}
 		},
 		onShow() {
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+				this.clubID = resolve.clubID
+			})
+			this.$api.getStorage().then((resolve) =>{
+				this.serviceProviderId = resolve.serviceProviderID
+				this.getClubProductNum()
+			})
 		},
 	}
 </script>

+ 239 - 125
market/pages/club/addoperator.vue

@@ -1,172 +1,286 @@
 <template>
-	<view class="container operator clearfix">
-		<view class="operator-content">
-			<view class="operator-from">
-				<view class="from-row">
-					<input class="input" type="text" v-model="linkman" placeholder="请输入运营人员姓名" maxlength="6"/>
-				</view>
-				<view class="from-row">
-					<input class="input" type="text" v-model="clubMobile" placeholder="请输入运营人员手机号" maxlength="11"/>
-				</view>
-				<button class="add-btn" @click="confirm">确定</button>
+	<view class="container login">
+		<view class="login-main">
+			<text class="logo-titl">本页面协销人员不用填写!</text>
+			<text class="logo-text">点击右上方<text class="sp">···</text>,选择“发送给朋友”,把该页面发送给该机构人员填写,填写好之后对方就能成为该机构的运营人员</text>
+		</view>
+		<view class="login-form clearfix">
+			<view class="login-input">
+				<input type="text" 
+					   v-model="bindLinkName"  
+					   maxlength="30" 
+					   class="input" 
+					   disabled="true"
+					   placeholder="请输入姓名"
+				/>
+			</view>
+		</view>
+		<view class="login-form clearfix">
+			<view class="login-input">
+				<input type="number" 
+					   v-model="bindLinkPhone"  
+					   maxlength="11" 
+					   class="input" 
+					   disabled="true"
+					   placeholder="请输入手机号"
+				/>
+			</view>
+		</view>
+		<view class="login-form clearfix">
+			<view class="login-input code">
+				<input type="text" 
+					   v-model="imageCode"  
+					   maxlength="4" 
+					   class="input" 
+					   disabled="true"
+					   placeholder="请输入右侧图形验证码"
+				/>
 			</view>
-			<view class="operator-text">
-				<view class="title" @click="this.$api.navigateTo('/pages/user/operator/bindstep')">
-					<text class="iconfont icon-gantanhao-yuankuang"></text>
-					<text class="text-m">运营人员绑定步骤</text>
-					<text class="text-s">(点击查看图片引导)</text>
+			<view class="login-input img-btn">
+				<view class="vscodeimg">
+					<image :src="imageCodeUrl" mode=""></image>
 				</view>
-				<view class="text-main">
-					<view>1. 添加运营人员后,运营人员会收到一条邀请码短信</view>
-					<view>2. 运营人员在微信搜索【采美采购商城】小程序,或者搜索关注【采美365网】,从底部菜单进入【采美采购商城】小程序</view>
-					<view>3. 使用邀请码进行登录并绑定微信</view>
-					<view>4. 绑定后,运营人员可通过微信直接登录采美365网</view>
+				<view class="vscod-refresh">
+					<text class="iconfont"></text>
+					<text class="ref-text"></text>
 				</view>
 			</view>
 		</view>
+		<view class="login-form clearfix">
+			<view class="login-input code">
+				<input type="number" 
+					   v-model="mobildeCode"  
+					   maxlength="6" 
+					   class="input" 
+					   disabled="true"
+					   placeholder="请输入短信验证码"
+				/>
+			</view>
+			<view class="login-input btn disabled">
+				<button type="button"
+						disabled="true"
+					    class="input">
+						{{ mobileCodeText }}
+				</button>
+			</view>
+		</view>
+		<view class="login-form clearfix">
+			<view class="login-btn"  @click="bindWechatInfo">确定</view>
+		</view>
 	</view>
 </template>
 
-<script>	
-	import authorize from '@/common/config/authorize.js'	
-	import { addOperator } from "@/api/operator.js"
-	
-	export default {
+<script>
+	import { mapState,mapMutations } from 'vuex'
+	import authorize from '@/common/config/authorize.js' 
+	import { bindingWechat } from "@/api/use.js"
+	import { getImageCode, getbindWechatCode } from "@/api/utils.js"
+	export default{
 		data() {
-			return {
-				clubID:'',
+			return{
 				userID:'',
-				linkman:'',
-				clubMobile:'',
+				imageCodeUrl:'',
+				mobileCodeText:'获取验证码'
 			}
 		},
-		onLoad(option){
-			
+		onLoad(option) {
+			console.log(option)
+			this.getVerificationCode()
 		},
-		methods: {			
-			//提交
-			confirm(){
-				let data = this.addressData;
-				if(this.linkman== ''){
-					this.$util.msg('请输入运营人员姓名');
-					return;
-				}
-				if(this.clubMobile == ''){
-					this.$util.msg('请输入运营人员手机号');
-					return;
-				}
-				if(!/(^1[0-9][0-9]{9}$)/.test(this.clubMobile)){
-					this.$util.msg('请输入正确的手机号码');
-					return;
-				}
-				let params = {
-						mobile:this.clubMobile,
-						linkName:this.linkman,
-						userID:this.userID,
-						clubID:this.clubID,
-						configFlag:2
-					}
-				addOperator(params).then(response =>{
-					this.$util.msg('添加成功',2000);
-					setTimeout(() =>{
-						uni.navigateBack();
-					},2000)
-				}).catch(response =>{
-					this.$util.msg(response.msg,2000);
+		methods:{
+			getVerificationCode(){//图形验证
+				getImageCode().then(res => {
+					this.imageCodeUrl = res.data.baseImage
 				})
+			},
+		},
+		onShareAppMessage(res){//分享转发
+			if (res.from === 'button') {
+		      // 来自页面内转发按钮
+		      console.log(res.target)
+		    }
+			return {
+			  title: '快来成为机构运营人员吧~',
+			  path: 'pages/login/bindOperator',
+			  imageUrl:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAWWkhAAXDP4-6m_c397.png'
 			}
 		},
 		onShow() {
-			this.$api.getStorage().then((resolve) =>{
-				console.log(resolve)
-				this.userID = resolve.userID
-				this.clubID = resolve.clubID
-			})
+			
 		}
 	}
 </script>
 
 <style lang="scss">
-	page{
+	.login{
+		width: 100%;
 		height: auto;
-		background: $bg-color;
-		border-top: 1px solid #EBEBEB;
-	}
-	.operator{
-		padding-top: 160rpx;
-		.operator-content{
+		border-top: 1px solid #F7F7F7;
+		.model-warp.none{
+			display: none;			
+		}
+		.model-warp.show{
+			display: block;
+		}
+		.login-main{
 			width: 702rpx;
-			padding:0 24rpx;
-			.operator-from{
-				width: 100%;
-				height: auto;
-				.from-row{
-					width: 100%;
-					height: 40rpx;
-					padding: 24rpx;
-					background: #F7F7F7;
-					border-radius: 14rpx;
-					margin-bottom: 20rpx;
-					font-size: $font-size-28;
-					color: $text-color;
-					.input{
-						width: 100%;
-						height: 100%;
-						text-align: left;
-					}
+			background: rgba(225, 86, 22, 0.1);
+			display: flex;
+			flex-direction: column;
+			height: 142rpx;
+			padding: 20rpx 24rpx;
+			margin: 24rpx 0 118rpx 0;
+			.logo-titl{
+				font-size: 24rpx;
+				line-height: 34rpx;
+				color:$text-color;
+				margin-bottom: 40rpx;
+			}
+			.logo-text{
+				font-size: 24rpx;
+				line-height: 34rpx;
+				color: $color-system;
+				.sp{
+					color: #000000;
+					font-weight: bold;
 				}
 			}
-			.operator-text{
-				width: 100%;
-				height: auto;
-				margin-top: 50rpx;
-				line-height: 40rpx;
-				.title{
-					margin-bottom: 50rpx;
-					.icon-gantanhao-yuankuang{
-						font-size: $font-size-32;
-						color: #166CE1;
-						margin-right: 10rpx;
+		}
+		.login-form{
+			width: 702rpx;
+			height: auto;
+			padding: 0 24rpx;
+			.login-input{
+				width: 654rpx;
+				height: 40rpx;
+				padding: 24rpx;
+				margin-bottom: 20rpx;
+				background: #F7F7F7;
+				border-radius: 14rpx;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				&.code{
+					width: 370rpx;
+					float: left;
+					margin-right: 20rpx;
+				}
+				&.btn{
+					width: 258rpx;
+					height: 88rpx;
+					padding: 0;
+					float: left;
+					background: $btn-confirm;
+					.input{
+						width: 258rpx;
+						height: 88rpx;
+						line-height: 88rpx;
+						padding: 0;
+						border-radius: 14rpx;
+						color: #FFFFFF;
+						background: $btn-confirm;
+					}
+					&.disabled{
+						background: #F7F7F7;
+						.input{
+							background: #F7F7F7;
+							color: #999999;
+						}
 					}
-					.text-m{
-						font-size: $font-size-30;
-						color: #166CE1;
+				}
+				&.img-btn{
+					width: 250rpx;
+					height: 88rpx;
+					padding: 0;
+					float: left;
+					background: #FFFFFF;
+					display: block;
+					.vscodeimg{
+						width: 180rpx;
+						height: 88rpx;
+						float: left;
+						display: flex;
+						flex-direction: column;
+						align-items: center;
+						border-radius: 14rpx;
+						image{
+							width: 180rpx;
+							height: 88rpx;
+							border-radius: 14rpx;
+						}
 					}
-					.text-s{
-						font-size: $font-size-24;
-						color: #999999;
+					.vscod-refresh{
+						width: 70rpx;
+						float: right;
+						display: flex;
+						flex-direction: column;
+						align-items: center;
+						.icon-shuaxin{
+							font-size: 48rpx;
+							color: #333333;
+						}
+						.ref-text{
+							font-size: 24rpx;
+							color: #333333;
+						}
 					}
 				}
-				.text-main{
+				.input{
 					width: 100%;
-					height: auto;
-					view{
-						line-height: 40rpx;
-						font-size: $font-size-28;
-						color: $text-color;
-						text-align: justify;
-						margin-bottom: 10rpx;
-					}
+					height: 100%;
+					background: #F7F7F7;
+					font-size: $font-size-28;
+					line-height: 40rpx;
+					color: #333333;
+					border-radius: 14rpx;
 				}
 			}
-			
 		}
-		.add-btn{
+		.login-btn{
 			width: 702rpx;
 			height: 88rpx;
+			border-radius: 14rpx;
 			font-size: $font-size-28;
 			line-height: 88rpx;
 			color: #FFFFFF;
 			margin: 0 auto;
 			text-align: center;
 			background: $btn-confirm;
-			border-radius: 14rpx;
-			margin-top: 80rpx;
+			margin-top: 100rpx;
 		}
-		.add-btn.disabled{
-			background: #F8F8F8;
-			border-radius: 14rpx;
+		.model-authorization{
+			width: 100%;
+			height: 100%;
+			position: fixed;
+			top: 0;
+			left: 0;
+			z-index: 999;
+			.authorization{
+				width: 518rpx;
+				height: 320rpx;
+				position: absolute;
+				background: rgba(255,255,255,.7);
+				left: 0;
+				right: 0;
+				bottom: 0;
+				top: 0;
+				margin: auto;
+				.to-btn{
+					position: absolute;
+					top: 0;
+					left: 0;
+					right: 0;
+					bottom: 0;
+					margin: auto;
+					width: 70%;
+					height: 88rpx;
+					font-size: $font-size-28;
+					line-height: 88rpx;
+					color: #FFFFFF;
+					text-align: center;
+					border-radius: 44rpx;
+				}
+			}
 		}
 	}
 </style>
-

+ 21 - 13
market/pages/club/club-list.vue

@@ -3,14 +3,15 @@
 		<view class="club-search clearfix">
 			<view class="search-from name">
 				<text class="iconfont icon-iconfonticonfontsousuo1"></text>
-				<input class="input" type="text" v-model="linkman" placeholder="请输入机构名称搜索" maxlength="12"/>
+				<input class="input" type="text" v-model="searchInputVal" placeholder="请输入机构名称搜索" maxlength="12"/>
 			</view>
 			<view class="search-btn">
-				<button class="search-btn" type="default" @click.stop="searchOpertor">搜索</button>
+				<button class="search-btn" type="default" @click.stop="searchClubList">搜索</button>
 			</view>
 		</view>
 		<view class="club-main">
 			<view v-if="isEmpty" class="empty-container">
+				<image class="club-empty-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png" mode="aspectFit"></image>
 				<view class="txt">暂无机构数据</view>
 			</view>
 			<view v-else class="club-list">
@@ -27,10 +28,10 @@
 								<view class="btn org" @click.stop="_goImmediately(item)">
 									<text>立即下单</text>
 								</view>
-								<view class="btn gre" @click.stop="_goBuyagain(item.clubID)">
+								<view class="btn gre" @click.stop="_goBuyagain(item)">
 									<text>再次购买</text>
 								</view>
-								<view class="btn yel" @click.stop="_goHistory(item.clubID)">
+								<view class="btn yel" @click.stop="_goHistory(item)">
 									<text>订单列表</text>
 								</view>
 							</view>
@@ -98,6 +99,10 @@
 					})
 				}, 500)
 			},
+			searchClubList(){
+				this.pageNum=1
+				this.initclubList()
+			},
 			initclubList(){
 				let params = {name:this.searchInputVal,pageNum:1,pageSize:this.pageSize,spId:this.serviceProviderId,status:90}
 				getSellerClubList(params).then(response =>{
@@ -158,16 +163,20 @@
 				this.isShowClose = false
 			},
 			_goImmediately(item){
-				this.$api.navigateTo(`/market/pages/cart/immediately?userID=${item.userID}&clubID=${item.clubID}`)
+				this.$api.setStorage('orderUserInfo',item)
+				this.$api.navigateTo('/market/pages/cart/immediately')
 			},
-			_goBuyagain(id){
-				this.$api.navigateTo(`/market/pages/cart/buyagain?id=${id}`)
+			_goBuyagain(item ){
+				this.$api.setStorage('orderUserInfo',item)
+				this.$api.navigateTo('/market/pages/cart/buyagain')
 			},
-			_goHistory(id){
-				this.$api.navigateTo(`/market/pages/order/order-history?id=${id}`)
+			_goHistory(item){
+				this.$api.setStorage('orderUserInfo',item)
+				this.$api.navigateTo('/market/pages/order/order-history')
 			},
-			_goOperator(id){
-				this.$api.navigateTo(`/market/pages/club/addoperator?id=${id}`)
+			_goOperator(item){
+				this.$api.setStorage('orderUserInfo',item)
+				this.$api.navigateTo('/market/pages/club/addoperator')
 			}
 		},
 		onReachBottom() {
@@ -179,7 +188,6 @@
 		},
 		onShow() {
 			this.$api.getStorage().then(response =>{
-				console.log(response)
 				this.serviceProviderId = response.serviceProviderID
 				this.pageNum = 1;
 				this.initclubList();
@@ -309,7 +317,7 @@
 						}
 						&.yel{
 							background:#FFFFFF ;
-							border: 1px solid $text-color;
+							border: 1px solid #999999;
 						}
 					}
 				}

+ 1 - 0
market/pages/club/list.vue

@@ -12,6 +12,7 @@
 		</view>
 		<view class="club-main">
 			<view v-if="isEmpty" class="empty-container">
+				<image class="club-empty-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AY2ZjAABpmnBICH4247.png" mode="aspectFit"></image>
 				<view class="txt">暂无机构数据</view>
 			</view>
 			<view v-else class="club-list">

+ 1 - 1
market/pages/home/home.vue

@@ -243,7 +243,7 @@
 			},
 			navToDetailPage(id) {//跳转商品详情页
 				this.modallayer = true;
-				this.$api.navigateTo(`/market/pages/goods/product?id=${id}`)
+				this.$api.navigateTo(`/pages/goods/product?id=${id}`)
 			},
 			handleContact(e){
 				console.log(e.detail.path)

+ 1 - 1
market/pages/login/login.vue

@@ -121,7 +121,7 @@
 				if(res == 1){
 					this.getCheekeyCode()
 				}else{
-					this.$api.navigateTo('/pages/authorization/authorization?type=seller')
+					this.$api.navigateTo('/pages/authorization/authorization?type=2')
 				}
 			})		
 		}

+ 35 - 3
market/pages/login/register.vue

@@ -10,7 +10,7 @@
 					<input class="row-input" type="text"  name="input" v-model="registerEmail" placeholder="请输入机构邮箱地址" maxlength="30"/>
 				</view>
 				<view class="register-from btn">
-					<button class="row-input" type="button" @click.stop="checkEmailFn">检测</button>
+					<button class="row-input" type="button" @click.stop="registerCheckEmail()">检测</button>
 				</view>
 			</view>
 		</view>
@@ -36,7 +36,7 @@
 					<input class="row-input phone" type="text" v-model="registerMobile" placeholder="请输入联系人手机号" maxlength="11"/>
 				</view>
 				<view class="register-from btn">
-					<button class="row-input" type="button" @click.stop="checkMobileFn">检测</button>
+					<button class="row-input" type="button" @click.stop="registerCheckMobile()">检测</button>
 				</view>
 			</view>
 		</view>
@@ -230,7 +230,7 @@
 	import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue'
 	import authorize from '@/common/config/authorize.js' 
 	import { uploadFileImage } from "@/api/utils.js"
-	import { sellerClubRegister } from "@/api/seller.js"
+	import { sellerClubRegister,sellerClubCheck} from "@/api/seller.js"
 	var self;
 	export default{
 		components:{
@@ -238,6 +238,7 @@
 		},
 		data() {
 			return{
+				userID:'',//协销ID
 				isPreviewImage:false,   	//预览图片开关
 				registerEmail:'', 		//注册邮箱
 				clubName:'',	 		//机构名称
@@ -288,6 +289,36 @@
 			console.log(option)
 		},
 		methods:{
+			registerCheckEmail(){
+				if(this.registerEmail == ''){
+					this.$util.msg('请输入邮箱地址',2000);
+					return
+				}
+				if(!this.$reg.isEmail(this.registerEmail)){
+					this.$util.msg('请输入正确的邮箱地址',2000);
+					return
+				}
+				sellerClubCheck({mobileOrEmail:this.registerEmail}).then(response =>{
+					this.$util.msg(response.data,2000);
+				}).catch(response =>{
+					this.$util.msg(response.msg,2000);
+				})
+			},
+			registerCheckMobile(){
+				if( this.registerMobile == ''){
+					this.$util.msg('请输入手机号',2000);
+					return
+				}
+				if(!this.$reg.isMobile(this.registerMobile)){
+					this.$util.msg('请输入正确的手机号',2000);
+					return
+				}
+				sellerClubCheck({mobileOrEmail:this.registerMobile}).then(response =>{
+					this.$util.msg(response.data,2000);
+				}).catch(response =>{
+					this.$util.msg(response.msg,2000);
+				})
+			},
 			registerStepsSub(){
 				let params ={
 						email:this.registerEmail,
@@ -308,6 +339,7 @@
 						medicalPracticeLicenseImg:this.uploadMedicalImage,//资质图片
 						isAgreed:this.isAgreed,				//是否勾选协议	
 						mainpro:this.mainpro,
+						userID:this.userID
 				}
 				sellerClubRegister(params).then(response =>{
 					this.$util.msg('注册成功,已短息通知联系人',2000);

+ 4 - 3
market/pages/order/create-order.vue

@@ -53,7 +53,7 @@
 </template>
 
 <script>
-	import choiceAddress from '@/components/module/creatOrder/choiceAddress'  
+	import choiceAddress from '@/components/module/creatOrder/sellerAddress'  
 	import goodsList from '@/components/module/creatOrder/goodsList'
 	import sellerInvoice from '@/components/module/creatOrder/sellerInvoice'
 	import sellerFreight from '@/components/module/creatOrder/sellerFreight'
@@ -105,6 +105,7 @@
 		},
 		onLoad(option){//商品数据
 			let data = JSON.parse(option.data);
+			this.clubUserId = option.clubUserId
 			this.allPrice = data.data.allPrice;
 			this.allCount = data.data.allCount;
 			this.payAllPrice = this.allPrice;
@@ -112,6 +113,7 @@
 			this.productCount = data.data.productCount
 			this.productIds = data.data.productID
 			this.getInitCrearOrder();
+			console.log(this.clubUserId)
 		},
 		methods: {
 			getInitCrearOrder(option){//获取订单商品信息&&邮费信息&&发票信息
@@ -125,14 +127,13 @@
 						this.userMoney = resData.userMoney
 						this.freightData = {freePostFlag:resData.freight}
 						this.invoiceData = resData.invoice
-						this.goodsData = resData.shopList
 					}).catch(response =>{
 						this.$util.msg(response.msg,2000)
 					})
 				})
 			},
 			getAddressData(){//获取地址信息
-				this.$api.getStorage().then((resolve) =>{
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
 					queryAddressList({pageNum:1,pageSize:1,userID:resolve.userID}).then(response =>{
 						this.isAddress = true
 						this.addressData = {}

+ 12 - 14
market/pages/order/order-details.vue

@@ -41,9 +41,9 @@
 	import transfeRecord from '@/components/module/orderDetails/transfeRecord'		 //转账信息
 	import paymentRecord from '@/components/module/orderDetails/paymentRecord'		 //支付记录
 	import refundRecord from '@/components/module/orderDetails/refundRecord'		 //退款记录
-	import orderButton from '@/components/module/orderDetails/orderButton'			 //底部按钮
+	import orderButton from '@/components/module/orderDetails/sellerDetaileButton'	 //底部按钮
 	import shareAlert from '@/components/module/modelAlert/shareAlert.vue'			 //分享弹窗
-	import { getSellerOrderList } from "@/api/seller.js" 
+	import { queryOrderDetails,cancelOrder,deleteOrder,affirmOrder } from "@/api/order.js" 
 	export default {
 		components:{
 			headerBack,
@@ -88,15 +88,16 @@
 			}
 		},
 		onLoad(option){
+			console.log(option)
 			this.shareType = option.type;
 			this.orderID = option.orderID
 			if(this.shareType ==='share'){
-				this.state = 0
+				this.listType = 0
 				this.isOrderShare = true
 			}else if(option.type === 'confim'){
-				this.state = 0
+				this.listType = 0
 			}else{
-				this.state = option.state
+				this.listType = option.listType
 			}
 			this.getHeaderTopHeight()
 			this.initOrderDetaileData()
@@ -121,7 +122,7 @@
 					this.returnedPurchaseFee = resData.order.returnedPurchaseFee
 				}).catch(response =>{
 					this.$util.modal('提示','订单查询失败,请稍后重试~','确定','',false,() =>{
-						this.$api.switchTabTo('/pages/tabBar/home/home')
+						this.$api.switchTabTo('/market/pages/home/home')
 					})
 				})
 			},
@@ -137,16 +138,13 @@
 					case 'cancel':
 						this.handCenceConfirm();
 						break
-					case 'query':
-						this.$api.navigateTo('/pages/user/order/order-logistics?orderID='+this.orderID)
-						break
 					case 'confirm':
 						this.handOrderConfirm()
 				}
 			},
-			handOrderConfirm(){//确认收货
-				this.$util.modal('提示','是否确认收货','确定','取消',true,() =>{
-					confirmReceipt({orderID:this.orderID}).then(response =>{
+			handOrderConfirm(){//确认订单
+				this.$util.modal('提示','确认此订单?','确定','取消',true,() =>{
+					affirmOrder({orderID:this.orderID}).then(response =>{
 						this.$util.msg(response.msg,2000,true,'success');
 						this.initOrderDetaileData()
 					}).catch(response =>{
@@ -160,9 +158,9 @@
 						this.$util.msg(response.msg,2000,true,'success');
 						setTimeout(() => {
 							if(this.shareType ==='share'){
-								this.$api.switchTabTo('/pages/tabBar/user/user')
+								this.$api.navigateTo('/market/pages/user/user')
 							}else{
-								this.$api.redirectTo(`/pages/user/order/order-list?type=detele&state=${this.state}`)
+								this.$api.navigateTo(`/market/pages/order/order-list?type=detele&listType=${this.listType}`)
 							}
 						},500)
 					}).catch(response =>{

+ 48 - 46
market/pages/order/order-history.vue

@@ -2,15 +2,16 @@
 	<view class="container history clearfix">
 		<view class="history-main">
 			<view v-if="isEmpty" class="empty-container">
-				<view class="txt">暂无数据</view>
+				<image class="club-empty-image" src="https://img.caimei365.com/group1/M00/03/71/Cmis2F3wna6AJZvwAAGWWe4DnXk371.png" mode="aspectFit"></image>
+				<view class="txt">暂无订单数据</view>
 			</view>
 			<view v-else class="history-list">
 				<scroll-view scroll-y="true" >
 					<view class="list" v-for="(item, index) in historyList" :key="index">
 						<view class="list-left">
-							<view class="list-p">订单号:<text class="txt">{{item.orderNo}}</text><text v-if="item.payStatus == 1" class="tag">协销</text></view>
-							<view class="list-p">总金额:<text class="txt">¥{{orderPriceToFixed(item.orderTotalFee)}}</text></view>
-							<view class="list-p">数量(赠):<text class="txt">{{item.productCount}}</text></view>
+							<view class="list-p">订单号:<text class="txt">{{item.orderNo}}</text><text v-if="item.orderSubmitType == 3" class="tag">协销</text></view>
+							<view class="list-p">总金额:<text class="txt">¥{{orderPriceToFixed(item.payTotalFee)}}</text></view>
+							<view class="list-p">数量(赠):<text class="txt">{{item.productCount}}({{item.presentCount}})</text></view>
 						</view>
 						<view class="list-opea">
 							<view class="opea-p">{{orderStateExp(item.status)}}</view>
@@ -41,7 +42,6 @@
 		},
 		data() {
 			return {
-				clubID:'',
 				serviceProviderId:'',
 				isEmpty:false,
 				nomoreText: '上拉显示更多',
@@ -61,58 +61,60 @@
 				historyList:[],
 			}
 		},
-		onLoad(option){	
-			console.log(option)
-			this.clubID = option.clubID
+		onLoad(){	
 			
 		},
 		methods: {
 			inithistoryList(){	
-				let params = {clubID:this.clubID,serviceProviderId:this.serviceProviderId,pageNum:1,pageSize:this.pageSize};
-				getSellerClubOrderList(params).then(response =>{
-					let responseData = response.data
-					if(responseData.results&&responseData.results.length > 0){
-						this.isEmpty = false
-						this.hasNextPage = response.data.hasNextPage
-						this.historyList =responseData.results
-						this.pullFlag = false;
-						setTimeout(()=>{this.pullFlag = true;},500)
-						if(this.hasNextPage){
-							this.pullUpOn = false
-							this.nomoreText = '上拉显示更多'
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+					let params = {clubID:resolve.clubID,serviceProviderId:this.serviceProviderId,pageNum:1,pageSize:this.pageSize};
+					getSellerClubOrderList(params).then(response =>{
+						let responseData = response.data
+						if(responseData.results&&responseData.results.length > 0){
+							this.isEmpty = false
+							this.hasNextPage = response.data.hasNextPage
+							this.historyList =responseData.results
+							this.pullFlag = false;
+							setTimeout(()=>{this.pullFlag = true;},500)
+							if(this.hasNextPage){
+								this.pullUpOn = false
+								this.nomoreText = '上拉显示更多'
+							}else{
+								this.pullUpOn = true
+								this.loadding = false
+								this.nomoreText = '已至底部'
+							}
 						}else{
-							this.pullUpOn = true
-							this.loadding = false
-							this.nomoreText = '已至底部'
+							this.isEmpty = true
 						}
-					}else{
-						this.isEmpty = true
-					}
-				}).catch(response =>{
-					this.$util.msg(response.msg,2000)
+					}).catch(response =>{
+						this.$util.msg(response.msg,2000)
+					})
 				})
 			},	
 			getOnReachBottomData(){
 				this.pageNum+=1
-				let params = {clubID:this.clubID,serviceProviderId:this.serviceProviderId,pageNum:this.pageNum,pageSize:this.pageSize};
-				getSellerClubOrderList(params).then(response =>{
-					let responseData = response.data
-					if(responseData.results&&responseData.results.length > 0){
-						this.hasNextPage = response.data.hasNextPage
-						this.historyList = this.historyList.concat(responseData.results) 
-						this.pullFlag = false;// 防上拉暴滑
-						setTimeout(()=>{this.pullFlag = true;},500)
-						if(this.hasNextPage){
-							this.pullUpOn = false
-							this.nomoreText = '上拉显示更多'
-						}else{
-							this.pullUpOn = false
-							this.loadding = false
-							this.nomoreText = '已至底部'
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+					let params = {clubID:resolve.clubID,serviceProviderId:this.serviceProviderId,pageNum:this.pageNum,pageSize:this.pageSize};
+					getSellerClubOrderList(params).then(response =>{
+						let responseData = response.data
+						if(responseData.results&&responseData.results.length > 0){
+							this.hasNextPage = response.data.hasNextPage
+							this.historyList = this.historyList.concat(responseData.results) 
+							this.pullFlag = false;// 防上拉暴滑
+							setTimeout(()=>{this.pullFlag = true;},500)
+							if(this.hasNextPage){
+								this.pullUpOn = false
+								this.nomoreText = '上拉显示更多'
+							}else{
+								this.pullUpOn = false
+								this.loadding = false
+								this.nomoreText = '已至底部'
+							}
 						}
-					}
-				}).catch(response =>{
-					this.$util.msg(response.msg,2000)
+					}).catch(response =>{
+						this.$util.msg(response.msg,2000)
+					})
 				})
 			},
 			orderPriceToFixed (n){

+ 16 - 10
market/pages/order/order-list.vue

@@ -1,7 +1,13 @@
 <template>
 	<view class="container" :style="{paddingTop:navbarHeight+'px'}">
 		<!-- 自定义返回 -->
-		<header-back :systeminfo='systeminfo' :navbar-data='nvabarData' :headerBtnPosi ="headerBtnPosi" @goSearchPath="handlSearchPath"></header-back>
+		<header-back :systeminfo='systeminfo' 
+					 :navbar-data='nvabarData' 
+					 :headerBtnPosi ="headerBtnPosi" 
+					 :isDelete="isDelete" 
+					 :isUsertype="1"
+					 @goSearchPath="handlSearchPath">
+		</header-back>
 		<view class="order-section-top" :style="{marginTop:navbarHeight+'px'}">
 			<scroll-view scroll-x scroll-with-animation class="tab-view" :scroll-left="scrollLeft">
 				<view v-for="(item,index) in orderTabBar" :key="index" class="tab-bar-item" :class="[currentTab==index ? 'active' : '']"
@@ -61,6 +67,7 @@
 								<order-button ref="orderButton" 
 											  :status="order.status" 
 											  :orderID="order.orderID" 
+											  :clubUserid = "order.userID"
 											  @buttonConfirm="handButtonConfirm">
 								</order-button>
 							</view>
@@ -94,6 +101,7 @@
 	import modalLayer from "@/components/modal-layer"
 	import empty from "@/components/empty";
 	import shareAlert from '@/components/module/modelAlert/shareAlert'			 //分享弹窗
+	import { cancelOrder,deleteOrder, affirmOrder } from "@/api/order.js"
 	import { getSellerOrderList } from "@/api/seller.js" 
 	
 	export default {
@@ -130,6 +138,7 @@
 				scrollLeft: 0 ,//tab标题的滚动条位置
 				serviceProviderId:0,//协销用户ID
 				orderData: [],
+				clubUserID:"",
 				btnoRderID: 0, //点击按钮传入的的订单ID
 				pageNum: 1,	  //页数
 				pageSize: 10,  //条数
@@ -151,6 +160,7 @@
 		onLoad(option) {
 			let that = this;
 			console.log(option)
+			if(option.type ==='detele'){that.isDelete = true}
 			that.currentTab = option.listType
 			that.getHeaderTopHeight()//设置自定义导航高度
 			//  高度自适应
@@ -206,7 +216,6 @@
 				/**
 				 * @订单初始化加载  仅加载第一页码
 				 * @param:orderState(订单状态:0全部,1待付款,2待发货,3已发货,4退货款)
-				 * @param:userID(用户ID)
 				 * @param:pageNum(页码数)
 				 * @param:pageSize(每页条数)
 				 * @param:organizeID(全局变量组织ID)
@@ -300,18 +309,14 @@
 					case 'cancel':
 						this.handCenceConfirm(data.orderId)
 						break
-					case 'query':
-						this.isModalLayer = true;
-						this.$api.navigateTo('/market/pages/order/order-logistics?orderID='+data.orderId)
-						break
 					case 'confirm':
 						this.handOrderConfirm(data.orderId);
 						break
 				}
 			},
-			handOrderConfirm (id){//确认收货
-				this.$util.modal('提示','是否确认收货','确定','取消',true,() =>{
-					confirmReceipt({orderID:id}).then(response =>{
+			handOrderConfirm (id){//确认订单
+				this.$util.modal('提示','确认此订单?','确定','取消',true,() =>{
+					affirmOrder({orderID:id}).then(response =>{
 						this.$util.msg(response.msg,2000,true,'success');
 						setTimeout(() => {
 							this.getOrderDatainit(this.currentTab)
@@ -355,7 +360,7 @@
 			    }
 				return {
 					title: '您有新的分享订单,快来查看吧~',
-					path: `/market/pages/order/orderShareLogin?orderID=${this.btnoRderID}&userID=${this.userID}`,
+					path: `/market/pages/order/orderShareLogin?orderID=${this.btnoRderID}&userID=${this.clubUserID}`,
 					imageUrl:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/03/%E8%AE%A2%E5%8D%95%E5%88%86%E4%BA%AB%E5%9B%BE%403x.png'
 				}
 			},
@@ -363,6 +368,7 @@
 			orderStateExp (state){
 				let stateText = '',
 					stateTextObject={
+						0:'待确认',
 						4:'交易完成',
 						5:'订单完成',
 						6:'已关闭',

+ 0 - 187
market/pages/order/orderShareLogin.vue

@@ -1,187 +0,0 @@
-<template>
-	<view class="container login" v-if="isShareStatus">
-		<view class="login-main">
-			<image class="logo" :src="imagePath" mode=""></image>
-		</view>
-		<view class="login-input">
-			<input type="number" 
-				   v-model="shareCode"  
-				   maxlength="4" 
-				   class="input" 
-				   placeholder="请输入分享码"
-			/>
-		</view>
-		<view class="login-btn"  @click="goLogin">查看订单</view>
-	</view>
-</template>
-<script>
-	import authorize from '@/common/config/authorize.js' 
-	import { orderShareCode } from "@/api/order.js" 
-	export default{
-		data() {
-			return{
-				imagePath:'https://img.caimei365.com/group1/M00/03/83/Cmis214FbbCAQhKoAAKWfqqSIds292.png',
-				shareCode:'',  		//获取用户登录的邀请码
-				isUserInfo:false,	//控制显示授权弹窗
-				nickName:'',		//存储用户名
-				userInfo:'',		//存储微信用户授权信息
-				orderID:0,			//订单ID
-				userID:0			,//分享人的用户ID
-				isShareStatus:false,
-			}
-		},
-		onLoad(e) {
-			console.log(e)
-			this.orderID = e.orderID
-			this.userID = e.userID
-		},
-		methods:{
-			initQueryUser(){
-				authorize.getCode('weixin').then(wechatcode =>{
-					let params ={
-							code:wechatcode,
-							orderID:this.orderID,
-							userID:this.userID,
-							shareCode:this.shareCode
-						}
-					orderShareCode(params).then(response =>{
-						console.log(response)
-						if (response.code === 0) {
-							if(response.data == true){
-								console.log('同为会所运营人员查看订单详情')
-								this.$api.navigateTo(`/pages/user/order/order-details?type=share&orderID=${this.orderID}`)
-							}else{
-								console.log('游客第二次查看订单详情')
-								this.$api.redirectTo(`/pages/user/order/order-sharedetails?orderID=${this.orderID}`)
-							}
-						}else if(response.code === -2){
-							this.$util.modal('提示',response.msg,'确定','',false,() =>{
-								 this.$api.switchTabTo('/pages/tabBar/home/home')
-							})
-						}else{
-							this.isShareStatus = true
-						}
-					})
-				})
-			},
-			goLogin() {
-				if(this.shareCode == ''){
-					this.$util.msg('请联系分享人获取分享码',2000);
-					return
-				}
-				if(!this.$api.isNumber(this.shareCode)){
-					this.$util.msg('分享码格式不正确',2000);
-					return
-				}
-				authorize.getCode('weixin').then(wechatcode =>{
-					let params ={
-							code:wechatcode,
-							orderID:this.orderID,
-							userID:this.userID,
-							shareCode:this.shareCode
-						}
-					orderShareCode(params).then(response =>{
-						if (response.code === 0) {
-							console.log('游客第一次查看订单详情')
-							this.$api.redirectTo('/pages/user/order/order-sharedetails?orderID='+this.orderID)
-						}else{
-							this.$util.msg(response.msg,2000);
-						}
-					})
-				})
-			},
-		},
-		onShow() {
-			this.initQueryUser()
-		}
-	}
-</script>
-
-<style lang="scss">
-	.login{
-		width: 100%;
-		height:100%;
-		background: #FFFFFF;
-		.model-warp.none{
-			display: none;			
-		}
-		.model-warp.show{
-			display: block;
-		}
-		.login-main{
-			width: 100%;
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			padding: 128rpx 0;
-			.logo{
-				width: 658rpx;
-				height: 354rpx;
-				display: block;
-			}
-		}
-		.login-input{
-			width: 654rpx;
-			height: 40rpx;
-			padding: 24rpx;
-			margin: 0 auto;
-			margin-bottom: 60rpx;
-			background: #F7F7F7;
-			.input{
-				width: 100%;
-				height: 100%;
-				background: #F7F7F7;
-				font-size: $font-size-28;
-				border-radius: 14rpx;  
-				line-height: 40rpx;
-				color: #333333;
-			}
-		}
-		.login-btn{
-			width: 702rpx;
-			height: 88rpx;
-			font-size: $font-size-28;
-			line-height: 88rpx;
-			color: #FFFFFF;
-			margin: 0 auto;
-			margin-top: 100rpx;
-			text-align: center;
-			background: $btn-confirm;
-			border-radius: 14rpx;
-		}
-		.model-authorization{
-			width: 100%;
-			height: 100%;
-			position: fixed;
-			top: 0;
-			left: 0;
-			z-index: 999;
-			.authorization{
-				width: 518rpx;
-				height: 320rpx;
-				position: absolute;
-				background: rgba(255,255,255,.7);
-				left: 0;
-				right: 0;
-				bottom: 0;
-				top: 0;
-				margin: auto;
-				.to-btn{
-					position: absolute;
-					top: 0;
-					left: 0;
-					right: 0;
-					bottom: 0;
-					margin: auto;
-					width: 70%;
-					height: 88rpx;
-					font-size: $font-size-28;
-					line-height: 88rpx;
-					color: #FFFFFF;
-					text-align: center;
-					border-radius: 44rpx;
-				}
-			}
-		}
-	}
-</style>

+ 2 - 1
market/pages/search/search-order.vue

@@ -96,7 +96,7 @@
 	import orSearch from '@/components/uni-search/or-search.vue'
 	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
 	import tuiNomore from "@/components/tui-components/nomore/nomore"
-	import orderButton from '@/components/module/orderDetails/orderListButton'		 //按钮
+	import orderButton from '@/components/module/orderDetails/sellerOrderButton' //按钮
 	import modalLayer from "@/components/modal-layer"
 	import empty from "@/components/empty";
 	import shareAlert from '@/components/module/modelAlert/shareAlert'			 //分享弹窗
@@ -110,6 +110,7 @@
 		deleteOrder,
 		confirmReceipt
 	} from "@/api/order.js"
+	import { getSellerOrderList } from "@/api/seller.js" 
 	export default {
 		components: {
 			orSearch,

+ 5 - 6
pages.json

@@ -187,6 +187,11 @@
 			"style": {
 				"navigationBarTitleText": "绑定微信"
 			}
+		},{
+			"path": "pages/login/bindOperator",
+			"style": {
+				"navigationBarTitleText": "绑定运营人员"
+			}
 		},{
 			"path": "pages/login/apply",
 			"style": {
@@ -317,12 +322,6 @@
 						"navigationStyle":"custom"
 					}
 				},
-				{
-					"path": "pages/order/orderShareLogin",
-					"style": {
-						"navigationBarTitleText": "订单详情"
-					}
-				},
 				{
 					"path": "pages/club/list",
 					"style": {

+ 11 - 6
pages/authorization/authorization.vue

@@ -35,12 +35,17 @@
 				authorize.getCode('weixin').then(wechatcode =>{
 					wx.getUserInfo({
 						success: res => {
-							if(this.authorizeType == 'seller'){
-								this.$api.navigateTo('/market/pages/login/login')
-							}else{
-								uni.switchTab({
-									url:'/pages/tabBar/home/home'
-								})						
+							//根据页面参数跳转相应的页面
+							switch(this.authorizeType){
+								case '1':
+									this.$api.switchTabTo('/pages/tabBar/home/home')	
+									break;
+								case '2':
+									this.$api.navigateTo('/market/pages/login/login')
+									break;
+								case '3':
+									this.$api.navigateTo('/pages/login/bindOperator')	
+									break;
 							}
 						}
 					});	

+ 6 - 3
pages/goods/product.vue

@@ -122,7 +122,7 @@
 				</view>
 			</view>
 			<!-- 底部按钮 -->
-			<view class="menu">
+			<view class="menu" v-if="userIdentity!=1">
 				<view class="bottom-btn" :style="{paddingBottom :isIphoneX ? '68rpx' : '0rpx'}">
 					<view class="bottom-le">
 						<view class="item-bt" @click="this.$api.switchTabTo('/pages/tabBar/home/home')">
@@ -242,6 +242,7 @@
 				tabCurrentIndex:0,
 				userID:'',
 				productID:0,
+				userIdentity:'',//用户类型
 				goodsData:{},//自定义数据
 				shop:{},//供应商信息
 				product:{},//采美
@@ -509,14 +510,16 @@
 		      console.log(res.target)
 		    }
 			return {
-			  title: '采美采购商城-生美/医美采购服务平台',
+			  title: `${this.product.name}`,
 			  path: `pages/goods/product?id=${this.productID}`,
-			  imageUrl:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAWWkhAAXDP4-6m_c397.png'
+			  imageUrl:`${this.productImage[0]}`
 			}
 		},
 		onShow() {
 			this.$api.getStorage().then((resolve) => {
 				this.userID = resolve.userID ? resolve.userID : '';	
+				this.userIdentity = resolve.userIdentity
+				console.log(this.userIdentity)
 				if (isPreviewImg) {
 					isPreviewImg = false;
 					return;

+ 362 - 0
pages/login/bindOperator.vue

@@ -0,0 +1,362 @@
+<template>
+	<view class="container login">
+		<view class="login-form clearfix">
+			<view class="login-input">
+				<input type="text" 
+					   v-model="bindLinkName"  
+					   maxlength="30" 
+					   class="input" 
+					   placeholder="请输入姓名"
+				/>
+			</view>
+		</view>
+		<view class="login-form clearfix">
+			<view class="login-input">
+				<input type="number" 
+					   v-model="bindLinkPhone"  
+					   maxlength="11" 
+					   class="input" 
+					   placeholder="请输入手机号"
+				/>
+			</view>
+		</view>
+		<view class="login-form clearfix">
+			<view class="login-input code">
+				<input type="text" 
+					   v-model="imageCode"  
+					   maxlength="4" 
+					   class="input" 
+					   placeholder="请输入右侧图形验证码"
+				/>
+			</view>
+			<view class="login-input img-btn">
+				<view class="vscodeimg">
+					<image :src="imageCodeUrl" mode=""></image>
+				</view>
+				<view class="vscod-refresh"  @click.stop="getVerificationCode">
+					<text class="iconfont icon-shuaxin"></text>
+					<text class="ref-text">刷新</text>
+				</view>
+			</view>
+		</view>
+		<view class="login-form clearfix">
+			<view class="login-input code">
+				<input type="number" 
+					   v-model="mobildeCode"  
+					   maxlength="6" 
+					   class="input" 
+					   placeholder="请输入短信验证码"
+				/>
+			</view>
+			<view class="login-input btn" :class="[isMobileDisabled  ? 'disabled' : '']" >
+				<button type="button"
+						@click.stop="getMobileCodeFn"
+						:disabled="isMobileDisabled"
+					    class="input">
+						{{ mobileCodeText }}
+				</button>
+			</view>
+		</view>
+		<view class="login-form clearfix">
+			<view class="login-btn"  @click="bindWechatInfo">绑定并登录</view>
+		</view>
+		<view class="login-foot">
+			<text class="foot-text">本操作会绑定您的微信,绑定后您可使用微信直接登录【采美采购商城】小程序。</text>
+		</view>
+	</view>
+</template>
+
+<script>
+	import { mapState,mapMutations } from 'vuex'
+	import authorize from '@/common/config/authorize.js' 
+	import { bindingWechat } from "@/api/use.js"
+	import { getImageCode, getbindWechatCode } from "@/api/utils.js"
+	export default{
+		data() {
+			return{
+				bindMobile:'',
+				bindLinkName:'',  		//用户姓名
+				bindLinkPhone:'',  		//用户手机号
+				mobildeCode:'',  		//手机验证码
+				imageCode:'',			//图形验证码
+				imageCodeUrl:'',		//图形验证码地址
+				imageCodetoken:'',		//图形校验token
+				isMobileDisabled:false, //获取手机短信按钮
+				count: '',				//倒计时
+				mobileCodeText: '获取验证码',
+				codeTime: null,
+			}
+		},
+		onLoad(option) {
+			console.log(option)
+			uni.setStorageSync('bind_id', option.userID);
+			this.getVerificationCode()
+		},
+		methods:{
+			...mapMutations(['login']),
+			bindWechatInfo(){
+				if( this.bindLinkName == ''){
+					this.$util.msg('请输入姓名',2000)
+					return
+				}
+				if( this.bindLinkPhone == ''){
+					this.$util.msg('请输入手机号',2000)
+					return
+				}
+				if(!this.$reg.isMobile(this.bindLinkPhone)){
+					this.$util.msg('请输入正确的手机号',2000)
+					return
+				}
+				if( this.mobildeCode == ''){
+					this.$util.msg('请输入手机验证码',2000)
+					return
+				}
+				if(!this.$reg.isMobileCode(this.mobildeCode)){
+					this.$util.msg('验证码格式不正确',2000)
+					return
+				}
+				this.bindingWechatLogin()
+			},
+			getVerificationCode(){//图形验证
+				getImageCode().then(res => {
+					this.imageCodeUrl = res.data.baseImage
+					this.imageCodetoken = res.data.token
+				})
+			},
+			getMobileCodeFn(){//获取手机验证码
+				if( this.bindLinkPhone == ''){
+					this.$util.msg('请输入手机号',2000);
+					return
+				}
+				if(!this.$reg.isMobile(this.bindLinkPhone)){
+					this.$util.msg('请输入正确的手机号',2000);
+					return
+				}
+				if( this.imageCode == ''){
+					this.$util.msg('请输入图形验证码',2000);
+					return
+				}
+				let params = {
+						mobile:this.bindLinkPhone,
+						mobileOrEmail:this.bindMobile,
+						platformType:2,
+						imgCode:this.imageCode,
+						token:this.imageCodetoken,
+				}
+				this.isMobileDisabled = true;
+				getbindWechatCode(params).then(res =>{
+					const TIME_COUNT = 60;
+					this.$util.msg('验证短信已发送',2000)
+			     	if (!this.codeTime) {
+			       		this.count = TIME_COUNT;
+						this.isMobileDisabled = true;
+			       		this.codeTime = setInterval(() => {
+			       			if (this.count > 1 && this.count <= TIME_COUNT) {
+			         			this.count--
+			         			this.mobileCodeText = this.count +'s重新发送'
+			        		} else {
+				         		this.isMobileDisabled = false;
+				         		clearInterval(this.codeTime)
+				         		this.codeTime = null
+								this.mobileCodeText = '获取验证码'
+			        		}
+			       		},1000)
+			      	}
+				}).catch( res =>{
+					this.$util.msg(res.msg,2000)
+					this.isMobileDisabled = false;
+				})
+			},
+			bindingWechatLogin(){//获取用户基本信息登录
+				wx.getUserInfo({
+					success: res => {
+						console.log('useInfo:',res.userInfo)
+						this.userInfo = res.userInfo;
+						let params ={
+								userID: uni.getStorageSync('bind_id'),
+								mobile: this.bindLinkPhone,
+								linkName: this.bindLinkName,
+								verificationCode: this.mobildeCode,
+								nickName: res.userInfo.nickName,
+								headimgurl: res.userInfo.avatarUrl,
+						}
+						bindingWechat(params).then(response =>{
+							this.login(response.data);
+							uni.switchTab({
+								url:'/pages/tabBar/user/user'
+							})
+						}).catch(response =>{
+							this.$util.msg(response.msg,2000)
+						})							
+					}
+				})
+			}
+		},
+		onShow() {
+			//查看此微信用户是否已经授权过
+			authorize.getSetting().then(res =>{// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
+				if(res != 1){
+					this.$api.navigateTo('/pages/authorization/authorization?type=3')
+				}else{
+					console.log('22222222222222')
+				}
+			})		
+		}
+	}
+</script>
+
+<style lang="scss">
+	.login{
+		width: 100%;
+		height: auto;
+		border-top: 1px solid #F7F7F7;
+		padding-top: 100rpx;
+		.login-foot{
+			width: 702rpx;
+			height: 88rpx;
+			padding: 0 24rpx;
+			margin-top: 30rpx;
+			.foot-text{
+				font-size: 24rpx;
+				line-height: 44rpx;
+				color:$text-color;
+			}
+		}
+		.login-form{
+			width: 702rpx;
+			height: auto;
+			padding: 0 24rpx;
+			.login-input{
+				width: 654rpx;
+				height: 40rpx;
+				padding: 24rpx;
+				margin-bottom: 20rpx;
+				background: #F7F7F7;
+				border-radius: 14rpx;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				&.code{
+					width: 370rpx;
+					float: left;
+					margin-right: 20rpx;
+				}
+				&.btn{
+					width: 258rpx;
+					height: 88rpx;
+					padding: 0;
+					float: left;
+					background: $btn-confirm;
+					.input{
+						width: 258rpx;
+						height: 88rpx;
+						line-height: 88rpx;
+						padding: 0;
+						border-radius: 14rpx;
+						color: #FFFFFF;
+						background: $btn-confirm;
+					}
+					&.disabled{
+						background: #F7F7F7;
+						.input{
+							background: #F7F7F7;
+							color: #999999;
+						}
+					}
+				}
+				&.img-btn{
+					width: 250rpx;
+					height: 88rpx;
+					padding: 0;
+					float: left;
+					background: #FFFFFF;
+					display: block;
+					.vscodeimg{
+						width: 180rpx;
+						height: 88rpx;
+						float: left;
+						display: flex;
+						flex-direction: column;
+						align-items: center;
+						border-radius: 14rpx;
+						image{
+							width: 180rpx;
+							height: 88rpx;
+							border-radius: 14rpx;
+						}
+					}
+					.vscod-refresh{
+						width: 70rpx;
+						float: right;
+						display: flex;
+						flex-direction: column;
+						align-items: center;
+						.icon-shuaxin{
+							font-size: 48rpx;
+							color: #333333;
+						}
+						.ref-text{
+							font-size: 24rpx;
+							color: #333333;
+						}
+					}
+				}
+				.input{
+					width: 100%;
+					height: 100%;
+					background: #F7F7F7;
+					font-size: $font-size-28;
+					line-height: 40rpx;
+					color: #333333;
+					border-radius: 14rpx;
+				}
+			}
+		}
+		.login-btn{
+			width: 702rpx;
+			height: 88rpx;
+			border-radius: 14rpx;
+			font-size: $font-size-28;
+			line-height: 88rpx;
+			color: #FFFFFF;
+			margin: 0 auto;
+			text-align: center;
+			background: $btn-confirm;
+			margin-top: 100rpx;
+		}
+		.model-authorization{
+			width: 100%;
+			height: 100%;
+			position: fixed;
+			top: 0;
+			left: 0;
+			z-index: 999;
+			.authorization{
+				width: 518rpx;
+				height: 320rpx;
+				position: absolute;
+				background: rgba(255,255,255,.7);
+				left: 0;
+				right: 0;
+				bottom: 0;
+				top: 0;
+				margin: auto;
+				.to-btn{
+					position: absolute;
+					top: 0;
+					left: 0;
+					right: 0;
+					bottom: 0;
+					margin: auto;
+					width: 70%;
+					height: 88rpx;
+					font-size: $font-size-28;
+					line-height: 88rpx;
+					color: #FFFFFF;
+					text-align: center;
+					border-radius: 44rpx;
+				}
+			}
+		}
+	}
+</style>

+ 0 - 20
pages/tabBar/cart/cart.vue

@@ -481,26 +481,6 @@
 					this.$api.navigateTo(`/pages/user/order/create-order?data=${JSON.stringify({data:cartPramsData})}`)
 				}
 			},
-			setOrderGoods(){//本地获取勾选商品信息***暂时丢弃***
-				let setGoodData = {}
-				let prosPrice =0;
-				let prosCount =0;
-				let goodsArr = this.goodsList.map(el => {
-					el.productsList = el.productsList.filter(item => item.productsChecked)
-					prosPrice=el.productsList.reduce((p,e)=>p+e.retailPrice*e.productCount,0);
-					el.productsList.forEach(pros=>{
-						el.totalCount += pros.productCount;
-					})
-					el.totalPrice = prosPrice
-					return el
-				}).filter(el => el.productsList && el.productsList.length !==0);
-				setGoodData = {
-					allPrice:this.allPrice,
-					allCount:this.allCount,
-					goodList:goodsArr
-				}
-				return setGoodData
-			},
 			showDelManager(){//显示删除商品管理
 				this.isshowDelbtn = true;
 				this.isNnder = true;

+ 14 - 10
pages/tabBar/home/home.vue

@@ -187,15 +187,19 @@
 					// console.log(wechatcode);
 					// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
 					userInfoLogin({code:wechatcode}).then(response =>{
-						this.isLogin = true;
-						this.userID = response.data.userID;						
-						this.$store.commit('updateStatus',response.data)
-						this.login(response.data);
-						uni.setStorageSync('token',response.data.token)
-						uni.removeStorageSync('sessionid')
-						uni.setStorageSync('sessionid','JSESSIONID='+response.data.sessionId)
-						this.getHomeInformation()
-						this.getOrganizeProducts()
+						if(response.data.userIdentity ==1){
+							this.$api.navigateTo('/market/pages/home/home')
+						}else{
+							this.isLogin = true;
+							this.userID = response.data.userID;						
+							this.$store.commit('updateStatus',response.data)
+							this.login(response.data);
+							uni.setStorageSync('token',response.data.token)
+							uni.removeStorageSync('sessionid')
+							uni.setStorageSync('sessionid','JSESSIONID='+response.data.sessionId)
+							this.getHomeInformation()
+							this.getOrganizeProducts()
+						}
 					}).catch(response =>{
 						this.isLogin = false;
 						this.logout()
@@ -320,7 +324,7 @@
 				if(res == 1){
 					this.getCheekeyCode()
 				}else{
-					this.$api.redirectTo('/pages/authorization/authorization')
+					this.$api.redirectTo('/pages/authorization/authorization?type=1')
 				}
 			})				
 		}

+ 1 - 1
pages/user/operator/list.vue

@@ -283,7 +283,7 @@
 			}	
 		},
 		onShow() {
-			this.$api.getCommonStorage('clubInfo').then(response =>{
+			this.$api.getComStorage('clubInfo').then(response =>{
 				console.log(response)
 				this.clubID = response.clubID
 				this.clubName = response.name

+ 0 - 1
pages/user/order/create-order.vue

@@ -135,7 +135,6 @@
 						this.userMoney = resData.userMoney
 						this.freightData = {freePostFlag:resData.freight}
 						this.invoiceData = resData.invoice
-						this.goodsData = resData.shopList
 					}).catch(response =>{
 						this.$util.msg(response.msg,2000)
 					})

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

@@ -43,7 +43,7 @@
 	import refundRecord from '@/components/module/orderDetails/refundRecord'		 //退款记录
 	import orderButton from '@/components/module/orderDetails/orderButton'			 //底部按钮
 	import shareAlert from '@/components/module/modelAlert/shareAlert.vue'			 //分享弹窗
-	import { queryOrderDetails,cancelOrder,deleteOrder,confirmReceipt } from "@/api/order.js" 
+	import { queryOrderDetails,cancelOrder,deleteOrder,confirmReceipt,affirmOrder } from "@/api/order.js" 
 	export default {
 		components:{
 			headerBack,

+ 1 - 2
pages/user/order/order-list.vue

@@ -94,7 +94,7 @@
 	import modalLayer from "@/components/modal-layer"
 	import empty from "@/components/empty";
 	import shareAlert from '@/components/module/modelAlert/shareAlert'			 //分享弹窗
-	import { queryOrderList,cancelOrder,deleteOrder,confirmReceipt } from "@/api/order.js" 
+	import { queryOrderList,cancelOrder,deleteOrder,confirmReceipt, affirmOrder } from "@/api/order.js" 
 	
 	export default {
 		components: {
@@ -134,7 +134,6 @@
 				pageNum: 1,	  //页数
 				pageSize: 10,  //条数
 				scrollTop: 0,
-				deteleType:'',
 				skeletonShow: true,
 				isDelete:false,
 				isClickChange: false,

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

@@ -46,7 +46,9 @@
 						}
 					orderShareCode(params).then(response =>{
 						console.log(response)
-						if (response.code === 0) {
+						if(response.code === 2){
+							this.$api.navigateTo(`/market/pages/order/order-details?type=share&orderID=${this.orderID}`)
+						}else if(response.code === 0) {
 							if(response.data == true){
 								console.log('同为会所运营人员查看订单详情')
 								this.$api.navigateTo(`/pages/user/order/order-details?type=share&orderID=${this.orderID}`)
@@ -55,9 +57,7 @@
 								this.$api.redirectTo(`/pages/user/order/order-sharedetails?orderID=${this.orderID}`)
 							}
 						}else if(response.code === -2){
-							this.$util.modal('提示',response.msg,'确定','',false,() =>{
-								 this.$api.switchTabTo('/pages/tabBar/home/home')
-							})
+							this.$util.modal('提示',response.msg,'确定','',false,() =>{})
 						}else{
 							this.isShareStatus = true
 						}