diff --git a/src/assets/images/shuju/main/close.png b/src/assets/images/shuju/main/close.png new file mode 100644 index 000000000..2752f9004 Binary files /dev/null and b/src/assets/images/shuju/main/close.png differ diff --git a/src/assets/scss/dataBoard/popup-info.scss b/src/assets/scss/dataBoard/popup-info.scss new file mode 100644 index 000000000..31791fcb3 --- /dev/null +++ b/src/assets/scss/dataBoard/popup-info.scss @@ -0,0 +1,66 @@ +@import "../c/config"; +@import "../c/function"; +@import "./c/common"; + +.m-info { + padding: 20px 50px 10px; + + .subtitle { + display: flex; + margin-left: -10px; + padding: 10px; + align-items: center; + font-size: 16px; + font-family: PingFangSC-Medium, PingFang SC; + font-weight: 500; + color: rgba(255, 255, 255, 0.85); + line-height: 22px; + + .i-chunk { + margin-right: 5px; + width: 4px; + height: 12px; + background: #1a95ff; + border-radius: 1px; + } + + .i-line { + margin-left: 8px; + flex: 1; + width: 100%; + height: 1px; + border: 1px dashed rgba(26, 149, 255, 0.45); + } + } + + .row { + display: flex; + flex-wrap: wrap; + + .item { + display: flex; + padding: 15px 0; + min-width: 50%; + line-height: 24px; + + .field { + width: 80px; + font-size: 14px; + text-align: right; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: rgba(#ffffff, 0.5); + } + + .value { + flex: 1; + width: 100%; + margin-left: 10px; + font-size: 14px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: rgba(#ffffff, 0.85); + } + } + } +} diff --git a/src/views/dataBoard/cpts/bread.vue b/src/views/dataBoard/cpts/bread.vue index dab3dc44d..e4ad2e52b 100644 --- a/src/views/dataBoard/cpts/bread.vue +++ b/src/views/dataBoard/cpts/bread.vue @@ -12,7 +12,7 @@ :key="item.path" :to="{ path: item.path }" > - {{ + {{ item.meta.title }} @@ -65,8 +65,8 @@ export default { created() {}, methods: { - handleClickItem(item, index) { - this.$emit("tap", { item, index }); + handleClickItem(item) { + this.$emit("tap", { item }); }, }, }; diff --git a/src/views/dataBoard/cpts/house-details.vue b/src/views/dataBoard/cpts/house-details.vue new file mode 100644 index 000000000..5d53c42f5 --- /dev/null +++ b/src/views/dataBoard/cpts/house-details.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/src/views/dataBoard/cpts/map/index.vue b/src/views/dataBoard/cpts/map/index.vue index 8697a4046..bc72a0552 100644 --- a/src/views/dataBoard/cpts/map/index.vue +++ b/src/views/dataBoard/cpts/map/index.vue @@ -871,6 +871,24 @@ export default { height: 100%; border-radius: 10px; overflow: hidden; + background: transparent; + + &::after { + position: absolute; + content: ""; + display: block; + top: 0; + left: 0; + right: 0; + bottom: 0; + pointer-events: none; + background: radial-gradient( + rgba(#020c38, 0) 0%, + rgba(#020c38, 0) 60%, + rgba(#020c38, 1) 85%, + rgba(#020c38, 1) 100% + ); + } &.z-td { #app { diff --git a/src/views/dataBoard/cpts/map/popup.vue b/src/views/dataBoard/cpts/map/popup.vue index 632aec969..5b53fe058 100644 --- a/src/views/dataBoard/cpts/map/popup.vue +++ b/src/views/dataBoard/cpts/map/popup.vue @@ -162,6 +162,10 @@ 房主身份证: {{ info.holder_idcard || "--" }} + +
+ 更多 +
@@ -232,63 +236,6 @@ export default { this.hidden = false; return true; }, - - async loadResi(info) { - const url = "/epmetuser/icresiuser/resi-brief/" + info.id; - // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/distribution" - - let params = {}; - - const { data, code, msg } = await requestPost(url, params); - - if (code === 0) { - data.icUserName = data.icUserName ? data.icUserName : "--"; - data.gridName = data.gridName ? data.gridName : "--"; - data.villageName = data.villageName ? data.villageName : "--"; - data.mobile = data.mobile ? data.mobile : "--"; - data.idCard = data.idCard ? data.idCard : "--"; - data.birthday = data.birthday ? data.birthday : "--"; - data.contacts = data.contacts ? data.contacts : "--"; - data.contactsMobile = data.contactsMobile - ? data.contactsMobile - : "--"; - - data.isBdhjShow = data.isBdhj - ? data.isBdhj === "0" - ? "否" - : "是" - : "--"; - data.genderShow = data.gender - ? data.gender === "0" - ? "女" - : "男" - : "--"; - if (data.rhzk === "rhyz") { - data.rhzkShow = "人户一致"; - } else if (data.rhzk === "rzhbz") { - data.rhzkShow = "人在户不在"; - } else if (data.rhzk === "hzrbz") { - data.rhzkShow = "户在人不在"; - } else { - data.rhzkShow = "--"; - } - - let categoriesArray = []; - - for (let key in data.volunteerCategories) { - categoriesArray.push(data.volunteerCategories[key]); - } - - if (categoriesArray.length > 0) { - data.categories = categoriesArray.join(","); - } else { - data.categories = "--"; - } - this.info = JSON.parse(JSON.stringify(data)); - } else { - this.$message.error(msg); - } - }, }, }; diff --git a/src/views/dataBoard/cpts/popup.vue b/src/views/dataBoard/cpts/popup.vue new file mode 100644 index 000000000..4655e3a18 --- /dev/null +++ b/src/views/dataBoard/cpts/popup.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/src/views/dataBoard/cpts/resi-details.vue b/src/views/dataBoard/cpts/resi-details.vue new file mode 100644 index 000000000..6a377ec5b --- /dev/null +++ b/src/views/dataBoard/cpts/resi-details.vue @@ -0,0 +1,378 @@ + + + + + + diff --git a/src/views/dataBoard/renfang/cpts/bread.vue b/src/views/dataBoard/renfang/cpts/bread.vue new file mode 100644 index 000000000..d92dd141a --- /dev/null +++ b/src/views/dataBoard/renfang/cpts/bread.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/src/views/dataBoard/renfang/cpts/rkyj.vue b/src/views/dataBoard/renfang/cpts/rkyj.vue index 9841ea39e..2f87eb9e7 100644 --- a/src/views/dataBoard/renfang/cpts/rkyj.vue +++ b/src/views/dataBoard/renfang/cpts/rkyj.vue @@ -1,142 +1,157 @@ diff --git a/src/views/dataBoard/renfang/index.vue b/src/views/dataBoard/renfang/index.vue index 4f1ca5149..9994ba190 100644 --- a/src/views/dataBoard/renfang/index.vue +++ b/src/views/dataBoard/renfang/index.vue @@ -118,9 +118,9 @@ @@ -291,7 +291,7 @@
-
+
+ + + +
@@ -345,14 +357,29 @@ import jmgl from "@/views/dataBoard/renfang/cpts/jmgl"; import rkfx from "@/views/dataBoard/renfang/cpts/rkfx"; import rkyj from "@/views/dataBoard/renfang/cpts/rkyj"; import szsq from "@/views/dataBoard/renfang/cpts/szsq"; +import cptBread from "@/views/dataBoard/renfang/cpts/bread"; import cptLoading from "@/views/dataBoard/cpts/loading"; -import cptBread from "@/views/dataBoard/cpts/bread"; +import houseDetails from "@/views/dataBoard/cpts/house-details"; +import resiDetails from "@/views/dataBoard/cpts/resi-details"; import { requestPostBi } from "@/js/dai/request-bipass"; import { requestPost } from "@/js/dai/request"; import getQueryPara from "dai-js/modules/getQueryPara"; export default { - components: { gridMap, fwgl, jmgl, rkfx, rkyj, szsq, cptLoading, cptBread }, + name: "renfang", + + components: { + gridMap, + fwgl, + jmgl, + rkfx, + rkyj, + szsq, + cptLoading, + cptBread, + houseDetails, + resiDetails, + }, data() { return { @@ -366,7 +393,7 @@ export default { { orgId: "", orgLevel: "", - meta: { title: "人防总览" }, + meta: { title: "人房总览" }, }, ], @@ -392,24 +419,22 @@ export default { aged_ratio: "--", teenagers_ratio: "--", }, + + displayedResiId: "1", + displayedHouseId: "", }; }, mounted() { - this.init(); + const queryOrgId = getQueryPara("orgId"); + const queryOrgLevel = getQueryPara("orgLevel"); + this.init(queryOrgId, queryOrgLevel); }, - watch: { - $route() { - this.init(); - }, - }, + watch: {}, methods: { - async init() { - const queryOrgId = getQueryPara("orgId"); - const queryOrgLevel = getQueryPara("orgLevel"); - console.log("orgId", queryOrgId); + async init(queryOrgId, queryOrgLevel) { if (queryOrgId) { this.orgId = queryOrgId; this.orgLevel = queryOrgLevel || "agency"; @@ -421,27 +446,48 @@ export default { //加载组织数据 this.loading = false; await this.loadOrgData(); + // await this.getMapData(); + // await this.getSubMapData(); this.getResiCategoryData(); this.getPerInfo(); this.loading = true; }, - clickBreadItem(item, index) { - console.log(item); - const { breadList } = this; - if (index + 1 == breadList.length) return; - breadList = breadList.slice(0, index); - this.breadList = breadList; + handleClickDotBtn(type, info) { + console.log("handleClickDotBtn", type, info); + if (type == "watch-resi") { + this.displayedResiId = info.user_id; + } else if (type == "watch-house") { + this.displayedHouseId = info.house_id; + } + }, + + clickBreadItem({ item }) { + this.toBread(item); }, clickAgencyItem(item) { console.log(item); - this.$router.push({ - path: "/dataBoard/renfang/index", - query: { orgId: item.id, orgLevel: item.level }, + this.toBread({ + orgId: item.id, + orgLevel: item.level, + meta: { title: item.name }, }); - // this.init(); + }, + + toBread(item) { + const { orgId } = item; + const { breadList } = this; + let index = breadList.findIndex((val) => val.orgId === orgId); + // return console.log(item, breadList, index); + if (index >= 0) { + this.breadList = breadList.slice(0, index + 1); + } else { + breadList.push(item); + this.breadList = breadList; + } + this.init(item.orgId, item.orgLevel); }, // 点击搜索结果条目,在地图上显示点和详情弹窗 @@ -479,7 +525,8 @@ export default { }, }, { - mockId: 60048078, + // mockId: 60044224, + mockId: 60048067, } ); @@ -574,7 +621,7 @@ export default { url, { queryParam: { - org_id: this.orgData.id, + org_id: this.orgId, }, }, { @@ -585,6 +632,32 @@ export default { if (code === 0) { let info = data[0]; this.orgData = info; + this.orgId = this.orgData.id; + this.orgLevel = this.orgData.level; + } else { + this.$message.error(msg); + } + }, + + //获取地图上显示的组织数据 + async getSubMapData() { + console.log("=========================getMapData"); + const url = "sub_org_map"; + + const { data, code, msg } = await requestPostBi( + url, + { + queryParam: { + org_id: this.orgId, + }, + }, + { + mockId: 61831860, + } + ); + + if (code === 0) { + this.orgData.children = data; } else { this.$message.error(msg); } diff --git a/src/views/dataBoardMain/main-navbar.vue b/src/views/dataBoardMain/main-navbar.vue index 699a4252f..7f8422023 100644 --- a/src/views/dataBoardMain/main-navbar.vue +++ b/src/views/dataBoardMain/main-navbar.vue @@ -10,7 +10,7 @@