Browse Source

commit - 订单

zhengjinyi 2 years ago
parent
commit
7cabbd0be4

+ 0 - 235
components/cm-module/orderDetails/activipopu.vue

@@ -1,235 +0,0 @@
-<template name="cm-price">
-	<!--促销活动弹窗提示-->
-	<tui-bottom-popup :radius="true" :show="popupShow" @close="hidePopup()">
-		<view class="tui-popup-box clearfix">
-			<view class="tui-scrollview-box">
-				<view class="box-text">
-					<text>促销时间:</text>
-					<text class="txt" v-if="Promotion.status == 1">不限时</text>
-					<text class="txt" v-else>{{ Promotion.beginTime }} ~ {{ Promotion.endTime }}</text>
-				</view>
-				<view class="box-title" v-show="Promotion.mode ==2">
-					<text>此商品参与{{Promotion.name}},满</text>
-					<text class="txt">¥{{Promotion == null ? '0.00' : Promotion.touchPrice | NumFormat}}</text>减
-					<text class="txt">¥{{Promotion == null ? '0.00' : Promotion.reducedPrice | NumFormat}}</text>
-				</view>
-				<view class="box-title" v-show="Promotion.mode==3">
-					<text>此商品参与{{Promotion.name}},满</text>
-					<text class="txt">¥{{Promotion.touchPrice}}</text>赠送商品(赠品见订单详情)
-				</view>
-			</view>
-			<view class="tui-right-flex tui-popup-btn" :style="{ paddingBottom :isIphoneX ? '68rpx' : '0rpx' }">
-				<view class="tui-flex-1">
-					<view class="tui-button" @click="hidePopup()">了解</view>
-				</view>
-			</view>
-		</view>	
-	</tui-bottom-popup>
-</template>
-
-<script>
-	import { mapState,mapMutations } from 'vuex'
-	export default{
-		name:'cm-price',
-		props:{
-			Promotion:{
-				type:Object,
-			},
-			popupShow:{
-				type:Boolean,
-				default:false
-			}
-		},
-		data() {
-			return{
-				isIphoneX:this.$store.state.isIphoneX,
-			}
-		},
-		filters: {
-			NumFormat:function(text) {//处理金额
-				return Number(text).toFixed(2);
-			},
-		},
-		created() {
-			
-		},
-		computed: {
-			...mapState(['hasLogin','isWxAuthorize'])
-		},
-		methods:{
-			hidePopup(){
-				this.$parent.popupShow = false
-			},
-			goGoodActiveFn(id){
-				this.$parent.popupShow = false
-				this.$api.navigateTo('/pages/goods/goods-active?id='+id)
-			}
-		},
-		
-	}
-</script>
-
-<style lang="scss">	
-	.tui-flex-1 {
-		flex: 1;
-	}
-	.tui-popup-box {
-		position: relative;
-		box-sizing: border-box;
-		min-height: 220rpx;
-		padding:24rpx 24rpx 0 24rpx;
-	}
-	.tui-scrollview-box{
-		width: 100%;
-		height: auto;
-		float: left;
-		box-sizing: border-box;
-		.ladder-main{
-			width: 100%;
-			height: 320rpx;
-			border: 1px solid rgba(225,86,22,0.3);
-			border-radius: 10rpx;
-			.ladder-item{
-				width: 100%;
-				height: 80rpx;
-				float: left;
-				border-bottom: 1px solid rgba(225,86,22,0.3);
-				&:nth-child(1){
-					.ladder-item-td{
-						color: #333333;
-					}
-				}
-				&:last-child{
-					border-bottom: none;
-				}
-				.ladder-item-td{
-					width:50%;
-					text-align: center;
-					line-height: 80rpx;
-					font-size: $font-size-24;
-					color: $color-system;
-					box-sizing: border-box;
-					float: left;
-					&:nth-child(1){
-						border-right: 1px solid rgba(225,86,22,0.3);
-					}
-				}
-			}
-		}
-		.box-title{
-			font-size: $font-size-26;
-			color: $text-color;
-			text-align: left;
-			line-height: 56rpx;
-			.txt{
-				color: $color-system;
-				margin: 0 8rpx;
-			}
-		}
-		.box-text{
-			font-size: $font-size-26;
-			color: $text-color;
-			text-align: left;
-			line-height: 56rpx;
-			.txt{
-				color: $color-system;
-			}
-		}
-		.box-product{
-			width: 100%;
-			height: auto;
-			margin-top: 20rpx;
-			.title{
-				font-size: $font-size-24;
-				color: $text-color;
-				text-align: left;
-				line-height: 54rpx;
-			}
-			.box-product-main{
-				width: 100%;
-				height: 136rpx;
-				.image{
-					width: 134rpx;
-					height: 134rpx;
-					border: 1px solid #EBEBEB;
-					float: left;
-					image{
-						width: 100%;
-						height: 100%;
-						display: block;
-					}
-				}
-				.info{
-					width: 540rpx;
-					height: 134rpx;
-					float: left;
-					margin-left: 16rpx;
-					position: relative;
-					.name{
-						width: 100%;
-						float: left;
-						line-height: 40rpx;
-						font-size: $font-size-28;
-						color: $text-color;
-						-o-text-overflow: ellipsis;
-						text-overflow: ellipsis;
-						display: -webkit-box;
-						word-break: break-all;
-						-webkit-box-orient: vertical;
-						-webkit-line-clamp: 2;
-						overflow: hidden;
-					}
-					.num{
-						width: 100%;
-						height: 44rpx;
-						font-size: $font-size-24;
-						color: $text-color;
-						text-align: left;
-						line-height: 44rpx;
-						position: absolute;
-						bottom: 0;
-						left: 0;
-					}
-				}
-			}
-		}
-	}
-	
-	.tui-popup-btn {
-		width: 100%;
-		height: auto;
-		float: left;
-		margin-top: 24rpx;
-		.tui-button{
-			width: 100%;
-			height: 88rpx;
-			background: $btn-confirm;
-			line-height: 88rpx;
-			text-align: center;
-			color: #FFFFFF;
-			font-size: $font-size-28;
-			border-radius: 14rpx;
-		}
-	}
-</style>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

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

@@ -1,479 +0,0 @@
-<template name="goods">
-	<view class="goods-template">
-		<!-- 商品列表 -->
-		<view class="goods-list">
-			<view v-for="(item, index) in list" :key="index" class="goods-item clearfix">
-				<view class="shoptitle">
-					<view class="title-text" v-if="information.secondHandOrderFlag == 1"
-						>{{ item.shopName }}
-					</view>
-					<view class="title-text" v-else @click="goShophome(item)">
-						{{ item.shopName }} <label class="iconfont icon-jinrudianpu"></label>
-					</view>
-				</view>
-				<view class="productlist" v-for="(pros, idx) in item.orderProductList" :key="idx">
-					<view class="goods-pros-t " @click="details(pros)">
-						<view class="pros-left">
-							<view class="pros-img">
-								<image :src="pros.image" alt="" />
-							</view>
-						</view>
-						<view class="pros-product">
-							<view class="producttitle">{{ pros.name }}</view>
-							<view class="productspec product-view" v-if="pros.productCategory != 2"
-								>规格:{{ pros.productUnit ? pros.productUnit : '' }}</view
-							>
-							<view class="product-view">
-								<view class="view-num red">¥{{ pros.price | NumFormat }}</view>
-								<view class="view-num right">x {{ pros.num }}</view>
-							</view>
-						</view>
-					</view>
-					<!-- <view class=" product-info clearfix"> 
-						<view class="product-view" v-if="pros.returnedNum > 0 || pros.actualCancelNum > 0">
-							<view class="view-num">已退货/已取消:<text class="text">{{ pros.returnedNum }}/{{ pros.actualCancelNum }}</text></view>
-						</view>
-						<view class="product-view" v-if="pros.svipPriceType != 1">
-							<view class="view-num">折扣:<text class="text">{{ pros.discount == null ? '0' : pros.discount }}%</text></view>
-						</view>
-						<view class="product-view">
-							<view class="view-num">税率:<text class="text">{{ pros.taxRate }}%</text></view>
-						</view>
-						<view class="product-view">
-							<view class="view-num">折后单价:<text class="text">¥{{ pros.discountPrice | NumFormat }}</text></view>
-						</view>
-						<view class="product-view allPrice">
-							<view class="view-num">合计:<text class="text">¥{{ pros.totalFee | NumFormat }}</text></view>
-						</view>
-					</view> -->
-				</view>
-				<view class="goods-pros-m" v-if="item.note">
-					<view class="m-text">留言:</view>
-					<view class="m-input">
-						<view class="text">{{ item.note ? item.note : '' }}</view>
-					</view>
-				</view>
-				<view class="goods-pros-b clearfix" v-if="information.onlinePayFlag == 0">
-					<view class="pros-price-view" v-if="item.isHandelShow">
-						<view class="price-view-le">商品总额:</view>
-						<view class="price-view-ri">¥{{ item.totalAmount | NumFormat }}</view>
-					</view>
-					<view class="pros-price-view" v-if="item.isHandelShow">
-						<view class="price-view-le">优惠:</view>
-						<view class="price-view-ri">¥{{ item.eachDiscount | NumFormat }}</view>
-					</view>
-					<view class="pros-price-view" v-if="item.isHandelShow">
-						<view class="price-view-le">应付金额:</view>
-						<view class="price-view-ri">¥{{ item.realPay | NumFormat }}</view>
-					</view>
-					<view class="pros-price-view" v-if="item.isHandelShow">
-						<view class="price-view-le">已付金额:</view>
-						<view class="price-view-ri">¥{{ item.receiptAmount | NumFormat }}</view>
-					</view>
-					<view class="pros-price-view">
-						<view class="price-view-le">待付金额:</view>
-						<view class="price-view-ri red">¥{{ item.obligation | NumFormat }}</view>
-					</view>
-					<view class="pros-price-btn">
-						<view class="btn" @click="handelShowDetails(item)">
-							{{ item.isHandelShow ? '收起' : '查看更多' }}
-							<text class="iconfont" :class="item.isHandelShow ? 'icon-xiangshangjiantou' : 'icon-xiangxiajiantou'"></text>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-export default {
-	name: 'goods',
-	props: {
-		shopOrderData: {
-			type: Array
-		},
-		information: {
-			type: Object
-		}
-	},
-	data() {
-		return {
-			list: [],
-			vipFlag: 0,
-		}
-	},
-	created() {
-		this.initGetStotage(this.shopOrderData)
-	},
-	filters: {
-		NumFormat(value) {
-			//处理金额
-			return Number(value).toFixed(2)
-		},
-		formatIncludedTax(value) {
-			if (value === '1') {
-				return '不含税 '
-			} else if (value === '2') {
-				return '含税'
-			} else {
-				return ''
-			}
-		}
-	},
-	computed: {},
-	methods: {
-		async initGetStotage(data) {
-			const userInfo = await this.$api.getStorage()
-			this.vipFlag = userInfo.vipFlag ? userInfo.vipFlag : 0
-			this.list = data.map((el,index)=>{
-				el.isHandelShow = false
-				return el
-			})
-		},
-		handelShowDetails(item){
-			item.isHandelShow = !item.isHandelShow
-		},
-		goShophome(shop) {
-			if(shop.shopType === 2){
-				return
-			}
-			this.$api.navigateTo(`/pages/supplier/user/my-shop?shopId=${shop.shopId}`)
-		},
-		details(pros) {
-			if (pros.validFlag == 9) {
-				return
-			} else {
-				this.$api.navigateTo(`/pages/goods/product?id=${pros.productId}`)
-			}
-		},
-		clickPopupShow(pros) {
-			console.log(pros)
-			this.$emit('popupClick', pros)
-		},
-		PromotionsFormat(promo) {
-			//促销活动类型数据处理
-			if (promo != null) {
-				if (promo.type == 1 && promo.mode == 1) {
-					return true
-				} else {
-					return false
-				}
-			}
-			return false
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-.goods-template {
-	width: 100%;
-	height: auto;
-	background: #ffffff;
-	float: left;
-	margin-top: 24rpx;
-	.goods-list {
-		width: 100%;
-		height: auto;
-		background: #f7f7f7;
-		.goods-item {
-			width: 702rpx;
-			padding: 24rpx;
-			height: auto;
-			background: #ffffff;
-			margin-bottom: 24rpx;
-			&:last-child {
-				margin-bottom: 0;
-			}
-		}
-		.shoptitle {
-			width: 100%;
-			float: left;
-			height: 56rpx;
-			line-height: 56rpx;
-			margin-bottom: 12rpx;
-            .floor-item-act{
-                height: 56rpx;
-                text-align: center;
-                box-sizing: border-box;
-                float: left;
-                padding: 10rpx 0;
-                margin-right: 12rpx;
-                .floor-tags{
-                    height: 28rpx;
-                    border-radius: 6rpx;
-                    background-color: #FFFFFF;
-                    line-height: 28rpx;
-                    color: $color-system;
-                    text-align: center;
-                    display: inline-block;
-                    padding:0 6rpx;
-                    font-size: $font-size-20;
-                    border: 1px solid #FF5B00;
-                    float: left;
-                }
-            }
-			.title-text {
-				width: 400rpx;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				white-space: nowrap;
-				float: left;
-				font-size: $font-size-28;
-				color: $text-color;
-				text-align: left;
-				line-height: 56rpx;
-				font-weight: bold;
-				.iconfont {
-					color: #999999;
-					font-size: 28rpx;
-					margin-left: 10rpx;
-				}
-				.paymenttext {
-					color: #f9a94b;
-					font-size: $font-size-22;
-					margin-left: 20rpx;
-				}
-			}
-		}
-		.productlist {
-			width: 100%;
-			height: auto;
-			padding: 0;
-			box-sizing: border-box;
-		}
-		.goods-pros-t {
-			display: flex;
-			width: 100%;
-			height: auto;
-			margin: 20rpx 0;
-			.pros-left {
-				width: 210rpx;
-				height: 100%;
-				margin: 0 26rpx 0 0;
-			}
-			.pros-img {
-				width: 210rpx;
-				height: 210rpx;
-				border-radius: 10rpx;
-				border: 1px solid #f3f3f3;
-				position: relative;
-				.tips {
-					display: inline-block;
-					width: 80rpx;
-					height: 40rpx;
-					background-image: linear-gradient(214deg, #ff4500 0%, #ff5800 53%, #ff4367 100%);
-					line-height: 40rpx;
-					text-align: center;
-					font-size: $font-size-24;
-					color: #ffffff;
-					border-radius: 10rpx 0 10rpx 0;
-					position: absolute;
-					top: 0;
-					left: 0;
-				}
-				image {
-					width: 210rpx;
-					height: 210rpx;
-					border-radius: 10rpx;
-				}
-			}
-		}
-		.product-info {
-			padding: 10rpx 0;
-			.product-view {
-				font-size: $font-size-24;
-				color: #999999;
-				overflow: hidden;
-				height: 44rpx;
-				line-height: 44rpx;
-				float: left;
-				width: 50%;
-				.view-num {
-					float: left;
-					.text{
-						color: #333333;
-					}
-				}
-			}
-		}
-		.pros-product {
-			width: 468rpx;
-			height: 100%;
-			line-height: 36rpx;
-			font-size: $font-size-26;
-			position: relative;
-			.product-view {
-				&.allPrice {
-					width: 100%;
-				}
-				.view-num {
-					flex: 1;
-					text-align: left;
-					font-size: $font-size-26;
-					color: #999999;
-					line-height: 44rpx;
-					float: left;
-					&.right {
-						float: right;
-					}
-					&.red {
-						color: #ff2000;
-						font-weight: bold;
-						&.none {
-							text-decoration: line-through;
-							color: #999999;
-						}
-					}
-				}
-			}
-			.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: 44rpx;
-				color: #999999;
-				line-height: 44rpx;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				word-break: break-all;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 1;
-				overflow: hidden;
-			}
-			.productprice {
-				height: 48rpx;
-				position: absolute;
-				width: 100%;
-				bottom: 0;
-				.price {
-					line-height: 48rpx;
-					font-size: $font-size-28;
-					width: 48%;
-					color: #ff2a2a;
-					float: left;
-					.price {
-						line-height: 48rpx;
-						font-size: $font-size-28;
-						width: 48%;
-						color: #ff2a2a;
-						float: left;
-						font-weight: bold;
-					}
-				}
-				.count {
-					height: 100%;
-					float: right;
-					position: relative;
-					.small {
-						color: #666666;
-					}
-				}
-			}
-			.floor-item-act {
-				width: 100%;
-				height: 56rpx;
-				text-align: center;
-				box-sizing: border-box;
-				float: left;
-				padding: 10rpx 0 0 0;
-			}
-			.floor-item-act {
-				height: 56rpx;
-				text-align: center;
-				box-sizing: border-box;
-				float: left;
-				padding: 10rpx 0;
-				margin-right: 12rpx;
-			}
-		}
-		.goods-pros-m {
-			width: 100%;
-			height: auto;
-			line-height: 76rpx;
-			font-size: $font-size-26;
-			color: $text-color;
-			float: left;
-			.m-text {
-				width: 62rpx;
-				float: left;
-				padding-right: 20rpx;
-				font-weight: bold;
-			}
-			.m-input {
-				display: -webkit-box;
-				display: -webkit-flex;
-				display: flex;
-				-webkit-box-align: center;
-				-webkit-align-items: center;
-				align-items: center;
-				position: relative;
-				width: 620rpx;
-				height: auto;
-				padding: 20rpx 0 10rpx 0;
-				background: #ffffff;
-				.text {
-					width: 100%;
-					height: 100%;
-					font-size: $font-size-26;
-					line-height: 36rpx;
-					color: #333333;
-				}
-			}
-		}
-		.goods-pros-b {
-			width: 100%;
-			padding-top: 12rpx;
-			float: left;
-			.pros-price-view{
-				width: 100%;
-				height: 44rpx;
-				font-size: 24rpx;
-				line-height: 44rpx;
-				.price-view-le{
-					float: left;
-					color: #999999;
-					text-align: left;
-				}
-				.price-view-ri{
-					float: right;
-					color: #333333;
-					text-align: right;
-					&.red{
-						color: #F94B4B;
-					}
-				}
-			}
-			.pros-price-btn{
-				width: 100%;
-				height: 48rpx;
-				.btn{
-					width: 168rpx;
-					height: 48rpx;
-					line-height: 46rpx;
-					box-sizing: border-box;
-					border: 2rpx solid #e1e1e1;
-					border-radius: 8rpx;
-					text-align: center;
-					color: #b2b2b2;
-					margin: 0 auto;
-					font-size: $font-size-24;
-					.iconfont {
-						
-					}
-				}
-			}
-		}
-	}
-}
-</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>

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

@@ -1,181 +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) => {
-					if (res) {
-						this.$util.msg("复制成功",2000,true,'success');
-					} else {
-						this.$util.msg("复制失败",2000,true,'none');
-					}
-				})
-			}
-		}
-	}
-</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 - 174
components/cm-module/orderDetails/orderAddress.vue

