Files
jiace-web/src/views/result.vue
2021-08-20 17:36:05 +08:00

437 lines
11 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<!-- 预览弹出层 -->
<div class="result_page">
<el-backtop target=".result_page" :visibility-height="500"></el-backtop>
<div class="my_header">
<div class="title content p0-100">
<el-row :gutter="20">
<el-col :span="8">
<!-- <span>嘉策科技创新服务平台</span> -->
<img
src="@/assets/logo/logo2.png"
alt=""
style="vertical-align: middle;"
/>
</el-col>
<el-col :span="16">
<el-row
style="justify-content: flex-end;height: 100%;align-items: center;padding-right: 30px;"
>
<el-col :span="8">
<div class="search">
<el-input
v-model.trim="input"
placeholder="请输入搜索关键字"
@keyup.enter.native="toSearch"
></el-input>
<el-button type="warning" @click="toSearch">一站搜</el-button>
</div>
</el-col>
</el-row>
</el-col>
<!-- <el-col :span="8" style="text-align: right">
<span
>服务热线<span style="color: #ffa32c">400-0507-580</span></span
>
</el-col> -->
</el-row>
</div>
</div>
<div class="my_main content p0-100" style="display: flex">
<div class="l" style="width: 75%; background-color: #fff; padding: 30px">
<h2>{{ formData.title }}</h2>
<div class="info" v-if="type != 'information'">
<span v-if="type != 'companyNeed' && type != 'scienceResult'"
>来源{{ formData.source }}</span
>
<span v-if="type == 'companyNeed'">价格{{ formData.price }}</span>
<el-image
v-if="type == 'scienceResult'"
style="width: 100px; height: 100px"
:src="formData.picList ? formData.picList[0] : ''"
fit="cover"
:preview-src-list="formData.picList"
></el-image>
<span
>发布{{
formData.listDate || parseTime(formData.createTime, '{y}-{m}-{d}')
}}</span
>
<span v-if="token && type == 'policy'">
<el-button
type="primary"
size="mini"
v-if="formData.collected == 0"
@click="addItem"
>
<i class="el-icon-star-on"></i><span>收藏</span>
</el-button>
<el-button
type="info"
size="mini"
v-if="formData.collected == 1"
@click="cancelItem"
>
<i class="el-icon-star-on"></i><span>取消收藏</span>
</el-button>
</span>
</div>
<!-- <div v-html="formData.text"></div> -->
<div id="text">
<!-- <editor v-model="formData.text" :min-height="192" /> -->
<div v-html="formData.text" />
</div>
</div>
<div
class="r"
style="
width: 24%;
margin-left: 1%;
background-color: #fff;
padding: 20px 10px;
"
>
<!-- 公告模块 -->
<div class="notice">
<div class="title">
<div>通知公告</div>
<router-link target="_blank" :to="{ path: '/notice' }">
<div class="pointer" style="color: #999">
更多<i class="el-icon-arrow-right"></i>
</div>
</router-link>
</div>
<div class="list">
<ul>
<li
class="text_hidden_one pointer"
v-for="item in noticeList"
:key="item.id"
>
<router-link
target="_blank"
:to="{
path: '/result',
query: { key: 'policy', id: item.id }
}"
>
<span></span>{{ item.title }}
</router-link>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="my_footer">
<div style="height: 4px; background: #ffa32c"></div>
<div class="footer_one content">
<p>
<span>
<i><img src="@/assets/image/icon1.png" alt=""/></i>
总浏览量{{ total.count }}</span
>
<span>
<i><img src="@/assets/image/icon1.png" alt=""/></i>
今日浏览{{ total.today }}</span
>
</p>
<div class="footer_two">
<div class="footer_left">
<div class="footer_left_one">
<span class="footer_left_l">版权声明</span>
<span class="footer_left_r">
<i><img src="@/assets/image/icon3.png" alt=""/></i>
客服热线(周一至周五8:30-18:00)
</span>
</div>
<div class="footer_left_two">
<span class="footer_left_l">用户协议</span>
</div>
<div class="footer_left_three">
<span class="footer_left_l">意见反馈</span>
<span class="footer_left_r">
<i><img src="@/assets/image/icon2.png" alt=""/></i>
公司地址安徽省合肥市蜀山区黄山市601号412-414
</span>
</div>
</div>
<div class="footer_right">
<div class="item">
<img src="@/assets/image/wx.jpg" alt="" />
<div>嘉策公众号</div>
</div>
<div class="item">
<img src="@/assets/image/qq.jpg" alt="" />
<div>QQ群</div>
</div>
</div>
</div>
<div class="footer_three">
<div>
<span>商务合作</span>
<span>政策服务</span>
<span>在线解答</span>
</div>
<p>版权服务合肥嘉策信息技术服务有限公司 皖ICP备45619723号</p>
</div>
</div>
</div>
</div>
</template>
<script>
import {
search,
getPolicyInfo,
getPolicyReadInfo,
getInfo,
getInfo2,
getInfo3
} from '@/api/search';
import { getPolicyList, getRead } from '@/api/home/notice';
import { mapGetters } from 'vuex';
import { add, cancel } from '@/api/search';
import Editor from '@/components/Editor';
export default {
components: {
Editor
},
data() {
return {
input: '',
type: '',
formData: {},
noticeList: [],
total: {}
};
},
watch: {
formData: {
handler: function() {
this.$nextTick(() => {
this.formatRichText(this.formData.downloadUrl, this.formData.id);
});
}
},
deep: true
},
computed: {
...mapGetters(['token'])
},
methods: {
toSearch() {
if (!this.input.length) return this.msgError('请输入搜索关键字');
let routerJump = this.$router.resolve({
path: '/search',
query: { val: this.input }
});
window.open(routerJump.href, '_blank');
},
addItem() {
add({ policyId: this.formData.id }).then(res => {
this.formData.collected = 1;
this.msgSuccess('操作成功');
});
},
cancelItem() {
cancel({ policyId: this.formData.id }).then(res => {
this.formData.collected = 0;
this.msgSuccess('操作成功');
});
}
},
created() {
let { key, id } = this.$route.query;
this.type = key;
if (this.type == 'policy') {
// 政策
getPolicyInfo({ policyId: id }).then(({ data }) => {
this.formData = data;
});
} else if (this.type == 'policyRead') {
// 政策解读
getPolicyReadInfo({ readId: id }).then(({ data }) => {
this.formData = data;
});
} else if (this.type == 'information') {
// 资讯快报
getInfo({ id }).then(({ data }) => {
this.formData = data;
});
} else if (this.type == 'companyNeed') {
// 企业需求
getInfo2({ id }).then(({ data }) => {
this.formData = data;
});
} else if (this.type == 'scienceResult') {
// 科学成功
getInfo3({ id }).then(({ data }) => {
this.formData = data;
});
}
getRead({ id }).then(({ data }) => {
this.total = data;
});
getPolicyList({ pageNum: 1, pageSize: 5 }).then(({ data }) => {
this.noticeList = data.list;
});
}
};
</script>
<style lang="scss" scoped>
/deep/.el-dialog__body {
padding-top: 0;
}
.result_page {
height: 100vh;
overflow: auto;
background-color: #f1f1f1;
.info {
display: flex;
justify-content: space-between;
}
#text {
margin-top: 30px;
/deep/.ql-toolbar {
display: none;
}
/deep/.editor {
border: 0;
}
}
.my_header {
position: fixed;
z-index: 1;
width: 100%;
height: 48px;
line-height: 48px;
background: #3d3e3e;
.title {
color: #fff;
.el-row {
display: flex;
.search {
align-items: center;
display: flex;
height: 30px;
overflow: hidden;
/deep/input {
color: #fff;
border-left: 0;
border-right: 0;
border-radius: 6px 0 0 6px;
background-color: rgba(255, 255, 255, 0.2);
}
.el-button {
height: 30px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
background-color: #ffa32c;
font-size: 16px;
padding: 0 16px;
}
}
}
}
}
.my_main {
padding-top: 70px;
.r {
.title {
display: flex;
justify-content: space-between;
}
.list {
ul {
padding-left: 0;
line-height: 35px;
li {
color: #999;
span {
margin-right: 5px;
}
&:hover {
color: #ffa32c;
}
}
}
}
}
}
.my_footer {
margin-top: 30px;
background-color: #fff;
.footer_one {
p {
text-align: center;
font-size: 14px;
color: #666;
span {
i {
margin-right: 3px;
img {
vertical-align: middle;
}
}
}
span:nth-child(2) {
margin-left: 40px;
}
}
}
.footer_two {
border-bottom: 1px solid #dcdcdc;
display: flex;
justify-content: space-between;
align-items: center;
.footer_left {
padding: 50px 0;
.footer_left_two {
margin: 20px 0;
}
.footer_left_l {
font-size: 18px;
color: #333;
margin-right: 30px;
}
.footer_left_r {
i {
img {
vertical-align: middle;
}
}
}
}
.footer_right {
display: flex;
.item {
font-size: 18px;
color: #333;
margin-right: 50px;
text-align: center;
}
}
}
.footer_three {
text-align: center;
padding: 36px 0;
div {
font-size: 16px;
color: #3394ff;
span:nth-child(2) {
margin: 0 39px;
}
}
p {
font-size: 14px;
color: #333;
}
}
}
}
</style>