| | |
| | | i18n: 'dashboard' |
| | | }, |
| | | component: () => |
| | | import( /* webpackChunkName: "views" */ '@/views/home/home') |
| | | import( /* webpackChunkName: "views" */ '@/views/alarmManagement/alarmAnalysis') |
| | | }] |
| | | }, |
| | | |
| | |
| | | > |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="报警人"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.galarmPeople" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="报警人电话"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.phoneNumber" |
| | | 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" |
| | | v-model="form.oneContacts" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="负责人电话"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.onePhone" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </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> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="事发地址"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.place" |
| | | 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-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="设备编号"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.deviceNumber" |
| | | 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" |
| | | v-model="form.alarmPeople" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="报警内容"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.content" |
| | | 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> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="历史视频"> |
| | | <el-button type="primary" @click.stop="oldOpenVideo" |
| | | >视频播放 |
| | | </el-button> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-col span="24"> |
| | | <el-form-item label="备注"> |
| | | <el-input |
| | | :disabled="form.securityArr.length > 0" |
| | | v-model="form.bz" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <el-form-item label="事发地址"> |
| | | <el-input |
| | | v-model="form.place" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="省份" class="cityClassParams"> |
| | | <avue-form :option="itemOption" v-model="form"></avue-form> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col span="12"> |
| | | <avue-form :option="securityArritem" v-model="form"></avue-form> |
| | | </el-col> |
| | | <el-col span="12"> |
| | | <el-form-item label="派发人"> |
| | | <el-input |
| | | disabled="true" |
| | | v-model="form.alarmPeople" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-card> |
| | | |
| | | <div |
| | | style="margin-top: 20px" |
| | | role="tab" |
| | | aria-expanded="true" |
| | | aria-controls="el-collapse-content-823" |
| | | aria-describedby="el-collapse-content-823" |
| | | > |
| | | <div |
| | | role="button" |
| | | tabindex="0" |
| | | class="el-collapse-item__header focusing is-active" |
| | | > |
| | | <div |
| | | class="avue-group__header avue-group" |
| | | style="position: relative" |
| | | > |
| | | <i class="el-icon-document avue-group__icon"></i> |
| | | <h1 class="avue-group__title">人员信息</h1> |
| | | <el-button |
| | | @click=" |
| | | onSubmit('通知' + ensureNames, ensureId), (flag = false) |
| | | " |
| | | size="small" |
| | | style="position: absolute; right: 0" |
| | | :disabled="form.securityArr.length > 0" |
| | | :type="form.securityArr.length > 0 ? 'info' : 'danger'" |
| | | >通 知</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="grid-content bg-purple-light" style="text-align: center"> |
| | | <el-button @click="onSubmit()" type="primary">派发</el-button> |
| | | </div> |
| | | |
| | | <el-card> |
| | | <el-table |
| | | ref="multipleTable" |
| | | :data="tableData" |
| | | tooltip-effect="dark" |
| | | style="width: 100%" |
| | | @selection-change="handleSelectionChange" |
| | | max-height="240" |
| | | > |
| | | <el-table-column |
| | | v-if="!(form.securityArr.length > 0)" |
| | | type="selection" |
| | | width="55" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="ind" |
| | | label="序号" |
| | | width="60" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="姓名" |
| | | width="100" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="phone" |
| | | label="联系电话" |
| | | width="120" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="online_status" |
| | | label="在线状态" |
| | | width="80" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="tenantName" |
| | | label="所属部门" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="status" |
| | | label="通知状态" |
| | | width="120" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | |
| | | <div |
| | | style="margin-top: 20px" |
| | | role="tab" |
| | | aria-expanded="true" |
| | | aria-controls="el-collapse-content-823" |
| | | aria-describedby="el-collapse-content-823" |
| | | > |
| | | <div |
| | | role="button" |
| | | tabindex="0" |
| | | class="el-collapse-item__header focusing is-active" |
| | | > |
| | | <div class="avue-group__header avue-group"> |
| | | <i class="el-icon-document avue-group__icon"></i> |
| | | <h1 class="avue-group__title">接警信息</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-card class="receiving-alarm-box"> |
| | | <div v-for="(item, index) in receivingList" :key="index"> |
| | | {{ item.zctime + " " + item.sname + " " + item.zc }} |
| | | </div> |
| | | </el-card> |
| | | |
| | | <div |
| | | style="margin-top: 20px" |
| | | role="tab" |
| | | aria-expanded="true" |
| | | aria-controls="el-collapse-content-823" |
| | | aria-describedby="el-collapse-content-823" |
| | | > |
| | | <div |
| | | role="button" |
| | | tabindex="0" |
| | | class="el-collapse-item__header focusing is-active" |
| | | > |
| | | <div class="avue-group__header avue-group"> |
| | | <i class="el-icon-phone avue-group__icon"></i> |
| | | <h1 class="avue-group__title">对讲信息</h1> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-card class="audios-box"> |
| | | <m-audio |
| | | :block="false" |
| | | v-for="(item, index) in audios" |
| | | :key="index" |
| | | :src="item.address" |
| | | ></m-audio> |
| | | </el-card> |
| | | |
| | | <div |
| | |
| | | <script> |
| | | import axios from "axios"; |
| | | import { getList, getclient } from "@/api/real/real"; |
| | | import {update} from "@/api/real/real"; |
| | | |
| | | export default { |
| | | inject: ["reload"], |
| | | data() { |
| | |
| | | span: 1, |
| | | labelWidth: "0", |
| | | className: "cityClassSelect", |
| | | }, |
| | | ], |
| | | }, securityArritem: { |
| | | menuBtn: false, |
| | | column: [ |
| | | { |
| | | label: "处警员", |
| | | prop: "securityArr", |
| | | type: "tree", |
| | | multiple: true, |
| | | leafOnly: "", |
| | | span: 24, |
| | | dicUrl: "/api/blade-jfpts/catalogs/catalogs/getBigTree", |
| | | props: { |
| | | label: "title" |
| | | }, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择处警员", |
| | | trigger: "blur" |
| | | }], |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | currenS, |
| | | }; |
| | | }, |
| | | onSubmit(zc, ensureId) { |
| | | onSubmit() { |
| | | var that = this; |
| | | var subData = { |
| | | jid: this.form.id, |
| | | jtype: 1, |
| | | rid: this.form.alarmId, |
| | | bz: this.form.bz, |
| | | snumber: this.form.alarmId, |
| | | sname: this.form.alarmPeople, |
| | | deviceNumber: this.form.deviceNumber, |
| | | zc: zc, |
| | | zctime: this.getDate().current, |
| | | }; |
| | | if (ensureId && ensureId != "") { |
| | | subData.securityArr = ensureId; |
| | | } |
| | | axios |
| | | .post( |
| | | "/api/blade-jfpts/alarm/alarm/updateJtype", |
| | | {}, |
| | | { |
| | | params: subData, |
| | | } |
| | | ) |
| | | .then(function (res) { |
| | | that.getReceivingAlarm(); |
| | | |
| | | that.updatedPageData(); |
| | | axios({ |
| | | url: '/api/blade-jfpts/alarm/alarm/submit', |
| | | method: 'post', |
| | | data: that.form |
| | | }).then((resdata) => { |
| | | that.$message({ |
| | | message: '派遣完成', |
| | | type: 'success' |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | |
| | | |
| | | getList() { |
| | | var that = this; |
| | | var deptid = that.form.deptId.slice(0, 19); //报错deptId格式不对liu.2021.5.7 |
| | | axios |
| | | .get( |
| | | `/api/blade-user/pages?current=1&size=9999&work_status=&deptId=${deptid}` |
| | | ) |
| | | .then(function (res) { |
| | | that.tableData = []; |
| | | var i = 0; |
| | | console.log(that.form, 89); |
| | | if ( |
| | | that.form.securityArr && |
| | | that.form.securityArr != null && |
| | | that.form.securityArr != undefined && |
| | | that.form.securityArr.length > 0 |
| | | ) { |
| | | res.data.data.records.forEach((item) => { |
| | | if (item.id == that.form.securityId) { |
| | | that.tableData.push({ |
| | | id: item.id, |
| | | ind: (i += 1), |
| | | name: item.name, |
| | | phone: item.phone, |
| | | online_status: item.online_status == 1 ? "在线" : "掉线", |
| | | status: "已接警", |
| | | tenantName: item.tenantName, |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | res.data.data.records.forEach((item) => { |
| | | if ( |
| | | item.roleName == "处警员" && |
| | | that.form.securityArr.indexOf(item.id) != -1 && |
| | | item.id != that.form.securityId |
| | | ) { |
| | | that.tableData.push({ |
| | | id: item.id, |
| | | ind: (i += 1), |
| | | name: item.name, |
| | | phone: item.phone, |
| | | online_status: item.online_status == 1 ? "在线" : "掉线", |
| | | status: "已通知", |
| | | tenantName: item.tenantName, |
| | | }); |
| | | } else if ( |
| | | item.roleName == "处警员" && |
| | | that.form.securityArr.indexOf(item.id) == -1 && |
| | | item.id != that.form.securityId |
| | | ) { |
| | | that.tableData.push({ |
| | | id: item.id, |
| | | ind: (i += 1), |
| | | name: item.name, |
| | | phone: item.phone, |
| | | online_status: item.online_status == 1 ? "在线" : "掉线", |
| | | status: "未通知", |
| | | tenantName: item.tenantName, |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | that.tableData.forEach((item) => { |
| | | if (item.id == that.form.oneId) { |
| | | item.status += "(负责人)"; |
| | | } |
| | | }); |
| | | } else { |
| | | res.data.data.records.forEach((item) => { |
| | | if (item.id == that.form.oneId) { |
| | | that.tableData.push({ |
| | | id: item.id, |
| | | ind: (i += 1), |
| | | name: item.name, |
| | | phone: item.phone, |
| | | online_status: item.online_status == 1 ? "在线" : "掉线", |
| | | status: "未通知(负责人)", |
| | | tenantName: item.tenantName, |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | res.data.data.records.forEach((item) => { |
| | | if (item.roleName == "处警员" && item.id != that.form.oneId) { |
| | | that.tableData.push({ |
| | | id: item.id, |
| | | ind: (i += 1), |
| | | name: item.name, |
| | | phone: item.phone, |
| | | online_status: item.online_status == 1 ? "在线" : "掉线", |
| | | status: "未通知", |
| | | tenantName: item.tenantName, |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | handleSelectionChange(val) { |
| | |
| | | this.audios = resdata.data.data.records; |
| | | }); |
| | | }, |
| | | |
| | | getImgAndVideo() { |
| | | axios({ |
| | | method: "post", |
| | |
| | | line-height: 32px !important; |
| | | height: 200px; |
| | | overflow-y: auto; |
| | | |
| | | .el-card__body { |
| | | padding: 0 10px !important; |
| | | } |
| | |
| | | height: auto; |
| | | max-height: 200px; |
| | | overflow-y: auto; |
| | | |
| | | .el-card__body { |
| | | display: flex; |
| | | padding: 0 10px !important; |
| | | flex-wrap: wrap; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | .x-audio-wrap.inline { |
| | | margin: 10px; |
| | | } |
| | | |
| | | .el-image { |
| | | margin: 10px; |
| | | width: 160px; |
| | |
| | | <template slot-scope="{ row }" slot="jtype"> |
| | | <el-tag |
| | | >{{ |
| | | row.jtype == "0" ? "未处理" : row.jtype == "1" ? "处理中" : "已处理" |
| | | row.jtype == "0" || row.jtype == "" ? "未处理" : row.jtype == "1" ? "处理中" : "已处理" |
| | | }} |
| | | </el-tag> |
| | | </template> |
| | |
| | | </el-tag> |
| | | </template> |
| | | |
| | | <!-- <template slot-scope="{ type, size, row }" slot="menu">--> |
| | | |
| | | <!-- <el-button--> |
| | | <!-- v-if="row.jtype == 0 || row.jtype == ''"--> |
| | | <!-- icon="el-icon-edit"--> |
| | | <!-- :size="size"--> |
| | | <!-- :type="type"--> |
| | | <!-- @click.stop="handleManage(row)"--> |
| | | <!-- >核实--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- v-if="row.jtype != 0 && row.jtype != ''"--> |
| | | <!-- icon="el-icon-s-order"--> |
| | | <!-- :size="size"--> |
| | | <!-- :type="type"--> |
| | | <!-- @click.stop="PoliceTracking(row)"--> |
| | | <!-- >追踪--> |
| | | <!-- </el-button>--> |
| | | <!-- </template>--> |
| | | <template slot-scope="{ type, size, row }" slot="menu"> |
| | | <el-button |
| | | v-if="row.jtype == 0 || row.jtype == 0 || row.jtype == ''" |
| | | icon="el-icon-s-order" |
| | | :size="size" |
| | | :type="type" |
| | | @click.stop="PoliceTracking(row)" |
| | | >派发 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | <real-popup ref="realPopupView"></real-popup> |
| | | <el-drawer title="电子地图" append-to-body="true" :visible.sync="showMap"> |
| | |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "报警人", |
| | | prop: "galarmPeople", |
| | | width: 90, |
| | | }, |
| | | { |
| | | label: "报警人电话", |
| | | prop: "phoneNumber", |
| | | width: 130, |
| | | },{ |
| | | label: "备注", |
| | | prop: "bz", |
| | | span:24, |
| | | }, |
| | | { |
| | | label: "地址", |
| | |
| | | dicUrl: "/api/blade-system/region/select", |
| | | span: 6, |
| | | className: "cityreal1", |
| | | hide: true, |
| | | addDisplay: true, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | |
| | | span: 3, |
| | | labelWidth: "0", |
| | | className: "cityreal2", |
| | | hide: true, |
| | | addDisplay: true, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | |
| | | span: 3, |
| | | labelWidth: "0", |
| | | className: "cityreal3", |
| | | hide: true, |
| | | addDisplay: true, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | }, |
| | | { |
| | | label: "设备编号", |
| | | search: true, |
| | | searchSpan: 3, |
| | | width: 130, |
| | | prop: "deviceNumber", |
| | | }, |
| | | { |
| | | label: "警情状态", |
| | |
| | | label: "派发人", |
| | | prop: "alarmPeople", |
| | | width: 90, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | }, |
| | | { |
| | | label: "处警员", |
| | |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | debugger; |
| | | var security = ""; |
| | | row.securityArr.forEach((item) => { |
| | | security = security + item + ","; |
| | | }); |
| | | row.securityArr = security.substring(0, security.length - 1); |
| | | var userId = JSON.parse( |
| | | window.localStorage.getItem("警群联控后台管理系统-userInfo") |
| | | ).content.real_name; |
| | | row.alarmPeople = userId; |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |