daofu-applet/pages/emergency/s-b/escalation/index.js

612 lines
14 KiB
JavaScript
Raw Normal View History

2024-06-04 14:45:44 +08:00
// 上报动态
import Utils from "../../../../utils/util"
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
topBarH: app.globalData.CustomBar,
baseUrl: app.FILE_SERVER_URL,
dateFilter: Utils.formatTime(new Date(), '-'),
showTypePop: false,
showAdvicePop: false,
TypeData: [],
postData: {},
files: [],
userInfo:{},
areamultiArray:[],
areamultiIndex: [0, 0, 0],
areamultiIds: [],
areanewArr: [],
area:[],
areatate : false,
multiArray: [],
multiIndex: [0, 0, 0],
multiIds: [],
newArr: [],
organization:[],
organizationtate : false,
},
/**
* 显示/关闭弹窗
*/
popModal: function (params) {
const type = params.currentTarget.dataset.type;
this.data[type] = !this.data[type];
this.setData(this.data)
},
/**
* 事件类型
*/
typeChange: function (params) {
const index = params.currentTarget.dataset.index;
console.log(params,'params===>');
this.data.postData.emerTypeId = params.currentTarget.dataset.item.emerTypeId;
this.data.postData.type = index + 1;
this.data.showTypePop = false;
this.setData(this.data);
},
/**
* 输入框赋值
*/
inputContent: function (e) {
const name = e.currentTarget.dataset.name;
this.data.postData[name] = e.detail.value;
this.setData(this.data);
},
/**
* 发布
*/
push: function () {
if (!this.data.postData.title) {
wx.showToast({
title: '请输入标题',
icon: 'none'
})
return
}
if (!this.data.postData.createTime) {
wx.showToast({
title: '请选择时间',
icon: 'none'
})
return
}
if (!this.data.postData.emerTypeId) {
wx.showToast({
title: '请选择事件类型',
icon: 'none'
})
return
}
if (this.data.organizationtate==false) {
wx.showToast({
title: '请选择所属组织',
icon: 'none'
})
return
}
if (this.data.areatate==false) {
wx.showToast({
title: '请选择地区',
icon: 'none'
})
return
}
if (!this.data.postData.addressName) {
wx.showToast({
title: '请选择详细地址',
icon: 'none'
})
return
}
if (!this.data.postData.content) {
wx.showToast({
title: '请输入事件描述',
icon: 'none'
})
return
}
let data = {
...this.data.postData,
emerEventId:this.data.uuid,
userId:this.data.userInfo.userId,
address:this.data.postData.addressName,
};
data.listPerformId = this.data.organization?this.data.multiArray[0].children[0].children[this.data.organization[2]].listperformid:'';
data.areaCode = this.data.areamultiArray[0].children[this.data.area[1]].orgcode?this.data.areamultiArray[0].children[this.data.area[1]].orgcode:'';
console.log(data,'data===>');
app.axios("POST", "app", `/emerEvent/saveEmerEvent`,data).then(res => {
console.log(res,'res===>');
if (res.code == 1) {
wx.showToast({
title: '发布成功',
icon: 'none'
})
setTimeout(() => {
wx.navigateBack()
}, 1500);
} else {
wx.showToast({
title: res.message,
icon: 'none'
})
}
})
},
getweidu:function (params) {
wx.getLocation({
type: 'gcj02', //返回可以用于wx.openLocation的经纬度
success (res) {
const latitude = res.latitude
const longitude = res.longitude
wx.openLocation({
latitude,
longitude,
scale: 18
})
}
})
},
/**
* 选择文件
*/
chooseFile: function () {
wx.chooseImage({
count: 1,
type: 'all',
success: (res) => {
const tempFilePaths = res.tempFiles;
const path = tempFilePaths[0].path;
this.postImg(path)
}
})
},
/**
* 上传图片
*/
postImg(filePath) {
wx.showLoading({
title: '文件上传中...',
})
app.uploadFile(this.data.uuid, app.FileType.eventAcs, filePath).then(res => {
let resdata = JSON.parse(res);
console.log(resdata,'resdata===>');
// if (resdata.code == 1) {
console.log(resdata,'res==>');
2024-06-06 17:12:17 +08:00
2024-06-04 14:45:44 +08:00
this.getFiles();
2024-06-06 17:12:17 +08:00
wx.hideLoading();
2024-06-04 14:45:44 +08:00
// }
})
},
/**
* 获取图片
*/
getFiles: function () {
console.log(1111);
app.axios("GET", "common", "/upload/getFile", {
otcid: this.data.postData.emerEventId || this.data.uuid,
otctype: app.FileType.eventAcs
}).then(res => {
if (res.code == 1) {
console.log(res,'res===>');
this.data.files = res.data;
this.setData(this.data)
}
})
},
/**
* 删除图片
* @param {*} params
*/
deleteFile: function (e) {
var id = e.currentTarget.dataset.id;
wx.showModal({
title: '删除提示',
content: '是否要删除该附件?',
success: (res) => {
if (res.confirm) {
app.axios("GET", 'common', "/upload/delFile", {
documentId: id,
}).then(res => {
if (res.code == 1) {
this.getFiles();
}
})
}
}
})
},
/**
* 预览文件
*/
filePre: function (params) {
const url = params.currentTarget.dataset.url;
const imgs = [];
this.data.files.forEach(item => {
imgs.push(this.data.baseUrl + item.filepath)
})
wx.previewImage({
urls: imgs,
current: this.data.baseUrl + url
})
},
/**
* 时间
*/
bindDateChange: function (params) {
this.data.postData.createTime = params.detail.value;
this.setData(this.data)
},
/**
* 选择位置
*/
// chooseAddress: function (params) {
// wx.chooseLocation({
// success: (res) => {
// this.data.postData.lat = res.latitude;
// this.data.postData.lng = res.longitude;
// this.data.postData.address = res.address;
// this.setData(this.data)
// }
// })
// },
/**
* 查询所有应急上报事件类型
*/
getEmerEventType: function () {
app.axios("GET", "app", "/emerEvent/emerEventType").then(res => {
if (res.code == 1) {
console.log(res);
this.data.TypeData = res.data;
this.setData(this.data);
}
})
},
/**
* 查看应急上报事件详情
*/
getEmerEventDetail: function (id) {
app.axios("GET", "app", `/emerEvent/emerEventDetail/${id}`).then(res => {
if (res.code == 1) {
this.data.postData = res.data;
this.data.postData.emerTypeName;
for (let index = 0; index < this.data.TypeData.length; index++) {
if (this.data.TypeData[index].emerTypeName == res.data.emerTypeName) {
this.data.postData.type = index+1;
}
};
this.setData(this.data);
this.getFiles();
}
})
},
// 地区获取
getAreaTree: function () {
app.axios("GET", "common", "/sysorg/areaTree").then(res => {
if (res.code == 1) {
console.log(res);
this.data.areamultiArray = res.data;
this.data.areamultiArray[0].children.forEach(item => {
item.children = []
});
this.setData(this.data);
let state = {
arr: [],
arr1: [],
arr2: [],
arr3: [],
areamultiIds: []
}
this.data.areamultiArray.map((v, vk) => {
state.arr1.push(v.orgname);
if (this.data.areamultiIndex[0] === vk) {
state.areamultiIds[0] = v;
}
if (state.arr2.length <= 0) {
v.children.map((c, ck) => {
state.arr2.push(c.orgname);
if (this.data.areamultiIndex[1] === ck) {
state.areamultiIds[1] = c;
}
if (state.arr3.length <= 0) {
c.children.map((t, tk) => {
state.arr3.push(t.orgname);
if (this.data.areamultiIndex[2] === tk) {
state.areamultiIds[2] = t;
}
});
}
});
}
});
state.arr[0] = state.arr1;
state.arr[1] = state.arr2;
state.arr[2] = state.arr3;
this.setData({
areanewArr: state.arr,
areamultiIds: state.areamultiIds,
});
}
})
},
// 级联选择地区
areabindMultiPickerChange(e) {
console.log(this.data.areamultiIds,'级联选择地区==>');
this.setData({
area: e.detail.value,
areatate:true
});
},
areabindMultiPickerColumnChange(e) {
let data = {
areanewArr: this.data.areanewArr,
areamultiIndex: this.data.areamultiIndex,
areamultiIds: this.data.areamultiIds,
};
data.areamultiIndex[e.detail.column] = e.detail.value;
let searchColumn = () => {
let arr1 = [];
let arr2 = [];
this.data.areamultiArray.map((v, vk) => {
if (data.areamultiIndex[0] === vk) {
data.areamultiIds[0] = {
...v,
};
v.children.map((c, ck) => {
arr1.push(c.orgname);
if (data.areamultiIndex[1] === ck) {
data.areamultiIds[1] = {
...c,
};
c.children.map((t, vt) => {
arr2.push(t.orgname);
if (data.areamultiIndex[2] === vt) {
data.areamultiIds[2] = {
...t,
};
}
});
}
});
}
});
data.areanewArr[1] = arr1;
data.areanewArr[2] = arr2;
};
switch (e.detail.column) {
case 0:
// 每次切换还原初始值
data.areamultiIndex[1] = 0;
data.areamultiIndex[2] = 0;
// 执行函数处理
searchColumn();
break;
case 1:
data.areamultiIndex[2] = 0;
searchColumn();
break;
}
this.setData(data);
},
// 所属组织获取
getAreaTree1: function () {
app.axios("GET", "app", "/Sys/getListperformTree").then(res => {
if (res.code == 1) {
console.log(res);
this.data.multiArray = res.data
this.setData(this.data);
let state = {
arr: [],
arr1: [],
arr2: [],
arr3: [],
multiIds: []
}
this.data.multiArray.map((v, vk) => {
state.arr1.push(v.performclassname);
if (this.data.multiIndex[0] === vk) {
state.multiIds[0] = v;
}
if (state.arr2.length <= 0) {
v.children.map((c, ck) => {
state.arr2.push(c.performclassname);
if (this.data.multiIndex[1] === ck) {
state.multiIds[1] = c;
}
if (state.arr3.length <= 0) {
c.children.map((t, tk) => {
state.arr3.push(t.performclassname);
if (this.data.multiIndex[2] === tk) {
state.multiIds[2] = t;
}
});
}
});
}
});
state.arr[0] = state.arr1;
state.arr[1] = state.arr2;
state.arr[2] = state.arr3;
this.setData({
newArr: state.arr,
multiIds: state.multiIds,
});
}
})
},
bindMultiPickerChange(e) {
console.log(e,'e==>');
this.setData({
organization: e.detail.value,
organizationtate:true
});
console.log(this.data.organization,'e==>');
console.log(this.data.multiIds);
},
bindMultiPickerColumnChange(e) {
let data = {
newArr: this.data.newArr,
multiIndex: this.data.multiIndex,
multiIds: this.data.multiIds,
};
data.multiIndex[e.detail.column] = e.detail.value;
let searchColumn = () => {
let arr1 = [];
let arr2 = [];
this.data.multiArray.map((v, vk) => {
if (data.multiIndex[0] === vk) {
data.multiIds[0] = {
...v,
};
v.children.map((c, ck) => {
arr1.push(c.performclassname);
if (data.multiIndex[1] === ck) {
data.multiIds[1] = {
...c,
};
c.children.map((t, vt) => {
arr2.push(t.performclassname);
if (data.multiIndex[2] === vt) {
data.multiIds[2] = {
...t,
};
}
});
}
});
}
});
data.newArr[1] = arr1;
data.newArr[2] = arr2;
};
switch (e.detail.column) {
case 0:
// 每次切换还原初始值
data.multiIndex[1] = 0;
data.multiIndex[2] = 0;
// 执行函数处理
searchColumn();
break;
case 1:
data.multiIndex[2] = 0;
searchColumn();
break;
}
this.setData(data);
},
//地点选择/经纬度
toShowAddress() {
let that = this;
wx.chooseLocation({
success(res) {
that.data.postData.lat = res.latitude;
that.data.postData.lon = res.longitude;
that.data.postData.addressName = res.name;
that.setData(that.data);
},
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.data.uuid = Utils.uuid();
this.data.userInfo = app.globalData.userInfo;
this.setData(this.data);
this.getEmerEventType();
this.getAreaTree();
this.getAreaTree1();
if (options.emerEventId) {
console.log(options.emerEventId,'options.emerEventId===>');
this.getEmerEventDetail(options.emerEventId)
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})