Merge branch 'dev-yjl' into 'shenzhen-dev'
设备中台视频字段注释、中间四CIM+数据更新、萤石视频点击播放 See merge request !136
This commit is contained in:
commit
956c9be4fa
@ -10,10 +10,10 @@
|
||||
<ul class="alarm-left">
|
||||
<li class="alarm-item alarm-item-title">
|
||||
{{ $t('message.videoManage.equipment_list.name') }}:{{
|
||||
i.videoInfo.deviceName
|
||||
i.videoName
|
||||
}}
|
||||
</li>
|
||||
<li class="alarm-item">
|
||||
<!-- <li class="alarm-item">
|
||||
<p>{{ $t('message.videoManage.equipment_list.live_addressName') }}</p>
|
||||
<div>
|
||||
<img
|
||||
@ -45,8 +45,8 @@
|
||||
i.videoInfo.rtmpHd
|
||||
}}
|
||||
</div>
|
||||
</li>
|
||||
<li class="alarm-item">
|
||||
</li> -->
|
||||
<!-- <li class="alarm-item">
|
||||
<p>
|
||||
{{ $t('message.videoManage.equipment_list.monitor_addressName') }}
|
||||
</p>
|
||||
@ -82,11 +82,10 @@
|
||||
i.videoInfo.hdFlvAddress
|
||||
}}
|
||||
</div>
|
||||
</li>
|
||||
</li> -->
|
||||
<li class="alarm-item btn-box">
|
||||
<div>
|
||||
<!-- <div>
|
||||
{{ $t('message.videoManage.equipment_list.statusTitle') }}:
|
||||
<!-- <tag type="danger" :text="i.videoInfo.status===1?'使用中':i.videoInfo.status===2?'已过期':i.videoInfo.status===3?'直播已暂停':''"></tag>-->
|
||||
<tag
|
||||
:type="
|
||||
i.videoInfo.status === 1
|
||||
@ -103,10 +102,9 @@
|
||||
]
|
||||
"
|
||||
></tag>
|
||||
</div>
|
||||
<div>
|
||||
</div> -->
|
||||
<!-- <div>
|
||||
{{ $t('message.videoManage.equipment_list.exceptionTitle') }}:
|
||||
<!-- <tag type="success" :text="i.videoInfo.exception===0?'正常':i.videoInfo.exception===1?'设备不在线':i.videoInfo.exception===2?'设备开启视频加密':i.videoInfo.exception===3?'设备删除':i.videoInfo.exception===4?'失效':i.videoInfo.exception===5?'未绑定':i.videoInfo.exception===6?'账户下流':''"></tag>-->
|
||||
<tag
|
||||
:type="tag_exception[i.videoInfo.exception]"
|
||||
:text="
|
||||
@ -115,19 +113,27 @@
|
||||
]
|
||||
"
|
||||
></tag>
|
||||
</div>
|
||||
<div>
|
||||
</div> -->
|
||||
<!-- <div>
|
||||
{{ $t('message.videoManage.equipment_list.deviceTypeTitle') }}:
|
||||
<!-- <tag type="info" :text="i.deviceType===1?'枪机':i.deviceType===2?'球机':i.deviceType===3?'热成像':i.deviceType===4?'单兵':i.deviceType===5?'全景':i.deviceType===6?'无人机':''"></tag>-->
|
||||
<tag
|
||||
type="info"
|
||||
:text="$t('message.videoManage.deviceType')[i.deviceType - 1]"
|
||||
></tag>
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- <div>
|
||||
{{ $t('message.videoManage.equipment_list.deviceTypeTitle') }}:
|
||||
<tag
|
||||
type="info"
|
||||
:text="$t('message.videoManage.deviceType')[i.deviceType - 1]"
|
||||
></tag>
|
||||
</div> -->
|
||||
<!-- 通道号 -->
|
||||
通道号:{{ i.verificationCode }}
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="alarm-right">
|
||||
<li class="alarm-item alarm-item-title">
|
||||
<!-- <li class="alarm-item alarm-item-title">
|
||||
{{ $t('message.videoManage.equipment_list.serial_number') }}:{{
|
||||
i.videoInfo.deviceSerial
|
||||
}}
|
||||
@ -199,7 +205,7 @@
|
||||
i.videoInfo.channelNo
|
||||
}}.rec
|
||||
</div>
|
||||
</li>
|
||||
</li> -->
|
||||
<li class="alarm-item" v-show="current === index">
|
||||
<div class="operation">
|
||||
<span @click="beforeEdit(i)"
|
||||
@ -361,6 +367,7 @@ export default {
|
||||
getSelectVideoItemListByTypeApi(id) {
|
||||
this.videoInfo.groupId = id
|
||||
selectVideoItemListByTypeApi(this.videoInfo).then((result) => {
|
||||
console.log('result=========数据',result);
|
||||
if (result.success) {
|
||||
this.cameraList = result.result
|
||||
console.log('videoInfo', this.videoInfo, '视频列表', this.cameraList)
|
||||
@ -392,20 +399,21 @@ export default {
|
||||
console.log('编辑的item', obj)
|
||||
},
|
||||
beforeDelete(itemId) {
|
||||
console.log('删除的设备信息', itemId)
|
||||
|
||||
this.Popup.delete = true
|
||||
this.Popup.params.itemId = itemId.itemId
|
||||
this.Popup.title = itemId.videoInfo.deviceName
|
||||
console.log('删除的设备', itemId.videoInfo.deviceName)
|
||||
this.Popup.title = itemId.videoName
|
||||
},
|
||||
ToDelete() {
|
||||
deleteVideoItemApi({ itemId: this.Popup.params.itemId }).then(
|
||||
(result) => {
|
||||
console.log('删除成功', result)
|
||||
if (result.success) {
|
||||
|
||||
this.$message.success(result.message)
|
||||
this.Popup.newVideo = false
|
||||
this.getSelectVideoItemListByTypeApi()
|
||||
}
|
||||
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@ -545,7 +545,6 @@
|
||||
<!-- 萤石云设备验证码 -->
|
||||
<el-form-item v-if="videoType == '1'" label="通道号">
|
||||
<el-input
|
||||
:disabled="operation === 'edit'"
|
||||
v-model="currentVideoTypeDetail.verificationCode"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
|
||||
@ -49,6 +49,15 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
contentList: [
|
||||
{
|
||||
time: '2023-04-02',
|
||||
question: 1,
|
||||
utils: '中国建筑第四工程局有限公司',
|
||||
safe: '王昊',
|
||||
type: '安全',
|
||||
position: '地下室',
|
||||
change: '是'
|
||||
},
|
||||
{
|
||||
time: '2023-03-16',
|
||||
question: 1,
|
||||
|
||||
@ -43,6 +43,141 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
dataList: [
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1-4轴×C-K轴首层梁板',
|
||||
quantity: 1131.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1-4轴×C-K轴首层梁板',
|
||||
quantity: 1131.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1-4轴×C-K轴首层梁板',
|
||||
quantity: 1131.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1/2轴-4轴xD-H轴首层型钢梁',
|
||||
quantity: 97.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1/2轴-4轴xD-H轴首层型钢梁',
|
||||
quantity: 97.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1-4轴×C-K轴负一层钢管柱',
|
||||
quantity: 30
|
||||
},
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1-4轴×C-K轴负一层钢管柱',
|
||||
quantity: 30
|
||||
},
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1-4轴×C-K轴负一层型钢柱 ',
|
||||
quantity: 112.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1-4轴×C-K轴负一层型钢柱 ',
|
||||
quantity: 112.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1-4轴×C-K轴负一层外墙 ',
|
||||
quantity: 282.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1-4轴×C-K轴负一层外墙 ',
|
||||
quantity: 282.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/26',
|
||||
building: '1-4轴×C-K轴负一层外墙 ',
|
||||
quantity: 282.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '1/2轴-4轴×D-H轴首层型钢梁 ',
|
||||
quantity: 70.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '1/2轴-4轴×D-H轴首层型钢梁 ',
|
||||
quantity: 70.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '1-4轴×A-C轴及4-8轴×A-K轴负一层外墙 ',
|
||||
quantity: 488
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '1-4轴×A-C轴及4-8轴×A-K轴负一层外墙 ',
|
||||
quantity: 488
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '1-4轴×A-C轴及4-8轴×A-K轴负一层外墙 ',
|
||||
quantity: 488
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '1-4轴×A-C轴及4-8轴×A-K轴负一层内墙、柱 ',
|
||||
quantity: 375.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '1-4轴×A-C轴及4-8轴×A-K轴负一层内墙、柱 ',
|
||||
quantity: 375.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '1-4轴×A-C轴及4-8轴×A-K轴负一层内墙、柱 ',
|
||||
quantity: 375.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '负一层核心筒剪力墙、柱 ',
|
||||
quantity: 333
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '负一层核心筒剪力墙、柱 ',
|
||||
quantity: 333
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '1-4轴×A-C轴及4-8轴×A-K轴首层梁、板 ',
|
||||
quantity: 1288.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '1-4轴×A-C轴及4-8轴×A-K轴首层梁、板 ',
|
||||
quantity: 1288.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/23',
|
||||
building: '1-4轴×A-C轴及4-8轴×A-K轴首层梁、板 ',
|
||||
quantity: 1288.5
|
||||
},
|
||||
{
|
||||
date: '2023/3/20',
|
||||
building: '1-4轴×A-C轴及4-8轴×A-K轴负一层钢管柱 ',
|
||||
quantity: 103
|
||||
},
|
||||
{
|
||||
date: '2023/3/20',
|
||||
building: '1-4轴×A-C轴及4-8轴×A-K轴负一层钢管柱 ',
|
||||
quantity: 103
|
||||
},
|
||||
{
|
||||
date: '2023/3/1',
|
||||
building: '1-4轴×C-K轴及1-1/2轴往西5.5米×A-C轴负一层梁板 ',
|
||||
|
||||
@ -5,70 +5,51 @@
|
||||
</div>
|
||||
<div class="pageContent">
|
||||
<div class="tips">交卷之前离开当前页面会导致本次考试作废!</div>
|
||||
<div
|
||||
class="blockBox"
|
||||
v-for="(item, index) in courseDetail.questionList"
|
||||
:key="index"
|
||||
>
|
||||
<div class="testTilte">
|
||||
{{ index + 1 }}、{{ item.questionName }}({{ item.questionScore }}分)
|
||||
</div>
|
||||
|
||||
<el-checkbox-group
|
||||
class="optionsBox"
|
||||
v-if="item.questionType == 2"
|
||||
v-model="radioList"
|
||||
@change="
|
||||
(e) => {
|
||||
changeChecked(e, item.questionId, index)
|
||||
}
|
||||
"
|
||||
<vue-scroll style="height: 2000px">
|
||||
<div
|
||||
class="blockBox"
|
||||
v-for="(item, index) in courseDetail.questionList"
|
||||
:key="index"
|
||||
>
|
||||
<el-checkbox
|
||||
v-for="(data, index) in item.optionList"
|
||||
:label="data.optionId"
|
||||
:key="index"
|
||||
>{{ indexList[index] }}、{{ data.optionName }}</el-checkbox
|
||||
>
|
||||
</el-checkbox-group>
|
||||
<!-- <label
|
||||
class="optionItem"
|
||||
v-for="(data, index2) in item.optionList"
|
||||
:key="index2"
|
||||
>
|
||||
<checkbox class="checkbox" :value="data.optionId + ''" /><text
|
||||
class="desc"
|
||||
>{{ indexList[index2] }}、{{ data.optionName }}</text
|
||||
>
|
||||
</label> -->
|
||||
<el-radio-group class="optionsBox" v-model="radio" v-else>
|
||||
<!-- <label
|
||||
class="optionItem"
|
||||
v-for="(data, index2) in item.optionList"
|
||||
:key="index2"
|
||||
>
|
||||
<radio
|
||||
class="checkbox"
|
||||
:value="data.optionId + ''"
|
||||
:checked="data.optionId === item.optionId"
|
||||
/><text class="desc"
|
||||
>{{ indexList[index2] }}、{{ data.optionName }}</text
|
||||
>
|
||||
</label> -->
|
||||
<div class="testTilte">
|
||||
{{ index + 1 }}、{{ item.questionName }}({{
|
||||
item.questionScore
|
||||
}}分)
|
||||
</div>
|
||||
|
||||
<el-radio
|
||||
<el-checkbox-group
|
||||
class="optionsBox"
|
||||
v-if="item.questionType == 2"
|
||||
v-model="radioList"
|
||||
@change="
|
||||
(e) => {
|
||||
changeChecked(e, item.questionId, index)
|
||||
}
|
||||
"
|
||||
v-for="(data, index2) in item.optionList"
|
||||
:key="index2"
|
||||
:label="data.optionId"
|
||||
>{{ indexList[index2] }}、{{ data.optionName }}</el-radio
|
||||
>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<el-checkbox
|
||||
v-for="(data, index) in item.optionList"
|
||||
:label="data.optionId"
|
||||
:key="index"
|
||||
>{{ indexList[index] }}、{{ data.optionName }}</el-checkbox
|
||||
>
|
||||
</el-checkbox-group>
|
||||
|
||||
<el-radio-group class="optionsBox" v-model="radio" v-else>
|
||||
<el-radio
|
||||
@change="
|
||||
(e) => {
|
||||
changeChecked(e, item.questionId, index)
|
||||
}
|
||||
"
|
||||
v-for="(data, index2) in item.optionList"
|
||||
:key="index2"
|
||||
:label="data.optionId"
|
||||
>{{ indexList[index2] }}、{{ data.optionName }}</el-radio
|
||||
>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</vue-scroll>
|
||||
<button type="primary" class="btn submitBtn big" @click="submitData()">
|
||||
交卷
|
||||
</button>
|
||||
|
||||
@ -17,13 +17,14 @@
|
||||
:key="item"
|
||||
:class="select == 1 ? 'width' : select == 2 ? 'width2' : 'width3'"
|
||||
style="position: relative"
|
||||
@click="pieceClick(item)"
|
||||
>
|
||||
<div
|
||||
:id="'video-cover' + item"
|
||||
class="video-cover"
|
||||
:class="{
|
||||
'video-active': selectVideo == item
|
||||
}"
|
||||
:class="Istrue== true? 'login-box-focus':''"
|
||||
@mouseenter="mouseenterName()"
|
||||
@mouseleave="mouseleaveName()"
|
||||
></div>
|
||||
<div :id="'video-container' + item"></div>
|
||||
</div>
|
||||
@ -89,25 +90,33 @@ export default {
|
||||
searchList: [],
|
||||
devList: [],
|
||||
demoList: [],
|
||||
sceencount: 1, // 当前窗口是几分屏(1、4、9)
|
||||
indextest: 0
|
||||
indextest: 0,
|
||||
Istrue: false,
|
||||
}
|
||||
},
|
||||
created() {},
|
||||
created() { },
|
||||
mounted() {
|
||||
//向父组件取的数据
|
||||
this.devList = this.$props.ysyParams
|
||||
console.log('this.$props.ysyParams', this.$props.ysyParams)
|
||||
this.ysyBtn(this.devList, this.indextest, this.sceencount)
|
||||
this.ysyBtn(this.devList, this.indextest, this.select)
|
||||
},
|
||||
watch: {
|
||||
ysyParams: function (a, b) {
|
||||
console.log('父组件传递的数据 ysyParams :', a)
|
||||
this.indextest++
|
||||
console.log('父组件传递的数据 this.devList :', this.devList)
|
||||
|
||||
var index = this.devList.findIndex((item) => item.url == a[0].url)
|
||||
this.selectVideoFirst = index + 1
|
||||
if (this.select == 1) {
|
||||
var index = this.devList.findIndex((item) => item.url == a[0].url)
|
||||
this.selectVideoFirst = index + 1
|
||||
} else {
|
||||
var index = this.devList.findIndex((item) => item.url == a[0].url)
|
||||
let devs = []
|
||||
devs.push(this.devList[index])
|
||||
console.log('块的点击事件:', devs)
|
||||
this.ysyBtn(devs, this.indextest, this.select)
|
||||
}
|
||||
|
||||
// this.select = 1
|
||||
// this.devList.forEach((item, index) => {
|
||||
// if (item.url == a[0].url) {
|
||||
@ -153,19 +162,40 @@ export default {
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
mouseenterName() {
|
||||
this.Istrue = true;
|
||||
},
|
||||
mouseleaveName() {
|
||||
this.Istrue = false;
|
||||
},
|
||||
pieceClick(item) {
|
||||
this.indextest = item
|
||||
// let devs = []
|
||||
// devs.push(this.devList[item - 1])
|
||||
console.log('块的点击事件:', item)
|
||||
// this.ysyBtn(devs,item+1,this.select)
|
||||
},
|
||||
// 视频播放数据 视频容器id(所在窗口) 当前窗口是几分屏(1、4、9)
|
||||
ysyBtn(item) {
|
||||
ysyBtn(item, indeBtn, selectIndex) {
|
||||
|
||||
item.forEach((item2, index) => {
|
||||
let container;
|
||||
console.log('块的点击事件:', indeBtn)
|
||||
if (indeBtn == 0) {
|
||||
container = `video-container${index + 1}`;
|
||||
} else {
|
||||
container = `video-container${indeBtn}`;
|
||||
}
|
||||
console.log('item :', item2 + 'index', index)
|
||||
var player = new EZUIKit.EZUIKitPlayer({
|
||||
autoplay: true,
|
||||
audio: '0',
|
||||
id: `video-container${index + 1}`, // 视频容器ID
|
||||
id: container, // 视频容器ID
|
||||
accessToken: item2.token,
|
||||
url: item2.url, // 初始化写死一个离线或者找不到的设备,避免初始化无法创建播放器;
|
||||
template: 'simple',
|
||||
width: this.$refs.videoBox.offsetWidth,
|
||||
height: this.$refs.videoBox.offsetHeight
|
||||
width: this.$refs.videoBox.offsetWidth / selectIndex,
|
||||
height: this.$refs.videoBox.offsetHeight / selectIndex
|
||||
})
|
||||
item2.player = player
|
||||
})
|
||||
@ -176,6 +206,7 @@ export default {
|
||||
<style lang="less" scoped>
|
||||
.main {
|
||||
position: fixed;
|
||||
|
||||
.app-container {
|
||||
width: 126.375rem;
|
||||
height: 88vh;
|
||||
@ -185,6 +216,7 @@ export default {
|
||||
top: 0rem;
|
||||
overflow: hidden;
|
||||
background-color: #fff;
|
||||
|
||||
.left {
|
||||
overflow: hidden;
|
||||
width: 80%;
|
||||
@ -193,6 +225,7 @@ export default {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0rem;
|
||||
|
||||
.title {
|
||||
position: absolute;
|
||||
top: 1rem;
|
||||
@ -201,6 +234,7 @@ export default {
|
||||
font-weight: 600;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.time {
|
||||
position: absolute;
|
||||
top: 1rem;
|
||||
@ -210,6 +244,7 @@ export default {
|
||||
color: #000;
|
||||
}
|
||||
}
|
||||
|
||||
.left1 {
|
||||
width: 80%;
|
||||
border: 0.125rem solid rgb(37, 43, 102);
|
||||
@ -220,6 +255,7 @@ export default {
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.left2 {
|
||||
top: 0rem;
|
||||
width: 80%;
|
||||
@ -262,8 +298,12 @@ export default {
|
||||
}
|
||||
|
||||
.video-active {
|
||||
// border: 0.125rem solid rgb(255, 133, 62) !important;
|
||||
border: 0.125rem solid rgb(255, 133, 62) !important;
|
||||
}
|
||||
.login-box-focus{
|
||||
// border: 4px solid red;
|
||||
}
|
||||
|
||||
|
||||
.rect {
|
||||
width: 1.625rem;
|
||||
@ -284,6 +324,7 @@ export default {
|
||||
z-index: 5;
|
||||
border-top: 0.0313rem solid #fff;
|
||||
border-right: 0.0313rem solid #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
::v-deep .el-dialog__wrapper {
|
||||
@ -368,6 +409,7 @@ export default {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.center {
|
||||
height: 33.3%;
|
||||
display: flex;
|
||||
@ -381,6 +423,7 @@ export default {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
.bottom {
|
||||
height: 33.3%;
|
||||
display: flex;
|
||||
@ -446,6 +489,7 @@ export default {
|
||||
width: 11.25rem;
|
||||
margin: 0 auto 0.625rem;
|
||||
}
|
||||
|
||||
.videoItem.active {
|
||||
background: #fff !important;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user