From d9a89d83c2048a964f16ca179feb2b7f21b9d33a Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 29 七月 2024 16:28:47 +0800
Subject: [PATCH] 提交

---
 wechat_jiaxuan/pages/calculator/index.js |  189 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 132 insertions(+), 57 deletions(-)

diff --git a/wechat_jiaxuan/pages/calculator/index.js b/wechat_jiaxuan/pages/calculator/index.js
index 03cd517..fc17e17 100644
--- a/wechat_jiaxuan/pages/calculator/index.js
+++ b/wechat_jiaxuan/pages/calculator/index.js
@@ -1,7 +1,13 @@
 // 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({
@@ -10,7 +16,7 @@
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
-    // background: imageUrl + 'calculator/background.jpg',
+    background: '',
     userPhone: '',
     type: '',
     info: '',
@@ -21,7 +27,8 @@
       '涓�瀹や竴鍘�', '涓ゅ涓�鍘�', '涓ゅ涓ゅ巺', '涓夊涓ゅ巺',
       '鍥涘涓ゅ巺', '浜斿涓ゅ巺鍙婁互涓�'
     ],
-    calculatorOptions: [],
+    calculatorOptions: {},
+    activeList: [],
     showPopup: false,
     activePicker: '',
     pickerIndex: 0,
@@ -35,32 +42,41 @@
     this.getCalculatorOption()
     const userInfo = wx.getStorageSync('member')
     if (userInfo.phone) {
-      that.setData({ userPhone: userInfo.phone })
+      that.setData({
+        userPhone: userInfo.phone
+      })
     }
   },
-  // 杩斿洖涓婁竴椤�
-  navigateBack () {
+  navigateBack() {
     wx.navigateBack({
       delta: 1,
     })
   },
 
   // picker 閫夋嫨
-  onChange (e) {
-    this.setData({ pickerIndex: e.detail.index })
+  onChange(e) {
+    this.setData({
+      pickerIndex: e.detail.index
+    })
   },
 
   // input 杈撳叆
-  inputTyping (e) {
-    this.setData({ [e.currentTarget.dataset.index]: e.detail.value })
+  inputTyping(e) {
+    this.setData({
+      [e.currentTarget.dataset.index]: e.detail.value
+    })
   },
 
   // 閫夋嫨鎴垮眿绫诲瀷銆佹埛鍨嬩俊鎭�
-  toSelectType (e) {
+  toSelectType(e) {
     let index = e.currentTarget.dataset.index
-    let { activePicker } = this.data
-    if ( activePicker === index) {
-      this.setData({ showPopup: true })
+    let {
+      activePicker
+    } = this.data
+    if (activePicker === index) {
+      this.setData({
+        showPopup: true
+      })
     } else {
       this.setData({
         pickerIndex: 0,
@@ -71,46 +87,71 @@
   },
 
   // 鍙栨秷閫夋嫨
-  cancelPicker () {
-    this.setData({ showPopup: false })
+  cancelPicker() {
+    this.setData({
+      showPopup: false
+    })
   },
 
   // 纭閫夋嫨
-  confirmPicker () {
-    let { activePicker, pickerIndex } = this.data
-    this.setData({ [activePicker]: pickerIndex, showPopup: false })
+  confirmPicker() {
+    let {
+      activePicker,
+      pickerIndex
+    } = this.data
+    this.setData({
+      [activePicker]: pickerIndex,
+      showPopup: false
+    })
   },
-  
+
   // 鑾峰彇鐢ㄦ埛鎵嬫満鍙�
-  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'
+  getPhoneNumber(e) {
+    const data = {
+      ...e.detail
+    }
+    console.log('e', e);
+    if (data.encryptedData && data.iv) {
+      getWxMiniPhone({
+        encryptedData: data.encryptedData,
+        iv: data.iv,
+        sessionKey: wx.getStorageSync('sessionKey') || data.iv,
+      }).then(res => {
+        binDingPhone({
+          phone: res.data
+        }).then((res) => {
+          this.setData({
+            userPhone: res.data.phone
           })
-        } else {
-          bindPhone({ phone: res.phone })
-            .then(newInfo => {
-              ls.set('userInfo', newInfo.member)
-              that.setData({ userPhone: res.phone })
-              that.submit()
-            })
-        }
+          console.log('userPhone', this.data.userPhone);
+          if (res.code == 200) {
+            this.setData()
+            wx.setStorageSync('member', res.data)
+            this.submit()
+          }
+        })
       })
+    }
   },
 
   // 绔嬪嵆璁$畻
-  submit () {
+  submit() {
     // console.log('绔嬪嵆璁$畻')
-    let { userPhone } = this.data
+    let {
+      userPhone
+    } = this.data
     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
@@ -121,21 +162,21 @@
           icon: 'none'
         })
         return false
-      } 
+      }
       if (info === '') {
         wx.showToast({
           title: '璇烽�夋嫨鎴峰瀷淇℃伅',
           icon: 'none'
         })
         return false
-      } 
+      }
       if (area === '') {
         wx.showToast({
           title: '璇疯緭鍏ユ埧灞嬮潰绉�',
           icon: 'none'
         })
         return false
-      } 
+      }
       if (money === '') {
         wx.showToast({
           title: '璇疯緭鍏ヨ淇绠�',
@@ -144,22 +185,46 @@
         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(2)
+        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'
+      })
     }
   },
 
   // 鎻愪氦璁$畻缁撴灉
-  submitCalculatorResult (data) {
-    saveRenovationCalculator({ info: data }).then(res => {
+  submitCalculatorResult(data) {
+    saveRenovationCalculator({
+      info: data
+    }).then(res => {
       // console.log(res)
       if (res.success) {
         wx.showToast({
@@ -173,9 +238,19 @@
   },
 
   // 鑾峰彇璁$畻鍣ㄩ厤缃�
-  getCalculatorOption () {
+  getCalculatorOption() {
     getBjParamConfig().then(res => {
-      this.setData({ calculatorOptions: res.data })
+      this.setData({
+        calculatorOptions: res.data
+      })
+    })
+    getDictData({
+      code: 'WEIXIN_DEFAULT_IMGS',
+      label: 'JISUAN_BG'
+    }).then(res => {
+      this.setData({
+        background: res.data.code
+      })
     })
   },
   onReady: function () {

--
Gitblit v1.9.3