南昌市物联网技防平台-前端
shuishen
2021-04-20 5c82843184a01823a68cec306c6408e482c55548
real文件冲突
1 files modified
277 ■■■■ changed files
src/views/realTimePolice/real.vue 277 ●●●● patch | view | raw | blame | history
src/views/realTimePolice/real.vue
@@ -34,7 +34,7 @@
          >删 除
        </el-button>
      </template>
      <template slot="menuLeft">
        <el-button
          v-bind:class="activeClass == 0 ? 'btn-color' : ''"
@@ -61,23 +61,26 @@
          >全部
        </el-button>
      </template>
      <template slot="menuLeft">
        <el-button type="warning"
                    size="mini"
                    plain
                    icon="el-icon-download"
                    @click="handleExport">导出
        <el-button
          type="warning"
          size="mini"
          plain
          icon="el-icon-download"
          @click="handleExport"
          >导出
        </el-button>
        <el-button type="warning"
                    size="small"
                    plain
                    icon="el-icon-pie-chart"
                    @click="handleExportStatis">导出报表
        <el-button
          type="warning"
          size="small"
          plain
          icon="el-icon-pie-chart"
          @click="handleExportStatis"
          >导出报表
        </el-button>
      </template>
      <template slot-scope="{ row }" slot="jtype">
        <el-tag
          >{{
@@ -92,7 +95,7 @@
          }}
        </el-tag>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
          icon="el-icon-s-order"
@@ -133,7 +136,7 @@
        </el-button>
      </template>
    </avue-crud>
    <el-dialog
      class="real-dialog"
      title="警情核实"
@@ -161,7 +164,7 @@
          controls
        ></video>
      </el-dialog>
      <el-dialog
        class="ss-video-dialog"
        :modal="false"
@@ -183,7 +186,7 @@
          controls
        ></video>
      </el-dialog>
      <el-form
        :model="form"
        label-position="right"
@@ -319,7 +322,7 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col span="12">
            <el-form-item label="报警时间">
@@ -353,7 +356,7 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col span="12">
            <el-form-item label="备注">
@@ -361,7 +364,7 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :align="center">
          <el-col class="opt-btn">
            <el-form-item>
@@ -376,14 +379,14 @@
                @click.stop="updateJtyep(form, 1, '办结')"
                >办结
              </el-button>
              <img
                src="/img/police-num.png"
                style="margin-top: -20px; height: 80px; vertical-align: middle"
                alt=""
                @click.stop="updateJtyep(form, 1, '推送110')"
              />
              <el-button
                type="primary"
                @click.stop="updateJtyep(form, 1, '派送保安')"
@@ -394,7 +397,7 @@
        </el-row>
      </el-form>
    </el-dialog>
    <el-drawer title="电子地图" append-to-body="true" :visible.sync="showMap">
      <iframe
        id="mapDiv"
@@ -411,13 +414,13 @@
<script>
import { getList, remove, update, add, getclient } from "@/api/real/real";
import { mapGetters } from "vuex";
import Hls from "hls.js";
import axios from "axios";
import Recorder from "js-audio-recorder";
export default {
  data() {
    return {
@@ -488,7 +491,7 @@
            type: "datetime",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            searchValue:[this.getStartTime(),this.getEndTime()],
            searchValue: [this.getStartTime(), this.getEndTime()],
            searchRange: true,
            searchSpan: 5,
            hide: true,
@@ -834,7 +837,7 @@
      let values = {
        ...params,
      };
      if (
        this.$route.query.waringType &&
        this.$route.query != undefined &&
@@ -876,7 +879,7 @@
            endTime: this.dateTime.day.endTime,
          };
        }
        if (
          this.$route.query.startTime != undefined &&
          this.$route.query.startTime != null &&
@@ -889,7 +892,7 @@
          };
        }
      }
      if (releaseTimeRange) {
        values = {
          ...params,
@@ -904,7 +907,7 @@
          ...this.query,
        };
      }
      if (this.$route.query.timeDesc) {
        values = {
          ...params,
@@ -912,7 +915,7 @@
          ...this.query,
        };
      }
      this.loading = true;
      getList(page.currentPage, page.pageSize, values).then((res) => {
        const data = res.data.data;
@@ -920,13 +923,13 @@
          item.waringType == "紧急求救" ? (item.waringType = "一键求助") : "";
        });
        this.page.total = data.total;
        data.records.sort((a, b) => {
          return a.jtype - b.jtype;
        });
        this.data = data.records;
        this.loading = false;
        this.selectionClear();
      });
