Browse Source

合并feature-dev

V1.0
PLUTO 3 years ago
parent
commit
ad7716939c
  1. 28
      src/assets/scss/dataBoard/overview/index.scss
  2. 2
      src/views/dataBoard/cpts/homeDetails/index.vue
  3. 187
      src/views/dataBoard/cpts/map/index.vue
  4. 28
      src/views/dataBoard/overview/components/DynamicHumanRoomData.vue
  5. 28
      src/views/dataBoard/overview/components/GridUpdateRanking.vue
  6. 28
      src/views/dataBoard/overview/components/RankingGridData.vue
  7. 28
      src/views/dataBoard/overview/components/sq12345.vue
  8. 30
      src/views/dataBoard/overview/components/sqrfph.vue
  9. 232
      src/views/dataBoard/overview/index.vue
  10. 47
      src/views/dataBoard/renfang/cpts/fwgl.vue
  11. 74
      src/views/dataBoard/renfang/index.vue
  12. 7
      src/views/modules/base/residentManagement/housingNature/housingNature.vue
  13. 46
      src/views/modules/base/residentManagement/oldPeople/addForm.vue
  14. 6
      src/views/modules/base/residentManagement/oldPeople/oldPeople.vue
  15. 1
      src/views/modules/base/residentManagement/publicWelfarePost/publicWelfarePost.vue
  16. 2
      src/views/modules/base/residentManagement/resiDisability/addForm.vue
  17. 2
      src/views/modules/base/residentManagement/resiDisability/resiDisability.vue
  18. 2
      src/views/modules/base/residentManagement/subsistenceAllowance/subsistenceAllowance.vue
  19. 2
      src/views/modules/base/residentManagement/tefu/tefuList.vue
  20. 1
      src/views/modules/base/residentManagement/unemployment/unemployment.vue
  21. 3
      src/views/modules/base/residentManagement/veteran/veteran.vue
  22. 1
      src/views/modules/base/residentManagement/volunteer/volunteer.vue
  23. 5
      src/views/modules/communityParty/partyOrg/orgTree.vue
  24. 13
      src/views/modules/goverhotline/index.vue
  25. 38
      src/views/modules/home/index.vue
  26. 2
      src/views/modules/shequzhili/eventOld/eventList.vue

28
src/assets/scss/dataBoard/overview/index.scss

