From 935f34238713b63a1f44fb12d09cd2512b1bd46d Mon Sep 17 00:00:00 2001
From: li-guang <153605324@qq.com>
Date: Wed, 23 Dec 2020 16:21:18 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/jyyforjava/hive-app

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

diff --git a/hive-app/pages/member/editMember.vue b/hive-app/pages/member/editMember.vue
index 015989f..d86f5d4 100644
--- a/hive-app/pages/member/editMember.vue
+++ b/hive-app/pages/member/editMember.vue
@@ -1,20 +1,24 @@
 <template>
 	<view class="container">
-		<form @submit="add">
+		<form @submit="submit" id="list">
 			<view class="input-group-row">
 				<text class="label">会员姓名<text class="require">*</text></text>
-				<input name="account" type="text" value="" placeholder="请填写会员姓名" placeholder-class='placeholder'/>
+				<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>
+				<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 class="require">*</text></text>
-				<input name="account" type="number" value="" placeholder="请填写手机号码" placeholder-class='placeholder'/>
+				<input name="phone" v-model="formData.phone" type="number" maxlength="11" placeholder="请填写手机号码" placeholder-class='placeholder'/>
 			</view>
 			<view class="input-group-row">
 				<text class="label">性别<text class="require">*</text></text>
 				<view class="right-text">
-					<radio-group @change="sexChange">
-						<label><radio name="sex" value="1" color="#518EFF"  class="radio" checked/>男</label>
-						<label><radio name="sex" value="2" color="#518EFF" class="radio"/>女</label>
+					<radio-group name="sex">
+						<label><radio value="男" color="#518EFF"  class="radio" :checked="formData.sex==='男'"/>男</label>
+						<label><radio value="女" color="#518EFF" class="radio" :checked="formData.sex==='女'"/>女</label>
 					</radio-group>
 				</view>
 			</view>
@@ -22,27 +26,26 @@
 				<text class="label">生日</text>
 				<view class="right-text">
 					<picker mode="date" @change="dateChange" :end="endDate">
-						<view>{{birthday}}</view>
+						<text :class="formData.birthday?'':'gray'">{{formData.birthday?formData.birthday:'请选择生日'}}</text>
 					</picker>
 				</view>
 			</view>
 			<view class="input-group-row">
 				<text class="label">省市区</text>
 				<view @click="openAddres" class="right-text">
-					<text v-if="regionText">{{regionText}}</text>
-					<text v-else class="gray">请选择省市区</text>
+					<text :class="formData.areas?'':'gray'">{{formData.areas?formData.areas:'请选择省市区'}}</text>
 				</view>
 			</view>
 			<view class="input-group-row">
 				<text class="label">详细地址</text>
-				<input name="account" type="text" value="" placeholder="请填写详细地址" placeholder-class='placeholder'/>
+				<input name="address" v-model="formData.address" type="text" value="" placeholder="请填写详细地址" placeholder-class='placeholder'/>
 			</view>
 			<view class="input-group-row">
 				<text class="label">到店途径</text>
 				<view class="right-text">
-					<picker mode="selector" :range="wayList" @change="wayChange">
+					<picker mode="selector" range-key="value" :range="arrivalWayList" @change="wayChange">
 						<view>
-							{{way}}
+							<text :class="formData.arrivalWay?'':'gray'">{{formData.arrivalWay?formData.arrivalWay:'请选择到店途径'}}</text>
 							<text class="iconfont iconjiantouarrow486 gray"></text>
 						</view>
 					</picker>
@@ -51,9 +54,9 @@
 			<view class="input-group-row">
 				<text class="label">推荐人</text>
 				<view class="right-text">
-					<picker mode="selector" :range="referrerList" @change="referrerChange">
+					<picker mode="selector" range-key="vipName" :range="referrerList" @change="referrerChange">
 						<view>
-							{{referrer}}
+							<text :class="recommendName?'':'gray'">{{recommendName?recommendName:'请选择推荐人'}}</text>
 							<text class="iconfont iconjiantouarrow486 gray"></text>
 						</view>
 					</picker>
@@ -61,16 +64,15 @@
 			</view>
 			<view class="input-group-row">
 				<text class="label">备注</text>
-				<input name="account" type="text" value="" placeholder="请填写备注" placeholder-class='placeholder'/>
+				<input name="remark" v-model="formData.remark" maxlength="60" type="text" placeholder="请填写备注" placeholder-class='placeholder'/>
 			</view>
 			<view class="input-group-row">
 				<text class="label">标签</text>
 				<view class="right-text">
