|
|
@@ -31,7 +31,7 @@
|
|
|
style="width: 85%; display: flex;align-items: center;justify-content: space-between; margin-top: 15px;">
|
|
|
<div class="display-row" style="display: flex;align-items: center;">
|
|
|
<div class="text-fontsize-14">请选择会议设备</div>
|
|
|
- <el-select v-model="deviceId" placeholder="请选择会议设备" style="margin-left: 8px;" :popper-append-to-body="false">
|
|
|
+ <el-select v-model="deviceId" placeholder="请选择会议设备" style="margin-left: 8px;" :popper-append-to-body="false" class="elselect">
|
|
|
<el-option v-for="device in deviceList" :label="device.deviceName" :value="device.id" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
@@ -55,8 +55,8 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <div class="display-row" style="margin-top: 16px;height: 85%">
|
|
|
- <div style="width: 85%;height: 100%;" class="screen_nocontent display-center">
|
|
|
+ <div class="display-row" style="margin-top: 16px;height: 83vh">
|
|
|
+ <div style="width: 85%;height: 83vh;" class="screen_nocontent display-center">
|
|
|
<div v-if="fileType == 1 && null == pageSrc" class="display-cloumn display-center">
|
|
|
<el-image :src="iconScreen" class="icon-40"></el-image>
|
|
|
<div class="text-fontsize-18" style="margin-top: 8px;">此处展示投屏画面</div>
|
|
|
@@ -65,9 +65,16 @@
|
|
|
<el-image :src="iconScreen" class="icon-40"></el-image>
|
|
|
<div class="text-fontsize-18" style="margin-top: 8px;">此处展示投屏画面</div>
|
|
|
</div>
|
|
|
- <div v-else style="height: 100%;width: 100%;" class="display-center">
|
|
|
- <iframe v-if="fileType == 2" :src="material" style="width: 100%; height: 100%;"></iframe>
|
|
|
- <el-image v-else :src="pageSrc.fileUrl" style="height: 97%;" />
|
|
|
+ <div v-else style="height: 83vh;width: 100%;overflow: hidden;" class="display-center">
|
|
|
+ <iframe v-if="fileType == 2" :src="material" ref="iframe" style="width: 100%; height: 83vh;"></iframe>
|
|
|
+ <el-image v-else :src="pageSrc.fileUrl" @load="handleImageLoad"
|
|
|
+ :style="{ height: imageHeight +'%',transform: 'translateY(' + imageOffset + 'px)'}" />
|
|
|
+ <!-- <div v-else class="image-container" @mousedown="startMove" @mousemove="doMove" @mouseup="endMove"
|
|
|
+ style="height: 97%;" :style="{ transform: `scale(${scale}) translate(${position.x}px, ${position.y}px)` }">
|
|
|
+ <el-image :src="pageSrc.fileUrl" />
|
|
|
+ </div> -->
|
|
|
+
|
|
|
+
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="width: 15%;height: 100%;" class="display-cloumn">
|
|
|
@@ -77,11 +84,12 @@
|
|
|
style="display: flex;justify-content: space-between;align-items: center;margin: 0 16px;">
|
|
|
<div class="display-row" style="display: flex;align-items: center;">
|
|
|
<div class="text-fontsize-18">会议资料</div>
|
|
|
- <!-- <el-image :src="iconFresh" fit="contaion" class="icon" style="margin-left: 8px;"></el-image> -->
|
|
|
+ <el-image :src="iconFresh" fit="contaion" class="icon" @click="getMeetingInfo()"
|
|
|
+ style="margin-left: 8px;"></el-image>
|
|
|
</div>
|
|
|
<div class="display-row">
|
|
|
- <el-button class="playBtn" @click="beginPlay()">开始播放</el-button>
|
|
|
- <el-button class="playBtn" @click="endPlay()">结束播放</el-button>
|
|
|
+ <el-image :src="iconStartPlay" class="icon-40" @click="beginPlay()">开始播放</el-image>
|
|
|
+ <el-image :src="iconStopPlay" class="icon-40" style="margin-left:10px" @click="endPlay()">结束播放</el-image>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
@@ -178,12 +186,13 @@
|
|
|
<div class="text-fontsize-14 single-line" style="padding:10px 0 ;">{{item.fileName}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
<div v-if="timerRunning == false" class="display-cloumn display-center" style="width: 30%;">
|
|
|
- <el-image :src="iconStartRecord" class="icon-40" />
|
|
|
+ <el-image :src="iconStartRecord" class="icon-40" @click="startTimer" />
|
|
|
<div class="text-fontsize-16" style="margin-top:12px ;">录音</div>
|
|
|
</div>
|
|
|
<div v-else class="display-cloumn display-center" style="width: 30%;">
|
|
|
- <el-image :src="iconStopRecord" class="icon-40" />
|
|
|
+ <el-image :src="iconStopRecord" class="icon-40" @click="pauseTimer" />
|
|
|
<div class="text-fontsize-16" style="margin-top:12px ;">{{formatTime}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -196,9 +205,9 @@
|
|
|
<span>
|
|
|
<div class="display-cloumn">
|
|
|
<!-- <div class="line-grey" /> -->
|
|
|
- <div style="display: flex;flex-wrap: wrap;overflow: auto;margin-left:5px;" >
|
|
|
+ <div style="display: flex;flex-wrap: wrap;overflow: auto;margin-left:5px;">
|
|
|
<div v-for="(item, index) in photoList" :key="index" class="imageDiv">
|
|
|
- <div class="display-cloumn" :style="{ backgroundColor: item.isSelected ? '#FFF3F3' : 'white' }">
|
|
|
+ <div class="display-cloumn" :style="{ backgroundColor: item.isSelected ? '#FFF3F3' : 'white' }">
|
|
|
<div style="margin-left: 10px;">
|
|
|
<input type="checkbox" align="left" :value="index" v-model="selectedItems">
|
|
|
</div>
|
|
|
@@ -325,7 +334,7 @@
|
|
|
|
|
|
<div class="display-cloumn display-center" style="margin-left:32px">
|
|
|
<el-image :src="iconYjsc" class="icon-40" @click="summaryGenerate" />
|
|
|
- <div class="text-fontsize-14" style="color: #545454;margin-top: 5px;">一键生成</div>
|
|
|
+ <div class="text-fontsize-14" style="color: #545454;margin-top: 5px;">生成会议纪要</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -577,6 +586,8 @@
|
|
|
import iconStopRecordRedImg from '@/assets/icons/icon_stoprecord_red.png'
|
|
|
import imgEmptyImg from '@/assets/images/img_empty.png'
|
|
|
import dialogimgEmptyImg from '@/assets/images/dialog_img_empty.png'
|
|
|
+ import iconStartPlayImg from '@/assets/icons/btn_startplay.png'
|
|
|
+ import iconStopPlayImg from '@/assets/icons/btn_stopplay.png'
|
|
|
|
|
|
export default {
|
|
|
dicts: ['sys_asr_status', 'sys_attendance_type'],
|
|
|
@@ -601,6 +612,8 @@
|
|
|
iconStopRecordRed: iconStopRecordRedImg,
|
|
|
imgEmpty: imgEmptyImg,
|
|
|
dialogimgEmpty: dialogimgEmptyImg,
|
|
|
+ iconStartPlay: iconStartPlayImg,
|
|
|
+ iconStopPlay: iconStopPlayImg,
|
|
|
meetingId: null,
|
|
|
form: {},
|
|
|
fileList: [],
|
|
|
@@ -612,7 +625,7 @@
|
|
|
single: true,
|
|
|
// 非多个禁用
|
|
|
multiple: true,
|
|
|
- totalPage: null,
|
|
|
+ totalPage: 0,
|
|
|
currentPage: 1,
|
|
|
pageSrc: null,
|
|
|
// 学习资料网站
|
|
|
@@ -639,14 +652,26 @@
|
|
|
faceSignUrl: null,
|
|
|
faceSignList: [],
|
|
|
scaleList: [{
|
|
|
+ value: '25',
|
|
|
+ label: '25%'
|
|
|
+ }, {
|
|
|
value: '50',
|
|
|
label: '50%'
|
|
|
+ }, {
|
|
|
+ value: '75',
|
|
|
+ label: '75%'
|
|
|
}, {
|
|
|
value: '100',
|
|
|
label: '100%'
|
|
|
+ }, {
|
|
|
+ value: '125',
|
|
|
+ label: '125%'
|
|
|
}, {
|
|
|
value: '150',
|
|
|
label: '150%'
|
|
|
+ }, {
|
|
|
+ value: '175',
|
|
|
+ label: '175%'
|
|
|
}, {
|
|
|
value: '200',
|
|
|
label: '200%'
|
|
|
@@ -695,17 +720,21 @@
|
|
|
faceSign: {},
|
|
|
dialogMeetVisible: false,
|
|
|
isMeetPlay: false,
|
|
|
+ imageHeight: 100,
|
|
|
+ imageOffset: 0,
|
|
|
+ imageHeightPx: 0,
|
|
|
+ imageHeightPxChange: 0,
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
selectedItems(newValue, oldValue) {
|
|
|
// 当message变化时,会执行这里的代码
|
|
|
console.log(`message changed from ${oldValue} to ${newValue}`);
|
|
|
- for(let j = 0;j<this.photoList.length;j++){
|
|
|
- this.photoList[j].isSelected = false;
|
|
|
+ for (let j = 0; j < this.photoList.length; j++) {
|
|
|
+ this.photoList[j].isSelected = false;
|
|
|
}
|
|
|
- for(let i =0;i<newValue.length;i++){
|
|
|
- this.photoList[newValue[i]].isSelected = true;
|
|
|
+ for (let i = 0; i < newValue.length; i++) {
|
|
|
+ this.photoList[newValue[i]].isSelected = true;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -1015,6 +1044,7 @@
|
|
|
// if (!this.validDeviceId()) {
|
|
|
// return;
|
|
|
// }
|
|
|
+ this.currentPage = 0;
|
|
|
this.material = url;
|
|
|
let param = {
|
|
|
material: url,
|
|
|
@@ -1130,7 +1160,7 @@
|
|
|
this.scaleId = null;
|
|
|
return;
|
|
|
}
|
|
|
- if (this.totalPage == null) {
|
|
|
+ if (this.totalPage == 0) {
|
|
|
this.$message({
|
|
|
message: '请先选择文件开始文件播放',
|
|
|
type: 'warning'
|
|
|
@@ -1146,6 +1176,10 @@
|
|
|
}
|
|
|
imageScale(param).then(response => {
|
|
|
console.log('缩放:', response);
|
|
|
+
|
|
|
+ this.imageHeight = 100 * (this.scaleId / 100);
|
|
|
+ this.this.imageHeightPxChange = this.imageHeightPx * (this.scaleId / 100);
|
|
|
+
|
|
|
this.$message({
|
|
|
message: "缩放成功",
|
|
|
type: 'success'
|
|
|
@@ -1159,14 +1193,16 @@
|
|
|
if (!this.validDeviceId()) {
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
- if (this.totalPage == null) {
|
|
|
- this.$message({
|
|
|
- message: '请先选择文件开始文件播放',
|
|
|
- type: 'warning'
|
|
|
- });
|
|
|
- return;
|
|
|
+ if (this.fileType == 1) {
|
|
|
+ if (this.totalPage == 0) {
|
|
|
+ this.$message({
|
|
|
+ message: '请先选择文件开始文件播放',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
if (this.moveId == null) {
|
|
|
this.$message({
|
|
|
message: '请先选择移动距离',
|
|
|
@@ -1179,10 +1215,12 @@
|
|
|
meetingId: this.meetingId,
|
|
|
distance: this.moveId,
|
|
|
deviceId: this.deviceId,
|
|
|
- imageIndex: this.currentPage
|
|
|
+ imageIndex: this.currentPage,
|
|
|
+ fileType:this.fileType
|
|
|
}
|
|
|
imageMove(param).then(response => {
|
|
|
console.log('上移:', response);
|
|
|
+ this.imageOffset = this.imageOffset - ((this.moveId / 100) * this.imageHeightPxChange);
|
|
|
this.$message({
|
|
|
message: '上移成功',
|
|
|
type: 'success'
|
|
|
@@ -1194,14 +1232,16 @@
|
|
|
if (!this.validDeviceId()) {
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
- if (this.totalPage == null) {
|
|
|
- this.$message({
|
|
|
- message: '请先选择文件开始文件播放',
|
|
|
- type: 'warning'
|
|
|
- });
|
|
|
- return;
|
|
|
+ if (this.fileType == 1) {
|
|
|
+ if (this.totalPage == 0) {
|
|
|
+ this.$message({
|
|
|
+ message: '请先选择文件开始文件播放',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
if (this.moveId == null) {
|
|
|
this.$message({
|
|
|
message: '请先选择移动距离',
|
|
|
@@ -1214,10 +1254,12 @@
|
|
|
meetingId: this.meetingId,
|
|
|
distance: this.moveId,
|
|
|
deviceId: this.deviceId,
|
|
|
- imageIndex: this.currentPage
|
|
|
+ imageIndex: this.currentPage,
|
|
|
+ fileType:this.fileType
|
|
|
}
|
|
|
imageMove(param).then(response => {
|
|
|
console.log('下移:', response);
|
|
|
+ this.imageOffset = this.imageOffset + (this.moveId / 100) * this.imageHeightPxChange;
|
|
|
this.$message({
|
|
|
message: '下移成功',
|
|
|
type: 'success'
|
|
|
@@ -1263,7 +1305,7 @@
|
|
|
if (!this.validDeviceId()) {
|
|
|
return;
|
|
|
}
|
|
|
- if (this.totalPage == null) {
|
|
|
+ if (this.totalPage == 0) {
|
|
|
this.$message({
|
|
|
message: '请先选择文件开始文件播放',
|
|
|
type: 'warning'
|
|
|
@@ -1287,11 +1329,11 @@
|
|
|
return;
|
|
|
}
|
|
|
this.endFilePlay();
|
|
|
- this.currentPage = null;
|
|
|
+ this.currentPage = 0;
|
|
|
this.pageSrc = null;
|
|
|
this.imageList = [];
|
|
|
// this.fileList = [];
|
|
|
- this.totalPage = null;
|
|
|
+ this.totalPage = 0;
|
|
|
this.currentPage = 1;
|
|
|
},
|
|
|
rsWord() {
|
|
|
@@ -1364,7 +1406,7 @@
|
|
|
}
|
|
|
this.isMeetPlay = true;
|
|
|
},
|
|
|
- endPlay(){
|
|
|
+ endPlay() {
|
|
|
if (this.fileList[this.selectedFileIndex].fileType == 1) {
|
|
|
this.fileType = 1;
|
|
|
this.endShowFile();
|
|
|
@@ -1373,12 +1415,17 @@
|
|
|
this.endShowUrl(this.fileList[this.selectedFileIndex].fileUrl);
|
|
|
}
|
|
|
this.isMeetPlay = false;
|
|
|
+ this.imageOffset = 0;
|
|
|
+ this.imageHeight = 100;
|
|
|
+ this.imageHeightPxChange = this.imageHeightPx;
|
|
|
+ this.scaleId = null;
|
|
|
+ this.moveId = null;
|
|
|
|
|
|
},
|
|
|
deleteDialogPhoto() {
|
|
|
console.log('selectedItems:', this.selectedItems);
|
|
|
|
|
|
- if(this.selectedItems != null && this.selectedItems.length > 0) {
|
|
|
+ if (this.selectedItems != null && this.selectedItems.length > 0) {
|
|
|
this.deletePhoto(this.selectedItems);
|
|
|
} else {
|
|
|
this.$message({
|
|
|
@@ -1387,6 +1434,14 @@
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
+ handleImageLoad(event) {
|
|
|
+ this.imageHeightPx = event.target.offsetHeight;
|
|
|
+ this.imageHeightPxChange = this.imageHeightPx;
|
|
|
+ console.log('Image height:', this.imageHeightPx);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
@@ -1395,8 +1450,8 @@
|
|
|
/* margin-left: 40px;
|
|
|
margin-right: 30px;
|
|
|
margin-bottom: 10px; */
|
|
|
- margin-left:5px;
|
|
|
- margin-rignt:5px;
|
|
|
+ margin-left: 5px;
|
|
|
+ margin-rignt: 5px;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
margin-bottom: 10px;
|
|
|
@@ -1613,8 +1668,8 @@
|
|
|
} */
|
|
|
|
|
|
.no-border th,
|
|
|
- .no-border td{
|
|
|
- border-bottom: none !important;
|
|
|
+ .no-border td {
|
|
|
+ border-bottom: none !important;
|
|
|
}
|
|
|
|
|
|
.custom-text-color {
|
|
|
@@ -1639,7 +1694,7 @@
|
|
|
.playBtn {
|
|
|
background: #FFE59E;
|
|
|
color: #CA0001;
|
|
|
- padding:10px;
|
|
|
+ padding: 5px;
|
|
|
}
|
|
|
|
|
|
.more {
|
|
|
@@ -1657,4 +1712,8 @@
|
|
|
color: #FFE59E !important;
|
|
|
border-color: transparent !important;
|
|
|
}
|
|
|
+
|
|
|
+ .el-select .el-input__inner::placeholder{
|
|
|
+ color: #FFFFFF;
|
|
|
+ }
|
|
|
</style>
|