| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-07 17:30:05 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-07-10 16:06:14 |
| | | * menu-name 监管信息 |
| | | */ |
| | | /* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by: |
| | | Morpheus * @Last Modified time: 2021-11-25 14:54:40 * menu-name 监管信息 */ |
| | | <template> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[ |
| | | $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize', |
| | | $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | class="tablesss" |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | |
| | | :permission="permissionList" |
| | | v-model="form" |
| | | ref="crud" |
| | | @row-update="rowUpdates" |
| | | @row-save="rowSave" |
| | | @row-del="rowDel" |
| | | @search-change="searchChange" |
| | | @search-reset="searchReset" |
| | | @selection-change="selectionChange" |
| | |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot-scope="{ type, size, row }" slot="menu"> |
| | | <el-button |
| | | icon="el-icon-location-outline" |
| | | :size="size" |
| | | :type="type" |
| | | @click.stop="seeLocation(row)" |
| | | >位置查看</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-place" |
| | | :size="size" |
| | | :type="type" |
| | | @click.stop="seeTrack(row)" |
| | | >轨迹查看 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | |
| | | <el-dialog |
| | | class="see-location" |
| | | title="位置查看" |
| | | :visible.sync="seeLocationFlag" |
| | | :modal-append-to-body="false" |
| | | width="width" |
| | | > |
| | | <Map v-if="seeLocationFlag" ref="locationForm" /> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | class="see-track" |
| | | title="轨迹查看" |
| | | :visible.sync="seeTrackFlag" |
| | | :modal-append-to-body="false" |
| | | width="width" |
| | | > |
| | | <div class="search"> |
| | | 选择时间:<el-date-picker |
| | | v-model="trackTime" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | size="mini" |
| | | :editable="false" |
| | | end-placeholder="结束日期" |
| | | > |
| | | </el-date-picker> |
| | | <el-button type="text" @click="lookTrack"> 查看轨迹 </el-button> |
| | | </div> |
| | | |
| | | <Map v-if="seeTrackFlag" ref="tarckForm" /> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | | |
| | |
| | | // import { datasing } from "./dataqualificationExamination"; |
| | | // import { getList } from "@/api/qualificationExamination/qualificationExamination"; |
| | | import { getLisperetaskDistribution } from "@/api/commandQuery/commandQuery"; |
| | | import { |
| | | getDirectiveLiveLocationVoList, |
| | | getDirectiveLocusInfoList, |
| | | } from "@/api/map/people"; |
| | | |
| | | import peoplePng from "@/assets/img/people.png"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | seeLocationFlag: false, |
| | | seeTrackFlag: false, |
| | | trackTime: [], |
| | | rowData: null, |
| | | form: {}, |
| | | query: {}, |
| | | loading: true, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | selectionList: [], |
| | | |
| | | option: { |
| | | // 操作栏多余按钮去除 |
| | | delBtn: false, |
| | | editBtn: false, |
| | | addBtn: false, |
| | | selection: false, |
| | | menu: false, |
| | | selection: true, |
| | | menu: true, |
| | | |
| | | searchShowBtn: false, |
| | | |
| | |
| | | index: true, |
| | | viewBtn: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | |
| | | column: [ |
| | | // { |
| | |
| | | label: "发送指令人", |
| | | prop: "sendName", |
| | | search: true, |
| | | searchLabelWidth: 120, |
| | | searchSpan: 5, |
| | | searchLabelWidth: 90, |
| | | searchSpan: 4, |
| | | // hide: true, |
| | | // editDisplay: false, |
| | | // addDisplay: false |
| | |
| | | { |
| | | label: "接收指令人", |
| | | prop: "receiveName", |
| | | search: true, |
| | | searchLabelWidth: 120, |
| | | // search: true, |
| | | // searchSpan: 4, |
| | | searchLabelWidth: 90, |
| | | }, |
| | | { |
| | | label: "发送指令时间", |
| | |
| | | { |
| | | label: "指令内容", |
| | | prop: "content", |
| | | search: true, |
| | | searchSpan: 4, |
| | | }, |
| | | { |
| | | label: "图片", |
| | | prop: "url", |
| | | dataType: "string", |
| | | type: "img", |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | data: [ |
| | | // { |
| | | // deptid: "江西众泰保安公司", |
| | |
| | | return ids.join(","); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.$store.commit("setWindowSizeHeightAdd"); |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | adddata(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdates(row, index, done, loading) { |
| | | // console.log(42342); |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | | // beforeOpen(done, type) { |
| | | // if (["edit", "view"].includes(type)) { |
| | | // getDetail(this.form.id).then((res) => { |
| | |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | console.log(this.data, "getLisperetaskDistribution"); |
| | | // for (var k in this.data) { |
| | | // this.data[k]["url"] = "https://avuejs.com/images/logo-bg.jpg"; |
| | | // } |
| | | this.$store.commit("setWindowSizeHeightAdd"); |
| | | // console.log(this.data, "getLisperetaskDistribution"); |
| | | this.loading = false; |
| | | // this.selectionClear(); |
| | | }); |
| | |
| | | query: obj, |
| | | }); |
| | | }, |
| | | |
| | | seeLocation(row) { |
| | | this.seeLocationFlag = true; |
| | | |
| | | getDirectiveLiveLocationVoList({ |
| | | type: 1, |
| | | userIds: row.receiveDirectiveIds, |
| | | }).then((result) => { |
| | | var res = result.data.data; |
| | | if (JSON.stringify(res) != "[]") { |
| | | res.forEach((data) => { |
| | | this.$refs.locationForm.addEntitys( |
| | | { |
| | | LGTD: data.longitude, |
| | | LTTD: data.latitude, |
| | | name: "人员位置", |
| | | }, |
| | | peoplePng, |
| | | 0.5, |
| | | "peoplelayer", |
| | | "peopleAddlayer" |
| | | ); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | seeTrack(row) { |
| | | this.trackTime = []; |
| | | this.rowData = ""; |
| | | this.rowData = row; |
| | | this.seeTrackFlag = true; |
| | | }, |
| | | |
| | | lookTrack() { |
| | | if (this.trackTime.length == 0) { |
| | | this.$message({ message: "请选择开始时间", duration: 2000 }); |
| | | return; |
| | | } |
| | | const startTime = new Date(this.trackTime[0]); |
| | | const start = |
| | | startTime.getFullYear() + |
| | | "-" + |
| | | this.disposeTime(startTime.getMonth() + 1) + |
| | | "-" + |
| | | this.disposeTime(startTime.getDate()) + |
| | | " " + |
| | | this.disposeTime(startTime.getHours()) + |
| | | ":" + |
| | | this.disposeTime(startTime.getMinutes()) + |
| | | ":" + |
| | | this.disposeTime(startTime.getSeconds()); |
| | | if (this.trackTime.length == 1) { |
| | | this.$message({ message: "请选择结束时间", duration: 2000 }); |
| | | return; |
| | | } |
| | | const endTime = new Date(this.trackTime[1]); |
| | | const end = |
| | | endTime.getFullYear() + |
| | | "-" + |
| | | this.disposeTime(endTime.getMonth() + 1) + |
| | | "-" + |
| | | this.disposeTime(endTime.getDate()) + |
| | | " " + |
| | | this.disposeTime(endTime.getHours()) + |
| | | ":" + |
| | | this.disposeTime(endTime.getMinutes()) + |
| | | ":" + |
| | | this.disposeTime(endTime.getSeconds()); |
| | | |
| | | getDirectiveLocusInfoList({ |
| | | userIds: this.rowData.receiveDirectiveIds, |
| | | type: 1, |
| | | startTime: start, |
| | | endTime: end, |
| | | }).then((res) => { |
| | | var result = res.data.data; |
| | | if (JSON.stringify(res) != "[]") { |
| | | result.forEach((item) => { |
| | | if (item.length > 1) { |
| | | let arr = []; |
| | | |
| | | item.forEach((data) => { |
| | | arr.push([Number(data.longitude), Number(data.latitude)]); |
| | | }); |
| | | |
| | | this.$refs.tarckForm.addLines(arr); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 处理时间补零操作 |
| | | disposeTime(s) { |
| | | return s < 10 ? "0" + s : s; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style> |
| | | </style> |
| | | <style></style> |