diff --git a/pages/index/index.wxss b/pages/index/index.wxss index 1e51ade..b99ba51 100644 --- a/pages/index/index.wxss +++ b/pages/index/index.wxss @@ -736,7 +736,7 @@ page { height:auto ; background-color: #FFFFFF; margin: 30rpx 0 0 30rpx; - border-radius: 30rpx; + border-radius: 20rpx; } .hd_news{ display: flex; diff --git a/subpages/InspectionReport/pages/InspectionReport/InspectionReport.js b/subpages/InspectionReport/pages/InspectionReport/InspectionReport.js new file mode 100644 index 0000000..6d47fc4 --- /dev/null +++ b/subpages/InspectionReport/pages/InspectionReport/InspectionReport.js @@ -0,0 +1,695 @@ +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, + showRecord +} from "../../../../utils/api" +Page({ + /** + * 页面的初始数据 + */ + data: { + showtime:false, + checkboxOptions:[], + checkboxOptionsnumber:0, + hiddenDangeList: [], + newObj:[], + addRecord: [], + attachmentUrl: '', + reviewTime: '', + checkResultFlag: '', + checkPersonsIdList: [], + pageNo: 1, + pageSize: 10, + id: 0, + addressContent: '', + fmData: { + gridId: '', + attachmentList: [], //图片 + voiceList: [], + latitude: "", + longitude: "", + resiId: "", + happenTime: "", + content: "", //内容 + address: "", //地址 + checkPersons: '' + }, + imageUrl: '', + remarks: '', //备注 + getData: '', + checkResultName: '', + array: ['不合格', '合格'], // 选择器的数据源 + arrlist: [], + fileList: [], + companyId: '', + showPopup: false, // 控制弹出层显示/隐藏的状态 + selectedOptions: [], // 选中的复选框项 + selectedNames: [], //显示检察人员 + // 用于存放复选框选择的结果 + result: [], + // 用于存放输入框的值 + hazardDesc: '', + hazardDesc2:'', + uploadImageList: [], + imageId: 1, + arr: [], + arr1: [], + addHiddenDangeList:[], + checkboxValue:[], + newContent:'', + currentDate: new Date().getTime(), + minDate: new Date(2020, 0, 1).getTime(), + maxDate: new Date(2030, 11, 31).getTime() + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.setData({ + companyId: options.resiId + }) + this.data.qqMapWX = new QQMapWX({ + key: 'CMJBZ-4DECI-JXGGN-5B4WU-QLV2H-B5BEJ' + }) + this.reverseLocation() + this.getList() + + }, + showTime(){ + this.setData({ + showtime:true + }) + }, + + showRecordData() { + console.log(this.data.companyId) + let parm = { + id: this.data.companyId + } + showRecord(parm).then(res => { + console.log(res) + if(res.data[0].hiddenDangeList){ + let checkboxOptions = res.data[0].hiddenDangeList.filter(item=>item.hazardStatus === 0).map(item=>({hazardDesc:item.hazardDesc,hazardStatus:0})); + let checkboxOptionsnumber=checkboxOptions.length+1; + console.log(checkboxOptionsnumber) + this.setData({ + checkboxOptions, + checkboxOptionsnumber + }) + } + this.setData({ + showList:res.data + }) + console.log(this.data.showList) + }) + }, + getCurrentDateTime() { + const now = new Date(); + const year = now.getFullYear(); + const month = (now.getMonth() + 1).toString().padStart(2, '0'); + const day = now.getDate().toString().padStart(2, '0'); + const hours = now.getHours().toString().padStart(2, '0'); + const minutes = now.getMinutes().toString().padStart(2, '0'); + const seconds = now.getSeconds().toString().padStart(2, '0'); + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; + }, + submitBiao() { + console.log("zhixingle") + console.log(this.data.newContent) + if (this.data.newContent) { + let newArr = this.data.addHiddenDangeList.concat({ + hazardDesc: this.data.newContent, + hazardStatus: 0 + }); + console.log(newArr) + this.setData({ + addHiddenDangeList: newArr, + }); + } + + if(!this.data.companyId){ + wx.showToast({ + title: '请选择企业', + icon:'none' + }) + return false + } + if(this.data.selectedOptions.length === 0){ + wx.showToast({ + title: '请选择检查人员', + icon:'none' + }) + return false + } + if(!this.data.checkResultFlag){ + wx.showToast({ + title: '请选择检查结论', + icon:'none' + }) + return false + } + if(this.data.checkResultFlag == 0 && !this.data.getData){ + wx.showToast({ + title: '请选择拟复查时间', + icon:'none' + }) + return false + } + console.log( this.data.addHiddenDangeList) + + if(this.data.checkResultFlag == 0 && this.data.addHiddenDangeList.length<1){ + wx.showToast({ + title: '隐患明细最少输入一条', + icon:'none' + }) + return false + } + const now = new Date(); + const hours = now.getHours().toString().padStart(2, '0'); + const minutes = now.getMinutes().toString().padStart(2, '0'); + const seconds = now.getSeconds().toString().padStart(2, '0'); + let checkboxOptions =this.data.addHiddenDangeList.filter(item=>item.hazardStatus === 0).map(item=>({hazardDesc:item.hazardDesc,hazardStatus:2,requirements:this.data.hazardDesc2})); + this.setData({ + addHiddenDangeList:checkboxOptions + }) + console.log(this.data.addHiddenDangeList) + let form={ companyId: this.data.companyId, + checkTime: this.getCurrentDateTime(), + checkPersonsIdList: this.data.checkPersonsIdList, + checkResultFlag: this.data.checkResultFlag, + reviewTime:this.data.getData, + hiddenDangeList:this.data.checkboxOptions.concat(this.data.addHiddenDangeList), + attachmentUrls:this.data.uploadImageList.map(item=>({fileName:item.originFileName,attachmentUrl:item.ossUrl.url})), + remark: '', + reviewAddress:this.data.addressContent + } + if (!this.data.reviewTime) { + form.reviewTime=null + } + console.log(form) + // addRecord( + // form + // ).then( + // res => { + // if(res.code == 0){ + // wx.showToast({ + // title: '新增成功', + // duration:2000, + // success:function(){ + // setTimeout(()=>{ + // wx.navigateBack({ + // delta: 1 + // }) + // },2000) + // } + // }) + // } + // }); + + }, + + getList() { + securityCheckk({ + pageNo: this.data.pageNo, + pageSize: this.data.pageSize, + }).then(({ + data + }) => { + console.log(data.list) + this.setData({ + companyList: data.list, + }); + }); + 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 + }); + 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() { + let names = [] + this.data.arr.forEach(item=>{ + if(this.data.selectedOptions.findIndex(itemC=>itemC === item.staffId) != -1){ + names.push(item.name) + } + }) + this.setData({ + showPopup: false, + selectedNames: names, + checkPersonsIdList:this.data.selectedOptions + }); // 关闭弹出层 + }, + onCloseTime(){ + + }, + onChange1(event) { + console.log(event) + this.setData({ + selectedOptions: event.detail + }); + console.log(this.data.selectedOptions) + }, + confirmSelection() { + // 点击确定按钮后触发,处理选中的复选框项 + console.log("选中的项:", this.data.selectedOptions); + let names = [] + this.data.arr.forEach(item=>{ + if(this.data.selectedOptions.findIndex(itemC=>itemC === item.staffId) != -1){ + names.push(item.name) + } + }) + this.setData({ + showPopup: false, + selectedNames: names, + checkPersonsIdList:this.data.selectedOptions + }); + }, + changeHazardDesc(e) { + this.setData({ + hazardDesc: e.detail.value + }); + }, + changeHazardDescStatus2(e){ + this.setData({ + hazardDesc2: e.detail.value + }); + console.log(this.data.hazardDesc2) + }, + changenewContent(e){ + this.setData({ + newContent: e.detail.value + }); + }, + addAnother() { + let newArr = this.data.addHiddenDangeList.concat({ hazardDesc: this.data.newContent, hazardStatus: 0, requirements:this.data.hazardDesc2}); + console.log() + this.setData({ + addHiddenDangeList: newArr, + newContent: '', // 清空输入框的值 + }); + console.log('添加后的数组:', this.data.addHiddenDangeList); + }, + pickerChange: function (e) { + this.setData({ + checkResultName: this.data.array[e.detail.value], + checkResultFlag:e.detail.value + }); + }, + 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.companyList[e.detail.value].name, + companyId:this.data.companyList[e.detail.value].id + }); + this.showRecordData() + }, + 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) + } + }) + }, + closePopup() { + this.setData({ showPopup: false }); + }, + + onInput(event) { + var date = new Date(event.detail); + var year = date.getFullYear(); + var month = ("0" + (date.getMonth() + 1)).slice(-2); + var day = ("0" + date.getDate()).slice(-2); + var hour = ("0" + date.getHours()).slice(-2); + var minute = ("0" + date.getMinutes()).slice(-2); + var second = ("0" + date.getSeconds()).slice(-2); + var formattedDateTime = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second; + console.log(formattedDateTime); + this.setData({ + currentDate:formattedDateTime + }) + + }, + + onConfirm(event) { + const { value } = event.detail; + this.setData({ + currentDate: value, + showtime: false + }); + console.log('选中的日期时间:', new Date(value)); + }, + + onCancel() { + this.setData({ showtime: false }); + } +}) \ No newline at end of file diff --git a/subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxss b/subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxss index 713f934..441c288 100644 --- a/subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxss +++ b/subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxss @@ -196,6 +196,7 @@ page { align-items: center; justify-content: start; margin: 40rpx 0 0 0; + } .button{ width: 200rpx; @@ -209,9 +210,13 @@ page { margin: 20rpx 0 0 15rpx; box-sizing: border-box; font-weight: 500rpx; - height: 86rpx; + height: 56rpx; line-height: 86rpx; - background-color: rgba(57,116,246,1.000000) + background-color: rgba(57,116,246,1.000000); + justify-content: center; + align-items: center; + + } .button1{ width: 200rpx; @@ -225,8 +230,10 @@ page { margin: 20rpx 0 0 15rpx; box-sizing: border-box; font-weight: 500rpx; - height: 86rpx; + height: 56rpx; line-height: 86rpx; + justify-content: center; + align-items: center; }