// pages/mUser/baseC/cSceneInfo/cSceneInfo.js import { sceneInfo, sceneLedger } from '../../../../data/sceneInfo'; import userservice from '../../../../service/userservice'; import deviceservice from '../../../../service/deviceservice'; import ledgerservice from '../../../../service/ledgerservice'; import bInputCheck from '../../../../base/behaviors/bInputCheck'; import bUploadLedger from '../../../mLedger/behaviors/bUploadLedger'; import bLoadingToast from '../../../../base/behaviors/bLoadingToast'; const app = getApp(); Component({ behaviors: [bInputCheck, bUploadLedger, bLoadingToast], 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: {}, isUploadFile: true, }, /** * 组件的方法列表 */ methods: { //获取场景信息 getSceneInfo() { var that = this; userservice.getBaseInfo( app.globalData.accessToken.userId, { success(data) { const msg = that.data.msg; switch (that.data.sceneType) { case '1': that.setData({ isUploadFile: true }); msg[0].value = data.name; msg[12].displayValue = ['上海市', '上海市', data.userInfo.extension1] if (data.baseInfo != null) { 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': that.setData({ isUploadFile: false }); msg[0].value = data.name; msg[5].displayValue = ['上海市', '上海市', data.userInfo.extension1] if (data.baseInfo != null) { msg[1].value = data.baseInfo.biNickName; msg[2].value = data.baseInfo.biAddress; msg[3].value = data.baseInfo.biContact; msg[4].value = data.baseInfo.biTelephone; msg[5].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[5].displayValue = data.baseInfo.biTownName == null ? [] : [ data.baseInfo.biProvinceName, data.baseInfo.biCityName, data.baseInfo.biDistrictName, data.baseInfo.biTownName, ]; } if (data.specialInfo != null) { msg[6].value = data.specialInfo.ibProductionTechnique; msg[7].value = data.specialInfo.ibWasteGasTechnique; that._parseCheckBox(msg[7]); msg[8].value = data.specialInfo.ibWasteGasMeasure; that._parseCheckBox(msg[8]); } break; case '7': break; default: break; } that.setData({ msg, }); }, }, app.globalData.accessToken.openId, ); }, _parseCheckBox(data) { data.options.forEach(o => { o.checked = false; }); data.value.split(';').forEach(v => { for (let i = 0; i < data.options.length; i++) { const o = data.options[i]; if (v == o.name) { o.checked = true; break; } else if (o.hasRemark) { o.checked = true; o.remark += v; } } }); }, //提交场景信息 _submit() { var that = this; //针对不同场景,数据结构会有不同的定制需求 switch (this.data.sceneType) { case '1': this.setData({ loading: true, }); 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; } } const sceneInfoStr = JSON.stringify(this.data.info); userservice.authScene( app.globalData.accessToken.openId, app.globalData.userInfo.extension2, sceneInfoStr, { success(res) { that.submintLedger(); }, }, ); break; case '6': // this.setData({ // loading: false, // }); break; default: break; } }, //提交图片信息 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, }); }, }, });