From f857524e7f25f91e5d88dcc07fe7515ce7e88629 Mon Sep 17 00:00:00 2001 From: Archer_cdm Date: Thu, 19 Jan 2023 15:52:37 +0800 Subject: [PATCH] =?UTF-8?q?(*)=E5=B7=A1=E6=A3=80=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E5=BD=95=E5=85=A5+=E5=B7=A1=E6=A3=80=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=9A=82=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/patrolRecord/patrolRecord.js | 12 +- weapp/app.js | 1 + .../inspectionRecord/inspectionRecord.js | 42 ++++- .../inspectionRecord/inspectionRecord.wxml | 2 +- .../startInspection/startInspection.js | 144 +++++++++++------- .../startInspection/startInspection.wxml | 7 +- weapp/utils/getApiUrl.js | 4 +- 7 files changed, 145 insertions(+), 67 deletions(-) diff --git a/api/app/lib/controllers/patrolRecord/patrolRecord.js b/api/app/lib/controllers/patrolRecord/patrolRecord.js index cc1dd8b..d4c447e 100644 --- a/api/app/lib/controllers/patrolRecord/patrolRecord.js +++ b/api/app/lib/controllers/patrolRecord/patrolRecord.js @@ -1,6 +1,6 @@ 'use strict'; -async function findPatrolRecord (ctx, next) { +async function findPatrolRecord(ctx, next) { let rslt = []; let error = { name: 'FindError', message: '获取巡检记录失败' }; try { @@ -10,7 +10,7 @@ async function findPatrolRecord (ctx, next) { if (patrolPlanId == 'all') { /* 如果有startTime && endTime,查询所有符合条件的数据 */ if (startTime !== 'null' && endTime !== 'null') { - if (pointId) { + if (pointId !== 'null') { if (alarm == 'null') { rslt = await models.PatrolRecord.findAll({ where: { inspectionTime: { $between: [startTime, endTime] }, pointId: { $in: pointId.split(',') } }, @@ -34,7 +34,7 @@ async function findPatrolRecord (ctx, next) { } else { /* 如果没有startTime && endTime,查询每个点位最新一条符合条件的数据 */ let a = [] - if (pointId) { + if (pointId !== 'null') { a = await models.PatrolRecord.findAll({ where: { pointId: { $in: pointId.split(',') } }, }); @@ -45,7 +45,7 @@ async function findPatrolRecord (ctx, next) { } } else { if (startTime !== 'null' && endTime !== 'null') { - if (pointId) { + if (pointId !== 'null') { rslt = await models.PatrolRecord.findAll({ where: { patrolPlanId: { $in: patrolPlanId.split(',') }, alarm, inspectionTime: { $between: [startTime, endTime] }, pointId: { $in: pointId.split(',') } }, }); @@ -58,7 +58,7 @@ async function findPatrolRecord (ctx, next) { } else { let a = [] /* 如果没有startTime && endTime,查询每个点位最新一条符合条件的数据 */ - if (pointId) { + if (pointId !== 'null') { a = await models.PatrolRecord.findAll({ where: { patrolPlanId: { $in: patrolPlanId.split(',') }, pointId: { $in: pointId.split(',') } }, }); @@ -86,7 +86,7 @@ async function findPatrolRecord (ctx, next) { } } -async function addPatrolRecord (ctx, next) { +async function addPatrolRecord(ctx, next) { let error = { name: 'addError', message: '新增巡检记录失败' }; try { const models = ctx.fs.dc.models; diff --git a/weapp/app.js b/weapp/app.js index fe5f588..d8a5514 100644 --- a/weapp/app.js +++ b/weapp/app.js @@ -6,6 +6,7 @@ App({ baseUrl: 'http://10.8.16.221:4900', //api 本地环境 webUrl: "http://10.8.16.221:5900/", //web 本地环境 imgUrl: 'http://10.8.16.221:5900/_file-server/', //文件 本地环境 + key: 'ODQBZ-3FZAU-6VIVL-2XXNM-F7CP7-WVFCY' //获取位置信息 }, onShow(e) { // 检查是否有更新 diff --git a/weapp/package/inspectionRecord/inspectionRecord.js b/weapp/package/inspectionRecord/inspectionRecord.js index e3df021..e6a94f3 100644 --- a/weapp/package/inspectionRecord/inspectionRecord.js +++ b/weapp/package/inspectionRecord/inspectionRecord.js @@ -1,4 +1,8 @@ // package/inspectionRecord/inspectionRecord.js +import { getPatrolRecord } from "../../utils/getApiUrl"; +import { Request } from "../../common"; +const moment = require("../../utils/moment"); + Page({ /** @@ -16,7 +20,7 @@ Page({ } ], ResIndex: 0, //巡检结果 - dataList: [1, 2, 3, 4, 5,], + dataList: [], isPickerRender: false, isPickerShow: false, startTime: "开始日期", //开始日期 @@ -72,11 +76,45 @@ Page({ }) }, + // 查询 + bindSearch() { + this.getPatrolRecord(); + }, + + // 获取巡检记录 + getPatrolRecord: function () { + let that = this; + let { endTime, startTime, ResList, ResIndex } = that.data; + let sevenYearAgo = moment().subtract(7, 'days').format('YYYY-MM-DD'); + let currentData = moment().format('YYYY-MM-DD'); + let alarm = ResList[ResIndex].text == '正常' ? false : true; + wx.showLoading({ + title: '加载中' + }) + Request.get(getPatrolRecord('all', startTime == '开始日期' ? sevenYearAgo : startTime, endTime == '结束日期' ? currentData : endTime, 'null', 'null')).then(res => { + console.log(res); + // dataList.points.map(e => { + // res.map(i => { + // wx.hideLoading(); + // console.log(i, '------'); + // if (i == null) { + // e.lastInspectionTime = moment().format('YYYY-MM-DD'); + // e.inspectionTime = moment().format('YYYY-MM-DD'); + // } + // }) + // return e; + // }) + // that.setData({ + // dataList + // }) + }) + }, + /** * 生命周期函数--监听页面加载 */ onLoad(options) { - + this.getPatrolRecord(); }, /** diff --git a/weapp/package/inspectionRecord/inspectionRecord.wxml b/weapp/package/inspectionRecord/inspectionRecord.wxml index 3d90ce5..34b99e8 100644 --- a/weapp/package/inspectionRecord/inspectionRecord.wxml +++ b/weapp/package/inspectionRecord/inspectionRecord.wxml @@ -22,7 +22,7 @@ {{ResList[ResIndex].text}} - 查询 + 查询 diff --git a/weapp/package/startInspection/startInspection.js b/weapp/package/startInspection/startInspection.js index 77f4f92..2661992 100644 --- a/weapp/package/startInspection/startInspection.js +++ b/weapp/package/startInspection/startInspection.js @@ -16,6 +16,7 @@ Page({ itemData: '', //单条数据 changeTwo: '', //是否异常 changeThree: '', //严重等级 + address: '', //当前位置 }, handleChangeTwo(e) { @@ -52,7 +53,8 @@ Page({ msgInp: '', //巡查详情 changeTwo: '', //是否异常 changeThree: '', //严重等级 - imgs: [] + imgs: [], + address: '' }) }, @@ -174,7 +176,7 @@ Page({ // 开始巡检录入 addPatrolRecord: function () { let that = this; - let { itemData, imgs, msgInp, changeTwo, changeThree, dataList, imgUrl } = that.data; + let { itemData, imgs, msgInp, changeTwo, changeThree, dataList, imgUrl, address } = that.data; let newImgs = imgs.map(i => { i = i.replace(imgUrl, ''); return i; @@ -196,7 +198,8 @@ Page({ } let data = { patrolPlanId: dataList.id, - lastInspectionTime: moment().format('YYYY-MM-DD'), + pointId: itemData.id, + lastInspectionTime: itemData.lastInspectionTime, inspectionTime: moment().format('YYYY-MM-DD'), points: { user: dataList.user, @@ -206,6 +209,7 @@ Page({ msgInp: msgInp, changeThree: changeThree == 'slight' ? '轻微' : changeThree == 'moderate' ? '中度' : '严重', imgs: newImgs, + address: address }, alarm: true } @@ -219,13 +223,15 @@ Page({ if (changeTwo == 'normal') { let data = { patrolPlanId: dataList.id, - lastInspectionTime: moment().format('YYYY-MM-DD'), + pointId: itemData.id, + lastInspectionTime: itemData.lastInspectionTime, inspectionTime: moment().format('YYYY-MM-DD'), points: { user: dataList.user, project: dataList.project, frequency: dataList.frequency, itemData: itemData, + address: address }, alarm: false } @@ -246,58 +252,90 @@ Page({ // 获取巡检记录 getPatrolRecord: function () { - Request.get(getPatrolRecord(this.data.dataList.id)).then(res => { + let that = this; + let { dataList } = that.data; + let pointId = dataList.points.map(i => { + return i.id; + }) + wx.showLoading({ + title: '加载中' + }) + Request.get(getPatrolRecord(dataList.id, 'null', 'null', 'null', pointId)).then(res => { console.log(res); + dataList.points.map(e => { + res.map(i => { + wx.hideLoading(); + console.log(i, '------'); + if (i == null) { + e.lastInspectionTime = moment().format('YYYY-MM-DD'); + e.inspectionTime = moment().format('YYYY-MM-DD'); + } + }) + return e; + }) + that.setData({ + dataList + }) }) }, - // selfLocation() { - // const self = this - // wx.showLoading({ - // title: '定位中', - // mask: true, - // }); - // wx.getLocation({ - // type: 'gcj02', - // success: (res) => { - // let latitude, longitude; - // latitude = res.latitude.toString(); - // longitude = res.longitude.toString(); - // this.latitude = res.latitude - // this.longitude = res.longitude - // getGeocoder({ lat: latitude, long: longitude }).then(res => { // 获取详细信息的接口 - // const data = res.data; - // self.userAddress.userAddressdetail = '' - // var params = { - // text: data.address - // } - // parseAddress(params).then(res => { // 粘贴详细信息的接口 - // console.log(res) - // if (res.status == 200 && res.message == "success") { - // this.$forceUpdate(); // 定位后,界面没有反应,因此加上强制刷新 - // this.userAddress.userAddressdetail = res.data.town + res.data.detail; - // this.$set(this.userAddress, 'selectAddress', parseInt(res.data.county_info.city_id)); - // this.addressInfo[0] = res.data.province_info ? res.data.province_info : {}; - // this.addressInfo[1] = res.data.city_info ? res.data.city_info : {}; - // this.addressInfo[2] = res.data.county_info ? res.data.county_info : {}; - // } - // }).catch(res => { - // console.log("没有地址信息") - // }) - // wx.hideLoading(); - // }) - // }, - // fail: (res) => { - // console.log(res) - // wx.hideLoading(); - // wx.showToast({ - // title: res.errMsg, - // icon: 'none', - // duration: 1000 - // }); - // } - // }); - // }, + // 解析经纬度 + ToDegrees(val) { + if (typeof (val) == "undefined" || val == "") { + return ""; + } + var i = val.indexOf('.'); + var strDu = i < 0 ? val : val.substring(0, i);//获取度 + var strFen = 0; + var strMiao = 0; + if (i > 0) { + var strFen = "0" + val.substring(i); + strFen = strFen * 60 + ""; + i = strFen.indexOf('.'); + if (i > 0) { + strMiao = "0" + strFen.substring(i); + strFen = strFen.substring(0, i);//获取分 + strMiao = strMiao * 60 + ""; + i = strMiao.indexOf('.'); + strMiao = strMiao.substring(0, i + 4);//取到小数点后面三位 + strMiao = parseFloat(strMiao).toFixed(2);//精确小数点后面两位 + } + } + return strDu + "°" + strFen + "′" + strMiao + "″"; + }, + + // 获取当前位置 + selfLocation() { + const that = this + wx.showLoading({ + title: '定位中', + mask: true, + }); + wx.getLocation({ + type: 'wgs84', + success: (res) => { + wx.request({ + url: `https://apis.map.qq.com/ws/geocoder/v1/?location=${res.latitude},${res.longitude}&key=${getApp().globalData.key}`, + success: function (res) { + wx.hideLoading(); + //根据自己项目需求获取res内容 + that.setData({ + address: res.data.result.address + }) + } + }) + }, + fail: (res) => { + console.log(res) + wx.hideLoading(); + wx.showToast({ + title: res.errMsg, + icon: 'none', + duration: 1000 + }); + } + }); + }, /** * 生命周期函数--监听页面加载 @@ -312,7 +350,7 @@ Page({ dataList: data, points }) - // that.getPatrolRecord() + that.getPatrolRecord(); }, /** diff --git a/weapp/package/startInspection/startInspection.wxml b/weapp/package/startInspection/startInspection.wxml index facc1c9..dd536bc 100644 --- a/weapp/package/startInspection/startInspection.wxml +++ b/weapp/package/startInspection/startInspection.wxml @@ -44,7 +44,7 @@ 上次巡检日期 - 2022-10-26 + {{item.lastInspectionTime}} 巡检人 @@ -52,7 +52,7 @@ 本次巡检日期 - 2022-12-23 + {{item.inspectionTime}} @@ -66,7 +66,8 @@ 当前位置: - 点位A + {{address}} + 点击获取当前位置 正常 diff --git a/weapp/utils/getApiUrl.js b/weapp/utils/getApiUrl.js index ce01ed6..6527efb 100644 --- a/weapp/utils/getApiUrl.js +++ b/weapp/utils/getApiUrl.js @@ -24,6 +24,6 @@ exports.addPatrolRecord = () => { } // 获取巡检记录 -exports.getPatrolRecord = (patrolPlanId, startTime, endTime, alarm) => { - return `/patrolRecord/${patrolPlanId}/${startTime}/${endTime}/${alarm}` +exports.getPatrolRecord = (patrolPlanId, startTime, endTime, alarm, pointId) => { + return `/patrolRecord/${patrolPlanId}/${startTime}/${endTime}/${alarm}/${pointId}` } \ No newline at end of file