Browse Source

我的诉求接口联调

feature
mk 1 year ago
parent
commit
aee4066a30
  1. 6
      src/views/appeal/index.less
  2. 207
      src/views/appeal/index.vue
  3. 6
      src/views/mine/myActivity/index.vue
  4. 2
      src/views/mine/mySatisfaction/index.vue
  5. 2
      src/views/selectAgency/index.vue

6
src/views/appeal/index.less

@ -1,13 +1,15 @@
.event-list {
border-radius: 10px;
background: #f7f7f7;
overflow: hidden;
background: #fff;
}
.event-item {
padding: 15px;
border-bottom: 1px solid @gray-1;
box-sizing: border-box;
background-color: #ffffff;
min-height: 100px;
.title {
.text {
font-size: 16px;

207
src/views/appeal/index.vue

@ -1,146 +1,97 @@
<template>
<div>
<!-- <van-tabs v-model="type" @change="tabList" animated sticky swipeable lazy-render>
<van-tab title="我的事件">-->
<div class="container">
<div class="event-list" v-if="eventList.length > 0">
<div
class="event-item"
v-for="(item, index) in eventList"
:key="index"
@click="$router.push({ path: '/appealDetail', query: { pageType: 'event', ...item } })"
>
<div class="title">
<van-tag
round
size="medium"
style="margin-right: 5px"
:color="item.status == '处理中' ? processing.bg : completion.bg"
:text-color="item.status == '处理中' ? processing.text : completion.text"
>
{{ item.status }}
</van-tag>
<span class="text">{{ item.content }}</span>
</div>
<div class="time">{{ item.happenTime }}</div>
<div class="imgs">
<van-image
fit="cover"
v-for="(item2, index2) in item.imageList"
@click.prevent.stop="previewImage(index2, item.imageList)"
:src="item2"
:key="index2"
/>
</div>
</div>
</div>
<div class="no-data" v-else>暂无内容</div>
</div>
<!-- </van-tab>
<van-tab title="我的需求">
<div class="container">
<div class="event-list">
<div
class="event-item"
v-for="(item, index) in demandList"
:key="index"
@click="$router.push({ path: '/appealDetail', query: { pageType: 'demand', ...item } })"
>
<div class="title">
<van-tag
round
size="medium"
style="margin-right: 5px"
:color="item.status == '处理中' ? processing.bg : completion.bg"
:text-color="item.status == '处理中' ? processing.text : completion.text"
>
{{ item.status }}
<div class='container'>
<van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="collects"
:offset="50">
<div class="event-item m-top10 card" v-for="(item, index) in list" :key="index"
@click="$router.push({ path: '/appealDetail', query: { pageType: 'event', ...item } })">
<div class=" flex flex-y">
<div class="flex">
<van-tag round size="medium" style="margin-right: 5px"
:color="item.statusName == '处理中' ? processing.bg : completion.bg"
:text-color="item.statusName == '处理中' ? processing.text : completion.text">
{{ item.statusName }}
</van-tag>
<span class="text">{{ item.content }}</span>
</div>
<div class="time">{{ item.happenTime }}</div>
<div class="imgs">
<van-image
fit="cover"
v-for="(item2, index2) in item.imageList"
@click.prevent.stop="previewImage(index2, item.imageList)"
:src="item2"
:key="index2"
/>
<div class="y66666 font-size13">{{ item.happenTime }}</div>
</div>
<span class="text">{{ item.eventContent }}</span>
</div>
<div class="imgs">
<van-image fit="cover" v-for="(item2, index2) in item.imageList"
@click.prevent.stop="previewImage(index2, item.imageList)" :src="item2" :key="index2" />
</div>
</div>
</div>
</van-tab>
</van-tabs>-->
</van-list>
</div>
</template>
<script>
import { collects } from '@/api/event'
import { ImagePreview } from 'vant'
import { requirementList } from '@/api/demand'
import { collects } from '@/api/event'
export default {
name: 'appeal',
components: {
[ImagePreview.Component.name]: ImagePreview.Component
},
data() {
return {
type: 0,
completion: {
bg: 'rgba(79,148,255,0.14)',
text: '#4F94FF'
},
processing: {
bg: 'rgba(255,120,60,0.14)',
text: '#FF783C'
},
eventList: [],
demandList: []
}
return {
type: 0,
list: [],
pageSize: 5,
completion: {
bg: 'rgba(79,148,255,0.14)',
text: '#4F94FF'
},
processing: {
bg: 'rgba(255,120,60,0.14)',
text: '#FF783C'
},
pageNo: 1,
agencyId: null,
finished: false,
loading: true,
showRegister: false,
};
},
mounted() {
this.getEventList()
created() {
this.agencyId = this.$store.state.app.agencyId;
this.collects();
},
methods: {
getEventList() {
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;
})
},
getDemandList() {
requirementList({
mobile: this.$store.state.app.userInfo.phone
}).then(res => {
this.demandList = res
})
},
tabList(val) {
console.log(val)
if (val === 0) {
this.getEventList()
} else {
this.getDemandList()
}
},
previewImage(index, urls) {
ImagePreview({
images: urls,
startPosition: index
})
}
}
async collects() {
let parm = {
pageSize: this.pageSize,
pageNo: this.pageNo++,
name: this.$store.state.app.userInfo.realName || '',
mobile: this.$store.state.app.userInfo.mobile || '',
agencyId: '1697488876903944195'
}
let res = await collects(parm)
if (res) {
this.loading = false;
if (res.list.length < this.pageSize) {
this.finished = true;
}
this.list = this.list.concat(res.list);
}
},
},
components: {},
computed: {},
watch: {},
}
</script>
<style scoped lang="less">
@import './index';
<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>

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

@ -1,6 +1,6 @@
<template>
<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="communityActivity" 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;">
@ -53,10 +53,10 @@ export default {
let res = await communityActivity(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) {

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

@ -44,7 +44,7 @@ export default {
methods: {
async communitySatisfactionPageList() {
let parm = {
residList:[ this.$store.state.app.userInfo.id]
residList:[ '1703655913619628033']
}
let res = await communitySatisfactionPageList(parm)
if (res) {

2
src/views/selectAgency/index.vue

@ -36,7 +36,6 @@ export default {
},
methods: {
async getAgency() {
// this.cityJson = [cityJson]
this.selfCity = [];
let res = await getAllOrgTreeList()
if (res) {
@ -55,7 +54,6 @@ export default {
parm.agencyId = item.agencyId;
let res = await editUser(parm)
if (res) {
// this.$router.replace('home')
this.$router.replace('/')
}
} else {

Loading…
Cancel
Save