|
@@ -20,12 +20,17 @@ import {
|
|
|
} from 'naive-ui'
|
|
|
import Pagination from '@components/pagination'
|
|
|
import { getMapValueByKey, getSelectDataFromObj } from '@/utils/objectUtil'
|
|
|
-import {appKey, musicSheetSourceType, musicSheetType, scoreType} from '@/utils/constant'
|
|
|
-import {musicSheetApplicationExtendCategoryList, musicSheetApplicationExtendSaveBatch, musicSheetApplicationOwnerList, musicSheetPage} from '@views/music-library/api'
|
|
|
+import { appKey, musicSheetSourceType, musicSheetType, scoreType } from '@/utils/constant'
|
|
|
+import {
|
|
|
+ musicSheetApplicationExtendCategoryList,
|
|
|
+ musicSheetApplicationExtendSaveBatch,
|
|
|
+ musicSheetApplicationOwnerList,
|
|
|
+ musicSheetPage
|
|
|
+} from '@views/music-library/api'
|
|
|
import deepClone from '@/utils/deep.clone'
|
|
|
import { getOwnerName } from '@views/music-library/musicUtil'
|
|
|
import TheTooltip from '@/components/TheTooltip'
|
|
|
-import {sysApplicationPage} from "@views/menu-manage/api";
|
|
|
+import { sysApplicationPage } from '@views/menu-manage/api'
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'kt-addMusic',
|
|
@@ -62,12 +67,12 @@ export default defineComponent({
|
|
|
},
|
|
|
searchForm: {
|
|
|
keyword: null,
|
|
|
- musicSheetType: null,
|
|
|
+ // musicSheetType: null,
|
|
|
subjectId: null,
|
|
|
sourceType: null,
|
|
|
- composer : null,
|
|
|
- userId : null,
|
|
|
- applicationId : null,
|
|
|
+ composer: null,
|
|
|
+ userId: null,
|
|
|
+ applicationId: null
|
|
|
},
|
|
|
subjectList: [] as any,
|
|
|
showAdd: false,
|
|
@@ -77,18 +82,18 @@ export default defineComponent({
|
|
|
musicSheetCategories: [] as any,
|
|
|
startSortNum: null as any, // 排序起始值
|
|
|
projectMusicCategoryId: null as any, // 曲目分类ID
|
|
|
- isConvertibleScore: null as any,//是否支持转简谱
|
|
|
- scoreType: null as any,//默认谱面
|
|
|
+ isConvertibleScore: null as any, //是否支持转简谱
|
|
|
+ scoreType: null as any, //默认谱面
|
|
|
|
|
|
useProjectData: [] as any, // 适用项目行数据
|
|
|
userIdDisable: true,
|
|
|
userIdData: [] as any,
|
|
|
- globalPaymentType: null as any,
|
|
|
+ globalPaymentType: null as any
|
|
|
})
|
|
|
|
|
|
onMounted(async () => {
|
|
|
state.searchForm.keyword = null
|
|
|
- state.searchForm.musicSheetType = null
|
|
|
+ // state.searchForm.musicSheetType = null
|
|
|
state.searchForm.subjectId = null
|
|
|
state.searchForm.sourceType = null
|
|
|
state.searchForm.composer = null
|
|
@@ -99,15 +104,14 @@ export default defineComponent({
|
|
|
// state.musicSheetCategories = props.musicSheetCategories
|
|
|
//加载曲目分类列表
|
|
|
try {
|
|
|
- const {data} = await musicSheetApplicationExtendCategoryList({
|
|
|
+ const { data } = await musicSheetApplicationExtendCategoryList({
|
|
|
applicationIds: props.appId,
|
|
|
enable: true
|
|
|
})
|
|
|
if (data && data.length > 0) {
|
|
|
state.musicSheetCategories = data[0].musicSheetCategories
|
|
|
}
|
|
|
- } catch {
|
|
|
- }
|
|
|
+ } catch {}
|
|
|
await initUseAppList()
|
|
|
await getList()
|
|
|
})
|
|
@@ -131,14 +135,19 @@ export default defineComponent({
|
|
|
} catch {}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
const getList = async () => {
|
|
|
try {
|
|
|
state.loading = true
|
|
|
const search = {
|
|
|
...state.searchForm,
|
|
|
- userId: (state.searchForm.sourceType && state.searchForm.sourceType == 'PERSON') ? state.searchForm.userId : null,
|
|
|
- organizationRoleId: (state.searchForm.sourceType && state.searchForm.sourceType == 'ORG') ? state.searchForm.userId : null,
|
|
|
+ userId:
|
|
|
+ state.searchForm.sourceType && state.searchForm.sourceType == 'PERSON'
|
|
|
+ ? state.searchForm.userId
|
|
|
+ : null,
|
|
|
+ organizationRoleId:
|
|
|
+ state.searchForm.sourceType && state.searchForm.sourceType == 'ORG'
|
|
|
+ ? state.searchForm.userId
|
|
|
+ : null
|
|
|
}
|
|
|
const { data } = await musicSheetPage({
|
|
|
...state.pagination,
|
|
@@ -232,7 +241,7 @@ export default defineComponent({
|
|
|
title: '可用声部',
|
|
|
key: 'subjectNames',
|
|
|
render: (row: any) => {
|
|
|
- return <TheTooltip content={row.subjectNames}/>
|
|
|
+ return <TheTooltip content={row.subjectNames} />
|
|
|
}
|
|
|
},
|
|
|
{
|
|
@@ -243,17 +252,17 @@ export default defineComponent({
|
|
|
title: '音乐人',
|
|
|
key: 'composer'
|
|
|
},
|
|
|
- {
|
|
|
- title: '谱面渲染',
|
|
|
- key: 'musicSheetType',
|
|
|
- render: (row: any) => {
|
|
|
- return (
|
|
|
- <div>
|
|
|
- {getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}
|
|
|
- </div>
|
|
|
- )
|
|
|
- }
|
|
|
- },
|
|
|
+ // {
|
|
|
+ // title: '谱面渲染',
|
|
|
+ // key: 'musicSheetType',
|
|
|
+ // render: (row: any) => {
|
|
|
+ // return (
|
|
|
+ // <div>
|
|
|
+ // {getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}
|
|
|
+ // </div>
|
|
|
+ // )
|
|
|
+ // }
|
|
|
+ // },
|
|
|
{
|
|
|
title: '曲目来源',
|
|
|
key: 'sourceType',
|
|
@@ -347,7 +356,7 @@ export default defineComponent({
|
|
|
labelField="name"
|
|
|
children-field="children"
|
|
|
placeholder="请选择曲目分类"
|
|
|
- checkStrategy={"child"}
|
|
|
+ checkStrategy={'child'}
|
|
|
value={row.projectMusicCategoryId}
|
|
|
options={state.musicSheetCategories}
|
|
|
onUpdateValue={(value: any) => {
|
|
@@ -362,143 +371,143 @@ export default defineComponent({
|
|
|
field.push({
|
|
|
title(column: any) {
|
|
|
return (
|
|
|
- <NSpace>
|
|
|
- 收费方式
|
|
|
- <NButton
|
|
|
- type="primary"
|
|
|
- size="small"
|
|
|
- text
|
|
|
- onClick={() => {
|
|
|
- dialogs.create({
|
|
|
- title: '请选择收费方式',
|
|
|
- showIcon: false,
|
|
|
- content: () => {
|
|
|
- return h(
|
|
|
- 'div',
|
|
|
+ <NSpace>
|
|
|
+ 收费方式
|
|
|
+ <NButton
|
|
|
+ type="primary"
|
|
|
+ size="small"
|
|
|
+ text
|
|
|
+ onClick={() => {
|
|
|
+ dialogs.create({
|
|
|
+ title: '请选择收费方式',
|
|
|
+ showIcon: false,
|
|
|
+ content: () => {
|
|
|
+ return h(
|
|
|
+ 'div',
|
|
|
+ {
|
|
|
+ class: 'flex flex-col justify-center items-center text-14px'
|
|
|
+ },
|
|
|
+ [
|
|
|
+ h(NSelect, {
|
|
|
+ onUpdateValue(v) {
|
|
|
+ state.globalPaymentType = v
|
|
|
+ },
|
|
|
+ clearable: true,
|
|
|
+ options: [
|
|
|
{
|
|
|
- class: 'flex flex-col justify-center items-center text-14px'
|
|
|
+ label: '免费',
|
|
|
+ value: 'FREE'
|
|
|
},
|
|
|
- [
|
|
|
- h(NSelect, {
|
|
|
- onUpdateValue(v) {
|
|
|
- state.globalPaymentType = v
|
|
|
- },
|
|
|
- clearable: true,
|
|
|
- options: [
|
|
|
- {
|
|
|
- label:'免费',
|
|
|
- value:'FREE'
|
|
|
- },
|
|
|
- {
|
|
|
- label:'会员',
|
|
|
- value:'VIP'
|
|
|
- }
|
|
|
- ]
|
|
|
- })
|
|
|
- ]
|
|
|
- )
|
|
|
- },
|
|
|
- positiveText: '确定',
|
|
|
- negativeText: '取消',
|
|
|
- onPositiveClick: () => {
|
|
|
- for (let i = 0; i < state.selectRowData.length; i++) {
|
|
|
- const item = state.selectRowData[i]
|
|
|
- item.paymentType = state.globalPaymentType
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }}
|
|
|
- >
|
|
|
- <NIcon size={15} style="padding-left: 5px;margin-top:4px">
|
|
|
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
|
- <path d="M2 26h28v2H2z" fill="currentColor"></path>
|
|
|
- <path
|
|
|
- d="M25.4 9c.8-.8.8-2 0-2.8l-3.6-3.6c-.8-.8-2-.8-2.8 0l-15 15V24h6.4l15-15zm-5-5L24 7.6l-3 3L17.4 7l3-3zM6 22v-3.6l10-10l3.6 3.6l-10 10H6z"
|
|
|
- fill="currentColor"
|
|
|
- ></path>
|
|
|
- </svg>
|
|
|
- </NIcon>
|
|
|
- </NButton>
|
|
|
- </NSpace>
|
|
|
+ {
|
|
|
+ label: '会员',
|
|
|
+ value: 'VIP'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ })
|
|
|
+ ]
|
|
|
+ )
|
|
|
+ },
|
|
|
+ positiveText: '确定',
|
|
|
+ negativeText: '取消',
|
|
|
+ onPositiveClick: () => {
|
|
|
+ for (let i = 0; i < state.selectRowData.length; i++) {
|
|
|
+ const item = state.selectRowData[i]
|
|
|
+ item.paymentType = state.globalPaymentType
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <NIcon size={15} style="padding-left: 5px;margin-top:4px">
|
|
|
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
|
+ <path d="M2 26h28v2H2z" fill="currentColor"></path>
|
|
|
+ <path
|
|
|
+ d="M25.4 9c.8-.8.8-2 0-2.8l-3.6-3.6c-.8-.8-2-.8-2.8 0l-15 15V24h6.4l15-15zm-5-5L24 7.6l-3 3L17.4 7l3-3zM6 22v-3.6l10-10l3.6 3.6l-10 10H6z"
|
|
|
+ fill="currentColor"
|
|
|
+ ></path>
|
|
|
+ </svg>
|
|
|
+ </NIcon>
|
|
|
+ </NButton>
|
|
|
+ </NSpace>
|
|
|
)
|
|
|
},
|
|
|
key: 'paymentType',
|
|
|
width: 200,
|
|
|
render: (row: any) => {
|
|
|
return (
|
|
|
- <NSelect
|
|
|
- placeholder="请选择收费方式"
|
|
|
- value={row.paymentType}
|
|
|
- options={[
|
|
|
- {
|
|
|
- label:'免费',
|
|
|
- value:'FREE'
|
|
|
- },
|
|
|
- {
|
|
|
- label:'会员',
|
|
|
- value:'VIP'
|
|
|
- }
|
|
|
- ]}
|
|
|
- clearable
|
|
|
- onUpdateValue={(value) => {
|
|
|
- row['paymentType'] = value
|
|
|
- }}
|
|
|
- />
|
|
|
+ <NSelect
|
|
|
+ placeholder="请选择收费方式"
|
|
|
+ value={row.paymentType}
|
|
|
+ options={[
|
|
|
+ {
|
|
|
+ label: '免费',
|
|
|
+ value: 'FREE'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '会员',
|
|
|
+ value: 'VIP'
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ clearable
|
|
|
+ onUpdateValue={(value) => {
|
|
|
+ row['paymentType'] = value
|
|
|
+ }}
|
|
|
+ />
|
|
|
)
|
|
|
}
|
|
|
})
|
|
|
field.push({
|
|
|
title(column: any) {
|
|
|
return (
|
|
|
- <NSpace>
|
|
|
- 默认谱面
|
|
|
- <NButton
|
|
|
- type="primary"
|
|
|
- size="small"
|
|
|
- text
|
|
|
- onClick={() => {
|
|
|
- dialogs.create({
|
|
|
- title: '请选择默认谱面',
|
|
|
- showIcon: false,
|
|
|
- content: () => {
|
|
|
- return h(
|
|
|
- 'div',
|
|
|
- {
|
|
|
- class: 'flex flex-col justify-center items-center text-14px'
|
|
|
- },
|
|
|
- [
|
|
|
- // icon
|
|
|
- h(NSelect, {
|
|
|
- onUpdateValue(v) {
|
|
|
- state.scoreType = v
|
|
|
- },
|
|
|
- options: getSelectDataFromObj(scoreType)
|
|
|
- })
|
|
|
- ]
|
|
|
- )
|
|
|
+ <NSpace>
|
|
|
+ 默认谱面
|
|
|
+ <NButton
|
|
|
+ type="primary"
|
|
|
+ size="small"
|
|
|
+ text
|
|
|
+ onClick={() => {
|
|
|
+ dialogs.create({
|
|
|
+ title: '请选择默认谱面',
|
|
|
+ showIcon: false,
|
|
|
+ content: () => {
|
|
|
+ return h(
|
|
|
+ 'div',
|
|
|
+ {
|
|
|
+ class: 'flex flex-col justify-center items-center text-14px'
|
|
|
},
|
|
|
- positiveText: '确定',
|
|
|
- negativeText: '取消',
|
|
|
- onPositiveClick: () => {
|
|
|
- for (let i = 0; i < state.selectRowData.length; i++) {
|
|
|
- const item = state.selectRowData[i]
|
|
|
- item.scoreType = state.scoreType
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }}
|
|
|
- >
|
|
|
- <NIcon size={15} style="padding-left: 5px;margin-top:4px">
|
|
|
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
|
- <path d="M2 26h28v2H2z" fill="currentColor"></path>
|
|
|
- <path
|
|
|
- d="M25.4 9c.8-.8.8-2 0-2.8l-3.6-3.6c-.8-.8-2-.8-2.8 0l-15 15V24h6.4l15-15zm-5-5L24 7.6l-3 3L17.4 7l3-3zM6 22v-3.6l10-10l3.6 3.6l-10 10H6z"
|
|
|
- fill="currentColor"
|
|
|
- ></path>
|
|
|
- </svg>
|
|
|
- </NIcon>
|
|
|
- </NButton>
|
|
|
- </NSpace>
|
|
|
+ [
|
|
|
+ // icon
|
|
|
+ h(NSelect, {
|
|
|
+ onUpdateValue(v) {
|
|
|
+ state.scoreType = v
|
|
|
+ },
|
|
|
+ options: getSelectDataFromObj(scoreType)
|
|
|
+ })
|
|
|
+ ]
|
|
|
+ )
|
|
|
+ },
|
|
|
+ positiveText: '确定',
|
|
|
+ negativeText: '取消',
|
|
|
+ onPositiveClick: () => {
|
|
|
+ for (let i = 0; i < state.selectRowData.length; i++) {
|
|
|
+ const item = state.selectRowData[i]
|
|
|
+ item.scoreType = state.scoreType
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <NIcon size={15} style="padding-left: 5px;margin-top:4px">
|
|
|
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
|
+ <path d="M2 26h28v2H2z" fill="currentColor"></path>
|
|
|
+ <path
|
|
|
+ d="M25.4 9c.8-.8.8-2 0-2.8l-3.6-3.6c-.8-.8-2-.8-2.8 0l-15 15V24h6.4l15-15zm-5-5L24 7.6l-3 3L17.4 7l3-3zM6 22v-3.6l10-10l3.6 3.6l-10 10H6z"
|
|
|
+ fill="currentColor"
|
|
|
+ ></path>
|
|
|
+ </svg>
|
|
|
+ </NIcon>
|
|
|
+ </NButton>
|
|
|
+ </NSpace>
|
|
|
)
|
|
|
},
|
|
|
key: 'scoreType',
|
|
@@ -506,78 +515,79 @@ export default defineComponent({
|
|
|
render: (row: any) => {
|
|
|
// })
|
|
|
return (
|
|
|
- <NSelect
|
|
|
- placeholder="请选择默认谱面"
|
|
|
- value={row.scoreType}
|
|
|
- options={getSelectDataFromObj(scoreType)}
|
|
|
- onUpdateValue={(value: any) => {
|
|
|
- row.scoreType = value
|
|
|
- }}
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <NSelect
|
|
|
+ placeholder="请选择默认谱面"
|
|
|
+ value={row.scoreType}
|
|
|
+ options={getSelectDataFromObj(scoreType)}
|
|
|
+ onUpdateValue={(value: any) => {
|
|
|
+ row.scoreType = value
|
|
|
+ }}
|
|
|
+ clearable
|
|
|
+ />
|
|
|
)
|
|
|
}
|
|
|
})
|
|
|
field.push({
|
|
|
title(column: any) {
|
|
|
return (
|
|
|
- <NSpace>
|
|
|
- 是否支持转谱
|
|
|
- <NButton
|
|
|
- type="primary"
|
|
|
- size="small"
|
|
|
- text
|
|
|
- onClick={() => {
|
|
|
- dialogs.create({
|
|
|
- title: '是否支持转谱',
|
|
|
- showIcon: false,
|
|
|
- content: () => {
|
|
|
- return h(
|
|
|
- 'div',
|
|
|
+ <NSpace>
|
|
|
+ 是否支持转谱
|
|
|
+ <NButton
|
|
|
+ type="primary"
|
|
|
+ size="small"
|
|
|
+ text
|
|
|
+ onClick={() => {
|
|
|
+ dialogs.create({
|
|
|
+ title: '是否支持转谱',
|
|
|
+ showIcon: false,
|
|
|
+ content: () => {
|
|
|
+ return h(
|
|
|
+ 'div',
|
|
|
+ {
|
|
|
+ class: 'flex flex-col justify-center items-center text-14px'
|
|
|
+ },
|
|
|
+ [
|
|
|
+ // icon
|
|
|
+ h(NSelect, {
|
|
|
+ onUpdateValue(v) {
|
|
|
+ state.isConvertibleScore = v
|
|
|
+ },
|
|
|
+ options: [
|
|
|
{
|
|
|
- class: 'flex flex-col justify-center items-center text-14px'
|
|
|
+ label: '是',
|
|
|
+ value: true
|
|
|
},
|
|
|
- [
|
|
|
- // icon
|
|
|
- h(NSelect, {
|
|
|
- onUpdateValue(v) {
|
|
|
- state.isConvertibleScore = v
|
|
|
- },
|
|
|
- options: [
|
|
|
- {
|
|
|
- label: '是',
|
|
|
- value: true
|
|
|
- },
|
|
|
- {
|
|
|
- label: '否',
|
|
|
- value: false
|
|
|
- }] as any
|
|
|
- })
|
|
|
- ]
|
|
|
- )
|
|
|
- },
|
|
|
- positiveText: '确定',
|
|
|
- negativeText: '取消',
|
|
|
- onPositiveClick: () => {
|
|
|
- for (let i = 0; i < state.selectRowData.length; i++) {
|
|
|
- const item = state.selectRowData[i]
|
|
|
- item.isConvertibleScore = state.isConvertibleScore
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }}
|
|
|
- >
|
|
|
- <NIcon size={15} style="padding-left: 5px;margin-top:4px">
|
|
|
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
|
- <path d="M2 26h28v2H2z" fill="currentColor"></path>
|
|
|
- <path
|
|
|
- d="M25.4 9c.8-.8.8-2 0-2.8l-3.6-3.6c-.8-.8-2-.8-2.8 0l-15 15V24h6.4l15-15zm-5-5L24 7.6l-3 3L17.4 7l3-3zM6 22v-3.6l10-10l3.6 3.6l-10 10H6z"
|
|
|
- fill="currentColor"
|
|
|
- ></path>
|
|
|
- </svg>
|
|
|
- </NIcon>
|
|
|
- </NButton>
|
|
|
- </NSpace>
|
|
|
+ {
|
|
|
+ label: '否',
|
|
|
+ value: false
|
|
|
+ }
|
|
|
+ ] as any
|
|
|
+ })
|
|
|
+ ]
|
|
|
+ )
|
|
|
+ },
|
|
|
+ positiveText: '确定',
|
|
|
+ negativeText: '取消',
|
|
|
+ onPositiveClick: () => {
|
|
|
+ for (let i = 0; i < state.selectRowData.length; i++) {
|
|
|
+ const item = state.selectRowData[i]
|
|
|
+ item.isConvertibleScore = state.isConvertibleScore
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <NIcon size={15} style="padding-left: 5px;margin-top:4px">
|
|
|
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
|
+ <path d="M2 26h28v2H2z" fill="currentColor"></path>
|
|
|
+ <path
|
|
|
+ d="M25.4 9c.8-.8.8-2 0-2.8l-3.6-3.6c-.8-.8-2-.8-2.8 0l-15 15V24h6.4l15-15zm-5-5L24 7.6l-3 3L17.4 7l3-3zM6 22v-3.6l10-10l3.6 3.6l-10 10H6z"
|
|
|
+ fill="currentColor"
|
|
|
+ ></path>
|
|
|
+ </svg>
|
|
|
+ </NIcon>
|
|
|
+ </NButton>
|
|
|
+ </NSpace>
|
|
|
)
|
|
|
},
|
|
|
key: 'isConvertibleScore',
|
|
@@ -585,24 +595,24 @@ export default defineComponent({
|
|
|
render: (row: any) => {
|
|
|
// })
|
|
|
return (
|
|
|
- <NSelect
|
|
|
- value={row.isConvertibleScore}
|
|
|
- options={[
|
|
|
- {
|
|
|
- label: '是',
|
|
|
- value: true
|
|
|
- },
|
|
|
- {
|
|
|
- label: '否',
|
|
|
- value: false
|
|
|
- } as any
|
|
|
- ]}
|
|
|
- onUpdateValue={(value: any) => {
|
|
|
- row.isConvertibleScore = value
|
|
|
- }}
|
|
|
- filterable
|
|
|
- clearable
|
|
|
- />
|
|
|
+ <NSelect
|
|
|
+ value={row.isConvertibleScore}
|
|
|
+ options={[
|
|
|
+ {
|
|
|
+ label: '是',
|
|
|
+ value: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '否',
|
|
|
+ value: false
|
|
|
+ } as any
|
|
|
+ ]}
|
|
|
+ onUpdateValue={(value: any) => {
|
|
|
+ row.isConvertibleScore = value
|
|
|
+ }}
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ />
|
|
|
)
|
|
|
}
|
|
|
})
|
|
@@ -804,14 +814,14 @@ export default defineComponent({
|
|
|
clearable
|
|
|
/>
|
|
|
</NFormItem>
|
|
|
- <NFormItem label="谱面渲染" path="musicSheetType">
|
|
|
+ {/* <NFormItem label="谱面渲染" path="musicSheetType">
|
|
|
<NSelect
|
|
|
placeholder="请选择谱面渲染"
|
|
|
v-model:value={state.searchForm.musicSheetType}
|
|
|
options={getSelectDataFromObj(musicSheetType)}
|
|
|
clearable
|
|
|
/>
|
|
|
- </NFormItem>
|
|
|
+ </NFormItem> */}
|
|
|
<NFormItem label="可用声部" path="musicSubject">
|
|
|
<NSelect
|
|
|
placeholder="请选择可用声部"
|
|
@@ -823,58 +833,61 @@ export default defineComponent({
|
|
|
</NFormItem>
|
|
|
<NFormItem label="音乐人" path="composer">
|
|
|
<NInput
|
|
|
- placeholder="请选择音乐人"
|
|
|
- v-model:value={state.searchForm.composer}
|
|
|
- clearable
|
|
|
+ placeholder="请选择音乐人"
|
|
|
+ v-model:value={state.searchForm.composer}
|
|
|
+ clearable
|
|
|
/>
|
|
|
</NFormItem>
|
|
|
<NFormItem label="曲目来源" path="sourceType">
|
|
|
<NSelect
|
|
|
- placeholder="请选择曲目来源"
|
|
|
- v-model:value={state.searchForm.sourceType}
|
|
|
- options={getSelectDataFromObj(musicSheetSourceType)}
|
|
|
- onUpdateValue={async (value: any) => {
|
|
|
- state.userIdData = []
|
|
|
- state.searchForm.userId = null
|
|
|
- if (value && value !== 'PLATFORM') {
|
|
|
- await updateUserIdData(value)
|
|
|
- state.userIdDisable = false
|
|
|
- } else {
|
|
|
- state.userIdDisable = true
|
|
|
- }
|
|
|
- }}
|
|
|
- clearable
|
|
|
+ placeholder="请选择曲目来源"
|
|
|
+ v-model:value={state.searchForm.sourceType}
|
|
|
+ options={getSelectDataFromObj(musicSheetSourceType)}
|
|
|
+ onUpdateValue={async (value: any) => {
|
|
|
+ state.userIdData = []
|
|
|
+ state.searchForm.userId = null
|
|
|
+ if (value && value !== 'PLATFORM') {
|
|
|
+ await updateUserIdData(value)
|
|
|
+ state.userIdDisable = false
|
|
|
+ } else {
|
|
|
+ state.userIdDisable = true
|
|
|
+ }
|
|
|
+ }}
|
|
|
+ clearable
|
|
|
/>
|
|
|
</NFormItem>
|
|
|
<NFormItem label="所属项目" path="applicationId">
|
|
|
<NSelect
|
|
|
- placeholder="请选择所属项目"
|
|
|
- v-model:value={state.searchForm.applicationId}
|
|
|
- options={state.useProjectData}
|
|
|
- clearable
|
|
|
- onUpdateValue={async (value: any) => {
|
|
|
- state.searchForm.applicationId = value
|
|
|
- if (value) {
|
|
|
- await updateUserIdData(state.searchForm.sourceType)
|
|
|
- state.userIdDisable = !(
|
|
|
- state.searchForm.sourceType && state.searchForm.sourceType !== 'PLATFORM'
|
|
|
- )
|
|
|
- } else {
|
|
|
- state.searchForm.userId = null
|
|
|
- state.userIdDisable = true
|
|
|
- state.userIdData = []
|
|
|
- }
|
|
|
- }}
|
|
|
+ placeholder="请选择所属项目"
|
|
|
+ v-model:value={state.searchForm.applicationId}
|
|
|
+ options={state.useProjectData}
|
|
|
+ clearable
|
|
|
+ onUpdateValue={async (value: any) => {
|
|
|
+ state.searchForm.applicationId = value
|
|
|
+ if (value) {
|
|
|
+ await updateUserIdData(state.searchForm.sourceType)
|
|
|
+ state.userIdDisable = !(
|
|
|
+ state.searchForm.sourceType && state.searchForm.sourceType !== 'PLATFORM'
|
|
|
+ )
|
|
|
+ } else {
|
|
|
+ state.searchForm.userId = null
|
|
|
+ state.userIdDisable = true
|
|
|
+ state.userIdData = []
|
|
|
+ }
|
|
|
+ }}
|
|
|
/>
|
|
|
</NFormItem>
|
|
|
<NFormItem label="所属人" path="author">
|
|
|
<NSelect
|
|
|
- filterable
|
|
|
- placeholder="请选择所属人"
|
|
|
- disabled={state.userIdDisable || (!state.searchForm.applicationId && !state.searchForm.sourceType)}
|
|
|
- v-model:value={state.searchForm.userId}
|
|
|
- options={state.userIdData}
|
|
|
- clearable
|
|
|
+ filterable
|
|
|
+ placeholder="请选择所属人"
|
|
|
+ disabled={
|
|
|
+ state.userIdDisable ||
|
|
|
+ (!state.searchForm.applicationId && !state.searchForm.sourceType)
|
|
|
+ }
|
|
|
+ v-model:value={state.searchForm.userId}
|
|
|
+ options={state.userIdData}
|
|
|
+ clearable
|
|
|
></NSelect>
|
|
|
</NFormItem>
|
|
|
<NFormItem>
|