Browse Source

接口联调,问题修改

feature
mk 1 year ago
parent
commit
c9d42364c0
  1. 10
      src/api/event.js
  2. 12
      src/api/satisfaction.js
  3. 6
      src/views/appeal/index.vue
  4. 6
      src/views/appealDetail/index.vue
  5. 19
      src/views/home/index.vue
  6. 1
      src/views/messages/index.less
  7. 61
      src/views/messages/index.vue
  8. 2
      src/views/mine/myActivity/index.vue
  9. 48
      src/views/mine/mySatisfaction/index.vue
  10. 111
      src/views/search/index.vue

10
src/api/event.js

@ -56,3 +56,13 @@ export function process(data) {
data data
}) })
} }
// 获取事件详情
export function eventDetail(data) {
return request({
url: `/governance/icEvent/detail`,
method: 'post',
message: '获取事件详情中...',
data
})
}

12
src/api/satisfaction.js

@ -1,12 +1,12 @@
// axios // axios
import request from '@/utils/request' import request from '@/utils/request'
// 上报事件 // 获取我的满意度调查
export function communitySatisfactionPageList(data) { export function inspRecord(params) {
return request({ return request({
url: `/actual/base/peopleRoomOverview/communitySatisfactionPageList`, url: `/governance/satisfaction/communitySelfInsp/inspRecord/list`,
method: 'post', method: 'get',
message: '加载中...', message: '加载中...',
data params
}) })
} }

6
src/views/appeal/index.vue

