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