// index/pages/casemsg/casemsg.js
const app = getApp();
var utils = require("../../../utils/http")
const util = require("../../../utils/util")
Page({
/**
* 页面的初始数据
*/
data: {
top: app.globalData.statusBarHeight,
hgt: app.globalData.titleBarHeight,
imgUrl: app.globalData.imgUrl,
communityht: '',
cid: '',
casemsgobj: {},
page: 1,
personMsg: app.globalData.personMsg,
wshareshow: false,
caselist: [],
leftcaselist: [],
rightcaselist: [],
companyobj: app.globalData.companyobj,
showAddress: false,
imgarr: [],
type: '',
priceflag: false,
swiperIndex:0,
tab: [{
name: 'VR案例',
type: 'vr',
count: 0
}, {
name: '视频案例',
type: 'video',
count: 0
}],
activeType: '',
ltype:'',//不为空是从名片中点击进去
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var that = this;
wx.showLoading({
title: '加载中...',
})
that.setData({
cid: options.cid,
companyobj: app.globalData.companyobj,
ltype:options.ltype?options.ltype:''
})
that.casemsgfun();
},
setypetap(e) {
this.setData({
type: e.currentTarget.dataset.type
})
},
priceshowtap() {
this.setData({
priceflag: true
})
},
closepricetap() {
this.setData({
priceflag: false
})
},
showAddressName(e) {
let type = e.currentTarget.dataset.type;
if (type == 'hide') {
this.setData({
showAddress: false
})
} else {
this.setData({
showAddress: true
})
}
},
designertap(){
if(!!this.data.casemsgobj.designer_id){
wx.navigateTo({
url: '/customer/pages/designermsg/designermsg?did='+this.data.casemsgobj.designer_id+"&sid="+this.data.casemsgobj.designer_id+'&type='+(this.data.ltype?1:2)
})
}
},
prelook(e) {
let arr = [];
for (let i in this.data.imgarr) {
arr.push(app.globalData.imgUrl + this.data.imgarr[i].img);
}
wx.previewImage({
current: e.currentTarget.dataset.img, // 当前显示图片的 http 链接
urls: arr // 需要预览的图片 http 链接列表
})
},
presharelooktap() {
if (!app.globalData.personMsg.binded.qrcode) {
wx.showToast({
title: "您的微信二维码为空,请上传二维码!",
icon: 'none',
duration: 2000
})
return false;
}
wx.previewImage({
current: app.globalData.imgUrl + app.globalData.personMsg.binded.qrcode, // 当前显示图片的http链接
urls: [app.globalData.imgUrl + app.globalData.personMsg.binded.qrcode]// 需要预览的图片http链接列表
})
},
opintap() {
wx.showToast({
title: '员工不能预约!',
icon: 'none',
duration: 2000
})
},
swiperChange (e) {
let type = e.detail.currentItemId.split('-')[0];
this.setData({
activeType: type
})
},
sharecardtap: function () {
wx.navigateTo({
url: '/index/pages/namecard/namecard'
})
},
handleSwitch(e) {
let type = e.currentTarget.dataset.type;
let swiperIndex=0;
if (type == 'vr') {
swiperIndex = 0;
} else if (type == 'video') {
swiperIndex = !!this.data.casemsgobj.vr_case?1:0;
}
this.setData({
swiperIndex: swiperIndex,
activeType: type,
})
},
casemsgfun: function () {
var that = this;
utils.$get({
url: app.globalData.webUrl + 'api/casedetail',
header: {
'Authorization': 'bearer ' + app.globalData.token
},
data: {
id: this.data.cid,
uid: app.globalData.personMsg.id,
},
success: function (res) {
let tab=that.data.tab;
if (res.data.code == '0') {
wx.setNavigationBarTitle({
title: res.data.data.title
})
if(!!res.data.data.video_case){
tab[1].count=1;
that.setData({
tab: tab,
activeType:'video'
})
}
if(!!res.data.data.vr_case){
tab[0].count=1;
that.setData({
tab: tab,
activeType:'vr'
})
}
if (!res.data.data.desc) {
if (!res.data.data.real_case) {
that.setData({
type: ''
})
} else {
that.setData({
type: 2
})
}
} else {
if (res.data.data.desc != '
') {
that.setData({
type: 1
})
} else {
that.setData({
type: 2
})
}
}
that.setData({
casemsgobj: res.data.data,
caselist: res.data.data.designer_related_cases,
})
if (res.data.data.from == 1) {
that.setData({
imgarr: JSON.parse(res.data.data.img_content)
})
}
if (that.data.caselist.length > 0) {
that.imgload();
}
}
wx.hideLoading()
}
})
},
openVRLink(e) {
let type = e.currentTarget.dataset.type;
if (type == 1) {
let vrlink = this.data.casemsgobj.vr_case;
wx.navigateTo({
url: '/pages/other/other?type=565&vrlink=' + encodeURIComponent(vrlink) + '&cty=materialCase' + '&uid=' + app.globalData.personMsg.id + '&ctp=' + app.globalData.clientype + '&aid=' + this.data.casemsgobj.id,
})
} else {
let vrlink = e.currentTarget.dataset.vrlink;
let aid = e.currentTarget.dataset.id;
wx.navigateTo({
url: '/pages/other/other?type=565&vrlink=' + encodeURIComponent(vrlink) + '&cty=materialCase' + '&uid=' + app.globalData.personMsg.id + '&ctp=' + app.globalData.clientype + '&aid=' + aid,
})
}
},
imgload: function () {
var that = this;
var leftlist = that.data.leftcaselist;
var rightlist = that.data.rightcaselist;
var indexlist = that.data.caselist;
if (indexlist.length == 0) {
return false;
}
if (leftlist.length == 0) {
leftlist.push(indexlist[0]);
indexlist.shift();
that.setData({
caselist: indexlist,
leftcaselist: leftlist,
rightcaselist: rightlist
})
} else {
var leftheight, rightheight;
const query = wx.createSelectorQuery()
query.select('.leftcasebox').boundingClientRect();
query.exec(function (res) {
leftheight = res[0].height;
const queryright = wx.createSelectorQuery()
queryright.select('.rightcasebox').boundingClientRect();
queryright.exec(function (rs) {
leftlist = that.data.leftcaselist;
rightlist = that.data.rightcaselist;
indexlist = that.data.caselist;
rightheight = rs[0].height;
if (leftheight <= rightheight) {
leftlist.push(indexlist[0]);
indexlist.shift();
} else {
rightlist.push(indexlist[0]);
indexlist.shift();
}
that.setData({
caselist: indexlist,
leftcaselist: leftlist,
rightcaselist: rightlist
})
})
})
}
},
callphonetap: function () {
wx.makePhoneCall({
phoneNumber: app.globalData.personMsg.phone //仅为示例,并非真实的电话号码
})
},
sendfriendtap() {
this.addsharetap();
},
addsharetap: function () {
let that = this;
utils.$post({
url: app.globalData.webUrl + 'api/share/addlog',
header: {
'Authorization': 'bearer ' + app.globalData.token
},
data: {
id: that.data.cid,
type: 'materialCase',
},
success: function (r) {}
})
},
setpostertap: function () {
wx.navigateTo({
url: '/index/pages/setposter/setposter?type=materialCase&aid=' + this.data.cid + "&listshare=",
})
},
casemsgtap: function (e) {
wx.redirectTo({
url: '/index/pages/casemsg/casemsg?cid=' + e.currentTarget.dataset.cid
})
},
precasetap: function () {
if (!this.data.casemsgobj.preid) {
wx.showToast({
title: '已经第一篇了!',
icon: 'none',
duration: 2000
})
return false
}
wx.redirectTo({
url: '/index/pages/casemsg/casemsg?cid=' + this.data.casemsgobj.preid
})
},
nextcasetap: function () {
if (!this.data.casemsgobj.nextid) {
wx.showToast({
title: '已经到头了!',
icon: 'none',
duration: 2000
})
return false
}
wx.redirectTo({
url: '/index/pages/casemsg/casemsg?cid=' + this.data.casemsgobj.nextid
})
},
collectap: function () {
var that = this;
var casemsgobj = that.data.casemsgobj;
utils.$post({
url: app.globalData.webUrl + 'api/collect',
header: {
'Authorization': 'bearer ' + app.globalData.token
},
data: {
user_id: app.globalData.personMsg.id,
content_type: "materialCase",
content_id: that.data.cid
},
success: function (res) {
if (res.data.code == '0') {
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 2000
})
casemsgobj.collected = !casemsgobj.collected;
that.setData({
casemsgobj: casemsgobj
})
}
}
})
},
casesharetap: function () {
this.setData({
wshareshow: true
})
},
shareurltap: function () {
wx.showLoading({
title: '加载中...',
})
this.addsharetap();
util.schemefun('/share/pages/materialcase/materialcase', 'cid=' + this.data.cid + '&uid=' + app.globalData.personMsg.id + '&ctp=' + app.globalData.clientype, this.data.cid, 'materialCase', '');
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
lasttap: function () {
wx.navigateBack()
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
otherlistfun: function () {
var that = this;
var page = that.data.page;
page = page * 1 + 1;
utils.$post({
url: app.globalData.webUrl + 'api/designercases',
header: {
'Authorization': 'bearer ' + app.globalData.token
},
data: {
page: page,
limit: 4,
designer_id: that.data.casemsgobj.designer_id,
material_case_id:this.data.cid
},
success: function (res) {
that.setData({
page: page
})
if (res.data.code == '0') {
// caselist:indexlist,
// leftcaselist:leftlist,
// rightcaselist:rightlist
var caselist = that.data.caselist;
var arrflag = false;
if (res.data.data.length == 0) {
wx.showToast({
title: '暂无更多数据',
icon: 'none',
duration: 2000
})
} else {
if (caselist.length != 0) {
arrflag = true;
}
console.log(caselist)
caselist = caselist.concat(res.data.data);
that.setData({
caselist: caselist
});
if (!arrflag) {
that.imgload();
}
}
}
}
})
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
this.addsharetap();
var img = this.data.casemsgobj.cover_img;
img = img.replace('http://o.nczyzs.com/', 'https://o.nczyzs.com/');
return {
title: this.data.casemsgobj.title,
imageUrl: img,
path: '/share/pages/materialcase/materialcase?cid=' + this.data.cid + '&uid=' + app.globalData.personMsg.id + '&ctp=' + app.globalData.clientype
}
}
})