Browse Source

组织架构切换地区调用接口

feature
SongZhen 2 years ago
parent
commit
d6c3671532
  1. 19233
      pnpm-lock.yaml
  2. 2
      src/router/index.js
  3. 4
      src/views/dataBoard/cpts/map/index.vue
  4. 18
      src/views/dataBoard/organizational/dangTree/index.vue
  5. 21
      src/views/dataBoard/organizational/gridTree/index.vue
  6. 22
      src/views/dataBoard/organizational/jwTree/index.vue
  7. 27
      src/views/dataBoard/organizational/personalPage/index.vue
  8. 63
      src/views/dataBoardMain/main-navbar.vue
  9. 15914
      yarn-error.log
  10. 1739
      yarn.lock

19233
pnpm-lock.yaml

File diff suppressed because it is too large

2
src/router/index.js

@ -414,7 +414,7 @@ export const dataBoardRoutes = {
{
path: "/organizational/orgPersonnel",
props: true,
component: () => import("@/views/dataBoard/cpts/personnel/index"),
component: () => import("@/views/dataBoard/organizational/personalPage/index"),
name: "OrgPersonnel",
meta: {
title: "居民画像",

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

@ -494,7 +494,7 @@ export default {
scene.addLayer(textLayer);
polygonLayer.on("mouseenter", (e) => {
console.log("e", e);
// console.log("e", e);
// const { lng, lat } = e.lngLat;
// const popup = new Popup({
// title: e.feature.properties.name,
@ -851,7 +851,7 @@ export default {
z-index: 100;
}
/deep/ .l7-popup-content {
background: rgba(#fff, 1);
background: rgba(#fff, 0.58);
box-shadow: 0 0 20px 3px inset rgba(#22f, 0.1);
}
/deep/ .l7-popup-close-button {

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

@ -32,12 +32,19 @@ export default {
},
watch: {
"$store.state.chooseArea.chooseName"(n, v) {
console.log(n);
if (n.orgId) {
this.levelArr = [];
this.nodeConfig = {};
this.getTreeData();
}
},
},
computed: {},
mounted() {
this.getTreeData();
const orgId = this.$store.state.chooseArea.chooseName.orgId;
if (orgId) {
this.getTreeData();
}
},
methods: {
getLevelArrNum(myArray) {
@ -58,7 +65,7 @@ export default {
getDataPLevel(data) {
data.forEach((item) => {
this.levelArr.push(item.partyOrgLevel);
if (item.children) {
if (item.children && item.children.length > 0) {
this.getDataPLevel(item.children);
}
});
@ -73,6 +80,11 @@ export default {
data: { code, msg, data },
} = res;
if (code === 0) {
if (data.length === 0) {
this.loading = false;
this.$message.error("暂无数据");
return;
}
this.nodeConfig = data[0];
this.getDataPLevel(data);
this.loading = false;

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

@ -31,8 +31,20 @@ export default {
};
},
computed: {},
watch: {
"$store.state.chooseArea.chooseName"(n, v) {
if (n.orgId) {
this.levelArr = [];
this.nodeConfig = {};
this.getTreeData();
}
},
},
mounted() {
this.getTreeData();
const orgId = this.$store.state.chooseArea.chooseName.orgId;
if (orgId) {
this.getTreeData();
}
},
methods: {
getLevelArrNum(myArray) {
@ -62,7 +74,7 @@ export default {
getDataPLevel(data) {
data.forEach((item) => {
this.levelArr.push(item.level);
if (item.children) {
if (item.children && item.children.length > 0) {
this.getDataPLevel(item.children);
}
});
@ -77,6 +89,11 @@ export default {
data: { code, msg, data },
} = res;
if (code === 0) {
if (data.length === 0) {
this.loading = false;
this.$message.error("暂无数据");
return;
}
this.nodeConfig = data[0];
this.getDataPLevel(data);
this.loading = false;

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

@ -31,8 +31,20 @@ export default {
};
},
computed: {},
watch: {
"$store.state.chooseArea.chooseName"(n, v) {
if (n.orgId) {
this.levelArr = [];
this.nodeConfig = {};
this.getTreeData();
}
},
},
mounted() {
this.getTreeData();
const orgId = this.$store.state.chooseArea.chooseName.orgId;
if (orgId) {
this.getTreeData();
}
},
methods: {
getLevelArrNum(myArray) {
@ -64,11 +76,12 @@ export default {
getDataPLevel(data) {
data.forEach((item) => {
this.levelArr.push(item.level);
if (item.children) {
if (item.children && item.children.length > 0) {
this.getDataPLevel(item.children);
}
});
const myArray = [...new Set(this.levelArr)];
console.log(myArray);
this.levelArr = this.getLevelArrNum(myArray);
},
//
@ -79,6 +92,11 @@ export default {
data: { code, msg, data },
} = res;
if (code === 0) {
if (data.length === 0) {
this.loading = false;
this.$message.error("暂无数据");
return;
}
this.nodeConfig = data[0];
this.getDataPLevel(data);
this.loading = false;

27
src/views/dataBoard/organizational/personalPage/index.vue

@ -0,0 +1,27 @@
<template>
<div class="personalWrap">
<div class="bread">
<bread-crumb />
</div>
<div class="wrap-content">
<personnel-person />
</div>
</div>
</template>
<script>
import BreadCrumb from "@/views/dataBoard/cpts/personnel/components/Breadcrumb/index.vue";
import PersonnelPerson from "@/views/dataBoard/cpts/personnel/index.vue";
export default {
name: "PersonalPage",
components: {
BreadCrumb,
PersonnelPerson,
},
data() {
return {};
},
};
</script>
<style scope lang="scss"></style>

63
src/views/dataBoardMain/main-navbar.vue

@ -1,12 +1,12 @@
<template>
<div class="m-topnav">
<div class="back" style="cursor: pointer" @click="goBack()">
<img src="~@/assets/images/shuju/main/back.png" alt="/"/>
<img src="~@/assets/images/shuju/main/back.png" alt="/" />
</div>
<div class="title">{{ customerName }}数据智能分析平台</div>
<div class="selectArea">
<div class="selectArea" v-if="$route.path == '/dataBoard/satisfactionEval/index'">
<el-select @change="setSelectName" v-model="value" popper-class="selectPopClass">
<el-option v-for="(item,index) in options" :key="item.value" :label="item.label" :value="index"></el-option>
<el-option v-for="(item, index) in options" :key="item.value" :label="item.label" :value="index"></el-option>
</el-select>
</div>
<!-- <div class="btn-back" @click="toPage('/')">
@ -26,20 +26,16 @@
</div>
</div>-->
<div class="nav-list">
<div class="nav-item" :class="{ 'z-on': $route.path == '/dataBoard/overview/index' }"
@click="toPage('/dataBoard/overview/index')">
<div class="nav-item" :class="{ 'z-on': $route.path == '/dataBoard/overview/index' }" @click="toPage('/dataBoard/overview/index')">
<span>概览</span>
</div>
<div class="nav-item" :class="{ 'z-on': $route.path.includes('/organizational') }"
@click="toPage('/organizational/dangTree')">
<div class="nav-item" :class="{ 'z-on': $route.path.includes('/organizational') }" @click="toPage('/organizational/dangTree')">
<span>组织架构</span>
</div>
<div class="nav-item" :class="{ 'z-on': $route.path.indexOf('/dataBoard/renfang') != -1 }"
@click="toPage('/dataBoard/renfang/index')">
<div class="nav-item" :class="{ 'z-on': $route.path.indexOf('/dataBoard/renfang') != -1 }" @click="toPage('/dataBoard/renfang/index')">
<span>人房数据</span>
</div>
<div class="nav-item" :class="{ 'z-on': $route.path == '/dataBoard/satisfactionEval/index' }"
@click="toPage('/dataBoard/satisfactionEval/index')">
<div class="nav-item" :class="{ 'z-on': $route.path == '/dataBoard/satisfactionEval/index' }" @click="toPage('/dataBoard/satisfactionEval/index')">
<span>满意度评价</span>
</div>
</div>
@ -155,11 +151,11 @@
</div>
</template>
<script>
import {messages} from "@/i18n";
import { messages } from "@/i18n";
import UpdatePasswordWork from "@/views/main-navbar-update-password-work";
import dateFormat from "dai-js/tools/dateFormat";
import nextTick from "dai-js/tools/nextTick";
import {requestGet} from "@/js/dai/request";
import { requestGet } from "@/js/dai/request";
export default {
inject: ["refresh"],
@ -207,37 +203,38 @@ export default {
},
computed: {},
mounted() {
this.getOrgList()
this.getOrgList();
},
methods: {
getOrgList() {
let params = {}
let params = {};
if (this.options.length) {
params = {orgId: this.options[this.value].id, level: this.options[this.value].level}
params = { orgId: this.options[this.value].id, level: this.options[this.value].level };
}
this.$http.post(`/gov/org/agency/maporg`, params).then(async ({data: {data}}) => {
console.log(data, 'data')
this.value = 0
this.$http.post(`/gov/org/agency/maporg`, params).then(async ({ data: { data } }) => {
console.log(data, "data");
this.value = 0;
this.$store.dispatch("chooseArea/chooseName", {
orgId: data.id,
level: data.level
level: data.level,
});
let children = await this.dealTreeData(data.children)
this.options = [{
...data,
value: data.id,
label: data.name,
}, ...children]
})
let children = await this.dealTreeData(data.children);
this.options = [
{
...data,
value: data.id,
label: data.name,
},
...children,
];
});
},
dealTreeData(treeData, level = 0) {
const data = treeData.map((item) => ({
...item,
value: item.id,
label: item.name,
children: (item.children && item.children.length)
? this.dealTreeData(item.children, level++)
: null,
children: item.children && item.children.length ? this.dealTreeData(item.children, level++) : null,
}));
return data;
},
@ -246,7 +243,7 @@ export default {
orgId: this.options[index].id,
level: this.options[index].level
});*/
this.getOrgList()
this.getOrgList();
},
computeCurrentTime() {
// let now = new Date();
@ -284,7 +281,7 @@ export default {
},
async getWeatherData() {
const url = "https://restapi.amap.com/v3/weather/weatherInfo?key=8c87678f34ce9e8e23245c5161991c4e";
const {data, code, msg} = await requestGet(url, {
const { data, code, msg } = await requestGet(url, {
city: this.$store.state.user.areaCode,
});
if (code === 0) {
@ -294,8 +291,6 @@ export default {
// return this.$message.error("");
}
},
},
};
</script>

15914
yarn-error.log

File diff suppressed because it is too large

1739
yarn.lock

File diff suppressed because it is too large
Loading…
Cancel
Save