26546 eslint
This commit is contained in:
@@ -1,78 +1,81 @@
|
||||
<template>
|
||||
<div class="Detail" v-if="pageShow" :class="[isAnnouncer && data.status === '0' && data.type === '0' ? 'detail-active' : '']">
|
||||
<div class="detail-top">
|
||||
<div flex class="w-100">
|
||||
<div class="avatar" v-text="data.avatar" />
|
||||
<div flex class="column start fill">
|
||||
<b class="color-333" v-text="data.createUserName" />
|
||||
<span class="color-999" v-text="data.createTime" />
|
||||
</div>
|
||||
<div class="statusTag" :class="{ over: data.status > 0 }" v-text="data.status == 0 ? (data.type == 0 ? '征集中' : '投票中') : $dict.getLabel('discussStatus', data.status)" />
|
||||
</div>
|
||||
|
||||
<div class="header-middle">
|
||||
<div class="contsnts">
|
||||
<u-parse :html="data.content"></u-parse>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="img-list" v-if="data.images && data.images.length">
|
||||
<img :src="item.url" alt="" v-for="(item, index) in data.images" :key="index" @click="previewImage(data.images, item.url)" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="data.type == 0" class="comments">
|
||||
<span class="totalCount">
|
||||
<span class="total" v-text="`全部评论(${commentCount})`" />
|
||||
<span class="rightCount">
|
||||
<u-icon name="clock" v-if="data.status === '0'"></u-icon>
|
||||
<u-count-down v-if="data.status === '0'" :timestamp="timestamp" separator="zh" show-days show-hours show-minutes show-seconds></u-count-down>
|
||||
<span style="color: #999" v-else>已截止</span>
|
||||
</span>
|
||||
</span>
|
||||
<div v-for="op in data.messages" :key="op.id">
|
||||
<div flex class="header">
|
||||
<u-avatar :src="op.avatar" size="48" />
|
||||
<div flex class="fill">
|
||||
<b v-text="op.createUserName" />
|
||||
<span class="tags">{{ data.createUserId === op.createUserId ? '话事人' : '居民' }}</span>
|
||||
<div class="details">
|
||||
<div class="detail-top">
|
||||
<div flex class="w-100">
|
||||
<div class="avatar" v-text="data.avatar" />
|
||||
<div flex class="column start fill">
|
||||
<b class="color-333" v-text="data.createUserName" />
|
||||
<span class="color-999" v-text="data.createTime" />
|
||||
</div>
|
||||
<u-icon name="thumb-up" :label="op.suport" :color="op.isSuport ? 'red' : '#ccc'" @click="like(op.id)" />
|
||||
<div class="statusTag" :class="{ over: data.status > 0 }" v-text="data.status == 0 ? (data.type == 0 ? '征集中' : '投票中') : $dict.getLabel('discussStatus', data.status)" />
|
||||
</div>
|
||||
|
||||
<div class="content" v-text="op.content" @click="adddeleShow(op.id)" />
|
||||
|
||||
<div class="content color-999" v-text="op.createTime" />
|
||||
</div>
|
||||
<AiEmpty v-if="!data.messages.length"></AiEmpty>
|
||||
</div>
|
||||
|
||||
<div v-else-if="data.type == 1" class="comments">
|
||||
<span class="totalCount">
|
||||
<span class="total">{{ data.voteType === '1' ? '投票清单(可多选)' : '投票清单' }}</span>
|
||||
<span class="rightCount">
|
||||
<u-icon name="clock" v-if="data.status === '0'"></u-icon>
|
||||
<u-count-down v-if="data.status === '0'" :timestamp="timestamp" separator="zh" show-days show-hours show-minutes show-seconds></u-count-down>
|
||||
<span style="color: #999" v-else>已截止</span>
|
||||
</span>
|
||||
</span>
|
||||
<div class="comments-vote">
|
||||
<div class="vote-item" v-for="(item, index) in data.voteList" :key="index">
|
||||
<div class="left">
|
||||
<span>{{ item.item }}:</span>
|
||||
<span>{{ item.content }}</span>
|
||||
<div class="header-middle">
|
||||
<div class="contsnts">
|
||||
<u-parse :html="data.content"></u-parse>
|
||||
</div>
|
||||
<i>{{ item.count }}</i>
|
||||
<em :style="{ width: item.percentage }"></em>
|
||||
</div>
|
||||
|
||||
<div class="img-list" v-if="data.images && data.images.length">
|
||||
<img :src="item.url" alt="" v-for="(item, index) in data.images" :key="index" @click="previewImage(data.images, item.url)" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="votePeople" v-if="data.type === '1'">
|
||||
<div class="leftPeople">共{{ data.voteCount }}人参与投票</div>
|
||||
<div v-if="data.type == 0" class="comments">
|
||||
<span class="totalCount">
|
||||
<span class="total" v-text="`全部评论(${commentCount})`" />
|
||||
<span class="rightCount">
|
||||
<u-icon name="clock" v-if="data.status === '0'"></u-icon>
|
||||
<u-count-down v-if="data.status === '0'" :timestamp="timestamp" separator="zh" show-days show-hours show-minutes show-seconds></u-count-down>
|
||||
<span style="color: #999" v-else>已截止</span>
|
||||
</span>
|
||||
</span>
|
||||
<div v-for="op in data.messages" :key="op.id">
|
||||
<div flex class="header">
|
||||
<u-avatar :src="op.avatar" size="48" />
|
||||
<div flex class="fill">
|
||||
<b v-text="op.createUserName" />
|
||||
<span class="tags">{{ data.createUserId === op.createUserId ? '话事人' : '居民' }}</span>
|
||||
</div>
|
||||
<u-icon name="thumb-up" :label="op.suport" :color="op.isSuport ? 'red' : '#ccc'" @click="like(op.id)" />
|
||||
</div>
|
||||
|
||||
<div class="right">
|
||||
<span @click="toUserList">查看详情</span>
|
||||
<u-icon name="arrow-right" color="#999"></u-icon>
|
||||
<div class="content" v-text="op.content" @click="adddeleShow(op.id)" />
|
||||
|
||||
<div class="content color-999" v-text="op.createTime" />
|
||||
</div>
|
||||
<AiEmpty v-if="!data.messages.length"></AiEmpty>
|
||||
</div>
|
||||
|
||||
<div v-else-if="data.type == 1" class="comments">
|
||||
<span class="totalCount">
|
||||
<span class="total">{{ data.voteType === '1' ? '投票清单(可多选)' : '投票清单' }}</span>
|
||||
<span class="rightCount">
|
||||
<u-icon name="clock" v-if="data.status === '0'"></u-icon>
|
||||
<u-count-down v-if="data.status === '0'" :timestamp="timestamp" separator="zh" show-days show-hours show-minutes show-seconds></u-count-down>
|
||||
<span style="color: #999" v-else>已截止</span>
|
||||
</span>
|
||||
</span>
|
||||
<div class="comments-vote">
|
||||
<div class="vote-item" v-for="(item, index) in data.voteList" :key="index">
|
||||
<div class="left">
|
||||
<span>{{ item.item }}:</span>
|
||||
<span>{{ item.content }}</span>
|
||||
</div>
|
||||
<i>{{ item.count }}</i>
|
||||
<em :style="{ width: item.percentage }"></em>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="votePeople" v-if="data.type === '1'">
|
||||
<div class="leftPeople">共{{ data.voteCount }}人参与投票</div>
|
||||
|
||||
<div class="right">
|
||||
<span @click="toUserList">查看详情</span>
|
||||
<u-icon name="arrow-right" color="#999"></u-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -330,6 +333,7 @@ export default {
|
||||
.Detail {
|
||||
padding-bottom: 40px;
|
||||
background: #f6f7f9;
|
||||
height: 100%;
|
||||
|
||||
.end-btn {
|
||||
position: fixed;
|
||||
@@ -349,214 +353,217 @@ export default {
|
||||
padding-bottom: 132px;
|
||||
}
|
||||
|
||||
.detail-top {
|
||||
padding: 30px;
|
||||
background: #fff;
|
||||
border-bottom: 16px solid #f6f7f9;
|
||||
.details {
|
||||
// padding-bottom: 112px;
|
||||
.detail-top {
|
||||
padding: 30px;
|
||||
background: #fff;
|
||||
border-bottom: 16px solid #f6f7f9;
|
||||
|
||||
.avatar {
|
||||
height: 64px;
|
||||
width: 64px;
|
||||
color: #fff;
|
||||
background: $uni-color-primary;
|
||||
border-radius: 50%;
|
||||
font-size: 24px;
|
||||
.avatar {
|
||||
height: 64px;
|
||||
width: 64px;
|
||||
color: #fff;
|
||||
background: $uni-color-primary;
|
||||
border-radius: 50%;
|
||||
font-size: 24px;
|
||||
text-align: center;
|
||||
line-height: 64px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
.color-999 {
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.color-333 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.w-100 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.statusTag {
|
||||
padding: 0 12px;
|
||||
line-height: 30px;
|
||||
border: 1px solid #2573ff;
|
||||
color: #2573ff;
|
||||
font-size: 22px;
|
||||
|
||||
&.over {
|
||||
border-color: #666;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
|
||||
.header-middle {
|
||||
padding: 32px 0 48px 0;
|
||||
|
||||
.contsnts {
|
||||
font-size: 26px;
|
||||
line-height: 1.5;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
img {
|
||||
margin-top: 30px;
|
||||
width: 686px;
|
||||
height: 486px;
|
||||
}
|
||||
}
|
||||
|
||||
.img-list {
|
||||
img {
|
||||
width: calc(33vw - 6px - 24px);
|
||||
height: calc(33vw - 6px - 24px);
|
||||
margin: 0 12px 12px 0;
|
||||
|
||||
&:nth-of-type(3n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
width: 100%;
|
||||
line-height: 112px;
|
||||
background: #fff;
|
||||
font-size: 32px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tags {
|
||||
width: 80px;
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
margin-left: 16px;
|
||||
text-align: center;
|
||||
line-height: 64px;
|
||||
margin-right: 16px;
|
||||
color: #fff;
|
||||
font-size: 24px;
|
||||
background: #1aaaff;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.color-999 {
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.color-333 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.w-100 {
|
||||
::v-deep uni-video {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.statusTag {
|
||||
padding: 0 12px;
|
||||
line-height: 30px;
|
||||
border: 1px solid #2573ff;
|
||||
color: #2573ff;
|
||||
font-size: 22px;
|
||||
.comments {
|
||||
padding: 0 32px 20px;
|
||||
font-size: 28px;
|
||||
background: #fff;
|
||||
|
||||
&.over {
|
||||
border-color: #666;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
|
||||
.header-middle {
|
||||
padding: 32px 0 48px 0;
|
||||
|
||||
.contsnts {
|
||||
font-size: 26px;
|
||||
line-height: 1.5;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
img {
|
||||
margin-top: 30px;
|
||||
width: 686px;
|
||||
height: 486px;
|
||||
}
|
||||
}
|
||||
|
||||
.img-list {
|
||||
img {
|
||||
width: calc(33vw - 6px - 24px);
|
||||
height: calc(33vw - 6px - 24px);
|
||||
margin: 0 12px 12px 0;
|
||||
|
||||
&:nth-of-type(3n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
width: 100%;
|
||||
line-height: 112px;
|
||||
background: #fff;
|
||||
font-size: 32px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tags {
|
||||
width: 80px;
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
margin-left: 16px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-size: 24px;
|
||||
background: #1aaaff;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
::v-deep uni-video {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.comments {
|
||||
padding: 0 32px 20px;
|
||||
font-size: 28px;
|
||||
background: #fff;
|
||||
|
||||
.vote-item {
|
||||
display: flex;
|
||||
position: relative;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 24px 32px;
|
||||
margin-bottom: 16px;
|
||||
background: #ffffff;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
border: 1px solid #95cbff;
|
||||
|
||||
.left {
|
||||
.vote-item {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
line-height: 1.2;
|
||||
margin-right: 20px;
|
||||
position: relative;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 24px 32px;
|
||||
margin-bottom: 16px;
|
||||
background: #ffffff;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
border: 1px solid #95cbff;
|
||||
|
||||
.left {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
line-height: 1.2;
|
||||
margin-right: 20px;
|
||||
|
||||
span {
|
||||
word-break: break-word;
|
||||
|
||||
&:first-child {
|
||||
flex-shrink: 1;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
em {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 0;
|
||||
height: 100%;
|
||||
background: #dce8f4;
|
||||
}
|
||||
|
||||
span {
|
||||
word-break: break-word;
|
||||
flex-shrink: 1;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
color: #5b84b3;
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
flex-shrink: 1;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
flex: 1;
|
||||
}
|
||||
i {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
font-style: normal;
|
||||
color: #5b84b3;
|
||||
font-size: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
em {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 0;
|
||||
height: 100%;
|
||||
background: #dce8f4;
|
||||
.totalCount {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.total {
|
||||
display: block;
|
||||
font-size: 30px;
|
||||
height: 120px;
|
||||
box-sizing: border-box;
|
||||
padding-top: 44px;
|
||||
}
|
||||
.rightCount {
|
||||
padding-top: 44px;
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
flex-shrink: 1;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
color: #5b84b3;
|
||||
font-size: 28px;
|
||||
.u-avatar {
|
||||
margin-right: 24px;
|
||||
}
|
||||
|
||||
i {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
font-style: normal;
|
||||
color: #5b84b3;
|
||||
font-size: 28px;
|
||||
.content {
|
||||
color: #333;
|
||||
margin-left: 72px;
|
||||
margin-top: 10px;
|
||||
|
||||
&.color-999 {
|
||||
color: #999999;
|
||||
font-size: 24px;
|
||||
margin-bottom: 48px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.totalCount {
|
||||
.votePeople {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.total {
|
||||
display: block;
|
||||
font-size: 30px;
|
||||
height: 120px;
|
||||
box-sizing: border-box;
|
||||
padding-top: 44px;
|
||||
}
|
||||
.rightCount {
|
||||
padding-top: 44px;
|
||||
}
|
||||
}
|
||||
|
||||
.u-avatar {
|
||||
margin-right: 24px;
|
||||
}
|
||||
|
||||
.content {
|
||||
color: #333;
|
||||
margin-left: 72px;
|
||||
margin-top: 10px;
|
||||
|
||||
&.color-999 {
|
||||
color: #999999;
|
||||
font-size: 24px;
|
||||
margin-bottom: 48px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.votePeople {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-top: 16px;
|
||||
height: 112px;
|
||||
padding: 0 32px 0 52px;
|
||||
background: #fff;
|
||||
.leftPeople {
|
||||
font-size: 28px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.right {
|
||||
span {
|
||||
color: #2573ff;
|
||||
margin-top: 16px;
|
||||
height: 112px;
|
||||
padding: 0 32px 0 52px;
|
||||
background: #fff;
|
||||
.leftPeople {
|
||||
font-size: 28px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.right {
|
||||
span {
|
||||
color: #2573ff;
|
||||
font-size: 28px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user