shuishen
2021-12-24 a3761173a91a1fd7270b848f9f8d255c0bfa9b6c
Merge branch 'master' of http://192.168.0.105:10010/r/school-web
8 files modified
1 files added
408 ■■■■■ changed files
src/api/mobile/livingFacilities/index.js 163 ●●●● patch | view | raw | blame | history
src/api/mobile/monitor/index.js 16 ●●●●● patch | view | raw | blame | history
src/api/mobile/piont/index.js 51 ●●●●● patch | view | raw | blame | history
src/components/mobileLeftNav/index.vue 55 ●●●● patch | view | raw | blame | history
src/components/mobilePopupOur/index.vue 5 ●●●● patch | view | raw | blame | history
src/components/mobilePopupOurAfter/index.vue 63 ●●●●● patch | view | raw | blame | history
src/components/mobilePopupOurOnce/index.vue 1 ●●●● patch | view | raw | blame | history
src/components/mobileWindow/index.vue 26 ●●●● patch | view | raw | blame | history
src/styles/mobile/popup.scss 28 ●●●●● patch | view | raw | blame | history
src/api/mobile/livingFacilities/index.js
@@ -2,98 +2,109 @@
 * @Author: Morpheus
 * @Date: 2021-05-09 15:17:44
 * @Last Modified by: liu
 * @Last Modified time: 2021-12-22 11:12:21
 * @Last Modified time: 2021-12-24 11:29:59
 */
