| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 |
- <template>
- <view>
- <view class="form">
- <view class="li ddflex">
- <view class="label">头像</view>
- <view class="photo ddflex flex" @tap="uploadImgs()">
- <image :src="avatar ? avatar : '../../static/images/userimg.png'" mode="aspectFill" class="userimg"></image>
- <image src="../../static/images/rico.png" class="rico"></image>
- </view>
- </view>
- <view class="li ddflex">
- <view class="label">姓名</view>
- <input v-model="realName" placeholder="请填写你的真实姓名" placeholder-class="placeholder" class="ipt flex" />
- </view>
-
- <view class="li ddflex">
- <view class="label">个人简介</view>
- <input v-if="!brief" @tap="jumpUrl('/card/editDesc/editDesc')" :disabled="true" maxlength="11" type="number" placeholder="请作简单自我介绍" placeholder-class="placeholder" class="ipt flex" />
- <view class="fflex" v-else style="color: #47C776;" @tap="jumpUrl('/card/editDesc/editDesc')">已完善</view>
- <image src="../../static/images/rico.png" class="rico"></image>
- </view>
- </view>
-
- <view class="form">
- <view class="tit ddflex"><view class="flex">联系信息</view></view>
- <view class="li ddflex">
- <view class="label">手机</view>
- <input v-model="phone" maxlength="11" type="number" placeholder="请填写手机号" placeholder-class="placeholder" class="ipt flex" />
- <view class="tong ddflex" @click="intWechatNumber"><image src="../static/images/wxth.png"></image>微信同号</view>
- </view>
- <view class="li ddflex">
- <view class="label">邮箱</view>
- <input v-model="email" placeholder="请填写邮箱地址" placeholder-class="placeholder" class="ipt flex" />
- </view>
- <view class="li ddflex">
- <view class="label">微信号</view>
- <input v-model="wechat" placeholder="请填写微信号" placeholder-class="placeholder" class="ipt flex" />
- </view>
- </view>
- <view class="form">
- <view class="tit ddflex"><view class="flex">公司信息</view></view>
- <view class="li ddflex">
- <view class="label">公司</view>
- <input v-model="companyName" placeholder="请填写公司名称" placeholder-class="placeholder" class="ipt flex" />
- </view>
- <view class="li ddflex">
- <view class="label">职位</view>
- <input v-model="job" placeholder="请填写职位" placeholder-class="placeholder" class="ipt flex" />
- </view>
- <view class="li ddflex" @click="jumpUrl('/card/industry/industry?isPoistion=true')">
- <view class="label">行业</view>
- <!-- <input v-model="position" placeholder="请填写职位" placeholder-class="placeholder" class="ipt flex" /> -->
- <view :class="'flex' + (industryName ? '' :' placeholder')">{{industryName ? industryName : '请填写行业'}}</view>
- <image src="../../static/images/rico.png" class="rico"></image>
- </view>
- <view class="li ddflex">
- <view class="label">所在地区</view>
- <view :class="['item flex', city ? 'active' : '']">
- <!-- #ifdef MP-WEIXIN -->
- <picker class="picker flex" mode="region" :value="morCity" @change="bindCity">
- <view :class="city?'':'placeholder'">{{ city ? city : '请选择地区' }}</view>
- </picker>
- <!-- #endif -->
- <!-- #ifdef APP-PLUS -->
- <pickerAddress class="picker flex" @change="bindAddressChange">
- <view :class="city?'':'placeholder'">{{ city ? city : '请选择地区' }}</view>
- </pickerAddress>
- <!-- #endif -->
- </view>
- <image src="../../static/images/rico.png" class="rico"></image>
- <!-- <picker class="picker flex">
- <view class="placeholder">请选择省份城市</view>
- <image src="../../static/images/rico.png" class="rico"></image>
- </picker> -->
- </view>
- <view class="li ddflex">
- <view class="label">地址</view>
- <input v-model="address" placeholder="填写街道地址" placeholder-class="placeholder" class="ipt flex" />
- </view>
- </view>
- <view class="bot">
- <view class="btn" @click="submitCard()">{{ isEdit ? '保存' : '确认创建' }}</view>
- </view>
- </view>
- </template>
- <script>
- const req = require('../../utils/request.js');
- const api = require('../../utils/api.js');
- const util = require('../../utils/util.js');
- var app = getApp();
- import pickerAddress from '../../components/wangding-pickerAddress/wangding-pickerAddress.vue';
- export default {
- components: { pickerAddress },
- data() {
- return {
- avatar: '',
- realName: '',
- phone: '',
- wechat: '',
- email: '',
- companyName: '',
- job:'',//职业
- industryName: '',//行业
- tradeId: '',//行业id
- message: '',
- isEdit: false,
- id: '' ,//名片id
- nums: 0,
- brief:'',//简介
- address:'',//详细地址
-
- city: '',
- areaCode: '',
- morCity: [],
-
- userCard:null,//用户IP名片
- };
- },
- onLoad(opt) {
- this.isEdit = opt.isEdit;
- this.id = opt.id;
- console.log('getUserCard')
- this.getUserCard()
- },
- methods: {
- getUserInfo(){
- return new Promise((resolve,reject)=>{
- req.getRequest('/api/user/info',{},res=>{
- this.avatar = res.avatar;
- this.realName = res.realName ? res.realName : res.nickName;
- this.phone = res.mobile;
- resolve();
- })
- })
- },
- // 用户名片信息
- getUserCard(){
- req.getRequest('/api/v3/visiting/card/userInfo', {}, res => {
- console.log('getUserCard',res)
- this.userCard = res
- if(!res){
- this.getCompanyData()
- this.getUserInfo()
- }else{
- this.id = res.id
- this.avatar = res.avatar;
- this.realName = res.realName;
- this.brief = res.brief;
- this.phone = res.phone;
- this.wechat = res.wechat;
- this.email = res.email;
- this.companyName = res.companyName;
- this.industryName = res.industryName;
- this.tradeId = res.tradeId;
- this.address = res.address;
- this.job = res.job;
- res.areaCode = JSON.parse(res.areaCode)
- this.morCity = [res.areaCode.id.substring(0,2)+'0000',res.areaCode.id.substring(0,4)+'00',res.areaCode.id]
- this.city = res.areaCode.name
- this.areaCode = this.morCity[2];
- }
- });
- },
- getCompanyData(){
- req.getRequest('/api/CKBCompany/info',{},res=>{
- if(res){
- this.companyName = res.title
- this.industryName = res.trade
- this.tradeId = res.industryId
- this.address = res.address
- this.morCity = JSON.parse(res.areaCode).map(item=>{return item.id})
- this.areaCode = JSON.parse(res.areaCode).map(item=>{return item.id})[2]
- this.city = JSON.parse(res.areaCode).map(item=>{return item.name}).join('')
- }
- })
- },
- jumpUrl(url) {
- uni.navigateTo({
- url: url
- });
- },
- uploadImgs() {
- let that = this;
- uni.chooseImage({
- count: 1,
- sizeType: ['original', 'compressed'],
- sourceType: ['album', 'camera'],
- success: function({ tempFilePaths }) {
- var promise = Promise.all(
- tempFilePaths.map(tempFilePath => {
- return new Promise(function(resolve, reject) {
- req.uploadFile('/api/upload', tempFilePath, res => {
- that.avatar = res.src;
- });
- });
- })
- );
- promise
- .then(function(results) {
- console.log(results);
- })
- .catch(function(err) {
- console.log(err);
- });
- }
- });
- },
- intMessage(e){
- this.nums = e.detail.value.length
- },
- intWechatNumber(){
- this.wechat = this.phone
- },
-
- bindCity: function(e) {
- this.morCity = e.detail.code;
- this.city = e.detail.value.join().replace(/[,]/g, '');
- this.areaCode = e.detail.code[2];
- },
-
- bindAddressChange(data) {
- this.morCity = data.ids;
- this.city = data.data[0] + data.data[1] + data.data[2];
- this.areaCode = data.ids[2];
- },
- /**
- * 提交名片
- */
- submitCard() {
- let that = this;
- if (!this.avatar) return req.msg('请上传头像');
- if (!this.realName) return req.msg('请填写你的真实姓名');
- if (!this.brief) return req.msg('请填写个人简介');
- if (!this.phone) return req.msg('请填写手机号');
- if (!this.wechat) return req.msg('请填写微信号');
- if (!this.email) return req.msg('请填写邮箱地址');
- if (!this.companyName) return req.msg('请填写公司名称');
- if (!this.job) return req.msg('请填写职位')
- if (!this.industryName) return req.msg('请填写行业');
- if (!this.areaCode) return req.msg('请选择所在地区');
- if (!this.address) return req.msg('请填写详细地址');
- var dataP = {};
- dataP.avatar = this.avatar;
- dataP.realName = this.realName;
- dataP.brief = this.brief;
- dataP.phone = this.phone;
- dataP.wechat = this.wechat;
- dataP.email = this.email;
- dataP.companyName = this.companyName;
- dataP.job = this.job;
- dataP.industryName = this.industryName;
- dataP.tradeId = this.tradeId;
- dataP.areaCode = {
- id:this.areaCode,
- name :this.city
- };
- dataP.areaCode = JSON.stringify(dataP.areaCode)
- dataP.address = this.address;
- var url = '';
- if (this.id) {
- dataP.id = this.id;
- }
- req.postRequest(
- '/api/v3/visiting/card/saveOrUpdate',
- dataP,
- json => {
- if (that.id) {
- req.msg('保存成功');
- setTimeout(function() {
- uni.navigateBack({
- delta: 1
- });
- }, 1500);
- } else {
- req.msg('名片创建成功');
- setTimeout(function() {
- that.jumpUrl('/card/index/index');
- }, 1500);
- }
- },
- true
- );
- }
- }
- };
- </script>
- <style>
- @import './create.css';
- </style>
|