Selaa lähdekoodia

task 政策法规pdf文件预览

rongxin_dev
庞东旭 5 päivää sitten
vanhempi
commit
3e97a0964e
4 muutettua tiedostoa jossa 223 lisäystä ja 1 poistoa
  1. +1
    -0
      src/permission.js
  2. +9
    -0
      src/router/index.js
  3. +1
    -1
      src/views/policy/policyDetail.vue
  4. +212
    -0
      src/views/policy/policyPDF.vue

+ 1
- 0
src/permission.js Näytä tiedosto

@@ -36,6 +36,7 @@ const whiteList = [
'/project',
'/policy',
'/policyDetail',
'/policyPDF',
'/attestationDetail',
'/noticeDetail',
'/homestead/login',


+ 9
- 0
src/router/index.js Näytä tiedosto

@@ -407,6 +407,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/policy/policyDetail'], resolve)
},
{
path: '/policyPDF',
name: 'policyPDF',
meta: {
title: '文件预览',
hidden: true,
},
component: (resolve) => require(['@/views/policy/policyPDF'], resolve)
},
{
path: '/interactionAdd',
name: 'interactionAddCJ',


+ 1
- 1
src/views/policy/policyDetail.vue Näytä tiedosto

@@ -11,7 +11,7 @@

<div v-if="attachmentQueryList.length>0">
<van-divider>附件</van-divider>
<van-cell :title="item.fileName" :url="'/api'+item.fileUrl" is-link v-for="(item,index) in attachmentQueryList">
<van-cell :title="item.fileName" :url="item.fileName.indexOf('pdf') > 0 ? '/policyPDF?url=/api'+item.fileUrl : '/api'+item.fileUrl" is-link v-for="(item,index) in attachmentQueryList">
<!-- 使用 right-icon 插槽来自定义右侧图标 -->
<template #icon>
<img src="../../assets/images/file_icon.png" style="display: block;width: 24px;margin-right: 5px;" alt="">


+ 212
- 0
src/views/policy/policyPDF.vue Näytä tiedosto

@@ -0,0 +1,212 @@
<template>
<div class="app-container">
<navBar title="文件预览" background="0" positionType="fixed"></navBar>
<pdf v-for="item in numPages" :key="item" :src="url" :page="item" ref="pdf"></pdf>
</div>
</template>

<script>
import pdf from 'vue-pdf'
import navBar from "@/components/common/nav_bar.vue";
export default {
components:{
pdf,
navBar
},
name: "programmeDetail",
data() {
return {
url:'',
numPages: null, // pdf 总页数
};
},
created() {
const baseURL = process.env.VUE_APP_BASE_API;
console.log(this.$route.query.url)
this.url = this.$route.query.url;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})

},
methods: {
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
display: flex;
align-items: center;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
text-align: left;
font-size: .4rem;
}
}
&:first-child{
background: transparent;
}
}
}
.header_main{
height: 116px;
background: url('../../../static/images/lawEnforcement/new/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
z-index: 999;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
width: 56.4px;
height: 40.8px;
background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}
}
/deep/ .van-radio--horizontal{
margin-left: 0.32rem;
margin-right: 0;
}
.peopleList{
padding: 0 3%;
text-align: left;
.van-row{
border-bottom: 1px solid #dddddd;
display: flex;
align-items: center;
&:last-child{
border: none;
}
.van-col--17{
display: flex;
align-items: center;
p{
margin-left: 10PX;
}
}
.van-col--7{
display: flex;
justify-content: space-between;
p{
color: #1D6FE9;
border: 1px solid #1D6FE9;
text-align: center;
border-radius: 15PX;
display: inline-block;
padding: 5px 15px;
}
}
.van-col{
text-align: left;
font-size: 14PX;
color: #333333;
padding: 15PX 0;
img{
display: block;
}
}
}
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
.van-icon{
vertical-align: middle;
}
.custom-title{
font-size: 17PX;
color: #333333;
vertical-align: middle;
line-height: 1;
position: relative;
}
.tap{
color: #1D6FE9;
}
.bgBlue{
display: block;
position: absolute;
width: 17PX;
height: 17PX;
border-radius: 50%;
background-color: rgba(29,111,233,0.26);
top: -2PX;
right: -8PX;
}
}
.submitButton{
width: 40%;
margin: 0 auto;
background-image: linear-gradient(to right, #77A6EF , #2E79E9);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
&:first-child{
background-image: linear-gradient(to right, #21CAC3 , #17A8A2);
}
}
.submit_box{
display: flex;
align-items: center;
justify-content: space-around;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}

</style>

Ladataan…
Peruuta
Tallenna