Files
zsxt_nbzs_h5/FrontCode2/sunshine_levy/src/views/index.vue
2021-10-09 11:26:47 +08:00

747 lines
20 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="page"
v-loading="loading"
element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading"
>
<div class="topBox">
<div class="titleBox">
被征收人信息查询
</div>
<div class="baseInfo">
<van-image :src="require('@/assets/img/renyuanliebiao.png')" />
<span>被征收人姓名{{ data.userName }}</span>
</div>
<div class="baseInfo">
<van-image :src="require('@/assets/img/credentials_icon.png')" />
<span>身份证号码{{ setIdCard(data.idCard) }}</span>
</div>
<!-- 三张背景图 -->
<div class="gridBg ">
<div style="background:#1897FB;">
<van-image :src="require('@/assets/img/scan.png')" />
<span>扫一扫</span>
</div>
<div @click="gotoProject('pg')" style="background:#F1AE4B;">
<van-image :src="require('@/assets/img/evaluation.png')" />
<span>查评估结果</span>
</div>
<div @click="gotoProject('xy')" style="background:#16D7ED;">
<van-image :src="require('@/assets/img/compensation.png')" />
<span>查补偿协议</span>
</div>
</div>
</div>
<!-- 大背景图 -->
<div>
<van-image :src="require('@/assets/img/government.png')" />
</div>
<!-- 项目内容 -->
<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')" />
<span>{{ item.currentState }}</span>
</div>
</div>
<div class="projectCenter">
<!-- 项目内容 -->
<div class="projectCenterBox">
<div>
<img src="@/assets/img/project_area.png" />
<span>项目所在区域{{ item.area }}</span>
</div>
<div>
<img src="@/assets/img/project_dep.png" />
<span>征收部门{{ item.zsbm }}</span>
</div>
<div>
<img src="@/assets/img/project_year.png" />
<span>所属年份{{ item.year }}</span>
</div>
<div>
<img src="@/assets/img/project_no.png" />
<span>征收决定号</span>
<span 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>
<span>被征收房屋地址</span>
<span>
{{ assess.houseAddress }}
</span>
</div>
<div>
<span>评估总金额</span>
<span class="projectTitle" style="color: red"
>¥{{ assess.countValue }}</span
>
</div>
</div>
<!-- 补偿协议部分 -->
<div class="assess2">
<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>
{{ 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>
</div>
<!-- 征收政策背景图 -->
<div>
<van-image :src="require('@/assets/img/expropriationPolicy.png')" />
</div>
<!-- 征收政策部分 -->
<div class=" zszc">
<span>征收政策</span>
<span>{{ data.policiesRegulationsLists.totalCount }}</span>
</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>
</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>
</template>
<script>
import { apis } from "@/common/apis";
import { mgop } from "@aligov/jssdk-mgop";
import { SetTicket } from "@/common/util//tools";
import $ from "jquery";
export default {
name: "home",
data() {
return {
loading: false,
data: {
idCard: "加载中...",
userName: "加载中...",
policiesRegulationsLists: {
totalCount: 0,
list: [
{ title: "无数据", publicTime: "无数据", area: "无数据" },
{ title: "无数据", publicTime: "无数据", area: "无数据" },
{ title: "无数据", publicTime: "无数据", area: "无数据" }
]
},
prjList: [
{
name: "请求出错暂时没有可用数据",
currentState: "无数据",
area: "宁波市房屋建设和建筑管理局办公室",
zsbm: "无数据",
year: "无数据",
zsjdh: "无数据",
fhpgList: [
{
assessmentNo: "宁波市房屋建设和建筑管理局办公室",
houseAddress: "宁波市房屋建设和建筑管理局办公室",
countValue: "无数据"
},
{
assessmentNo: "宁波市房屋建设和建筑管理局办公室",
houseAddress: "宁波市房屋建设和建筑管理局办公室",
countValue: "无数据"
}
],
bcxyList: [
{
xyNo: "无数据",
houseAddress: "宁波市房屋建设和建筑管理局办公室",
switchProductionWay: "无数据",
summationShouldCompensateMoney: "无数据"
},
{
xyNo: "无数据",
houseAddress: "宁波市房屋建设和建筑管理局办公室",
switchProductionWay: "无数据",
summationShouldCompensateMoney: "无数据"
}
]
},
{
name: "请求出错",
currentState: "无数据",
area: "无数据",
zsbm: "无数据",
year: "无数据",
zsjdh: "无数据",
fhpgList: [
{
assessmentNo: "无数据",
houseAddress: "无数据",
countValue: "无数据"
}
],
bcxyList: [
{
xyNo: "无数据",
houseAddress: "无数据",
switchProductionWay: "无数据",
summationShouldCompensateMoney: "无数据"
}
]
}
]
}
};
},
created() {
this.onInit();
console.log("this", this);
this.setLocationAplus();
SetTicket(this.$route.query.ticket);
$(".bottomContent").addClass("display");
$("#app").addClass("padding");
},
methods: {
// 获取数据
onInit() {
if (!this.$route.query.ticket == "") {
this.loading = true;
}
mgop({
api: "mgop.kykj.houseexpropriat.getprjlist",
host: "https://mapi.zjzwfw.gov.cn/",
dataType: "JSON",
type: "POST",
data: {
ticket: this.$route.query.ticket
},
appKey: "es4b8zmz+2001833218+dehllx",
onSuccess: data => {
console.log("首页数据", data);
window.sessionStorage.setItem("homeData", JSON.stringify(data));
if (data.data.success) {
this.loading = false;
this.data = data.data.data;
// 埋点
this.setZwUserAplus(this.data.idCard, this.data.userName);
} else {
var errorCodes = [6001, 6501];
// 跳转到政务系统;
if (errorCodes.indexOf(data.data.bizCode) > -1) {
this.$message({
message: "登录超时,请重新登录",
duration: 3000,
type: "info",
center: true
});
setTimeout(() => {
window.location.replace(
"https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=fwzs"
);
}, 3000);
} else {
this.$message({
message: "请求出错",
duration: 3000,
type: "error",
center: true
});
}
}
},
onFail: err => {
console.log("用户无数据,不展示");
}
});
},
setIdCard(id) {
return id == "加载中..."
? id
: id.substr(0, 6) + "********" + id.substr(14, 4);
},
// 跳转项目详情
gotoProject(type) {
$(".bottomContent").removeClass("display");
$("#app").removeClass("padding");
this.$router.push({
name: "projectSelect",
params: {
type: type
}
});
},
// 直接跳转分户评估结果页面
toEvaluate(id, type) {
$(".bottomContent").removeClass("display");
$("#app").removeClass("padding");
this.$router.push({
name: "evaluatePage",
params: {
fhpgId: id,
type
}
});
},
// 直接跳转协议结果pdf
toAgreement(id) {
$(".bottomContent").removeClass("display");
$("#app").removeClass("padding");
this.$router.push({
name: "showPdf",
params: {
id
}
});
},
// 加载项目数统计信息
onLoadStatistic() {
apis.projectStatistics().then(({ result }) => {
this.statistics = result;
});
},
// 政策信息页面跳转
pageJump(id) {
$(".bottomContent").removeClass("display");
$("#app").removeClass("padding");
this.$router.push({
name: "policyInfo",
params: { id }
});
},
setZwUserAplus(Userid, userName) {
// 设置用户信息埋点
aplus_queue.push({
action: "aplus.setMetaInfo",
arguments: ["_hold", "BLOCK"]
});
aplus_queue.push({
action: "aplus.setMetaInfo",
arguments: ["_user_nick", userName] // this.userInfoData.username],
});
aplus_queue.push({
action: "aplus.setMetaInfo",
arguments: ["_user_id", Userid]
});
aplus_queue.push({
action: "aplus.setMetaInfo",
arguments: ["_hold", "START"]
});
},
setLocationAplus() {
ZWJSBridge.onReady(() => {
console.log("初始化完成后执行bridge方法");
ZWJSBridge.getUserType()
.then(result1 => {
console.log("getUserType():" + JSON.stringify(result1));
console.log("result1.userType:" + result1.userType);
//经纬度
ZWJSBridge.getLocation()
.then(result2 => {
console.log("getLocation():" + JSON.stringify(result2));
console.log("result2.longitude:" + result2.longitude);
console.log("result2.latitude:" + result2.latitude);
aplus_queue.push({
action: "aplus.sendPV",
arguments: [
{
is_auto: false
},
{
isMini: true,
miniAppId: "2001833218", //'应用开发管理平台-应用 ID
miniAppName: "房屋征收",
long: result2.longitude,
lati: result2.latitude,
userType: result1.userType
}
]
});
})
.catch(error => {
console.log(error);
});
})
.catch(error => {
console.log(error);
});
});
}
}
};
</script>
<style lang="less" scoped>
.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%;
height: 225px;
background: url(../assets/img/bg.png);
background-size: 100% 225px;
.titleBox {
display: flex;
align-items: center;
justify-content: center;
width: 173px;
height: 36px;
margin: 15px 0 15px 0;
border-radius: 0 22px 22px 0;
background: rgba(6, 63, 142, 0.66);
font-family: PingFangSC-Semibold, PingFang SC;
font-size: 16px;
font-weight: 600;
color: #ffffff;
}
.baseInfo {
display: flex;
margin: 5px 0;
.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;
}
}
}
}
// 项目部分
.project {
display: flex;
align-items: center;
justify-content: space-between;
height: 41px;
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;
}
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;
}
}
}
.projectTitle {
font-family: PingFangSC-Semibold, PingFang SC;
font-size: 16px;
font-weight: 600;
color: #fff;
}
.projectCenter {
padding-bottom: 25px;
background: #fff;
box-shadow: 0 2px 6px 1px rgba(212, 212, 212, 0.5);
.projectCenterBox {
> div {
display: flex;
align-items: center;
padding-top: 15px;
width: 100%;
img {
width: 15px;
height: 15px;
padding: 0 10px;
}
span {
font-family: PingFangSC-Regular, PingFang SC;
font-size: 14px;
font-weight: 400;
color: #2c2b2b;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
.assess {
display: flex;
align-items: center;
height: 25px;
padding: 25px 10px 0px;
.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: 25px 22px 22px;
border-left: 2px solid #24bca3;
font-weight: 400;
> div {
display: flex;
align-items: center;
justify-content: space-between;
padding-left: 12px;
span {
white-space: nowrap;
}
> span:nth-child(2) {
overflow: hidden;
text-overflow: ellipsis;
}
}
> div:nth-child(2) {
margin: 15px 0;
}
}
.assess2 {
display: flex;
align-items: center;
height: 25px;
padding: 0px 10px 0px;
.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;
}
}
.assessCenter2 {
margin: 25px 22px 22px;
border-left: 2px solid #ff5959;
font-weight: 400;
> div {
display: flex;
align-items: center;
justify-content: space-between;
padding-left: 12px;
span {
white-space: nowrap;
}
> span:nth-child(2) {
overflow: hidden;
text-overflow: ellipsis;
}
}
> div:nth-child(n + 2) {
margin: 15px 0;
}
}
}
// 征收政策部分
.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);
.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>