@ -56,9 +56,9 @@ export default {
let parm = { let parm = {
pageSize: this.pageSize, pageSize: this.pageSize,
pageNo: this.pageNo++, pageNo: this.pageNo++,
name: this.$store.state.app.userInfo.realName|| '',// '' name:this.$store.state.app.userInfo.realName || '',//''
mobile: this.$store.state.app.userInfo.mobile||'' || '',//'13792880745' mobile: this.$store.state.app.userInfo.mobile ||'' || '',//'13792880745'
agencyId:this.$store.state.app.userInfo.agencyId|| ''//1697488876903944195 agencyId:this.$store.state.app.userInfo.agencyId|| ''//'1697488876903944195'
} }
let res = await collects(parm) let res = await collects(parm)
if (res) { if (res) {

6
src/views/appealDetail/index.vue

@ -61,7 +61,7 @@
<div class="step-title" v-if="item.agencyId">指派</div> <div class="step-title" v-if="item.agencyId">指派</div>
<div class="step-title" v-if="!item.timeLimit">完成并回复</div> <div class="step-title" v-if="!item.timeLimit">完成并回复</div>
<div class="step-title" v-if="!item.agencyId && item.timeLimit">{{ item.processName }}</div> <div class="step-title" v-if="!item.agencyId && item.timeLimit">{{ item.processName }}</div>
<div class="step-time">{{ item.processTime ? getTrueTime(item.processTime) : '' }}</div> <div class="step-time">{{ item.processTime ? item.processTime : '' }}</div>
<template v-if="item.type === 'event'"> <template v-if="item.type === 'event'">
<template v-if="item.agencyId"> <template v-if="item.agencyId">
<div class="content"> <div class="content">
@ -102,10 +102,10 @@
{{ item.publicReply }} {{ item.publicReply }}
</div> </div>
</div> </div>
<div class="content" v-if="item.timeLimit"> <div class="content" v-if="item.limitTime">
<div class="label">办结时限</div> <div class="label">办结时限</div>
<div class="value"> <div class="value">
{{ getTrueTime(item.timeLimit) }} {{item.limitTime }}
</div> </div>
</div> </div>
</template> </template>

19
src/views/home/index.vue

@ -27,9 +27,9 @@
<div class="card flex flex-end flex-center2 m-top15 notice"> <div class="card flex flex-end flex-center2 m-top15 notice">
<img src="@/assets/images/icons/notice.png" class="img_17" alt=""> <img src="@/assets/images/icons/notice.png" class="img_17" alt="">
<div class="van-ellipsis flex-1"> <div class="van-ellipsis flex-1">
<van-notice-bar color="#555555" background="#ffffff" text="" /> <van-notice-bar color="#555555" background="#ffffff" :text="messageText" />
</div> </div>
<span class="gray notice_time">05-06</span> <span class="gray notice_time">{{day}}</span>
<span class="gray" @click="$router.push('/messages')">更多</span> <span class="gray" @click="$router.push('/messages')">更多</span>
</div> </div>
<div class="card m-top10"> <div class="card m-top10">
@ -176,11 +176,12 @@ export default {
tagList: [], tagList: [],
tagActive: 'new', tagActive: 'new',
tagId: null, tagId: null,
PublicityList:[] PublicityList:[],
messageText:'没有新的消息!',
day:null
}; };
}, },
created() { created() {
console.log(this.$store.state.app);
this.agencyId = this.$store.state.app.agencyId; this.agencyId = this.$store.state.app.agencyId;
this.userId = this.$store.state.app.userInfo.id; this.userId = this.$store.state.app.userInfo.id;
this.customerId = this.$store.state.app.userInfo.customerId; this.customerId = this.$store.state.app.userInfo.customerId;
@ -188,20 +189,24 @@ export default {
this.icEventOldDiscuss()// this.icEventOldDiscuss()//
this.advertisingTag()// this.advertisingTag()//
this.communityPublicity()// this.communityPublicity()//
this.querystaffmessage() this.querystaffmessage()//
let date = new Date()
this.day = this.$dayjs(date).format('MM-DD');
}, },
methods: { methods: {
async querystaffmessage(){ async querystaffmessage(){
let parm = { let parm = {
agencyId: this.agencyId, agencyId: this.agencyId,
app:'h5', app:'resi',
userId: this.userId, userId: this.userId,
pageSize:10, pageSize:10,
customerId:this.customerId, customerId:this.customerId,
pageNo:1 pageNo:1
} }
let res = await querystaffmessage(parm) let res = await querystaffmessage(parm)
console.log(res); if(res.length>0){
this.messageText = res.map(item=>item.messageContent).join(' ')
}
}, },
async handelClicopposeNum(data){ async handelClicopposeNum(data){
let parm = { let parm = {

1
src/views/messages/index.less

@ -3,6 +3,7 @@
background: #FFFFFF; background: #FFFFFF;
border-radius: 5px; border-radius: 5px;
margin-bottom: 10px; margin-bottom: 10px;
min-height: 148px;
.title { .title {
} }

61
src/views/messages/index.vue

@ -1,28 +1,29 @@
<template> <template>
<div class="container"> <div class="container">
<van-list v-for="item in MessageList" :key="item.id" v-model="loading" <van-list finished-text="没有更多了" v-model="loading" :finished="finished" @load="querystaffmessage">
finished-text="没有更多了"> <div class="message flex flex-y" v-for="item in MessageList" :key="item.id" @click="toDetail(item)">
<div class="message flex flex-y">
<div class="flex flex-x flex-end m-bottom10"> <div class="flex flex-x flex-end m-bottom10">
<div class="flex flex-x flex-center2 "> <div class="flex flex-x flex-center2 ">
<div v-if="item.messageType !== 'ic_event'"><img class="img_23 m-right7" src="../../assets/images/Mess/suqiu.png"> <div v-if="item.messageType !== 'ic_event'"><img class="img_23 m-right7"
src="../../assets/images/Mess/suqiu.png">
</div> </div>
<div v-if="item.messageType == 'ic_event'"><img class="img_23 m-right7" <div v-if="item.messageType == 'ic_event'"><img class="img_23 m-right7"
src="../../assets/images/Mess/manyidu.png"></div> src="../../assets/images/Mess/manyidu.png"></div>
<div class="font-size15 m-right7">{{ item.messageType == 'ic_event' ? '诉求办理' : '满意度调查' }}</div> <div class="font-size15 m-right7">{{ item.messageType == 'ic_event' ? '诉求办理' : '满意度调查' }}</div>
<div class="font-size13 C1">{{ item.createdTime }}</div> <div class="font-size13 C1">{{ item.createdTime }}</div>
</div> </div>
<div class="font-size13 C1 flex flex-center2"><span>{{ item.readFlag == 'unread' ? '未读' : '已读' }}</span> <div class="font-size13 C1 flex flex-center2"><span>{{ item.readFlag == 'unread' ? '未读' : '已读'
}}</span>
</div> </div>
</div> </div>
<div class="m-bottom10"><span>您的上报问题已办结请您对我们的工作进行 满意度评价</span></div> <div class="m-bottom10"><span>{{ item.messageContent }}</span></div>
<div v-if="item.messageType == 'ic_event'" class="label m-bottom10"> <div v-if="item.messageType == 'ic_event'" class="label m-bottom10">
<div class="font-size15 lable-span gray">重庆南路86号3号楼与4号楼中间楼下晚上 有很多人打牌扰民情况严重</div> <div class="font-size15 lable-span gray">{{ item.eventContent || '--' }}</div>
</div> </div>
<div v-if="item.messageType !== 'ic_event'" class="label m-bottom10"> <div v-if="item.messageType !== 'ic_event'" class="label m-bottom10">
<div class="font-size15 lable-span gray">重庆南路86号3号楼与4号楼中间楼下晚上 有很多人打牌扰民情况严重</div> <div class="font-size15 lable-span gray">{{ item.eventContent }}</div>
</div> </div>
</div> </div>
@ -31,7 +32,8 @@
</template> </template>
<script> <script>
import { querystaffmessage } from '@/api/user' import { querystaffmessage } from '@/api/message'
import { eventDetail } from '@/api/event'
export default { export default {
name: 'message', name: 'message',
@ -47,10 +49,13 @@ export default {
messageType: "ic_event", messageType: "ic_event",
targetId: "1580089831937847297" targetId: "1580089831937847297"
}, },
], ],
loading:false, loading: true,
userId:"" userId: "",
pageNo: 1,
finished: false,
pageSize: 10
} }
}, },
mounted() { mounted() {
@ -58,18 +63,32 @@ export default {
this.querystaffmessage() this.querystaffmessage()
}, },
methods: { methods: {
async querystaffmessage(data) { async toDetail(item) {
this.loading=true if (item.messageType === 'ic_event') {
let res = await eventDetail({ icEventId: item.id })
if (res) {
res.pageType = 'event'
this.$router.push({ path: '/appealDetail', query: res })
}
}
},
async querystaffmessage() {
let parm = { let parm = {
userId: this.userId, agencyId: this.$store.state.app.agencyId,
app: "resi", app: 'resi',
pageNo: 1, userId: this.userId,//'f838614e67cf8ae0edaefe562b6660e5'
pageSize: 20 pageSize: this.pageSize,
customerId: this.$store.state.app.userInfo.customerId,
pageNo: this.pageNo++
} }
console.log(parm);
let res = await querystaffmessage(parm) let res = await querystaffmessage(parm)
this.loading=false this.loading = false
this.MessageList=res.data if (res) {
if (res.length < this.pageSize) {
this.finished = true;
}
this.MessageList = res
}
}, },
} }
} }

2
src/views/mine/myActivity/index.vue

@ -2,7 +2,7 @@
<div class='container'> <div class='container'>
<van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="communityActivity" class="card" <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="communityActivity" class="card"
:offset="50"> :offset="50">
<div class="activity_content flex" v-for="(item, index) in list" :key="index"@click="$router.push({ path: `/activityDetail` })"> <div class="activity_content flex" v-for="(item, index) in list" :key="index"@click="$router.push({ path: `/activityDetail`,query:item })">
<img :src="item.coverPic" alt="" class="mr10 img_round" style="width: 75px;height: 95px;"> <img :src="item.coverPic" alt="" class="mr10 img_round" style="width: 75px;height: 95px;">
<div class="flex flex-y flex1 flex-end" style="overflow: hidden;"> <div class="flex flex-y flex1 flex-end" style="overflow: hidden;">
<div class="van-ellipsis">{{ item.activityName }}</div> <div class="van-ellipsis">{{ item.activityName }}</div>

48
src/views/mine/mySatisfaction/index.vue

@ -1,29 +1,26 @@
<template> <template>
<div class='container'> <div class='container'>
<van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="communitySatisfactionPageList" class="card" <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="inspRecord" class="card"
:offset="50"> :offset="50" style="padding: 0;">
<div class="activity_content flex" v-for="(item, index) in list" :key="index"@click="$router.push({ path: `/activityDetail` })"> <div class="activity_content flex flex-center2" v-for="(item, index) in list" :key="index">
<img :src="item.coverPic" alt="" class="mr10 img_round" style="width: 75px;height: 95px;"> <div class="flex1 flex flex-y">
<div class="flex flex-y flex1 flex-end" style="overflow: hidden;"> <div class="title" style="color: #333333;">
<div class="van-ellipsis">{{ item.activityName }}</div> {{item.recordTitle}}
<div class="address font-size14 van-ellipsis gray">地点{{ item.address }}</div>
<div class="time gray font-size14">时间{{ item.startTime }}</div>
<div class="flex flex-end">
<div>
<span>报名人数</span> <span class="font-size18 orange">{{ item.participants }}</span>/<span
class="font-size14">{{ item.participants }}</span>
</div> </div>
<van-button type="info" size="small" round @click="handelClickJump('activityDetail')" <div class="font-size14 m-top13 gray m-top12">
:disabled="item.online !== 1">报名</van-button> 测评人数{{item.personQty}}
</div>
</div>
<div class="right">
<span class="orange font-size21">{{item.synthesisScore}}</span><span class="font-szie13 y66666"></span>
</div> </div>
</div>
</div> </div>
</van-list> </van-list>
</div> </div>
</template> </template>
<script> <script>
import { communitySatisfactionPageList } from '@/api/satisfaction'; import { inspRecord } from '@/api/satisfaction';
export default { export default {
data() { data() {
@ -39,20 +36,21 @@ export default {
}, },
created() { created() {
this.agencyId = this.$store.state.app.agencyId; this.agencyId = this.$store.state.app.agencyId;
this.communitySatisfactionPageList(); this.inspRecord();
}, },
methods: { methods: {
async communitySatisfactionPageList() { async inspRecord() {
let parm = { let parm = {
residList:[ '1703655913619628033'] pageSize:this.pageSize,
pageNo:this.pageNo++
} }
let res = await communitySatisfactionPageList(parm) let res = await inspRecord(parm)
if (res) { if (res) {
this.loading = false; this.loading = false;
if (res.length < this.pageSize) { if (res.list.length < this.pageSize) {
this.finished = true; this.finished = true;
} }
this.list = this.list.concat(res); this.list = this.list.concat(res.list);
} }
}, },
handelClickJump(path) { handelClickJump(path) {
@ -67,13 +65,11 @@ export default {
<style lang='less' scoped> <style lang='less' scoped>
.activity_content { .activity_content {
padding-bottom: 15px; padding: 17px;
box-sizing: border-box; box-sizing: border-box;
width: 100%; width: 100%;
border-bottom: 1px solid #EAEAEA; border-bottom: 1px solid #EAEAEA;
margin-top: 14px; min-height: 72px;
min-height: 110px;
.img { .img {
width: 231px; width: 231px;
height: 33px; height: 33px;

111
src/views/search/index.vue

@ -1,20 +1,23 @@
<template> <template>
<div> <div>
<div class="flex flex-center2 search_box"> <div class="flex flex-center2 search_box">
<van-search v-model="searchKey" shape="round" background="#fffff" placeholder="请输入搜索关键词" class="flex1" @blur="handelBlurSearch" /> <van-search v-model="searchKey" shape="round" background="#fffff" placeholder="请输入搜索关键词" class="flex1"
@blur="handelBlurSearch" />
<van-button type="info" round size="small" class="m-right10" @click="handelClickSearch">搜索</van-button> <van-button type="info" round size="small" class="m-right10" @click="handelClickSearch">搜索</van-button>
</div> </div>
<span v-if="searchFlag" class="p-12 flex">按关键字“<span class="blue">{{searchKey}}</span>搜索到的结果如下</span> <span v-if="searchFlag" class="p-12 flex">按关键字“<span class="blue">{{ searchKey }}</span>搜索到的结果如下</span>
<section class='card m-top10' v-else> <section class='card m-top10' v-else>
<div class="title"><span>热门搜索</span></div> <div class="title"><span>热门搜索</span></div>
<van-button type="default" round size="small" class="m-right10 m-top10" v-for="(item, index) in topWordList" :key="index" @click="handelClickTopSearch(item.name)">{{ item.name}}</van-button> <van-button type="default" round size="small" class="m-right10 m-top10" v-for="(item, index) in topWordList"
:key="index" @click="handelClickTopSearch(item.name)">{{ item.name }}</van-button>
</section> </section>
<div class="card" v-if="searchFlag"> <div class="card" v-if="searchFlag">
<van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="getTable"> <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="getTable">
<van-cell v-for="(item, index) in tableList" :key="index" :label="item.date"> <van-cell v-for="(item, index) in tableList" :key="index" :label="item.createTime"
style="min-height: 50px;" @click="toDetail(item)">
<template #title> <template #title>
<span v-html="textHighlighting(item.title, searchKey)" class="van-multi-ellipsis--l2"></span> <span v-html="textHighlighting(item.name, searchKey)" class="van-multi-ellipsis--l2"></span>
</template> </template>
</van-cell> </van-cell>
</van-list> </van-list>
@ -23,94 +26,90 @@
</template> </template>
<script> <script>
import { keyWordSearch,popularSearch } from '@/api/home'; import { keyWordSearch, popularSearch } from '@/api/home';
export default { export default {
data() { data() {
return { return {
searchKey:this.$route.query.searchKey || null, searchKey: this.$route.query.searchKey || null,
loading: false, loading: false,
finished: false, finished: false,
searchFlag:false, searchFlag: false,
tableList: [ tableList: [
], ],
pageSize:20, pageSize: 10,
pageNo:1, pageNo: 1,
topWordList:{} topWordList: {}
}; };
}, },
created() { created() {
if(this.$route.query.searchKey){ if (this.$route.query.searchKey) {
this.searchFlag = true; this.searchFlag = true;
} }
this.popularSearch() this.popularSearch()
}, },
methods: { methods: {
handelBlurSearch(){ toDetail(item) {
this.searchFlag = this.searchKey?true:false; if (item.type == 'activity') {
this.$router.push({ path: '/activityDetail' })
}
},
handelBlurSearch() {
this.searchFlag = this.searchKey ? true : false;
}, },
// //
async getTable() { async getTable() {
this.loading = true
let parm = { let parm = {
pageSize: 10, keyWordList: [this.searchKey],
pageNo: 1, pageSize: this.pageSize,
keyWordList:this.searchKey pageNo: this.pageNo++
} }
let res = await keyWordSearch(parm) let res = await keyWordSearch(parm)
console.log(res); this.loading = false
if (res) {
// setTimeout(() => { if (res.list.length < this.pageSize) {
// for (let i = 0; i < 10; i++) { this.finished = true;
// this.tableList.push({title:'',date:'2024-10-5'}); }
// } this.tableList = res.list
// console.log(this.tableList); }
// //
this.loading = false;
// //
// if (this.tableList.length >= 40) {
// this.finished = true;
// }
// }, 1000);
}, },
handelClickTopSearch(parm){ handelClickTopSearch(parm) {
console.log(parm); console.log(parm);
this.searchFlag = true; this.searchFlag = true;
this.pageNo = 1; this.pageNo = 1;
this.searchKey = parm; this.searchKey = parm;
this.getTable(); this.getTable();
}, },
handelClickSearch(){ handelClickSearch() {
this.searchFlag = true; this.searchFlag = true;
this.pageNo = 1; this.pageNo = 1;
this.getTable(); this.getTable();
}, },
async popularSearch(){ async popularSearch() {
const res = await popularSearch() const res = await popularSearch()
if(res.code==0){ if (res.code == 0) {
this.topWordList = res.data this.topWordList = res.data
console.log("1215"); } else {
}else{
this.$toast(res.msg) this.$toast(res.msg)
} }
} }
}, },
components: { }, components: {},
computed: { computed: {
textHighlighting(textItem, searchText){ textHighlighting(textItem, searchText) {
return (textItem,searchText) =>{ return (textItem, searchText) => {
const searchTextArr = searchText.split('') console.log(searchText, textItem);
const textItemArr = textItem.split('') const searchTextArr = searchText.split('')
const result = textItemArr.map(item => { const textItemArr = textItem.split('')
return searchTextArr.includes(item) ? `<span class="blue">${item}</span>` : item const result = textItemArr.map(item => {
}) return searchTextArr.includes(item) ? `<span class="blue">${item}</span>` : item
return result.join('') })
} return result.join('')
}
}, },
}, },
watch: { }, watch: {},
} }
</script> </script>

Loading…
Cancel
Save