From c4246ca910f28014efaace64ebf92f47a673a9cf Mon Sep 17 00:00:00 2001
From: queenwuli <942534046@qq.com>
Date: Mon, 25 Jan 2021 11:47:46 +0800
Subject: [PATCH] gx

---
 hive-app/pages/member/editMember.vue |  129 +++++++++++++++++++++++++++++++-----------
 1 files changed, 95 insertions(+), 34 deletions(-)

diff --git a/hive-app/pages/member/editMember.vue b/hive-app/pages/member/editMember.vue
index 938a04f..860c500 100644
--- a/hive-app/pages/member/editMember.vue
+++ b/hive-app/pages/member/editMember.vue
@@ -2,12 +2,23 @@
 	<view class="container">
 		<form @submit="submit" id="list">
 			<view class="input-group-row">
+				<text class="label">会员头像</text>
+				<view class="right-text flex align-center justify-end" @click="showUploadImage">
+					<image :src="formData.photo?formData.photo:'../../static/images/default-avatar.png'" class="avatar"></image>
+					<text class="iconfont iconarrow-backimg gray"></text>
+				</view>
+			</view>
+			<view class="input-group-row">
 				<text class="label">会员姓名<text class="require">*</text></text>
 				<input name="vipName" v-model="formData.vipName" type="text" maxlength="20"  placeholder="请填写会员姓名" placeholder-class='placeholder'/>
 			</view>
 			<view class="input-group-row">
-				<text class="label">会员编号<text class="require">*</text></text>
+				<text class="label">会员编号</text>
 				<input name="vipNo" v-model="formData.vipNo" type="text" maxlength="10" placeholder="请填写会员编号" placeholder-class='placeholder'/>
+			</view>
+			<view class="input-group-row">
+				<text class="label">资金密码</text>
+				<input name="password" v-model="formData.password" type="password" maxlength="6" placeholder="6位数字格式密码" placeholder-class='placeholder'/>
 			</view>
 			<view class="input-group-row">
 				<text class="label">手机号码<text class="require">*</text></text>
@@ -16,7 +27,7 @@
 			<view class="input-group-row">
 				<text class="label">性别<text class="require">*</text></text>
 				<view class="right-text">
-					<radio-group name="sex">
+					<radio-group name="sex" @change="sexChange">
 						<label><radio value="男" color="#518EFF"  class="radio" :checked="formData.sex==='男'"/>男</label>
 						<label><radio value="女" color="#518EFF" class="radio" :checked="formData.sex==='女'"/>女</label>
 					</radio-group>
@@ -53,32 +64,31 @@
 			</view>
 			<view class="input-group-row">
 				<text class="label">推荐人</text>
-				<view class="right-text">
-					<picker mode="selector" range-key="vipName" :range="referrerList" @change="referrerChange">
-						<view>
-							<text :class="recommendName?'':'gray'">{{recommendName?recommendName:'请选择推荐人'}}</text>
-							<text class="iconfont iconjiantouarrow486 gray"></text>
-						</view>
-					</picker>
-				</view>
+				<navigator :url="'./selectCustomer?selectId='+formData.recommendId" hover-class="none" class="right-text">
+					<text :class="recommendName?'':'gray'">{{recommendName?recommendName:'请选择推荐人'}}</text>
+					<text class="iconfont iconarrow-backimg gray"></text>
+				</navigator>
 			</view>
 			<view class="input-group-row">
 				<text class="label">备注</text>
 				<input name="remark" v-model="formData.remark" maxlength="60" type="text" placeholder="请填写备注" placeholder-class='placeholder'/>
 			</view>
-			<navigator url="./addLabel" hover-class="none" class="input-group-row">
+			<view class="input-group-cloume" @click="toLabel">
 				<text class="label">标签</text>
-				<view class="right-text">
-					<!-- <text class="tag">大方<text class="iconfont iconguanbi gray"></text></text> -->
+				<view class="tag-wrap">
+					<text class="tag" v-for="item in labels">{{item.label}}</text>
 				</view>
-			</navigator>
-			<button form-type="submit" :disabled="isDisabled" class="blue-btn sticky-footer">保存</button>
+			</view>
+			<view class="footer">
+				<button form-type="submit" :disabled="isDisabled" class="blue-btn ">保存</button>
+			</view>
 		</form>
 		<region ref="simpleAddress" @onConfirm="addressChange" themeColor="#518EFF" cancelColor="#8c9fad"></region>
 	</view>
 </template>
 
 <script>
