ZZ 1 mês atrás
pai
commit
b3a817b666

+ 52 - 0
mer_uniapp/api/fastMail.js

@@ -0,0 +1,52 @@
+// +----------------------------------------------------------------------
+// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
+// +----------------------------------------------------------------------
+// | Author: CRMEB Team <admin@crmeb.com>
+// +----------------------------------------------------------------------
+
+
+import request from "@/utils/request.js";
+
+/**
+ * 订单创建
+ * @param string key
+ * @param object data
+ *
+ */
+export function expressCreate(data) {
+	return request.post('express/order/create', data);
+}
+
+/**
+ * 预下单
+ * @param object data
+ */
+export function preExpressApi(data) {
+	return request.post(`express/order/pre/order`, data);
+}
+
+/**
+ * 加载预下单
+ * @param object preExpressNo
+ */
+export function loadPreExpressApi(preExpressNo) {
+	return request.get(`express/order/load/pre/${preExpressNo}`);
+}
+
+/**
+ * 获取规格列表
+ */
+export function getExpressSpce() {
+	return request.get(`express/spce`);
+}
+
+/**
+ * 获取小费列表
+ */
+export function getExpressTip() {
+	return request.get(`express/tip`);
+}

+ 57 - 0
mer_uniapp/api/user.js

@@ -231,6 +231,14 @@ export function getAddressList(){
 }
 
 /**
+ * 
+ * 用户驿站地址分页列表
+*/
+export function getAddressExpressList(){
+  return request.get('address/express/list');
+}
+
+/**
  * 设置默认地址
  * @param int id
 */
@@ -239,6 +247,14 @@ export function setAddressDefault(id){
 }
 
 /**
+ * 设置默认用户驿站地址
+ * @param int id
+*/
+export function setAddressExpressDefault(id){
+  return request.post(`address/express/set/default/${id}`)
+}
+
+/**
  * 修改 地址
  * @param object data
 */
@@ -247,6 +263,14 @@ export function editAddress(data){
 }
 
 /**
+ * 用户驿站地址编辑
+ * @param object data
+*/
+export function editExpressAddress(data){
+  return request.post('address/express/edit',data);
+}
+
+/**
  * 添加 地址
  * @param object data
 */
@@ -255,6 +279,14 @@ export function addAddress(data){
 }
 
 /**
+ * 用户驿站地址添加
+ * @param object data
+*/
+export function addExpressAddress(data){
+  return request.post('address/express/add',data);
+}
+
+/**
  * 删除地址
  * @param int id
  * 
@@ -264,6 +296,15 @@ export function delAddress(id){
 }
 
 /**
+ * 用户驿站地址删除
+ * @param int id
+ * 
+*/
+export function delExpressAddress(id){
+  return request.post(`address/express/delete/${id}`)
+}
+
+/**
  * 地址详情
  * @param int id 
 */
@@ -272,6 +313,14 @@ export function getAddressDetail(id){
 }
 
 /**
+ * 用户驿站地址详情
+ * @param int id 
+*/
+export function getAddressExpressDetail(id){
+  return request.get(`address/express/detail/${id}`);
+}
+
+/**
  * 获取微信地址信息
  * @param object data 
 */
