// pages/topics/reportDemand/index.js import { config } from '../../../config.js' import { store } from '../../../utils/store.js' import { TopicModel } from '../../../models/topic.js' let topicModel = new TopicModel() Page({ /** * 页面的初始数据 */ data: { //类型 type:'', messageTitle:"", messageDetail:"", messageTemp:"", files: [], // 所在街道 streets: [], streetsIndex: 0, typeList:[], typeListIndex:0, //接口街道的数据 results:[], list:[], //选择后获取的街道的I, streetID:'', typeCode:'', textareaValue:'', error:'', company:'', username:'' }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ uplaodFile: this.uplaodFile.bind(this) }) this.getStreetList() this.getWhistleTypeList() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, getStreetList(){ topicModel.getStreetList(res=>{ var resultss = res.result var streett = [] resultss.forEach((value,index)=>{ streett[index] = value.departName }) //把streett添加第一项设为空 streett.unshift('') console.log('街道-->',streett) this.setData({ streets: streett }) //把接口数据放在results里 this.setData({ results: resultss }) console.log(this.data.results) }) }, getWhistleTypeList(){ topicModel.getWhistleTypeList(res=>{ var result = res.result var typeList = [] result.forEach((value,index)=>{ typeList[index] = value.typeName }) //把streett添加第一项设为空 typeList.unshift('') this.setData({ typeList: typeList }) //把接口数据放在results里 this.setData({ list: result }) }) }, bindPickerStreetsChange: function(e) { this.setData({ streetsIndex: e.detail.value, }) if(e.detail.value == '0'){ this.setData({ streetID: '' }) }else{ this.setData({ streetID: this.data.results[this.data.streetsIndex-1].id }) } }, bindPickerTypeChange:function(e){ this.setData({ typeListIndex: e.detail.value, }) if(e.detail.value == '0'){ this.setData({ typeCode: '' }) }else{ this.setData({ typeCode: this.data.list[this.data.typeListIndex-1].typeCode }) } }, bindTextInput(e) { this.setData({ messageTitle: e.detail.value }) }, bindTextAreaInput(e) { console.log("bindTextAreaInput"); this.setData({ messageDetail: e.detail.value, }) console.log(e.detail.value.length) if(e.detail.value.length >= 200){ // wx.showToast({ // title: '超过字数', // duration: 2000, // icon: 'none' // }) this.setData({ error: '已达最大字数' }) } }, uplaodFile(files) { console.log('upload files', files) // 文件上传的函数,返回一个promise const token = store.readToken() console.log(token) return new Promise((resolve, reject) => { files.tempFilePaths.forEach(item => { console.log('item',item) wx.uploadFile({ url: config.api_url + "/api/common/upload", filePath: item, header: { 'token': token, 'content-type': 'application/json', }, name: 'files', success: (res) => { console.log(res); const data = JSON.parse(res.data) const image = { url: config.api_url + '/' + data.result.imgUrl, } this.setData({ files: [...this.data.files, image] }) resolve(this.data.files) } }) }) }) }, deleteFile(e) { console.log(e) let tempImages = this.data.files const index = e.detail.index tempImages.splice(index, 1); this.setData({ files: tempImages }) }, submit() { var th =this; if (this.data.messageDetail.length >200){ wx.showModal({ title: '提示', content: '问题超过字数,请重新输入', showCancel:false, }) return } if (this.data.messageDetail === ''){ wx.showModal({ title: '提示', content: '请输入正文内容', showCancel:false }) return } if (this.data.username === ''){ wx.showModal({ title: '提示', content: '请输入姓名', showCancel:false }) return } if (this.data.username.length >15){ wx.showModal({ title: '提示', content: '姓名长度不能超过15', showCancel:false, }) return } if (this.data.company === ''){ wx.showModal({ title: '提示', content: '请输入工作单位', showCancel:false }) return } if (this.data.company.length >15){ wx.showModal({ title: '提示', content: '工作单位长度不能超过15', showCancel:false, }) return } //判断是否选择街道 if (this.data.streetID === ''){ wx.showModal({ title: '提示', content: '请输入街道', showCancel:false }) return } if (this.data.typeCode === ''){ wx.showModal({ title: '提示', content: '请选择需求类型', showCancel:false }) return } if(this.data.type == 'resource'){ var questionType = 0; }else{ var questionType = 2; } var data = { content:this.data.messageDetail, picList:this.data.files, departId:this.data.streetID, typeCode:this.data.typeCode, questionType:questionType, id:this.properties.tpId, workplace:this.data.company, name:this.data.username } topicModel.addTalents(data,res=>{ const id = res.result; if(res.code === 200){ this.setData({ messageDetail: '', streetID:'', typeCode:'', files:[], },()=>{ wx.showModal({ title: '提交成功', content: '问题已收到!', cancelText:'知道了', confirmText:'查看进度', success (res) { if (res.confirm) { wx.redirectTo({ url: '/pages/user/myWhistle/whistleDetail/index?id='+id, }) }else if (res.cancel) { // 点击知道了 if(th.properties.type == ''){ setTimeout(function(){ th.setData({ textareaValue:'' }) }, 500); }else{ console.log(1212); wx.navigateBack({ delta: 1 }) } } } }) }) } }) this.setData({ streetsIndex: 0, typeListIndex:0, }) }, company:function(e){ var company = e.detail.value; this.setData({ company:company }) }, username:function(e){ var username = e.detail.value; this.setData({ username:username }) } })