import { defineComponent, onMounted, reactive, ref } from 'vue'; import styles from './index.module.less'; import { NButton, NForm, NFormItem, NSpace } from 'naive-ui'; import iconUpload from '../../images/icon-upload.png'; import iconEdit from '../../images/icon-edit.png'; import iconSelectAll from '../../images/icon-selectall.png'; import iconSelectAllDefault from '../../images/icon-selectall-default.png'; import iconPen from '../../images/icon-pen.png'; import iconDelete from '../../images/icon-delete.png'; import TheSearch from '/src/components/TheSearch'; import { resourceTypeArray } from '/src/utils/searchArray'; import { useCatchStore } from '/src/store/modules/catchData'; export default defineComponent({ name: 'search-group', emits: ['search', 'upload', 'edit', 'selectAll', 'delete', 'update'], setup(props, { emit }) { const resourceList = ref([] as any[]); const catchStore = useCatchStore(); const forms = reactive({ type: 'MUSIC', // name: '', bookVersionId: null, subjectId: null }); const state = reactive({ isEdit: false, // 是否编辑 isSelectAll: false }); const onSearch = () => { emit('search', forms); }; onMounted(async () => { resourceList.value = [ // { // label: '全部', // value: '' // } ]; resourceTypeArray.forEach((item: any) => { // if (item.value !== 'MUSIC') { resourceList.value.push(item); // } }); // 获取声部列表 await catchStore.getSubjects(); }); return () => (
{resourceList.value.map((item: any) => ( { forms.type = item.value; onSearch(); }}> {item.label} ))} {state.isEdit ? ( <> { state.isSelectAll = !state.isSelectAll; emit('selectAll', state.isSelectAll); }}> 全选 emit('delete')}> 删除 emit('update')}> 修改 { state.isEdit = false; state.isSelectAll = false; emit('edit', state.isEdit); }}> 完成编辑 ) : ( <> emit('upload')}> 上传资源 { state.isEdit = true; emit('edit', state.isEdit); }}> 编辑资源 )}
{catchStore.getSubjectAllList.map((subject: any) => ( { forms.subjectId = subject.id; onSearch(); }}> {subject.name} ))} { forms.name = val; onSearch(); }} />
); } });