From e876fed618abd4237b9818424b72d01e24f8908c Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期四, 01 八月 2024 16:22:17 +0800
Subject: [PATCH] update

---
 sub_pages/customer/trade/list.vue                  |   12 
 sub_pages/supplier/supplier-info/supplier-info.vue |   38 ++
 pages/user/user-bind-wx/user-bind-wx.vue           |  405 +++++++++++++++++++++++++++++++
 pages.json                                         |    7 
 sub_pages/partner/partner-info/partner-info.vue    |   16 +
 pages/order/order-delivery-detail.vue              |   25 +
 sub_pages/partner/delivery/delivery-home.vue       |    2 
 sub_pages/supplier/flower-manage/flower-add.vue    |   20 
 sub_pages/supplier/print/print-list.vue            |   31 +-
 manifest.json                                      |    2 
 sub_pages/customer/shopping/confirm.vue            |    6 
 pages/order/order.vue                              |   91 ++++--
 pages/order/order-detail.vue                       |   23 +
 pages/user/supplier-user.vue                       |   74 +++++
 14 files changed, 654 insertions(+), 98 deletions(-)

diff --git a/manifest.json b/manifest.json
index f2448bf..2848179 100644
--- a/manifest.json
+++ b/manifest.json
@@ -49,7 +49,7 @@
     "quickapp" : {},
     /* 快应用特有相关 */
     "mp-weixin" : {
-        "appid" : "wx3203fd935a6ffe09",
+        "appid" : "wx1441324401626290",
         "setting" : {
             "urlCheck" : false,
             "es6" : true,
diff --git a/pages.json b/pages.json
index dc76b13..094d7e4 100644
--- a/pages.json
+++ b/pages.json
@@ -129,6 +129,13 @@
 			"style": {
 				"navigationBarTitleText": "理赔单详情"
 			}
+		},
+		{
+			"path" : "pages/user/user-bind-wx/user-bind-wx",
+			"style" : 
+			{
+				"navigationBarTitleText" : "绑定微信"
+			}
 		}
 	],
 	"subPackages": [{
diff --git a/pages/order/order-delivery-detail.vue b/pages/order/order-delivery-detail.vue
index ab2e6d1..4afbf9d 100644
--- a/pages/order/order-delivery-detail.vue
+++ b/pages/order/order-delivery-detail.vue
@@ -61,6 +61,10 @@
 
 			},
 			async submit(status) {
+				if (!this.dto.arriveImageList || this.dto.arriveImageList.length < 0) {
+					this.$message.showToast('未上传图片')
+					return
+				}
 				await this.$message.confirm('是否确认入位')
 				this.$message.showLoading()
 				const {
@@ -80,9 +84,9 @@
 			},
 			printDeliveryOrder(item) {
 				// this.$message.showToast('敬请期待')
-				this.$storage.setItem('cache_delivery_order_print',JSON.stringify(item))
+				this.$storage.setItem('cache_delivery_order_print', JSON.stringify(item))
 				uni.navigateTo({
-					url:'/sub_pages/supplier/print/print-list'
+					url: '/sub_pages/supplier/print/print-list'
 				})
 			}
 
@@ -94,8 +98,7 @@
 	<view class="list-container order-delivery supplier">
 		<view class="p15">
 			<no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
-			<view v-for="(item,index) in list" :key="index" 
-				class="m-b-24 order-sale-list list-container">
+			<view v-for="(item,index) in list" :key="index" class="m-b-24 order-sale-list list-container">
 				<view class="order-sale-item list-item">
 					<view class="title flex">
 						<view>订单单号:{{item.orderNo}}</view>
@@ -150,7 +153,7 @@
 						<view class="button button-1 m-r-0" @click="printDeliveryOrder(item)">打印</view>
 					</view>
 					<!-- #endif -->
-					
+
 
 
 
@@ -161,7 +164,7 @@
 			<!-- 提交图片 -->
 			<view class="delivery-form p20 bg-white br-4">
 				<view class="form-item flex before-line bottom-border-no">
-					<view class="label " style="width: 400rpx;">图片</view>
+					<view class="label required" style="width: 400rpx;">图片</view>
 					<view class="m-l-a m-r-0 flex">
 						<view class="component-button-upload" @click="uploadIcon('arriveImageList')">
 
@@ -213,12 +216,14 @@
 				background-color: #fff;
 				margin-bottom: 20rpx;
 				padding: 22rpx;
-				.each-item{
-					.label{
+
+				.each-item {
+					.label {
 						min-width: 120rpx;
-						
+
 					}
-					.label:after{
+
+					.label:after {
 						content: ":";
 						margin-right: 10rpx;
 					}
diff --git a/pages/order/order-detail.vue b/pages/order/order-detail.vue
index 21368d0..bad6c50 100644
--- a/pages/order/order-detail.vue
+++ b/pages/order/order-detail.vue
@@ -300,10 +300,10 @@
             dto.status === 'SEND' && '商家已发货,正在通知取货'
             || dto.status === 'PENDING' && '订单还未支付,立即去支付'
             || dto.status === 'RECEIVE' && '待签收'
-            || ('订单' + dto.statusStr)
+            || ('订单状态: ' + dto.statusStr)
           }}
 				</view>
-				<view class="desc-gray">支付时间:{{dto.paymentTime}}</view>
+				<view class="desc-gray">支付时间:{{dto.paymentTime || '-'}}</view>
 			</view>
 		</view>
 		<view class="address-container bg-white br-4 m-t-12" v-if="!showSales">
@@ -313,16 +313,16 @@
 				<view class="info">
 					<view class="title">
 						{{ dto.customer }}
-						<view class="tel">{{ dto.customerTel }}</view>
+						<view class="tel">{{ dto.customerTel  || ''}}</view>
 					</view>
-					<view class="content">{{ dto.customerAddress }}</view>
+					<view class="content">{{ dto.customerAddress || ''}}</view>
 				</view>
 			</view>
 		</view>
 		<view class="flower-info m-b-20 m-t-12 br-4" v-for="(item,index) of list" :key="index">
 			<view class="supplier-name ">
 				<image class="icon-dp" src="/static/common/icon-dp.png"></image>
-				{{ item.supplierName }}
+				{{ item.supplierName || ''}}
 			</view>
 			<view class="flex m-t-12">
 				<radio v-if="showSales" :checked="submitForm.orderItems.indexOf(item.id)>=0" @click="changeSalesOrderItem(item)"></radio>
@@ -331,11 +331,16 @@
 				</image>
 				<view class="flex1">
 					<view class=" flex">
-						<view class="title"><span class="level">{{ item.flowerCategory }}</span><span
-								class="level">{{ item.flowerLevelStr }}</span>{{ item.flowerName }}
+						<view class="title"><span class="level">{{ item.flowerCategory || ''}}</span><span
+								class="level">{{ item.flowerLevelStr || ''}}</span>{{ item.flowerName || ''}}
 						</view>
 					</view>
 					<view class="each-list">
+						<view class="each-item">
+							<view class="label">货位号</view>
+							<view class="value">{{ item.warehouseLocationCode || dto.warehouseLocationCode  || '-' }}</view>
+						</view>
+				 
 						<view class="each-item">
 							<view class="label">颜色</view>
 							<view class="value">{{ item.flowerColor || '-' }}</view>
@@ -446,11 +451,11 @@
 			<view class="flex m-t-12">
 				<view class="flex1 w-fit m-auto icon-view" @click.stop="callTel">
 					<image src="/static/common/icon-call.png" class="icon icon-call m-r-10  img100"></image>
-					15974805814
+					拨打15974805814
 				</view>
 				<view class="flex1 w-fit m-auto icon-view" open-type="contact">
 					<image src="/static/common/icon-wx.png" class="icon icon-call  m-r-10 img100"></image>
-					在线客服
+					点击联系在线客服
 				</view>
 
 			</view>
diff --git a/pages/order/order.vue b/pages/order/order.vue
index da85fca..3d4c471 100644
--- a/pages/order/order.vue
+++ b/pages/order/order.vue
@@ -78,7 +78,7 @@
 						})
 						this.$message.hideLoading()
 						if (code === 0) {
-							this.$store.dispatch('sign_add','order')							
+							this.$store.dispatch('sign_add', 'order')
 							this.refreshList()
 						}
 					}
@@ -123,7 +123,7 @@
 									console.log('pay success', res)
 									that.$message.showToast('支付成功')
 									setTimeout(() => {
-										that.$store.dispatch('sign_add','order')
+										that.$store.dispatch('sign_add', 'order')
 										that.refreshList()
 									}, 200)
 								},
