|
@@ -1,4 +1,4 @@
|
|
|
-import { defineComponent, onMounted, reactive } from 'vue';
|
|
|
+import { PropType, defineComponent, onMounted, reactive } from 'vue';
|
|
|
import styles from './index.module.less';
|
|
|
import { NButton, NInput, NSelect, NSpace } from 'naive-ui';
|
|
|
import { useCatchStore } from '/src/store/modules/catchData';
|
|
@@ -6,6 +6,12 @@ import { useThrottleFn } from '@vueuse/core';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'resource-search-group',
|
|
|
+ props: {
|
|
|
+ type: {
|
|
|
+ type: String as PropType<'myMusic' | 'sahreMusic' | 'collectMusic'>,
|
|
|
+ default: 'myMusic'
|
|
|
+ }
|
|
|
+ },
|
|
|
emits: ['search'],
|
|
|
setup(props, { emit }) {
|
|
|
const catchStore = useCatchStore();
|
|
@@ -29,22 +35,24 @@ export default defineComponent({
|
|
|
return () => (
|
|
|
<>
|
|
|
<div class={styles.searchGroup}>
|
|
|
- <div class={styles.searchSelect}>
|
|
|
- <NSelect
|
|
|
- placeholder="全部教材"
|
|
|
- options={[
|
|
|
- { name: '全部教材', id: null },
|
|
|
- ...catchStore.getMusicCategories
|
|
|
- ]}
|
|
|
- clearable
|
|
|
- labelField="name"
|
|
|
- valueField="id"
|
|
|
- v-model:value={forms.musicSheetCategoriesId}
|
|
|
- onUpdate:value={() => {
|
|
|
- onSearch();
|
|
|
- }}
|
|
|
- />
|
|
|
- </div>
|
|
|
+ {props.type !== 'myMusic' && (
|
|
|
+ <div class={styles.searchSelect}>
|
|
|
+ <NSelect
|
|
|
+ placeholder="全部教材"
|
|
|
+ options={[
|
|
|
+ { name: '全部教材', id: null },
|
|
|
+ ...catchStore.getMusicCategories
|
|
|
+ ]}
|
|
|
+ clearable
|
|
|
+ labelField="name"
|
|
|
+ valueField="id"
|
|
|
+ v-model:value={forms.musicSheetCategoriesId}
|
|
|
+ onUpdate:value={() => {
|
|
|
+ onSearch();
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ )}
|
|
|
|
|
|
<NInput
|
|
|
type="text"
|