|
@@ -0,0 +1,247 @@
|
|
|
+<template src="./webgl_rxdz_role.html">
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ const util = require('@/utils/util.js').default;
|
|
|
+ const config = require('@/services/urlConfig.js');
|
|
|
+ import router from "@/router";
|
|
|
+ import touchHandle from '@/mixins/touchHandle.js';
|
|
|
+ import commonPageMethod from '@/mixins/commonPageMethod.js';
|
|
|
+// const app = getApp(); //获取应用实例
|
|
|
+// import requestConfig from '@/static/lib/requestConfig.js';
|
|
|
+// import commonPageMethod from '@/common/commonPageMethod.js';
|
|
|
+// import commonMethod from '@/common/commonMethod.js';
|
|
|
+export default {
|
|
|
+ mixins: [touchHandle,commonPageMethod],
|
|
|
+ /**
|
|
|
+ * 页面的初始数据
|
|
|
+ */
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ pvId: 'p_2cmina_21012301',
|
|
|
+ locusBehaviorName: "角色偏好",
|
|
|
+ locusValue: "",
|
|
|
+ locusName: "",
|
|
|
+ pvCurPageName: "submit_ret",
|
|
|
+ pvCurPageParams: null,
|
|
|
+ navbar: {
|
|
|
+ showCapsule: 1,
|
|
|
+ title: '角色偏好',
|
|
|
+ titleColor: '#fff',
|
|
|
+ navPadding: 0,
|
|
|
+ navPaddingBg:'transparent',
|
|
|
+ navBarColor: 'transparent',
|
|
|
+ navBackColor: 'transparent',
|
|
|
+ haveCallback: false, // 如果是 true 会接手 navbarBackClk
|
|
|
+ fromShare: false,
|
|
|
+ fromProject: 0,
|
|
|
+ shareToken: "",
|
|
|
+ pageName: this.pvCurPageName,
|
|
|
+ },
|
|
|
+ houseId: $config.houseIdHs,
|
|
|
+
|
|
|
+ shareUserId: null, // 分享者ID
|
|
|
+ id: '',//方案库id
|
|
|
+
|
|
|
+ currImgIdx:0,
|
|
|
+ tabIndex: 0,
|
|
|
+ // featureImgList: [],
|
|
|
+ hardboundEffect: [],//当前swiper数据列表对象
|
|
|
+ form: {},
|
|
|
+ tabData:[],
|
|
|
+ number: '',
|
|
|
+ plotHeadDeafultImg: 'https://dm.static.elab-plus.com/mini-program/plotHeadDeafultImg.png', // 地块人物默认头像
|
|
|
+ showPhoneModel:false,
|
|
|
+ gsImage:'',
|
|
|
+ layoutStruct:null,
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 生命周期函数--监听页面加载
|
|
|
+ */
|
|
|
+ mounted(options) {
|
|
|
+ console.log("***onLoad-webgl_rxdz_customize***", this.$route.query)
|
|
|
+ const that = this;
|
|
|
+ this.houseId = this.$route.query.houseId?this.$route.query.houseId:'';
|
|
|
+ // this.spaceId = this.$route.query.spaceId?this.$route.query.spaceId:'';
|
|
|
+ this.id = this.$route.query.id?this.$route.query.id:'6523d91af65c626211ee21c8';
|
|
|
+ if(!this.id){
|
|
|
+ this.showToast("没有数据!");
|
|
|
+ return false;
|
|
|
+ }else{
|
|
|
+ this.getIdData();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ userId() {
|
|
|
+ return this.$store.state.userId;
|
|
|
+ },
|
|
|
+ },
|
|
|
+
|
|
|
+ methods: {
|
|
|
+ swiperChangeImg(e){
|
|
|
+ console.log("***swiperChangeImg***",e);
|
|
|
+ this.currImgIdx = e.detail ? e.detail.current : e;
|
|
|
+ this.gsImage = this.hardboundEffect[this.currImgIdx];//获取高斯模糊的图片
|
|
|
+ },
|
|
|
+ rightScroll(){//右滑
|
|
|
+ if(this.currImgIdx <= (this.hardboundEffect.length - 1) && this.currImgIdx > 0){
|
|
|
+ this.$refs.carousel.prev();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ leftScroll(){//继续生成
|
|
|
+ if(this.currImgIdx != this.hardboundEffect.length - 1){
|
|
|
+ if(this.currImgIdx<this.hardboundEffect.length - 1){
|
|
|
+ this.$refs.carousel.next();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ navigateFuc(){
|
|
|
+ if(window.__wxjs_environment === 'miniprogram'){
|
|
|
+ wx.miniProgram.navigateTo({url: '/pages/transfer/transfer?event=openCustomerServiceChat&houseId='+this.houseId})
|
|
|
+ }else{
|
|
|
+ this.$message.warning("敬请期待");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ optionChange(){
|
|
|
+ if(window.__wxjs_environment === 'miniprogram'){
|
|
|
+ wx.miniProgram.redirectTo({url: '/pages/index/index?houseId='+$config.xcxHouseId})
|
|
|
+ }else{
|
|
|
+ this.$message.warning("敬请期待");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ tabDataHandle(expand){
|
|
|
+ let tmp = expand;
|
|
|
+ if(!tmp || !tmp.landImg || !tmp.baseImg){
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ let data = {
|
|
|
+ name : "我的地块",
|
|
|
+ imgUrl : tmp.landImg,
|
|
|
+ hardboundEffect:[tmp.landImg],
|
|
|
+ gsImage:tmp.landImg,
|
|
|
+ area:'',
|
|
|
+ }
|
|
|
+ this.tabData.push(data);
|
|
|
+ data = {
|
|
|
+ name : "我的房子",
|
|
|
+ imgUrl : tmp.baseImg,
|
|
|
+ hardboundEffect:[tmp.baseImg,tmp.bgPrototypeImg],
|
|
|
+ gsImage:tmp.baseImg,
|
|
|
+ area:'',
|
|
|
+ }
|
|
|
+ this.tabData.push(data)
|
|
|
+ },
|
|
|
+ async getIdData(){
|
|
|
+ let userId = this.userId || '';
|
|
|
+ let params = {
|
|
|
+ id: this.id,
|
|
|
+ brandId: $config.brandId,
|
|
|
+ houseId:this.houseId,
|
|
|
+ userId,
|
|
|
+ };
|
|
|
+ if(this.shareUserId){//分享时 不带用户id
|
|
|
+ delete params.userId
|
|
|
+ }
|
|
|
+ // params.userId = this.userId;
|
|
|
+ const res = await requestConfig('getCustomizedRecord', params);
|
|
|
+ if (res.success ) {
|
|
|
+ let single = res.list[0];
|
|
|
+ this.tabIndex = 0;//表明是户型首图
|
|
|
+ this.tabData = [];
|
|
|
+ if(single.expand){
|
|
|
+ single.expand = JSON.parse(single.expand);
|
|
|
+ this.tabDataHandle(single.expand)
|
|
|
+ }
|
|
|
+ this.layoutStruct = JSON.parse(JSON.stringify(single));
|
|
|
+ // this.number = single.landCode
|
|
|
+ this.form = single.layoutStruct.find(it=>it.floor==single.curFloor);
|
|
|
+
|
|
|
+ this.hardboundEffect = this.form.layoutImgCustomized? [this.form.layoutImgCustomized] : [];//赋值轮播图
|
|
|
+ let data = {
|
|
|
+ name : this.form.layoutName,
|
|
|
+ imgUrl : this.form.layoutImgCustomized,
|
|
|
+ hardboundEffect:[this.form.layoutImgCustomized],
|
|
|
+ gsImage:this.form.layoutImgCustomized,
|
|
|
+ area:'',
|
|
|
+ }
|
|
|
+ this.tabData.push(data);
|
|
|
+ this.form.houseJson = this.form.houseJson.filter((item)=>{
|
|
|
+ return item.spaceName && item.spaceName.length>0 && item.spaceType!=11 && item.hardboundEffect && item.hardboundEffect[0]
|
|
|
+ })
|
|
|
+ this.form.houseJson.sort(function(a,b){return parseFloat((b.spaceWidth * b.spaceHeight) / 10000) -parseFloat((a.spaceWidth * a.spaceHeight) / 10000)});
|
|
|
+ this.form.houseJson.forEach((item,index)=>{
|
|
|
+ //获取面积
|
|
|
+ let curSpaceArea = parseFloat((item.spaceWidth * item.spaceHeight) / 10000).toFixed(1);
|
|
|
+ let data = {
|
|
|
+ name : item.spaceName,
|
|
|
+ imgUrl : item.hardboundEffect[0],
|
|
|
+ hardboundEffect:item.hardboundEffect,
|
|
|
+ gsImage:item.hardboundEffect[0],
|
|
|
+ area:curSpaceArea,
|
|
|
+ }
|
|
|
+ this.tabData.push(data);
|
|
|
+ })
|
|
|
+ this.gsImage = this.form.layoutImgCustomized;//获取高斯模糊的图片
|
|
|
+ }
|
|
|
+ },
|
|
|
+ changeTab(id){
|
|
|
+ if(id == this.tabIndex){
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.tabIndex = id;
|
|
|
+ this.currImgIdx = 0;
|
|
|
+ this.hardboundEffect = this.tabData[id].hardboundEffect? this.tabData[id].hardboundEffect : [];//赋值轮播图
|
|
|
+ this.gsImage = this.tabData[id].gsImage;//获取高斯模糊的图片
|
|
|
+ let param = {
|
|
|
+ type: 'CLK', //埋点类型
|
|
|
+ clkId: 'clk_2cmina_23080421', //点击ID
|
|
|
+ clkName: 'roomretpic_clk', //点击前往的页面名称
|
|
|
+ clkParams: {
|
|
|
+ type: this.tabData[this.tabIndex].name,
|
|
|
+ locusName: "房间名称",
|
|
|
+ }
|
|
|
+ };
|
|
|
+ util.trackRequest(param);
|
|
|
+ },
|
|
|
+
|
|
|
+ catchTouchMove: function() {
|
|
|
+ return false;
|
|
|
+ },
|
|
|
+
|
|
|
+ toMode(){
|
|
|
+ let data = {
|
|
|
+ houseId:this.houseId,
|
|
|
+ id:this.id,
|
|
|
+ }
|
|
|
+ router.push({
|
|
|
+ name: "webgl_rxdz_look",
|
|
|
+ query:data
|
|
|
+ });
|
|
|
+ let param = {
|
|
|
+ type: 'CLK', //埋点类型
|
|
|
+ clkId: 'clk_2cmina_23080420', //点击ID
|
|
|
+ clkName: 'checkroom_clk', //点击前往的页面名称
|
|
|
+ clkParams: {
|
|
|
+ locusName: "查看户型",
|
|
|
+ }
|
|
|
+ };
|
|
|
+ util.trackRequest(param);
|
|
|
+ },
|
|
|
+ showToast(title){
|
|
|
+ this.$store.state.loading = true;
|
|
|
+ this.$store.state.loadingMsg = title || "";
|
|
|
+ setTimeout(()=>{
|
|
|
+ this.$store.state.loading = false;
|
|
|
+ }, 1500);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+ @import "./webgl_rxdz_role.scss";
|
|
|
+</style>
|
|
|
+<style lang="css" scoped>
|
|
|
+ /* @import "@/common/css/common.css"; */
|
|
|
+</style>
|