瀏覽代碼

Merge branch 'develop'

yuanliang 1 年之前
父節點
當前提交
6f4a0876ac

+ 41 - 14
src/views/music-library/music-sheet/component/music-list.tsx

@@ -37,6 +37,7 @@ import {getOwnerName} from '@views/music-library/musicUtil'
 import styles from './music-list.module.less'
 import MusicCreateImg from '../modal/music-create-img'
 import TheTooltip from "@components/TheTooltip";
+import { HelpCircleOutline } from '@vicons/ionicons5'
 
 export default defineComponent({
   name: 'music-list',
@@ -59,7 +60,7 @@ export default defineComponent({
         composer: null, //作曲人/音乐人
         userId: null, //所属人
         applicationId: null, //所属人项目ID
-        useAppId: null, //适用项目ID
+        useAppId: [] as any, //适用项目ID
         status: null, //曲目状态(0:停用,1:启用)
         appAuditFlag: null, //是否审核版本
         categoriesId: null, //是否审核版本
@@ -119,7 +120,7 @@ export default defineComponent({
             return (
                 <NDescriptions labelPlacement="left" column={1}>
                   <NDescriptionsItem label="音乐人">{row.composer}</NDescriptionsItem>
-                  <NDescriptionsItem label="同时渲染所选声轨">{getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}</NDescriptionsItem>
+                  <NDescriptionsItem label="多声轨渲染">{getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}</NDescriptionsItem>
                   <NDescriptionsItem label="分类"><TheTooltip content={row.musicCategoryName}/></NDescriptionsItem>
                   <NDescriptionsItem label="可用声部"><TheTooltip content={row.subjectNames}/></NDescriptionsItem>
                 </NDescriptions>
@@ -382,7 +383,10 @@ export default defineComponent({
         state.loading = true
         const sourceType = state.searchForm.sourceType;
         const userId = state.searchForm.userId
-        let search={...state.searchForm} as any
+        let search = {
+          ...state.searchForm,
+          useAppId: state.searchForm.useAppId ? state.searchForm.useAppId.join(',') : state.searchForm.useAppId
+        } as any
         if (sourceType) {
           if (sourceType == 'ORG') {
             search.organizationRoleId = userId
@@ -501,9 +505,9 @@ export default defineComponent({
               clearable
             />
           </NFormItem>
-          <NFormItem label="同时渲染所选声轨" path="musicSheetType">
+          <NFormItem label="多声轨渲染" path="musicSheetType">
             <NSelect
-              placeholder="请选择是否同时渲染所选声轨"
+              placeholder="请选择多声轨渲染"
               v-model:value={state.searchForm.musicSheetType}
               options={getSelectDataFromObj(musicSheetType)}
               clearable
@@ -575,21 +579,44 @@ export default defineComponent({
             />
           </NFormItem>
           <NFormItem label="所属人" path="userId">
-            <NSelect
-              filterable
-              placeholder="请选择所属人"
-              disabled={state.userIdDisable || (!state.searchForm.applicationId && !state.searchForm.sourceType)}
-              v-model:value={state.searchForm.userId}
-              options={state.userIdData}
-              clearable
-            ></NSelect>
+            {{
+              label: () =>
+                  <div>
+                    所属人
+                    {/*<NTooltip style={"padding-left: 10px"}>*/}
+                    {/*  {{*/}
+                    {/*    default: () => '请选择作者属性和项目再选择所属人',*/}
+                    {/*    trigger: () => (*/}
+                    {/*        <span>*/}
+                    {/*             <NIcon size="20">*/}
+                    {/*                 <HelpCircleOutline/>*/}
+                    {/*             </NIcon>*/}
+                    {/*       </span>*/}
+                    {/*    )*/}
+                    {/*  }}*/}
+                    {/*</NTooltip>*/}
+                  </div>
+              ,
+              default: () => (
+                  <NSelect
+                      filterable
+                      placeholder="请选择所属人"
+                      disabled={state.userIdDisable || (!state.searchForm.applicationId && !state.searchForm.sourceType)}
+                      v-model:value={state.searchForm.userId}
+                      options={state.userIdData}
+                      clearable
+                  ></NSelect>
+              )
+            }}
+
           </NFormItem>
           <NFormItem label="适用项目" path="useAppId">
             <NSelect
                 placeholder="请选择适用项目"
                 v-model:value={state.searchForm.useAppId}
                 options={state.useProjectData}
-                clearable
+                multiple
+                maxTagCount={1}
             />
           </NFormItem>
           <NFormItem label="状态" path="status">

+ 8 - 5
src/views/music-library/music-sheet/component/music-sheet-categories-list.tsx

@@ -62,13 +62,16 @@ export default defineComponent({
     }
     const columns = (): DataTableColumn[] => {
       return [
-        {
-          title: '编号',
-          key: 'id'
-        },
+        // {
+        //   title: '编号',
+        //   key: 'id'
+        // },
         {
           title: '分类名称',
-          key: 'name'
+          key: 'id',
+          render(row: any) {
+            return row.name + '(' + row.id + ')'
+          }
         },
         {
           title: '曲目数量',

+ 2 - 2
src/views/music-library/music-sheet/modal/music-operation.tsx

@@ -1265,12 +1265,12 @@ export default defineComponent({
             </NGrid>
             <NGrid cols={2}>
               <NFormItemGi
-                  label="同时渲染所选声轨"
+                  label="多声轨渲染"
                   path="musicSheetType"
                   rule={[
                     {
                       required: true,
-                      message: '请选择是否同时渲染所选声轨',
+                      message: '请选择多声轨渲染',
                       trigger: 'change'
                     }
                   ]}

+ 3 - 3
src/views/music-library/project-music-sheet/module/gym/addMusic.tsx

@@ -248,7 +248,7 @@ export default defineComponent({
         key: 'composer'
       },
       {
-        title: '同时渲染所选声轨',
+        title: '多声轨渲染',
         key: 'musicSheetType',
         render: (row: any) => {
           return (
@@ -620,9 +620,9 @@ export default defineComponent({
                     clearable
                   />
                 </NFormItem>
-                <NFormItem label="同时渲染所选声轨" path="musicSheetType">
+                <NFormItem label="多声轨渲染" path="musicSheetType">
                   <NSelect
-                    placeholder="请选择是否同时渲染所选声轨"
+                    placeholder="请选择多声轨渲染"
                     v-model:value={state.searchForm.musicSheetType}
                     options={getSelectDataFromObj(musicSheetType)}
                     clearable

+ 12 - 20
src/views/music-library/project-music-sheet/module/gym/music-sheet-gym.tsx

@@ -8,13 +8,13 @@ import {
   NDatePicker,
   NDescriptions,
   NDescriptionsItem,
-  NFormItem,
+  NFormItem, NIcon,
   NImage,
   NInput,
   NModal,
   NSelect,
   NSpace,
-  NTag,
+  NTag, NTooltip,
   useDialog,
   useMessage
 } from 'naive-ui'
@@ -42,6 +42,7 @@ import { filterTimes } from '@/utils/dateUtil'
 import deepClone from '@/utils/deep.clone'
 import { getOwnerName } from '@views/music-library/musicUtil'
 import MusicPreView from "@views/music-library/music-sheet/modal/musicPreView";
+import {HelpCircleOutline} from "@vicons/ionicons5";
 
 export default defineComponent({
   name: 'project-music-sheet-mec',
@@ -82,6 +83,7 @@ export default defineComponent({
         appAuditFlag: null, //是否审核版本
         detailFlag: null, //是否查询详情
         applicationId: null, //所属人项目ID
+        extendApplicationId: null, //所属人项目ID
       },
       subjectList: [],
       dataList: [] as any[],
@@ -242,7 +244,7 @@ export default defineComponent({
     }
 
     const updateUserIdData = async (sourceType: any) => {
-      if (!state.searchForm.applicationId) {
+      if (!state.searchForm.extendApplicationId) {
         return
       }
       state.userIdData = []
@@ -252,7 +254,7 @@ export default defineComponent({
           page: 1,
           rows: 9999,
           sourceType: sourceType,
-          applicationId: state.searchForm.applicationId
+          applicationId: state.searchForm.extendApplicationId
         })
         const temp = data.rows || []
         temp.forEach((next: any) => {
@@ -271,7 +273,7 @@ export default defineComponent({
           type: 'selection'
         },
         {
-          title: '曲目信息',
+          title: '曲目名称',
           key: 'id',
           render: (row: any) => (
             <>
@@ -307,6 +309,7 @@ export default defineComponent({
                 <NDescriptionsItem label="曲目来源">
                   {getMapValueByKey(row.sourceType, new Map(Object.entries(musicSheetSourceType)))}
                 </NDescriptionsItem>
+                <NDescriptionsItem label="多声轨渲染">{getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}</NDescriptionsItem>
                 <NDescriptionsItem label="所属人">
                   <TheTooltip content={getOwnerName(row.musicSheetExtend, row.sourceType)}/>
                 </NDescriptionsItem>
@@ -318,17 +321,6 @@ export default defineComponent({
           )
         },
         {
-          title: '同时渲染所选声轨',
-          key: 'musicSheetType',
-          render: (row: any) => {
-            return (
-              <div>
-                {getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}
-              </div>
-            )
-          }
-        },
-        {
           title: '伴奏类型',
           key: 'audioType',
           render: (row: any) => {
@@ -449,7 +441,7 @@ export default defineComponent({
                   state.searchForm.userId = null
                   if (value && value !== 'PLATFORM') {
                     await updateUserIdData(value)
-                    state.userIdDisable = !state.searchForm.applicationId
+                    state.userIdDisable = !state.searchForm.extendApplicationId
                   } else {
                     state.userIdDisable = true
                   }
@@ -457,14 +449,14 @@ export default defineComponent({
                 clearable
               />
             </NFormItem>
-            <NFormItem label="项目" path="applicationId">
+            <NFormItem label="项目" path="extendApplicationId">
               <NSelect
                   placeholder="请选择项目"
-                  v-model:value={state.searchForm.applicationId}
+                  v-model:value={state.searchForm.extendApplicationId}
                   options={state.useProjectData}
                   clearable
                   onUpdateValue={async (value: any) => {
-                    state.searchForm.applicationId = value
+                    state.searchForm.extendApplicationId = value
                     if (value) {
                       await updateUserIdData(state.searchForm.sourceType)
                       state.userIdDisable = !(

+ 3 - 3
src/views/music-library/project-music-sheet/module/gyt/addMusic.tsx

@@ -245,7 +245,7 @@ export default defineComponent({
         key: 'composer'
       },
       {
-        title: '同时渲染所选声轨',
+        title: '多声轨渲染',
         key: 'musicSheetType',
         render: (row: any) => {
           return (
@@ -530,9 +530,9 @@ export default defineComponent({
                     clearable
                   />
                 </NFormItem>
-                <NFormItem label="同时渲染所选声轨" path="musicSheetType">
+                <NFormItem label="多声轨渲染" path="musicSheetType">
                   <NSelect
-                    placeholder="请选择是否同时渲染所选声轨"
+                    placeholder="请选择多声轨渲染"
                     v-model:value={state.searchForm.musicSheetType}
                     options={getSelectDataFromObj(musicSheetType)}
                     clearable

+ 8 - 17
src/views/music-library/project-music-sheet/module/gyt/music-sheet-gyt.tsx

@@ -81,6 +81,7 @@ export default defineComponent({
         appAuditFlag: null, //是否审核版本
         detailFlag: null, //是否查询详情
         applicationId: null, //所属人项目ID
+        extendApplicationId: null, //所属人项目ID
       },
       subjectList: [],
       dataList: [] as any[],
@@ -174,7 +175,7 @@ export default defineComponent({
     }
 
     const updateUserIdData = async (sourceType: any) => {
-      if (!state.searchForm.applicationId) {
+      if (!state.searchForm.extendApplicationId) {
         return
       }
       state.userIdData = []
@@ -184,7 +185,7 @@ export default defineComponent({
           page: 1,
           rows: 9999,
           sourceType: sourceType,
-          applicationId: state.searchForm.applicationId
+          applicationId: state.searchForm.extendApplicationId
         })
         const temp = data.rows || []
         temp.forEach((next: any) => {
@@ -271,7 +272,7 @@ export default defineComponent({
           type: 'selection'
         },
         {
-          title: '曲目信息',
+          title: '曲目名称',
           key: 'id',
           render: (row: any) => (
             <>
@@ -307,6 +308,7 @@ export default defineComponent({
                 <NDescriptionsItem label="曲目来源">
                   {getMapValueByKey(row.sourceType, new Map(Object.entries(musicSheetSourceType)))}
                 </NDescriptionsItem>
+                <NDescriptionsItem label="多声轨渲染">{getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}</NDescriptionsItem>
                 <NDescriptionsItem label="所属人">
                   <TheTooltip content={getOwnerName(row.musicSheetExtend, row.sourceType)}/>
                 </NDescriptionsItem>
@@ -318,17 +320,6 @@ export default defineComponent({
           )
         },
         {
-          title: '同时渲染所选声轨',
-          key: 'musicSheetType',
-          render: (row: any) => {
-            return (
-              <div>
-                {getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}
-              </div>
-            )
-          }
-        },
-        {
           title: '伴奏类型',
           key: 'audioType',
           render: (row: any) => {
@@ -456,7 +447,7 @@ export default defineComponent({
                   state.searchForm.userId = null
                   if (value && value !== 'PLATFORM') {
                     await updateUserIdData(value)
-                    state.userIdDisable = !state.searchForm.applicationId
+                    state.userIdDisable = !state.searchForm.extendApplicationId
                   } else {
                     state.userIdDisable = true
                   }
@@ -467,11 +458,11 @@ export default defineComponent({
             <NFormItem label="项目" path="applicationId">
               <NSelect
                   placeholder="请选择项目"
-                  v-model:value={state.searchForm.applicationId}
+                  v-model:value={state.searchForm.extendApplicationId}
                   options={state.useProjectData}
                   clearable
                   onUpdateValue={async (value: any) => {
-                    state.searchForm.applicationId = value
+                    state.searchForm.extendApplicationId = value
                     if (value) {
                       await updateUserIdData(state.searchForm.sourceType)
                       state.userIdDisable = !(

+ 3 - 3
src/views/music-library/project-music-sheet/module/klx/addMusic.tsx

@@ -290,7 +290,7 @@ export default defineComponent({
         key: 'composer'
       },
       {
-        title: '同时渲染所选声轨',
+        title: '多声轨渲染',
         key: 'musicSheetType',
         render: (row: any) => {
           return (
@@ -990,9 +990,9 @@ export default defineComponent({
                     clearable
                   />
                 </NFormItem>
-                <NFormItem label="同时渲染所选声轨" path="musicSheetType">
+                <NFormItem label="多声轨渲染" path="musicSheetType">
                   <NSelect
-                    placeholder="请选择是否同时渲染所选声轨"
+                    placeholder="请选择多声轨渲染"
                     v-model:value={state.searchForm.musicSheetType}
                     options={getSelectDataFromObj(musicSheetType)}
                     clearable

+ 8 - 17
src/views/music-library/project-music-sheet/module/klx/music-sheet-klx.tsx

@@ -81,6 +81,7 @@ export default defineComponent({
         detailFlag: null, //是否查询详情
         musicTagIds: [] as any,//曲目标签
         applicationId: null, //所属人项目ID
+        extendApplicationId: null, //所属人项目ID
       },
       subjectList: [],
       dataList: [] as any[],
@@ -266,7 +267,7 @@ export default defineComponent({
     }
 
     const updateUserIdData = async (sourceType: any) => {
-      if (!state.searchForm.applicationId) {
+      if (!state.searchForm.extendApplicationId) {
         return
       }
       state.userIdData = []
@@ -276,7 +277,7 @@ export default defineComponent({
           page: 1,
           rows: 9999,
           sourceType: sourceType,
-          applicationId: state.searchForm.applicationId
+          applicationId: state.searchForm.extendApplicationId
         })
         const temp = data.rows || []
         temp.forEach((next: any) => {
@@ -296,7 +297,7 @@ export default defineComponent({
           type: 'selection'
         },
         {
-          title: '曲目信息',
+          title: '曲目名称',
           key: 'id',
           render: (row: any) => (
             <>
@@ -325,6 +326,7 @@ export default defineComponent({
                 <NDescriptionsItem label="曲目来源">
                   {getMapValueByKey(row.sourceType, new Map(Object.entries(musicSheetSourceType)))}
                 </NDescriptionsItem>
+                <NDescriptionsItem label="多声轨渲染">{getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}</NDescriptionsItem>
                 <NDescriptionsItem label="所属人">
                   <TheTooltip content={getOwnerName(row.musicSheetExtend, row.sourceType)}/>
                 </NDescriptionsItem>
@@ -336,17 +338,6 @@ export default defineComponent({
           )
         },
         {
-          title: '同时渲染所选声轨',
-          key: 'musicSheetType',
-          render: (row: any) => {
-            return (
-              <div>
-                {getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}
-              </div>
-            )
-          }
-        },
-        {
           title: '伴奏类型',
           key: 'audioType',
           render: (row: any) => {
@@ -502,7 +493,7 @@ export default defineComponent({
                     state.searchForm.userId = null
                     if (value && value !== 'PLATFORM') {
                       await updateUserIdData(value)
-                      state.userIdDisable = !state.searchForm.applicationId
+                      state.userIdDisable = !state.searchForm.extendApplicationId
                     } else {
                       state.userIdDisable = true
                     }
@@ -513,11 +504,11 @@ export default defineComponent({
             <NFormItem label="项目" path="applicationId">
               <NSelect
                   placeholder="请选择项目"
-                  v-model:value={state.searchForm.applicationId}
+                  v-model:value={state.searchForm.extendApplicationId}
                   options={state.useProjectData}
                   clearable
                   onUpdateValue={async (value: any) => {
-                    state.searchForm.applicationId = value
+                    state.searchForm.extendApplicationId = value
                     if (value) {
                       await updateUserIdData(state.searchForm.sourceType)
                       state.userIdDisable = !(

+ 3 - 3
src/views/music-library/project-music-sheet/module/kt/addMusic.tsx

@@ -227,7 +227,7 @@ export default defineComponent({
         key: 'composer'
       },
       {
-        title: '同时渲染所选声轨',
+        title: '多声轨渲染',
         key: 'musicSheetType',
         render: (row: any) => {
           return (
@@ -537,9 +537,9 @@ export default defineComponent({
                     clearable
                   />
                 </NFormItem>
-                <NFormItem label="同时渲染所选声轨" path="musicSheetType">
+                <NFormItem label="多声轨渲染" path="musicSheetType">
                   <NSelect
-                    placeholder="请选择是否同时渲染所选声轨"
+                    placeholder="请选择多声轨渲染"
                     v-model:value={state.searchForm.musicSheetType}
                     options={getSelectDataFromObj(musicSheetType)}
                     clearable

+ 8 - 17
src/views/music-library/project-music-sheet/module/kt/music-sheet-kt.tsx

@@ -78,6 +78,7 @@ export default defineComponent({
         appAuditFlag: null, //是否审核版本
         detailFlag: null, //是否查询详情
         applicationId: null, //所属人项目ID
+        extendApplicationId: null, //所属人项目ID
       },
       subjectList: [],
       dataList: [] as any[],
@@ -235,7 +236,7 @@ export default defineComponent({
     }
 
     const updateUserIdData = async (sourceType: any) => {
-      if (!state.searchForm.applicationId) {
+      if (!state.searchForm.extendApplicationId) {
         return
       }
       state.userIdData = []
@@ -245,7 +246,7 @@ export default defineComponent({
           page: 1,
           rows: 9999,
           sourceType: sourceType,
-          applicationId: state.searchForm.applicationId
+          applicationId: state.searchForm.extendApplicationId
         })
         const temp = data.rows || []
         temp.forEach((next: any) => {
@@ -265,7 +266,7 @@ export default defineComponent({
           type: 'selection'
         },
         {
-          title: '曲目信息',
+          title: '曲目名称',
           key: 'id',
           render: (row: any) => (
             <>
@@ -294,6 +295,7 @@ export default defineComponent({
                 <NDescriptionsItem label="曲目来源">
                   {getMapValueByKey(row.sourceType, new Map(Object.entries(musicSheetSourceType)))}
                 </NDescriptionsItem>
+                <NDescriptionsItem label="多声轨渲染">{getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}</NDescriptionsItem>
                 <NDescriptionsItem label="所属人">
                   <TheTooltip content={getOwnerName(row.musicSheetExtend, row.sourceType)} />
                 </NDescriptionsItem>
@@ -305,17 +307,6 @@ export default defineComponent({
           )
         },
         {
-          title: '同时渲染所选声轨',
-          key: 'musicSheetType',
-          render: (row: any) => {
-            return (
-              <div>
-                {getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}
-              </div>
-            )
-          }
-        },
-        {
           title: '伴奏类型',
           key: 'audioType',
           render: (row: any) => {
@@ -446,7 +437,7 @@ export default defineComponent({
                     state.searchForm.userId = null
                     if (value && value !== 'PLATFORM') {
                       await updateUserIdData(value)
-                      state.userIdDisable = !state.searchForm.applicationId
+                      state.userIdDisable = !state.searchForm.extendApplicationId
                     } else {
                       state.userIdDisable = true
                     }
@@ -457,11 +448,11 @@ export default defineComponent({
             <NFormItem label="项目" path="applicationId">
               <NSelect
                   placeholder="请选择项目"
-                  v-model:value={state.searchForm.applicationId}
+                  v-model:value={state.searchForm.extendApplicationId}
                   options={state.useProjectData}
                   clearable
                   onUpdateValue={async (value: any) => {
-                    state.searchForm.applicationId = value
+                    state.searchForm.extendApplicationId = value
                     if (value) {
                       await updateUserIdData(state.searchForm.sourceType)
                       state.userIdDisable = !(

+ 5 - 1
src/views/system-manage/subject-manage/instrument/modal/instrument-save.tsx

@@ -39,11 +39,15 @@ export default defineComponent({
           btnLoading.value = true
 
           if (props.type === 'add') {
-            await musicalInstrumentSave({ ...forms })
+            await musicalInstrumentSave({
+              ...forms,
+              defaultScore: forms.transferFlag ? forms.defaultScore : 'STAVE'
+            })
             message.success('添加成功')
           } else if (props.type === 'edit') {
             await musicalInstrumentUpdate({
               ...forms,
+              defaultScore: forms.transferFlag ? forms.defaultScore : 'STAVE',
               id: props.data.id
             })
             message.success('修改成功')