import {NButton, NCascader, NForm, NFormItem, NInput, NSpace, useMessage} from 'naive-ui' import {defineComponent, onMounted, reactive, ref} from 'vue' import {filterPointCategory} from '@/views/teaching-manage/unit-test' import {musicSheetCategoriesSave, musicSheetCategoriesUpdate} from "@views/music-library/api"; export default defineComponent({ emits: ['close', 'getList'], props: ['actvieRow', 'saveMode', 'list'], name: 'save-categroy-dialog', setup(props, {emit}) { const message = useMessage() const formRef = ref() const parentList = ref([ {name: '顶级分类', id: 0}, ...filterPointCategory(props.list, 'musicSheetCategoriesList') ] as any) const state = reactive({ loading: false, dataList: [] as any, btnLoading: false }) const forms = reactive({ id: '', name: '', enable: true, parentId: '0' } as any) const onSubmit = async () => { formRef.value?.validate(async (errors: any) => { if (errors) { return; } state.btnLoading = true try { if(props.saveMode==='add'){ const {data} = await musicSheetCategoriesSave({...forms}) emit('getList') message.success('添加成功') }else { const {data} = await musicSheetCategoriesUpdate({...forms}) emit('getList') message.success('修改成功') } } catch (error) { } state.btnLoading = false }) } onMounted(() => { if (props.saveMode === 'add') { // 添加子分类 if (props.actvieRow && props.actvieRow.id) { forms.parentId = props?.actvieRow.id + '' } } else { for (let key in props?.actvieRow) { forms[key] = props?.actvieRow[key] } } }) return () => (
{props.saveMode === 'add' && props.actvieRow && ( )} emit('close')}> 取消 onSubmit()} loading={state.btnLoading} disabled={state.btnLoading} > 确认
) } })