diff --git a/.env.development b/.env.development index bf0f7c9..a9953e0 100644 --- a/.env.development +++ b/.env.development @@ -59,7 +59,12 @@ VITE_API_URL = 'http://192.168.34.221:8111' #雄哥本地 # 测试 # VITE_API_URL = 'http://jxj.zhgdyun.com:9500' # VITE_API_URL = 'http://192.168.34.221:19112' +# 敦煌 VITE_API_URL = 'http://gszhdz.crpower.com.cn:9809' +# VITE_API_URL = 'https://gszhdz.crpower.com.cn:9807' +# 广深高速公路 +# VITE_API_URL = 'http://112.93.255.85:9840' + # 上传 VITE_ULD_API_URL = 'http://192.168.34.155:8012/onlinePreview?url=' diff --git a/src/api/modules/mapConfig.ts b/src/api/modules/mapConfig.ts index 5db54d7..4d13f83 100644 --- a/src/api/modules/mapConfig.ts +++ b/src/api/modules/mapConfig.ts @@ -70,3 +70,8 @@ export const getMachineryStat = (params: any) => { export const getVideoItemInfo = (params: any) => { return http.post(BASEURL + `/xmgl/videoItem/getVideoItemInfo`, params); }; + +// 获取视频设备信息 +export const getTalkURLsApi = (params: any) => { + return http.post(BASEURL + `/xmgl/videoItem/getTalkURLs`, params); +}; diff --git a/src/api/modules/projectOverview.ts b/src/api/modules/projectOverview.ts index 200307f..2ddf5a6 100644 --- a/src/api/modules/projectOverview.ts +++ b/src/api/modules/projectOverview.ts @@ -19,6 +19,12 @@ export const getProjectInspectRecordCountApi = (params: {}) => { }); }; +export const getSelectQualityStatisticsApi = (params: {}) => { + return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/selectQualityStatistics`, params, { + headers: { noLoading: true } + }); +}; + // 质量管理 export const selectQualityStatisticsApi = (params: {}) => { return http.post(BASEURL + `/xmgl/qualityInspectionRecord/selectQualityStatistics`, params, { headers: { noLoading: true } }); diff --git a/src/config/config.ts b/src/config/config.ts index 6451d29..85021d3 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -23,7 +23,7 @@ export const BAIDU_MAP_KEY: string = ""; export const BASE_IMAGE_URL = import.meta.env.VITE_BASE_IMAGE_URL; // 项目环境标识配置 部署时需更改对应的项目 -export const COMPANY: string = ""; //标准版 +// export const COMPANY: string = ""; //标准版 // export const COMPANY: string = "zhzrf"; //中海·臻如府 // export const COMPANY: string = "zsbf"; //中水北方 // export const COMPANY: string = "as"; //鞍山项目 @@ -58,3 +58,5 @@ export const COMPANY: string = ""; //标准版 // export const COMPANY: string = "allxm"; // 安立路项目 // export const COMPANY: string = "hbla"; // 湖北龙澳 // export const COMPANY: string = "qyg"; // 清远港 +export const COMPANY: string = "gsgs"; // 广深高速 + diff --git a/src/routers/modules/staticRouter.ts b/src/routers/modules/staticRouter.ts index 323ef11..310013c 100644 --- a/src/routers/modules/staticRouter.ts +++ b/src/routers/modules/staticRouter.ts @@ -387,8 +387,8 @@ export const staticRouter: RouteRecordRaw[] = [ } ], meta: { - // title: "数字化项目监管平台" - title: "智慧工地管理平台" //鞍钢项目 + title: "数字化项目监管平台" + // title: "智慧工地管理平台" //鞍钢项目 } } diff --git a/src/views/sevenLargeScreen/bImModel/index.vue b/src/views/sevenLargeScreen/bImModel/index.vue index 5df333b..ce8b8ca 100644 --- a/src/views/sevenLargeScreen/bImModel/index.vue +++ b/src/views/sevenLargeScreen/bImModel/index.vue @@ -38,8 +38,9 @@ function getBimfaceList() { // } onMounted(async () => { // url.value = "http://jxj.zhgdyun.com:9809/static/bim.html"; - // url.value = window.location.origin + "/static/bim.html"; - url.value = "/static/bim.html"; + // url.value = window.location.origin + "static/bim.html"; + url.value = (window.location.pathname ? window.location.pathname : '/') + "static/bim.html"; + // url.value = "/static/bim.html"; console.log("url-------的地址", window.location.origin); await getBimfaceList(); }); diff --git a/src/views/sevenLargeScreen/comprehensiveManage/projectOverview/leftTop.vue b/src/views/sevenLargeScreen/comprehensiveManage/projectOverview/leftTop.vue index 6afbe1a..cf0ea0a 100644 --- a/src/views/sevenLargeScreen/comprehensiveManage/projectOverview/leftTop.vue +++ b/src/views/sevenLargeScreen/comprehensiveManage/projectOverview/leftTop.vue @@ -12,7 +12,8 @@
项目地址: {{ projectLocal }}
项目经理: {{ projectData.projectManage || "" }}
联系电话: {{ projectData.projectTel || "" }}
-
建筑面积: {{ projectData.projectAcreage || "" }} ㎡
+
桥梁长度(m): {{ projectData.bridgeLength || "" }}
+
建筑面积: {{ projectData.projectAcreage || "" }} ㎡
开工日期: {{ projectData.startWorkDate || "" }}
项目编号: {{ projectData.projectNumber || "" }}
@@ -43,7 +44,7 @@ import { ref, onMounted, watch, computed } from "vue"; import { getStageOption } from "@/api/modules/projectOverview"; import { queryByProject } from "@/api/modules/config"; import projectInfoDialog from "./projectInfoDialog.vue"; - +import { COMPANY } from "@/config/config"; const customList = computed(() => { let { list } = JSON.parse(customData.value?.configValue || "{}"); return list; diff --git a/src/views/sevenLargeScreen/comprehensiveManage/projectOverview/rightTop.vue b/src/views/sevenLargeScreen/comprehensiveManage/projectOverview/rightTop.vue index 3276064..f1cdf8e 100644 --- a/src/views/sevenLargeScreen/comprehensiveManage/projectOverview/rightTop.vue +++ b/src/views/sevenLargeScreen/comprehensiveManage/projectOverview/rightTop.vue @@ -11,7 +11,7 @@ import Card from "@/components/card.vue"; import { onMounted, ref } from "vue"; import { GlobalStore } from "@/stores"; const store = GlobalStore(); -import { getProjectInspectRecordCountApi } from "@/api/modules/projectOverview"; +import { getProjectInspectRecordCountApi, getSelectQualityStatisticsApi } from "@/api/modules/projectOverview"; import * as echarts from "echarts"; const echartsTest = ref(); let questionTotal = ref(0 as any); @@ -333,12 +333,12 @@ function drawEchart() { //获取安全管理 // const safeData = ref(null as any); const getSafeInfo = async () => { - const res: any = await getProjectInspectRecordCountApi({ projectSn: store.sn }); + const res: any = await getSelectQualityStatisticsApi({ projectSn: store.sn }); // console.log("获取安全管理", res); // safeData.value = res.result; - dataList.value[0].value = res.result.rectificationNum; - dataList.value[1].value = res.result.totalNum - res.result.rectificationNum; - questionTotal.value = res.result.totalNum; + dataList.value[0].value = res.result.total.alreadyRectificationNum; + dataList.value[1].value = res.result.total.totalNum - res.result.total.alreadyRectificationNum; + questionTotal.value = res.result.total.totalNum; drawEchart(); }; //将方法暴露给父组件 diff --git a/src/views/sevenLargeScreen/homeworkControlProcess/components/iscPlayer.vue b/src/views/sevenLargeScreen/homeworkControlProcess/components/iscPlayer.vue index 7abc4a5..12ecf9b 100644 --- a/src/views/sevenLargeScreen/homeworkControlProcess/components/iscPlayer.vue +++ b/src/views/sevenLargeScreen/homeworkControlProcess/components/iscPlayer.vue @@ -2,13 +2,7 @@
-
+
{{ videoNameUp(i - 1) }}
@@ -67,7 +61,7 @@ import { getVideoItemInfoPoliceCameraItemApi } from "@/api/modules/workTicket"; import { Close } from "@element-plus/icons-vue"; import moment from "moment"; import dayjs from "dayjs"; -import { reactive, watch, onMounted, computed } from "vue"; +import { reactive, watch, onMounted, computed, nextTick } from "vue"; import { ElMessage } from "element-plus"; import loadingGif from "@/assets/images/iscImage/loading.gif"; import errorPng from "@/assets/images/iscImage/text-to-image.png"; @@ -103,9 +97,9 @@ const videoInfo = reactive({ isFullScreen: false, isFullScreenAll: false, randomNumber: "", - player: null, - // 每个实例独立的状态 - instanceStates: {} + player: null, + // 每个实例独立的状态 + instanceStates: {} }); // 关闭所有视频 const stopAllPlay = () => { @@ -274,7 +268,7 @@ const capture = (imageType, currentWindowIndex) => { const initPlayer = () => { videoInfo.player = new JSPlugin({ // 需要英文字母开头 必填 - szId: 'player-' + props.playerId, // 使用唯一ID + szId: "player-" + props.playerId, // 使用唯一ID // 必填,引用H5player.min.js的js相对路径 szBasePath: "/public/bin", @@ -383,9 +377,11 @@ const initPlayer = () => { console.log("recv ElementChanged: " + iWndIndex + ", szElementType:" + szElementType); } }); - if (videoInfo.devH5List.length > 0) { - play(videoInfo.devH5List[0], videoInfo.iWndIndex); - } + nextTick(() => { + if (videoInfo.devH5List.length > 0) { + play(videoInfo.devH5List[0], videoInfo.iWndIndex); + } + }); }; /** * 获取取流连接 diff --git a/src/views/sevenLargeScreen/homeworkControlProcess/index.vue b/src/views/sevenLargeScreen/homeworkControlProcess/index.vue index ad8fc39..ebaa5c9 100644 --- a/src/views/sevenLargeScreen/homeworkControlProcess/index.vue +++ b/src/views/sevenLargeScreen/homeworkControlProcess/index.vue @@ -435,10 +435,13 @@ const workTicketCountList = ref([ stateType: 4 } ]); -const getWorkTicketCountWorkTicket = (showLoading) => { - getWorkTicketCountWorkTicketApi({ - projectSn: store.sn - }, showLoading).then(res => { +const getWorkTicketCountWorkTicket = showLoading => { + getWorkTicketCountWorkTicketApi( + { + projectSn: store.sn + }, + showLoading + ).then(res => { if (res.code == 200) { // workTicketCountList.value = res.result; workTicketCountList.value = [ @@ -500,8 +503,8 @@ const onWorkTicketRefresh = () => { const getWorkTicketPage = () => { const params = { ...workTicketInfo, - constructionTimeBegin_end: workTicketInfo.constructionTime.length > 0 ? workTicketInfo.constructionTime[0] : "", - constructionTimeEnd_start: workTicketInfo.constructionTime.length > 0 ? workTicketInfo.constructionTime[1] : "" + applicationTime_begin: workTicketInfo.constructionTime.length > 0 ? workTicketInfo.constructionTime[0] : "", + applicationTime_end: workTicketInfo.constructionTime.length > 0 ? workTicketInfo.constructionTime[1] : "" }; delete params.constructionTime; getWorkTicketPageApi({ @@ -942,6 +945,10 @@ const downloadFileBtn = (url, name) => { :deep(.el-date-editor) { width: 36%; margin-top: 10px; + .el-range-input { + color: white; + // background-color: transparent; + } } :deep(.el-cascader), @@ -1223,7 +1230,10 @@ const downloadFileBtn = (url, name) => { .content-img { display: flex; flex-wrap: wrap; - > .el-image:nth-child(even) { + > .el-image:nth-child(n + 4) { + margin-top: 20px; + } + > .el-image:not(:nth-child(3n + 1)) { margin-left: 20px; } > .el-image { diff --git a/src/views/sevenLargeScreen/indexL.vue b/src/views/sevenLargeScreen/indexL.vue index daa0607..9ea3145 100644 --- a/src/views/sevenLargeScreen/indexL.vue +++ b/src/views/sevenLargeScreen/indexL.vue @@ -39,10 +39,10 @@
-->
- +
- +
- -
+ +
// 请求工具 // import http from "@/http/http2.js"; -import { getVideoItemInfo } from "@/api/modules/mapConfig"; +import { getVideoItemInfo, getTalkURLsApi } from "@/api/modules/mapConfig"; import { Close } from "@element-plus/icons-vue"; import moment from "moment"; import dayjs from "dayjs"; @@ -212,23 +212,36 @@ const isTalkback = currentWindowIndex => { const talkbackStart = currentWindowIndex => { let player = videoInfo.player, index = currentWindowIndex - 1; + getTalkURLsApi({ + protocol: "wss", + projectSn: videoInfo.devH5List[index].projectSn, + serialNumber: videoInfo.devH5List[index].serialNumber + }).then(res => { + const res2 = JSON.parse(res.result); + if (!res2.data) { + ElMessage.warning("获取url失败"); + return; + } + console.log(res2.data.url); - player - .JS_StartTalk(videoInfo.devH5List[index].url, { - // irecordType: 1, - // cbStreamCB: this.streamcb, - }) - .then( - () => { - ElMessage.success("开始对讲"); - videoInfo.talkbackBegin = true; - console.log("record start ..."); - }, - e => { - console.error(e); - ElMessage.error("对讲连接失败"); - } - ); + const url = res2.data.url.replace("hrdl.zhgdyun.com", "sp.szjxj.com"); + player.JS_StartTalk(url, { + // irecordType: 1, + // cbStreamCB: this.streamcb, + }) + .then( + () => { + ElMessage.success("开始对讲"); + videoInfo.talkbackBegin = true; + openSound(currentWindowIndex); + console.log("record start ..."); + }, + e => { + console.error(e); + ElMessage.error("对讲连接失败"); + } + ); + }); }; // 结束对讲 const talkbackStop = currentWindowIndex => { @@ -238,6 +251,7 @@ const talkbackStop = currentWindowIndex => { res => { console.log("record stoped, saving ...", res); videoInfo.talkbackBegin = false; + closeSound(currentWindowIndex); }, e => { console.error(e); @@ -367,7 +381,10 @@ const initPlayer = () => { }); console.log(11222233, someFlag); const player_playVideo = wnd.querySelector(`#player_playVideo${iWndIndex}`); - if (player_playVideo.src || someFlag) { + const findFlag = Array.from(wnd.childNodes).find(item => { + return item.id && item.id.includes("player_playVideo"); + }); + if (player_playVideo.src || someFlag || findFlag.duration == "Infinity") { controls.classList.add("video-controls_flex"); } } @@ -587,10 +604,13 @@ watch( console.log("视频播放", videoInfo.devH5List); } } else { - play({ - ...item, - eIndex: index - }, index); + play( + { + ...item, + eIndex: index + }, + index + ); } }); if (a.length > 1) { @@ -656,7 +676,7 @@ onMounted(() => { background-image: url("@/assets/images/iscImage/talkback.png"); } .talkback_active { - background-image: url("~@/assets/images/iscImage/talkback_active.png"); + background-image: url("~@/assets/images/iscImage/talkback_active.png"); } .screenshot { background-image: url("@/assets/images/iscImage/screenshot.png");