@@ -176,8 +176,26 @@
 							}
 						})
 						this.$message.hideLoading()
-						if (code === 0) {							
-							this.$store.dispatch('sign_add','order')
+						if (code === 0) {
+							this.$store.dispatch('sign_add', 'order')
+							this.refreshList()
+						}
+					}
+					break
+					case 'delOrder':{
+						await this.$message.confirm('是否删除此订单')
+						// 发送请求
+						this.$message.showLoading()
+						const {
+							code
+						} = await this.$http.request('get', '/api/customer/order/delete', {
+							params: {
+								id: item.id,
+							}
+						})
+						this.$message.hideLoading()
+						if (code === 0) {
+							// this.$store.dispatch('sign_add', 'order')
 							this.refreshList()
 						}
 					}
@@ -192,7 +210,7 @@
 </script>
 <template>
 	<view class="order-container">
-		<view class="order-top">
+		<view class="order-top" v-if="false">
 			<view class="title">订单信息</view>
 			<view class="flex">
 				<image class="image img100"
@@ -218,24 +236,24 @@
 					</view>
 					<view class="status t-red m-l-a m-r-0">¥{{ dto.paymentAmount || dto.totalAmount || '0'}}</view>
 				</view>
-				<view class="desc flex" v-if="!query.status">
+				<view class=" desc flex" v-if="!query.status">
 					<view class="label">
 						订单状态:
 					</view>
-					<view class="value">{{ dto.statusBackendStr }}</view>
+					<view class="value" style="color: #000">{{ dto.statusBackendStr || '-' }}</view>
 				</view>
 				<view class="flex">
 					<view class="desc flex flex1">
 						<view class="label">
 							收货人:
 						</view>
-						<view class="value">{{ dto.customer }}</view>
+						<view class="value">{{ dto.customer || '-' }}</view>
 					</view>
 					<view class="desc flex flex1">
 						<view class="label">
 							收货人手机号码:
 						</view>
-						<view class="value">{{ dto.customerTel }}</view>
+						<view class="value">{{ dto.customerTel || '-' }}</view>
 					</view>
 				</view>
 				<view class="desc flex">
@@ -244,21 +262,22 @@
 					</view>
 					<view class="value">{{ dto.customerAddress }}</view>
 				</view>
-				<view class="desc flex" v-if="dto.statusBackend!=='PENDING'">
+				<view class="desc flex" v-if="dto.statusBackend!=='PENDING'&&dto.statusBackend!=='CANCEL'">
 					<view class="label">
 						支付时间:
 					</view>
