26546 eslint
This commit is contained in:
@@ -1,78 +1,81 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="Detail" v-if="pageShow" :class="[isAnnouncer && data.status === '0' && data.type === '0' ? 'detail-active' : '']">
|
<div class="Detail" v-if="pageShow" :class="[isAnnouncer && data.status === '0' && data.type === '0' ? 'detail-active' : '']">
|
||||||
<div class="detail-top">
|
<div class="details">
|
||||||
<div flex class="w-100">
|
<div class="detail-top">
|
||||||
<div class="avatar" v-text="data.avatar" />
|
<div flex class="w-100">
|
||||||
<div flex class="column start fill">
|
<div class="avatar" v-text="data.avatar" />
|
||||||
<b class="color-333" v-text="data.createUserName" />
|
<div flex class="column start fill">
|
||||||
<span class="color-999" v-text="data.createTime" />
|
<b class="color-333" v-text="data.createUserName" />
|
||||||
</div>
|
<span class="color-999" v-text="data.createTime" />
|
||||||
<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>
|
</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>
|
||||||
|
|
||||||
<div class="content" v-text="op.content" @click="adddeleShow(op.id)" />
|
<div class="header-middle">
|
||||||
|
<div class="contsnts">
|
||||||
<div class="content color-999" v-text="op.createTime" />
|
<u-parse :html="data.content"></u-parse>
|
||||||
</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>
|
</div>
|
||||||
<i>{{ item.count }}</i>
|
</div>
|
||||||
<em :style="{ width: item.percentage }"></em>
|
|
||||||
|
<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>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="votePeople" v-if="data.type === '1'">
|
<div v-if="data.type == 0" class="comments">
|
||||||
<div class="leftPeople">共{{ data.voteCount }}人参与投票</div>
|
<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">
|
<div class="content" v-text="op.content" @click="adddeleShow(op.id)" />
|
||||||
<span @click="toUserList">查看详情</span>
|
|
||||||
<u-icon name="arrow-right" color="#999"></u-icon>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -330,6 +333,7 @@ export default {
|
|||||||
.Detail {
|
.Detail {
|
||||||
padding-bottom: 40px;
|
padding-bottom: 40px;
|
||||||
background: #f6f7f9;
|
background: #f6f7f9;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
.end-btn {
|
.end-btn {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
@@ -349,214 +353,217 @@ export default {
|
|||||||
padding-bottom: 132px;
|
padding-bottom: 132px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-top {
|
.details {
|
||||||
padding: 30px;
|
// padding-bottom: 112px;
|
||||||
background: #fff;
|
.detail-top {
|
||||||
border-bottom: 16px solid #f6f7f9;
|
padding: 30px;
|
||||||
|
background: #fff;
|
||||||
|
border-bottom: 16px solid #f6f7f9;
|
||||||
|
|
||||||
.avatar {
|
.avatar {
|
||||||
height: 64px;
|
height: 64px;
|
||||||
width: 64px;
|
width: 64px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background: $uni-color-primary;
|
background: $uni-color-primary;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
font-size: 24px;
|
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;
|
text-align: center;
|
||||||
line-height: 64px;
|
color: #fff;
|
||||||
margin-right: 16px;
|
font-size: 24px;
|
||||||
|
background: #1aaaff;
|
||||||
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.color-999 {
|
::v-deep uni-video {
|
||||||
color: #999999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.color-333 {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-100 {
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.statusTag {
|
.comments {
|
||||||
padding: 0 12px;
|
padding: 0 32px 20px;
|
||||||
line-height: 30px;
|
font-size: 28px;
|
||||||
border: 1px solid #2573ff;
|
background: #fff;
|
||||||
color: #2573ff;
|
|
||||||
font-size: 22px;
|
|
||||||
|
|
||||||
&.over {
|
.vote-item {
|
||||||
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 {
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex: 1;
|
position: relative;
|
||||||
line-height: 1.2;
|
align-items: center;
|
||||||
margin-right: 20px;
|
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 {
|
span {
|
||||||
word-break: break-word;
|
flex-shrink: 1;
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
color: #5b84b3;
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
&:first-child {
|
i {
|
||||||
flex-shrink: 1;
|
position: relative;
|
||||||
}
|
z-index: 1;
|
||||||
|
font-style: normal;
|
||||||
&:last-child {
|
color: #5b84b3;
|
||||||
flex: 1;
|
font-size: 28px;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
em {
|
.totalCount {
|
||||||
position: absolute;
|
display: flex;
|
||||||
left: 0;
|
justify-content: space-between;
|
||||||
top: 0;
|
|
||||||
z-index: 0;
|
.total {
|
||||||
height: 100%;
|
display: block;
|
||||||
background: #dce8f4;
|
font-size: 30px;
|
||||||
|
height: 120px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-top: 44px;
|
||||||
|
}
|
||||||
|
.rightCount {
|
||||||
|
padding-top: 44px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
span {
|
.u-avatar {
|
||||||
flex-shrink: 1;
|
margin-right: 24px;
|
||||||
position: relative;
|
|
||||||
z-index: 1;
|
|
||||||
color: #5b84b3;
|
|
||||||
font-size: 28px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
i {
|
.content {
|
||||||
position: relative;
|
color: #333;
|
||||||
z-index: 1;
|
margin-left: 72px;
|
||||||
font-style: normal;
|
margin-top: 10px;
|
||||||
color: #5b84b3;
|
|
||||||
font-size: 28px;
|
&.color-999 {
|
||||||
|
color: #999999;
|
||||||
|
font-size: 24px;
|
||||||
|
margin-bottom: 48px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.totalCount {
|
.votePeople {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
margin-top: 16px;
|
||||||
.total {
|
height: 112px;
|
||||||
display: block;
|
padding: 0 32px 0 52px;
|
||||||
font-size: 30px;
|
background: #fff;
|
||||||
height: 120px;
|
.leftPeople {
|
||||||
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;
|
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
span {
|
||||||
|
color: #2573ff;
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user