This commit is contained in:
guoyue 2022-09-26 17:25:30 +08:00
commit 479c2791f3
4 changed files with 1492 additions and 1106 deletions

View File

@ -208,7 +208,7 @@
<script>
import Cookies from 'js-cookie'
export default {
data() {
data () {
// let validatorImg = (rule, value, callback) => {
// console.log(value, 11111111)
// //
@ -231,7 +231,7 @@ export default {
area: 0,
capacity: '',
pic: '',
id: '',
id: ''
},
limit: 10,
page: 1,
@ -242,11 +242,11 @@ export default {
rules: {
name: [
{ required: true, message: '请输入会议室名称', trigger: 'blur' },
{ min: 1, trigger: 'blur' },
{ min: 1, trigger: 'blur' }
],
area: [
{ required: true, message: '请输入会议室面积', trigger: 'blur' },
{ min: 1, type: 'number', trigger: 'blur' },
{ min: 1, message: '请输入数字', type: 'number', trigger: 'blur' }
],
description: [
{ required: true, message: '请填写描述内容', trigger: 'blur' },
@ -254,22 +254,22 @@ export default {
min: 1,
max: 500,
message: '长度在 1 到 500 个字符',
trigger: 'blur',
},
],
trigger: 'blur'
}
]
},
formLabelWidth: '120px',
checkImgSuccess: true,
dialogVisible: false,
flge: '',
flge: ''
}
},
mounted() {
mounted () {
this.queryData()
},
methods: {
//
queryData() {
queryData () {
this.$http
.get(`/meeting/page?limit=${this.limit}&page=${this.page}`)
.then(({ data: res }) => {
@ -278,31 +278,31 @@ export default {
})
},
//
handleSizeChange(val) {
handleSizeChange (val) {
this.limit = val
this.queryData()
},
handleCurrentChange(val) {
handleCurrentChange (val) {
this.page = val
this.queryData()
},
//
addRooom() {
addRooom () {
this.dialogFormVisible = true
this.flge = 'add'
this.ruleForm = {}
this.fileList = []
},
handlePictureCardPreview(file) {
handlePictureCardPreview (file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},
//
beforeUpload(file, fileList) {
//
beforeUpload (file, fileList) {
this.$message.error('最多只能上传一张图片!')
},
//
onSuccess(response, file, fileList) {
//
onSuccess (response, file, fileList) {
const isLt2M = file.size / 1024 / 1024 < 100
if (!isLt2M) {
this.$message.error('上传图片大小不能超过100MB')
@ -313,17 +313,17 @@ export default {
this.checkImgSuccess = true
}
},
//
onRemove(file, fileList) {
//
onRemove (file, fileList) {
this.$nextTick(() => {
if (fileList.length == 0) {
this.checkImgSuccess = false //
this.checkImgSuccess = false //
// this.$refs.ruleForm.validate() //,
}
})
},
//
submitForm(formName, i) {
submitForm (formName, i) {
this.$refs[formName].validate((valid) => {
if (valid) {
if (i === 'add') {
@ -337,9 +337,9 @@ export default {
})
} else if (i === 'edit') {
this.dialogFormVisible = false
this.$http.put(`/meeting`, this.ruleForm).then(({ data: res }) => {
this.$http.put('/meeting', this.ruleForm).then(({ data: res }) => {
this.ruleForm = res.data
let imgUrl = { name: res.data.name, url: res.data.pic }
const imgUrl = { name: res.data.name, url: res.data.pic }
this.fileList.push(imgUrl)
})
}
@ -350,7 +350,7 @@ export default {
})
},
//
taskDetails(row) {
taskDetails (row) {
this.ruleForm = {}
this.fileList = []
this.flge = 'look'
@ -366,45 +366,45 @@ export default {
}
})
},
//
taskUpdate(row) {
//
taskUpdate (row) {
this.dialogFormVisible = true
this.fileList = []
this.flge = 'edit'
this.ruleForm = row
if (row.pic != null) {
let imgUrl = { name: row.name, url: row.pic }
const imgUrl = { name: row.name, url: row.pic }
this.fileList.push(imgUrl)
} else {
this.fileList = []
}
},
//
taskDelete(row) {
//
taskDelete (row) {
this.$confirm('此操作将永久删除该会议室, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
type: 'warning'
})
.then(() => {
this.$http.put(`/meeting`, { delFlag: 1, id: row.id }).then(() => {
this.$http.put('/meeting', { delFlag: 1, id: row.id }).then(() => {
this.queryData()
this.$message({
type: 'success',
message: '删除成功!',
message: '删除成功!'
})
})
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除',
message: '已取消删除'
})
})
},
//
outDialog() {},
},
//
outDialog () {}
}
}
</script>
<style scoped lang="scss">

File diff suppressed because it is too large Load Diff

View File

@ -315,8 +315,7 @@
openVideo(
record.channelCode ||
record.channelId ||
record.channelCode.channelId,
record
record.channelCode.channelId, record
)
">
预览
@ -345,7 +344,9 @@
<a-button @click="goToApply(record)" type="link" :disabled="record.state != 1">
申请
</a-button>
<a-button @click="showWrj(record)" type="link">详情</a-button>
<a-button @click="showWrj(record)" type="link">
详情
</a-button>
</template>
</template>
</a-table>
@ -354,7 +355,7 @@
<a-modal wrapClassName="single-preview-modal" v-model:visible="visible" title="视频预览" :width="960" destroyOnClose>
<template #footer></template>
<div style="width: 100%; display: flex; justify-content: center">
<div style="width: 100%; height: 100%; position: relative">
<div style="width: 100%; height: 100%;position:relative">
<!-- 预览视频--遮罩 -->
<div class="video-cover" @click="videoShowMsg"></div>
<vue3VideoPlay v-bind="options" />
@ -388,7 +389,7 @@
destroyOnClose @cancel="videoClean">
<template #footer></template>
<div class="batch-video">
<div v-for="(item, index) in videoList" :key="item.id" style="width: 100%; height: 100%; position: relative">
<div v-for="(item, index) in videoList" :key="item.id" style="width: 100%; height: 100%;position:relative">
<!-- 批量预览视频--遮罩 -->
<div class="batch-video-cover" @click="videoShowMsg(index)"></div>
<p></p>
@ -435,6 +436,7 @@ import {
nextTick,
defineExpose,
computed,
} from 'vue'
import {
getCameraByParentId,
@ -463,7 +465,7 @@ const current = ref(1)
const videoTotal = ref(0)
const router = useRouter()
const whoShow1 = ref(whoShow)
const isXiHaiAn = whoShow1.value.itShowXiHaiAn || true
const isXiHaiAn = whoShow1.value.itShowXiHaiAn;
const options = reactive({
width: '912px', //
height: '513px', //
@ -480,9 +482,7 @@ const options = reactive({
ligthOff: false, //
volume: 0.3, //
control: isXiHaiAn ? false : true, //
controlBtns: isXiHaiAn
? []
: [
controlBtns: isXiHaiAn ? [] : [
'audioTrack',
'quality',
'speedRate',
@ -635,9 +635,7 @@ const selectedRowKeys = ref([])
const tabList = ref([
{
title: '设施类型',
content: isXiHaiAn
? ['视频资源']
: ['视频资源', '云资源', '感知资源', '城市云脑会客厅'],
content: isXiHaiAn ? ['视频资源'] : ['视频资源', '云资源', '感知资源', '城市云脑会客厅'],
},
])
if (!isXiHaiAn) {
@ -691,10 +689,13 @@ if (whoShow1.value.itShowXiHaiAn) {
tabList.value[0].content.push('单兵设备')
}
//
const rowClickData = ref(null)
//
const openVideo = (id, record) => {
rowClickData.value = record
// todo1
const openVideo = (id, item) => {
if(item) {
rowClickData.value = item;
}
console.log('打开视频', id)
const param = {
key: id,
@ -1077,6 +1078,7 @@ const tabClick = (indexFather, name) => {
if (tabList.value[1]) {
tabList.value[1].title = '视频标签'
}
} else if (name == '云资源') {
room.value = true
tableHeight.value = 600
@ -1189,10 +1191,10 @@ const tabClick = (indexFather, name) => {
wrjFlag.value = false
emits('add', 3)
} else if (name == '无人机') {
pagination.value.current = 1
pagination.value.current = 1;
getSoldierData(indexFather, name)
} else if (name == '单兵设备') {
pagination.value.current = 1
pagination.value.current = 1;
getSoldierData(indexFather, name)
} else if (name == '城市云脑会客厅') {
showMap.value = false
@ -1245,7 +1247,7 @@ const wrjStateObj = {
0: '待审批',
1: '未申请',
2: '通过',
3: '未通过',
3: '未通过'
}
//
const getSoldierData = (indexFather, name) => {
@ -1269,13 +1271,14 @@ const getSoldierData = (indexFather, name) => {
page: pagination.value.current,
limit: pagination.value.pageSize,
}
getSoldierList(_params)
.then((res) => {
console.log('res---获取无人机、单兵设备--------->', res)
getSoldierList(_params).then(res => {
console.log('res---获取无人机、单兵设备--------->', res);
if (res.data.code !== 0) {
return message.error(res.data.msg)
}
let { list = [], total = 0 } = res.data.data
let { list = [], total = 0 } = res.data.data;
console.log('total------------>', total);
pagination.value.total = total
if (name == '无人机') {
list.map((wrj) => {
@ -1284,11 +1287,10 @@ const getSoldierData = (indexFather, name) => {
wrjState: wrjStateObj[wrj.state],
url: wrj.url,
details: wrj.details,
...wrj,
...wrj
})
})
}
if (name == '单兵设备') {
list.map((db) => {
dataSource2.value.push({
@ -1296,12 +1298,12 @@ const getSoldierData = (indexFather, name) => {
wrjState: wrjStateObj[db.state],
details: db.details,
type: db.type,
...db,
...db
})
})
}
})
.catch((err) => {
}).catch(err => {
message.error(err)
})
}
@ -1339,9 +1341,7 @@ const batchPreview = async function (page) {
ligthOff: false, //
volume: 0.3, //
control: isXiHaiAn ? false : true, //
controlBtns: isXiHaiAn
? []
: [
controlBtns: isXiHaiAn ? [] : [
'audioTrack',
'quality',
'speedRate',
@ -1354,7 +1354,7 @@ const batchPreview = async function (page) {
},
}
await getStreamByChannelCode(param).then((res) => {
// -
//
// ob.options.src = 'http://playertest.longtailvideo.com/adaptive/bipbop/gear4/prog_index.m3u8'
ob.options.src = res.data.data
console.log('监测ob的变化', ob)
@ -1432,7 +1432,7 @@ const changePage = (page) => { }
const dept = reactive({})
// eslint-disable-next-line no-undef
if (infrastructure) {
console.log('infrastructure------------>', infrastructure)
console.log('infrastructure------------>', infrastructure);
// eslint-disable-next-line no-undef
dept.deptId = infrastructure.deptId || ''
@ -1471,10 +1471,7 @@ const apply = () => {
// }
const wrjFlag = ref(false)
const getCamera = (flag, str) => {
console.log(
'mapSearchParam.value.cameraName------------>',
mapSearchParam.value.cameraName
)
console.log('mapSearchParam.value.cameraName------------>', mapSearchParam.value.cameraName);
if (flag) {
mapSearchParam.value.cameraName = str
console.log('赋值===============》', str, mapSearchParam.value)
@ -1488,7 +1485,7 @@ const getCamera = (flag, str) => {
pagination.value.total = res.data.count
})
} else {
console.log('mapSearchParam------------>', mapSearchParam)
console.log('mapSearchParam------------>', mapSearchParam);
let params = {
regionId:
mapSearchParam.value.parentId || '70be8c5b664f4bcf869d82f2e8335051',
@ -1498,7 +1495,7 @@ const getCamera = (flag, str) => {
longitude: mapSearchParam.value.gpsX || '',
latitude: mapSearchParam.value.gpsY || '',
radius: mapSearchParam.value.radius || '',
name: mapSearchParam.value.cameraName,
name: mapSearchParam.value.cameraName
}
// todo-
// if (
@ -1577,21 +1574,21 @@ const columns2 = ref([
title: '名称',
dataIndex: 'wrjName',
key: 'wrjName',
align: 'center',
align: 'center'
},
{
title: '申请状态',
dataIndex: 'wrjState',
width: '60%',
key: 'wrjState',
align: 'center',
align: 'center'
},
{
title: '操作',
dataIndex: 'operation',
width: '20%',
key: 'wrjName',
align: 'center',
align: 'center'
},
])
// const allClick = ref([])
@ -1656,10 +1653,7 @@ const handleTableChange = (val) => {
mapSearchParam.value.pageNum = val.current
mapSearchParam.value.pageSize = val.pageSize
let _arr =
clickList.value.filter(
(v) => v.content.includes('单兵设备') || v.content.includes('无人机')
) || []
let _arr = clickList.value.filter(v => v.content.includes('单兵设备') || v.content.includes('无人机')) || []
let _tab_name = _arr[0] && _arr[0].content && _arr[0].content[0]
//
if (_tab_name) {
@ -1671,15 +1665,12 @@ const handleTableChange = (val) => {
//
const videoShowMsg = (index) => {
let itemData = null
let itemData = null;
if (index) {
itemData = selectedList.value[index]
}
let msg = '请申请后在我的申请中预览视频!'
if (
(itemData && itemData.status != 1) ||
(rowClickData.value && rowClickData.value.status != 1)
) {
if ((itemData && itemData.status != 1) || (rowClickData.value && rowClickData.value.status != 1)) {
msg = '当前视频离线不可预览!'
} else {
msg = '请申请后在我的申请中预览视频!'
@ -2128,4 +2119,5 @@ video::-webkit-media-controls {
margin-top: 14px;
cursor: pointer;
}
</style>

View File

@ -53,6 +53,10 @@
<span class="gengduo"></span>
</div>
<div class="fixedmount">
<div @click="applyResource()">
<p></p>
<p>资源申请</p>
</div>
<div @click="toView()">
<p></p>
<p>需求申请</p>
@ -255,14 +259,24 @@
const toView = () => {
window.open(newpage.href, '_blank')
}
// const toApply = () => {
// window.open(applypage.href, '_blank')
// }
getList()
// dataList.value.map((item, index) => {
// dataList.value[index].tupian = tupain.value[index]
// console.log('item', item, dataList.value)
// })
function jumpPage() {
// store
// store.commit('WorkDynList', {
// selectCardsnum: '',
// })
console.log(
'选中===================>',
store.getters['home/selectCardsnum']
)
// router.push({ path: '/DetailsPageconetent' })
router.push({
path: '/WorkDynList',
})
@ -301,6 +315,15 @@
function handlecancelAbilitySquare() {
abilitySquareFunctionData.value = '智能算法'
}
const applyResource = () => {
console.log('点击===============》')
router.push({
path: '/DetailsPageconetent',
query: {
select: "基础设施",
},
})
}
</script>
<style lang="less">
.shangjia-class {
@ -569,10 +592,10 @@
}
.fixedmount {
height: 1.5rem;
height: 2.4rem;
display: flex;
position: fixed;
bottom: 2.56rem;
bottom: 1.56rem;
right: 1.9rem;
z-index: 10;
flex-direction: column;
@ -608,7 +631,8 @@
.fixedmount div:nth-child(1) p:nth-child(1) {
height: 0.24rem;
width: 0.24rem;
background: url('~@/assets/home/shenqing.png') no-repeat;
//background: url('~@/assets/home/shenqing.png') no-repeat;
background: url('~@/assets/newHome/banner-yy.png') no-repeat;
background-size: contain;
background-position: center;
}