-					<view class="value">{{ dto.paymentTime }}</view>
+					<view class="value">{{ dto.paymentTime || '-' }}</view>
 				</view>
 				<view class="flower-info m-b-5 m-t-8 br-4" v-for="(item,index) of dto.items" :key="index">
 					<view class="line-gray"></view>
-					
+
 					<view class="supplier-name ">
 						<image class="icon-dp br-4" src="/static/common/icon-dp.png"></image>
 						{{ item.supplierName }}
 					</view>
 					<view class="flex m-t-12 flex-wrap-normal">
-						<image class="flower-img img100 m-r-6" :src="item.flowerCover" @click="previewImg(item.flowerCover)">
+						<image class="flower-img img100 m-r-6" :src="item.flowerCover"
+							@click="previewImg(item.flowerCover)">
 						</image>
 						<view class="flex1">
 							<view class=" flex">
@@ -270,42 +289,45 @@
 								<view class="each-item">
 									<view class="label">颜色</view>
 									<view class="value">{{ item.flowerColor || '-' }}</view>
-				
+
 								</view>
 								<view class="each-item">
 									<view class="label">规格</view>
 									<view class="value">{{ item.flowerUnit || '-' }}</view>
 								</view>
-				
+
 								<view class="each-item">
 									<view class="label">数量</view>
 									<view class="value">{{ item.num || 0 }}</view>
-				
+
 								</view>
 								<view class="each-item">
 									<view class="label">售价</view>
 									<view class="value">¥{{ item.price || 0 }}</view>
-				
+
 								</view>
 								<view class="each-item">
 									<view class="label">商品总金额</view>
 									<view class="value">¥{{ item.total || 0 }}</view>
-				
+
 								</view>
 							</view>
 						</view>
 					</view>
-				
+
 				</view>
 				<view class="line-gray"></view>
-				
+
 				<view class="flex buttons">
+					<view class="button button-0 m-l-a m-r-15" v-if="dto.statusBackend==='CANCEL'"
+						@click="buttonClick(dto,'delOrder')">删除订单</view>
 					<view class="button button-0 m-l-a m-r-15" v-if="dto.statusBackend==='PENDING'"
 						@click="buttonClick(dto,'cancelOrder')">取消订单</view>
 					<view class="button button-1 m-l-15 m-r-15" v-if="dto.statusBackend==='PENDING'"
 						@click="buttonClick(dto,'payAgain')">重新支付</view>
 
-					<view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'refund')" v-if="dto.couldRefund">
+					<view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'refund')"
+						v-if="dto.couldRefund">
 						申请退款
 					</view>
 					<view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'confirm')"
@@ -398,12 +420,13 @@
 					border: 2rpx solid #20613D;
 				}
 			}
+
 			.flower-info {
 				padding: 0rpx;
-			
+
 				background: #FFFFFF;
 				border-radius: 8rpx;
-			
+
 				.supplier-name {
 					border-bottom: 2rpx solid #EEEEEE;
 					font-weight: 600;
@@ -411,7 +434,7 @@
 					color: #000000;
 					padding-bottom: 10rpx;
 					line-height: 40rpx;
-			
+
 					.icon-dp {
 						width: 27rpx;
 						height: 27rpx;
@@ -419,13 +442,13 @@
 						vertical-align: middle;
 					}
 				}
-			
+
 				.title {
 					font-weight: 600;
 					font-size: 28rpx;
 					color: #000000;
 					line-height: 40rpx;
-			
+
 					.level {
 						font-weight: 400;
 						font-size: 28rpx;
@@ -434,19 +457,19 @@
 						margin-right: 20rpx;
 					}
 				}
-			
+
 				.flower-img {
 					width: 128rpx;
 					height: 118rpx;
 					min-width: 128rpx;
 					min-height: 118rpx;
 				}
-			
+
 				.each-list {
 					display: flex;
 					flex-wrap: wrap;
 					margin-top: 6rpx;
-			
+
 					.each-item {
 						min-width: 40%;
 						max-width: 50%;
@@ -454,7 +477,7 @@
 						margin-left: 0rpx;
 						margin-right: auto;
 						display: flex;
-			
+
 						.label {
 							font-weight: 400;
 							font-size: 24rpx;
@@ -462,11 +485,11 @@
 							text-align: left;
 							padding-right: 10rpx;
 						}
-			
+
 						.label::after {
 							content: ": "
 						}
-			
+
 						.value {
 							font-weight: 400;
 							font-size: 24rpx;
@@ -474,9 +497,9 @@
 						}
 					}
 				}
-			
+
 			}
-			
+
 
 		}
 
diff --git a/pages/user/supplier-user.vue b/pages/user/supplier-user.vue
index e8020b8..e490fb8 100644
--- a/pages/user/supplier-user.vue
+++ b/pages/user/supplier-user.vue
@@ -19,7 +19,7 @@
 
 				<image class="user-icon" v-if="
 					currentInfo.customerDTO&&currentInfo.customerDTO.cover
-					||currentInfo.supplierDTO&&currentInfo.supplierDTO.cover
+					||currentInfo.supplierDTO&&currentInfo.supplierDTO.cover
 					|| currentInfo.picture
 					" :src="
 					currentInfo.customerDTO&&currentInfo.customerDTO.cover
@@ -45,7 +45,7 @@
 				<view class="name" v-if="!currentInfo.id" open-type="getUserInfo" @click.stop="toCustomerLogin"
 					style="font-size: 48rpx;margin-top: 16rpx;">
 					<!-- getUserProfile -->
-					{{ '点击登陆' }}
+					{{ '点击登陆/注册' }}
 				</view>
 				<image class="icon-setting" @click="toInfo" src="../../static/common/icon-setting.png" mode="aspectFit">
 				</image>
