南昌市物联网技防平台-前端
shuishen
2021-07-02 de33a6dc0e5c1c3456ea38ec4606f85af0dd2d45
推送110相关更改
1 files modified
294 ■■■■■ changed files
src/components/real-popup/main.vue 294 ●●●●● patch | view | raw | blame | history
src/components/real-popup/main.vue
@@ -1,16 +1,13 @@
<template>
  <div>
    <el-dialog
      class="real-dialog"
        <el-dialog class="real-dialog"
      title="警情核实"
      :visible.sync="dialogTableVisible"
      :append-to-body="true"
      :close-on-click-modal="false"
      @opened="realOpenVideoDialog"
      @close="(videoConversationReal = false), (oldVideoSatart = false)"
    >
      <el-dialog
        class="ss-video-dialog"
                   @close="(videoConversationReal = false), (oldVideoSatart = false)">
            <el-dialog class="ss-video-dialog"
        :modal="false"
        width="100%"
        title="视频通话"
@@ -18,18 +15,14 @@
        :close-on-press-escape="false"
        append-to-body
        @opened="openRealVideoBox"
        @close="closeRealVideoBox"
      >
        <video
          src=""
                       @close="closeRealVideoBox">
                <video src=""
          id="real_video_conversation"
          style="width: 100%; height: 100%; object-fit: fill"
          controls
        ></video>
                       controls></video>
      </el-dialog>
      <el-dialog
        class="ss-video-dialog"
            <el-dialog class="ss-video-dialog"
        :modal="false"
        width="100%"
        title="历史回放"
@@ -37,83 +30,67 @@
        :close-on-press-escape="false"
        append-to-body
        @opened="openOldVideoBox"
        @close="closeOldVideoBox"
      >
        <video
          src="/oldVideo/ft.mp4"
                       @close="closeOldVideoBox">
                <video src="/oldVideo/ft.mp4"
          muted="muted"
          autoplay="autoplay"
          loop
          id="real_old_video"
          style="width: 100%; height: 100%; object-fit: fill"
          controls
        ></video>
                       controls></video>
      </el-dialog>
      <el-form
        :model="form"
            <el-form :model="form"
        label-position="right"
        size="mini"
        label-width="100px"
      >
                     label-width="100px">
        <el-row>
          <el-col span="12">
            <audio src="" id="real_audio"></audio>
                        <audio src=""
                               id="real_audio"></audio>
            <el-form-item label="报警人">
              <el-input
                disabled="true"
                            <el-input disabled="true"
                v-model="form.galarmPeople"
                autocomplete="off"
              ></el-input>
                                      autocomplete="off"></el-input>
            </el-form-item>
          </el-col>
          <el-col span="12">
            <el-form-item label="报警人电话">
              <el-input
                disabled="true"
                            <el-input disabled="true"
                v-model="form.phoneNumber"
                autocomplete="off"
              ></el-input>
                                      autocomplete="off"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col span="12">
            <el-form-item label="负责人">
              <el-select
                v-model="peopleName"
                            <el-select v-model="peopleName"
                placeholder="请选择"
                @change="peopleOrPhone"
                style="width: 100%"
              >
                <el-option
                  v-for="item in peopleList"
                                       style="width: 100%">
                                <el-option v-for="item in peopleList"
                  :key="item.value"
                  :label="item.label"
                  :value="item.label"
                >
                                           :value="item.label">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col span="12">
            <el-form-item label="负责人电话">
              <el-input
                disabled="true"
                            <el-input disabled="true"
                v-model="peoplePhone"
                autocomplete="off"
                style="width: calc(100% - 110px)"
              ></el-input>
              <el-button
                type="success"
                                      style="width: calc(100% - 110px)"></el-input>
                            <el-button type="success"
                style="
                  margin-left: 10px;
                  padding: 0px 8px;
                  width: 100px;
                  height: 28px;
                  vertical-align: top;
                "
              >
                ">
                <i class="el-icon-phone-outline"></i>
                联系负责人
              </el-button>
