// share/pages/shareCard/shareCard.js var app = getApp(); var utils = require("../../../utils/http"); let evpage=1,casepage=1; let time=0; var timer = null; Page({ /** * 页面的初始数据 */ data: { canIUseGetUserProfile: false, shareobj:{}, employeeflag:false,//false是用户,true是员工 top:app.globalData.statusBarHeight, hgt:app.globalData.titleBarHeight, companyobj:{}, loginFlag:false, phoneFlag:false, imgUrl:app.globalData.imgUrl, mineinfo:{ name: '' }, logcount:0, imgarr:[], type:1, evidencetype:'', evidencelist:[], leftevidencelist:[], rightevidencelist:[], catetype:'', datashow:true, nowstyle: '', stylelist: [], square_start: '', //面积开始值 square_end: '', //面积结束值 nowcommunity: '', communitylist: [], nowhousetype: '', housetypelist: [], caselist: [], keyword: '', datashow: false, communityflag:false, nowcommunitname:'', fromType: '', typearr:[ {id:1,name:'效果案例',type:1}, {id:2,name:'实景案例',type:2} ], noweffect:'', prelook:'', timeline:app.globalData.timeline }, /** * 生命周期函数--监听页面加载 */ onLoad: function (opts) { var that = this; time=0; if(opts.type=='share'){ this.setData({ prelook:"share" }) } if(app.globalData.timeline!=2){ wx.showLoading(); } if (wx.getUserProfile) { this.setData({ canIUseGetUserProfile: true }) } that.setData({ top: app.globalData.statusBarHeight, hgt: app.globalData.titleBarHeight, imgUrl:app.globalData.imgUrl, fromType: opts.ftype }) app.globalData.clientype = opts.ctp; if(opts.empid){ app.globalData.sharempid=opts.empid; } app.globalData.shareuserid = opts.uid; this.loginfun(); }, sharecompany:function (){ const that=this; utils.$post({ url: app.globalData.webUrl + 'client/index/content_belong_company', header: { 'Authorization':'bearer '+app.globalData.token }, data:{ client_type:app.globalData.clientype, uid: app.globalData.shareuserid }, success: function (res) { if(res.data.code=='0'){ app.globalData.companyobj=res.data.data; that.setData({ companyobj:res.data.data }) app.globalData.sharempid= res.data.data.employee_id; } }, complete(res) { wx.hideLoading() } }) }, loginfun:function(e){ var that=this; wx.showLoading({ title: '加载中...', }) if(!!e){ this.setData({ type:e }) } wx.login({ success: function (data) { if (data.errMsg == 'login:ok') { utils.$post({ url: app.globalData.webUrl + 'api/users/code2sessionmini', data: { code:data.code, share: app.globalData.shareuserid, clien_type: app.globalData.clientype }, success: function (r) { if(r.data.code=='0'){ app.globalData.sharepersonobj = r.data.share; app.globalData.token=r.data.token; that.sharecompany(); if (r.data.share) { app.globalData.vrString = r.data.share.str; } that.setData({ sharepersonMsg:app.globalData.sharepersonobj, }) if(!!r.data.user.phone){ that.setData({ loginFlag:false, phoneFlag:false, employeeflag:(!!r.data.user.binded&&r.data.user.binded.state=='在职')?true:false }) app.globalData.personMsg=r.data.user; app.globalData.use_id=r.data.user.id; var obj={ detail:1 } that.cardfun(obj); }else{ that.cardfun(); wx.hideLoading(); that.setData({ loginFlag:false, phoneFlag:true }) } } } }) } } }) }, cardfun(){ const that=this; utils.$post({ url: app.globalData.webUrl + 'client/card/info', header: { 'Authorization':'bearer '+app.globalData.token }, data: { user: app.globalData.shareuserid, }, success: function (res) { wx.hideLoading(); if(res.data.code==0){ that.setData({ mineinfo:res.data.data, logcount:res.data.logcount, imgarr:res.data.log }) } that.evidenceCate(); that.evidencelist(); that.casestylefun(); that.housestylefun(); that.casecommunityfun(); that.caselistfun(); } }) }, setypetap(e){ this.setData({ type:e.target.dataset.num }) if(e.target.dataset.num==3){ this.evidencelist(); } }, preimgtap(){ if(!this.data.mineinfo.qrcode){ wx.showToast({ title: '员工二维码为空!', icon: 'none', duration: 2000 }) return false; } let img=app.globalData.imgUrl+'/'+this.data.mineinfo.qrcode; wx.previewImage({ current: img, // 当前显示图片的 http 链接 urls: [img] // 需要预览的图片 http 链接列表 }) }, copytap(){ if(!this.data.mineinfo.wx){ wx.showToast({ title: '员工微信为空!', icon: 'none', duration: 2000 }) return false; } wx.setClipboardData({ data: this.data.mineinfo.wx, success (res) { } }) }, callphonetap(){ wx.makePhoneCall({ phoneNumber: this.data.mineinfo.phone //仅为示例,并非真实的电话号码 }) }, openVRLink(e) { let vrlink = e.currentTarget.dataset.vrlink; let id = e.currentTarget.dataset.id; wx.navigateTo({ url: '/pages/other/other?type=vr&vrurl=' + escape(vrlink) + '&cty=materialCase' + '&uid=' + app.globalData.shareuserid + '&ctp=' + app.globalData.clientype + '&aid=' + id, }) }, viewAuthorization() { return new Promise(function(resolve,reject) { wx.getSetting({ success (res) { if(res.authSetting['scope.addPhoneContact']){ resolve({authorize:true}) }else{ wx.openSetting({ success (res) { if(res.authSetting['scope.addPhoneContact']){ wx.authorize({ scope: 'scope.addPhoneContact', success: function (res) { console.log('success:', res); resolve({authorize:true}) }, fail: function (error) { console.log('error:', error); reject({authorize:false}) } }) }else{ wx.authorize({ scope: 'scope.addPhoneContact', success: function (res) { console.log('success:', res); resolve({authorize:true}) }, fail: function (error) { console.log('error:', error); reject({authorize:false}) } }) } }, fail(){ wx.authorize({ scope: 'scope.addPhoneContact', success: function (res) { console.log('success:', res); resolve({authorize:true}) }, fail: function (error) { console.log('error:', error); reject({authorize:false}) } }) } }) } } }) }) }, async savenumtap() { let res = await this.viewAuthorization(); if (res.authorize) { wx.addPhoneContact({ firstName: this.data.mineinfo.name, photoFilePath: this.data.mineinfo.headimgurl, mobilePhoneNumber: this.data.mineinfo.phone, weChatNumber: this.data.mineinfo.wx, addressStreet: this.data.mineinfo.company_address, organization: this.data.mineinfo.company_name, title: this.data.mineinfo.position }) return; } }, evidenceCate:function(){ var that=this; utils.$get({ url: app.globalData.webUrl + 'client/material/evidenceCate', header: { 'Authorization':'bearer '+app.globalData.token }, data:{}, success: function (res) { that.setData({ evidencetype:res.data.data }) } }) }, seteffectap(e){ this.setData({ noweffect:e.currentTarget.dataset.type }) this.caselistfun(); }, setevitap(e){ this.setData({ catetype:e.currentTarget.dataset.eid }) this.evidencelist(); }, evidencelist:function(){ const that=this; evpage=1; utils.$get({ url: app.globalData.webUrl + 'client/evidencelist', header: { 'Authorization':'bearer '+app.globalData.token }, data:{ uid:app.globalData.personMsg.id, page:1, cate:that.data.catetype, }, success: function (res) { setTimeout(function(){ wx.hideLoading() },1000) if(res.data.code=='0'){ that.setData({ evidencelist:res.data.data, leftevidencelist:[], rightevidencelist:[], datashow:true }) that.imgload(); } }, fail(){ wx.hideLoading() } }) }, publictap:function(e){ wx.navigateTo({ url: '/share/pages/publicpraisemsg/publicpraisemsg?type=3&eid='+e.currentTarget.dataset.eid+"&uid="+app.globalData.shareuserid+'&ctp='+app.globalData.clientype }) }, imgload:function(){ var that=this; var leftlist=that.data.leftevidencelist; var rightlist=that.data.rightevidencelist; var indexlist=that.data.evidencelist; if(indexlist.length==0){ return false; } if(!indexlist[0]){ return false; } if(leftlist.length==0){ leftlist.push(indexlist[0]); indexlist.shift(); that.setData({ evidencelist:indexlist, leftevidencelist:leftlist, rightevidencelist:rightlist }) }else{ var leftheight,rightheight; wx.createSelectorQuery().select('.leftpublicpraisebox').boundingClientRect(function(res){ leftheight=res.height; wx.createSelectorQuery().select('.rightpublicpraisebox').boundingClientRect(function(rs){ leftlist=that.data.leftevidencelist; rightlist=that.data.rightevidencelist; indexlist=that.data.evidencelist; rightheight=rs.height; if(leftheight<=rightheight){ leftlist.push(indexlist[0]); indexlist.shift(); }else{ rightlist.push(indexlist[0]); indexlist.shift(); } that.setData({ evidencelist:indexlist, leftevidencelist:leftlist, rightevidencelist:rightlist }) }).exec(); }).exec(); } }, setliketap(){ var that = this; utils.$get({ url: app.globalData.webUrl + 'client/card/like', header: { 'Authorization': 'bearer ' + app.globalData.token }, data: { employee_id:app.globalData.sharempid }, success: function (res) { let mineinfo=that.data.mineinfo; if (res.data.code == '0') { mineinfo.likes=mineinfo.likes*1+1; that.setData({ mineinfo:mineinfo }) } } }) }, casestylefun: function () { var that = this; utils.$get({ url: app.globalData.webUrl + 'client/stylelist', header: { 'Authorization': 'bearer ' + app.globalData.token }, data: {}, success: function (res) { if (res.data.code == '0') { that.setData({ stylelist: res.data.data }) } } }) }, housestylefun: function () { var that = this; utils.$get({ url: app.globalData.webUrl + 'client/material/housetypelist', header: { 'Authorization': 'bearer ' + app.globalData.token }, data: {}, success: function (res) { if (res.data.code == '0') { that.setData({ housetypelist: res.data.data }) } } }) }, onChoose(e) { var that=this; that.setData({ nowcommunity:e.detail.item.currentTarget.dataset.cid, nowcommunitname:e.detail.item.currentTarget.dataset.item.name, communityflag:false }) wx.showLoading({ title: '加载中...', }) that.caselistfun(); }, casecommunityfun: function () { var that = this; utils.$get({ url: app.globalData.webUrl + 'client/communitylist', header: { 'Authorization': 'bearer ' + app.globalData.token }, data: {}, success: function (res) { if (res.data.code == '0') { that.setData({ communitylist: res.data.data }) } that.getCitys(); } }) }, getCitys() { const _this = this const cities = this.data.communitylist; // 按拼音排序 cities.sort((c1, c2) => { let pinyin1 = c1.pinyin; let pinyin2 = c2.pinyin; return pinyin1.localeCompare(pinyin2) }) // 添加首字母 const map = new Map() for (const city of cities) { const alpha = city.pinyin.charAt(0).toUpperCase() if (!map.has(alpha)) map.set(alpha, []) map.get(alpha).push({ name: city.name,id: city.id}) } const keys = [] for (const key of map.keys()) { keys.push(key) } keys.sort() const list = [] for (const key of keys) { list.push({ alpha: key, subItems: map.get(key) }) } for(let i=0;i