+	import imageUploadUtils from '../../common/jssdk/uploadImg.js'
 	import region from '../../components/simple-address/simple-address.vue';
 	export default{
 		components:{
@@ -97,13 +107,15 @@
 					arrivalWay: '',
 					recommendId: '',
 					remark: '',
-					labels: []
+					labels: [],
+					photo: '',
+					password: ''
 				},
 				id: '',
 				isDisabled: false,
 				arrivalWayList: [],
-				referrerList: [],
-				recommendName: ''
+				recommendName: '',
+				labels: []
 			}
 		},
 		onLoad(options) {
@@ -135,11 +147,11 @@
 			loadReferrerList(){
 				this.$httpUtils.request('/api/vip/findAllVipInfo').then((res) => {
 					if(res.status == 200){
-						this.referrerList = res.rows;
+						let result = res.rows;
 						if(this.id){
-							for(var i in this.referrerList){
-								if(this.referrerList[i].id === this.formData.recommendId){
-									this.recommendName = this.referrerList[i].vipName;
+							for(var i in result){
+								if(result[i].id === this.formData.recommendId){
+									this.recommendName = result[i].vipName;
 									break;
 								}
 							}
@@ -154,14 +166,25 @@
 						const result = res.mapInfo.vipInfo;
 						const {province, city, area} = result;
 						for(var key in this.formData){
-							this.formData[key] = result[key];
+							if(key!='labels'){
+								this.formData[key] = result[key];
+							}
 						}
+						this.labels = result.labels;
 						let arr = [province, city, area].filter((item) => {
 							return item
 						})
 						this.formData.areas = arr.join('-')
 					}
 				})
+			},
+			showUploadImage(){
+				imageUploadUtils.show((res) => {
+					this.formData.photo = res;
+				})
+			},
+			sexChange(e){
+				this.formData.sex = e.detail.value;
 			},
 			dateChange(e){
 				this.formData.birthday = e.detail.value;
@@ -188,20 +211,20 @@
 			wayChange(e){
 				this.formData.arrivalWay = this.arrivalWayList[e.detail.value].value;
 			},
-			referrerChange(e){
-				this.formData.recommendId = this.referrerList[e.detail.value].id;
-				this.recommendName = this.referrerList[e.detail.value].vipName;
-			},
 			valid(){
-				const {vipName, vipNo, phone, sex} = this.formData;
+				const {vipName, vipNo,password, phone, sex} = this.formData;
 				if(!vipName){
 					this.$toast.info('请填写会员姓名');
 					return false;
 				}
-				if(!vipNo){
-					this.$toast.info('请填写会员编号');
-					return false;
-				}
+				// if(!vipNo){
+				// 	this.$toast.info('请填写会员编号');
+				// 	return false;
+				// }
+				// if(!/^\d{6}$/.test(password)){
+				// 	this.$toast.info('请填写6位数字格式的密码');
+				// 	return false;
+				// }
 				if(!this.$utils.checkPhone(phone)){
 					this.$toast.info('请填写正确的手机号码');
 					return false;
@@ -212,6 +235,8 @@
 				}
 			},
 			submit(e){
+				let pages = getCurrentPages();
+				let prevPage = pages[ pages.length - 2 ]; 
 				let url = '';
 				if(this.valid() === false){
 					return;
@@ -223,8 +248,13 @@
 				} else {
 					url = '/api/vip/addVip';
 				}
+				this.formData.labels = this.labels.map((item) => {
+					return item.id
+				});
 				this.$httpUtils.request(url, this.formData, 'POST').then((res) => {
 					if(res.status == 200){
+						console.log(prevPage.$vm.loadMemberList)
+						prevPage.$vm.loadMemberList && prevPage.$vm.loadMemberList();
 						uni.navigateBack()
 					}
 					this.$toast.info(res.info);
@@ -233,13 +263,44 @@
 					this.isDisabled = false;
 				})
 			},
+			setData(selectItem){
+				selectItem.forEach((item) => {
+					this.recommendName = item.vipName;
+					this.formData.recommendId = item.id;
+				});
+			},
+			setLabel(selectItem){
+				this.labels = selectItem;
+				
+			},
+			toLabel(){
+				let labels = this.labels.map((item) => {
+					return item.id
+				});
+				let str = labels.length?labels.join(','):'';
+				uni.navigateTo({
+					url: './addLabel?selectId='+str
+				})
+			}
 		}
 	}
 </script>
 
 <style>
 	.container{
-		padding: 10px 10px;
+		padding: 10px 10px 80px;
 	}
-	
+	.avatar{
+		width: 44px;
+		height: 44px;
+		border-radius: 50%;
+	}
+	.footer{
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		background: #FFFFFF;
+		padding: 0 10px 20px;
+	}
 </style>

--
Gitblit v1.9.1