Browse Source

上报问题,满意度调查,参加活动接口联调

feature
mk 1 year ago
parent
commit
00a09aec33
  1. 8
      src/api/event.js
  2. 12
      src/api/satisfaction.js
  3. 12
      src/router/router.config.js
  4. 5
      src/views/activity/index.vue
  5. 9
      src/views/appeal/index.vue
  6. 7
      src/views/mine/index.vue
  7. 90
      src/views/mine/myActivity/index.vue
  8. 86
      src/views/mine/mySatisfaction/index.vue

8
src/api/event.js

@ -30,12 +30,12 @@ export function eventList(params) {
})
}
//我的诉求列表
export function collects(params) {
export function collects(data) {
return request({
url: `/governance/demandCollect/my/collects`,
method: 'get',
url: `/governance/icEventOld/list`,
method: 'post',
message: '获取诉求中...',
params
data
})
}
// 事件评价

12
src/api/satisfaction.js

@ -0,0 +1,12 @@
// axios
import request from '@/utils/request'
// 上报事件
export function communitySatisfactionPageList(data) {
return request({
url: `/actual/base/peopleRoomOverview/communitySatisfactionPageList`,
method: 'post',
message: '加载中...',
data
})
}

12
src/router/router.config.js

@ -48,7 +48,7 @@ export const constantRouterMap = [
path: '/appeal',
name: 'appeal',
component: () => import('@/views/appeal'),
meta: { title: '我的诉求', keepAlive: false }
meta: { title: '我上报的问题', keepAlive: false }
},
{
path: '/appealDetail',
@ -129,6 +129,16 @@ export const constantRouterMap = [
name: 'communityPublicityDetail',
component: () => import('@/views/communityPublicity/detail'),
meta: { title: '详情', keepAlive: false }
},{
path: '/mySatisfaction',
name: 'mySatisfaction',
component: () => import('@/views/mine/mySatisfaction'),
meta: { title: '我参与的满意度调查', keepAlive: false }
},{
path: '/myActivity',
name: 'myActivity',
component: () => import('@/views/mine/myActivity'),
meta: { title: '我参与的活动', keepAlive: false }
}
]

5
src/views/activity/index.vue

@ -19,14 +19,11 @@
</div>
</div>
</van-list>
<register-dialog v-if="showRegister" @close="showRegister = false"></register-dialog>
</div>
</template>
<script>
import { communityActivity } from '@/api/home';
import registerDialog from '@/components/registerDialog';
export default {
data() {
@ -78,7 +75,7 @@ export default {
}
},
components: { registerDialog },
components: {},
computed: {},
watch: {},
}

9
src/views/appeal/index.vue

@ -105,7 +105,14 @@ export default {
},
methods: {
getEventList() {
collects().then(res => {
let parm = {
pageSize:10,
pageNo:1,
name:this.$store.state.app.userInfo.realName||'',
mobile:this.$store.state.app.userInfo.mobile||'',
agencyId:this.$store.state.app.agencyId
}
collects(parm).then(res => {
this.eventList = res.list;
})
},

7
src/views/mine/index.vue

@ -23,17 +23,17 @@
</div>
<div class="container">
<div class="cell-group">
<van-cell title="我的诉求" is-link to="/appeal">
<van-cell title="我上报的问题" is-link to="/appeal">
<template #icon>
<van-image style="margin-right: 5px" :src="require('@/assets/sq.png')" width="20" height="20" />
</template>
</van-cell>
<van-cell title="我参与的活动" is-link>
<van-cell title="我参与的活动" is-link to="/myActivity" >
<template #icon>
<van-image style="margin-right: 5px" :src="require('@/assets/images/icons/activity.png')" width="20" height="20" />
</template>
</van-cell>
<van-cell title="我参与的满意度调查" is-link>
<van-cell title="我参与的满意度调查" is-link to="/mySatisfaction">
<template #icon>
<van-image style="margin-right: 5px" :src="require('@/assets/images/icons/satisfaction.png')" width="20" height="20" />
</template>
@ -42,7 +42,6 @@
</div>
<div class="container">
<div class="cell-group">
<van-cell title="隐私保护" is-link>
<template #icon>
<van-image style="margin-right: 5px" :src="require('@/assets/images/icons/privacy.png')" width="20" height="20" />

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

@ -0,0 +1,90 @@
<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>
</div>
<van-button type="info" size="small" round @click="handelClickJump('activityDetail')"
:disabled="item.online !== 1">报名</van-button>
</div>
</div>
</div>
</van-list>
</div>
</template>
<script>
import { communityActivity } from '@/api/home';
export default {
data() {
return {
list: [],
pageSize: 5,
pageNo: 1,
agencyId: null,
finished: false,
loading: true,
showRegister: false,
};
},
created() {
this.agencyId = this.$store.state.app.agencyId;
this.communityActivity();
},
methods: {
async communityActivity() {
const {pageNo,pageSize,agencyId} = this
let parm = {
agencyId,
pageNo,
pageSize,
userId:this.$store.state.app.userInfo.id
}
let res = await communityActivity(parm)
if (res) {
this.loading = false;
if (res.length < this.pageSize) {
this.finished = true;
}
this.list = this.list.concat(res);
}
},
handelClickJump(path) {
}
},
components: {},
computed: {},
watch: {},
}
</script>
<style lang='less' scoped>
.activity_content {
padding-bottom: 15px;
box-sizing: border-box;
width: 100%;
border-bottom: 1px solid #EAEAEA;
margin-top: 14px;
min-height: 110px;
.img {
width: 231px;
height: 33px;
}
&:last-child {
border-bottom: none;
}
}
</style>

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

@ -0,0 +1,86 @@
<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>
</div>
<van-button type="info" size="small" round @click="handelClickJump('activityDetail')"
:disabled="item.online !== 1">报名</van-button>
</div>
</div>
</div>
</van-list>
</div>
</template>
<script>
import { communitySatisfactionPageList } from '@/api/satisfaction';
export default {
data() {
return {
list: [],
pageSize: 5,
pageNo: 1,
agencyId: null,
finished: false,
loading: true,
showRegister: false,
};
},
created() {
this.agencyId = this.$store.state.app.agencyId;
this.communitySatisfactionPageList();
},
methods: {
async communitySatisfactionPageList() {
let parm = {
residList:[ this.$store.state.app.userInfo.id]
}
let res = await communitySatisfactionPageList(parm)
if (res) {
this.loading = false;
if (res.length < this.pageSize) {
this.finished = true;
}
this.list = this.list.concat(res);
}
},
handelClickJump(path) {
}
},
components: {},
computed: {},
watch: {},
}
</script>
<style lang='less' scoped>
.activity_content {
padding-bottom: 15px;
box-sizing: border-box;
width: 100%;
border-bottom: 1px solid #EAEAEA;
margin-top: 14px;
min-height: 110px;
.img {
width: 231px;
height: 33px;
}
&:last-child {
border-bottom: none;
}
}
</style>
Loading…
Cancel
Save