<template> <section class="user-info "> <Header :title="title" :historyb="historyb" @toSomeThing="toSomeThingGo"></Header> <div v-if="!isEdit" class="info-box "> <div class="group-info"> <div class="group-left">联系人</div> <div class="group-right" v-if="userInfo.user_info"> <input type="text" :value="userInfo.user_info.nike_name" readonly /> </div> </div> <div class="group-info"> <div class="group-left">性别</div> <div class="group-right" v-if="userInfo.user_info"> <input type="text" :value="userInfo.user_info.sex==2?'女':'男'" readonly /> </div> </div> <div class="group-info"> <div class="group-left">手机号</div> <div class="group-right" v-if="userInfo.user_info"> <input type="text" :value="userInfo.user_info.mobile" readonly /> </div> </div> <div class="group-info"> <div class="group-left">邮箱</div> <div class="group-right" v-if="userInfo.user_info"> <input type="text" :value="userInfo.user_info.email" readonly placeholder="请登录PC端修改邮箱"/> </div> </div> <div class="group-info"> <div class="group-left">公司名称</div> <div class="group-right" v-if="userInfo.company_info"> <input type="text" :value="userInfo.company_info.com_name" readonly /> </div> </div> <div class="group-info"> <div class="group-left">公司类型</div> <div class="group-right" v-if="userInfo.company_info"> <input type="text" :value="userInfo.company_info.type_name" readonly /> </div> </div> <div class="group-info"> <div class="group-left">公司座机</div> <div class="group-right" v-if="userInfo.company_info"> <input type="text" :value="userInfo.company_info.com_telphone" readonly /> </div> </div> <div class="group-info"> <div class="group-left">公司简介</div> <div class="group-right" v-if="userInfo.company_info"> <input type="text" :value="userInfo.company_info.com_desc" readonly /> </div> </div> <div class="group-info"> <div class="group-left">公司地址</div> <div class="group-right" v-if="userInfo.company_info"> <input type="text" :value="(userInfo.company_info.province_name+userInfo.company_info.city_name+userInfo.company_info.area_name)||''" readonly /> </div> </div> <div class="group-info"> <div class="group-left">详细地址</div> <div class="group-right" v-if="userInfo.company_info"> <input type="text" :value="userInfo.company_info.com_address" readonly /> </div> </div> <div class="tips"> <font class="f-red">*</font> 每完善一项基本信息,可以获得40个积分哦! </div> <div class="btnsub"> <span class="btnnext" @click="editUi">编辑信息</span> </div> </div> <transition name="slide-right"> <div v-if="isEdit" class="info-edit Router"> <div class="group-info"> <div class="group-left">联系人</div> <div class="group-right" > <input type="text" v-model="xlxr" /> </div> </div> <div class="group-info"> <div class="group-left">性别</div> <div class="group-right" @click="actShow=!actShow" readonly> <input type="text" :value="xxb" /> </div> </div> <div class="group-info"> <div class="group-left">手机号</div> <div class="group-right"> <input type="text" v-model="xsj" onkeyup="if(event.keyCode !=37 && event.keyCode != 39){if (!/^[\d]+$/ig.test(this.value)){this.value='';}}" /> </div> </div> <div class="group-info"> <div class="group-left">邮箱</div> <div class="group-right"> <input type="text" v-model="xyx" placeholder="请登录PC端修改邮箱" readonly /> </div> </div> <div class="group-info"> <div class="group-left">公司名称</div> <div class="group-right"> <input type="text" v-model="xgsmc"> </div> </div> <div class="group-info"> <div class="group-left">公司类型</div> <div class="group-right"> <input type="text" :value="xgslx" @click="actShow1=!actShow1" readonly /> </div> </div> <div class="group-info"> <div class="group-left">公司座机</div> <div class="group-right"> <input type="text" v-model="xgszj"> </div> </div> <div class="group-info"> <div class="group-left">公司简介</div> <div class="group-right"> <input type="text" v-model="xgsjj"> </div> </div> <div class="group-info"> <div class="group-left">公司地址</div> <div class="group-right"> <input type="text" v-model="xgsdz" readonly @click="showp"/> </div> </div> <div class="group-info"> <div class="group-left">详细地址</div> <div class="group-right"> <input type="text" v-model="xxxdz"> </div> </div> <div class="tips"> <font class="f-red">*</font> 每完善一项基本信息,可以获得40个积分哦! </div> <div class="btnsub" ref="pickerNew2"> <div class="btnnext submitbtn" @click="submitG">保存信息</div> </div> </div> </transition> <van-loading type="spinner" color="#000" class="loading-background" v-if="loading"/> <van-actionSheet v-model="actShow" :actions="actions" @select="onSelect"/> <van-actionSheet v-model="actShow1" :actions="actions1" @select="onSelect1"/> <van-popup v-model="showPicker" position="bottom"> <van-picker ref="test123" show-toolbar :columns="columns" @cancel="showPicker = false" @confirm="onConfirm" @change="onChange" /> </van-popup> </section> </template> <script> import Vue from 'vue'; import {mapState} from 'vuex' import { Loading,ActionSheet,Picker,Popup } from 'vant'; import Header from '@/views/common/Header.vue'; Vue.use(Loading).use(ActionSheet ).use(Picker).use(Popup ); var province = []; var city = {} var area = {} export default { name: 'userInfo', data() { return { title:"基本信息", isEdit:false, historyb:true,//开启自定义回跳 actions:[{ name:"男",value:1 },{ name:"女",value:2 }], showPicker:false, columns:[], actShow:false, actShow1:false, actions1:[{ value: 3, name: '授权分销商' }, { value: 1, name: '终端采购商' }, { value: 2, name: '原厂制造商' }, { value: 4, name: '学校、科研机构' }, { value: 5, name: '贸易商' }, { value: 0, name: '个体经营者' }, { value: 0, name: '其他' }], xlxr:"", xxb:"", xxbVal:"", xsj:"", xyx:"", xgsmc:"", xgslx:"", xgslxVal:"", xgszj:"", xgsjj:"", xgsdz:"", com_province:"", com_city:"", com_area:"", com_province_id:"", com_city_id:"", com_area_id:"", xxxdz:"" } }, computed: { ...mapState({ loading: state => state.userInfo.loading, userInfo: state => state.userInfo.userInfo, addressInfo: state => state.userInfo.addressInfo, }) }, watch: { }, created() { this.$store.dispatch({ type: 'getUserType2' }) this.$store.dispatch({ type: 'allAddressInfo' }) }, methods: { editUi(){ if(this.isEdit){ this.title="基本信息"; this.isEdit=false; }else{ this.title="基本信息编辑"; this.isEdit=true; this.xlxr=this.userInfo.user_info.nike_name; this.xxb=this.userInfo.user_info.sex==2?'女':'男'; this.xxbVal=this.userInfo.user_info.sex; this.xsj=this.userInfo.user_info.mobile; this.xyx=this.userInfo.user_info.email; this.xgsmc=this.userInfo.company_info.com_name; this.xgslx=this.userInfo.company_info.type_name; this.xgszj=this.userInfo.company_info.com_telphone; this.xgsjj=this.userInfo.company_info.com_desc; this.com_province=this.userInfo.company_info.province_name||"北京"; this.com_city=this.userInfo.company_info.city_name||"北京"; this.com_area=this.userInfo.company_info.area_name||"东城区"; if(this.userInfo.company_info.province_name&&this.userInfo.company_info.city_name){ this.xgsdz=this.userInfo.company_info.province_name+this.userInfo.company_info.city_name+this.userInfo.company_info.area_name; }else{ this.xgsdz=""; } this.com_province_id=this.userInfo.company_info.com_province_id; this.com_city_id=this.userInfo.company_info.com_city_id; this.com_area_id=this.userInfo.company_info.com_area_id; this.xxxdz=this.userInfo.company_info.com_address; } }, toSomeThingGo(){ if(this.isEdit){ this.editUi(); }else{ history.go(-1); } }, onSelect(item) { // 点击选项时默认不会关闭菜单,可以手动关闭 this.actShow = false; this.xxb=item.name; this.xxbVal=item.value; }, onSelect1(item){ this.actShow1 = false; this.xgslx=item.name; this.xgslxVal=item.value; }, showp(){ this.showPicker=!this.showPicker; var obj_=this.addressInfo; for(var i=0;i<obj_.length;i++){ province.push({ value:obj_[i].value, text:obj_[i].text, }) city[obj_[i].text]=obj_[i].children; var list2=obj_[i].children; for(var j=0;j<list2.length;j++){ area[list2[j].text]=list2[j].children } } this.columns=[ { values: province , //可以是数组,或者对象数组 className: 'column1' //选择器的第一列 }, { values: city [this.com_province], //默认选中country对象中的第一项 className: 'column2', //选择器的第二列 }, { values: area [this.com_city], //默认选中country对象中的第一项 className: 'column3', //选择器的第二列 } ] this.$nextTick(()=> { this.$refs['test123'].setColumnValue(0,this.com_province) this.$refs['test123'].setColumnValue(1,this.com_city) this.$refs['test123'].setColumnValue(2,this.com_area) }) }, onConfirm(value) { this.showPicker = false; this.com_province=value[0]['text']; this.com_city=value[1]['text']; this.com_area=value[2]['text']; this.xgsdz=this.com_province+this.com_city+this.com_area; this.com_province_id=value[0]['value']; this.com_city_id=value[1]['value']; this.com_area_id=value[2]['value']; console.log(value) }, onChange(picker, values) { this.columns=[ { values: province , //可以是数组,或者对象数组 className: 'column1' //选择器的第一列 }, { values: city [values[0]['text']], //默认选中country对象中的第一项 className: 'column2', //选择器的第二列 }, { values: area [values[1]['text']], //默认选中country对象中的第一项 className: 'column3', //选择器的第二列 } ] picker.setColumnValue(0, values[0]['text']); picker.setColumnValue(1, values[1]['text']); picker.setColumnValue(2, values[2]['text']); }, submitG:function(){ this.$store.dispatch({ type: 'changeUserInfo', nike_name: this.xlxr, com_name: this.xgsmc, type_id: this.xgslxVal, sex: this.xxbVal, com_telphone:this.xgszj, com_desc: this.xgsjj, com_province_id: this.com_province_id, com_city_id: this.com_city_id, com_area_id: this.com_area_id, com_address:this.xxxdz, com_mobile: this.xsj, urlback:this.$route.query.orderPage||"" }) } }, components: { Header } } </script> <style scoped> @import "../../assets/css/user/userInfo.min.css"; </style>