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