|
@@ -2,7 +2,11 @@
|
|
|
<template v-if="form.img">
|
|
<template v-if="form.img">
|
|
|
<div class="flex1" style="overflow: auto;">
|
|
<div class="flex1" style="overflow: auto;">
|
|
|
<TelViewTem @selectArea="selectArea" :enableDraw="enableDraw" bgColor="#f7f7f7" :bgSrc="form.img">
|
|
<TelViewTem @selectArea="selectArea" :enableDraw="enableDraw" bgColor="#f7f7f7" :bgSrc="form.img">
|
|
|
- <DragResizeRotate v-if="form.bgm" v-model="form.bgmRact" @deactivated="deactivated"></DragResizeRotate>
|
|
|
|
|
|
|
+ <DragResizeRotate v-if="form.bgm" v-model="form.bgmRact" @activated="activatedBgm($event)" @deactivated="deactivatedBgm">
|
|
|
|
|
+ <div class="w-100% h-100% d-flex j-c a-c">
|
|
|
|
|
+ <img src="@/assets/images/bg_music_icon.png" />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </DragResizeRotate>
|
|
|
<template v-for="(item, index) in form?.events" :key="index">
|
|
<template v-for="(item, index) in form?.events" :key="index">
|
|
|
<DragResizeRotate v-model="form.events[index]" @delete="deleteItemEvents($event, index, item)" @activated="activated($event, index)" @deactivated="deactivated"></DragResizeRotate>
|
|
<DragResizeRotate v-model="form.events[index]" @delete="deleteItemEvents($event, index, item)" @activated="activated($event, index)" @deactivated="deactivated"></DragResizeRotate>
|
|
|
</template>
|
|
</template>
|
|
@@ -16,12 +20,14 @@
|
|
|
</template>
|
|
</template>
|
|
|
</template>
|
|
</template>
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
|
|
+import { httpRequests } from '@/utils/httpRequests';
|
|
|
import { importFileGetUrls } from '@/utils/models';
|
|
import { importFileGetUrls } from '@/utils/models';
|
|
|
const emit = defineEmits<{
|
|
const emit = defineEmits<{
|
|
|
(e: 'update:modelValue', value: any): void,
|
|
(e: 'update:modelValue', value: any): void,
|
|
|
(e: 'activated', value: any): void
|
|
(e: 'activated', value: any): void
|
|
|
(e: 'deactivated'): void
|
|
(e: 'deactivated'): void
|
|
|
- (e: 'deleteItemEvents', value: any): void
|
|
|
|
|
|
|
+ (e: 'deleteItemEvents', value: any): void,
|
|
|
|
|
+ (e: 'muisc', value: any): void
|
|
|
}>();
|
|
}>();
|
|
|
const props = defineProps<{
|
|
const props = defineProps<{
|
|
|
modelValue: any
|
|
modelValue: any
|
|
@@ -51,10 +57,32 @@ const activated = (event, index) => {
|
|
|
enableDraw.value = false;
|
|
enableDraw.value = false;
|
|
|
emit('activated', form.value.events[index] || { id: '' });
|
|
emit('activated', form.value.events[index] || { id: '' });
|
|
|
}
|
|
}
|
|
|
|
|
+const activatedBgm = (event) => {
|
|
|
|
|
+ enableDraw.value = false;
|
|
|
|
|
+}
|
|
|
const deactivated = () => {
|
|
const deactivated = () => {
|
|
|
enableDraw.value = true;
|
|
enableDraw.value = true;
|
|
|
emit('deactivated');
|
|
emit('deactivated');
|
|
|
}
|
|
}
|
|
|
|
|
+const deactivatedBgm = async () => {
|
|
|
|
|
+ enableDraw.value = true;
|
|
|
|
|
+ const musicParams = {
|
|
|
|
|
+ id: form.value.id,
|
|
|
|
|
+ bgmRact: form.value.bgmRact || {
|
|
|
|
|
+ x: 100,
|
|
|
|
|
+ y: 100,
|
|
|
|
|
+ w: 50,
|
|
|
|
|
+ h: 50
|
|
|
|
|
+ },
|
|
|
|
|
+ bgm: form.value.bgm || null
|
|
|
|
|
+ };
|
|
|
|
|
+ const saveRes = await httpRequests.post('/dgtmedicine/trainpage/setBgm', musicParams);
|
|
|
|
|
+ if (saveRes && saveRes.code === 200) {
|
|
|
|
|
+ // 更新背景音乐事件
|
|
|
|
|
+ emit('muisc', form.value);
|
|
|
|
|
+ }
|
|
|
|
|
+ emit('deactivated');
|
|
|
|
|
+}
|
|
|
const deleteItemEvents = (event: any, index: number, item: any) => {
|
|
const deleteItemEvents = (event: any, index: number, item: any) => {
|
|
|
form.value.events.splice(index, 1);
|
|
form.value.events.splice(index, 1);
|
|
|
emit('deleteItemEvents', item);
|
|
emit('deleteItemEvents', item);
|