Browse Source

图谱画像动画效果及年月弹窗代码提交

feature
张若晨 2 years ago
parent
commit
2e80cf6083
  1. BIN
      src/assets/images/overview/down-icon.png
  2. BIN
      src/assets/images/overview/qipao-xiao.png
  3. BIN
      src/assets/images/overview/qipao.png
  4. BIN
      src/assets/images/overview/up-icon.png
  5. BIN
      src/assets/images/shuju/overview/jiedao-img.png
  6. 140
      src/assets/scss/dataBoard/overview/index.scss
  7. 8
      src/views/dataBoard/cpts/details/jmxq.vue
  8. 2
      src/views/dataBoard/cpts/details/smyd.vue
  9. 2
      src/views/dataBoard/cpts/details/xqwmz.vue
  10. 12
      src/views/dataBoard/cpts/details/yxwxfw.vue
  11. 119
      src/views/dataBoard/cpts/family/modules/businessTables copy/economize.vue
  12. 2
      src/views/dataBoard/cpts/personnel/index.vue
  13. 8
      src/views/dataBoard/cpts/personnel/modules/MatterDetails.vue
  14. 12
      src/views/dataBoard/overview/components/jdtphx.vue
  15. 3
      src/views/dataBoard/overview/components/jdwgy.vue
  16. 318
      src/views/dataBoard/overview/index.vue

BIN
src/assets/images/overview/down-icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

BIN
src/assets/images/overview/qipao-xiao.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/assets/images/overview/qipao.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
src/assets/images/overview/up-icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

BIN
src/assets/images/shuju/overview/jiedao-img.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 131 KiB

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

@ -16,6 +16,18 @@
width: 884px; width: 884px;
} }
.g-center-open {
position: relative;
width: 884px;
.m-map {
position: relative;
width: 100%;
height: 905px;
margin-bottom: 10px;
}
}
.g-right { .g-right {
width: 460px; width: 460px;
} }
@ -48,15 +60,6 @@
animation: move 10s linear infinite; animation: move 10s linear infinite;
} }
@keyframes move {
0% {
transform: translateY(0px);
}
100% {
transform: translateY(-320px);
}
}
.m-jdjs { .m-jdjs {
height: 318px; height: 318px;
@ -133,6 +136,16 @@
} }
} }
@keyframes move {
from {
margin-top: -232px;
}
to {
margin-top: -0;
}
}
@mixin rounded-corners { @mixin rounded-corners {
width: 76px; width: 76px;
height: 76px; height: 76px;
@ -232,6 +245,9 @@
&-center { &-center {
margin-top: 6px; margin-top: 6px;
height: 232px;
&-xiaoqipao {}
&-line {} &-line {}
@ -270,8 +286,79 @@
} }
} }
} }
&-center-two {
height: 232px;
margin-top: -232px;
width: 100%;
overflow: hidden;
img {
margin-left: 40px;
}
.daqipao {
width: 8px;
height: 48px
}
.xiaoqipao {
width: 8px;
height: 34px
}
}
&-center-two .qipao1 {
animation: scroll 5s linear infinite;
}
&-center-two .qipao2 {
animation: scroll1 7s linear infinite;
}
&-center-two .qipao3 {
animation: scroll 6s linear infinite;
}
&-center-two .qipao4 {
animation: scroll1 8s linear infinite;
}
&-center-two .qipao5 {
animation: scroll 5s linear infinite;
}
&-center-two .qipao6 {
animation: scroll1 7s linear infinite;
}
&-center-two .qipao7 {
animation: scroll 4s linear infinite;
}
&-center-two .qipao8 {
animation: scroll1 6s linear infinite;
}
} }
@keyframes scroll {
0% {
transform: translatey(500%);
}
100% {
transform: translatey(-200%);
}
}
@keyframes scroll1 {
0% {
transform: translatey(700%);
}
100% {
transform: translatey(-200%);
}
}
.m-jdwgy { .m-jdwgy {
height: 220px; height: 220px;
@ -674,4 +761,39 @@
width: 90px; width: 90px;
border: 0; border: 0;
} }
}
::v-deep .date-current-weiyi {
background: rgba(3, 19, 51, 0.9);
border-color: #006cff;
box-shadow: inset 0px 0px 16px 0px rgba(0, 145, 255, 1);
.el-date-picker__header-label {
color: #a0cdff;
}
.el-picker-panel__icon-btn {
color: #a0cdff;
}
.el-month-table {
td {
.cell {
color: #a0cdff;
}
}
}
.el-month-table td.current:not(.disabled) .cell {
color: #fff;
background-color: #409eff;
}
.el-month-table td.today:not(.disabled) .cell {
color: #0056d6;
}
.el-date-picker__header--bordered {
border-bottom: solid 1px #006cff;
}
} }

