|
@@ -4,7 +4,8 @@ import {
|
|
|
nextTick,
|
|
|
onMounted,
|
|
|
reactive,
|
|
|
- ref
|
|
|
+ ref,
|
|
|
+ toRef
|
|
|
} from 'vue';
|
|
|
import styles from './index.module.less';
|
|
|
import { NTabs, NTabPane, NModal } from 'naive-ui';
|
|
@@ -16,7 +17,9 @@ import ResourceItem from './components/resource-item';
|
|
|
import TrainUpdate from '/src/views/attend-class/model/train-update';
|
|
|
import requestOrigin from 'umi-request';
|
|
|
import { eventGlobal } from '/src/utils';
|
|
|
-
|
|
|
+import useDrag from '@/hooks/useDrag';
|
|
|
+import Dragbom from '@/hooks/useDrag/dragbom';
|
|
|
+import { useUserStore } from '@/store/modules/users';
|
|
|
export default defineComponent({
|
|
|
name: 'resource-main',
|
|
|
props: {
|
|
@@ -24,6 +27,11 @@ export default defineComponent({
|
|
|
cardType: {
|
|
|
type: String as PropType<'' | 'homerowk-record' | 'prepare'>,
|
|
|
default: ''
|
|
|
+ },
|
|
|
+ from: {
|
|
|
+ // 来自哪里
|
|
|
+ type: String,
|
|
|
+ default: ''
|
|
|
}
|
|
|
},
|
|
|
setup(props, { expose }) {
|
|
@@ -79,7 +87,40 @@ export default defineComponent({
|
|
|
onMounted(() => {
|
|
|
resetTabPosition();
|
|
|
});
|
|
|
-
|
|
|
+ // 弹窗拖动
|
|
|
+ // 曲目资源
|
|
|
+ let selectResourceStatusAddBoxDragData: any;
|
|
|
+ let selectResourceStatusAddBoxClass: string;
|
|
|
+ if (props.from === 'class') {
|
|
|
+ const users = useUserStore();
|
|
|
+ selectResourceStatusAddBoxClass = 'selectResourceStatusAddBoxClass_drag';
|
|
|
+ selectResourceStatusAddBoxDragData = useDrag(
|
|
|
+ [
|
|
|
+ `${selectResourceStatusAddBoxClass} .select-resource>.n-tabs>.n-tabs-nav--top.n-tabs-nav`,
|
|
|
+ `${selectResourceStatusAddBoxClass} .bom_drag`
|
|
|
+ ],
|
|
|
+ selectResourceStatusAddBoxClass,
|
|
|
+ toRef(forms, 'selectMusicStatus'),
|
|
|
+ users.info.id
|
|
|
+ );
|
|
|
+ }
|
|
|
+ // 曲目资源 作业设置
|
|
|
+ let workSetingBoxDragData: any;
|
|
|
+ let workSetingBoxClass: string;
|
|
|
+ if (props.from === 'class') {
|
|
|
+ const users = useUserStore();
|
|
|
+ workSetingBoxClass = 'workSetingBoxClass_drag';
|
|
|
+ workSetingBoxDragData = useDrag(
|
|
|
+ [
|
|
|
+ `${workSetingBoxClass}>.n-card-header`,
|
|
|
+ `${workSetingBoxClass} .bom_drag`
|
|
|
+ ],
|
|
|
+ workSetingBoxClass,
|
|
|
+ toRef(forms, 'editStatus'),
|
|
|
+ users.info.id
|
|
|
+ );
|
|
|
+ }
|
|
|
+ //
|
|
|
expose({
|
|
|
resetTabPosition
|
|
|
});
|
|
@@ -181,13 +222,22 @@ export default defineComponent({
|
|
|
default: () => (
|
|
|
<>
|
|
|
<NTabPane name="myMusic" tab="我的曲目">
|
|
|
- <SelectMusic cardType={props.cardType} type="myMusic" />
|
|
|
+ <SelectMusic
|
|
|
+ from={props.from}
|
|
|
+ cardType={props.cardType}
|
|
|
+ type="myMusic"
|
|
|
+ />
|
|
|
</NTabPane>
|
|
|
<NTabPane name="sahreMusic" tab="共享曲目">
|
|
|
- <SelectMusic cardType={props.cardType} type="sahreMusic" />
|
|
|
+ <SelectMusic
|
|
|
+ from={props.from}
|
|
|
+ cardType={props.cardType}
|
|
|
+ type="sahreMusic"
|
|
|
+ />
|
|
|
</NTabPane>
|
|
|
<NTabPane name="collectMusic" tab="收藏曲目">
|
|
|
<SelectMusic
|
|
|
+ from={props.from}
|
|
|
cardType={props.cardType}
|
|
|
type="collectMusic"
|
|
|
/>
|
|
@@ -211,20 +261,40 @@ export default defineComponent({
|
|
|
</NModal>
|
|
|
|
|
|
<NModal
|
|
|
+ style={
|
|
|
+ props.from === 'class'
|
|
|
+ ? selectResourceStatusAddBoxDragData.styleDrag.value
|
|
|
+ : {}
|
|
|
+ }
|
|
|
v-model:show={forms.selectMusicStatus}
|
|
|
onUpdate:show={(val: any) => {
|
|
|
if (!val) {
|
|
|
prepareStore.setSelectMusicStatus(val);
|
|
|
}
|
|
|
}}
|
|
|
- class={['modalTitle', styles.selectMusicModal]}
|
|
|
+ class={[
|
|
|
+ 'modalTitle',
|
|
|
+ styles.selectMusicModal,
|
|
|
+ selectResourceStatusAddBoxClass
|
|
|
+ ]}
|
|
|
preset="card"
|
|
|
title={'选择曲目'}>
|
|
|
- <SelectMusicModal onAdd={(item: any) => onAdd(item)} />
|
|
|
+ <SelectMusicModal
|
|
|
+ from={props.from}
|
|
|
+ onAdd={(item: any) => onAdd(item)}
|
|
|
+ />
|
|
|
+ {props.from === 'class' && <Dragbom class={styles.dragbom}></Dragbom>}
|
|
|
</NModal>
|
|
|
<NModal
|
|
|
+ style={
|
|
|
+ props.from === 'class' ? workSetingBoxDragData.styleDrag.value : {}
|
|
|
+ }
|
|
|
v-model:show={forms.editStatus}
|
|
|
- class={['modalTitle background', styles.trainEditModal]}
|
|
|
+ class={[
|
|
|
+ 'modalTitle background',
|
|
|
+ styles.trainEditModal,
|
|
|
+ workSetingBoxClass
|
|
|
+ ]}
|
|
|
preset="card"
|
|
|
title="作业设置">
|
|
|
<TrainUpdate
|
|
@@ -244,6 +314,7 @@ export default defineComponent({
|
|
|
eventGlobal.emit('onTrainAddItem', train);
|
|
|
}}
|
|
|
/>
|
|
|
+ {props.from === 'class' && <Dragbom class={styles.dragbom}></Dragbom>}
|
|
|
</NModal>
|
|
|
</div>
|
|
|
);
|