南昌市物联网技防平台-前端
shuishen
2021-04-23 e2ed7cb4ef578d970beca80aea4903e9b13cd1f8
Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jfpt-Vue
9 files modified
175 ■■■■ changed files
public/map/popup/html/FlareClusterLayer_v3 copy.html 2 ●●● patch | view | raw | blame | history
public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js 12 ●●●● patch | view | raw | blame | history
public/map/widgets/supervisoryMap/SupervisoryMap.js 40 ●●●●● patch | view | raw | blame | history
public/map/widgets/supervisoryMap/template.html 1 ●●●● patch | view | raw | blame | history
src/page/crumbsL/crumbsL.vue 49 ●●●● patch | view | raw | blame | history
src/page/index/top/index.vue 1 ●●●● patch | view | raw | blame | history
src/store/modules/user.js 3 ●●●● patch | view | raw | blame | history
src/views/clientManagement/clientManagement.vue 2 ●●● patch | view | raw | blame | history
src/views/dataL/dataL.vue 65 ●●●● patch | view | raw | blame | history
public/map/popup/html/FlareClusterLayer_v3 copy.html
@@ -251,7 +251,7 @@
            },
            methods: {
                looks() {
                    window.parent.parent.location.hash = `#/dataL/dataL?id=${this.ourData.id}&deviceName=${this.ourData.deviceName}&deviceNumber=${this.ourData.deviceNumber}&deviceType=${this.ourData.deviceType}&ownership=${this.ourData.ownership}&ownerId=&devicestate=${this.ourData.devicestate}&stime=${this.ourData.stime}&parentId=${this.ourData.parentId}&jd=${this.ourData.jd}&wd=${this.ourData.wd}&street=${this.ourData.street}&dtype=${this.ourData.dtype}&serialNumber=${this.ourData.serialNumber}&stype=&channelNumber=${this.ourData.channelNumber}&pay=&expireTime=${this.ourData.expireTime}&heartbeat=${this.ourData.heartbeat}&province=${this.ourData.province}&city=${this.ourData.city}&district=${this.ourData.district}&state=&reason=&deptId=${this.ourData.deptId}&onePhone=${this.ourData.onePhone}&twoPhone=${this.ourData.twoPhone}&oneId=${this.ourData.oneId}&twoId=&threeId=&oneContacts=${this.ourData.oneContacts}&twoContacts=${this.ourData.twoContacts}&type=${this.ourData.type}&beginTime=&endTime=&pid=${this.ourData.pid}&onlineStatus=${this.ourData.onlineStatus}&jtype=${this.ourData.jtype}&threePhone=${this.ourData.threePhone}&threeContacts=${this.ourData.threeContacts}`;
                    window.parent.parent.location.hash = `#/dataL/dataL?id=${this.ourData.id}&deviceName=${this.ourData.deviceName}&deviceNumber=${this.ourData.deviceNumber}&deviceType=${this.ourData.deviceType}&ownership=${this.ourData.ownership}&ownerId=&devicestate=${this.ourData.devicestate}&stime=${this.ourData.stime}&parentId=${this.ourData.parentId}&jd=${this.ourData.jd}&wd=${this.ourData.wd}&street=${this.ourData.street}&dtype=${this.ourData.dtype}&serialNumber=${this.ourData.serialNumber}&stype=&channelNumber=${this.ourData.channelNumber}&pay=&expireTime=${this.ourData.expireTime}&heartbeat=${this.ourData.heartbeat}&province=${this.ourData.province}&city=${this.ourData.city}&district=${this.ourData.district}&state=${this.ourData.state}&reason=&deptId=${this.ourData.deptId}&onePhone=${this.ourData.onePhone}&twoPhone=${this.ourData.twoPhone}&oneId=${this.ourData.oneId}&twoId=&threeId=&oneContacts=${this.ourData.oneContacts}&twoContacts=${this.ourData.twoContacts}&type=${this.ourData.type}&beginTime=&endTime=&pid=${this.ourData.pid}&onlineStatus=${this.ourData.onlineStatus}&jtype=${this.ourData.jtype}&threePhone=${this.ourData.threePhone}&threeContacts=${this.ourData.threeContacts}`;
                },
                getdatas(dat) {
public/map/widgets/supervisoryMap/FlareClusterLayer_v3.js
@@ -784,8 +784,9 @@
    },
    _clusterData: function () {
      //此函数当前仅适用于不使用预聚集数据的情况
      //this function currently only applies if not using preclustered data
      // console.log('改变111111111111111')
      if (this.preClustered) {
        return;
      }
@@ -871,9 +872,10 @@
          cl.singles.push(obj);
        }
      }
      for (i = 0, len = this.gridClusters.length; i < len; i++) {
        if (this.gridClusters[i].clusterCount === 1) {
// console.log(this.gridClusters)
          this._createSingle(this.gridClusters[i].singles[0]);
        } else if (this.gridClusters[i].clusterCount > 0) {
          this._createCluster(this.gridClusters[i]);
@@ -929,6 +931,10 @@
      this.singles.push(single);
      delete single.graphic;
      var symbol;
      // console.log(single.state);
      if (single.state != '') {
        symbol = new esri.symbol.PictureMarkerSymbol("./images/by-jingbao.png", 40, 40);
      } else {
      if (single.jtype == 1) {
        symbol = new esri.symbol.PictureMarkerSymbol("./images/yj-jingbao.png", 40, 40);
      } else {
@@ -938,6 +944,8 @@
          symbol = new esri.symbol.PictureMarkerSymbol("./images/dx-jingbao.png", 40, 40);
        }
      }
      }
      var point = new Point(single[this.xPropertyName], single[this.yPropertyName], this.spatialRef);
      var attributes = lang.clone(single);
public/map/widgets/supervisoryMap/SupervisoryMap.js
@@ -816,11 +816,47 @@
        type: 'GET',
        dataType: 'JSON',
        success: function (data) {
          var result = data.data;
          console.log(result)
          var oldData = data.data
          var result = [];
          // console.log(result)
          var str = '';
          that.entitysData = [];
          that.analysisAddEntitys.clear();
          if(deviceType == ''){
            result = oldData;
          }else if(deviceType == '在线'){
            for (var key in oldData){
              // console.log(oldData[key]);
              if(oldData[key].state == '' && oldData[key].jtype != 1 && oldData[key].onlineStatus == 1){
                result.push(oldData[key]);
              }
            }
          }else if(deviceType == '离线'){
            for (var key in oldData){
              // console.log(oldData[key]);
              if(oldData[key].state == '' && oldData[key].jtype != 1 && oldData[key].onlineStatus != 1){
                result.push(oldData[key]);
              }
            }
          }else if(deviceType == '警报'){
            for (var key in oldData){
              // console.log(oldData[key]);
              if(oldData[key].state == '' && oldData[key].jtype == 1){
                result.push(oldData[key]);
              }
            }
          }else if(deviceType == '故障'){
            for (var key in oldData){
              // console.log(oldData[key]);
              if(oldData[key].state != ''){
                result.push(oldData[key]);
              }
            }
          }
          for (var a, i = 0; i < result.length; i++) {
            that.createEntitysAnalysis(that.analysisAddEntitys, that.entitysData, '设备信息', {
              lgtd: result[i].jd,
public/map/widgets/supervisoryMap/template.html
@@ -24,6 +24,7 @@
                                <li>全部</li>
                                <li>在线</li>
                                <li>警报</li>
                                <li>故障</li>
                                <li>离线</li>
                            </ul>
                        </div>
src/page/crumbsL/crumbsL.vue
@@ -4,16 +4,29 @@
      <div class="titles">您的位置:</div>
      <!-- <button @click="cc">cccc</button> -->
      <!-- <el-breadcrumb-item style="position: relative;top: -3px;left: 5px">您的位置:</el-breadcrumb-item> -->
      <el-breadcrumb separator="/">
        <!-- <el-breadcrumb-item v-show="!onceRouter" :to="{ path: '/wel/index' }">首页</el-breadcrumb-item> -->
      <!-- <el-breadcrumb separator="/">
        <el-breadcrumb-item
          :to="item.path"
          v-for="item of breadListLast"
          :key="item.path"
        style="border: hotpink 1px solid"
        >
          {{ item.name }}
        </el-breadcrumb-item>
      </el-breadcrumb>
      </el-breadcrumb> -->
      <div
        class="ourCrumbsl"
        v-for="(item, index) of breadListLast"
        :key="item.path"
      >
      <div class="aaa" v-show="breadListLast.length != index + 1">
        <a href="javascript:;" @click="$router.push({ path: item.path})">{{ item.name }}</a>&nbsp/&nbsp
      </div>
      <div class="bbb" v-show="breadListLast.length == index + 1">
        <div>{{ item.name }}</div>
      </div>
      </div>
    </div>
    <!-- <router-view></router-view> -->
  </div>
@@ -64,9 +77,11 @@
  methods: {
    loadChange(states) {
      //导航栏进就是一级路由,其他页面push
      if (this.isrf) {//刷新读取localStorage
      if (this.isrf) {
        //刷新读取localStorage
        this.breadListLast = JSON.parse(localStorage.getItem("crumbsl"));
      } else {//关闭重写
      } else {
        //关闭重写
        var path = this.$route.path,
          p = path.split("/").pop(),
          n = this.$route.name,
@@ -92,8 +107,8 @@
          //判断是否有重复项,有则删除其后路由↓
          var ourP = this.breadListLast;
          for (var os in ourP) {
            if(n == '首页'){
              n = '数据模式'
            if (n == "首页") {
              n = "数据模式";
            }
            if (ourP[os].name == n && os != ourP.length - 1) {
              this.breadListLast.splice(
@@ -104,11 +119,11 @@
            }
          }
          // console.log(p, n, "写入多级面包屑");
        }
        this.sOld = s;
        // window.localStorage.crumbsl = this.breadListLast;
        localStorage.setItem("crumbsl", JSON.stringify(this.breadListLast));
      }
    },
    loadChange2(states) {
@@ -285,8 +300,15 @@
      console.log("首次被加载");
      window.name = "isReload"; // 在首次进入页面时我们可以给window.name设置一个固定值
    } else if (window.name == "isReload") {
      var abb = localStorage.getItem("crumbsl");
      if (abb) {
      this.isrf = true;
      console.log("页面被刷新");
      } else {
        this.isrf = false;
         console.log("页面被刷新,但后台没有数据");
      }
    }
    this.loadChange("moun");
  },
@@ -305,8 +327,19 @@
    background: #fff;
    .titles {
      position: absolute;
      top: 17px;
      top: 17.15px;
      left: 5px;
      font-weight: 400;
    }
    .ourCrumbsl {
      // border: hotpink 1px solid;
      float: left;
      font-weight: 400;
      position: relative;
      top: -3px;
      a{
        font-weight: 400;
      }
    }
  }
}
src/page/index/top/index.vue
@@ -97,6 +97,7 @@
          ></i>
        </div>
      </el-tooltip>
      <!-- 顶部导航用户图片位置 -->
      <img class="top-bar__img" :src="userInfo.avatar" />
      <el-dropdown>
        <span class="el-dropdown-link">
src/store/modules/user.js
@@ -103,11 +103,12 @@
      })
    },
    //获取用户信息
    GetUserInfo({commit}) {
    GetUserInfo({commit}) {//获取用户信息liu++
      return new Promise((resolve, reject) => {
        getUserInfo().then((res) => {
          const data = res.data.data;
          commit('SET_ROLES', data.roles);
          console.log(data);
          resolve(data);
        }).catch(err => {
          reject(err);
src/views/clientManagement/clientManagement.vue
@@ -570,7 +570,7 @@
      "form.map": {
        // form是表单或者表格绑定的数据集,v-model='form'
        handler(val) {
          debugger
          if (val) {
            this.form.wd = val.latitude;
            this.form.jd = val.longitude;
src/views/dataL/dataL.vue
@@ -8,11 +8,25 @@
              {{ name.length > 14 ? name.substr(0, 14) + "···" : name }}
            </p>
            <div class="l-t-state">
              <!-- dataState: ["掉线", "在线", "故障", "预警"],
                if (s != "") {
                    states = "故障";
                  } else {
                    if (j != 1) {
                      if (o == 1) {
                        states = "在线";
                      } else {
                        states = "掉线";
                      }
                    } else {
                      states = "预警";
                    }
                  }-->
              <span
                :class="{
                  'l-t-s-grey': state == dataState[0],
                  'l-t-s-green': state == dataState[1],
                  'l-t-s-yewllo': state == dataState[3],
                  'l-t-s-yewllo': state == dataState[2],
                  'l-t-s-red': state == dataState[3],
                  'l-t-s-yuan': true,
                }"
@@ -468,7 +482,7 @@
      <div class="r-one">
        <div class="r-heard">
          <div class="r-heard-top">部署信息</div>
          <button @click="modifyl" class="r-but-top">修改</button>
          <!-- <button @click="modifyl" class="r-but-top">修改</button> -->
        </div>
        <div class="r-body">
          <div class="r-b-top">
@@ -952,13 +966,12 @@
        var setimgl = null;
        //插入图片api获取图片
// this.stetDetails(data);
        getImg(imgdadta,'post').then((res) => {
        getImg(imgdadta, "post").then((res) => {
          // console.log(res.data.data.length != 0)
          var imgdatas = [];
          if(res.data.data.length != 0){
            imgdatas = res.data.data[0].paddress.split(',');
            imgdatas = res.data.data[0].paddress.split(",");
          }else{
          }
          // console.log(imgdatas);
          // imgdatas = [ //最多5张照片 
@@ -969,7 +982,7 @@
      //   "https://resource-city.sensoro.com/1723C1A66DB44F792564F3648E5AA1EE",
        // "https://web.byisf.com/minio/jfpt/upload/depl/ad049799e7024c529b9c890d3ba434bc.JPEG",
      // ];
          setimgl =  imgdatas.length == 0? ['no'] : imgdatas;
          setimgl = imgdatas.length == 0 ? ["no"] : imgdatas;
          this.stetDetails(data, setimgl);
        });
        // console.log(data);
@@ -988,16 +1001,34 @@
        o = this.a.onlineStatus,
        s = this.a.state,
        j = this.a.jtype;
      if (o == 0) {
        states = "掉线";
      } else if (o == 1) {
        states = "在线";
      } else if (s != "") {
      // if (o == 0) {
      //   states = "掉线";
      // } else if (o == 1) {
      //   states = "在线";
      // } else if (s != "") {
      //   states = "故障";
      // } else if (j != 2) {
      //   states = "预警";
      // }
      if (s != "") {
        states = "故障";
      } else if (j != 2) {
      } else {
        if (j != 1) {
          if (o == 1) {
            states = "在线";
          } else {
            states = "掉线";
          }
        } else {
        states = "预警";
      }
      this.state = "无数据" && states;
      }
      // console.log(o, 1000);
      // console.log(s, 1000);
      // console.log(j, 1000);
      // console.log(states, 1000);
      this.state =  states;
      this.evaluate = "空气质量";
      this.machineCode = "无数据" && this.a.deviceNumber;
@@ -1254,16 +1285,16 @@
              border: 1px solid transparent;
            }
            .l-t-s-grey {
              background-color: rgb(187, 187, 187);
              background-color: #CDCDCD;
            }
            .l-t-s-green {
              background-color: rgb(41, 202, 135);
              background-color: #32C1A2;
            }
            .l-t-s-yewllo {
              background-color: rgb(240, 181, 20);
              background-color: #F49966;
            }
            .l-t-s-red {
              background-color: rgba(247, 28, 28, 0.877);
              background-color: #F35B5B;
            }
          }
        }