// 生活设施
import request from '@/router/axios'
//食堂餐厅
export const getListlivingFacilitiesr = (params) => { //获取生活设施
//换成了一个接口
export const getListLifeOnce = (params) => { //获取生活设施
    return request({
        url: 'blade-restaurant/restaurant/list',
        method: 'get',
        params: params
    })
}
//超市
export const getListsupermarket = (params) => { //获取生活设施
    return request({
        url: 'blade-supermarket/supermarket/list',
        url: 'blade-life/life/list',
        method: 'get',
        params: params
    })
}
//医疗
export const getListmedical = (params) => { //获取生活设施
    return request({
        url: 'blade-medical/medical/list',
        method: 'get',
        params: params
    })
}
//快递
export const getListmail = (params) => { //获取生活设施
    return request({
        url: 'blade-mail/mail/list',
        method: 'get',
        params: params
    })
}
//浴室
export const getListbathroom = (params) => { //获取生活设施
    return request({
        url: 'blade-bathroom/bathroom/list',
        method: 'get',
        params: params
    })
}
// //食堂餐厅
// export const getListlivingFacilitiesr = (params) => { //获取生活设施
//     return request({
//         url: 'blade-restaurant/restaurant/list',
//         method: 'get',
//         params: params
//     })
// }
// //超市
// export const getListsupermarket = (params) => { //获取生活设施
//     return request({
//         url: 'blade-supermarket/supermarket/list',
//         method: 'get',
//         params: params
//     })
// }
//打字复印
export const getListduplicate = (params) => { //获取生活设施
    return request({
        url: 'blade-duplicate/duplicate/list',
        method: 'get',
        params: params
    })
}
// //医疗
// export const getListmedical = (params) => { //获取生活设施
//     return request({
//         url: 'blade-medical/medical/list',
//         method: 'get',
//         params: params
//     })
// }
//银行网点
export const getListnetwork = (params) => { //获取生活设施
    return request({
        url: 'blade-network/network/list',
        method: 'get',
        params: params
    })
}
// //快递
// export const getListmail = (params) => { //获取生活设施
//     return request({
//         url: 'blade-mail/mail/list',
//         method: 'get',
//         params: params
//     })
// }
//AED
export const getListaed = (params) => { //获取生活设施
    return request({
        url: 'blade-aed/aed/list',
        method: 'get',
        params: params
    })
}
// //浴室
// export const getListbathroom = (params) => { //获取生活设施
//     return request({
//         url: 'blade-bathroom/bathroom/list',
//         method: 'get',
//         params: params
//     })
// }
//通讯
export const getListsignal = (params) => { //获取生活设施
    return request({
        url: 'blade-signal/signal/list',
        method: 'get',
        params: params
    })
}
// //打字复印
// export const getListduplicate = (params) => { //获取生活设施
//     return request({
//         url: 'blade-duplicate/duplicate/list',
//         method: 'get',
//         params: params
//     })
// }
//圈存机
export const getListtransference = (params) => { //获取生活设施
    return request({
        url: 'blade-transference/transference/list',
        method: 'get',
        params: params
    })
}
// //银行网点
// export const getListnetwork = (params) => { //获取生活设施
//     return request({
//         url: 'blade-network/network/list',
//         method: 'get',
//         params: params
//     })
// }
// //AED
// export const getListaed = (params) => { //获取生活设施
//     return request({
//         url: 'blade-aed/aed/list',
//         method: 'get',
//         params: params
//     })
// }
// //通讯
// export const getListsignal = (params) => { //获取生活设施
//     return request({
//         url: 'blade-signal/signal/list',
//         method: 'get',
//         params: params
//     })
// }
// //圈存机
// export const getListtransference = (params) => { //获取生活设施
//     return request({
//         url: 'blade-transference/transference/list',
//         method: 'get',
//         params: params
//     })
// }
src/api/mobile/monitor/index.js
New file
@@ -0,0 +1,16 @@
/*
 * @Author: Morpheus
 * @Date: 2021-05-09 15:17:44
 * @Last Modified by: liu
 * @Last Modified time: 2021-12-24 14:39:49
 */
// 监控
import request from '@/router/axios'
export const getListVideo = (params) => {
    return request({
        url: 'blade-architecture/architecture/selectVideo',
        method: 'get',
        params: params
    })
}
src/api/mobile/piont/index.js
@@ -2,37 +2,46 @@
 * @Author: Morpheus
 * @Date: 2021-05-09 15:17:44
 * @Last Modified by: liu
 * @Last Modified time: 2021-12-23 14:08:48
 * @Last Modified time: 2021-12-24 13:41:59
 */
// 标签
import request from '@/router/axios'
//出入
export const getListdoor = (params) => {
//出入-AED-停车场
export const getListcat = (params) => {
    return request({
        url: 'blade-door/door/selectDoor',
        method: 'get',
        params: params
    })
}
//AED
export const getListaed = (params) => {
    return request({
        url: 'blade-aed/aed/selectAed',
        url: 'blade-life/life/selectList',
        method: 'get',
        params: params
    })
}
//停车场
export const getListparking = (params) => {
    return request({
        url: 'blade-parking/parking/selectPark',
        method: 'get',
        params: params
    })
}
// //出入
// export const getListdoor = (params) => {
//     return request({
//         url: 'blade-door/door/selectDoor',
//         method: 'get',
//         params: params
//     })
// }
// //AED
// export const getListaed = (params) => {
//     return request({
//         url: 'blade-aed/aed/selectAed',
//         method: 'get',
//         params: params
//     })
// }
// //停车场
// export const getListparking = (params) => {
//     return request({
//         url: 'blade-parking/parking/selectPark',
//         method: 'get',
//         params: params
//     })
// }
// 全景
export const getListarchitecture = (params) => {
src/components/mobileLeftNav/index.vue
@@ -20,13 +20,15 @@
<script>
import { mapGetters } from "vuex";
import {
  getListdoor, //出入
  getListaed, //AED
  getListparking, //停车场
  // getListdoor, //出入
  // getListaed, //AED
  // getListparking, //停车场
  getListarchitecture, //全景
  getListarchitecture1, //标签
  getListroad, //道路
  getListcat, //出入-AED-停车场
} from "@/api/mobile/piont/index";
import { getListVideo } from "@/api/mobile/monitor/index";
export default {
  name: "mobileLeftNav",
  watch: {
@@ -101,6 +103,17 @@
          imgSrc: "img/leftnav/map-panorama.png",
          // imgSrc: "img/mobile/blue.png",
        },
        {
          flag: false,
          label: "监控",
          img: "/img/leftnav/scene.png",
          normal: "/img/leftnav/scene.png",
          checked: "/img/leftnav/scene-checked.png",
          layer: "videoLayer",
          methods: getListVideo,
          imgSrc: "img/leftnav/map-panorama.png",
          // imgSrc: "img/mobile/blue.png",
        },
        // {
        //   flag: false,
        //   label: "活动",
@@ -118,7 +131,8 @@
          normal: "/img/leftnav/aed.png",
          checked: "/img/leftnav/aed-checked.png",
          layer: "aedLayer",
          methods: getListaed,
          methods: getListcat,
          type: 9,
          imgSrc: "img/leftnav/map-aed.png",
          // imgSrc: "img/mobile/pink.png",
        },
@@ -129,7 +143,8 @@
          normal: "/img/leftnav/park.png",
          checked: "/img/leftnav/park-checked.png",
          layer: "parkLayer",
          methods: getListparking,
          methods: getListcat,
          type: 11,
          imgSrc: "https://map.hit.edu.cn/images/p-biao.png",
          // imgSrc: "img/mobile/popcorn.png",
        },
@@ -140,7 +155,8 @@
          normal: "/img/leftnav/come.png",
          checked: "/img/leftnav/come-checked.png",
          layer: "comeLayer",
          methods: getListdoor,
          methods: getListcat,
          type: 12,
          imgSrc: "img/leftnav/map-activity.png",
          // imgSrc: "img/mobile/purple.png",
        },
@@ -150,6 +166,7 @@
      tagLayer: null,
      wayLayer: null,
      sceneLayer: null,
      videoLayer: null,
      activityLayer: null,
      aedLayer: null,
      parkLayer: null,
@@ -230,6 +247,9 @@
      // this.sceneLayer = new this.DC.VectorLayer("sceneLayer");
      this.sceneLayer = new this.DC.HtmlLayer("sceneLayer");
      viewer.addLayer(this.sceneLayer);
      this.videoLayer = new this.DC.HtmlLayer("videoLayer");
      viewer.addLayer(this.videoLayer);
      // this.activityLayer = new this.DC.VectorLayer("activityLayer");
      this.activityLayer = new this.DC.HtmlLayer("activityLayer");
@@ -446,7 +466,8 @@
      let ourNum = that.leftNavData.length;
      for (let n = 0; n < ourNum; n++) {
        let ourD = this.leftNavData[n];
        ourD.methods().then((res) => {
        let d = ourD.type ? { lifetype: ourD.type } : {};
        ourD.methods(d).then((res) => {
          let dom;
          let data = res.data.data;
          let position = that.changePoiton(data);
@@ -525,14 +546,32 @@
                            </div>
                        </div>
                    `;
            } else if (ourD.label == "监控") {
              dom = `
                        <div class="mobiletag-entitys-box-pink">
                            <div class="tag-content">
                              监控
                            </div>
                            <div class="tag-angle-content">
                                <img src="${ourD.imgSrc}">
                            </div>
                        </div>
                    `;
            }
            const divIcon = new that.DC.DivIcon(position[k], dom);
            //订阅事件
            divIcon.on(DC.MouseEventType.CLICK, (e) => {
              // console.log(data[k]);
              let d = {
                name: data[k].mechanismname || data[k].roadname,
                name:
                  data[k].mechanismname ||
                  data[k].roadname ||
                  ourD.label == "监控"
                    ? "监控"
                    : "无显示名字",
                bgImg: data[k].tpurl,
                video: data[k].videourl || "",
                from: "labels",
                introduce: data[k].introduce,
              };
              // 定制化窗体
src/components/mobilePopupOur/index.vue
@@ -174,9 +174,10 @@
        this.choiceMain == "出入口" ||
        this.choiceMain == "停车场"
      ) {
        // 不传头部下拉菜单,因为请求链接不同
        // 改变传入属性
        d = {
          campus: campus,
          lifetype: type,
        };
      } else {
        d = {
@@ -200,6 +201,7 @@
              icon: icon,
              icons: icon + item.mechanismname, //图片响应改变
              from: this.choiceMain,
              video: item.videourl,
              buts:
                this.mBigPopup.name == "校园建筑" ||
                this.mBigPopup.name == "文化风景"
@@ -227,6 +229,7 @@
              telePhone: item.telephone,
              address: item.address,
              introduce: item.introduce,
              video: item.videourl,
              buts:
                that.mBigPopup.name == "校园建筑" ||
                that.mBigPopup.name == "文化风景"
src/components/mobilePopupOurAfter/index.vue
@@ -35,19 +35,20 @@
import { getList } from "@/api/mobile/orgnav/index"; //机构单位
import { getChildNavList } from "@/api/mobile/public/arc"; //校园建筑
import {
  getListlivingFacilitiesr,
  getListsupermarket,
  getListmedical,
  getListmail,
  getListbathroom,
  getListduplicate,
  getListnetwork,
  getListaed,
  getListsignal,
  getListtransference,
  // getListlivingFacilitiesr,
  // getListsupermarket,
  // getListmedical,
  // getListmail,
  // getListbathroom,
  // getListduplicate,
  // getListnetwork,
  // getListaed,
  // getListsignal,
  // getListtransference,
  getListLifeOnce, //所有的
} from "@/api/mobile/livingFacilities/index"; //生活设施
import { getListdoor } from "@/api/mobile/outIn/index"; //出入口
import { getListparking } from "@/api/mobile/stop/index"; //停车场
// import { getListdoor } from "@/api/mobile/outIn/index"; //出入口
// import { getListparking } from "@/api/mobile/stop/index"; //停车场
export default {
  name: "mobilePopupOurAfter",
  data() {
@@ -103,21 +104,35 @@
        { name: "家属住宅", type: 6, method: getChildNavList },
        { name: "其他楼宇", type: 7, method: getChildNavList },
      ],
      // openData3: [
      //   { name: "食堂餐厅", type: 1, method: getListlivingFacilitiesr },
      //   { name: "购物超市", type: 2, method: getListsupermarket },
      //   { name: "校内医疗", type: 3, method: getListmedical },
      //   { name: "邮寄快递", type: 4, method: getListmail },
      //   { name: "学生浴室", type: 5, method: getListbathroom },
      //   { name: "圈存机", type: 6, method: getListtransference },
      //   { name: "打字复印", type: 7, method: getListduplicate },
      //   { name: "AED", type: 8, method: getListaed },
      //   { name: "银行网点", type: 9, method: getListnetwork },
      //   { name: "通信营业厅", type: 10, method: getListsignal },
      // ],
      // openData6: [{ name: "停车场", type: 1, method: getListparking }],
      // openData5: [{ name: "出入口", type: 1, method: getListdoor }],
      openData3: [
        { name: "食堂餐厅", type: 1, method: getListlivingFacilitiesr },
        { name: "购物超市", type: 2, method: getListsupermarket },
        { name: "校内医疗", type: 3, method: getListmedical },
        { name: "邮寄快递", type: 4, method: getListmail },
        { name: "学生浴室", type: 5, method: getListbathroom },
        { name: "圈存机", type: 6, method: getListtransference },
        { name: "打字复印", type: 7, method: getListduplicate },
        { name: "AED", type: 8, method: getListaed },
        { name: "银行网点", type: 9, method: getListnetwork },
        { name: "通信营业厅", type: 10, method: getListsignal },
        { name: "食堂餐厅", type: 1, method: getListLifeOnce },
        { name: "购物超市", type: 2, method: getListLifeOnce },
        { name: "校内医疗", type: 3, method: getListLifeOnce },
        { name: "邮寄快递", type: 4, method: getListLifeOnce },
        { name: "学生浴室", type: 5, method: getListLifeOnce },
        { name: "圈存机", type: 6, method: getListLifeOnce },
        { name: "打字复印", type: 7, method: getListLifeOnce },
        { name: "银行网点", type: 8, method: getListLifeOnce },
        { name: "AED", type: 9, method: getListLifeOnce },
        { name: "通信营业厅", type: 10, method: getListLifeOnce },
      ],
      openData6: [{ name: "停车场", type: 11, method: getListLifeOnce }],
      openData5: [{ name: "出入口", type: 12, method: getListLifeOnce }],
      openData4: [{ name: "文化风景", type: 5, method: getChildNavList }],
      openData5: [{ name: "出入口", type: 1, method: getListdoor }],
      openData6: [{ name: "停车场", type: 1, method: getListparking }],
    };
  },
  mounted() {},
src/components/mobilePopupOurOnce/index.vue
@@ -138,6 +138,7 @@
          telePhone: result.telephone,
          address: result.address,
          introduce: result.introduce,
          video: result.videourl,
        };
        this.ourData = d;
      });
src/components/mobileWindow/index.vue
@@ -10,7 +10,8 @@
        <div class="mobile-popup-imgs-h-close">
          <i class="el-icon-close icon" @click="closeWindow"></i>
        </div>
        <img :src="url" alt="" />
        <video :src="video" controls="controls" autoplay v-if="video"></video>
        <img :src="url" alt="" v-show="url && !video" />
        <el-image
          style="width: 100px; height: 100px"
          :src="url"
@@ -20,7 +21,7 @@
        >
        </el-image>
        <!-- <div>{{ query.query }}</div> -->
        <div class="mobileBig-center-our">
        <div class="mobileBig-center-our" v-show="!video">
          <div
            v-for="(item, index) in center"
            :key="index"
@@ -47,6 +48,8 @@
                ? 'el-icon-data-board'
                : item.name == '去这'
                ? 'el-icon-finished'
                : item.name == '视频' || item.name == '返回'
                ? 'el-icon-video-camera-solid'
                : ''
            "
            class="mobilePopupOurOnce_r_d_in"
@@ -76,7 +79,7 @@
      //数据更改
      //   this.fullscreenLoading = true;
      if (!this.MobileWindowsHide) {
        // console.log("地图点击弹窗数据请求参数", this.query);
        this.video = ""; //清除视频
        let queryData = this.query.query;
        // console.log(queryData);
        this.title = queryData.name;
@@ -106,6 +109,14 @@
              name: "去这",
            },
          ];
        }
        if (queryData.video) {
          if (queryData.from == "labels") {
            this.seebut = [];
            this.video = queryData.video;
          } else {
            this.seebut.push({ name: "视频" });
          }
        }
        this.center = [];
        for (let k in queryData) {
@@ -147,7 +158,8 @@
      introduce: "暂无详情数据",
      title: "",
      fullscreenLoading: false,
      url: "/img/job/one.jpg",
      url: "",
      video: "",
      positions: "",
      srcList: [],
      seebut: [],
@@ -168,6 +180,12 @@
      } else if (val == "图集") {
        let imgsDom = document.getElementById("mobileBigImgs");
        imgsDom.click();
      } else if (val == "视频") {
        this.seebut[this.seebut.length - 1].name = "返回";
        this.video = this.query.query.video;
      } else if (val == "返回") {
        this.seebut[this.seebut.length - 1].name = "视频";
        this.video = "";
      }
    },
    closeWindow() {
src/styles/mobile/popup.scss
@@ -19,20 +19,24 @@
        position: absolute;
        height: auto;
        // background-color: #fff;
        background-image: linear-gradient( // 135deg,
        background-image: linear-gradient(
                // 135deg,
                // rgba(40,187,240, 0.5) 50%,
                // transparent 50%
                rgba(40, 187, 240, 0.5) 35px,
                rgba(40, 187, 240, 0.5) 35px,
                rgba(40, 187, 240, 0.5) calc(100% - 34px),
                transparent calc(100% - 34px)),
            linear-gradient( // -45deg,
                transparent calc(100% - 34px)
            ),
            linear-gradient(
                // -45deg,
                // rgba(40,187,240, 0.5) 50.1%,
                // transparent 50%
                transparent 35px,
                rgba(40, 187, 240, 0.5) 35px,
                rgba(40, 187, 240, 0.5) calc(100% - 0px),
                transparent calc(100% - 0px));
                transparent calc(100% - 0px)
            );
        // background-image: linear-gradient(135deg, transparent 30px, rgba(40,187,240, 0.5) 30px, rgba(40,187,240, 0.5) 50%, transparent 50%),
        //     linear-gradient(-45deg, transparent 30px, rgba(40,187,240, 0.5) 30px, rgba(40,187,240, 0.5) 50.1%, transparent 50%);
        border-radius: 10px;
@@ -44,7 +48,7 @@
            width: 100%;
            height: 35px;
            // background-image: linear-gradient(135deg, transparent 25px, #29baf1 25px);
            background-image: linear-gradient(rgba(41,186,241, 0.5), rgba(41,186,241, 0.5));
            background-image: linear-gradient(rgba(41, 186, 241, 0.5), rgba(41, 186, 241, 0.5));
            // background-image: linear-gradient(#29baf1, #28bbf0);
            // background-color: #f7f7f7;
@@ -90,7 +94,10 @@
                text-align: justify;
                letter-spacing: 1px;
                box-sizing: border-box;
                video {
                    width: 100%;
                    height: 100%;
                }
                img {
                    margin-left: calc(50% - 35px);
                    width: 70px;
@@ -144,7 +151,7 @@
                border-radius: 0 0 10px 10px;
                display: flex;
                align-items: center;
                background-image: linear-gradient(rgba(41,186,241, 0.5), rgba(41,186,241, 0.5));
                background-image: linear-gradient(rgba(41, 186, 241, 0.5), rgba(41, 186, 241, 0.5));
                // background-image: linear-gradient(#29baf1, #28bbf0);
                justify-content: center;
                position: relative;
@@ -155,9 +162,9 @@
                    height: 0px;
                    // background-image: linear-gradient(rgba(41,186,241, 0.5), rgba(41,186,241, 0.5));
                    border-top: 8px solid transparent;
                    border-bottom: 8px solid rgba(25,179,240, 0.5);
                    border-bottom: 8px solid rgba(25, 179, 240, 0.5);
                    border-left: 8px solid transparent;
                    border-right: 8px solid rgba(25,179,240, 0.5);
                    border-right: 8px solid rgba(25, 179, 240, 0.5);
                    position: absolute;
                    bottom: -8px;
                    left: calc(50% - 8px);
@@ -176,7 +183,6 @@
$controllerw: 35px !important;
#mobile-viewer-container {
    // 继承类
    .flexCenter {
        display: flex !important;
@@ -478,4 +484,4 @@
        width: $size;
        height: $size;
    }
}
}