update:更新协议pdf请求失败,协议结果未筛选bug

This commit is contained in:
2021-09-29 16:24:57 +08:00
parent 44d5f8e72b
commit effe5352e7
6 changed files with 374 additions and 486 deletions

View File

@@ -11,7 +11,7 @@ export default {
</script>
<style lang="less" scoped>
#app {
font-family: PingFangSC-Regular, PingFang SC;
font-family: pingfang, SF UI Text, Roboto;
font-size: 14px;
}
</style>

View File

@@ -1,9 +1,11 @@
import Vue from "vue";
import { Form, FormItem, Button, Card, Loading } from "element-ui";
import { Form, FormItem, Button, Card, Loading, Message } from "element-ui";
Vue.use(Form);
Vue.use(FormItem);
Vue.use(Button);
Vue.use(Card);
Vue.use(Loading);
Vue.use(Loading);
Vue.component(Message);

View File

@@ -11,261 +11,173 @@
</div>
<div class="baseInfo">
<van-image :src="require('@/assets/img/renyuanliebiao.png')" />
<span>被征收人姓名</span>
<span>{{ data.userName }}</span>
<span>被征收人姓名{{ data.userName }}</span>
</div>
<div class="baseInfo">
<van-image :src="require('@/assets/img/credentials_icon.png')" />
<span>身份证号码</span>
<span>{{ setIdCard(data.idCard) }}</span>
<span>身份证号码{{ setIdCard(data.idCard) }}</span>
</div>
<!-- 三张背景图 -->
<div class="gridBg centerMagin">
<div class="gridImg" style="background:#1897FB;">
<div class="gridBg ">
<div style="background:#1897FB;">
<van-image :src="require('@/assets/img/scan.png')" />
<span class="baseFont">扫一扫</span>
<span>扫一扫</span>
</div>
<div
@click="gotoProject('pg')"
class="gridImg"
style="background:#F1AE4B;"
>
<div @click="gotoProject('pg')" style="background:#F1AE4B;">
<van-image :src="require('@/assets/img/evaluation.png')" />
<span class="baseFont">查评估结果</span>
<span>查评估结果</span>
</div>
<div
@click="gotoProject('xy')"
class="gridImg"
style="background:#16D7ED;"
>
<div @click="gotoProject('xy')" style="background:#16D7ED;">
<van-image :src="require('@/assets/img/compensation.png')" />
<span class="baseFont">查补偿协议</span>
<span>查补偿协议</span>
</div>
</div>
</div>
<!-- 大背景图 -->
<div class="centerMagin">
<van-image :src="require('@/assets/img/government.png')" class="bigImg" />
<div>
<van-image :src="require('@/assets/img/government.png')" />
</div>
<!-- 项目内容 -->
<van-list>
<div :key="item.prjId" v-for="item in data.prjList">
<div class="project">
<!-- window图标 -->
<div>
<div class="projectIcon">
<img
src="@/assets/img/project.png"
style="width: 25px;height: 25px;"
/>
</div>
<span class="projectTitle">{{ item.name }}</span>
</div>
<!-- 补偿协议图标 -->
<div class="projectRight">
<van-image
:src="require('@/assets/img/menu_yhxy.png')"
class="projectRightIcon"
<div :key="item.prjId" v-for="item in data.prjList">
<div class="project">
<!-- window图标 -->
<div>
<div class="projectIcon">
<img
src="@/assets/img/project.png"
style="width: 25px;height: 25px;"
/>
<span class="projectRightFont">{{ item.currentState }}</span>
</div>
<span class="projectTitle">{{ item.name }}</span>
</div>
<!-- 补偿协议图标 -->
<div class="projectRight">
<van-image :src="require('@/assets/img/menu_yhxy.png')" />
<span>{{ item.currentState }}</span>
</div>
</div>
<div class="projectCenter">
<!-- 项目内容 -->
<div class="projectCenterBox">
<div>
<van-image :src="require('@/assets/img/project_area.png')" />
<span>项目所在区域{{ item.area }}</span>
</div>
<div>
<van-image :src="require('@/assets/img/project_dep.png')" />
<span>征收部门{{ item.zsbm }}</span>
</div>
<div>
<van-image :src="require('@/assets/img/project_year.png')" />
<span>所属年份{{ item.year }}</span>
</div>
<div>
<van-image :src="require('@/assets/img/project_no.png')" />
<span>征收决定号</span>
<span style="color: #3883f1">
{{ item.zsjdh }}
</span>
</div>
</div>
<div class="projectCenter centerMagin">
<!-- 项目内容 -->
<div class="projectCenterBox">
<div class="projectCenterInfo">
<div class="projectCenterInfo">
<van-image
:src="require('@/assets/img/project_area.png')"
class="projectCenterImg"
/>
<span class="projectCenterFont">项目所在区域</span>
<span class="projectCenterFont">{{ item.area }}</span>
</div>
</div>
<div class="projectCenterInfo">
<div class="projectCenterInfo">
<van-image
:src="require('@/assets/img/project_dep.png')"
class="projectCenterImg"
/>
<span class="projectCenterFont">征收部门</span>
<span class="projectCenterFont">{{ item.zsbm }}</span>
</div>
</div>
<div class="projectCenterInfo">
<div class="projectCenterInfo">
<van-image
:src="require('@/assets/img/project_year.png')"
class="projectCenterImg"
/>
<span class="projectCenterFont">所属年份</span>
<span class="projectCenterFont">{{ item.year }}</span>
</div>
</div>
<div class="projectCenterInfo">
<div class="projectCenterInfo">
<van-image
:src="require('@/assets/img/project_no.png')"
class="projectCenterImg"
/>
<span class="projectCenterFont">征收决定号</span>
<span class="projectCenterFont" style="color: #3883f1">
{{ item.zsjdh }}
</span>
</div>
</div>
<!-- 分户评估结果部分 -->
<div class="assess">
<van-image :src="require('@/assets/img/assess_1.png')" />
<span>分户评估结果</span>
</div>
<div
:key="assess.id"
@click="toEvaluate(assess.id, assess.type)"
class="assessCenter1"
v-for="assess in item.fhpgList"
>
<div>
<span>评估报告编号</span>
<span>{{ assess.assessmentNo }}</span>
</div>
<div class="centerMagin">
<!-- 分户评估结果部分 -->
<div class="assess">
<div>
<van-image
:src="require('@/assets/img/assess_1.png')"
class="assessIcon"
/>
<span class="assessTitle">分户评估结果</span>
</div>
</div>
<!-- 分户评估遍历内容 -->
<van-list>
<div
:key="assess.id"
@click="toEvaluate(assess.id, assess.type)"
class="assessCenter1"
v-for="assess in item.fhpgList"
>
<div class="assessBox">
<span class="projectCenterFont">评估报告编号</span>
<span class="projectCenterFont">{{
assess.assessmentNo
}}</span>
</div>
<div class="assessBox">
<span class="projectCenterFont">被征收房屋地址</span>
<span class="projectCenterFont protocolTitle">
{{ assess.houseAddress }}
</span>
</div>
<div class="assessBox">
<span class="projectCenterFont">评估总金额</span>
<span class="projectTitle" style="color: red"
>¥{{ assess.countValue }}</span
>
</div>
</div>
</van-list>
<!-- 补偿协议部分 -->
<div class="assess">
<div>
<van-image
:src="require('@/assets/img/assess_2.png')"
class="assessIcon"
/>
<span class="assessTitle">补偿结果</span>
</div>
</div>
<!-- 补偿协议遍历内容 -->
<van-list>
<div
:key="protocol.id"
@click="toAgreement()"
class="assessCenter2"
v-for="protocol in item.bcxyList"
>
<div class="assessBox">
<span class="projectCenterFont">协议编号</span>
<span class="projectCenterFont">{{ protocol.xyNo }}</span>
</div>
<div class="assessBox">
<span class="projectCenterFont">被征收房屋地址</span>
<span class="projectCenterFont protocolTitle">
{{ protocol.houseAddress }}
</span>
</div>
<div class="assessBox">
<span class="projectCenterFont">补偿方式</span>
<span class="projectCenterFont">
{{ protocol.switchProductionWay }}
</span>
</div>
<div class="assessBox">
<span class="projectCenterFont">合计补偿资金</span>
<span class="projectTitle" style="color: red"
>¥{{ protocol.summationShouldCompensateMoney }}</span
>
</div>
</div>
</van-list>
<div>
<span>被征收房屋地址</span>
<span class=" protocolTitle">
{{ assess.houseAddress }}
</span>
</div>
<div>
<span>评估总金额</span>
<span class="projectTitle" style="color: red"
>¥{{ assess.countValue }}</span
>
</div>
</div>
<!-- 补偿协议部分 -->
<div class="assess">
<van-image :src="require('@/assets/img/assess_2.png')" />
<span>补偿结果</span>
</div>
<div
:key="protocol.id"
@click="toAgreement(protocol.id)"
class="assessCenter2"
v-for="protocol in item.bcxyList"
>
<div>
<span>协议编号</span>
<span>{{ protocol.xyNo }}</span>
</div>
<div>
<span>被征收房屋地址</span>
<span class=" protocolTitle">
{{ protocol.houseAddress }}
</span>
</div>
<div>
<span>补偿方式</span>
<span>
{{ protocol.switchProductionWay }}
</span>
</div>
<div>
<span>合计补偿资金</span>
<span class="projectTitle" style="color: red"
>¥{{ protocol.summationShouldCompensateMoney }}</span
>
</div>
</div>
</div>
</van-list>
</div>
<!-- 征收政策背景图 -->
<div class="centerMagin">
<van-image
:src="require('@/assets/img/expropriationPolicy.png')"
class="bigImg"
/>
<div>
<van-image :src="require('@/assets/img/expropriationPolicy.png')" />
</div>
<!-- 征收政策部分 -->
<div class="centerMagin">
<span class="projectTitle" style="color: #202020">征收政策</span>
<div class="assessBox" style="padding-left: 5px; padding-right: 5px">
<span class="font11" style="color: #2c2b2b"
>{{ data.policiesRegulationsLists.totalCount }}</span
>
</div>
<div class=" zszc">
<span>征收政策</span>
<span>{{ data.policiesRegulationsLists.totalCount }}</span>
</div>
<div class="centerMagin" style="padding-bottom: 20px">
<div class="protocolBox">
<!-- 遍历内容 -->
<van-list>
<div
:key="item.id"
@click="pageJump(item.id)"
class="protocolList"
v-for="(item, i) in data.policiesRegulationsLists.list"
>
<!-- 非最后一行 -->
<div
class="protocolLine"
v-if="i != data.policiesRegulationsLists.list.length - 1"
>
<div class="font14 protocolTitle">{{ item.title }}</div>
<div
class="assessBox"
style="padding-left: 5px; padding-right: 5px"
>
<div>
<span class="font11">发布时间</span>
<span class="font11">{{ item.publicTime }}</span>
</div>
<div>
<span class="font11">区域</span>
<span class="font11">{{ item.area }}</span>
</div>
</div>
</div>
<!-- 最后一行 -->
<div style="padding-bottom: 10px" v-else>
<div class="font14 protocolTitle">{{ item.title }}</div>
<div
class="assessBox"
style="padding-left: 5px; padding-right: 5px"
>
<div>
<span class="font11">发布时间</span>
<span class="font11">{{ item.publicTime }}</span>
</div>
<div>
<span class="font11">区域</span>
<span class="font11">{{ item.area }}</span>
</div>
</div>
</div>
<div class=" protocolBox">
<div
:key="item.id"
@click="pageJump(item.id)"
class="protocolList"
v-for="(item, i) in data.policiesRegulationsLists.list"
>
<!-- 非最后一行有边框 -->
<div
style="border-bottom: 1px dashed #C9C7C7"
v-if="i != data.policiesRegulationsLists.list.length - 1"
>
<div>{{ item.title }}</div>
<div>
<span>发布时间{{ item.publicTime }}</span>
<span>区域{{ item.area }}</span>
</div>
</van-list>
</div>
<!-- 最后一行无边框 -->
<div style="padding-bottom: 10px" v-else>
<div>{{ item.title }}</div>
<div>
<span>发布时间{{ item.publicTime }}</span>
<span>区域{{ item.area }}</span>
</div>
</div>
</div>
</div>
</div>
@@ -411,9 +323,12 @@ export default {
});
},
// 直接跳转协议结果pdf
toAgreement() {
toAgreement(id) {
this.$router.push({
name: "showPdf"
name: "showPdf",
params: {
id
}
});
},
// 加载项目数统计信息
@@ -494,8 +409,14 @@ export default {
.page {
border-radius: 6px;
background: #f2fbfd;
padding-bottom: 20px;
> div:nth-child(n + 2) {
margin-top: 10px;
margin-right: 12px;
margin-left: 10px;
}
}
// 最上面盒子
.topBox {
overflow: hidden;
width: 100%;
@@ -514,239 +435,187 @@ export default {
font-family: PingFangSC-Semibold, PingFang SC;
font-size: 16px;
font-weight: 600;
color: #fff;
color: #ffffff;
}
.baseInfo {
display: flex;
.van-image {
width: 22px;
height: 21px;
padding-right: 10px;
padding-left: 31px;
}
span {
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
line-height: 20px;
height: 20px;
color: #fff;
}
}
.gridBg {
display: flex;
overflow: hidden;
align-items: center;
justify-content: space-around;
margin: 10px 12px 0 10px;
height: 120px;
border-radius: 3px;
background: rgba(255, 255, 255, 0.28);
> div {
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
width: 90px;
height: 80px;
margin: 12px 6px;
padding-top: 5px;
border-radius: 10px;
.van-image {
width: 38px;
height: 35px;
}
span {
padding-top: 5px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
line-height: 20px;
height: 20px;
color: #fff;
}
}
}
}
.baseInfo {
display: flex;
.van-image {
width: 22px;
height: 21px;
padding-right: 10px;
padding-left: 31px;
}
span {
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
line-height: 20px;
height: 20px;
color: #fff;
}
}
.baseFont {
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
line-height: 20px;
height: 20px;
color: #fff;
}
.centerMagin {
margin-top: 10px;
margin-right: 12px;
margin-left: 10px;
}
.gridBg {
display: flex;
overflow: hidden;
align-items: center;
justify-content: space-around;
height: 120px;
border-radius: 3px;
background: rgba(255, 255, 255, 0.28);
}
.gridImg {
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
width: 90px;
height: 80px;
margin: 12px 6px;
padding-top: 5px;
border-radius: 10px;
.van-image {
width: 38px;
height: 35px;
}
span {
padding-top: 5px;
}
}
.bigImg {
width: 100%;
}
// 项目部分
.project {
display: flex;
align-items: center;
justify-content: space-between;
height: 41px;
margin-top: 10px;
margin-right: 12px;
margin-left: 10px;
padding-right: 0;
padding-left: 0;
background: url(../assets/img/project_bg.png);
background-size: 100% 41px;
}
.project > div:nth-child(1) {
display: flex;
align-items: center;
width: 50%;
height: 100%;
span {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
padding: unset 0;
background: url(../assets/img/project_bg.png) no-repeat;
background-position: 0 -2px;
background-size: 100% 120%;
> div:nth-child(1) {
display: flex;
align-items: center;
width: 50%;
height: 100%;
.projectIcon {
display: flex;
align-items: center;
justify-content: center;
padding: 0 8px;
height: 100%;
margin-right: 10px;
border-radius: 5px 0 0;
background: #3284cd;
}
.projectTitle {
font-family: PingFangSC-Semibold, PingFang SC;
font-size: 16px;
font-weight: 600;
color: #fff;
}
span {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.projectRight {
display: flex;
align-items: center;
height: 27px;
opacity: 0.82;
border-radius: 13px 0 0 17px;
background: #24bca3;
.van-image {
width: 17px;
height: 17px;
margin-right: 3px;
margin-left: 8px;
}
span {
font-family: PingFangSC-Semibold, PingFang SC;
font-size: 12px;
font-weight: 600;
padding-right: 5px;
color: #fff;
}
}
}
.projectIcon {
display: flex;
align-items: center;
justify-content: center;
padding: 0 8px;
height: 100%;
margin-right: 10px;
border-radius: 5px 0 0;
background: #3284cd;
}
/* 项目名字 */
.projectTitle {
font-family: PingFangSC-Semibold, PingFang SC;
font-size: 16px;
font-weight: 600;
color: #fff;
}
.projectRight {
display: flex;
align-items: center;
height: 27px;
opacity: 0.82;
border-radius: 13px 0 0 17px;
background: #24bca3;
}
/* 项目名字旁边小字 */
.projectRightFont {
font-family: PingFangSC-Semibold, PingFang SC;
font-size: 12px;
line-height: 14px;
padding-right: 5px;
color: #fff;
}
.projectRightIcon {
width: 17px;
height: 17px;
margin-right: 3px;
margin-left: 8px;
}
.projectCenter {
/* height: 440px; */
padding-bottom: 35px;
background: #fff;
box-shadow: 0 2px 6px 1px rgba(212, 212, 212, 0.5);
}
.projectCenterBox {
padding: 8px 0;
}
.projectCenterInfo {
display: flex;
align-items: center;
padding-top: 5px;
width: 100%;
}
/* 项目内容小图标 */
.projectCenterImg {
width: 15px;
height: 15px;
padding: 0 10px;
}
/* 项目内容文字 */
.projectCenterFont {
font-family: PingFangSC-Regular, PingFang SC;
font-size: 14px;
font-weight: 400;
line-height: 20px;
/* height: 12px; */
color: #2c2b2b;
}
.assess {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
height: 25px;
padding-right: 0;
padding-left: 0;
}
.assessIcon {
width: 24px;
height: 24px;
margin-right: 10px;
vertical-align: middle;
background: #2468f2;
}
/* 分户,协议标题 */
.assessTitle {
font-family: PingFangSC-Regular, PingFang SC;
font-size: 16px;
font-weight: 400;
line-height: 20px;
height: 20px;
color: #2468f2;
}
.assessRightIcon {
width: 24px;
height: 24px;
background: #2468f2;
}
.assessBox {
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 12px;
}
.assessBox > span:nth-child(1) {
white-space: nowrap;
}
.assessCenter1 {
margin: 15px 10px;
border-left: 2px solid #24bca3;
}
.assessCenter2 {
margin: 15px 10px;
border-left: 2px solid #ff5959;
.projectCenterBox {
> div {
display: flex;
align-items: center;
padding-top: 15px;
width: 100%;
overflow: hidden;
.van-image {
width: 15px;
height: 15px;
padding: 0 10px;
}
span {
font-family: PingFangSC-Regular, PingFang SC;
font-size: 14px;
font-weight: 400;
color: #2c2b2b;
}
}
}
.assess {
display: flex;
align-items: center;
height: 25px;
padding: 20px 10px;
.van-image {
width: 24px;
height: 24px;
margin-right: 10px;
background: #2468f2;
}
span {
font-family: PingFangSC-Regular, PingFang SC;
font-size: 16px;
font-weight: 400;
color: #2468f2;
}
}
.assessCenter1 {
margin: 0px 22px;
border-left: 2px solid #24bca3;
font-weight: 400;
> div {
display: flex;
align-items: center;
justify-content: space-between;
padding: 5px 0 5px 12px;
> span:nth-child(1) {
white-space: nowrap;
}
}
}
.assessCenter2 {
margin: 0px 22px;
border-left: 2px solid #ff5959;
font-weight: 400;
> div {
display: flex;
align-items: center;
justify-content: space-between;
padding: 5px 0 5px 12px;
> span:nth-child(1) {
white-space: nowrap;
}
}
}
}
.protocolTitle {
@@ -754,39 +623,54 @@ export default {
white-space: nowrap;
text-overflow: ellipsis;
}
/* 政策的发布时间和区域 */
.font11 {
font-family: PingFangSC-Regular, PingFang SC;
font-size: 12px;
font-weight: 400;
line-height: 11px;
height: 11px;
color: #9da2a3;
// 征收政策部分
.zszc {
span {
font-size: 16px;
font-weight: 800;
color: #202020;
display: block;
}
> span:nth-child(2) {
margin: 10px 0;
color: #2c2b2b;
font-size: 12px;
}
}
.protocolBox {
border-radius: 4px;
background: #fff;
box-shadow: 0 2px 5px 0 rgba(168, 168, 168, 0.5);
}
/* .font14 {
font-family: PingFangSC-Regular, PingFang SC;
font-size: 14px;
font-weight: 400;
line-height: 20px;
height: 20px;
color: #202020;
} */
.protocolList {
padding: 20px 21px 0 20px;
}
.protocolLine {
padding-bottom: 10px;
border-bottom: 1px dashed rgba(168, 168, 168, 0.5);
.protocolList {
padding: 0 20px;
> div {
> div:nth-child(1) {
font-size: 14px;
font-weight: 400;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
width: 294px;
font-family: PingFangSC-Regular, PingFang SC;
color: #202020;
padding-top: 20px;
}
> div:nth-child(2) {
padding: unset 5px;
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 0;
span {
font-size: 12px;
color: #9da2a3;
font-weight: 400;
line-height: 11px;
height: 11px;
}
}
}
}
}
</style>

View File

@@ -61,12 +61,12 @@ export default {
.title {
text-align: center;
font-weight: bolder;
font-size: 14px;
font-size: 16px;
}
.date {
text-align: center;
margin: 10px 0;
font-size: 14px;
font-size: 16px;
}
.bottomContent {
margin-top: 10px;

View File

@@ -97,7 +97,7 @@ export default {
mounted() {},
methods: {
onInit() {
if (!window.sessionStorage.getItem("projectId")) {
if (this.$route.params.prjId) {
SetProjectId(this.$route.params.prjId);
}
let data = JSON.parse(window.sessionStorage.getItem("homeData"));

View File

@@ -134,9 +134,11 @@ export default {
this.info = res;
} else {
this.loading = false;
this.$notify({
this.$message({
message: "请求出错",
duration: 3000
duration: 3000,
type: "error",
center: true
});
}
},