zhengjinyi 5 lat temu
rodzic
commit
e66eceba59

+ 2 - 2
common/config/config.js

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

+ 462 - 0
components/module/creatOrder/sellerFreight.vue

@@ -0,0 +1,462 @@
+<template name="freight">
+	<view class="freight-template">
+		 <!-- 运费信息 -->
+		<view class="invoice-freight" @tap.stop="hanldOperationConfim">
+			<view class="freight-left">
+				运费<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="iconfont icon-xiayibu"></text>
+			</view>
+		</view>
+		<!--底部选择模态层弹窗组件 -->
+		<view class="popup spec" :class="specClass"  @touchmove.stop.prevent="discard" @click="freightConfim">
+			<!-- 遮罩层 -->
+			<view class="mask"></view>
+			<view class="layer" @tap.stop="discard">
+				<view class="content">
+					<view class="freight-ltitle">选择运费</view>
+					<view class="freight-radio">
+						<radio-group class="row-group" @change="radioChange">
+							<label class="row-input" v-for="(item, index) in freightList" :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="freight-group" v-if="freightData.freightType == '1'">
+						<view class="group-from">
+							<input class="form-input" type="text" v-model="freightData.freightTypeMoney"   placeholder="请填写运费" maxlength="20">
+						</view>
+					</view>	
+					<view class="freight-group" v-if="freightData.freightType == '2'">
+						<text class="text">{{freightText}}</text>
+					</view>
+					<view class="freight-group" v-if="freightData.freightType == '3'">
+						<text class="text">{{freightText}}</text>
+					</view>
+				</view>
+				<view class="btn">
+					<view class="button add" @click="freightConfim">完成</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		name:"freight",
+		data() {
+			return{
+				freightText:'不包邮',
+				specClass: '',//规格弹窗css类,控制开关动画
+				freightList:[
+					{value:'1',name:'不包邮'},
+					{value:'2',name:'包邮'},
+					{value:'3',name:'到付'},
+				],
+				current:0,
+				freightData:{
+					freightType:'1',
+					freightTypeMoney:10
+				}
+			}
+		},
+		created(){
+
+		},
+		computed: {
+
+		},
+		methods:{
+			freightConfim(){
+				console.log(this.freightData.freightType);
+				switch(this.freightData.freightType){
+					case '1':
+						this.choiceaFreightFirst(this.freightData.freightType)
+						break;
+					case '2':
+						this.choiceaFreightFirst(this.freightData.freightType)
+						break;
+					case '3':
+					this.choiceaFreightFirst(this.freightData.freightType)
+						break;	
+				}		
+			},
+			choiceaFreightFirst(index){
+				if(index == '1'){
+					if(this.freightData.freightTypeMoney==''){
+						this.$util.msg('请填写运费',2000)
+						return
+					}
+					this.$emit('handleChoiceaFreight',this.freightData)
+				}else{
+					this.$emit('handleChoiceaFreight',this.freightData)
+				}
+				this.hideSpec()
+			},
+			showTip(){
+				this.$emit('showFreightAlert');
+			},
+			hideSpec() {//关闭选择数量确认弹窗
+				this.specClass = 'hide';
+				setTimeout(() => {
+					this.specClass = 'none';
+				}, 200);
+			},
+			hanldOperationConfim(data){//显示选择数量确认弹窗
+				console.log(data)
+				this.specClass = 'show';
+			},
+			radioChange(e) {
+				this.freightData.freightType = e.target.value;
+				switch(this.freightData.freightType){
+					case '1':
+						this.freightText = '不包邮'
+						break;
+					case '2':
+						this.freightText = '包邮'
+						break;
+					case '3':
+						this.freightText = '到付'
+						break;	
+				}		
+				for (let i = 0; i < this.freightList.length; i++) {
+					if (this.freightList[i].value === this.freightType) {
+						this.current = i;
+						break;
+					}
+				}
+			},
+			discard(){
+				//丢弃
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.freight-template{
+		width: 100%;
+		height: auto;
+		background: #FFFFFF;
+		float: left;
+		margin-top: 24rpx;
+		.invoice-freight{
+			width: 702rpx;
+			padding: 0 24rpx;
+			height: 88rpx;
+			line-height: 88rpx;
+			font-size: $font-size-28;
+			color: $text-color;
+			background: #FFFFFF;
+			float: left;
+			font-weight: bold;
+			.freight-left{
+				float: left;
+				.icon-yunfeishuoming{
+					height: 100%;
+					padding:15rpx;
+					color: $color-system;
+					font-weight: normal;
+				}
+			}
+			.freight-right{
+				float: right;
+				color: #2A81FF;
+				.text{
+					line-height: 88rpx;
+					color: #ff0000;
+					margin:0 20rpx;
+				}
+				.icon-xiayibu{
+					line-height: 88rpx;
+					color: #999999;
+					font-weight: normal;
+				}
+			}
+		}
+	}
+	.freight-ltitle{
+		width: 100%;
+		line-height: 60rpx;
+		height: 60rpx;
+		font-size: $font-size-28;
+		color: #333333;
+	}
+	.freight-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: $text-color;
+		}
+	}
+	.freight-group{
+		width: 100%;
+		height: 88rpx;
+		display: flex;
+		border-bottom: 1px solid #FFFFFF;
+		flex-direction: row;
+		.text{
+			display: block;
+			flex: 1;
+			line-height: 88rpx;
+			font-size: $font-size-24;
+			color: #999999;
+			text-align: left;
+			padding-left: 10rpx;
+		}
+		.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;
+			}
+		}
+	}	
+	/* 加入购物模态层*/
+	@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: fixed;
+			z-index: 22;
+			bottom: -460rpx;
+			width: 702rpx;
+			padding: 24rpx 24rpx 36rpx 24rpx;
+			height: 400rpx;
+			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>

