Browse Source

合并feature-dev

feature
PLUTO 2 years ago
parent
commit
3c701b4d67
  1. 5
      .env.development
  2. BIN
      src/assets/images/home/lydxzClick.png
  3. BIN
      src/assets/images/home/lydxzTree.png
  4. BIN
      src/assets/images/home/sh.png
  5. BIN
      src/assets/images/home/zbbg.png
  6. BIN
      src/assets/images/home/zbbgClick.png
  7. BIN
      src/assets/images/home/zk.png
  8. 66
      src/components/JwTree/nodeWrap.vue
  9. 21
      src/components/NameSplit/index.vue
  10. 18
      src/components/Tree/nodeWrap.vue
  11. 4
      src/views/dataBoard/cpts/family/modules/Family.vue
  12. 189
      src/views/dataBoard/cpts/map/index.vue
  13. 2
      src/views/dataBoard/cpts/personnel/modules/MatterDetails.vue
  14. 18
      src/views/dataBoard/cpts/personnel/modules/PointsRecord.vue
  15. 260
      src/views/dataBoard/cpts/resi-details.vue
  16. 21
      src/views/dataBoard/organizational/dangTree/index.vue
  17. 54
      src/views/dataBoard/organizational/jwTree/index.vue
  18. 2
      src/views/dataBoard/organizational/microgrid/components/popDetails.vue
  19. 2
      src/views/dataBoard/organizational/microgrid/index.vue
  20. 1
      src/views/dataBoard/overview/components/jdwgy.vue
  21. 69
      src/views/dataBoard/overview/components/map-top.vue
  22. 240
      src/views/dataBoard/overview/index.vue
  23. 2
      src/views/dataBoard/renfang/resi/classNew.vue
  24. 8
      src/views/dataBoard/satisfactionEval/modules/TypesOfDissatisfaction/index.vue
  25. 1
      vue.config.js

5
.env.development

@ -1,7 +1,8 @@
NODE_ENV=development
# VUE_APP_API_SERVER = http://localhost:9001/api
VUE_APP_API_SERVER = http://192.168.1.144/api
# VUE_APP_API_SERVER = https://epmet-preview.elinkservice.cn/api
VUE_APP_API_SERVER = http://localhost:9001/api
# VUE_APP_API_SERVER = http://192.168.1.140/api
# VUE_APP_API_SERVER = http://219.146.91.110:30801/api
# VUE_APP_API_SERVER = https://epmet-yantai.elinkservice.cn/api
# VUE_APP_API_SERVER = https://epmet-test.elinkservice.cn/api

BIN
src/assets/images/home/lydxzClick.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
src/assets/images/home/lydxzTree.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
src/assets/images/home/sh.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

BIN
src/assets/images/home/zbbg.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 13 KiB

BIN
src/assets/images/home/zbbgClick.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
src/assets/images/home/zk.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

66
src/components/JwTree/nodeWrap.vue

