From 4aaa2c22b290b4f2ee3fbb3ccd1ad7787be7d7e5 Mon Sep 17 00:00:00 2001 From: mk <2403457699@qq.com> Date: Thu, 4 Jan 2024 09:27:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=91=B8=E6=8E=92=E8=AF=89=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 6 + package-lock.json | 18 +- pages/mine/mine.js | 7 +- pages/mine/mine.wxml | 2 +- pages/work/work.wxml | 2 +- pages/work/work.wxss | 14 +- .../dissatisfied/demandCheck/demandCheck.js | 334 ++++++++++++++++-- .../dissatisfied/demandCheck/demandCheck.wxml | 23 +- .../dissatisfied/demandCheck/demandCheck.wxss | 26 +- .../myTroubleshootDemand/pages/index/index.js | 133 +++++++ .../pages/index/index.json | 7 + .../pages/index/index.wxml | 20 ++ .../pages/index/index.wxss | 85 +++++ utils/api.js | 38 +- 14 files changed, 673 insertions(+), 42 deletions(-) create mode 100644 subpages/myTroubleshootDemand/pages/index/index.js create mode 100644 subpages/myTroubleshootDemand/pages/index/index.json create mode 100644 subpages/myTroubleshootDemand/pages/index/index.wxml create mode 100644 subpages/myTroubleshootDemand/pages/index/index.wxss diff --git a/app.json b/app.json index 15431ac..821d04b 100644 --- a/app.json +++ b/app.json @@ -96,6 +96,12 @@ "pages": [ "pages/index/index" ] + },{ + "root": "subpages/myTroubleshootDemand", + "name": "myTroubleshootDemand", + "pages": [ + "pages/index/index" + ] } ], "window": { diff --git a/package-lock.json b/package-lock.json index 8b909f3..8ffb476 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,24 @@ { "name": "epmet-work-mp", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "epmet-work-mp", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@vant/weapp": "^1.11.2" + }, + "devDependencies": {} + }, + "node_modules/@vant/weapp": { + "version": "1.11.2", + "resolved": "https://registry.npmmirror.com/@vant/weapp/-/weapp-1.11.2.tgz", + "integrity": "sha512-NlZQEW4ijxD1GAmTY0dz2mEw0KWff9DSi5k5WGl1YS19qGp1l3BssID/uBnzrC82HjWH/Sb5V9+r7/YEcfnBPQ==" + } + }, "dependencies": { "@vant/weapp": { "version": "1.11.2", diff --git a/pages/mine/mine.js b/pages/mine/mine.js index e640447..1a9b326 100644 --- a/pages/mine/mine.js +++ b/pages/mine/mine.js @@ -91,5 +91,10 @@ Page({ wx.navigateTo({ url: '/subpages/settings/pages/index/index', }) - } + }, + toMyTroubleshootDemand(){ + wx.navigateTo({ + url: '/subpages/myTroubleshootDemand/pages/index/index', + }) + }, }) \ No newline at end of file diff --git a/pages/mine/mine.wxml b/pages/mine/mine.wxml index cad9529..c700db5 100644 --- a/pages/mine/mine.wxml +++ b/pages/mine/mine.wxml @@ -30,7 +30,7 @@ - + 我摸排的诉求 diff --git a/pages/work/work.wxml b/pages/work/work.wxml index 1979d3b..47c88b3 100644 --- a/pages/work/work.wxml +++ b/pages/work/work.wxml @@ -30,7 +30,7 @@ - + 信息采集 diff --git a/pages/work/work.wxss b/pages/work/work.wxss index 02cb848..b8df4bc 100644 --- a/pages/work/work.wxss +++ b/pages/work/work.wxss @@ -11,6 +11,7 @@ page { } .yellow_T{ color: #DFA168; + margin-right: 10rpx; } .yellow{ color:#FF783C; @@ -22,8 +23,14 @@ page { .blue{ color: #5F9BD4 ; } - .top-90{ - top:-90rpx !important; + .top-120{ + top:-120rpx !important; + } + .top-75{ + top:-75rpx !important; + } + .top-10{ + top: -10rpx !important; } .font_size_44{ font-size: 44rpx; @@ -207,7 +214,6 @@ page { .body{ padding: 0 20rpx 20rpx; position: relative; - top: -10rpx; box-sizing: border-box; overflow: hidden; } @@ -296,7 +302,7 @@ page { width: 352rpx; height: 352rpx; left: 49%; - top: 50%; + top: 60%; transform: translateX(-170rpx) translateY(-170rpx); } .big_box .right{ diff --git a/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.js b/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.js index 3c20b44..d611bdc 100644 --- a/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.js +++ b/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.js @@ -12,6 +12,8 @@ Page({ * 页面的初始数据 */ data: { + optionsId:'', + defaultMeasureNames:{label:'categoryName',value:'categoryCode',children:'childCateList'}, fmData: { gridId: '', attachmentList:[],//图片 @@ -79,13 +81,6 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad(options) { - this.data.qqMapWX = new QQMapWX({ - key: 'CMJBZ-4DECI-JXGGN-5B4WU-QLV2H-B5BEJ' - }) - // this.getLocation().then(() => { - // }) - this.reverseLocation() - this.setData({ angencyId:app.globalData.user.agencyId, reportUserName:app.globalData.user.realName, @@ -94,7 +89,298 @@ Page({ this.getAgencygridtree() this.getDemandoption() this.getDictList() + if(options.id){ + if(options.type === '0'){ + this.getIcEventOldDetail(options.id) + }else{ + this.getDemandDetail(options.id) + } + this.setData({ + tabVal:options.type || 0, + optionsId:options.id + }) + return + } + this.data.qqMapWX = new QQMapWX({ + key: 'CMJBZ-4DECI-JXGGN-5B4WU-QLV2H-B5BEJ' + }) + // this.getLocation().then(() => { + // }) + this.reverseLocation() + }, + getDemandDetail(id){ + let parm = { + demandRecId:id + } + api.getDemandDetail(parm).then(res=>{ + console.log(res); + this.setData({ + 'fmData.content':res.data.content, + // 'fmData.voiceList':res.data.voiceList, + 'fmData.gridId':res.data.gridId, + 'fmData.demandUserId':res.data.reportUserId, + 'fmData.categoryCode':res.data.categoryCode, + 'fmData.reportType':res.data.reportType, + 'fmData.happenTime':res.data.reportTime, + 'fmData.wantServiceTime':res.data.wantServiceTime, + 'fmData.resiId':res.data.icResiUserId, + categoryName:res.data.parentCategoryName + res.data.firstCategoryName , + agencyName:res.data.gridName, + reportTypeName:res.data.reportTypeName, + resiName:res.data.demandUserName, + resiMobile:res.data.demandUserMobile, + showTime:res.data.reportTime, + showWantServiceTimeTime:res.data.wantServiceTime, + // uploadImageList:res.data.imageList.map(item=>({ossUrl:{url:item},uploaded:true})), + // uploadRecord:res.data.voiceList[0], + // totalTime:this.format(res.data.voiceList[0].duration) + }) + this.downLoadAudio() + }).catch(err=>{ + console.log(err); + }) + }, + getIcEventOldDetail(id){ + let parm = { + icEventId:id + } + api.getIcEventOld(parm).then(res=>{ + console.log(res); + this.setData({ + 'fmData.content':res.data.eventContent, + 'fmData.voiceList':res.data.voiceList||[], + 'fmData.gridId':res.data.gridId, + 'fmData.happenTime':res.data.happenTime, + 'fmData.address':res.data.address, + 'fmData.resiId':res.data.reportUserId, + 'fmData.longitude':res.data.longitude, + 'fmData.latitude':res.data.latitude, + agencyName:res.data.gridName, + showTime:res.data.happenTime, + addressContent:res.data.address, + resiName:res.data.name, + resiMobile:res.data.mobile, + uploadImageList:res.data.imageList&&res.data.imageList.length>0?res.data.imageList.map(item=>({ossUrl:{url:item},uploaded:true})):[], + uploadRecord:res.data.voiceList&& res.data.voiceList.length>0?res.data.voiceList[0]:null, + totalTime:this.format(res.data.voiceList&&res.data.voiceList.length>0?res.data.voiceList[0].duration:0) + }) + if(this.data.uploadRecord){ + this.downLoadAudio() + } + }).catch(err=>{ + console.log(err); + }) + }, + update(){ + this.submitPersonalInfo() + }, + updateMeasure(){ + this.setData({ + submitDisabled: true + }) + let {categoryCode,content,happenTime,resiId,gridId,attachmentList,voiceList,wantServiceTime,parentCode,reportType} = this.data.fmData + const parm ={ + categoryCode, + content, + reportUserName:this.data.reportUserName, + reportTime:happenTime, + reportUserMobile:this.data.reportUserMobile, + demandUserId:resiId, + gridId, + reportType, + // attachments:[...attachmentList,...voiceList], + wantServiceTime, + parentCode:parentCode, + demandRecId:this.data.optionsId + } + api.updateMeasure(parm).then(res=>{ + if (res.code === 0) { + wx.showModal({ + title: '提示', + content: `提交成功`, + confirmText: '确认', + showCancel: false, + success: res => { + this.setData({ + submitDisabled: false, + uploadImageList: [], + uploadRecord: { + uploaded: true, + url: "" + }, + agencyName:'', + showTime:'', + resiName:'', + resiMobile:'', + 'fmData.gridId':'', + 'fmData.attachmentList':[],//图片 + 'fmData.voiceList':[], + 'fmData.latitude':"", + 'fmData.longitude':"", + 'fmData.resiId':"", + 'fmData.happenTime':"", + 'fmData.content':"",//内容 + 'fmData.wantServiceTime':"", + 'fmData.reportType':'' + }) + wx.navigateBack({ + delta:1 + }) + } + }) + wx.removeStorageSync('resiDetail') + } else { + console.log('提交失败'); + wx.showToast({ + title: "提交失败,请重试~", + icon: "none", + duration: 1500 + }) + this.setData({ + submitDisabled: false + }) + } + }).catch(err=>{ + wx.showToast({ + title: "提交失败,请重试~", + icon: "none", + duration: 1500 + }) + this.setData({ + submitDisabled: false + }) + }) + setTimeout(function(){ + wx.hideLoading() + },1000) + }, + updateEvent(){ + wx.showLoading({ + title: '提交中...', + mask: true + }) + this.setData({ + submitDisabled: true + }) + const parm = this.data.fmData + parm.icEventId = this.data.optionsId + console.log(parm,'事件更新'); + api.updateEvent(parm).then(res => { + console.log(res); + if (res.code === 0) { + wx.showModal({ + title: '提示', + content: `修改成功`, + confirmText: '确认', + showCancel: false, + success: res => { + this.setData({ + submitDisabled: false, + uploadImageList: [], + uploadRecord: { + uploaded: true, + url: "" + }, + agencyName:'', + showTime:'', + resiName:'', + resiMobile:'', + 'fmData.gridId':'', + 'fmData.attachmentList':[],//图片 + 'fmData.voiceList':[], + 'fmData.latitude':"", + 'fmData.longitude':"", + 'fmData.resiId':"", + 'fmData.happenTime':"", + 'fmData.content':"",//内容 + 'fmData.wantServiceTime':"", + 'fmData.reportType':'' + }) + wx.navigateBack({ + delta:1 + }) + } + }) + wx.removeStorageSync('resiDetail') + } else { + console.log('提交失败'); + wx.showToast({ + title: "提交失败,请重试~", + icon: "none", + duration: 1500 + }) + this.setData({ + submitDisabled: false + }) + } + }).catch(err => { + console.log(err) + wx.showToast({ + title: "提交失败,请重试~", + icon: "none", + duration: 1500 + }) + this.setData({ + submitDisabled: false + }) + }) + setTimeout(function(){ + wx.hideLoading() + },1000) + }, + delete(){ + let that = this + wx.showModal({ + title: '提示', + content: '确定要删除这条数据吗,删除后将无法找回,请谨慎操作', + success (res) { + if (res.confirm) { + console.log(that.data.tabVal); + if(that.data.tabVal == 0){ + that.icEventOldDelete() + }else{ + that.userDemandCance() + } + } else if (res.cancel) { + } + } + }) + }, + icEventOldDelete(){ + api.icEventOldDelete([this.data.optionsId]).then(res=>{ + if(res.code === 0){ + wx.showToast({ + title: '删除成功', + icon:'none', + success(){ + setTimeout(()=>{ + wx.navigateBack({ + delta: 1 + }) + },3000) + } + }) + } + }).catch(err=>{ + console.log(err); + }) + }, + userDemandCance(){ + let parm ={ + demandRecId:this.data.optionsId + } + api.userDemandCance(parm).then(res=>{ + if(res.code === 0){ + wx.showToast({ + title: '删除成功', + icon:'none' + }) + } + }).catch(err=>{ + console.log(err); + }) }, + // 组织树 getAgencygridtree() { let parm ={ @@ -167,7 +453,7 @@ Page({ } }) }, - // // 获取经纬度 + // 获取经纬度 // getLocation() { // return new Promise((resolve, reject) => { // const _this = this @@ -204,9 +490,10 @@ Page({ return false } } + console.log(this.data.uploadImageList); if (this.data.uploadImageList.length > 0) { this.data.uploadImageList.forEach(item => { - imagesList.push({format:item.format,originFileName:item.originFileName,url:item.ossUrl.url,type:item.type}) + imagesList.push({format:item.format ||'png',originFileName:item.originFileName ||'',url:item.ossUrl.url,type:item.type}) }) } this.setData({ @@ -272,11 +559,10 @@ Page({ return } } - if(this.data.tabVal ==='1'){ - - this.submitMeasure() - }else{ - this.submitEven() + if (this.data.tabVal === '1') { + this.data.optionsId ? this.updateMeasure() : this.submitMeasure(); + } else { + this.data.optionsId ? this.updateEvent() : this.submitEven(); } }, @@ -289,9 +575,9 @@ Page({ this.setData({ submitDisabled: true }) - const para = this.data.fmData - console.log(para,'事件'); - api.addEvent(para).then(res => { + const parm = this.data.fmData + console.log(parm,'事件'); + api.addEvent(parm).then(res => { console.log(res); if (res.code === 0) { wx.showModal({ @@ -360,12 +646,11 @@ Page({ title: '提交中...', mask: true }) - this.setData({ submitDisabled: true }) let {categoryCode,content,happenTime,resiId,gridId,attachmentList,voiceList,wantServiceTime,parentCode,reportType} = this.data.fmData - const para ={ + const parm ={ categoryCode, content, reportUserName:this.data.reportUserName, @@ -374,12 +659,13 @@ Page({ demandUserId:resiId, gridId, reportType, - attachmentList:[...attachmentList,...voiceList], + // attachments:[...attachmentList], + voices:[...voiceList], wantServiceTime, parentCode:parentCode } - console.log(para,'服务'); - api.addMeasure(para).then(res => { + console.log(parm,'服务'); + api.addMeasure(parm).then(res => { console.log(res); if (res.data) { wx.showModal({ @@ -488,7 +774,7 @@ Page({ if (res.tempFiles[0].size <= 5 * 1024 * 1024) { uploadImageList.push({ uploaded: false, - ossUrl: '', + ossUrl: {url:res.tempFiles[0].tempFilePath}, imgUrl: res.tempFiles[0].tempFilePath, imageId: ++_this.data.imageId, type:res.tempFiles[0].tempFilePath.substr(res.tempFiles[0].tempFilePath.length -3,3), @@ -552,7 +838,7 @@ Page({ if (item.size <= 5 * 1024 * 1024) { uploadImageList.push({ uploaded: false, - ossUrl: '', + ossUrl: {url:item.tempFilePath}, imgUrl: item.tempFilePath, imageId: ++_this.data.imageId, format:"image", diff --git a/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.wxml b/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.wxml index 49fc886..76ec485 100644 --- a/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.wxml +++ b/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.wxml @@ -19,12 +19,15 @@ * 诉求类型 - + 事件上报 居民需求 + + {{tabVal ==0?'事件上报':'居民需求'}} + @@ -60,7 +63,7 @@ - + @@ -70,12 +73,12 @@ - + 您也可以语音输入描述 - + 上传图片 @@ -86,7 +89,7 @@ wx:for-index="index" wx:for-item="item" wx:key="imageId"> - + @@ -152,9 +155,13 @@ - - + + + + + + @@ -217,6 +224,7 @@ bind:confirm="onConfirmWantServiceTime" bind:cancel="onCancel" /> + { + this.setData({ + loadMoreType: res.data.list.length === this.data.pageSize ? 'more' : 'none', + tableData: this.data.tableData.concat(res.data.list), + }) + if (this.data.tableData.length == 0) { + this.setData({ + loadMoreVisible: false, + nodata: true + }) + } + }).catch(err=>{ + console.log(err); + this.setData({ + loadMoreVisible: false, + nodata: true, + }) + }) + + }, + handleClickPhone(e){ + wx.makePhoneCall({ + phoneNumber: e.currentTarget.dataset.mobile, + }) + }, + toDetail(e){ + console.log(e); + wx.navigateTo({ + url: `/subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck?id=${e.currentTarget.dataset.item.id}&type=${e.currentTarget.dataset.item.type==="event"?0:1}`, + }) + + }, + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/subpages/myTroubleshootDemand/pages/index/index.json b/subpages/myTroubleshootDemand/pages/index/index.json new file mode 100644 index 0000000..87ffccf --- /dev/null +++ b/subpages/myTroubleshootDemand/pages/index/index.json @@ -0,0 +1,7 @@ +{ + "usingComponents": { + "load-more": "../../../../components/loadMore/loadMore", + "no-data": "../../../../components/noData/nodata" + }, + "navigationBarTitleText": "我摸排的诉求" +} \ No newline at end of file diff --git a/subpages/myTroubleshootDemand/pages/index/index.wxml b/subpages/myTroubleshootDemand/pages/index/index.wxml new file mode 100644 index 0000000..557781b --- /dev/null +++ b/subpages/myTroubleshootDemand/pages/index/index.wxml @@ -0,0 +1,20 @@ + + + + + + {{item.type == 'event'?'事件':'需求'}} + {{item.name}} {{item.mobile}} + + + + {{item.content}} + + + {{item.time}} + + + + + + \ No newline at end of file diff --git a/subpages/myTroubleshootDemand/pages/index/index.wxss b/subpages/myTroubleshootDemand/pages/index/index.wxss new file mode 100644 index 0000000..da9a73f --- /dev/null +++ b/subpages/myTroubleshootDemand/pages/index/index.wxss @@ -0,0 +1,85 @@ +/* subpages/myTroubleshootDemand/pages/index/index.wxss */ +page { + width: 100%; + min-height: 100vh; + overflow-y: scroll; + background-color: #f7f7f7; + } + .red, + .blue{ + font-size: 28rpx; + color: #fff; + padding: 8rpx 20rpx ; + border-radius: 40rpx; + box-sizing: border-box; + margin-right: 16rpx; + } + .red{ + background-color: #ff783c; + } + .blue{ + background-color: #4f94ff; + } + .blue_small, + .red_small{ + font-size: 26rpx; + width: fit-content; + padding: 8rpx 16rpx; + border-radius: 40rpx; + box-sizing: border-box; + height: 40rpx; + line-height: 20rpx; + margin: 24rpx 0 ; + + } + .blue_small{ + background-color: #eef4fd; + color: #5693EE; + } + .red_small{ + background-color: #fff1eb; + color: #FF783C; + } + .content{ + width: 100%; + padding:0 20rpx ; + margin-top: 20rpx; + box-sizing: border-box; + } + .content .scroll { + height: calc(100vh - 50rpx); + overflow-y: scroll; + } + .content .card{ + width: 100%; + background-color: #fff; + display: flex; + height: 180rpx; + flex-direction: column; + border-radius: 20rpx; + padding: 30rpx 30rpx; + box-sizing: border-box; + overflow: hidden; + box-sizing: border-box; + color: #333; + } + .content .card .title{ + display: flex; + justify-content: space-between; + } + .card_content{ + overflow:hidden; + text-overflow: ellipsis; + display:-webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + + } + .content .card .bottom{ + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 22rpx; + border-bottom: 2rpx #EAEAEA solid; + padding-bottom: 20rpx; + } \ No newline at end of file diff --git a/utils/api.js b/utils/api.js index b5b0920..91404ce 100644 --- a/utils/api.js +++ b/utils/api.js @@ -54,7 +54,14 @@ module.exports = { communitySatisfactionPageList, eventPageList, recorHistory, - serviceNumber + serviceNumber, + getMyTroubleshootDemand, + getIcEventOld, + getDemandDetail, + updateMeasure, + userDemandCance, + icEventOldDelete, + updateEvent } // 获取公钥 @@ -286,4 +293,31 @@ function recorHistory(parm) { function serviceNumber(parm) { return fly.get(`actual/base/peopleRoomOverview/serviceNumber`, parm) } - +//获取我的诉求摸排 +function getMyTroubleshootDemand(parm) { + return fly.get(`governance/demandCollect/my/collects`,parm) +} +// 过去事件详情 +function getIcEventOld(parm) { + return fly.post(`governance/icEventOld/detail`,parm) +} +//获取需求详情 +function getDemandDetail(parm) { + return fly.post(`governance/userdemand/demandDetail`,parm) +} +// 更新需求 +function updateMeasure(parm) { + return fly.post(`governance/userdemand/update`,parm) +} +// 取消需求 +function userDemandCance(parm) { + return fly.post(`governance/userdemand/cancel`,parm) +} +// 删除事件 +function icEventOldDelete(parm) { + return fly.post(`governance/icEventOld/delete`,parm) +} +// 更新事件 +function updateEvent(parm) { + return fly.post(`governance/icEventOld/update`,parm) +}