26546 eslint

This commit is contained in:
花有清香月有阴
2022-01-10 10:04:14 +08:00
parent 2e1231376d
commit cf8237de2e

View File

@@ -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;
}
} }
} }
} }