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.
576 lines
17 KiB
576 lines
17 KiB
import {
|
|
$wuxActionSheet
|
|
} from '../../../../components/dist/index'
|
|
const config = require('../../../../utils/config')
|
|
const QQMapWX = require('../../../../utils/qqmap-wx-jssdk')
|
|
const App = getApp()
|
|
|
|
import {
|
|
addRecord,
|
|
securityCheckk,
|
|
inspectionStaff
|
|
} from "../../../../utils/api"
|
|
Page({
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
hiddenDangeList: [
|
|
],
|
|
newObj:[],
|
|
addRecord: [],
|
|
attachmentUrl: '',
|
|
reviewTime: '',
|
|
checkResultFlag: '',
|
|
checkPersonsIdList: [],
|
|
pageNo: 1,
|
|
pageSize: 10,
|
|
id: 0,
|
|
addressContent: '',
|
|
fmData: {
|
|
gridId: '',
|
|
attachmentList: [], //图片
|
|
voiceList: [],
|
|
latitude: "",
|
|
longitude: "",
|
|
resiId: "",
|
|
happenTime: "",
|
|
content: "", //内容
|
|
address: "", //地址
|
|
namesArray: [],
|
|
AllnamesArray: [],
|
|
checkPersons: ''
|
|
},
|
|
imageUrl: '',
|
|
remarks: '', //备注
|
|
getData: '',
|
|
gridName: '',
|
|
array: ['不合格', '合格'], // 选择器的数据源
|
|
arrlist: [],
|
|
fileList: [],
|
|
companyId: '',
|
|
showPopup: false, // 控制弹出层显示/隐藏的状态
|
|
selectedOptions: [], // 选中的复选框项
|
|
selectedNames: [], //显示检察人员
|
|
// 用于存放复选框选择的结果
|
|
result: [],
|
|
// 用于存放输入框的值
|
|
newPassword: '',
|
|
uploadImageList: [],
|
|
imageId: 1,
|
|
arr: [
|
|
// {value:"1",name:'小王'},
|
|
// {value:"2",name:'李四'},
|
|
// {value:"3",name:'张三'}
|
|
],
|
|
arr1: [
|
|
// {value:"1",name:'1.车间一些软件设备出现生锈断裂情况严重'},
|
|
// {value:"2",name:'2.还有部分货运车辆已过年检。'},
|
|
],
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
console.log(options.resiId)
|
|
this.setData({
|
|
companyId: options.resiId
|
|
})
|
|
this.data.qqMapWX = new QQMapWX({
|
|
key: 'CMJBZ-4DECI-JXGGN-5B4WU-QLV2H-B5BEJ'
|
|
})
|
|
this.reverseLocation()
|
|
// this.ToaddRecord()
|
|
this.getList()
|
|
},
|
|
|
|
submitBiao() {
|
|
console.log("122131")
|
|
const currentDate = new Date();
|
|
addRecord({
|
|
companyId: this.data.companyId,
|
|
checkTime: currentDate,
|
|
checkPersonsIdList: this.data.checkPersonsIdList,
|
|
checkResultFlag: this.data.checkResultFlag,
|
|
reviewTime: this.data.reviewTime,
|
|
hiddenDangeList: this.data.hiddenDangeList,
|
|
attachmentUrls: this.data.uploadImageList,
|
|
remark: '123'
|
|
}).then(({
|
|
data
|
|
}) => {
|
|
console.log('data', data)
|
|
});
|
|
|
|
},
|
|
|
|
getList() {
|
|
securityCheckk({
|
|
pageNo: this.data.pageNo,
|
|
pageSize: this.data.pageSize,
|
|
}).then(({
|
|
data
|
|
}) => {
|
|
// console.log("123131",data.list)
|
|
this.setData({
|
|
marsi: data.list,
|
|
total: data.total
|
|
})
|
|
this.setData({
|
|
'fmData.AllnamesArray': data.list.map(item => ({
|
|
id: item.id,
|
|
name: item.name
|
|
})),
|
|
'fmData.namesArray': data.list.map(item => (item.name)),
|
|
|
|
'fmData.checkPersons': data.list.map((item, index) => ({
|
|
value: index,
|
|
name: item.checkPersons
|
|
})),
|
|
});
|
|
// console.log("123131", this.data.fmData.namesArray.map(item => item.name));
|
|
});
|
|
inspectionStaff({
|
|
orgId: App.globalData.user.agencyId,
|
|
orgType: 'agency',
|
|
pageNo: 1,
|
|
pageSize: 100
|
|
}).then(({
|
|
data
|
|
}) => {
|
|
this.setData({
|
|
arr: data.staffList
|
|
})
|
|
});
|
|
///
|
|
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
this.reverseLocation
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {},
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {},
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {},
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {},
|
|
onChange(event) {
|
|
console.log("111", event)
|
|
this.setData({
|
|
result: event.detail
|
|
});
|
|
|
|
// event.detail 为当前输入的值
|
|
console.log(this.data.result);
|
|
console.log(this.data.hiddenDangeList);
|
|
|
|
},
|
|
afterRead(event) {
|
|
const {
|
|
file
|
|
} = event.detail;
|
|
console.log(file)
|
|
// 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
|
|
wx.uploadFile({
|
|
url: 'https://example.weixin.qq.com/upload', // 仅为示例,非真实的接口地址
|
|
filePath: file.url,
|
|
name: 'file',
|
|
formData: {
|
|
user: 'test'
|
|
},
|
|
success(res) {
|
|
// 上传完成需要更新 fileList
|
|
const {
|
|
fileList = []
|
|
} = this.data;
|
|
fileList.push({
|
|
...file,
|
|
url: res.data
|
|
});
|
|
this.setData({
|
|
fileList
|
|
});
|
|
},
|
|
});
|
|
},
|
|
|
|
showPopup() {
|
|
this.setData({
|
|
showPopup: true
|
|
}); // 点击按钮显示弹出层
|
|
},
|
|
onClose() {
|
|
this.setData({
|
|
showPopup: false
|
|
}); // 关闭弹出层
|
|
},
|
|
onChange1(event) {
|
|
console.log(event)
|
|
this.setData({
|
|
selectedOptions: event.detail
|
|
});
|
|
console.log(this.data.selectedOptions)
|
|
},
|
|
confirmSelection() {
|
|
// 点击确定按钮后触发,处理选中的复选框项
|
|
console.log("选中的项:", this.data.selectedOptions);
|
|
|
|
const selectedName = this.data.selectedOptions;
|
|
this.setData({
|
|
showPopup: false,
|
|
selectedNames: selectedName
|
|
});
|
|
const matchedStaffIds = [];
|
|
this.data.arr.forEach(item => {
|
|
if (selectedName.includes(item.name)) {
|
|
matchedStaffIds.push(item.staffId);
|
|
}
|
|
});
|
|
this.setData({
|
|
checkPersonsIdList: matchedStaffIds
|
|
});
|
|
// 关闭弹出层
|
|
|
|
},
|
|
changeNewPassword(e) {
|
|
console.log("执行了")
|
|
this.setData({
|
|
newPassword: e.detail.value
|
|
});
|
|
console.log(this.data.newPassword)
|
|
},
|
|
addAnother() {
|
|
let newValue = this.data.arr1.length + 1; // 根据数组长度确定新值
|
|
let newArr = this.data.arr1.concat({
|
|
value: newValue.toString(),
|
|
name: this.data.newPassword
|
|
});
|
|
this.setData({
|
|
arr1: newArr,
|
|
newPassword: '', // 清空输入框的值
|
|
});
|
|
const nameArray = this.data.arr1.map(item => item.name);
|
|
console.log("111",nameArray)
|
|
nameArray.forEach(value => {
|
|
console.log( "qqq")
|
|
// 创建一个新的对象,设置 hazardDesc 属性为当前值
|
|
this.data.newObj = {
|
|
hazardStatus: '0', // 如果需要同时设置 hazardStatus 属性,可以在这里进行设置
|
|
hazardDesc: value
|
|
};
|
|
console.log( this.data.newObj)
|
|
// 将新对象添加到 hiddenDangeList 数组中
|
|
console.log(this.data.hiddenDangeList)
|
|
});
|
|
|
|
this.data.hiddenDangeList.push(this.data.newObj);
|
|
console.log(this.data.hiddenDangeList)
|
|
},
|
|
pickerChange: function (e) {
|
|
// 更新当前选中的索引
|
|
console.log(e.detail.value),
|
|
this.setData({
|
|
gridName: this.data.array[e.detail.value]
|
|
});
|
|
this.data.checkResultFlag = e.detail.value
|
|
console.log(this.data.gridName)
|
|
// 在这里可以根据选择的值进行相应的逻辑处理
|
|
},
|
|
pickerChange1: function (e) {
|
|
// 更新当前选中的索引
|
|
console.log(e.detail.value),
|
|
this.setData({
|
|
getData: e.detail.value
|
|
});
|
|
this.data.reviewTime = e.detail.value
|
|
console.log(this.data.getData)
|
|
// 在这里可以根据选择的值进行相应的逻辑处理
|
|
},
|
|
pickerChange2: function (e) {
|
|
// 更新当前选中的索引
|
|
this.setData({
|
|
gridNName: this.data.fmData.namesArray[e.detail.value]
|
|
});
|
|
this.data.addRecord = this.data.fmData.AllnamesArray[e.detail.value].id
|
|
},
|
|
bindRemarkInput(e) {
|
|
this.setData({
|
|
remarks: e.detail.value
|
|
});
|
|
console.log(this.data.remarks)
|
|
},
|
|
chooseImage() {
|
|
if (this.data.uploadImageList.length > 3) {
|
|
wx.showToast({
|
|
title: "最多上传3张照片",
|
|
icon: "none"
|
|
})
|
|
return
|
|
}
|
|
const _this = this
|
|
|
|
$wuxActionSheet().showSheet({
|
|
buttons: [{
|
|
text: '拍照'
|
|
},
|
|
{
|
|
text: '从相册中获取',
|
|
openType: null,
|
|
},
|
|
|
|
],
|
|
className: 'dialog-class',
|
|
// 进入到这里的方法 index是buttons中的选项的索引值
|
|
buttonClicked(index) {
|
|
console.log(index)
|
|
if (index === 0) {
|
|
wx.chooseMedia({
|
|
//具体属性看文档
|
|
count: 1, //最多选择的数量
|
|
sizeType: ['original', 'compressed'], //文件的类型
|
|
sourceType: ['camera'], //可以用进行选择拍摄
|
|
success(res) {
|
|
console.log(res);
|
|
// 将照片的长度赋值给他
|
|
let deleteLength = _this.data.uploadImageList.length
|
|
// .将this中的uploadImageList重新赋值给uploadImageList
|
|
const uploadImageList = [..._this.data.uploadImageList]
|
|
// 判断数据的大小
|
|
if (res.tempFiles[0].size <= 5 * 1024 * 1024) {
|
|
//uploadImageList
|
|
uploadImageList.push({
|
|
// 已上传关闭
|
|
uploaded: false,
|
|
// ossUrl服务器
|
|
ossUrl: {
|
|
// 获取请求中的地址
|
|
url: res.tempFiles[0].tempFilePath
|
|
},
|
|
// 图片地址
|
|
imgUrl: res.tempFiles[0].tempFilePath,
|
|
// 将data里边的imageId自动加1
|
|
imageId: ++_this.data.imageId,
|
|
//获取路径的后三位,res.tempFiles[0].tempFilePath.length - 3, 3 从第三个为值截取,截取长度为3
|
|
type: res.tempFiles[0].tempFilePath.substr(res.tempFiles[0].tempFilePath.length - 3, 3),
|
|
//格式,图片
|
|
format: "image",
|
|
// 设置标识符
|
|
name: 'wximage'
|
|
})
|
|
} else {
|
|
_this.showToast('图片上限5M,请压缩后重试~')
|
|
return false
|
|
}
|
|
// 将uploadImageList赋值给uploadImageList
|
|
_this.setData({
|
|
uploadImageList
|
|
})
|
|
// 上传到服务器
|
|
wx.uploadFile({
|
|
// 服务器的地址
|
|
url: `${config.BASEURL()}oss/file/uploadvariedfile`,
|
|
//上传的本地路径
|
|
filePath: res.tempFiles[0].tempFilePath,
|
|
//文件都相应的key
|
|
name: 'file',
|
|
// 头部标识
|
|
header: {
|
|
'Content-type': 'application/json;charset=UTF-8',
|
|
'Authorization': wx.getStorageSync('token')
|
|
},
|
|
success(fileRes) {
|
|
//不懂
|
|
console.log("执行了")
|
|
console.log(fileRes)
|
|
// 这段代码片段中 !JSON.parse(fileRes.data).data 是一个条件表达式,它用于判断 fileRes.data 中是否包含 data 属性的值。
|
|
//fileRes将json转化为一个javascript对象
|
|
if (!JSON.parse(fileRes.data).data) {
|
|
_this.showToast('图片上传失败,请重试~')
|
|
// 删除上传失败的图片
|
|
// findIndex是找到符合条件的第一个索引
|
|
const index = _this.data.uploadImageList.findIndex(item => item.imageId === _this.data.imageId)
|
|
if (index > -1) {
|
|
// 删掉splice索引为1
|
|
_this.data.uploadImageList.splice(index, 1)
|
|
//更新uploadImageList
|
|
_this.setData({
|
|
uploadImageList: _this.data.uploadImageList
|
|
})
|
|
}
|
|
} else {
|
|
// 上传uploaded为true
|
|
uploadImageList[uploadImageList.length - 1].uploaded = true
|
|
// ossUrl为data
|
|
uploadImageList[uploadImageList.length - 1].ossUrl = JSON.parse(fileRes.data).data
|
|
_this.setData({
|
|
uploadImageList
|
|
})
|
|
}
|
|
},
|
|
fail(fileRes) {
|
|
_this.setData({
|
|
uploadImageList: []
|
|
})
|
|
_this.showToast('图片上传失败,请重试~')
|
|
}
|
|
})
|
|
}
|
|
})
|
|
} else if (index === 1) {
|
|
wx.chooseMedia({
|
|
count: 1,
|
|
type: 'image', //类型是图片
|
|
sourceType: ['album'], //允许从相册李删选
|
|
success(res) {
|
|
console.log(res, '图片上传的res');
|
|
let deleteLength = _this.data.uploadImageList.length
|
|
const uploadImageList = []
|
|
const endIndex = _this.data.uploadImageList.length
|
|
res.tempFiles.forEach((item, index) => {
|
|
if (item.size <= 5 * 1024 * 1024) {
|
|
uploadImageList.push({
|
|
uploaded: false,
|
|
ossUrl: {
|
|
url: item.tempFilePath
|
|
},
|
|
imgUrl: item.tempFilePath,
|
|
imageId: ++_this.data.imageId,
|
|
format: "image",
|
|
type: item.tempFilePath.substr(item.tempFilePath.length - 3, 3),
|
|
originFileName: 'image' + index + 1
|
|
})
|
|
console.log(uploadImageList)
|
|
} else {
|
|
_this.showToast('图片上限5M,请压缩后重试~')
|
|
}
|
|
})
|
|
_this.setData({
|
|
uploadImageList: [..._this.data.uploadImageList, ...uploadImageList]
|
|
})
|
|
console.log(_this.data.uploadImageList)
|
|
console.log(uploadImageList)
|
|
uploadImageList.forEach((item, index) => {
|
|
return (function (index) {
|
|
wx.uploadFile({
|
|
url: `${config.BASEURL()}oss/file/uploadvariedfile`,
|
|
filePath: res.tempFiles[index].tempFilePath,
|
|
name: 'file',
|
|
header: {
|
|
'Content-type': 'application/json;charset=UTF-8',
|
|
'Authorization': wx.getStorageSync('token')
|
|
},
|
|
success(fileRes) {
|
|
if (!JSON.parse(fileRes.data).data) {
|
|
_this.showToast('图片上传失败,请重试~')
|
|
_this.data.uploadImageList.splice(deleteLength, _this.data.uploadImageList.length - deleteLength)
|
|
_this.setData({
|
|
uploadImageList: _this.data.uploadImageList
|
|
})
|
|
} else {
|
|
uploadImageList[index].uploaded = true
|
|
uploadImageList[index].ossUrl = JSON.parse(fileRes.data).data
|
|
_this.data.uploadImageList = _this.data.uploadImageList.slice(0, endIndex)
|
|
_this.setData({
|
|
uploadImageList: [..._this.data.uploadImageList, ...uploadImageList]
|
|
})
|
|
}
|
|
},
|
|
fail(fileRes) {
|
|
_this.setData({
|
|
uploadImageList: []
|
|
})
|
|
_this.showToast('图片上传失败,请重试~')
|
|
}
|
|
})
|
|
})(index)
|
|
})
|
|
}
|
|
})
|
|
}
|
|
return true
|
|
},
|
|
cancelText: '取消',
|
|
//cancel():当用户点击取消按钮时触发的回调函数。你可以在这个回调函数中执行相应的操作,比如关闭弹出框或者执行其他逻辑。
|
|
|
|
//destructiveButtonClicked():当用户点击了破坏性按钮(如果有)时触发的回调函数。破坏性按钮通常用于执行一些危险操作,比如删除或者清除数据等。
|
|
cancel() {},
|
|
destructiveButtonClicked() {},
|
|
})
|
|
},
|
|
// 删除选中的图片
|
|
deleteImage(e) {
|
|
const index = this.data.uploadImageList.findIndex(item => item.imageId === e.currentTarget.dataset.imageid)
|
|
if (index > -1) {
|
|
this.data.uploadImageList.splice(index, 1)
|
|
this.setData({
|
|
uploadImageList: this.data.uploadImageList
|
|
})
|
|
}
|
|
},
|
|
//跳转地图选点
|
|
toughGetLocation() {
|
|
// this.getLocation(false);
|
|
wx.chooseLocation({
|
|
success: res => {
|
|
console.log('resadddres', res)
|
|
const {
|
|
fmData
|
|
} = this.data;
|
|
this.setData({
|
|
fmData: {
|
|
...fmData,
|
|
address: res.address,
|
|
longitude: res.longitude,
|
|
latitude: res.latitude
|
|
},
|
|
addressContent: res.address
|
|
});
|
|
console.log(this.data.fmData);
|
|
}
|
|
})
|
|
},
|
|
//
|
|
reverseLocation() {
|
|
const _this = this
|
|
this.data.qqMapWX.reverseGeocoder({
|
|
success(res) {
|
|
console.log(res);
|
|
_this.setData({
|
|
addressContent: res.result.address,
|
|
'fmData.address': res.result.address,
|
|
'fmData.longitude': res.result.location.lng,
|
|
'fmData.latitude': res.result.location.lat,
|
|
})
|
|
},
|
|
fail(err) {
|
|
console.debug(err)
|
|
}
|
|
})
|
|
},
|
|
})
|