8
src/views/dataBoard/cpts/details/jmxq.vue

@ -42,9 +42,7 @@
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>上报时间</span> <span>上报时间</span>
<span>{{ <span>{{ item.reportTime }}</span>
item.reportTime
}}</span>
</div> </div>
<div class="eventItem"> <div class="eventItem">
<div>需求描述</div> <div>需求描述</div>
@ -56,7 +54,7 @@
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>需求人电话</span> <span>需求人电话</span>
<span>{{ item.demandUserMobile }}</span> <span> {{ $sensitive(item.demandUserMobile, 3, 7) }}</span>
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>完成时限</span> <span>完成时限</span>
@ -259,7 +257,7 @@ export default {
getDetailsData(id) { getDetailsData(id) {
this.loading = true; this.loading = true;
let params = { let params = {
demandRecId: id, demandRecId: id,
}; };

2
src/views/dataBoard/cpts/details/smyd.vue

@ -56,7 +56,7 @@
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>提交人电话</span> <span>提交人电话</span>
<span>{{ item.mobile }}</span> <span> {{ $sensitive(item.mobile, 3, 7) }}</span>
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>完成时限</span> <span>完成时限</span>

2
src/views/dataBoard/cpts/details/xqwmz.vue

@ -56,7 +56,7 @@
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>提交人电话</span> <span>提交人电话</span>
<span>{{ item.reporterMobile }}</span> <span> {{ $sensitive(item.reporterMobile, 3, 7) }}</span>
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>完成时限</span> <span>完成时限</span>

12
src/views/dataBoard/cpts/details/yxwxfw.vue

@ -59,7 +59,7 @@
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>联系电话</span> <span>联系电话</span>
<span>{{ formData.principalContact }}</span> <span> {{ $sensitive(formData.principalContact, 3, 7) }}</span>
</div> </div>
<div class="eventItem"> <div class="eventItem">
<span>服务方</span> <span>服务方</span>
@ -235,6 +235,16 @@ export default {
this.$message.error(msg); this.$message.error(msg);
} }
}); });
this.$http
.post("/governance/icEvent/process", { icEventId: id })
.then((res) => {
const { code, data, msg } = res.data;
if (code === 0) {
this.activities = data;
} else {
this.$message.error(msg);
}
});
}, },
}, },
}; };

119
src/views/dataBoard/cpts/family/modules/businessTables copy/economize.vue

@ -0,0 +1,119 @@
<template>
<div class="table">
<el-table :data="list" max-height="363px" height="363px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="不满意事项类型" prop="scope" width="190" />
<el-table-column label="不满意事项描述" prop="problemDesc" width="" />
<el-table-column label="办理状态" prop="completeFlag" width="120" />
<el-table-column label="是否回访" prop="isReturn" width="120" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<smyd :showDialog="showDialog" :id="rowId" @close="close" />
</div>
</template>
<script>
import smyd from "@/views/dataBoard/cpts/details/smyd.vue";
export default {
name: "economize",
components: {
smyd,
},
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
rowId: null,
showDialog: false,
};
},
created() {},
mounted() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.getList();
},
methods: {
handleView(row) {
this.rowId = row.id;
this.showDialog = true;
},
close() {
this.showDialog = false;
},
getList() {
//
this.$http
.post("/actual/base/peopleRoomOverview/provincialSatisfactionPageList", this.queryParams)
.then(({ data: res }) => {
this.list = res.data;
this.total = res.data.length;
this.$emit("changeTotal", { name: 1, total: this.total });
});
},
},
};
</script>
<style scoped lang="scss">
.business-records {
margin-bottom: 25px;
}
.table {
/deep/ .el-table td,
/deep/ .el-table th,
/deep/ .el-table tr {
padding: 14px !important;
border: none !important;
min-height: 52px;
}
/deep/ .el-table td,
/deep/ .el-table th {
background: none !important;
}
/deep/ .el-table td {
font-size: 14px;
font-weight: 400;
color: #ffffff;
text-shadow: 1px 2px 4px rgba(10, 32, 60, 0.51);
}
/deep/ .el-table tr {
background: none;
&:hover {
background-color: rgba(26, 149, 255, 0.3) !important;
}
}
/deep/ .el-table__body-wrapper tr:nth-of-type(odd) {
background: rgba(14, 56, 115, 0.4);
}
/deep/ .el-table {
background: none !important;
&:before {
background: none;
}
}
/deep/ .el-table__header-wrapper tr {
color: #a3b9da !important;
font-size: 14px;
font-weight: 400;
opacity: 0.76;
background: none;
&:hover {
background: none !important;
}
}
/deep/ .el-table__header-wrapper {
background: none !important;
}
}
</style>

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

