Browse Source

优化代码提交

feature
张若晨 2 years ago
parent
commit
f5719265d7
  1. 25
      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

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

@ -582,33 +582,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 +660,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 +672,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 +724,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>

Loading…
Cancel
Save