|
@@ -1,4 +1,4 @@
|
|
|
-import { defineComponent, onMounted, reactive } from 'vue';
|
|
|
+import { defineComponent, onMounted, reactive, ref } from 'vue';
|
|
|
import styles from './index.module.less';
|
|
|
import { NButton, NInput, NSelect, NSwitch, NTooltip } from 'naive-ui';
|
|
|
import { usePrepareStore } from '/src/store/modules/prepareLessons';
|
|
@@ -8,6 +8,8 @@ export default defineComponent({
|
|
|
name: 'courseware-head',
|
|
|
setup(props, { emit, expose }) {
|
|
|
const prepareStore = usePrepareStore();
|
|
|
+ // 第一个课件标题,第二个课件声部
|
|
|
+ const checkForms = ref<any[]>(['', '']);
|
|
|
const forms = reactive({
|
|
|
subjects: [] as any,
|
|
|
openFlagEnable: true, // 是否支持修改公开状态
|
|
@@ -27,14 +29,24 @@ export default defineComponent({
|
|
|
return forms;
|
|
|
};
|
|
|
|
|
|
+ const updateDefaultInfo = (item: any) => {
|
|
|
+ forms.subjects = item.subjects;
|
|
|
+ forms.openFlagEnable = item.openFlagEnable;
|
|
|
+ forms.autoPlay = item.autoPlay;
|
|
|
+ forms.name = item.name;
|
|
|
+ forms.openFlag = item.openFlag;
|
|
|
+ };
|
|
|
+
|
|
|
+ const checkCoursewareForm = () => {
|
|
|
+ //
|
|
|
+ checkForms.value[0] = forms.name ? '' : 'error';
|
|
|
+ checkForms.value[1] = forms.subjects?.length > 0 ? '' : 'error';
|
|
|
+ };
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
- eventGlobal.on('updateCoursewareHeadInfo', (item: any) => {
|
|
|
- forms.subjects = item.subjects;
|
|
|
- forms.openFlagEnable = item.openFlagEnable;
|
|
|
- forms.autoPlay = item.autoPlay;
|
|
|
- forms.name = item.name;
|
|
|
- forms.openFlag = item.openFlag;
|
|
|
- });
|
|
|
+ eventGlobal.on('updateCoursewareHeadInfo', updateDefaultInfo);
|
|
|
+
|
|
|
+ eventGlobal.on('checkCoursewareForm', checkCoursewareForm);
|
|
|
});
|
|
|
|
|
|
expose({
|
|
@@ -58,6 +70,10 @@ export default defineComponent({
|
|
|
v-model:value={forms.name}
|
|
|
maxlength={20}
|
|
|
clearable
|
|
|
+ status={checkForms.value[0]}
|
|
|
+ onUpdate:value={() => {
|
|
|
+ checkForms.value[0] = forms.name ? '' : 'error';
|
|
|
+ }}
|
|
|
/>
|
|
|
</div>
|
|
|
<div class={[styles.btnItem, styles.block]}>
|
|
@@ -65,6 +81,7 @@ export default defineComponent({
|
|
|
<span>*</span>课件声部
|
|
|
</span>
|
|
|
<NSelect
|
|
|
+ status={checkForms.value[1]}
|
|
|
placeholder="请选择声部(可多选)"
|
|
|
class={styles.btnSubjectList}
|
|
|
options={prepareStore.getSubjectList}
|
|
@@ -88,6 +105,9 @@ export default defineComponent({
|
|
|
</>
|
|
|
)
|
|
|
}}
|
|
|
+ onUpdate:value={() => {
|
|
|
+ checkForms.value[1] = forms.subjects?.length > 0 ? '' : 'error';
|
|
|
+ }}
|
|
|
/>
|
|
|
</div>
|
|
|
<div class={styles.btnItem}>
|