| | |
| | | // pages/calculator/index.js |
| | | // import { imageUrl } from '../../utils/config' |
| | | // import { calculatorOption, calculatorSave, decodePhone, bindPhone } from '../../api/index' |
| | | import { getBjParamConfig, saveRenovationCalculator } from '../../api/index' |
| | | import { getBjParamConfig, saveRenovationCalculator, getDictData, getWxMiniPhone, binDingPhone } from '../../api/index' |
| | | // import Ls from '../../utils/storage' |
| | | // let ls = new Ls |
| | | Page({ |
| | |
| | | * 页面的初始数据 |
| | | */ |
| | | data: { |
| | | // background: imageUrl + 'calculator/background.jpg', |
| | | background: '', |
| | | userPhone: '', |
| | | type: '', |
| | | info: '', |
| | |
| | | '一室一厅', '两室一厅', '两室两厅', '三室两厅', |
| | | '四室两厅', '五室两厅及以上' |
| | | ], |
| | | calculatorOptions: [], |
| | | calculatorOptions: {}, |
| | | activeList: [], |
| | | showPopup: false, |
| | | activePicker: '', |
| | | pickerIndex: 0, |
| | |
| | | that.setData({ userPhone: userInfo.phone }) |
| | | } |
| | | }, |
| | | // 返回上一页 |
| | | navigateBack () { |
| | | wx.navigateBack({ |
| | | delta: 1, |
| | |
| | | |
| | | // 获取用户手机号 |
| | | getPhoneNumber (e) { |
| | | // console.log(e) |
| | | let that = this |
| | | decodePhone({ code: e.detail.code }) |
| | | .then(res => { |
| | | if (res.phone === undefined || res.phone.length === null || !res.phone) { |
| | | wx.showToast({ |
| | | title: res.msg, |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | bindPhone({ phone: res.phone }) |
| | | .then(newInfo => { |
| | | ls.set('userInfo', newInfo.member) |
| | | that.setData({ userPhone: res.phone }) |
| | | that.submit() |
| | | }) |
| | | const data = { ...e.detail } |
| | | getWxMiniPhone({ |
| | | encryptedData: data.encryptedData, |
| | | iv: data.iv, |
| | | sessionKey: wx.getStorageSync('sessionKey') || data.iv, |
| | | }).then(res => { |
| | | binDingPhone({ |
| | | phone: res.data |
| | | }).then((res) => { |
| | | if(res.code == 200){ |
| | | wx.setStorageSync('member', res.data) |
| | | this.submit() |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | // 立即计算 |
| | |
| | | const res = wx.getStorageSync('member') |
| | | |
| | | if (userPhone) { |
| | | let { type, info, area, money, typeArray, infoArray, calculatorOptions: options } = this.data |
| | | let { type, info, area, money, typeArray, infoArray, calculatorOptions } = this.data |
| | | let submitData = {} |
| | | submitData.name = res.name |
| | | submitData.phone = res.phone |
| | |
| | | return false |
| | | } |
| | | |
| | | submitData = ['房屋类型:' + typeArray[type], '户型信息:' + infoArray[info], '房屋面积:' + area + '㎡', '装修预算:' + money + '万元'].join('-') |
| | | for (let i in options) { |
| | | options[i].money = (money * options[i].rate / 100).toFixed(2) |
| | | let childList = options[i].childList |
| | | for(let j in childList) { |
| | | childList[j].money = (money * childList[j].rate / 100).toFixed(2) |
| | | // submitData = ['房屋类型:' + typeArray[type], '户型信息:' + infoArray[info], '房屋面积:' + area + '㎡', '装修预算:' + money + '万元'].join('-') |
| | | let activeList = type == '0' ? [...calculatorOptions.exquisiteList] : [...calculatorOptions.roughList] |
| | | activeList.forEach(item => { |
| | | item.money = (money * item.rate / 100).toFixed(1) |
| | | if(item.children && item.children.length > 0){ |
| | | item.children.forEach(child => { |
| | | child.money = (money * child.rate / 100).toFixed(2) |
| | | }) |
| | | } |
| | | } |
| | | this.setData({ calculatorOptions: options, showResultMoney: true, containerContentStyle: 'auto' }) |
| | | this.submitCalculatorResult(submitData) |
| | | }) |
| | | console.log('activeList', activeList); |
| | | saveRenovationCalculator({ |
| | | area, |
| | | budget: money, |
| | | houseStatus: type, |
| | | houseType: info |
| | | }).then(res => { |
| | | // console.log(res) |
| | | if (res.success) { |
| | | wx.showToast({ |
| | | title: '计算成功', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | console.log(res.msg) |
| | | } |
| | | }) |
| | | this.setData({ activeList, showResultMoney: true, containerContentStyle: 'auto' }) |
| | | } |
| | | }, |
| | | |
| | |
| | | getBjParamConfig().then(res => { |
| | | this.setData({ calculatorOptions: res.data }) |
| | | }) |
| | | getDictData({ |
| | | code: 'WEIXIN_DEFAULT_IMGS', |
| | | label: 'JISUAN_BG' |
| | | }).then(res => { |
| | | this.setData({ background: res.data.code }) |
| | | }) |
| | | }, |
| | | onReady: function () { |
| | | |