|
@@ -1,4 +1,11 @@
|
|
|
-import { PropType, defineComponent, onMounted, reactive, ref } from 'vue';
|
|
|
+import {
|
|
|
+ Fragment,
|
|
|
+ PropType,
|
|
|
+ defineComponent,
|
|
|
+ onMounted,
|
|
|
+ reactive,
|
|
|
+ ref
|
|
|
+} from 'vue';
|
|
|
import styles from './index.module.less';
|
|
|
import {
|
|
|
NButton,
|
|
@@ -48,7 +55,8 @@ export default defineComponent({
|
|
|
practiceTimes: null as any, // 练习时长
|
|
|
difficulty: 'BEGINNER', // 评测难度
|
|
|
evaluationSpeed: null as any, // 评测速度
|
|
|
- evaluationScore: null as any // 评测分数
|
|
|
+ evaluationScore: null as any, // 评测分数
|
|
|
+ firstMeasureIsZero: false as boolean // 标记xml是否是从0小节开始
|
|
|
});
|
|
|
const formsRef = ref();
|
|
|
|
|
@@ -83,6 +91,8 @@ export default defineComponent({
|
|
|
configJson.trainingTimes = forms.evaluationScore;
|
|
|
}
|
|
|
configJson.practiceChapterMax = forms.baseMaxScore;
|
|
|
+ // 添加是否从0小节开始的标记
|
|
|
+ configJson.firstMeasureIsZero = forms.firstMeasureIsZero;
|
|
|
params.trainingConfigJson = configJson;
|
|
|
// if (props.type === 'train') {
|
|
|
// if (forms.id) {
|
|
@@ -105,6 +115,7 @@ export default defineComponent({
|
|
|
|
|
|
onMounted(() => {
|
|
|
const item = props.item;
|
|
|
+ const playSpeedFloor = Math.floor(item.playSpeed || 0);
|
|
|
if (item.trainId) {
|
|
|
forms.id = item.trainId;
|
|
|
// forms.practiceSpeed = Number(item.practiceSpeed);
|
|
@@ -117,36 +128,38 @@ export default defineComponent({
|
|
|
|
|
|
forms.practiceSpeed = item.practiceSpeed
|
|
|
? Number(item.practiceSpeed)
|
|
|
- : item.playSpeed
|
|
|
- ? item.playSpeed
|
|
|
+ : playSpeedFloor
|
|
|
+ ? playSpeedFloor
|
|
|
: null;
|
|
|
forms.evaluationSpeed = item.practiceSpeed
|
|
|
? Number(item.practiceSpeed)
|
|
|
- : item.playSpeed
|
|
|
- ? item.playSpeed
|
|
|
+ : playSpeedFloor
|
|
|
+ ? playSpeedFloor
|
|
|
: null;
|
|
|
} else {
|
|
|
forms.evaluationScore = item.trainingTimes;
|
|
|
|
|
|
forms.evaluationSpeed = item.evaluateSpeed
|
|
|
? Number(item.evaluateSpeed)
|
|
|
- : item.playSpeed
|
|
|
- ? item.playSpeed
|
|
|
+ : playSpeedFloor
|
|
|
+ ? playSpeedFloor
|
|
|
: null;
|
|
|
forms.practiceSpeed = item.evaluateSpeed
|
|
|
? Number(item.evaluateSpeed)
|
|
|
- : item.playSpeed
|
|
|
- ? item.playSpeed
|
|
|
+ : playSpeedFloor
|
|
|
+ ? playSpeedFloor
|
|
|
: null;
|
|
|
}
|
|
|
|
|
|
// forms.evaluationSpeed = item.evaluateSpeed;
|
|
|
} else {
|
|
|
- forms.minScore = 1;
|
|
|
+ // xml小节从0开始,最小为0,否则为1
|
|
|
+ forms.minScore = item.firstMeasureIsZero ? 0 : 1;
|
|
|
forms.maxScore = item.practiceChapterMax ? item.practiceChapterMax : 1;
|
|
|
- forms.evaluationSpeed = item.playSpeed || null;
|
|
|
- forms.practiceSpeed = item.playSpeed || null;
|
|
|
+ forms.evaluationSpeed = playSpeedFloor || null;
|
|
|
+ forms.practiceSpeed = playSpeedFloor || null;
|
|
|
}
|
|
|
+ forms.firstMeasureIsZero = item.firstMeasureIsZero;
|
|
|
forms.audioPlayTypeArray = item.audioPlayTypeArray || [];
|
|
|
forms.containAccompaniment = item.containAccompaniment || null;
|
|
|
forms.baseMaxScore = item.practiceChapterMax || 99;
|
|
@@ -217,7 +230,7 @@ export default defineComponent({
|
|
|
<NInputNumber
|
|
|
v-model:value={forms.minScore}
|
|
|
showButton={false}
|
|
|
- min={1}
|
|
|
+ min={forms.firstMeasureIsZero ? 0 : 1}
|
|
|
max={forms.baseMaxScore}
|
|
|
precision={0}
|
|
|
placeholder="最小练习小节"
|
|
@@ -251,7 +264,7 @@ export default defineComponent({
|
|
|
v-model:value={forms.maxScore}
|
|
|
showButton={false}
|
|
|
precision={0}
|
|
|
- min={forms.minScore || 1}
|
|
|
+ min={forms.minScore || 0}
|
|
|
max={forms.baseMaxScore}
|
|
|
placeholder="最大练习小节"
|
|
|
clearable
|
|
@@ -259,7 +272,7 @@ export default defineComponent({
|
|
|
</NFormItem>
|
|
|
</div>
|
|
|
{forms.type === 'PRACTICE' && (
|
|
|
- <>
|
|
|
+ <Fragment key={'PRACTICE'}>
|
|
|
<NFormItem
|
|
|
label="练习速度"
|
|
|
path="practiceSpeed"
|
|
@@ -321,11 +334,11 @@ export default defineComponent({
|
|
|
</NButton>
|
|
|
</NSpace>
|
|
|
</NFormItem>
|
|
|
- </>
|
|
|
+ </Fragment>
|
|
|
)}
|
|
|
|
|
|
{forms.type === 'EVALUATION' && (
|
|
|
- <>
|
|
|
+ <Fragment key={'EVALUATION'}>
|
|
|
<NFormItem
|
|
|
label="评测难度"
|
|
|
path="type"
|
|
@@ -411,7 +424,7 @@ export default defineComponent({
|
|
|
<NInputGroupLabel>分</NInputGroupLabel>
|
|
|
</NInputGroup>
|
|
|
</NFormItem>
|
|
|
- </>
|
|
|
+ </Fragment>
|
|
|
)}
|
|
|
</NForm>
|
|
|
|