// pages/m_user/base_c/c_scene-info/c_scene-info.js import {sceneInfo, sceneLedger} from '../../../../data/sceneInfo' import userservice from '../../../../service/userservice' import deviceservice from '../../../../service/deviceservice' import ledgerservice from "../../../../service/ledgerservice" import b_inputCheck from '../../../../base/behaviors/b_inputCheck' import b_uploadLedger from '../../../m_ledger/behaviors/b_uploadLedger' import b_loadingToast from '../../../../base/behaviors/b_loadingToast' const app = getApp() Component({ behaviors: [b_inputCheck, b_uploadLedger, b_loadingToast], options: { addGlobalClass: true, }, /** * 组件的属性列表 */ properties: { submitText: { type: String, value: '提交' }, sceneType: { type: String, value: '1' }, authStatus: { type: Boolean, value: false } }, ready() { this.setData({ loadingText: '上传中', loadCompleteText: '上传完成' }) const info = sceneInfo() this.setData({ msg: info.get(this.data.sceneType), ledger: sceneLedger[this.data.sceneType] }) //获取场景信息 this.getSceneInfo() }, /** * 组件的初始数据 */ data: { msg: [], info: {} }, /** * 组件的方法列表 */ methods: { //获取场景信息 getSceneInfo() { var that = this userservice.getBaseInfo(app.globalData.accessToken.userId, { success(data) { const msg = that.data.msg switch (that.data.sceneType) { case '1': if (data.baseInfo != null) { msg[0].value = data.baseInfo.biName msg[1].value = data.baseInfo.biNickName msg[3].value = data.baseInfo.biAddress msg[10].value = data.baseInfo.biContact msg[11].value = data.baseInfo.biTelephone msg[12].value = data.baseInfo.biTownName == null ? [] : [ data.baseInfo.biProvinceName, data.baseInfo.biCityName, data.baseInfo.biDistrictName, data.baseInfo.biTownName, data.baseInfo.biProvinceCode, data.baseInfo.biCityCode, data.baseInfo.biDistrictCode, data.baseInfo.biTownCode, ] msg[12].displayValue = data.baseInfo.biTownName == null ? [] : [ data.baseInfo.biProvinceName, data.baseInfo.biCityName, data.baseInfo.biDistrictName, data.baseInfo.biTownName, ] } if (data.specialInfo != null) { msg[2].value = data.specialInfo.rbCuisine msg[2].options.forEach(o => { o.checked = false }); msg[2].value.split(';').forEach(v => { for (let i = 0; i < msg[2].options.length; i++) { const o = msg[2].options[i]; if (v == o.name) { o.checked = true break } else if (o.hasRemark) { o.checked = true o.remark += v } } }); const s = data.specialInfo.rbTotalSeating msg[4].value = data.specialInfo.rbTotalSeating msg[4].options.forEach(o => { o.checked = false }); if (s == 0) { msg[4].options[0].checked = true } else if (s > 0 && s <= 20) { msg[4].options[1].checked = true } else if (s > 20 && s <= 50) { msg[4].options[2].checked = true } else if (s > 50 && s <= 100) { msg[4].options[3].checked = true } else { msg[4].options[4].checked = true } msg[7].value = data.specialInfo.rbCookingRangeNum msg[8].value = parseInt(data.specialInfo.rbCookingOilCapacity) * 12 msg[9].value = data.specialInfo.rbCookingOilType msg[9].options.forEach(o => { o.checked = false }); msg[9].value.split(';').forEach(v => { for (let i = 0; i < msg[9].options.length; i++) { const o = msg[9].options[i]; if (v == o.name) { o.checked = true break } else if (o.hasRemark) { o.checked = true o.remark += v } } }); msg[13].value = data.specialInfo.rbConcentrationArea msg[14].value = data.specialInfo.rbOutfallCount msg[15].value = data.specialInfo.rbOutfallLocation msg[16].value = data.specialInfo.rbOutfallNum } deviceservice.getPurifyDeviceInfo(app.globalData.accessToken.userId, { success(res) { if (res.length > 0) { that.setData({ ['msg[5].value']: res[0].fpNum }) } } }) deviceservice.getMoniterDeviceInfo(app.globalData.accessToken.userId, { success(res) { if (res.length > 0) { that.setData({ ['msg[6].value']: res[0].mdNum }) } } }) ledgerservice.getLedgerDetail( app.globalData.accessToken.userId, that.data.ledger.ledgerSubTypeId, that.data.ledger.sceneType, undefined, { success(res) { if (res.length > 0) { let detail = res[0] if (detail.upLoad) { let imgFiles = [{ url: detail.path1[0], loading: false }] that.setData({ imgFiles }) } } } }) break; case '2': break; case '3': break; case '4': break; case '5': break; case '6': break; case '7': break; default: break; } console.log(msg); that.setData({ msg }) } }, app.globalData.accessToken.openId) }, //提交场景信息 _submit() { var that = this this.setData({ loading: true }) //针对不同场景,数据结构会有不同的定制需求 switch (this.data.sceneType) { case '1': const m = this.data.msg[4] for (let i = 0; i < m.options.length; i++) { const o = m.options[i]; if (o.checked) { this.setData({ [`info.${m.id}`]: o.value }) break } } break; default: break; } const sceneInfoStr = JSON.stringify(this.data.info) userservice.authScene(app.globalData.accessToken.openId, app.globalData.userInfo.extension2, sceneInfoStr, { success(res) { that.submintLedger() }, }) }, //提交图片信息 submintLedger() { if (this.data.imgFiles.length == 0) { this.setData({ loading: false }) wx.navigateBack({ delta: 1, }) return } if (this.data.imgFiles[0].url.indexOf('http') != -1) { wx.downloadFile({ url: this.data.imgFiles[0].url, success: (res) => { const imgPath = res.tempFilePath this.data.imgFiles[0].url = imgPath this._uploadLedger() } }) } else { this._uploadLedger() } }, //上传完成后,回退 _success(res) { wx.navigateBack({ delta: 1, }) } } })