@@ -181,6 +181,17 @@
 				</view>
 			</view>
 			<!-- #endif -->
+			<!-- #ifdef PUB_CUSTOMER -->
+			<view class="user-util m-t-12 flex"
+				v-if="(selftype==='customer'||!selftype)&&currentInfo.id&&currentInfo.customerDTO&&!currentInfo.customerDTO.partnerId"
+				@click="scanPartnerCode">
+				<view class="title">扫码绑定合伙人</view>
+				<view class="right-icon">
+					<uni-icons type="right"></uni-icons>
+				</view>
+			</view>
+			<!-- #endif -->
+
 			<view class="user-util m-t-12 flex" v-if="selftype==='supplier'"
 				@click="goto('/sub_pages/supplier/supplier-info/supplier-info',true)">
 				<view class="title">店铺信息</view>
@@ -188,11 +199,19 @@
 					<uni-icons type="right"></uni-icons>
 				</view>
 			</view>
+		
 			<view class="user-util m-t-12 flex" @click="goto('/pages/user/user-pwd/user-pwd',true)">
 				<view class="title">修改密码</view>
 				<view class="right-icon">
 					<uni-icons type="right"></uni-icons>
 				</view>
+			</view>
+			<view class="user-util m-t-12 flex" v-if="currentInfo&&currentInfo.id"
+				@click="goto('/pages/user/user-bind-wx/user-bind-wx',true)">
+				<view class="title">绑定当前微信</view>
+				<view class="right-icon">
+					<uni-icons type="right"></uni-icons>
+				</view>
 			</view>
 			<view class="user-util m-t-12 flex" v-if="selftype==='customer'" @click="clearlogout">
 				<view class="title">退出登录</view>
@@ -203,12 +222,13 @@
 
 			<view class="user-util m-t-12 " v-if="selftype==='supplier'||selftype==='customer' || !selftype">
 				<view class="title">我的客服</view>
-				<view class="flex">
-					<image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image>
-					<view class="name" @click="callTel">
+				<view class="flex" open-type="contact">
+					<image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image>
+					 <!-- @click="callTel" -->
+					<view class="name">
 						客服电话 : &nbsp;&nbsp; <span class="topic-gray">{{ tel }}</span>
 					</view>
-					<view class="right-icon" open-type="contact">
+					<view class="right-icon" >
 						<uni-icons type="right"></uni-icons>
 					</view>
 				</view>
