const app = getApp() var bmap = require('../../lib/bmap-wx.js'); let wxMarkerData = []; // pages/caseReport/caseReport.js Page({ /** * 页面的初始数据 */ data: { address: '获取案件地址中...', recodePath: '', recorderManager: wx.getRecorderManager(), innerAudioContext: wx.createInnerAudioContext(), //街道 streetPicker: false, streetList: [], streetKeys: { label: 'dictName', value: 'dictId' }, selStreet: null, //社区 communityPicker: false, communityList: [], communityKeys: { label: 'communityName', value: 'communityId' }, selCommunity: null, //类型 typePicker: false, typeList: [], typeKeys: { label: 'dictName', value: 'dictId' }, selType: null, //详细类型 type2Picker: false, type2List: [], type2Keys: { label: 'dictName', value: 'dictId' }, selType2: null, // 案件类型 photoList: [], startTouch: {}, selfHandle: 0, caseDesc: '', imageList: [], token: '', scrollHeight: 0, }, onLoad: function (options) { var self = this wx.getStorage({ key: 'token', success: function (res) { self.setData({ token: res.data }) self.getOfficeList() self.getTypeList() } }) var BMap = new bmap.BMapWX({ ak: 'Zk732rbyjd327q7Zj9EOtRjUn2ED1GWK' }); var success = function (data) { self.setData({ address: data.wxMarkerData[0].address, latitude: data.wxMarkerData[0].latitude, longitude: data.wxMarkerData[0].longitude }) } var fail = function (data) { console.log(data); } BMap.regeocoding({ fail: fail, success: success }); let screenHeight = wx.getSystemInfoSync().windowHeight; this.setData({ scrollHeight: screenHeight }) }, //街道选择 onShowStreetPick() { this.setData({ streetPicker: true }) }, onStreetPick(e) { var _self = this; var index = e.detail.columns[0].index; _self.setData({ communityList: [], selCommunity: null, selStreet: _self.data.streetList[index] }) _self.getCommunityList(); }, onStreetCancel(e) { this.setData({ streetPicker: false, }) }, //社区 onShowCommunitPicker() { this.setData({ communityPicker: true, }) }, onCommunityPick(e) { var index = e.detail.columns[0].index; var _self = this; _self.setData({ selCommunity: _self.data.communityList[index] }) }, onCommunityCancel(e) { this.setData({ communityPicker: false }) }, //类型选择 onShowType1() { this.setData({ typePicker: true }) }, onTypePick(e) { var index = e.detail.columns[0].index; var _self = this; _self.setData({ selType: _self.data.typeList[index] }) _self.getTypeLv(); }, onTypeCancel(e) { this.setData({ typePicker: false }) }, //详细类型 onShowType2() { this.setData({ type2Picker: true }) }, onType2Pick(e) { var index = e.detail.columns[0].index; var _self = this; _self.setData({ selType2: _self.data.type2List[index] }) }, onType2Cancel(e) { this.setData({ typePicker: false }) }, // 办事处列表 getOfficeList: function () { var self = this app.restAjax.get(app.restAjax.path('{reqesutUrl}app/dict/listdict/9d179f05-3ea0-48f7-853c-d3b7124b791c', [app.requestUrl]), {}, { headers: { token: self.data.token } }, function (code, data) { self.setData({ streetList: data, selStreet: data[0] }) self.getCommunityList() }); }, // 社区列表 getCommunityList: function () { var self = this self.setData({ communityIndex: 0 }) app.restAjax.get(app.restAjax.path('{reqesutUrl}app/community/listareacommunity/' + self.data.selStreet.dictId, [app.requestUrl]), {}, { headers: { token: self.data.token } }, function (code, data) { self.setData({ communityList: data, selCommunity: data[0] }) wx.hideToast() }); }, // 类型列表 getTypeList: function () { var self = this app.restAjax.get(app.restAjax.path('{reqesutUrl}app/dict/listdict/46d108b2-4ef9-4f6f-b30c-0c700e3ee852', [app.requestUrl]), {}, { headers: { token: self.data.token } }, function (code, data) { self.setData({ typeList: data, selType: data[0] }) self.getTypeLv() }); }, // 类型二级 getTypeLv: function () { var self = this wx.showLoading({ title: '加载中...', }) app.restAjax.get(app.restAjax.path('{reqesutUrl}app/dict/listdict/' + self.data.selType.dictId, [app.requestUrl]), {}, { headers: { token: self.data.token } }, function (code, data) { self.setData({ type2List: data, selType2: data[0] }) wx.hideLoading() }, (code, error) => { wx.hideLoading() }); }, //案件描述 inputCaseDesc(e) { this.setData({ caseDesc: e.detail.value }) }, // 案件类型列表 getCaseList: function () { var self = this app.restAjax.get(app.restAjax.path('{reqesutUrl}app/dict/listdict/46d108b2-4ef9-4f6f-b30c-0c700e3ee852' + self.data.officeSelectedId, [app.requestUrl]), {}, { headers: { token: self.data.token } }, function (code, data) { var arr = [] for (let i = 0; i < data.length; i++) { arr.push(data[i].dictName) } self.setData({ typeArray: arr, typeList: data, typeSelectedId: data[0].dictId }) self.getTypeLv() }); }, // 录音 recordVoice: function (e) { this.setData({ startTouch: e.touches[0] }) var options = { format: 'mp3' } this.data.recorderManager.start(options) wx.showToast({ title: "正在录音", icon: "none", duration: 60000//先定义个60秒,后面可以手动调用wx.hideToast()隐藏 }); }, // 录音结束 recordEnd: function () { var self = this this.data.recorderManager.stop() this.data.recorderManager.onStop(function (res) { var path = res.tempFilePath self.setData({ recodePath: path }) wx.showToast({ title: '上传中', icon: 'loading' }) app.restAjax.file(app.restAjax.path('{requestUrl}app/file/uploadaudio', [app.requestUrl]), path, 'audio', { headers: { token: self.data.token } }, function (code, data) { var id = JSON.parse(data).data self.setData({ audioId: id }) wx.hideToast() }, function (code, data) { console.log(data) }) }) var self = this wx.hideToast() }, // 播放录音 playRecord: function () { var innerAudioContext = wx.createInnerAudioContext() innerAudioContext.src = this.data.recodePath innerAudioContext.play() }, // 选择图片 chooseImage: function () { var self = this wx.chooseImage({ count: 9 - self.data.photoList.length, sourceType: ['album', 'camera'], success: function (res) { self.setData({ photoList: self.data.photoList.concat(res.tempFiles) }) wx.showToast({ title: '上传中', icon: 'loading' }) var arr = [] for (let i = 0; i < res.tempFiles.length; i++) { var path = res.tempFiles[i].path; app.restAjax.file(app.restAjax.path('{requestUrl}app/file/uploadimage', [app.requestUrl]), path, 'image', { headers: { token: self.data.token } }, function (code, data) { var id = JSON.parse(data).data arr.push(id) if (arr.length == res.tempFiles.length) { self.setData({ imageList: arr }) wx.hideToast() } }, function (code, data) { console.log(data) }) } } }) }, // 删除图片 deleteImg: function (e) { var idx = e.currentTarget.dataset.num var self = this self.data.photoList.splice(idx, 1) self.data.imageList.splice(idx, 1) self.setData({ photoList: self.data.photoList, imageList: self.data.imageList }) }, // 提交上报 submitReport: function () { var self = this var photos = '' if (!self.data.caseDesc) { wx.showToast({ title: '案件内容不能为空', icon: 'none', duration: 2000 }) return } if (self.data.imageList.length != 'undefined' && self.data.imageList.length != 0) { for (let i = 0; i < self.data.imageList.length; i++) { if (i == self.data.imageList.length - 1) { photos += self.data.imageList[i] } else { photos += self.data.imageList[i] + ',' } } } else { wx.showToast({ title: '请至少上传一张照片', icon: 'none', duration: 2000 }) return } var info = { areaId: self.data.selStreet.dictId, areaName: self.data.selStreet.dictName, casePhotos: photos, caseAudio: self.data.audioId, communityId: self.data.selCommunity.communityId, communityName: self.data.selCommunity.communityName, caseSource: 1, isSelf: self.data.selfHandle, caseTypeId: self.data.selType2.dictId, caseTypeName: self.data.selType2.dictName, caseContent: self.data.caseDesc, caseLatitude: self.data.latitude, caseLongitude: self.data.longitude, casePosition: self.data.address } wx.showLoading({ title: '上报中...', }) app.restAjax.post(app.restAjax.path('{reqesutUrl}app/reportcase/saveappautoreportcase', [app.requestUrl]), info, { headers: { token: self.data.token } }, function (code, data) { if (code == '200') { wx.hideLoading() wx.showToast({ title: '上报成功', duration: 1500 }) setTimeout(function () { wx.navigateBack() }, 1500) } }, function (code, data) { wx.hideLoading() wx.showToast({ title: data.msg, duration: 2000 }) }); }, })