瀏覽代碼

Merge branch 'feature/0429-music' of http://git.dayaedu.com/lex/resource-admin into hqyNewVersion

黄琪勇 1 年之前
父節點
當前提交
47de3b2ee7

+ 2 - 2
src/utils/constant.ts

@@ -233,8 +233,8 @@ export const heardLevelType = {
 
 // 曲目类型
 export const musicSheetType = {
-  SINGLE: '',
-  CONCERT: ''
+  SINGLE: '多声轨',
+  CONCERT: '单声轨'
 } as any
 
 // 作者属性

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

@@ -127,7 +127,7 @@ export default defineComponent({
             return (
               <NDescriptions labelPlacement="left" column={1}>
                 <NDescriptionsItem label="音乐人">{row.composer}</NDescriptionsItem>
-                <NDescriptionsItem label="多声轨渲染">
+                <NDescriptionsItem label="谱面渲染">
                   {getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}
                 </NDescriptionsItem>
                 <NDescriptionsItem label="分类">
@@ -490,6 +490,7 @@ export default defineComponent({
       }
     )
     const onSearch = () => {
+      checkedRowKeysRef.value = []
       saveForm.value?.submit()
     }
     const onBtnReset = () => {
@@ -528,9 +529,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
@@ -751,7 +752,7 @@ export default defineComponent({
             columns={columns()}
             data={state.dataList}
             rowKey={(row: any) => row.id}
-            onUpdateCheckedRowKeys={handleCheck}
+            v-model:checkedRowKeys={checkedRowKeysRef.value}
             scrollX={'1200'}
           ></NDataTable>
           <Pagination

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

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

+ 233 - 241
src/views/music-library/music-sheet/modal/music-operationV2.tsx

@@ -314,13 +314,13 @@ export default defineComponent({
       repeatedBeats: false, // 是否重复节拍时长
       evaluationStandard: 'FREQUENCY', // 评分标准 节奏 AMPLITUDE 音准 FREQUENCY 分贝 DECIBELS
       multiTracksSelection: [] as any, // 声轨
-      multiInstrumentSelection: [] as any, // 乐器
       musicSheetExtend: {} as any, //所属人信息
       musicImg: '', // 五线谱图片
       musicFirstImg: '', //首调图片
       musicJianImg: '', // 简谱固定调
       isEvxml: false, // 是否是evxml
       isShowFingering: true, // 是否显示指法
+      solmizationFileUrl:null, // 唱名文件
     })
     const state = reactive({
       loading: false,
@@ -380,17 +380,17 @@ export default defineComponent({
             musicSheetSoundList.push({
               musicSheetId: props.data.id,
               audioFileUrl: state.fSongFile,
-              audioPlayType: 'SING'
+              audioPlayType: 'SING',
+              solmizationFileUrl:forms.solmizationFileUrl
             })
             audioPlayTypes.push("SING")
           }
           if (musicSheetType == 'SINGLE') {
-            if (forms.musicSheetSoundList_YZ && forms.musicSheetSoundList_YZ.length > 0) {
+            if (forms.musicalInstrumentIdList) {
               audioPlayTypes.push("PLAY")
             }
             forms.musicSheetSoundList_YZ.forEach((musicSheetSound: any) => {
-              if (forms.musicalInstrumentIdList.includes(musicSheetSound.musicalInstrumentId) &&
-                  forms.multiInstrumentSelection.includes(musicSheetSound.musicalInstrumentId)) {
+              if (forms.musicalInstrumentIdList.includes(musicSheetSound.musicalInstrumentId)) {
                 musicSheetSoundList.push({
                   ...musicSheetSound,
                   musicSheetId: props.data.id,
@@ -424,21 +424,39 @@ export default defineComponent({
 
 
           const obj = {
-            ...forms,
+            musicCategoryId: forms.musicCategoryId,
+            musicCover: forms.musicCover,
+            name: forms.name,
+            appAuditFlag: forms.appAuditFlag,
+            subjectIds: forms.subjectIds.join(','),
+            remark: forms.remark,
             audioPlayTypes: audioPlayTypes.join(','),
-            musicTag: '-1',
-            multiTracksSelection: musicSheetType == 'SINGLE' ? "" : forms.multiTracksSelection.join(','),
-            // musicSheetSoundList: forms.musicSheetSoundList.filter((next: any) => {
-            //   return !!next.audioFileUrl && forms.multiTracksSelection.includes(next.track)
-            // }),
-            musicSheetSoundList: musicSheetSoundList,
             musicalInstrumentIds: forms.musicalInstrumentIdList.join(','),
+            composer: forms.composer,
+            musicSheetType: forms.musicSheetType,
+            isUseSystemBeat: forms.isUseSystemBeat,
+            isShowFingering: forms.isShowFingering,
+            isPlayBeat: forms.isPlayBeat,
+            multiTracksSelection: forms.multiTracksSelection.join(','),
+            playSpeed: forms.playSpeed,
+            playMode: forms.playMode,
+            xmlFileUrl: forms.xmlFileUrl,
+            musicImg: forms.musicImg,
+            musicFirstImg: forms.musicFirstImg,
+            musicJianImg: forms.musicJianImg,
             extConfigJson: JSON.stringify({
               repeatedBeats: forms.repeatedBeats ? 1 : 0,
               gradualTimes: forms.graduals,
               isEvxml: forms.isEvxml ? 1 : 0,
             }),
-            subjectIds: forms.subjectIds.join(',')
+            // availableType: forms.availableType,
+            sourceType: forms.sourceType,
+            audioType: forms.audioType,
+            status: forms.status,
+            evaluationStandard: forms.evaluationStandard,
+            musicSheetAccompanimentList:forms.musicSheetAccompanimentList,
+            musicSheetSoundList: musicSheetSoundList,
+            musicTag: '-1',
           }
           if (forms.audioType == 'MIDI') {
             obj.musicSheetSoundList = []
@@ -856,13 +874,6 @@ export default defineComponent({
           forms.musicSheetExtend = data.musicSheetExtend
 
           state.musicSheetSoundList = data.musicSheetSoundList ? data.musicSheetSoundList : []
-          // 范唱
-          for (let i = 0; i < state.musicSheetSoundList.length; i++) {
-            if (state.musicSheetSoundList[i].audioPlayType == 'SING') {
-              state.fSongFile = state.musicSheetSoundList[i].audioFileUrl
-              break
-            }
-          }
 
           let musicSheetAccompanimentList = data.musicSheetAccompanimentList ? data.musicSheetAccompanimentList : []
           musicSheetAccompanimentList.forEach((next: any) => {
@@ -877,6 +888,13 @@ export default defineComponent({
 
           // 初始化演奏
           for (let i = 0; i < state.musicSheetSoundList.length; i++) {
+            if (state.musicSheetSoundList[i].audioPlayType == 'SING') {
+              // 范唱 唱名
+              state.fSongFile = state.musicSheetSoundList[i].audioFileUrl
+              forms.solmizationFileUrl = state.musicSheetSoundList[i].solmizationFileUrl
+            }
+
+            // 乐器演奏原音
             for (let j = 0; j < forms.musicSheetSoundList_YZ.length; j++) {
               let musicalInstrumentId = state.musicSheetSoundList[i].musicalInstrumentId;
               if (musicalInstrumentId && musicalInstrumentId == forms.musicSheetSoundList_YZ[j].musicalInstrumentId) {
@@ -885,12 +903,6 @@ export default defineComponent({
             }
           }
 
-          for (let i = 0; i < state.musicSheetSoundList.length; i++) {
-            if (state.musicSheetSoundList[i].musicalInstrumentId) {
-              forms.multiInstrumentSelection.push(state.musicSheetSoundList[i].musicalInstrumentId)
-            }
-          }
-
 
           setOwnerName()
           axios.get(data.xmlFileUrl).then((res: any) => {
@@ -1042,19 +1054,19 @@ export default defineComponent({
                   />
                 </NFormItemGi>
                 <NFormItemGi
-                    label="多声轨渲染"
+                    label="谱面渲染"
                     path="musicSheetType"
                     rule={[
                       {
                         required: true,
-                        message: '请选择多声轨渲染',
+                        message: '请选择谱面渲染',
                         trigger: 'change'
                       }
                     ]}
                 >
                   <NRadioGroup v-model:value={forms.musicSheetType}>
-                    <NRadio value={'SINGLE'}></NRadio>
-                    <NRadio value={'CONCERT'}></NRadio>
+                    <NRadio value={'SINGLE'}>多声轨</NRadio>
+                    <NRadio value={'CONCERT'}>单声轨</NRadio>
                   </NRadioGroup>
                 </NFormItemGi>
               </NGrid>
@@ -1427,6 +1439,34 @@ export default defineComponent({
                         />
                       </NFormItemGi>
                     </NGrid>
+                    <NGrid cols={2}>
+                      <NFormItemGi
+                          label="上传唱名"
+                          path="solmizationFileUrl"
+                          rule={[
+                            {
+                              required: false,
+                              message: '请选择上传唱名',
+                              trigger: ['change', 'input']
+                            }
+                          ]}
+                      >
+                        <UploadFile
+                            desc={'上传范唱'}
+                            disabled={state.previewMode}
+                            size={10}
+                            key={'xmlFileUrl'}
+                            v-model:fileList={forms.solmizationFileUrl}
+                            tips="仅支持上传.mp3格式文件"
+                            listType="image"
+                            accept=".mp3"
+                            bucketName="cloud-coach"
+                            text="点击上传范唱文件"
+                            onRemove={() => {
+                            }}
+                        />
+                      </NFormItemGi>
+                    </NGrid>
                   </>
               )}
               <NAlert showIcon={false} style={{marginBottom: '12px'}}>
@@ -1475,17 +1515,6 @@ export default defineComponent({
                       multiple
                       maxTagCount={2}
                       onUpdateValue={async (value: any) => {
-                        state.instrumentList.forEach((instrument: any) => {
-                          // if (value.includes(instrument.value)) {
-                          //   forms.musicSheetSoundList_YZ.push({
-                          //     'musicSheetId': props.data.id,
-                          //     'musicalInstrumentId': instrument.id + '',
-                          //     'musicalInstrumentName': instrument.name,
-                          //     'audioFileUrl': null,
-                          //     'audioPlayType':'PLAY'
-                          //   });
-                          // }
-                        })
                       }}
                   />
                 </NFormItemGi>
@@ -1511,7 +1540,7 @@ export default defineComponent({
                           accept=".mp3"
                           bucketName="cloud-coach"
                           text="点击上传伴奏文件"
-                          max={10}
+                          max={1}
                           desc={'上传伴奏文件'}
                           onUpload:success={(file) => {
                             state.musicSheetAccompanimentUrls = [state.musicSheetAccompanimentUrls,file.url].filter(Boolean).join(',')
@@ -1596,231 +1625,194 @@ export default defineComponent({
                     </NFormItem>
                   </>
               )}
-              {/*渲染声轨*/}
-              {/*单曲:从可用乐器数据渲染*/}
-              {/*合奏:从xml中解析*/}
-              {forms.musicSheetType == 'SINGLE' && (
-                  <>
-                    <NGrid cols={1}>
-                      <NFormItemGi
-                          label={'页面渲染声轨'}
-                          path="multiInstrumentSelection"
-                          rule={[
-                            {
-                              required: true,
-                              message: `页面渲染声轨`,
-                              trigger: 'change',
-                              type: 'array'
-                            }
-                          ]}
+              <NGrid cols={1}>
+                <NFormItemGi
+                    label={`${forms.musicSheetType === 'SINGLE' ? '页面渲染声轨' : '用户可切换声轨'}`}
+                    path="multiTracksSelection"
+                    rule={[
+                      {
+                        required: true,
+                        message: `请选择${
+                            forms.musicSheetType === 'SINGLE' ? '页面渲染声轨' : '用户可切换声轨'
+                        }`,
+                        trigger: 'change',
+                        type: 'array'
+                      }
+                    ]}
+                >
+                  <NGrid style="padding-top: 4px;">
+                    <NGi span={24}>
+                      <NRadioGroup
+                          v-model:value={state.multiTracks}
+                          onUpdateValue={(value) => {
+                            checkMultiTracks(value)
+                          }}
                       >
-                        <NCheckboxGroup v-model:value={forms.multiInstrumentSelection}
-                                        onUpdateValue={(value: any) => {
-                                          forms.multiInstrumentSelection = value
-                                        }}
-                        >
-                          <NGrid yGap={2} cols={6}>
-                            {forms.musicalInstrumentIdList.map((item: any) => (
-                                <NGi>
-                                  <NCheckbox value={item} label={state.instrumentIdNameMap.get(item)}/>
-                                </NGi>
-                            ))}
-                          </NGrid>
-                        </NCheckboxGroup>
-                      </NFormItemGi>
-                    </NGrid>
-                    {forms.musicSheetSoundList_YZ.map((item: any, index: any) => {
+                        <NRadio value={'all'}>全选</NRadio>
+                        <NRadio value={'allUncheck'}>重置</NRadio>
+                        <NRadio value={'invert'}>反选</NRadio>
+                      </NRadioGroup>
+                    </NGi>
+                    {state.partListNames && state.partListNames.length > 0 && (
+                        <NGi span={24} style={'margin-top:5px'}>
+                          <NFormItemGi
+                              label=""
+                              path="multiTracksSelection"
+                              rule={[
+                                {
+                                  required: false
+                                }
+                              ]}
+                          >
+                            <NCheckboxGroup v-model:value={forms.multiTracksSelection}>
+                              <NGrid yGap={2} cols={4}>
+                                {state.partListNames.map((item: any) => (
+                                    <NGi>
+                                      <NCheckbox value={item.value} label={item.label}/>
+                                    </NGi>
+                                ))}
+                              </NGrid>
+                            </NCheckboxGroup>
+                          </NFormItemGi>
+                        </NGi>
+                    )}
+                  </NGrid>
+                </NFormItemGi>
+              </NGrid>
+
+              {/*单曲*/}
+              {forms.musicSheetType == 'SINGLE' && forms.playMode === 'MP3' && forms.musicSheetSoundList_YZ.map((item: any, index: any) => {
+                return (
+                    <>
+                      <NGrid cols={1}>
+                        {forms.musicalInstrumentIdList.includes(item.musicalInstrumentId) && (
+                            <NFormItemGi
+                                span={12}
+                                label={item.musicalInstrumentName}
+                                path={`musicSheetSoundList_YZ[${index}].audioFileUrl`}
+                                rule={[
+                                  {
+                                    required: true,
+                                    message: `请上传乐器演奏文件`
+                                  }
+                                ]}
+                            >
+                              <UploadFile
+                                  desc={'乐器演奏文件'}
+                                  disabled={state.previewMode}
+                                  size={100}
+                                  v-model:fileList={item.audioFileUrl}
+                                  tips="仅支持上传.mp3格式文件"
+                                  listType="image"
+                                  accept=".mp3"
+                                  text={"点击上传MP3文件"}
+                                  bucketName="cloud-coach"
+                              />
+                            </NFormItemGi>
+                        )}
+                      </NGrid>
+                    </>
+                )
+              })
+              }
+              {/*合奏*/}
+              {forms.musicSheetType == 'CONCERT' && forms.playMode === 'MP3' && forms.musicSheetSoundList_YY.length > 0 && (
+                  <>
+                    {forms.musicSheetSoundList_YY.map((item: any, index: number) => {
                       return (
                           <>
-                            <NGrid cols={1}>
-                              {forms.musicalInstrumentIdList.includes(item.musicalInstrumentId) && forms.multiInstrumentSelection.includes(item.musicalInstrumentId) && (
+                            {(!containOther(item.track) ||
+                                (item.track?.toLocaleUpperCase?.() != 'COMMON' &&
+                                    forms.multiTracksSelection.includes(item.track))) && (
+                                <NGrid
+                                    class={styles.audioSection}
+                                    // v-show={forms.multiTracksSelection.indexOf(item.track) > -1}
+                                >
                                   <NFormItemGi
                                       span={12}
-                                      label={item.musicalInstrumentName}
-                                      path={`musicSheetSoundList_YZ[${index}].audioFileUrl`}
+                                      label="原音"
+                                      path={`musicSheetSoundList_YY[${index}].audioFileUrl`}
                                       rule={[
                                         {
+                                          // required: forms.multiTracksSelection.indexOf(forms.musicSheetSoundList_YY[index].audioFileUrl) > -1,
                                           required: true,
-                                          message: `请上传乐器演奏文件`
+                                          message: `请上传${
+                                              item.track ? item.track + '的' : '第' + (index + 1) + '个'
+                                          }原音`
                                         }
                                       ]}
                                   >
                                     <UploadFile
-                                        desc={'乐器演奏文件'}
+                                        desc={'原音文件'}
                                         disabled={state.previewMode}
                                         size={100}
                                         v-model:fileList={item.audioFileUrl}
                                         tips="仅支持上传.mp3格式文件"
                                         listType="image"
                                         accept=".mp3"
-                                        text={"点击上传MP3文件"}
                                         bucketName="cloud-coach"
                                     />
                                   </NFormItemGi>
-                              )}
-                            </NGrid>
-                          </>
-                      )
-                    })
-                    }
-
-                  </>
-              )}
-
-              {forms.musicSheetType == 'CONCERT' && (
-                  <>
-                    <NGrid cols={1}>
-                      <NFormItemGi
-                          label={'用户可切换声轨'}
-                          path="multiTracksSelection"
-                          rule={[
-                            {
-                              required: true,
-                              message: `请选择用户可切换声轨`,
-                              trigger: 'change',
-                              type: 'array'
-                            }
-                          ]}
-                      >
-                        <NGrid style="padding-top: 4px;">
-                          <NGi span={24}>
-                            <NRadioGroup
-                                v-model:value={state.multiTracks}
-                                onUpdateValue={(value) => {
-                                  checkMultiTracks(value)
-                                }}
-                            >
-                              <NRadio value={'all'}>全选</NRadio>
-                              <NRadio value={'allUncheck'}>重置</NRadio>
-                              <NRadio value={'invert'}>反选</NRadio>
-                            </NRadioGroup>
-                          </NGi>
-                          {state.partListNames && state.partListNames.length > 0 && (
-                              <NGi span={24} style={'margin-top:5px'}>
-                                <NFormItemGi
-                                    label=""
-                                    path="multiTracksSelection"
-                                    rule={[
-                                      {
-                                        required: false
-                                      }
-                                    ]}
-                                >
-                                  <NCheckboxGroup v-model:value={forms.multiTracksSelection}>
-                                    <NGrid yGap={2} cols={4}>
-                                      {state.partListNames.map((item: any) => (
-                                          <NGi>
-                                            <NCheckbox value={item.value} label={item.label}/>
-                                          </NGi>
-                                      ))}
-                                    </NGrid>
-                                  </NCheckboxGroup>
-                                </NFormItemGi>
-                              </NGi>
-                          )}
-                        </NGrid>
-                      </NFormItemGi>
-                    </NGrid>
-                    {/* 只有播放类型为mp3时才会有原音 */}
-                    {forms.playMode === 'MP3' && forms.musicSheetSoundList_YY.length > 0 && (
-                        <>
-                          {forms.musicSheetSoundList_YY.map((item: any, index: number) => {
-                            return (
-                                <>
-                                  {(!containOther(item.track) ||
-                                      (item.track?.toLocaleUpperCase?.() != 'COMMON' &&
-                                          forms.multiTracksSelection.includes(item.track))) && (
-                                      <NGrid
-                                          class={styles.audioSection}
-                                          // v-show={forms.multiTracksSelection.indexOf(item.track) > -1}
+                                  {state.partListNames.length > 0 && (
+                                      <NFormItemGi
+                                          span={12}
+                                          label="所属轨道"
+                                          path={`musicSheetSoundList_YY[${index}].track`}
+                                          rule={[
+                                            {
+                                              required: true,
+                                              message: '请选择所属轨道'
+                                            }
+                                          ]}
                                       >
-                                        <NFormItemGi
-                                            span={12}
-                                            label="原音"
-                                            path={`musicSheetSoundList_YY[${index}].audioFileUrl`}
-                                            rule={[
-                                              {
-                                                // required: forms.multiTracksSelection.indexOf(forms.musicSheetSoundList_YY[index].audioFileUrl) > -1,
-                                                required: true,
-                                                message: `请上传${
-                                                    item.track ? item.track + '的' : '第' + (index + 1) + '个'
-                                                }原音`
-                                              }
-                                            ]}
-                                        >
-                                          <UploadFile
-                                              desc={'原音文件'}
-                                              disabled={state.previewMode}
-                                              size={100}
-                                              v-model:fileList={item.audioFileUrl}
-                                              tips="仅支持上传.mp3格式文件"
-                                              listType="image"
-                                              accept=".mp3"
-                                              bucketName="cloud-coach"
-                                          />
-                                        </NFormItemGi>
-                                        {state.partListNames.length > 0 && (
-                                            <NFormItemGi
-                                                span={12}
-                                                label="所属轨道"
-                                                path={`musicSheetSoundList_YY[${index}].track`}
-                                                rule={[
-                                                  {
-                                                    required: true,
-                                                    message: '请选择所属轨道'
+                                        <NSelect
+                                            placeholder="请选择所属轨道"
+                                            value={item.track}
+                                            options={initPartsListStatus(item.track)}
+                                            onUpdateValue={(value: any) => {
+                                              const track = item.track
+
+                                              if (track) {
+                                                // 声轨交换
+                                                forms.musicSheetSoundList_YY.forEach((next: any) => {
+                                                  if (next.track == value) {
+                                                    next.track = track
                                                   }
-                                                ]}
-                                            >
-                                              <NSelect
-                                                  placeholder="请选择所属轨道"
-                                                  value={item.track}
-                                                  options={initPartsListStatus(item.track)}
-                                                  onUpdateValue={(value: any) => {
-                                                    const track = item.track
-
-                                                    if (track) {
-                                                      // 声轨交换
-                                                      forms.musicSheetSoundList_YY.forEach((next: any) => {
-                                                        if (next.track == value) {
-                                                          next.track = track
-                                                        }
-                                                      })
-
-                                                      const index = forms.multiTracksSelection.indexOf(item.track)
-                                                      forms.multiTracksSelection.splice(index, 1)
-                                                    } else {
-                                                      forms.musicSheetSoundList_YY = forms.musicSheetSoundList_YY.filter(
-                                                          (next: any) => {
-                                                            return next.track != value
-                                                          }
-                                                      )
+                                                })
+
+                                                const index = forms.multiTracksSelection.indexOf(item.track)
+                                                forms.multiTracksSelection.splice(index, 1)
+                                              } else {
+                                                forms.musicSheetSoundList_YY = forms.musicSheetSoundList_YY.filter(
+                                                    (next: any) => {
+                                                      return next.track != value
                                                     }
+                                                )
+                                              }
 
-                                                    if (value && !forms.multiTracksSelection.includes(value)) {
-                                                      forms.multiTracksSelection.push(value)
-                                                    }
-                                                    item.track = value
-                                                  }}
-                                              />
-                                            </NFormItemGi>
-                                        )}
-                                        <NGi class={styles.btnRemove}>
-                                          <NButton
-                                              type="primary"
-                                              text
-                                              // disabled={forms.musicSheetSoundList_YY.length === 1}
-                                              onClick={() => removeSys(index)}
-                                          >
-                                            删除
-                                          </NButton>
-                                        </NGi>
-                                      </NGrid>
+                                              if (value && !forms.multiTracksSelection.includes(value)) {
+                                                forms.multiTracksSelection.push(value)
+                                              }
+                                              item.track = value
+                                            }}
+                                        />
+                                      </NFormItemGi>
                                   )}
-                                </>
-                            )
-                          })}
-                        </>
-                    )}
+                                  <NGi class={styles.btnRemove}>
+                                    <NButton
+                                        type="primary"
+                                        text
+                                        // disabled={forms.musicSheetSoundList_YY.length === 1}
+                                        onClick={() => removeSys(index)}
+                                    >
+                                      删除
+                                    </NButton>
+                                  </NGi>
+                                </NGrid>
+                            )}
+                          </>
+                      )
+                    })}
                   </>
               )}
 

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

@@ -174,6 +174,7 @@ export default defineComponent({
     const saveForm = ref()
 
     const onSearch = () => {
+      checkedRowKeysRef.value = []
       saveForm.value?.submit()
     }
     const onBtnReset = () => {
@@ -248,7 +249,7 @@ export default defineComponent({
         key: 'composer'
       },
       {
-        title: '多声轨渲染',
+        title: '谱面渲染',
         key: 'musicSheetType',
         render: (row: any) => {
           return (
@@ -620,9 +621,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
@@ -713,6 +714,7 @@ export default defineComponent({
                 columns={columns()}
                 data={state.dataList}
                 rowKey={(row: any) => row.id}
+                v-model:checkedRowKeys={checkedRowKeysRef.value}
                 onUpdateCheckedRowKeys={handleCheck}
               ></NDataTable>
               <Pagination

+ 5 - 4
src/views/music-library/project-music-sheet/module/gym/music-sheet-gym.tsx

@@ -168,6 +168,7 @@ export default defineComponent({
     const saveForm = ref()
 
     const onSearch = () => {
+      checkedRowKeysRef.value = []
       saveForm.value?.submit()
     }
     const onBtnReset = () => {
@@ -330,7 +331,7 @@ export default defineComponent({
                 <NDescriptionsItem label="曲目来源">
                   {getMapValueByKey(row.sourceType, new Map(Object.entries(musicSheetSourceType)))}
                 </NDescriptionsItem>
-                <NDescriptionsItem label="多声轨渲染">
+                <NDescriptionsItem label="谱面渲染">
                   {getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}
                 </NDescriptionsItem>
                 <NDescriptionsItem label="所属人">
@@ -513,9 +514,9 @@ export default defineComponent({
                 clearable
               ></NSelect>
             </NFormItem>
-            <NFormItem label="多声轨渲染" path="subjectType">
+            <NFormItem label="谱面渲染" path="subjectType">
               <NSelect
-                placeholder="请选择多声轨渲染"
+                placeholder="请选择谱面渲染"
                 v-model:value={state.searchForm.musicSheetType}
                 options={getSelectDataFromObj(musicSheetType)}
                 clearable
@@ -645,7 +646,7 @@ export default defineComponent({
               columns={columns()}
               data={state.dataList}
               rowKey={(row: any) => row.applicationExtendId}
-              onUpdateCheckedRowKeys={handleCheck}
+              v-model:checkedRowKeys={checkedRowKeysRef.value}
               scrollX={'1400'}
             ></NDataTable>
 

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

@@ -147,6 +147,7 @@ export default defineComponent({
     const saveForm = ref()
 
     const onSearch = () => {
+      checkedRowKeysRef.value = []
       saveForm.value?.submit()
     }
     const onBtnReset = () => {
@@ -245,7 +246,7 @@ export default defineComponent({
         key: 'composer'
       },
       {
-        title: '多声轨渲染',
+        title: '谱面渲染',
         key: 'musicSheetType',
         render: (row: any) => {
           return (
@@ -530,9 +531,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
@@ -623,6 +624,7 @@ export default defineComponent({
                 data={state.dataList}
                 rowKey={(row: any) => row.id}
                 onUpdateCheckedRowKeys={handleCheck}
+                v-model:checkedRowKeys={checkedRowKeysRef.value}
               ></NDataTable>
               <Pagination
                 v-model:page={state.pagination.page}

+ 5 - 4
src/views/music-library/project-music-sheet/module/gyt/music-sheet-gyt.tsx

@@ -143,6 +143,7 @@ export default defineComponent({
     const saveForm = ref()
 
     const onSearch = () => {
+      checkedRowKeysRef.value = []
       saveForm.value?.submit()
     }
     const onBtnReset = () => {
@@ -324,7 +325,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="谱面渲染">{getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}</NDescriptionsItem>
                 <NDescriptionsItem label="所属人">
                   <TheTooltip content={getOwnerName(row.musicSheetExtend, row.sourceType)}/>
                 </NDescriptionsItem>
@@ -512,9 +513,9 @@ export default defineComponent({
                 clearable
               ></NSelect>
             </NFormItem>
-            <NFormItem label="多声轨渲染" path="subjectType">
+            <NFormItem label="谱面渲染" path="subjectType">
               <NSelect
-                placeholder="请选多声轨渲染"
+                placeholder="请选谱面渲染"
                 v-model:value={state.searchForm.musicSheetType}
                 options={getSelectDataFromObj(musicSheetType)}
                 clearable
@@ -644,7 +645,7 @@ export default defineComponent({
               columns={columns()}
               data={state.dataList}
               rowKey={(row: any) => row.applicationExtendId}
-              onUpdateCheckedRowKeys={handleCheck}
+              v-model:checkedRowKeys={checkedRowKeysRef.value}
               scrollX={'1200'}
             ></NDataTable>
 

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

@@ -166,6 +166,7 @@ export default defineComponent({
     const saveForm = ref()
 
     const onSearch = () => {
+      checkedRowKeysRef.value = []
       saveForm.value?.submit()
     }
     const onBtnReset = () => {
@@ -290,7 +291,7 @@ export default defineComponent({
         key: 'composer'
       },
       {
-        title: '多声轨渲染',
+        title: '谱面渲染',
         key: 'musicSheetType',
         render: (row: any) => {
           return (
@@ -990,9 +991,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
@@ -1083,6 +1084,7 @@ export default defineComponent({
                 data={state.dataList}
                 rowKey={(row: any) => row.id}
                 onUpdateCheckedRowKeys={handleCheck}
+                v-model:checkedRowKeys={checkedRowKeysRef.value}
               ></NDataTable>
               <Pagination
                 v-model:page={state.pagination.page}

+ 5 - 4
src/views/music-library/project-music-sheet/module/klx/music-sheet-klx.tsx

@@ -149,6 +149,7 @@ export default defineComponent({
     const saveForm = ref()
 
     const onSearch = () => {
+      checkedRowKeysRef.value = []
       saveForm.value?.submit()
     }
     const onBtnReset = () => {
@@ -344,7 +345,7 @@ export default defineComponent({
                 <NDescriptionsItem label="曲目来源">
                   {getMapValueByKey(row.sourceType, new Map(Object.entries(musicSheetSourceType)))}
                 </NDescriptionsItem>
-                <NDescriptionsItem label="多声轨渲染">
+                <NDescriptionsItem label="谱面渲染">
                   {getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}
                 </NDescriptionsItem>
                 <NDescriptionsItem label="所属人">
@@ -562,9 +563,9 @@ export default defineComponent({
                 clearable
               ></NSelect>
             </NFormItem>
-            <NFormItem label="多声轨渲染" path="subjectType">
+            <NFormItem label="谱面渲染" path="subjectType">
               <NSelect
-                placeholder="请选择多声轨渲染"
+                placeholder="请选择谱面渲染"
                 v-model:value={state.searchForm.musicSheetType}
                 options={getSelectDataFromObj(musicSheetType)}
                 clearable
@@ -693,7 +694,7 @@ export default defineComponent({
               columns={columns()}
               data={state.dataList}
               rowKey={(row: any) => row.applicationExtendId}
-              onUpdateCheckedRowKeys={handleCheck}
+              v-model:checkedRowKeys={checkedRowKeysRef.value}
               scrollX={'2000'}
             ></NDataTable>
 

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

@@ -150,6 +150,7 @@ export default defineComponent({
     const saveForm = ref()
 
     const onSearch = () => {
+      checkedRowKeysRef.value = []
       saveForm.value?.submit()
     }
     const onBtnReset = () => {
@@ -227,7 +228,7 @@ export default defineComponent({
         key: 'composer'
       },
       {
-        title: '多声轨渲染',
+        title: '谱面渲染',
         key: 'musicSheetType',
         render: (row: any) => {
           return (
@@ -537,9 +538,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
@@ -630,6 +631,7 @@ export default defineComponent({
                 data={state.dataList}
                 rowKey={(row: any) => row.id}
                 onUpdateCheckedRowKeys={handleCheck}
+                v-model:checkedRowKeys={checkedRowKeysRef.value}
               ></NDataTable>
               <Pagination
                 v-model:page={state.pagination.page}

+ 5 - 4
src/views/music-library/project-music-sheet/module/kt/music-sheet-kt.tsx

@@ -158,6 +158,7 @@ export default defineComponent({
     const saveForm = ref()
 
     const onSearch = () => {
+      checkedRowKeysRef.value = []
       saveForm.value?.submit()
     }
     const onBtnReset = () => {
@@ -313,7 +314,7 @@ export default defineComponent({
                 <NDescriptionsItem label="曲目来源">
                   {getMapValueByKey(row.sourceType, new Map(Object.entries(musicSheetSourceType)))}
                 </NDescriptionsItem>
-                <NDescriptionsItem label="多声轨渲染">
+                <NDescriptionsItem label="谱面渲染">
                   {getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)))}
                 </NDescriptionsItem>
                 <NDescriptionsItem label="所属人">
@@ -506,9 +507,9 @@ export default defineComponent({
                 clearable
               ></NSelect>
             </NFormItem>
-            <NFormItem label="多声轨渲染" path="subjectType">
+            <NFormItem label="谱面渲染" path="subjectType">
               <NSelect
-                placeholder="请选择多声轨渲染"
+                placeholder="请选择谱面渲染"
                 v-model:value={state.searchForm.musicSheetType}
                 options={getSelectDataFromObj(musicSheetType)}
                 clearable
@@ -630,7 +631,7 @@ export default defineComponent({
               columns={columns()}
               data={state.dataList}
               rowKey={(row: any) => row.applicationExtendId}
-              onUpdateCheckedRowKeys={handleCheck}
+              v-model:checkedRowKeys={checkedRowKeysRef.value}
               scrollX={'1400'}
             ></NDataTable>