|
@@ -2,7 +2,7 @@
|
|
<div class="container-cygx" v-show="haveData" :class="reportInfo.IsResearch ? 'no-cv' : ''">
|
|
<div class="container-cygx" v-show="haveData" :class="reportInfo.IsResearch ? 'no-cv' : ''">
|
|
<canvas id="tutorial" ref="tutorial"></canvas>
|
|
<canvas id="tutorial" ref="tutorial"></canvas>
|
|
<div class="search" v-if="from_type == 'mpwechat'">
|
|
<div class="search" v-if="from_type == 'mpwechat'">
|
|
- <div class="search-box" @click="btnSearch" >
|
|
|
|
|
|
+ <div class="search-box" @click="btnSearch">
|
|
<Icon name="search" color="#8D8D8D" />
|
|
<Icon name="search" color="#8D8D8D" />
|
|
<span>搜索您想要的{{ reportInfo.IsBelongSummary ? "纪要" : "产业资源包" }}</span>
|
|
<span>搜索您想要的{{ reportInfo.IsBelongSummary ? "纪要" : "产业资源包" }}</span>
|
|
</div>
|
|
</div>
|
|
@@ -11,17 +11,30 @@
|
|
<div class="content-top">
|
|
<div class="content-top">
|
|
<div class="report-title">{{ reportInfo.Title }}</div>
|
|
<div class="report-title">{{ reportInfo.Title }}</div>
|
|
<div class="report-text">
|
|
<div class="report-text">
|
|
- <div class="report_desc">
|
|
|
|
- <span class="author">{{ reportInfo.Department }}</span>
|
|
|
|
- <span>{{ reportInfo.PublishDate }}</span>
|
|
|
|
- </div>
|
|
|
|
- <div class="seller-list" v-if="!reportInfo.IsResearch">
|
|
|
|
- <span>联系人:</span>
|
|
|
|
- <span v-for="(item, index) in reportInfo.SellerList" :key="index"> {{ item.SellerName }}({{ item.SellerMobile }}) </span>
|
|
|
|
- </div>
|
|
|
|
- <div class="seller-list" v-else>
|
|
|
|
- <span>作者:{{ reportInfo.SellerAndMobile }} </span>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <template v-if="!reportInfo.IsResearch">
|
|
|
|
+ <div class="report_desc">
|
|
|
|
+ <span class="author">{{ reportInfo.Department }}</span>
|
|
|
|
+ <span>{{ reportInfo.PublishDate }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="seller-list">
|
|
|
|
+ <span>联系人:</span>
|
|
|
|
+ <span v-for="(item, index) in reportInfo.SellerList" :key="index"> {{ item.SellerName }}({{ item.SellerMobile }}) </span>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <template v-else>
|
|
|
|
+ <div class="report-research">
|
|
|
|
+ <div style="display: flex">
|
|
|
|
+ <img :src="reportInfo.DepartmentImgUrl" />
|
|
|
|
+ <div class="research-author">
|
|
|
|
+ <p>{{ reportInfo.SellerAndMobile }}</p>
|
|
|
|
+ <p class="time">{{ reportInfo.PublishDate }}</p>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div @click="attentionBtn" class="is-follow" :class="reportInfo.IsFollow ? 'follow-cancel' : ''">
|
|
|
|
+ {{ reportInfo.IsFollow ? "取消关注" : "+ 关注" }}
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
<div>注:请务必阅读<span class="tip" @click="showTips = true"> 免责声明</span></div>
|
|
<div>注:请务必阅读<span class="tip" @click="showTips = true"> 免责声明</span></div>
|
|
<div class="container-abstract"> 摘要: {{ reportInfo.Abstract }}</div>
|
|
<div class="container-abstract"> 摘要: {{ reportInfo.Abstract }}</div>
|
|
</div>
|
|
</div>
|
|
@@ -30,9 +43,29 @@
|
|
报告全文:
|
|
报告全文:
|
|
<span style="color: #0808e5" @click="downloadFile">(PDF格式报告下载.pdf)</span>
|
|
<span style="color: #0808e5" @click="downloadFile">(PDF格式报告下载.pdf)</span>
|
|
</div>
|
|
</div>
|
|
- <div class="detail-report">
|
|
|
|
|
|
+ <div class="detail-report" :class="reportInfo.IsResearch ? '' : 'detail-bottom'">
|
|
<div id="report-content" v-html="reportInfo.Body"></div>
|
|
<div id="report-content" v-html="reportInfo.Body"></div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div class="host-collect" v-if="reportInfo.IsResearch">
|
|
|
|
+ <h4>相关热门收藏:</h4>
|
|
|
|
+ <div class="host-content" v-for="item in reportResearch" :key="item.ArticleId">
|
|
|
|
+ <p class="host-title">{{ item.Title }}</p>
|
|
|
|
+ <div class="item-more">
|
|
|
|
+ <p @click="goDetail(item)">{{ item.PublishDate }}</p>
|
|
|
|
+ <div class="pv-ollect">
|
|
|
|
+ <div>
|
|
|
|
+ <img class="pv" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/examine_icon.png" />
|
|
|
|
+ {{ item.Pv }}
|
|
|
|
+ </div>
|
|
|
|
+ <div @click="collectClick(item)">
|
|
|
|
+ <img v-if="item.IsCollect" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/collect_act.png" />
|
|
|
|
+ <img v-else src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/collect_ico.png" />
|
|
|
|
+ {{ item.CollectNum }}人收藏
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div class="btn-returntop">
|
|
<div class="btn-returntop">
|
|
<img src="~@/assets/cygx/returntop.png" @click="scrolltop" style="width: 40px" />
|
|
<img src="~@/assets/cygx/returntop.png" @click="scrolltop" style="width: 40px" />
|
|
@@ -48,12 +81,11 @@
|
|
<img src="@/assets/cygx/quiz_ico.png" class="img_ico" />
|
|
<img src="@/assets/cygx/quiz_ico.png" class="img_ico" />
|
|
<div>提问</div>
|
|
<div>提问</div>
|
|
</div>
|
|
</div>
|
|
- <div class="handle-item" @click="attentionBtn" v-if="reportInfo.IsResearch">
|
|
|
|
|
|
+ <!-- <div class="handle-item" @click="attentionBtn" v-if="reportInfo.IsResearch">
|
|
<img src="@/assets/cygx/attention_act.png" class="img_ico" v-if="reportInfo.IsFollow" />
|
|
<img src="@/assets/cygx/attention_act.png" class="img_ico" v-if="reportInfo.IsFollow" />
|
|
<img src="@/assets/cygx/attention_ico.png" class="img_ico" v-else />
|
|
<img src="@/assets/cygx/attention_ico.png" class="img_ico" v-else />
|
|
<div>{{ `${reportInfo.FollowNum}人关注` }}</div>
|
|
<div>{{ `${reportInfo.FollowNum}人关注` }}</div>
|
|
- </div>
|
|
|
|
-
|
|
|
|
|
|
+ </div> -->
|
|
<div class="handle-item" @click="collectHandle">
|
|
<div class="handle-item" @click="collectHandle">
|
|
<img src="@/assets/cygx/collect_act.png" class="img_ico" v-if="reportInfo.IsCollect" />
|
|
<img src="@/assets/cygx/collect_act.png" class="img_ico" v-if="reportInfo.IsCollect" />
|
|
<img src="@/assets/cygx/collect_ico.png" class="img_ico" v-else />
|
|
<img src="@/assets/cygx/collect_ico.png" class="img_ico" v-else />
|
|
@@ -77,6 +109,7 @@ const router = useRouter();
|
|
const route = useRoute();
|
|
const route = useRoute();
|
|
const state = reactive({
|
|
const state = reactive({
|
|
reportInfo: {},
|
|
reportInfo: {},
|
|
|
|
+ reportResearch: [],
|
|
});
|
|
});
|
|
const rerportId = ref(null);
|
|
const rerportId = ref(null);
|
|
const from_type = ref(null);
|
|
const from_type = ref(null);
|
|
@@ -145,6 +178,13 @@ const applyHandle = () => {
|
|
const scrolltop = () => {
|
|
const scrolltop = () => {
|
|
document.body.scrollTop = document.documentElement.scrollTop = 0;
|
|
document.body.scrollTop = document.documentElement.scrollTop = 0;
|
|
};
|
|
};
|
|
|
|
+/* 文章相关热门 */
|
|
|
|
+const researcharticleHotList = async () => {
|
|
|
|
+ const res = await RaiApi.researcharticleHotList({ ArticleId: Number(rerportId.value) });
|
|
|
|
+ if (res.Ret === 200) {
|
|
|
|
+ state.reportResearch = res.Data.List || [];
|
|
|
|
+ }
|
|
|
|
+};
|
|
//关注作者事件
|
|
//关注作者事件
|
|
const attentionBtn = () => {
|
|
const attentionBtn = () => {
|
|
RaiApi.fllowDepartment({
|
|
RaiApi.fllowDepartment({
|
|
@@ -204,6 +244,21 @@ const collectHandle = () => {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
};
|
|
};
|
|
|
|
+/* 文章相关热门挑战 */
|
|
|
|
+const goDetail = (item) => {
|
|
|
|
+ wx.miniProgram.navigateTo({
|
|
|
|
+ url: "/pageMy/reportDetail/reportDetail?id=" + item.ArticleId,
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+/* 文章相关热门收藏 */
|
|
|
|
+const collectClick = async (item) => {
|
|
|
|
+ const res = await RaiApi.collectRpt({ ArticleId: item.ArticleId });
|
|
|
|
+ if (res.Ret === 200) {
|
|
|
|
+ item.IsCollect = !item.IsCollect;
|
|
|
|
+ item.IsCollect ? (item.CollectNum += 1) && Toast("收藏成功") : (item.CollectNum -= 1);
|
|
|
|
+ !item.IsCollect && Toast("已取消收藏");
|
|
|
|
+ }
|
|
|
|
+};
|
|
/* 复制 */
|
|
/* 复制 */
|
|
const copyMonitor = () => {
|
|
const copyMonitor = () => {
|
|
RaiApi.pageHistoryCopy({
|
|
RaiApi.pageHistoryCopy({
|
|
@@ -257,12 +312,12 @@ const getReport = (id, token, type) => {
|
|
if (state.reportInfo.IsResearch || state.reportInfo.IsBelongSummary) {
|
|
if (state.reportInfo.IsResearch || state.reportInfo.IsBelongSummary) {
|
|
waterMark(res.Data.Mobile);
|
|
waterMark(res.Data.Mobile);
|
|
}
|
|
}
|
|
- $(document).on("click", "#report-content img", function(event) {
|
|
|
|
|
|
+ $(document).on("click", "#report-content img", function (event) {
|
|
let imgArray = [];
|
|
let imgArray = [];
|
|
let src_tag = $(this).attr("src");
|
|
let src_tag = $(this).attr("src");
|
|
let parent_tag = $(this).parent();
|
|
let parent_tag = $(this).parent();
|
|
if (src_tag && !parent_tag.attr("href")) {
|
|
if (src_tag && !parent_tag.attr("href")) {
|
|
- $("#report-content img").each(function(index, el) {
|
|
|
|
|
|
+ $("#report-content img").each(function (index, el) {
|
|
let itemSrc = $(this).attr("src");
|
|
let itemSrc = $(this).attr("src");
|
|
imgArray.push(itemSrc);
|
|
imgArray.push(itemSrc);
|
|
});
|
|
});
|
|
@@ -281,12 +336,12 @@ const getReport = (id, token, type) => {
|
|
if (res.Data.HasPermission === 1) {
|
|
if (res.Data.HasPermission === 1) {
|
|
//有访问权限
|
|
//有访问权限
|
|
state.reportInfo = res.Data.Detail;
|
|
state.reportInfo = res.Data.Detail;
|
|
- $(document).on("click", "#report-content img", function(event) {
|
|
|
|
|
|
+ $(document).on("click", "#report-content img", function (event) {
|
|
let imgArray = [];
|
|
let imgArray = [];
|
|
let src_tag = $(this).attr("src");
|
|
let src_tag = $(this).attr("src");
|
|
let parent_tag = $(this).parent();
|
|
let parent_tag = $(this).parent();
|
|
if (src_tag && !parent_tag.attr("href")) {
|
|
if (src_tag && !parent_tag.attr("href")) {
|
|
- $("#report-content img").each(function(index, el) {
|
|
|
|
|
|
+ $("#report-content img").each(function (index, el) {
|
|
let itemSrc = $(this).attr("src");
|
|
let itemSrc = $(this).attr("src");
|
|
imgArray.push(itemSrc);
|
|
imgArray.push(itemSrc);
|
|
});
|
|
});
|
|
@@ -310,262 +365,12 @@ onMounted(() => {
|
|
copyMonitor();
|
|
copyMonitor();
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
+ researcharticleHotList();
|
|
}
|
|
}
|
|
});
|
|
});
|
|
-const { reportInfo } = toRefs(state);
|
|
|
|
|
|
+const { reportInfo, reportResearch } = toRefs(state);
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
<style lang="scss">
|
|
-.container-cygx {
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- width: 1200px;
|
|
|
|
- margin: 0 auto;
|
|
|
|
- }
|
|
|
|
- padding: 54px 34px 34px 34px;
|
|
|
|
- position: relative;
|
|
|
|
- z-index: 5;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- padding: 25PX 17PX 17PX;
|
|
|
|
- }
|
|
|
|
- .z-index-content {
|
|
|
|
- position: relative;
|
|
|
|
- z-index: 5;
|
|
|
|
- }
|
|
|
|
- .search {
|
|
|
|
- width: 100%;
|
|
|
|
- padding: 20px 20px;
|
|
|
|
- line-height: 70px;
|
|
|
|
- position: fixed;
|
|
|
|
- top: 0;
|
|
|
|
- left: 0;
|
|
|
|
- background: #fff;
|
|
|
|
- z-index: 9;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- padding: 10PX 10PX;
|
|
|
|
- line-height: 35PX;
|
|
|
|
- }
|
|
|
|
- .search-box {
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- padding-left: 20px;
|
|
|
|
- width: 100%;
|
|
|
|
- height: 70px;
|
|
|
|
- border-radius: 35px;
|
|
|
|
- background: #f6f6f6;
|
|
|
|
- color: #8d8d8d;
|
|
|
|
- font-size: 24px;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- padding-left: 10PX;
|
|
|
|
- height: 25PX;
|
|
|
|
- border-radius: 18PX;
|
|
|
|
- font-size: 12PX;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .content-top {
|
|
|
|
- .report-title {
|
|
|
|
- font-size: 34px;
|
|
|
|
- font-weight: bold;
|
|
|
|
- color: #4a4a4a;
|
|
|
|
- margin: 60px 0 20px;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- margin: 20PX 0 10PX;
|
|
|
|
- font-size: 18PX;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .report-text {
|
|
|
|
- color: #999999;
|
|
|
|
- font-size: 28px;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- font-size: 14PX;
|
|
|
|
- }
|
|
|
|
- .seller-list {
|
|
|
|
- margin: 20px 0;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- margin: 10PX 0;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .report_desc {
|
|
|
|
- display: flex;
|
|
|
|
- justify-content: space-between;
|
|
|
|
- }
|
|
|
|
- .tip {
|
|
|
|
- color: #3385ff;
|
|
|
|
- }
|
|
|
|
- .container-abstract {
|
|
|
|
- margin: 40px 0 20px;
|
|
|
|
- padding-bottom: 40px;
|
|
|
|
- border-bottom: 2px dashed #999;
|
|
|
|
- position: relative;
|
|
|
|
- line-height: 44px;
|
|
|
|
- color: #333;
|
|
|
|
- &::before {
|
|
|
|
- content: "";
|
|
|
|
- position: absolute;
|
|
|
|
- top: 0;
|
|
|
|
- left: 0;
|
|
|
|
- width: 8px;
|
|
|
|
- height: 44px;
|
|
|
|
- background: #2a65f5;
|
|
|
|
- }
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- margin: 20PX 0 10PX;
|
|
|
|
- padding-bottom: 20PX;
|
|
|
|
- border-bottom: 1PX dashed #999;
|
|
|
|
- position: relative;
|
|
|
|
- line-height: 22PX;
|
|
|
|
- &::before {
|
|
|
|
- content: "";
|
|
|
|
- position: absolute;
|
|
|
|
- top: 0;
|
|
|
|
- left: 0;
|
|
|
|
- width: 4PX;
|
|
|
|
- height: 22PX;
|
|
|
|
- background: #2a65f5;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .report-link {
|
|
|
|
- font-size: 28px;
|
|
|
|
- line-height: 80px;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- font-size: 14PX;
|
|
|
|
- line-height: 40PX;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .detail-report {
|
|
|
|
- padding-bottom: 130px;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- padding-bottom: 65PX;
|
|
|
|
- font-size: 14PX !important;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- p,
|
|
|
|
- span {
|
|
|
|
- font-size: 28px !important;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- font-size: 14PX !important;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- img {
|
|
|
|
- width: 100% !important;
|
|
|
|
- }
|
|
|
|
- a {
|
|
|
|
- color: #333;
|
|
|
|
- }
|
|
|
|
- table {
|
|
|
|
- border-collapse: collapse;
|
|
|
|
- width: 100% !important;
|
|
|
|
- margin-left: 0 !important;
|
|
|
|
- }
|
|
|
|
- tr td,
|
|
|
|
- th {
|
|
|
|
- border: 1px solid #333;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- font-size: 1PX !important;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- pre {
|
|
|
|
- width: 100%;
|
|
|
|
- overflow-y: auto;
|
|
|
|
- overflow-x: hidden;
|
|
|
|
- outline: none;
|
|
|
|
- border: 0;
|
|
|
|
- white-space: pre-wrap;
|
|
|
|
- word-break: normal;
|
|
|
|
- }
|
|
|
|
- .btn-returntop {
|
|
|
|
- position: fixed;
|
|
|
|
- right: 40px;
|
|
|
|
- bottom: 290px;
|
|
|
|
- width: 88px;
|
|
|
|
- height: 88px;
|
|
|
|
- z-index: 10;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- right: 20PX;
|
|
|
|
- bottom: 145PX;
|
|
|
|
- width: 44PX;
|
|
|
|
- height: 44PX;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .fixed_cont {
|
|
|
|
- position: fixed;
|
|
|
|
- bottom: 0;
|
|
|
|
- left: 0;
|
|
|
|
- right: 0;
|
|
|
|
- display: flex;
|
|
|
|
- justify-content: space-around;
|
|
|
|
- border-top: 1px solid #ddd;
|
|
|
|
- padding-bottom: calc(5px + constant(safe-area-inset-bottom));
|
|
|
|
- padding-bottom: calc(5px + env(safe-area-inset-bottom));
|
|
|
|
- background-color: #fff;
|
|
|
|
- z-index: 9;
|
|
|
|
- box-sizing: border-box;
|
|
|
|
- .handle-item {
|
|
|
|
- padding-top: 14px;
|
|
|
|
- text-align: center;
|
|
|
|
- line-height: 33px;
|
|
|
|
- font-size: 20px;
|
|
|
|
- color: #888888;
|
|
|
|
-
|
|
|
|
- img {
|
|
|
|
- width: 44px;
|
|
|
|
- height: 44px;
|
|
|
|
- padding: 0;
|
|
|
|
- margin: 0;
|
|
|
|
- }
|
|
|
|
- div {
|
|
|
|
- padding: 0;
|
|
|
|
- margin: 0;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-.no-cv {
|
|
|
|
- -webkit-user-select: none;
|
|
|
|
- -khtml-user-select: none;
|
|
|
|
- -moz-user-select: none;
|
|
|
|
- -ms-user-select: none;
|
|
|
|
- user-select: none;
|
|
|
|
-}
|
|
|
|
-#tutorial {
|
|
|
|
- position: absolute;
|
|
|
|
- top: 0;
|
|
|
|
- left: 0;
|
|
|
|
- z-index: 1;
|
|
|
|
- width: 100%;
|
|
|
|
- height: 100%;
|
|
|
|
- opacity: 0.1;
|
|
|
|
- // transform: translateX(130px) rotate(-38deg);
|
|
|
|
-}
|
|
|
|
-.van-dialog--round-button .van-dialog__footer {
|
|
|
|
- border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
|
|
|
|
- padding: 0 !important;
|
|
|
|
- .van-button--warning {
|
|
|
|
- color: #333 !important;
|
|
|
|
- border-right: 1px solid rgba(0, 0, 0, 0.1) !important;
|
|
|
|
- }
|
|
|
|
- .van-button--danger {
|
|
|
|
- color: #3385ff !important;
|
|
|
|
- }
|
|
|
|
- .van-button--warning,
|
|
|
|
- .van-button--danger {
|
|
|
|
- height: 80px !important;
|
|
|
|
- border-radius: 0 !important;
|
|
|
|
- }
|
|
|
|
- .van-goods-action-button--first {
|
|
|
|
- border-right: 1px solid rgba(0, 0, 0, 0.1) !important;
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-.van-icon-search {
|
|
|
|
- font-size: 28px;
|
|
|
|
- margin-right: 10px;
|
|
|
|
- @media screen and (min-width:790px) {
|
|
|
|
- font-size: 14PX;
|
|
|
|
- margin-right: 5PX;
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
|
|
+@import "./index.scss";
|
|
</style>
|
|
</style>
|