公寓小程序端前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

217 lines
4.0 KiB

// subpages/bsPage/bsPage/bsPage.js
const options = [
'安全问题','卫生问题','服务问题','噪音问题','体验问题','其它'
];
var config = require('../../../utils/config')
import {incidentsSubmit} from "../../../api/index"
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
show: false,
options,
fieldValue: '',
faultDescribe: '',
fileList: [],
feedbackType:'',
positionType:null,
position:''
},
onButtonTap() {
wx.showToast({
title: '按钮被点击了',
icon: 'none'
});
},
onInputP(e){
this.setData({
position:e.detail.value
})
},
deleteData(event) {
// 删除
console.log(event.detail.index)
let newFileList = this.data.fileList.slice();
newFileList.splice(event.detail.index, 1);
this.setData({
fileList: newFileList
});
},
afterRead(event) {
const {
file
} = event.detail;
const _this = this
// 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
wx.uploadFile({
url: `${config.BASEURL()}/common/upload`, // 仅为示例,非真实的接口地址
filePath: file.url,
name: 'file',
header: {
"Content-type": "multipart/form-data",
'Authorization': wx.getStorageSync('token')
},
success(res) {
const res1 = JSON.parse(res.data)
_this.setData({
fileList:_this.data.fileList.concat([{url:res1.url,name:new Date().getTime()}])
});
},
});
},
beforeRead(event) {
const {
file,
callback
} = event.detail;
callback(file.type === 'image');
},
onInput(e) {
this.setData({
faultDescribe: e.detail.value,
});
// console.log(this.data.faultDescribe, 666)
},
onChangeRadio(e){
this.setData({
positionType:e.detail,
position:''
})
},
onClick() {
this.setData({
show: true,
});
},
onClose() {
this.setData({
show: false,
});
},
submit(){
const {position,positionType,feedbackType,faultDescribe,fileList} = this.data
if(!feedbackType){
wx.showToast({
title: '反馈类型不能为空',
icon:'none'
})
return
}
if(!faultDescribe){
wx.showToast({
title: '问题描述不能为空',
icon:'none'
})
return
}
if(positionType === null){
wx.showToast({
title: '位置不能为空',
icon:'none'
})
return
}
let parms = {
position,
images:fileList,
positionType,
faultDescribe,
graduateName: app.globalData.userInfo.name,
telephone: app.globalData.userInfo.phone,
feedbackType
}
incidentsSubmit(parms).then(res=>{
if(res.code === 200){
wx.showToast({
title: '上报成功',
duration:2000,
success:()=>{
setTimeout(()=>{
wx.navigateBack()
},2000)
}
})
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
wx.setNavigationBarTitle({
title: '报事'
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
},
onconfirm(e){
const {
index,
value
} = e.detail;
console.log(index);
this.setData({
fieldValue:value,
feedbackType: (index + 1).toString(),
show:false
})
},
oncancel(){
this.setData({
show:false
})
}
})