Browse Source

接口联调,问题修改

dev
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
})
}
// 获取事件详情
export function eventDetail(data) {
return request({
url: `/governance/icEvent/detail`,
method: 'post',
message: '获取事件详情中...',
data
})
}

12
src/api/satisfaction.js

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

6
src/views/appeal/index.vue

@ -56,9 +56,9 @@ export default {
let parm = {
pageSize: this.pageSize,
pageNo: this.pageNo++,
name: this.$store.state.app.userInfo.realName|| '',// ''
mobile: this.$store.state.app.userInfo.mobile||'' || '',//'13792880745'
agencyId:this.$store.state.app.userInfo.agencyId|| ''//1697488876903944195
name:this.$store.state.app.userInfo.realName || '',//''
mobile: this.$store.state.app.userInfo.mobile ||'' || '',//'13792880745'
agencyId:this.$store.state.app.userInfo.agencyId|| ''//'1697488876903944195'
}
let res = await collects(parm)
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.timeLimit">完成并回复</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.agencyId">
<div class="content">
@ -102,10 +102,10 @@
{{ item.publicReply }}
</div>
</div>
<div class="content" v-if="item.timeLimit">
<div class="content" v-if="item.limitTime">
<div class="label">办结时限</div>
<div class="value">
{{ getTrueTime(item.timeLimit) }}
{{item.limitTime }}
</div>
</div>
</template>

19
src/views/home/index.vue

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

1
src/views/messages/index.less

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

61
src/views/messages/index.vue

@ -1,28 +1,29 @@
<template>
<div class="container">
<van-list v-for="item in MessageList" :key="item.id" v-model="loading"
finished-text="没有更多了">
<div class="message flex flex-y">
<van-list finished-text="没有更多了" v-model="loading" :finished="finished" @load="querystaffmessage">
<div class="message flex flex-y" v-for="item in MessageList" :key="item.id" @click="toDetail(item)">
<div class="flex flex-x flex-end m-bottom10">
<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 v-if="item.messageType == 'ic_event'"><img class="img_23 m-right7"
src="../../assets/images/Mess/manyidu.png"></div>
<div class="font-size15 m-right7">{{ item.messageType == 'ic_event' ? '诉求办理' : '满意度调查' }}</div>
<div class="font-size13 C1">{{ item.createdTime }}</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 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 class="font-size15 lable-span gray">重庆南路86号3号楼与4号楼中间楼下晚上 有很多人打牌扰民情况严重</div>
<div class="font-size15 lable-span gray">{{ item.eventContent || '--' }}</div>
</div>
<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>
@ -31,7 +32,8 @@
</template>
<script>
import { querystaffmessage } from '@/api/user'
import { querystaffmessage } from '@/api/message'
import { eventDetail } from '@/api/event'
export default {
name: 'message',
@ -47,10 +49,13 @@ export default {
messageType: "ic_event",
targetId: "1580089831937847297"
},
],
loading:false,
userId:""
loading: true,
userId: "",
pageNo: 1,
finished: false,
pageSize: 10
}
},
mounted() {
@ -58,18 +63,32 @@ export default {
this.querystaffmessage()
},
methods: {
async querystaffmessage(data) {
this.loading=true
async toDetail(item) {
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 = {
userId: this.userId,
app: "resi",
pageNo: 1,
pageSize: 20
agencyId: this.$store.state.app.agencyId,
app: 'resi',
userId: this.userId,//'f838614e67cf8ae0edaefe562b6660e5'
pageSize: this.pageSize,
customerId: this.$store.state.app.userInfo.customerId,
pageNo: this.pageNo++
}
console.log(parm);
let res = await querystaffmessage(parm)
this.loading=false
this.MessageList=res.data
this.loading = false
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'>
<van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="communityActivity" class="card"
: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;">
<div class="flex flex-y flex1 flex-end" style="overflow: hidden;">
<div class="van-ellipsis">{{ item.activityName }}</div>

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

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

111
src/views/search/index.vue

@ -1,20 +1,23 @@
<template>
<div>
<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>
</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>
<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>
<div class="card" v-if="searchFlag">
<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>
<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>
</van-cell>
</van-list>
@ -23,94 +26,90 @@
</template>
<script>
import { keyWordSearch,popularSearch } from '@/api/home';
import { keyWordSearch, popularSearch } from '@/api/home';
export default {
data() {
return {
searchKey:this.$route.query.searchKey || null,
searchKey: this.$route.query.searchKey || null,
loading: false,
finished: false,
searchFlag:false,
searchFlag: false,
tableList: [
],
pageSize:20,
pageNo:1,
topWordList:{}
pageSize: 10,
pageNo: 1,
topWordList: {}
};
},
created() {
if(this.$route.query.searchKey){
this.searchFlag = true;
created() {
if (this.$route.query.searchKey) {
this.searchFlag = true;
}
this.popularSearch()
},
methods: {
handelBlurSearch(){
this.searchFlag = this.searchKey?true:false;
toDetail(item) {
if (item.type == 'activity') {
this.$router.push({ path: '/activityDetail' })
}
},
handelBlurSearch() {
this.searchFlag = this.searchKey ? true : false;
},
//
async getTable() {
this.loading = true
let parm = {
pageSize: 10,
pageNo: 1,
keyWordList:this.searchKey
keyWordList: [this.searchKey],
pageSize: this.pageSize,
pageNo: this.pageNo++
}
let res = await keyWordSearch(parm)
console.log(res);
// setTimeout(() => {
// for (let i = 0; i < 10; i++) {
// this.tableList.push({title:'',date:'2024-10-5'});
// }
// console.log(this.tableList);
// //
this.loading = false;
// //
// if (this.tableList.length >= 40) {
// this.finished = true;
// }
// }, 1000);
this.loading = false
if (res) {
if (res.list.length < this.pageSize) {
this.finished = true;
}
this.tableList = res.list
}
},
handelClickTopSearch(parm){
handelClickTopSearch(parm) {
console.log(parm);
this.searchFlag = true;
this.pageNo = 1;
this.searchKey = parm;
this.getTable();
},
handelClickSearch(){
handelClickSearch() {
this.searchFlag = true;
this.pageNo = 1;
this.getTable();
},
async popularSearch(){
async popularSearch() {
const res = await popularSearch()
if(res.code==0){
if (res.code == 0) {
this.topWordList = res.data
console.log("1215");
}else{
} else {
this.$toast(res.msg)
}
}
},
components: { },
computed: {
textHighlighting(textItem, searchText){
return (textItem,searchText) =>{
const searchTextArr = searchText.split('')
const textItemArr = textItem.split('')
const result = textItemArr.map(item => {
return searchTextArr.includes(item) ? `<span class="blue">${item}</span>` : item
})
return result.join('')
}
components: {},
computed: {
textHighlighting(textItem, searchText) {
return (textItem, searchText) => {
console.log(searchText, textItem);
const searchTextArr = searchText.split('')
const textItemArr = textItem.split('')
const result = textItemArr.map(item => {
return searchTextArr.includes(item) ? `<span class="blue">${item}</span>` : item
})
return result.join('')
}
},
},
watch: { },
},
watch: {},
}
</script>

Loading…
Cancel
Save