Merge branch 'bjxz-dev' of http://139.9.66.234:18023/dhp/zhgdyunapp into bjxz-dev

This commit is contained in:
Vce 2024-05-18 01:10:29 +08:00
commit b31b1fe53b
8 changed files with 230 additions and 58 deletions

View File

@ -0,0 +1,72 @@
<template>
<view class="tree-content-compontent">
<view class="content-box" @click="expandFn">
<text class="box-text" @click.stop="toggleNodes(item)">{{ item.groupName }}</text>
<u-icon name="arrow-right" color="#D5D5D5" size="44" v-if="!expanded && item.children && item.children.length"></u-icon>
<u-icon name="arrow-down" color="#D5D5D5" size="44" v-if="expanded && item.children && item.children.length"></u-icon>
<!-- <image style="width:80rpx;height:80rpx;float:left" src="../../static/icon-down-black.png" mode="">
</image> -->
</view>
<view class="sub-component">
<view :class="expanded == true ? 'expandedStyle' : ''" v-if="item.children && item.children.length && expanded">
<tree-menu v-for="child in item.children" :key="child.id" :item="child" :treeIndex="treeIndex + 1" @clickItem="clickTreeItem"></tree-menu>
</view>
</view>
</view>
</template>
<script>
export default {
name: 'TreeMenu',
props: ['item','treeIndex'],
data() {
return {
expanded: false,
};
},
methods: {
clickTreeItem(item){
console.log(item,777888)
uni.navigateTo({
url: './videoList?obj=' + JSON.stringify(item)
})
},
expandFn(){
this.expanded = !this.expanded;
},
toggleNodes(item) {
this.$emit('clickItem', item);
}
},
}
</script>
<style lang="scss" scoped>
.tree-content-compontent{
background: #FFFFFF;
.content-box{
display: flex;
align-items: center;
justify-content: start;
padding: 20rpx 36rpx;
position: relative;
// border-bottom: 2px solid #D6D6D6;
>text{
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 32rpx;
color: #272D45;
margin-right: auto;
display: inline-block;
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.expandedStyle{
margin-left: 40rpx;
}
}
</style>

View File

@ -44,8 +44,8 @@ if (process.env.NODE_ENV === 'development') {
// Vue.prototype.url_config = 'http://192.168.34.155:19111/' //彭洁本地
// Vue.prototype.work_url = 'http://47.93.215.234:19997' // 工作流线上地址(弃用)
// Vue.prototype.work_url = 'http://42.180.188.17:19997' // 工作流线上地址
Vue.prototype.work_url = 'http://42.180.188.17:19097' // 工作流测试地址
// Vue.prototype.work_url = 'http://192.168.34.138:5173' // 工作流地址
// Vue.prototype.work_url = 'http://42.180.188.17:19097' // 工作流测试地址
Vue.prototype.work_url = 'http://192.168.34.138:5173' // 工作流地址
// Vue.prototype.work_url = 'http://139.9.66.234:5173' // 工作流地址
// Vue.prototype.work_url = 'http://192.168.34.126:5173' // 工作流地址
// Vue.prototype.url_config = 'http://8.142.139.165:7080/' // 湖里

View File

@ -23,6 +23,10 @@
"path": "pages/videoManage/videoList",
"style": {}
},
{
"path": "pages/videoManage/videoGroup",
"style": {}
},
{
"path": "pages/videoManage/safeMeeting",
"style": {}

View File

@ -296,6 +296,7 @@
let that = this;
let data = {
projectSn: uni.getStorageSync("dept"),
ignoreDataScope: "ignoreDataScope"
};
this.sendRequest({
url: 'xmgl/qualityRegion/notTreeList',

View File

@ -559,10 +559,13 @@
})
break
case 'videoMonitor':
// uni.navigateTo({
// url: '../../videoManage/videoList?sn=' +
// this.projectDetail.projectSn +
// '&pageType=backEnd'
// })
uni.navigateTo({
url: '../../videoManage/videoList?sn=' +
this.projectDetail.projectSn +
'&pageType=backEnd'
url: '../../videoManage/videoGroup'
})
break
case 'projectInfo':

View File

@ -26,9 +26,9 @@
<view class="zoom zoomout" @click="controlVideoFn(0,0,-0.2,'ZOOM_OUT')"></view>
</view>
</view>
<view class="video-playback" @click="toBackList">
<!-- <view class="video-playback" @click="toBackList">
视频回放
</view>
</view> -->
</view>
</template>

View File

@ -0,0 +1,61 @@
<template>
<view class="main-content">
<headers :showBack="true">
<view class="headerName">
视频播放列表
</view>
</headers>
<view class="content-part">
<tree-menu v-for="(item,index) in treeData" :key="item.id" :item="item" :treeIndex="treeIndex" @clickItem="clickTreeItem"></tree-menu>
</view>
</view>
</template>
<script>
import TreeMenu from '../../components/tree-node/index.vue'
export default {
name: 'Study',
components: {
TreeMenu
},
data() {
return {
treeIndex: 1, // index
treeData: [],
projectSn: ""
}
},
onLoad() {
this.projectSn = JSON.parse(uni.getStorageSync('projectDetail')).projectSn;
this.getVideoGroup();
},
methods: {
clickTreeItem(item){
console.log(item,777888)
uni.navigateTo({
url: './videoList?obj=' + JSON.stringify(item)
})
},
getVideoGroup(){
var that = this
let requestData = {
projectSn: this.projectSn
}
this.sendRequest({
url: "xmgl/videoGroup/tree/list",
data: requestData,
success(res){
console.log('视频分组列表',res)
that.treeData = res.result;
}
})
}
}
}
</script>
<style scoped lang="scss">
.main-content {
background: #F4F5FD;
height: 100vh;
}
</style>

View File

@ -13,7 +13,7 @@
<image src="/static/no_poster.png" class="no_poster"></image>
</view>
<view class="videoName">
{{item.name}}
{{item.videoName}}
</view>
</view>
</view>
@ -32,81 +32,112 @@
import footers from "../../components/footers/footers.vue"
import headers from "../../components/headers/headers.vue"
export default {
components:{footers},
components: {
footers
},
data() {
return {
videoList:[],
pageType:'company'
videoList: [],
pageType: 'company',
groupInfo: {},
projectSn: ""
};
},
onLoad(options) {
if(options.pageType){
this.pageType=options.pageType
if (options.pageType) {
this.pageType = options.pageType
}
this.loadData(options.sn)
if (options.obj) {
this.groupInfo = JSON.parse(options.obj)
}
this.projectSn = JSON.parse(uni.getStorageSync('projectDetail')).projectSn;
this.loadData()
},
methods:{
playVideoFn(item){
methods: {
playVideoFn(item) {
// console.log(item)
uni.setStorageSync('videoInfo',item)
uni.setStorageSync('videoInfo', item)
// if(item.liveRadioUrl){
uni.navigateTo({
// url:'./playVideo?url='+item.liveRadioUrl,
url:'playVideo'
})
uni.navigateTo({
// url:'./playVideo?url='+item.liveRadioUrl,
url: 'playVideo'
})
// }
},
//
//
loadData(sn) {
var that = this
let requestData = {
groupId: this.groupInfo.id,
projectSn: this.projectSn,
videoType: 3
}
this.sendRequest({
url: "xmgl/company/getComapnyStatisticsList",
data: {sn: sn,videoType:1},
url: "xmgl/videoItem/selectVideoItemListByType",
data: requestData,
method: "POST",
success(res){
console.log('找封面',res)
that.videoList = res.result.videoList
success(res) {
console.log('找封面', res)
that.videoList = res.result
}
})
},
// //
// loadData(sn) {
// var that = this
// this.sendRequest({
// url: "xmgl/company/getComapnyStatisticsList",
// data: {sn: sn,videoType:1},
// method: "POST",
// success(res){
// console.log('',res)
// that.videoList = res.result.videoList
// }
// })
// },
}
}
</script>
<style lang="scss" scoped>
.videoBox{
.videoBox {
padding: 20px 10px 10px;
overflow: hidden;
}
.videoItem{
float: left;
background-color: white;
width: calc(50% - 5px);
margin-bottom: 10px;
&:nth-child(2n-1){
margin-right: 10px;
}
.videoPoster{
height: 90px;
width: 100%;
background-color: #282828;
text-align: center;
.no_poster{
width: 55px;
height: 50px;
margin-top: 20px;
.videoItem {
float: left;
background-color: white;
width: calc(50% - 5px);
margin-bottom: 10px;
&:nth-child(2n-1) {
margin-right: 10px;
}
.videoPoster {
height: 90px;
width: 100%;
background-color: #282828;
text-align: center;
.no_poster {
width: 55px;
height: 50px;
margin-top: 20px;
}
}
.videoName {
font-size: 14px;
color: $uni-text-color;
padding: 3px 0 8px;
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
text-align: center;
}
}
.videoName{
font-size: 14px;
color: $uni-text-color;
padding: 3px 0 8px;
width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
text-align: center;
}
}
</style>
</style>