@ -17,19 +17,31 @@
<div class="condition-node-box">
<div class="auto-judge">
<div v-if="getOnerSixLevelFlag(item)">
<div class="wgdzb">
<div :class="[item.children && item.children.length > 0 ? 'wgdzbHover' : 'wgdzb']">
<nameSplit :item="item" areaName="organizationName" peopleName="name" pageName="居委组织架构" />
</div>
<div v-if="item._children" style="text-align: center" @click="getChildrenData(item, index, nodeConfig.children)">
<img v-if="item.children && item.children.length > 0" :src="require('@/assets/images/home/sh.png')" alt="" />
<img v-else :src="require('@/assets/images/home/zk.png')" alt="" />
</div>
</div>
<div v-if="item.level === 'building_chief'">
<div class="lydxz">
<div :class="[tem.children && item.children.length > 0 ? 'lydxzHover' : 'lydxz']">
<nameSplit :item="item" areaName="organizationName" peopleName="name" pageName="居委组织架构" />
</div>
<div v-if="item._children" style="text-align: center" @click="getChildrenData(item, index, nodeConfig.children)">
<img v-if="item.children && item.children.length > 0" :src="require('@/assets/images/home/sh.png')" alt="" />
<img v-else :src="require('@/assets/images/home/zk.png')" alt="" />
</div>
</div>
<div v-if="item.level === 'unit_chief' || item.level === 'public_welfare_post'">
<div @click="gotoPersonnel(item.resiId, '居委组织架构')" class="dyzxh gotoDesc" :title="item.organizationName">
{{ spliceNameFun(item.organizationName, 3) }}
</div>
<div v-if="item._children" style="text-align: center" @click="getChildrenData(item, index, nodeConfig.children)">
<img v-if="item.children && item.children.length > 0" :src="require('@/assets/images/home/sh.png')" alt="" />
<img v-else :src="require('@/assets/images/home/zk.png')" alt="" />
</div>
</div>
</div>
</div>
@ -80,6 +92,29 @@ export default {
return this.sixLevelArr.includes(item.level);
},
getChildrenData(item, idx, arr) {
// if (!item._children) {
// this.$message({
// message: "",
// type: "error",
// });
// return;
// }
// arritem_childrenitem.children
arr.forEach((element, index) => {
if (index === idx) {
if (element.children) {
element._children = element.children;
element.children = null;
} else {
element.children = element._children;
}
} else {
element.children = null;
}
});
},
gotoPersonnel(id, name) {
if (id) {
this.$router.push(`/organizational/orgPersonnel/${name}`);
@ -134,23 +169,42 @@ export default {
.auto-judge {
.wgdzb {
@include spanLevel;
width: 132px;
height: 96px;
width: 90px;
height: 126px;
text-align: center;
padding-top: 5px;
background-image: url(~@/assets/images/home/zbbg.png);
background-size: 100%;
}
.wgdzbHover {
@include spanLevel;
width: 90px;
height: 126px;
text-align: center;
padding-top: 5px;
background-image: url(~@/assets/images/home/zbbgClick.png);
background-size: 100%;
}
.lydxz {
@include spanLevel;
// @include normalLevel;
text-align: center;
width: 216px;
height: 50px;
width: 90px;
height: 98px;
padding-top: 5px;
background-image: url(~@/assets/images/home/lydxzTree.png);
background-size: 100%;
}
.lydxzHover {
@include spanLevel;
// @include normalLevel;
text-align: center;
width: 90px;
height: 98px;
padding-top: 5px;
background-image: url(~@/assets/images/home/lydxzClick.png);
background-size: 100%;
}
.dyzxh {
@include spanLevel;
@include normalLevel;

21
src/components/NameSplit/index.vue

@ -1,7 +1,7 @@
<template>
<div class="node-com">
<div v-if="!flag" :title="getAllName(item[areaName])">{{ spliceNameFun(item[areaName], 8) }}</div>
<div class="name_more" v-if="item[peopleName] && !item[peopleName].includes(',')" @click="gotoPersonnel(item.resiId)" :title="getAllName(item[peopleName])">{{ spliceNameFun(item[peopleName], 12) }}</div>
<div v-if="!flag" class="nodeTitle" :title="getAllName(item[areaName])">{{ spliceNameFun(item[areaName], 4) }}</div>
<div class="name_more peoName" v-if="item[peopleName] && !item[peopleName].includes(',')" @click="gotoPersonnel(item.resiId)" :title="getAllName(item[peopleName])">{{ spliceNameFun(item[peopleName], 12) }}</div>
<div class="name_more" v-if="item[peopleName] && item[peopleName].includes(',')">
<span v-for="(i, k) in getItemNameArr(item[peopleName])" :key="i" @click="gotoPersonnel(item.resiId.split(',')[k])" :title="getAllName(i)">{{ spliceNameFun(i, 12) }}{{ k === getItemNameArr(item[peopleName]).length - 1 ? "" : "," }}</span>
<popTips :item="item" :pageName="pageName" />
@ -47,9 +47,6 @@ export default {
},
spliceNameFun(row, num) {
if (row && row.length > num) {
return row.substring(0, num) + "...";
}
return row;
},
gotoPersonnel(id) {
@ -65,6 +62,20 @@ export default {
<style scope lang="scss">
.node-com {
padding: 0 12px;
.nodeTitle {
font-size: 16px;
font-family: PingFang SC;
font-weight: 500;
color: #ffffff;
}
.peoName {
font-size: 14px;
font-family: PingFang SC;
font-weight: 500;
color: #ffffff;
opacity: 0.8;
}
.name_more {
cursor: pointer;
span {

18
src/components/Tree/nodeWrap.vue

@ -48,7 +48,7 @@
</div>
</div>
</div>
<nodeWrap v-if="nodeConfig.childNode" :nodeConfig.sync="nodeConfig.childNode"></nodeWrap>
<!-- <nodeWrap v-if="nodeConfig.childNode" :nodeConfig.sync="nodeConfig.childNode"></nodeWrap> -->
</div>
</template>
<script>
@ -64,12 +64,12 @@ export default {
watch: {},
methods: {
getChildrenData(item) {
// if (item.children) {
// item._children = item.children;
// item.children = null;
// } else {
// item.children = item._children;
// }
if (item.children) {
item._children = item.children;
item.children = null;
} else {
item.children = item._children;
}
},
},
};
@ -103,8 +103,8 @@ export default {
.auto-judge {
.wgdzb {
@include spanLevel;
width: 132px;
height: 96px;
width: 90px;
height: 128px;
text-align: center;
padding-top: 5px;
background-image: url(~@/assets/images/home/zbbg.png);

4
src/views/dataBoard/cpts/family/modules/Family.vue

@ -51,8 +51,8 @@ export default {
return paramStr;
},
cheackCrrent(item) {
const params = { ...this.$route.query, houseId: item.homeId };
this.$router.push(this.$route.path + "?" + this.getParams(params));
const params = { user_id: item.id };
this.$router.push("/dataBoard/overview/resident?" + this.getParams(params));
},
getDatas() {
this.data = [];

189
src/views/dataBoard/cpts/map/index.vue

@ -1,39 +1,17 @@
<template>
<div class="m-map" :class="{ 'z-td': mapType == 'td' }">
<div id="map" :style="{ transform: `scale(${zoom})` }"></div>
<div
class="btn"
v-if="mapStyleType == 'light'"
v-show="false"
@click="shiftMapStyle('dark')"
>
切换深色模式
</div>
<div class="btn" v-show="false" v-else @click="shiftMapStyle('light')">
切换浅色模式
</div>
<div class="btn" v-if="mapStyleType == 'light'" v-show="false" @click="shiftMapStyle('dark')">切换深色模式</div>
<div class="btn" v-show="false" v-else @click="shiftMapStyle('light')">切换浅色模式</div>
<!-- :style="{ transform: `scale(${zoom})` }" -->
<cpt-popup
ref="popup"
@clickListItem="handleClickDotListItem"
@operate="handleClickDotBtn"
/>
<cpt-popup ref="popup" @clickListItem="handleClickDotListItem" @operate="handleClickDotBtn" />
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import nextTick from "dai-js/tools/nextTick";
import {
Scene,
PolygonLayer,
LineLayer,
MarkerLayer,
RasterLayer,
PointLayer,
Marker,
Popup,
} from "@antv/l7";
import { Scene, PolygonLayer, LineLayer, MarkerLayer, RasterLayer, PointLayer, Marker, Popup } from "@antv/l7";
import { GaodeMap, Map } from "@antv/l7-maps";
import { spliceIntoChunks } from "@/utils/index";
import { mapType, searchNearby } from "@/utils/dai-map";
@ -168,11 +146,7 @@ export default {
computed: {
polygonData() {
const { srcGridData } = this;
if (
!srcGridData ||
!srcGridData.children ||
!Array.isArray(srcGridData.children)
) {
if (!srcGridData || !srcGridData.children || !Array.isArray(srcGridData.children)) {
return { type: "FeatureCollection", features: [] };
}
const polygon = [
@ -204,11 +178,7 @@ export default {
polygonDotData() {
const { srcGridData } = this;
if (
!srcGridData ||
!srcGridData.children ||
!Array.isArray(srcGridData.children)
) {
if (!srcGridData || !srcGridData.children || !Array.isArray(srcGridData.children)) {
return { type: "FeatureCollection", features: [] };
}
const polygon = [
@ -229,9 +199,7 @@ export default {
item.latitude
? [[item.longitude, item.latitude]]
: spliceIntoChunks(
item.coordinates
.split(",")
.map((item) => parseFloat(item)),
item.coordinates.split(",").map((item) => parseFloat(item)),
2
).filter((item) => item.length == 2),
],
@ -255,10 +223,7 @@ export default {
},
geometry: {
type: "Point",
coordinates: [
parseFloat(item.longitude),
parseFloat(item.latitude),
],
coordinates: [parseFloat(item.longitude), parseFloat(item.latitude)],
},
})),
],
@ -279,10 +244,7 @@ export default {
},
geometry: {
type: "Point",
coordinates: [
parseFloat(item.longitude),
parseFloat(item.latitude),
],
coordinates: [parseFloat(item.longitude), parseFloat(item.latitude)],
},
})),
],
@ -344,14 +306,7 @@ export default {
styleConfig = lightStyle;
}
const iniCenter = [
srcGridData.longitude ||
this.$store.state.user.longitude ||
116.39743841556731,
srcGridData.latitude ||
this.$store.state.user.latitude ||
39.9088810666821,
];
const iniCenter = [srcGridData.longitude || this.$store.state.user.longitude || 116.39743841556731, srcGridData.latitude || this.$store.state.user.latitude || 39.9088810666821];
if (mapType != "qq") {
myMap = new Map({
@ -403,18 +358,15 @@ export default {
zIndex: 1,
});
baseLayer
.source(
"http://t7.tianditu.com/DataServer?T=vec_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}",
{
parser: {
type: "rasterTile",
tileSize: 256,
// minZoom: 6,
// maxZoom: 15,
zoomOffset: 0,
},
}
)
.source("http://t7.tianditu.com/DataServer?T=vec_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}", {
parser: {
type: "rasterTile",
tileSize: 256,
// minZoom: 6,
// maxZoom: 15,
zoomOffset: 0,
},
})
.style({
opacity: 0.7,
});
@ -424,18 +376,15 @@ export default {
zIndex: 2,
});
annotionLayer
.source(
"http://t7.tianditu.com/DataServer?T=cva_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}",
{
parser: {
type: "rasterTile",
tileSize: 256,
// minZoom: 6,
// maxZoom: 15,
zoomOffset: 0,
},
}
)
.source("http://t7.tianditu.com/DataServer?T=cva_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}", {
parser: {
type: "rasterTile",
tileSize: 256,
// minZoom: 6,
// maxZoom: 15,
zoomOffset: 0,
},
})
.style({
opacity: 0.5,
});
@ -534,14 +483,8 @@ export default {
});
// scene.addLayer(circleLayer);
scene.addImage("pos-red", require("@/assets/img/shuju/grid/pos-red.png"));
scene.addImage(
"pos-green",
require("@/assets/img/shuju/grid/pos-green.png")
);
scene.addImage(
"pos-yellow",
require("@/assets/img/shuju/grid/pos-yellow.png")
);
scene.addImage("pos-green", require("@/assets/img/shuju/grid/pos-green.png"));
scene.addImage("pos-yellow", require("@/assets/img/shuju/grid/pos-yellow.png"));
posLayer = new PointLayer({
zIndex: 4,
@ -565,7 +508,7 @@ export default {
} else {
posLayer.hide()
}*/
textLayer = new PolygonLayer({
textLayer = new PolygonLayer({
zIndex: 20,
})
.source(polygonData)
@ -601,11 +544,7 @@ export default {
${e.feature.properties.name}
</div>
<div class="jw-popup-des">
${
e.feature.properties.description
? e.feature.properties.description
: ""
}
${e.feature.properties.description ? e.feature.properties.description : ""}
</div>
</div>
</div>
@ -784,9 +723,7 @@ export default {
// lng lat dis
let r = 6371; //
let dis = 0.25; //3
let dlng =
2 *
Math.asin(Math.sin(dis / (2 * r)) / Math.cos((lat * Math.PI) / 180));
let dlng = 2 * Math.asin(Math.sin(dis / (2 * r)) / Math.cos((lat * Math.PI) / 180));
dlng = (dlng * 180) / Math.PI; //
let dlat = dis / r;
dlat = (dlat * 180) / Math.PI; //
@ -861,10 +798,7 @@ export default {
for (let i in data) {
// console.log(data[i].longitude * 1, data[i].latitude * 1);
var el = document.createElement("div");
el.className =
peopleType === "building"
? "label-pointLd-class"
: "label-point-class";
el.className = peopleType === "building" ? "label-pointLd-class" : "label-point-class";
el.classList.add(data[i].type);
// el.textContent = data[i].peopleType+''+data[i].personnelNum;
const pointMarkerItem = new Marker({
@ -883,34 +817,14 @@ export default {
<div class="jw-popup-title">
${data[i].name}
</div>
<div class="jw-popup-type">网格类型<span class="${
data[i].type
}">${
data[i].type === "red"
? "红"
: data[i].type === "yellow"
? "黄"
: data[i].type === "green"
? "绿色"
: ""
}</span>
<div class="jw-popup-type">网格类型<span class="${data[i].type}">${data[i].type === "red" ? "红" : data[i].type === "yellow" ? "黄" : data[i].type === "green" ? "绿色" : ""}</span>
</div>
<div class="jw-popup-num-list">
<div>户数<span>${
data[i].houseNum ? data[i].houseNum : 0
}</span></div>
<div>需求<span>${
data[i].demandNum ? data[i].demandNum : 0
}</span></div>
<div>事件<span>${
data[i].eventNum ? data[i].eventNum : 0
}</span></div>
<div>重点人群<span>${
data[i].importanceNum ? data[i].importanceNum : 0
}</span></div>
<div>安全隐患<span>${
data[i].safetyNum ? data[i].safetyNum : 0
}</span></div>
<div>户数<span>${data[i].houseNum ? data[i].houseNum : 0}</span></div>
<div>需求<span>${data[i].demandNum ? data[i].demandNum : 0}</span></div>
<div>事件<span>${data[i].eventNum ? data[i].eventNum : 0}</span></div>
<div>重点人群<span>${data[i].importanceNum ? data[i].importanceNum : 0}</span></div>
<div>安全隐患<span>${data[i].safetyNum ? data[i].safetyNum : 0}</span></div>
</div>
</div>
</div>
@ -921,9 +835,7 @@ export default {
popup.remove();
});
pointMarkerItem.on("click", () => {
this.$router.push(
`/homeDetails/index?id=${data[i].id}&typeB=${peopleType}`
);
this.$router.push(`/homeDetails/index?id=${data[i].id}&typeB=${peopleType}`);
});
pointMarker.addMarker(pointMarkerItem);
@ -938,6 +850,7 @@ export default {
numMarker = new MarkerLayer({
name: "numMarker",
});
console.log("data:", data);
for (let i in data) {
var el = document.createElement("label");
el.className = "label-num-class";
@ -1013,10 +926,7 @@ export default {
handleClickDotListItem(item) {
console.log("handleClickDotListItem", item);
this.handleClickDot(item, [
parseFloat(item.longitude),
parseFloat(item.latitude),
]);
this.handleClickDot(item, [parseFloat(item.longitude), parseFloat(item.latitude)]);
},
},
};
@ -1043,12 +953,7 @@ export default {
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%
);
background: radial-gradient(rgba(#020c38, 0) 0%, rgba(#020c38, 0) 60%, rgba(#020c38, 1) 85%, rgba(#020c38, 1) 100%);
}
&.z-td {
@ -1056,11 +961,7 @@ export default {
/deep/ .l7-scene {
canvas {
background-color: rgba(43, 51, 73, 0.82);
background-image: radial-gradient(
rgba(0, 0, 0, 0),
rgba(0, 0, 0, 0.3),
#000
);
background-image: radial-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3), #000);
}
.gray {

2
src/views/dataBoard/cpts/personnel/modules/MatterDetails.vue

@ -13,7 +13,7 @@
</div>
<div :class="[data.gridName.length > 8 ? 'smallFont' : '', 'tag']" v-if="data.gridName">{{ data.gridName }}</div>
<div :class="[data.idNum.length > 8 ? 'smallFont' : '', 'tag', 'small']" v-if="data.idNum">
{{ $sensitive(data.idNum, 6, 16) }}
{{ $sensitive(data.idNum, 0, 14) }}
</div>
<div :class="[data.mobile.length > 8 ? 'smallFont' : '', 'tag']" v-if="data.mobile">
{{ $sensitive(data.mobile, 3, 7) }}

18
src/views/dataBoard/cpts/personnel/modules/PointsRecord.vue

@ -1,6 +1,6 @@
<template>
<div>
<div class="enjoy-service">
<!-- <div class="enjoy-service">
<div class="enjoy-service-item" v-for="(item, index) in data">
<div class="num">+{{ item.classificationNum }}</div>
<div class="info">
@ -8,6 +8,10 @@
<div class="time">{{ item.recordTime }}</div>
</div>
</div>
</div> -->
<div style="width: 100%; height: 100%; text-align: center; padding-top: 50px; color: #ffffff">
<img width="268px" height="128px" src="~@/assets/images/overview/zanwu.png" />
<div class="zanwuText">暂无数据</div>
</div>
</div>
</template>
@ -31,13 +35,11 @@ export default {
methods: {
getData() {
this.data = [];
this.$http
.get("/actual/base/peopleRoomOverview/recorHistory")
.then(({ data: res }) => {
if (res.code == 0) {
this.data = res.data;
}
});
this.$http.get("/actual/base/peopleRoomOverview/recorHistory").then(({ data: res }) => {
if (res.code == 0) {
this.data = res.data;
}
});
},
},
};

260
src/views/dataBoard/cpts/resi-details.vue

@ -11,52 +11,52 @@
<div class="item">
<div class="field">所属网格</div>
<div class="value">
<span v-if="info.community">{{ info.community }}</span>
<span v-if="info.grid"> - {{ info.grid }}</span>
<span v-if="info.community">{{ info.community ? info.community : "" }}</span>
<span v-if="info.grid"> - {{ info.grid ? info.grid : "" }}</span>
</div>
</div>
<div class="item">
<div class="field">所属房屋</div>
<div class="value">
<span v-if="info.village">{{ info.village }}</span>
<span v-if="info.building"> - {{ info.building }}</span>
<span v-if="info.unit"> - {{ info.unit }}</span>
<span v-if="info.room"> - {{ info.room }}</span>
<span v-if="info.village">{{ info.village ? info.village : "" }}</span>
<span v-if="info.building"> - {{ info.building ? info.building : "" }}</span>
<span v-if="info.unit"> - {{ info.unit ? info.unit : "" }}</span>
<span v-if="info.room"> - {{ info.room ? info.room : "" }}</span>
</div>
</div>
<div class="item">
<div class="field">本地户籍</div>
<div class="value">{{ info.census_type }}</div>
<div class="value">{{ info.census_type ? info.census_type : "" }}</div>
</div>
</div>
<div class="row">
<div class="item">
<div class="field">居民姓名</div>
<div class="value">{{ info.name }}</div>
<div class="value">{{ info.name ? info.name : "" }}</div>
</div>
<div class="item">
<div class="field">出生日期</div>
<div class="value">{{ info.birthday }}</div>
<div class="value">{{ info.birthday ? info.birthday : "" }}</div>
</div>
<div class="item">
<div class="field">性别</div>
<div class="value">{{ info.gender }}</div>
<div class="value">{{ info.gender ? info.gender : "" }}</div>
</div>
<div class="item">
<div class="field">民族</div>
<div class="value">{{ info.ethnic }}</div>
<div class="value">{{ info.ethnic ? info.ethnic : "" }}</div>
</div>
<div class="item">
<div class="field">联系电话</div>
<div class="value">{{ info.telephone }}</div>
<div class="value">{{ info.telephone ? info.telephone : "" }}</div>
</div>
<div class="item">
<div class="field">证件号</div>
<div class="value">{{ info.idcard }}</div>
<div class="value">{{ info.idcard ? info.idcard : "" }}</div>
</div>
<div class="item">
<div class="field">备注</div>
<div class="value">{{ info.resident_remark }}</div>
<div class="value">{{ info.resident_remark ? info.resident_remark : "" }}</div>
</div>
</div>
@ -103,28 +103,13 @@
</div>
<div class="m-tabs">
<div
class="tab-btn"
@click="subStartTabIndex"
v-if="tabList.length > 7"
>
<div class="tab-btn" @click="subStartTabIndex" v-if="tabList.length > 7">
<img src="@/assets/img/shuju/people/arrow-double-left.png" />
</div>
<div
v-show="index >= startTabIndex && index < startTabIndex + 7"
class="tab"
:class="currentTabIndex % tabList.length == index ? 'z-on' : ''"
:key="'tab' + index"
@click="currentTabIndex = index"
v-for="(item, index) in tabList"
>
<div v-show="index >= startTabIndex && index < startTabIndex + 7" class="tab" :class="currentTabIndex % tabList.length == index ? 'z-on' : ''" :key="'tab' + index" @click="currentTabIndex = index" v-for="(item, index) in tabList">
{{ item }}
</div>
<div
class="tab-btn"
@click="addStartTabIndex"
v-if="tabList.length > 7"
>
<div class="tab-btn" @click="addStartTabIndex" v-if="tabList.length > 7">
<img src="@/assets/img/shuju/people/arrow-double-right.png" />
</div>
</div>
@ -133,11 +118,11 @@
<div class="row">
<div class="item">
<div class="field">文化程度</div>
<div class="value">{{ info.education }}</div>
<div class="value">{{ info.education ? info.education : "" }}</div>
</div>
<div class="item">
<div class="field">备注</div>
<div class="value">{{ info.education_remark }}</div>
<div class="value">{{ info.education_remark ? info.education_remark : "" }}</div>
</div>
</div>
</div>
@ -146,11 +131,11 @@
<div class="row">
<div class="item">
<div class="field">兴趣</div>
<div class="value">{{ info.hobby }}</div>
<div class="value">{{ info.hobby ? info.hobby : "" }}</div>
</div>
<div class="item">
<div class="field">备注</div>
<div class="value">{{ info.hobby_remark }}</div>
<div class="value">{{ info.hobby_remark ? info.hobby_remark : "" }}</div>
</div>
</div>
</div>
@ -159,11 +144,11 @@
<div class="row">
<div class="item">
<div class="field">宗教</div>
<div class="value">{{ info.belief }}</div>
<div class="value">{{ info.belief ? info.belief : "" }}</div>
</div>
<div class="item">
<div class="field">备注</div>
<div class="value">{{ info.belief_remark }}</div>
<div class="value">{{ info.belief_remark ? info.belief_remark : "" }}</div>
</div>
</div>
</div>
@ -172,83 +157,83 @@
<div class="row">
<div class="item">
<div class="field">残疾类别</div>
<div class="value">{{ info.disable_type }}</div>
<div class="value">{{ info.disable_type ? info.disable_type : "" }}</div>
</div>
<div class="item">
<div class="field">残疾等级</div>
<div class="value">{{ info.disable_degree }}</div>
<div class="value">{{ info.disable_degree ? info.disable_degree : "" }}</div>
</div>
<div class="item">
<div class="field">残疾证号</div>
<div class="value">{{ info.disable_idcard }}</div>
<div class="value">{{ info.disable_idcard ? info.disable_idcard : "" }}</div>
</div>
<div class="item">
<div class="field">残疾说明</div>
<div class="value">{{ info.disable_remark }}</div>
<div class="value">{{ info.disable_remark ? info.disable_remark : "" }}</div>
</div>
<div class="item">
<div class="field">监护人</div>
<div class="value">{{ info.guardian }}</div>
<div class="value">{{ info.guardian ? info.guardian : "" }}</div>
</div>
<div class="item">
<div class="field">劳动能力</div>
<div class="value">{{ info.skill }}</div>
<div class="value">{{ info.skill ? info.skill : "" }}</div>
</div>
<div class="item">
<div class="field">非义务教育阶段助学</div>
<div class="value">
{{ info.voluntaryEducationFlag }}
{{ info.voluntaryEducationFlag ? info.voluntaryEducationFlag : "" }}
</div>
</div>
<div class="item">
<div class="field">所患大病</div>
<div class="value">
{{ info.voluntaryEducationFlag }}
{{ info.voluntaryEducationFlag ? info.voluntaryEducationFlag : "" }}
</div>
</div>
<div class="item">
<div class="field">大病患病时间</div>
<div class="value">{{ info.illnessCode }}</div>
<div class="value">{{ info.illnessCode ? info.illnessCode : "" }}</div>
</div>
<div class="item">
<div class="field">所患慢性病</div>
<div class="value">
{{ info.chronicDiseaseCode }}
{{ info.chronicDiseaseCode ? info.chronicDiseaseCode : "" }}
</div>
</div>
<div class="item">
<div class="field">慢病患病时间</div>
<div class="value">
{{ info.chronicDiseaseTime }}
{{ info.chronicDiseaseTime ? info.chronicDiseaseTime : "" }}
</div>
</div>
<div class="item">
<div class="field">是否参保</div>
<div class="value">
{{ info.chronicDiseaseTime }}
{{ info.chronicDiseaseTime ? info.chronicDiseaseTime : "" }}
</div>
</div>
<div class="item">
<div class="field">自付金额</div>
<div class="value">{{ info.selfPayAmount }}</div>
<div class="value">{{ info.selfPayAmount ? info.selfPayAmount : "" }}</div>
</div>
<div class="item">
<div class="field">救助金额</div>
<div class="value">{{ info.selfPayAmount }}</div>
<div class="value">{{ info.selfPayAmount ? info.selfPayAmount : "" }}</div>
</div>
<div class="item">
<div class="field">救助时间</div>
<div class="value">
{{ info.deliveranceAmount }}
{{ info.deliveranceAmount ? info.deliveranceAmount : "" }}
</div>
</div>
<div class="item">
<div class="field">享受救助明细序号</div>
<div class="value">{{ info.deliveranceTime }}</div>
<div class="value">{{ info.deliveranceTime ? info.deliveranceTime : "" }}</div>
</div>
<div class="item">
<div class="field">备注</div>
<div class="value">{{ info.deliveranceNum }}</div>
<div class="value">{{ info.deliveranceNum ? info.deliveranceNum : "" }}</div>
</div>
</div>
</div>
@ -257,19 +242,19 @@
<div class="row">
<div class="item">
<div class="field">工作单位</div>
<div class="value">{{ info.workunit }}</div>
<div class="value">{{ info.workunit ? info.workunit : "" }}</div>
</div>
<div class="item">
<div class="field">职业</div>
<div class="value">{{ info.career }}</div>
<div class="value">{{ info.career ? info.career : "" }}</div>
</div>
<div class="item">
<div class="field">离退休时间</div>
<div class="value">{{ info.retire_date }}</div>
<div class="value">{{ info.retire_date ? info.retire_date : "" }}</div>
</div>
<div class="item">
<div class="field">备注</div>
<div class="value">{{ info.retire_remark }}</div>
<div class="value">{{ info.retire_remark ? info.retire_remark : "" }}</div>
</div>
</div>
</div>
@ -278,11 +263,11 @@
<div class="row">
<div class="item">
<div class="field">退休金额</div>
<div class="value">{{ info.retire_income }}</div>
<div class="value">{{ info.retire_income ? info.retire_income : "" }}</div>
</div>
<div class="item">
<div class="field">月收入</div>
<div class="value">{{ info.income }}</div>
<div class="value">{{ info.income ? info.income : "" }}</div>
</div>
</div>
</div>
@ -291,25 +276,25 @@
<div class="row">
<div class="item">
<div class="field">籍贯</div>
<div class="value">{{ info.native }}</div>
<div class="value">{{ info.native ? info.native : "" }}</div>
</div>
<div class="item">
<div class="field">户籍所在地</div>
<div class="value">{{ info.native_place }}</div>
<div class="value">{{ info.native_place ? info.native_place : "" }}</div>
</div>
<div class="item">
<div class="field">现居住地</div>
<div class="value">
{{ info.residence_current }}
{{ info.residence_current ? info.residence_current : "" }}
</div>
</div>
<div class="item">
<div class="field">人户状况</div>
<div class="value">{{ info.household }}</div>
<div class="value">{{ info.household ? info.household : "" }}</div>
</div>
<div class="item">
<div class="field">备注</div>
<div class="value">{{ info.household_remark }}</div>
<div class="value">{{ info.household_remark ? info.household_remark : "" }}</div>
</div>
</div>
</div>
@ -318,39 +303,39 @@
<div class="row">
<div class="item">
<div class="field">与户主关系</div>
<div class="value">{{ info.holdingrel }}</div>
<div class="value">{{ info.holdingrel ? info.holdingrel : "" }}</div>
</div>
<div class="item">
<div class="field">居住情况</div>
<div class="value">{{ info.residence }}</div>
<div class="value">{{ info.residence ? info.residence : "" }}</div>
</div>
<div class="item">
<div class="field">婚姻状况</div>
<div class="value">{{ info.marital }}</div>
<div class="value">{{ info.marital ? info.marital : "" }}</div>
</div>
<div class="item">
<div class="field">配偶状况</div>
<div class="value">{{ info.spouse }}</div>
<div class="value">{{ info.spouse ? info.spouse : "" }}</div>
</div>
<div class="item">
<div class="field">有无赡养人</div>
<div class="value">{{ info.supporters }}</div>
<div class="value">{{ info.supporters ? info.supporters : "" }}</div>
</div>
<div class="item">
<div class="field">与赡养人关系</div>
<div class="value">
{{ info.supporters_relation }}
{{ info.supporters_relation ? info.supporters_relation : "" }}
</div>
</div>
<div class="item">
<div class="field">赡养人联系电话</div>
<div class="value">
{{ info.dependantMobile }}
{{ info.dependantMobile ? info.dependantMobile : "" }}
</div>
</div>
<div class="item">
<div class="field">备注</div>
<div class="value">{{ info.familyInfoRemark }}</div>
<div class="value">{{ info.familyInfoRemark ? info.familyInfoRemark : "" }}</div>
</div>
</div>
</div>
@ -359,49 +344,49 @@
<div class="row">
<div class="item">
<div class="field">入党时间</div>
<div class="value">{{ info.joinTime }}</div>
<div class="value">{{ info.joinTime ? info.joinTime : "" }}</div>
</div>
<div class="item">
<div class="field">转正时间</div>
<div class="value">{{ info.positiveTime }}</div>
<div class="value">{{ info.positiveTime ? info.positiveTime : "" }}</div>
</div>
<div class="item">
<div class="field">所属支部</div>
<div class="value">{{ info.branchId }}</div>
<div class="value">{{ info.branchId ? info.branchId : "" }}</div>
</div>
<div class="item">
<div class="field">是否流动党员</div>
<div class="value">{{ info.flowFlag }}</div>
<div class="value">{{ info.flowFlag ? info.flowFlag : "" }}</div>
</div>
<div class="item">
<div class="field">流动党员活动证号</div>
<div class="value">{{ info.flowActNum }}</div>
<div class="value">{{ info.flowActNum ? info.flowActNum : "" }}</div>
</div>
<div class="item">
<div class="field">职务</div>
<div class="value">{{ info.partyJob }}</div>
<div class="value">{{ info.partyJob ? info.partyJob : "" }}</div>
</div>
<div class="item">
<div class="field">是否退休</div>
<div class="value">{{ info.retiredFlag }}</div>
<div class="value">{{ info.retiredFlag ? info.retiredFlag : "" }}</div>
</div>
<div class="item">
<div class="field">是否党员中心户</div>
<div class="value">{{ info.centerFlag }}</div>
<div class="value">{{ info.centerFlag ? info.centerFlag : "" }}</div>
</div>
<div class="item">
<div class="field">入党时所在党支部</div>
<div class="value">{{ info.joinBranchName }}</div>
<div class="value">{{ info.joinBranchName ? info.joinBranchName : "" }}</div>
</div>
<div class="item">
<div class="field">组织关系转入社区时间</div>
<div class="value">
{{ info.joinCommunityTime }}
{{ info.joinCommunityTime ? info.joinCommunityTime : "" }}
</div>
</div>
<div class="item">
<div class="field">是否请长假</div>
<div class="value">{{ info.longHolidayFlag }}</div>
<div class="value">{{ info.longHolidayFlag ? info.longHolidayFlag : "" }}</div>
</div>
</div>
</div>
@ -410,23 +395,23 @@
<div class="row">
<div class="item">
<div class="field">住房性质</div>
<div class="value">{{ info.housingNature }}</div>
<div class="value">{{ info.housingNature ? info.housingNature : "" }}</div>
</div>
<div class="item">
<div class="field">保障类型</div>
<div class="value">{{ info.securityType }}</div>
<div class="value">{{ info.securityType ? info.securityType : "" }}</div>
</div>
<div class="item">
<div class="field">发证日期</div>
<div class="value">{{ info.certificateDate }}</div>
<div class="value">{{ info.certificateDate ? info.certificateDate : "" }}</div>
</div>
<div class="item">
<div class="field">补贴编号</div>
<div class="value">{{ info.subsidyNum }}</div>
<div class="value">{{ info.subsidyNum ? info.subsidyNum : "" }}</div>
</div>
<div class="item">
<div class="field">补贴金额</div>
<div class="value">{{ info.subsidyAmount }}</div>
<div class="value">{{ info.subsidyAmount ? info.subsidyAmount : "" }}</div>
</div>
</div>
</div>
@ -435,39 +420,39 @@
<div class="row">
<div class="item">
<div class="field">原工作单位</div>
<div class="value">{{ info.originWorkUnit }}</div>
<div class="value">{{ info.originWorkUnit ? info.originWorkUnit : "" }}</div>
</div>
<div class="item">
<div class="field">失业时间</div>
<div class="value">{{ info.unemploymentTime }}</div>
<div class="value">{{ info.unemploymentTime ? info.unemploymentTime : "" }}</div>
</div>
<div class="item">
<div class="field">失业证号</div>
<div class="value">{{ info.unemploymentTime }}</div>
<div class="value">{{ info.unemploymentTime ? info.unemploymentTime : "" }}</div>
</div>
<div class="item">
<div class="field">再就业优惠证号</div>
<div class="value">{{ info.employmentNum }}</div>
<div class="value">{{ info.employmentNum ? info.employmentNum : "" }}</div>
</div>
<div class="item">
<div class="field">技术特长</div>
<div class="value">{{ info.specialSkill }}</div>
<div class="value">{{ info.specialSkill ? info.specialSkill : "" }}</div>
</div>
<div class="item">
<div class="field">失业原因</div>
<div class="value">
{{ info.unemploymentReason }}
{{ info.unemploymentReason ? info.unemploymentReason : "" }}
</div>
</div>
<div class="item">
<div class="field">是否就业困难对象</div>
<div class="value">
{{ info.employmentHardFlag }}
{{ info.employmentHardFlag ? info.employmentHardFlag : "" }}
</div>
</div>
<div class="item">
<div class="field">劳动能力就业愿望</div>
<div class="value">{{ info.employmentWish }}</div>
<div class="value">{{ info.employmentWish ? info.employmentWish : "" }}</div>
</div>
</div>
</div>
@ -476,46 +461,46 @@
<div class="row">
<div class="item">
<div class="field">入伍时间</div>
<div class="value">{{ info.joinArmyTime }}</div>
<div class="value">{{ info.joinArmyTime ? info.joinArmyTime : "" }}</div>
</div>
<div class="item">
<div class="field">退伍时间</div>
<div class="value">{{ info.leaveArmyTime }}</div>
<div class="value">{{ info.leaveArmyTime ? info.leaveArmyTime : "" }}</div>
</div>
<div class="item">
<div class="field">服役单位</div>
<div class="value">{{ info.serviceUnit }}</div>
<div class="value">{{ info.serviceUnit ? info.serviceUnit : "" }}</div>
</div>
<div class="item">
<div class="field">接收单位</div>
<div class="value">{{ info.receiveUnit }}</div>
<div class="value">{{ info.receiveUnit ? info.receiveUnit : "" }}</div>
</div>
<div class="item">
<div class="field">待安置补助金</div>
<div class="value">{{ info.settlementAmount }}</div>
<div class="value">{{ info.settlementAmount ? info.settlementAmount : "" }}</div>
</div>
<div class="item">
<div class="field">培训状况</div>
<div class="value">{{ info.trainDesc }}</div>
<div class="value">{{ info.trainDesc ? info.trainDesc : "" }}</div>
</div>
<div class="item">
<div class="field">参战时间开始日期</div>
<div class="value">{{ info.joinWarStartTime }}</div>
<div class="value">{{ info.joinWarStartTime ? info.joinWarStartTime : "" }}</div>
</div>
<div class="item">
<div class="field">参战时间截止日期</div>
<div class="value">{{ info.joinWarEndTime }}</div>
<div class="value">{{ info.joinWarEndTime ? info.joinWarEndTime : "" }}</div>
</div>
<div class="item">
<div class="field">现就业状况</div>
<div class="value">
{{ info.employmentSituation }}
{{ info.employmentSituation ? info.employmentSituation : "" }}
</div>
</div>
<div class="item">
<div class="field">是否办理公益性岗位</div>
<div class="value">
{{ info.pubWelfareJobFlag }}
{{ info.pubWelfareJobFlag ? info.pubWelfareJobFlag : "" }}
</div>
</div>
</div>
@ -525,11 +510,11 @@
<div class="row">
<div class="item">
<div class="field">职务</div>
<div class="value">{{ info.duty }}</div>
<div class="value">{{ info.duty ? info.duty : "" }}</div>
</div>
<div class="item">
<div class="field">探亲情况</div>
<div class="value">{{ info.visitation }}</div>
<div class="value">{{ info.visitation ? info.visitation : "" }}</div>
</div>
</div>
</div>
@ -539,12 +524,12 @@
<div class="item">
<div class="field">志愿者类别</div>
<div class="value">
{{ info.volunteerCategory }}
{{ info.volunteerCategory ? info.volunteerCategory : "" }}
</div>
</div>
<div class="item">
<div class="field">备注</div>
<div class="value">{{ info.volunteerRemark }}</div>
<div class="value">{{ info.volunteerRemark ? info.volunteerRemark : "" }}</div>
</div>
</div>
</div>
@ -553,7 +538,7 @@
<div class="row">
<div class="item">
<div class="field">高龄补助</div>
<div class="value">{{ info.volunteerRemark }}</div>
<div class="value">{{ info.volunteerRemark ? info.volunteerRemark : "" }}</div>
</div>
</div>
</div>
@ -563,7 +548,7 @@
<div class="item">
<div class="field">特殊人群类别</div>
<div class="value">
{{ info.specialCategoryCode }}
{{ info.specialCategoryCode ? info.specialCategoryCode : "" }}
</div>
</div>
</div>
@ -573,23 +558,23 @@
<div class="row">
<div class="item">
<div class="field">出生地</div>
<div class="value">{{ info.birthplace }}</div>
<div class="value">{{ info.birthplace ? info.birthplace : "" }}</div>
</div>
<div class="item">
<div class="field">父亲姓名</div>
<div class="value">{{ info.father }}</div>
<div class="value">{{ info.father ? info.father : "" }}</div>
</div>
<div class="item">
<div class="field">母亲姓名</div>
<div class="value">{{ info.mother }}</div>
<div class="value">{{ info.mother ? info.mother : "" }}</div>
</div>
<div class="item">
<div class="field">胎次</div>
<div class="value">{{ info.count }}</div>
<div class="value">{{ info.count ? info.count : "" }}</div>
</div>
<div class="item">
<div class="field">申报日期</div>
<div class="value">{{ info.reportDate }}</div>
<div class="value">{{ info.reportDate ? info.reportDate : "" }}</div>
</div>
</div>
</div>
@ -598,19 +583,19 @@
<div class="row">
<div class="item">
<div class="field">死亡时间</div>
<div class="value">{{ info.deathDate }}</div>
<div class="value">{{ info.deathDate ? info.deathDate : "" }}</div>
</div>
<div class="item">
<div class="field">加入原因</div>
<div class="value">{{ info.deathReason }}</div>
<div class="value">{{ info.deathReason ? info.deathReason : "" }}</div>
</div>
<div class="item">
<div class="field">移除时间</div>
<div class="value">{{ info.removeDate }}</div>
<div class="value">{{ info.removeDate ? info.removeDate : "" }}</div>
</div>
<div class="item">
<div class="field">移除原因</div>
<div class="value">{{ info.removeReason }}</div>
<div class="value">{{ info.removeReason ? info.removeReason : "" }}</div>
</div>
</div>
</div>
@ -619,39 +604,39 @@
<div class="row">
<div class="item">
<div class="field">迁出信息</div>
<div class="value">{{ info.outOfTime }}</div>
<div class="value">{{ info.outOfTime ? info.outOfTime : "" }}</div>
</div>
<div class="item">
<div class="field">迁出类别</div>
<div class="value">{{ info.type }}</div>
<div class="value">{{ info.type ? info.type : "" }}</div>
</div>
<div class="item">
<div class="field">迁出原因</div>
<div class="value">{{ info.reason }}</div>
<div class="value">{{ info.reason ? info.reason : "" }}</div>
</div>
<div class="item">
<div class="field">迁出至组织</div>
<div class="value">{{ info.deptId }}</div>
<div class="value">{{ info.deptId ? info.deptId : "" }}</div>
</div>
<div class="item">
<div class="field">小区</div>
<div class="value">{{ info.villageName }}</div>
<div class="value">{{ info.villageName ? info.villageName : "" }}</div>
</div>
<div class="item">
<div class="field">楼号</div>
<div class="value">{{ info.buildName }}</div>
<div class="value">{{ info.buildName ? info.buildName : "" }}</div>
</div>
<div class="item">
<div class="field">单元</div>
<div class="value">{{ info.unitName }}</div>
<div class="value">{{ info.unitName ? info.unitName : "" }}</div>
</div>
<div class="item">
<div class="field">房屋</div>
<div class="value">{{ info.homeName }}</div>
<div class="value">{{ info.homeName ? info.homeName : "" }}</div>
</div>
<div class="item">
<div class="field">外迁地址</div>
<div class="value">{{ info.address }}</div>
<div class="value">{{ info.address ? info.address : "" }}</div>
</div>
</div>
</div>
@ -827,16 +812,7 @@ export default {
currentTabIndex: 0,
startTabIndex: 0,
BaseTabList: [
"教育信息",
"兴趣爱好",
"宗教",
"健康",
"工作",
"经济状况",
"居住",
"家庭",
],
BaseTabList: ["教育信息", "兴趣爱好", "宗教", "健康", "工作", "经济状况", "居住", "家庭"],
tabList: [],
};
},

21
src/views/dataBoard/organizational/dangTree/index.vue

@ -74,6 +74,22 @@ export default {
const myArray = [...new Set(this.levelArr)];
this.levelArr = this.getLevelArrNum(myArray);
},
hideChildrenData(data) {
const newData = [...data];
newData.forEach((item) => {
if (item.laneLevel === 1) {
this.hideChildrenData(item.children);
}
if (item.children && item.children.length > 0 && item.laneLevel >= 2) {
item._children = item.children;
item.children = null;
this.hideChildrenData(item._children);
}
});
console.log(newData);
},
//
getTreeData() {
this.loading = true;
@ -87,7 +103,8 @@ export default {
this.$message.error("暂无数据");
return;
}
this.nodeConfig = data[0];
// this.nodeConfig = data[0];
this.hideChildrenData(data);
this.getDataPLevel(data);
this.loading = false;
} else {
@ -193,7 +210,7 @@ export default {
.flowLevel-6,
.flowLevel-7 {
@include flowLevwlCommon;
height: 126px;
height: 160px;
}
.flowLevel-2 {

54
src/views/dataBoard/organizational/jwTree/index.vue

@ -2,7 +2,7 @@
<div class="wrap">
<!-- v-on:wheel="zoomSize" :style="'transform: scale(' + nowVal / 100 + ');'" -->
<div class="content">
<div v-for="(item, index) in levelArr" :key="item" :class="[item === 'unit_chief' ? 'lastLevel' : '', item === 'public_welfare_post' ? 'lastLevel1' : '', `flowLevel-${index + 1}`]" :style="{ height: item === 'building_chief' ? '90px' : '', lineHeight: item === 'building_chief' ? '90px' : '' }">
<div v-for="(item, index) in levelArr" :key="item" :class="[item === 'unit_chief' ? 'lastLevel' : '', item === 'public_welfare_post' ? 'lastLevel1' : '', `flowLevel-${index + 1}`]" :style="{ height: item === 'building_chief' ? '150px' : '', lineHeight: item === 'building_chief' ? '150px' : '' }">
<div :class="[item === 'building_chief' ? 'otherTop' : '']">{{ getTitleNameMapFun(item) }}</div>
</div>
<el-row>
@ -10,7 +10,7 @@
<div class="contentList"></div>
</el-col>
<el-col :span="20">
<div class="dingflow-design" v-loading="loading" element-loading-text="加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 21, 64, 0.3)">
<div class="dingflow-design" :style="{ height: treeHeight + 'px' }" v-loading="loading" element-loading-text="加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 21, 64, 0.3)">
<nodeWrapJw :nodeConfig.sync="nodeConfig"></nodeWrapJw>
</div>
</el-col>
@ -27,6 +27,7 @@ export default {
loading: false,
levelArr: [],
nowVal: 100,
treeHeight: 300,
nodeConfig: {},
};
},
@ -82,8 +83,25 @@ export default {
}
});
const myArray = [...new Set(this.levelArr)];
this.treeHeight = myArray.length * 180 + 100;
this.levelArr = this.getLevelArrNum(myArray);
},
hideChildrenData(data) {
const newData = [...data];
newData.forEach((item) => {
if (item.laneLevel === 1) {
this.hideChildrenData(item.children);
}
if (item.children && item.children.length > 0 && item.laneLevel >= 2) {
item._children = item.children;
item.children = null;
this.hideChildrenData(item._children);
}
});
this.nodeConfig = newData[0];
},
//
getTreeData() {
this.loading = true;
@ -97,8 +115,8 @@ export default {
this.$message.error("暂无数据");
return;
}
this.nodeConfig = data[0];
this.getDataPLevel(data);
this.hideChildrenData(data);
this.loading = false;
} else {
this.loading = false;
@ -167,7 +185,7 @@ export default {
}
.lastLevel {
height: 145px !important;
height: 160px !important;
margin-top: -45px !important;
}
.lastLevel1 {
@ -202,19 +220,19 @@ export default {
.flowLevel-6,
.flowLevel-7 {
@include flowLevwlCommon;
height: 126px;
height: 180px;
}
.flowLevel-2 {
top: 181px;
line-height: 110px;
line-height: 180px;
div {
padding-left: 80px;
&::after {
@include flowLevelAfter;
top: 26px;
top: 60px;
left: 15px;
width: 180px;
height: 60px;
@ -224,15 +242,15 @@ export default {
}
.flowLevel-3 {
top: 329px;
line-height: 120px;
top: 379px;
line-height: 185px;
div {
padding-left: 80px;
&::after {
@include flowLevelAfter;
top: 31px;
top: 62px;
left: 15px;
width: 180px;
height: 60px;
@ -242,7 +260,7 @@ export default {
}
.flowLevel-4 {
top: 475px;
top: 577px;
line-height: 128px;
div {
@ -250,7 +268,7 @@ export default {
&::after {
@include flowLevelAfter;
top: 35px;
top: 43px;
left: 15px;
width: 180px;
height: 60px;
@ -260,7 +278,7 @@ export default {
}
.flowLevel-5 {
top: 623px;
top: 775px;
line-height: 130px;
div {
@ -278,15 +296,15 @@ export default {
}
.flowLevel-6 {
top: 771px;
line-height: 130px;
top: 991px;
line-height: 171px;
div {
padding-left: 80px;
&::after {
@include flowLevelAfter;
top: 35px;
top: 55px;
left: 15px;
width: 180px;
height: 60px;
@ -296,7 +314,7 @@ export default {
}
.flowLevel-7 {
top: 922px;
top: 1161px;
line-height: 130px;
div {
@ -315,7 +333,7 @@ export default {
.otherTop {
&::after {
top: 15px !important;
top: 43px !important;
}
}

2
src/views/dataBoard/organizational/microgrid/components/popDetails.vue

@ -52,7 +52,7 @@
</div>
<div class="item">
<div class="field">证件号</div>
<div class="value">{{ $sensitive(info.idcard, 6, 16) }}</div>
<div class="value">{{ $sensitive(info.idcard, 0, 14) }}</div>
</div>
<div class="item">
<div class="field">备注</div>

2
src/views/dataBoard/organizational/microgrid/index.vue

@ -42,7 +42,7 @@
<el-table-column v-if="otherTabel === 'tzrq'" prop="gender" label="性别" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="idNum" label="证件号">
<template slot-scope="scope">
{{ $sensitive(scope.row.idNum, 6, 16) }}
{{ $sensitive(scope.row.idNum, 0, 14) }}
</template>
</el-table-column>
<el-table-column v-if="otherTabel === 'tzrq'" prop="categoryType" label="人员类别" />

1
src/views/dataBoard/overview/components/jdwgy.vue

@ -140,6 +140,7 @@ export default {
} else {
this.$http.get("/actual/base/streetOverview/queryPersonnelGroup?level=" + this.currentLevelData.orgLevel + "&orgId=" + this.currentLevelData.orgId + "&personnelType=" + this.peopleType).then(({ data: { data } }) => {
this.loading = false;
console.log(data);
this.list = data.personnelInfoVOList;
this.unitList = data.departmentInfoVOList ? data.departmentInfoVOList : [];
this.$emit("setNum", data.orgPersonnelVOList);

69
src/views/dataBoard/overview/components/map-top.vue

@ -4,7 +4,7 @@
<div class="item" :class="selectIndex === 'staffAgency' ? 'xz' : ''">
<div class="item-info" @click="selectIcon('staffAgency')">
<div>
<img src="~@/assets/images/shuju/overview/sqgzz-icon.png"/>
<img src="~@/assets/images/shuju/overview/sqgzz-icon.png" />
社区工作者
</div>
<div>
@ -15,7 +15,7 @@
<div class="item" :class="selectIndex === 'staffGrid' ? 'xz' : ''">
<div class="item-info" @click="selectIcon('staffGrid')">
<div>
<img src="~@/assets/images/shuju/overview/wgy-icon.png"/>
<img src="~@/assets/images/shuju/overview/wgy-icon.png" />
网格员
</div>
<div>
@ -24,9 +24,9 @@
</div>
</div>
<div class="item" :class="selectIndex === 'chief' ? 'xz' : ''">
<div class="item-info" @click="selectIcon( 'chief')">
<div class="item-info" @click="selectIcon('chief')">
<div>
<img src="~@/assets/images/shuju/overview/lzz-icon.png"/>
<img src="~@/assets/images/shuju/overview/lzz-icon.png" />
楼组/单元长
</div>
<div>
@ -37,7 +37,7 @@
<div class="item" :class="selectIndex === 'publicWelfareNum' ? 'xz' : ''">
<div class="item-info" @click="selectIcon('publicWelfareNum')">
<div>
<img src="~@/assets/images/shuju/overview/gyg-icon.png"/>
<img src="~@/assets/images/shuju/overview/gyg-icon.png" />
公益岗
</div>
<div>
@ -47,18 +47,16 @@
</div>
<div class="item" :class="selectIndex === 'staffDepartment' ? 'xz' : ''">
<div class="item-info" @click="selectIcon('staffDepartment')">
<div>
<img src="~@/assets/images/shuju/overview/dwzz-icon.png"/>单位/组织
</div>
<div><img src="~@/assets/images/shuju/overview/dwzz-icon.png" />单位/组织</div>
<div>
<b>{{ numData.staffDepartmentNum }}</b>
</div>
</div>
</div>
<div class="item" :class="selectIndex === 'volunteer'? 'xz':''">
<div class="item" :class="selectIndex === 'volunteer' ? 'xz' : ''">
<div class="item-info" @click="selectIcon('volunteer')">
<div>
<img src="~@/assets/images/shuju/overview/zyz-icon.png"/>
<img src="~@/assets/images/shuju/overview/zyz-icon.png" />
志愿者
</div>
<div>
@ -71,7 +69,7 @@
<div class="item" :class="selectIndex === 'unit' ? 'xz' : ''" @click="selectIcon('unit')">
<div class="item-info">
<div>
<img src="~@/assets/images/overview/icon_wg.png"/>
<img src="~@/assets/images/overview/icon_wg.png" />
微网格
</div>
<div>
@ -82,7 +80,7 @@
<div class="item" :class="selectIndex === 'building' ? 'xz' : ''" @click="selectIcon('building')">
<div class="item-info">
<div>
<img src="~@/assets/images/overview/icon_ld.png"/>
<img src="~@/assets/images/overview/icon_ld.png" />
楼栋
</div>
<div>
@ -90,10 +88,10 @@
</div>
</div>
</div>
<div class="item" >
<div class="item">
<div class="item-info">
<div>
<img src="~@/assets/images/overview/icon_fw.png"/>
<img src="~@/assets/images/overview/icon_fw.png" />
房屋
</div>
<div>
@ -101,10 +99,10 @@
</div>
</div>
</div>
<div class="item" >
<div class="item">
<div class="item-info">
<div>
<img src="~@/assets/images/overview/icon_jm.png"/>
<img src="~@/assets/images/overview/icon_jm.png" />
居民
</div>
<div>
@ -125,12 +123,16 @@ export default {
},
level: {
type: String,
default: '',
default: "",
},
peopleType: {
type: String,
default: "",
},
},
data() {
return {
selectIndex: 0,
selectIndex: "",
numData: {},
};
},
@ -140,6 +142,18 @@ export default {
this.getData(val);
}
},
peopleType(val) {
if (val) {
this.selectIndex = val;
}
},
level(val) {
if (val === "grid") {
this.selectIndex = "unit";
} else {
this.selectIndex = "staffAgency";
}
},
},
mounted() {
if (this.currentLevelData.orgId) {
@ -152,26 +166,15 @@ export default {
this.$emit("changeType", type);
},
getData(item) {
this.$http
.get(
"/actual/base/streetOverview/mapOrgSum?level=" +
item.orgLevel +
"&orgId=" +
item.orgId
)
.then(({data: {data}}) => {
this.numData = data;
});
this.$http.get("/actual/base/streetOverview/mapOrgSum?level=" + item.orgLevel + "&orgId=" + item.orgId).then(({ data: { data } }) => {
this.numData = data;
});
},
},
};
</script>
<style
lang="scss"
src="@/assets/scss/dataBoard/overview/index.scss"
scoped
></style>
<style lang="scss" src="@/assets/scss/dataBoard/overview/index.scss" scoped></style>
<style lang="scss" scoped>
.xz {
background: url("@/assets/images/shuju/overview/top-xz-bg.png") !important;

240
src/views/dataBoard/overview/index.vue

@ -8,86 +8,33 @@
<div class="g-row">
<div class="g-left">
<div class="m-box">
<title-box
:text="`${
currentLevel === 'district'
? '区'
: currentLevel === 'street'
? '街道'
: currentLevel === 'community'
? '社区'
: currentLevel === 'grid'
? '网格'
: ''
}介绍`"
/>
<title-box :text="`${currentLevel === 'district' ? '区' : currentLevel === 'street' ? '街道' : currentLevel === 'community' ? '社区' : currentLevel === 'grid' ? '网格' : ''}介绍`" />
<jdjs :currentLevelData="currentLevelData" />
</div>
<div class="m-box">
<title-box
:text="`${
currentLevel === 'district'
? '区'
: currentLevel === 'street'
? '街道'
: currentLevel === 'community'
? '社区'
: currentLevel === 'grid'
? '网格'
: ''
}图谱画像`"
/>
<title-box :text="`${currentLevel === 'district' ? '区' : currentLevel === 'street' ? '街道' : currentLevel === 'community' ? '社区' : currentLevel === 'grid' ? '网格' : ''}图谱画像`" />
<jdtphx :currentLevelData="currentLevelData" :id="orgId" />
</div>
</div>
<div class="g-center">
<div
:class="listShow ? 'm-map' : 'g-center-open'"
style="overflow: hidden"
>
<map-top
:currentLevelData="currentLevelData"
@changeType="changeType"
:level="currentLevel"
/>
<div :class="listShow ? 'm-map' : 'g-center-open'" style="overflow: hidden">
<map-top :currentLevelData="currentLevelData" :peopleType="peopleType" @changeType="changeType" :level="currentLevel" />
<div v-if="breadList.length > 1" class="go-back" @click="goBackMap">
<img src="~@/assets/images/shuju/overview/go-back.png" />
</div>
<grid-map
ref="map"
@clickAgency="clickAgencyItem"
:srcGridData="orgData"
@clickDotBtn="handleClickDotBtn"
:level="currentLevel"
:peopleType="peopleType"
/>
<grid-map ref="map" @clickAgency="clickAgencyItem" :srcGridData="orgData" @clickDotBtn="handleClickDotBtn" :level="currentLevel" :peopleType="peopleType" />
</div>
<div class="m-box m-rybox">
<title-box :text="`${customerName}${peopleList[peopleType]}`">
<div class="up-style" style="width: 51%">
<div>
<img
v-if="listShow"
@click="upDownShow"
src="~@/assets/images/overview/down-icon.png"
/>
<img
v-else
@click="upDownShow"
src="~@/assets/images/overview/up-icon.png"
/>
<img v-if="listShow" @click="upDownShow" src="~@/assets/images/overview/down-icon.png" />
<img v-else @click="upDownShow" src="~@/assets/images/overview/up-icon.png" />
</div>
</div>
</title-box>
<jdwgy
v-show="listShow"
:peopleType="peopleType"
:currentLevelData="currentLevelData"
:level="currentLevel"
@setNum="setNum"
@setPoint="setPoint"
/>
<jdwgy v-show="listShow" :peopleType="peopleType" :currentLevelData="currentLevelData" :level="currentLevel" @setNum="setNum" @setPoint="setPoint" />
</div>
</div>
@ -97,146 +44,57 @@
<rfsjtj :currentLevelData="currentLevelData" />
</div>
<!-- 街道概览 -->
<div
v-if="currentLevel === 'street' || currentLevel === 'district'"
class="m-box"
>
<div v-if="currentLevel === 'street' || currentLevel === 'district'" class="m-box">
<title-box text="各社区人房数据更新排行">
<span class="date-span">
<el-date-picker
popper-class="date-current-weiyi"
:append-to-body="false"
v-model="rfphDate"
format="yyyy-MM"
value-format="yyyy-MM"
@change="changeDate"
type="month"
:clearable="false"
placeholder="选择月"
>
</el-date-picker>
<el-date-picker popper-class="date-current-weiyi" :append-to-body="false" v-model="rfphDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" type="month" :clearable="false" placeholder="选择月"> </el-date-picker>
</span>
</title-box>
<sqrfph :currentLevelData="currentLevelData" :date="rfphDate" />
</div>
<div
v-if="currentLevel === 'street' || currentLevel === 'district'"
class="m-box"
>
<div v-if="currentLevel === 'street' || currentLevel === 'district'" class="m-box">
<title-box text="各社区12345投诉事件统计">
<span class="date-span">
<el-date-picker
popper-class="date-current-weiyi"
:append-to-body="false"
v-model="sq12345Date"
format="yyyy-MM"
value-format="yyyy-MM"
type="month"
:clearable="false"
placeholder="选择月"
/>
<el-date-picker popper-class="date-current-weiyi" :append-to-body="false" v-model="sq12345Date" format="yyyy-MM" value-format="yyyy-MM" type="month" :clearable="false" placeholder="选择月" />
</span>
</title-box>
<sq12345 :currentLevelData="currentLevelData" :date="sq12345Date" />
</div>
<!-- 社区&网格-->
<div
v-if="currentLevel === 'community' || currentLevel === 'grid'"
class="m-box"
>
<div v-if="currentLevel === 'community' || currentLevel === 'grid'" class="m-box">
<title-box text="人房数据动态更新" />
<Tabs
v-model="dynamicType"
:list="dynamicTypeList"
v-if="currentLevel === 'community'"
@changeVal="dynamicTypeChange"
/>
<DynamicHumanRoomData
:currentLevelData="currentLevelData"
:currentLevel="currentLevel"
v-if="dynamicType === 1"
/>
<GridUpdateRanking
:currentLevelData="currentLevelData"
:currentLevel="currentLevel"
v-if="dynamicType === 2"
/>
<Tabs v-model="dynamicType" :list="dynamicTypeList" v-if="currentLevel === 'community'" @changeVal="dynamicTypeChange" />
<DynamicHumanRoomData :currentLevelData="currentLevelData" :currentLevel="currentLevel" v-if="dynamicType === 1" />
<GridUpdateRanking :currentLevelData="currentLevelData" :currentLevel="currentLevel" v-if="dynamicType === 2" />
</div>
<!-- 社区概览-->
<div v-if="currentLevel === 'community'" class="m-box">
<title-box text="社区满意度自查结果">
<span class="date-span">
<el-date-picker
popper-class="date-current-weiyi"
:append-to-body="false"
v-model="sqzcDate"
format="yyyy-MM"
value-format="yyyy-MM"
type="month"
:clearable="false"
placeholder="选择月"
/>
<el-date-picker popper-class="date-current-weiyi" :append-to-body="false" v-model="sqzcDate" format="yyyy-MM" value-format="yyyy-MM" type="month" :clearable="false" placeholder="选择月" />
</span>
</title-box>
<CommunityResult
:currentLevelData="currentLevelData"
:date="sqzcDate"
/>
<CommunityResult :currentLevelData="currentLevelData" :date="sqzcDate" />
</div>
<div v-if="currentLevel === 'community'" class="m-box">
<title-box text="事件&回访">
<span class="date-span">
<el-date-picker
popper-class="date-current-weiyi"
:append-to-body="false"
v-model="sjhfDate"
format="yyyy-MM"
value-format="yyyy-MM"
@change="changeDate"
type="month"
:clearable="false"
placeholder="选择月"
/>
<el-date-picker popper-class="date-current-weiyi" :append-to-body="false" v-model="sjhfDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" type="month" :clearable="false" placeholder="选择月" />
</span>
</title-box>
<Tabs
v-model="eventType"
:list="eventTypeList"
@changeVal="eventTypeChange"
/>
<EventAndFollowUp
:currentLevelData="currentLevelData"
:date="sjhfDate"
v-if="eventType === 1"
/>
<FollowUp
:currentLevelData="currentLevelData"
:date="sjhfDate"
v-if="eventType === 2"
/>
<Tabs v-model="eventType" :list="eventTypeList" @changeVal="eventTypeChange" />
<EventAndFollowUp :currentLevelData="currentLevelData" :date="sjhfDate" v-if="eventType === 1" />
<FollowUp :currentLevelData="currentLevelData" :date="sjhfDate" v-if="eventType === 2" />
</div>
<!-- 网格 -->
<div v-if="currentLevel === 'grid'" class="m-box">
<title-box text="社区网格数据更新情况排行">
<span class="date-span">
<el-date-picker
popper-class="date-current-weiyi"
:append-to-body="false"
v-model="sqwggxDate"
format="yyyy-MM"
value-format="yyyy-MM"
@change="changeDate"
type="month"
:clearable="false"
placeholder="选择月"
/>
<el-date-picker popper-class="date-current-weiyi" :append-to-body="false" v-model="sqwggxDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" type="month" :clearable="false" placeholder="选择月" />
</span>
</title-box>
<RankingGridData
:currentLevelData="currentLevelData"
:date="sqwggxDate"
/>
<RankingGridData :currentLevelData="currentLevelData" :date="sqwggxDate" />
</div>
</div>
</div>
@ -384,8 +242,7 @@ export default {
methods: {
changeCustomerName() {
this.customerName =
localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台";
this.customerName = localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台";
},
changeType(e) {
this.peopleType = e;
@ -440,8 +297,7 @@ export default {
orgLevel: item.level,
};
} else {
this.customerName =
localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台";
this.customerName = localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台";
this.currentLevelData = {
...this.$store.state.chooseArea.chooseName,
orgLevel: this.$store.state.chooseArea.chooseName.level,
@ -477,13 +333,11 @@ export default {
if (!item.longitude) {
return this.$message.error("请先设置坐标");
}
this.$refs.map.setDotMarker(item, [
parseFloat(item.longitude),
parseFloat(item.latitude),
]);
this.$refs.map.setDotMarker(item, [parseFloat(item.longitude), parseFloat(item.latitude)]);
},
setNum(data) {
// data
console.log("hhghjgjhgjhgjh");
let params = [];
let org = this.orgData.children;
org.forEach((item) => {
@ -499,7 +353,9 @@ export default {
});
});
// if (params.length) {
console.log("hhghjgjhgjhgjh111");
this.$refs.map.setNum(params);
console.log("hhghjgjhgjhgjh2222");
// }
},
upDownShow() {
@ -511,25 +367,19 @@ export default {
// }
},
//
async getMapData(
orgId = this.$store.state.chooseArea.chooseName.orgId,
level = this.$store.state.chooseArea.chooseName.level
) {
async getMapData(orgId = this.$store.state.chooseArea.chooseName.orgId, level = this.$store.state.chooseArea.chooseName.level) {
const url = "org_map";
this.$http
.post(`/gov/org/agency/maporg`, { orgId, level })
.then(({ data: { data } }) => {
this.orgData = data;
this.orgId = this.orgData.id;
this.orgLevel = this.orgData.level;
this.currentLevel = this.orgData.agencyLevel;
this.currentLevelData = {
orgId: this.orgId,
orgLevel: this.currentLevel,
};
this.peopleType =
this.currentLevel === "grid" ? "unit" : "staffAgency";
});
this.$http.post(`/gov/org/agency/maporg`, { orgId, level }).then(({ data: { data } }) => {
this.orgData = data;
this.orgId = this.orgData.id;
this.orgLevel = this.orgData.level;
this.currentLevel = this.orgData.agencyLevel;
this.currentLevelData = {
orgId: this.orgId,
orgLevel: this.currentLevel,
};
this.peopleType = this.currentLevel === "grid" ? "unit" : "staffAgency";
});
},
//
@ -623,11 +473,7 @@ export default {
background: #000;
}
</style>
<style
lang="scss"
src="@/assets/scss/dataBoard/overview/index.scss"
scoped
></style>
<style lang="scss" src="@/assets/scss/dataBoard/overview/index.scss" scoped></style>
<style lang="scss" scoped>
.tabs {

2
src/views/dataBoard/renfang/resi/classNew.vue

@ -635,7 +635,7 @@ export default {
item.gridName ? item.gridName : "--",
item.fullName ? item.fullName : "--",
item.mobile ? $sensitive(item.mobile, 3, 7) : "--",
item.idNum ? $sensitive(item.idNum, 6, 16) : "--",
item.idNum ? $sensitive(item.idNum, 0, 14) : "--",
item.gender ? gender[item.gender] : "--",
item.birthday ? item.birthday : "--",
{ type: "operate", list: ["查看"] },

8
src/views/dataBoard/satisfactionEval/modules/TypesOfDissatisfaction/index.vue

@ -139,9 +139,17 @@ export default {
let max = Math.max(...datavaule, ...datavaule2);
var datamax = new Array(datavaule.length).fill(max);
for (var i = 0; i < dataname.length; i++) {
console.log("i:", 1);
indicator.push({
name: dataname[i],
max: datamax[i],
axisLabel: {
show: i === 0,
color:'rgba(255,255,255,1)',
formatter: function (value) {
return Math.floor(value);
},
},
});
}
let legendName = ["省满意度调查各项不满意人数", "社区满意度自查各项不满意人数"];

1
vue.config.js

@ -37,6 +37,7 @@ module.exports = {
"/api": {
// target: "http://219.146.91.110:30801", // 测试地址
target: "http://localhost:8080", // 本地地址
// target: "https://epmet-preview.elinkservice.cn", // 演示地址
changeOrigin: true,
pathRewrite: {
"^api": "",

Loading…
Cancel
Save