lcw
This commit is contained in:
@ -0,0 +1,136 @@
|
||||
<template>
|
||||
<el-dialog width="1400px" :draggable="true" custom-class="bgData" :model-value="modelValue" append-to-body
|
||||
@close="close" :show-close="false">
|
||||
<template #title>
|
||||
<div class="title">
|
||||
<div class="titleName">测试数据</div>
|
||||
<div>
|
||||
<el-icon :size="25" class="titleIcon">
|
||||
<BottomLeft />
|
||||
</el-icon>
|
||||
<el-icon :size="25" class="titleIcon">
|
||||
<FullScreen />
|
||||
</el-icon>
|
||||
<el-icon @click="close" :size="25" class="titleIcon">
|
||||
<Close />
|
||||
</el-icon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="statusBar">
|
||||
<div>00:04</div>
|
||||
<div>正在讲话...</div>
|
||||
<div>
|
||||
<el-icon :size="25" class="titleIcon">
|
||||
<InfoFilled />
|
||||
</el-icon>
|
||||
<el-icon :size="25" class="titleIcon">
|
||||
<CircleCheckFilled />
|
||||
</el-icon>
|
||||
<el-icon @click="close" :size="25" class="titleIcon">
|
||||
<Unlock />
|
||||
</el-icon>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div class="content"></div>
|
||||
<template #footer>
|
||||
<Footer @close="close" />
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, watch, reactive, toRaw, computed, getCurrentInstance } from "vue";
|
||||
import Footer from './footer.vue'
|
||||
// import useCallModule from '../sdk/call.js'
|
||||
const { proxy } = getCurrentInstance();
|
||||
// const Call = useCallModule()
|
||||
lemon.login.login({
|
||||
username: "linzhigongan1",
|
||||
password: "linzhigongan1",
|
||||
realm: "puc.com",
|
||||
webpucUrl: "https://192.168.0.1:16888",
|
||||
}).then(res => {
|
||||
console.log(res,"登录成功");
|
||||
}).catch(err => {
|
||||
console.log(err,"登录失败");
|
||||
|
||||
})
|
||||
|
||||
|
||||
const props = defineProps({
|
||||
modelValue: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
titleValue: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
})
|
||||
const emit = defineEmits(['update:modelValue']);
|
||||
const close = () => {
|
||||
emit('update:modelValue', false);
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "@/assets/css/layout.scss";
|
||||
@import "@/assets/css/element-plus.scss";
|
||||
|
||||
.title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid #e4e7ed;
|
||||
padding: 10px;
|
||||
|
||||
.titleName {
|
||||
font-size: 20px;
|
||||
margin-bottom: 5px;
|
||||
width: 40%;
|
||||
|
||||
}
|
||||
|
||||
.titleIcon {
|
||||
margin-left: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.statusBar {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 10px 6px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0 10px;
|
||||
height: 60vh;
|
||||
overflow: auto;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.tabBoxRadio .el-checkbox__inner {
|
||||
border-radius: 50% !important;
|
||||
}
|
||||
|
||||
.tabBoxRadio .el-table__header-wrapper .el-checkbox {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.bgData {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
::v-deep .el-dialog__body {
|
||||
padding: 0 !important;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.bgData .el-dialog__header,
|
||||
.el-dialog__body {
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,88 @@
|
||||
<template>
|
||||
<div class="footer">
|
||||
<div class="footerWidth">
|
||||
<div>
|
||||
<div class="icon"><img src="@/assets/images/icon/jyy-k.png" alt=""></div>
|
||||
<div>麦克风</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="icon"><img src="@/assets/images/icon/lb-k.png" alt=""></div>
|
||||
<div>喇叭</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="icon"><img src="@/assets/images/icon/sp-k.png" alt=""></div>
|
||||
<div>摄像头</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="icon"><img src="@/assets/images/icon/fx.png" alt=""></div>
|
||||
<div>共享</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="icon"><img src="@/assets/images/icon/hyyq.png" alt=""></div>
|
||||
<div>邀请参会</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="icon"><img src="@/assets/images/icon/glcy.png" alt=""></div>
|
||||
<div>管理成员</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="icon"><img src="@/assets/images/icon/jt.png" alt=""></div>
|
||||
<div>截图</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="icon"><img src="@/assets/images/icon/gb.png" alt=""></div>
|
||||
<div>视频广播</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="icon"><img src="@/assets/images/icon/yyjl.png" alt=""></div>
|
||||
<div>语音激励</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="icon"><img src="@/assets/images/icon/fz.png" alt=""></div>
|
||||
<div>画面反转</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="icon"><img src="@/assets/images/icon/yy.png" alt=""></div>
|
||||
<div>应用</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footerBtn">
|
||||
<el-button type="danger">结束会议</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
const emit=defineEmits(['close'])
|
||||
const close=()=>{
|
||||
emit('close')
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.footer {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: 50px;
|
||||
|
||||
.footerWidth {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
.icon{
|
||||
width: 25px;
|
||||
margin: 0 auto;
|
||||
img{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.footerBtn {
|
||||
width: 100px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,139 @@
|
||||
<template>
|
||||
<el-dialog width="1400px" title="选择参会人员" :draggable="true" :model-value="modelValue" append-to-body @close="close"
|
||||
:show-close="false">
|
||||
<div class="content">
|
||||
<div class="left">
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick" :stretch="true">
|
||||
<el-tab-pane label="全网设备" name="first">
|
||||
<el-tree-v2 style="max-width: 600px" :data="data" :props="propsData" :height="530" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="调度台" name="second">Config</el-tab-pane>
|
||||
<el-tab-pane label="动态警组" name="third">Role</el-tab-pane>
|
||||
<el-tab-pane label="第三方会议" name="fourth">Task</el-tab-pane>
|
||||
<el-tab-pane label="车载" name="fourth">Task</el-tab-pane>
|
||||
</el-tabs>
|
||||
<!-- <el-tree-v2
|
||||
style="max-width: 600px"
|
||||
:data="data"
|
||||
:props="propsData"
|
||||
:height="600"
|
||||
/> -->
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, watch, reactive, toRaw, computed, getCurrentInstance, onMounted } from "vue";
|
||||
const props = defineProps({
|
||||
modelValue: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
titleValue: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
})
|
||||
// Tabs 组件
|
||||
const activeName = ref('first')
|
||||
const handleClick = (tab) => {
|
||||
console.log(tab)
|
||||
}
|
||||
onMounted(() => {
|
||||
lemon.basedata.fetchSystemOrg({
|
||||
flat: true,
|
||||
key_word: ""
|
||||
}).then(res => {
|
||||
console.log(res);
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
const getJgList = () => {
|
||||
|
||||
}
|
||||
const getKey = (prefix, id) => {
|
||||
return `${prefix}-${id}`
|
||||
}
|
||||
const createData = (
|
||||
maxDeep,
|
||||
maxChildren,
|
||||
minNodesNumber,
|
||||
deep = 1,
|
||||
key = 'node'
|
||||
) => {
|
||||
let id = 0
|
||||
return Array.from({ length: minNodesNumber })
|
||||
.fill(deep)
|
||||
.map(() => {
|
||||
const childrenNumber =
|
||||
deep === maxDeep ? 0 : Math.round(Math.random() * maxChildren)
|
||||
const nodeKey = getKey(key, ++id)
|
||||
return {
|
||||
id: nodeKey,
|
||||
label: nodeKey,
|
||||
children: childrenNumber
|
||||
? createData(maxDeep, maxChildren, childrenNumber, deep + 1, nodeKey)
|
||||
: undefined,
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const propsData = {
|
||||
value: 'id',
|
||||
label: 'label',
|
||||
children: 'children',
|
||||
}
|
||||
const data = createData(4, 30, 40)
|
||||
|
||||
|
||||
const emit = defineEmits(['update:modelValue']);
|
||||
const close = () => {
|
||||
emit('update:modelValue', false);
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "@/assets/css/layout.scss";
|
||||
@import "@/assets/css/element-plus.scss";
|
||||
|
||||
|
||||
.content {
|
||||
padding: 0 10px;
|
||||
height: 60vh;
|
||||
overflow: auto;
|
||||
display: flex;
|
||||
|
||||
.left {
|
||||
width: 20%;
|
||||
height: 100%;
|
||||
// background-color: #3c8aff;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.right {
|
||||
flex: 1;
|
||||
height: 99%;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .el-tabs__nav-wrap::after {
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
::v-deep .el-tabs__nav-next,
|
||||
.el-tabs__nav-prev {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
::v-deep .el-tabs__item {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
::v-deep .el-tabs__item.is-active {
|
||||
color: #3c8aff;
|
||||
}
|
||||
</style>
|
||||
@ -13,11 +13,12 @@
|
||||
<el-input placeholder="请选择关联线索" @click="chooseVisiblexS = true" readonly v-model="listQuery.glxsmc"></el-input>
|
||||
</template>
|
||||
<template #chryList>
|
||||
<el-input placeholder="请选择参会人员" @click="chooseVisible = true" readonly v-model="listQuery.rymc"></el-input>
|
||||
<el-input placeholder="请选择参会人员" @click="openMeetings = true" readonly v-model="listQuery.rymc"></el-input>
|
||||
</template>
|
||||
</FormMessage>
|
||||
</div>
|
||||
</div>
|
||||
<Personnel v-model="openMeetings" />
|
||||
<ChooseUser v-model="chooseVisible" :Single="false" @choosedUsers="handleUserSelected" :roleIds="roleIds" />
|
||||
<Xslist v-model="chooseVisiblexS" @choosed="choosed" :roleIds="roleIdsxs"></Xslist>
|
||||
</template>
|
||||
@ -27,6 +28,7 @@ import ChooseUser from "@/components/ChooseList/ChooseUser/index.vue";
|
||||
import Xslist from '@/components/ChooseList/ChooseXs/index.vue'
|
||||
import FormMessage from "@/components/aboutTable/FormMessage.vue";
|
||||
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
|
||||
import Personnel from '../components/Communications/personnel.vue'
|
||||
import { ref, defineExpose, reactive, defineEmits, getCurrentInstance, } from "vue";
|
||||
const emit = defineEmits(["updateDate"]);
|
||||
|
||||
@ -109,6 +111,8 @@ const close = () => {
|
||||
dialogForm.value = false;
|
||||
loading.value = false;
|
||||
};
|
||||
// 选择参会人员
|
||||
const openMeetings=ref(false)
|
||||
|
||||
defineExpose({ init });
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user