zhengjinyi преди 3 години
родител
ревизия
71d25982c9

+ 7 - 3
common/css/iconfont.scss

@@ -1,8 +1,8 @@
 @font-face {
   font-family: "iconfont"; /* Project id 3182369 */
-  src: url('//at.alicdn.com/t/font_3182369_fmba8bc8wln.woff2?t=1644889171295') format('woff2'),
-       url('//at.alicdn.com/t/font_3182369_fmba8bc8wln.woff?t=1644889171295') format('woff'),
-       url('//at.alicdn.com/t/font_3182369_fmba8bc8wln.ttf?t=1644889171295') format('truetype');
+  src: url('//at.alicdn.com/t/font_3182369_sa1x7akwh4.woff2?t=1645089597133') format('woff2'),
+       url('//at.alicdn.com/t/font_3182369_sa1x7akwh4.woff?t=1645089597133') format('woff'),
+       url('//at.alicdn.com/t/font_3182369_sa1x7akwh4.ttf?t=1645089597133') format('truetype');
 }
 
 .iconfont {
@@ -13,6 +13,10 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-fenxiang:before {
+  content: "\e685";
+}
+
 .icon-fanhui2:before {
   content: "\e6ae";
 }

+ 0 - 329
components/cm-module/orderDetails/goodsList.vue

@@ -1,329 +0,0 @@
-<template name="goods">
-	<view class="goods-template">
-		 <!-- 商品列表 -->
-		<view class="goods-list">
-			<view class="goods-list-title">商品信息</view>
-		 	<view v-for="(item, index) in initData.orderItemList" :key="index" class="goods-item">
-		 		<view class="productlist">
-		 			<view class="goods-pros-t">
-		 				<view class="pros-img"><image :src="item.productPic" alt="" mode="scaleToFill"/></view>
-		 				<view class="pros-product">
-		 					<view class="producttitle">{{item.productName}}</view>
-		 					<view class="productspec" v-for="(attr,idx) in JSON.parse(item.productAttr)" :key="idx">
-		 						<text>{{attr.key}}:</text>
-		 						<text>{{attr.value}}</text>
-		 					</view>
-		 					<view class="productprice">
-								<view class="count">
-									<text class="small">x</text>{{item.productQuantity}}
-								</view>
-		 						<view class="price">
-		 							<text><text class="small">¥</text>{{ item.productPrice | NumFormat }}</text>
-		 						</view>
-		 					</view>
-		 				</view>	
-		 			</view>
-		 		</view>	
-		 	</view>
-		</view>
-		<view class="information-content">
-			<view class="information-view">
-				<view class="view-num time">
-					<view class="view-num-label">商品合计:</view>
-					<view class="view-num-text">
-						¥{{ initData.totalAmount | NumFormat }}
-					</view>
-				</view>	
-				<view class="view-num time">
-					<view class="view-num-label">运费(快递):</view>
-					<view class="view-num-text">
-						¥{{ initData.freightAmount | NumFormat }}
-					</view>
-				</view>
-			</view>
-			<view class="information-view">
-				<view class="view-num time">
-					<view class="view-num-label">优惠券:</view>
-					<view class="view-num-text">
-						¥{{ initData.couponAmount | NumFormat }}
-					</view>
-				</view>
-				<view class="view-num time">
-					<view class="view-num-label">积分抵扣:</view>
-					<view class="view-num-text">
-						¥{{ initData.integrationAmount | NumFormat }}
-					</view>
-				</view>
-			</view>
-			<view class="information-view">
-				<view class="view-num time">
-					<view class="view-num-label">活动优惠:</view>
-					<view class="view-num-text">
-						¥{{ initData.promotionAmount | NumFormat }}
-					</view>
-				</view>
-				<view class="view-num time">
-					<view class="view-num-label">折扣金额:</view>
-					<view class="view-num-text">
-						¥{{ initData.discountAmount | NumFormat }}
-					</view>
-				</view>
-			</view>
-			<view class="information-view">
-				<view class="view-num time">
-					<view class="view-num-label">订单总金额:</view>
-					<view class="view-num-text">
-						¥{{ (initData.totalAmount + initData.freightAmount) | NumFormat }}
-					</view>
-				</view>
-				<view class="view-num time">
-					<view class="view-num-label">应付款金额:</view>
-					<view class="view-num-text">
-						¥{{ (initData.payAmount + initData.freightAmount - initData.discountAmount) | NumFormat }}
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"goods",
-		props:{
-			orderInfo:{
-				type:Object
-			}
-		},
-		data() {
-			return{
-				initData:{}
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额
-				return Number(text).toFixed(2);
-			},
-		},
-		created(){
-			this.initData = this.orderInfo
-		},
-		computed: {
-
-		},
-		methods:{
-			toFixedFn(text){//处理小数点后两位数
-				return Number(text).toFixed(2);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.goods-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		float: left;
-		margin-top: 16rpx;
-		.goods-list{
-			width: 100%;
-			height: auto;	
-			background:#F7F7F7;
-			border-bottom: 1px solid #EBEBEB;
-			.goods-list-title{
-				background-color: #FFFFFF;
-				font-size: $font-size-28;
-				color: $text-color;
-				line-height: 60rpx;
-				width: 100%;
-				padding: 0 20rpx;
-				font-weight: bold;
-			}
-			.goods-item{
-				width: 100%;
-				padding:10rpx 20rpx;
-				background: #FFFFFF;
-				margin-bottom: 16rpx;
-				&:last-child{
-					margin-bottom: 0;
-				}
-			}
-			.shoptitle{
-				display: flex;
-				align-items: center;
-				height: 80rpx;
-				line-height: 80rpx;
-				.title-logo{
-					width: 48rpx;
-					height: 48rpx;
-					float: left;
-					image{
-						width: 48rpx;
-						height: 48rpx;
-					}
-				}
-				.title-text{
-					float: left;
-					margin-left: 16rpx;
-					font-size: $font-size-28;
-					color: $text-color;
-					text-align: left;
-					line-height: 56rpx;
-					font-weight: bold;
-				}
-			}
-			.productlist{
-				width: 100%;
-				height: auto;
-			}	
-			.goods-pros-t{
-				display: flex;
-				align-items: center;
-				width: 100%;
-				height: auto;
-				.pros-img{
-					width: 100rpx;
-					height: 100rpx;
-					border-radius: 10rpx;
-					margin:0 26rpx 0 0;
-					border:1px solid #f3f3f3;
-					image{
-						width: 100%;
-						height: 100%;
-						border-radius: 10rpx;
-					}
-				}
-			}
-			.pros-product{
-				width: 600rpx;
-				height: 100%;
-				line-height: 36rpx;
-				font-size: $font-size-26;	
-				position: relative;
-				padding: 6rpx 0;
-				box-sizing: border-box;
-				.producttitle{
-					width: 100%;
-					display: inline-block;
-					height: auto;							
-					text-overflow:ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-					margin-bottom: 8rpx;
-				}
-				.productspec{
-					height: 36rpx;
-					color: #999999;
-				}
-				.productprice{
-					height: 48rpx;
-					width: 100%;
-					.price{
-						line-height: 48rpx;
-						font-size: $font-size-28;
-						width: 48%;
-						color: #FF5000;
-						float: right;
-						text-align: right;
-						.small{
-							font-size: $font-size-22;
-						}
-					}
-					.count{
-						height: 100%;
-						float: left;
-						position: relative;
-						.small{
-							color: #666666;
-						}
-					}
-				}
-			}
-			.goods-pros-m{
-				height: 76rpx;
-				line-height: 76rpx;
-				font-size: $font-size-26;
-				color: $text-color;
-				margin-top: 12rpx;
-				.m-text{
-					width: 90rpx;
-					float: left;
-					padding-right: 20rpx;
-				}
-				.m-input{
-					position: relative;
-					float: left;
-					width: 620rpx;
-					height: 70rpx;
-					padding: 20rpx 40rpx;
-					background: #F7F7F7;
-					border-radius: 50rpx;
-					input{
-						width: 100%;
-						height: 100%;
-						background: #F7F7F7;
-						font-size: $font-size-26;
-						line-height: 36rpx;
-						color: #333333;
-						min-height: 36rpx;
-					}
-				}
-			}
-			.goods-pros-b{
-				width:100%;
-				height: auto;
-				.sum{
-					font-size: $font-size-28;
-					line-height: 60rpx;
-					color: $text-color;
-					display: flex;
-					justify-content: flex-end;
-					.money{
-						color: #FF2A2A;
-						font-size: $font-size-28;
-					}
-				}
-			}
-		}
-		.information-content{
-			width: 100%;
-			box-sizing: border-box;
-			padding: 20rpx;
-			.information-view{
-				height: 50rpx;
-				line-height: 50rpx;
-				font-size: $font-size-24;
-				color: $text-color;
-				margin: 4rpx 0;
-				display: flex;
-				.view-num{
-					flex: 1;
-					color: $text-color;
-					.view-num-label{
-						text-align: left;
-						float: left;
-						color: $text-color;
-					}
-					.view-num-text{
-						float: left;
-						text-align: left;
-						color: #999999;
-					}
-				}
-				.red{
-					color: #FF2A2A;
-				}
-				.view-type{
-					float: right;
-					text-align: right;
-					color: #FF2A2A;
-					flex: 2;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 197
components/cm-module/orderDetails/invoiceTent.vue

@@ -1,197 +0,0 @@
-<template name="invoice">
-	<view class="invoice-template">
-		 <!-- 发票信息 -->
-		 <view class="invoice-content">
-		 	<view class="invoice-title">发票信息</view>
-			<view class="invoice-empty" v-if="isEmpty">
-			 	<text>不开发票</text></text>
-			</view>
-			<view class="invoice-text" v-else>
-				<view class="invoice-top" @click="showInvoice">
-					<view class="name">{{orderInvoice.invoiceTitle ? orderInvoice.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>{{orderInvoice.invoiceTitle ? orderInvoice.invoiceTitle : ''}}</text>
-						</view>
-						<view class="table long">
-							<text class="label-name">纳锐人识别号:</text>
-							<text>{{orderInvoice.corporationTaxNum ? orderInvoice.corporationTaxNum :''}}</text> 
-						</view>
-						<view class="table">
-							<text class="label-name">注册地址:</text>
-							<text>{{orderInvoice.registeredAddress ? orderInvoice.registeredAddress : ''}}</text> 
-						</view>
-						<view class="table">
-							<text class="label-name">注册电话:</text>
-							<text>{{orderInvoice.registeredPhone ? orderInvoice.registeredPhone : ''}}</text>
-						</view>
-						<view class="table">
-							<text class="label-name">开户银行:</text>
-							<text>{{orderInvoice.openBank ? orderInvoice.openBank : ''}}</text>
-						</view>
-						<view class="table">
-							<text class="label-name">银行账号:</text>
-							<text>{{bankAccountNo ? bankAccountNo : ''}}</text>
-						</view>
-					</view>
-				</view>
-			</view>
-		 </view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"invoice",
-		props:{
-			orderInvoice:{
-				type:Object
-			}
-		},
-		data() {
-			return{
-				isEmpty:false,
-				title:'发票信息',
-				isOpen:false,
-				bankAccountNo:''
-			}
-		},
-		created(){
-			this.initData(this.orderInvoice)
-		},
-		computed: {
-
-		},
-		methods:{
-			initData(res) {
-				if(res == null || res.type == '0'){
-					this.isEmpty = true
-				}else{
-					this.isEmpty = false
-					this.bankAccountNo = this.$reg.bankRegex(res.bankAccountNo)
-				}
-			},
-			onMessage(pros){
-			},
-			showInvoice(){
-				this.isOpen = !this.isOpen
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.invoice-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		float: left;
-		margin-top: 24rpx;
-		.invoice-content{
-			width: 702rpx;
-			padding: 20rpx 24rpx;
-		}
-		.invoice-title{
-			font-size: $font-size-28;
-			color: $text-color;
-			text-align: left;
-			line-height: 40rpx;
-			font-weight: bold;
-			margin-bottom: 30rpx;
-		}
-		.invoice-empty{
-			font-size: $font-size-28;
-			color: $text-color;
-			text-align: left;
-			line-height: 40rpx;
-			.txt{
-				font-size: $font-size-24;
-				color: #999999;
-			}
-		}
-		.invoice-animation {
-			/* transition: transform 0.3s ease;*/
-			transition-property: transform;
-			transition-duration: 0.3s;
-			transition-timing-function: ease;
-		}
-		.invoice-text{
-			width: 100%;
-			height: auto;
-			.invoice-top{
-				width: 100%;
-				height: 40rpx;
-				line-height: 40rpx;
-				font-size: $font-size-28;
-				color: $text-color;
-				text-align: left;
-				.name{
-					width: 400rpx;
-					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{
-				width: 100%;
-				padding: 24rpx 0 0 0;
-				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;
-					}
-					&.long{
-						padding-left: 180rpx;
-					}
-				}
-			}	
-			.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;
-			}		
-		}
-	}
-</style>

+ 185 - 0
components/cm-module/orderDetails/list-button.vue

@@ -0,0 +1,185 @@
+<template name="button">
+	<view class="button-template">
+		<!-- 底部按钮 -->
+		<view class="button-content">
+			<view class="btn btn-confirm" v-if="btnState.isConfirm" @click.stop="btnConfirm">操作</view>
+		</view>
+		<tui-actionsheet
+			:show="showActionSheet"
+			:tips="tips"
+			:item-list="itemList"
+			:mask-closable="maskClosable"
+			:color="color"
+			:size="size"
+			:is-cancel="isCancel"
+			@click="itemClick"
+			@cancel="closeActionSheet"
+		></tui-actionsheet>
+	</view>
+</template>
+
+<script>
+export default {
+	name: 'button',
+	props: {
+		status: {
+			type: Number
+		},
+		dataInfo: {
+			type: Object
+		}
+	},
+	data() {
+		return {
+			btnState: this.initStatus(),
+			mapStateArr: [{ label: 'isConfirm', val: [0], status: true }],
+			souStateArr:[
+				{ 
+					type:1,
+					action:[
+						{ text: '作废',color: '#2B2B2B' },
+						{ text: '设为返佣款',color: '#2B2B2B' },
+						{ text: '设为供应商退款',color: '#2B2B2B' },
+					],
+				},
+				{ 
+					type:2,
+					action:[
+						{ text: '作废',color: '#2B2B2B' },
+						{ text: '设为普通款',color: '#2B2B2B' },
+						{ text: '设为返佣款',color: '#2B2B2B' },
+						{ text: '设为供应商退款',color: '#2B2B2B' }
+					],
+				},
+				{ 
+					type:3,
+					action:[
+						{ text: '作废',color: '#2B2B2B' },
+						{ text: '设为普通款',color: '#2B2B2B' },
+						{ text: '设为供应商退款',color: '#2B2B2B' }
+					],
+				},
+				{ 
+					type:4,
+					action:[
+						{ text: '作废',color: '#2B2B2B' },
+						{ text: '设为普通款',color: '#2B2B2B' },
+						{ text: '设为返佣款',color: '#2B2B2B' }
+					],
+				},
+			],
+			showActionSheet: false,
+			maskClosable: true,
+			tips: '',
+			itemList: [],
+			color: '#9a9a9a',
+			size: 24,
+			isCancel: true
+		}
+	},
+	created() {
+		this.initData(this.status,this.dataInfo)
+	},
+	computed: {},
+	watch: {
+		status: {
+			handler: function(val) {
+				this.initData(val)
+			},
+			deep: true //对象内部的属性监听,也叫深度监听
+		}
+	},
+	methods: {
+		initData(resVal,dataVal) {
+			/**
+			 * @分享按钮统一显示
+			 * @按钮根据状态显示
+			 * @(4、5、7、12、22、23、32)显示[查看物流]按钮,其他隐藏
+			 * @(6)显示[删除订单],其他隐藏
+			 * @(0、111)显示[取消订单],其他隐藏
+			 * @(21,31)只显示分享
+			 * @(13,33)显示[确认收货]和[查看物流]
+			 */
+			this.btnState = this.initStatus()
+			this.mapStateArr.forEach(el => {
+				el.val.forEach(value => {
+					if (resVal === value) {
+						this.btnState[el.label] = el.status
+					}
+				})
+			})
+			this.initActionSheet(dataVal.sourceType)
+		},
+		initActionSheet(dataVal){
+			this.souStateArr.forEach(el => {
+				if (dataVal === el.type) {
+					this.itemList = el.action
+				}
+			})
+		},
+		initStatus() {
+			let btnState = {
+				isConfirm: false
+			}
+			return btnState
+		},
+		btnConfirm() {
+			this.showActionSheet = true
+		},
+		closeActionSheet() {
+			this.showActionSheet = false
+		},
+		// btnConfirm(){
+		// 	this.$emit('buttonConfirm',data)
+		// }
+	}
+}
+</script>
+<style lang="scss">
+.button-template {
+	width: 100%;
+	height: auto;
+	float: left;
+	background: #ffffff;
+	.button-content {
+		width: 100%;
+		height: auto;
+		float: left;
+		position: relative;
+		.btn {
+			width: 160rpx;
+			height: 64rpx;
+			margin: 10rpx 0 0 0;
+			line-height: 64rpx;
+			font-size: $font-size-26;
+			text-align: center;
+			border-radius: 6rpx;
+			float: right;
+		}
+		.btn-cancel {
+			background-color: #f6f6f6;
+			color: #333333;
+		}
+		.btn-delete {
+			background-color: #f6f6f6;
+			color: #333333;
+		}
+		.btn-query {
+			background-color: #ff5000;
+			color: #ffffff;
+		}
+		.btn-confirm {
+			background-color: #4688fa;
+			color: #ffffff;
+		}
+		.btn-pay {
+			background-color: #4688fa;
+			color: #ffffff;
+			margin-right: 0;
+		}
+	}
+}
+.tui-actionsheet-btn{
+	box-sizing: content-box;
+}
+</style>

+ 0 - 183
components/cm-module/orderDetails/logisticsRecord.vue

@@ -1,183 +0,0 @@
-<template name="logistics">
-	<view class="logistics-template">
-		<!-- 物流信息 -->
-		<view class="logistics-content" v-if="logisticsData.length > 0" v-for="(item,index) in logisticsData" :key="index">
-			<view class="logistics-top">
-				<text class="name">物流信息</text>
-			</view>
-			<view class="logistics-warp">
-				<view  class="logistics-warp__wrapper">
-					<view class="logistics-main">
-					 	<view class="logistics-main-top">
-					 		<view class="main-top" @click="showlogistics(index)">
-								{{item.expressname}}:{{item.expressNumber}}
-								<text class="clipboard" @click="clipboard(item.expressNumber)">复制</text>
-								<text class="arrow-showMore iconfont icon-web_xiangxiazhankai" :style="{'transform':item.isOpen?'rotate(180deg)':'rotate(0)'}"></text>
-							</view>
-					 		<view class="main-bot">
-								发货时间:{{item.expressNewtime}}
-							</view>
-					 	</view>
-						<view v-if="item.expressRecord.length > 0" v-for="(infoItem,infoIndex) in item.expressRecord" :key="infoIndex" :class="{'logistics-warp--hide':!item.isOpen}" class="logistics-main-bot logistics-animation" :style="{'transform':item.isOpen?'translateY(0)':'translateY(-50%)','-webkit-transform':item.isOpen?'translateY(0)':'translateY(-50%)'}" >
-							{{infoItem.time}}  {{infoItem.desc}}
-						</view>
-						<view v-if="item.expressRecord" :class="{'logistics-warp--hide':!item.isOpen}" class="logistics-main-bot logistics-animation" :style="{'transform':item.isOpen?'translateY(0)':'translateY(-50%)','-webkit-transform':item.isOpen?'translateY(0)':'translateY(-50%)'}">
-							暂无物流信息
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="logistics-content" v-else>
-			暂无物流信息
-		 </view>
-	</view>
-</template>
-
-<script>
-	const thorui = require("@/components/clipboard/clipboard.thorui.js")
-	export default{
-		name:"logistics",
-		data() {
-			return{
-				title:'发票信息',
-				logisticsData:''
-			}
-		},
-		created(){
-			
-		},
-		computed: {
-
-		},
-		methods:{
-			initData(res) {
-				this.logisticsData = res;
-			},
-			showlogistics(index){
-				let isOpen = this.logisticsData[index]['isOpen'];
-				this.logisticsData[index]['isOpen'] = !isOpen;
-			},
-			clipboard(data) {
-				thorui.getClipboardData(data, (res) => {
-					// #ifdef H5
-					if (res) {
-						this.$util.msg("复制成功",2000);
-					} else {
-						this.$util.msg("复制失败",2000);
-					}
-					// #endif
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.logistics-template{
-		width: 100%;
-		height: 100%;
-		background: #FFFFFF;
-		float: left;
-		.logistics-content{
-			width: 702rpx;
-			padding: 20rpx 24rpx;
-			height: auto;
-			.arrow-showMore {
-				position: absolute;
-				right: 24rpx;
-				z-index: 99;
-			}
-			.logistics-top{
-				width: 100%;
-				height: 40rpx;
-				line-height: 40rpx;
-				font-size: $font-size-28;
-				color: $text-color;
-				text-align: left;
-				padding-bottom: 24rpx;
-				border-bottom: 1px solid #F8F8F8;
-				.name{
-					float: left;
-					font-weight: bold;
-				}
-				.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);
-				}
-			}
-			.logistics-warp{
-				width: 100%;
-				overflow: hidden;
-				.table{
-					height: 76rpx;
-					line-height: 76rpx;
-					font-size: $font-size-26;
-					color: $text-color;
-					text-align: left;
-				}
-			}	
-			.logistics-main-top{
-				width: 100%;
-				height: auto;
-				float: left;
-				padding-top: 24rpx;
-				margin-bottom: 14rpx;
-				.main-top,.main-bot{
-					font-size: $font-size-28;
-					color: $text-color;
-					line-height: 40rpx;
-					margin: 4rpx 0;
-				}
-			}
-			.logistics-main-bot{
-				width: 100%;
-				height: auto;
-				font-size: $font-size-24;
-				color: $text-color;
-				line-height: 56rpx;
-				text-align: justify;
-			}
-			.logistics-animation {
-				/* transition: transform 0.3s ease;*/
-				transition-property: transform;
-				transition-duration: 0.3s;
-				transition-timing-function: ease;
-			}
-			.logistics-warp__wrapper{
-				/* #ifndef APP-NVUE */
-				display: flex;
-				/* #endif */
-				flex-direction: column;
-			}
-			.logistics-warp--hide {
-				// padding: 0 0;
-				// height: 0px;
-				// line-height: 0px;
-				display: none;
-			}	
-			.clipboard{
-				width: 84rpx;
-				height: 36rpx;
-				background: linear-gradient(34deg,rgba(255,41,41,1) 0%,rgba(255,109,27,1) 100%);
-				text-align: center;
-				font-size: $font-size-24;
-				color: #FFFFFF;
-				border-radius: 6rpx;
-				line-height: 36rpx;
-				display: inline-block;
-				margin-left: 42rpx;
-			}
-		}
-	}
-</style>

+ 0 - 169
components/cm-module/orderDetails/orderAddress.vue

@@ -1,169 +0,0 @@
-<template name="address">
-	<view class="address-template clearfix">
-		 <!-- 地址信息 -->
-		 <view class="address-section">
-			<view class="address-title">收货人信息</view>
-		 	<view class="address-content clearfix">
-				<view class="address-icon">
-					<text class="iconfont icon-tubiaoshangchuanmoban"></text>
-				</view>
-				<view class="address-cen">
-					<view class="top">
-						<view class="name">{{orderInfo.receiverName !== undefined ? orderInfo.receiverName : ''}}</view>
-						<view class="mobile">86-{{orderInfo.receiverPhone !== undefined ? orderInfo.receiverPhone : ''}}</view>
-					</view>
-					<view class="address">
-						
-						<view class="address-text">
-							收货地址:
-							{{orderInfo.receiverProvince !== undefined ? orderInfo.receiverProvince : ''}}
-							{{orderInfo.receiverCity !== undefined ? orderInfo.receiverCity : ''}}
-							{{orderInfo.receiverRegion !== undefined ? orderInfo.receiverRegion : ''}}
-							{{orderInfo.receiverDetailAddress !== undefined ? orderInfo.receiverDetailAddress : ''}}
-						</view>
-					</view>
-				</view>
-		 	</view>
-		 </view>
-		<view class="tui-bg-img"></view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"address",
-		props:{
-			orderInfo:{
-				type:Object
-			}
-		},
-		data() {
-			return{
-				initData:''
-			}
-		},
-		created(){
-			this.initData = this.orderInfo;
-		},
-		computed: {
-
-		},
-		methods:{
-			
-		}
-	}
-</script>
-
-<style lang="scss">
-	.address-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		border-top: 1px solid #F8F8F8;
-		position: relative;
-		.tui-bg-img {
-			position: absolute;
-			width: 100%;
-			height: 8rpx;
-			left: 0;
-			bottom: 0;
-			background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL0AAAAECAMAAADszM6/AAAAOVBMVEUAAAAVqfH/fp//vWH/vWEVqfH/fp8VqfH/fp//vWEVqfH/fp8VqfH/fp//vWH/vWEVqfH/fp//vWHpE7b6AAAAEHRSTlMA6urqqlVVFRUVq6upqVZUDT4vVAAAAEZJREFUKM/t0CcOACAQRFF6r3v/w6IQJGwyDsPT882IQzQE0E3chToByjG5LwMgLZN3TQATmdypCciBya0cgOT3/h//9PgF49kd+6lTSIIAAAAASUVORK5CYII=") repeat;
-		}
-	}
-	.address-section {
-		width: 100%;
-		height: auto;
-		float: left;
-		position: relative;
-		.address-title{
-			font-size: $font-size-28;
-			color: $text-color;
-			line-height: 60rpx;
-			width: 100%;
-			padding: 0 20rpx;
-			font-weight: bold;
-		}
-		.address-content {
-			width: 100%;
-			height: 174rpx;
-			box-sizing: border-box;
-			padding:20rpx;
-			background: #fff;
-		}
-		.address-icon{
-			width: 70rpx;
-			height: 70rpx;
-			background: linear-gradient(90deg,rgba(122,165,250,1) 0%,rgba(87,110,250,1) 100%);
-			border-radius: 50%;
-			float: left;
-			line-height: 70rpx;
-			margin-top: 20rpx;
-			text-align: center;
-			.icon-tubiaoshangchuanmoban {
-				flex-shrink: 0;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				color: #FFFFFF;
-				font-size: 44rpx;
-			}	
-		}
-		.address-cen {
-			width: 610rpx;
-			height: auto;
-			position: relative;
-			float: left;
-			padding-left: 20rpx;
-			.top{
-				height: 42rpx;
-				line-height: 42rpx;
-				text-align: left;
-				font-size: $font-size-26;
-				color: $text-color;
-				padding-bottom: 8rpx;
-				display: flex;
-				float: left;
-				margin-bottom: 10rpx;
-				.name{
-					margin-right: 48rpx;
-				}
-				.mobile{
-					margin-right: 40rpx;
-				}
-			}
-			.address {
-				width: 100%;
-				height: auto;
-				float: left;
-				.address-text{
-					width: 610rpx;
-					float: left;
-					line-height: 40rpx;
-					font-size: $font-size-26;
-					color: $text-color;
-					text-align: left;
-					-o-text-overflow: ellipsis;
-					text-overflow: ellipsis;
-					display: -webkit-box;
-					word-break: break-all;
-					-webkit-box-orient: vertical;
-					-webkit-line-clamp: 2;
-					overflow: hidden;
-				}
-			}
-		}
-		.icon-xiayibu {
-			font-size: 32rpx;
-			color: $text-color;
-			margin-right: 30rpx;
-		}
-		.a-bg {
-			position: absolute;
-			left: 0;
-			bottom: 0;
-			display: block;
-			width: 100%;
-			height: 5rpx;
-		}
-	}
-</style>

+ 0 - 152
components/cm-module/orderDetails/orderListButton.vue

@@ -1,152 +0,0 @@
-<template name="button">
-	<view class="button-template">
-		<!-- 底部按钮 -->
-		<view class="button-content">
-			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel',orderInfo)">关闭订单</view>
-			<view class="btn btn-delete" v-if="btnState.isDelete" @click.stop="btnConfirm('delete',orderInfo)">删除订单</view>
-			<view class="btn btn-query" v-if="btnState.isRefund" @click.stop="btnConfirm('refund',orderInfo)">订单发货</view>
-			<view class="btn btn-confirm" v-if="btnState.isQuery" @click.stop="btnConfirm('query',orderInfo)">订单跟踪</view>
- 		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"button",
-		props:{
-			status: {
-				type:Number
-			},
-			orderInfo:{
-				type:Object
-			}
-		},
-		data() {
-			return{
-				isShare:true,
-				shareCode:'',
-				btnState:this.initStatus(),
-				mapStateArr:[
-					{label:'isCancel',val:[0],status: true},
-					{label:'isDelete',val:[4],status: true},
-					{label:'isQuery',val:[2,3],status: true},
-					{label:'isRefund',val:[1],status: true},
-				]
-			}
-		},
-		created(){
-			this.initData(this.status)
-		},
-		computed: {
-			
-		},
-		watch:{
-			status:{
-				handler:function(val){
-					this.initData(val)
-				},
-				deep:true//对象内部的属性监听,也叫深度监听
-			}
-		},
-		methods:{
-			initData(resVal) {
-				/**
-				 * @分享按钮统一显示
-				 * @按钮根据状态显示
-				 * @(4、5、7、12、22、23、32)显示[查看物流]按钮,其他隐藏
-				 * @(6)显示[删除订单],其他隐藏
-				 * @(0、111)显示[取消订单],其他隐藏
-				 * @(21,31)只显示分享
-				 * @(13,33)显示[确认收货]和[查看物流]
-				 */
-				this.btnState = this.initStatus()
-				this.mapStateArr.forEach(el => {
-					el.val.forEach(value => {
-						if(resVal === value){
-							this.btnState[el.label] = el.status
-						}
-					})
-				})
-			},
-			initStatus(){
-				let btnState= {
-						isQuery: false,
-						isDelete: false,
-						isCancel: false,
-						isConfirm: false,
-						isRefund: false,
-						isReturned: false,
-						isConfirmation:false,
-					}
-				return 	btnState
-			},
-			btnConfirm(type,order){
-				let data = {
-						type:type,
-						order:order
-					}
-				this.$emit('buttonConfirm',data)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.button-template{
-		width: 100%;
-		height: auto;
-		float: left;
-		background: #FFFFFF;
-		.button-content{
-			width: 100%;
-			height: auto;
-			float: left;
-			position: relative;
-			padding:0 20rpx;
-			.share-code{
-				width: 200rpx;
-				height:  64rpx;
-				line-height: 64rpx;
-				color: #2A45FF;
-				text-align: left;
-				position: absolute;
-				font-size: $font-size-28;
-				font-weight: bold;
-				left: 24rpx;
-				top: 24rpx;
-			}
-			.btn{
-				width: 160rpx;
-				height:  64rpx;
-				margin:22rpx;
-				line-height: 64rpx;
-				font-size:$font-size-26;
-				text-align: center;
-				border-radius: 6rpx;
-				float: right;
-				
-			}
-			.btn-cancel{
-				background-color:#f6f6f6;
-				color: #333333;
-			}
-			.btn-delete{
-				background-color:#f6f6f6;
-				color: #333333;
-			}
-			.btn-query{
-				background-color:#FF5000;
-				color: #FFFFFF;
-			}
-			.btn-confirm{
-				background-color:#4688fa;
-				color: #FFFFFF;
-			}
-			.btn-pay{
-				background-color:#4688fa;
-				color: #FFFFFF;
-				margin-right: 0;
-			}
-		}
-	}
-</style>

+ 0 - 409
components/cm-module/orderDetails/orderPopup.vue

@@ -1,409 +0,0 @@
-<template name="orderPopup">
-	<!--促销活动弹窗提示-->
-	<view class="orderPopup">
-		<tui-bottom-popup :radius="true" :show="popupShow" @close="hidePopup()">
-			<view class="tui-popup-box clearfix">
-				<template v-if="popupType == 1">
-					<view class="tui-popup-title">修改收货人信息:</view>
-					<view class="tui-scrollview-box">
-						<view class="text-input b-b">
-							<input class="input" type="text" v-model="receiverInfo.receiverName" placeholder="收货人姓名" placeholder-class="placeholder" />
-						</view>
-						<view class="text-input b-b">
-							<input class="input" type="number" maxlength="11" v-model="receiverInfo.receiverPhone"   placeholder="手机号码" placeholder-class="placeholder" />
-						</view>					
-						<view class="text-input b-b">
-							<input class="input" type="number" maxlength="11" v-model="receiverInfo.receiverPostCode"   placeholder="邮政编码" placeholder-class="placeholder" />
-						</view>
-						<view class="text-input b-b" @click="showMulLinkageThreePicker">
-							<text class="input">
-								{{receiverInfo.receiverProvince}}{{receiverInfo.receiverCity}}{{receiverInfo.receiverRegion}}
-							</text>		
-							<text class="iconfont icon-xiayibu"></text>
-						</view>
-						<view class="text-textarea b-b"> 
-							<view class="textarea show" v-if="isShowInput">{{receiverInfo.receiverDetailAddress ? receiverInfo.receiverDetailAddress :'详细地址:如道路、门牌号、小区、楼房号、单元室等'}}</view>
-							<textarea 	v-else
-										class="textarea" 
-										type="text" 
-										v-model="receiverInfo.receiverDetailAddress" 
-										placeholder="详细地址:如道路、门牌号、小区、楼房号、单元室等" 
-										placeholder-class="placeholder"
-										maxlength="50"
-										@input="onTextareaInput"
-										:class="isShowInput ? '':''"
-							/>
-						</view>
-					</view>	
-				</template>	
-				<template v-if="popupType == 2">
-					<view class="tui-popup-title">修改费用信息:</view>
-					<view class="tui-scrollview-box">
-						<view class="information-view">
-							<view class="view-num time">
-								<view class="view-num-label">商品合计:</view>
-								<view class="view-num-text">
-									{{orderInfo.totalAmount}}
-								</view>
-							</view>
-							<view class="view-num time">
-								<view class="view-num-label">优惠券:</view>
-								<view class="view-num-text">
-									{{orderInfo.couponAmount}}
-								</view>
-							</view>
-						</view>
-						<view class="information-view">
-							<view class="view-num time">
-								<view class="view-num-label">积分抵扣:</view>
-								<view class="view-num-text">
-									{{orderInfo.integrationAmount}}
-								</view>
-							</view>
-							<view class="view-num time">
-								<view class="view-num-label">活动优惠:</view>
-								<view class="view-num-text">
-									{{orderInfo.promotionAmount}}
-								</view>
-							</view>
-						</view>
-						<view class="information-view">
-							<view class="view-num time">
-								<view class="view-num-label">运费:</view>
-								<view class="view-num-text">
-									<input class="input" type="number" maxlength="11" v-model="moneyInfo.freightAmount"   placeholder-class="placeholder" />
-								</view>
-							</view>
-							<view class="view-num time">
-								<view class="view-num-label">折扣金额:</view>
-								<view class="view-num-text">
-									<input class="input" type="number" maxlength="11" v-model="moneyInfo.discountAmount"   placeholder-class="placeholder" />
-								</view>
-							</view>
-						</view>
-						<view class="information-view">
-							<view class="view-num time">
-								<view class="view-num-label">订单总金额:</view>
-								<view class="view-num-text">
-									{{orderInfo.totalAmount+moneyInfo.freightAmount}}
-								</view>
-							</view>
-							<view class="view-num time">
-								<view class="view-num-label">应付款金额:</view>
-								<view class="view-num-text">
-									{{orderInfo.payAmount+moneyInfo.freightAmount-moneyInfo.discountAmount}}
-								</view>
-							</view>
-						</view>
-					</view>
-				</template>
-				<template v-if="popupType == 3">
-					<view class="tui-popup-title">订单备注:</view>
-					<view class="tui-scrollview-box">
-						<view class="text-textarea b-b">
-							<textarea 	class="textarea" 
-										type="text" 
-										v-model="markInfo.note" 
-										placeholder="备注内容" 
-										placeholder-class="placeholder"
-										maxlength="100"
-							/>
-						</view>
-					</view>
-				</template>
-				<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom :isIphoneX ? '68rpx' : '0rpx' }">
-					<view class="tui-flex-1">
-						<view class="tui-button cancel"  @click="hidePopup()">取消</view>
-						<view class="tui-button confirm"  @click="updataConfirm(popupType)">确定</view>
-					</view>
-				</view>
-			</view>	
-		</tui-bottom-popup>
-		<mpvue-city-picker  ref="mpvueCityPicker"
-						    :pickerValueDefault="cityPickerValueDefault"
-							@onCancel="onCancel" 
-							@onConfirm="onConfirm">
-		</mpvue-city-picker>
-	</view>
-</template>
-
-<script>
-	import mpvueCityPicker from '@/components/mpvue-citypicker/mpvueCityPicker'
-	import { mapState,mapMutations } from 'vuex'
-	const defaultReceiverInfo = {
-	    orderId:null,
-	    receiverName:null,
-	    receiverPhone:null,
-	    receiverPostCode:null,
-	    receiverDetailAddress:null,
-	    receiverProvince:null,
-	    receiverCity:null,
-	    receiverRegion:null,
-	    status:null
-	};
-	export default{
-		name:'orderPopup',
-		components:{
-			mpvueCityPicker
-		},
-		props:{
-			orderInfo:{
-				type:Object,
-			},
-			popupType:{
-				type:Number,
-			},
-		},
-		data() {
-			return{
-				isIphoneX:this.$store.state.isIphoneX,
-				receiverInfo:Object.assign({},defaultReceiverInfo),
-				cityPickerValueDefault: [0, 0, 1],
-				isShowInput:false,
-				popupShow:true,
-				moneyInfo:{
-					orderId:null, 
-					freightAmount:0, 
-					discountAmount:0,
-					status:null,
-				},
-				 markInfo:{note:null},
-
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额
-				return Number(text).toFixed(2);
-			},
-			formatAddress(order) {
-				let str = order.receiverProvince;
-				if (order.receiverCity != null) {
-				  str += "  " + order.receiverCity;
-				}
-				str += "  " + order.receiverRegion;
-				str += "  " + order.receiverDetailAddress;
-				return str;
-			},
-		},
-		created() {
-			this.receiverInfo={
-			  orderId:this.orderInfo.id,
-			  receiverName:this.orderInfo.receiverName,
-			  receiverPhone:this.orderInfo.receiverPhone,
-			  receiverPostCode:this.orderInfo.receiverPostCode,
-			  receiverDetailAddress:this.orderInfo.receiverDetailAddress,
-			  receiverProvince:this.orderInfo.receiverProvince,
-			  receiverCity:this.orderInfo.receiverCity,
-			  receiverRegion:this.orderInfo.receiverRegion,
-			  status:this.orderInfo.status
-			}
-			this.moneyInfo.orderId=this.orderInfo.id;
-			this.moneyInfo.freightAmount=this.orderInfo.freightAmount;
-			this.moneyInfo.discountAmount=this.orderInfo.discountAmount;
-			this.moneyInfo.status=this.orderInfo.status;
-		},
-		computed: {
-			...mapState(['hasLogin','isWxAuthorize'])
-		},
-		methods:{
-			// 三级联动选择
-			showMulLinkageThreePicker() {
-				this.isShowInput = true
-				this.$refs.mpvueCityPicker.show()
-			},
-			onConfirm(e) {
-				console.log(e)
-				this.isShowInput = false
-				this.receiverInfo.receiverProvince=e.province;
-				this.receiverInfo.receiverCity=e.city;
-				this.receiverInfo.receiverRegion=e.region;
-			},	
-			onCancel(e) {
-				console.log(e)
-			},
-			hidePopup(){
-				this.popupShow = false
-				this.$parent.isPopupShow = false
-			},
-			
-			updataConfirm(type){
-				switch(this.popupType){
-					case 1:
-						this.$emit('popupTypeConfirm',this.receiverInfo)
-						this.popupShow = false
-						break;
-					case 2:
-						this.$emit('popupTypeConfirm',this.moneyInfo)
-						this.popupShow = false
-						break;
-					case 3:
-						 let params = new URLSearchParams();
-							 params.append("id",this.markInfo.id);
-							 params.append("note",this.markInfo.note);
-							 params.append("status",this.order.status);
-						this.$emit('popupTypeConfirm',params)	 
-						this.popupShow = false
-						break;
-				}
-			},
-		},
-		
-	}
-</script>
-
-<style lang="scss">	
-	.tui-flex-1 {
-		flex: 1;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-	}
-	.tui-popup-title{
-		line-height: 80rpx;
-		font-size: $font-size-28;
-		color: $text-color;
-		padding: 0 24rpx;
-	}
-	.tui-popup-box {
-		position: relative;
-		box-sizing: border-box;
-		min-height: 220rpx;
-		padding:0 24rpx 0 24rpx;
-	}
-	.text-textarea{
-		width: 100%;
-		height: 216rpx;
-		padding: 24rpx;
-		background: #F7F7F7;
-		.textarea{
-			width: 100%;
-			height: 100%;
-			font-size: $font-size-28;
-			color: $text-color;
-			z-index: 1;
-		}
-		.textarea.hide{
-			opacity: 0;
-		}
-		.textarea.show{
-			color: #999999;
-		}
-	}
-	.tui-scrollview-box{
-		width: 100%;
-		height: auto;
-		float: left;
-		box-sizing: border-box;
-		.information-view{
-			height: 60rpx;
-			line-height: 60rpx;
-			font-size: $font-size-28;
-			color: $text-color;
-			margin: 4rpx 0;
-			display: flex;
-			.view-num{
-				flex: 1;
-				color: $text-color;
-				text-align: left;
-				.view-num-label{
-					text-align: left;
-					float: left;
-					color: $text-color;
-				}
-				.view-num-text{
-					float: left;
-					text-align: left;
-					color: #999999;
-					.input{
-						width: 150rpx;
-						height: 60rpx;
-						border: 1px solid #EBEBEB;
-						border-radius: 4rpx;
-						padding: 0 15rpx;
-					}
-				}
-			}
-			.view-num.ord{
-				color: $color-system;
-				text-align: left;
-				flex:3;
-				font-weight: bold;
-			}
-			.view-num.time{
-				color: #999999;
-			}
-			.bold{
-				font-weight: bold;
-			}
-			.red{
-				color: #FF2A2A;
-			}
-			.view-type{
-				float: right;
-				text-align: right;
-				color: #FF2A2A;
-				flex: 2;
-			}
-			.clipboard{
-				width: 84rpx;
-				height: 36rpx;
-				background: #EBEBEB;
-				text-align: center;
-				font-size: $font-size-24;
-				color: #999999;
-				border-radius: 18rpx;
-				line-height: 36rpx;
-				display: inline-block;
-				margin-left: 42rpx;
-			}
-		}
-	}
-	
-	.tui-popup-btn {
-		width: 100%;
-		height: auto;
-		float: left;
-		margin-top: 24rpx;
-		.tui-button{
-			width: 40%;
-			flex: 1;
-			height: 70rpx;
-			background: $btn-confirm;
-			line-height: 70rpx;
-			text-align: center;
-			color: #FFFFFF;
-			font-size: $font-size-26;
-			border-radius: 8rpx;
-			margin: 0 5%;
-			&.cancel{
-				background-color:#f6f6f6;
-				color: #333333;
-			}
-			&.confirm{
-				background-color:#4688fa;
-				color: #FFFFFF;
-			}
-		}
-	}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

+ 0 - 124
components/cm-module/orderDetails/paymentRecord.vue

@@ -1,124 +0,0 @@
-<template name="record">
-	<view class="record-template">
-		<!-- 支付记录 -->
-		<view class="record-content">
-			<view class="record-title">
-				<view class="record-title-l">支付记录</view>
-				<view class="record-title-r" v-if="!isEmpty">
-					已支付:<text class="red">¥{{ receiptAmount != null ? receiptAmount.toFixed(2): '0.00'}}</text>
-				</view>
-			</view>
-			<view class="record-empty" v-if="isEmpty">
-			 	<text>无</text>
-			</view>
-			<view class="record-list" v-else>
-				<view class="record-item" v-for="(item,index) in discernReceiptList" :key="index">
-					<view class="item-time">{{item.receiptDate}}</view>
-					<view class="item-nums">¥{{item.associateAmount.toFixed(2)}}</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"record",
-		props:{
-			discernReceiptList:{
-				type:Array
-			},
-			receiptAmount:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				isEmpty:false,
-				paymentData:'',
-				typeText:'',
-				isOpen:false,
-			}
-		},
-		created(){
-			this.initData(this.discernReceiptList)
-		},
-		computed: {
-
-		},
-		methods:{
-			initData(res) {
-				if(res!=''){
-					this.isEmpty = false
-					this.paymentData = res;
-				}else{
-					this.isEmpty = true
-				}
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.record-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		float: left;
-		margin-top: 24rpx;
-		.record-content{
-			width: 702rpx;
-			padding: 20rpx 24rpx;
-			height: auto;
-			.record-title{
-				width: 100%;
-				font-size: $font-size-28;
-				color: $text-color;
-				text-align: left;
-				line-height: 40rpx;
-				margin-bottom: 12rpx;
-				float: left;
-				.record-title-l{
-					font-weight: bold;
-					float: left;
-				}
-				.record-title-r{
-					float: right;
-					.red{
-						color: #FF2A2A;
-						font-weight: bold;
-					}
-				}
-			}
-			.record-empty{
-				font-size: $font-size-28;
-				color: $text-color;
-				text-align: left;
-				line-height: 40rpx;
-			}
-			.record-list{
-				width: 100%;
-				height: auto;
-				float: left;
-				margin-top: 12rpx;
-				.record-item{
-					height: 40rpx;
-					width: 100%;
-					padding: 12rpx 0;
-					font-size: $font-size-28;
-					line-height: 40rpx;
-					float: left;
-					.item-time{
-						float: left;
-						color: #999999;
-					}
-					.item-nums{
-						font-weight: bold;
-						float: right;
-						color: $text-color;
-					}
-				}
-			}
-		}
-	}
-</style>

+ 0 - 120
components/cm-module/orderDetails/refundRecord.vue

@@ -1,120 +0,0 @@
-<template name="refund">
-	<view class="record-template" v-if="isEmpty">
-		<!-- 支付记录 -->
-		<view class="record-content">
-			<view class="record-title">
-				<view class="record-title-l">退款记录</view>
-				<view class="record-title-r">
-					已退款:<text class="red">¥{{ returnedPurchaseFee != null ? returnedPurchaseFee.toFixed(2) : '0.00'}}</text>
-				</view>
-			</view>
-			<view class="record-list">
-				<view class="record-item" v-for="(item,index) in returnedPurchaseList" :key="index">
-					<view class="item-time">{{item.confirmReturnTime}}</view>
-					<view class="item-nums">{{item.returnedWay =='4' ? '无支付无退款' : '¥'+item.refundFee.toFixed(2)}}</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"refund",
-		props:{
-			returnedPurchaseList:{
-				type:Array
-			},
-			returnedPurchaseFee:{
-				type:Number
-			}
-		},
-		data() {
-			return{
-				isEmpty:false,
-				isOpen:false,
-			}
-		},
-		created(){
-			this.initData(this.returnedPurchaseList)
-		},
-		computed: {
-		
-		},
-		methods:{
-			initData(res) {
-				if(res!=''){
-					this.isEmpty = true
-				}else{
-					this.isEmpty = false
-					this.refundData = res;
-				}
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.record-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		float: left;
-		margin-top: 24rpx;
-		padding-bottom: 40rpx;
-		.record-content{
-			width: 702rpx;
-			padding: 20rpx 24rpx;
-			height: auto;
-			.record-title{
-				width: 100%;
-				font-size: $font-size-28;
-				color: $text-color;
-				text-align: left;
-				line-height: 40rpx;
-				margin-bottom: 12rpx;
-				float: left;
-				.record-title-l{
-					font-weight: bold;
-					float: left;
-				}
-				.record-title-r{
-					float: right;
-					.red{
-						color: #FF2A2A;
-						font-weight: bold;
-					}
-				}
-			}
-			.record-empty{
-				font-size: $font-size-28;
-				color: $text-color;
-				text-align: left;
-				line-height: 40rpx;
-			}
-			.record-list{
-				width: 100%;
-				height: auto;
-				float: left;
-				margin-top: 12rpx;
-				.record-item{
-					height: 40rpx;
-					width: 100%;
-					padding: 12rpx 0;
-					font-size: $font-size-28;
-					line-height: 40rpx;
-					float: left;
-					.item-time{
-						float: left;
-						color: #999999;
-					}
-					.item-nums{
-						font-weight: bold;
-						float: right;
-						color: $text-color;
-					}
-				}
-			}
-		}
-	}
-</style>

+ 0 - 125
components/cm-module/orderDetails/transfeRecord.vue

@@ -1,125 +0,0 @@
-<template name="transfe">
-	<view class="transfe-template">
-		 <!-- 转账信息 -->
-		 <view class="transfe-content">
-			<view class="transfe-top" @click="showTransfe">
-				<text class="name">转账信息</text>
-				<text class="iconfont icon-web_xiangxiazhankai" :class="{'icon-web_xiangxiazhankai-active':isOpen}"></text>
-			</view>
-			<view :class="{'transfe-warp--hide':!isOpen}" class="transfe-warp">
-				<view  class="transfe-warp__wrapper transfe-animation" 
-					   :style="{'transform':isOpen?'translateY(0)':'translateY(-50%)','-webkit-transform':isOpen?'translateY(0)':'translateY(-50%)'}">
-					<view class="table">
-						<text>开户行:</text>
-						<text>{{transfeData.bankBranch}}</text>
-					</view>
-					<view class="table">
-						<text>银行账号:</text>
-						<text>{{this.$reg.bankRegex(transfeData.bankNumber)}}</text>
-					</view>
-					<view class="table">
-						<text>户名:</text>
-						<text>{{transfeData.accountName}}</text>
-					</view>
-				</view>
-			</view>
-		 </view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"transfe",
-		data() {
-			return{
-				isOpen:false,
-				transfeData:{
-					bankBranch:'中信银行(深圳泰然支行)',
-					bankNumber:'6217 6803 0362 0897',
-					accountName:'周仁声'
-				},
-			}
-		},
-		created(){
-			
-		},
-		computed: {
-
-		},
-		methods:{
-			showTransfe(){
-				this.isOpen = !this.isOpen
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.transfe-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-		float: left;
-		margin-top: 24rpx;
-		.transfe-content{
-			width: 702rpx;
-			padding: 20rpx 24rpx;
-			height: auto;
-			.transfe-top{
-				width: 100%;
-				height: 40rpx;
-				line-height: 40rpx;
-				font-size: $font-size-28;
-				color: $text-color;
-				text-align: left;
-				.name{
-					float: left;
-					font-weight: bold;
-				}
-				.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);
-				}
-			}
-			.transfe-warp{
-				width: 100%;
-				padding: 24rpx 0 0 0;
-				overflow: hidden;
-				.table{
-					height: 76rpx;
-					line-height: 76rpx;
-					font-size: $font-size-26;
-					color: $text-color;
-					text-align: left;
-				}
-			}	
-			.transfe-animation {
-				/* transition: transform 0.3s ease;*/
-				transition-property: transform;
-				transition-duration: 0.3s;
-				transition-timing-function: ease;
-			}
-			.transfe-warp__wrapper{
-				/* #ifndef APP-NVUE */
-				display: flex;
-				/* #endif */
-				flex-direction: column;
-			}
-			.transfe-warp--hide {
-				padding: 0 0;
-				height: 0px;
-				line-height: 0px;
-			}		
-		}
-	}
-</style>

+ 12 - 11
components/thorui/tui-actionsheet/tui-actionsheet.vue

@@ -20,7 +20,7 @@
 
 <script>
 	export default {
-		name: "tuiActionsheet",
+		name: 'tuiActionsheet',
 		props: {
 			//点击遮罩 是否可关闭
 			maskClosable: {
@@ -37,20 +37,20 @@
 				type: Array,
 				default: function() {
 					return [{
-						text: "确定",
-						color: "#2B2B2B"
+						text: '确定',
+						color: '#2B2B2B'
 					}]
 				}
 			},
 			//提示文字
 			tips: {
 				type: String,
-				default: ""
+				default: ''
 			},
 			//提示文字颜色
 			color: {
 				type: String,
-				default: "#808080"
+				default: '#808080'
 			},
 			//提示文字大小 rpx
 			size: {
@@ -70,18 +70,18 @@
 		},
 		methods: {
 			handleClickMask() {
-				if (!this.maskClosable) return;
-				this.handleClickCancel();
+				if (!this.maskClosable) return
+				this.handleClickCancel()
 			},
 			handleClickItem(e) {
-				if (!this.show) return;
-				const dataset = e.currentTarget.dataset;
+				if (!this.show) return
+				const dataset = e.currentTarget.dataset
 				this.$emit('click', {
 					index: Number(dataset.index)
-				});
+				})
 			},
 			handleClickCancel() {
-				this.$emit('cancel');
+				this.$emit('cancel')
 			}
 		}
 	}
@@ -139,6 +139,7 @@
 		text-align: center;
 		font-size: 34rpx;
 		position: relative;
+		box-sizing: content-box;
 	}
 
 	.tui-btn-last {

Файловите разлики са ограничени, защото са твърде много
+ 1 - 1
pages/collection/detail.vue


Файловите разлики са ограничени, защото са твърде много
+ 1 - 1
pages/collection/index.vue


Файловите разлики са ограничени, защото са твърде много
+ 297 - 200
pages/collection/list.vue


Файловите разлики са ограничени, защото са твърде много
+ 1 - 1
pages/collection/nosms.vue


+ 1 - 1
pages/tabBar/order/index.vue

@@ -119,7 +119,7 @@
 	import statistic_bg2 from '@/static/temp/statistic_bg2.png'
 	import statistic_bg1 from '@/static/temp/statistic_bg1.png'
 	import headerBack from '@/components/cm-module/headerNavbar/header-back' 		 	 //自定义导航
-	import orderButton from '@/components/cm-module/orderDetails/orderListButton'		 //按钮
+	import orderButton from '@/components/cm-module/orderDetails/list-button'		 //按钮
 	import modalLayer from '@/components/modal-layer'
 	import empty from '@/components/empty'
 	import wxLogin from '@/services/wxLogin.js'

+ 1 - 1
pages/tabBar/product/index.vue

@@ -110,7 +110,7 @@
 	import statistic_bg2 from '@/static/temp/statistic_bg2.png'
 	import statistic_bg1 from '@/static/temp/statistic_bg1.png'
 	import headerBack from '@/components/cm-module/headerNavbar/header-back' 		 	 //自定义导航
-	import orderButton from '@/components/cm-module/orderDetails/orderListButton'		 //按钮
+	import orderButton from '@/components/cm-module/orderDetails/list-button'		 //按钮
 	import modalLayer from '@/components/modal-layer'
 	import empty from '@/components/empty'
 	import wxLogin from '@/services/wxLogin.js'

+ 116 - 82
store/index.js

@@ -5,88 +5,122 @@ import authorize from '../common/config/authorize.js'
 
 Vue.use(Vuex)
 const store = new Vuex.Store({
-	state: {
-		isWxAuthorize:false,
-		hasLogin: false,
-		userInfo: {},
-		wechatUserInfo:{},
-		cartNumber:0,
-		isIphoneX:false
-	},
-	mutations: {
-		login(state, provider) {
-			state.hasLogin = true;
-			state.userInfo = provider;
-			state.isWxAuthorize = true
-			console.log(state.hasLogin)
-			uni.setStorage({//缓存用户登陆状态
-			    key: 'userInfo',  
-			    data: provider  
-			}) 
-		},
-		logout(state) {
-			state.hasLogin = false;
-			state.userInfo = {};
-			uni.removeStorage({  
-		        key: 'userInfo'  
-		    })
-			uni.removeStorage({
-			    key: 'token'  
-			})
-		},
-		wxLogin(state,provider) {
-			state.isWxAuthorize = true
-			// console.log(state.isWxAuthorize)
-			state.wechatUserInfo = provider;
-			uni.setStorage({//缓存用户登陆状态
-			    key: 'wechatUserInfo',  
-			    data: provider  
-			}) 
-		},
-		updateStatus(state,provider){
-			let TIME = api.formatDate()
-			console.log(`${TIME}`,provider)
-			state.userInfo = provider;
-			uni.setStorage({//缓存用户登陆状态
-			    key: 'userInfo',  
-			    data: provider  
-			}) 
-		},
-		updateAllNum(state,num){
-			console.log(num)
-			if(num>=100){
-				uni.setTabBarBadge({
-				  index: 2,
-				  text:'99+'
-				})
-			}else if(num>0){
-				uni.setTabBarBadge({
-				  index: 2,
-				  text:String(num)
-				})
-			}else{
-				uni.removeTabBarBadge({
-					index: 2,
-				})
-			}
-		},
-		setChangeVar(state,variable){
-			//获取设备信息是否为IphoneX
-			state.isIphoneX = variable;
-		},
-		setIsIphoneFn(state,variable){
-			//获取设备信息是否为IphoneX
-			state.isIphone = variable;
-		}
-	},
-	actions:{
-		setVariableFun:function(context,vData){
-			context.commit('setChangeVar',vData)
-		},
-		setVariableIphoneFun:function(context,vData){
-			context.commit('setIsIphoneFn',vData)
-		},
-	}
+    state: {
+        isWxAuthorize: false,
+        hasLogin: false,
+        userInfo: {},
+        identity: 0,
+        clubType: 0, // 1: 医美机构  2:生美机构 (医美、生美机构类型)
+        wechatUserInfo: {},
+        cartNumber: 0,
+        isIphoneX: false,
+        isActivity: false,
+        isLoginType: 0,
+        isLoginProductId: 0
+    },
+    mutations: {
+        login(state, provider) { //用户身份 1、协销 2、资质机构 3、供应商 4.个人机构
+            state.hasLogin = true
+            state.userInfo = provider
+            uni.setStorage({ //缓存用户登陆状态
+                key: 'userInfo',
+                data: provider
+            })
+        },
+        logout(state) {
+            state.hasLogin = false
+            state.userInfo = {}
+            uni.removeStorage({
+                key: 'userInfo'
+            })
+            uni.removeStorage({
+                key: 'token'
+            })
+        },
+        wxLogin(state, provider) {
+            state.isWxAuthorize = true
+            state.wechatUserInfo = provider
+            uni.setStorage({ //缓存用户登陆状态 
+                key: 'wechatUserInfo',
+                data: provider
+            })
+            uni.setStorageSync('_WX_State', 1)
+        },
+        updateStatus(state, provider) {
+            let TIME = api.formatDate()
+            console.log(`${TIME}`, provider)
+            state.userInfo = provider
+            if (state.userInfo) {
+                state.clubType = provider.firstClubType
+                if (provider.userIdentity) {
+                    state.identity = provider.userIdentity
+                } else if (provider.userId == 5261 || provider.userId == 10947 || provider.userId == 11579) {
+                    state.identity = 1
+                } else if (provider.firstClubType == 1) {
+                    state.identity = 5
+                } else {
+                    state.identity = 0
+                }
+            }
+            console.log('用户类型', state.identity)
+            uni.setStorage({ //缓存用户登陆状态
+                key: 'userInfo',
+                data: provider
+            })
+        },
+        updateAllNum(state, num) {
+            if (num >= 100) {
+                uni.setTabBarBadge({
+                    index: 2,
+                    text: '99+'
+                })
+            } else if (num > 0) {
+                uni.setTabBarBadge({
+                    index: 2,
+                    text: String(num)
+                })
+            } else {
+                uni.removeTabBarBadge({
+                    index: 2,
+                })
+            }
+        },
+        setActivity(state, variable) { // 记录活动弹窗状态
+            state.isActivity = variable
+        },
+        setChangeVar(state, variable) {
+            state.isIphoneX = variable
+        },
+        setIsIphone(state, variable) { // 记录设备信息是否为IphoneX
+            state.isIphone = variable
+        },
+        setLoginType(state, variable) { // 记录登录跳转类型
+            state.isLoginType = variable
+            console.log(state.isLoginType)
+        },
+        setLoginProductId(state, variable) { // 记录跳转商品ID
+            state.isLoginProductId = variable
+            console.log(state.isLoginProductId)
+        },
+        setLoginOrderId(state, variable) { // 记录跳转订单ID
+            state.isLoginOrderId = variable
+            console.log(state.isLoginOrderId)
+        }
+    },
+    actions: {
+        setVariableFun: function(context, vData) {
+            context.commit('setChangeVar', vData)
+        },
+        setIsIphoneFun: function(context, vData) {
+            context.commit('setIsIphone', vData)
+        },
+        setActivityFn: function(context, vData) {
+            context.commit('setActivity', vData)
+        },
+        // setLoginTypeFn:function(context,vData){
+        // 	context.commit('setLoginType',vData)
+        // }
+    }
 })
 
 export default store

Някои файлове не бяха показани, защото твърде много файлове са промени