| | |
| | | <div class="m_p_h_center"> |
| | | <div> |
| | | <div v-if="mBigPopup.search" style="color: #fff"> |
| | | 查询结果{{ searchLabel ? "--" + searchLabel : "" }} |
| | | 查询结果{{ searchLabel ? " -- " + searchLabel : "" }} |
| | | </div> |
| | | <el-dropdown trigger="click" @command="choiceIt" v-else> |
| | | <span class="el-dropdown-link"> |
| | |
| | | <el-dropdown-item |
| | | v-for="(item, index) in choiceData" |
| | | :key="index" |
| | | :command="item.name" |
| | | :command="item" |
| | | >{{ item.name }}</el-dropdown-item |
| | | > |
| | | </el-dropdown-menu> |
| | |
| | | </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.icons + ''" |
| | | :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 |
| | |
| | | ></el-empty> |
| | | <mobilePopupOurOnce |
| | | v-for="(citem, cindex) in item.child" |
| | | :key="cindex" |
| | | :key="citem.icons" |
| | | :ends="item.child.length - 1 == cindex" |
| | | :onceData="citem" |
| | | ></mobilePopupOurOnce> |
| | | <!-- {{ citem.icon }} --> |
| | | <div v-show="item.child.length != 0"> |
| | | <el-divider content-position="left"> |
| | | <i class="el-icon-s-promotion"></i> 暂无更多 |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getListarc } from "@/api/mobile/public/arc"; //头部下标签页数据 |
| | | import { mapGetters } from "vuex"; |
| | | //搜索 |
| | | import { getListSearch } from "@/api/mobile/search/index"; |
| | | 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: "", |
| | | Cartesian3: { |
| | | x: -2852016.545079094, |
| | | y: 4654237.53861168, |
| | | z: 3288210.9971253853, |
| | | }, |
| | | position: [121.49907024133591, 31.234911748958513], |
| | | buts: ["实景", "图集", "定位"], |
| | | }, |
| | | { |
| | | name: "保安部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2853624.057617497, |
| | | y: 4654505.819491945, |
| | | z: 3286416.3935731286, |
| | | }, |
| | | position: [121.51198333955459, 31.216073280697593], |
| | | buts: ["图集", "定位"], |
| | | }, |
| | | { |
| | | name: "图书馆", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852304.498038979, |
| | | y: 4655537.369322868, |
| | | z: 3286133.4029617086, |
| | | }, |
| | | position: [121.4945198122125, 31.213002416673532], |
| | | buts: ["定位"], |
| | | }, |
| | | { |
| | | name: "电力部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852016.545079094, |
| | | y: 4654237.53861168, |
| | | z: 3288210.9971253853, |
| | | }, |
| | | position: [121.49907024133591, 31.234911748958513], |
| | | buts: ["实景", "图集", "定位"], |
| | | }, |
| | | { |
| | | name: "保安部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2853624.057617497, |
| | | y: 4654505.819491945, |
| | | z: 3286416.3935731286, |
| | | }, |
| | | position: [121.51198333955459, 31.216073280697593], |
| | | buts: ["图集", "定位"], |
| | | }, |
| | | { |
| | | name: "图书馆", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852304.498038979, |
| | | y: 4655537.369322868, |
| | | z: 3286133.4029617086, |
| | | }, |
| | | position: [121.4945198122125, 31.213002416673532], |
| | | buts: ["定位"], |
| | | }, |
| | | { |
| | | name: "电力部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852016.545079094, |
| | | y: 4654237.53861168, |
| | | z: 3288210.9971253853, |
| | | }, |
| | | position: [121.49907024133591, 31.234911748958513], |
| | | buts: ["实景", "图集", "定位"], |
| | | }, |
| | | { |
| | | name: "保安部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2853624.057617497, |
| | | y: 4654505.819491945, |
| | | z: 3286416.3935731286, |
| | | }, |
| | | position: [121.51198333955459, 31.216073280697593], |
| | | buts: ["图集", "定位"], |
| | | }, |
| | | { |
| | | name: "图书馆", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852304.498038979, |
| | | y: 4655537.369322868, |
| | | z: 3286133.4029617086, |
| | | }, |
| | | position: [121.4945198122125, 31.213002416673532], |
| | | buts: ["定位"], |
| | | }, |
| | | { |
| | | name: "电力部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852016.545079094, |
| | | y: 4654237.53861168, |
| | | z: 3288210.9971253853, |
| | | }, |
| | | position: [121.49907024133591, 31.234911748958513], |
| | | buts: ["实景", "图集", "定位"], |
| | | }, |
| | | { |
| | | name: "保安部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2853624.057617497, |
| | | y: 4654505.819491945, |
| | | z: 3286416.3935731286, |
| | | }, |
| | | position: [121.51198333955459, 31.216073280697593], |
| | | buts: ["图集", "定位"], |
| | | }, |
| | | { |
| | | name: "图书馆", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852304.498038979, |
| | | y: 4655537.369322868, |
| | | z: 3286133.4029617086, |
| | | }, |
| | | position: [121.4945198122125, 31.213002416673532], |
| | | buts: ["定位"], |
| | | }, |
| | | { |
| | | name: "电力部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852016.545079094, |
| | | y: 4654237.53861168, |
| | | z: 3288210.9971253853, |
| | | }, |
| | | position: [121.49907024133591, 31.234911748958513], |
| | | buts: ["实景", "图集", "定位"], |
| | | }, |
| | | { |
| | | name: "保安部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2853624.057617497, |
| | | y: 4654505.819491945, |
| | | z: 3286416.3935731286, |
| | | }, |
| | | position: [121.51198333955459, 31.216073280697593], |
| | | buts: ["图集", "定位"], |
| | | }, |
| | | { |
| | | name: "图书馆", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852304.498038979, |
| | | y: 4655537.369322868, |
| | | z: 3286133.4029617086, |
| | | }, |
| | | position: [121.4945198122125, 31.213002416673532], |
| | | buts: ["定位"], |
| | | }, |
| | | { |
| | | name: "电力部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852016.545079094, |
| | | y: 4654237.53861168, |
| | | z: 3288210.9971253853, |
| | | }, |
| | | position: [121.49907024133591, 31.234911748958513], |
| | | buts: ["实景", "图集", "定位"], |
| | | }, |
| | | { |
| | | name: "保安部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2853624.057617497, |
| | | y: 4654505.819491945, |
| | | z: 3286416.3935731286, |
| | | }, |
| | | position: [121.51198333955459, 31.216073280697593], |
| | | buts: ["图集", "定位"], |
| | | }, |
| | | { |
| | | name: "图书馆", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852304.498038979, |
| | | y: 4655537.369322868, |
| | | z: 3286133.4029617086, |
| | | }, |
| | | position: [121.4945198122125, 31.213002416673532], |
| | | buts: ["定位"], |
| | | }, |
| | | { |
| | | name: "电力部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852016.545079094, |
| | | y: 4654237.53861168, |
| | | z: 3288210.9971253853, |
| | | }, |
| | | position: [121.49907024133591, 31.234911748958513], |
| | | buts: ["实景", "图集", "定位"], |
| | | }, |
| | | { |
| | | name: "保安部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2853624.057617497, |
| | | y: 4654505.819491945, |
| | | z: 3286416.3935731286, |
| | | }, |
| | | position: [121.51198333955459, 31.216073280697593], |
| | | buts: ["图集", "定位"], |
| | | }, |
| | | { |
| | | name: "图书馆", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852304.498038979, |
| | | y: 4655537.369322868, |
| | | z: 3286133.4029617086, |
| | | }, |
| | | position: [121.4945198122125, 31.213002416673532], |
| | | buts: ["定位"], |
| | | }, |
| | | { |
| | | name: "电力部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852016.545079094, |
| | | y: 4654237.53861168, |
| | | z: 3288210.9971253853, |
| | | }, |
| | | position: [121.49907024133591, 31.234911748958513], |
| | | buts: ["实景", "图集", "定位"], |
| | | }, |
| | | { |
| | | name: "保安部门", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2853624.057617497, |
| | | y: 4654505.819491945, |
| | | z: 3286416.3935731286, |
| | | }, |
| | | position: [121.51198333955459, 31.216073280697593], |
| | | buts: ["图集", "定位"], |
| | | }, |
| | | { |
| | | name: "图书馆", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852304.498038979, |
| | | y: 4655537.369322868, |
| | | z: 3286133.4029617086, |
| | | }, |
| | | position: [121.4945198122125, 31.213002416673532], |
| | | buts: ["定位"], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "长江路", |
| | | value: "second", |
| | | child: [ |
| | | { |
| | | name: "电力部门1", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852016.545091094, |
| | | y: 4654237.53861168, |
| | | z: 3288210.9971238153, |
| | | }, |
| | | position: [121.49190702133591, 31.234911741858513], |
| | | buts: ["实景", "图集", "定位"], |
| | | }, |
| | | { |
| | | name: "保安部门1", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852016.541509094, |
| | | y: 4654237.53816168, |
| | | z: 3288210.9971125853, |
| | | }, |
| | | position: [121.49907021413591, 31.234911741895513], |
| | | buts: ["图集", "定位"], |
| | | }, |
| | | { |
| | | name: "图书馆1", |
| | | icon: "", |
| | | Cartesian3: { |
| | | x: -2852016.545019094, |
| | | y: 4654237.53861168, |
| | | z: 3288210.9971123853, |
| | | }, |
| | | position: [121.49901024133591, 31.234911749581513], |
| | | buts: ["定位"], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "科技园", |
| | | value: "third", |
| | | child: [], |
| | | }, |
| | | { |
| | | label: "逸夫楼", |
| | | value: "fourth", |
| | | child: [], |
| | | }, |
| | | ], |
| | | choiceKey: "", |
| | | choiceMethod: "", |
| | | choiceData: [], |
| | | tabTable: [], |
| | | fullscreenLoading: false, |
| | | activeName: "first", |
| | | activeName: "1", |
| | | choiceMain: "", |
| | | onlyData: [], |
| | | }; |
| | | }, |
| | | // 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 = "搜索"; |
| | | this.getListSearchMethod(this.mBigPopup.value); |
| | | return; |
| | | } |
| | | this.choiceMain = this.popupOurOpenData.qurey; // 进入的主题:列:机构单位,校园建筑 |
| | | this.choiceData = this.popupOurOpenData.main; //带入数据 包括name、type、method |
| | | |
| | | this.choiceValue = this.popupOurOpenData.main[0].name; |
| | | this.choiceKey = this.popupOurOpenData.main[0].type; |
| | | this.choiceMethod = this.popupOurOpenData.main[0].method; |
| | | |
| | | this.$store.commit("MSET_BIGPOPUPAFTER", false); //关闭前一个弹窗 |
| | | // console.log("请求对应街道接口", this.popupOurOpenData); |
| | | this.getDataHeardDown(); |
| | | }, |
| | | methods: { |
| | | handleClick(tab, event) { |
| | | console.log(tab.name); |
| | | }, |
| | | choiceIt(name) { |
| | | //头下部标签 |
| | | this.fullscreenLoading = true; |
| | | setTimeout(() => { |
| | | this.choiceValue = name; |
| | | this.fullscreenLoading = false; |
| | | console.log("请求对应头部下拉菜单接口"); |
| | | }, 500); |
| | | this.getOutList(this.activeName, this.choiceKey); |
| | | }, |
| | | choiceIt(command) { |
| | | //头部下拉菜单 |
| | | this.fullscreenLoading = true; |
| | | this.choiceValue = command.name; |
| | | this.choiceKey = command.type; |
| | | this.choiceMethod = command.method; //更改请求 |
| | | // console.log("请求对应头部下拉菜单接口", command); |
| | | this.getOutList(this.activeName, this.choiceKey); |
| | | }, |
| | | closeBigPopup() { |
| | | this.$store.commit("MSET_BIGPOPUP", false); |
| | | }, |
| | | getDataHeardDown() { |
| | | if (this.choiceMain == "机构单位") { |
| | | //不请求头部标签页数据 |
| | | this.getOutList(this.choiceKey); |
| | | return; |
| | | } |
| | | //获取头下部标签页 |
| | | 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.getOutList(this.activeName, this.choiceKey); |
| | | }); |
| | | }, |
| | | //请求 |
| | | getOutList(campus, type) { |
| | | let that = this; |
| | | let d; |
| | | if (this.choiceMain == "机构单位") { |
| | | // 不传标签页 |
| | | d = { |
| | | type: type, |
| | | }; |
| | | } else if ( |
| | | this.choiceMain == "生活设施" || |
| | | this.choiceMain == "出入口" || |
| | | this.choiceMain == "停车场" |
| | | ) { |
| | | // 改变传入属性 |
| | | d = { |
| | | campus: campus, |
| | | lifetype: type, |
| | | }; |
| | | } else { |
| | | d = { |
| | | campus: campus, |
| | | type: type, |
| | | }; |
| | | } |
| | | this.choiceMethod(d).then((res) => { |
| | | const data = res.data.data; |
| | | let outList = []; |
| | | if ( |
| | | this.mBigPopup.name == "校园建筑" || |
| | | this.mBigPopup.name == "文化风景" |
| | | ) { |
| | | // 校园建筑使用该id获取具体信息 |
| | | data.forEach((item) => { |
| | | let icon = item.tpurl.split(","); |
| | | outList.push({ |
| | | id: item.id, |
| | | name: item.mechanismname, |
| | | icon: icon, |
| | | icons: icon + item.mechanismname, //图片响应改变 |
| | | from: this.choiceMain, |
| | | video: item.videourl, |
| | | buts: |
| | | this.mBigPopup.name == "校园建筑" || |
| | | this.mBigPopup.name == "文化风景" |
| | | ? ["定位", "实景", "图集"] |
| | | : ["定位"], |
| | | }); |
| | | }); |
| | | } else { |
| | | //正常获取全部数据 |
| | | data.records.forEach((item) => { |
| | | let icon = item.tpurl.split(","); |
| | | let useData = { |
| | | 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, |
| | | icons: icon + item.mechanismname, //图片响应改变 |
| | | from: this.choiceMain, |
| | | QRImg: item.codeurl, |
| | | websiteUrl: item.websiteurl, |
| | | telePhone: item.telephone, |
| | | address: item.address, |
| | | introduce: item.introduce, |
| | | video: item.videourl, |
| | | buts: |
| | | that.mBigPopup.name == "校园建筑" || |
| | | that.mBigPopup.name == "文化风景" |
| | | ? ["定位", "实景", "图集"] |
| | | : ["定位"], |
| | | }; |
| | | outList.push(useData); |
| | | }); |
| | | } |
| | | that.fullscreenLoading = false; |
| | | if (this.choiceMain == "机构单位") { |
| | | that.onlyData = outList; |
| | | return; |
| | | } |
| | | that.tabTable[+campus - 1].child = outList; |
| | | }); |
| | | }, |
| | | //搜索请求 |
| | | getListSearchMethod(name) { |
| | | let val = { |
| | | mechanismName: name, |
| | | }, |
| | | that = this; |
| | | getListSearch(val).then((res) => { |
| | | if (res.data.code != 200) { |
| | | return; |
| | | } |
| | | const data = res.data.data; |
| | | //正常获取全部数据 |
| | | let outList = []; |
| | | data.forEach((item) => { |
| | | let icon = item.list.tpurl.split(","); |
| | | let useData = { |
| | | name: item.list.mechanismname, |
| | | lntLat: [item.list.jd, item.list.wd], |
| | | alt: item.list.gd, |
| | | heading: item.list.heading, |
| | | pitch: item.list.pitch, |
| | | roll: item.list.roll, |
| | | bgImg: item.list.tpurl, |
| | | icon: icon, |
| | | icons: icon + item.list.mechanismname, //图片响应改变 |
| | | from: this.choiceMain, |
| | | QRImg: item.list.codeurl, |
| | | websiteUrl: item.list.websiteurl, |
| | | telePhone: item.list.telephone, |
| | | address: item.list.address, |
| | | introduce: item.list.introduce, |
| | | video: item.list.videourl, |
| | | buts: |
| | | that.mBigPopup.name == "校园建筑" || |
| | | that.mBigPopup.name == "文化风景" |
| | | ? ["定位", "实景", "图集"] |
| | | : ["定位"], |
| | | }; |
| | | outList.push(useData); |
| | | }); |
| | | that.fullscreenLoading = false; |
| | | that.onlyData = outList; |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | #mobilePopupOur { |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | background-color: #fff; |
| | | z-index: 300; |
| | | .m_p_heard { |
| | | width: 100%; |
| | | height: 50px; |
| | | background-color: #a40000; |
| | | .m_p_h_break { |
| | | position: absolute; |
| | | left: 0; |
| | | top: 0; |
| | | width: 50px; |
| | | height: 50px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | .icon { |
| | | font-size: 22px; |
| | | color: #fff; |
| | | } |
| | | } |
| | | .m_p_h_center { |
| | | width: 100%; |
| | | height: 50px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | .el-dropdown-link { |
| | | color: #fff; |
| | | } |
| | | } |
| | | } |
| | | .m_p_center { |
| | | width: 100%; |
| | | height: calc(100% - 50px); |
| | | // border: 1px solid red |
| | | box-sizing: border-box; |
| | | .m_p_c_tableIn { |
| | | width: 100%; |
| | | height: 100%; |
| | | box-sizing: border-box; |
| | | overflow-x: hidden; |
| | | overflow-y: auto; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | </script> |