flx:添加水平倾斜字段 免登录新增isIframe切换

This commit is contained in:
Rain_ 2025-11-05 15:10:06 +08:00
parent 6252883089
commit 09bcb6ea79
10 changed files with 91 additions and 19 deletions

View File

@ -9,8 +9,8 @@ import { PersistedStateOptions } from "pinia-plugin-persistedstate";
const piniaPersistConfig = (key: string, paths?: string[]) => { const piniaPersistConfig = (key: string, paths?: string[]) => {
const persist: PersistedStateOptions = { const persist: PersistedStateOptions = {
key, key,
storage: localStorage, // storage: localStorage,
// storage: sessionStorage, storage: sessionStorage,
paths paths
}; };
return persist; return persist;

View File

@ -47,7 +47,11 @@ router.beforeEach(async (to, from, next) => {
globalStore.setUserId(window.location.href.split("userId=")[1].split("&")[0]); globalStore.setUserId(window.location.href.split("userId=")[1].split("&")[0]);
} }
if (freeSn) { if (freeSn) {
globalStore.setSN(window.location.href.split("sn=")[1]); let sn = window.location.href.split("sn=")[1];
console.log("进来了", sn);
sn.includes("&") && (sn = sn.split("&")[0]);
globalStore.setSN(sn);
} }
// let urlParams = new URLSearchParams(window.location.href.split('?')[1]); // let urlParams = new URLSearchParams(window.location.href.split('?')[1]);
// let params = {} as any; // let params = {} as any;

View File

@ -32,6 +32,7 @@ export const GlobalStore = defineStore({
// language // language
language: "", language: "",
path: null, path: null,
isIframe: false,
// themeConfig // themeConfig
themeConfig: { themeConfig: {
// 当前页面是否全屏 // 当前页面是否全屏
@ -83,6 +84,10 @@ export const GlobalStore = defineStore({
setProjectDateAuth(projectDateAuth: number | null) { setProjectDateAuth(projectDateAuth: number | null) {
this.projectDateAuth = projectDateAuth; this.projectDateAuth = projectDateAuth;
}, },
// 是否为iframe模式
setIsIframe(isIframe: boolean | null) {
this.isIframe = isIframe;
},
// 判断所属工程有没有校验 // 判断所属工程有没有校验
setIsManager(isManager: string | null) { setIsManager(isManager: string | null) {
this.isManager = isManager; this.isManager = isManager;

View File

@ -17,6 +17,8 @@ export interface GlobalState {
openDropdown: boolean | null; openDropdown: boolean | null;
path: string | null; path: string | null;
isManager: string | null; isManager: string | null;
isIframe: boolean | null;
userId: string | null;
} }
/* themeConfigProp */ /* themeConfigProp */

View File

@ -61,7 +61,7 @@ import { getVideoItemInfoPoliceCameraItemApi } from "@/api/modules/workTicket";
import { Close } from "@element-plus/icons-vue"; import { Close } from "@element-plus/icons-vue";
import moment from "moment"; import moment from "moment";
import dayjs from "dayjs"; import dayjs from "dayjs";
import { reactive, watch, onMounted, computed, nextTick } from "vue"; import { reactive, watch, onMounted, computed, nextTick, onBeforeUnmount } from "vue";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import loadingGif from "@/assets/images/iscImage/loading.gif"; import loadingGif from "@/assets/images/iscImage/loading.gif";
import errorPng from "@/assets/images/iscImage/text-to-image.png"; import errorPng from "@/assets/images/iscImage/text-to-image.png";
@ -576,6 +576,19 @@ onMounted(() => {
// ` // `
initPlayer(); initPlayer();
}); });
onBeforeUnmount(() => {
videoInfo.player.JS_Stop(0).then(
() => {
console.info("JS_Stop success");
// do you want...
},
(err) => {
console.info("JS_Stop failed:", err);
// do you want...
}
);
videoInfo.player = null;
});
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -220,6 +220,15 @@
</div> </div>
</div> </div>
</el-scrollbar> </el-scrollbar>
<el-pagination
class="pagerBox1"
background
:page-size="6"
style="justify-content: center"
@current-change="onCurrentChange"
layout="prev, pager, next"
:total="Number(policeCameraItemInfo.total)"
/>
<div class="content-right-bottom" v-if="!viewAllShow"> <div class="content-right-bottom" v-if="!viewAllShow">
<div class="right-bottom_header"> <div class="right-bottom_header">
<div>历史记录</div> <div>历史记录</div>
@ -549,9 +558,9 @@ const viewAllShow = ref(false);
const onViewAllClick = () => { const onViewAllClick = () => {
viewAllShow.value = !viewAllShow.value; viewAllShow.value = !viewAllShow.value;
if (viewAllShow.value) { if (viewAllShow.value) {
policeCameraItemInfo.pageSize = -1; policeCameraItemInfo.pageSize = policeCameraItemInfo.pageSize;
} else { } else {
policeCameraItemInfo.pageSize = -1; policeCameraItemInfo.pageSize = policeCameraItemInfo.pageSize;
} }
initPoliceCameraItemList(); initPoliceCameraItemList();
}; };
@ -675,7 +684,7 @@ const getWorkTicketHistoryList = () => {
const policeCameraItemInfo = reactive({ const policeCameraItemInfo = reactive({
pageNo: 1, pageNo: 1,
pageSize: -1, pageSize: 6,
total: 0 total: 0
}); });
const policeCameraItemList = ref([]); const policeCameraItemList = ref([]);
@ -684,6 +693,11 @@ const initPoliceCameraItemList = () => {
policeCameraItemList.value = []; policeCameraItemList.value = [];
getPoliceCameraItemPage(); getPoliceCameraItemPage();
}; };
const onCurrentChange = val => {
policeCameraItemInfo.pageNo = val;
policeCameraItemList.value = [];
getPoliceCameraItemPage();
};
// //
const getPoliceCameraItemPage = () => { const getPoliceCameraItemPage = () => {
const params = { const params = {
@ -1321,7 +1335,7 @@ const downloadFileBtn = (url, name) => {
} }
} }
.content-right_box-main { .content-right_box-main {
height: calc(100% - 32px - 182px - 34px - 12px); height: calc(100% - 32px - 182px - 34px - 12px - 32px);
} }
.content-right-top1 { .content-right-top1 {
display: flex; display: flex;
@ -1501,26 +1515,34 @@ const downloadFileBtn = (url, name) => {
width: 100% !important; width: 100% !important;
} }
.content-right_box-main1 { .content-right_box-main1 {
height: 100% !important; height: calc(100% - 32px) !important;
} }
.content-right-top2 { .content-right-top2 {
height: 100% !important; height: 100% !important;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
align-content: flex-start;
> div { > div {
width: 16% !important; width: 32% !important;
height: 195px; height: 350px;
background: url("@/assets/images/cardImg.png") no-repeat; background: url("@/assets/images/cardImg.png") no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
margin: 0 !important;
.hls-video {
height: 310px !important;
}
:deep(.sub-wnd) {
width: 100% !important;
}
} }
> div:not(:nth-child(6n + 1)) { > div:not(:nth-child(3n + 1)) {
margin-left: 10px !important; margin-left: 20px !important;
} }
> div:nth-child(n + 7) { > div:nth-child(n + 4) {
margin-top: 10px !important; margin-top: 20px !important;
} }
} }
} }

View File

@ -1,8 +1,8 @@
<template> <template>
<ScaleBox :width="1920" :height="1080" bgc="transparent" :delay="100" :isFlat="false" @scaleChange="scaleChange"> <ScaleBox :width="1920" :height="1080" bgc="transparent" :delay="100" :isFlat="false" @scaleChange="scaleChange">
<!-- <div class="container"> --> <!-- <div class="container"> -->
<div class="largeScreen" ref="dataScreenRef" style="width: 100%; height: 100%"> <div class="largeScreen" :class="{'largeScreen1': store.isIframe}" ref="dataScreenRef" style="width: 100%; height: 100%">
<div class="header" :class="!EntityMap.Mapswitch ? 'storeheader' : ''"> <div v-if="!store.isIframe" class="header" :class="!EntityMap.Mapswitch ? 'storeheader' : ''">
<!-- <div class="hearderIcon"><img src="@/assets/images/jxjLogo.png" alt="" /></div> --> <!-- <div class="hearderIcon"><img src="@/assets/images/jxjLogo.png" alt="" /></div> -->
<span class="projectTitle" v-if="!isEditTitle"> <span class="projectTitle" v-if="!isEditTitle">
<p>{{ projectTitle }}</p> <p>{{ projectTitle }}</p>
@ -675,14 +675,28 @@ onMounted(async () => {
if (window.location.href.indexOf("userId") != -1) { if (window.location.href.indexOf("userId") != -1) {
console.log("免登录跳转进来了吗----", window.location.href.indexOf("userId")); console.log("免登录跳转进来了吗----", window.location.href.indexOf("userId"));
const newUserId = window.location.href.split("userId=")[1].split("&")[0]; const newUserId = window.location.href.split("userId=")[1].split("&")[0];
const projectSn = window.location.href.split("sn=")[1].split("&")[0]; let projectSn = window.location.href.split("sn=")[1];
projectSn.includes("&") && (projectSn = projectSn.split("&")[0]);
let isIframe = window.location.href.split("isIframe=")[1];
if(isIframe){
isIframe.includes("&") && (isIframe = isIframe.split("&")[0]);
isIframe === "true" && (store.setIsIframe(true));
} else {
store.setIsIframe(false);
}
console.log("获取到的参数----", newUserId, projectSn, isIframe);
// return
const data: any = await jumpLargeByUserIdApi({ userId: newUserId }); const data: any = await jumpLargeByUserIdApi({ userId: newUserId });
console.log("跳转请求的数据----", data.result); console.log("跳转请求的数据----", data.result);
if (data.result.sn) { if (data.result.sn) {
const accountTypeList = [2, 3, 4, 7]; const accountTypeList = [2, 3, 4, 7];
const sn = accountTypeList.includes(data.result.accountType) ? projectSn : data.result.sn; const sn = accountTypeList.includes(data.result.accountType) ? projectSn : data.result.sn;
console.log("获取到的参数----1111", sn);
store.setSN(sn); store.setSN(sn);
} }
console.log("获取到的参数----", store.sn);
store.setToken(data.result.token); store.setToken(data.result.token);
store.setAccount(data.result.account); store.setAccount(data.result.account);
store.setAccountType(data.result.accountType); store.setAccountType(data.result.accountType);
@ -920,7 +934,9 @@ const handleScroll = (e: any) => {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.largeScreen1 {
margin-top: 130px;
}
.largeScreen { .largeScreen {
background: url("@/assets/images/bigImg.png") no-repeat; background: url("@/assets/images/bigImg.png") no-repeat;
background-size: 100% 100%; background-size: 100% 100%;

View File

@ -81,6 +81,12 @@ let typeList = ref([
dayType: "模板沉降", dayType: "模板沉降",
typeUnit: "mm", typeUnit: "mm",
key: "formworkSettlement" key: "formworkSettlement"
},
{
value: 6,
dayType: "水平倾斜",
typeUnit: "°",
key: "horizontalTilt"
} }
]); ]);

View File

@ -37,6 +37,7 @@
<div>横板沉降</div> <div>横板沉降</div>
<div>立杆倾斜</div> <div>立杆倾斜</div>
<div>地基沉降</div> <div>地基沉降</div>
<div>水平倾斜</div>
</div> </div>
<el-scrollbar class="list-box" ref="refScrollbar"> <el-scrollbar class="list-box" ref="refScrollbar">
<div v-for="(item, index) in list" class="list-style" :key="item.id"> <div v-for="(item, index) in list" class="list-style" :key="item.id">
@ -50,6 +51,7 @@
<div>{{ item.formworkSettlement }}</div> <div>{{ item.formworkSettlement }}</div>
<div>{{ item.poleTilt }}</div> <div>{{ item.poleTilt }}</div>
<div>{{ item.foundationSettlement }}</div> <div>{{ item.foundationSettlement }}</div>
<div>{{ item.horizontalTilt }}</div>
<!-- <div :style="{ width: '21%', color: formworkOption[item.formworkState].color }"> <!-- <div :style="{ width: '21%', color: formworkOption[item.formworkState].color }">
{{ formworkOption[item.formworkState].label }} {{ formworkOption[item.formworkState].label }}

View File

@ -35,6 +35,7 @@
<div>横板沉降</div> <div>横板沉降</div>
<div>立杆倾斜</div> <div>立杆倾斜</div>
<div>地基沉降</div> <div>地基沉降</div>
<div>水平倾斜</div>
</div> </div>
<el-scrollbar class="list-box" ref="refScrollbar"> <el-scrollbar class="list-box" ref="refScrollbar">
<div v-for="(item, index) in list" class="list-style" :key="item.id"> <div v-for="(item, index) in list" class="list-style" :key="item.id">
@ -47,6 +48,7 @@
<div>{{ item.formworkSettlement }}</div> <div>{{ item.formworkSettlement }}</div>
<div>{{ item.poleTilt }}</div> <div>{{ item.poleTilt }}</div>
<div>{{ item.foundationSettlement }}</div> <div>{{ item.foundationSettlement }}</div>
<div>{{ item.horizontalTilt }}</div>
<!-- <div :style="{ width: '21%', color: formworkOption[item.formworkState].color }"> <!-- <div :style="{ width: '21%', color: formworkOption[item.formworkState].color }">
{{ formworkOption[item.formworkState].label }} {{ formworkOption[item.formworkState].label }}