Browse Source

对接导航下拉

feature
战立标 2 years ago
parent
commit
b67ffb2c50
  1. 5
      src/js/store/modules/chooseArea.js
  2. 87
      src/views/dataBoardMain/main-navbar.vue

5
src/js/store/modules/chooseArea.js

@ -1,5 +1,8 @@
const state = { const state = {
chooseName: "", chooseName: {
orgId: '',
level: '',
},
}; };
const mutations = { const mutations = {

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

@ -6,7 +6,7 @@
<div class="title">{{ customerName }}数据智能分析平台</div> <div class="title">{{ customerName }}数据智能分析平台</div>
<div class="selectArea"> <div class="selectArea">
<el-select @change="setSelectName" v-model="value" popper-class="selectPopClass"> <el-select @change="setSelectName" v-model="value" popper-class="selectPopClass">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> <el-option v-for="(item,index) in options" :key="item.value" :label="item.label" :value="index"></el-option>
</el-select> </el-select>
</div> </div>
<!-- <div class="btn-back" @click="toPage('/')"> <!-- <div class="btn-back" @click="toPage('/')">
@ -26,16 +26,20 @@
</div> </div>
</div>--> </div>-->
<div class="nav-list"> <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> <span>概览</span>
</div> </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> <span>组织架构</span>
</div> </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> <span>人房数据</span>
</div> </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> <span>满意度评价</span>
</div> </div>
</div> </div>
@ -156,6 +160,7 @@ import UpdatePasswordWork from "@/views/main-navbar-update-password-work";
import dateFormat from "dai-js/tools/dateFormat"; import dateFormat from "dai-js/tools/dateFormat";
import nextTick from "dai-js/tools/nextTick"; import nextTick from "dai-js/tools/nextTick";
import {requestGet} from "@/js/dai/request"; import {requestGet} from "@/js/dai/request";
export default { export default {
inject: ["refresh"], inject: ["refresh"],
data() { data() {
@ -167,33 +172,12 @@ export default {
showWeek: "", showWeek: "",
showTime: "", showTime: "",
showMonth: "", showMonth: "",
value: "", value: 0,
weather: { weather: {
weather: "晴", weather: "晴",
temperature: "--", temperature: "--",
}, },
options: [ options: [],
{
value: "选项1",
label: "黄金糕",
},
{
value: "选项2",
label: "双皮奶",
},
{
value: "选项3",
label: "蚵仔煎",
},
{
value: "选项4",
label: "龙须面",
},
{
value: "选项5",
label: "北京烤鸭",
},
],
}; };
}, },
components: { components: {
@ -219,10 +203,51 @@ export default {
pollTime(); pollTime();
}; };
pollTime(); pollTime();
this.getWeatherData(); // this.getWeatherData();
}, },
computed: {}, computed: {},
mounted() {
this.getOrgList()
},
methods: { methods: {
getOrgList() {
let params = {}
if (this.options.length) {
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.$store.dispatch("chooseArea/chooseName", {
orgId: data.id,
level: data.level
});
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,
}));
return data;
},
setSelectName(index) {
/* this.$store.dispatch("chooseArea/chooseName", {
orgId: this.options[index].id,
level: this.options[index].level
});*/
this.getOrgList()
},
computeCurrentTime() { computeCurrentTime() {
// let now = new Date(); // let now = new Date();
// let wk = now.getDay(); // let wk = now.getDay();
@ -270,9 +295,7 @@ export default {
} }
}, },
setSelectName(name) {
this.$store.dispatch("chooseArea/chooseName", name);
},
}, },
}; };
</script> </script>

Loading…
Cancel
Save