@@ -354,6 +403,14 @@ export function getAddressDefault(){
 }
 
 /**
+ * 获取默认用户驿站地址
+ * 
+*/
+export function getAddressExpressDefault(){
+  return request.get('address/express/get/default');
+}
+
+/**
  * 充值金额选择
  */
 export function getRechargeApi() {

+ 45 - 39
mer_uniapp/pages/address/stage_address/index.vue

@@ -7,8 +7,8 @@
 			<radio-group class="radio-group" @change="radioChange" v-if="addressList.length">
 				<view class='item borRadius14' v-for="(item,index) in addressList" :key="index">
 					<view class='address' @click='goOrder(item.id, item)'>
-						<view class='consignee'>驿站名称:{{item.name}}</view>
-						<view>驿站地址:{{item.address}}</view>
+						<view class='consignee'>驿站名称:{{item.expressName}}</view>
+						<view>驿站地址:{{item.province}}{{item.city}}{{item.district}}{{ item.street}}{{item.detail}}</view>
 					</view>
 					<view class='operation acea-row row-between-wrapper'>
 						<!-- #ifndef MP -->
@@ -22,7 +22,7 @@
 						</radio>
 						<!-- #endif -->
 						<view class='acea-row row-middle'>
-							<view @click='editAddress(item)'><text class='iconfont icon-bianji'></text>编辑</view>
+							<view @click='editExpressAddress(item.id)'><text class='iconfont icon-bianji'></text>编辑</view>
 							<view @click='delAddress(index)'><text class='iconfont icon-shanchu'></text>删除</view>
 						</view>
 					</view>
@@ -36,19 +36,22 @@
 		</view>
 		<view class='footer acea-row row-between-wrapper'>
 			<!-- #ifdef APP-PLUS -->
-			<view class='addressBnt bg_color on' @click='addAddress'><text class='iconfont icon-tianjiadizhi'></text>添加新地址</view>
+			<view class='addressBnt bg_color on' @click='addAddress'><text
+					class='iconfont icon-tianjiadizhi'></text>添加新地址</view>
 			<!-- #endif -->
 			<!-- #ifdef MP-->
 			<view class='addressBnt bg_color' @click='addAddress'><text class='iconfont icon-tianjiadizhi'></text>添加新地址
 			</view>
 			<!-- #endif -->
 			<!-- #ifdef H5-->
-			<view class='addressBnt bg_color' :class="this.$wechat.isWeixin()?'':'on'" @click='addAddress'><text class='iconfont icon-tianjiadizhi'></text>添加新地址</view>
+			<view class='addressBnt bg_color' :class="this.$wechat.isWeixin()?'':'on'" @click='addAddress'><text
+					class='iconfont icon-tianjiadizhi'></text>添加新地址</view>
 			<!-- #endif -->
 		</view>
-
+		
 		<!-- #ifdef MP -->
-		<atModel v-if="locationStatus" :locationType="true" @closeModel="modelCancel" @confirmModel="confirmModel" :content="locationContent"></atModel>
+		<atModel v-if="locationStatus" :locationType="true" @closeModel="modelCancel" @confirmModel="confirmModel"
+			:content="locationContent"></atModel>
 		<!-- #endif -->
 	</view>
 </template>
@@ -64,10 +67,10 @@
 	// | Author: CRMEB Team <admin@crmeb.com>
 	// +----------------------------------------------------------------------
 	import {
-		getAddressList,
-		setAddressDefault,
-		delAddress,
-		editAddress,
+		getAddressExpressList,
+		setAddressExpressDefault,
+		delExpressAddress,
+		editExpressAddress,
 		postAddress
 	} from '@/api/user.js';
 	import emptyPage from '@/components/emptyPage.vue';
@@ -86,7 +89,7 @@
 		},
 		data() {
 			return {
-				urlDomain: this.$Cache.get("imgHost"),
+        urlDomain: this.$Cache.get("imgHost"),
 				addressList: [],
 				cartId: '',
 				pinkId: 0,
@@ -96,6 +99,9 @@
 				loadTitle: '加载更多',
 				page: 1,
 				limit: 20,
+				bargain: false, //是否是砍价
+				combination: false, //是否是拼团
+				secKill: false, //是否是秒杀
 				theme: app.globalData.theme,
 				locationContent: '授权位置信息,提供完整服务',
 				locationStatus: false
@@ -115,30 +121,19 @@
 		onLoad(options) {
 			if (this.isLogin) {
 				this.orderNo = options.orderNo || 0;
-				this.getAddressList(true);
+				this.getAddressExpressList(true);
 			} else {
 				toLogin();
 			}
 		},
 		onShow: function() {
 			let that = this;
-			that.getAddressList(true);
+			that.getAddressExpressList(true);
 		},
 		methods: {
 			modelCancel() {
 				this.locationStatus = false;
 			},
-			chooseLocation: function(item) {
-				this.$util.$L.getLocation().then(res=>{
-					uni.chooseLocation({
-						latitude: item ? item.latitude : uni.getStorageSync('user_latitude'),
-						longitude: item ? item.longitude : uni.getStorageSync('user_longitude'),
-						success: (res) => {
-							console.log(res)
-						}
-					})
-				})
-			},
 			confirmModel() {
 				uni.getLocation({
 					type: 'gcj02',
@@ -157,11 +152,11 @@
 			 * 获取地址列表
 			 *
 			 */
-			getAddressList: function(isPage) {
+			getAddressExpressList: function(isPage) {
 				let that = this;
 				if (that.loading) return;
 				that.loading = true;
-				getAddressList().then(res => {
+				getAddressExpressList().then(res => {
 					that.addressList = res.data;
 					that.loading = false;
 				}).catch(err => {
@@ -178,7 +173,7 @@
 				if (address == undefined) return that.$util.Tips({
 					title: '您设置的默认地址不存在!'
 				});
-				setAddressDefault(address.id).then(res => {
+				setAddressExpressDefault(address.id).then(res => {
 					for (let i = 0, len = that.addressList.length; i < len; i++) {
 						if (i == index) that.addressList[i].isDefault = true;
 						else that.addressList[i].isDefault = false;
@@ -198,8 +193,10 @@
 			/**
 			 * 编辑地址
 			 */
-			editAddress: function(item) {
-				this.chooseLocation(item)
+			editExpressAddress: function(id) {
+				uni.navigateTo({
+					url: `/pages/address/user_address/index?id=${id}&orderNo=${this.orderNo}&addType=1`
+				})
 			},
 			/**
 			 * 删除地址
@@ -218,7 +215,7 @@
 					confirmColor: '#f55850',
 					success: (res) => {
 						if (res.confirm) {
-							delAddress(address.id).then(res => {
+							delExpressAddress(address.id).then(res => {
 								that.addressList.splice(index, 1);
 								that.$set(that, 'addressList', that.addressList);
 								that.$util.Tips({
@@ -240,19 +237,28 @@
 			 * 新增地址
 			 */
 			addAddress: function() {
-				this.chooseLocation()
+				uni.navigateTo({
+					url: '/pages/address/user_address/index?addType=1'
+				})
 			},
 			goOrder: function(id, item) {
-				uni.navigateBack({
-					delta: 1,
-					success(res) {
-						uni.$emit('addressItem', item)
-					}
-				})
+				if (this.orderNo) {
+					uni.redirectTo({
+						url: '/pages/goods/order_confirm/index?is_address=1&orderNo=' + this.orderNo +
+							'&addressId=' + id
+					})
+				} else {
+					uni.navigateBack({
+						delta: 1,
+						success (res) {
+							uni.$emit('addressExpressItem', item)
+						}
+					})
+				}
 			},
 		},
 		onReachBottom: function() {
-			this.getAddressList();
+			this.getAddressExpressList();
 		}
 	}
 </script>

+ 66 - 39
mer_uniapp/pages/address/user_address/index.vue

@@ -3,15 +3,20 @@
 		<form @submit="formSubmit" report-submit='true'>
 			<view class='addAddress borderPad'>
 				<view class='list borRadius14'>
-					<view class='item acea-row' style="border: none;">
+					<view class='item acea-row' style="border: none;" v-if="addType">
+						<view class='name'>驿站名称</view>
+						<input type='text' placeholder="请输入驿站名称" placeholder-style="color:#ccc;" name='expressName' :value="userAddress.expressName"
+						 placeholder-class='placeholder' maxlength="20"></input>
+					</view>
+					<view class='item acea-row' style="border: none;" v-else>
 						<view class='name'>姓名</view>
-						<input type='text' placeholder='请输入姓名' placeholder-style="color:#ccc;" name='realName'
-							:value="userAddress.realName" placeholder-class='placeholder' maxlength="20"></input>
+						<input type='text' placeholder="请输入姓名" placeholder-style="color:#ccc;" name='realName' :value="userAddress.realName"
+						 placeholder-class='placeholder' maxlength="20"></input>
 					</view>
-					<view class='item acea-row'>
+					<view class='item acea-row' v-if="!addType">
 						<view class='name'>手机号码</view>
-						<input type='number' placeholder='请输入手机号码' placeholder-style="color:#ccc;" name="phone"
-							:value='userAddress.phone' placeholder-class='placeholder' maxlength="11"></input>
+						<input type='number' placeholder='请输入手机号码' placeholder-style="color:#ccc;" name="phone" :value='userAddress.phone'
+						 placeholder-class='placeholder' maxlength="11"></input>
 					</view>
 					<view class='item acea-row row-between-wrapper'>
 						<view class='name'>所在地区</view>
@@ -19,7 +24,7 @@
 							<view class="region_count" @click="changeRegion">
 								<text v-if="!addressInfo.length" style="color:#cdcdcd;">请选择地址</text>
 								<text v-else>{{addressText}}</text>
-								
+
 							</view>
 						</view>
 						<text class="iconfont icon-xiangyou"></text>
@@ -27,7 +32,7 @@
 					<view class='item acea-row row-between-wrapper'>
 						<view class='name'>详细地址</view>
 						<input class="address" type='text' placeholder='请填写具体地址' placeholder-style="color:#ccc;" name='detail'
-							placeholder-class='placeholder' v-model='userAddress.detail' maxlength="100"></input>
+						 placeholder-class='placeholder' v-model='userAddress.detail' maxlength="100"></input>
 						<view class='iconfont icon-dizhi font_color' @tap="chooseLocation"></view>
 					</view>
 				</view>
@@ -38,25 +43,29 @@
 				</view>
 
 				<button class='keepBnt bg_color' form-type="submit">{{orderNo!=0?'保存并使用':'立即保存'}}</button>
-				<!-- #ifdef MP -->
-				<view class="wechatAddress" v-if="!addressId" @click="getWxAddress">导入微信地址</view>
-				<!-- #endif -->
-				<!-- #ifdef H5 -->
-				<view class="wechatAddress" v-if="this.$wechat.isWeixin() && !addressId" @click="getAddress">导入微信地址</view>
-				<!-- #endif -->
+				<view v-if="!addType">
+					<!-- #ifdef MP -->
+					<view class="wechatAddress" v-if="!addressId" @click="getWxAddress">导入微信地址</view>
+					<!-- #endif -->
+					<!-- #ifdef H5 -->
+					<view class="wechatAddress" v-if="this.$wechat.isWeixin() && !addressId" @click="getAddress">导入微信地址</view>
+					<!-- #endif -->
+				</view>
 			</view>
 		</form>
 		<view v-show="showLoading" class="bg-fixed"></view>
-		<areaWindow ref="areaWindow" :display="display" :address="addressInfo" @submit="OnChangeAddress"
-			@changeClose="changeClose"></areaWindow>
+		<areaWindow ref="areaWindow" :display="display" :address="addressInfo" @submit="OnChangeAddress" @changeClose="changeClose"></areaWindow>
 	</view>
 </template>
 
 <script>
 	import {
 		editAddress,
+		editExpressAddress,
 		addAddress,
+		addExpressAddress,
 		getAddressDetail,
+		getAddressExpressDetail,
 		getCity,
 		getWxAddressInfo
 	} from '@/api/user.js';
@@ -105,6 +114,7 @@
 				display: false,
 				addressInfo: [],
 				addressData: [],
+				addType: null,
 				orderNo: '' //订单id
 			};
 		},
@@ -128,6 +138,7 @@
 			if (this.isLogin) {
 				this.orderNo = options.orderNo || 0;
 				this.addressId = options.id || 0;
+				this.addType = options.addType || null;
 				uni.setNavigationBarTitle({
 					title: this.addressId ? '编辑地址' : '添加地址'
 				})
@@ -150,7 +161,8 @@
 			getUserAddress: function() {
 				if (!this.addressId) return false;
 				let that = this;
-				getAddressDetail(this.addressId).then(res => {
+				const getAddApi = this.addType ? getAddressExpressDetail(this.addressId) : getAddressDetail(this.addressId);
+				getAddApi.then(res => {
 					if (res.data) {
 						that.$set(that, 'userAddress', res.data);
 						that.addressInfo = [{
@@ -186,14 +198,16 @@
 			onConfirm(val) {
 				this.region = val.checkArr[0] + '-' + val.checkArr[1] + '-' + val.checkArr[2];
 			},
-            //选择定位
+			//选择定位
 			chooseLocation: function() {
-				this.$util.$L.getLocation().then(res=>{
+				this.$util.$L.getLocation().then(res => {
 					uni.chooseLocation({
 						latitude: uni.getStorageSync('user_latitude'),
 						longitude: uni.getStorageSync('user_longitude'),
 						success: (res) => {
 							this.$set(this.userAddress, 'detail', res.name);
+							this.$set(this.userAddress, 'latitude', res.latitude);
+							this.$set(this.userAddress, 'longitude', res.longitude);
 						}
 					})
 				})
@@ -257,15 +271,21 @@
 			formSubmit: Debounce(function(e) {
 				let that = this,
 					value = e.detail.value;
-				if (!value.realName) return that.$util.Tips({
-					title: '请填写收货人姓名'
-				});
-				if (!value.phone) return that.$util.Tips({
-					title: '请填写手机号码'
-				});
-				if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(value.phone)) return that.$util.Tips({
-					title: '请输入正确的手机号码'
-				});
+				if (!this.addType) {
+					if (!value.realName) return that.$util.Tips({
+						title: '请填写收货人姓名'
+					});
+					if (!value.phone) return that.$util.Tips({
+						title: '请填写手机号码'
+					});
+					if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(value.phone)) return that.$util.Tips({
+						title: '请输入正确的手机号码'
+					});
+				} else {
+					if (!value.expressName) return that.$util.Tips({
+						title: '请填写驿站名称'
+					});
+				}
 				if (!that.addressInfo.length == '省-市-区-街道') return that.$util.Tips({
 					title: '请选择所在地区'
 				});
@@ -279,41 +299,47 @@
 				value.cityId = that.addressInfo[1].regionId;
 				value.district = that.addressInfo[2].regionName;
 				value.districtId = that.addressInfo[2].regionId;
-				value.street = that.addressInfo.length>3?that.addressInfo[3].regionName:'';
+				value.street = that.addressInfo.length > 3 ? that.addressInfo[3].regionName : '';
 				value.isDefault = that.userAddress.isDefault;
+				if (this.addType) {
+					value.latitude = that.userAddress.latitude;
+					value.longitude = that.userAddress.longitude;
+				}
 
 				uni.showLoading({
 					title: '保存中',
 					mask: true
 				})
 				if (that.addressId) {
-					editAddress(value).then(res => {
+					const editApi = this.addType ? editExpressAddress(value) : editAddress(value);
+					editApi.then(res => {
 						that.$util.Tips({
 							title: '修改成功',
 							icon: 'success'
 						});
-            uni.hideLoading();
+						uni.hideLoading();
 						that.onSuccess();
 					}).catch(err => {
-            uni.hideLoading();
+						uni.hideLoading();
 						return that.$util.Tips({
 							title: err
 						});
 					})
 				} else {
-					addAddress(value).then(res => {
+					const addApi = this.addType ? addExpressAddress(value) : addAddress(value);
+					addApi.then(res => {
 						that.$util.Tips({
 							title: '添加成功',
 							icon: 'success'
 						});
 						that.addressId = res.data;
-            uni.hideLoading();
+						uni.hideLoading();
 						that.onSuccess();
 					}).catch(err => {
 						return that.$util.Tips({
 							title: err
 						});
-            uni.hideLoading();
+						uni.hideLoading();
 					})
 				}
 
@@ -321,8 +347,8 @@
 			onSuccess() {
 				let orderNo = this.orderNo;
 				let id = this.addressId;
-				setTimeout(()=> {
-					if (orderNo!=0 && id!=0) {
+				setTimeout(() => {
+					if (orderNo != 0 && id != 0) {
 						uni.redirectTo({
 							url: '/pages/goods/order_confirm/index?is_address=1&orderNo=' + orderNo +
 								'&addressId=' + id
@@ -380,8 +406,9 @@
 		width: 120rpx;
 	}
 
-	.addAddress .list .item input, .address {
-			flex: 1;
+	.addAddress .list .item input,
+	.address {
+		flex: 1;
 		width: 490rpx;
 		margin-left: 20rpx;
 		font-size: 30rpx;

+ 163 - 1
mer_uniapp/pages/game_dazi/components/game_same_city/index.vue

@@ -1,8 +1,170 @@
 <template>
+	<view class="flex-col">
+		<view class='newsList tui-skeleton flex-col' style="background-color: #fff;flex: 1;">
+			<view class='nav flex-around-center'>
+				<view class='item flex-center' v-for="(item,index) in navList" :key="index" :class='active==item.id?"on":""' @click='tabSelect(item.id, index)'>
+					<view class="line1">{{item.name}}</view>
+					<view class='line' v-show="active==item.id"></view>
+				</view>
+			</view>
+			<view class='list' style="flex: 1;">
+				<template v-if="active == 1">
+				</template>
+				<template v-if="active == 2">
+				</template>
+			</view>
+		</view>
+	</view>
 </template>
 
 <script>
+	// +----------------------------------------------------------------------
+	// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
+	// +----------------------------------------------------------------------
+	// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
+	// +----------------------------------------------------------------------
+	// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
+	// +----------------------------------------------------------------------
+	// | Author: CRMEB Team <admin@crmeb.com>
+	// +----------------------------------------------------------------------
+	import navBar from '@/components/navBar';
+	import animationType from '@/utils/animationType.js'
+	import tuiSkeleton from '@/components/base/tui-skeleton.vue';
+	import {
+		getAddressList
+	} from '@/api/user.js';
+	let app = getApp();
+	export default {
+		data() {
+			return {
+				autoplay: true,
+				navList: [{
+					id: 1,
+					name: '本校'
+				}, {
+					id: 2,
+					name: '同城'
+				}],
+				active: 1
+			};
+		},
+		methods: {
+			tabSelect(active, e) {
+				this.active = active;
+			}
+		}
+	}
 </script>
 
-<style>
+<style lang="scss">
+	.courie {
+		padding: 14rpx 24rpx 0 24rpx;
+		font-weight: 500;
+		font-size: 23rpx;
+		color: $bg-color-primary;
+		background-color: #fff;
+
+		image {
+			width: 46rpx;
+			height: 46rpx;
+			margin-right: 15rpx;
+		}
+	}
+
+	.newsList .swiper {
+		width: 100%;
+		position: relative;
+		box-sizing: border-box;
+		padding: 0 30rpx;
+	}
+
+	.newsList .swiper swiper {
+		width: 100%;
+		height: 365rpx;
+		position: relative;
+	}
+
+	.newsList .swiper .slide-image {
+		width: 100%;
+		height: 335rpx;
+		border-radius: 14rpx;
+	}
+
+	// #ifdef MP-WEIXIN
+	.newsList .swiper .wx-swiper-dot {
+		width: 12rpx !important;
+		height: 12rpx !important;
+		border-radius: 0;
+		transform: rotate(-45deg);
+		transform-origin: 0 100%;
+	}
+
+	.newsList .swiper .wx-swiper-dot~.wx-swiper-dot {
+		margin-left: 5rpx;
+	}
+
+	.newsList .swiper .wx-swiper-dots.wx-swiper-dots-horizontal {
+		margin-bottom: -15rpx;
+	}
+
+	// #endif
+	// #ifdef APP-PLUS || H5
+	.newsList .swiper .uni-swiper-dot {
+		width: 12rpx !important;
+		height: 12rpx !important;
+		border-radius: 0;
+		transform: rotate(-45deg);
+		transform-origin: 0 100%;
+	}
+
+	.newsList .swiper .uni-swiper-dot~.uni-swiper-dot {
+		margin-left: 5rpx;
+	}
+
+	.newsList .swiper .uni-swiper-dots.uni-swiper-dots-horizontal {
+		margin-bottom: -15rpx;
+	}
+
+	// #endif
+	.newsList .nav {
+		padding: 0 100rpx;
+		width: 100%;
+		height: 96rpx;
+		white-space: nowrap;
+		box-sizing: border-box;
+		padding-top: 43rpx;
+		border-top-right-radius: 23rpx;
+		background-color: #fff;
+	}
+
+	.newsList .nav .item {
+		// max-width: 156rpx;
+		display: inline-block;
+		font-size: 32rpx;
+		color: #999;
+	}
+
+	.newsList .nav .item.on {
+		font-weight: 600;
+		font-size: 35rpx;
+		color: #141414;
+	}
+
+	.newsList .nav .item~.item {
+		margin-left: 46rpx;
+	}
+
+	.newsList .nav .item .line {
+		// width: 24rpx;
+		height: 10rpx;
+		border-radius: 6rpx;
+		margin: 10rpx auto 0 auto;
+		background: linear-gradient( 90deg, #BC86FF 0%, #914CE7 100%);
+	}
+
+	.newsList .nav .item .line1 {
+		font-weight: 500;
+		font-size: 31rpx;
+		color: #B2B2B2;
+	}
 </style>

+ 16 - 15
mer_uniapp/pages/game_dazi/index.vue

@@ -7,15 +7,11 @@
 		</view>
 		<!-- #endif -->
 		<view class='newsList tui-skeleton flex-col' style="background-color: #fff;flex: 1;">
-			<view class='nav'>
-				<scroll-view class="scroll-view_x" scroll-x scroll-with-animation :scroll-left="scrollLeft" style="width:auto;overflow:hidden;">
-					<block v-for="(item,index) in navList" :key="index">
-						<view class='item borRadius14 tui-skeleton-rect' :class='active==item.id?"on":""' @click='tabSelect(item.id, index)'>
-							<view class="line1">{{item.name}}</view>
-							<view class='line bg_color' v-if="active==item.id"></view>
-						</view>
-					</block>
-				</scroll-view>
+			<view class='nav flex-around-center'>
+				<view class='item flex-center' v-for="(item,index) in navList" :key="index" :class='active==item.id?"on":""' @click='tabSelect(item.id, index)'>
+					<view class="line1">{{item.name}}</view>
+					<view class='line' v-show="active==item.id"></view>
+				</view>
 			</view>
 			<view class='list' style="flex: 1;">
 				<template v-if="active == 1">
@@ -87,7 +83,6 @@
 		methods: {
 			tabSelect(active, e) {
 				this.active = active;
-				this.scrollLeft = e * 60;
 			},
 			/*
 			 * 获取默认收货地址或者获取某条地址信息
@@ -180,12 +175,14 @@
 
 	// #endif
 	.newsList .nav {
-		padding: 0 24rpx;
+		padding: 0 100rpx;
 		width: 100%;
+		height: 96rpx;
 		white-space: nowrap;
 		box-sizing: border-box;
 		padding-top: 43rpx;
 		border-top-right-radius: 23rpx;
+		background-color: #fff;
 	}
 
 	.newsList .nav .item {
@@ -196,7 +193,9 @@
 	}
 
 	.newsList .nav .item.on {
-		color: #282828;
+		font-weight: 600;
+		font-size: 35rpx;
+		color: #141414;
 	}
 
 	.newsList .nav .item~.item {
@@ -208,10 +207,12 @@
 		height: 10rpx;
 		border-radius: 6rpx;
 		margin: 10rpx auto 0 auto;
-		background-color: $bg-color-primary;
+		background: linear-gradient( 90deg, #BC86FF 0%, #914CE7 100%);
 	}
 
 	.newsList .nav .item .line1 {
-		color: $bg-color-primary;
+		font-weight: 500;
+		font-size: 31rpx;
+		color: #B2B2B2;
 	}
-	</style>
+</style>

+ 5 - 0
mer_uniapp/pages/merchant/home/index.vue

@@ -644,6 +644,11 @@
 								'&addressId=' + this.addressInfo.id
 						})
 					}
+				}).catch(err => {
+					uni.showToast({
+						title: err,
+						icon: 'none'
+					})
 				})
 				uni.setStorageSync('cart', JSON.parse(JSON.stringify(this.cart)))
 				uni.hideLoading()

+ 9 - 4
mer_uniapp/pages/substitute_fast_mail/components/fast_mail_figure/index.vue

@@ -12,7 +12,7 @@
 							<image :src='item'></image>
 							<text class='iconfont icon-guanbi1' @click.stop='DelPic(index)'></text>
 						</view>
-						<view class='pictrue acea-row row-center-wrapper row-column' @click='uploadpic' v-if="pics.length < 5">
+						<view class='pictrue acea-row row-center-wrapper row-column' @click='uploadpic' v-if="pics.length < 1">
 							<text class='iconfont icon-icon25201'></text>
 							<view>上传凭证</view>
 						</view>
@@ -45,7 +45,10 @@
 				navH: '',
 			}
 		},
-		props: {},
+		props: {
+			picDefault: Array,
+			default: []
+		},
 		computed: mapGetters(['globalData']),
 		created() {
 			// #ifdef MP || APP-PLUS
@@ -55,9 +58,11 @@
 			// #ifdef H5
 			this.navH = 80;
 			// #endif
+			if (this.picDefault) {
+				this.pics = this.picDefault
+			}
 		},
 		methods: {
-
 			/**
 			 * 上传文件
 			 *
@@ -106,7 +111,7 @@
 				this.$emit('figureValue', this.pics)
 			},
 			onCancel() {
-				this.$emit('onCancel', false)
+				this.$emit('onCancel', this.pics)
 			}
 		}
 	}

+ 2 - 2
mer_uniapp/pages/substitute_fast_mail/components/fast_mail_order/index.vue

@@ -35,10 +35,10 @@
 								<view class="remark-name">可选附图</view>
 								<view class="flex-y-center">暂无</view>
 							</view>
-							<view class="flex-between-center">
+							<!-- <view class="flex-between-center">
 								<view class="remark-name">可选服务</view>
 								<view class="flex-y-center">暂无</view>
-							</view>
+							</view> -->
 							<view class="flex-between-center">
 								<view class="remark-name">小费</view>
 								<view class="flex-y-center">暂无</view>

+ 22 - 22
mer_uniapp/pages/substitute_fast_mail/components/fast_mail_specs/index.vue

@@ -10,10 +10,10 @@
 					<view class="flex-wrap flex-around-center" style="margin: 0 100rpx;gap: 20rpx;width: 100%;">
 						<view v-for="(item, index) in specsData" :key="index" style="flex: 1;" class="flex-center flex-col">
 							<view class="flex-center" style="height: 153rpx;">
-								<image :style="item.style" src="/static/img/ic-fast-mail.png" mode=""></image>
+								<image :style="item.imageStyle" src="/static/img/ic-fast-mail.png" mode=""></image>
 							</view>
 							<view class="tip-box flex-center" :class="specsIndex === item.id ? 'active-tip' : ''" @tap="specsIndex = item.id">
-								{{item.name}}¥ {{item.value}}
+								{{item.spceName}}¥ {{item.fee}}
 							</view>
 						</view>
 					</view>
@@ -38,33 +38,21 @@
 	import {
 		mapGetters
 	} from "vuex";
+	import {
+		getExpressSpce
+	} from '@/api/fastMail.js';
 	export default {
 		data() {
 			return {
 				navH: '',
 				specsIndex: 1,
-				specsData: [{
-						id: 1,
-						value: 5,
-						style: 'width: 167rpx;height: 153rpx;',
-						name: '大件'
-					},
-					{
-						id: 2,
-						value: 3,
-						style: 'width: 125rpx;height: 115rpx;',
-						name: '中件'
-					},
-					{
-						id: 3,
-						value: 2,
-						style: 'width: 84rpx;height: 77rpx;',
-						name: '小件'
-					}
-				]
+				specsData: []
 			}
 		},
-		props: {},
+		props: {
+			obj: Object,
+			default: {}
+		},
 		computed: mapGetters(['globalData']),
 		created() {
 			// #ifdef MP || APP-PLUS
@@ -74,6 +62,7 @@
 			// #ifdef H5
 			this.navH = 80;
 			// #endif
+			this.getSpecsData()
 		},
 		methods: {
 			onSure() {
@@ -82,6 +71,17 @@
 			},
 			onCancel() {
 				this.$emit('onCancel', false)
+			},
+			getSpecsData() {
+				getExpressSpce().then(res => {
+					this.specsData = res.data
+					console.log(res.data)
+					if (this.obj && this.obj?.id) {
+						this.specsIndex = this.obj.id
+					} else {
+						this.specsIndex - res.data[0].id
+					}
+				})
 			}
 		}
 	}

+ 22 - 28
mer_uniapp/pages/substitute_fast_mail/components/fast_mail_tip/index.vue

@@ -11,8 +11,8 @@
 					</view>
 					<view class="flex-wrap flex-around-center" style="margin: 0 100rpx;gap: 20rpx;width: 100%;">
 						<view class="tip-box flex-center" :class="tipIndex === item.id ? 'active-tip' : ''" v-for="(item, index) in tipData"
-						 :key="index" @tap="tipIndex = item.id,tipValue = item.value">
-							¥ {{item.value}}
+						 :key="index" @tap="tipIndex = item.id,tipValue = item.fee">
+							¥ {{item.fee}}
 						</view>
 					</view>
 					<button class="sub flex-center" @tap="onSure">确定</button>
@@ -36,40 +36,22 @@
 	import {
 		mapGetters
 	} from "vuex";
+	import {
+		getExpressTip
+	} from '@/api/fastMail.js';
 	export default {
 		data() {
 			return {
 				navH: '',
 				tipIndex: 1,
 				tipValue: 1,
-				tipData: [{
-						id: 1,
-						value: 1
-					},
-					{
-						id: 2,
-						value: 3
-					},
-					{
-						id: 3,
-						value: 5
-					},
-					{
-						id: 4,
-						value: 6
-					},
-					{
-						id: 5,
-						value: 8
-					},
-					{
-						id: 6,
-						value: 10
-					}
-				]
+				tipData: []
 			}
 		},
-		props: {},
+		props: {
+			value: Number,
+			default: null
+		},
 		computed: mapGetters(['globalData']),
 		created() {
 			// #ifdef MP || APP-PLUS
@@ -79,6 +61,7 @@
 			// #ifdef H5
 			this.navH = 80;
 			// #endif
+			this.getTipsData()
 		},
 		methods: {
 			onSure() {
@@ -86,6 +69,17 @@
 			},
 			onCancel() {
 				this.$emit('onCancel', false)
+			},
+			getTipsData() {
+				getExpressTip().then(res => {
+					this.tipData = res.data
+					if (this.value) {
+						const obj = this.tipData.find(item => item.fee == this.value)
+						this.tipIndex = obj.id
+					} else {
+						this.tipIndex = res.data[0].id
+					}
+				})
 			}
 		}
 	}

+ 2 - 2
mer_uniapp/pages/substitute_fast_mail/components/send_fast_mail/index.vue

@@ -56,9 +56,9 @@
 				</view>
 			</view>
 		</view>
-		<view class="courie flex-y-center">
+		<!-- <view class="courie flex-y-center">
 			<image src="/static/img/ic-courie.png" mode=""></image><text>当前1名快递员接单</text>
-		</view>
+		</view> -->
 	</view>
 </template>
 

+ 46 - 29
mer_uniapp/pages/substitute_fast_mail/components/take_fast_mail/index.vue

@@ -17,8 +17,10 @@
 						<view class="flex-y-center" style="flex: 1">
 							<image style="width: 135rpx; height: 135rpx;border-radius: 50%;" src="/static/img/ic-shou.png"></image>
 							<view style="margin-left: 29rpx;flex: 1;">
-								<view class="send-name">送到哪里</view>
-								<view v-if="!addressObj" class="send-tips">请输入收件人信息</view>
+								<template v-if="Object.keys(addressObj).length == 0">
+									<view class="send-name">送到哪里</view>
+									<view class="send-tips">请输入收件人信息</view>
+								</template>
 								<view class="send-info" v-else>
 									<view class='consignee'>收货人:{{addressObj.realName}}<text class='phone'>{{addressObj.phone}}</text></view>
 									<view>收货地址:{{addressObj.province}}{{addressObj.city}}{{addressObj.district}}{{ addressObj.street}}{{addressObj.detail}}</view>
@@ -33,69 +35,75 @@
 					<view class="flex-y-center flex-between-center" style="margin-bottom: 20rpx">
 						<view class="flex-y-center" style="flex: 1">
 							<image style="width: 135rpx; height: 135rpx;border-radius: 50%;" src="/static/img/ic-qu-chengse.png"></image>
-							<view style="margin-left: 29rpx;flex: 1;" @tap="chooseLocation">
-								<view class="send-name">到哪里取</view>
-								<view class="send-tips" v-if="!pickUpAddress.name">请输入取货地址</view>
+							<view style="margin-left: 29rpx;flex: 1;">
+								<template v-if="Object.keys(addressExpressObj).length == 0">
+									<view class="send-name">到哪里取</view>
+									<view class="send-tips">请输入取货地址</view>
+								</template>
 								<view class="send-info" v-else>
-									<view class='consignee'>取货地:{{pickUpAddress.name}}</view>
-									<view>详细地址:{{pickUpAddress.address}}</view>
+									<view class='consignee'>取货地:{{addressExpressObj.expressName}}</view>
+									<view>详细地址:{{addressExpressObj.province}}{{addressExpressObj.city}}{{addressExpressObj.district}}{{ addressExpressObj.street}}{{addressExpressObj.detail}}</view>
 								</view>
 								<!-- <view style="font-weight: 500;font-size: 23rpx;color: #FF6702;">可送单时间段00:00——17:00</view> -->
 							</view>
 						</view>
-						<view class='iconfont icon-jiantou' style="font-size: 55rpx;margin-left: 29rpx;" @tap="isPoint = true"></view>
+						<navigator url="/pages/address/stage_address/index">
+							<view class='iconfont icon-jiantou' style="font-size: 55rpx;margin-left: 29rpx;"></view>
+						</navigator>
 					</view>
 				</view>
 				<view class="send-item">
 					<view class="flex-between-center">
 						<view class="remark-name">送达时间</view>
 						<view class="flex-y-center" v-if="!visible" @tap="visible = true">
-							<view style="color: #17C24B;font-size: 27rpx;">尽快送达</view>
+							<view style="color: #17C24B;font-size: 27rpx;" v-if="fastMailObj.dayName">{{fastMailObj.dayName + fastMailObj.dayTimeName}}</view>
+							<view style="color: #17C24B;font-size: 27rpx;" v-else>尽快送达</view>
 							<view class='iconfont icon-jiantou' style="font-size: 30rpx;margin: 0 19rpx;"></view>
 						</view>
 					</view>
 					<view class="flex-between-center">
 						<view class="remark-name">取件信息</view>
 						<view class="flex-y-center">
-							<input class="uni-input" focus placeholder="请输入内容" />
+							<input v-model="fastMailObj.expressInfo" class="uni-input" focus placeholder="请输入内容" />
 						</view>
 					</view>
 					<view class="flex-between-center">
 						<view class="remark-name">规格必选</view>
 						<view class="flex-y-center" @tap="isSpecs = true">
-							<text style="font-weight: 400;font-size: 27rpx;color: #646464;">请选择快递规格</text>
+							<text style="font-weight: 400;font-size: 27rpx;color: #646464;" v-if="fastMailObj.sepec">{{fastMailObj.sepec.spceName + '¥' + fastMailObj.sepec.fee}}</text>
+							<text style="font-weight: 400;font-size: 27rpx;color: #646464;" v-else>请选择快递规格</text>
 							<view class='iconfont icon-jiantou' style="font-size: 30rpx;margin: 0 19rpx;"></view>
 						</view>
 					</view>
 					<view class="flex-between-center">
 						<view class="remark-name">可选附图</view>
 						<view class="flex-y-center" @tap="isFigure = true">
-							<image style="width: 38rpx; height: 38rpx;" src="/static/img/ic-message.png"></image>
+							<image style="width: 38rpx; height: 38rpx;" src="/static/img/ic-figure.png"></image>
 							<view class='iconfont icon-jiantou' style="font-size: 30rpx;margin: 0 19rpx;"></view>
 						</view>
 					</view>
-					<view class="flex-between-center">
+					<!-- <view class="flex-between-center">
 						<view class="remark-name">可选服务</view>
 						<view class="flex-y-center">
 						</view>
-					</view>
+					</view> -->
 					<view class="flex-between-center">
 						<view class="remark-name">备注</view>
 						<view class="flex-y-center">
-							<input class="uni-input" />
+							<input v-model="fastMailObj.remark" class="uni-input" />
 						</view>
 					</view>
 					<view class="flex-between-center">
 						<view class="remark-name">小费</view>
 						<view class="flex-y-center" @tap="isTip = true">
-							<text style="font-weight: 400;font-size: 27rpx;color: #646464;">{{fastMailObj.tipValue ? '¥' + fastMailObj.tipValue : ''}}</text>
+							<text style="font-weight: 400;font-size: 27rpx;color: #646464;">{{fastMailObj.giveTips ? '¥' + fastMailObj.giveTips : ''}}</text>
 							<view class='iconfont icon-jiantou' style="font-size: 30rpx;margin: 0 19rpx;"></view>
 						</view>
 					</view>
 				</view>
-				<view class="courie flex-y-center">
+				<!-- <view class="courie flex-y-center">
 					<image src="/static/img/ic-courie.png" mode=""></image><text>当前1名快递员接单</text>
-				</view>
+				</view> -->
 			</view>
 		</view>
 		<view v-if="visible" class="picker-box">
@@ -113,9 +121,9 @@
 				</picker-view-column>
 			</picker-view>
 		</view>
-		<fast-mail-tip v-if="isTip" @tipValue="onTipValue" @onCancel="onCanCel"></fast-mail-tip>
-		<fast-mail-specs v-if="isSpecs" @specsValue="onSpecsValue" @onCancel="onCanCel"></fast-mail-specs>
-		<fast-mail-figure v-if="isFigure" @figureValue="onFigureValue" @onCancel="onCanCel"></fast-mail-figure>
+		<fast-mail-tip v-if="isTip" :value="fastMailObj.giveTips" @tipValue="onTipValue" @onCancel="onCanCel"></fast-mail-tip>
+		<fast-mail-specs v-if="isSpecs" :obj="fastMailObj.sepec" @specsValue="onSpecsValue" @onCancel="onCanCel"></fast-mail-specs>
+		<fast-mail-figure v-if="isFigure" :picDefault="fastMailObj.figureArr" @figureValue="onFigureValue" @onCancel="onFigureCanCel"></fast-mail-figure>
 		<fast-mail-point v-if="isPoint" @pointValue="onPointValue" @onCancel="onCanCel"></fast-mail-point>
 	</view>
 </template>
@@ -147,6 +155,10 @@
 			addressObj: {
 				type: Object,
 				default: {}
+			},
+			addressExpressObj: {
+				type: Object,
+				default: {}
 			}
 		},
 		data() {
@@ -160,7 +172,6 @@
 				fastMailObj: {},
 				hours: 0,
 				minutes: 0,
-				tipValue: 0,
 				winHeight: 0,
 				isNodes: 0, //控制什么时候开始抓取元素节点,只要数值改变就重新抓取
 				autoplay: true,
@@ -203,6 +214,9 @@
 		watch: {
 			addressObj(val) {
 				this.addressObj = val
+			},
+			addressExpressObj(val) {
+				this.addressExpressObj = val
 			}
 		},
 		methods: {
@@ -251,25 +265,28 @@
 				// this.scrollLeft = e * 60;
 			},
 			onTipValue(value) {
-				this.fastMailObj.tipValue = value
+				this.fastMailObj.giveTips = value
 				this.isTip = false;
 				console.log(value)
 			},
-			onCanCel(val) {
+			onCanCel(val, arr) {
 				this.isTip = val
 				this.isSpecs = val
-				this.isFigure = val
 				this.isPoint = val
 			},
+			onFigureCanCel(arr) {
+				this.isFigure = false
+				this.fastMailObj.figureArr = arr
+			},
 			onSpecsValue(obj) {
-				this.fastMailObj.specsObj = obj
+				this.fastMailObj.sepec = obj
 				this.isSpecs = false
 				console.log(obj)
 			},
-			onFigureValue(obj) {
-				this.fastMailObj.figureObj = obj
+			onFigureValue(arr) {
+				this.fastMailObj.figureArr = arr
 				this.isFigure = false
-				console.log(obj)
+				console.log(arr)
 			},
 			onPointValue(obj) {
 				this.fastMailObj.pointObj = obj

+ 70 - 18
mer_uniapp/pages/substitute_fast_mail/home/index.vue

@@ -19,7 +19,7 @@
 			</view>
 			<view class='list' style="flex: 1;">
 				<template v-if="active == 1">
-					<take-fast-mail ref="takeFastMailRef" :addressObj="addressItem"></take-fast-mail>
+					<take-fast-mail ref="takeFastMailRef" :addressObj="addressItem" :addressExpressObj="addressExpressItem"></take-fast-mail>
 				</template>
 				<template v-if="active == 2">
 					<send-fast-mail></send-fast-mail>
@@ -28,7 +28,7 @@
 			<!-- 购物车栏 begin -->
 			<view class="cart-box">
 				<view class="mark-box">
-					<view class="mark">应付 ¥ <text style="font-size: 31rpx;">8.00</text></view>
+					<view class="mark">应付 ¥ <text style="font-size: 31rpx;">{{orderPrice}}</text></view>
 					<view class="tips">普通用户 | 查看明细 》</view>
 				</view>
 				<button type="primary" class="pay-btn" @tap="toPay">
@@ -36,7 +36,7 @@
 				</button>
 			</view>
 		</view>
-		<fast-mail-order v-if="isOrder"  @onCancel="onCanCel"></fast-mail-order>
+		<fast-mail-order v-if="isOrder" @onCancel="onCanCel"></fast-mail-order>
 	</view>
 </template>
 
@@ -57,8 +57,12 @@
 	import takeFastMail from '../components/take_fast_mail/index.vue'
 	import fastMailOrder from '../components/fast_mail_order/index.vue'
 	import {
-		getAddressList
+		getAddressDefault,
+		getAddressExpressDefault
 	} from '@/api/user.js';
+	import {
+		preExpressApi
+	} from '@/api/fastMail.js';
 	let app = getApp();
 	export default {
 		components: {
@@ -76,14 +80,19 @@
 				autoplay: true,
 				navList: [{
 					id: 1,
-					name: '取快递'
+					name: '取快递',
+					preOrderType: 'take'
 				}, {
 					id: 2,
-					name: '寄快递'
+					name: '寄快递',
+					preOrderType: 'send'
 				}],
+				navListIndex: 0,
 				active: 1,
 				scrollLeft: 0,
-				addressItem: {}
+				addressItem: {},
+				orderPrice: 0,
+				addressExpressItem: {}
 			};
 		},
 		onLoad() {
@@ -103,35 +112,78 @@
 			uni.$on('addressItem', function(res) {
 				that.$set(that, 'addressItem', res);
 			})
+			uni.$on('addressExpressItem', function(res) {
+				that.$set(that, 'addressExpressItem', res);
+			})
 		},
 		methods: {
 			tabSelect(active, e) {
 				this.active = active;
+				this.navListIndex = e;
 				this.scrollLeft = e * 60;
 			},
 			/*
 			 * 获取默认收货地址或者获取某条地址信息
 			 */
 			getaddressInfo: function() {
-				getAddressList().then(res => {
+				getAddressDefault().then(res => {
 					console.log('地址', res)
-					if (res.code = 200) {
-						if (res.data.length !== 0) {
-							this.addressItem = res.data.find(item => item.isDefault === true) || {} // this.addressItem = res.data[0];
-						} else {
-							this.addressItem = {}
-						}
-						console.log('默认地址', this.addressItem)
-					}
+					this.addressItem = res.data || {}
+				})
+				getAddressExpressDefault().then(res => {
+					console.log('驿站地址', res)
+					this.addressExpressItem = res.data || {}
 				})
 			},
 			toPay() {
-				this.isOrder = true
-				console.log(this.$refs.takeFastMailRef, 'refffffffffffffffffffffffff')
+				const refTake = this.$refs.takeFastMailRef;
+				// uni.showLoading({
+				// 	title: '保存中',
+				// 	mask: true
+				// })
+				this.orderPrice = +(refTake.fastMailObj.giveTips || 0) + +refTake.fastMailObj?.sepec?.fee || 0
+				let value = {
+					giveTips: refTake.fastMailObj.giveTips,
+					orderDetails: [{
+						expressInfo: refTake.fastMailObj.expressInfo || '',
+						expressNum: 1,
+						image: refTake.fastMailObj.figureArr ? refTake.fastMailObj.figureArr[0] : '',
+						orderNo: "",
+						price: this.orderPrice || 0,
+						remark: refTake.fastMailObj.remark || '',
+						sepec: +refTake.fastMailObj?.sepec?.fee || 0
+					}],
+					postAddressId: refTake.addressExpressObj.id,
+					preOrderType: this.navList[this.navListIndex].preOrderType,
+					userAddressId: refTake.addressObj.id
+				}
+				const tips = this.checkData(value)
+				if (tips) {
+					return this.$util.Tips({
+						title: tips
+					});
+				}
+				preExpressApi(value).then(res => {
+					this.isOrder = true;
+					console.log(res)
+					// uni.hideLoading();
+				}).catch(err => {
+					uni.showToast({
+						title: err,
+						icon: 'none'
+					})
+				})
+				console.log(value)
 			},
 			onCanCel(val) {
 				this.isOrder = val
 			},
+			checkData(val) {
+				if (!val.postAddressId) return '请填写取件地'
+				if (!val.userAddressId) return '请填写收件人信息'
+				if (!val.orderDetails[0].sepec) return '快递规格必选'
+				if (!val.orderDetails[0].expressInfo) return '请填写快递信息'
+			}
 		}
 	}
 </script>

BIN
mer_uniapp/static/img/ic-figure.png