|
@@ -40,6 +40,8 @@ import iconSortAsc from '@/common/images/icon-sort-asc.png';
|
|
|
import TheTooltip from '/src/components/TheTooltip';
|
|
|
import CardPreview from '/src/components/card-preview';
|
|
|
import { saveAs } from 'file-saver';
|
|
|
+import { useRoute } from 'vue-router';
|
|
|
+import dayjs from 'dayjs';
|
|
|
export default defineComponent({
|
|
|
name: 'student-practiceData',
|
|
|
props: {
|
|
@@ -53,12 +55,10 @@ export default defineComponent({
|
|
|
}
|
|
|
},
|
|
|
setup(props) {
|
|
|
+ const route = useRoute()
|
|
|
const userStore = useUserStore();
|
|
|
const catchData = useCatchStore()
|
|
|
const message = useMessage()
|
|
|
- // const chartRef = ref<HTMLDivElement | null>(null);
|
|
|
- // const { setOptions } = useECharts(chartRef as Ref<HTMLDivElement>);
|
|
|
- // const practiceFlag = ref(true);
|
|
|
const payForm = reactive({
|
|
|
height: '360px',
|
|
|
width: '100%',
|
|
@@ -370,9 +370,13 @@ export default defineComponent({
|
|
|
sortType: state.sortType,
|
|
|
asc: state.asc,
|
|
|
...temp,
|
|
|
-
|
|
|
...getTimes(
|
|
|
musicStartTime,
|
|
|
+ ['userMusicStartTime', 'userMusicEndTime'],
|
|
|
+ 'YYYY-MM-DD'
|
|
|
+ ),
|
|
|
+ ...getTimes(
|
|
|
+ timer.value,
|
|
|
['startTime', 'endTime'],
|
|
|
'YYYY-MM-DD'
|
|
|
),
|
|
@@ -440,7 +444,7 @@ export default defineComponent({
|
|
|
// 下载资源
|
|
|
const fileUrl = row.videoFilePath || row.recordFilePath;
|
|
|
const filename =
|
|
|
- row.musicSheetName + '-' + row.userId;
|
|
|
+ row.musicSheetName + route.query.studentName + ( row.userMusicTime ? dayjs( row.userMusicTime) : '');
|
|
|
const sfixx = fileUrl.substring(fileUrl.lastIndexOf('.'));
|
|
|
// 发起Fetch请求
|
|
|
fetch(fileUrl)
|
|
@@ -463,10 +467,15 @@ export default defineComponent({
|
|
|
});
|
|
|
};
|
|
|
const onReset = () => {
|
|
|
- timer.value = [
|
|
|
- getNowDateAndMonday(new Date().getTime()),
|
|
|
- getNowDateAndSunday(new Date().getTime())
|
|
|
- ];
|
|
|
+ if(route.query.times) {
|
|
|
+ timer.value = JSON.parse(route.query.times as any)
|
|
|
+ } else {
|
|
|
+ timer.value = [
|
|
|
+ getNowDateAndMonday(new Date().getTime()),
|
|
|
+ getNowDateAndSunday(new Date().getTime())
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
state.searchForm = {
|
|
|
musicSheetName: '',
|
|
|
heardLevel: null, //
|
|
@@ -492,6 +501,9 @@ export default defineComponent({
|
|
|
const iframeRef = ref();
|
|
|
onMounted(async () => {
|
|
|
state.loading = true
|
|
|
+ if(route.query.times) {
|
|
|
+ timer.value = JSON.parse(route.query.times as any)
|
|
|
+ }
|
|
|
await catchData.getSubjects();
|
|
|
await getTrainingStat()
|
|
|
await getList();
|
|
@@ -589,7 +601,7 @@ export default defineComponent({
|
|
|
v-model:value={state.searchForm.userMusicFlag}></CSelect>
|
|
|
</NFormItem>
|
|
|
|
|
|
- {/* <NFormItem>
|
|
|
+ <NFormItem>
|
|
|
<CDatePicker
|
|
|
v-model:value={state.searchForm.musicStartTime}
|
|
|
separator={'至'}
|
|
@@ -601,7 +613,7 @@ export default defineComponent({
|
|
|
clearable: true
|
|
|
} as any)}
|
|
|
timerValue={state.searchForm.musicStartTime}></CDatePicker>
|
|
|
- </NFormItem> */}
|
|
|
+ </NFormItem>
|
|
|
|
|
|
<NFormItem>
|
|
|
<NSpace justify="end">
|