@@ -122,89 +99,75 @@
        </el-row>
        <el-row>
          <el-col span="12">
            <el-form-item label="省份" class="cityClassParams">
              <avue-form :option="itemOption" v-model="form"></avue-form>
                        <el-form-item label="省份"
                                      class="cityClassParams">
                            <avue-form :option="itemOption"
                                       v-model="form"></avue-form>
            </el-form-item>
          </el-col>
          <el-col span="12">
            <el-form-item label="事发地址">
              <el-input
                disabled="true"
                            <el-input disabled="true"
                v-model="form.place"
                autocomplete="off"
              ></el-input>
                                      autocomplete="off"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col span="12">
            <el-form-item label="警情类型">
              <el-input
                disabled="true"
                            <el-input disabled="true"
                v-model="form.waringType"
                autocomplete="off"
              ></el-input>
                                      autocomplete="off"></el-input>
            </el-form-item>
          </el-col>
          <el-col span="12">
            <el-form-item label="设备编号">
              <el-input
                disabled="true"
                            <el-input disabled="true"
                v-model="form.deviceNumber"
                autocomplete="off"
              ></el-input>
                                      autocomplete="off"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col span="12">
            <el-form-item label="接警人">
              <el-input
                disabled="true"
                            <el-input disabled="true"
                v-model="form.alarmPeople"
                autocomplete="off"
              ></el-input>
                                      autocomplete="off"></el-input>
            </el-form-item>
          </el-col>
          <el-col span="12">
            <el-form-item label="报警内容">
              <el-input
                disabled="true"
                            <el-input disabled="true"
                v-model="form.content"
                autocomplete="off"
              ></el-input>
                                      autocomplete="off"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col span="12">
            <el-form-item label="报警时间">
              <el-input
                disabled="true"
                            <el-input disabled="true"
                v-model="form.alarmTime"
                autocomplete="off"
              ></el-input>
                                      autocomplete="off"></el-input>
            </el-form-item>
          </el-col>
          <el-col span="12">
            <el-form-item label="监控视频">
              <el-button
                :class="{ active: isActive }"
                            <el-button :class="{ active: isActive }"
                type="success"
                @click.stop="
                  (videoConversationReal = true), (oldVideoSatart = false)
                "
                @mousedown.native="aKeyToCall"
                @mouseup.native="aKeyStopCall"
                >视频通话
                                       @mouseup.native="aKeyStopCall">视频通话
              </el-button>
              <el-button
                v-show="false"
                            <el-button v-show="false"
                type="primary"
                @click.stop="
                  (oldVideoSatart = true), (videoConversationReal = false)
                "
                >查看历史
                ">查看历史
              </el-button>
            </el-form-item>
          </el-col>
@@ -213,7 +176,23 @@
        <el-row>
          <el-col span="12">
            <el-form-item label="备注">
              <el-input v-model="form.bz" autocomplete="off"></el-input>
                            <el-input v-model="form.bz"
                                      autocomplete="off"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col span="12">
                        <el-form-item label="报警类型">
                            <el-select v-model="bjtype"
                                       placeholder="请选择"
                                       style="width: 100%">
                                <el-option v-for="item in bjoptions"
                                           :key="item.value"
                                           :label="item.label"
                                           :value="item.value">
                                </el-option>
                            </el-select>
            </el-form-item>
          </el-col>
        </el-row>
@@ -227,23 +206,17 @@
                @click.stop="aKeyToCall($event, form)"
                >查看视频
              </el-button> -->
              <el-button
                type="success"
                @click.stop="updateJtyep(form, 2, '办结')"
                >办结
                            <el-button type="success"
                                       @click.stop="updateJtyep(form, 2, '办结')">办结
              </el-button>
              <img
                src="/img/police-num.png"
                            <img src="/img/police-num.png"
                style="margin-top: -20px; height: 80px; vertical-align: middle"
                alt=""
                @click.stop="updateJtyep(form, 1, '推送110')"
              />
                                 @click.stop="updateJtyep(form, 1, '推送110')" />
              <el-button
                type="primary"
                @click.stop="updateJtyep(form, 1, '派送保安')"
                >派送保安
                            <el-button type="primary"
                                       @click.stop="updateJtyep(form, 1, '派送保安')">派送保安
              </el-button>
            </el-form-item>
          </el-col>
