flx:提交作业管控模块
@ -4,8 +4,8 @@ NODE_ENV = 'development'
|
||||
# 本地环境接口地址(/api/index.ts文件中使用)
|
||||
# 后端本地
|
||||
# VITE_API_URL = 'http://192.168.34.155:28890' #彭杰鞍钢本地
|
||||
VITE_API_URL = 'http://192.168.34.155:19111'
|
||||
# VITE_API_URL = 'http://192.168.34.221:9111' #雄哥本地
|
||||
# VITE_API_URL = 'http://192.168.34.155:19111'
|
||||
VITE_API_URL = 'http://192.168.34.221:8111' #雄哥本地
|
||||
# VITE_API_URL = 'http://192.168.34.221:19112' #雄哥本地
|
||||
# VITE_API_URL = 'http://192.168.34.221:28890' #雄哥本地
|
||||
# VITE_API_URL = 'http://182.90.224.237:51234' #雄哥远程
|
||||
|
||||
11
package-lock.json
generated
@ -28,6 +28,7 @@
|
||||
"element-china-area-data": "^5.0.2",
|
||||
"element-plus": "^2.2.30",
|
||||
"ezuikit-js": "^7.7.8",
|
||||
"hls.js": "^1.6.7",
|
||||
"jquery": "^3.7.1",
|
||||
"jquery-ui": "^1.13.2",
|
||||
"jquery-ui-dist": "^1.13.2",
|
||||
@ -8912,6 +8913,11 @@
|
||||
"xtend": "~4.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/hls.js": {
|
||||
"version": "1.6.7",
|
||||
"resolved": "https://registry.npmmirror.com/hls.js/-/hls.js-1.6.7.tgz",
|
||||
"integrity": "sha512-QW2fnwDGKGc9DwQUGLbmMOz8G48UZK7PVNJPcOUql1b8jubKx4/eMHNP5mGqr6tYlJNDG1g10Lx2U/qPzL6zwQ=="
|
||||
},
|
||||
"node_modules/homedir-polyfill": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
|
||||
@ -23322,6 +23328,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"hls.js": {
|
||||
"version": "1.6.7",
|
||||
"resolved": "https://registry.npmmirror.com/hls.js/-/hls.js-1.6.7.tgz",
|
||||
"integrity": "sha512-QW2fnwDGKGc9DwQUGLbmMOz8G48UZK7PVNJPcOUql1b8jubKx4/eMHNP5mGqr6tYlJNDG1g10Lx2U/qPzL6zwQ=="
|
||||
},
|
||||
"homedir-polyfill": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
|
||||
|
||||
@ -40,6 +40,7 @@
|
||||
"element-china-area-data": "^5.0.2",
|
||||
"element-plus": "^2.2.30",
|
||||
"ezuikit-js": "^7.7.8",
|
||||
"hls.js": "^1.6.7",
|
||||
"jquery": "^3.7.1",
|
||||
"jquery-ui": "^1.13.2",
|
||||
"jquery-ui-dist": "^1.13.2",
|
||||
|
||||
32
src/api/modules/workTicket.ts
Normal file
@ -0,0 +1,32 @@
|
||||
|
||||
import http from "@/api";
|
||||
const BASEURL = import.meta.env.VITE_API_URL;
|
||||
|
||||
// 统计工作票
|
||||
export const getWorkTicketCountWorkTicketApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/workTicket/countWorkTicket`, params);
|
||||
};
|
||||
// 分页列表查询工作票信息
|
||||
export const getWorkTicketPageApi = (params: {}) => {
|
||||
return http.get(BASEURL + `/xmgl/workTicket/page`, params);
|
||||
};
|
||||
// 树形分页列表查询工作票类型信息
|
||||
export const getWorkTicketTypeTreePageApi = (params: {}) => {
|
||||
return http.get(BASEURL + `/xmgl/workTicketType/tree/page`, params);
|
||||
};
|
||||
// 通过id查询工作票信息
|
||||
export const getWorkTicketQueryByIdApi = (params: {}) => {
|
||||
return http.get(BASEURL + `/xmgl/workTicket/queryById`, params);
|
||||
};
|
||||
// 列表查询工作票历史记录信息
|
||||
export const getWorkTicketHistoryListApi = (params: {}) => {
|
||||
return http.get(BASEURL + `/xmgl/workTicketHistory/list`, params);
|
||||
};
|
||||
// 根据itemId查询视频播放url
|
||||
export const getVideoItemInfoPoliceCameraItemApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/policeCameraItem/getVideoItemInfo`, params);
|
||||
};
|
||||
// 分页列表查询执法记录仪设备列表信息
|
||||
export const getPoliceCameraItemPageApi = (params: {}) => {
|
||||
return http.get(BASEURL + `/xmgl/policeCameraItem/page`, params);
|
||||
};
|
||||
BIN
src/assets/images/cardImg1.png
Normal file
|
After Width: | Height: | Size: 336 B |
BIN
src/assets/images/workTicket/bodyworn_audio.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
src/assets/images/workTicket/bodyworn_pause.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/assets/images/workTicket/bodyworn_play.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
src/assets/images/workTicket/index-icon1.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
src/assets/images/workTicket/index-icon10.png
Normal file
|
After Width: | Height: | Size: 678 B |
BIN
src/assets/images/workTicket/index-icon2.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
src/assets/images/workTicket/index-icon3.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
src/assets/images/workTicket/index-icon4.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/assets/images/workTicket/index-icon5.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
src/assets/images/workTicket/index-icon6.png
Normal file
|
After Width: | Height: | Size: 229 B |
BIN
src/assets/images/workTicket/index-icon7.png
Normal file
|
After Width: | Height: | Size: 343 B |
BIN
src/assets/images/workTicket/index-icon8.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
src/assets/images/workTicket/index-icon9.png
Normal file
|
After Width: | Height: | Size: 354 B |
@ -112,6 +112,11 @@ export const staticRouter: RouteRecordRaw[] = [
|
||||
name: "工程概况-2",
|
||||
component: () => import("@/views/sevenLargeScreen/comprehensiveManage/projectOverviewL/index.vue")
|
||||
},
|
||||
{
|
||||
path: "/homeworkControlProcess",
|
||||
name: "作业过程管控",
|
||||
component: () => import("@/views/sevenLargeScreen/homeworkControlProcess/index.vue")
|
||||
},
|
||||
// {
|
||||
// path: "/projectOverviewer",
|
||||
// name: "工程概况-1",
|
||||
|
||||
@ -465,7 +465,7 @@ const getList = async () => {
|
||||
const res = await getCurrentDayAirQualityApi({ projectSn: store.sn });
|
||||
console.log("获取环境监测数据", res);
|
||||
if (res.result) {
|
||||
analysisData.value = res.result.analysisData;
|
||||
analysisData.value = res.result.analysisData ? res.result.analysisData : "";
|
||||
}
|
||||
drawChart();
|
||||
};
|
||||
|
||||
@ -461,7 +461,7 @@ const getList = async () => {
|
||||
console.log("获取环境监测数据", res);
|
||||
if (res.result) {
|
||||
analysisType.value = res.result.analysisType;
|
||||
analysisData.value = res.result.analysisData;
|
||||
analysisData.value = res.result.analysisData ? res.result.analysisData : "";
|
||||
}
|
||||
console.log("analysisType", analysisType.value);
|
||||
console.log("analysisData", analysisData.value);
|
||||
|
||||
@ -0,0 +1,72 @@
|
||||
<template>
|
||||
<div class="hls-player">
|
||||
<video
|
||||
ref="video"
|
||||
:controls="controls"
|
||||
:autoplay="autoplay"
|
||||
:muted="muted"
|
||||
:poster="poster"
|
||||
style="width: 100%; height: 100%"
|
||||
playsinline
|
||||
webkit-playsinline
|
||||
></video>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Hls from "hls.js";
|
||||
|
||||
export default {
|
||||
name: "HlsPlayer",
|
||||
props: {
|
||||
src: { type: String, required: true },
|
||||
controls: { type: Boolean, default: true },
|
||||
autoplay: { type: Boolean, default: false },
|
||||
muted: { type: Boolean, default: false },
|
||||
poster: { type: String, default: "" },
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
hls: null,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.initPlayer();
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.destroyPlayer();
|
||||
},
|
||||
watch: {
|
||||
src(newVal) {
|
||||
this.initPlayer();
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
initPlayer() {
|
||||
this.destroyPlayer();
|
||||
const video = this.$refs.video;
|
||||
if (Hls.isSupported()) {
|
||||
this.hls = new Hls();
|
||||
this.hls.loadSource(this.src);
|
||||
this.hls.attachMedia(video);
|
||||
} else if (video.canPlayType("application/vnd.apple.mpegurl")) {
|
||||
video.src = this.src;
|
||||
}
|
||||
},
|
||||
destroyPlayer() {
|
||||
if (this.hls) {
|
||||
this.hls.destroy();
|
||||
this.hls = null;
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.hls-player {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #000;
|
||||
}
|
||||
</style>
|
||||
1644
src/views/sevenLargeScreen/homeworkControlProcess/index.vue
Normal file
@ -461,7 +461,7 @@ const getList = async () => {
|
||||
console.log("获取环境监测数据", res);
|
||||
if (res.result) {
|
||||
analysisType.value = res.result.analysisType;
|
||||
analysisData.value = res.result.analysisData;
|
||||
analysisData.value = res.result.analysisData ? res.result.analysisData : "";
|
||||
}
|
||||
console.log("analysisType", analysisType.value);
|
||||
console.log("analysisData", analysisData.value);
|
||||
|
||||