@ -47,7 +47,7 @@
} }
.m-rybox { .m-rybox {
width: 884px; width: 910px;
} }
.m-subbox { .m-subbox {
@ -354,6 +354,7 @@
.m-jdwgy { .m-jdwgy {
height: auto!important; height: auto!important;
width: 100%;
padding: 12px 16px; padding: 12px 16px;
} }
@ -582,33 +583,36 @@
height: 40px; height: 40px;
.th { .th {
width: 110px; width: 85px;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
color: #A3B9DA; color: #A3B9DA;
white-space: nowrap;
} }
.th:nth-child(1) { .th:nth-child(1) {
width: 65px; width: 65px;
text-align: center; text-align: center;
} }
.th:nth-child(2) {
width: 130px;
}
.td { .td {
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
width: 110px;
overflow: hidden; overflow: hidden;
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
width: 85px;
color: #FFFFFF; color: #FFFFFF;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
// padding: 0 8px; }
// overflow: hidden; .td:nth-child(2) {
// white-space: nowrap; width: 130px;
// text-overflow: ellipsis;
} }
.tdbg1 { .tdbg1 {
@ -657,7 +661,7 @@
height: 40px; height: 40px;
.th { .th {
width: 110px; width: 80px;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
font-size: 14px; font-size: 14px;
@ -669,11 +673,14 @@
width: 65px; width: 65px;
text-align: center; text-align: center;
} }
.th:nth-child(2) {
width: 130px;
}
.td { .td {
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
width: 110px; width: 80px;
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
color: #FFFFFF; color: #FFFFFF;
@ -718,6 +725,9 @@
width: 65px; width: 65px;
text-align: center; text-align: center;
} }
.td:nth-child(2) {
width: 130px;
}
} }
.tr:nth-child(even) { .tr:nth-child(even) {

2
src/views/dataBoard/cpts/homeDetails/index.vue

@ -50,7 +50,7 @@
<el-table-column prop="doorName" label="门牌号" /> <el-table-column prop="doorName" label="门牌号" />
<el-table-column prop="fullName" show-overflow-tooltip label="所属小区" /> <el-table-column prop="fullName" show-overflow-tooltip label="所属小区" />
<el-table-column prop="buildingId" show-overflow-tooltip label="所属楼栋" /> <el-table-column prop="buildingId" show-overflow-tooltip label="所属楼栋" />
<el-table-column prop="houseName" show-overflow-tooltip label="所属单元" /> <el-table-column prop="buildingUnitId" show-overflow-tooltip label="所属单元" />
<el-table-column prop="houseCode" label="房屋编码" /> <el-table-column prop="houseCode" label="房屋编码" />
<el-table-column prop="rentFlag" label="房屋状态"> <el-table-column prop="rentFlag" label="房屋状态">
<template slot-scope="scope"> <template slot-scope="scope">

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

@ -1,17 +1,39 @@
<template> <template>
<div class="m-map" :class="{ 'z-td': mapType == 'td' }"> <div class="m-map" :class="{ 'z-td': mapType == 'td' }">
<div id="map" :style="{ transform: `scale(${zoom})` }"></div> <div id="map" :style="{ transform: `scale(${zoom})` }"></div>
<div class="btn" v-if="mapStyleType == 'light'" v-show="false" @click="shiftMapStyle('dark')">切换深色模式</div> <div
<div class="btn" v-show="false" v-else @click="shiftMapStyle('light')">切换浅色模式</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})` }" --> <!-- :style="{ transform: `scale(${zoom})` }" -->
<cpt-popup ref="popup" @clickListItem="handleClickDotListItem" @operate="handleClickDotBtn" /> <cpt-popup
ref="popup"
@clickListItem="handleClickDotListItem"
@operate="handleClickDotBtn"
/>
</div> </div>
</template> </template>
<script> <script>
import { requestPost } from "@/js/dai/request"; import { requestPost } from "@/js/dai/request";
import nextTick from "dai-js/tools/nextTick"; 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 { GaodeMap, Map } from "@antv/l7-maps";
import { spliceIntoChunks } from "@/utils/index"; import { spliceIntoChunks } from "@/utils/index";
import { mapType, searchNearby } from "@/utils/dai-map"; import { mapType, searchNearby } from "@/utils/dai-map";
@ -146,7 +168,11 @@ export default {
computed: { computed: {
polygonData() { polygonData() {
const { srcGridData } = this; const { srcGridData } = this;
if (!srcGridData || !srcGridData.children || !Array.isArray(srcGridData.children)) { if (
!srcGridData ||
!srcGridData.children ||
!Array.isArray(srcGridData.children)
) {
return { type: "FeatureCollection", features: [] }; return { type: "FeatureCollection", features: [] };
} }
const polygon = [ const polygon = [
@ -178,7 +204,11 @@ export default {
polygonDotData() { polygonDotData() {
const { srcGridData } = this; const { srcGridData } = this;
if (!srcGridData || !srcGridData.children || !Array.isArray(srcGridData.children)) { if (
!srcGridData ||
!srcGridData.children ||
!Array.isArray(srcGridData.children)
) {
return { type: "FeatureCollection", features: [] }; return { type: "FeatureCollection", features: [] };
} }
const polygon = [ const polygon = [
@ -199,7 +229,9 @@ export default {
item.latitude item.latitude
? [[item.longitude, item.latitude]] ? [[item.longitude, item.latitude]]
: spliceIntoChunks( : spliceIntoChunks(
item.coordinates.split(",").map((item) => parseFloat(item)), item.coordinates
.split(",")
.map((item) => parseFloat(item)),
2 2
).filter((item) => item.length == 2), ).filter((item) => item.length == 2),
], ],
@ -223,7 +255,10 @@ export default {
}, },
geometry: { geometry: {
type: "Point", type: "Point",
coordinates: [parseFloat(item.longitude), parseFloat(item.latitude)], coordinates: [
parseFloat(item.longitude),
parseFloat(item.latitude),
],
}, },
})), })),
], ],
@ -244,7 +279,10 @@ export default {
}, },
geometry: { geometry: {
type: "Point", type: "Point",
coordinates: [parseFloat(item.longitude), parseFloat(item.latitude)], coordinates: [
parseFloat(item.longitude),
parseFloat(item.latitude),
],
}, },
})), })),
], ],
@ -306,7 +344,14 @@ export default {
styleConfig = lightStyle; 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") { if (mapType != "qq") {
myMap = new Map({ myMap = new Map({
@ -319,6 +364,7 @@ export default {
// pitch: this.pitch, // pitch: this.pitch,
mapStyle: "amap://styles/darkblue", mapStyle: "amap://styles/darkblue",
// style: styleConfig.style, // style: styleConfig.style,
showLabel: false,
center: iniCenter, center: iniCenter,
token: "fc14b42e0ca18387866d68ebd4f150c1", token: "fc14b42e0ca18387866d68ebd4f150c1",
zoom: 18, zoom: 18,
@ -357,15 +403,18 @@ export default {
zIndex: 1, zIndex: 1,
}); });
baseLayer baseLayer
.source("http://t7.tianditu.com/DataServer?T=vec_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}", { .source(
parser: { "http://t7.tianditu.com/DataServer?T=vec_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}",
type: "rasterTile", {
tileSize: 256, parser: {
// minZoom: 6, type: "rasterTile",
// maxZoom: 15, tileSize: 256,
zoomOffset: 0, // minZoom: 6,
}, // maxZoom: 15,
}) zoomOffset: 0,
},
}
)
.style({ .style({
opacity: 0.7, opacity: 0.7,
}); });
@ -375,15 +424,18 @@ export default {
zIndex: 2, zIndex: 2,
}); });
annotionLayer annotionLayer
.source("http://t7.tianditu.com/DataServer?T=cva_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}", { .source(
parser: { "http://t7.tianditu.com/DataServer?T=cva_w&tk=8a08c117ab9ee45d508686b01cc8d397&x={x}&y={y}&l={z}",
type: "rasterTile", {
tileSize: 256, parser: {
// minZoom: 6, type: "rasterTile",
// maxZoom: 15, tileSize: 256,
zoomOffset: 0, // minZoom: 6,
}, // maxZoom: 15,
}) zoomOffset: 0,
},
}
)
.style({ .style({
opacity: 0.5, opacity: 0.5,
}); });
@ -483,8 +535,14 @@ export default {
}); });
// scene.addLayer(circleLayer); // scene.addLayer(circleLayer);
scene.addImage("pos-red", require("@/assets/img/shuju/grid/pos-red.png")); 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(
scene.addImage("pos-yellow", require("@/assets/img/shuju/grid/pos-yellow.png")); "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({ posLayer = new PointLayer({
zIndex: 4, zIndex: 4,
@ -544,7 +602,11 @@ export default {
${e.feature.properties.name} ${e.feature.properties.name}
</div> </div>
<div class="jw-popup-des"> <div class="jw-popup-des">
${e.feature.properties.description ? e.feature.properties.description : ""} ${
e.feature.properties.description
? e.feature.properties.description
: ""
}
</div> </div>
</div> </div>
</div> </div>
@ -727,7 +789,9 @@ export default {
// lng lat dis // lng lat dis
let r = 6371; // let r = 6371; //
let dis = 0.25; //3 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; // dlng = (dlng * 180) / Math.PI; //
let dlat = dis / r; let dlat = dis / r;
dlat = (dlat * 180) / Math.PI; // dlat = (dlat * 180) / Math.PI; //
@ -802,7 +866,10 @@ export default {
for (let i in data) { for (let i in data) {
// console.log(data[i].longitude * 1, data[i].latitude * 1); // console.log(data[i].longitude * 1, data[i].latitude * 1);
var el = document.createElement("div"); 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.classList.add(data[i].type);
// el.textContent = data[i].peopleType+''+data[i].personnelNum; // el.textContent = data[i].peopleType+''+data[i].personnelNum;
const pointMarkerItem = new Marker({ const pointMarkerItem = new Marker({
@ -821,14 +888,34 @@ export default {
<div class="jw-popup-title"> <div class="jw-popup-title">
${data[i].name} ${data[i].name}
</div> </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>
<div class="jw-popup-num-list"> <div class="jw-popup-num-list">
<div>户数<span>${data[i].houseNum ? data[i].houseNum : 0}</span></div> <div>户数<span>${
<div>需求<span>${data[i].demandNum ? data[i].demandNum : 0}</span></div> data[i].houseNum ? data[i].houseNum : 0
<div>事件<span>${data[i].eventNum ? data[i].eventNum : 0}</span></div> }</span></div>
<div>重点人群<span>${data[i].importanceNum ? data[i].importanceNum : 0}</span></div> <div>需求<span>${
<div>安全隐患<span>${data[i].safetyNum ? data[i].safetyNum : 0}</span></div> 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> </div>
</div> </div>
@ -839,7 +926,9 @@ export default {
popup.remove(); popup.remove();
}); });
pointMarkerItem.on("click", () => { 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); pointMarker.addMarker(pointMarkerItem);
@ -930,7 +1019,10 @@ export default {
handleClickDotListItem(item) { handleClickDotListItem(item) {
console.log("handleClickDotListItem", item); console.log("handleClickDotListItem", item);
this.handleClickDot(item, [parseFloat(item.longitude), parseFloat(item.latitude)]); this.handleClickDot(item, [
parseFloat(item.longitude),
parseFloat(item.latitude),
]);
}, },
}, },
}; };
@ -957,7 +1049,12 @@ export default {
right: 0; right: 0;
bottom: 0; bottom: 0;
pointer-events: none; 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 { &.z-td {
@ -965,7 +1062,11 @@ export default {
/deep/ .l7-scene { /deep/ .l7-scene {
canvas { canvas {
background-color: rgba(43, 51, 73, 0.82); 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 { .gray {

28
src/views/dataBoard/overview/components/DynamicHumanRoomData.vue

@ -11,13 +11,21 @@
修改了新苑小区**的居民信息的居民信息的居民信息 修改了新苑小区**的居民信息的居民信息的居民信息
</div> </div>
</div>--> </div>-->
<div style="overflow: hidden"> <div style="overflow: hidden" @mouseenter="yiru()" @mouseleave="yichu()">
<div ref="animation2"> <div ref="animation2">
<div class="dhrd-item" v-for="(item, index) in list" :key="index"> <div class="dhrd-item" v-for="(item, index) in list" :key="index">
<div class="time"> <div class="time">
{{ $moment(item.changeTime).format("HH:mm") }} {{ $moment(item.changeTime).format("HH:mm") }}
</div> </div>
<div class="title">{{ item.orgName }}</div> <div class="title">
<el-tooltip
class="item"
effect="dark"
:content="item.orgName"
placement="top"
><span>{{ item.orgName }}</span>
</el-tooltip>
</div>
<!-- <div class="name">{{item.orgName}}</div>--> <!-- <div class="name">{{item.orgName}}</div>-->
<div class="address">{{ item.content }}</div> <div class="address">{{ item.content }}</div>
</div> </div>
@ -26,7 +34,15 @@
<div class="time"> <div class="time">
{{ $moment(item.changeTime).format("HH:mm") }} {{ $moment(item.changeTime).format("HH:mm") }}
</div> </div>
<div class="title">{{ item.orgName }}</div> <div class="title">
<el-tooltip
class="item"
effect="dark"
:content="item.orgName"
placement="top"
><span>{{ item.orgName }}</span>
</el-tooltip>
</div>
<!-- <div class="name">{{item.orgName}}</div>--> <!-- <div class="name">{{item.orgName}}</div>-->
<div class="address">{{ item.content }}</div> <div class="address">{{ item.content }}</div>
</div> </div>
@ -69,6 +85,12 @@ export default {
} }
}, },
methods: { methods: {
yichu() {
this.$refs.animation2.style["animation-play-state"] = "running";
},
yiru() {
this.$refs.animation2.style["animation-play-state"] = "paused";
},
getList(item) { getList(item) {
this.$http.get("/actual/base/streetOverview/residentHouseUpdateRecord?level=" + item.orgLevel + "&orgId=" + item.orgId).then(({ data: { data } }) => { this.$http.get("/actual/base/streetOverview/residentHouseUpdateRecord?level=" + item.orgLevel + "&orgId=" + item.orgId).then(({ data: { data } }) => {
this.list = data; this.list = data;

28
src/views/dataBoard/overview/components/GridUpdateRanking.vue

@ -8,13 +8,21 @@
<div class="th">人口更新数</div> <div class="th">人口更新数</div>
<div class="th">人房更新总数</div> <div class="th">人房更新总数</div>
</div> </div>
<div style="overflow: hidden"> <div style="overflow: hidden" @mouseenter="yiru()" @mouseleave="yichu()">
<div ref="animation1"> <div ref="animation1">
<div class="tr" v-for="(item, index) in pmList" :key="index"> <div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'"> <div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }} {{ index - 0 + 1 }}
</div> </div>
<div class="td">{{ item.orgName }}</div> <div class="td">
<el-tooltip
class="item"
effect="dark"
:content="item.orgName"
placement="top"
><span>{{ item.orgName }}</span>
</el-tooltip>
</div>
<div class="td">{{ item.houseNum }}</div> <div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div> <div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div> <div class="td">{{ item.sumNum }}</div>
@ -25,7 +33,15 @@
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'"> <div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }} {{ index - 0 + 1 }}
</div> </div>
<div class="td">{{ item.orgName }}</div> <div class="td">
<el-tooltip
class="item"
effect="dark"
:content="item.orgName"
placement="top"
><span>{{ item.orgName }}</span>
</el-tooltip>
</div>
<div class="td">{{ item.houseNum }}</div> <div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div> <div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div> <div class="td">{{ item.sumNum }}</div>
@ -75,6 +91,12 @@ export default {
} }
}, },
methods: { methods: {
yichu() {
this.$refs.animation1.style["animation-play-state"] = "running";
},
yiru() {
this.$refs.animation1.style["animation-play-state"] = "paused";
},
getList(item) { getList(item) {
this.$http.get("/actual/base/streetOverview/residentHouseUpdateGroupByGrid?level=" + item.orgLevel + "&orgId=" + item.orgId).then(({ data: { data } }) => { this.$http.get("/actual/base/streetOverview/residentHouseUpdateGroupByGrid?level=" + item.orgLevel + "&orgId=" + item.orgId).then(({ data: { data } }) => {
this.pmList = data; this.pmList = data;

28
src/views/dataBoard/overview/components/RankingGridData.vue

@ -15,13 +15,21 @@
<div class="th">人口更新数</div> <div class="th">人口更新数</div>
<div class="th">人房更新总数</div> <div class="th">人房更新总数</div>
</div> </div>
<div style="overflow: hidden"> <div style="overflow: hidden" @mouseenter="yiru()" @mouseleave="yichu()">
<div ref="animation3"> <div ref="animation3">
<div class="tr" v-for="item in pmList" :key="item.rank"> <div class="tr" v-for="item in pmList" :key="item.rank">
<div :class="item.rank < 4 ? `td tdbg${item.rank}` : 'td'"> <div :class="item.rank < 4 ? `td tdbg${item.rank}` : 'td'">
{{ item.rank }} {{ item.rank }}
</div> </div>
<div class="td">{{ item.orgName }}</div> <div class="td">
<el-tooltip
effect="dark"
class="item"
:content="item.orgName"
placement="top"
><span>{{ item.orgName }}</span>
</el-tooltip>
</div>
<div class="td">{{ item.houseNum }}</div> <div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div> <div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div> <div class="td">{{ item.sumNum }}</div>
@ -34,7 +42,15 @@
> >
{{ index - 0 + 1 }} {{ index - 0 + 1 }}
</div> </div>
<div class="td">{{ item.orgName }}</div> <div class="td">
<el-tooltip
effect="dark"
class="item"
:content="item.orgName"
placement="top"
><span>{{ item.orgName }}</span>
</el-tooltip>
</div>
<div class="td">{{ item.houseNum }}</div> <div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div> <div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div> <div class="td">{{ item.sumNum }}</div>
@ -98,6 +114,12 @@ export default {
} }
}, },
methods: { methods: {
yichu() {
this.$refs.animation3.style["animation-play-state"] = "running";
},
yiru() {
this.$refs.animation3.style["animation-play-state"] = "paused";
},
getList(item) { getList(item) {
this.$http this.$http
.get( .get(

28
src/views/dataBoard/overview/components/sq12345.vue

@ -8,13 +8,21 @@
<div class="th">处理中</div> <div class="th">处理中</div>
<div class="th">已办结</div> <div class="th">已办结</div>
</div> </div>
<div style="overflow: hidden"> <div style="overflow: hidden" @mouseenter="yiru()" @mouseleave="yichu()">
<div ref="animation4"> <div ref="animation4">
<div class="tr" v-for="(item, index) in pmList" :key="index"> <div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'"> <div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }} {{ index - 0 + 1 }}
</div> </div>
<div class="td">{{ item.orgName }}</div> <div class="td">
<el-tooltip
class="item"
effect="dark"
:content="item.orgName"
placement="top"
><span>{{ item.orgName }}</span>
</el-tooltip>
</div>
<div class="td">{{ item.sumNum }}</div> <div class="td">{{ item.sumNum }}</div>
<div class="td td-or">{{ item.processNum }}</div> <div class="td td-or">{{ item.processNum }}</div>
<div class="td td-gr">{{ item.closedNum }}</div> <div class="td td-gr">{{ item.closedNum }}</div>
@ -27,7 +35,15 @@
> >
{{ index - 0 + 1 }} {{ index - 0 + 1 }}
</div> </div>
<div class="td">{{ item.orgName }}</div> <div class="td">
<el-tooltip
class="item"
effect="dark"
:content="item.orgName"
placement="top"
><span>{{ item.orgName }}</span>
</el-tooltip>
</div>
<div class="td">{{ item.sumNum }}</div> <div class="td">{{ item.sumNum }}</div>
<div class="td td-or">{{ item.processNum }}</div> <div class="td td-or">{{ item.processNum }}</div>
<div class="td td-gr">{{ item.closedNum }}</div> <div class="td td-gr">{{ item.closedNum }}</div>
@ -90,6 +106,12 @@ export default {
} }
}, },
methods: { methods: {
yichu() {
this.$refs.animation4.style["animation-play-state"] = "running";
},
yiru() {
this.$refs.animation4.style["animation-play-state"] = "paused";
},
getList(item) { getList(item) {
this.$http this.$http
.get( .get(

30
src/views/dataBoard/overview/components/sqrfph.vue

@ -8,13 +8,21 @@
<div class="th">人口更新数</div> <div class="th">人口更新数</div>
<div class="th">人房更新总数</div> <div class="th">人房更新总数</div>
</div> </div>
<div style="overflow: hidden"> <div style="overflow: hidden" @mouseenter="yiru()" @mouseleave="yichu()">
<div ref="animation5"> <div ref="animation5">
<div class="tr" v-for="(item, index) in pmList" :key="index"> <div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'"> <div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }} {{ index - 0 + 1 }}
</div> </div>
<div class="td">{{ item.orgName }}</div> <div class="td">
<el-tooltip
class="item"
effect="dark"
:content="item.orgName"
placement="top"
><span>{{ item.orgName }}</span>
</el-tooltip>
</div>
<div class="td">{{ item.houseNum }}</div> <div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div> <div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div> <div class="td">{{ item.sumNum }}</div>
@ -27,7 +35,15 @@
> >
{{ index - 0 + 1 }} {{ index - 0 + 1 }}
</div> </div>
<div class="td">{{ item.orgName }}</div> <div class="td">
<el-tooltip
effect="dark"
class="item"
:content="item.orgName"
placement="top"
><span>{{ item.orgName }}</span>
</el-tooltip>
</div>
<div class="td">{{ item.houseNum }}</div> <div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div> <div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div> <div class="td">{{ item.sumNum }}</div>
@ -90,6 +106,12 @@ export default {
} }
}, },
methods: { methods: {
yichu() {
this.$refs.animation5.style["animation-play-state"] = "running";
},
yiru() {
this.$refs.animation5.style["animation-play-state"] = "paused";
},
getList(item) { getList(item) {
this.$http this.$http
.get( .get(
@ -136,4 +158,4 @@ export default {
font-weight: 500; font-weight: 500;
color: #a3b9da; color: #a3b9da;
} }
</style> </style>

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

@ -8,26 +8,86 @@
<div class="g-row"> <div class="g-row">
<div class="g-left"> <div class="g-left">
<div class="m-box"> <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" /> <jdjs :currentLevelData="currentLevelData" />
</div> </div>
<div class="m-box"> <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" /> <jdtphx :currentLevelData="currentLevelData" :id="orgId" />
</div> </div>
</div> </div>
<div class="g-center"> <div class="g-center">
<div class="m-map" style="overflow: hidden"> <div
<map-top :currentLevelData="currentLevelData" @changeType="changeType" :level="currentLevel" /> :class="listShow ? 'm-map' : 'g-center-open'"
style="overflow: hidden"
>
<map-top
:currentLevelData="currentLevelData"
@changeType="changeType"
:level="currentLevel"
/>
<div v-if="breadList.length > 1" class="go-back" @click="goBackMap"> <div v-if="breadList.length > 1" class="go-back" @click="goBackMap">
<img src="~@/assets/images/shuju/overview/go-back.png" /> <img src="~@/assets/images/shuju/overview/go-back.png" />
</div> </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>
<div class="m-box m-rybox"> <div class="m-box m-rybox">
<title-box :text="`${customerName}${peopleList[peopleType]}`" /> <title-box :text="`${customerName}${peopleList[peopleType]}`">
<jdwgy :peopleType="peopleType" :currentLevelData="currentLevelData" :level="currentLevel" @setNum="setNum" @setPoint="setPoint" /> <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"
/>
</div>
</div>
</title-box>
<jdwgy
v-show="listShow"
:peopleType="peopleType"
:currentLevelData="currentLevelData"
:level="currentLevel"
@setNum="setNum"
@setPoint="setPoint"
/>
</div> </div>
</div> </div>
@ -37,57 +97,136 @@
<rfsjtj :currentLevelData="currentLevelData" /> <rfsjtj :currentLevelData="currentLevelData" />
</div> </div>
<!-- 街道概览 --> <!-- 街道概览 -->
<div v-if="currentLevel === 'street' || currentLevel === 'district'" class="m-box"> <div
v-if="currentLevel === 'street' || currentLevel === 'district'"
class="m-box"
>
<title-box text="各社区人房数据更新排行"> <title-box text="各社区人房数据更新排行">
<span class="date-span"> <span class="date-span">
<el-date-picker v-model="rfphDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" type="month" :clearable="false" placeholder="选择月"> </el-date-picker> <el-date-picker
v-model="rfphDate"
format="yyyy-MM"
value-format="yyyy-MM"
@change="changeDate"
type="month"
:clearable="false"
placeholder="选择月"
>
</el-date-picker>
</span> </span>
</title-box> </title-box>
<sqrfph :currentLevelData="currentLevelData" :date="rfphDate" /> <sqrfph :currentLevelData="currentLevelData" :date="rfphDate" />
</div> </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投诉事件统计"> <title-box text="各社区12345投诉事件统计">
<span class="date-span"> <span class="date-span">
<el-date-picker v-model="sq12345Date" format="yyyy-MM" value-format="yyyy-MM" type="month" :clearable="false" placeholder="选择月" /> <el-date-picker
v-model="sq12345Date"
format="yyyy-MM"
value-format="yyyy-MM"
type="month"
:clearable="false"
placeholder="选择月"
/>
</span> </span>
</title-box> </title-box>
<sq12345 :currentLevelData="currentLevelData" :date="sq12345Date" /> <sq12345 :currentLevelData="currentLevelData" :date="sq12345Date" />
</div> </div>
<!-- 社区&网格--> <!-- 社区&网格-->
<div v-if="currentLevel === 'community' || currentLevel === 'grid'" class="m-box"> <div
v-if="currentLevel === 'community' || currentLevel === 'grid'"
class="m-box"
>
<title-box text="人房数据动态更新" /> <title-box text="人房数据动态更新" />
<Tabs v-model="dynamicType" :list="dynamicTypeList" v-if="currentLevel === 'community'" @changeVal="dynamicTypeChange" /> <Tabs
<DynamicHumanRoomData :currentLevelData="currentLevelData" :currentLevel="currentLevel" v-if="dynamicType === 1" /> v-model="dynamicType"
<GridUpdateRanking :currentLevelData="currentLevelData" :currentLevel="currentLevel" v-if="dynamicType === 2" /> :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>
<!-- 社区概览--> <!-- 社区概览-->
<div v-if="currentLevel === 'community'" class="m-box"> <div v-if="currentLevel === 'community'" class="m-box">
<title-box text="社区满意度自查结果"> <title-box text="社区满意度自查结果">
<span class="date-span"> <span class="date-span">
<el-date-picker v-model="sqzcDate" format="yyyy-MM" value-format="yyyy-MM" type="month" :clearable="false" placeholder="选择月" /> <el-date-picker
v-model="sqzcDate"
format="yyyy-MM"
value-format="yyyy-MM"
type="month"
:clearable="false"
placeholder="选择月"
/>
</span> </span>
</title-box> </title-box>
<CommunityResult :currentLevelData="currentLevelData" :date="sqzcDate" /> <CommunityResult
:currentLevelData="currentLevelData"
:date="sqzcDate"
/>
</div> </div>
<div v-if="currentLevel === 'community'" class="m-box"> <div v-if="currentLevel === 'community'" class="m-box">
<title-box text="事件&回访"> <title-box text="事件&回访">
<span class="date-span"> <span class="date-span">
<el-date-picker v-model="sjhfDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" type="month" :clearable="false" placeholder="选择月" /> <el-date-picker
v-model="sjhfDate"
format="yyyy-MM"
value-format="yyyy-MM"
@change="changeDate"
type="month"
:clearable="false"
placeholder="选择月"
/>
</span> </span>
</title-box> </title-box>
<Tabs v-model="eventType" :list="eventTypeList" @changeVal="eventTypeChange" /> <Tabs
<EventAndFollowUp :currentLevelData="currentLevelData" :date="sjhfDate" v-if="eventType === 1" /> v-model="eventType"
<FollowUp :currentLevelData="currentLevelData" :date="sjhfDate" v-if="eventType === 2" /> :list="eventTypeList"
@changeVal="eventTypeChange"
/>
<EventAndFollowUp
:currentLevelData="currentLevelData"
:date="sjhfDate"
v-if="eventType === 1"
/>
<FollowUp
:currentLevelData="currentLevelData"
:date="sjhfDate"
v-if="eventType === 2"
/>
</div> </div>
<!-- 网格 --> <!-- 网格 -->
<div v-if="currentLevel === 'grid'" class="m-box"> <div v-if="currentLevel === 'grid'" class="m-box">
<title-box text="社区网格数据更新情况排行"> <title-box text="社区网格数据更新情况排行">
<span class="date-span"> <span class="date-span">
<el-date-picker v-model="sqwggxDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" type="month" :clearable="false" placeholder="选择月" /> <el-date-picker
v-model="sqwggxDate"
format="yyyy-MM"
value-format="yyyy-MM"
@change="changeDate"
type="month"
:clearable="false"
placeholder="选择月"
/>
</span> </span>
</title-box> </title-box>
<RankingGridData :currentLevelData="currentLevelData" :date="sqwggxDate" /> <RankingGridData
:currentLevelData="currentLevelData"
:date="sqwggxDate"
/>
</div> </div>
</div> </div>
</div> </div>
@ -235,7 +374,8 @@ export default {
methods: { methods: {
changeCustomerName() { changeCustomerName() {
this.customerName = localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; this.customerName =
localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台";
}, },
changeType(e) { changeType(e) {
this.peopleType = e; this.peopleType = e;
@ -290,7 +430,8 @@ export default {
orgLevel: item.level, orgLevel: item.level,
}; };
} else { } else {
this.customerName = localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; this.customerName =
localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台";
this.currentLevelData = { this.currentLevelData = {
...this.$store.state.chooseArea.chooseName, ...this.$store.state.chooseArea.chooseName,
orgLevel: this.$store.state.chooseArea.chooseName.level, orgLevel: this.$store.state.chooseArea.chooseName.level,
@ -326,7 +467,10 @@ export default {
if (!item.longitude) { if (!item.longitude) {
return this.$message.error("请先设置坐标"); 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) { setNum(data) {
// data // data
@ -357,19 +501,25 @@ 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"; const url = "org_map";
this.$http.post(`/gov/org/agency/maporg`, { orgId, level }).then(({ data: { data } }) => { this.$http
this.orgData = data; .post(`/gov/org/agency/maporg`, { orgId, level })
this.orgId = this.orgData.id; .then(({ data: { data } }) => {
this.orgLevel = this.orgData.level; this.orgData = data;
this.currentLevel = this.orgData.agencyLevel; this.orgId = this.orgData.id;
this.currentLevelData = { this.orgLevel = this.orgData.level;
orgId: this.orgId, this.currentLevel = this.orgData.agencyLevel;
orgLevel: this.currentLevel, this.currentLevelData = {
}; orgId: this.orgId,
this.peopleType = this.currentLevel === "grid" ? "unit" : "staffAgency"; orgLevel: this.currentLevel,
}); };
this.peopleType =
this.currentLevel === "grid" ? "unit" : "staffAgency";
});
}, },
// //
@ -463,7 +613,11 @@ export default {
background: #000; background: #000;
} }
</style> </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> <style lang="scss" scoped>
.tabs { .tabs {

47
src/views/dataBoard/renfang/cpts/fwgl.vue

@ -7,6 +7,7 @@
class="" class=""
@myChartMethod="pieInitOk" @myChartMethod="pieInitOk"
ref="pieChart" ref="pieChart"
v-if="pandectData.homeCount"
></screen-echarts-frame> ></screen-echarts-frame>
</div> </div>
<div class="pie-legend"> <div class="pie-legend">
@ -35,7 +36,7 @@
<div class="title">房屋总数</div> <div class="title">房屋总数</div>
</div> </div>
<div class="item-two"> <div class="item-two">
<div class="num">{{ info.house_count }}</div> <div class="num">{{ pandectData.homeCount }}</div>
<div class="unit"></div> <div class="unit"></div>
</div> </div>
</div> </div>
@ -54,7 +55,7 @@
</div> </div>
<div class="item-two"> <div class="item-two">
<div class="num"> <div class="num">
{{ info.self_dwelling_count }} {{ pandectData.selfStay }}
</div> </div>
<div class="unit"></div> <div class="unit"></div>
</div> </div>
@ -74,7 +75,7 @@
<div class="title">出租房屋</div> <div class="title">出租房屋</div>
</div> </div>
<div class="item-two"> <div class="item-two">
<div class="num">{{ info.lease_count }}</div> <div class="num"> {{pandectData.rentOut}}</div>
<div class="unit"></div> <div class="unit"></div>
</div> </div>
</div> </div>
@ -92,7 +93,7 @@
<div class="title">闲置房屋</div> <div class="title">闲置房屋</div>
</div> </div>
<div class="item-two"> <div class="item-two">
<div class="num">{{ info.unused_count }}</div> <div class="num">{{ pandectData.vacantHouse }}</div>
<div class="unit"></div> <div class="unit"></div>
</div> </div>
</div> </div>
@ -166,10 +167,13 @@ export default {
lease_count: 0, lease_count: 0,
unused_count: 0, unused_count: 0,
}, },
pandectData:{}
}; };
}, },
mounted() { mounted() {
this.getData(); this.$nextTick(()=>{
this.getData();
})
}, },
watch: { watch: {
orgId() { orgId() {
@ -196,8 +200,9 @@ export default {
}, },
async getData() { async getData() {
await this.getInfo(); await this.getInfo();
this.getPie();
this.getBar(); this.getBar();
this.getPie();
}, },
getBar() { getBar() {
if (this.barInitState) { if (this.barInitState) {
@ -251,25 +256,23 @@ export default {
} }
}, },
// //
async iniPieChart() { iniPieChart() {
this.$refs.pieChart.clear(); this.$refs.pieChart.clear();
// this.$refs.pieChart.showLoading()
// pieChart // pieChart
this.pieOption = pieOption(); this.pieOption = pieOption();
const {pandectData} = this
const { info } = this; console.log(pandectData);
// //
this.pieOption.title.text = this.pieOption.title.text =
(info.house_count != 0 (pandectData.homeCount != 0
? parseInt( ? parseInt(
(100 * info.self_dwelling_count) / info.house_count (100 * pandectData.selfStay) / pandectData.homeCount
) )
: "--") + "%"; : "--") + "%";
this.pieData = [ this.pieData = [
{ value: info.self_dwelling_count, name: "自住房屋" }, { value: pandectData.selfStay, name: "自住房屋" },
{ value: info.lease_count, name: "出租房屋" }, { value: pandectData.rentOut, name: "出租房屋" },
{ value: info.unused_count, name: "闲置房屋" }, { value: pandectData.vacantHouse, name: "闲置房屋" },
]; ];
this.pieOption.series[0].data = this.pieData; this.pieOption.series[0].data = this.pieData;
this.$refs.pieChart.setOption(this.pieOption); this.$refs.pieChart.setOption(this.pieOption);
@ -282,21 +285,21 @@ export default {
fromActionPayload: { dataIndexInside }, fromActionPayload: { dataIndexInside },
} = params; } = params;
this.pieOption.title.text = this.pieOption.title.text =
(info.house_count != 0 (pandectData.homeCount != 0
? parseInt( ? parseInt(
(100 * (100 *
[ [
info.self_dwelling_count, pandectData.selfStay,
info.lease_count, pandectData.rentOut,
info.unused_count, pandectData.vacantHouse,
][dataIndexInside]) / ][dataIndexInside]) /
info.house_count pandectData.homeCount
) )
: "--") + "%"; : "--") + "%";
this.$refs.pieChart.myChart.setOption(this.pieOption); this.$refs.pieChart.myChart.setOption(this.pieOption);
}); });
}, },
// //
async getBarData() { async getBarData() {
const url = "house_trend"; const url = "house_trend";

74
src/views/dataBoard/renfang/index.vue

@ -17,7 +17,7 @@
</div> </div>
<div class="m-subbox"> <div class="m-subbox">
<fwgl :orgId="orgData.org_id"></fwgl> <fwgl ref="fwgl" :orgId="orgData.org_id" :pandectData="pandectData"></fwgl>
</div> </div>
</div> </div>
@ -31,7 +31,7 @@
</div> </div>
<div class="m-subbox"> <div class="m-subbox">
<jmgl :orgId="orgData.org_id"></jmgl> <jmgl :orgId="orgData.org_id" :pandectData="pandectData"></jmgl>
</div> </div>
</div> </div>
</div> </div>
@ -438,6 +438,8 @@ import resiDetails from "@/views/dataBoard/cpts/resi-details";
import { requestPostBi } from "@/js/dai/request-bipass"; import { requestPostBi } from "@/js/dai/request-bipass";
import { requestPost } from "@/js/dai/request"; import { requestPost } from "@/js/dai/request";
import getQueryPara from "dai-js/modules/getQueryPara"; import getQueryPara from "dai-js/modules/getQueryPara";
import {requestGet} from "@/js/dai/request";
import resiCategoryMap from "@/views/business/resi-category-map.js";
function iniGetPerInfo() { function iniGetPerInfo() {
return { return {
@ -504,6 +506,8 @@ export default {
displayedResiId: "", displayedResiId: "",
displayedHouseId: "", displayedHouseId: "",
pandectData: {},
}; };
}, },
@ -531,10 +535,30 @@ export default {
await this.getMapData(); await this.getMapData();
await this.getSubMapData(); await this.getSubMapData();
this.getResiCategoryData(); this.getResiCategoryData();
this.getResiCategoryForecastData();
this.getPerInfo(); this.getPerInfo();
this.getResiCategoryForecastData();
this.getPandectData()
this.loading = true; this.loading = true;
},
//
async getPandectData() {
const url = "/actual/base/residentHouseMerge/communityOverview";
let params = {
// orgId: "",
// level: "",
};
const {data, code, msg} = await requestGet(url, params);
if (code === 0) {
if (data) {
this.$nextTick(()=>{
this.$refs['fwgl'].pandectData = data
}
)
}
} else {
this.$message.error(msg);
}
}, },
jumpPath(pageType, type_id = "", type_name) { jumpPath(pageType, type_id = "", type_name) {
this.$router.push({ this.$router.push({
@ -729,31 +753,25 @@ export default {
// //
async getResiCategoryForecastData() { async getResiCategoryForecastData() {
const url = "resident_class_predict"; const url = "/actual/base/resiCategory/intelligentPredictioncategoryCountList";
let params = {
const { data, code, msg } = await requestPostBi( };
url, const {data, code, msg} = await requestGet(url, params);
{
queryParam: {
org_id: this.orgId,
},
},
{
// mockId: 60064667,
}
);
if (code === 0) { if (code === 0) {
this.resiCategoryForecastData = data.map((item) => { this.resiCategoryForecastData = data.categoryList.map((item) => {
return { return {
code: item.resident_type, code: item.categoryName,
name: item.resident_type_name, name: resiCategoryMap[item.categoryName] || "",
count: item.resident_count, count: item.categoryCountNext,
ratio: item.resident_ratio, // name:item.categoryCountName,
growth: item.change_count, per: parseInt(
growthAbs: Math.abs(item.change_count), (100 * item.categoryCount) / data.resiCount
}; ),
}); // per: item.change_ratio,
growth: item.change_ratio,
growthAbs: Math.abs(item.categoryCountNext - item.categoryCount)
};
});
} else { } else {
this.$message.error(msg); this.$message.error(msg);
} }

7
src/views/modules/base/residentManagement/housingNature/housingNature.vue

@ -216,7 +216,6 @@
</el-table-column> </el-table-column>
<el-table-column prop="currentResidence" <el-table-column prop="currentResidence"
align="center" align="center"
width="150"
label="居住地址" label="居住地址"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
@ -234,7 +233,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="subsidyNum" <el-table-column prop="subsidyNum"
align="center" align="center"
width="100" width="200"
label="补贴编号" label="补贴编号"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
@ -246,7 +245,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="certificateDate" <el-table-column prop="certificateDate"
align="center" align="center"
width="100" width="200"
label="发证日期" label="发证日期"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
@ -357,7 +356,7 @@ export default {
showDetail: false, showDetail: false,
formType: "add", formType: "add",
addDiaTitle: "新增", addDiaTitle: "新增",
detailDiaTitle: "详情", detailDiaTitle: "编辑",
multiSelection: [], // multiSelection: [], //
importLoading: false, importLoading: false,

46
src/views/modules/base/residentManagement/oldPeople/addForm.vue

@ -8,7 +8,7 @@
<span class="info-title-2">所属组织: </span> <span class="info-title-2">所属组织: </span>
<span>{{ formData.agencyName || "--" }}</span> <span>{{ formData.agencyName || "--" }}</span>
</div> </div>
<el-form-item v-else label="所属组织" label-width="100px" prop="agencyId"> <el-form-item v-else label="所属组织" label-width="104px" prop="agencyId">
<el-cascader v-if="formType == 'add'" ref="ref_cascader_agency" class="width-two" <el-cascader v-if="formType == 'add'" ref="ref_cascader_agency" class="width-two"
v-model="selGridId" :options="optionsA" @change="handleChangeAngency" v-model="selGridId" :options="optionsA" @change="handleChangeAngency"
:props="{ checkStrictly: true, emitPath: false, children: 'subAgencyList', label: 'agencyName', value: 'agencyId' }" :props="{ checkStrictly: true, emitPath: false, children: 'subAgencyList', label: 'agencyName', value: 'agencyId' }"
@ -26,7 +26,7 @@
<span class="info-title-2">姓名: </span> <span class="info-title-2">姓名: </span>
<span>{{ formData.name || "--" }}</span> <span>{{ formData.name || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="姓名" prop="name" v-else> <el-form-item label-width="104px" label="姓名" prop="name" v-else>
<el-input v-model="formData.name" placeholder="请输入" clearable></el-input> <el-input v-model="formData.name" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -35,7 +35,7 @@
<span class="info-title-2">联系电话: </span> <span class="info-title-2">联系电话: </span>
<span>{{ formData.mobile || "--" }}</span> <span>{{ formData.mobile || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="联系电话" v-else> <el-form-item label-width="104px" label="联系电话" v-else>
<el-input v-model="formData.mobile" placeholder="请输入" clearable></el-input> <el-input v-model="formData.mobile" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -47,7 +47,7 @@
<span class="info-title-2">证件类型: </span> <span class="info-title-2">证件类型: </span>
<span>{{ formData.idTypeName || "--" }}</span> <span>{{ formData.idTypeName || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="证件类型" prop="idType" v-else> <el-form-item label-width="104px" label="证件类型" prop="idType" v-else>
<el-select v-model="formData.idType" clearable> <el-select v-model="formData.idType" clearable>
<el-option v-for="item in dicts.idCard_type" :key="item.value" :label="item.label" <el-option v-for="item in dicts.idCard_type" :key="item.value" :label="item.label"
:value="item.value"> :value="item.value">
@ -60,7 +60,7 @@
<span class="info-title-2">证件号: </span> <span class="info-title-2">证件号: </span>
<span>{{ formData.idNum || "--" }}</span> <span>{{ formData.idNum || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="证件号" prop="idNum" v-else> <el-form-item label-width="104px" label="证件号" prop="idNum" v-else>
<el-input v-model="formData.idNum" placeholder="请输入" clearable></el-input> <el-input v-model="formData.idNum" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -80,7 +80,7 @@
: "--" : "--"
}}</span> }}</span>
</div> </div>
<el-form-item label-width="100px" label="本地户籍" v-else> <el-form-item label-width="104px" label="本地户籍" v-else>
<el-select v-model="formData.localResidenceFlag" clearable> <el-select v-model="formData.localResidenceFlag" clearable>
<el-option v-for="item in binaryOptionList" :key="item.value" :label="item.label" <el-option v-for="item in binaryOptionList" :key="item.value" :label="item.label"
:value="item.value"> :value="item.value">
@ -96,7 +96,7 @@
<span class="info-title-2">户籍地址: </span> <span class="info-title-2">户籍地址: </span>
<span>{{ formData.placeOfDomicile || "--" }}</span> <span>{{ formData.placeOfDomicile || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="户籍地址" class="wd-wr" v-else> <el-form-item label-width="104px" label="户籍地址" class="wd-wr" v-else>
<el-input v-model="formData.placeOfDomicile" placeholder="请输入" clearable></el-input> <el-input v-model="formData.placeOfDomicile" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -108,7 +108,7 @@
<span class="info-title-2">现居地址: </span> <span class="info-title-2">现居地址: </span>
<span>{{ formData.currentResidence || "--" }}</span> <span>{{ formData.currentResidence || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="现居地址" class="wd-wr" v-else> <el-form-item label-width="104px" label="现居地址" class="wd-wr" v-else>
<el-input v-model="formData.currentResidence" placeholder="请输入" clearable></el-input> <el-input v-model="formData.currentResidence" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -128,7 +128,7 @@
: "--" : "--"
}}</span> }}</span>
</div> </div>
<el-form-item label-width="100px" label="是否残疾" v-else> <el-form-item label-width="104px" label="是否残疾" v-else>
<el-select v-model="formData.disabilityFlag" clearable> <el-select v-model="formData.disabilityFlag" clearable>
<el-option v-for="item in binaryOptionList" :key="item.value" :label="item.label" <el-option v-for="item in binaryOptionList" :key="item.value" :label="item.label"
:value="item.value"> :value="item.value">
@ -141,7 +141,7 @@
<span class="info-title-2">残疾类别: </span> <span class="info-title-2">残疾类别: </span>
<span>{{ formData.disabilityCategoryName || "--" }}</span> <span>{{ formData.disabilityCategoryName || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="残疾类别" v-else> <el-form-item label-width="104px" label="残疾类别" v-else>
<el-select v-model="formData.disabilityCategoryCode" clearable> <el-select v-model="formData.disabilityCategoryCode" clearable>
<el-option v-for="item in dicts.disability_category_code" :key="item.value" <el-option v-for="item in dicts.disability_category_code" :key="item.value"
:label="item.label" :value="item.value"> :label="item.label" :value="item.value">
@ -158,7 +158,7 @@
<span class="info-title-2">残疾级别: </span> <span class="info-title-2">残疾级别: </span>
<span>{{ formData.disabilityLevelName || "--" }}</span> <span>{{ formData.disabilityLevelName || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="残疾级别" v-else> <el-form-item label-width="104px" label="残疾级别" v-else>
<el-select v-model="formData.disabilityLevel" clearable> <el-select v-model="formData.disabilityLevel" clearable>
<el-option v-for="item in dicts.disability_level" :key="item.value" :label="item.label" <el-option v-for="item in dicts.disability_level" :key="item.value" :label="item.label"
:value="item.value"> :value="item.value">
@ -171,7 +171,7 @@
<span class="info-title-2">残疾证号: </span> <span class="info-title-2">残疾证号: </span>
<span>{{ formData.disabilityNum || "--" }}</span> <span>{{ formData.disabilityNum || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="残疾证号" v-else> <el-form-item label-width="104px" label="残疾证号" v-else>
<el-input v-model="formData.disabilityNum" placeholder="请输入" clearable></el-input> <el-input v-model="formData.disabilityNum" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -183,7 +183,7 @@
<span class="info-title-2">与户主关系: </span> <span class="info-title-2">与户主关系: </span>
<span>{{ formData.disabilityCategoryName || "--" }}</span> <span>{{ formData.disabilityCategoryName || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="与户主关系" v-else> <el-form-item label-width="104px" label="与户主关系" v-else>
<el-select v-model="formData.houseHolderRel" clearable> <el-select v-model="formData.houseHolderRel" clearable>
<el-option v-for="item in dicts.resi_base_info" :key="item.value" <el-option v-for="item in dicts.resi_base_info" :key="item.value"
:label="item.label" :value="item.value"> :label="item.label" :value="item.value">
@ -196,7 +196,7 @@
<span class="info-title-2">居住情况: </span> <span class="info-title-2">居住情况: </span>
<span>{{ formData.resideSituationName || "--" }}</span> <span>{{ formData.resideSituationName || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="居住情况" v-else> <el-form-item label-width="104px" label="居住情况" v-else>
<el-select v-model="formData.resideSituation" clearable> <el-select v-model="formData.resideSituation" clearable>
<el-option v-for="item in dicts.reside_situation" :key="item.value" <el-option v-for="item in dicts.reside_situation" :key="item.value"
:label="item.label" :value="item.value"> :label="item.label" :value="item.value">
@ -212,7 +212,7 @@
<span class="info-title-2">婚姻情况: </span> <span class="info-title-2">婚姻情况: </span>
<span>{{ formData.marriageName || "--" }}</span> <span>{{ formData.marriageName || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="婚姻情况" v-else> <el-form-item label-width="104px" label="婚姻情况" v-else>
<el-select v-model="formData.marriage" clearable> <el-select v-model="formData.marriage" clearable>
<el-option v-for="item in dicts.marriage" :key="item.value" <el-option v-for="item in dicts.marriage" :key="item.value"
:label="item.label" :value="item.value"> :label="item.label" :value="item.value">
@ -226,7 +226,7 @@
<span class="info-title-2">配偶情况: </span> <span class="info-title-2">配偶情况: </span>
<span>{{ formData.spouseSituationName || "--" }}</span> <span>{{ formData.spouseSituationName || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="配偶情况" v-else> <el-form-item label-width="104px" label="配偶情况" v-else>
<el-select v-model="formData.spouseSituation" clearable> <el-select v-model="formData.spouseSituation" clearable>
<el-option v-for="item in dicts.spouse_situation" :key="item.value" <el-option v-for="item in dicts.spouse_situation" :key="item.value"
:label="item.label" :value="item.value"> :label="item.label" :value="item.value">
@ -241,7 +241,7 @@
<span class="info-title-2">退休金额: </span> <span class="info-title-2">退休金额: </span>
<span>{{ formData.retirementAmount || "--" }}</span> <span>{{ formData.retirementAmount || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="退休金额" v-else> <el-form-item label-width="104px" label="退休金额" v-else>
<el-input v-model="formData.retirementAmount" placeholder="请输入" clearable <el-input v-model="formData.retirementAmount" placeholder="请输入" clearable
@blur="checkNumberInput"></el-input> @blur="checkNumberInput"></el-input>
</el-form-item> </el-form-item>
@ -251,7 +251,7 @@
<span class="info-title-2">高龄补助: </span> <span class="info-title-2">高龄补助: </span>
<span>{{ formData.oldSubsidy || "--" }}</span> <span>{{ formData.oldSubsidy || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="高龄补助" v-else> <el-form-item label-width="104px" label="高龄补助" v-else>
<el-input v-model="formData.oldSubsidy" placeholder="请输入" clearable <el-input v-model="formData.oldSubsidy" placeholder="请输入" clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
@ -260,7 +260,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<div class="info-prop" v-if="formType == 'detail'"> <div class="info-prop" v-if="formType == 'detail'">
<span class="info-title-2">有无赡养: </span> <span class="info-title-2">有无赡养人: </span>
<span>{{ <span>{{
formData.elderlyFlag != null formData.elderlyFlag != null
? formData.elderlyFlag === 1 ? formData.elderlyFlag === 1
@ -271,7 +271,7 @@
: "--" : "--"
}}</span> }}</span>
</div> </div>
<el-form-item label-width="100px" label="有无赡养人" v-else> <el-form-item label-width="104px" label="有无赡养人" v-else>
<el-select v-model="formData.elderlyFlag" clearable> <el-select v-model="formData.elderlyFlag" clearable>
<el-option v-for="item in elderlyList" :key="item.value" :label="item.label" <el-option v-for="item in elderlyList" :key="item.value" :label="item.label"
:value="item.value"> :value="item.value">
@ -284,7 +284,7 @@
<span class="info-title-2">与赡养人关系: </span> <span class="info-title-2">与赡养人关系: </span>
<span>{{ formData.elderlyRelationName || "--" }}</span> <span>{{ formData.elderlyRelationName || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="与赡养人关系" v-else> <el-form-item label-width="104px" label="与赡养人关系" v-else>
<el-select v-model="formData.elderlyRelation" clearable> <el-select v-model="formData.elderlyRelation" clearable>
<el-option v-for="item in dicts.resi_base_info" :key="item.value" <el-option v-for="item in dicts.resi_base_info" :key="item.value"
:label="item.label" :value="item.value"> :label="item.label" :value="item.value">
@ -299,7 +299,7 @@
<span class="info-title-2">赡养人联系电话: </span> <span class="info-title-2">赡养人联系电话: </span>
<span>{{ formData.dependantMobile || "--" }}</span> <span>{{ formData.dependantMobile || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="赡养人联系电话" v-else> <el-form-item label-width="104px" label="赡养人联系电话" v-else>
<el-input v-model="formData.dependantMobile" placeholder="请输入" clearable></el-input> <el-input v-model="formData.dependantMobile" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -311,7 +311,7 @@
<span class="info-title-2">备注: </span> <span class="info-title-2">备注: </span>
<span>{{ formData.remark || "--" }}</span> <span>{{ formData.remark || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="备注" class="wd-wr" v-else> <el-form-item label-width="104px" label="备注" class="wd-wr" v-else>
<el-input v-model="formData.remark" placeholder="请输入" clearable></el-input> <el-input v-model="formData.remark" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>

6
src/views/modules/base/residentManagement/oldPeople/oldPeople.vue

@ -304,7 +304,7 @@
prop="elderlyFlag" prop="elderlyFlag"
align="center" align="center"
width="100" width="100"
label="该居民有无赡养人" label="该居民有无赡养人"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
<template slot-scope="scope"> <template slot-scope="scope">
@ -475,8 +475,7 @@
showEdit: false, showEdit: false,
showDetail: false, showDetail: false,
formType: "add", formType: "add",
addDiaTitle: "新增", addDiaTitle: "",
detailDiaTitle: "详情",
multiSelection: [], // multiSelection: [], //
importLoading: false, importLoading: false,
@ -645,6 +644,7 @@
// //
async handleEdit(row) { async handleEdit(row) {
this.addDiaTitle = "编辑";
this.showAdd = true; this.showAdd = true;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.ref_add_form.initForm("edit", row); this.$refs.ref_add_form.initForm("edit", row);

1
src/views/modules/base/residentManagement/publicWelfarePost/publicWelfarePost.vue

@ -588,6 +588,7 @@
// //
async handleEdit(row) { async handleEdit(row) {
this.addDiaTitle = "编辑";
this.showAdd = true; this.showAdd = true;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.ref_add_form.initForm("edit", row); this.$refs.ref_add_form.initForm("edit", row);

2
src/views/modules/base/residentManagement/resiDisability/addForm.vue

@ -302,7 +302,7 @@
<span class="info-title-2">月收入: </span> <span class="info-title-2">月收入: </span>
<span>{{ formData.monthIncome || "--" }}</span> <span>{{ formData.monthIncome || "--" }}</span>
</div> </div>
<el-form-item label-width="100px" label="退休金额" v-else> <el-form-item label-width="100px" label="月收入" v-else>
<el-input <el-input
v-model="formData.monthIncome" v-model="formData.monthIncome"
placeholder="请输入" placeholder="请输入"

2
src/views/modules/base/residentManagement/resiDisability/resiDisability.vue

@ -555,7 +555,6 @@ export default {
// showDetail: false, // showDetail: false,
formType: "add", formType: "add",
addDiaTitle: "新增", addDiaTitle: "新增",
detailDiaTitle: "详情",
multiSelection: [], // multiSelection: [], //
importLoading: false, importLoading: false,
@ -637,6 +636,7 @@ export default {
}, },
// //
diaDetailClose() { diaDetailClose() {
this.addDiaTitle = "编辑";
this.$refs.ref_detail_form.diaDestroy(); this.$refs.ref_detail_form.diaDestroy();
this.showDetail = false; this.showDetail = false;
}, },

2
src/views/modules/base/residentManagement/subsistenceAllowance/subsistenceAllowance.vue

@ -417,7 +417,6 @@
showDetail: false, showDetail: false,
formType: "add", formType: "add",
addDiaTitle: "新增", addDiaTitle: "新增",
detailDiaTitle: "详情",
multiSelection: [], // multiSelection: [], //
importLoading: false, importLoading: false,
@ -587,6 +586,7 @@
// //
async handleEdit(row) { async handleEdit(row) {
this.addDiaTitle = "编辑";
this.showAdd = true; this.showAdd = true;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.ref_add_form.initForm("edit", row); this.$refs.ref_add_form.initForm("edit", row);

2
src/views/modules/base/residentManagement/tefu/tefuList.vue

@ -270,7 +270,6 @@
</el-table-column> </el-table-column>
<el-table-column prop="currentResidence" <el-table-column prop="currentResidence"
align="center" align="center"
width="150"
label="居住地址" label="居住地址"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
@ -423,7 +422,6 @@ export default {
showDetail: false, showDetail: false,
formType: "add", formType: "add",
addDiaTitle: "新增", addDiaTitle: "新增",
detailDiaTitle: "详情",
multiSelection: [], // multiSelection: [], //
importLoading: false, importLoading: false,

1
src/views/modules/base/residentManagement/unemployment/unemployment.vue

@ -656,7 +656,6 @@ export default {
showDetail: false, showDetail: false,
formType: "add", formType: "add",
addDiaTitle: "新增", addDiaTitle: "新增",
detailDiaTitle: "详情",
multiSelection: [], // multiSelection: [], //
importLoading: false, importLoading: false,

3
src/views/modules/base/residentManagement/veteran/veteran.vue

@ -642,7 +642,6 @@ export default {
showDetail: false, showDetail: false,
formType: "add", formType: "add",
addDiaTitle: "新增", addDiaTitle: "新增",
detailDiaTitle: "详情",
multiSelection: [], // multiSelection: [], //
importLoading: false, importLoading: false,
@ -738,7 +737,7 @@ export default {
}, },
// //
async handleEdit(row) { async handleEdit(row) {
this.addDiaTitle = "详情"; this.addDiaTitle = "编辑";
this.formType = "edit"; this.formType = "edit";
this.showAdd = true; this.showAdd = true;
this.$nextTick(() => { this.$nextTick(() => {

1
src/views/modules/base/residentManagement/volunteer/volunteer.vue

@ -514,7 +514,6 @@ export default {
showDetail: false, showDetail: false,
formType: "add", formType: "add",
addDiaTitle: "新增", addDiaTitle: "新增",
detailDiaTitle: "详情",
multiSelection: [], // multiSelection: [], //
importLoading: false, importLoading: false,

5
src/views/modules/communityParty/partyOrg/orgTree.vue

@ -198,7 +198,9 @@ export default {
}); });
}, },
rowClassName(row, rowIndex) { rowClassName(row, rowIndex) {
console.log(row);
if (row.row.childrenQty == 0) { if (row.row.childrenQty == 0) {
console.log(row);
return 'no-expand'; return 'no-expand';
} }
return ''; return '';
@ -269,12 +271,13 @@ export default {
} }
this.partyOrgTree=[] this.partyOrgTree=[]
this.partyOrgTree.push(data); data.hasChildren = true
data.children.forEach(item=>{ data.children.forEach(item=>{
if(item.childrenQty != 0){ if(item.childrenQty != 0){
item.hasChildren = true item.hasChildren = true
} }
}) })
this.partyOrgTree.push(data);
this.tableKey = new Date().getTime(); this.tableKey = new Date().getTime();
// 2 // 2
console.log(">>>>", this.partyOrgTree) console.log(">>>>", this.partyOrgTree)

13
src/views/modules/goverhotline/index.vue

@ -106,15 +106,6 @@
<el-table-column prop="content" align="center" label="投诉内容" :show-overflow-tooltip="true"></el-table-column> <el-table-column prop="content" align="center" label="投诉内容" :show-overflow-tooltip="true"></el-table-column>
</el-table> </el-table>
<div>
<h1 style="font-size: 24px; font-weight: bold;"> 工作改进举措 </h1>
<h2 style="font-size: 20px; font-weight: bold;"> 一是机制要</h2>
<h2 style="font-size: 20px; font-weight: bold;"> 二是质量要</h2>
<h2 style="font-size: 20px; font-weight: bold;"> 三是分流要</h2>
<h2 style="font-size: 20px; font-weight: bold;"> 四是流程要</h2>
<h2 style="font-size: 20px; font-weight: bold;"> 五是沟通要</h2>
<h2 style="font-size: 20px; font-weight: bold;"> 六是模板要"</h2>
</div>
</div> </div>
@ -590,11 +581,11 @@ export default {
const url = '/governance/dwdEvent/report'; const url = '/governance/dwdEvent/report';
const {formData } = this; const {formData } = this;
const { data, code, msg } = await requestPost(url, { const { data, code, internalMsg } = await requestPost(url, {
...formData ...formData
}); });
if (code != 0) { if (code != 0) {
this.$message.error(msg); this.$message.info(internalMsg);
return; return;
} }
if (!data) { if (!data) {

38
src/views/modules/home/index.vue

@ -226,7 +226,7 @@ import {mapGetters} from "vuex";
import nextTick from "dai-js/tools/nextTick"; import nextTick from "dai-js/tools/nextTick";
import fastcall from "@/views/modules/cpts/fastcall"; import fastcall from "@/views/modules/cpts/fastcall";
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import { requestPostBi } from "@/js/dai/request-bipass";
export default { export default {
components: {fastcall}, components: {fastcall},
@ -274,9 +274,7 @@ export default {
activeName: 'resi', activeName: 'resi',
myChart: {}, myChart: {}
resiCategoryData:[]
} }
}, },
computed: { computed: {
@ -360,35 +358,6 @@ export default {
}) })
}, },
async getResiCategoryData() {
const url = "resident_class_statics";
const { data, code, msg } = await requestPostBi(
url,
{
queryParam: {
org_id: this.$store.state.user.agencyId,
},
},
{
// mockId: 60031937,
}
);
if (code === 0) {
this.znycCategory.list = data.map((item) => {
return {
name: item.label,
count: item.count,
per: item.ratio,
const: "const",
};
});
console.log(this.resiCategoryData);
} else {
this.$message.error(msg);
}
},
handleWindowResize() { handleWindowResize() {
if (this.myChart) { if (this.myChart) {
this.myChart.resize(); this.myChart.resize();
@ -455,8 +424,7 @@ export default {
async getApiData() { async getApiData() {
await this.getOrgData(); await this.getOrgData();
this.getWarningList(); this.getWarningList();
// this.getZnycList(); this.getZnycList();
this.getResiCategoryData()
this.getPandectData(); this.getPandectData();
this.getNoticeData(); this.getNoticeData();
}, },

2
src/views/modules/shequzhili/eventOld/eventList.vue

@ -107,7 +107,7 @@
:auto-upload="true" :on-progress="handleProgress" :on-success="handleExcelSuccess" :auto-upload="true" :on-progress="handleProgress" :on-success="handleExcelSuccess"
:before-upload="beforeExcelUpload" :http-request="uploadHttpRequest" :before-upload="beforeExcelUpload" :http-request="uploadHttpRequest"
style="display: inline-block;margin:0px 10px"> style="display: inline-block;margin:0px 10px">
<el-button size="small" class="diy-button--white" :loading="importLoading">导入</el-button> <!-- <el-button size="small" class="diy-button--white" :loading="importLoading">导入</el-button> -->
</el-upload> </el-upload>
<el-button @click="handleExport" class="diy-button--white" size="small">导出</el-button> <el-button @click="handleExport" class="diy-button--white" size="small">导出</el-button>
<el-dropdown size="small" split-button type="primary" style="margin: 0 10px; height: 30px" <el-dropdown size="small" split-button type="primary" style="margin: 0 10px; height: 30px"

Loading…
Cancel
Save