@@ -264,6 +237,17 @@
  name: "realPopup",
  data() {
    return {
            bjoptions: [{
                value: '刑事',
                label: '刑事'
            }, {
                value: '治安',
                label: '治安'
            }, {
                value: '火警',
                label: '火警'
            }],
            bjtype: '',
      dialogTableVisible: false,
      videoConversationReal: false,
      oldVideoSatart: false,
@@ -271,6 +255,7 @@
      peopleList: [],
      peopleName: "",
      peoplePhone: "",
      itemOption: {
        menuBtn: false,
        column: [
@@ -533,7 +518,60 @@
    },
    updateJtyep(row, jtype, t) {
      var that = this;
            if (t == '推送110') {
                if (that.bjtype == "") {
                    that.$message("请选择报警类型")
                    return
                }
                axios({
                    method: 'post',
                    url: 'https://web.byisf.com/yjbjts/getToken',
                    data: {
                        accessKey: 'admin',
                        secretKey: 'admin123'
                    }
                }).then(res => {
                    var newAxios = axios.create({
                        baseURL: "https://web.byisf.com/yjbjts/",
                        withCredentials: false,
                        headers: {
                            "Authorization": res.data.token,
                        },
                    });
                    axios({
                        method: 'get',
                        url: '/api/blade-system/dict-biz/dictionary?code=manufacturers',
                    }).then(data => {
                        data.data.forEach(item => {
                            if (item.dictKey == row.manufacturers) {
                                newAxios({
                                    method: 'post',
                                    url: '/system/onebuttonalarm',
                                    headers: {
                                        "Authorization": res.data.token
                                    },
                                    data: {
                                        yhmc: row.deptName,
                                        lxdh: row.phoneNumber,
                                        dwfzrxm: row.oneContacts,
                                        dwfzrsj: row.onePhone,
                                        sf: row.$province,
                                        yhdz: row.place,
                                        bjlx: that.bjtype,
                                        sbbh: row.deviceNumber,
                                        jjr: row.alarmPeople,
                                        bjnr: row.content,
                                        bjsj: row.jjTime,
                                        bz: row.bz,
                                        ckcjmc: item.dictValue,
                                        // ckcjbh:
                                    }
                                }).then(result => {
                                    if (result.code == 200) {
      axios
        .post(
          "/api/blade-jfpts/alarm/alarm/updateJtype",
@@ -582,6 +620,70 @@
            });
          }
        });
                                    }
                                });
                            }
                        })
                    })
                });
            } else {
                axios
                    .post(
                        "/api/blade-jfpts/alarm/alarm/updateJtype",
                        {},
                        {
                            params: {
                                jid: row.id,
                                jtype: jtype,
                                rid: row.alarmId,
                                bz: row.bz,
                                snumber: row.alarmId,
                                sname: row.alarmPeople,
                                zc: t,
                                zctime: that.getDate().current,
                                deviceNumber: row.deviceNumber
                            },
                        }
                    )
                    .then(function () {
                        that.dialogTableVisible = false;
                        axios({
                            method: "post",
                            url: `/api/blade-jfpts/rvideo/stop`,
                            params: {
                                jid: row.id,
                            },
                        }).then((resdata) => { });
                        //   that.onLoad(that.page, that.query);
                        if (t == "办结") {
                            // location.reload();
                            that.$router.push({
                                path: "/real-popup/kongbai",
                                query: that.form,
                            });
                            setTimeout(() => {
                                that.$router.push({
                                    path: "/realTimePolice/real",
                                    query: that.form,
                                });
                            }, 10);
                        } else {
                            that.$router.push({
                                path: "/policeTracking/track",
                                query: that.form,
                            });
                        }
                    });
            }
    },
    getDate() {
      // 当前时间