yuanliang преди 1 година
родител
ревизия
30a21cd30a
променени са 2 файла, в които са добавени 22 реда и са изтрити 50 реда
  1. 11 33
      src/views/music-library/music-sheet/modal/music-operation.tsx
  2. 11 17
      src/views/music-library/music-sheet/modal/use-project.tsx

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

@@ -500,32 +500,6 @@ export default defineComponent({
           forms.playSpeed = 100
         }
       }
-
-      // 乐器
-      const instrumentCodeList: any = []
-      const instrumentEle = xmlParse.getElementsByTagName('virtual-instrument')
-      for (let index = 0; index < instrumentEle.length; index++) {
-        const note = instrumentEle[index]
-        const instrumentCode = note.getElementsByTagName('virtual-name')?.[0]?.textContent || ''
-        if (instrumentCode && !instrumentCodeList.includes(instrumentCode)) {
-          instrumentCodeList.push(instrumentCode)
-        }
-      }
-      const codeIdMap = new Map<string, string>()
-      state.instrumentData.forEach((data: any) => {
-        codeIdMap.set(data.code, data.id + '')
-      })
-      forms.musicalInstrumentIdList = []
-      instrumentCodeList.forEach((code: string) => {
-        if (codeIdMap.has(code)) {
-          forms.musicalInstrumentIdList.push(codeIdMap.get(code))
-        }
-      })
-
-      // 声部
-      if (forms.musicalInstrumentIdList.length > 0) {
-        showBackSubject(forms.musicalInstrumentIdList)
-      }
       return partListNames
     }
 
@@ -542,11 +516,6 @@ export default defineComponent({
         } else {
           item.disabled = true
         }
-        // if (index > -1 && track != item.value) {
-        //   item.disabled = true
-        // } else {
-        //   item.disabled = false
-        // }
       })
       return partListNames || []
     }
@@ -716,12 +685,21 @@ export default defineComponent({
           forms.remark = data.remark
           forms.status = data.status
           forms.musicCategoryId = data.musicCategoryId
+          forms.evaluationStandard = data.evaluationStandard
 
           forms.musicSheetType = data.musicSheetType || 'SINGLE'
           forms.evaluationStandard = data.evaluationStandard
           forms.musicalInstrumentIdList = data.musicalInstrumentIds.split(',') || []
 
-          forms.subjectIds = data.subjectIds?.split(',') || []
+          forms.subjectIds = []
+          if (data.subjectIds) {
+            const subjectIds = data.subjectIds.split(',') || []
+            subjectIds.forEach((subjectId: any) => {
+              if (!forms.subjectIds.includes(subjectId)) {
+                forms.subjectIds.push(subjectId)
+              }
+            })
+          }
           forms.sourceType = data.sourceType
           forms.musicSheetExtend = data.musicSheetExtend
           forms.repeatedBeats = data.isPlayBeat
@@ -802,7 +780,7 @@ export default defineComponent({
                 <NInput
                   v-model:value={forms.name}
                   placeholder="请输入曲目名称"
-                  maxlength={25}
+                  maxlength={50}
                   showCount
                 />
               </NFormItemGi>

+ 11 - 17
src/views/music-library/music-sheet/modal/use-project.tsx

@@ -14,7 +14,7 @@ import {
   NTabs,
   useMessage
 } from 'naive-ui'
-import { appKey, musicSheetAvailableType, musicSheetPaymentType } from '@/utils/constant'
+import {appKey, musicSheetAvailableType, musicSheetPaymentType, musicSheetType} from '@/utils/constant'
 import {
   musicSheetApplicationExtendCategoryApplicationExtendInfo,
   musicSheetApplicationExtendCategoryList,
@@ -57,7 +57,7 @@ export default defineComponent({
         },
         KLX: {
           availableType: null as any, //可用途径 ORG 机构 PLATFORM 平台
-          musicSheetCategoryId: null as any,
+          musicTagIds: null as any,
           paymentType: null as any, // 是否收费
           musicPrice: null as any, // 曲目价格
           topFlag: null as any, // 是否置顶(0:否;1:是)
@@ -227,7 +227,7 @@ export default defineComponent({
             forms.useProjectParamConfig[key]['sortNo'] = next.sortNo
           } else if (key === 'KLX') {
             forms.useProjectParamConfig[key]['availableType'] = next.availableType
-            forms.useProjectParamConfig[key]['musicSheetCategoryId'] = next.musicSheetCategoryId
+            forms.useProjectParamConfig[key]['musicTagIds'] = next.musicTagIds?.split(',')||[]
             forms.useProjectParamConfig[key]['paymentType'] = next.paymentType
             forms.useProjectParamConfig[key]['musicPrice'] = next.musicPrice
             forms.useProjectParamConfig[key]['topFlag'] = next.topFlag
@@ -277,8 +277,12 @@ export default defineComponent({
                   return !(val === null || val === undefined || val === '')
                 })
                 if (every) {
+                 let appData = value as any;
+                  if (appKey === 'KLX') {
+                    appData['musicTagIds'] = appData['musicTagIds'].join(',')
+                  }
                   applicationExtends.push({
-                    ...value,
+                    ...appData,
                     musicSheetId: props.id,
                     applicationId: appKeyIdMap.get(key)
                   })
@@ -487,7 +491,7 @@ export default defineComponent({
                         </NFormItem>
                         <NFormItem
                           label="曲目标签"
-                          path="useProjectParamConfig.KLX.musicSheetCategoryId"
+                          path="useProjectParamConfig.KLX.musicTagIds"
                           rule={[
                             {
                               required: klxFileRequire.value,
@@ -503,7 +507,7 @@ export default defineComponent({
                             multiple
                             labelField={'name'}
                             valueField={'id'}
-                            v-model:value={forms.useProjectParamConfig.KLX.musicSheetCategoryId}
+                            v-model:value={forms.useProjectParamConfig.KLX.musicTagIds}
                             options={state.musicSheetCategoryOptions.KLX}
                             maxTagCount={3}
                           ></NSelect>
@@ -516,7 +520,6 @@ export default defineComponent({
                               required: klxFileRequire.value,
                               message: '请选择是否收费',
                               trigger:'change',
-                              type:'number'
                             }
                           ]}
                         >
@@ -524,16 +527,7 @@ export default defineComponent({
                             placeholder="请选择是否收费"
                             clearable
                             v-model:value={forms.useProjectParamConfig.KLX.paymentType}
-                            options={[
-                              {
-                                label: '是',
-                                value: 1
-                              },
-                              {
-                                label: '否',
-                                value: 0
-                              }
-                            ]}
+                            options={getSelectDataFromObj(musicSheetPaymentType)}
                           ></NSelect>
                         </NFormItem>
                         <NFormItem