From 0e461a232cce6e52fbfd071788bdd7294d51e397 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 21 Dec 2021 16:43:00 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/school-web
---
src/components/mobilePopupOur/index.vue | 460 ++++++++++++++++++++++++++++-----------------------------
1 files changed, 227 insertions(+), 233 deletions(-)
diff --git a/src/components/mobilePopupOur/index.vue b/src/components/mobilePopupOur/index.vue
index 5775c35..b848294 100644
--- a/src/components/mobilePopupOur/index.vue
+++ b/src/components/mobilePopupOur/index.vue
@@ -17,7 +17,7 @@
<el-dropdown-item
v-for="(item, index) in choiceData"
:key="index"
- :command="item.name"
+ :command="item"
>{{ item.name }}</el-dropdown-item
>
</el-dropdown-menu>
@@ -26,12 +26,33 @@
</div>
</div>
<div class="m_p_center">
- <el-tabs v-model="activeName" @tab-click="handleClick">
+ <div
+ class="m_p_c_tableIn"
+ style="padding-top: 10px"
+ v-if="tabTable.length <= 0"
+ >
+ <el-empty
+ v-show="onlyData.length == 0"
+ description="暂无数据"
+ ></el-empty>
+ <mobilePopupOurOnce
+ v-for="(citem, cindex) in onlyData"
+ :key="citem.bgImg + ''"
+ :ends="onlyData.length - 1 == cindex"
+ :onceData="citem"
+ ></mobilePopupOurOnce>
+ <div v-show="onlyData.length != 0">
+ <el-divider content-position="left">
+ <i class="el-icon-s-promotion"></i> 暂无更多
+ </el-divider>
+ </div>
+ </div>
+ <el-tabs v-model="activeName" @tab-click="handleClick" v-else>
<el-tab-pane
v-for="(item, index) in tabTable"
:key="index"
- :label="item.label"
- :name="item.value"
+ :label="item.title"
+ :name="item.key"
>
<div class="m_p_c_tableIn">
<el-empty
@@ -40,7 +61,7 @@
></el-empty>
<mobilePopupOurOnce
v-for="(citem, cindex) in item.child"
- :key="cindex"
+ :key="citem.icon + ''"
:ends="item.child.length - 1 == cindex"
:onceData="citem"
></mobilePopupOurOnce>
@@ -57,257 +78,230 @@
</template>
<script>
+import { getList } from "@/api/mobile/orgnav/index";
+import { getListarc, getChildNavList } from "@/api/mobile/public/arc";
+import {
+ getListlivingFacilitiesr,
+ getListsupermarket,
+} from "@/api/mobile/livingFacilities/index";
import { mapGetters } from "vuex";
export default {
computed: {
- ...mapGetters(["mBigPopup"]),
+ ...mapGetters(["mBigPopup", "popupOurOpenData"]),
},
name: "mobilePopupOur",
data() {
return {
searchLabel: "",
choiceValue: "",
- choiceData: [
- {
- name: "党群机构",
- value: "1",
- },
- {
- name: "职能部门",
- value: "2",
- },
- {
- name: "其他机构",
- value: "3",
- },
- ],
- tabTable: [
- {
- label: "西东大街",
- value: "first",
- child: [
- {
- name: "电力部门",
- icon: "",
- lntLat: [121.49907024133591, 31.234911748958513],
- buts: ["实景", "图集", "定位"],
- },
- {
- name: "保安部门",
- icon: "",
- lntLat: [121.51198333955459, 31.216073280697593],
- buts: ["图集", "定位"],
- },
- {
- name: "图书馆",
- icon: "",
- lntLat: [121.4945198122125, 31.213002416673532],
- buts: ["定位"],
- },
- {
- name: "电力部门",
- icon: "",
- lntLat: [121.49907024133591, 31.234911748958513],
- buts: ["实景", "图集", "定位"],
- },
- {
- name: "保安部门",
- icon: "",
- lntLat: [121.51198333955459, 31.216073280697593],
- buts: ["图集", "定位"],
- },
- {
- name: "图书馆",
- icon: "",
- lntLat: [121.4945198122125, 31.213002416673532],
- buts: ["定位"],
- },
- {
- name: "电力部门",
- icon: "",
- lntLat: [121.49907024133591, 31.234911748958513],
- buts: ["实景", "图集", "定位"],
- },
- {
- name: "保安部门",
- icon: "",
- lntLat: [121.51198333955459, 31.216073280697593],
- buts: ["图集", "定位"],
- },
- {
- name: "图书馆",
- icon: "",
- lntLat: [121.4945198122125, 31.213002416673532],
- buts: ["定位"],
- },
- {
- name: "电力部门",
- icon: "",
- lntLat: [121.49907024133591, 31.234911748958513],
- buts: ["实景", "图集", "定位"],
- },
- {
- name: "保安部门",
- icon: "",
- lntLat: [121.51198333955459, 31.216073280697593],
- buts: ["图集", "定位"],
- },
- {
- name: "图书馆",
- icon: "",
- lntLat: [121.4945198122125, 31.213002416673532],
- buts: ["定位"],
- },
- {
- name: "电力部门",
- icon: "",
- lntLat: [121.49907024133591, 31.234911748958513],
- buts: ["实景", "图集", "定位"],
- },
- {
- name: "保安部门",
- icon: "",
- lntLat: [121.51198333955459, 31.216073280697593],
- buts: ["图集", "定位"],
- },
- {
- name: "图书馆",
- icon: "",
- lntLat: [121.4945198122125, 31.213002416673532],
- buts: ["定位"],
- },
- {
- name: "电力部门",
- icon: "",
- lntLat: [121.49907024133591, 31.234911748958513],
- buts: ["实景", "图集", "定位"],
- },
- {
- name: "保安部门",
- icon: "",
- lntLat: [121.51198333955459, 31.216073280697593],
- buts: ["图集", "定位"],
- },
- {
- name: "图书馆",
- icon: "",
- lntLat: [121.4945198122125, 31.213002416673532],
- buts: ["定位"],
- },
- {
- name: "电力部门",
- icon: "",
- lntLat: [121.49907024133591, 31.234911748958513],
- buts: ["实景", "图集", "定位"],
- },
- {
- name: "保安部门",
- icon: "",
- lntLat: [121.51198333955459, 31.216073280697593],
- buts: ["图集", "定位"],
- },
- {
- name: "图书馆",
- icon: "",
- lntLat: [121.4945198122125, 31.213002416673532],
- buts: ["定位"],
- },
- {
- name: "电力部门",
- icon: "",
- lntLat: [121.49907024133591, 31.234911748958513],
- buts: ["实景", "图集", "定位"],
- },
- {
- name: "保安部门",
- icon: "",
- lntLat: [121.51198333955459, 31.216073280697593],
- buts: ["图集", "定位"],
- },
- {
- name: "图书馆",
- icon: "",
- lntLat: [121.4945198122125, 31.213002416673532],
- buts: ["定位"],
- },
- ],
- },
- {
- label: "长江路",
- value: "second",
- child: [
- {
- name: "电力部门1",
- icon: "",
- position: [121.49190702133591, 31.234911741858513],
- buts: ["实景", "图集", "定位"],
- },
- {
- name: "保安部门1",
- icon: "",
- position: [121.49907021413591, 31.234911741895513],
- buts: ["图集", "定位"],
- },
- {
- name: "图书馆1",
- icon: "",
- position: [121.49901024133591, 31.234911749581513],
- buts: ["定位"],
- },
- ],
- },
- {
- label: "科技园",
- value: "third",
- child: [],
- },
- {
- label: "逸夫楼",
- value: "fourth",
- child: [],
- },
- ],
+ choiceKey: "",
+ choiceData: [],
+ tabTable: [],
fullscreenLoading: false,
- activeName: "first",
+ activeName: "1",
+ choiceMain: "",
+ onlyData: [],
+ OURAPI_FORLIFE: {},
};
},
- // watch: {
- // mBigPopup() {
- // console.log(this.mBigPopup.name);
- // this.choiceValue = this.mBigPopup.name;
- // },
- // },
mounted() {
this.fullscreenLoading = true;
- setTimeout(() => {
- if (this.mBigPopup.search) {
- this.searchLabel = this.mBigPopup.value;
- console.log("查询搜索结果", this.mBigPopup.value);
- this.fullscreenLoading = false;
- return;
- }
- this.choiceValue = this.mBigPopup.name;
+ if (this.mBigPopup.search) {
+ this.searchLabel = this.mBigPopup.value;
+ // console.log("查询搜索结果", this.mBigPopup.value);
this.fullscreenLoading = false;
- this.$store.commit("MSET_BIGPOPUPAFTER", false);
- console.log("请求对应街道接口");
- }, 500);
- // this.choiceValue = this.choiceData[0].name;
+ this.choiceMain = "搜索";
+ return;
+ }
+ this.choiceMain = this.popupOurOpenData.qurey;
+ this.choiceData = this.popupOurOpenData.main;
+ this.choiceValue = this.popupOurOpenData.main[0].name;
+ this.choiceKey = this.popupOurOpenData.main[0].type;
+ this.$store.commit("MSET_BIGPOPUPAFTER", false);
+ // console.log("请求对应街道接口", this.popupOurOpenData);
+ if (this.choiceMain == "校园建筑") {
+ //校园建筑:加入街道的选择
+ this.getDataCampus();
+ } else if (this.choiceMain == "机构单位") {
+ this.getInstitutional(this.choiceKey);
+ } else if (this.choiceMain == "生活设施") {
+ // 加入所有请求接口函数
+ this.OURAPI_FORLIFE = {
+ 1: getListlivingFacilitiesr,
+ 2: getListsupermarket,
+ 3: getListlivingFacilitiesr,
+ 4: getListlivingFacilitiesr,
+ 5: getListlivingFacilitiesr,
+ 6: getListlivingFacilitiesr,
+ 7: getListlivingFacilitiesr,
+ 8: getListlivingFacilitiesr,
+ 9: getListlivingFacilitiesr,
+ 10: getListlivingFacilitiesr,
+ };
+ this.getDatalivingFacilities();
+ } else if (this.choiceMain == "文化风景") {
+ console.log(this.choiceKey, " : ", this.choiceMain);
+ this.fullscreenLoading = false;
+ } else if (this.choiceMain == "出入口") {
+ console.log(this.choiceKey, " : ", this.choiceMain);
+ this.fullscreenLoading = false;
+ } else if (this.choiceMain == "停车场") {
+ console.log(this.choiceKey, " : ", this.choiceMain);
+ this.fullscreenLoading = false;
+ }
},
methods: {
handleClick(tab, event) {
- console.log(tab.name);
- },
- choiceIt(name) {
this.fullscreenLoading = true;
- setTimeout(() => {
- this.choiceValue = name;
- this.fullscreenLoading = false;
- console.log("请求对应头部下拉菜单接口");
- }, 500);
+ if (this.choiceMain == "校园建筑") {
+ this.getListCampus(this.activeName, this.choiceKey);
+ } else if (this.choiceMain == "生活设施") {
+ this.getListlivingFacilities(this.activeName, this.choiceKey); //生活设施 用choiceKey定位请求函数
+ }
+ },
+ choiceIt(command) {
+ this.fullscreenLoading = true;
+ this.choiceValue = command.name;
+ this.choiceKey = command.type;
+ console.log("请求对应头部下拉菜单接口", command);
+ if (this.choiceMain == "校园建筑") {
+ this.getListCampus(this.activeName, this.choiceKey);
+ } else if (this.choiceMain == "机构单位") {
+ this.getInstitutional(this.choiceKey);
+ } else if (this.choiceMain == "生活设施") {
+ this.getListlivingFacilities(this.activeName, this.choiceKey); //生活设施 用choiceKey定位请求函数
+ }
},
closeBigPopup() {
this.$store.commit("MSET_BIGPOPUP", false);
},
+ //"生活设施"↓
+ getDatalivingFacilities(data) {
+ let that = this;
+ getListarc().then((res) => {
+ let title = [];
+ res.data.data.forEach((item) => {
+ title.push({
+ title: item.dictValue,
+ flag: false,
+ key: item.dictKey,
+ child: [],
+ });
+ });
+ this.tabTable = title;
+
+ this.getListlivingFacilities(this.activeName, this.choiceKey); //生活设施 用choiceKey定位请求函数
+ });
+ },
+ getListlivingFacilities(campus, type) {
+ let that = this;
+ this.OURAPI_FORLIFE[type]({ campus: campus }).then((res) => {
+ const data = res.data.data.records;
+ // console.log(data);
+ // return;
+ let outList = [];
+ data.forEach((item) => {
+ let icon = item.tpurl.split(",");
+ outList.push({
+ name: item.mechanismname,
+ lntLat: [item.jd, item.wd],
+ alt: item.gd,
+ heading: item.heading,
+ pitch: item.pitch,
+ roll: item.roll,
+ bgImg: item.tpurl,
+ icon: icon,
+ from: this.choiceMain,
+ QRImg: item.codeurl,
+ websiteUrl: item.websiteurl,
+ telePhone: item.telephone,
+ buts:
+ that.mBigPopup.name == "校园建筑" ||
+ that.mBigPopup.name == "文化风景"
+ ? ["定位", "实景", "图集"]
+ : ["定位"],
+ });
+ });
+ that.fullscreenLoading = false;
+ that.tabTable[+campus - 1].child = outList;
+ });
+ },
+ //"生活设施"↑
+
+ //""机构单位""↓
+ getInstitutional(type) {
+ let that = this;
+ // console.log(type);
+ getList({ type: type }).then((res) => {
+ const data = res.data.data;
+ let outList = [];
+ data.records.forEach((item) => {
+ let icon = item.tpurl.split(",");
+ outList.push({
+ name: item.mechanismname,
+ lntLat: [item.jd, item.wd],
+ alt: item.gd,
+ heading: item.heading,
+ pitch: item.pitch,
+ roll: item.roll,
+ bgImg: item.tpurl,
+ icon: icon,
+ from: this.choiceMain,
+ QRImg: item.codeurl,
+ websiteUrl: item.websiteurl,
+ telePhone: item.telephone,
+ buts:
+ that.mBigPopup.name == "校园建筑" ||
+ that.mBigPopup.name == "文化风景"
+ ? ["定位", "实景", "图集"]
+ : ["定位"],
+ });
+ });
+ that.fullscreenLoading = false;
+ that.onlyData = outList;
+ });
+ },
+ //""机构单位""↑
+ //"校园建筑"↓
+ getDataCampus() {
+ getListarc().then((res) => {
+ let title = [];
+ res.data.data.forEach((item) => {
+ title.push({
+ title: item.dictValue,
+ flag: false,
+ key: item.dictKey,
+ child: [],
+ });
+ });
+ this.tabTable = title;
+ this.getListCampus(this.activeName, this.choiceKey);
+ });
+ },
+ getListCampus(campus, type) {
+ let that = this;
+ getChildNavList({ campus: campus, type: type }).then((res) => {
+ const data = res.data.data;
+ let outList = [];
+ data.forEach((item) => {
+ let icon = item.tpurl.split(",");
+ outList.push({
+ id: item.id,
+ name: item.mechanismname,
+ icon: icon,
+ from: this.choiceMain,
+ buts:
+ this.mBigPopup.name == "校园建筑" ||
+ this.mBigPopup.name == "文化风景"
+ ? ["定位", "实景", "图集"]
+ : ["定位"],
+ });
+ });
+ that.fullscreenLoading = false;
+ that.tabTable[+campus - 1].child = outList;
+ });
+ },
+ //"校园建筑"↑
},
};
</script>
--
Gitblit v1.9.3