jhwxapp/miniprogram/pageage/safetyManagement/addSafetyInspect/index.js

399 lines
10 KiB
JavaScript
Raw Normal View History

2023-08-10 01:21:29 +08:00
// pageage/safetyManagement/addSafetyInspect/index.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
maxDate:new Date(2099,1,1).getTime(),
projectId:"",
loginName:"",
userName:"",
personnelShow:false,
rectifierData:[],
inspectInfoData:[
{
existing_problems:'',
image_upload:[],
person_responsible:[]
},
],
stateNav:2,
checkType:1,
//检查部位名称
checkSiteName:'',
//检查时间
checkTime:'',
//检查限制时间
checkImposeTime:'',
loadShow:false
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
let {projectId} = options
//获取缓存数据
wx.getStorage({
key: 'userinfo',
success:res=>{
this.setData({
projectId,
loginName:res.data.loginName,
userName:res.data.userName
})
this.getRectifierData()
}
})
},
//获取选中人信息
getRectifierData(){
let that = this
let {projectId} = this.data
wx.request({
url: app.globalData.szhUrl+'/system/checkDutyUser/list',
method:"POST",
data:{
projectId
},
header:{
'content-type': 'application/x-www-form-urlencoded'
},
success(res){
res = res.data
if(res.code == 0 && res.rows.length > 0){
let tempdata = []
res.rows.forEach(item=>{
tempdata.push({
state:false,
name:item.userName,
url: item.photoUrl,
loginName:item.loginName,
userId:item.userId
})
})
that.setData({
rectifierData:tempdata
})
}
}
})
},
//切换检查类型
onStateSelect(e){
let state = e.currentTarget.dataset.set;
this.setData({
stateNav:state,
});
},
//检查部位
onInputValue(e){
let checkSiteName = e.detail.value
this.setData({
checkSiteName
})
},
//检查时间
onStartTime(e){
let checkTime = e.detail
this.setData({
checkTime
})
},
//限期整改时间
onEndTime(e){
let checkImposeTime = e.detail
this.setData({
checkImposeTime
})
},
// list 上传图片
onImagesArr(e){
var index = e.currentTarget.dataset.index
var data = this.data.inspectInfoData
data[index].image_upload = e.detail
this.setData({
inspectInfoData:data
})
},
//新增问题
onNewIssues(){
var data = this.data.inspectInfoData
data.push(
{
existing_problems:'',
image_upload:[],
person_responsible:[]
}
)
this.setData({
inspectInfoData:data
})
},
//删除
onNewIssuesDelete(e){
var index = e.currentTarget.dataset.index
var data = this.data.inspectInfoData
data.splice(index, 1) 
this.setData({
inspectInfoData:data
})
},
// 存在问题input
onPositionInput(e){
var index = e.currentTarget.dataset.index
var data = this.data.inspectInfoData
data[index].existing_problems = e.detail.value
this.setData({
inspectInfoData:data
})
},
//添加整改责任人
onAddResponsible(e){
var index = e.currentTarget.dataset.index
var data = this.data.inspectInfoData
data[index].person_responsible = e.detail
this.setData({
inspectInfoData:data
})
},
//取消页面
cancelSaveView(){
wx.navigateBack()
},
//保存
onProblemSubmitSave(){
this.setData({
loadShow:true
})
let that = this
let {projectId,loginName,userName,checkType,stateNav,checkSiteName,checkTime,checkImposeTime,inspectInfoData} = that.data
if(stateNav == '3'){
stateNav = '2'
checkType = '2'
}
//数据校验
if(!checkSiteName || checkSiteName.length<=0 || !checkTime || checkTime.length <= 0 || !checkImposeTime || checkImposeTime.length <= 0){
app.toast("数据填写不完整!")
that.setData({
loadShow:false
})
return;
}
//校验信息
let flag = false
for(let i = 0;i <inspectInfoData.length;i++){
if(inspectInfoData[i].existing_problems.length <= 0){
flag = true
app.toast("存在问题不能为空!")
that.setData({
loadShow:false
})
break;
}
if(inspectInfoData[i].image_upload.length <= 0){
flag = true
app.toast("检查图片不能为空!")
that.setData({
loadShow:false
})
break;
}
if(inspectInfoData[i].person_responsible <= 0){
flag = true
app.toast("责任整改人不能为空!")
that.setData({
loadShow:false
})
break;
}
}
if(flag){
return;
}
let tempInspectInfoData = []
inspectInfoData.forEach(async (item)=>{
console.log(app.globalData.reqUrl+'/weixin/security/fileUploads')
let beforeCheckUrl = []
item.image_upload.forEach(async (item1)=>{
let requestUrl = app.globalData.reqUrl+'/weixin/security/fileUpload'
let name = "file"
//这里复杂的图片上传,改为同步上传,因为小程序只能上传一张图片
let photoUrlObj = await that.syncUploadImage(requestUrl,item1,name)
beforeCheckUrl.push(photoUrlObj.data.url)
if(beforeCheckUrl.length >= item.image_upload.length){
tempInspectInfoData.push({
issueContext:item.existing_problems,
beforeCheckUrl:beforeCheckUrl.join(","),
checkUserId:item.person_responsible[0].userId,
checkUserName:item.person_responsible[0].name,
checkLoginName:item.person_responsible[0].loginName,
})
}
if(tempInspectInfoData.length >= inspectInfoData.length){
let params = {
projectId,
checkLoginName:loginName,
checkType,
userName,
deptId:"131",
checkTitle:stateNav,
checkSiteName,
checkTime,
checkImposeTime,
saftCheckIssueItemList:tempInspectInfoData
}
wx.request({
url: app.globalData.szhUrl + '/system/saftcheckissue/addJson',
method:"POST",
data:params,
header: {
"Content-Type": "application/json"
},
success(res){
that.setData({
loadShow:true
})
res =res.data
if(res.code == 0){
app.toast("添加成功!")
setTimeout(()=>{
wx.navigateTo({
url: '../securityCheckGR/index',
})
},2000)
}
}
})
}
})
})
},
/**
* 这里考虑上传图片异步问题封装为同步
*/
syncUploadImage(url,uploadFile,name) {
return new Promise((resolve, reject) => {
wx.uploadFile({
url, // 上传的服务器接口地址
filePath: uploadFile,
header: {
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
},
name, //上传的所需字段,后端提供
formData: { user: 'test' },
success: (res) => {
// 上传完成操作
const data = JSON.parse(res.data)
resolve({
data: data
})
},
fail: (err) => {
//上传失败修改pedding为reject
console.log("访问接口失败", err);
wx.showToast({
title: "网络出错,上传失败",
icon: 'none',
duration: 1000
});
reject(err)
}
});
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})