-					<text class="tag">大方<text class="iconfont iconguanbi gray"></text></text>
-					<text class="tag">大方<text class="iconfont iconguanbi gray"></text></text>
+					<!-- <text class="tag">大方<text class="iconfont iconguanbi gray"></text></text> -->
 				</view>
 			</view>
-			<button type="submit" class="blue-btn sticky-footer">保存</button>
+			<button form-type="submit" :disabled="isDisabled" class="blue-btn sticky-footer">保存</button>
 		</form>
 		<region ref="simpleAddress" @onConfirm="addressChange" themeColor="#518EFF" cancelColor="#8c9fad"></region>
 	</view>
@@ -84,20 +86,36 @@
 		},
 		data(){
 			return {
-				birthday: '1990-01-02',
-				regionText: '',
-				wayList: ['美团','户外广告'],
-				way: '美团',
-				referrerList: ['张三'],
-				referrer: '张三'
+				formData: {
+					vipName: '',
+					vipNo: '',
+					phone: '',
+					sex: '女',
+					birthday: '',
+					areas: '',
+					address: '',
+					arrivalWay: '',
+					recommendId: '',
+					remark: '',
+					labels: []
+				},
+				id: '',
+				isDisabled: false,
+				arrivalWayList: [],
+				referrerList: [],
+				recommendName: ''
 			}
 		},
 		onLoad(options) {
 			if(options.id){
+				this.id = options.id;
 				uni.setNavigationBarTitle({
 					title: '编辑会员'
 				});
+				this.getMemberInfo()
 			}
+			this.loadArrivalWayList();
+			this.loadReferrerList();
 		},
 		computed: {
 			endDate() {
@@ -105,15 +123,48 @@
 			}
 		},
 		methods:{
-			add(){
-				
+			// 加载到店途径列表
+			loadArrivalWayList(){
+				this.$httpUtils.request('/api/vip/findArrivalWayList').then((res) => {
+					if(res.status == 200){
+						this.arrivalWayList = res.rows;
+					}
+				})
 			},
-			sexChange(e){
-				console.log(e)
+			// 加载推荐人列表
+			loadReferrerList(){
+				this.$httpUtils.request('/api/vip/findAllVipInfo').then((res) => {
+					if(res.status == 200){
+						this.referrerList = 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;
+									break;
+								}
+							}
+						}
+					}
+				})
+			},
+			// 查询会员详情
+			getMemberInfo(){
+				this.$httpUtils.request('/api/vip/findVipInfoDetailById/'+this.id).then((res) => {
+					if(res.status == 200){
+						const result = res.mapInfo.vipInfo;
+						const {province, city, area} = result;
+						for(var key in this.formData){
+							this.formData[key] = result[key];
+						}
+						let arr = [province, city, area].filter((item) => {
+							return item
+						})
+						this.formData.areas = arr.join('-')
+					}
+				})
 			},
 			dateChange(e){
-				this.birthday = e.detail.value;
-				console.log(e)
+				this.formData.birthday = e.detail.value;
 			},
 			getDate(type) {
 				const date = new Date();
@@ -132,14 +183,56 @@
 				this.$refs.simpleAddress.open();
 			},
 			addressChange(e){
-				this.regionText = e.labelArr.join(' ');
+				this.formData.areas = e.labelArr.join('-');
 			},
 			wayChange(e){
-				this.way = this.wayList[e.detail.value];
+				this.formData.arrivalWay = this.arrivalWayList[e.detail.value].value;
 			},
 			referrerChange(e){
-				this.referrer = this.referrerList[e.detail.value];
-			}
+				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;
+				if(!vipName){
+					this.$toast.info('请填写会员姓名');
+					return false;
+				}
+				if(!vipNo){
+					this.$toast.info('请填写会员编号');
+					return false;
+				}
+				if(!this.$utils.checkPhone(phone)){
+					this.$toast.info('请填写正确的手机号码');
+					return false;
+				}
+				if(!sex){
+					this.$toast.info('请选择性别');
+					return false;
+				}
+			},
+			submit(e){
+				let url = '';
+				if(this.valid() === false){
+					return;
+				}
+				this.isDisabled = true;
+				if(this.id){
+					url = '/api/vip/modifyVip';
+					Object.assign(this.formData, {vipId: this.id})
+				} else {
+					url = '/api/vip/addVip';
+				}
+				this.$httpUtils.request(url, this.formData, 'POST').then((res) => {
+					if(res.status == 200){
+						uni.navigateBack()
+					}
+					this.$toast.info(res.info);
+					this.isDisabled = false;
+				}).catch(() => {
+					this.isDisabled = false;
+				})
+			},
 		}
 	}
 </script>

--
Gitblit v1.9.1