@@ -325,6 +345,48 @@
 			uni.stopPullDownRefresh()
 		},
 		methods: {
+			async scanPartnerCode() {
+				await this.$message.confirm('确定要绑定合伙人吗?')
+				//扫二维码确认
+				let that = this
+				uni.scanCode({
+					success: async function(res) {
+						console.log('条码内容:' + res.result);
+						var dto = undefined
+						try {
+							dto = JSON.parse(res.result)
+							if (!!dto['userId']) {
+								var partnerName = dto['name'] || ''
+								var partnerId = dto['userId'] || ''
+								//调用接口绑定
+								that.$message.showLoading()
+								const {
+									code,
+									data
+								} = await that.$http.request('post', '/api/customer/bind/partner', {
+									data: {
+										partnerId: partnerId
+									}
+								})
+								that.$message.hideLoading()
+								if (code == 0) {
+									that.$message.showToast(`绑定合伙人${partnerName}成功`)
+									await this.$store.dispatch('getCurrentInfo')
+
+								}
+							} else {
+								that.$message.showToast('二维码格式不正确扫码失败')
+							}
+						} catch (e) {
+							that.$message.showToast('二维码格式不正确扫码失败')
+						}
+					},
+					fail() {
+						that.$message.showToast('扫码失败')
+
+					}
+				});
+			},
 			toInfo() {
 				var url = ''
 				if (this.currentInfo.id) {
diff --git a/pages/user/user-bind-wx/user-bind-wx.vue b/pages/user/user-bind-wx/user-bind-wx.vue
new file mode 100644
index 0000000..20e5c2c
--- /dev/null
+++ b/pages/user/user-bind-wx/user-bind-wx.vue
@@ -0,0 +1,405 @@
+<template>
+	<view class="main-container login-container bg-white img100 relative" style="margin-top: 0rpx;">
+		<view class="t-login top-bg m-t-20">
+			<view class="login" style="padding: 40rpx;">
+				<form class="cl m-t-12">
+					<!-- 	<view class="t-a titles-top">
+						<view class="title-2 text-center">绑定微信
+						</view>
+					</view> -->
+					<view class="t-a input form-input">
+
+
+						<u-input placeholder="请输入手机号" :border="false" v-model="phoneNumber">
+							<template slot="suffix">
+								<view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
+									{{ getCodeText }}
+								</view>
+							</template>
+						</u-input>
+					</view>
+
+
+					<view class="t-a form-input">
+						<u-input placeholder="请输入手机验证码" :border="false" v-model="smsCode"></u-input>
+
+					</view>
+
+					<view class="t-a form-input">
+						<u-input placeholder="请输入真实姓名" :border="false" v-model="realName"></u-input>
+
+					</view>
+					<view class="t-red">*提醒:未实名或者真实姓名与微信支付实名不一样,可能会导致转账失败</view>
+
+
+					<!-- <button @click="getUserProfile" open-type="getUserInfo" class="bottom-button">绑定当前微信</button> -->
+					<button @click="wxlogin" open-type="getUserInfo" class="bottom-button">绑定当前微信</button>
+
+
+				</form>
+			</view>
+
+		</view>
+	</view>
+</template>
+<script>
+	export default {
+
+		data() {
+			return {
+
+				phoneNumber: '',
+				smsCode: '',
+				realName: '',
+
+				checked: false,
+				loginType: 'code', //pwd和code,密码和验证码登录
+				pcfvalue: undefined,
+				getCodeText: '获取验证码',
+				getCodeBtnColor: "#20613D",
+				getCodeisWaiting: false,
+				Timer: undefined,
+				// #ifdef PUB_SUPPLIER
+				apitype: 'supplier',
+				// #endif
+				// #ifdef PUB_PARTNER
+				apitype: 'partner',
+				// #endif
+				// #ifdef PUB_CUSTOMER
+				apitype: 'customer',
+				// #endif
+				// return 'loginPartner'
+			};
+		},
+		methods: {
+			async getCode() {
+				console.log('getCode')
+				uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
+				if (this.getCodeisWaiting) {
+					return;
+				}
+				if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
+					this.$message.showToast('请填写正确手机号码')
+					return false;
+				}
+				this.getCodeText = "发送中..." //发送验证码
+				this.getCodeisWaiting = true;
+				this.getCodeBtnColor = "#000" //追加样式,修改颜色
+				//示例用定时器模拟请求效果
+				//setTimeout(()用于在指定的毫秒数后调用函数或计算表达式
+				const {
+					code
+				} = await this.$http.request('post', '/api/sms/send/code', {
+					data: {
+						tel: this.phoneNumber,
+						userType: this.apitype.toLowerCase()
+					}
+				})
+				if (code == 0) {
+					uni.showToast({
+						title: '验证码已发送',
+						icon: "none"
+					});
+					this.setTimer(); //调用定时器方法
+				} else {
+					this.getCodeText = "获取验证码" //发送验证码
+					this.getCodeisWaiting = false;
+					this.getCodeBtnColor = "#20613D";
+				}
+
+			},
+			//setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数
+			setTimer() {
+				let holdTime = 60; //定义变量并赋值
+				this.getCodeText = "重新获取(60)"
+				//setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。
+				//setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。
+				this.Timer = setInterval(() => {
+					if (holdTime <= 0) {
+						this.getCodeisWaiting = false;
+						this.getCodeBtnColor = "#20613D";
+						this.getCodeText = "获取验证码"
+						clearInterval(this.Timer); //清除该函数
+						return; //返回前面
+					}
+					this.getCodeText = "重新获取(" + holdTime + ")"
+					holdTime--;
+				}, 1000)
+			},
+			async getUserProfile(e) {
+				const res = await wx.getUserProfile({
+					desc: '用于转账实名验证',
+				});
+				console.log('getUserProfile', res);
+				// this.login_Wx(res.userInfo.avatarUrl, res.userInfo.nickName)
+			},
+			async wxlogin() {
+				var that = this;
+
+				if (!that.realName) {
+					uni.showToast({
+						title: '请输入真实姓名',
+						icon: 'none'
+					});
+					return;
+				}
+				if (!that.phoneNumber) {
+					uni.showToast({
+						title: '请输入手机号',
+						icon: 'none'
+					});
+					return;
+				}
+				if (!that.smsCode) {
+					uni.showToast({
+						title: '请输入手机验证码',
+						icon: 'none'
+					});
+					return;
+				}
+				let tmp = this
+				wx.login({
+					success: async res => {
+						console.log(res)
+						if (res.code) {
+							tmp.login(res.code)
+						} else {
+							tmp.$message.showToast('微信登录失败');
+						}
+					},
+					error: res => {
+						console.log('wx.login error', res)
+						tmp.$message.showToast('获取微信信息失败:' + res);
+					}
+				});
+			},
+			async login(wxcode) {
+
+
+				let post = {
+					tel: this.phoneNumber,
+					smsCode: this.smsCode,
+					userType: this.apitype,
+					realName: this.realName,
+					wxCode: wxcode,
+				}
+				this.$message.showLoading()
+				const resp = await this.$http.request('post', '/api/current/bind/wechat', {
+					data: post
+				});
+				this.$message.hideLoading()
+
+				if (resp.code === 0) {
+					this.$message.showToast('操作成功')
+					this.currentInfo.bindWechat = true
+					setTimeout(() => {
+						uni.navigateBack()
+
+					}, 400)
+				} else {
+
+					return;
+				}
+
+			},
+
+		}
+	};
+</script>
+<style lang="scss" scoped>
+	.form-input {
+		background-color: #f8f7fc;
+		border-radius: 50rpx;
+		margin-bottom: 50rpx;
+		border: 1px solid #e9e9e9;
+
+		/deep/ .u-input {
+			padding-left: 60rpx !important;
+			padding-right: 40rpx !important;
+		}
+
+		/deep/ input {
+			height: 70rpx;
+			line-height: 70rpx;
+
+		}
+
+	}
+</style>
+<style lang="scss" scoped>
+	@import '../../login/login.scss';
+
+	.main-container {
+		margin: 20px 0;
+	}
+
+	.img-a {
+		position: absolute;
+		width: 100%;
+		top: -150rpx;
+		right: 0;
+	}
+
+	.img-b {
+		position: absolute;
+		width: 50%;
+		bottom: 0;
+		left: -120rpx;
+	}
+
+	.to-home {
+		margin-top: 30rpx;
+		font-size: 30rpx;
+		color: #5af;
+		display: flex;
+		flex-direction: row-reverse;
+	}
+
+	.t-login {
+		width: 100%;
+		margin: 0 auto;
+		font-size: 28rpx;
+		color: #000;
+	}
+
+	.t-login .bg {
+		width: 100%;
+		position: relative;
+	}
+
+	.t-login .login {
+		width: 650rpx;
+		margin: 60rpx auto;
+		margin-top: 0rpx;
+		font-size: 28rpx;
+		color: #000;
+	}
+
+	.t-login button {
+		font-size: 28rpx;
+		background: #5677fc;
+		color: #fff;
+		height: 90rpx;
+		line-height: 90rpx;
+		border-radius: 50rpx;
+		box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
+	}
+
+	.t-login input {
+		padding: 0 20rpx 0 60rpx;
+		height: 90rpx;
+		line-height: 90rpx;
+		margin-bottom: 50rpx;
+		background: #f8f7fc;
+		border: 1px solid #e9e9e9;
+		font-size: 28rpx;
+		border-radius: 50rpx;
+	}
+
+	.t-login .t-a {
+		position: relative;
+
+		.get-code {
+			// position: absolute;
+			// right: 40rpx;
+			// top: 25rpx;
+		}
+	}
+
+	.t-login .t-a .icon {
+		width: 40rpx;
+		height: 40rpx;
+		position: absolute;
+		left: 24rpx;
+		top: 14rpx;
+		margin-right: 20rpx;
+	}
+
+	.t-login .t-a .line {
+		width: 2rpx;
+		height: 40rpx;
+		background-color: #dedede;
+		position: absolute;
+		top: 28rpx;
+		left: 98rpx;
+	}
+
+	.t-login .t-b {
+		text-align: left;
+		font-size: 46rpx;
+		color: #000;
+		padding: 300rpx 0 30rpx 0;
+		font-weight: bold;
+	}
+
+	.t-login .t-b2 {
+		text-align: left;
+		font-size: 32rpx;
+		color: #aaaaaa;
+		padding: 0rpx 0 120rpx 0;
+	}
+
+	.t-login .t-c {
+		position: absolute;
+		right: 22rpx;
+		top: 22rpx;
+		background: #5677fc;
+		color: #fff;
+		font-size: 24rpx;
+		border-radius: 50rpx;
+		height: 50rpx;
+		line-height: 50rpx;
+		padding: 0 25rpx;
+		z-index: 999;
+	}
+
+	.t-login .t-d {
+		text-align: center;
+		color: #999;
+		margin: 80rpx 0;
+	}
+
+	.t-login .t-e {
+		text-align: center;
+		width: 250rpx;
+		margin: 80rpx auto 0;
+	}
+
+	.t-login .t-g {
+		float: left;
+		width: 50%;
+	}
+
+	.t-login .t-e image {
+		width: 50rpx;
+		height: 50rpx;
+	}
+
+	.t-login .t-f {
+		text-align: center;
+		margin: 200rpx 0 0 0;
+		color: #666;
+	}
+
+	.t-login .t-f text {
+		margin-left: 20rpx;
+		color: #aaaaaa;
+		font-size: 27rpx;
+	}
+
+	// .t-login .uni-input-placeholder {
+	// 	color: #000;
+	// }
+
+	.cl {
+		zoom: 1;
+	}
+
+	.cl:after {
+		clear: both;
+		display: block;
+		visibility: hidden;
+		height: 0;
+		content: '\20';
+	}
+</style>
\ No newline at end of file
diff --git a/sub_pages/customer/shopping/confirm.vue b/sub_pages/customer/shopping/confirm.vue
index 25ae013..777dd9a 100644
--- a/sub_pages/customer/shopping/confirm.vue
+++ b/sub_pages/customer/shopping/confirm.vue
@@ -205,8 +205,8 @@
 		</view>
 		<view>
 			<view class="flower-container m-t-12 br-4 p10">
-				<view class="shopping-item m-b-20" v-for="(item,index) of dto.flowers" :key="index">
-					<u-divider v-if="index>0"></u-divider>
+				<view class="shopping-item " v-for="(item,index) of dto.flowers" :key="index">
+					<!-- <view class="line-gray" v-if></view> -->
 					<view class="sup-title flex">
 						<image class="icon-dp img100 m-r-10" src="/static/common/icon-dp.png"></image>
 						<view>{{ item.supplierName || '-' }}</view>
@@ -352,7 +352,7 @@
 			background-color: #ffffff;
 
 			.shopping-item {
-				padding: 28rpx 22rpx;
+				padding: 10rpx 22rpx;
 				position: relative;
 
 				.sup-title {
diff --git a/sub_pages/customer/trade/list.vue b/sub_pages/customer/trade/list.vue
index 19757a0..4924d66 100644
--- a/sub_pages/customer/trade/list.vue
+++ b/sub_pages/customer/trade/list.vue
@@ -270,11 +270,17 @@
 			updateValue(item, value) {
 				// item.value = value
 				// this.$set(item, 'value', value)
-				if (item.value.indexOf(value) < 0) {
-					item.value.push(value)
+				if (item.name == '优点' || item.name === '缺点') {
+					if (item.value.indexOf(value) < 0) {
+						item.value.push(value)
+					} else {
+						item.value.splice(item.value.indexOf(value), 1)
+					}
 				} else {
-					item.value.splice(item.value.indexOf(value), 1)
+					//单选
+					item.value = [value]
 				}
+
 				this.$forceUpdate()
 			},
 			closeParamPop() {
diff --git a/sub_pages/partner/delivery/delivery-home.vue b/sub_pages/partner/delivery/delivery-home.vue
index 19a83aa..4b868df 100644
--- a/sub_pages/partner/delivery/delivery-home.vue
+++ b/sub_pages/partner/delivery/delivery-home.vue
@@ -34,7 +34,7 @@
 				</view>
 				<view class="name" v-if="!currentInfo.id" open-type="getUserInfo" @click.stop="toCustomerLogin"
 					style="font-size: 48rpx;margin-top: 16rpx;">
-					{{ '点击登陆' }}
+					{{ '点击登陆/注册' }}
 				</view>
 				<image class="icon-setting" src="../../static/common/icon-setting.png" mode="aspectFit"></image>
 			</view>
diff --git a/sub_pages/partner/partner-info/partner-info.vue b/sub_pages/partner/partner-info/partner-info.vue
index c103c88..698993b 100644
--- a/sub_pages/partner/partner-info/partner-info.vue
+++ b/sub_pages/partner/partner-info/partner-info.vue
@@ -206,8 +206,7 @@
 							this.dto.city = e.detail.value[0].value
 						if (!!e.detail.value[1])
 							this.dto.region = e.detail.value[1].value
-					}
-					else if(e.detail.value.length <= 3) {
+					} else if (e.detail.value.length <= 3) {
 						if (!!e.detail.value[0])
 							this.dto.province = e.detail.value[0].value
 						if (!!e.detail.value[1])
@@ -305,10 +304,23 @@
 						return
 					}
 				}
+			
+				if (this.dto.contactTel.length !== 11 && !this.dto.contactTel.startsWith('1')) {
+					this.$message.showToast(`联系方式需要为11位,且开头为1`)
+					return
+				}
+				if(isNaN(parseInt(this.dto.contactTel))){
+					this.$message.showToast(`联系方式需要为11位手机号,格式错误`)
+					return
+				}
 				if (this.dto.idCards.length == 0) {
 					this.$message.showToast(`身份证信息未填写`)
 					return
 				}
+				if (this.dto.idCards.length < 2) {
+					this.$message.showToast(`身份证信息需要上传至少2张图片(正反面)`)
+					return
+				}
 				await this.$message.confirm(`是否确定提交/修改信息`)
 
 				if (this.source === 'step') {
diff --git a/sub_pages/supplier/flower-manage/flower-add.vue b/sub_pages/supplier/flower-manage/flower-add.vue
index 0fd1182..185a721 100644
--- a/sub_pages/supplier/flower-manage/flower-add.vue
+++ b/sub_pages/supplier/flower-manage/flower-add.vue
@@ -337,16 +337,20 @@
 		},
 
 		methods: {
-			updateValue(item, value) {
-				if (item.value.indexOf(value) >= 0) {
-					item.value.splice(item.value.indexOf(value), 1)
-				} else {
-					item.value.push(value)
+			updateValue(item, value) {
+				
+				if (item.name == '优点' || item.name === '缺点') {
+					if (item.value.indexOf(value) < 0) {
+						item.value.push(value)
+					} else {
+						item.value.splice(item.value.indexOf(value), 1)
+					}
+				} else {
+					//单选
+					item.value = [value]
 				}
-				// item.value = value
-				// this.$set(item, 'value', value)
+
 				this.$forceUpdate()
-				// console.log('updateValue')
 			},
 			async updateSearch(search) {
 				this.columns_categorys_search = search || ''
diff --git a/sub_pages/supplier/print/print-list.vue b/sub_pages/supplier/print/print-list.vue
index d7351d4..66c3832 100644
--- a/sub_pages/supplier/print/print-list.vue
+++ b/sub_pages/supplier/print/print-list.vue
@@ -448,34 +448,37 @@
 				var that = this;
 
 				var command = tsc.jpPrinter.createNew()
-				command.setSize(48, 96)
+				command.setSize(48, 60)
 				command.setGap(0)
 				command.setCls()
 				// command.setText(0, 30, "TSS24.BF2", 1, 1, "图片")
 				// command.setQR(40, 120, "L", 5, "A", "www.smarnet.cc佳博智汇")
-				command.setText(60, 20, "TSS24.BF2", 1, 1, "单号:" + (that.item.orderNo || '-'))
+				// command.setText(60, 20, "TSS24.BF2", 1, 1, "单号:" + (that.item.orderNo || '-'))
 				if (that.item.warehouseName)
-					command.setText(10, 60, "TSS24.BF2", 1, 1, "仓库: " + that.item.warehouseName)
+					command.setText(10, 20, "TSS24.BF2", 1, 1, "仓库: " + that.item.warehouseName)
 				if (that.item.warehouseLocationCode)
-					command.setText(200, 60, "TSS24.BF2", 1, 1, "库位: " + that.item.warehouseLocationCode)
+					command.setText(200, 20, "TSS24.BF2", 1, 1, "库位: " + that.item.warehouseLocationCode)
 
 				// command.setText(170, 50, "TSS24.BF2", 1, 1, "小程序测试")
 				// command.setText(170, 90, "TSS24.BF2", 1, 1, "测试数字12345678")
 				// command.setText(170, 120, "TSS24.BF2", 1, 1, "测试英文abcdefg")
 				// command.setText(170, 150, "TSS24.BF2", 1, 1, "测试符号/*-+!@#$")
-				command.setText(10, 100, "TSS24.BF2", 1, 1, "供应商: " + (that.item.supplierName || '-'))
-				command.setText(10, 140, "TSS24.BF2", 1, 1, "商品名称: " + (that.item.flowerName || '-'))
-				command.setText(10, 180, "TSS24.BF2", 1, 1, "等级: " + (that.item.flowerLevelStr || '-'))
-				command.setText(200, 180, "TSS24.BF2", 1, 1, "颜色: " + (that.item.flowerColor || '-'))
-				command.setText(10, 220, "TSS24.BF2", 1, 1, "价格: ¥ " + (that.item.price || '-'))
-				command.setText(200, 220, "TSS24.BF2", 1, 1, "数目: x " + (that.item.num || '0'))
-				command.setText(10, 260, "TSS24.BF2", 1, 1, "规格: " + (that.item.flowerUnit || '-'))
-				command.setText(10, 300, "TSS24.BF2", 1, 1, "花满芫")
-				command.setText(170, 300, "TSS24.BF2", 1, 1, that.$util.toDateMin(new Date()))
+				command.setText(10, 60, "TSS24.BF2", 1, 1, "供应商: " + (that.item.supplierName || '-'))
+				command.setText(10, 100, "TSS24.BF2", 1, 1, "商品名称: " + (that.item.flowerName || '-'))
+				command.setText(10, 140, "TSS24.BF2", 1, 1, "等级: " + (that.item.flowerLevelStr || '-'))
+				command.setText(200, 140, "TSS24.BF2", 1, 1, "颜色: " + (that.item.flowerColor || '-'))
+				// command.setText(10, 220, "TSS24.BF2", 1, 1, "价格: ¥ " + (that.item.price || '-'))
+				command.setText(10, 180, "TSS24.BF2", 1, 1, "规格: " + (that.item.flowerUnit || '-'))
+				command.setText(200, 180, "TSS24.BF2", 1, 1, "数目: x " + (that.item.num || '0'))
+				// command.setText(10, 300, "TSS24.BF2", 1, 1, "花满芫")
+				command.setText(100, 220, "TSS24.BF2", 1, 1, that.$util.toDateMin(new Date()))
 				if (that.item.params) {
 					var addnum = 0
-					var hlen = 300
+					var hlen = 220
 					for (var p of that.item.params) {
+						if (p.name !== '枝长' && p.name !== '成熟度') {
+							continue
+						}
 						if (p.value) {
 							var lef = 10
 							if (addnum % 2 == 1) {
diff --git a/sub_pages/supplier/supplier-info/supplier-info.vue b/sub_pages/supplier/supplier-info/supplier-info.vue
index 2fe3f08..77cc38a 100644
--- a/sub_pages/supplier/supplier-info/supplier-info.vue
+++ b/sub_pages/supplier/supplier-info/supplier-info.vue
@@ -114,19 +114,24 @@
 				<view class="label required">选择审核方式</view>
 				<view class="m-l-a m-r-0 flex">
 
-					<u-radio-group v-model="dto.idcardType" placement="row">
+					<!-- 	<u-radio-group v-model="dto.idcardType" placement="row">
 						<u-radio :customStyle="{'margin-bottom': '8px','margin-right': '8px','font-size':'28rpx'}"
 							v-for="(item, index) in shTypeList" :key="index" :label="item.name" :name="item.name">
 						</u-radio>
-					</u-radio-group>
+					</u-radio-group> -->
+					<view>
+						<radio :checked="dto.idcardType==='身份证'" @click="dto.idcardType='身份证'">
+						</radio>身份证
+					</view>
+					<view>
+						<radio :checked="dto.idcardType==='营业执照'" @click="dto.idcardType='营业执照'">
+						</radio>营业执照
+					</view>
 				</view>
 			</view>
 			<view class="form-item bottom-border-no before-line m-t-20 p-b-20" v-if="dto.idcardType=='身份证'">
 				<view class="label required">身份证正反面</view>
 				<view class="m-l-a m-r-0 flex">
-					<!-- 					<view class="component-button-upload m-r-15" @click="uploadIcon('idCards')">
-
-					</view> -->
 					<view class="component-button-upload" @click="uploadIcon('idCards')">
 
 					</view>
@@ -162,9 +167,16 @@
 
 
 
-			<view class="button-green-1 m-t-20 button-fixed-bottom before-line " @click="submit">
+			<view class="button-green-1 m-t-20 button-fixed-bottom before-line " style="font-size: 22rpx;"
+				v-if="currentInfo.supplierDTO&&currentInfo.supplierDTO.status==='P'">
+				审核已通过,若修改信息请联系客服
+			</view>
+
+			<view class="button-green-1 m-t-20 button-fixed-bottom before-line " v-else @click="submit">
 				提交审核
 			</view>
+
+
 
 		</view>
 
@@ -318,7 +330,7 @@
 							this.dto.city = e.detail.value[0].value
 						if (!!e.detail.value[1])
 							this.dto.region = e.detail.value[1].value
-					}else if(e.detail.value.length <= 3) {
+					} else if (e.detail.value.length <= 3) {
 						if (!!e.detail.value[0])
 							this.dto.province = e.detail.value[0].value
 						if (!!e.detail.value[1])
@@ -444,10 +456,22 @@
 						return
 					}
 				}
+				if (this.dto.contactTel.length !== 11 && !this.dto.contactTel.startsWith('1')) {
+					this.$message.showToast(`联系方式需要为11位,且开头为1`)
+					return
+				}
+				if (isNaN(parseInt(this.dto.contactTel))) {
+					this.$message.showToast(`联系方式需要为11位手机号,格式错误`)
+					return
+				}
 				if (this.dto.idcardType == '身份证' && this.dto.idCards.length == 0) {
 					this.$message.showToast(`${this.dto.idcardType}信息未填写`)
 					return
 				}
+				if (this.dto.idcardType == '身份证' && this.dto.idCards.length < 2) {
+					this.$message.showToast(`${this.dto.idcardType}信息未填写完整,至少上传两张图片(正反面)`)
+					return
+				}
 				if (this.dto.idcardType !== '身份证' && this.dto.pictures.length == 0) {
 					this.$message.showToast(`${this.dto.idcardType}信息未填写`)
 					return

--
Gitblit v1.9.3