瀏覽代碼

调整声轨匹配规则

yuanliang 11 月之前
父節點
當前提交
8e7e5d5989
共有 2 個文件被更改,包括 42 次插入37 次删除
  1. 40 35
      src/views/music-library/music-sheet/modal/music-operationV2.tsx
  2. 2 2
      vite.config.ts

+ 40 - 35
src/views/music-library/music-sheet/modal/music-operationV2.tsx

@@ -393,23 +393,21 @@ export default defineComponent({
           data.rows.map((row: any) => {
             if (row.code) {
               row.code.split(',').forEach((code: string) => {
-                set.push(code.trim().toLocaleLowerCase())
+                set.push(code.replaceAll(' ','').toLocaleLowerCase())
               })
             }
           })
           let unDefinedTrack = [] as any
           forms.multiTracksSelection.forEach((item: any) => {
-            if (item) {
+            if (item && !isPtrack(item)) {
               let contain = false;
-              if (set.includes(item.trim().toLocaleLowerCase())) {
-                contain = true
+              let code = item.replace(' ', '').toLocaleLowerCase()
+              for (let i = 0; i < set.length; i++) {
+                if (code.startsWith(set[i])) {
+                  contain = true
+                  break
+                }
               }
-              // for (let i = 0; i < set.length; i++) {
-              //   if (set[i].startsWith(code) || set[i].endsWith(code)) {
-              //     contain = true
-              //     break
-              //   }
-              // }
               if (!contain) {
                 unDefinedTrack.push(item)
               }
@@ -584,6 +582,13 @@ export default defineComponent({
       })
     }
 
+    const isPtrack = async (track: string) => {
+      if (track && (track == 'P1' || track == 'P2' || track == 'P3' || track == 'P4')) {
+        return true
+      }
+      return false
+    }
+
     const initFSongList = async () => {
       forms.fSongList.forEach((fSong: any) => {
         state.initFSongMap.set(fSong.track, fSong)
@@ -745,7 +750,7 @@ export default defineComponent({
         if (!data.disabled) {
           const codes = data.code.split(/[,,]/)
           codes.forEach((code: string) => {
-            let codeTemp = code.trim().toLowerCase()
+            let codeTemp = code.replaceAll(' ','').toLowerCase()
             if (codeIdMap.has(codeTemp)) {
               codeIdMap.get(codeTemp).push(data.id + '')
             } else {
@@ -757,7 +762,7 @@ export default defineComponent({
         }
       })
       for (let i = 0; i < codes.length; i++) {
-        let code = codes[i].trim().toLowerCase()
+        let code = codes[i].replaceAll(' ','').toLowerCase()
         if (codeIdMap.has(code)) {
           codeIdMap.get(code).forEach((c: any) => {
             if (!forms.musicalInstrumentIdList.includes(c)) {
@@ -1308,7 +1313,7 @@ export default defineComponent({
                     path="composer"
                     rule={[
                       {
-                        required: true,
+                        required: false,
                         message: '请输入音乐人',
                         trigger: ['input', 'blur']
                       }
@@ -1600,12 +1605,12 @@ export default defineComponent({
                 {/*  </NRadioGroup>*/}
                 {/*</NFormItemGi>*/}
                 <NFormItemGi
-                    label="是否节奏练习"
+                    label="是否全声部"
                     path="isAllSubject"
                     rule={[
                       {
                         required: true,
-                        message: '请选择是否节奏练习',
+                        message: '是否全声部',
                       }
                     ]}
                 >
@@ -1635,54 +1640,54 @@ export default defineComponent({
               {!forms.isAllSubject && (
                   <NGrid cols={2}>
                     <NFormItemGi
-                        label="可用声部"
-                        path="subjectIds"
+                        label="可用乐器"
+                        path="musicalInstrumentIdList"
                         rule={[
                           {
                             required: true,
-                            message: '请选择可用声部',
+                            message: '请选择可用乐器',
                             trigger: 'change',
                             type: 'array'
                           }
                         ]}
                     >
                       <NSelect
-                          v-model:value={forms.subjectIds}
-                          options={state.subjectList}
-                          disabled={true}
+                          placeholder="请选择可用乐器"
+                          options={state.instrumentList}
+                          v-model:value={forms.musicalInstrumentIdList}
+                          // disabled = {state.instrumentDisabled}
+                          clearable
                           multiple
                           filterable
-                          clearable
-                          placeholder="请选择可用声部"
                           maxTagCount={10}
-                          onUpdateValue={async (val: any) => {
-                            // await changeSubject(val)
+                          onUpdateValue={async (value: any) => {
+                            await showBackSubject(value)
                           }}
                       />
                     </NFormItemGi>
                     <NFormItemGi
-                        label="可用乐器"
-                        path="musicalInstrumentIdList"
+                        label="可用声部"
+                        path="subjectIds"
                         rule={[
                           {
                             required: true,
-                            message: '请选择可用乐器',
+                            message: '请选择可用声部',
                             trigger: 'change',
                             type: 'array'
                           }
                         ]}
                     >
                       <NSelect
-                          placeholder="请选择可用乐器"
-                          options={state.instrumentList}
-                          v-model:value={forms.musicalInstrumentIdList}
-                          disabled = {state.instrumentDisabled}
-                          clearable
+                          v-model:value={forms.subjectIds}
+                          options={state.subjectList}
+                          // disabled={true}
                           multiple
                           filterable
+                          clearable
+                          placeholder="请选择可用声部"
                           maxTagCount={10}
-                          onUpdateValue={async (value: any) => {
-                            await showBackSubject(value)
+                          onUpdateValue={async (val: any) => {
+                            // await changeSubject(val)
                           }}
                       />
                     </NFormItemGi>

+ 2 - 2
vite.config.ts

@@ -19,9 +19,9 @@ function pathResolve(dir: string) {
 }
 
 // const proxyUrl = 'https://dev.lexiaoya.cn'
-// const proxyUrl = 'http://127.0.0.1:7293/'
+const proxyUrl = 'http://127.0.0.1:7293/'
 // const proxyUrl = 'https://resource.colexiu.com/'
-const proxyUrl = 'https://dev.resource.colexiu.com'
+// const proxyUrl = 'https://dev.resource.colexiu.com'
 // https://test.resource.colexiu.com/
 
 export default ({ command, mode }: ConfigEnv): UserConfig => {