@ -4,7 +4,7 @@
<el-col :span="10"> <el-col :span="10">
<data-title title="居民档案"> <data-title title="居民档案">
<div style="width: 53%; text-align: right"> <div style="width: 53%; text-align: right">
<a @click="popupShow = true">更多></a> <a @click="popupShow = true">详情></a>
</div> </div>
</data-title> </data-title>
<MatterDetails /> <MatterDetails />

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

@ -12,9 +12,11 @@
</div> </div>
<div class="tag" v-if="data.gridName">{{ data.gridName }}</div> <div class="tag" v-if="data.gridName">{{ data.gridName }}</div>
<div class="tag small" v-if="data.idNum"> <div class="tag small" v-if="data.idNum">
{{ data.idNum }} {{ $sensitive(data.idNum, 6, 16) }}
</div>
<div class="tag" v-if="data.mobile">
{{ $sensitive(data.mobile, 3, 7) }}
</div> </div>
<div class="tag" v-if="data.mobile">{{ data.mobile }}</div>
<div class="tag small" v-if="data.householdSituation"> <div class="tag small" v-if="data.householdSituation">
{{ data.householdSituation }} {{ data.householdSituation }}
</div> </div>
@ -129,7 +131,7 @@ export default {
} }
.user-name { .user-name {
width:174px; width: 174px;
text-align: center; text-align: center;
height: 17px; height: 17px;
font-size: 18px; font-size: 18px;

12
src/views/dataBoard/overview/components/jdtphx.vue

@ -43,7 +43,6 @@
</div> </div>
</div> </div>
<div class="m-jdhx-center"> <div class="m-jdhx-center">
<div class="m-jdhx-center-line"></div>
<div class="m-jdhx-center-content"> <div class="m-jdhx-center-content">
<div class="m-jdhx-center-content-item"> <div class="m-jdhx-center-content-item">
<div class="m-jdhx-center-content-item-jumin"> <div class="m-jdhx-center-content-item-jumin">
@ -74,7 +73,16 @@
</div> </div>
</div> </div>
</div> </div>
<div class="m-jdhx-center-line"></div> </div>
<div class="m-jdhx-center-two">
<img class="daqipao qipao1" src="@/assets/images/overview/qipao.png" />
<img class="xiaoqipao qipao2" src="@/assets/images/overview/qipao-xiao.png" />
<img class="daqipao qipao3" src="@/assets/images/overview/qipao.png" />
<img class="xiaoqipao qipao4" src="@/assets/images/overview/qipao-xiao.png" />
<img class="daqipao qipao5" src="@/assets/images/overview/qipao.png" />
<img class="xiaoqipao qipao6" src="@/assets/images/overview/qipao-xiao.png" />
<img class="daqipao qipao7" src="@/assets/images/overview/qipao.png" />
<img class="xiaoqipao qipao8" src="@/assets/images/overview/qipao-xiao.png" />
</div> </div>
<div class="m-jdhx-top"> <div class="m-jdhx-top">
<div class="m-jdhx-card"> <div class="m-jdhx-card">

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

@ -24,7 +24,7 @@
</el-table> </el-table>
<el-table v-if="currentLevelData.orgLevel == 'grid'" :data="wglist" v-loading="loading" max-height="190px" height="190px"> <el-table v-if="currentLevelData.orgLevel == 'grid'" :data="wglist" v-loading="loading" max-height="190px" height="190px">
<el-table-column label="序号" type="index" width="50" /> <el-table-column label="序号" type="index" width="50" />
<el-table-column prop="name" width="140" label="微网格" /> <el-table-column prop="name" width="140" label="组织名称" />
<el-table-column prop="type" width="90" label="类型"> <el-table-column prop="type" width="90" label="类型">
<template slot-scope="scope"> <template slot-scope="scope">
<span :style="'color:' + scope.row.type">{{ types[scope.row.type] }}</span> <span :style="'color:' + scope.row.type">{{ types[scope.row.type] }}</span>
@ -103,7 +103,6 @@ export default {
} }
}, },
handleClick(item) { handleClick(item) {
console.log("handleClick::", item);
if (this.currentLevelData.orgLevel == "grid") { if (this.currentLevelData.orgLevel == "grid") {
this.$router.push({ this.$router.push({
path: "/homeDetails/index", path: "/homeDetails/index",

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

@ -9,7 +9,7 @@
<div class="g-left"> <div class="g-left">
<div class="m-box"> <div class="m-box">
<title-box <title-box
:text="`${ :text="`${
currentLevel === 'district' currentLevel === 'district'
? '区' ? '区'
: currentLevel === 'street' : currentLevel === 'street'
@ -21,12 +21,12 @@
: '' : ''
}介绍`" }介绍`"
/> />
<jdjs :currentLevelData="currentLevelData"/> <jdjs :currentLevelData="currentLevelData" />
</div> </div>
<div class="m-box"> <div class="m-box">
<title-box <title-box
:text="`${ :text="`${
currentLevel === 'district' currentLevel === 'district'
? '区' ? '区'
: currentLevel === 'street' : currentLevel === 'street'
@ -38,137 +38,206 @@
: '' : ''
}图谱画像`" }图谱画像`"
/> />
<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
:class="listShow ? 'm-map' : 'g-center-open'"
style="overflow: hidden"
>
<map-top <map-top
:currentLevelData="currentLevelData" :currentLevelData="currentLevelData"
@changeType="changeType" @changeType="changeType"
:level="currentLevel" :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 <grid-map
ref="map" ref="map"
@clickAgency="clickAgencyItem" @clickAgency="clickAgencyItem"
:srcGridData="orgData" :srcGridData="orgData"
@clickDotBtn="handleClickDotBtn" @clickDotBtn="handleClickDotBtn"
:level="currentLevel" :level="currentLevel"
/> />
</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]}`">
<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 <jdwgy
:peopleType="peopleType" v-show="listShow"
:currentLevelData="currentLevelData" :peopleType="peopleType"
@setNum="setNum" :currentLevelData="currentLevelData"
@setPoint="setPoint" @setNum="setNum"
@setPoint="setPoint"
/> />
</div> </div>
</div> </div>
<div class="g-right"> <div class="g-right">
<div class="m-box"> <div class="m-box">
<title-box text="人房数据统计"/> <title-box text="人房数据统计" />
<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" <el-date-picker
type="month" :clearable="false" placeholder="选择月"> </el-date-picker> popper-class="date-current-weiyi"
:append-to-body="false"
v-model="rfphDate"
format="yyyy-MM"
value-format="yyyy-MM"
@change="changeDate"
type="month"
:clearable="false"
placeholder="选择月"
>
</el-date-picker>
</span> </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" <el-date-picker
:clearable="false" placeholder="选择月"/> popper-class="date-current-weiyi"
:append-to-body="false"
v-model="sq12345Date"
format="yyyy-MM"
value-format="yyyy-MM"
type="month"
:clearable="false"
placeholder="选择月"
/>
</span> </span>
</title-box> </title-box>
<sq12345 :currentLevelData="currentLevelData" :date="sq12345Date"/> <sq12345 :currentLevelData="currentLevelData" :date="sq12345Date" />
</div> </div>
<!-- 社区&网格--> <!-- 社区&网格-->
<div <div
v-if="currentLevel === 'community' || currentLevel === 'grid'" v-if="currentLevel === 'community' || currentLevel === 'grid'"
class="m-box" class="m-box"
> >
<title-box text="人房数据动态更新"/> <title-box text="人房数据动态更新" />
<Tabs <Tabs
v-model="dynamicType" v-model="dynamicType"
:list="dynamicTypeList" :list="dynamicTypeList"
v-if="currentLevel === 'community'" v-if="currentLevel === 'community'"
@changeVal="dynamicTypeChange" @changeVal="dynamicTypeChange"
/> />
<DynamicHumanRoomData <DynamicHumanRoomData
:currentLevelData="currentLevelData" :currentLevelData="currentLevelData"
v-if="dynamicType === 1" v-if="dynamicType === 1"
/> />
<GridUpdateRanking <GridUpdateRanking
:currentLevelData="currentLevelData" :currentLevelData="currentLevelData"
v-if="dynamicType === 2" 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" <el-date-picker
placeholder="选择月"/> popper-class="date-current-weiyi"
:append-to-body="false"
v-model="sqzcDate"
format="yyyy-MM"
value-format="yyyy-MM"
type="month"
:clearable="false"
placeholder="选择月"
/>
</span> </span>
</title-box> </title-box>
<CommunityResult <CommunityResult
:currentLevelData="currentLevelData" :currentLevelData="currentLevelData"
:date="sqzcDate" :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" <el-date-picker
type="month" :clearable="false" placeholder="选择月"/> popper-class="date-current-weiyi"
:append-to-body="false"
v-model="sjhfDate"
format="yyyy-MM"
value-format="yyyy-MM"
@change="changeDate"
type="month"
:clearable="false"
placeholder="选择月"
/>
</span> </span>
</title-box> </title-box>
<Tabs <Tabs
v-model="eventType" v-model="eventType"
:list="eventTypeList" :list="eventTypeList"
@changeVal="eventTypeChange" @changeVal="eventTypeChange"
/> />
<EventAndFollowUp <EventAndFollowUp
:currentLevelData="currentLevelData" :currentLevelData="currentLevelData"
:date="sjhfDate" :date="sjhfDate"
v-if="eventType === 1" v-if="eventType === 1"
/> />
<FollowUp <FollowUp
:currentLevelData="currentLevelData" :currentLevelData="currentLevelData"
:date="sjhfDate" :date="sjhfDate"
v-if="eventType === 2" 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" <el-date-picker
type="month" :clearable="false" placeholder="选择月"/> popper-class="date-current-weiyi"
:append-to-body="false"
v-model="sqwggxDate"
format="yyyy-MM"
value-format="yyyy-MM"
@change="changeDate"
type="month"
:clearable="false"
placeholder="选择月"
/>
</span> </span>
</title-box> </title-box>
<RankingGridData <RankingGridData
:currentLevelData="currentLevelData" :currentLevelData="currentLevelData"
:date="sqwggxDate" :date="sqwggxDate"
/> />
</div> </div>
</div> </div>
</div> </div>
<cpt-loading v-show="false"/> <cpt-loading v-show="false" />
</div> </div>
</template> </template>
@ -193,8 +262,8 @@ import RankingGridData from "@/views/dataBoard/overview/components/RankingGridDa
import FollowUp from "@/views/dataBoard/overview/components/FollowUp.vue"; import FollowUp from "@/views/dataBoard/overview/components/FollowUp.vue";
import Tabs from "@/views/dataBoard/satisfactionEval/components/Tabs/index.vue"; import Tabs from "@/views/dataBoard/satisfactionEval/components/Tabs/index.vue";
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";
export default { export default {
name: "renfang", name: "renfang",
@ -237,7 +306,7 @@ export default {
currentLevelData: { currentLevelData: {
orgId: this.$store.state.chooseArea.chooseName.orgId, orgId: this.$store.state.chooseArea.chooseName.orgId,
orgLevel: this.$store.state.chooseArea.chooseName.level, orgLevel: this.$store.state.chooseArea.chooseName.level,
meta: {title: "人房总览"}, meta: { title: "人房总览" },
}, },
breadList: [ breadList: [
{ {
@ -245,7 +314,7 @@ export default {
orgLevel: "", orgLevel: "",
id: "", id: "",
level: "", level: "",
meta: {title: "人房总览"}, meta: { title: "人房总览" },
}, },
], ],
peopleList: { peopleList: {
@ -284,6 +353,7 @@ export default {
], ],
customerName: "", customerName: "",
peopleType: "staffAgency", peopleType: "staffAgency",
listShow: true,
}; };
}, },
@ -313,7 +383,7 @@ export default {
methods: { methods: {
changeCustomerName() { changeCustomerName() {
this.customerName = this.customerName =
localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台";
}, },
changeType(e) { changeType(e) {
this.peopleType = e; this.peopleType = e;
@ -351,12 +421,12 @@ export default {
} }
}, },
clickBreadItem({item}) { clickBreadItem({ item }) {
this.toBread(item); this.toBread(item);
}, },
clickAgencyItem(item) { clickAgencyItem(item) {
this.$refs.map.clearMarkert() this.$refs.map.clearMarkert();
if (item.id) { if (item.id) {
this.customerName = item.name || item.meta.title; this.customerName = item.name || item.meta.title;
this.currentLevelData = { this.currentLevelData = {
@ -365,7 +435,7 @@ export default {
}; };
} else { } else {
this.customerName = this.customerName =
localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; 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,
@ -374,7 +444,7 @@ export default {
this.toBread({ this.toBread({
orgId: item.id, orgId: item.id,
orgLevel: item.level, orgLevel: item.level,
meta: {title: item.name}, meta: { title: item.name },
}); });
}, },
goBackMap() { goBackMap() {
@ -382,13 +452,13 @@ export default {
this.clickAgencyItem(item); this.clickAgencyItem(item);
}, },
toBread(item) { toBread(item) {
const {orgId} = item; const { orgId } = item;
const {breadList} = this; const { breadList } = this;
let index = breadList.findIndex((val) => val.orgId === orgId); let index = breadList.findIndex((val) => val.orgId === orgId);
if (index >= 0) { if (index >= 0) {
this.breadList = breadList.slice(0, index + 1); this.breadList = breadList.slice(0, index + 1);
} else { } else {
breadList.push({...item, id: item.orgId, level: item.orgLevel}); breadList.push({ ...item, id: item.orgId, level: item.orgLevel });
this.breadList = breadList; this.breadList = breadList;
} }
this.getMapData(item.orgId, item.orgLevel); this.getMapData(item.orgId, item.orgLevel);
@ -399,72 +469,81 @@ 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) {
console.log(this.orgData,data,'111') console.log(this.orgData, data, "111");
// data // data
let params = [] let params = [];
let org = this.orgData.children let org = this.orgData.children;
org.forEach(item => { org.forEach((item) => {
data.forEach(item2 => { data.forEach((item2) => {
if (item2.orgId === item.id && item.coordinates) { if (item2.orgId === item.id && item.coordinates) {
params.push({ params.push({
...item2, ...item2,
peopleType: this.peopleList[this.peopleType], peopleType: this.peopleList[this.peopleType],
latitude: item.latitude, latitude: item.latitude,
longitude: item.longitude longitude: item.longitude,
}) });
} }
}) });
}) });
if (params.length) { if (params.length) {
this.$refs.map.setNum(params) this.$refs.map.setNum(params);
} }
}, },
upDownShow() {
this.listShow = !this.listShow;
},
setPoint(data) { setPoint(data) {
if (data) { if (data) {
this.$refs.map.setPoint(data) this.$refs.map.setPoint(data);
} }
}, },
// //
async getMapData( async getMapData(
orgId = this.$store.state.chooseArea.chooseName.orgId, orgId = this.$store.state.chooseArea.chooseName.orgId,
level = this.$store.state.chooseArea.chooseName.level 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 } }) => {
console.log(this.orgId) this.orgData = data;
this.orgLevel = this.orgData.level; this.orgId = this.orgData.id;
this.currentLevel = this.orgData.agencyLevel; console.log(this.orgId);
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";
});
}, },
// //
async getSubMapData() { async getSubMapData() {
const url = "sub_org_map"; const url = "sub_org_map";
const {data, code, msg} = await requestPostBi( const { data, code, msg } = await requestPostBi(
url, url,
{ {
queryParam: { queryParam: {
org_id: this.orgId, org_id: this.orgId,
},
}, },
{ },
// mockId: 61831860, {
} // mockId: 61831860,
}
); );
if (code === 0) { if (code === 0) {
const {orgData} = this; const { orgData } = this;
orgData.children = data.map((item) => { orgData.children = data.map((item) => {
return { return {
...item, ...item,
@ -475,7 +554,7 @@ export default {
coordinates: item.coordinates || "", coordinates: item.coordinates || "",
}; };
}); });
this.orgData = {...orgData}; this.orgData = { ...orgData };
} else { } else {
this.$message.error(msg); this.$message.error(msg);
} }
@ -489,7 +568,7 @@ export default {
level: this.orgLevel, level: this.orgLevel,
}; };
const {data, code, msg} = await requestPost(url, params); const { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
this.orgData = data; this.orgData = data;
this.orgId = this.orgId; this.orgId = this.orgId;
@ -505,6 +584,16 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.up-style {
width: 51%;
img {
height: 12px;
width: 12px;
}
img:hover {
cursor: pointer;
}
}
.go-back { .go-back {
position: absolute; position: absolute;
z-index: 100; z-index: 100;
@ -521,8 +610,15 @@ export default {
cursor: pointer; cursor: pointer;
} }
} }
.date-current-weiyi{
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 {

Loading…
Cancel
Save