浏览代码

协销模块

zhengjinyi 5 年之前
父节点
当前提交
b20ecf5fa6

+ 31 - 1
api/order.js

@@ -44,7 +44,37 @@ export function createOrderSubmit(params) {
  */
 export function getOrderPostage(params) {
 	return new Promise(function(resolve,reject) {
-		request.get('/order/postage',params, true,res => {
+		request.get('/order/postage',params,res => {
+			if(res.code == 0){
+				resolve(res)
+			}else{
+				reject(res)
+			}
+		})
+	})
+}
+/**
+ *@发票信息回显
+ *@param userId	机构的userID
+ */
+export function getFindInvoice(params) {
+	return new Promise(function(resolve,reject) {
+		request.get('/personalCenter/findInvoice',params,res => {
+			if(res.code == 0){
+				resolve(res)
+			}else{
+				reject(res)
+			}
+		})
+	})
+}
+/**
+ *@保存发票信息
+ *@param userId	机构的userID
+ */
+export function updateInvoice(params) {
+	return new Promise(function(resolve,reject) {
+		request.post('/personalCenter/invoice',params, true,res => {
 			if(res.code == 0){
 				resolve(res)
 			}else{

+ 40 - 4
api/seller.js

@@ -76,7 +76,7 @@ export function sellerClubRegister(params) {
 			uni.showToast({title: '请输入机构名称',duration: 2000,mask:true, icon:'none'})
 			return
 		}
-		if( params.linkMan == ''){
+		if( params.linkMan1 == ''){
 			uni.showToast({title: '请输入联系人名称',duration: 2000,mask:true,icon:'none'})
 			return
 		}
@@ -150,14 +150,31 @@ export function getSellerClubList(params) {
 		})
 	})
 }
+/**
+ *@协销机构列表
+ *@param name 	  机构名字关键字(搜索用)
+ *@param pageNum  页码
+ *@param pageSize 条数
+ */
+export function getFindAllClubList(params) {
+	return new Promise(function(resolve,reject) {
+		request.lodingGet('/seller/findAllClub',params,res => {
+			if(res.code == 0){
+				resolve(res)
+			}else{
+				reject(res)
+			}
+		})
+	})
+}
 
 /**
- *@协销订单列表
+ *@协销订单列表(搜索订单)
  *@param listType 订单类型
- *@param orderNo  密码
+ *@param orderNo  订单号
  *@param pageNum  页码
  *@param pageSize 条数
- *@param serviceProviderId 密码
+ *@param serviceProviderId 协销ID
  */
 export function getSellerOrderList(params) {
 	return new Promise(function(resolve,reject) {
@@ -252,6 +269,25 @@ export function sellerSettlement(params) {
 	})
 }
 
+/**
+ *@协销帮机构下单提交订单
+ *@param orderSource 2,//提交来源
+ *@param clubUserId//机构UserID
+ *@param cartType	//从购物车提交
+ *@param serviceProviderId//帮下单协销ID
+ *@param addressId//地址ID
+ *@param orderInfo//商品信息
+ *@param payInfo//订单信息
+ *@param orderInvoice//发票信息
+ */
+export function sellerCreateOrderSubmit(params) {
+	return new Promise(function(resolve,reject) {
+		request.post('/seller/order/submit',params,true,res => {
+			resolve(res)
+		})
+	})
+}
+
 
 /**
  *@协销帮机构下单商品搜索

+ 1 - 1
api/use.js

@@ -62,7 +62,7 @@ export function organizationVerifyRegisterTwo(params) {
 			uni.showToast({title: '请输入机构名称',duration: 2000,mask:true, icon:'none'})
 			return
 		}
-		if( params.linkMan == ''){
+		if( params.linkMan1 == ''){
 			uni.showToast({title: '请输入联系人名称',duration: 2000,mask:true,icon:'none'})
 			return
 		}

+ 1 - 1
common/config/caimeiApi.js

@@ -116,7 +116,7 @@ const caimeiApi = {
 				key: key,
 				data:data,
 				success: function (res){
-					 console.log(res);
+					 // console.log(res);
 				}
 			})
 		});

+ 2 - 1
common/config/config.js

@@ -2,8 +2,9 @@ let URL_CONFIG = ""
 if(process.env.NODE_ENV === 'development'){
     // 开发环境
 	// URL_CONFIG = 'http://192.168.1.22:8008'	 //裴裴联调地址
+	URL_CONFIG = 'http://192.168.1.26: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'

+ 584 - 124
components/module/creatOrder/invoiceTent.vue

@@ -1,47 +1,97 @@
 <template name="invoice">
 	<view class="invoice-template">
 		 <!-- 发票信息 -->
-		 <view class="invoice-content clearfix">
-		 	<view class="invoice-title">发票信息</view>
-			<view class="invoice-empty" v-if="isEmpty">
-			 	<text>无</text><text class="txt">(请到个人中心页面填写发票信息)</text>
-			</view>
-			<view class="invoice-text" v-else>
-				<view class="invoice-top" @click="showInvoice">
-					<view class="name">{{invoiceData.invoiceTitle}}</view>
-					<text class="iconfont icon-web_xiangxiazhankai" :class="{'icon-web_xiangxiazhankai-active':isOpen}"></text>
-				</view>
-				<view :class="{'invoice-warp--hide':!isOpen}" class="invoice-warp">
-					<view  class="invoice-warp__wrapper invoice-animation" 
-						   :style="{'transform':isOpen?'translateY(0)':'translateY(-50%)','-webkit-transform':isOpen?'translateY(0)':'translateY(-50%)'}">
-						<view class="table">
-							<text class="label-name">单位名称:</text>
-							<text>{{invoiceData.invoiceTitle}}</text>
+		<view class="invoice-title" @tap.stop="hanldOperationConfim">
+			<text class="text">发票信息:</text>
+			<text class="iconfont icon-xiayibu"></text>
+		</view>
+		<view class="invoice-text">
+			<text>{{invoiceText}}</text>
+		</view>
+		<!--底部选择模态层弹窗组件 -->
+		<view class="popup spec" :class="specClass"  @touchmove.stop.prevent="discard" @tap="choiceaInvoiceConfim">
+			<!-- 遮罩层 -->
+			<view class="mask"></view>
+			<view class="layer" @tap.stop="discard">
+				<view class="content clearfix">
+					<view class="invoice-ltitle">发票类型</view>
+					<view class="invoice-radio">
+						<radio-group class="row-group" @change="radioChange">
+							<label class="row-input" v-for="(item, index) in invoiceTypeList" :key="item.value">
+								<radio class="row-radio" :value="item.value" :checked="index === current" color="#E15616"/>
+								<view class="row-text">{{item.name}}</view>
+							</label>
+						</radio-group>
+					</view>
+					<view class="invoice-main from" v-if="invoiceType == '1'">
+						<view class="invoice-from">
+							<view class="label">单位名称:</view>
+							<input class="form-input" type="text" v-model="invoiceData.invoiceTitle" placeholder="请填写单位信息(必填)" maxlength="20">
+						</view>
+						<view class="invoice-from">
+							<view class="label">纳税人识别号:</view>
+							<input class="form-input" type="text" v-model="invoiceData.corporationTaxNum" placeholder="请填写纳税人识别号(必填)" maxlength="20">
 						</view>
-						<view class="table long">
-							<text class="label-name">纳锐人识别号:</text>
-							<text>{{invoiceData.corporationTaxNum}}</text> 
+						<view class="invoice-from">
+							<view class="label">注册地址:</view>
+							<input class="form-input" type="text" v-model="invoiceData.registeredAddress" placeholder="请填写单位注册地址(必填)" maxlength="30">
 						</view>
-						<view class="table">
-							<text class="label-name">注册地址:</text>
-							<text>{{invoiceData.registeredAddress}}</text> 
+						<view class="invoice-from">
+							<view class="label">注册电话:</view>
+							<input class="form-input" type="text" v-model="invoiceData.registeredPhone" placeholder="请填写注册电话(必填)" maxlength="15">
 						</view>
-						<view class="table">
-							<text class="label-name">注册电话:</text>
-							<text>{{invoiceData.registeredPhone}}</text>
+						<view class="invoice-from">
+							<view class="label">开户银行:</view>
+							<input class="form-input" type="text" v-model="invoiceData.openBank"   placeholder="请填写开户银行(必填)" maxlength="10">
 						</view>
-						<view class="table">
-							<text class="label-name">开户银行:</text>
-							<text>{{invoiceData.openBank}}</text>
+						<view class="invoice-from">
+							<view class="label">银行账号:</view>
+							<input class="form-input" 
+								   type="text" 
+								   v-model="invoiceData.bankAccountNo" 
+								   @input="invoiceData.bankAccountNo" 
+								   placeholder="请填写银行账号(必填)" 
+								   maxlength="25">
 						</view>
-						<view class="table">
-							<text class="label-name">银行账号:</text>
-							<text>{{bankAccountNo}}</text>
+					</view>
+					<view class="invoice-main" v-if="invoiceType == '2'">
+						<view class="invoice-ltitle">发票内容</view>
+						<view class="invoice-group tit">
+							<checkbox-group class="row-group" @change="checkboxChange">
+								<view class="text">商品明细</view>
+								<checkbox class="row-radio" value="明细"  :checked="inventoryChecked ? true : false" color="#E15616"></checkbox>
+							</checkbox-group>
+						</view>
+						<view class="invoice-ltitle">发票抬头</view>
+						<view class="invoice-group tit">
+							<radio-group class="row-group radio" @change="radioChangeTitle">
+								<label class="row-input" v-for="(item, index) in invoiceTitleList" :key="item.value">
+									<radio class="row-radio" :value="item.value" :checked="index === titleCurrent" color="#E15616"/>
+									<view class="row-text">{{item.name}}</view>
+								</label>
+							</radio-group>
 						</view>
+						<view class="invoice-group from">
+							<view class="group-from" v-if="invoiceData.invoiceTitleType == '0'">
+								<input class="form-input" type="text" v-model="invoiceData.invoiceTitle"   placeholder="请填写个人抬头" maxlength="20">
+							</view>
+							<view class="group-from" v-if="invoiceData.invoiceTitleType == '1'">
+								<input class="form-input" type="text" v-model="invoiceData.invoiceTitle"   placeholder="请填写公司抬头" maxlength="20">
+							</view>
+							<view class="group-from" v-if="invoiceData.invoiceTitleType == '1'">
+								<input class="form-input" type="text" v-model="invoiceData.corporationTaxNum"   placeholder="请填写纳税人识别号" maxlength="20">
+							</view>
+						</view>
+					</view>
+					<view class="invoice-main" v-if="invoiceType == '3'">
+						<view class="invoice-none">不开具发票信息</view>
 					</view>
 				</view>
+				<view class="btn">
+					<view class="button add" @click="choiceaInvoiceConfim">完成</view>
+				</view>
 			</view>
-		 </view>
+		</view>
 	</view>
 </template>
 
@@ -49,21 +99,42 @@
 	export default{
 		name:"invoice",
 		props:{
-			invoiceData:{
+			invoiceDatas:{
 				type:Object
 			}
 		},
 		data() {
 			return{
-				isEmpty:false,
-				title:'发票信息',
-				isOpen:false,
-				bankAccountNo:0
+				invoiceText:'',
+				specClass: '',//规格弹窗css类,控制开关动画
+				invoiceType:'1',//发票类型
+				current:0,
+				titleCurrent:0,
+				inventoryChecked:false,
+				invoiceTypeList:[
+					{value:'1',name:'增值税发票'},
+					{value:'2',name:'普通发票'},
+					{value:'3',name:'不开发票'},
+				],
+				invoiceTitleList:[
+					{value:'0',name:'个人'},
+					{value:'1',name:'公司'},
+				],
+				invoiceData:{
+					invoiceContent:'',	 //商品明细
+					invoiceTitle:'',	 //单位名称
+					corporationTaxNum:'',//纳税人识别号
+					registeredAddress: '',//单位地址
+					registeredPhone:'',	 //注册电话
+					openBank:'',		//开户银行
+					bankAccountNo: ''  ,//银行账号
+					invoiceTitleType:'0',//发票抬头类型 1企业 0个人
+				},
 			}
 		},
 		created(){
-			// console.log(this.invoiceData)
-			this.initData(this.invoiceData)
+			console.log(this.invoiceDatas)
+			this.initData(this.invoiceDatas)
 		},
 		computed: {
 
@@ -71,14 +142,127 @@
 		methods:{
 			initData(res) {
 				if(res){
-					this.isEmpty = false
-					this.bankAccountNo = this.$reg.bankRegex(res.bankAccountNo)
+					this.invoiceText = '无发票信息'
 				}else{
-					this.isEmpty = true
+					this.invoiceData = res
+					this.invoiceText = res.invoiceTitle
+					this.invoiceData.bankAccountNo = this.$reg.bankRegex(res.bankAccountNo)
+				}
+			},
+			choiceaInvoiceConfim(){
+				console.log(this.invoiceType);
+				switch(this.invoiceType){
+					case '1':
+						this.choiceaInvoiceFirst()
+						this.invoiceText = this.invoiceData.invoiceTitle
+						break;
+					case '2':
+						this.choiceaInvoiceTwo()
+						this.invoiceText = this.invoiceData.invoiceTitle
+						break;
+					case '3':
+						this.choiceaInvoiceThree()
+						this.invoiceText = '不开发票'
+						break;	
+				}
+			},
+			choiceaInvoiceFirst(){//增值税发票
+				if(this.invoiceData.invoiceTitle == ""){
+					this.$util.msg('请输入单位名称',2000)
+					return
+				}
+				if(this.invoiceData.corporationTaxNum == ""){
+					this.$util.msg('请输入纳税人识别号',2000)
+					return
+				}
+				if(this.invoiceData.registeredAddress == ""){
+					this.$util.msg('请输入单位地址',2000)
+					return
+				}
+				if(this.invoiceData.registeredPhone == ""){
+					this.$util.msg('请输入注册电话',2000)
+					return
 				}
+				if(this.invoiceData.openBank == ""){
+					this.$util.msg('请输入开户银行',2000)
+					return
+				}
+				if(this.invoiceData.bankAccountNo == ""){
+					this.$util.msg('请输入银行账号',2000)
+					return
+				}
+				this.$emit('handleChoiceaInvoice',Object.assign(this.invoiceData,'',{type:2}))
+				this.hideSpec()
+			},
+			choiceaInvoiceTwo(){//普通发票
+				if(this.invoiceData.invoiceContent == ''){
+					this.$util.msg('请选择商品明细',2000)
+					return
+				}
+				switch(this.invoiceData.invoiceTitleType){
+					case '0':
+						if(this.invoiceData.invoiceTitle == ""){
+							this.$util.msg('请输入个人抬头',2000)
+							return
+						}
+						break;
+					case '1':
+						if(this.invoiceData.invoiceTitle == ""){
+							this.$util.msg('请输入公司抬头',2000)
+							return
+						}
+						if(this.invoiceData.corporationTaxNum == ""){
+							this.$util.msg('请输入纳税人识别号',2000)
+							return
+						}
+						break;
+				}
+				this.$emit('handleChoiceaInvoice',Object.assign(this.invoiceData,'',{type:1}))
+				this.hideSpec()
+			},
+			choiceaInvoiceThree(){//不开发票
+				this.$emit('handleChoiceaInvoice',Object.assign(this.invoiceData,'',{type:0}))
+				this.hideSpec()
+			},
+			hideSpec() {//关闭弹窗
+				this.specClass = 'hide';
+				setTimeout(() => {
+					this.specClass = 'none';
+				}, 200);
+			},
+			hanldOperationConfim(){//显示发票弹窗
+				this.specClass = 'show';
 			},
-			showInvoice(){
-				this.isOpen = !this.isOpen
+			radioChange(e) {
+				this.invoiceType = e.target.value;
+				for (let i = 0; i < this.invoiceTypeList.length; i++) {
+					if (this.invoiceTypeList[i].value === this.invoiceType) {
+						this.current = i;
+						break;
+					}
+				}
+			},
+			radioChangeTitle(e) {
+				this.invoiceData.invoiceTitleType = e.target.value;
+				console.log(this.invoiceData.invoiceTitleType)
+				for (let i = 0; i < this.invoiceTitleList.length; i++) {
+					if (this.invoiceTitleList[i].value === this.invoiceData.invoiceTitleType) {
+						this.titleCurrent = i;
+						break;
+					}
+				}
+			},
+			checkboxChange(e){
+				this.invoiceData.invoiceContent = e.detail.value[0]
+				console.log(this.invoiceData.invoiceContent);
+			},
+			inputBankNum(val) {
+				if (/\S{5}/.test(val)) {
+					this.invoiceData.bankAccountNo = val.replace(/\s/g, '').replace(/(.{4})/g, "$1 ");
+				}
+			},
+			discard(){
+				//丢弃
 			}
 		}
 	}
@@ -91,105 +275,381 @@
 		background: #FFFFFF;
 		float: left;
 		margin-top: 24rpx;
-		.invoice-content{
+		.invoice-title{
 			width: 702rpx;
-			padding: 20rpx 24rpx;
+			padding: 0 24rpx;
+			height: 88rpx;
+			line-height: 88rpx;
+			position: relative;
+			border-bottom: 1px solid #EBEBEB;
+			.text{
+				font-size: $font-size-28;
+				color: $text-color;
+			}
+			.iconfont{
+				width: 50rpx;
+				height: 88rpx;
+				line-height: 88rpx;
+				color: #999999;
+				display: block;
+				position: absolute;
+				right: 0;
+				top: 0;
+			}
 		}
-		.invoice-title{
-			font-size: $font-size-28;
-			color: $text-color;
-			text-align: left;
-			line-height: 40rpx;
-			font-weight: bold;
-			margin-bottom: 30rpx;
+		.invoice-text{
+			width: 702rpx;
+			padding: 0 24rpx;
+			font-size: $font-size-24;
+			color: #666666;
+			line-height: 60rpx;
 		}
-		.invoice-empty{
+		.invoice-ltitle{
+			width: 100%;
+			line-height: 60rpx;
+			height: 60rpx;
 			font-size: $font-size-28;
-			color: $text-color;
-			text-align: left;
-			line-height: 40rpx;
-			.txt{
+			color: #333333;
+		}
+		.invoice-radio{
+			width: 100%;
+			height: 88rpx;
+			line-height: 88rpx;
+			display: flex;
+			border-bottom: 1px solid #EBEBEB;
+			.row-group{
+				flex:1;
+				display: flex;
+			}
+			.row-input{
+				flex: 1;
+				height: 88rpx;
+				line-height: 88rpx;
+			}
+			.row-radio{
+				float: left;
+				transform: scale(0.6);
+			}
+			.row-text{
 				font-size: $font-size-24;
-				color: #999999;
+				color: $text-color;
 			}
 		}
-		.invoice-animation {
-			/* transition: transform 0.3s ease;*/
-			transition-property: transform;
-			transition-duration: 0.3s;
-			transition-timing-function: ease;
-		}
-		.invoice-text{
+		.invoice-main{
 			width: 100%;
 			height: auto;
-			.invoice-top{
-				width: 100%;
+			margin-top: 30rpx;
+			&.from{
+				padding-bottom: 40rpx;
+			}
+			.invoice-none{
+				line-height: 60rpx;
+				height: 60rpx;
+				font-size: $font-size-24;
+				color: #666666;
+				text-align: center;
+			}
+			.invoice-from{
+				width: 662rpx;
 				height: 40rpx;
+				padding: 20rpx;
 				line-height: 40rpx;
+				align-items: flex-start;
 				font-size: $font-size-28;
 				color: $text-color;
-				text-align: left;
-				.name{
-					width: 400rpx;
+				background: #F7F7F7;
+				border-radius: 14rpx;
+				margin-bottom: 20rpx;
+				.label{
+					height: 40rpx;
+					line-height: 40rpx;
 					float: left;
-					-o-text-overflow: ellipsis;
-					text-overflow: ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 1;
-					overflow: hidden;
-				}
-				.icon-web_xiangxiazhankai{
-					transform: rotate(0deg);
-					transform-origin: center center;
-					float: right;
-					font-size: $font-size-32;
-					color: #000000;
-					/* transition: transform 0.3s ease;*/
-					transition-property: transform;
-					transition-duration: 0.3s;
-					transition-timing-function: ease;
-				}
-				.icon-web_xiangxiazhankai-active{
-					transform: rotate(180deg);
-				}
-			}
-			.invoice-warp{
+				}
+				.form-input{
+					height: 40rpx;
+					line-height: 40rpx;
+					flex-grow: 1;
+					padding-left: 20rpx;
+				}
+			}
+			.invoice-group{
 				width: 100%;
-				overflow: hidden;
-				.table{
-					padding-left: 130rpx;
-					height: auto;
-					line-height: 64rpx;
-					font-size: $font-size-26;
-					color: $text-color;
-					text-align: left;
-					position: relative;
-					.label-name{
-						display: inline-block;
-						line-height: 64rpx;
-						position: absolute;
-						left: 0;
-						top: 0;
+				height: 88rpx;
+				display: flex;
+				border-bottom: 1px solid #EBEBEB;
+				&.tit{
+					margin-bottom: 30rpx;
+				}
+				&.from{
+					margin-bottom: 30rpx;
+					border-bottom: 1px solid #FFFFFF;
+					flex-direction: row;
+					display: block;
+					.group-from{
+						flex: 1;
+						height: 40rpx;
+						padding: 20rpx;
+						line-height: 40rpx;
+						align-items: flex-start;
+						font-size: $font-size-24;
+						color: $text-color;
+						background: #F7F7F7;
+						border-radius: 14rpx;
+						margin-bottom: 20rpx;
+						.form-input{
+							height: 40rpx;
+							line-height: 40rpx;
+							flex-grow: 1;
+						}
 					}
-					&.long{
-						padding-left: 180rpx;
+				}
+				.row-group{
+					line-height: 88rpx;
+					flex: 1;
+					.text{
+						font-size: $font-size-24;
+						color: $text-color;
+						line-height: 88rpx;
+						float: left;
+					}
+					.row-radio{
+						float: right;
+						transform: scale(0.8);
+						border-radius: 50%;
+					}
+					&.radio{
+						display: flex;
+						.row-input{
+							flex: 1;
+							height: 88rpx;
+							line-height: 88rpx;
+						}
+						.row-radio{
+							float: left;
+							transform: scale(0.6);
+						}
+						.row-text{
+							font-size: $font-size-24;
+							color: $text-color;
+						}
 					}
 				}
-			}	
-			.invoice-warp__wrapper{
-				/* #ifndef APP-NVUE */
-				display: flex;
-				/* #endif */
-				flex-direction: column;
-				padding-top: 20rpx;
 			}
-			.invoice-warp--hide {
-				padding: 0 0;
-				height: 0px;
-				line-height: 0px;
-			}		
 		}
 	}
+	/* 加入购物模态层*/
+	@keyframes showPopup {
+		0% {
+			opacity: 0;
+		}
+		100% {
+			opacity: 1;
+		}
+	}
+	@keyframes hidePopup {
+		0% {
+			opacity: 1;
+		}
+		100% {
+			opacity: 0;
+		}
+	}
+	@keyframes showLayer {
+		0% {
+			transform: translateY(0);
+		}
+		100% {
+			transform: translateY(-100%);
+		}
+	}
+	@keyframes hideLayer {
+		0% {
+			transform: translateY(-100%);
+		}
+		100% {
+			transform: translateY(0);
+		}
+	}
+	@keyframes showAmnation {
+		0% {
+			top: -12rpx;
+			opacity: 0;
+		}
+		50% {
+			top: -60rpx;
+			opacity: 1;
+		}
+		100% {
+			top: -100rpx;
+			opacity: 0;
+		}
+	}
+	@keyframes hideAmnation {
+		0% {
+			top: -100rpx;
+			opacity: 0;
+		}
+		100% {
+			top: -12rpx;
+			opacity: 0;
+		}
+	}
+	.popup {
+		position: fixed;
+		top: 0;
+		width: 100%;
+		height: 100%;
+		z-index: 999;
+		display: none;
+		.mask{
+			position: fixed;
+			top: 0;
+			width: 100%;
+			height: 100%;
+			z-index: 21;
+			background-color: rgba(0, 0, 0, 0.6);
+		}
+		.layer {
+			position: absolute;
+			z-index: 22;
+			bottom: -1010rpx;
+			width: 702rpx;
+			padding: 24rpx 24rpx 65rpx 24rpx;
+			height: 920rpx;
+			border-radius: 40rpx 40rpx 0 0;
+			background-color: #fff;
+			display: flex;
+			flex-wrap: wrap;
+			align-content: space-between;
+			.content {
+				width: 100%;
+			}
+			.btn {
+				width: 100%;
+				height: 88rpx;
+				display: flex;
+				.button {
+					width: 702rpx;
+					height: 88rpx;
+					color: #fff;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					font-size: $font-size-28;
+					border-radius: 14rpx;
+					background: $btn-confirm;
+				}
+			}
+		}
+		
+		&.show {
+			display: block;
+			.mask{
+				animation: showPopup 0.2s linear both;
+			}
+			.layer {
+				animation: showLayer 0.2s linear both;
+			}
+		}
+		&.hide {
+			display: block;
+			.mask{
+				animation: hidePopup 0.2s linear both;
+			}
+			
+			.layer {
+				animation: hideLayer 0.2s linear both;
+			}
+		}
+		&.none {
+			display: none;
+		}
+		&.service {
+			.row {
+				margin: 30upx 0;
+				.title {
+					font-size: 30upx;
+					margin: 10upx 0;
+				}
+				.description {
+					font-size: 28upx;
+					color: #999;
+				}
+			}
+		}
+		.layer-smimg{
+			width: 114rpx;
+			height: 114rpx;
+			float: left;
+			border-radius: 10rpx;
+			margin-right: 24rpx;
+			image{
+				width: 114rpx;
+				height: 114rpx;	
+				border-radius: 10rpx;
+			}
+		}
+		.layer-nunbox{
+			justify-content: space-between;
+			align-items: center;
+			width: 536rpx;
+			height: 88rpx;
+			padding: 13rpx 0 0 0;
+			float: left;
+			.layer-nunbox-t{
+				width: 100%;
+				height:44rpx;
+				position:relative;
+				display: flex;
+				.layer-nunbox-text{
+					line-height: 44rpx;
+					font-size: $font-size-28;
+				}
+				.number-box{
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					.iconfont{
+						font-size: $font-size-32;
+						padding:0 20rpx;
+						font-size: $text-color;
+					}
+					.btn-input{
+						width: 62rpx;
+						height: 48rpx;
+						line-height: 48rpx;
+						background: #F8F8F8;
+						border-radius: 4rpx;
+						text-align: center;
+						font-size: $font-size-28;
+					}
+				}
+				.product-step{
+					position: absolute;
+					left: 45rpx;
+					bottom: 0;
+					height: 44rpx;
+					background: #FFFFFF;
+				}
+			}
+			.layer-nunbox-b{
+				width: 100%;
+				height:44rpx;
+				margin-top: 13rpx;
+			}
+			.text{
+				line-height: 44rpx;
+				font-size: $font-size-28;
+				.p{
+					color: #FF2A2A;
+				}
+				.p:first-child{
+					margin-left: 30rpx;
+				}
+				.p.sm{
+					font-size: $font-size-24;
+				}
+			}
+		}
+	}	
 </style>

+ 71 - 35
components/module/creatOrder/sellerFreight.vue

@@ -6,8 +6,8 @@
 				运费<text class="iconfont icon-yunfeishuoming" @click.stop="showTip"></text>
 			</view>
 			<view class="freight-right">
-				<text>{{freightText}}</text>
-				<text class="text" v-if="freightData.freightType == '1'">¥{{freightData.freightTypeMoney}}</text>
+				<text class="text-l">{{freightText}}</text>
+				<text class="text" v-if="freightData.freePostFlag == 1">¥{{orderPriceToFixed(freightMoney)}}</text>
 				<text class="iconfont icon-xiayibu"></text>
 			</view>
 		</view>
@@ -26,15 +26,15 @@
 							</label>
 						</radio-group>
 					</view>
-					<view class="freight-group" v-if="freightData.freightType == '1'">
+					<view class="freight-group" v-if="freightData.freePostFlag == 1">
 						<view class="group-from">
-							<input class="form-input" type="text" v-model="freightData.freightTypeMoney"   placeholder="请填写运费" maxlength="20">
+							<input class="form-input" type="text" v-model="freightData.freight" @blur="setFreightMoney" placeholder="请填写运费" maxlength="20">
 						</view>
 					</view>	
-					<view class="freight-group" v-if="freightData.freightType == '2'">
+					<view class="freight-group" v-if="freightData.freePostFlag == 0">
 						<text class="text">{{freightText}}</text>
 					</view>
-					<view class="freight-group" v-if="freightData.freightType == '3'">
+					<view class="freight-group" v-if="freightData.freePostFlag == -1">
 						<text class="text">{{freightText}}</text>
 					</view>
 				</view>
@@ -49,56 +49,80 @@
 <script>
 	export default{
 		name:"freight",
+		props:{
+			freightDatas:{
+				type:Object
+			}
+		},
 		data() {
 			return{
 				freightText:'不包邮',
+				freightMoney:10,
 				specClass: '',//规格弹窗css类,控制开关动画
 				freightList:[
-					{value:'1',name:'不包邮'},
-					{value:'2',name:'包邮'},
-					{value:'3',name:'到付'},
+					{value:1,name:'不包邮'},
+					{value:0,name:'包邮'},
+					{value:-1,name:'到付'},
 				],
 				current:0,
 				freightData:{
-					freightType:'1',
-					freightTypeMoney:10
+					freePostFlag:1,
+					freight:10
 				}
 			}
 		},
 		created(){
-
-		},
-		computed: {
-
+			this.infoData(this.freightDatas)
 		},
 		methods:{
-			freightConfim(){
-				console.log(this.freightData.freightType);
-				switch(this.freightData.freightType){
+			infoData(data){//初始化运费
+				// console.log(data)
+				switch(data.freePostFlag){
+					case 1:
+						this.current = 0;
+						this.freightData.freePostFlag = data.freePostFlag;
+						this.freightData.freight = data.freight;
+						this.freightText = '不包邮'
+						break;
+					case 0:
+						this.current = 1;
+						this.freightData.freePostFlag = data.freePostFlag;
+						this.freightText = '包邮'
+						break;
+					case -1:
+						this.current = 2;
+						this.freightData.freePostFlag = data.freePostFlag;
+						this.freightText = '到付'
+						break;
+				}
+			},
+			freightConfim(){//提交完成运费选择
+				switch(this.freightData.freePostFlag){
 					case '1':
-						this.choiceaFreightFirst(this.freightData.freightType)
+						this.choiceaFreightFirst(this.freightData.freePostFlag)
 						break;
-					case '2':
-						this.choiceaFreightFirst(this.freightData.freightType)
+					case '0':
+						this.choiceaFreightFirst(this.freightData.freePostFlag)
 						break;
-					case '3':
-					this.choiceaFreightFirst(this.freightData.freightType)
+					case '-1':
+						this.choiceaFreightFirst(this.freightData.freePostFlag)
 						break;	
 				}		
 			},
-			choiceaFreightFirst(index){
-				if(index == '1'){
-					if(this.freightData.freightTypeMoney==''){
+			choiceaFreightFirst(index){//校验运费形式及运费价
+				if(index == 1){
+					if(this.freightData.freight==''){
 						this.$util.msg('请填写运费',2000)
 						return
 					}
 					this.$emit('handleChoiceaFreight',this.freightData)
 				}else{
+					this.freightData.freight = 0
 					this.$emit('handleChoiceaFreight',this.freightData)
 				}
 				this.hideSpec()
 			},
-			showTip(){
+			showTip(){//显示运费弹窗
 				this.$emit('showFreightAlert');
 			},
 			hideSpec() {//关闭选择数量确认弹窗
@@ -108,29 +132,36 @@
 				}, 200);
 			},
 			hanldOperationConfim(data){//显示选择数量确认弹窗
-				console.log(data)
 				this.specClass = 'show';
 			},
-			radioChange(e) {
-				this.freightData.freightType = e.target.value;
-				switch(this.freightData.freightType){
-					case '1':
+			radioChange(e) {//运费选择切换
+				this.freightData.freePostFlag = e.target.value;
+				switch(this.freightData.freePostFlag){
+					case'1':
 						this.freightText = '不包邮'
 						break;
-					case '2':
+					case '0':
 						this.freightText = '包邮'
 						break;
-					case '3':
+					case '-1':
 						this.freightText = '到付'
 						break;	
 				}		
 				for (let i = 0; i < this.freightList.length; i++) {
-					if (this.freightList[i].value === this.freightType) {
+					if (this.freightList[i].value === this.freePostFlag) {
 						this.current = i;
 						break;
 					}
 				}
 			},
+			setFreightMoney(e){//处理邮费显示
+				this.freightMoney = this.orderPriceToFixed(e.detail.value)
+			},
+			orderPriceToFixed (num){
+				let price ='';
+				price = parseInt(num).toFixed(2);
+				return price
+			},
 			discard(){
 				//丢弃
 			}
@@ -167,10 +198,14 @@
 			.freight-right{
 				float: right;
 				color: #2A81FF;
+				.text-l{
+					margin-right: 20rpx;
+				}
 				.text{
 					line-height: 88rpx;
 					color: #ff0000;
 					margin:0 20rpx;
+					font-weight: normal;
 				}
 				.icon-xiayibu{
 					line-height: 88rpx;
@@ -237,6 +272,7 @@
 			background: #F7F7F7;
 			border-radius: 14rpx;
 			margin-bottom: 20rpx;
+			margin-top: 10rpx;
 			.form-input{
 				height: 40rpx;
 				line-height: 40rpx;

+ 35 - 18
components/module/creatOrder/sellerInvoice.vue

@@ -9,7 +9,7 @@
 			<text>{{invoiceText}}</text>
 		</view>
 		<!--底部选择模态层弹窗组件 -->
-		<view class="popup spec" :class="specClass"  @touchmove.stop.prevent="discard" @tap="hideSpec">
+		<view class="popup spec" :class="specClass"  @touchmove.stop.prevent="discard" @tap="choiceaInvoiceConfim">
 			<!-- 遮罩层 -->
 			<view class="mask"></view>
 			<view class="layer" @tap.stop="discard">
@@ -49,7 +49,7 @@
 							<input class="form-input" 
 								   type="text" 
 								   v-model="invoiceData.bankAccountNo" 
-								   @input="inputBankNum(invoiceData.bankAccountNo)" 
+								   @input="invoiceData.bankAccountNo" 
 								   placeholder="请填写银行账号(必填)" 
 								   maxlength="25">
 						</view>
@@ -72,13 +72,13 @@
 							</radio-group>
 						</view>
 						<view class="invoice-group from">
-							<view class="group-from" v-if="invoiceData.invoiceTitleType == 0">
+							<view class="group-from" v-if="invoiceData.invoiceTitleType == '0'">
 								<input class="form-input" type="text" v-model="invoiceData.invoiceTitle"   placeholder="请填写个人抬头" maxlength="20">
 							</view>
-							<view class="group-from" v-if="invoiceData.invoiceTitleType == 1">
+							<view class="group-from" v-if="invoiceData.invoiceTitleType == '1'">
 								<input class="form-input" type="text" v-model="invoiceData.invoiceTitle"   placeholder="请填写公司抬头" maxlength="20">
 							</view>
-							<view class="group-from" v-if="invoiceData.invoiceTitleType == 1">
+							<view class="group-from" v-if="invoiceData.invoiceTitleType == '1'">
 								<input class="form-input" type="text" v-model="invoiceData.corporationTaxNum"   placeholder="请填写纳税人识别号" maxlength="20">
 							</view>
 						</view>
@@ -98,9 +98,14 @@
 <script>
 	export default{
 		name:"invoice",
+		props:{
+			invoiceDatas:{
+				type:Object
+			}
+		},
 		data() {
 			return{
-				invoiceText:'不开发票',
+				invoiceText:'',
 				specClass: '',//规格弹窗css类,控制开关动画
 				invoiceType:'1',//发票类型
 				current:0,
@@ -116,24 +121,34 @@
 					{value:'1',name:'公司'},
 				],
 				invoiceData:{
-					invoiceContent:'',//商品明细
-					invoiceTitle:'',//单位名称
+					invoiceContent:'',	 //商品明细
+					invoiceTitle:'',	 //单位名称
 					corporationTaxNum:'',//纳税人识别号
 					registeredAddress: '',//单位地址
 					registeredPhone:'',	 //注册电话
 					openBank:'',		//开户银行
 					bankAccountNo: ''  ,//银行账号
-					invoiceTitleType:0,//发票抬头类型 1企业 0个人
+					invoiceTitleType:'0',//发票抬头类型 1企业 0个人
 				},
 			}
 		},
 		created(){
-			
+			console.log(this.invoiceDatas)
+			this.initData(this.invoiceDatas)
 		},
 		computed: {
 
 		},
 		methods:{
+			initData(res) {
+				if(res){
+					this.invoiceText = '无发票信息'
+				}else{
+					this.invoiceData = res
+					this.invoiceText = res.invoiceTitle
+					this.invoiceData.bankAccountNo = this.$reg.bankRegex(res.bankAccountNo)
+				}
+			},
 			choiceaInvoiceConfim(){
 				console.log(this.invoiceType);
 				switch(this.invoiceType){
@@ -148,7 +163,10 @@
 					case '3':
 						this.choiceaInvoiceThree()
 						this.invoiceText = '不开发票'
-						break;	
+						break;
+						default:
+						this.choiceaInvoiceThree()
+						this.invoiceText = '不开发票'
 				}
 			},
 			choiceaInvoiceFirst(){//增值税发票
@@ -176,7 +194,7 @@
 					this.$util.msg('请输入银行账号',2000)
 					return
 				}
-				this.$emit('handleChoiceaInvoice',this.invoiceData)
+				this.$emit('handleChoiceaInvoice',Object.assign(this.invoiceData,'',{type:2}))
 				this.hideSpec()
 			},
 			choiceaInvoiceTwo(){//普通发票
@@ -184,7 +202,6 @@
 					this.$util.msg('请选择商品明细',2000)
 					return
 				}
-				console.log(this.invoiceData.invoiceTitleType);
 				switch(this.invoiceData.invoiceTitleType){
 					case '0':
 						if(this.invoiceData.invoiceTitle == ""){
@@ -203,20 +220,20 @@
 						}
 						break;
 				}
-				this.$emit('handleChoiceaInvoice',this.invoiceData)
+				this.$emit('handleChoiceaInvoice',Object.assign(this.invoiceData,'',{type:1}))
 				this.hideSpec()
 			},
 			choiceaInvoiceThree(){//不开发票
-				this.$emit('handleChoiceaInvoice',this.invoiceData)
+				this.$emit('handleChoiceaInvoice',Object.assign(this.invoiceData,'',{type:0}))
 				this.hideSpec()
 			},
-			hideSpec() {//关闭选择数量确认弹窗
+			hideSpec() {//关闭弹窗
 				this.specClass = 'hide';
 				setTimeout(() => {
 					this.specClass = 'none';
 				}, 200);
 			},
-			hanldOperationConfim(){//显示选择数量确认弹窗
+			hanldOperationConfim(){//显示发票弹窗
 				this.specClass = 'show';
 			},
 			radioChange(e) {
@@ -230,6 +247,7 @@
 			},
 			radioChangeTitle(e) {
 				this.invoiceData.invoiceTitleType = e.target.value;
+				console.log(this.invoiceData.invoiceTitleType)
 				for (let i = 0; i < this.invoiceTitleList.length; i++) {
 					if (this.invoiceTitleList[i].value === this.invoiceData.invoiceTitleType) {
 						this.titleCurrent = i;
@@ -285,7 +303,6 @@
 		.invoice-text{
 			width: 702rpx;
 			padding: 0 24rpx;
-			width: 100%;
 			font-size: $font-size-24;
 			color: #666666;
 			line-height: 60rpx;

+ 4 - 4
components/module/orderDetails/goodsList.vue

@@ -14,9 +14,9 @@
 						</view>
 						<view class="pros-product">
 							<view class="producttitle">{{pros.name}}</view>
-							<view class="productspec">规格:{{pros.productUnit}}</view>
+							<view class="productspec">规格:{{pros.productUnit ? pros.productUnit : ''}}</view>
 							<view class="product-view">
-								<view class="view-num">单价:{{pros.price.toFixed(2)}}</view>
+								<view class="view-num">单价:{{pros.price.toFixed(2)}}</view>
 								<view class="view-num">数量(赠品):{{pros.num}}({{pros.presentNum}})</view>
 							</view>
 							<view class="product-view">
@@ -24,10 +24,10 @@
 								<view class="view-num">折扣:{{discount == null ? '0' : discount}}%</view>
 							</view>
 							<view class="product-view">
-								<view class="view-num">折后单价:{{pros.discountPrice.toFixed(2)}}</view>
+								<view class="view-num">折后单价:{{pros.discountPrice.toFixed(2)}}</view>
 							</view>
 							<view class="product-view">
-								<view class="view-num">合计:{{pros.totalFee.toFixed(2)}}</view>
+								<view class="view-num">合计:{{pros.totalFee.toFixed(2)}}</view>
 							</view>
 						</view>	
 					</view>

+ 1 - 1
components/module/orderDetails/invoiceTent.vue

@@ -70,7 +70,7 @@
 		methods:{
 			initData(res) {
 				console.log(res)
-				if(res == null){
+				if(res.type == '0'){
 					this.isEmpty = true
 				}else{
 					this.isEmpty = false

+ 2 - 2
components/module/orderDetails/sellerDetaileButton.vue

@@ -7,8 +7,8 @@
 				分享订单
 			</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 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>

+ 2 - 4
manifest.json

@@ -60,14 +60,12 @@
         "setting" : {
             "urlCheck" : true,
             "minified" : true,
-            "es6" : true,
+            "es6" : false,
             "postcss" : true
         },
         "usingComponents" : true,
         "permission" : {},
-		"navigateToMiniProgramAppIdList" : [
-			"wx5a5cda32926f55ac"
-		]
+        "navigateToMiniProgramAppIdList" : [ "wx5a5cda32926f55ac" ]
     },
     "mp-alipay" : {
         "usingComponents" : true

+ 3 - 3
market/pages/cart/buyagain.vue

@@ -40,8 +40,8 @@
 
 <script>
 	import buyagainList from '@/components/module/listTemplate/buyagainList'
-	import { shoppingAddCart ,shoppingCartAddCart} from "@/api/cart.js" 
-	import { getSellerProductNum } from "@/api/seller.js" 
+	import { shoppingAddCart } from "@/api/cart.js" 
+	import { getSellerProductNum,shoppingCartAddCart } from "@/api/seller.js" 
 	export default{
 		components:{
 			buyagainList
@@ -261,7 +261,7 @@
 				height: 88rpx;
 				display: flex;
 				.button {
-					width: 340rpx;
+					width: 702rpx;
 					height: 88rpx;
 					color: #fff;
 					display: flex;

+ 1 - 1
market/pages/club/addoperator.vue

@@ -102,7 +102,7 @@
 			return {
 			  title: '快来成为机构运营人员吧~',
 			  path: 'pages/login/bindOperator',
-			  imageUrl:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAWWkhAAXDP4-6m_c397.png'
+			  imageUrl:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/04/%E5%BF%AB%E6%9D%A5%E6%88%90%E4%B8%BA%E6%9C%BA%E6%9E%84%E8%BF%90%E8%90%A5%E4%BA%BA%E5%91%98%403x.png'
 			}
 		},
 		onShow() {

+ 328 - 0
market/pages/club/allClub-list.vue

@@ -0,0 +1,328 @@
+<template>
+	<view class="container club clearfix">
+		<view class="club-search clearfix">
+			<view class="search-from name">
+				<text class="iconfont icon-iconfonticonfontsousuo1"></text>
+				<input class="input" type="text" v-model="searchInputVal" @input="onShowClose" placeholder="请输入机构关键词" maxlength="16"/>
+				<text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText()"></text>
+			</view>
+			<view class="search-btn">
+				<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">
+				<scroll-view scroll-y="true" >
+					<view class="list" v-for="(item, index) in clubList" :key="index">
+						<view class="list-left">
+							<view class="list-head"><image :src="item.headpic ? item.headpic : '../../../static/temp/logo@3x.png'" mode=""></image></view>
+							<view class="list-tel">
+								<text class="txt">{{item.name}}</text>
+								<text class="txt sm">
+									<text class="txt-le">{{item.linkMan1 ? item.linkMan1 : ''}}</text>
+									{{item.contractMobile1 ? item.contractMobile1 : item.contractMobile1}}
+								</text>
+							</view>
+						</view>
+						<view class="list-opea">
+							<view class="opea-type-cell" @click.stop="goOperator(item)">
+								<text class="text">邀请运营人员</text>
+							</view>
+						</view>
+					</view>
+					<!--加载loadding-->
+					<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
+					<tui-nomore :visible="!pullUpOn" bgcolor="#F7F7F7" :text='nomoreText'></tui-nomore>
+					<!--加载loadding-->
+				</scroll-view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import authorize from '@/common/config/authorize.js'	
+	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
+	import tuiNomore from "@/components/tui-components/nomore/nomore"
+	import { getFindAllClubList } from "@/api/seller.js"
+	export default {
+		components:{
+			tuiLoadmore,
+			tuiNomore,
+		},
+		data() {
+			return {
+				serviceProviderId:'',
+				isShowClose:false,
+				searchInputVal:'',
+				isEmpty:false,
+				nomoreText: '上拉显示更多',
+				pageNum:1,
+				pageSize:10,
+				hasNextPage:false,
+				loadding: false,
+				pullUpOn: true,
+				pullFlag: true,
+				allowDataStatus:true,
+				wrapperHeight:'100%',
+				scrollHeight:'',
+				deleteAddressId:'',
+				currPage:'',//当前页面
+				prevPage:'',//上一个页面
+				tabCurrentIndex:0,
+				listStatus:1,
+				clubList:[],
+				isIphoneX:this.$store.state.isIphoneX,
+				show_index:0,//控制显示那个组件
+			}
+		},
+		onLoad(){				
+			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)
+			},
+			searchClubList(){
+				this.pageNum=1
+				this.initclubList()
+			},
+			initclubList(){	
+				let params = { searchWord:this.searchInputVal,pageNum:1,pageSize:this.pageSize }
+				getFindAllClubList(params).then(response =>{
+					let responseData = response.data
+					if(responseData.results&&responseData.results.length > 0){
+						this.isEmpty = false
+						this.hasNextPage = response.data.hasNextPage
+						this.clubList =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.isEmpty = true
+					}
+				}).catch(response =>{
+					this.$util.msg(response.msg,2000)
+				})
+			},	
+			getOnReachBottomData(){
+				this.pageNum+=1
+				let params = {searchWord:this.searchInputVal,pageNum:this.pageNum,pageSize:this.pageSize }
+				getFindAllClubList(params).then(response =>{
+					let responseData = response.data
+					if(responseData.results&&responseData.results.length > 0){
+						this.hasNextPage = response.data.hasNextPage
+						this.clubList = this.clubList.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)
+				})
+			},
+			goOperator(item){
+				this.$api.setStorage('orderUserInfo',item)
+				this.$api.navigateTo('/market/pages/club/addoperator')
+			},
+			onShowClose () {//输入框失去焦点时触发
+				if(this.searchInputVal != ''){
+					this.isShowClose = true
+				}else{					
+					this.isShowClose = false
+					this.pageNum=1
+					this.initclubList()
+				}
+			},
+			delInputText(){//清除输入框内容
+				this.searchInputVal = ''
+				this.isShowClose = false
+				this.pageNum=1
+				this.initclubList()
+			}
+		},
+		onReachBottom() {
+			if(this.hasNextPage){
+				this.loadding = true
+				this.pullUpOn = true
+				this.getOnReachBottomData()
+			}	
+		},
+		onShow() {
+			this.$api.getStorage().then(response =>{
+				console.log(response)
+				this.serviceProviderId = response.serviceProviderID
+				this.pageNum = 1;
+				this.initclubList();
+			})
+		}
+	}
+</script>
+
+<style lang='scss'>
+	page {
+		height: auto;
+	}
+	page,.container{
+		/* padding-bottom: 120upx; */
+		background: #F7F7F7;
+		border-top: 1px solid #EBEBEB;
+	}
+	.container{
+		position: relative;
+	}
+	.club-search{
+		height: 64rpx;
+		width: 702rpx;
+		padding: 24rpx;
+		background: #FFFFFF;
+		display: flex;
+		align-items: center;
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 999;
+		.search-from{
+			width: 582rpx;
+			height: 64rpx;
+			background: #F7F7F7;
+			border-radius: 14rpx;
+			float: left;
+			position: relative;
+			.input{
+				width: 500rpx;
+				height: 64rpx;
+				float: left;
+				line-height: 64rpx;
+				color: $text-color;
+				font-size: $font-size-24;
+			}
+			.icon-iconfonticonfontsousuo1{
+				width: 64rpx;
+				height: 64rpx;
+				line-height: 64rpx;
+				text-align: center;
+				display: block;
+				font-size: $font-size-38;
+				float: left;
+				color: #999999;
+			}
+			.icon-shanchu1{
+				font-size: $font-size-32;
+				color: #999999;
+				position: absolute;
+				width: 64rpx;
+				height: 64rpx;
+				line-height: 64rpx;
+				text-align: center;
+				top: 0;
+				right: 0;
+				z-index: 10;
+			}
+		}
+		.search-btn{
+			width: 120rpx;
+			line-height: 64rpx;
+			text-align: center;
+			font-size: $font-size-28;
+			color: $color-system;
+			float: left;
+			background: #FFFFFF;
+		}
+	}
+	.club-main{
+		padding-top: 122rpx;
+		.list{
+			display: flex;
+			align-items: center;
+			width: 702rpx;
+			height: 92rpx;
+			padding: 24rpx;
+			background: #FFFFFF;
+			position: relative;
+			border-bottom: 1px solid #EBEBEB;
+			.list-left{
+				display: flex;
+				flex: 8;
+				.list-head{
+					width: 92rpx;
+					height: 92rpx;
+					border-radius: 14rpx;
+					image{
+						width: 92rpx;
+						height: 92rpx;
+						border-radius: 14rpx;
+					}
+				}
+				.list-tel{
+					margin-left: 18rpx;
+					.txt{
+						display: flex;
+						flex: 1;
+						font-size: $font-size-28;
+						color: $text-color;
+						line-height: 46rpx;
+						&.sm{
+							font-size: $font-size-24;
+							color: #666666;
+							.txt-le{
+								margin-right: 26rpx;
+							}
+						}
+					}
+				}
+			}
+			.list-opea{
+				display: flex;
+				flex: 2;
+				color: #166CE1;
+				flex-direction: column;
+				.opea-type-cell{
+					font-size: 24rpx;
+					.text{
+						width: 156rpx;
+						height: 60rpx;
+						padding: 0 20rpx;
+						line-height: 60rpx;
+						border-radius: 14rpx;
+						font-size: $font-size-24;
+						color: #FFFFFF;
+						text-align: center;
+						background: $btn-confirm;
+						display: block;
+					}
+				}
+			}
+		}
+	}
+</style>
+

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

@@ -18,7 +18,7 @@
 				<scroll-view scroll-y="true" >
 					<view class="list" v-for="(item, index) in clubList" :key="index">
 						<view class="list-left">
-							<view class="list-head"><image :src="item.medicalPracticeLicenseImg ? item.medicalPracticeLicenseImg : '../../../static/temp/logo@3x.png'" mode=""></image></view>
+							<view class="list-head"><image :src="item.headpic ? item.headpic : '../../../static/temp/logo@3x.png'" mode=""></image></view>
 						</view>
 						<view class="list-item">
 							<view class="list-title">
@@ -35,11 +35,6 @@
 									<text>订单列表</text>
 								</view>
 							</view>
-							<view class="list-opea">
-								<view class="btn yel" @click.stop="_goOperator(item.clubID)">
-									<text>邀请运营人员</text>
-								</view>
-							</view>
 						</view>
 					</view>
 					<!--加载loadding-->
@@ -173,10 +168,6 @@
 			_goHistory(item){
 				this.$api.setStorage('orderUserInfo',item)
 				this.$api.navigateTo('/market/pages/order/order-history')
-			},
-			_goOperator(item){
-				this.$api.setStorage('orderUserInfo',item)
-				this.$api.navigateTo('/market/pages/club/addoperator')
 			}
 		},
 		onReachBottom() {
@@ -278,7 +269,7 @@
 				}
 			}
 			.list-item{
-				height: 200rpx;
+				height: 140rpx;
 				flex: 8;
 				display: flex;
 				flex-direction:column ;
@@ -308,11 +299,11 @@
 						text-align: center;
 						margin: 0 12rpx;
 						&.org{
-							background:$color-system ;
+							background:$btn-confirm;
 							color: #FFFFFF;
 						}
 						&.gre{
-							background:$color-system ;
+							background:$btn-confirm;
 							color: #FFFFFF;
 						}
 						&.yel{

+ 12 - 10
market/pages/club/list.vue

@@ -19,14 +19,16 @@
 				<scroll-view scroll-y="true" >
 					<view class="list" v-for="(item, index) in clubList" :key="index">
 						<view class="list-left">
-							<view class="list-head"><image :src="item.medicalPracticeLicenseImg ? item.medicalPracticeLicenseImg : '../../../static/temp/logo@3x.png'" mode=""></image></view>
+							<view class="list-head"><image :src="item.headpic ? item.headpic : '../../../static/temp/logo@3x.png'" mode=""></image></view>
 							<view class="list-tel">
 								<text class="txt">{{item.name}}</text>
-								<text class="txt sm"><text class="txt-le">{{item.linkMan}}</text>{{item.contractMobile}}</text>
+								<text class="txt sm">
+									<text class="txt-le">{{item.linkMan1 ? linkMan1 : ''}}</text>
+									{{item.contractMobile1 ? item.contractMobile1 : ''}}</text>
 							</view>
 						</view>
 						<view class="list-opea" v-if="tabCurrentIndex===2">
-							<view class="opea-type-dell" @click.stop="checkData(item.userID)">
+							<view class="opea-type-dell" @click.stop="checkData(item)">
 								<text class="iconfont icon-xieboke"></text>
 								<text>修改资料</text>
 							</view>
@@ -36,7 +38,7 @@
 							</view>
 						</view>
 						<view class="list-opea" v-else>
-							<view class="opea-type-cell" @click.stop="checkData(item.userID)">
+							<view class="opea-type-cell" @click.stop="checkData(item)">
 								<text class="iconfont icon-xieboke"></text>
 								<text>修改资料</text>
 							</view>
@@ -189,21 +191,21 @@
 				}
 				this.initclubList()
 			},
-			checkData(id){
+			checkData(item){
 				switch(this.tabCurrentIndex){
 					case 0:
-						this.$api.navigateTo(`/market/pages/login/information?id=${id}`)
+						this.$api.navigateTo(`/market/pages/login/information?userID=${item.userID}`)
 						break;
 					case 1:
-						this.$api.navigateTo(`/market/pages/login/apply?id=${id}`)
+						this.$api.navigateTo(`/market/pages/login/apply?userID=${item.userID}`)
 						break;
 					case 2:
-						this.$api.navigateTo(`/market/pages/login/information?id=${id}`)
+						this.$api.navigateTo(`/market/pages/login/information?userID=${item.userID}`)
 						break;
 				}
 			},
-			orderHistory(id){
-				this.$api.navigateTo(`/market/pages/order/order-history?clubID=${id}`)
+			orderHistory(item){
+				this.$api.navigateTo(`/market/pages/order/order-history?clubID=${item.clubID}`)
 			},
 			onShowClose () {//输入框失去焦点时触发
 				if(this.searchInputVal != ''){

+ 91 - 206
market/pages/login/apply.vue

@@ -1,6 +1,7 @@
 <template>
-	<view class="container register">
-		<view class="register-error clearfix">
+	<view class="container register" :style="{paddingTop:CustomBar+'px'}">
+		<cu-custom :navbar-data='nvabarData'  @navigateBack="hanldNavigateBack"></cu-custom>
+		<view class="register-error clearfix" :style="{top:CustomBar+'px'}">
 			<view class="error-top animation" @click="showOpenError" :class="{'error-top--none': isOpenError}" >
 				<view class="name">审核未通过原因</view>
 				<view class="icon">{{ isOpenError ? '' : '查看详情'}}<text class="iconfont icon-xiangxiajiantou" :class="{'icon-xiangxiajiantou-active':isOpenError}"></text></view>
@@ -31,34 +32,6 @@
 					<input class="row-input" type="text" v-model="clubContact" placeholder="请输入联系姓名" maxlength="6"/>
 				</view>
 			</view>
-			<view class="register-row clearfix">
-				<view class="register-from">
-					<view class="label">手机号:</view>
-					<input class="row-input" type="number" v-model="mobile" placeholder="请输入手机号" maxlength="11"/>
-					<view class="row-btn" @click="showCheckPhone">{{ isShowCheckPhone ? '取消修改' : '修改手机号' }}</view>
-				</view>
-			</view>
-			<view class="register-row clearfix" v-show="isShowCheckPhone">
-				<view class="register-from code">
-					<input class="row-input" type="number" v-model="mobileCode" placeholder="请输入上述手机号的验证码" maxlength="6"/>
-				</view>
-				<view class="register-from btn" :class="[isMobileDisabled  ? 'disabled' : '']">
-					<button class="row-input"  type="button" @click.stop="getMobileCodeFn" :disabled="isMobileDisabled">{{ mobileCodeText }}</button>
-				</view>
-			</view>
-			<view class="register-row clearfix" v-show="isShowCheckPhone">
-				<view class="register-from">
-					<input class="row-input" type="number" v-model="newMobile" placeholder="请输入新手机号" maxlength="11"/>
-				</view>
-			</view>
-			<view class="register-row clearfix" v-show="isShowCheckPhone">
-				<view class="register-from code">
-					<input class="row-input" type="number" v-model="newMobileCode" placeholder="请输入新手机号的验证码" maxlength="6"/>
-				</view>
-				<view class="register-from btn" :class="[isNewMobileDisabled  ? 'disabled' : '']" >
-					<button class="row-input"  type="button" @click.stop="getNewMobileCodeFn" :disabled="isNewMobileDisabled">{{ newMobileCodeText }}</button>
-				</view>
-			</view>
 		</view>
 		<view class="register-main clearfix" >
 			<view class="register-row">
@@ -69,7 +42,7 @@
 			<view class="register-row clearfix">
 				<view class="register-from">
 					<view class="label">机构简称:</view>
-					<input class="row-input" type="text" v-model="clubContact" placeholder="请输入您的机构简称" maxlength="10"/>
+					<input class="row-input" type="text" v-model="abbreviation" placeholder="请输入您的机构简称" maxlength="10"/>
 				</view>
 			</view>
 			<view class="register-row clearfix">
@@ -133,10 +106,6 @@
 					<view class="label">机构类型:</view>
 					<view class="row-input picker" @click="bindPickerChange">{{ organizationTypeText }}</view>
 					<text class="iconfont icon-xiayibu"></text>
-<!-- 				<picker @change="bindPickerChange" :value="index" :range="organizationTypeList" range-key="name">
-						<view class="row-input" :class="[isOrganizationType == 0 ? 'none' : '']">{{organizationTypeList[typtIndex].name}}</view>
-					</picker>
- -->					
 				</view>
 			</view>
 			<view class="register-row clearfix" v-if="isOrganizationType == 1">
@@ -254,8 +223,9 @@
 <script>
 import { mapMutations } from 'vuex';
 	import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker.vue'
-	import { organizationUpdateModifyInfo , organizationModifyUpdate  } from "@/api/use.js"
-	import { getClubMobileCode,getClubNewMobileCode,uploadFileImage } from "@/api/utils.js" 
+	import { organizationUpdateModifyInfo  } from "@/api/use.js"
+	import { uploadFileImage } from "@/api/utils.js" 
+	import { sellerClubUpdate } from "@/api/seller.js" 
 	var self;
 	export default{
 		components:{
@@ -263,28 +233,20 @@ import { mapMutations } from 'vuex';
 		},
 		data() {
 			return{
+				nvabarData: {		//顶部自定义导航
+					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
+					showSearch: 0,
+					title: '修改申请信息', // 导航栏 中间的标题
+				},
+				CustomBar:this.CustomBar,// 顶部导航栏高度
 				isOpenError:false,
 				errorList:[],
-				isShowCheckPhone:false,		//是否显示修改手机
-				tabCurrentIndex:3,	
-				isPreviewImage:false,   	//预览图片开关
-				isMobileDisabled: false,	//手机验证码按钮控制
-				isNewMobileDisabled: false,	//手机验证码按钮控制
-				userID:'',					//用户ID
-				clubID:'',					//会所ID
-			    count: '',					//倒计时
-			    newCount: '',				//倒计时
-			    codeTime: null,
-			    codeTimeNew: null,
-				clubName:'',	 			//机构名称
-				abbreviation:'',	 		//机构简称
-				clubContact:'',	 			//联系人
-				mobile:'',					//联系人手机号
-				newMobile:'',				//新联系人手机号
-				mobileCode:'',				//手机号验证码
-				newMobileCode:'',			//新手机号手机验证码
-				mobileCodeText: '获取验证码',
-				newMobileCodeText: '获取验证码',
+				isPreviewImage:false,   //预览图片开关
+				userID:'',				//用户ID
+				clubID:'',				//会所ID
+				clubName:'',	 		//机构名称
+				abbreviation:'',	 	//机构简称
+				clubContact:'',	 		//联系人
 				socialCreditCode:'',	//统一社会信用代码
 				isAgreed:0,				//是否勾选协议
 				isDisabled:true,
@@ -323,6 +285,7 @@ import { mapMutations } from 'vuex';
 		},
 		onLoad(option) {
 			console.log(option)
+			this.userID = option.userID
 			this.organizationInfo()
 		},
 		methods:{
@@ -334,74 +297,71 @@ import { mapMutations } from 'vuex';
 				})
 			},
 			organizationInfo(){
-				this.$api.getStorage().then((resolve) =>{
-					this.userID = resolve.userID
-					organizationUpdateModifyInfo({userID:10283}).then(response =>{
-						let organizationClub = response.data.club
-						let organizationUser = response.data.user
-						this.errorList =organizationUser.auditNoteList
-						this.email = organizationUser.email	
-						this.clubID = organizationUser.clubID
-						this.clubName = organizationClub.name
-						this.clubContact = organizationClub.linkMan
-						this.mobile = organizationUser.bindMobile
-						this.abbreviation = organizationClub.sname
-						if( organizationClub.provinceID == null ){
-							this.addressData.provinceID = ''
-						}else{
-							this.addressData.provinceID = organizationClub.provinceID
-						}
-						if( organizationClub.cityID == null ){
-							this.addressData.cityID = ''
-						}else{
-							this.addressData.cityID = organizationClub.cityID
-						}
-						if( organizationClub.townID == null ){
-							this.addressData.townID = ''
+				organizationUpdateModifyInfo({userID:this.userID}).then(response =>{
+					let organizationClub = response.data.club
+					let organizationUser = response.data.user
+					this.errorList =organizationUser.auditNoteList
+					this.email = organizationUser.email	
+					this.clubID = organizationUser.clubID
+					this.clubName = organizationClub.name
+					this.clubContact = organizationClub.linkMan1
+					this.mobile = organizationUser.bindMobile
+					this.abbreviation = organizationClub.sname
+					if( organizationClub.provinceID == null ){
+						this.addressData.provinceID = ''
+					}else{
+						this.addressData.provinceID = organizationClub.provinceID
+					}
+					if( organizationClub.cityID == null ){
+						this.addressData.cityID = ''
+					}else{
+						this.addressData.cityID = organizationClub.cityID
+					}
+					if( organizationClub.townID == null ){
+						this.addressData.townID = ''
+					}else{
+						this.addressData.townID = organizationClub.townID
+					}
+					this.addressData.address = organizationClub.provincialAddress
+					this.addressData.addressDetail = organizationClub.address
+					this.socialCreditCode = organizationClub.socialCreditCode
+					this.firstClubType = organizationClub.firstClubType
+					this.secondClubType = organizationClub.secondClubType
+					this.uploadBusinessImage = organizationClub.businessLicenseImage
+					this.uploadMentuzImage = organizationClub.headpic
+					this.uploadMedicalImage = organizationClub.medicalPracticeLicenseImg
+					this.department = organizationClub.department						
+					this.clubTelePhone = organizationClub. contractPhone
+					this.clubFax = organizationClub.fax
+					this.companyPprofile = organizationClub.info
+					//机构类型&&主营项目
+					switch(this.firstClubType){
+						case '1':
+							this.organizationTypeText = '医美'
+							this.isOrganizationType = 1
+							break;
+						case '2':
+							this.organizationTypeText = '生美'
+							this.isOrganizationType = 2
+							break;
+						case null:
+							this.organizationTypeText = '请选择机构类型'
+							this.isOrganizationType = 0
+							break;
+					}	
+					if(organizationClub.mainpro!=null){
+						if(this.firstClubType == '1'){
+							this.mentuzCampList = this.setNewMainpro(organizationClub.mainpro)
 						}else{
-							this.addressData.townID = organizationClub.townID
-						}
-						this.addressData.address = organizationClub.provincialAddress
-						this.addressData.addressDetail = organizationClub.address
-						this.socialCreditCode = organizationClub.socialCreditCode
-						this.firstClubType = organizationClub.firstClubType
-						this.secondClubType = organizationClub.secondClubType
-						this.uploadBusinessImage = organizationClub.businessLicenseImage
-						this.uploadMentuzImage = organizationClub.headpic
-						this.uploadMedicalImage = organizationClub.medicalPracticeLicenseImg
-						this.department = organizationClub.department						
-						this.clubTelePhone = organizationClub. contractPhone
-						this.clubFax = organizationClub.fax
-						this.companyPprofile = organizationClub.info
-						//机构类型&&主营项目
-						switch(this.firstClubType){
-							case '1':
-								this.organizationTypeText = '医美'
-								this.isOrganizationType = 1
-								break;
-							case '2':
-								this.organizationTypeText = '生美'
-								this.isOrganizationType = 2
-								break;
-							case null:
-								this.organizationTypeText = '请选择机构类型'
-								this.isOrganizationType = 0
-								break;
-						}	
-						if(organizationClub.mainpro!=null){
-							if(this.firstClubType == '1'){
-								this.mentuzCampList = this.setNewMainpro(organizationClub.mainpro)
-							}else{
-								this.medicaCampList = this.setNewMainpro(organizationClub.mainpro)
-							}
-						}
-						//机构类型
-						switch(this.secondClubType){
-							case '1':this.current = 0;break;
-							case '2':this.current = 1;this.isDepartment=true;break;
-							case '3':this.current = 2;this.isDepartment=true;break;
+							this.medicaCampList = this.setNewMainpro(organizationClub.mainpro)
 						}
-					})
+					}
+					//机构类型
+					switch(this.secondClubType){
+						case '1':this.current = 0;break;
+						case '2':this.current = 1;this.isDepartment=true;break;
+						case '3':this.current = 2;this.isDepartment=true;break;
+					}
 				}).catch(response =>{
 					this.$util.msg(response.msg,2000)
 				})
@@ -428,11 +388,7 @@ import { mapMutations } from 'vuex';
 						userID:this.userID,
 						clubID:this.clubID,					//会所ID
 						name:this.clubName,
-						linkMan:this.clubContact,
-						contractMobile2:this.mobile,
-						contractMobile:this.newMobile,
-						mobileCode:this.mobileCode,
-						newMobileCode:this.newMobileCode,
+						linkMan1:this.clubContact,
 						sname:this.abbreviation,
 						provinceID:this.addressData.provinceID,
 						cityID:this.addressData.cityID,
@@ -452,83 +408,17 @@ import { mapMutations } from 'vuex';
 						info : this.companyPprofile
 				}
 				console.log(params)
-				organizationModifyUpdate(params).then(response =>{
-					this.$util.msg(response.msg,2000);
+				sellerClubUpdate(params).then(response =>{
+					this.$util.msg('修改成功',2000);
 					setTimeout(()=>{
-						this.$api.switchTabTo('/pages/tabBar/home/home')
+						uni.navigateBack({
+							delta: 1
+						});
 					},2000)
 				}).catch(response =>{
 					this.$util.msg(response.msg,2000);
 				})
 			},
-			getMobileCodeFn(){
-				if( this.mobile == ''){
-					this.$util.msg('请输入手机号',2000);
-					return
-				}
-				if(!this.$reg.isMobile(this.mobile)){
-					this.$util.msg('请输入正确的手机号',2000);
-					return
-				}
-				let params = { mobile : this.mobile }
-				this.isMobileDisabled = true;
-				getClubMobileCode(params).then(response =>{
-					this.$util.msg('验证短信已发送',2000);
-					const TIME_COUNT = 60;
-			     	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( response =>{
-					this.$util.msg(response.msg,2000);
-					this.isMobileDisabled = false;
-				})
-			},
-			getNewMobileCodeFn(){
-				if( this.newMobile == ''){
-					this.$util.msg('请输入手机号',2000);
-					return
-				}
-				if(!this.$reg.isMobile(this.newMobile)){
-					this.$util.msg('请输入正确的手机号',2000);
-					return
-				}
-				let params = { newMobile : this.newMobile }
-				this.isNewMobileDisabled = true;
-				getClubNewMobileCode(params).then(response =>{
-					this.$util.msg('验证短信已发送',2000);
-					const TIME_COUNT = 60;
-			     	if (!this.codeTimeNew) {
-			       		this.newCount = TIME_COUNT;
-			       		this.isNewMobileDisabled = true;
-			       		this.codeTimeNew = setInterval(() => {
-			       			if (this.newCount > 1 && this.newCount <= TIME_COUNT) {
-			         			this.newCount
-			         			this.newMobileCodeText = this.newCount +'s重新发送'
-			        		} else {
-				         		this.isNewMobileDisabled = false;
-				         		clearInterval(this.codeTimeNew)
-				         		this.codeTimeNew = null
-								this.newMobileCodeText = '获取验证码'
-			        		}
-			       		},1000)
-			      	}
-				}).catch( res =>{
-					this.$util.msg(response.msg,2000);
-					this.isNewMobileDisabled = false;
-				})
-			},
 			// 三级联动选择
 			showMulLinkageThreePicker() {
 				this.isShowInput = true
@@ -659,6 +549,8 @@ import { mapMutations } from 'vuex';
 				this.isCheck = !this.isCheck
 				if(this.isCheck){
 					this.isAgreed = 1
+				}else{
+					this.isAgreed = 0
 				}
 			},
 			onBlurInput(e){//
@@ -691,13 +583,6 @@ import { mapMutations } from 'vuex';
 			showOpenError(){//顶部审核信息详情
 				this.isOpenError = !this.isOpenError
 			},
-			showCheckPhone(){//控制修改手机显隐
-				this.isShowCheckPhone = !this.isShowCheckPhone
-			},
-			steps(index) {//$attrstab切换
-				console.log(index)
-				this.tabCurrentIndex = index;
-			}
 		},
 		onShow() {
 			if(this.isPreviewImage){

+ 21 - 4
market/pages/login/information.vue

@@ -1,5 +1,6 @@
 <template>
-	<view class="container register">
+	<view class="container register" :style="{paddingTop:CustomBar+'px'}">
+		<cu-custom :navbar-data='nvabarData'  @navigateBack="hanldNavigateBack"></cu-custom>
 		<view class="register-main first clearfix">
 			<view class="register-row">
 				<view class="register-title">基本信息</view>
@@ -242,6 +243,12 @@
 		},
 		data() {
 			return{
+				nvabarData: {		//顶部自定义导航
+					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
+					showSearch: 0,
+					title: '修改资料', // 导航栏 中间的标题
+				},
+				CustomBar:this.CustomBar,// 顶部导航栏高度
 				isPreviewImage:false,   //预览图片开关
 				userID:'',				//机构的userID
 				clubID:'',				//会所ID
@@ -287,10 +294,17 @@
 		},
 		onLoad(option) {
 			console.log(option)
-			this.userID = option.id
+			this.userID = option.userID
 			this.organizationInfo()
 		},
 		methods:{
+			hanldNavigateBack(){
+				this.$util.modal('','确定放弃本次修改吗?','确定','取消',true,() =>{
+					uni.navigateBack({
+						delta: 1
+					});
+				})
+			},
 			organizationInfo(){
 				organizationUpdateModifyInfo({userID:this.userID}).then(response =>{
 					let organizationClub = response.data.club
@@ -298,7 +312,7 @@
 					this.email = organizationUser.email	
 					this.clubID = organizationUser.clubID
 					this.clubName = organizationClub.name
-					this.clubContact = organizationClub.linkMan
+					this.clubContact = organizationClub.linkMan1
 					this.mobile = organizationUser.bindMobile
 					this.abbreviation = organizationClub.sname
 					if( organizationClub.provinceID == null ){
@@ -383,7 +397,7 @@
 						userID:this.userID,
 						clubID:this.clubID,					//会所ID
 						name:this.clubName,
-						linkMan:this.clubContact,
+						linkMan1:this.clubContact,
 						sname:this.abbreviation,
 						provinceID:this.addressData.provinceID,
 						cityID:this.addressData.cityID,
@@ -548,6 +562,8 @@
 				this.isCheck = !this.isCheck
 				if(this.isCheck){
 					this.isAgreed = 1
+				}else{
+					this.isAgreed = 0
 				}
 			},
 			onBlurInput(e){//
@@ -566,6 +582,7 @@
 					let _OBJ = {value:index,name:item,checked:true}
 					_ARRAY.push(_OBJ)
 				})
+				console.log(_ARRAY)
 				return _ARRAY
 			},
 			addCustomItem(){

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

@@ -1,5 +1,5 @@
 <template>
-	<view class="container login" :style="{paddingTop:CustomBar+'px'}">
+	<view class="container login" :style="{paddingTop:CustomBar+'px'}" v-if="isSeller">
 		<cu-custom :navbar-data='nvabarData'  @navigateBack="hanldNavigateBack"></cu-custom>
 		<view class="login-main">
 			<image class="logo" src="../../../static/login-logo@3x.png" mode=""></image>
@@ -19,9 +19,6 @@
 				<input v-show="!isShowEye" type="password" v-model="password"  :password="true" maxlength="18" class="input" placeholder="请输入密码" autocomplete="new-password"/>
 				<view class="iconfont" :class="isShowEye ? iconEyen : iconEyes"  @click="passwordClick"></view>
 			</view>
-			<view class="login-input link">
-				<view class="login-pwd" @click.stop="this.$api.navigateTo('/market/pages/login/password')">忘记密码?</view>
-			</view>
 		</view>
 		<view class="login-btn"  @click="confirmLogin">登录</view>
 		<view class="login-tel">客服热线:0755-22907771</view>
@@ -45,6 +42,7 @@
 				isIphoneX:this.$store.state.isIphoneX,
 				CustomBar:this.CustomBar,// 顶部导航栏高度
 				isShowEye:false,
+				isSeller:false,
 				iconEyes:'icon-yanjing_yincang_o',
 				iconEyen:'icon-yanjing_xianshi_o',
 				accountNumber:'',  //协销用户登录账号
@@ -66,6 +64,7 @@
 							this.logout()
 							uni.removeStorageSync('sessionid')
 							uni.setStorageSync('sessionid','JSESSIONID='+response.data.sessionId)
+							this.isSeller= true
 						}else{
 							this.login(response.data);
 							this.$store.commit('updateStatus',response.data)
@@ -78,6 +77,7 @@
 						this.logout()
 						uni.removeStorageSync('sessionid')
 						uni.setStorageSync('sessionid','JSESSIONID='+response.data)
+						this.isSeller= true
 					})
 				})
 			},	

+ 0 - 426
market/pages/login/password.vue

@@ -1,426 +0,0 @@
-<template>
-	<view class="container login">
-		<!-- 手机修改 -->
-		<view class="content">
-			<view class="login-form clearfix">
-				<view class="login-input">
-					<input type="number" v-model="mobile"  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="mobileCode"  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-input pwd">
-					<input v-show="isShowEye" type="text" v-model="password"  maxlength="16" class="input" placeholder="请输入新密码,必须为8-16位字母数字的组合" autocomplete="new-password"/>
-					<input v-show="!isShowEye" type="password" v-model="password"  :password="true" maxlength="16" class="input" placeholder="请输入新密码,必须为8-16位字母数字的组合" autocomplete="new-password"/>
-					<view class="iconfont" :class="isShowEye ? iconEyen : iconEyes"  @click="passwordEye"></view>
-				</view>
-			</view>
-			<view class="login-form clearfix">
-				<view class="login-input pwd">
-					<input v-show="isShowEyes" type="text" v-model="passwordCheck"  maxlength="16" class="input" placeholder="请确认密码" autocomplete="new-password"/>
-					<input v-show="!isShowEyes" type="password" v-model="passwordCheck"  :password="true" maxlength="16" class="input" placeholder="请确认密码" autocomplete="new-password"/>
-					<view class="iconfont" :class="isShowEyes ? iconEyen : iconEyes"  @click="passwordEyes"></view>
-				</view>
-			</view>
-			<view class="login-form clearfix">
-				<view class="login-btn"  @click="confirmMobilePassword">修改密码</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import authorize from '@/common/config/authorize.js' 
-	import { mobilePassword , emailPassword } from "@/api/use.js"
-	import { getImageCode, getEmailCode, getMobileCode } from "@/api/utils.js"
-	
-	export default{
-		data() {
-			return{
-				tabCurrentIndex: 1,
-				mobile:'',  		//用户手机号
-				email:'',			//邮箱地址
-				emailCode:'',		//油箱验证码
-				mobileCode:'',  	//手机验证码
-				password:'',		//新密码
-				passwordCheck:'',   //二次校验新密码
-				isShowEye:false,	//控显
-				isShowEyes:false,	//控显
-				iconEyes:'icon-yanjing_yincang_o',
-				iconEyen:'icon-yanjing_xianshi_o',
-				isEmialDisabled:false,//获取邮箱验证码按钮
-				isMobileDisabled:false,//获取手机短信按钮
-				imageCode:'',			//图形验证码
-				imageCodeUrl:'',		//图形验证码地址
-				imageCodetoken:'',		//图形校验token
-				count: '',				//倒计时
-				emailCodeText: '获取验证码',
-				mobileCodeText: '获取验证码',
-				codeTime: null,
-			}
-		},
-		onLoad(option) {
-			console.log(option)
-			this.getVerificationCode()
-		},
-		methods:{
-			confirmMobilePassword(){//手机号修改
-				let params = {
-						mobileOrEmail : this.mobile,
-						activateCode : this.mobileCode,
-						passWord : this.password,
-						confirmPwd : this.passwordCheck,
-						status:1
-					}
-				mobilePassword(params).then(res =>{
-					this.$util.msg(res.msg,2000);
-					uni.navigateBack({
-						delta: 1
-					});
-				}).catch( res =>{
-					this.$util.msg(res.msg,2000);
-				})
-			},
-			confirmEmailPassword(){//邮箱修改密码
-				 let params = {
-						mobileOrEmail : this.email,
-						activateCode : this.emailCode,
-						passWord : this.password,
-						confirmPwd : this.passwordCheck,
-						status:2
-					}
-				emailPassword(params).then(res =>{
-					this.$util.msg(res.msg,2000);
-					uni.navigateBack({
-						delta: 1
-					});
-				}).catch( res =>{
-					this.$util.msg(res.msg,2000);
-				})
-			},
-			getVerificationCode(){//图形验证
-				getImageCode().then(res => {
-					this.imageCodeUrl = res.data.baseImage
-					this.imageCodetoken = res.data.token
-				})
-			},
-			getEmailCodeFn(){//获取邮箱验证码
-				if( this.email == ''){
-					this.$util.msg('请输入邮箱地址',2000);
-					return
-				}
-				if(!this.$reg.isEmail(this.email)){
-					this.$util.msg('请输入正确的邮箱地址',2000);
-					return
-				}
-				this.isEmialDisabled = true;
-				getEmailCode({email:this.email,status:3}).then(res =>{
-					this.$util.msg('邮箱验证码已发送',2000);
-					const TIME_COUNT = 60;
-			     	if (!this.codeTime) {
-			       		this.count = TIME_COUNT;
-			       		this.isEmialDisabled = true;
-			       		this.codeTime = setInterval(() => {
-			       			if (this.count > 1 && this.count <= TIME_COUNT) {
-			         			this.count--
-			         			this.emailCodeText = this.count +'s重新发送'
-			        		} else {
-				         		this.isEmialDisabled = false;
-				         		clearInterval(this.codeTime)
-				         		this.codeTime = null
-								this.emailCodeText = '获取验证码'
-			        		}
-			       		},1000)
-			      	}
-				}).catch( res =>{
-					this.$util.msg(res.msg,2000);
-					this.isEmialDisabled = false;
-				})
-			},
-			getMobileCodeFn(){//获取手机验证码
-				if( this.mobile == ''){
-					this.$util.msg('请输入手机号',2000);
-					return
-				}
-				if(!this.$reg.isMobile(this.mobile)){
-					this.$util.msg('请输入正确的手机号',2000);
-					return
-				}
-				if( this.imageCode == ''){
-					this.$util.msg('请输入图形验证码',2000);
-					return
-				}
-				let params = {
-						mobile:this.mobile,
-						activateCodeType:1,
-						platformType:2,
-						imgCode:this.imageCode,
-						token:this.imageCodetoken,
-					}
-				this.isMobileDisabled = true;
-				getMobileCode(params).then(res =>{
-					this.$util.msg('验证短信已发送',2000);
-					const TIME_COUNT = 60;
-			     	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;
-				})
-			},
-			tabClick(index) {//tab切换
-				this.tabCurrentIndex = index;
-				this.password = ''
-				this.passwordCheck = ''
-				if(this.tabCurrentIndex == 1){
-					this.getVerificationCode()
-				}
-			},
-			passwordEye() {//密码显隐操作
-				this.isShowEye = !this.isShowEye;
-			},
-			passwordEyes() {//密码显隐操作
-				this.isShowEyes = !this.isShowEyes;
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		padding-top: 50rpx;
-	}
-	.login{
-		width: 100%;
-		height: auto;
-		.login-main{
-			width: 100%;
-			display: flex;
-			height: 80rpx;
-			border-top: 1px solid #F7F7F7;
-			margin-bottom: 112rpx;
-			position: relative;
-			.line{
-				position: absolute;
-				top: 0;
-				left: 50%;
-				margin-left: -80rpx;
-				width: 0;
-				height: 0;
-				border-left: 80rpx solid transparent;
-				border-right: 80rpx solid transparent;
-				border-bottom: 160rpx solid #FFFFFF;
-			}
-			.nav-item{
-				display: flex;
-				flex: 1;
-				flex-direction: column;
-				align-items: center;
-				line-height: 80rpx;
-				color: $text-color;
-				font-size: $font-size-28;
-				background: #F7F7F7;
-				&.current{
-					color:$color-system;
-					background: #FFFFFF;
-					
-				}
-			}
-		}
-		.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;
-				position: relative;
-				&.pwd{
-					.iconfont{
-						position: absolute;
-						right: 0;
-						top: 0;
-						font-size: 44rpx;
-						color: #999999;
-						font-weight: bold;
-						z-index: 99;
-						width: 96rpx;
-						height: 96rpx;
-						line-height: 96rpx;
-						text-align: center;
-					}
-				}
-				&.code{
-					width: 370rpx;
-					float: left;
-					margin-right: 20rpx;
-				}
-				&.btn{
-					width: 263rpx;
-					height: 88rpx;
-					float: left;
-					background: $btn-confirm;
-					padding: 0;
-					.input{
-						width: 263rpx;
-						height: 88rpx;
-						line-height: 88rpx;
-						padding: 0;
-						color: #FFFFFF;
-						background: $btn-confirm;
-						text-align: center;
-						border-radius: 14rpx;
-						&.none{
-							background: #F7F7F7;
-						}
-					}
-					&.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>

+ 27 - 5
market/pages/login/register.vue

@@ -1,6 +1,7 @@
 <template>
-	<view class="container register">
-		<view class="register-main clearfix">
+	<view class="container register" :style="{paddingTop:CustomBar+'px'}">
+		<cu-custom :navbar-data='nvabarData'  @navigateBack="hanldNavigateBack"></cu-custom>
+		<view class="register-main first clearfix">
 			<view class="register-row clearfix">
 				<text class="register-title">账户信息</text>
 			</view>
@@ -238,6 +239,12 @@
 		},
 		data() {
 			return{
+				nvabarData: {		//顶部自定义导航
+					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
+					showSearch: 0,
+					title: '拉机构上线', // 导航栏 中间的标题
+				},
+				CustomBar:this.CustomBar,// 顶部导航栏高度
 				userID:'',//协销ID
 				isPreviewImage:false,   	//预览图片开关
 				registerEmail:'', 		//注册邮箱
@@ -289,6 +296,13 @@
 			console.log(option)
 		},
 		methods:{
+			hanldNavigateBack(){
+				this.$util.modal('','注册尚未完成,确定放弃注册吗?','确定','取消',true,() =>{
+					uni.navigateBack({
+						delta: 1
+					});
+				})
+			},
 			registerCheckEmail(){
 				if(this.registerEmail == ''){
 					this.$util.msg('请输入邮箱地址',2000);
@@ -323,7 +337,7 @@
 				let params ={
 						email:this.registerEmail,
 						name:this.clubName,
-						linkMan:this.clubContact,
+						linkMan1:this.clubContact,
 						bindMobile:this.registerMobile,
 						sname:this.abbreviation,
 						provinceID:this.addressData.provinceID,
@@ -347,7 +361,7 @@
 						uni.navigateBack({
 							delta: 1
 						});
-					},2000)
+					},3000)
 				}).catch(response =>{
 					this.$util.msg(response.msg,2000);
 				})
@@ -473,12 +487,14 @@
 						this.$set(item,'checked',false)
 					}
 				}
-				return arr.toString()
+				return arr.join('/')
 			},
 			agreeCheck() {
 				this.isCheck = !this.isCheck
 				if(this.isCheck){
 					this.isAgreed = 1
+				}else{
+					this.isAgreed = 0
 				}
 			},
 			onBlurInput(e){//
@@ -506,6 +522,9 @@
 				this.isPreviewImage = false
 				return
 			}
+			this.$api.getStorage().then((resolve) =>{
+				this.userID = resolve.userID
+			})
 		}
 	}
 </script>
@@ -561,6 +580,9 @@
 			&.detailed{
 				padding-bottom: 330rpx;
 			}
+			&.first{
+				padding-top: 40rpx;
+			}
 			.register-tips{
 				display: flex;
 				flex-direction: column;

+ 158 - 104
market/pages/order/create-order.vue

@@ -7,9 +7,18 @@
 		<!-- 商品 -->
 		<goods-list ref='goods' v-if="isRequest" :goodsData="goodsData" @handleGoodList="handChangeInputGoodsList"></goods-list>
 		<!-- 发票信息 -->
-		<seller-invoice ref="invoice" @handleChoiceaInvoice="handleChoiceaInvoiceData"></seller-invoice>
+		<seller-invoice ref="invoice" 
+						v-if="isRequest" 
+						:invoiceDatas="invoiceData" 
+						@handleChoiceaInvoice="handleChoiceaInvoiceData">
+		</seller-invoice>
 		<!-- 运费 -->
-		<seller-freight ref="freight" @handleChoiceaFreight="handleChoiceaFreightData" @showFreightAlert="handFreightAlertShow"></seller-freight>
+		<seller-freight ref="freight" 
+						v-if="isFreight" 
+						:freightDatas="freightData" 
+						@handleChoiceaFreight="handleChoiceaFreightData" 
+						@showFreightAlert="handFreightAlertShow">
+		</seller-freight>
 		<freight-alert v-if="isfreightTip" ref="csPhone"></freight-alert>
 		<!-- 余额抵扣 -->
 		<view class="invoice-balance">
@@ -47,7 +56,7 @@
 					<text>总价:<text class="price">¥{{payAllPrice.toFixed(2)}}</text></text>
 				</view>
 			</view>
-			<view class="footer-submit" @click.stop="submit">提交订单</view>
+			<view class="footer-submit" @click.stop="orderSubmitMit">提交订单</view>
 		</view>
 	</view>
 </template>
@@ -60,8 +69,8 @@
 	import freightAlert from '@/components/module/modelAlert/freightAlert.vue'
 	import modalLayer from "@/components/modal-layer"
 	import { queryAddressList } from "@/api/cart.js" 
-	import { sellerSettlement,createOrderSubmit,getOrderPostage } from "@/api/seller.js" 
-	
+	import { getOrderPostage,getFindInvoice,updateInvoice } from "@/api/order.js" 
+	import { sellerSettlement,sellerCreateOrderSubmit } from "@/api/seller.js" 
 	export default {
 		components:{
 			choiceAddress,
@@ -80,7 +89,7 @@
 				productCount:'',		  //获取上一级页面商品数量
 				classifyIDS:'',			  //获取上一级页面商品分类
 				serviceProviderId:'',	  //协销ID
-				cartType:1,			  	  //购买类型(1购物车提交,2直接购买提交)
+				cartType:3,			  	  //购买类型(1购物车提交,2直接购买提交,3协销下单
 				submitState:'',  		  //提交状态
 				balanceDeductionFlag:2,   //勾选余额的状态(1使用,2不使用)
 				allCount:1,				  //订单提交总数量
@@ -92,6 +101,7 @@
 				addressID:'',			  //地址ID
 				townID:'',				  //区ID
 				isRequest:false,		  //是否加载完成渲染子组件
+				isFreight:false,		  //是否加载完成渲染子组件
 				isAddress:false,		  //是否加载完成地址
 				isfreightTip:false,		  //控制邮费弹窗
 				ischecked:false,	      //是否勾选余额
@@ -100,12 +110,12 @@
 				invoiceData:{},			  //初始化发票信息
 				freightData:{},			  //邮费数据
 				orderInfo:[],			  //提交的商品信息
+				payInfo:{},				  //订单信息
 				isIphoneX:this.$store.state.isIphoneX
 			}
 		},
 		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;
@@ -113,10 +123,12 @@
 			this.productCount = data.data.productCount
 			this.productIds = data.data.productID
 			this.getInitCrearOrder();
-			console.log(this.clubUserId)
+			this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+				this.clubUserId = resolve.userID
+			})
 		},
 		methods: {
-			getInitCrearOrder(option){//获取订单商品信息&&邮费信息&&发票信息
+			getInitCrearOrder(option){//获取订单商品信息
 				this.$api.getStorage().then((resolve) =>{
 					this.serviceProviderId = resolve.serviceProviderID
 					let params ={clubId:this.clubId,serviceProviderId:this.serviceProviderId,count:this.productCount,productIds:this.productIds}
@@ -125,13 +137,43 @@
 						this.isRequest = true
 						this.goodsData = resData.shopList
 						this.userMoney = resData.userMoney
-						this.freightData = {freePostFlag:resData.freight}
-						this.invoiceData = resData.invoice
+						this.getUseFindInvoice()
 					}).catch(response =>{
 						this.$util.msg(response.msg,2000)
 					})
 				})
 			},
+			getFreightData(){//获取邮费信息
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+					let params ={
+							userId:resolve.userID,
+							productIds:this.productIds,
+							totalPrice:this.allPrice,
+							townId:this.addressData.townID
+						}
+					getOrderPostage(params).then(response =>{
+						console.log(response)
+						this.isFreight = true
+						this.freightData = response.data
+						if(response.data.freePostFlag== 1){
+							this.payAllPrice = this.allPrice+response.data.freight
+						}else{
+							this.payAllPrice = this.allPrice
+						}
+					})	
+				})
+			},
+			getUseFindInvoice(){//获取发票信息
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+					getFindInvoice({userID:resolve.userID}).then(response =>{
+						if(response.data == null){
+							this.invoiceData = Object.assign(this.invoiceData,'',{type:0})
+						}else{
+							this.invoiceData = response.data
+						} 
+					})
+				})
+			},
 			getAddressData(){//获取地址信息
 				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
 					queryAddressList({pageNum:1,pageSize:1,userID:resolve.userID}).then(response =>{
@@ -141,6 +183,7 @@
 							this.addressID = response.data.results[0].addressID;
 							this.townID = response.data.results[0].townID;
 							this.addressData = response.data.results[0];
+							this.getFreightData()
 						}else{
 							this.addressData = this.addressData;
 						}
@@ -151,121 +194,132 @@
 				this.goodsData = data;
 				// console.log(this.goodsData)
 			},
-			submit(){//提交订单
+			handleChoiceaInvoiceData(data){//获取发票信息
+				console.log(data)
+				this.invoiceData = data
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+					let params =Object.assign(data,'',{userID:resolve.userID})
+					updateInvoice(params).then(response =>{
+						console.log(response)
+					})
+				})
+			},
+			handleChoiceaFreightData(data){//获取运费信息
+				console.log(data)
+				if(data.freePostFlag == '1'){
+					this.freightData = data
+					this.payAllPrice = this.allPrice+parseInt(data.freight)
+					if(this.balanceDeductionFlag ==1){
+						this.attributeHashfreight(this.freightData.freight)
+					}
+				}else{
+					this.freightData = data
+				}
+			},
+			checkedBalabce(){//勾选使用余额
+				if(this.userMoney > 0){
+					this.ischecked = !this.ischecked
+					if(this.ischecked){
+						this.balanceDeductionFlag =1
+						this.attributePallPrice()
+					}else{
+						if(this.freightData.freePostFlag == 1 || this.freightData.freePostFlag == '1'){
+							this.payAllPrice = this.allPrice+parseInt(this.freightData.freight)
+						}else{
+							this.payAllPrice = this.allPrice
+						}
+						this.balanceDeductionFlag = 2
+					}
+				}else{
+					return
+				}
+			},	
+			attributePallPrice(){//计算价格
+				if(this.freightData.freePostFlag == 1 || this.freightData.freePostFlag == '1'){
+					this.attributeHashfreight(this.freightData.freight)
+				}else{
+					this.attributeNofreight()
+				}
+			},
+			attributeNofreight(){//计算没有邮费的支付价格
+				if(this.userMoney>this.payAllPrice){
+					this.payAllPrice = 0.00
+					this.deductMoney = this.allPrice							//勾选后使用抵余额
+					this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
+				}else{
+					this.payAllPrice = this.allPrice - this.userMoney       	//勾选后的总价
+					this.deductMoney = this.userMoney				            //勾选后使用抵余额
+					this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
+				}
+			},
+			attributeHashfreight(freight){//计算需要邮费的支付价格
+				this.payAllPrice = this.allPrice+parseInt(freight)//计算不包邮的价格 总价等于商品价格+邮费
+				if(this.userMoney>this.payAllPrice){							//余额大于支付金额
+					this.payAllPrice =0.00
+					this.deductMoney = this.allPrice+parseInt(freight)			//勾选后使用抵余额
+					this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
+				}else{
+					this.payAllPrice = this.allPrice+parseInt(freight) - this.userMoney       	//勾选后的总价
+					this.deductMoney = this.userMoney				            //勾选后使用抵余额
+					this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
+				}
+			},
+			orderSubmitMit(){//提交订单
 				if(this.addressID == ''){
 					this.$util.msg('请先添加收货地址~',2000)
 					return
 				}
+				// 处理商品信息及留言
 				this.orderInfo = this.goodsData.map(el => {
 					let productInfo = [];
 					el.productsList.forEach(item => {
 						productInfo.push({
 							productId:item.productID,
-							productNum:item.productCount
+							productNum:item.productCount,
+							presentNum:0
 						})
-					})
-					if(el.note == null){
-						el.note = ''
-					}else{
-						el.note = el.note
-					}
-					return {shopId:el.shopID,note:el.note,productInfo:productInfo}
+					})				
+					return {shopId:el.shopID,note:el.note?el.note:'',productInfo:productInfo}
 				})
-				let orderInvoice;
-				if(this.invoiceData != null){
-					orderInvoice= Object.assign(this.invoiceData,'',{type:0})
-				}else{
-					orderInvoice ={
-						type:0,
-						invoiceTitleType:'',
-						invoiceTitle:'',
-						corporationTaxNum:'',
-						registeredAddress:'',
-						registeredPhone:'',
-						bankAccountNo:'',
-						openBank:'',
+				//订单信息
+				this.payInfo = {
+						clauseId:0,//条款(暂时保留)
+						orderShouldPayFee:this.payAllPrice.toFixed(2),//提交的总价
+						balancePayFlag:this.balanceDeductionFlag,//余额抵扣的状态
+						freight:this.freightData.freight>0 ? this.freightData.freight : this.freightData.freight.toFixed(2),//邮费
+						freePostFlag:parseInt(this.freightData.freePostFlag)//运费形式
 					}
-				}
-				let param = {
-						orderSource:6,
-						userId:this.userID,
-						cartType:this.cartType,
-						addressId:this.addressID,
-						orderInfo:this.orderInfo,
-						balanceDeductionFlag:this.balanceDeductionFlag,
-						orderShouldPayFee:this.payAllPrice,
-						orderInvoice:orderInvoice
+				let params = {
+						orderSource:2,				  //提交来源
+						clubUserId:this.clubUserId,   //机构UserID
+						cartType:this.cartType,		  //从购物车提交
+						serviceProviderId:this.serviceProviderId,//帮下单协销ID
+						addressId:this.addressID,	  //地址ID
+						orderInfo:this.orderInfo,	  //商品信息
+						payInfo:this.payInfo,		  //订单信息
+						orderInvoice:this.invoiceData //发票信息
 					}
 				this.modalLayer = true;	
-				// console.log(JSON.stringify(param))
-				createOrderSubmit({'params':JSON.stringify(param)}).then(response =>{
-					if(response.code === 1){
-						this.submitState ='success'
-						let data = {orderID:response.data.orderID}
-						this.$api.navigateTo(`/pages/user/order/order-cashier?type=${this.submitState}&data=${JSON.stringify({data:data})}`)
-					}else if(response.code === 2){
-						this.submitState ='nosuccess'
-						let data = {
-								orderID:response.data.orderID,
-								orderNo:response.data.orderNo,
-								orderMark:response.data.orderMark,
-								payableAmount:response.data.payableAmount
-						}
-						this.$api.navigateTo(`/pages/user/order/order-cashier?type=${this.submitState}&data=${JSON.stringify({data:data})}`)
+				// console.log(JSON.stringify(params))
+				sellerCreateOrderSubmit({'params':JSON.stringify(params)}).then(response =>{
+					if(response.code == 1){
+						this.$util.msg('支付成功',2000,true,'success')
+						setTimeout(() =>{
+							this.$api.redirectTo(`/market/pages/order/order-details?type=cash&orderID=${response.data.orderID}`)
+						},2000)
+					}else if(response.code == 2){
+						this.$api.redirectTo(`/market/pages/order/order-details?type=cash&orderID=${response.data.orderID}`)
 					}else{
 						this.$util.msg(response.msg,2000);
 					}
-				}).catch(response =>{
-					
-				})
-			},
-			getPostage(){
-				this.$api.getStorage().then((resolve) =>{
-					let params ={
-							userId:resolve.userID,
-							productIds:this.productIds,
-							totalPrice:this.allPrice,
-							townID:this.addressData.townID
-						}
-					getOrderPostage(params).then(response =>{
-						console.log(response)
-					})	
-				})
+				}).catch(response =>{})
 			},
 			handFreightAlertShow(){//显示邮费弹窗
 				this.isfreightTip = true;
 			},
 			hideFreight(){//关闭邮费弹窗
 				this.isfreightTip = false;
-			},
-			handleChoiceaInvoiceData(data){//获取发票信息
-				console.log(data)
-			},
-			handleChoiceaFreightData(data){//获取运费信息
-				console.log(data)
-			},
-			checkedBalabce(){//勾选使用余额
-				if(this.userMoney == 0){
-					return
-				}else{
-					this.ischecked = !this.ischecked
-					if(this.ischecked){
-						this.balanceDeductionFlag =1
-						if(this.userMoney>this.payAllPrice){
-							this.payAllPrice =0.00
-							this.deductMoney = this.allPrice				            //勾选后使用抵余额
-							this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
-						}else{
-							this.payAllPrice = this.allPrice - this.userMoney       	//勾选后的总价
-							this.deductMoney = this.userMoney				            //勾选后使用抵余额
-							this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
-						}
-					}else{
-						this.payAllPrice = this.allPrice
-						this.balanceDeductionFlag = 2
-					}
-				}
-			}	
+			}
 		},
 		onShow() {
 			// this.addressID = ''		
@@ -276,7 +330,7 @@
 				let SelectData = uni.getStorageSync('selectAddress');
 				this.addressID = SelectData.addressID;
 				this.addressData = SelectData	
-				this.getPostage()
+				this.getFreightData()
 			}else{
 				this.getAddressData()
 			}

+ 2 - 2
market/pages/order/order-history.vue

@@ -10,7 +10,7 @@
 					<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.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">¥{{orderPriceToFixed(item.productTotalFee)}}</text></view>
 							<view class="list-p">数量(赠):<text class="txt">{{item.productCount}}({{item.presentCount}})</text></view>
 						</view>
 						<view class="list-opea">
@@ -151,7 +151,7 @@
 				return stateText;
 			},
 			orderDetiles(id){
-				this.$api.navigateTo(`/market/pages/order/order-details?id=${id}`)
+				this.$api.navigateTo(`/market/pages/order/order-details?orderID=${id}`)
 			}
 		},
 		onReachBottom() {

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

@@ -43,7 +43,7 @@
 											<view class="pros-img tui-skeleton-fillet"><image :src="pros.productImage" alt="" /></view>
 											<view class="pros-product">
 												<view class="producttitle tui-skeleton-fillet">{{pros.name}}</view>
-												<view class="productspec tui-skeleton-fillet">规格:{{pros.productUnit}}</view>
+												<view class="productspec tui-skeleton-fillet">规格:{{pros.productUnit ? pros.productUnit : ''}}</view>
 												<view class="productprice">
 													<view class="price tui-skeleton-fillet">
 														<text>¥{{pros.price.toFixed(2)}}</text>
@@ -67,7 +67,6 @@
 								<order-button ref="orderButton" 
 											  :status="order.status" 
 											  :orderID="order.orderID" 
-											  :clubUserid = "order.userID"
 											  @buttonConfirm="handButtonConfirm">
 								</order-button>
 							</view>
@@ -91,13 +90,13 @@
 </template>
 
 <script>
-	import headerBack from '@/components/module/headerNavbar/header-back' 		 	 //自定义导航
-	import btSearch from '@/components/uni-search/bt-search.vue'						//搜索
+	import headerBack from '@/components/module/headerNavbar/header-back' 		//自定义顶部导航
+	import btSearch from '@/components/uni-search/bt-search.vue'				//搜索
 	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
 	import tuiListCell from "@/components/tui-components/list-cell/list-cell"
 	import tuiLoadmore from "@/components/tui-components/loadmore/loadmore"
 	import tuiNomore from "@/components/tui-components/nomore/nomore"
-	import orderButton from '@/components/module/orderDetails/sellerOrderButton'		 //按钮
+	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'			 //分享弹窗
@@ -138,7 +137,6 @@
 				scrollLeft: 0 ,//tab标题的滚动条位置
 				serviceProviderId:0,//协销用户ID
 				orderData: [],
-				clubUserID:"",
 				btnoRderID: 0, //点击按钮传入的的订单ID
 				pageNum: 1,	  //页数
 				pageSize: 10,  //条数
@@ -213,18 +211,10 @@
 				}
 			},
 			getOrderDatainit(index,source){
-				/**
-				 * @订单初始化加载  仅加载第一页码
-				 * @param:orderState(订单状态:0全部,1待付款,2待发货,3已发货,4退货款)
-				 * @param:pageNum(页码数)
-				 * @param:pageSize(每页条数)
-				 * @param:organizeID(全局变量组织ID)
-				 */ 
 				setTimeout(()=>{this.skeletonShow = false},1500)
 				let orderItem = this.orderTabBar[index];
 				let listType = orderItem.listType;
-				if(source === 'tabChange' && orderItem.loaded === true){
-					//tab切换只有第一次需要加载数据
+				if(source === 'tabChange' && orderItem.loaded === true){//tab切换只有第一次需要加载数据
 					return;
 				}
 				setTimeout(()=>{
@@ -360,7 +350,7 @@
 			    }
 				return {
 					title: '您有新的分享订单,快来查看吧~',
-					path: `/market/pages/order/orderShareLogin?orderID=${this.btnoRderID}&userID=${this.clubUserID}`,
+					path: `/market/pages/order/orderShareLogin?orderID=${this.btnoRderID}`,
 					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'
 				}
 			},

+ 25 - 35
market/pages/search/search-order.vue

@@ -99,18 +99,10 @@
 	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'			 //分享弹窗
+	import shareAlert from '@/components/module/modelAlert/shareAlert' //分享弹窗
 	import authorize from '@/common/config/authorize.js'
-	import { 
-		searchOrderInfo, 
-		searchOrderHistory,
-		clearOrderHistory,
-		queryOrderList,
-		cancelOrder,
-		deleteOrder,
-		confirmReceipt
-	} from "@/api/order.js"
-	import { getSellerOrderList } from "@/api/seller.js" 
+	import { searchOrderInfo, searchOrderHistory,clearOrderHistory,cancelOrder,deleteOrder,affirmOrder,} from "@/api/order.js"
+	import { getSellerOrderList, } from "@/api/seller.js" 
 	export default {
 		components: {
 			orSearch,
@@ -124,6 +116,7 @@
 			return {
 				themeClass: 'block',
 				searchInputVal:'',
+				serviceProviderId:'',//协销ID
 				isShowClose:false,							//是否显示清空输入框图标
 				isSearchHistory:false,						//是都显示搜索历史
 				serachRecordList:[],
@@ -154,7 +147,7 @@
 			}
 		},
 		onLoad() {
-		  this.initGetSerachRecord()
+		  // this.initGetSerachRecord()
 		},
 		methods:{
 			subMitSearch() {
@@ -185,14 +178,14 @@
 			},
 			onFocus () { //输入框获取焦点时触发
 				this.inputEmpty(this.searchInputVal)
-				this.initGetSerachRecord()
+				// this.initGetSerachRecord()
 			},
 			delInputText () { //清除输入框内容
 				this.searchInputVal = ''
 				this.isShowClose = false
 				this.isShowWrapper = false
 				this.inputEmpty(this.searchInputVal)
-				this.initGetSerachRecord()
+				// this.initGetSerachRecord()
 			},
 			keywordsClick (item) {	//关键词搜索与历史搜索
 				this.searchInputVal = item;
@@ -220,14 +213,14 @@
 			getOrderDatainit(index,source){
 				/**
 				 * @订单初始化加载  仅加载第一页码
-				 * @param:searchWord(搜索关键词)
-				 * @param:userId(用户ID)
+				 * @param:orderNo(订单号)
+				 * @param:serviceProviderId(用户ID)
 				 * @param:pageNum(页码数)
 				 * @param:pageSize(每页条数)
 				 * @param:organizeID(全局变量组织ID)
 				 */ 
-				let params = {searchWord:this.searchInputVal,userId:this.userID,pageNum:1,pageSize:this.pageSize};
-				searchOrderInfo(params).then(response =>{
+				let params = {orderNo:this.searchInputVal,serviceProviderId:this.serviceProviderId,pageNum:1,pageSize:this.pageSize};
+				getSellerOrderList(params).then(response =>{
 					this.isShowWrapper = true
 					this.showSkeleton = true
 					const _responseData = response.data.results;
@@ -263,8 +256,8 @@
 			}, 
 			getOnReachBottomData(index){//上拉加载
 				this.pageNum+=1
-				let params = {searchWord:this.searchInputVal,userId:this.userID,pageNum:this.pageNum,pageSize:this.pageSize}
-				searchOrderInfo(params).then(response =>{
+				let params = {orderNo:this.searchInputVal,serviceProviderId:this.serviceProviderId,pageNum:this.pageNum,pageSize:this.pageSize}
+				getSellerOrderList(params).then(response =>{
 					let resData = response.data.results
 					this.hasNextPage = response.data.hasNextPage;
 					this.orderList = this.orderList.concat(resData)
@@ -293,7 +286,7 @@
 			detail(id) {//订单详情跳转
 				// console.log(id)
 				this.isModalLayer = true;	
-				this.$api.navigateTo(`/pages/user/order/order-details?state=${this.currentTab}&orderID=${id}`)
+				this.$api.navigateTo(`/market/pages/order/order-details?orderID=${id}`)
 			},
 			handButtonConfirm(data) {//获取点击
 				// console.log('点击按钮的类型是',data);
@@ -308,20 +301,18 @@
 					case 'cancel':
 						this.handCenceConfirm()
 						break
-					case 'query':
-						this.isModalLayer = true;
-						this.$api.navigateTo('/pages/user/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');
-						this.initOrderDetaileData()
+						setTimeout(() => {
+							this.getOrderDatainit(this.currentTab)
+						},2000)
 					}).catch(response =>{
 						this.$util.msg(response.msg,2000)
 					})
@@ -353,9 +344,6 @@
 					})
 				})
 			},
-			handlSearchPath(){
-				this.$api.navigateTo('/pages/search/search-order')
-			},
 			onShareAppMessage (res){//分享转发
 				this.isShareModal = false
 				if (res.from === 'button') {// 来自页面内转发按钮
@@ -363,8 +351,8 @@
 			    }
 				return {
 					title: '您有新的分享订单,快来查看吧~',
-					path: `/pages/user/order/orderShareLogin?orderID=${this.btnoRderID}&userID=${this.userID}`,
-					imageUrl:'https://img.caimei365.com/group1/M00/03/8C/Cmis215XHXSAWWkhAAXDP4-6m_c397.png'
+					path: `/market/pages/order/orderShareLogin?orderID=${this.btnoRderID}`,
+					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'
 				}
 			},
 			//订单状态文字和颜色
@@ -407,10 +395,12 @@
 		},
 		onPageScroll(e) {
 			this.scrollTop = e.scrollTop;
-			
 		},
 		onShow() {
 			this.setScrollHeight();
+			this.$api.getStorage().then((resolve) =>{
+				this.serviceProviderId = resolve.serviceProviderID
+			})
 		}
 	}
 </script>

+ 4 - 8
market/pages/user/user.vue

@@ -6,7 +6,7 @@
 				<view class="u-header-main">
 					<view class="user-item">
 						<view class="logo-m">
-							<image :src="headpic == null? '../../../static/temp/icon-club@3x.png' : headpic" mode=""></image>
+							<image :src="headpic ? headpic:'https://admin-b.caimei365.com/userfiles/1/images/photo/2020/04/%E5%8D%8F%E9%94%80%E9%BB%98%E8%AE%A4%E5%A4%B4%E5%83%8F.png'" mode=""></image>
 							<text class="txt">协销员工</text>
 						</view>
 					</view>
@@ -122,7 +122,8 @@
 				firstList:[
 					{name:'机构列表',path:'/market/pages/club/list'},
 					{name:'帮机构下单',path:'/market/pages/club/club-list'},
-					{name:'拉机构上线',path:'/market/pages/login/register'}
+					{name:'拉机构上线',path:'/market/pages/login/register'},
+					{name:'邀请运营人员',path:'/market/pages/club/allClub-list'}
 				],
 			}
 		},
@@ -143,11 +144,6 @@
 					this.beforeShipCount = this.showBadge(sellerData.beforeShipCount)//待发货		
 					this.shippedCount = this.showBadge(sellerData.shippedCount)//已发货	
 					this.refundsCount = this.showBadge(sellerData.refundsCount)//退货/款	
-					let clubInfo ={name:this.name,image:this.headpic,clubID:_clubData.clubID}
-					uni.setStorage({//缓存机构
-						key: 'clubInfo',  
-						data: clubInfo  
-					}) 
 				}).catch(response =>{
 					this.$util.msg(response.msg,2000)
 				})
@@ -182,7 +178,7 @@
 	}
 	.user{
 		width: 100%;
-		height: 100%;
+		height: auto;
 		position:relative;
 		background: rgba(247, 247, 247, 1);
 	}	

+ 12 - 9
pages.json

@@ -271,12 +271,6 @@
 						"navigationBarTitleText": "账户中心"
 					}
 				},
-				{
-					"path": "pages/login/password",
-					"style": {
-						"navigationBarTitleText": "修改密码"
-					}
-				},
 				{
 					"path": "pages/cart/cart",
 					"style": {
@@ -334,6 +328,12 @@
 						"navigationBarTitleText": "我的机构"
 					}
 				},
+				{
+					"path": "pages/club/allClub-list",
+					"style": {
+						"navigationBarTitleText": "所有机构"
+					}
+				},
 				{
 					"path": "pages/club/addoperator",
 					"style": {
@@ -343,19 +343,22 @@
 				{
 					"path": "pages/login/register",
 					"style": {
-						"navigationBarTitleText": "拉机构上线"
+						"navigationBarTitleText": "拉机构上线",
+						"navigationStyle":"custom"
 					}
 				},
 				{
 					"path": "pages/login/information",
 					"style": {
-						"navigationBarTitleText": "修改资料"
+						"navigationBarTitleText": "修改资料",
+						"navigationStyle":"custom"
 					}
 				},
 				{
 					"path": "pages/login/apply",
 					"style": {
-						"navigationBarTitleText": "修改申请信息"
+						"navigationBarTitleText": "修改申请信息",
+						"navigationStyle":"custom"
 					}
 				},
 				{

+ 7 - 5
pages/login/apply.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="container register" :style="{paddingTop:CustomBar+'px'}">
 		<cu-custom :navbar-data='nvabarData'  @navigateBack="hanldNavigateBack"></cu-custom>
-		<view class="register-error clearfix">
+		<view class="register-error clearfix" :style="{top:CustomBar+'px'}">
 			<view class="error-top animation" @click="showOpenError" :class="{'error-top--none': isOpenError}" >
 				<view class="name">审核未通过原因</view>
 				<view class="icon">{{ isOpenError ? '' : '查看详情'}}<text class="iconfont icon-xiangxiajiantou" :class="{'icon-xiangxiajiantou-active':isOpenError}"></text></view>
@@ -267,7 +267,7 @@ import { mapMutations } from 'vuex';
 				nvabarData: {		//顶部自定义导航
 					showCapsule: 1, // 是否显示左上角图标  1表示显示  0表示不显示,
 					showSearch: 0,
-					title: '修改申请资料', // 导航栏 中间的标题
+					title: '修改申请信息', // 导航栏 中间的标题
 				},
 				CustomBar:this.CustomBar,// 顶部导航栏高度
 				isOpenError:false,
@@ -343,14 +343,14 @@ import { mapMutations } from 'vuex';
 			organizationInfo(){
 				this.$api.getStorage().then((resolve) =>{
 					this.userID = resolve.userID
-					organizationUpdateModifyInfo({userID:10283}).then(response =>{
+					organizationUpdateModifyInfo({userID:this.userID}).then(response =>{
 						let organizationClub = response.data.club
 						let organizationUser = response.data.user
 						this.errorList =organizationUser.auditNoteList
 						this.email = organizationUser.email	
 						this.clubID = organizationUser.clubID
 						this.clubName = organizationClub.name
-						this.clubContact = organizationClub.linkMan
+						this.clubContact = organizationClub.linkMan1
 						this.mobile = organizationUser.bindMobile
 						this.abbreviation = organizationClub.sname
 						if( organizationClub.provinceID == null ){
@@ -435,7 +435,7 @@ import { mapMutations } from 'vuex';
 						userID:this.userID,
 						clubID:this.clubID,					//会所ID
 						name:this.clubName,
-						linkMan:this.clubContact,
+						linkMan1:this.clubContact,
 						contractMobile2:this.mobile,
 						contractMobile:this.newMobile,
 						mobileCode:this.mobileCode,
@@ -666,6 +666,8 @@ import { mapMutations } from 'vuex';
 				this.isCheck = !this.isCheck
 				if(this.isCheck){
 					this.isAgreed = 1
+				}else{
+					this.isAgreed = 0
 				}
 			},
 			onBlurInput(e){//

+ 26 - 2
pages/login/bindOperator.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="container login">
+	<view class="container login" v-if="isUserInfo">
 		<view class="login-form clearfix">
 			<view class="login-input">
 				<input type="text" 
@@ -69,7 +69,7 @@
 <script>
 	import { mapState,mapMutations } from 'vuex'
 	import authorize from '@/common/config/authorize.js' 
-	import { bindingWechat } from "@/api/use.js"
+	import { userInfoLogin,bindingWechat } from "@/api/use.js"
 	import { getImageCode, getbindWechatCode } from "@/api/utils.js"
 	export default{
 		data() {
@@ -85,6 +85,7 @@
 				count: '',				//倒计时
 				mobileCodeText: '获取验证码',
 				codeTime: null,
+				isUserInfo:false
 			}
 		},
 		onLoad(option) {
@@ -94,6 +95,29 @@
 		},
 		methods:{
 			...mapMutations(['login']),
+			getCheekeyCode(){// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
+				authorize.getCode('weixin').then(wechatcode =>{
+					// 根据微信的code获取用户登录状态:1已登录过 -1未登录过
+					userInfoLogin({code:wechatcode}).then(response =>{
+						this.login(response.data)
+						uni.setStorageSync('token',response.data.token)
+						uni.removeStorageSync('sessionid')
+						uni.setStorageSync('sessionid','JSESSIONID='+response.data.sessionId)
+						this.$store.commit('updateStatus',response.data)
+						if(response.data.userIdentity ==1){
+							this.$api.navigateTo('/market/pages/home/home')
+						}else{
+							this.$api.navigateTo('/pages/tabBar/home/home')
+						}
+					}).catch(response =>{
+						this.logout()
+						this.isUserInfo = true
+						uni.removeStorageSync('sessionid')
+						uni.setStorageSync('sessionid','JSESSIONID='+response.data)
+						this.$store.commit('updateStatus',response.data)
+					})
+				})
+			},
 			bindWechatInfo(){
 				if( this.bindLinkName == ''){
 					this.$util.msg('请输入姓名',2000)

+ 4 - 2
pages/login/information.vue

@@ -366,7 +366,7 @@
 						this.email = organizationUser.email	
 						this.clubID = organizationUser.clubID
 						this.clubName = organizationClub.name
-						this.clubContact = organizationClub.linkMan
+						this.clubContact = organizationClub.linkMan1
 						this.mobile = organizationUser.bindMobile
 						this.abbreviation = organizationClub.sname
 						if( organizationClub.provinceID == null ){
@@ -451,7 +451,7 @@
 						userID:this.userID,
 						clubID:this.clubID,					//会所ID
 						name:this.clubName,
-						linkMan:this.clubContact,
+						linkMan1:this.clubContact,
 						contractMobile2:this.mobile,
 						contractMobile:this.newMobile,
 						mobileCode:this.mobileCode,
@@ -682,6 +682,8 @@
 				this.isCheck = !this.isCheck
 				if(this.isCheck){
 					this.isAgreed = 1
+				}else{
+					this.isAgreed = 0
 				}
 			},
 			onBlurInput(e){//

+ 5 - 3
pages/login/register.vue

@@ -408,7 +408,7 @@
 			registerStepsTwo(){
 				let params ={
 						name:this.clubName,
-						linkMan:this.clubContact,
+						linkMan1:this.clubContact,
 						bindMobile:this.registerMobile,
 						activationCode:this.mobileCode,
 						whichStep:2,
@@ -431,7 +431,7 @@
 						password:this.password,
 						passWordConfirm:this.passwordCheck,
 						name:this.clubName,
-						linkMan:this.clubContact,
+						linkMan1:this.clubContact,
 						bindMobile:this.registerMobile,
 						activationCode:this.mobileCode,
 						sname:this.abbreviation,
@@ -661,12 +661,14 @@
 						this.$set(item,'checked',false)
 					}
 				}
-				return arr.toString()
+				return arr.join('/')
 			},
 			agreeCheck() {
 				this.isCheck = !this.isCheck
 				if(this.isCheck){
 					this.isAgreed = 1
+				}else{
+					this.isAgreed = 0
 				}
 			},
 			onBlurInput(e){//

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

@@ -187,19 +187,18 @@
 					// 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)
 						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()
+							this.$api.navigateTo('/market/pages/login/login')
 						}
+						this.getHomeInformation()
+						this.getOrganizeProducts()
 					}).catch(response =>{
 						this.isLogin = false;
 						this.logout()

+ 88 - 65
pages/user/order/create-order.vue

@@ -7,7 +7,11 @@
 		<!-- 商品 -->
 		<goods-list ref='goods' v-if="isRequest" :goodsData="goodsData" @handleGoodList="handChangeInputGoodsList"></goods-list>
 		<!-- 发票信息 -->
-		<invoice-tent ref="invoice" v-if="isRequest" :invoiceData="invoiceData"></invoice-tent>
+		<invoice-tent ref="invoice" 
+					  v-if="isRequest" 
+					  :invoiceData="invoiceData" 
+					  @handleChoiceaInvoice="handleChoiceaInvoiceData">
+		</invoice-tent>
 		<!-- 运费 -->
 		<freight ref="freight" v-if="isRequest" :freightData="freightData" @showFreightAlert="handFreightAlertShow"></freight>
 		<freight-alert v-if="isfreightTip" ref="csPhone"></freight-alert>
@@ -47,7 +51,7 @@
 					<text>总价:<text class="price">¥{{payAllPrice.toFixed(2)}}</text></text>
 				</view>
 			</view>
-			<view class="footer-submit" @click.stop="submit">提交订单</view>
+			<view class="footer-submit" @click.stop="orderSubmitMit">提交订单</view>
 		</view>
 	</view>
 </template>
@@ -99,6 +103,7 @@
 				invoiceData:{},			  //初始化发票信息
 				freightData:{},			  //邮费数据
 				orderInfo:[],			  //提交的商品信息
+				payInfo:{},				  //订单信息
 				isIphoneX:this.$store.state.isIphoneX
 			}
 		},
@@ -124,7 +129,7 @@
 			// this.getAddressData()
 		},
 		methods: {
-			getInitCrearOrder(option){//获取订单商品信息&&邮费信息&&发票信息
+			getInitCrearOrder(option){//获取订单商品信息
 				this.$api.getStorage().then((resolve) =>{
 					this.userID = resolve.userID
 					let params ={userId:this.userID,count:this.productCount,productIds:this.productIds}
@@ -133,13 +138,41 @@
 						this.isRequest = true
 						this.goodsData = resData.shopList
 						this.userMoney = resData.userMoney
-						this.freightData = {freePostFlag:resData.freight}
-						this.invoiceData = resData.invoice
+						this.getUseFindInvoice()
 					}).catch(response =>{
 						this.$util.msg(response.msg,2000)
 					})
 				})
 			},
+			getFreightData(){//获取邮费信息
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+					let params ={
+							userId:resolve.userID,
+							productIds:this.productIds,
+							totalPrice:this.allPrice,
+							townId:this.addressData.townID
+						}
+					getOrderPostage(params).then(response =>{
+						console.log(response)
+						this.isFreight = true
+						this.freightData = response.data
+						if(response.data.freePostFlag== 1){
+							this.payAllPrice = this.payAllPrice+response.data.freight
+						}
+					})	
+				})
+			},
+			getUseFindInvoice(){//获取发票信息
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+					getFindInvoice({userID:resolve.userID}).then(response =>{
+						if(response.data == null){
+							this.invoiceData = Object.assign(this.invoiceData,'',{type:0})
+						}else{
+							this.invoiceData = response.data
+						} 
+					})
+				})
+			},
 			getAddressData(){//获取地址信息
 				this.$api.getStorage().then((resolve) =>{
 					queryAddressList({pageNum:1,pageSize:1,userID:resolve.userID}).then(response =>{
@@ -149,6 +182,7 @@
 							this.addressID = response.data.results[0].addressID;
 							this.townID = response.data.results[0].townID;
 							this.addressData = response.data.results[0];
+							this.getFreightData()
 						}else{
 							this.addressData = this.addressData;
 						}
@@ -159,7 +193,39 @@
 				this.goodsData = data;
 				// console.log(this.goodsData)
 			},
-			submit(){//提交订单
+			handleChoiceaInvoiceData(data){//获取发票信息
+				console.log(data)
+				this.invoiceData = data
+				this.$api.getComStorage('orderUserInfo').then((resolve) =>{
+					let params =Object.assign(data,'',{userID:resolve.userID})
+					updateInvoice(params).then(response =>{
+						console.log(response)
+					})
+				})
+			},
+			checkedBalabce(){//勾选使用余额
+				if(this.userMoney == 0){
+					return
+				}else{
+					this.ischecked = !this.ischecked
+					if(this.ischecked){
+						this.balanceDeductionFlag =1
+						if(this.userMoney>this.payAllPrice){
+							this.payAllPrice =0.00
+							this.deductMoney = this.allPrice				            //勾选后使用抵余额
+							this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
+						}else{
+							this.payAllPrice = this.allPrice - this.userMoney       	//勾选后的总价
+							this.deductMoney = this.userMoney				            //勾选后使用抵余额
+							this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
+						}
+					}else{
+						this.payAllPrice = this.allPrice
+						this.balanceDeductionFlag = 2
+					}
+				}
+			},	
+			orderSubmitMit(){//提交订单
 				if(this.addressID == ''){
 					this.$util.msg('请先添加收货地址~',2000)
 					return
@@ -169,7 +235,8 @@
 					el.productsList.forEach(item => {
 						productInfo.push({
 							productId:item.productID,
-							productNum:item.productCount
+							productNum:item.productCount,
+							presentNum:0
 						})
 					})
 					if(el.note == null){
@@ -179,30 +246,22 @@
 					}
 					return {shopId:el.shopID,note:el.note,productInfo:productInfo}
 				})
-				let orderInvoice;
-				if(this.invoiceData != null){
-					orderInvoice= Object.assign(this.invoiceData,'',{type:0})
-				}else{
-					orderInvoice ={
-						type:0,
-						invoiceTitleType:'',
-						invoiceTitle:'',
-						corporationTaxNum:'',
-						registeredAddress:'',
-						registeredPhone:'',
-						bankAccountNo:'',
-						openBank:'',
+				//订单信息
+				this.payInfo = {
+						clauseId:0,//条款(暂时保留)
+						orderShouldPayFee:this.payAllPrice,//提交的总价
+						balancePayFlag:this.balanceDeductionFlag,//余额抵扣的状态
+						freight:this.freightData.freight,//邮费
+						freePostFlag:this.freightData.freePostFlag//运费形式
 					}
-				}
 				let param = {
-						orderSource:6,
-						userId:this.userID,
+						orderSource:1,
+						clubUserId:this.userID,
 						cartType:this.cartType,
 						addressId:this.addressID,
 						orderInfo:this.orderInfo,
-						balanceDeductionFlag:this.balanceDeductionFlag,
-						orderShouldPayFee:this.payAllPrice,
-						orderInvoice:orderInvoice
+						payInfo:this.payInfo,	//订单信息
+						orderInvoice:this.invoiceData
 					}
 				this.modalLayer = true;	
 				// console.log(JSON.stringify(param))
@@ -223,22 +282,7 @@
 					}else{
 						this.$util.msg(response.msg,2000);
 					}
-				}).catch(response =>{
-					
-				})
-			},
-			getPostage(){
-				this.$api.getStorage().then((resolve) =>{
-					let params ={
-							userId:resolve.userID,
-							productIds:this.productIds,
-							totalPrice:this.allPrice,
-							townID:this.addressData.townID
-						}
-					getOrderPostage(params).then(response =>{
-						console.log(response)
-					})	
-				})
+				}).catch(response =>{})
 			},
 			handFreightAlertShow(){//显示邮费弹窗
 				this.isfreightTip = true;
@@ -246,28 +290,7 @@
 			hideFreight(){//关闭邮费弹窗
 				this.isfreightTip = false;
 			},
-			checkedBalabce(){//勾选使用余额
-				if(this.userMoney == 0){
-					return
-				}else{
-					this.ischecked = !this.ischecked
-					if(this.ischecked){
-						this.balanceDeductionFlag =1
-						if(this.userMoney>this.payAllPrice){
-							this.payAllPrice =0.00
-							this.deductMoney = this.allPrice				            //勾选后使用抵余额
-							this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
-						}else{
-							this.payAllPrice = this.allPrice - this.userMoney       	//勾选后的总价
-							this.deductMoney = this.userMoney				            //勾选后使用抵余额
-							this.surplusMoney = this.userMoney - this.deductMoney	    //勾选后的剩余抵扣
-						}
-					}else{
-						this.payAllPrice = this.allPrice
-						this.balanceDeductionFlag = 2
-					}
-				}
-			}	
+			
 		},
 		onShow() {
 			// this.addressID = ''		
@@ -278,7 +301,7 @@
 				let SelectData = uni.getStorageSync('selectAddress');
 				this.addressID = SelectData.addressID;
 				this.addressData = SelectData	
-				this.getPostage()
+				this.getFreightData()
 			}else{
 				this.getAddressData()
 			}