地区筛选
This commit is contained in:
@@ -1,10 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="AppVillageDiscuss">
|
<div class="AppVillageDiscuss">
|
||||||
<AiTopFixed v-if="tabs.length > 0">
|
<AiTopFixed>
|
||||||
<div class="tab-select">
|
<u-tabs :list="tabslist" :is-scroll="false" :current="currentTabs" active-color="#fff" inactive-color="#CDDCF0" bg-color="#3975C6" @change="change"></u-tabs>
|
||||||
<div class="item" :class="{ active: type == item.dictValue }" v-for="item in tabs" :key="item.dictValue" @click="tabClick(item.dictValue)">{{ item.dictName }}<span /></div>
|
|
||||||
</div>
|
|
||||||
</AiTopFixed>
|
</AiTopFixed>
|
||||||
|
|
||||||
|
<div class="areatop">
|
||||||
|
<u-form label-width="auto">
|
||||||
|
<u-form-item label="区域选择" right-icon="arrow-right" :border-bottom="false" class="addresss">
|
||||||
|
<AiAreaPicker v-model="areaId" :areaId="user.areaId" @select="seachObj" :name.sync="areaName"></AiAreaPicker>
|
||||||
|
</u-form-item>
|
||||||
|
</u-form>
|
||||||
|
</div>
|
||||||
|
|
||||||
<template v-if="datas.length > 0">
|
<template v-if="datas.length > 0">
|
||||||
<AiCard v-for="(item, i) in datas" :ref="item.id" :key="i" @click.native="toAdd(item, 1)">
|
<AiCard v-for="(item, i) in datas" :ref="item.id" :key="i" @click.native="toAdd(item, 1)">
|
||||||
<template #custom>
|
<template #custom>
|
||||||
@@ -59,10 +66,24 @@ export default {
|
|||||||
pages: 0,
|
pages: 0,
|
||||||
deletShow: false,
|
deletShow: false,
|
||||||
deletId: '',
|
deletId: '',
|
||||||
type: '0',
|
|
||||||
listName: '',
|
listName: '',
|
||||||
tabIndex: 0,
|
tabIndex: 0,
|
||||||
showBackTop: false,
|
showBackTop: false,
|
||||||
|
|
||||||
|
tabslist: [
|
||||||
|
{
|
||||||
|
name: '进行中',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '公示中',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '已完成',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
currentTabs: 0,
|
||||||
|
areaName: '',
|
||||||
|
areaId: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -77,6 +98,9 @@ export default {
|
|||||||
onLoad(o) {
|
onLoad(o) {
|
||||||
this.moduleId = o.moduleId
|
this.moduleId = o.moduleId
|
||||||
this.listName = o.listName
|
this.listName = o.listName
|
||||||
|
|
||||||
|
this.areaName = this.user.areaName
|
||||||
|
|
||||||
this.getList()
|
this.getList()
|
||||||
uni.$on('update', () => {
|
uni.$on('update', () => {
|
||||||
this.getList()
|
this.getList()
|
||||||
@@ -90,26 +114,10 @@ export default {
|
|||||||
this.showBackTop = obj.scrollTop > 0
|
this.showBackTop = obj.scrollTop > 0
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
previewImage(images, img) {
|
|
||||||
uni.previewImage({
|
|
||||||
urls: images.map((v) => v.url),
|
|
||||||
current: img,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
tabClick(type) {
|
|
||||||
this.type = type
|
|
||||||
this.current = 1
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
search() {
|
|
||||||
this.current = 1
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
getList() {
|
getList() {
|
||||||
let { current, type } = this
|
|
||||||
this.$http
|
this.$http
|
||||||
.post('/app/appvillagediscuss/list', null, {
|
.post('/app/appvillagediscuss/list', null, {
|
||||||
params: { size: 20, current, type },
|
params: { size: 20, current: this.current, status: this.currentTabs, areaId: this.areaId },
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res?.data) {
|
if (res?.data) {
|
||||||
@@ -125,6 +133,37 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
change(e) {
|
||||||
|
console.log(e)
|
||||||
|
this.areaId = ''
|
||||||
|
this.datas = []
|
||||||
|
this.current = 1
|
||||||
|
this.currentTabs = e
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
|
||||||
|
seachObj(e) {
|
||||||
|
this.areaId = e
|
||||||
|
this.current = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
|
||||||
|
previewImage(images, img) {
|
||||||
|
uni.previewImage({
|
||||||
|
urls: images.map((v) => v.url),
|
||||||
|
current: img,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// tabClick(type) {
|
||||||
|
// this.type = type
|
||||||
|
// this.current = 1
|
||||||
|
// this.getList()
|
||||||
|
// },
|
||||||
|
search() {
|
||||||
|
this.current = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
|
||||||
toAdd(item, type) {
|
toAdd(item, type) {
|
||||||
if (item?.id) {
|
if (item?.id) {
|
||||||
this.$refs?.[item.id]?.[0]?.handleClose()
|
this.$refs?.[item.id]?.[0]?.handleClose()
|
||||||
@@ -172,6 +211,38 @@ export default {
|
|||||||
.AppVillageDiscuss {
|
.AppVillageDiscuss {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
|
.areatop {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
|
||||||
|
.u-form {
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.addresss {
|
||||||
|
.u-form-item__body {
|
||||||
|
.u-form-item--right {
|
||||||
|
.u-form-item--right__content {
|
||||||
|
.u-form-item--right__content__slot {
|
||||||
|
.AiAreaPicker {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
.areaSelector {
|
||||||
|
.location {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.avatar {
|
.avatar {
|
||||||
height: 64px;
|
height: 64px;
|
||||||
width: 64px;
|
width: 64px;
|
||||||
|
|||||||
@@ -9,18 +9,22 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="statusTag" :class="{ over: data.status > 0 }" v-text="data.status == 0 ? (data.type == 0 ? '征集中' : '投票中') : $dict.getLabel('discussStatus', data.status)" />
|
<div class="statusTag" :class="{ over: data.status > 0 }" v-text="data.status == 0 ? (data.type == 0 ? '征集中' : '投票中') : $dict.getLabel('discussStatus', data.status)" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="header-middle">
|
<div class="header-middle">
|
||||||
<div class="contsnts">
|
<div class="contsnts">
|
||||||
<u-parse :html="data.content"></u-parse>
|
<u-parse :html="data.content"></u-parse>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="img-list" v-if="data.images && data.images.length && data.contentType != 1">
|
<div class="img-list" v-if="data.images && data.images.length && data.contentType != 1">
|
||||||
<img :src="item.accessUrl" alt="" v-for="(item, index) in data.images" :key="index" @click="previewImage(data.images, item.accessUrl)" />
|
<img :src="item.accessUrl" alt="" v-for="(item, index) in data.images" :key="index" @click="previewImage(data.images, item.accessUrl)" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="img-list" v-if="data.images && data.images.length && data.contentType == 1">
|
<div class="img-list" v-if="data.images && data.images.length && data.contentType == 1">
|
||||||
<video class="video" :src="data.images[0].url"></video>
|
<video class="video" :src="data.images[0].url"></video>
|
||||||
</div>
|
</div>
|
||||||
</AiTopFixed>
|
</AiTopFixed>
|
||||||
|
|
||||||
<div v-if="data.type == 0" class="comments">
|
<div v-if="data.type == 0" class="comments">
|
||||||
<span class="totalCount">
|
<span class="totalCount">
|
||||||
<span class="total" v-text="`全部评论(${commentCount})`" />
|
<span class="total" v-text="`全部评论(${commentCount})`" />
|
||||||
@@ -39,7 +43,9 @@
|
|||||||
<div class="content color-999" v-text="op.createTime" />
|
<div class="content color-999" v-text="op.createTime" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-else-if="data.type == 1" class="comments"></div>
|
<div v-else-if="data.type == 1" class="comments"></div>
|
||||||
|
|
||||||
<div class="bottomBar">
|
<div class="bottomBar">
|
||||||
<div v-if="data.status < 2" @click="handleComplete">结束公示</div>
|
<div v-if="data.status < 2" @click="handleComplete">结束公示</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -84,7 +90,8 @@ export default {
|
|||||||
this.data = {
|
this.data = {
|
||||||
...res.data,
|
...res.data,
|
||||||
avatar: res.data.createUserName?.substr(0, 2) || '游客',
|
avatar: res.data.createUserName?.substr(0, 2) || '游客',
|
||||||
images: JSON.parse(res.data.images),
|
images: res.data.images,
|
||||||
|
// images: JSON.parse(res.data.images) || [],
|
||||||
messages: res.data.messages || [],
|
messages: res.data.messages || [],
|
||||||
}
|
}
|
||||||
var discussTime = (new Date(res.data.discussDeadline).getTime() * 1) / 1000
|
var discussTime = (new Date(res.data.discussDeadline).getTime() * 1) / 1000
|
||||||
|
|||||||
Reference in New Issue
Block a user