@@ -935,7 +938,7 @@
      // 当前时间
      var timestamp = Date.parse(new Date());
      var serverDate = new Date(timestamp);
      // 本周周一的时间
      var mondayTime =
        timestamp - (serverDate.getDay() - 1) * 24 * 60 * 60 * 1000;
@@ -981,7 +984,7 @@
        currentData.getSeconds() < 10
          ? "0" + currentData.getSeconds()
          : currentData.getSeconds();
      return {
        day: {
          beginTime: currentY + "-" + currentM + "-" + currentD + " 00:00:00",
@@ -1122,18 +1125,26 @@
        };
      });
    },
    getStartTime(){
           if (this.$route.query.startTime != undefined && this.$route.query.startTime != null && this.$route.query.startTime != "" ) {
             return this.$route.query.startTime
           }
           return '';
      },
      getEndTime(){
           if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
             return this.$route.query.endTime
           }
           return '';
      },
    getStartTime() {
      if (
        this.$route.query.startTime != undefined &&
        this.$route.query.startTime != null &&
        this.$route.query.startTime != ""
      ) {
        return this.$route.query.startTime;
      }
      return "";
    },
    getEndTime() {
      if (
        this.$route.query.endTime != undefined &&
        this.$route.query.endTime != null &&
        this.$route.query.endTime != ""
      ) {
        return this.$route.query.endTime;
      }
      return "";
    },
    handleManage(row) {
      this.form = row;
      this.peopleList = [
@@ -1147,7 +1158,7 @@
    },
    updateJtyep(row, jtype, t) {
      var that = this;
      axios
        .post(
          "/api/blade-jfpts/alarm/alarm/updateJtype",
@@ -1167,7 +1178,7 @@
        )
        .then(function () {
          that.dialogTableVisible = false;
          axios({
            method: "post",
            url: `/api/blade-jfpts/rvideo/stop`,
@@ -1175,7 +1186,7 @@
              jid: row.id,
            },
          }).then((resdata) => {});
          that.onLoad(that.page, that.query);
          that.$router.push({
            path: "/policeTracking/track",
@@ -1185,54 +1196,54 @@
    },
    beginTimeOrEndTime(time) {
      var beginTime = new Date(time);
      var endTime = new Date(new Date(time).valueOf() - 1000 * 60 * 60 * 3);
      var beginY = beginTime.getFullYear();
      var beginM =
        beginTime.getMonth() + 1 < 10
          ? "0" + (beginTime.getMonth() + 1)
          : beginTime.getMonth() + 1;
      var beginD =
        beginTime.getDate() < 10
          ? "0" + beginTime.getDate()
          : beginTime.getDate();
      var beginH =
        beginTime.getHours() < 10
          ? "0" + beginTime.getHours()
          : beginTime.getHours();
      var beginm =
        beginTime.getMinutes() < 10
          ? "0" + beginTime.getMinutes()
          : beginTime.getMinutes();
      var begins =
        beginTime.getSeconds() < 10
          ? "0" + beginTime.getSeconds()
          : beginTime.getSeconds();
      var endY = endTime.getFullYear();
      var endM =
        endTime.getMonth() + 1 < 10
          ? "0" + (endTime.getMonth() + 1)
          : endTime.getMonth() + 1;
      var endD =
        endTime.getDate() < 10 ? "0" + endTime.getDate() : endTime.getDate();
      var endH =
        endTime.getHours() < 10 ? "0" + endTime.getHours() : endTime.getHours();
      var endm =
        endTime.getMinutes() < 10
          ? "0" + endTime.getMinutes()
          : endTime.getMinutes();
      var ends =
        endTime.getSeconds() < 10
          ? "0" + endTime.getSeconds()
@@ -1252,7 +1263,7 @@
          "Content-type": "application/x-www-form-urlencoded",
        },
      });
      //this.form.serialNumber
      newAxios
        .post(
@@ -1271,22 +1282,22 @@
            )
            .then((result) => {
              that.videoSource = result.data.data.m3u8;
              if (Hls.isSupported()) {
                var dom = document.getElementById("real_video_conversation");
                that.hls = new Hls();
                var m3u8Url = decodeURIComponent(that.videoSource);
                that.hls.loadSource(m3u8Url);
                that.hls.attachMedia(dom);
                that.hls.on(Hls.Events.MANIFEST_PARSED, function () {
                  dom.play();
                });
                that.hls.on(Hls.Events.ERROR, function (event, data) {
                  console.log(data, 4566824159, "视频播放有问题!!!");
                  if (data.fatal) {
@@ -1317,12 +1328,12 @@
    },
    closeRealVideoBox() {
      var dom = document.getElementById("real_video_conversation");
      if (dom.getAttribute("src") != "") {
        dom.pause();
        dom.setAttribute("src", "");
        this.hls.destroy();
      }
    },
@@ -1336,7 +1347,7 @@
      var dom = document.getElementById("real_old_video");
      dom.pause();
    },
    aKeyToCall() {
      this.isActive = true;
      var that = this;
@@ -1348,7 +1359,7 @@
          // compiling: false,(0.x版本中生效,1.x增加中)  // 是否边录边转换,默认是false
        });
      }
      // 一键呼叫相关函数
      that.recorder.start().then(
        () => {
@@ -1360,7 +1371,7 @@
        }
      );
    },
    // 序列号后期待修改
    aKeyStopCall() {
      this.isActive = false;
@@ -1371,14 +1382,14 @@
          "Content-Type": "application/json;",
        },
      });
      var wavAxios = axios.create({
        baseURL: "https://web.byisf.com",
        withCredentials: false,
      });
      var that = this;
      newCallAxios
        .post(
          `/api_control`,
@@ -1392,15 +1403,15 @@
        .then((result) => {
          var formData = new FormData();
          // that.recorder.downloadWAV("新文件");
          var blob = that.recorder.getPCMBlob(); //获取pcm格式音频数据
          //此处获取到blob对象后需要设置fileName满足当前项目上传需求,其它项目可直接传把blob作为file塞入formData
          var newbolb = new Blob([blob], { type: "audio/pcm" });
          var fileOfBlob = new File([newbolb], new Date().getTime() + ".pcm");
          formData.append("file", fileOfBlob);
          var wavBlob = that.recorder.getWAVBlob();
          var wavformData = new FormData();
          var wavform = new File([wavBlob], new Date().getTime() + ".wav");
          wavformData.append("file", wavform);
@@ -1411,7 +1422,7 @@
            wavformData.entries(),
            132
          );
          axios({
            method: "post",
            url: "/api/blade-jfpts/xlfeedback/xlfeedback/put-objecty",
@@ -1422,7 +1433,7 @@
          }).then((resdata) => {
            console.log(resdata);
          });
          newCallAxios
            .post(`/api_control`, blob, {
              params: {
@@ -1440,7 +1451,7 @@
            });
        });
    },
    peopleOrPhone(e) {
      this.peopleList.forEach((item) => {
        if (item.label == e) {
@@ -1461,26 +1472,42 @@
      this.$confirm("是否导出实时警情数据?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
        type: "warning",
      }).then(() => {
        window.open(`/api/blade-jfpts/alarm/alarm/export-alarm?beginTime=${this.$route.query.startTime}&endTime=${this.$route.query.endTime}&waringType=${this.$route.query.waringType}&timeDesc=${this.$route.query.timeDesc}`);
        window.open(
          `/api/blade-jfpts/alarm/alarm/export-alarm?beginTime=${this.$route.query.startTime}&endTime=${this.$route.query.endTime}&waringType=${this.$route.query.waringType}&timeDesc=${this.$route.query.timeDesc}`
        );
      });
    },
    //数据报表导出
      handleExportStatis() {
        this.$confirm("是否导出实时警情数据?", "提示", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        }).then(() => {
          let beginTime = this.$route.query.startTime==undefined? '':this.$route.query.startTime;
          let endTime = this.$route.query.endTime==undefined? '':this.$route.query.endTime;
          let waringType = this.$route.query.waringType==undefined? '':this.$route.query.waringType;
          let timeDesc = this.$route.query.timeDesc==undefined? '':this.$route.query.timeDesc;
          window.open(`http://localhost:8108/ureport/preview?_u=blade-alarm.statis.ureport.xml&beginTime=${beginTime}&endTime=${endTime}&waringType=${waringType}&timeDesc=${timeDesc}`);
          //window.open(`http://localhost:8108/ureport/excel?_u=blade-alarm.statis.ureport.xml&beginTime=${beginTime}&endTime=${endTime}&waringType=${waringType}&timeDesc=${timeDesc}`);
        });
      }
    handleExportStatis() {
      this.$confirm("是否导出实时警情数据?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      }).then(() => {
        let beginTime =
          this.$route.query.startTime == undefined
            ? ""
            : this.$route.query.startTime;
        let endTime =
          this.$route.query.endTime == undefined
            ? ""
            : this.$route.query.endTime;
        let waringType =
          this.$route.query.waringType == undefined
            ? ""
            : this.$route.query.waringType;
        let timeDesc =
          this.$route.query.timeDesc == undefined
            ? ""
            : this.$route.query.timeDesc;
        window.open(
          `http://localhost:8108/ureport/preview?_u=blade-alarm.statis.ureport.xml&beginTime=${beginTime}&endTime=${endTime}&waringType=${waringType}&timeDesc=${timeDesc}`
        );
        //window.open(`http://localhost:8108/ureport/excel?_u=blade-alarm.statis.ureport.xml&beginTime=${beginTime}&endTime=${endTime}&waringType=${waringType}&timeDesc=${timeDesc}`);
      });
    },
  },
};
</script>
@@ -1489,76 +1516,76 @@
.el-card__body .waringTypeClass {
  width: 12%;
}
/*页面样式*/
.el-card__body .cityClass1 {
  width: 155px;
  padding-right: 0px !important;
}
.el-card__body .cityClass2 {
  width: 100px;
  padding-left: 0px !important;
  padding-right: 0px !important;
}
.el-card__body .cityClass3 {
  width: 100px;
  padding-left: 0px !important;
  padding-right: 0px !important;
}
/*新增窗体样式*/
.el-dialog .cityClass1 {
  width: 220px;
  padding-right: 0px !important;
}
.el-dialog .cityClass2 {
  width: 110px;
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.el-dialog .cityClass3 {
  width: 110px;
  padding-left: 0px !important;
  padding-right: 0px !important;
}
.cityClassParams .avue-form__group.avue-form__group--flex {
  display: flex;
  justify-content: space-between;
}
.cityClassParams .cityClassSelect {
  flex: 1;
  margin: 0 !important;
  padding-left: 0px !important;
  padding-right: 0px !important;
}
.cityClassParams .cityClassSelect:nth-child(2) {
  margin: 0 10px !important;
}
.cityClassParams .cityClassSelect .el-form-item {
  margin-bottom: 0px !important;
}
.cityClassParams .cityClassSelect .el-form-item .el-input__inner {
  height: 28px !important;
  line-height: 28px !important;
}
.cityClass2 div label {
  display: none;
}
.cityClass3 div label {
  display: none;
}
.old-video-dialog {
  position: absolute !important;
  top: 0 !important;
@@ -1569,7 +1596,7 @@
  height: 100% !important;
  width: 476px !important;
}
.old-video-dialog .el-dialog {
  position: absolute !important;
  top: 0 !important;
@@ -1580,22 +1607,22 @@
  margin-top: 15vh !important;
  height: 538px;
}
.old-video-dialog .el-dialog .el-dialog__body {
  height: calc(100% - 54px);
  box-sizing: border-box;
}
.el-button.active {
  background: #ff0000 !important;
}
.el-button.btn-color {
  color: rgb(255, 255, 255);
  background-color: rgb(64, 158, 255);
  border-color: rgb(64, 158, 255);
}
.tabFontSize {
  font-size: 15px;
}