@@ -1,174 +0,0 @@
-<template name="address">
-	<view class="address-template">
-		 <!-- 地址信息 -->
-		 <view class="address-section">
-		 	<view class="address-content">
-				<view class="address-cen">
-					<view class="top">
-						<view class="name">{{addressData.receiver ? addressData.receiver : ''}}</view>
-						<view class="mobile">{{addressData.mobile ? addressData.mobile : ''}}</view>
-					</view>
-					<view class="address">
-						<view class="address-icon">
-							<text class="iconfont icon-shouhuodizhi"></text>
-						</view>
-						<view class="address-text">
-							{{addressData.province ? addressData.province : ''}}
-							{{addressData.city ? addressData.city : ''}}
-							{{addressData.town ? addressData.town : ''}}
-							{{addressData.address ? addressData.address : ''}}
-						</view>
-					</view>
-				</view>
-		 	</view>
-		 </view>
-		 <image  src="../../../static/temp/line@3x.png" mode=""></image>
-	</view>
-</template>
-
-<script>
-	import { mapState, mapMutations } from 'vuex'	
-	export default{
-		name:'address',
-		props:{
-			addressData:{
-				type:Object
-			}
-		},
-		data() {
-			return{
-				initData:''
-			}
-		},
-		created(){
-			this.initData = this.addressData
-		},
-		computed: {
-			...mapState(['isManage'])
-		},
-		methods:{
-			
-		}
-	}
-</script>
-
-<style lang="scss">
-	.address-template{
-		width: 100%;
-		height: auto;
-		background: #FFFFFF;
-        
-        &::after{
-            content: "";
-            display: block;
-            clear: both;
-        }
-		// border-top: 1px solid #F8F8F8;
-		image{
-			float: left;
-			width: 100%;
-			height: 6rpx;
-		}
-	}
-	.address-section {
-		width: 100%;
-		height: auto;
-		float: left;
-		position: relative;
-		
-		.address-empty{
-			width: 100%;
-			height: 84rpx;
-			line-height: 84rpx;
-			color: $color-system;
-			text-align: center;
-			font-size: $font-size-26;
-			font-weight: bold;
-			background: #fff;
-			float: left;
-			.icon-tianjiadizhi{
-				font-size: 30rpx;
-				margin: 0 8rpx;
-			}
-		}
-		.address-content {
-			display: flex;
-			align-items: center;
-			padding:20rpx 24rpx;
-			background: #fff;
-		}
-		
-		.icon-shouhuodizhi {
-			flex-shrink: 0;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 40rpx;
-			color: $color-system;
-			font-size: 46rpx;
-			margin-right: 10rpx;
-		}	
-		.address-cen {
-			width: 100%;
-			height: auto;
-			position: relative;
-			.top{
-				padding-left: 50rpx;
-				height: 42rpx;
-				line-height: 42rpx;
-				text-align: left;
-				font-size: $font-size-30;
-				color: $text-color;
-				padding-bottom: 8rpx;
-				display: flex;
-				float: left;
-				.name{
-					margin-right: 48rpx;
-				}
-				.mobile{
-					margin-right: 40rpx;
-				}
-			}
-			.address {
-				width: 100%;
-				height: auto;
-				float: left;
-				.address-icon{
-					width: 40rpx;
-					height: auto;
-					float: left;
-					line-height: 40rpx;
-				}
-				.address-text{
-					width: 650rpx;
-					padding-left: 10rpx;
-					float: left;
-					line-height: 40rpx;
-					font-size: $font-size-28;
-					color: #666666;
-					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-xiangyou {
-			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 - 236
components/cm-module/orderDetails/orderButton.vue

@@ -1,236 +0,0 @@
-<template name="button">
-	<view class="button-template" :style="{paddingBottom :isIphoneX ? '68rpx' : '0rpx'}">
-		<!-- 底部按钮 -->
-		<view class="button-content">
-			<!-- <view class="btn btn-payment" v-if="order.affirmPaymentFlag == 10" @click.stop="btnConfirm('payment',order)">确认打款<text>供应商</text></view> -->
-			<!-- <view class="btn btn-confirm" v-if="btnState.isConfirmation" @click.stop="btnConfirm('confirmation',order)">确认订单</view> -->
-			<view class="btn btn-pay" v-if="btnState.isPay" @click.stop="btnConfirm('pay',order)">付款</view>
-			<view class="btn btn-cancel" v-if="btnState.isUpload" @click.stop="btnConfirm('upload',order)">上传凭证</view>
-			<view class="btn btn-share" @click.stop="onShareCode">
-				<view class="tips" v-if="shareCode">分享码:{{shareCode}}</view>
-				分享订单
-			</view>
-			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel',order)">取消订单</view>
-			<!-- <view class="btn btn-delete" v-if="btnState.isDelete" @click.stop="btnConfirm('delete',order)">删除订单</view> -->
-			<view class="btn btn-query" v-if="btnState.isQuery && order.secondHandOrderFlag!=1" @click.stop="btnConfirm('query',order)">查看物流</view>
-			<view class="btn btn-firm" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm',order)">
-				确认收货
-			</view>
-			
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:'button',
-		props:{
-			status:{
-				type:Number
-			},
-			order: {
-				type:Object
-			},
-			shareCode:{
-				type:String
-			},
-		},
-		watch:{
-			status:{
-				handler:function(val){
-					this.initData(val)
-				},
-				deep:true//对象内部的属性监听,也叫深度监听
-			}
-		},
-		data() {
-			return{
-				btnState:this.initStatus(),
-				isIphoneX:this.$store.state.isIphoneX,
-				mapStateArr:[
-					{label:'isQuery',val:[4,5,12,13,33,22,23,32,77],status: true},
-					{label:'isDelete',val:[6],status: true},
-					{label:'isCancel',val:[0,111,333],status: true},
-					{label:'isConfirm',val:[33],status: true},
-					{label:'isConfirmation',val:[0],status: true},
-					{label:'isPay',val:[11,12,13,21,22,23,111,333],status: true},
-					{label:'isUpload',val:[11,12,13,21,22,23,111,333],status: true},
-				]
-			}
-		},
-		created(){
-			this.initData(this.status)
-		},
-		computed: {
-
-		},
-		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,
-						isConfirmation:false,
-					}
-				return 	btnState
-			},
-			getShareCode(code){
-				this.shareCode = code
-			},
-			onShareCode(){
-				this.$parent.isShareModal = true
-				this.$emit('shareConfirm')
-			},
-			btnConfirm(type,order){
-				let data = {
-						type:type,
-						orderId:order.orderId,
-						order:order
-					}
-				this.$emit('buttonConfirm',data)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.button-template{
-		width: 100%;
-		height: auto;
-		position: fixed;
-		bottom: 0;
-		left: 0;
-		background: #FFFFFF;
-		.button-content{
-			padding:0 24rpx;
-			height: auto;
-			float: right;
-			position: relative;
-			.share-code{
-				width: 200rpx;
-				height:  64rpx;
-				line-height: 64rpx;
-				color: #2A45FF;
-				text-align: left;
-				position: absolute;
-				font-size: $font-size-28;
-				font-weight: bold;
-				left: 24rpx;
-				top: 24rpx;
-			}
-			.btn{
-				width: 150rpx;
-				height:  64rpx;
-				margin:22rpx 22rpx 22rpx 0;
-				line-height: 64rpx;
-				font-size:$font-size-26;
-				color: #666666;
-				text-align: center;
-				float: right;
-				border: 2rpx solid #999999;
-				border-radius: 34rpx;
-				&.btn-payment{
-					line-height: 38rpx;
-					font-size: 24rpx;
-					background: #f9a94b;
-					color: #fff;
-					border: 2rpx solid #f9a94b;
-					text{
-						display: block;
-						line-height: 15rpx;
-					}
-				}
-				&.btn-share{
-					position: relative;
-				}
-			}
-			.btn-confirm{
-				background:#ff7a51;
-				border-color:#ff7a51;
-				color: #FFFFFF;
-			}
-			.btn-pay{
-				background:$btn-confirm;
-				margin-right: 0;
-				border: 2rpx solid $btn-confirm;
-				color: #fff;
-			}
-			.btn-firm{
-				position:relative;
-				.tips{
-					width: 74rpx;
-					height: 32rpx;
-					line-height: 32rpx;
-					padding: 0 7rpx;
-					border-radius: 16rpx;
-					background-color: #ffe6dc;
-					color: $color-system;
-					text-align: center;
-					font-size: $font-size-20;
-					position:absolute;
-					right: 0;
-					top: -40rpx;
-					z-index: 90;
-					.line{
-						display: block;
-						width: 20rpx;
-						height: 20rpx;
-						background-color: #ffe6dc;
-						position: relative;
-						bottom: 18rpx;
-						left: 15rpx;
-						z-index: -1;
-						transform:rotate(45deg);
-					}
-				}
-			}
-			.btn-share{
-				.tips{
-					width: 160rpx;
-					height: 34rpx;
-					padding: 10rpx 10rpx;
-					background:#F3B574;
-					border-radius: 8rpx;
-					position: absolute;
-					color: #FFFFFF;
-					line-height: 34rpx;
-					font-size: $font-size-24;
-					text-align: left;
-					right: 0;
-					top: -65rpx;
-					&:before{
-						content: "";
-						width: 25rpx;
-						height: 25rpx;
-						background:#F3B574;
-						position: absolute;
-						bottom: -8rpx;
-						left: 30rpx;
-						z-index: -1;
-						transform:rotate(45deg);
-					}
-				}
-			}
-		}
-	}
-</style>

+ 0 - 328
components/cm-module/orderDetails/orderInformation.vue

@@ -1,328 +0,0 @@
-<template name="information">
-	<view class="information-template">
-		<!-- 订单信息 -->
-		<view class="information-content">
-			<view class="information-view title">
-				<view class="view-num">
-					<view class="bage-text">
-						订单编号:<label class="label">{{ orderData.orderNo ? orderData.orderNo : '' }}</label>
-					</view>
-				</view>
-			</view>
-			<view class="information-view same">
-				<view class="view-num">
-					订单总额:<label class="label">¥{{ orderData.payTotalFee | NumFormat }}</label>
-				</view>
-			</view>
-			<view class="information-view">
-				<view class="view-num bold">
-					订单标识:<label class="label">{{ orderData.orderMark ? orderData.orderMark : '' }}</label>
-				</view>
-			</view>
-			<view class="information-view same">
-				<view class="view-num">
-					待付金额:<text class="red">¥{{ orderData.pendingPayments | NumFormat }}</text>
-				</view>
-				<view class="view-man"></view>
-			</view>
-			<template v-if="openShowflag">
-				<view class="information-view">
-					<view class="view-num time">
-						下单时间:<label class="label">{{ orderData.orderTime ? orderData.orderTime : '' }}</label>
-					</view>
-					<!-- <view class="view-type">{{ orderData.status | TextFormat }}</view> -->
-				</view>
-				<!-- <view class="information-view same">
-					<view class="view-num">
-						余额抵扣:<label class="label">¥{{ orderData.balancePayFee | NumFormat }}</label>
-					</view>
-				</view> -->
-				<view class="information-view same">
-					<view class="view-num" v-if="orderData.postageFlag == 0">
-						运费:<label class="label">包邮</label>
-					</view>
-					<view class="view-num" v-if="orderData.postageFlag == -1">
-						运费:<label class="label">到付</label>
-					</view>
-					<view class="view-num" v-if="orderData.postageFlag == 1">
-						运费:<label class="label">¥{{ orderData.postage | NumFormat }}</label>
-					</view>
-				</view>
-				<!-- <view class="information-view same" v-if="orderData.svipFullReduction > 0">
-					<view class="view-man">
-						超级会员优惠:<label class="label">¥{{ orderData.svipFullReduction | NumFormat }}</label>
-					</view>
-				</view>
-				<view class="information-view" v-if="orderData.userBeans > 0">
-					<view class="view-man">
-						采美豆抵用运费:<label class="label">{{ orderData.userBeans }}</label>
-					</view>
-				</view>
-				<view class="information-view same" v-if="orderData.discountFee && orderData.discountFee > 0">
-					<view class="view-num">
-						经理折扣:<label class="label">¥{{ orderData.discountFee | NumFormat }}</label>
-					</view>
-				</view>
-				<view
-					class="information-view"
-					v-if="orderData.promotionFullReduction && orderData.promotionFullReduction > 0"
-				>
-					<view class="view-man">
-						促销满减:<label class="label">¥{{ orderData.promotionFullReduction | NumFormat }}</label>
-					</view>
-				</view>
-				<view class="information-view same">
-					<view class="view-man">
-						优惠券:<label class="label">¥{{ orderData.couponAmount | NumFormat }}</label>
-					</view>
-				</view>
-				<view class="information-view">
-					<view class="view-man">
-						赠品总数:<label class="label">{{
-							orderData.presentCount + orderData.promotionalGiftsCount
-						}}</label>
-					</view>
-				</view> -->
-				<view class="information-view">
-					<view class="view-man">
-						应付总额:<label class="red">¥{{ orderData.payableAmount | NumFormat }}</label>
-					</view>
-				</view>
-				<view class="information-view same">
-					<view class="view-num">
-						已支付:<label class="red">¥{{ orderData.receiptAmount | NumFormat }}</label>
-					</view>
-					<view class="view-man"></view>
-				</view>
-			</template>
-		</view>
-		<view class="openinfo" v-if="infoflag">
-			<view class="btnInfo" @click="openShow">
-				查看更多
-				<text class="iconfont icon-xiangxiajiantou"></text>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-const thorui = require('@/components/clipboard/clipboard.thorui.js')
-export default {
-	name: 'information',
-	props: {
-		information: {
-			type: Object
-		}
-	},
-	data() {
-		return {
-			orderData: '',
-			openShowflag: false,
-			infoflag: true
-		}
-	},
-	created() {
-		this.initData(this.information)
-	},
-	filters: {
-		NumFormat(value) {
-			//处理金额
-			if (!value) return '0.00'
-			let number = Number(value)
-			return number.toFixed(2)
-		},
-		TextFormat(status) {
-			//处理金额
-			let HtmlText,
-				typeTextObject = {
-					0: '待确认',
-					4: '交易完成',
-					5: '订单完成',
-					6: '已关闭',
-					7: '交易全退',
-					77: '交易全退',
-					11: '待付款待发货',
-					12: '待付款部分发货',
-					13: '待付款已发货',
-					21: '部分付款待发货',
-					22: '部分付款部分发货',
-					23: '部分付款已发货',
-					31: '已付款待发货',
-					32: '已付款部分发货',
-					33: '已付款已发货',
-					111: '待付款待发货'
-				}
-
-			Object.keys(typeTextObject).forEach(key => {
-				if (key == status) {
-					HtmlText = typeTextObject[key]
-				}
-			})
-			return HtmlText
-		}
-	},
-	computed: {},
-	watch: {
-		information: {
-			handler: function(val) {
-				this.initData(val)
-			},
-			deep: true //对象内部的属性监听,也叫深度监听
-		}
-	},
-	methods: {
-		openShow() {
-			this.openShowflag = true
-			this.infoflag = false
-		},
-		initData(res) {
-			this.orderData = res
-		},
-		clipboard(data) {
-			thorui.getClipboardData(data, res => {
-				if (res) {
-					this.$util.msg('复制成功', 2000, true, 'success')
-				} else {
-					this.$util.msg('复制失败', 2000, true, 'none')
-				}
-			})
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-.information-template {
-	width: 100%;
-	height: auto;
-	background: #ffffff;
-	float: left;
-	margin-top: 24rpx;
-	.information-content {
-		width: 702rpx;
-		padding: 15rpx 24rpx 20rpx 24rpx;
-		.information-view {
-			height: 50rpx;
-			line-height: 50rpx;
-			font-size: $font-size-24;
-			margin: 4rpx 0;
-			// display: flex;
-			width: 55%;
-			display: inline-block;
-			&.same {
-				width: 45%;
-				text-align: right;
-			}
-			// &.title{
-			// 	height: 68rpx;
-			// 	line-height: 68rpx;
-			// 	margin-bottom: 5rpx;
-			// }
-			view {
-				// flex: 1;
-				color: $text-color;
-				color: #999999;
-				.label {
-					color: #666666;
-				}
-			}
-			.view-num.title {
-				height: 68rpx;
-				line-height: 68rpx;
-				position: relative;
-				.bage-icon {
-					width: 50rpx;
-					height: 50rpx;
-					display: block;
-					position: absolute;
-					right: 0;
-					top: 9rpx;
-				}
-				.bage-buss {
-					display: inline-block;
-					width: 72rpx;
-					height: 30rpx;
-					background: radial-gradient(circle, rgba(255, 39, 180, 1) 0%, rgba(193, 77, 245, 1) 100%);
-					border-radius: 4rpx;
-					line-height: 30rpx;
-					font-size: $font-size-24;
-					text-align: center;
-					color: #ffffff;
-					margin-top: 10rpx;
-				}
-				.bage-auto {
-					display: inline-block;
-					width: 72rpx;
-					height: 30rpx;
-					background: radial-gradient(circle, rgba(255, 180, 39, 1) 0%, rgba(245, 142, 77, 1) 100%);
-					border-radius: 4rpx;
-					line-height: 30rpx;
-					font-size: $font-size-24;
-					text-align: center;
-					color: #ffffff;
-					margin-top: 10rpx;
-				}
-				.bage-text {
-					display: inline-block;
-					font-size: $font-size-28;
-					line-height: 68rpx;
-					text-align: left;
-					color: $color-system;
-					// margin-left: 10rpx;
-				}
-			}
-			.view-num.ord {
-				color: $color-system;
-				text-align: left;
-				flex: 3;
-				font-weight: bold;
-			}
-			.view-num.time {
-				color: #999999;
-				flex: 6;
-			}
-			// .bold{
-			// 	font-weight: bold;
-			// }
-			.red {
-				color: #ff2a2a;
-			}
-			.view-type {
-				float: right;
-				text-align: right;
-				color: #ff2a2a;
-				flex: 4;
-			}
-			.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;
-			}
-		}
-	}
-}
-.openinfo {
-	width: 100%;
-	height: 48rpx;
-	margin-bottom: 30rpx;
-	.btnInfo{
-		width: 168rpx;
-		height: 48rpx;
-		line-height: 46rpx;
-		box-sizing: border-box;
-		border: 2rpx solid #e1e1e1;
-		border-radius: 8rpx;
-		text-align: center;
-		color: #b2b2b2;
-		margin: 0 auto;
-		font-size: $font-size-24;
-	}
-}
-</style>

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

@@ -1,245 +0,0 @@
-<template name="button">
-	<view class="button-template">
-		<!-- 底部按钮 -->
-		<view class="button-content">
-			<view class="btn btn-pay" v-if="btnState.isPay" @click.stop="btnConfirm('pay',order)">付款</view>
-			<view class="btn btn-cancel" v-if="btnState.isUpload" @click.stop="btnConfirm('upload',order)">上传凭证</view>
-			<!-- <view class="btn btn-confirm" v-if="btnState.isConfirmation" @click.stop="btnConfirm('confirmation',order)">确认订单</view> -->
-			<view class="btn btn-share"  @click.stop="onShareCode(order.orderId)">分享订单</view>
-			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel',order)">取消订单</view>
-			<!-- <view class="btn btn-delete" v-if="btnState.isDelete" @click.stop="btnConfirm('delete',order)">删除订单</view> -->
-			<view class="btn btn-query" v-if="btnState.isQuery && order.secondHandOrderFlag!=1" @click.stop="btnConfirm('query',order)">查看物流</view>
-			<view class="btn btn-firm" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm',order)">
-				确认收货
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:"button",
-		props:{
-			status: {
-				type:Number
-			},
-			order: {
-				type:Object
-			},
-		},
-		data() {
-			return{
-				isShare:true,
-				shareCode:'',
-				btnState:this.initStatus(),
-				mapStateArr:[
-					{label:'isQuery',val:[4,5,12,13,33,22,23,32,77],status: true},
-					{label:'isDelete',val:[6],status: true},
-					{label:'isCancel',val:[0,111,333],status: true},
-					{label:'isConfirm',val:[33],status: true},
-					{label:'isConfirmation',val:[0],status: true},
-					{label:'isPay',val:[11,12,13,21,22,23,111,333],status: true},
-					{label:'isUpload',val:[11,12,13,21,22,23,111,333],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,
-						isShare: true,
-						isConfirmation:false,
-					}
-				return 	btnState
-			},
-			getShareCode(code){
-				this.shareCode = code
-			},
-			onShareCode(orderId){
-				this.$parent.isShareModal = true
-				this.$parent.handleOrderId = orderId
-				this.$emit('shareConfirm')
-			},
-			btnConfirm(type,order){
-				let data = {
-						type:type,
-						orderId:order.orderId,
-						order:order
-					}
-				this.$emit('buttonConfirm',data)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.button-template{
-		width: 100%;
-		height: auto;
-		float: left;
-		background: #FFFFFF;
-		.button-content{
-			height: auto;
-			float: right;
-			position: relative;
-			.share-code{
-				width: 200rpx;
-				height:  64rpx;
-				line-height: 64rpx;
-				color: #2A45FF;
-				text-align: left;
-				position: absolute;
-				font-size: $font-size-28;
-				font-weight: bold;
-				left: 24rpx;
-				top: 24rpx;
-			}
-			.btn{
-				width: 150rpx;
-				height:  64rpx;
-				margin: 22rpx 0 20rpx 20rpx;
-				line-height: 64rpx;
-				font-size:$font-size-26;
-				color: #999999;
-				text-align: center;
-				float: right;
-				border-radius: 34rpx;
-				border: 2rpx solid #999999;
-				&.btn-payment{
-					line-height: 38rpx;
-					font-size: 24rpx;
-					background: #f9a94b;
-					color: #fff;
-					border: 2rpx solid #f9a94b;
-					text{
-						display: block;
-						line-height: 15rpx;
-					}
-				}
-			}
-			.btn-color{
-				background: $btn-confirm;
-				// margin: 22rpx 0 22rpx 22rpx;
-			}
-			.btn-cancel{
-				// background:#FFFFFF;
-				// color: #999999;
-				// float: left;
-				// margin: 22rpx 0;
-				text-align: center;
-			}
-			// .btn-delete{
-			// 	background:linear-gradient(315deg,rgba(255,163,3,1) 0%,rgba(255,53,1,1) 100%);
-			// }
-			// .btn-query{
-			// 	background:linear-gradient(135deg,rgba(255,212,129,1) 0%,rgba(198,129,0,1) 100%);
-			// }
-			.btn-confirm{
-				background:#ff7a51;
-				border-color:#ff7a51;
-				color: #FFFFFF;
-			}
-			.btn-pay{
-				background:$btn-confirm;
-				margin-right: 0;
-				border: 2rpx solid $btn-confirm;
-				color: #fff;
-			}
-			.btn-firm{
-				position:relative;
-				.tips{
-					width: 74rpx;
-					height: 32rpx;
-					line-height: 32rpx;
-					padding: 0 7rpx;
-					border-radius: 16rpx;
-					background-color: #ffe6dc;
-					color: $color-system;
-					text-align: center;
-					font-size: $font-size-20;
-					position:absolute;
-					right: 0;
-					top: -40rpx;
-					z-index: 90;
-					.line{
-						display: block;
-						width: 20rpx;
-						height: 20rpx;
-						background-color: #ffe6dc;
-						position: relative;
-						bottom: 18rpx;
-						left: 15rpx;
-						z-index: -1;
-						transform:rotate(45deg);
-					}
-				}
-			}
-			.btn-share{
-				// background:linear-gradient(315deg,rgba(0,212,150,1) 0%,rgba(126,243,174,1) 100%);
-				position: relative;
-				.tips{
-					width: 160rpx;
-					height: 34rpx;
-					padding: 10rpx 10rpx;
-					background:linear-gradient(45deg,rgba(0,0,0,1) 0%,rgba(87,87,87,1) 100%);
-					box-shadow:0px 2px 4px 0px rgba(0,0,0,0.2);
-					border-radius: 8rpx;
-					position: absolute;
-					color: #FFFFFF;
-					line-height: 34rpx;
-					font-size: $font-size-24;
-					text-align: left;
-					right: 0;
-					top: -65rpx;
-					&:before{
-						content: "";
-						width: 25rpx;
-						height: 25rpx;
-						background:linear-gradient(45deg,rgba(0,0,0,1) 0%,rgba(87,87,87,1) 100%);
-						position: absolute;
-						bottom: -8rpx;
-						right: 30rpx;
-						z-index: -1;
-						transform:rotate(45deg);
-					}
-				}
-			}
-		}
-	}
-</style>

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

@@ -1,159 +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="(record,index) in discernReceiptList" :key="index">
-					<view class="record-item-t">
-						<view class="item-time mm">¥{{record.associateAmount.toFixed(2)}}</view>
-					</view>
-					<view class="record-item-t">
-						<view class="item-time tt">{{ record.receiptDate }}</view>
-						<view class="item-time pp">{{ payTypeText(record) }}</view>
-					</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
-				}
-			},
-			payTypeText(record) {
-				//处理支付记录文字
-				const map = {
-					12: '企业网银',
-					13: '微信支付',
-					14: '支付宝',
-					15: '微信支付',
-					16: '余额抵扣',
-				}
-				if(record.payType === 28 || record.payType === 29 ){
-					return record.quickPayStr
-				}else{
-					return map[record.payType]
-				}
-			}
-		}
-	}
-</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: auto;
-					width: 100%;
-					padding: 12rpx 0;
-					font-size: $font-size-28;
-					float: left;
-					.record-item-t{
-						width: 100%;
-						height: 40rpx;
-						display: flex;
-						justify-content: center;
-						flex-direction: row;
-						.item-time{
-							line-height: 48rpx;
-							&.mm{
-								flex: 1;
-								color: $text-color;
-								text-align: left;
-							}
-							&.pp{
-								flex: 5;
-								color: #999999;
-								text-align: right;
-							}
-							&.tt{
-								flex: 5;
-								color: #999999;
-								text-align: left;
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-</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-nums">{{item.returnedWay =='4' ? '无支付无退款' : '¥'+item.refundFee.toFixed(2)}}</view>
-					<view class="item-time">{{item.confirmReturnTime}}</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: right;
-						color: #999999;
-					}
-					.item-nums{
-						font-weight: bold;
-						float: left;
-						color: $text-color;
-					}
-				}
-			}
-		}
-	}
-</style>

+ 12 - 11
mixins/appMixins.js

@@ -2,15 +2,22 @@ import Vue from 'vue'
 import { mapState,mapMutations} from 'vuex'
 import authorize from '@/common/config/authorize.js'
 const appMixins = {
-	data() {
+    data() {
 	    return {
-			authParams: {
+            authParams: {
 			    code: '',
 			    encryptedData: '',
 			    iv: ''
-			}
+            },
+            modelMap : { // 苹果系统
+                'iPhone X': true,
+                'iPhone 11':true,
+                'iPhone 11 Pro Max':true,
+                'iPhone 12<iPhone13,2>':true,
+                'iPhone 13<iPhone14,5>':true,
+            }
 	    }
-	},
+    },
     computed: {
         ...mapState(['hasLogin','isWxAuthorize'])
     },
@@ -51,14 +58,8 @@ const appMixins = {
             let self = this
             uni.getSystemInfo({
                 success: function(e) {
-                    let modelmes = e.model
                     console.log('System',e)
-                    if (modelmes.search('iPhone 11') !== -1 || modelmes.search('iPhone 11 Pro Max') !==
-						-1 || modelmes.search('iPhone X') != -1) { //XS,XR,XS MAX均可以适配
-                        self.$store.dispatch('setVariableFun', true)
-                    } else {
-                        self.$store.dispatch('setVariableFun', false)
-                    }
+                    self.$store.dispatch('setVariableFun', self.modelMap[e.model])
                     // #ifndef MP
                     Vue.prototype.StatusBar = e.statusBarHeight
                     if (e.platform == 'android') {

+ 0 - 5
pages.json

@@ -393,11 +393,6 @@
 				"style": {
 					"navigationBarTitleText": "搜索"
 				}
-			}, {
-				"path": "search-order",
-				"style": {
-					"navigationBarTitleText": "订单搜索"
-				}
 			}, {
 				"path": "search-library",
 				"style": {

+ 0 - 1
pages/goods/product.vue

@@ -76,7 +76,6 @@
 									>
 								</view>
 								<view class="product-seve" v-if="hasLogin">
-									<text class="label">采美承诺:</text>
 									<text class="iconfont icon-dui tui-skeleton-rect"
 										><text class="text">无忧退货</text></text
 									>

+ 2 - 3
pages/login/register.vue

@@ -207,8 +207,8 @@
 				</view>
 			</view>
 			<view class="register-row ">
-				<view class="register-btn sub" @click.stop="handleStep(0)">上一步</view>
 				<view class="register-btn sub" @click.stop="handleConfirm">提交审核</view>
+				<view class="register-btn sub none" @click.stop="handleStep(0)">上一步</view>
 			</view>
 		</view>	
 		<!-- 地址  -->
@@ -834,8 +834,7 @@ export default {
 			text-align: center;
 			background: $btn-confirm;
 			&.none {
-				border: 1px solid $color-system;
-				background: #ffffff;
+				background: #FFF4E6;
 				color: $color-system;
 				margin-top: 0;
 			}

+ 0 - 1020
pages/search/search-order.vue

@@ -1,1020 +0,0 @@
-<template>
-	<view class="search-container">
-		<!-- <or-search :theme="themeClass" @getSearchText="getSearchText"></or-search> -->
-		<view class="search-main">
-			<view class="search">
-				<view class="search-input">
-					<text class="iconfont icon-iconfonticonfontsousuo1"></text>
-					<input
-						maxlength="20"
-						focus
-						type="text"
-						value=""
-						confirm-type="search"
-						@focus="onFocus"
-						@input="onShowClose"
-						@confirm="subMitSearch()"
-						placeholder="请输入商品关键词"
-						v-model.trim="listQuery.searchWord"
-					/>
-					<text class="iconfont icon-shanchu1" v-if="isShowClose" @click="delInputText()"></text>
-				</view>
-				<view class="search-btn" @click="subMitSearch()">搜索</view>
-			</view>
-		</view>
-		<view class="search-container-history" v-if="!isShowWrapper">
-			<view :class="'s-' + themeClass" v-if="serachRecordList.length > 0">
-				<view class="header">
-					搜索历史 <text class="iconfont icon-shanchu" @click="confirmDetele"></text>
-				</view>
-				<view class="list">
-					<view
-						v-for="(item, index) in serachRecordList"
-						:key="index"
-						@click="keywordsClick(item.searchWord)"
-						>{{ item.searchWord }}</view
-					>
-				</view>
-			</view>
-		</view>
-		<view
-			class=" order-container"
-			v-if="isShowWrapper"
-			:style="{ overflow: 'auto', height: showSkeleton ? windowHeight + 'px' : 'auto' }"
-		>
-			<scroll-view
-				class="tui-skeleton"
-				:style="{ height: scrollHeight + 'px' }"
-				@scrolltolower="scrolltolower"
-				scroll-y
-			>
-				<view :class="{ 'tui-order-list': scrollTop >= 0 }" class="tui-skeleton clearfix">
-					<!-- 空白页 -->
-					<empty v-if="isShowEmpty" :navbarHeight="navbarHeight"></empty>
-					<!-- 列表 -->
-					<view v-else class="tui-order-content">
-						<view
-							class="tui-order-item"
-							v-for="(order, orderIndex) in orderList"
-							:key="orderIndex"
-							@click.stop="detail(order.orderId)"
-						>
-							<view class="order-title">
-								<view class="order-title-t">
-									<text
-										class="bage-buss tui-skeleton-fillet"
-										v-if="order.orderSubmitType == 3 || order.orderSubmitType == 4"
-										>协销</text
-									>
-									<text
-										class="bage-auto tui-skeleton-fillet"
-										v-if="
-											order.orderSubmitType == 0 ||
-												order.orderSubmitType == 1 ||
-												order.orderSubmitType == 2
-										"
-										>自主</text
-									>
-									<text class="bage-text tui-skeleton-fillet">订单编号:{{ order.orderNo }}</text>
-									<image
-										class="bage-icon"
-										src="https://static.caimei365.com/app/img/icon/icon-type@3x.png"
-										mode="widthFix"
-										v-if="order.secondHandOrderFlag == 1"
-									></image>
-								</view>
-								<view class="order-title-b">
-									<view class="order-title-btxt tui-skeleton-fillet"
-										>下单时间:{{ order.orderTime }}</view
-									>
-									<view class="order-title-tip tui-skeleton-fillet">{{
-										StateExpFormat(order.status)
-									}}</view>
-								</view>
-							</view>
-							<block v-for="(shop, index) in order.shopOrderList" :key="index">
-								<view class="goods-title">
-									<view v-if="shop.shopPromotion" class="floor-item-act">
-										<view class="floor-tags">{{ shop.shopPromotion.name }}</view>
-									</view>
-									<view class="title-text tui-skeleton-fillet">{{ shop.shopName }}</view>
-								</view>
-								<view
-									class="goods-item"
-									v-for="(pros, prosIndex) in shop.orderProductList"
-									:key="prosIndex"
-								>
-									<view class="goods-pros-t">
-										<view class="pros-img tui-skeleton-fillet">
-											<image :src="pros.image" alt="" />
-											<text class="tips" v-if="pros.productType == 2 || pros.productType == 1"
-												>赠品</text
-											>
-										</view>
-										<view class="pros-product">
-											<view class="producttitle tui-skeleton-fillet">{{ pros.name }}</view>
-											<view
-												class="productspec tui-skeleton-fillet"
-												v-if="pros.productCategory != 2"
-												>规格:{{ pros.productUnit }}</view
-											>
-											<view class="productprice">
-												<view
-													class="price tui-skeleton-fillet"
-													:class="
-														pros.svipPriceFlag == 1 ||
-														PromotionsFormat(pros.productPromotion)
-															? 'none'
-															: ''
-													"
-												>
-													<text>¥{{ pros.price | NumFormat }}</text>
-												</view>
-												<view class="count tui-skeleton-fillet">
-													<text class="small">x</text>{{ pros.num }}
-												</view>
-											</view>
-											<view class="floor-item-act">
-												<template v-if="pros.productPromotion">
-													<view
-														v-if="PromotionsFormat(pros.productPromotion)"
-														class="floor-tags"
-														@click.stop="clickPopupShow(pros.productPromotion)"
-													>
-														{{ pros.productPromotion.name }}
-														<text
-															v-if="
-																pros.productPromotion != null &&
-																	pros.productPromotion.type != 3
-															"
-														>
-															:¥{{
-																pros.productPromotion == null
-																	? '0.00'
-																	: pros.productPromotion.touchPrice | NumFormat
-															}}
-														</text>
-													</view>
-													<view
-														v-else-if="pros.productPromotion.type != 3"
-														class="floor-tags"
-														@click.stop="clickPopupShow(pros.productPromotion)"
-														>{{ pros.productPromotion.name }}</view
-													>
-												</template>
-												<template v-if="pros.svipPriceFlag == 1">
-													<view class="svip-tags">
-														<view class="tags">SVIP</view>
-														<view class="price">{{ pros.svipPriceTag }}</view>
-													</view>
-												</template>
-											</view>
-										</view>
-									</view>
-								</view>
-							</block>
-							<view class="order-footer">
-								<view class="order-footer-top" v-if="order.discountFee != 0"
-									>经理折扣:¥{{ order.discountFee | NumFormat }}</view
-								>
-								<view class="order-footer-bot">
-									<view class="count tui-skeleton-fillet">共{{ order.productCount }}件商品</view>
-									<view
-										class="money tui-skeleton-fillet"
-										v-if="order.status == 31 || order.status == 32 || order.status == 33"
-									>
-										已支付:<label style="color:#f94b4b ;"
-											>¥{{ order.receiptAmount | NumFormat }}</label
-										>
-									</view>
-									<view class="money tui-skeleton-fillet" v-else>
-										待付总额:<label style="color:#f94b4b ;"
-											>¥{{ order.pendingPayments | NumFormat }}</label
-										>
-									</view>
-								</view>
-							</view>
-							<!-- 底部button -->
-							<order-button
-								ref="orderButton"
-								:status="order.status"
-								:order="order"
-								:onlinePayFlag="order.onlinePayFlag"
-								@buttonConfirm="handButtonConfirm"
-							>
-							</order-button>
-						</view>
-						<!--加载loadding-->
-						<tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
-						<tui-nomore :visible="!pullUpOn" :backgroundColor="'#ffffff'" :text="nomoreText"></tui-nomore>
-						<!--加载loadding-->
-					</view>
-				</view>
-			</scroll-view>
-		</view>
-		<!-- 分享弹窗 -->
-		<share-alert v-if="isShareModal" :orderId="btnoRderID" @shareConfirm="onShareAppMessage"> </share-alert>
-		<!-- 透明模态层 -->
-		<modal-layer v-if="isModalLayer"></modal-layer>
-	</view>
-</template>
-
-<script>
-import orSearch from '@/components/uni-search/or-search.vue'
-import orderButton from '@/components/cm-module/orderDetails/orderListButton' //按钮
-import modalLayer from '@/components/modal-layer'
-import empty from './components/empty'
-import shareAlert from '@/components/cm-module/modelAlert/shareAlert' //分享弹窗
-import authorize from '@/common/config/authorize.js'
-const defaultListQuery = {
-	pageNum: 1, // 页码
-	pageSize: 10, // 每页条数
-	userId: 0, // 用户Id
-	searchWord: '' // 搜索关键词
-}
-export default {
-	components: {
-		orSearch,
-		orderButton,
-		empty,
-		shareAlert,
-	},
-	data() {
-		return {
-			listQuery: Object.assign({}, defaultListQuery),
-			themeClass: 'block',
-			isShowClose: false, // 是否显示清空输入框图标
-			isSearchHistory: false, // 是都显示搜索历史
-			serachRecordList: [],
-			isShowWrapper: false,
-			isModallayer: false,
-			isShowEmpty: false,
-			windowHeight: '',
-			showSkeleton: true,
-			orderList: [],
-			btnoRderID: 0, // 点击按钮传入的的订单ID
-			scrollTop: 0,
-			skeletonShow: true,
-			isShareModal: false, // 控制分享弹窗
-			isCenceModal: false, // 控制取消订单弹窗
-			isShowDelModal: false, // 控制删除订单弹窗
-			isModalLayer: false,
-			loadding: false,
-			pullUpOn: true,
-			hasNextPage: false,
-			pullFlag: true,
-			navbarHeight: '',
-			nomoreText: '上拉显示更多',
-			scrollHeight: '',
-			beansType: 1,
-			beanNumber: 0,
-			isActivityBean: false
-		}
-	},
-	onLoad() {
-		this.initGetSerachRecord()
-	},
-	filters: {
-		NumFormat(value) {
-			//处理金额
-			return Number(value).toFixed(2)
-		}
-	},
-	methods: {
-		subMitSearch() {
-			if (this.listQuery.searchWord == '') {
-				this.$util.msg('请输入商品关键词', 2000)
-			} else {
-				this.commodityList = []
-				this.getOrderDatainit()
-			}
-		},
-		async initGetSerachRecord() {
-			const userInfo = await this.$api.getStorage()
-			this.listQuery.userId = userInfo.userId ? userInfo.userId : 0
-			this.OrderService.SearchOrderHistory({ userId: this.listQuery.userId })
-				.then(response => {
-					this.serachRecordList = response.data
-					if (this.serachRecordList.length > 0) {
-						this.isSearchHistory = true
-					} else {
-						this.isSearchHistory = false
-					}
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		onShowClose() {
-			//输入框失去焦点时触发
-			this.inputEmpty(this.listQuery.searchWord)
-		},
-		onFocus() {
-			//输入框获取焦点时触发
-			this.inputEmpty(this.listQuery.searchWord)
-			this.initGetSerachRecord()
-		},
-		delInputText() {
-			//清除输入框内容
-			this.listQuery.searchWord = ''
-			this.isShowClose = false
-			this.isShowWrapper = false
-			this.inputEmpty(this.listQuery.searchWord)
-			this.initGetSerachRecord()
-		},
-		keywordsClick(item) {
-			//关键词搜索与历史搜索
-			this.listQuery.searchWord = item
-			this.isShowClose = true
-			this.subMitSearch()
-		},
-		confirmDetele() {
-			//清空历史记录
-			this.$util.modal('提示', '确定删除历史记录?', '确定', '取消', true, () => {
-				this.OrderService.ClearOrderHistory({ userId: this.listQuery.userId })
-					.then(response => {
-						this.$util.msg('删除记录成功', 2000, true, 'success')
-						this.serachRecordList = []
-					})
-					.catch(error => {
-						this.$util.msg(error.msg, 2000)
-					})
-			})
-		},
-		inputEmpty(val) {
-			this.isShowWrapper = false
-			if (val != '') {
-				this.isShowClose = true
-			} else {
-				this.isShowClose = false
-			}
-		},
-		getOrderDatainit(index, source) {
-			this.OrderService.SearchOrderInfo(this.listQuery)
-				.then(response => {
-					this.isShowWrapper = true
-					this.showSkeleton = true
-					let data = response.data
-					if (data && data.list.length > 0) {
-						let filrerData = data.list.filter(item => {
-							//添加不同状态下订单的表现形式
-							item = Object.assign(item, this.StateExpFormat(item.status))
-							return item
-						})
-						this.orderList = []
-						filrerData.forEach(item => {
-							this.orderList.push(item)
-						})
-						this.hasNextPage = data
-						if (this.hasNextPage) {
-							this.pullUpOn = false
-							this.nomoreText = '上拉显示更多'
-						} else {
-							if (this.orderList.length < 2) {
-								this.pullUpOn = true
-							} else {
-								this.pullUpOn = false
-								this.nomoreText = '已至底部'
-							}
-						}
-						this.isShowEmpty = false
-					} else {
-						this.isShowEmpty = true
-					}
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		getOnReachBottomData() {
-			//上拉加载
-			this.listQuery.pageNum += 1
-			this.OrderService.SearchOrderInfo(this.listQuery)
-				.then(response => {
-					let data = response.data
-					this.hasNextPage = data.hasNextPage
-					this.orderList = this.orderList.concat(data.list)
-					this.pullFlag = false // 防上拉暴滑
-					setTimeout(() => {
-						this.pullFlag = true
-					}, 500)
-					if (this.hasNextPage) {
-						this.pullUpOn = false
-						this.nomoreText = '上拉显示更多'
-					} else {
-						this.loadding = false
-						this.pullUpOn = false
-						this.nomoreText = '已至底部'
-					}
-				})
-				.catch(error => {
-					this.$util.msg(error.msg, 2000)
-				})
-		},
-		scrolltolower() {
-			if (this.hasNextPage) {
-				this.loadding = true
-				this.pullUpOn = true
-				this.showSkeleton = false
-				this.getOnReachBottomData()
-			}
-		},
-		detail(orderId) {
-			//订单详情跳转
-			this.isModalLayer = true
-			this.$api.navigateTo(`/pages/user/order/order-details?type=search&orderId=${orderId}`)
-		},
-		handButtonConfirm(data) {
-			//获取点击
-			this.handShowAlert(data)
-			this.btnoRderID = data.orderId
-		},
-		handShowAlert(data) {
-			//执行
-			switch (data.type) {
-				case 'delete':
-					this.handOrderDetele(data.orderId)
-					break
-				case 'cancel':
-					this.handCenceConfirm(data.orderId)
-					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
-				case 'confirmation':
-					this.handOrderConfirmation(data.orderId)
-					break
-			}
-		},
-		handOrderConfirm(orderId) {
-			//确认收货
-			this.$util.modal('提示', '是否确认收货', '确定', '取消', true, () => {
-				this.OrderService.ConfirmReceipt({ orderId: orderId })
-					.then(response => {
-						this.beansType = 7
-						this.beanNumber = 100
-						this.isActivityBean = true
-					})
-					.catch(error => {
-						this.$util.msg(error.msg, 2000)
-					})
-			})
-		},
-		handOrderConfirmation(orderId) {
-			//确认订单
-			this.$util.modal('提示', '确认此订单?', '确定', '取消', true, () => {
-				this.OrderService.AffirmOrder({ orderId: orderId })
-					.then(response => {
-						this.$util.msg(response.msg, 2000, true, 'success')
-						setTimeout(() => {
-							this.getOrderDatainit()
-						}, 2000)
-					})
-					.catch(error => {
-						this.$util.msg(error.msg, 2000)
-					})
-			})
-		},
-		handOrderDetele(orderId) {
-			//删除订单
-			this.$util.modal('提示', '确认删除该订单吗?', '确定', '取消', true, () => {
-				this.OrderService.DeleteOrder({ orderId: orderId })
-					.then(response => {
-						this.$util.msg(response.msg, 2000, true, 'success')
-						setTimeout(() => {
-							this.getOrderDatainit()
-						}, 2000)
-					})
-					.catch(error => {
-						this.$util.msg(error.msg, 2000)
-					})
-			})
-		},
-		handCenceConfirm(orderId) {
-			//取消订单
-			this.$util.modal('提示', '确认取消该订单吗?', '确定', '取消', true, () => {
-				this.OrderService.CancelOrder({ orderId: orderId , userIdentity : 0})
-					.then(response => {
-						this.$util.msg(response.msg, 2000, true, 'success')
-						setTimeout(() => {
-							this.getOrderDatainit()
-						}, 2000)
-					})
-					.catch(error => {
-						this.$util.msg(error.msg, 2000)
-					})
-			})
-		},
-		onShareAppMessage(res) {
-			//分享转发
-			this.isShareModal = false
-			if (res.from === 'button') {
-				// 来自页面内转发按钮
-			}
-			return {
-				title: '您有新的分享订单,快来查看吧~',
-				path: `/pages/user/order/order-sharelogin?orderID=${this.btnoRderID}&userId=${this.listQuery.userId}`,
-				imageUrl: 'https://static.caimei365.com/app/img/bg/min-banner.jpg'
-			}
-		},
-		setScrollHeight() {
-			const { windowHeight, pixelRatio } = wx.getSystemInfoSync()
-			this.windowHeight = windowHeight - 1
-			this.scrollHeight = windowHeight - 1
-		},
-		PromotionsFormat(promo) {
-			//促销活动类型数据处理
-			if (promo != null) {
-				if (promo.type == 1 && promo.mode == 1) {
-					return true
-				} else {
-					return false
-				}
-			}
-			return false
-		},
-		StateExpFormat(state) {
-			//订单状态文字和颜色
-			var HtmlStateText = '',
-				stateTextObject = {
-					0: '待确认',
-					4: '交易完成',
-					5: '订单完成',
-					6: '已关闭',
-					7: '交易全退',
-					77: '交易全退',
-					11: '待付款待发货',
-					12: '待付款部分发货',
-					13: '待付款已发货',
-					21: '部分付款待发货',
-					22: '部分付款部分发货',
-					23: '部分付款已发货',
-					31: '已付款待发货',
-					32: '已付款部分发货',
-					33: '已付款已发货',
-					111: '待付款待发货'
-				}
-			Object.keys(stateTextObject).forEach(function(key) {
-				if (key == state) {
-					HtmlStateText = stateTextObject[key]
-				}
-			})
-			return HtmlStateText
-		},
-		handleBeanlClick() {
-			//关闭采美豆弹窗
-			this.isActivityBean = false
-			this.getOrderDatainit()
-		}
-	},
-	onPageScroll(e) {
-		this.scrollTop = e.scrollTop
-	},
-	onShow() {
-		this.setScrollHeight()
-	}
-}
-</script>
-
-<style lang="scss">
-@import '@/uni.scss';
-page {
-	background-color: #f7f7f7 !important;
-}
-.search {
-	width: 702rpx;
-	height: 70rpx;
-	padding: 12rpx 24rpx;
-	border-bottom: 1px solid #f0f0f0;
-	position: fixed;
-	top: 0;
-	left: 0;
-	background: #ffffff;
-	z-index: 1001;
-	.search-input {
-		width: 448rpx;
-		height: 70rpx;
-		padding: 0 68rpx;
-		line-height: 70rpx;
-		border-radius: 40rpx;
-		position: relative;
-		background: #f0f0f0;
-		float: left;
-		.icon-iconfonticonfontsousuo1 {
-			font-size: 36rpx;
-			color: #8a8a8a;
-			position: absolute;
-			left: 24rpx;
-			z-index: 10;
-		}
-		.icon-shanchu1 {
-			font-size: 36rpx;
-			color: #8a8a8a;
-			position: absolute;
-			right: 24rpx;
-			top: 0;
-			padding: 0 10rpx;
-			z-index: 10;
-		}
-		input {
-			width: 448rpx;
-			height: 70rpx;
-			background-color: #f0f0f0;
-			font-size: 26rpx;
-		}
-	}
-	.search-btn {
-		width: 118rpx;
-		height: 70rpx;
-		line-height: 70rpx;
-		color: $color-system;
-		font-size: 30rpx;
-		text-align: center;
-		float: left;
-	}
-	.voice-icon {
-		width: 36rpx;
-		height: 36rpx;
-		padding: 16rpx 20rpx 16rpx 0;
-		position: absolute;
-		left: 16rpx;
-		top: 4rpx;
-		z-index: 10;
-	}
-}
-.search-container {
-	padding-top: 106rpx;
-}
-.s-block {
-	background: #ffffff;
-	.header {
-		font-size: 32rpx;
-		padding: 40rpx 24rpx 22rpx 24rpx;
-		line-height: 42rpx;
-		font-size: 30rpx;
-		font-weight: bold;
-		position: relative;
-		.icon-shanchu {
-			font-size: 36rpx;
-			color: #333333;
-			float: right;
-			padding: 0 10rpx;
-			z-index: 10;
-			font-weight: normal;
-		}
-	}
-	.list {
-		display: flex;
-		flex-wrap: wrap;
-		padding-bottom: 40rpx;
-		view {
-			color: #8a8a8a;
-			font-size: 24rpx;
-			box-sizing: border-box;
-			text-align: center;
-			height: 48rpx;
-			line-height: 48rpx;
-			border-radius: 24rpx;
-			margin: 12rpx;
-			padding: 0 30rpx;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-			background-color: #f3f3f3;
-		}
-	}
-}
-.s-circle {
-	margin-top: 30rpx;
-	.header {
-		font-size: 32rpx;
-		padding: 30rpx;
-		border-bottom: 2rpx solid #f9f9f9;
-		position: relative;
-		image {
-			width: 36rpx;
-			height: 36rpx;
-			padding: 10rpx;
-			position: absolute;
-			right: 40rpx;
-			top: 24rpx;
-		}
-	}
-	.list {
-		display: flex;
-		flex-wrap: wrap;
-		padding: 0 30rpx 20rpx;
-		view {
-			padding: 8rpx 30rpx;
-			margin: 20rpx 30rpx 0 0;
-			font-size: 28rpx;
-			color: #8a8a8a;
-			background-color: #f7f7f7;
-			box-sizing: border-box;
-			text-align: center;
-			border-radius: 20rpx;
-		}
-	}
-}
-.wanted-block {
-	margin-top: 30rpx;
-	.header {
-		font-size: 32rpx;
-		padding: 30rpx;
-	}
-	.list {
-		display: flex;
-		flex-wrap: wrap;
-		view {
-			width: 50%;
-			color: #8a8a8a;
-			font-size: 28rpx;
-			box-sizing: border-box;
-			text-align: center;
-			padding: 20rpx 0;
-			border-top: 2rpx solid #fff;
-			border-left: 2rpx solid #fff;
-			background-color: #f7f7f7;
-			overflow: hidden;
-			white-space: nowrap;
-			text-overflow: ellipsis;
-		}
-	}
-}
-.wanted-circle {
-	margin-top: 30rpx;
-	.header {
-		font-size: 32rpx;
-		padding: 30rpx;
-	}
-	.list {
-		display: flex;
-		flex-wrap: wrap;
-		padding: 0 30rpx 20rpx;
-		view {
-			padding: 8rpx 30rpx;
-			margin: 20rpx 30rpx 0 0;
-			font-size: 28rpx;
-			color: #8a8a8a;
-			background-color: #f7f7f7;
-			box-sizing: border-box;
-			text-align: center;
-			border-radius: 20rpx;
-		}
-	}
-}
-.order-container {
-	scroll-view {
-		height: 100%;
-		overflow: scroll;
-	}
-}
-.container {
-	padding-bottom: env(safe-area-inset-bottom);
-	height: auto;
-	position: relative;
-}
-.tui-order-content {
-	width: 100%;
-	height: auto;
-}
-.tui-order-list {
-	width: 100%;
-	position: relative;
-}
-.tui-order-item {
-	display: flex;
-	flex-direction: column;
-	width: 702rpx;
-	padding: 20rpx 24rpx 0 24rpx;
-	background: #fff;
-	border-bottom: 20rpx solid #f7f7f7;
-}
-.order-title {
-	width: 100%;
-	height: auto;
-	.order-title-t {
-		width: 100%;
-		height: 68rpx;
-		float: left;
-		line-height: 68rpx;
-		position: relative;
-		.bage-icon {
-			width: 50rpx;
-			height: 50rpx;
-			display: block;
-			position: absolute;
-			right: 0;
-			top: 9rpx;
-		}
-		.bage-buss {
-			display: inline-block;
-			width: 72rpx;
-			height: 30rpx;
-			background: radial-gradient(circle, rgba(255, 39, 180, 1) 0%, rgba(193, 77, 245, 1) 100%);
-			border-radius: 4rpx;
-			line-height: 30rpx;
-			font-size: $font-size-22;
-			text-align: center;
-			color: #ffffff;
-		}
-		.bage-auto {
-			display: inline-block;
-			width: 72rpx;
-			height: 30rpx;
-			background: radial-gradient(circle, rgba(255, 180, 39, 1) 0%, rgba(245, 142, 77, 1) 100%);
-			border-radius: 4rpx;
-			line-height: 30rpx;
-			font-size: $font-size-22;
-			text-align: center;
-			color: #ffffff;
-		}
-		.bage-text {
-			display: inline-block;
-			font-size: $font-size-28;
-			line-height: 68rpx;
-			text-align: left;
-			color: $color-system;
-			margin-left: 10rpx;
-		}
-	}
-	.order-title-b {
-		width: 100%;
-		height: 40rpx;
-		float: left;
-		margin-top: 8rpx;
-		.order-title-btxt {
-			float: left;
-			font-size: $font-size-28;
-			line-height: 40rpx;
-			color: #999999;
-			text-align: lef;
-		}
-		.order-title-tip {
-			float: right;
-			font-size: $font-size-28;
-			line-height: 40rpx;
-			text-align: right;
-			color: #ff2a2a;
-		}
-	}
-}
-.goods-title {
-	width: 100%;
-	height: 56rpx;
-	float: left;
-	margin-top: 10rpx;
-	.floor-item-act {
-		height: 56rpx;
-		text-align: center;
-		box-sizing: border-box;
-		float: left;
-		padding: 10rpx 0;
-		margin-right: 12rpx;
-	}
-	.title-text {
-		width: 400rpx;
-		overflow: hidden;
-		text-overflow: ellipsis;
-		white-space: nowrap;
-		float: left;
-		font-size: $font-size-28;
-		color: $text-color;
-		text-align: left;
-		line-height: 56rpx;
-		font-weight: bold;
-	}
-}
-.goods-item {
-	width: 100%;
-	height: auto;
-}
-.goods-pros-t {
-	display: flex;
-	align-items: center;
-	width: 100%;
-	height: 217rpx;
-	padding: 24rpx 0;
-	.pros-img {
-		float: left;
-		width: 210rpx;
-		height: 100%;
-		border-radius: 10rpx;
-		margin: 0 26rpx 0 0;
-		position: relative;
-		.tips {
-			display: inline-block;
-			width: 80rpx;
-			height: 40rpx;
-			background-image: linear-gradient(214deg, #ff4500 0%, #ff5800 53%, #ff4367 100%);
-			line-height: 40rpx;
-			text-align: center;
-			font-size: $font-size-24;
-			color: #ffffff;
-			border-radius: 10rpx 0 10rpx 0;
-			position: absolute;
-			top: 0;
-			left: 0;
-		}
-		image {
-			width: 210rpx;
-			height: 210rpx;
-			border-radius: 10rpx;
-			border: 1px solid #f3f3f3;
-		}
-	}
-}
-.pros-product {
-	width: 468rpx;
-	height: 100%;
-	line-height: 36rpx;
-	font-size: $font-size-26;
-	position: relative;
-	.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;
-		position: absolute;
-		width: 100%;
-		bottom: 0;
-		.price {
-			line-height: 48rpx;
-			font-size: $font-size-28;
-			width: 48%;
-			color: #ff2a2a;
-			float: left;
-			font-weight: bold;
-			&.none {
-				text-decoration: line-through;
-				color: #999999;
-			}
-		}
-		.count {
-			height: 100%;
-			float: right;
-			position: relative;
-			.small {
-				color: #666666;
-			}
-		}
-	}
-	.floor-item-act {
-		width: 100%;
-		height: 56rpx;
-		text-align: center;
-		box-sizing: border-box;
-		float: left;
-		padding: 0 0 10rpx 0;
-	}
-}
-.order-footer {
-	width: 100%;
-	height: 78rpx;
-	float: left;
-	.order-footer-top {
-		width: 100%;
-		height: 34rpx;
-		line-height: 34rpx;
-		font-size: $font-size-24;
-		color: #999999;
-		text-align: right;
-	}
-	.order-footer-bot {
-		width: 100%;
-		float: left;
-		height: 48rpx;
-		line-height: 48rpx;
-		font-size: $font-size-28;
-		font-weight: bold;
-		color: $text-color;
-		.count {
-			width: 50%;
-			float: left;
-			text-align: left;
-		}
-		.money {
-			width: 50%;
-			float: right;
-			text-align: right;
-		}
-	}
-}
-</style>

+ 1 - 0
pages/tabBar/home/index.js

@@ -15,6 +15,7 @@ const homeMiXins = {
                 textColor: '#FFFFFF'
             },
             CustomBar: this.CustomBar, // 顶部导航栏高度
+            staticUrl: this.global.staticUrl,
             skeletonShow: false,
             userId: 0,
             current: 0,

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

@@ -63,7 +63,7 @@ export default {
 		return {
 			title: '联合丽格集采商城',
 			path: 'pages/tabBar/home/index',
-			imageUrl: 'https://static.caimei365.com/app/img/bg/min-banner.jpg'
+			imageUrl: `${this.staticUrl}icon_share_home@2x.png`
 		}
 	},
 	onShow() {

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

@@ -576,12 +576,12 @@ page {
 		margin-right: 0;
 	}
 	.order-icon {
-		width: 52rpx;
-		height: 52rpx;
+		width: 72rpx;
+		height: 72rpx;
 		position: relative;
 		image {
-			width: 52rpx;
-			height: 52rpx;
+			width: 72rpx;
+			height: 72rpx;
 		}
 		.icon-num {
 			position: absolute;

+ 61 - 2
pages/user/order/components/freight.vue

@@ -3,15 +3,34 @@
 		 <!-- 运费信息 -->
 		<view class="invoice-freight">
 			<view class="freight-main">
-				<view class="freight-left">运费<text class="tips" v-if="freightData.postageFlag == 1 && vipFlag!=1">运费可选择到付哟~</text></view>
+				<view class="freight-left">运费</view>
 				<view class="freight-right" >
 					<view class="freight-text">{{freightText}}</view>
 					<view class="select" v-if="freightData.postageFlag == 1"  @click.stop="selectFreight">
 						<text class="select-text">{{orderPriceToFixed(freightMoney)}}</text>
-						<text class="iconfont icon-xiangyou"></text>
+						<text class="iconfont icon-xiayibu"></text>
 					</view>
 				</view>
 			</view>
+			<view class="freight-bean">
+				<view class="bean-le">冷链运输费</view>
+				<view class="bean-ri">
+					<view class="checkbox-box">
+						<button class="checkbox iconfont"
+								hover-class="btn-hover"
+								@click.stop="checkedBalabce"
+								:class="[ischecked ?'icon-yixuanze':'icon-weixuanze']"
+						>
+						</button>
+					</view>
+				</view>
+			</view>
+			<view class="freight-bean">
+				<view class="bean-le">其他运费</view>
+				<view class="bean-ri">
+					¥15.00
+				</view>
+			</view>
 		</view>
 	</view>
 </template>
@@ -146,6 +165,10 @@
 				    }
 				})
 			},
+			checkedBalabce(){//勾选使用采美豆抵扣
+				this.ischecked = !this.ischecked
+				this.$emit('confirmFreightBeans',this.ischecked)
+			},
 			orderPriceToFixed (value){
 				let price =''
 				if(value == '到付'){
@@ -236,6 +259,42 @@
 					}
 				}
 			}
+			.freight-bean{
+				width: 100%;
+				height: 58rpx;
+				line-height: 58rpx;
+				float: left;
+				.bean-le{
+					float: left;
+					color: #666666;
+					font-size: $font-size-26;
+					font-weight: normal;
+				}
+				.bean-ri{
+					float: right;
+					display: flex;
+					align-items: center;
+					.checkbox-box{
+						display: flex;
+						width: 60rpx;
+						float: left;
+						height: 100%;
+						font-size: $font-size-26;
+						margin-top: 8rpx;
+						.checkbox{
+							width: 40rpx;
+							text-align: right;
+							box-sizing: border-box;
+							text-align: center;
+							text-decoration: none;
+							border-radius: 0;
+							-webkit-tap-highlight-color: transparent;
+							overflow: hidden;
+							color: $color-system;
+						}
+					}
+				}
+			}
 		}
 	}
 </style>

+ 118 - 83
pages/user/order/order-addpay.vue

@@ -7,13 +7,24 @@
 					<image :src="item" mode="aspectFill" @click.stop="previewImg(item)"></image>
 					<text class="iconfont icon-iconfontguanbi" @click.stop="deletePhotoFn(imageIndex)"></text>
 				</view>
-				<view class="photo-item add" @click.stop="uploadPhotoFn" v-if="imageList.length<5 || imageList.length == 0">
+				<view
+					class="photo-item add"
+					@click.stop="uploadPhotoFn"
+					v-if="imageList.length < 5 || imageList.length == 0"
+				>
 					<text class="iconfont icon-jiahao"></text>
 				</view>
 			</view>
 			<view class="list-view-title">备注:</view>
 			<view class="list-view-text">
-				<textarea class="textarea" v-model="params.remarks" placeholder="请输入备注信息" />
+				<textarea
+					class="textarea"
+					v-model="params.remarks"
+					placeholder="请输入备注信息"
+					maxlength="200"
+					@input="conInput"
+				/>
+				<text class="limit-text">{{ min }}/{{ max }}</text>
 			</view>
 		</view>
 		<view class="card-mains-btn">
@@ -30,138 +41,162 @@
 </template>
 
 <script>
-	import { mapState,mapMutations } from 'vuex'
-	import { uploadFileImage  } from '@/services/public.js'
-	export default{
-		data() {
-			return{
-				isIphoneX:this.$store.state.isIphoneX,
-				isPreviewImg:false,
-				imageList:[],
-				params:{
-					id:0,
-					orderId:0,
-					remarks:'',
-					voucherImgs:''
-				},
+import { mapState, mapMutations } from 'vuex'
+import { uploadFileImage } from '@/services/public.js'
+export default {
+	data() {
+		return {
+			isIphoneX: this.$store.state.isIphoneX,
+			isPreviewImg: false,
+			imageList: [],
+			params: {
+				id: 0,
+				orderId: 0,
+				remarks: '',
+				voucherImgs: ''
+			},
+			min: 0,
+			max: 200
+		}
+	},
+	onLoad(option) {
+		console.log(option)
+		this.params.orderId = option.orderId
+	},
+	computed: {
+		disabled() {
+			return !(this.imageList.length > 0)
+		}
+	},
+	methods: {
+		async orderInsertVoucher() {
+			try {
+				this.params.voucherImgs = this.imageList.join('##')
+				console.log('params', this.params)
+				const res = await this.OrderService.orderInsertVoucher(this.params)
+				this.$util.msg('保存成功', 2000, true, 'success')
+				setTimeout(() => {
+					this.$api.navigateBack(1)
+				}, 2000)
+			} catch (error) {
+				console.log('error', error)
 			}
 		},
-		onLoad(option) {
-			console.log(option)
-			this.params.orderId = option.orderId
+		async uploadPhotoFn() {
+			//添加图片
+			try {
+				const res = await uploadFileImage()
+				const data = JSON.parse(res.data).data
+				this.imageList.push(data)
+				console.log('imageList', this.imageList)
+			} catch (e) {
+				console.log('1111111111')
+			}
 		},
-		computed: {
-			disabled() {
-				return !(this.imageList.length > 0)
+		conInput(e) {
+			//备注文字字数限制
+			let value = e.detail.value
+			let len = parseInt(value.length)
+			if (len > this.max) return
+			this.min = len
+			if (this.min == 200) {
+				return
 			}
 		},
-		methods:{
-			async orderInsertVoucher(){
-				try{
-					this.params.voucherImgs = this.imageList.join('##')
-					console.log('params',this.params)
-					const res = await this.OrderService.orderInsertVoucher(this.params)
-					this.$util.msg('保存成功', 2000, true, 'success')
-					setTimeout(()=>{
-						this.$api.navigateBack(1)
-					},2000)
-				}catch(error){
-					console.log('error',error)
-				}
-			},
-			async uploadPhotoFn(){//添加图片
-				try{
-					const res = await uploadFileImage()
-					const data = JSON.parse(res.data).data
-					this.imageList.push(data)
-					console.log('imageList',this.imageList)
-				}catch(e){
-					console.log('1111111111')
-				}
-			},
-			deletePhotoFn(index){//删除图片
-				this.imageList.splice(index, 1)
-			},
-			previewImg (image) {//顶部商品图片预览
-				this.isPreviewImage = true
-				let urls = []
-				urls.push(image)
-				uni.previewImage({
-					urls: urls,
-					current: 0
-				})
-			},
+		deletePhotoFn(index) {
+			//删除图片
+			this.imageList.splice(index, 1)
 		},
-		onShow() {
-			
+		previewImg(image) {
+			//顶部商品图片预览
+			this.isPreviewImage = true
+			let urls = []
+			urls.push(image)
+			uni.previewImage({
+				urls: urls,
+				current: 0
+			})
 		}
-	}
+	},
+	onShow() {}
+}
 </script>
 
 <style lang="scss">
 page {
 	height: auto;
-	background:#FFFFFF;
+	background: #ffffff;
 }
-.qualifications-content{
+.qualifications-content {
 	width: 100%;
 	height: auto;
 	box-sizing: border-box;
 	padding: 0 24rpx;
-	.list-view-title{
+	.list-view-title {
 		width: 100%;
 		height: 92rpx;
 		line-height: 92rpx;
 		font-size: $font-size-30;
 		color: #333333;
 		text-align: left;
-		.none{
-			color: #F85050;
+		.none {
+			color: #f85050;
 		}
 	}
-	.list-view-text{
+	.list-view-text {
 		width: 100%;
 		height: 216rpx;
 		box-sizing: border-box;
 		border: 1px solid #e1e1e1;
 		padding: 20rpx;
 		border-radius: 6rpx;
-		.textarea{
+		position: relative;
+		.textarea {
 			width: 100%;
 			height: 100%;
+			font-size: $font-size-26;
+			color: #666666;
+		}
+		.limit-text {
+			position: absolute;
+			right: 20rpx;
+			bottom: 16rpx;
+			line-height: 44rpx;
+			font-size: $font-size-24;
+			color: #b2b2b2;
 		}
 	}
-	.list-view-upload{
+	.list-view-upload {
 		width: 100%;
-		height: auto;	
+		height: auto;
 		padding: 10rpx 0;
-		.photo-item{
+		.photo-item {
 			display: inline-block;
 			width: 150rpx;
 			height: 150rpx;
 			margin: 10rpx 0;
 			margin-right: 25rpx;
 			border-radius: 10rpx;
-			border:1px dashed #B8BFCA;
+			border: 1px dashed #b8bfca;
 			position: relative;
 			float: left;
-			&.add{
+			&.add {
 				width: 150rpx;
 				height: 150rpx;
 				border-color: #b2b2b2;
 				text-align: center;
 				line-height: 150rpx;
 				margin-right: 0rpx;
-				.icon-jiahao{
+				.icon-jiahao {
 					font-size: $font-size-44;
-					color:#b2b2b2 ;
+					color: #b2b2b2;
 					font-weight: bold;
 				}
 			}
-			.icon-iconfontguanbi{
+			.icon-iconfontguanbi {
 				width: 30rpx;
 				height: 30rpx;
-				border-radius:50%;
+				border-radius: 50%;
 				display: block;
 				position: absolute;
 				right: -10rpx;
@@ -169,17 +204,17 @@ page {
 				background: #f94b4b;
 				text-align: center;
 				line-height: 30rpx;
-				color: #FFFFFF;
+				color: #ffffff;
 				font-size: $font-size-22;
 			}
-			image{
+			image {
 				width: 100%;
 				height: 100%;
 				border-radius: 10rpx;
 				display: block;
 			}
-		}	
-		.photo-list{
+		}
+		.photo-list {
 			width: 100%;
 			height: 116rpx;
 			overflow: hidden;
@@ -187,8 +222,8 @@ page {
 			display: flex;
 			align-items: flex-start;
 		}
-		.scoll-wrapper{
-			display:flex;
+		.scoll-wrapper {
+			display: flex;
 			align-items: flex-start;
 		}
 	}

+ 17 - 7
pages/user/order/order-details.vue

@@ -52,6 +52,12 @@
 				@buttonConfirm="handButtonConfirm"
 			>
 			</order-button>
+			<!-- 支付凭证记录 -->
+			<voucher-record
+				ref="voucher"
+				v-if="skeletonShow"
+				:list="voucherList"
+			/>
 		</view>
 		<!-- 分享弹窗 -->
 		<share-alert :orderId="orderId" v-if="isShareModal" @btnConfirm="onShareAppMessage"> </share-alert>
@@ -72,13 +78,14 @@
 
 <script>
 import headerBack from '@/components/cm-module/headerNavbar/header-back' //自定义导航
-import orderAddress from '@/components/cm-module/orderDetails/orderAddress' //地址信息
-import goodsList from '@/components/cm-module/orderDetails/goodsList' //商品列表
-import invoiceTent from '@/components/cm-module/orderDetails/invoiceTent' //发票信息
-import orderInformation from '@/components/cm-module/orderDetails/orderInformation' //订单信息
-import paymentRecord from '@/components/cm-module/orderDetails/paymentRecord' //支付记录
-import refundRecord from '@/components/cm-module/orderDetails/refundRecord' //退款记录
-import orderButton from '@/components/cm-module/orderDetails/orderButton' //底部按钮
+import orderAddress from './components/details/orderAddress' //地址信息
+import goodsList from './components/details/goodsList' //商品列表
+import invoiceTent from './components/details/invoiceTent' //发票信息
+import orderInformation from './components/details/orderInformation' //订单信息
+import paymentRecord from './components/details/paymentRecord' //支付记录
+import refundRecord from './components/details/refundRecord' //退款记录
+import voucherRecord from './components/details/voucherRecord' //支付凭证记录
+import orderButton from './components/details/orderButton' //底部按钮
 import shareAlert from '@/components/cm-module/modelAlert/shareAlert.vue' //分享弹窗
 
 export default {
@@ -90,6 +97,7 @@ export default {
 		goodsList,
 		paymentRecord,
 		refundRecord,
+		voucherRecord,
 		orderButton,
 		shareAlert
 	},
@@ -126,6 +134,7 @@ export default {
 			orderInvoice: {}, //发票信息初始化
 			returnedPurchaseList: {}, //退款信息初始化
 			discernReceiptList: {}, //支付信息初始化
+			voucherList: [], //支付凭证
 			receiptAmount: 0, //支付金额
 			returnedPurchaseFee: 0, //退款金额
 			handleModelEven: 0,
@@ -214,6 +223,7 @@ export default {
 				this.onlinePayFlag = data.order.onlinePayFlag
 				this.returnedPurchaseList = data.returnedPurchaseList
 				this.discernReceiptList = data.discernReceiptList
+				this.voucherList = data.voucher
 				this.receiptAmount = data.order.receiptAmount
 				this.returnedPurchaseFee = data.order.returnedPurchaseFee
 			} catch (error) {

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

@@ -175,7 +175,7 @@
 <script>
 import headerBack from '@/components/cm-module/headerNavbar/header-back' //自定义导航
 import btSearch from '@/components/uni-search/bt-search.vue' //搜索
-import orderButton from '@/components/cm-module/orderDetails/orderListButton' //按钮
+import orderButton from './components/details/orderListButton' //按钮
 import modalLayer from '@/components/modal-layer'
 import empty from './components/empty'
 import shareAlert from '@/components/cm-module/modelAlert/shareAlert' //分享弹窗

+ 288 - 258
pages/user/order/order-logistics.vue

@@ -2,55 +2,82 @@
 	<view class="container logistics clearfix">
 		<!-- 商品 -->
 		<view class="logistics-container">
-			<view class="logistics-batch" v-for="(item,index) in goodsList" :key="index">
-				<view class="order-item" v-for="(comItem,comIndex) in item.companyList" :key="comIndex">
+			<view class="logistics-batch" v-for="(item, index) in goodsList" :key="index">
+				<view class="order-item" v-for="(comItem, comIndex) in item.companyList" :key="comIndex">
 					<view class="goods-title">
 						<view class="title-logo"><image :src="comItem.shopLogo" mode=""></image></view>
-						<view class="title-text">{{comItem.name}}</view>
+						<view class="title-text">{{ comItem.name }}</view>
 					</view>
-					<view class="goods-item" v-for="(pros,prosIndex) in comItem.productsList" :key="prosIndex">
+					<view class="goods-item" v-for="(pros, prosIndex) in comItem.productsList" :key="prosIndex">
 						<view class="goods-pros-t">
-							<view class="pros-img"><image :src="pros.mainImage" alt="" /></view>
+							<view class="pros-img"><image :src="pros.mainImage" alt=""/></view>
 							<view class="pros-product">
-								<view class="producttitle">{{pros.name}}</view>
-								<view class="productspec">购买数量:{{pros.number}}</view>
-								<view class="productspec">已发货数量:{{pros.logNumber}}</view>
-							</view>	
+								<view class="producttitle">{{ pros.name }}</view>
+								<view class="productspec">购买数量:{{ pros.number }}</view>
+								<view class="productspec">已发货数量:{{ pros.logNumber }}</view>
+							</view>
 						</view>
 					</view>
 				</view>
 				<view class="logistics-template">
 					<!-- 物流信息 -->
-					<view class="logistics-content" v-if="item.logisticsData.length > 0" v-for="(loItem,loIndex) in item.logisticsData" :key="loIndex">
-						<view class="logistics-top">
-							<text class="name">物流信息</text>
-						</view>
+					<view
+						class="logistics-content"
+						v-if="item.logisticsData.length > 0"
+						v-for="(loItem, loIndex) in item.logisticsData"
+						:key="loIndex"
+					>
+						<view class="logistics-top"> <text class="name">物流信息</text> </view>
 						<view class="logistics-warp">
-							<view  class="logistics-warp__wrapper">
+							<view class="logistics-warp__wrapper">
 								<view class="logistics-main">
 									<view class="logistics-main-top">
-										<view class="main-top" @click="showlogistics(index,loIndex)">
-											{{loItem.expressname}}:<text class="expressNumber">{{loItem.expressNumber}}</text>
-											<text class="clipboard" @click.stop="clipboard(loItem.expressNumber)">复制</text>
-											<text class="arrow-showMore iconfont icon-web_xiangxiazhankai" :style="{'transform':loItem.isOpen?'rotate(180deg)':'rotate(0)','transition': 'transform 0.3s ease'}"></text>
-										</view>
-										<view class="main-bot">
-											发货时间:{{loItem.expressNewtime}}
+										<view class="main-top" @click="showlogistics(index, loIndex)">
+											{{ loItem.expressname }}:<text class="expressNumber">{{
+												loItem.expressNumber
+											}}</text>
+											<text class="clipboard" @click.stop="clipboard(loItem.expressNumber)"
+												>复制</text
+											>
+											<text
+												class="arrow-showMore iconfont icon-web_xiangxiazhankai"
+												:style="{
+													transform: loItem.isOpen ? 'rotate(180deg)' : 'rotate(0)',
+													transition: 'transform 0.3s ease'
+												}"
+											></text>
 										</view>
+										<view class="main-bot"> 发货时间:{{ loItem.expressNewtime }} </view>
 									</view>
-									<view v-if="loItem.expressRecord.length > 0" v-for="(infoItem,infoIndex) in loItem.expressRecord" :key="infoIndex" :class="{'logistics-warp--hide':!loItem.isOpen}" class="logistics-main-bot logistics-animation" :style="{'transform':loItem.isOpen?'translateY(0)':'translateY(-50%)','-webkit-transform':loItem.isOpen?'translateY(0)':'translateY(-50%)'}" >
-										{{infoItem.time}}  {{infoItem.desc}}
+									<view
+										v-if="loItem.expressRecord.length > 0"
+										v-for="(infoItem, infoIndex) in loItem.expressRecord"
+										:key="infoIndex"
+										:class="{ 'logistics-warp--hide': !loItem.isOpen }"
+										class="logistics-main-bot logistics-animation"
+										:style="{
+											transform: loItem.isOpen ? 'translateY(0)' : 'translateY(-50%)',
+											'-webkit-transform': loItem.isOpen ? 'translateY(0)' : 'translateY(-50%)'
+										}"
+									>
+										{{ infoItem.time }} {{ infoItem.desc }}
 									</view>
-									<view v-if="loItem.expressRecord.length < 1" :class="{'logistics-warp--hide':!loItem.isOpen}" class="logistics-main-bot logistics-animation" :style="{'transform':loItem.isOpen?'translateY(0)':'translateY(-50%)','-webkit-transform':loItem.isOpen?'translateY(0)':'translateY(-50%)'}">
+									<view
+										v-if="loItem.expressRecord.length < 1"
+										:class="{ 'logistics-warp--hide': !loItem.isOpen }"
+										class="logistics-main-bot logistics-animation"
+										:style="{
+											transform: loItem.isOpen ? 'translateY(0)' : 'translateY(-50%)',
+											'-webkit-transform': loItem.isOpen ? 'translateY(0)' : 'translateY(-50%)'
+										}"
+									>
 										暂无物流信息
 									</view>
 								</view>
 							</view>
 						</view>
 					</view>
-					<view class="logistics-content" v-else>
-						暂无物流信息
-					 </view>
+					<view class="logistics-content" v-else> 暂无物流信息 </view>
 				</view>
 			</view>
 		</view>
@@ -60,81 +87,83 @@
 </template>
 
 <script>
-	const thorui = require("@/components/clipboard/clipboard.thorui.js")
-	export default {
-		components:{
-			// logisticsRecord,
+const thorui = require('@/components/clipboard/clipboard.thorui.js')
+export default {
+	components: {
+		// logisticsRecord,
+	},
+	data() {
+		return {
+			orderId: '',
+			goodsList: []
+		}
+	},
+	onLoad(option) {
+		//商品数据
+		this.orderId = option.orderId
+		this.getData()
+	},
+	methods: {
+		navToListPage(id) {
+			this.$api.navigateTo(`/pages/goods/product?id=${id}`)
 		},
-		data() {
-			return {
-				orderId: '',
-				goodsList:[]
-			}
+		showlogistics(index, loIndex) {
+			let getGoodsList = this.goodsList[index],
+				isOpen = getGoodsList.logisticsData[loIndex]['isOpen']
+			this.goodsList[index].logisticsData[loIndex]['isOpen'] = !isOpen
 		},
-		onLoad(option){//商品数据
-			this.orderId = option.orderId;
-			this.getData();
+		clipboard(data) {
+			thorui.getClipboardData(data, res => {
+				if (res) {
+					this.$util.msg('复制成功', 2000, true, 'success')
+				} else {
+					this.$util.msg('复制失败', 2000, true, 'none')
+				}
+			})
 		},
-		methods: {
-			navToListPage(id){
-				this.$api.navigateTo(`/pages/goods/product?id=${id}`)
-			},
-			showlogistics(index,loIndex){
-				let getGoodsList = this.goodsList[index],
-					isOpen = getGoodsList.logisticsData[loIndex]['isOpen'];
-				this.goodsList[index].logisticsData[loIndex]['isOpen'] = !isOpen;
-			},
-			clipboard(data) {
-				thorui.getClipboardData(data, (res) => {
-					if (res) {
-						this.$util.msg("复制成功",2000,true,'success');
-					} else {
-						this.$util.msg("复制失败",2000,true,'none');
-					}
-				})
-			},
-			getData() {
-				this.OrderService.QueryLogistics({orderId: this.orderId}).then(response =>{
-					const resData = response.data;
+		getData() {
+			this.OrderService.QueryLogistics({ orderId: this.orderId })
+				.then(response => {
+					const resData = response.data
 					// 添加订单列表信息
-					let orderListArr = [];
-					resData.forEach((item,index) => {
+					let orderListArr = []
+					resData.forEach((item, index) => {
 						let logisticsArr = [],
 							companyList = [],
 							shopOrderList = item.shopOrderList,
-							logisticsInfos = item.logisticsInformationList;
+							logisticsInfos = item.logisticsInformationList
 						// 添加物流信息
-						if(logisticsInfos.length > 0) {
-							logisticsInfos.forEach((loItem,loIndex) => {
-								let newRouters = [];
+						if (logisticsInfos.length > 0) {
+							logisticsInfos.forEach((loItem, loIndex) => {
+								let newRouters = []
 								logisticsArr.push({
 									expressname: loItem['logisticsCompanyName'],
 									expressNumber: loItem['nu'],
 									expressNewtime: item.deliveryTime,
 									isOpen: false
 								})
-								if(loIndex == 0) {
-									logisticsArr[loIndex]['isOpen'] = true;
+								if (loIndex == 0) {
+									logisticsArr[loIndex]['isOpen'] = true
 								}
-								if(loItem.routerList) {
-									loItem.routerList.forEach((rItem,rIndex) => {
+								if (loItem.routerList) {
+									loItem.routerList.forEach((rItem, rIndex) => {
 										newRouters.push({
 											desc: rItem.desc,
 											time: rItem.time
 										})
 									})
-									logisticsArr[loIndex]['expressRecord'] = [...newRouters];
+									logisticsArr[loIndex]['expressRecord'] = [...newRouters]
 								} else {
-									logisticsArr[loIndex]['expressRecord'] = [];
+									logisticsArr[loIndex]['expressRecord'] = []
 								}
 							})
 						}
 						// 供应商信息
-						shopOrderList.forEach((shopItem,shopIndex) => {
+						shopOrderList.forEach((shopItem, shopIndex) => {
 							let prosListArr = [],
-								cmLogisticsRecords = shopItem.logisticsRecordList;
+								cmLogisticsRecords = shopItem.logisticsRecordList
 							// 商品信息
-							cmLogisticsRecords.forEach((prosItem,prosIndex) => {
+							cmLogisticsRecords.forEach((prosItem, prosIndex) => {
 								prosListArr.push({
 									id: prosItem.organizeProductID,
 									name: prosItem.productName,
@@ -151,227 +180,228 @@
 							})
 						})
 						orderListArr.push({
-							logisticsData:  [...logisticsArr],
+							logisticsData: [...logisticsArr],
 							companyList: [...companyList]
 						})
 					})
-					this.goodsList = [...orderListArr];
-				}).catch(error =>{
-					this.$util.msg(error.msg,2000);
+					this.goodsList = [...orderListArr]
+				})
+				.catch(error => {
+					this.$util.msg(error.msg, 2000)
 				})
-			}
 		}
 	}
+}
 </script>
 
 <style lang="scss">
-	page {
-		height: auto;
+page {
+	height: auto;
+}
+.logistics-container {
+	width: 100%;
+	height: auto;
+	float: left;
+	background: #f7f7f7;
+	border-top: 1px solid #f8f8f8;
+	.logistics-batch {
+		display: flex;
+		flex-direction: column;
+		margin-bottom: 24rpx;
 	}
-	.logistics-container{
-		width: 100%;
+	.order-item {
+		width: 702rpx;
+		padding: 24rpx 24rpx 12rpx 24rpx;
 		height: auto;
 		float: left;
-		background:#F7F7F7;
-		border-top: 1px solid #F8F8F8;
-		.logistics-batch {
-			display: flex;
-			flex-direction: column;
-			margin-bottom: 24rpx;
-		}
-		.order-item{
-			width: 702rpx;
-			padding: 24rpx 24rpx 12rpx 24rpx;
-			height: auto;
+		background: #ffffff;
+		margin-bottom: 24rpx;
+		.goods-title {
+			width: 100%;
+			height: 48rpx;
 			float: left;
-			background: #FFFFFF;
-			margin-bottom: 24rpx;	
-			.goods-title{
-				width: 100%;
+			margin-bottom: 12rpx;
+			.title-logo {
+				width: 48rpx;
 				height: 48rpx;
 				float: left;
-				margin-bottom: 12rpx;
-				.title-logo{
+				image {
 					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: 48rpx;
-					font-weight: bold;
 				}
 			}
-			.goods-item{
-				width: 100%;
-				height: auto;
-			}	
-			.goods-pros-t{
-				display: flex;
-				align-items: center;
-				width: 100%;
-				height: 217rpx;
-				padding:12rpx 0;
-				.pros-img{
-					width: 210rpx;
-					height: 100%;
-					border-radius: 10rpx;
-					margin:0 26rpx 0 0;
-					border:1px solid #f3f3f3;
-					image{
-						width: 100%;
-						height: 100%;
-						border-radius: 10rpx;
-					}
-				}
+			.title-text {
+				float: left;
+				margin-left: 16rpx;
+				font-size: $font-size-28;
+				color: $text-color;
+				text-align: left;
+				line-height: 48rpx;
+				font-weight: bold;
 			}
-			.pros-product{
-				width: 468rpx;
-				height: 100%;
-				line-height: 36rpx;
-				font-size: $font-size-26;	
-				position: relative;
-				.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: 58rpx;
-				}
-				.productspec{
-					height: 36rpx;
-					color: $text-color;
-					line-height: 36rpx;
-					font-size: $font-size-26;
-				}
-			}		
 		}
-	}
-	
-	.logistics-template{
-		width: 702rpx;
-		height: 100%;
-		background: #FFFFFF;
-		float: left;
-		padding: 24rpx 24rpx 12rpx 24rpx;
-		.logistics-content{
+		.goods-item {
 			width: 100%;
-			padding: 20rpx 0;
 			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);
+		}
+		.goods-pros-t {
+			display: flex;
+			align-items: center;
+			width: 100%;
+			height: 217rpx;
+			padding: 12rpx 0;
+			.pros-img {
+				width: 210rpx;
+				height: 100%;
+				border-radius: 10rpx;
+				margin: 0 26rpx 0 0;
+				border: 1px solid #f3f3f3;
+				image {
+					width: 100%;
+					height: 100%;
+					border-radius: 10rpx;
 				}
 			}
-			.logistics-warp{
-				width: 100%;
-				overflow: hidden;
-				.table{
-					height: 76rpx;
-					line-height: 76rpx;
-					font-size: $font-size-26;
-					color: $text-color;
-					text-align: left;
-				}
-				.expressNumber {
-					width: 250rpx;
-					display: inline-block;
-				}
-			}	
-			.logistics-main-top{
+		}
+		.pros-product {
+			width: 468rpx;
+			height: 100%;
+			line-height: 36rpx;
+			font-size: $font-size-26;
+			position: relative;
+			.producttitle {
 				width: 100%;
+				display: inline-block;
 				height: auto;
-				float: left;
-				padding-top: 24rpx;
-				.main-top,.main-bot{
-					font-size: $font-size-28;
-					color: $text-color;
-					line-height: 40rpx;
-					margin: 4rpx 0;
-				}
+				text-overflow: ellipsis;
+				display: -webkit-box;
+				word-break: break-all;
+				-webkit-box-orient: vertical;
+				-webkit-line-clamp: 2;
+				overflow: hidden;
+				margin-bottom: 58rpx;
 			}
-			.logistics-main-bot{
-				width: 100%;
-				height: auto;
-				font-size: $font-size-24;
+			.productspec {
+				height: 36rpx;
 				color: $text-color;
-				line-height: 56rpx;
-				text-align: justify;
+				line-height: 36rpx;
+				font-size: $font-size-26;
+			}
+		}
+	}
+}
+
+.logistics-template {
+	width: 702rpx;
+	height: 100%;
+	background: #ffffff;
+	float: left;
+	padding: 24rpx 24rpx 12rpx 24rpx;
+	.logistics-content {
+		width: 100%;
+		padding: 20rpx 0;
+		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;
 			}
-			.logistics-animation {
+			.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;
 			}
-			.logistics-warp__wrapper{
-				/* #ifndef APP-NVUE */
-				display: flex;
-				/* #endif */
-				flex-direction: column;
+			.icon-web_xiangxiazhankai-active {
+				transform: rotate(180deg);
 			}
-			.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;
+		}
+		.logistics-warp {
+			width: 100%;
+			overflow: hidden;
+			.table {
+				height: 76rpx;
+				line-height: 76rpx;
+				font-size: $font-size-26;
+				color: $text-color;
+				text-align: left;
+			}
+			.expressNumber {
+				width: 250rpx;
 				display: inline-block;
-				margin-left: 24rpx;
-				position: relative;
-				z-index: 99;
 			}
 		}
+		.logistics-main-top {
+			width: 100%;
+			height: auto;
+			float: left;
+			padding-top: 24rpx;
+			.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: 24rpx;
+			position: relative;
+			z-index: 99;
+		}
 	}
-	
+}
 </style>

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

@@ -38,13 +38,13 @@
 </template>
 
 <script>
-import orderAddress from '@/components/cm-module/orderDetails/orderAddress' //地址信息
-import goodsList from '@/components/cm-module/orderDetails/goodsList' //商品列表
-import invoiceTent from '@/components/cm-module/orderDetails/invoiceTent' //发票信息
-import orderInformation from '@/components/cm-module/orderDetails/orderInformation' //订单信息
-import paymentRecord from '@/components/cm-module/orderDetails/paymentRecord' //支付记录
-import refundRecord from '@/components/cm-module/orderDetails/refundRecord' //退款记录
-import activiPopup from '@/components/cm-module/orderDetails/activipopu' //促销活动弹窗
+import orderAddress from './components/details/orderAddress' //地址信息
+import goodsList from './components/details/goodsList' //商品列表
+import invoiceTent from './components/details/invoiceTent' //发票信息
+import orderInformation from './components/details/orderInformation' //订单信息
+import paymentRecord from './components/details/paymentRecord' //支付记录
+import refundRecord from './components/details/refundRecord' //退款记录
+import activiPopup from './components/details/activipopu' //促销活动弹窗
 
 export default {
 	components: {

+ 55 - 49
pages/user/pay/card-order.vue

@@ -135,9 +135,13 @@
 					</view>
 				</view>
 				<view class="pay-button" :style="{ paddingBottom: isIphoneX ? '68rpx' : '24rpx' }">
-					<view class="btn" @click.stop="buttonSubMit" :class="isSubLoding ? 'disabled' : ''" :style="{ background: btnColor }">{{
-						buttonText
-					}}</view>
+					<view
+						class="btn"
+						@click.stop="buttonSubMit"
+						:class="isSubLoding ? 'disabled' : ''"
+						:style="{ background: btnColor }"
+						>{{ buttonText }}</view
+					>
 				</view>
 			</view>
 		</template>
@@ -239,18 +243,18 @@ export default {
 				}
 			],
 			quickParams: {
-			    userId: 0, 					//机构UserId
-			    quickPayBankNumber: '', 	//快捷支付用户银行卡号/信用卡号
-			    quickPayMobile: '', 		//快捷支付银行卡绑定手机号
-			    quickPayBankExpireTime: '', //快捷支付信用卡过期时间,只包含年月,格式yy-MM
-			    quickPayUserName: '', 		//快捷支付用户姓名
-			    idCard: '', 				//身份证号
-			    cvvCode: '',				//信用卡安全码
-			    quickPayFlag: 1,
-			    payAmount: 0,
-			    shopOrderId: 0
+				userId: 0, //机构UserId
+				quickPayBankNumber: '', //快捷支付用户银行卡号/信用卡号
+				quickPayMobile: '', //快捷支付银行卡绑定手机号
+				quickPayBankExpireTime: '', //快捷支付信用卡过期时间,只包含年月,格式yy-MM
+				quickPayUserName: '', //快捷支付用户姓名
+				idCard: '', //身份证号
+				cvvCode: '', //信用卡安全码
+				quickPayFlag: 1,
+				payAmount: 0,
+				shopOrderId: 0
 			},
-			isSubLoding:false
+			isSubLoding: false
 		}
 	},
 	onLoad(option) {
@@ -287,8 +291,8 @@ export default {
 		},
 		async GetPayOrderInfo() {
 			//初始化支付信息
-			try{
-				const res  = await this.PayService.PayOrderCheckoutShoporders({ shopOrderId: this.shopOrderId })
+			try {
+				const res = await this.PayService.PayOrderCheckoutShoporders({ shopOrderId: this.shopOrderId })
 				const data = res.data
 				this.discernReceipt = data.discernReceipt // 支付记录
 				this.shopOrderInfo = data.shopOrder // 子订单
@@ -299,34 +303,36 @@ export default {
 				this.payAmount = this.toFixedFn(this.obligation) // 自定义金额
 				this.balanceAmount = this.obligation - this.payAmount // 计算剩余支付金额
 				// 支付方式配置
-				if(data.onlinePayWays){
+				if (data.onlinePayWays) {
 					this.checkPayMode(data.onlinePayWays)
 				}
 				setTimeout(() => {
 					this.skeletonShow = false
 				}, 500)
-			}catch(error){
+			} catch (error) {
 				this.$util.msg(error.msg, 2000)
 			}
 		},
 		async GetUserClubBanks() {
-		    //获取列表
-		    try {
-		        const user = await this.$api.getStorage()
-		        const res = await this.UserService.userClubBanks({ userId:user.userId })
-		        this.cardsList = res.data
-		        this.defaultCards = this.cardsList[0]
-		        this.quickParams.userId = user.userId 
-		        this.quickParams.shopOrderId = Number(this.shopOrderId)
-		        this.quickParams.quickPayBankNumber = this.defaultCards.quickPayBankNumber 
-		        this.quickParams.quickPayMobile = this.defaultCards.quickPayMobile 
-		        this.quickParams.quickPayBankExpireTime = this.defaultCards.quickPayBankExpireTime ? this.defaultCards.quickPayBankExpireTime : ''
-		        this.quickParams.quickPayUserName = this.defaultCards.quickPayUserName 
-		        this.quickParams.idCard = this.defaultCards.idCard 
-		        this.quickParams.cvvCode = this.defaultCards.cvvCode ? this.defaultCards.cvvCode : '' 
-		    } catch (error) {
-		        console.log(error)
-		    }
+			//获取列表
+			try {
+				const user = await this.$api.getStorage()
+				const res = await this.UserService.userClubBanks({ userId: user.userId })
+				this.cardsList = res.data
+				this.defaultCards = this.cardsList[0]
+				this.quickParams.userId = user.userId
+				this.quickParams.shopOrderId = Number(this.shopOrderId)
+				this.quickParams.quickPayBankNumber = this.defaultCards.quickPayBankNumber
+				this.quickParams.quickPayMobile = this.defaultCards.quickPayMobile
+				this.quickParams.quickPayBankExpireTime = this.defaultCards.quickPayBankExpireTime
+					? this.defaultCards.quickPayBankExpireTime
+					: ''
+				this.quickParams.quickPayUserName = this.defaultCards.quickPayUserName
+				this.quickParams.idCard = this.defaultCards.idCard
+				this.quickParams.cvvCode = this.defaultCards.cvvCode ? this.defaultCards.cvvCode : ''
+			} catch (error) {
+				console.log(error)
+			}
 		},
 		handleAddCard(index) {
 			//跳转添加卡号支付
@@ -342,7 +348,9 @@ export default {
 			this.$api.navigateTo(`/pages/user/pay/card-comfirm?type=${index}&data=${JSON.stringify(data)}`)
 		},
 		buttonSubMit() {
-			if(this.isSubLoding){ return }
+			if (this.isSubLoding) {
+				return
+			}
 			switch (this.tabCurrentIndex) {
 				case 0: // 微信支付
 					this.MiniWxPayFor()
@@ -365,7 +373,7 @@ export default {
 			//快捷支付
 			try {
 				this.quickParams.payAmount = this.payAmount
-				console.log('payAmount',this.quickParams.payAmount)
+				console.log('payAmount', this.quickParams.payAmount)
 				const res = await this.PayService.orderPayQuickPay(this.quickParams)
 				const data = {
 					params: this.quickParams,
@@ -374,9 +382,7 @@ export default {
 					payAmount: this.payAmount
 				}
 				this.isSubLoding = false
-				this.$api.navigateTo(
-					`/pages/user/pay/card-comfirm-sub?type=3&data=${JSON.stringify(data)}`
-				)
+				this.$api.navigateTo(`/pages/user/pay/card-comfirm-sub?type=3&data=${JSON.stringify(data)}`)
 			} catch (error) {
 				this.$util.msg(error.msg, 2000)
 				this.isSubLoding = false
@@ -405,13 +411,13 @@ export default {
 					shopOrderId: this.shopOrderId,
 					payType: this.payType
 				}
-			    const res = await this.PayService.PayOrderPayLink(linkParams)
+				const res = await this.PayService.PayOrderPayLink(linkParams)
 				this.payHttpUrl = res.data
 				this.isSubLoding = false
 				this.isShowTip = true
-				console.log('isShowTip',this.isShowTip)
+				console.log('isShowTip', this.isShowTip)
 			} catch (error) {
-			    console.log(error)
+				console.log(error)
 				this.isSubLoding = false
 			}
 		},
@@ -460,7 +466,7 @@ export default {
 				value = patern.exec(value)
 			}
 			if (value == '' || value < 0) {
-				this.payAmount = this.quickParams.payAmount =  ''
+				this.payAmount = this.quickParams.payAmount = ''
 				this.balanceAmount = this.obligation
 			} else if (value > this.obligation) {
 				this.payAmount = this.quickParams.payAmount = this.toFixedFn(this.obligation)
@@ -650,7 +656,7 @@ page {
 					.bot-resid-le {
 						display: inline-block;
 						float: left;
-						color: #F85050;
+						color: #f85050;
 					}
 					.bot-resid-ri {
 						display: inline-block;
@@ -720,7 +726,7 @@ page {
 							color: #b2b2b2;
 						}
 						.icon-yixuanze3 {
-							color: #F3B574;
+							color: #f3b574;
 						}
 						.icon-xiangyou {
 							color: #b2b2b2;
@@ -781,7 +787,7 @@ page {
 							color: #b2b2b2;
 						}
 						.icon-yixuanze3 {
-							color: #F3B574;
+							color: #f3b574;
 						}
 						.icon-xiangyou {
 							color: #b2b2b2;
@@ -843,7 +849,7 @@ page {
 			margin: 0 auto;
 			text-align: center;
 			background: $btn-confirm;
-			&.disabled{
+			&.disabled {
 				background: #e1e1e1 !important;
 			}
 		}
@@ -954,7 +960,7 @@ page {
 		width: 100%;
 		line-height: 36rpx;
 		font-size: $font-size-22;
-		color: #F3B574;
+		color: #f3b574;
 		text-align: justify;
 		margin-bottom: 24rpx;
 	}

+ 1 - 1
services/pay.service.js

@@ -29,7 +29,7 @@ export default class PayService {
         return this.AjaxService.get({ 
             url:'/order/pay/checkout/counter', 
             data, 
-            isLoading: true ,
+            isLoading: false ,
               
         })
     }