+ 641 - 0
components/module/creatOrder/sellerInvoice.vue

@@ -0,0 +1,641 @@
+<template name="invoice">
+	<view class="invoice-template">
+		 <!-- 发票信息 -->
+		<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="hideSpec">
+			<!-- 遮罩层 -->
+			<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="invoice-from">
+							<view class="label">注册地址:</view>
+							<input class="form-input" type="text" v-model="invoiceData.registeredAddress" placeholder="请填写单位注册地址(必填)" maxlength="30">
+						</view>
+						<view class="invoice-from">
+							<view class="label">注册电话:</view>
+							<input class="form-input" type="text" v-model="invoiceData.registeredPhone" placeholder="请填写注册电话(必填)" maxlength="15">
+						</view>
+						<view class="invoice-from">
+							<view class="label">开户银行:</view>
+							<input class="form-input" type="text" v-model="invoiceData.openBank"   placeholder="请填写开户银行(必填)" maxlength="10">
+						</view>
+						<view class="invoice-from">
+							<view class="label">银行账号:</view>
+							<input class="form-input" 
+								   type="text" 
+								   v-model="invoiceData.bankAccountNo" 
+								   @input="inputBankNum(invoiceData.bankAccountNo)" 
+								   placeholder="请填写银行账号(必填)" 
+								   maxlength="25">
+						</view>
+					</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>
+</template>
+
+<script>
+	export default{
+		name:"invoice",
+		data() {
+			return{
+				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(){
+			
+		},
+		computed: {
+
+		},
+		methods:{
+			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',this.invoiceData)
+				this.hideSpec()
+			},
+			choiceaInvoiceTwo(){//普通发票
+				if(this.invoiceData.invoiceContent == ''){
+					this.$util.msg('请选择商品明细',2000)
+					return
+				}
+				console.log(this.invoiceData.invoiceTitleType);
+				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',this.invoiceData)
+				this.hideSpec()
+			},
+			choiceaInvoiceThree(){//不开发票
+				this.$emit('handleChoiceaInvoice',this.invoiceData)
+				this.hideSpec()
+			},
+			hideSpec() {//关闭选择数量确认弹窗
+				this.specClass = 'hide';
+				setTimeout(() => {
+					this.specClass = 'none';
+				}, 200);
+			},
+			hanldOperationConfim(){//显示选择数量确认弹窗
+				this.specClass = 'show';
+			},
+			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;
+				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(){
+				//丢弃
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.invoice-template{
+		width: 100%;
+		height: auto;
+		background: #FFFFFF;
+		float: left;
+		margin-top: 24rpx;
+		.invoice-title{
+			width: 702rpx;
+			padding: 0 24rpx;
+			height: 88rpx;
+			line-height: 88rpx;
+			position: relative;
+			border-bottom: 1px solid #EBEBEB;
+			.text{
+				font-size: $font-size-28;
+				color: $text-color;
+			}
+			.iconfont{
+				width: 50rpx;
+				height: 88rpx;
+				line-height: 88rpx;
+				color: #999999;
+				display: block;
+				position: absolute;
+				right: 0;
+				top: 0;
+			}
+		}
+		.invoice-text{
+			width: 702rpx;
+			padding: 0 24rpx;
+			width: 100%;
+			font-size: $font-size-24;
+			color: #666666;
+			line-height: 60rpx;
+		}
+		.invoice-ltitle{
+			width: 100%;
+			line-height: 60rpx;
+			height: 60rpx;
+			font-size: $font-size-28;
+			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: $text-color;
+			}
+		}
+		.invoice-main{
+			width: 100%;
+			height: auto;
+			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;
+				background: #F7F7F7;
+				border-radius: 14rpx;
+				margin-bottom: 20rpx;
+				.label{
+					height: 40rpx;
+					line-height: 40rpx;
+					float: left;
+				}
+				.form-input{
+					height: 40rpx;
+					line-height: 40rpx;
+					flex-grow: 1;
+					padding-left: 20rpx;
+				}
+			}
+			.invoice-group{
+				width: 100%;
+				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;
+						}
+					}
+				}
+				.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;
+						}
+					}
+				}
+			}
+		}
+	}
+	/* 加入购物模态层*/
+	@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>

