flx:优化
This commit is contained in:
parent
a33fc66663
commit
67323cf8df
10
debug.log
10
debug.log
@ -1,2 +1,8 @@
|
|||||||
[0524/103228.221:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2)
|
[0530/113505.640:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2)
|
||||||
[0530/171244.522:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2)
|
[0530/113508.674:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2)
|
||||||
|
[0530/141801.489:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2)
|
||||||
|
[0530/141801.943:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2)
|
||||||
|
[0929/090447.805:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2)
|
||||||
|
[0929/090447.874:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2)
|
||||||
|
[0929/090448.024:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2)
|
||||||
|
[0929/090501.978:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2)
|
||||||
|
|||||||
@ -16,8 +16,10 @@
|
|||||||
<!-- <i class="el-icon-user-solid"></i> -->
|
<!-- <i class="el-icon-user-solid"></i> -->
|
||||||
<el-image
|
<el-image
|
||||||
v-if="$store.state.userInfo.avatar"
|
v-if="$store.state.userInfo.avatar"
|
||||||
:src="$store.state.FILEURL + $store.state.userInfo.avatar"
|
:src="
|
||||||
style="width: 40px;height: 40px;border-radius: 50%;"
|
$store.state.FILEURL + $store.state.userInfo.avatar
|
||||||
|
"
|
||||||
|
style="width: 40px; height: 40px; border-radius: 50%"
|
||||||
>
|
>
|
||||||
<div slot="error" class="image-slot">
|
<div slot="error" class="image-slot">
|
||||||
<el-avatar
|
<el-avatar
|
||||||
@ -26,12 +28,22 @@
|
|||||||
></el-avatar>
|
></el-avatar>
|
||||||
</div>
|
</div>
|
||||||
</el-image>
|
</el-image>
|
||||||
<el-avatar size="large" icon="el-icon-user-solid" v-else></el-avatar>
|
<el-avatar
|
||||||
|
size="large"
|
||||||
|
icon="el-icon-user-solid"
|
||||||
|
v-else
|
||||||
|
></el-avatar>
|
||||||
<div style="margin-left: 10px">
|
<div style="margin-left: 10px">
|
||||||
<p>{{ $store.state.userInfo.companyName }}</p>
|
<p>{{ $store.state.userInfo.companyName }}</p>
|
||||||
<!-- 横琴和鹤洲不需要客服电话-->
|
<!-- 横琴和鹤洲不需要客服电话-->
|
||||||
<p v-if="projectType == 'common' || projectType == 'zjsj'">
|
<p
|
||||||
客服电话:{{ $store.state.userInfo.customerServicePhone }}
|
v-if="
|
||||||
|
projectType == 'common' || projectType == 'zjsj'
|
||||||
|
"
|
||||||
|
>
|
||||||
|
客服电话:{{
|
||||||
|
$store.state.userInfo.customerServicePhone
|
||||||
|
}}
|
||||||
</p>
|
</p>
|
||||||
<p
|
<p
|
||||||
v-if="
|
v-if="
|
||||||
@ -39,7 +51,9 @@
|
|||||||
$store.state.currentProDetail != null
|
$store.state.currentProDetail != null
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
入场码:{{ $store.state.currentProDetail.placeCode }}
|
入场码:{{
|
||||||
|
$store.state.currentProDetail.placeCode
|
||||||
|
}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -60,8 +74,10 @@
|
|||||||
class="width_100"
|
class="width_100"
|
||||||
@click="goto5()"
|
@click="goto5()"
|
||||||
v-if="
|
v-if="
|
||||||
$route.path.indexOf('/firm/projectManage') == -1 &&
|
$route.path.indexOf('/firm/') == -1 &&
|
||||||
![5, 6, 10].includes($store.state.userInfo.accountType)
|
![5, 6, 10].includes(
|
||||||
|
$store.state.userInfo.accountType
|
||||||
|
)
|
||||||
"
|
"
|
||||||
:title="enterpriseFront"
|
:title="enterpriseFront"
|
||||||
>
|
>
|
||||||
@ -78,8 +94,12 @@
|
|||||||
class="width_100"
|
class="width_100"
|
||||||
@click="goto2"
|
@click="goto2"
|
||||||
v-if="
|
v-if="
|
||||||
$route.path.indexOf('/companyAdmin/companyDiagram') == -1 &&
|
$route.path.indexOf(
|
||||||
![5, 6, 10].includes($store.state.userInfo.accountType)
|
'/companyAdmin/companyDiagram'
|
||||||
|
) == -1 &&
|
||||||
|
![5, 6, 10].includes(
|
||||||
|
$store.state.userInfo.accountType
|
||||||
|
)
|
||||||
"
|
"
|
||||||
:title="enterpriseBackground"
|
:title="enterpriseBackground"
|
||||||
>
|
>
|
||||||
@ -148,7 +168,10 @@
|
|||||||
<div
|
<div
|
||||||
class="width_100"
|
class="width_100"
|
||||||
@click="goto3"
|
@click="goto3"
|
||||||
v-if="$store.state.userInfo.systemLogoConfig?.showFileCenter == 1"
|
v-if="
|
||||||
|
$store.state.userInfo.systemLogoConfig
|
||||||
|
?.showFileCenter == 1
|
||||||
|
"
|
||||||
:title="dataCenter"
|
:title="dataCenter"
|
||||||
>
|
>
|
||||||
<!-- <img src="@/assets/images/zlzx.png" width="15px" height="15px" /> -->
|
<!-- <img src="@/assets/images/zlzx.png" width="15px" height="15px" /> -->
|
||||||
@ -166,30 +189,39 @@
|
|||||||
@click="goto6()"
|
@click="goto6()"
|
||||||
v-if="
|
v-if="
|
||||||
$route.path.indexOf('/firm/projectManage') == -1 &&
|
$route.path.indexOf('/firm/projectManage') == -1 &&
|
||||||
$store.state.userInfo.systemLogoConfig.isShowProjectFront == 1 &&
|
$store.state.userInfo.systemLogoConfig
|
||||||
|
.isShowProjectFront == 1 &&
|
||||||
[5, 6].includes($store.state.userInfo.accountType)
|
[5, 6].includes($store.state.userInfo.accountType)
|
||||||
"
|
"
|
||||||
:title="projectFront"
|
:title="projectFront"
|
||||||
>
|
>
|
||||||
<img src="@/assets/images/xmht.png" width="15px" height="15px" />
|
<img
|
||||||
|
src="@/assets/images/xmht.png"
|
||||||
|
width="15px"
|
||||||
|
height="15px"
|
||||||
|
/>
|
||||||
<span>{{ projectFront }}</span>
|
<span>{{ projectFront }}</span>
|
||||||
</div>
|
</div>
|
||||||
<!-- 数据看板 -->
|
<!-- 数据看板 -->
|
||||||
<div
|
<div
|
||||||
class="width_100"
|
class="width_100"
|
||||||
@click="toOverview()"
|
@click="toOverview()"
|
||||||
v-if="
|
v-if="$route.path.indexOf('/projectList') == -1"
|
||||||
$route.path.indexOf('/projectList') == -1
|
|
||||||
"
|
|
||||||
title="数据看板"
|
title="数据看板"
|
||||||
>
|
>
|
||||||
<img src="@/assets/images/xmht.png" width="15px" height="15px" />
|
<img
|
||||||
|
src="@/assets/images/xmht.png"
|
||||||
|
width="15px"
|
||||||
|
height="15px"
|
||||||
|
/>
|
||||||
<span>数据看板</span>
|
<span>数据看板</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex2 logout" v-if="!$store.state.uid">
|
<div class="flex2 logout" v-if="!$store.state.uid">
|
||||||
<span @click="loginOut">{{ $t("message.login.logout") }}</span>
|
<span @click="loginOut">{{
|
||||||
|
$t("message.login.logout")
|
||||||
|
}}</span>
|
||||||
<span @click="updatePw">修改密码</span>
|
<span @click="updatePw">修改密码</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -213,11 +245,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {
|
import { getNewUserAllModulePageApi } from "@/assets/js/api/jxjadmin.js";
|
||||||
getNewUserAllModulePageApi,
|
|
||||||
} from "@/assets/js/api/jxjadmin.js";
|
|
||||||
import { getProjectDetail } from "@/assets/js/api/baseInfo.js";
|
import { getProjectDetail } from "@/assets/js/api/baseInfo.js";
|
||||||
import { getScreenAuthModuleAndMenuApi } from '@/assets/js/api/jxjadmin.js'
|
import { getScreenAuthModuleAndMenuApi } from "@/assets/js/api/jxjadmin.js";
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -280,19 +310,19 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async getAuthModuleAndMenu() {
|
async getAuthModuleAndMenu() {
|
||||||
let bool = false
|
let bool = false;
|
||||||
const res = await getScreenAuthModuleAndMenuApi()
|
const res = await getScreenAuthModuleAndMenuApi();
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
bool = res.result.length ? true : false
|
bool = res.result.length ? true : false;
|
||||||
}
|
}
|
||||||
return bool
|
return bool;
|
||||||
},
|
},
|
||||||
toOverview() {
|
toOverview() {
|
||||||
console.info(this.$store.state.userInfo.accountType,'----')
|
console.info(this.$store.state.userInfo.accountType, "----");
|
||||||
if (![5, 6, 10].includes(this.$store.state.userInfo.accountType)) {
|
if (![5, 6, 10].includes(this.$store.state.userInfo.accountType)) {
|
||||||
return this.goProjectBackstage()
|
return this.goProjectBackstage();
|
||||||
}
|
}
|
||||||
this.toOverview2()
|
this.toOverview2();
|
||||||
},
|
},
|
||||||
async toOverview2() {
|
async toOverview2() {
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
@ -304,7 +334,7 @@ export default {
|
|||||||
// type: "warning",
|
// type: "warning",
|
||||||
// });
|
// });
|
||||||
// } else {
|
// } else {
|
||||||
const isPermission = await this.getAuthModuleAndMenu()
|
const isPermission = await this.getAuthModuleAndMenu();
|
||||||
if (!isPermission && !this.newBigScreen) {
|
if (!isPermission && !this.newBigScreen) {
|
||||||
return this.$message({
|
return this.$message({
|
||||||
message: "当前用户没有访问数据看板权限",
|
message: "当前用户没有访问数据看板权限",
|
||||||
@ -315,7 +345,14 @@ export default {
|
|||||||
//-------------------- 跳转新版七参数
|
//-------------------- 跳转新版七参数
|
||||||
this.jumpToken = localStorage.getItem("jumpToken");
|
this.jumpToken = localStorage.getItem("jumpToken");
|
||||||
let userId = this.$store.state.userInfo.userId;
|
let userId = this.$store.state.userInfo.userId;
|
||||||
window.open(this.newBigScreen + "?userId=" + userId + '&sn=' + this.$store.state.projectSn, "_self");
|
window.open(
|
||||||
|
this.newBigScreen +
|
||||||
|
"?userId=" +
|
||||||
|
userId +
|
||||||
|
"&sn=" +
|
||||||
|
this.$store.state.projectSn,
|
||||||
|
"_self"
|
||||||
|
);
|
||||||
// window.open('http://192.168.34.216:8081/#/large?userId=' + userId + '&sn=' + this.$store.state.projectSn, "_self")//这里是后台跳到大屏的操作,携带token过去
|
// window.open('http://192.168.34.216:8081/#/large?userId=' + userId + '&sn=' + this.$store.state.projectSn, "_self")//这里是后台跳到大屏的操作,携带token过去
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
@ -325,8 +362,13 @@ export default {
|
|||||||
};
|
};
|
||||||
await getProjectDetail(data).then((res) => {
|
await getProjectDetail(data).then((res) => {
|
||||||
if (res.result) {
|
if (res.result) {
|
||||||
|
if (res.result.newBigScreen) {
|
||||||
this.newBigScreen = res.result.newBigScreen;
|
this.newBigScreen = res.result.newBigScreen;
|
||||||
console.log("接口获取数据看板地址", this.newBigScreen);
|
console.log("接口获取数据看板地址", this.newBigScreen);
|
||||||
|
} else {
|
||||||
|
this.newBigScreen = "/bigscreen/#/large";
|
||||||
|
console.log("获取默认地址", this.newBigScreen);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -362,7 +404,10 @@ export default {
|
|||||||
window.open("/#" + menuList[0].modulePath, "_self");
|
window.open("/#" + menuList[0].modulePath, "_self");
|
||||||
// 南昌项目打开的是/index.html#/ 的页面
|
// 南昌项目打开的是/index.html#/ 的页面
|
||||||
if (COMPANY == "nanchang") {
|
if (COMPANY == "nanchang") {
|
||||||
window.open("/index.html#" + menuList[0].modulePath, "_self");
|
window.open(
|
||||||
|
"/index.html#" + menuList[0].modulePath,
|
||||||
|
"_self"
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
window.open("/#" + menuList[0].modulePath, "_self");
|
window.open("/#" + menuList[0].modulePath, "_self");
|
||||||
}
|
}
|
||||||
@ -372,7 +417,12 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
window.open(routeUrl.href, "_self");
|
window.open(routeUrl.href, "_self");
|
||||||
window._paq.push(["trackEvent", "点击", "企业后台", "进入企业后台"]);
|
window._paq.push([
|
||||||
|
"trackEvent",
|
||||||
|
"点击",
|
||||||
|
"企业后台",
|
||||||
|
"进入企业后台",
|
||||||
|
]);
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning("您没有企业后台的权限!");
|
this.$message.warning("您没有企业后台的权限!");
|
||||||
}
|
}
|
||||||
@ -398,7 +448,12 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
window.open(routeUrl.href, "_self");
|
window.open(routeUrl.href, "_self");
|
||||||
window._paq.push(["trackEvent", "点击", "资料中心", "进入资料中心"]);
|
window._paq.push([
|
||||||
|
"trackEvent",
|
||||||
|
"点击",
|
||||||
|
"资料中心",
|
||||||
|
"进入资料中心",
|
||||||
|
]);
|
||||||
},
|
},
|
||||||
goto4() {
|
goto4() {
|
||||||
window.open("/equipmentCenter.html#/equipmentCenterIndx", "_blank");
|
window.open("/equipmentCenter.html#/equipmentCenterIndx", "_blank");
|
||||||
@ -452,9 +507,13 @@ export default {
|
|||||||
//企业退出拼接sn
|
//企业退出拼接sn
|
||||||
const baseUrl = "/#"; // 设置新的登录地址的基础URL
|
const baseUrl = "/#"; // 设置新的登录地址的基础URL
|
||||||
const query =
|
const query =
|
||||||
"?&headquartersSn=" + this.$store.state.userInfo.headquartersSn; // 设置要拼接的参数
|
"?&headquartersSn=" +
|
||||||
|
this.$store.state.userInfo.headquartersSn; // 设置要拼接的参数
|
||||||
const loginUrl = `${baseUrl}/login${query}`; // 拼接登录地址
|
const loginUrl = `${baseUrl}/login${query}`; // 拼接登录地址
|
||||||
console.log(this.$route.path.indexOf("/projectIndex") == 0, "退出登录");
|
console.log(
|
||||||
|
this.$route.path.indexOf("/projectIndex") == 0,
|
||||||
|
"退出登录"
|
||||||
|
);
|
||||||
window.open(loginUrl, "_self");
|
window.open(loginUrl, "_self");
|
||||||
// this.$router.go();
|
// this.$router.go();
|
||||||
// if( this.$route.path.indexOf('/projectIndex') == 0 ) {
|
// if( this.$route.path.indexOf('/projectIndex') == 0 ) {
|
||||||
@ -487,7 +546,12 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
window.open(routeUrl.href, "_self");
|
window.open(routeUrl.href, "_self");
|
||||||
window._paq.push(["trackEvent", "点击", "项目后台", "进入项目后台"]);
|
window._paq.push([
|
||||||
|
"trackEvent",
|
||||||
|
"点击",
|
||||||
|
"项目后台",
|
||||||
|
"进入项目后台",
|
||||||
|
]);
|
||||||
},
|
},
|
||||||
//去设备中台
|
//去设备中台
|
||||||
goDevcenter(value) {
|
goDevcenter(value) {
|
||||||
@ -495,8 +559,16 @@ export default {
|
|||||||
let type = this.$store.state.userInfo.accountType;
|
let type = this.$store.state.userInfo.accountType;
|
||||||
// this.$store.commit("setProjectSn", value.projectSn);
|
// this.$store.commit("setProjectSn", value.projectSn);
|
||||||
if (type == 5 || type == 6 || type == 10) {
|
if (type == 5 || type == 6 || type == 10) {
|
||||||
window.open("/equipmentCenter.html#/equipmentCenterIndx", "_self");
|
window.open(
|
||||||
window._paq.push(["trackEvent", "点击", "设备中台", "进入设备中台"]);
|
"/equipmentCenter.html#/equipmentCenterIndx",
|
||||||
|
"_self"
|
||||||
|
);
|
||||||
|
window._paq.push([
|
||||||
|
"trackEvent",
|
||||||
|
"点击",
|
||||||
|
"设备中台",
|
||||||
|
"进入设备中台",
|
||||||
|
]);
|
||||||
} else {
|
} else {
|
||||||
routeUrl = this.$router.resolve({
|
routeUrl = this.$router.resolve({
|
||||||
path: "/projectList",
|
path: "/projectList",
|
||||||
|
|||||||
@ -25,7 +25,10 @@
|
|||||||
:content="`${recordingBegin ? '结束' : '开始'}录制`"
|
:content="`${recordingBegin ? '结束' : '开始'}录制`"
|
||||||
placement="top"
|
placement="top"
|
||||||
>
|
>
|
||||||
<div class="bgImage transcribe" @click="isTranscribe(i)"></div>
|
<div
|
||||||
|
class="bgImage transcribe"
|
||||||
|
@click="isTranscribe(i)"
|
||||||
|
></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip
|
<el-tooltip
|
||||||
class="item"
|
class="item"
|
||||||
@ -33,7 +36,10 @@
|
|||||||
:content="`抓图`"
|
:content="`抓图`"
|
||||||
placement="top"
|
placement="top"
|
||||||
>
|
>
|
||||||
<div class="bgImage screenshot" @click="capture('JPEG', i)"></div>
|
<div
|
||||||
|
class="bgImage screenshot"
|
||||||
|
@click="capture('JPEG', i)"
|
||||||
|
></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
|
||||||
<!-- <div>流畅</div> -->
|
<!-- <div>流畅</div> -->
|
||||||
@ -57,7 +63,9 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="bgImage"
|
class="bgImage"
|
||||||
:class="isFullScreen ? 'exitFullScreen' : 'fullScreen'"
|
:class="
|
||||||
|
isFullScreen ? 'exitFullScreen' : 'fullScreen'
|
||||||
|
"
|
||||||
@click="singleFullScreen(i)"
|
@click="singleFullScreen(i)"
|
||||||
></div>
|
></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
@ -65,13 +73,28 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="player-tool">
|
<div class="player-tool">
|
||||||
<el-tooltip class="item" effect="dark" :content="`默认`" placement="top">
|
<el-tooltip
|
||||||
|
class="item"
|
||||||
|
effect="dark"
|
||||||
|
:content="`默认`"
|
||||||
|
placement="top"
|
||||||
|
>
|
||||||
<div class="bgImage splitscreen1" @click="onTwoSubmit(1)"></div>
|
<div class="bgImage splitscreen1" @click="onTwoSubmit(1)"></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip class="item" effect="dark" :content="`2x2`" placement="top">
|
<el-tooltip
|
||||||
|
class="item"
|
||||||
|
effect="dark"
|
||||||
|
:content="`2x2`"
|
||||||
|
placement="top"
|
||||||
|
>
|
||||||
<div class="bgImage splitscreen2" @click="onTwoSubmit(2)"></div>
|
<div class="bgImage splitscreen2" @click="onTwoSubmit(2)"></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip class="item" effect="dark" :content="`4x4`" placement="top">
|
<el-tooltip
|
||||||
|
class="item"
|
||||||
|
effect="dark"
|
||||||
|
:content="`4x4`"
|
||||||
|
placement="top"
|
||||||
|
>
|
||||||
<div class="bgImage splitscreen3" @click="onTwoSubmit(4)"></div>
|
<div class="bgImage splitscreen3" @click="onTwoSubmit(4)"></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip
|
<el-tooltip
|
||||||
@ -139,11 +162,14 @@ export default {
|
|||||||
this.play(item, this.iWndIndex);
|
this.play(item, this.iWndIndex);
|
||||||
} else if (a.length == 1) {
|
} else if (a.length == 1) {
|
||||||
this.play(item, this.iWndIndex);
|
this.play(item, this.iWndIndex);
|
||||||
|
this.devH5List.push(item);
|
||||||
} else {
|
} else {
|
||||||
this.play(item, index);
|
this.play(item, index);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
if (a.length > 1) {
|
||||||
this.devH5List = a;
|
this.devH5List = a;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -164,8 +190,14 @@ export default {
|
|||||||
`#player #player-container-${index}`
|
`#player #player-container-${index}`
|
||||||
);
|
);
|
||||||
if (wnd) {
|
if (wnd) {
|
||||||
const controls = document.getElementById(`controls-${index + 1}`);
|
const controls = document.getElementById(
|
||||||
wnd.removeChild(controls);
|
`controls-${index + 1}`
|
||||||
|
);
|
||||||
|
if (controls) {
|
||||||
|
controls.classList.remove(
|
||||||
|
"video-controls_flex"
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.devH5List = [];
|
this.devH5List = [];
|
||||||
@ -176,7 +208,7 @@ export default {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
// 关闭单个
|
// 关闭单个
|
||||||
stopPlay(currentWindowIndex) {
|
stopPlay(currentWindowIndex, type) {
|
||||||
this.player.JS_Stop(currentWindowIndex - 1).then(
|
this.player.JS_Stop(currentWindowIndex - 1).then(
|
||||||
() => {
|
() => {
|
||||||
this.playback.rate = 0;
|
this.playback.rate = 0;
|
||||||
@ -188,7 +220,10 @@ export default {
|
|||||||
const controls = document.getElementById(
|
const controls = document.getElementById(
|
||||||
`controls-${currentWindowIndex}`
|
`controls-${currentWindowIndex}`
|
||||||
);
|
);
|
||||||
wnd.removeChild(controls);
|
if (controls) {
|
||||||
|
controls.classList.remove("video-controls_flex");
|
||||||
|
}
|
||||||
|
if (type == "delete") return;
|
||||||
this.devH5List.splice(currentWindowIndex - 1, 1);
|
this.devH5List.splice(currentWindowIndex - 1, 1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -351,7 +386,12 @@ export default {
|
|||||||
},
|
},
|
||||||
pluginErrorHandler: function (iWndIndex, iErrorCode, oError) {
|
pluginErrorHandler: function (iWndIndex, iErrorCode, oError) {
|
||||||
//插件错误回调
|
//插件错误回调
|
||||||
console.log("pluginError callback: ", iWndIndex, iErrorCode, oError);
|
console.log(
|
||||||
|
"pluginError callback: ",
|
||||||
|
iWndIndex,
|
||||||
|
iErrorCode,
|
||||||
|
oError
|
||||||
|
);
|
||||||
},
|
},
|
||||||
windowEventOver: function (iWndIndex) {
|
windowEventOver: function (iWndIndex) {
|
||||||
//鼠标移过回调
|
//鼠标移过回调
|
||||||
@ -374,6 +414,11 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (controls) {
|
if (controls) {
|
||||||
|
console.log(
|
||||||
|
888777,
|
||||||
|
iWndIndex,
|
||||||
|
_this.devH5List.length - 1
|
||||||
|
);
|
||||||
if (iWndIndex > _this.devH5List.length - 1) return;
|
if (iWndIndex > _this.devH5List.length - 1) return;
|
||||||
controls.classList.add("video-controls_flex");
|
controls.classList.add("video-controls_flex");
|
||||||
}
|
}
|
||||||
@ -436,7 +481,10 @@ export default {
|
|||||||
},
|
},
|
||||||
InterruptStream: (iWndIndex, iTime) => {
|
InterruptStream: (iWndIndex, iTime) => {
|
||||||
console.log(
|
console.log(
|
||||||
"recv InterruptStream: " + iWndIndex + ", iTime:" + iTime
|
"recv InterruptStream: " +
|
||||||
|
iWndIndex +
|
||||||
|
", iTime:" +
|
||||||
|
iTime
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
ElementChanged: (iWndIndex, szElementType) => {
|
ElementChanged: (iWndIndex, szElementType) => {
|
||||||
@ -460,7 +508,8 @@ export default {
|
|||||||
let tempCode = row.serialNumber;
|
let tempCode = row.serialNumber;
|
||||||
const param = {
|
const param = {
|
||||||
cameraIndexCode: tempCode,
|
cameraIndexCode: tempCode,
|
||||||
streamType: row.defaultStreamType == 2 ? 0 : row.defaultStreamType,
|
streamType:
|
||||||
|
row.defaultStreamType == 2 ? 0 : row.defaultStreamType,
|
||||||
type: "ws",
|
type: "ws",
|
||||||
transmode: 1,
|
transmode: 1,
|
||||||
itemId: row.itemId,
|
itemId: row.itemId,
|
||||||
@ -474,6 +523,7 @@ export default {
|
|||||||
*/
|
*/
|
||||||
play(row, index) {
|
play(row, index) {
|
||||||
const _this = this;
|
const _this = this;
|
||||||
|
this.stopPlay(index + 1, "delete");
|
||||||
this.getPreviewUrl({
|
this.getPreviewUrl({
|
||||||
...row,
|
...row,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
@ -481,6 +531,32 @@ export default {
|
|||||||
_this.$message.warning("获取视频流失败!");
|
_this.$message.warning("获取视频流失败!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// 视频添加加载中图片
|
||||||
|
const id = "player-container-" + index;
|
||||||
|
var d1 = document.getElementById(id); //获取div元素
|
||||||
|
d1.childNodes.forEach((item) => {
|
||||||
|
if (item.nodeName == "" || item.nodeName == "IMG") {
|
||||||
|
d1.removeChild(item);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var im = document.createElement("img"); //创建图片
|
||||||
|
im.src = require("@/assets/images/iscImage/loading.gif");
|
||||||
|
//图片设置成和div一样大小
|
||||||
|
const divHeightNum = d1.style.height.slice(
|
||||||
|
0,
|
||||||
|
d1.style.height.length - 2
|
||||||
|
);
|
||||||
|
// const imgHeightNum = divHeightNum * 0.2
|
||||||
|
const imgHeightNum = 256;
|
||||||
|
im.style.width = imgHeightNum + "px";
|
||||||
|
im.style.height = imgHeightNum + "px";
|
||||||
|
im.style.position = "absolute";
|
||||||
|
im.style.top = "50%";
|
||||||
|
im.style.left = "50%";
|
||||||
|
const positionNum = imgHeightNum / 2 - imgHeightNum;
|
||||||
|
im.style.marginLeft = positionNum + "px";
|
||||||
|
im.style.marginTop = positionNum + "px";
|
||||||
|
d1.appendChild(im); //图片挂载到div上
|
||||||
let preUrl = res.result.videoInfo.url;
|
let preUrl = res.result.videoInfo.url;
|
||||||
const param = {
|
const param = {
|
||||||
playURL: preUrl,
|
playURL: preUrl,
|
||||||
@ -493,11 +569,22 @@ export default {
|
|||||||
}
|
}
|
||||||
_this.player.JS_Play(preUrl, param, index).then(
|
_this.player.JS_Play(preUrl, param, index).then(
|
||||||
() => {
|
() => {
|
||||||
|
console.log(d1.childNodes);
|
||||||
// 播放成功回调
|
// 播放成功回调
|
||||||
|
d1.removeChild(d1.childNodes[d1.childNodes.length - 1]);
|
||||||
console.log("播放成功");
|
console.log("播放成功");
|
||||||
},
|
},
|
||||||
(err) => {
|
(err) => {
|
||||||
console.log("播放失败");
|
console.log("播放失败");
|
||||||
|
im.src = require("@/assets/images/iscImage/text-to-image.png");
|
||||||
|
const imgHeightNum = 20;
|
||||||
|
const imgWidthNum = 150;
|
||||||
|
im.style.width = imgWidthNum + "px";
|
||||||
|
im.style.height = imgHeightNum + "px";
|
||||||
|
const positionNum = imgHeightNum / 2 - imgHeightNum;
|
||||||
|
const positionWidthNum = imgWidthNum / 2 - imgWidthNum;
|
||||||
|
im.style.marginLeft = positionWidthNum + "px";
|
||||||
|
im.style.marginTop = positionNum + "px";
|
||||||
// _this.devH5List.splice(index, 1);
|
// _this.devH5List.splice(index, 1);
|
||||||
// _this.stopPlay(index);
|
// _this.stopPlay(index);
|
||||||
}
|
}
|
||||||
@ -671,3 +758,4 @@ export default {
|
|||||||
gap: 10px;
|
gap: 10px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@ -1010,7 +1010,7 @@
|
|||||||
"
|
"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="currentVideoTypeDetail.password"
|
v-model="currentVideoTypeDetail.port"
|
||||||
:placeholder="$t('message.videoManage.placeholder')"
|
:placeholder="$t('message.videoManage.placeholder')"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -1917,8 +1917,8 @@ export default {
|
|||||||
this.getProjectVideoConfigList();
|
this.getProjectVideoConfigList();
|
||||||
this.Popup.accountServer = true;
|
this.Popup.accountServer = true;
|
||||||
this.currentVideoTypeDetail.account = this.currentVideoTypeDetail.account;
|
this.currentVideoTypeDetail.account = this.currentVideoTypeDetail.account;
|
||||||
this.currentVideoTypeDetail.password =
|
this.currentVideoTypeDetail.port =
|
||||||
this.currentVideoTypeDetail.password;
|
this.currentVideoTypeDetail.port;
|
||||||
this.currentVideoTypeDetail.appId = this.currentVideoTypeDetail.appId;
|
this.currentVideoTypeDetail.appId = this.currentVideoTypeDetail.appId;
|
||||||
this.currentVideoTypeDetail.appSecret =
|
this.currentVideoTypeDetail.appSecret =
|
||||||
this.currentVideoTypeDetail.appSecret;
|
this.currentVideoTypeDetail.appSecret;
|
||||||
@ -2237,12 +2237,31 @@ export default {
|
|||||||
this.addGroupDialog = true;
|
this.addGroupDialog = true;
|
||||||
this.addGroupForm = JSON.parse(JSON.stringify(item));
|
this.addGroupForm = JSON.parse(JSON.stringify(item));
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (this.addGroupForm.parentObj) {
|
const find = this.findNodeById(this.videoTreeData, item.parentId);
|
||||||
this.selectVal = JSON.parse(this.addGroupForm.parentObj).groupName;
|
if(find) {
|
||||||
|
this.selectVal = find.groupName;
|
||||||
this.$refs.groupTree.setCurrentKey(this.addGroupForm.parentId);
|
this.$refs.groupTree.setCurrentKey(this.addGroupForm.parentId);
|
||||||
}
|
}
|
||||||
|
// if (this.addGroupForm.parentObj) {
|
||||||
|
// this.selectVal = JSON.parse(this.addGroupForm.parentObj).groupName;
|
||||||
|
// this.$refs.groupTree.setCurrentKey(this.addGroupForm.parentId);
|
||||||
|
// }
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
findNodeById(node, id) {
|
||||||
|
const find = node.find((item) => item.id === id);
|
||||||
|
if (find) {
|
||||||
|
return find;
|
||||||
|
}
|
||||||
|
for (let child of node) {
|
||||||
|
if (child.children && child.children.length > 0) {
|
||||||
|
const found = this.findNodeById(child.children, id);
|
||||||
|
if (found) return found;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
},
|
||||||
deleteGroupFn(item) {
|
deleteGroupFn(item) {
|
||||||
// 确定删除分组
|
// 确定删除分组
|
||||||
this.$confirm(
|
this.$confirm(
|
||||||
@ -2607,17 +2626,23 @@ export default {
|
|||||||
? obj.enterpriseIds.split(",")
|
? obj.enterpriseIds.split(",")
|
||||||
: [];
|
: [];
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (this.currentVideoTypeDetail.parentObj) {
|
const find = this.findNodeById(this.videoTreeData, obj.groupId);
|
||||||
this.selectFormVal = JSON.parse(
|
if(find) {
|
||||||
this.currentVideoTypeDetail.parentObj
|
this.selectFormVal = find.groupName;
|
||||||
).groupName;
|
this.$refs.groupTree.setCurrentKey(this.currentVideoTypeDetail.groupId);
|
||||||
this.selectFormTreeData = JSON.parse(
|
|
||||||
this.currentVideoTypeDetail.parentObj
|
|
||||||
);
|
|
||||||
this.$refs.groupFormTree.setCurrentKey(
|
|
||||||
this.currentVideoTypeDetail.parentId
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if (this.currentVideoTypeDetail.parentObj) {
|
||||||
|
// this.selectFormVal = JSON.parse(
|
||||||
|
// this.currentVideoTypeDetail.parentObj
|
||||||
|
// ).groupName;
|
||||||
|
// this.selectFormTreeData = JSON.parse(
|
||||||
|
// this.currentVideoTypeDetail.parentObj
|
||||||
|
// );
|
||||||
|
// this.$refs.groupFormTree.setCurrentKey(
|
||||||
|
// this.currentVideoTypeDetail.parentId
|
||||||
|
// );
|
||||||
|
// }
|
||||||
});
|
});
|
||||||
console.log("编辑内容", obj);
|
console.log("编辑内容", obj);
|
||||||
},
|
},
|
||||||
|
|||||||
@ -429,7 +429,7 @@
|
|||||||
<el-table-column label="操作" align="center" width="180">
|
<el-table-column label="操作" align="center" width="180">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div class="operation-style">
|
<div class="operation-style">
|
||||||
<el-button @click.stop="previewUrl(scope.row)" type="text">
|
<el-button @click.stop="previewFn(scope.row)" type="text">
|
||||||
<i class="el-icon-view"></i>
|
<i class="el-icon-view"></i>
|
||||||
预览
|
预览
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -476,7 +476,7 @@
|
|||||||
<el-table-column label="操作" align="center" width="180">
|
<el-table-column label="操作" align="center" width="180">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div class="operation-style">
|
<div class="operation-style">
|
||||||
<el-button @click.stop="previewUrl(scope.row)" type="text">
|
<el-button @click.stop="previewFn(scope.row)" type="text">
|
||||||
<i class="el-icon-view"></i>
|
<i class="el-icon-view"></i>
|
||||||
预览
|
预览
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|||||||
@ -25,7 +25,10 @@
|
|||||||
:content="`${recordingBegin ? '结束' : '开始'}录制`"
|
:content="`${recordingBegin ? '结束' : '开始'}录制`"
|
||||||
placement="top"
|
placement="top"
|
||||||
>
|
>
|
||||||
<div class="bgImage transcribe" @click="isTranscribe(i)"></div>
|
<div
|
||||||
|
class="bgImage transcribe"
|
||||||
|
@click="isTranscribe(i)"
|
||||||
|
></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip
|
<el-tooltip
|
||||||
class="item"
|
class="item"
|
||||||
@ -33,7 +36,10 @@
|
|||||||
:content="`抓图`"
|
:content="`抓图`"
|
||||||
placement="top"
|
placement="top"
|
||||||
>
|
>
|
||||||
<div class="bgImage screenshot" @click="capture('JPEG', i)"></div>
|
<div
|
||||||
|
class="bgImage screenshot"
|
||||||
|
@click="capture('JPEG', i)"
|
||||||
|
></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
|
||||||
<!-- <div>流畅</div> -->
|
<!-- <div>流畅</div> -->
|
||||||
@ -57,7 +63,9 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="bgImage"
|
class="bgImage"
|
||||||
:class="isFullScreen ? 'exitFullScreen' : 'fullScreen'"
|
:class="
|
||||||
|
isFullScreen ? 'exitFullScreen' : 'fullScreen'
|
||||||
|
"
|
||||||
@click="singleFullScreen(i)"
|
@click="singleFullScreen(i)"
|
||||||
></div>
|
></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
@ -98,7 +106,10 @@
|
|||||||
<div class="ant-radio-group3">
|
<div class="ant-radio-group3">
|
||||||
<!-- 时间筛选 -->
|
<!-- 时间筛选 -->
|
||||||
<div class="Progress_timeline">
|
<div class="Progress_timeline">
|
||||||
<div class="Progress_timelineLeft" @click="onClickOffsetX('left')">
|
<div
|
||||||
|
class="Progress_timelineLeft"
|
||||||
|
@click="onClickOffsetX('left')"
|
||||||
|
>
|
||||||
<i class="el-icon-arrow-left"></i>
|
<i class="el-icon-arrow-left"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="Progress_timelineCenterWrap">
|
<div class="Progress_timelineCenterWrap">
|
||||||
@ -152,7 +163,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="Progress_timelineRight" @click="onClickOffsetX('right')">
|
<div
|
||||||
|
class="Progress_timelineRight"
|
||||||
|
@click="onClickOffsetX('right')"
|
||||||
|
>
|
||||||
<i class="el-icon-arrow-right"></i>
|
<i class="el-icon-arrow-right"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -223,16 +237,19 @@ export default {
|
|||||||
devList: function (a, b) {
|
devList: function (a, b) {
|
||||||
console.log("isc_plugin.vue获取到设备列表", a, b, this.devH5List);
|
console.log("isc_plugin.vue获取到设备列表", a, b, this.devH5List);
|
||||||
//a是value的新值,b是旧值
|
//a是value的新值,b是旧值
|
||||||
a.forEach((item) => {
|
a.forEach((item, index) => {
|
||||||
if (this.numCount == 1) {
|
if (this.numCount == 1) {
|
||||||
this.play(item, this.iWndIndex);
|
this.play(item, this.iWndIndex);
|
||||||
} else if (a.length == 1) {
|
} else if (a.length == 1) {
|
||||||
this.play(item, this.iWndIndex);
|
this.play(item, this.iWndIndex);
|
||||||
|
this.devH5List.push(item);
|
||||||
} else {
|
} else {
|
||||||
this.play(item, index);
|
this.play(item, index);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
if (a.length > 1) {
|
||||||
this.devH5List = a;
|
this.devH5List = a;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
isReplayNum: function (newVal, oldVal) {
|
isReplayNum: function (newVal, oldVal) {
|
||||||
console.log("新的值", newVal);
|
console.log("新的值", newVal);
|
||||||
@ -259,7 +276,8 @@ export default {
|
|||||||
// 左右偏移
|
// 左右偏移
|
||||||
onClickOffsetX(position) {
|
onClickOffsetX(position) {
|
||||||
// 内容的宽度
|
// 内容的宽度
|
||||||
const timeWidth = document.querySelector(".Progress_time").offsetWidth;
|
const timeWidth =
|
||||||
|
document.querySelector(".Progress_time").offsetWidth;
|
||||||
// 内容的宽度
|
// 内容的宽度
|
||||||
const width = document.querySelector(".Progress_cover").offsetWidth;
|
const width = document.querySelector(".Progress_cover").offsetWidth;
|
||||||
// console.log(timeWidth, width, (width / timeWidth) * 100)
|
// console.log(timeWidth, width, (width / timeWidth) * 100)
|
||||||
@ -310,7 +328,8 @@ export default {
|
|||||||
);
|
);
|
||||||
// console.log(this.videoInfo.translateX)
|
// console.log(this.videoInfo.translateX)
|
||||||
} else if (event.offsetX <= arrowWidth / 2 - placeholderWidth) {
|
} else if (event.offsetX <= arrowWidth / 2 - placeholderWidth) {
|
||||||
this.videoInfo.translateX = 50 - (event.offsetX / arrowWidth) * 100;
|
this.videoInfo.translateX =
|
||||||
|
50 - (event.offsetX / arrowWidth) * 100;
|
||||||
// console.log(this.videoInfo.translateX, event.offsetX, arrowWidth, placeholderWidth)
|
// console.log(this.videoInfo.translateX, event.offsetX, arrowWidth, placeholderWidth)
|
||||||
} else {
|
} else {
|
||||||
this.videoInfo.translateX = 0;
|
this.videoInfo.translateX = 0;
|
||||||
@ -353,7 +372,11 @@ export default {
|
|||||||
const currentTime = dayjs(this.videoInfo.minuteTime);
|
const currentTime = dayjs(this.videoInfo.minuteTime);
|
||||||
const start = dayjs(this.startTime);
|
const start = dayjs(this.startTime);
|
||||||
const end = dayjs(this.endTime);
|
const end = dayjs(this.endTime);
|
||||||
console.log(this.videoInfo.minuteTime, this.startTime, this.endTime);
|
console.log(
|
||||||
|
this.videoInfo.minuteTime,
|
||||||
|
this.startTime,
|
||||||
|
this.endTime
|
||||||
|
);
|
||||||
if (currentTime.isBefore(start, "second")) {
|
if (currentTime.isBefore(start, "second")) {
|
||||||
this.$message.warning("不能定位到开始时间之前");
|
this.$message.warning("不能定位到开始时间之前");
|
||||||
return;
|
return;
|
||||||
@ -368,8 +391,9 @@ export default {
|
|||||||
moment.HTML5_FMT.DATETIME_LOCAL_SECONDS
|
moment.HTML5_FMT.DATETIME_LOCAL_SECONDS
|
||||||
) + ".000+08:00";
|
) + ".000+08:00";
|
||||||
let endTime =
|
let endTime =
|
||||||
dayjs(this.endTime).format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS) +
|
dayjs(this.endTime).format(
|
||||||
".000+08:00";
|
moment.HTML5_FMT.DATETIME_LOCAL_SECONDS
|
||||||
|
) + ".000+08:00";
|
||||||
this.player
|
this.player
|
||||||
.JS_Seek(this.player.currentWindowIndex, seekStart, endTime)
|
.JS_Seek(this.player.currentWindowIndex, seekStart, endTime)
|
||||||
.then(
|
.then(
|
||||||
@ -392,8 +416,14 @@ export default {
|
|||||||
`#player #player-container-${index}`
|
`#player #player-container-${index}`
|
||||||
);
|
);
|
||||||
if (wnd) {
|
if (wnd) {
|
||||||
const controls = document.getElementById(`controls-${index + 1}`);
|
const controls = document.getElementById(
|
||||||
wnd.removeChild(controls);
|
`controls-${index + 1}`
|
||||||
|
);
|
||||||
|
if (controls) {
|
||||||
|
controls.classList.remove(
|
||||||
|
"video-controls_flex"
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.devH5List = [];
|
this.devH5List = [];
|
||||||
@ -404,7 +434,7 @@ export default {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
// 关闭单个
|
// 关闭单个
|
||||||
stopPlay(currentWindowIndex) {
|
stopPlay(currentWindowIndex, type) {
|
||||||
this.player.JS_Stop(currentWindowIndex - 1).then(
|
this.player.JS_Stop(currentWindowIndex - 1).then(
|
||||||
() => {
|
() => {
|
||||||
this.playback.rate = 0;
|
this.playback.rate = 0;
|
||||||
@ -416,7 +446,10 @@ export default {
|
|||||||
const controls = document.getElementById(
|
const controls = document.getElementById(
|
||||||
`controls-${currentWindowIndex}`
|
`controls-${currentWindowIndex}`
|
||||||
);
|
);
|
||||||
wnd.removeChild(controls);
|
if (controls) {
|
||||||
|
controls.classList.remove("video-controls_flex");
|
||||||
|
}
|
||||||
|
if (type == "delete") return;
|
||||||
this.devH5List.splice(currentWindowIndex - 1, 1);
|
this.devH5List.splice(currentWindowIndex - 1, 1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -579,7 +612,12 @@ export default {
|
|||||||
},
|
},
|
||||||
pluginErrorHandler: function (iWndIndex, iErrorCode, oError) {
|
pluginErrorHandler: function (iWndIndex, iErrorCode, oError) {
|
||||||
//插件错误回调
|
//插件错误回调
|
||||||
console.log("pluginError callback: ", iWndIndex, iErrorCode, oError);
|
console.log(
|
||||||
|
"pluginError callback: ",
|
||||||
|
iWndIndex,
|
||||||
|
iErrorCode,
|
||||||
|
oError
|
||||||
|
);
|
||||||
},
|
},
|
||||||
windowEventOver: function (iWndIndex) {
|
windowEventOver: function (iWndIndex) {
|
||||||
//鼠标移过回调
|
//鼠标移过回调
|
||||||
@ -664,7 +702,10 @@ export default {
|
|||||||
},
|
},
|
||||||
InterruptStream: (iWndIndex, iTime) => {
|
InterruptStream: (iWndIndex, iTime) => {
|
||||||
console.log(
|
console.log(
|
||||||
"recv InterruptStream: " + iWndIndex + ", iTime:" + iTime
|
"recv InterruptStream: " +
|
||||||
|
iWndIndex +
|
||||||
|
", iTime:" +
|
||||||
|
iTime
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
ElementChanged: (iWndIndex, szElementType) => {
|
ElementChanged: (iWndIndex, szElementType) => {
|
||||||
@ -717,6 +758,32 @@ export default {
|
|||||||
_this.$message.warning("获取视频流失败!");
|
_this.$message.warning("获取视频流失败!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// 视频添加加载中图片
|
||||||
|
const id = "player-container-" + index;
|
||||||
|
var d1 = document.getElementById(id); //获取div元素
|
||||||
|
d1.childNodes.forEach((item) => {
|
||||||
|
if (item.nodeName == "" || item.nodeName == "IMG") {
|
||||||
|
d1.removeChild(item);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var im = document.createElement("img"); //创建图片
|
||||||
|
im.src = require("@/assets/images/iscImage/loading.gif");
|
||||||
|
//图片设置成和div一样大小
|
||||||
|
const divHeightNum = d1.style.height.slice(
|
||||||
|
0,
|
||||||
|
d1.style.height.length - 2
|
||||||
|
);
|
||||||
|
// const imgHeightNum = divHeightNum * 0.2
|
||||||
|
const imgHeightNum = 256;
|
||||||
|
im.style.width = imgHeightNum + "px";
|
||||||
|
im.style.height = imgHeightNum + "px";
|
||||||
|
im.style.position = "absolute";
|
||||||
|
im.style.top = "50%";
|
||||||
|
im.style.left = "50%";
|
||||||
|
const positionNum = imgHeightNum / 2 - imgHeightNum;
|
||||||
|
im.style.marginLeft = positionNum + "px";
|
||||||
|
im.style.marginTop = positionNum + "px";
|
||||||
|
d1.appendChild(im); //图片挂载到div上
|
||||||
let preUrl = res.result.url;
|
let preUrl = res.result.url;
|
||||||
console.log(preUrl);
|
console.log(preUrl);
|
||||||
const param = {
|
const param = {
|
||||||
@ -734,10 +801,13 @@ export default {
|
|||||||
moment.HTML5_FMT.DATETIME_LOCAL_SECONDS
|
moment.HTML5_FMT.DATETIME_LOCAL_SECONDS
|
||||||
) + ".000+08:00";
|
) + ".000+08:00";
|
||||||
let endTime =
|
let endTime =
|
||||||
dayjs(this.endTime).format(moment.HTML5_FMT.DATETIME_LOCAL_SECONDS) +
|
dayjs(this.endTime).format(
|
||||||
".000+08:00";
|
moment.HTML5_FMT.DATETIME_LOCAL_SECONDS
|
||||||
|
) + ".000+08:00";
|
||||||
console.log(8887777, startTime, endTime);
|
console.log(8887777, startTime, endTime);
|
||||||
_this.player.JS_Play(preUrl, param, index, startTime, endTime).then(
|
_this.player
|
||||||
|
.JS_Play(preUrl, param, index, startTime, endTime)
|
||||||
|
.then(
|
||||||
() => {
|
() => {
|
||||||
// 播放成功回调
|
// 播放成功回调
|
||||||
console.log("播放成功");
|
console.log("播放成功");
|
||||||
@ -749,6 +819,16 @@ export default {
|
|||||||
"0x12f900009": "取流超时,请检查网络状态",
|
"0x12f900009": "取流超时,请检查网络状态",
|
||||||
};
|
};
|
||||||
console.log("播放失败");
|
console.log("播放失败");
|
||||||
|
im.src = require("@/assets/images/iscImage/text-to-image.png");
|
||||||
|
const imgHeightNum = 20;
|
||||||
|
const imgWidthNum = 150;
|
||||||
|
im.style.width = imgWidthNum + "px";
|
||||||
|
im.style.height = imgHeightNum + "px";
|
||||||
|
const positionNum = imgHeightNum / 2 - imgHeightNum;
|
||||||
|
const positionWidthNum =
|
||||||
|
imgWidthNum / 2 - imgWidthNum;
|
||||||
|
im.style.marginLeft = positionWidthNum + "px";
|
||||||
|
im.style.marginTop = positionNum + "px";
|
||||||
_this.$message.warning(obj[err] || "播放失败");
|
_this.$message.warning(obj[err] || "播放失败");
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
@ -67,7 +67,10 @@
|
|||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" plain @click="resetForm('ruleForm')"
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
@click="resetForm('ruleForm')"
|
||||||
>清空</el-button
|
>清空</el-button
|
||||||
>
|
>
|
||||||
<el-button type="primary" @click="submitForm('ruleForm')"
|
<el-button type="primary" @click="submitForm('ruleForm')"
|
||||||
@ -160,7 +163,11 @@ export default {
|
|||||||
let originUserInfo = this.$store.state.userInfo;
|
let originUserInfo = this.$store.state.userInfo;
|
||||||
that.$store.commit("setUserInfo", {
|
that.$store.commit("setUserInfo", {
|
||||||
...originUserInfo,
|
...originUserInfo,
|
||||||
...that.ruleForm
|
avatar: that.ruleForm.avatar,
|
||||||
|
realName: that.ruleForm.realName,
|
||||||
|
personMail: that.ruleForm.personMail,
|
||||||
|
userTel: that.ruleForm.userTel,
|
||||||
|
sex: that.ruleForm.sex,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user