+ 0 - 1
market/pages/address/address.vue

@@ -137,7 +137,6 @@
 				console.log('删除地址的ID',id)
 				this.$util.modal('','确定要删除该地址?','确定','取消',true,() =>{
 					deleteNewAddress({addressID:id,userID:this.userID}).then(response =>{
-						console.log('11111111111')
 						this.$util.msg('删除成功',2000)
 						setTimeout(() =>{
 							this.pageNum = 1;

+ 14 - 8
market/pages/order/create-order.vue

@@ -7,9 +7,9 @@
 		<!-- 商品 -->
 		<goods-list ref='goods' v-if="isRequest" :goodsData="goodsData" @handleGoodList="handChangeInputGoodsList"></goods-list>
 		<!-- 发票信息 -->
-		<invoice-tent ref="invoice" v-if="isRequest" :invoiceData="invoiceData"></invoice-tent>
+		<seller-invoice ref="invoice" @handleChoiceaInvoice="handleChoiceaInvoiceData"></seller-invoice>
 		<!-- 运费 -->
-		<freight ref="freight" v-if="isRequest" :freightData="freightData" @showFreightAlert="handFreightAlertShow"></freight>
+		<seller-freight ref="freight" @handleChoiceaFreight="handleChoiceaFreightData" @showFreightAlert="handFreightAlertShow"></seller-freight>
 		<freight-alert v-if="isfreightTip" ref="csPhone"></freight-alert>
 		<!-- 余额抵扣 -->
 		<view class="invoice-balance">
@@ -55,9 +55,9 @@
 <script>
 	import choiceAddress from '@/components/module/creatOrder/choiceAddress'  
 	import goodsList from '@/components/module/creatOrder/goodsList'
-	import invoiceTent from '@/components/module/creatOrder/invoiceTent'
-	import freight from '@/components/module/creatOrder/freight'
-	import freightAlert from '@/components/module/modelAlert/freightAlert'
+	import sellerInvoice from '@/components/module/creatOrder/sellerInvoice'
+	import sellerFreight from '@/components/module/creatOrder/sellerFreight'
+	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" 
@@ -66,8 +66,8 @@
 		components:{
 			choiceAddress,
 			goodsList,
-			invoiceTent,
-			freight,
+			sellerInvoice,
+			sellerFreight,
 			freightAlert,
 			modalLayer
 		},
@@ -80,7 +80,7 @@
 				productCount:'',		  //获取上一级页面商品数量
 				classifyIDS:'',			  //获取上一级页面商品分类
 				serviceProviderId:'',	  //协销ID
-				cartType:1,			  //购买类型(1购物车提交,2直接购买提交)
+				cartType:1,			  	  //购买类型(1购物车提交,2直接购买提交)
 				submitState:'',  		  //提交状态
 				balanceDeductionFlag:2,   //勾选余额的状态(1使用,2不使用)
 				allCount:1,				  //订单提交总数量
@@ -237,6 +237,12 @@
 			hideFreight(){//关闭邮费弹窗
 				this.isfreightTip = false;
 			},
+			handleChoiceaInvoiceData(data){//获取发票信息
+				console.log(data)
+			},
+			handleChoiceaFreightData(data){//获取运费信息
+				console.log(data)
+			},
 			checkedBalabce(){//勾选使用余额
 				if(this.userMoney == 0){
 					return

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

@@ -71,7 +71,7 @@
 									</view>
 									<view class="price tui-skeleton-rect" v-else>
 										<text class="p sm">¥</text>
-										<text class="p big">{{item.retailPrice.toFixed(2)}}</text>
+										<text class="p big">{{item.retailPrice ? item.retailPrice.toFixed(2):''}}</text>
 									</view>
 								</view>
 								<view v-else class="no-price">