浏览代码

接口调整

yuanliang 1 年之前
父节点
当前提交
1c1dacf84f

+ 5 - 1
src/components/upload-file/index.tsx

@@ -34,6 +34,10 @@ export default defineComponent({
       type: Boolean,
       default: true
     },
+    desc: {
+      type: String,
+      default: ''
+    },
     // width: {
     //   type: Number,
     //   default: 96
@@ -131,7 +135,7 @@ export default defineComponent({
             url: props.fileList
           }
         ]
-      } else if (Array.isArray(props.imageList)) {
+      } else if (Array.isArray(props.imageList) && props.imageList.length > 0) {
         console.log(Array.isArray(props.imageList), props.imageList, 'Array.isArray(props.imageList)')
         let list: any = []
         props.imageList.forEach((n: any) => {

+ 10 - 0
src/views/music-library/api.ts

@@ -305,3 +305,13 @@ export const musicSheetApplicationExtendStatus = (params?: any) => {
     data: params
   } as any)
 }
+
+/**
+ * @description: 查询曲目可适用的项目信息
+ */
+export const musicSheetApplicationApplicationInfo = (musicSheetId?: any) => {
+  return request({
+    url: '/cbs-app/musicSheetApplicationExtend/applicationInfo/' + musicSheetId,
+    method: 'post',
+  } as any)
+}

+ 35 - 15
src/views/music-library/music-sheet/component/music-list.tsx

@@ -2,11 +2,10 @@ import SaveForm from '@/components/save-form'
 import Pagination from '@/components/pagination'
 import {DataTableRowKey, NButton, NDataTable, NFormItem, NIcon, NImage, NInput, NModal, NSelect, NSpace, NTag, useDialog, useMessage} from 'naive-ui'
 import {defineComponent, onMounted, reactive, ref, watch} from 'vue'
-import {musicSheetApplicationOwnerList, musicSheetCategoriesQueryTree, musicSheetPage, musicSheetRemove, musicSheetStatusList, musicTagPage} from '../../api'
+import {musicSheetApplicationOwnerList, musicSheetPage, musicSheetRemove, musicSheetStatusList, musicTagPage} from '../../api'
 import MusicOperation from '../modal/music-operation'
 import {subjectPage} from '@/views/system-manage/api'
 import MusicPreView from '../modal/musicPreView'
-import {filterPointCategory} from '@/views/teaching-manage/unit-test'
 import UseProject from "@views/music-library/music-sheet/modal/use-project";
 import {getMapValueByKey} from "@/utils/filters";
 import {appKey, musicSheetSourceType, musicSheetType} from "@/utils/constant";
@@ -45,7 +44,7 @@ export default defineComponent({
       visiableMusic: false,
       musicOperation: 'add',
       musicData: {} as any,
-      musicSheetCategories: [] as any,
+      // musicSheetCategories: [] as any,
       musicPreview: false,
       musicScore: null as any,
       showUseProject: false, // 适用项目
@@ -63,10 +62,12 @@ export default defineComponent({
         },
         {
           title: '曲目编号',
+          minWidth:'200px',
           key: 'id'
         },
         {
           title: '曲目名称',
+          minWidth:'200px',
           key: 'name'
         },
         {
@@ -78,17 +79,26 @@ export default defineComponent({
         },
         {
           title: '音乐人',
+          minWidth:'100px',
           key: 'composer'
         },
         {
           title: '曲目类型',
+          minWidth:'100px',
           key: 'musicSheetType',
           render(row: any) {
             return getMapValueByKey(row.musicSheetType, new Map(Object.entries(musicSheetType)));
           }
         },
         {
+          title: '可用声部',
+          minWidth:'100px',
+          maxWidth:'300px',
+          key: 'subjectNames',
+        },
+        {
           title: '作者属性',
+          minWidth:'100px',
           key: 'sourceType',
           render(row: any) {
             return getMapValueByKey(row.sourceType, new Map(Object.entries(musicSheetSourceType)));
@@ -96,6 +106,7 @@ export default defineComponent({
         },
         {
           title: '所属人',
+          minWidth:'200px',
           key: 'composer',
           render(row: any) {
             return <div>{getOwnerName(row.musicSheetExtend, row.sourceType)}</div>
@@ -103,14 +114,17 @@ export default defineComponent({
         },
         {
           title: '上传人',
+          minWidth:'100px',
           key: 'createByName'
         },
         {
           title: '上传时间',
+          minWidth:'150px',
           key: 'createTime'
         },
         {
           title: '审核版本',
+          minWidth:'100px',
           key: 'appAuditFlag',
           render(row: any) {
             return <div>{row.appAuditFlag ? '是' : '否'}</div>
@@ -118,6 +132,7 @@ export default defineComponent({
         },
         {
           title: '适用项目',
+          minWidth:'150px',
           key: 'projectName',
           render(row: any) {
             return (
@@ -145,6 +160,7 @@ export default defineComponent({
         },
         {
           title: '状态',
+          minWidth:'50px',
           key: 'status',
           render(row: any) {
             return (
@@ -156,6 +172,7 @@ export default defineComponent({
           title: '操作',
           key: 'operation',
           fixed: 'right',
+          width: '300px',
           render(row: any) {
             return (
                 <NSpace>
@@ -249,7 +266,7 @@ export default defineComponent({
     const onChangeStatus = (row: any) => {
       const statusStr = row.status ? '停用' : '启用'
       dialog.warning({
-        title: '警告',
+        title: '提示',
         content: `是否${statusStr}?`,
         positiveText: '确定',
         negativeText: '取消',
@@ -274,7 +291,7 @@ export default defineComponent({
       }
       const statusStr = !status ? '停用' : '启用'
       dialog.warning({
-        title: '警告',
+        title: '提示',
         content: `是否${statusStr}` + length + `条数据?`,
         positiveText: '确定',
         negativeText: '取消',
@@ -335,13 +352,13 @@ export default defineComponent({
     }
 
     // 获取分类
-    const getMusicSheetCategorieList = async () => {
-      try {
-        const {data} = await musicSheetCategoriesQueryTree({enable: true})
-        state.musicSheetCategories = filterPointCategory(data, 'musicSheetCategoriesList')
-      } catch (e) {
-      }
-    }
+    // const getMusicSheetCategorieList = async () => {
+    //   try {
+    //     const {data} = await musicSheetCategoriesQueryTree({enable: true})
+    //     state.musicSheetCategories = filterPointCategory(data, 'musicSheetCategoriesList')
+    //   } catch (e) {
+    //   }
+    // }
 
     // 获取声部
     const initSubjectList = async () => {
@@ -397,6 +414,7 @@ export default defineComponent({
     }
 
     onMounted(() => {
+      state.loading = true
       // getTagList()
       if (props.searchId) {
         state.searchForm.categoriesId = props.searchId || null
@@ -405,7 +423,8 @@ export default defineComponent({
       initSubjectList()
       initUseAppList()
       getList()
-      getMusicSheetCategorieList()
+      // getMusicSheetCategorieList()
+      state.loading = false
     })
 
     return () => (
@@ -572,7 +591,7 @@ export default defineComponent({
                     onBatchChangeStatus(false)
                   }}
               >
-                批量
+                批量
               </NButton>
               <NButton
                   disabled={checkedRowKeysRef.value.length == 0}
@@ -593,6 +612,7 @@ export default defineComponent({
                 data={state.dataList}
                 rowKey={(row: any) => row.id}
                 onUpdateCheckedRowKeys={handleCheck}
+                scrollX={'2000'}
             ></NDataTable>
             <Pagination
                 v-model:page={state.pagination.page}
@@ -622,7 +642,7 @@ export default defineComponent({
                 type={state.musicOperation}
                 data={state.musicData}
                 subjectList={state.subjectList}
-                musicSheetCategories={state.musicSheetCategories}
+                // musicSheetCategories={state.musicSheetCategories}
                 // tagList={state.tagList}
                 onClose={() => (state.visiableMusic = false)}
                 onGetList={getList}

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

@@ -20,7 +20,7 @@ import {
   useMessage
 } from 'naive-ui'
 import {defineComponent, onMounted, PropType, reactive, ref} from 'vue'
-import {musicSheetDetail, musicSheetSave} from '../../api'
+import {musicSheetCategoriesQueryTree, musicSheetDetail, musicSheetSave} from '../../api'
 import UploadFile from '@/components/upload-file'
 import styles from './index.module.less'
 import deepClone from '@/utils/deep.clone'
@@ -31,6 +31,7 @@ import {musicalInstrumentPage} from "@views/system-manage/subject-manage/api";
 import {subjectPage} from "@views/system-manage/api";
 import MusicSheetOwnerDialog from "@views/music-library/music-sheet/modal/musicSheetOwnerDialog";
 import {sysApplicationPage} from "@views/menu-manage/api";
+import {filterPointCategory} from "@views/teaching-manage/unit-test";
 
 /**
  * 获取指定元素下一个Note元素
@@ -263,10 +264,10 @@ export default defineComponent({
       type: Array as PropType<Array<SelectOption>>,
       default: () => []
     },
-    musicSheetCategories: {
-      type: Array as PropType<Array<SelectOption>>,
-      default: () => []
-    }
+    // musicSheetCategories: {
+    //   type: Array as PropType<Array<SelectOption>>,
+    //   default: () => []
+    // }
   },
   emits: ['close', 'getList'],
 
@@ -291,7 +292,7 @@ export default defineComponent({
       // musicSheetCategoriesId: null,
       status: false,
       musicSheetType: 'SINGLE', // 曲目类型
-      sourceType: undefined, //来源类型/作者属性(PLATFORM: 平台; ORG: 机构; PERSON: 个人)
+      sourceType: null as any, //来源类型/作者属性(PLATFORM: 平台; ORG: 机构; PERSON: 个人)
       // userId: null, // 所属人
       appAuditFlag: 0, // 是否审核版本
       midiFileUrl: null, // 伴奏文件 MIDI文件(保留字段)
@@ -313,7 +314,7 @@ export default defineComponent({
       tagList: [...props.tagList] as any, // 标签列表
       xmlFirstSpeed: null as any, // 第一个音轨速度
       partListNames: [] as any, // 所有音轨声部列表
-      musicSheetCategories: [...props.musicSheetCategories] as any,
+      musicSheetCategories: [] as any,
       musicSheetAccompanimentUrls: '' as any,
       musicSheetAccompanimentUrlList: [] as any,
       instrumentData: [],
@@ -436,7 +437,7 @@ export default defineComponent({
       }
 
       state.xmlFirstSpeed = xmlParse.getElementsByTagName('per-minute')?.[0]?.textContent || ''
-      if (!forms.playSpeed) {
+      if (!forms.playSpeed && state.xmlFirstSpeed) {
         forms.playSpeed = Number.parseInt(state.xmlFirstSpeed)
       }
 
@@ -590,7 +591,6 @@ export default defineComponent({
       })
 
       // 初始化应用
-      // 初始化应用
       {
         const appKeys = Object.keys(appKey);
 
@@ -606,6 +606,15 @@ export default defineComponent({
         state.appData = filter
       }
 
+      // 获取分类信息
+      {
+        try {
+          const {data} = await musicSheetCategoriesQueryTree({enable: true})
+          state.musicSheetCategories = filterPointCategory(data, 'musicSheetCategoriesList')
+        } catch (e) {
+        }
+      }
+
       if (props.type === 'edit' || props.type === 'preview') {
         const detail = props.data
         try {
@@ -745,7 +754,8 @@ export default defineComponent({
               <NFormItemGi label="曲目封面" path="musicCover"
                            rule={[
                              {
-                               required: true
+                               required: true,
+                               message: "请上传曲目封面"
                              }
                            ]}>
                 <UploadFile
@@ -814,29 +824,30 @@ export default defineComponent({
 
             </NGrid>
             <NGrid cols={2}>
-              <NFormItemGi
-                  label="所属人"
-                  path="musicSheetExtend.userId"
-                  rule={[
-                    {
-                      required: true,
-                      message: '请选择曲目所属人'
-                    }
-                  ]}
-              >
-                <NButton
-                    disabled={state.previewMode || !forms.sourceType}
-                    type="primary"
-                    size="small"
-                    text
-                    //v-auth="orchestraSubsidyStandard/update1597887579789053953"
-                    onClick={() => {
-                      state.showMusicSheetOwnerDialog = true
-                    }}
-                >
-                  {state.ownerName ? state.ownerName : '请选择所属人'}
-                </NButton>
-              </NFormItemGi>
+              {forms.sourceType !== 'PLATFORM' && (
+                  <NFormItemGi
+                      label="所属人"
+                      path="musicSheetExtend.userId"
+                      rule={[
+                        {
+                          required: true,
+                          message: '请选择曲目所属人'
+                        }
+                      ]}
+                  >
+                    <NButton
+                        disabled={state.previewMode || !forms.sourceType}
+                        type="primary"
+                        size="small"
+                        text
+                        //v-auth="orchestraSubsidyStandard/update1597887579789053953"
+                        onClick={() => {
+                          state.showMusicSheetOwnerDialog = true
+                        }}
+                    >
+                      {state.ownerName ? state.ownerName : '请选择所属人'}
+                    </NButton>
+                  </NFormItemGi>)}
               <NFormItemGi label="速度" path="playSpeed">
                 <NInputNumber
                     placeholder="请输入速度"
@@ -988,6 +999,7 @@ export default defineComponent({
                         bucketName="cloud-coach"
                         text="点击上传伴奏文件"
                         max={10}
+                        desc={'上传伴奏文件'}
                         onUpload:success={(file) => {
                           state.musicSheetAccompanimentUrls = [state.musicSheetAccompanimentUrls, file.url].filter(Boolean).join(',')
                           state.musicSheetAccompanimentUrlList = state.musicSheetAccompanimentUrls?.split(',').filter(Boolean)

+ 101 - 26
src/views/music-library/music-sheet/modal/musicSheetOwnerDialog.tsx

@@ -17,11 +17,11 @@ export default defineComponent({
     },
     sourceType: {
       type: String,
-      default: null
+      required: true
     },
     appData: {
       type: Array,
-      required:true,
+      required: true,
       default: []
     }
 
@@ -37,6 +37,7 @@ export default defineComponent({
       },
       searchForm: {
         applicationId: null,
+        orgName: null,
         name: null,
         sourceType: null as any,
       },
@@ -100,27 +101,86 @@ export default defineComponent({
       getList()
     })
     const columns = (): any => {
+      if (state.searchForm.sourceType === 'ORG') {
+        return [
+          {
+            title: '机构名称',
+            key: 'orgName'
+          },
+          {
+            title: '操作',
+            key: 'operation',
+            fixed: 'right',
+            render(row: any) {
+              return (
+                  <NSpace>
+                    <NButton
+                        type="primary"
+                        size="small"
+                        text
+                        onClick={() => {
+                          const choseMusicSheetOwnerData = {
+                            ...row,
+                            applicationId: state.searchForm.applicationId
+                          }
+                          emit("choseMusicSheetOwnerData", choseMusicSheetOwnerData)
+                          emit('close')
+                        }}
+                    >
+                      选择
+                    </NButton>
+                  </NSpace>
+              )
+            }
+          }
+        ]
+      } else {
+        return [
+          {
+            title: '人员名称',
+            key: 'userName'
+          },
+          {
+            title: '手机号',
+            key: 'phone'
+          },
+          {
+            title: '操作',
+            key: 'operation',
+            fixed: 'right',
+            render(row: any) {
+              return (
+                  <NSpace>
+                    <NButton
+                        type="primary"
+                        size="small"
+                        text
+                        onClick={() => {
+                          const choseMusicSheetOwnerData = {
+                            ...row,
+                            applicationId: state.searchForm.applicationId
+                          }
+                          emit("choseMusicSheetOwnerData", choseMusicSheetOwnerData)
+                          emit('close')
+                        }}
+                    >
+                      选择
+                    </NButton>
+                  </NSpace>
+              )
+            }
+          }
+        ]
+      }
+    }
+
+    const orgColumns = (): any => {
       return [
         {
-          title: '人员名称',
+          title: '机构名称',
           key: 'userName'
         },
         {
-          title: '手机号',
-          key: 'phone'
-        },
-        {
-          title: '机构',
-          key: 'organizationRole'
-        },
-        {
-          title: '客户端',
-          key: 'clientType',
-          render(row: any) {
-            return getMapValueByKey(row.clientType, new Map(Object.entries(clientType)));
-          }
-        },
-        {
           title: '操作',
           key: 'operation',
           fixed: 'right',
@@ -149,6 +209,7 @@ export default defineComponent({
       ]
     }
 
+
     return () => (
         <div class="system-menu-container">
           <SaveForm
@@ -158,20 +219,34 @@ export default defineComponent({
               // saveKey="musicSheetOwnerDialog"
               onSetModel={(val: any) => (state.searchForm = val)}
           >
-            <NFormItem label="应用" path="applicationId" size="small">
+            <NFormItem label="应用" path="applicationId" size="small" style={'width:250px'}>
               <NSelect
                   placeholder="请选择适用项目"
                   v-model:value={state.searchForm.applicationId}
                   options={state.appData}
               />
             </NFormItem>
-            <NFormItem label="所属人" path="name" size="small">
-              <NInput
-                  placeholder="请选择所属人/手机号"
-                  v-model:value={state.searchForm.name}
-                  clearable
-              />
-            </NFormItem>
+            {state.searchForm.sourceType === 'PERSON' &&
+                (<>
+                  <NFormItem label="所属人" path="name" size="small" style={'width:250px'}>
+                    <NInput
+                        placeholder="请输入所属人/手机号"
+                        v-model:value={state.searchForm.name}
+                        clearable
+                    />
+                  </NFormItem>
+                </>)}
+
+            {state.searchForm.sourceType === 'ORG' &&
+                (<>
+                  <NFormItem label="机构名称" path="orgName" size="small" style={'width:250px'}>
+                    <NInput
+                        placeholder="请输入机构名称"
+                        v-model:value={state.searchForm.orgName}
+                        clearable
+                    />
+                  </NFormItem>
+                </>)}
             <NFormItem size="small">
               <NSpace>
                 <NButton type="primary" onClick={onSearch}>

+ 42 - 4
src/views/music-library/music-sheet/modal/use-project.tsx

@@ -1,8 +1,14 @@
 import {defineComponent, onMounted, reactive, ref} from 'vue'
 import styles from "@views/music-library/music-sheet/modal/index.module.less";
-import {NButton, NCascader, NCheckbox, NCheckboxGroup, NForm, NFormItem, NInput, NInputNumber, NSelect, NSpace, NTabPane, NTabs, useMessage} from "naive-ui";
+import {NButton, NCascader, NCheckbox, NCheckboxGroup, NForm, NFormItem, NText, NInputNumber, NSelect, NSpace, NTabPane, NTabs, useMessage} from "naive-ui";
 import {appKey, musicSheetAvailableType, musicSheetPaymentType} from "@/utils/constant";
-import {musicSheetApplicationExtendCategoryApplicationExtendInfo, musicSheetApplicationExtendCategoryList, musicSheetApplicationExtendSave, musicSheetDetail,} from "@views/music-library/api";
+import {
+  musicSheetApplicationApplicationInfo,
+  musicSheetApplicationExtendCategoryApplicationExtendInfo,
+  musicSheetApplicationExtendCategoryList,
+  musicSheetApplicationExtendSave,
+  musicSheetDetail,
+} from "@views/music-library/api";
 import {getSelectDataFromObj} from "@/utils/objectUtil";
 
 export default defineComponent({
@@ -52,6 +58,7 @@ export default defineComponent({
     })
     const state = reactive({
       loading: false,
+      musicSheetData: null as any,
       tabName: null as any,
       selectAppKey: [] as any, //选择的APP
       selectAppName: [] as any, //app key name映射
@@ -59,6 +66,8 @@ export default defineComponent({
       userProjectList: [] as any, // 适用项目列表
       musicSheetCategoryOptions: {} as any,//项目曲目分类选择
 
+      musicSheetCanBeUsedProjectKey: [] as any, //  曲目可以使用在哪些项目,通过声部配置过滤
+
       ktFieldRequired: false,
 
 
@@ -72,16 +81,41 @@ export default defineComponent({
 
       // 加载已经配置的APP
       const {data} = await musicSheetDetail({id: props.id})
+      state.musicSheetData = data
       if (data && data.musicSheetExtend) {
         forms.useApplicationIds = data.musicSheetExtend.useApplicationIds?.split(',') || []
       }
 
+      // 查询该曲目可以使用的app
+      // {
+      //   try {
+      //     const {data} = await musicSheetApplicationApplicationInfo(state.musicSheetData.id)
+      //     data.forEach((next: any) => {
+      //       state.musicSheetCanBeUsedProjectKey.push(next.appKey)
+      //     })
+      //   } catch (e) {
+      //   }
+      // }
+
       // 加载所有的APP
       const keys = Object.keys(appKey);
-      state.userProjectList = props.useProject.filter((next: any) => {
+      // state.userProjectList = props.useProject.filter((next: any) => {
+      //   const indexOf = keys.indexOf(next.appKey);
+      //   return indexOf > -1;
+      // })
+
+      props.useProject.forEach((next: any) => {
         const indexOf = keys.indexOf(next.appKey);
-        return indexOf > -1;
+        let disabled = false;
+        if (indexOf > -1) {
+          // disabled = !state.musicSheetCanBeUsedProjectKey.includes(next.appKey);
+          state.userProjectList.push({
+            ...next,
+            disabled: disabled
+          })
+        }
       })
+
       state.appKeyNameMap = new Map<string, string>
       state.userProjectList.forEach((next: any) => {
         if (forms.useApplicationIds.includes(next.id)) {
@@ -180,6 +214,9 @@ export default defineComponent({
               label-placement="left"
               label-width="85"
           >
+            {/*<NText style={'color:red'}>*/}
+            {/*  注:应用无曲目声部时,适用应用不可选择*/}
+            {/*</NText>*/}
             <NFormItem
                 label="适用应用"
                 path="useApplicationIds"
@@ -210,6 +247,7 @@ export default defineComponent({
               >
                 {state.userProjectList.map((item: any) => (
                     <NCheckbox value={item.value}>{item.label}</NCheckbox>
+                  // <NCheckbox value={item.value} disabled={item.disabled}>{item.label}</NCheckbox>
                 ))
                 }
               </NCheckboxGroup>

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

@@ -156,7 +156,7 @@ export default defineComponent({
     const onChangeStatus = (row: any) => {
       const statusStr = row.status ? '停用' : '启用'
       dialog.warning({
-        title: '警告',
+        title: '提示',
         content: `是否${statusStr}?`,
         positiveText: '确定',
         negativeText: '取消',
@@ -182,7 +182,7 @@ export default defineComponent({
       }
       const statusStr = !status ? '停用' : '启用'
       dialog.warning({
-        title: '警告',
+        title: '提示',
         content: `是否${statusStr}` + length + `条数据?`,
         positiveText: '确定',
         negativeText: '取消',
@@ -501,7 +501,7 @@ export default defineComponent({
                       onBatchChangeStatus(false)
                     }}
                 >
-                  批量
+                  批量
                 </NButton>
                 <NButton
                     disabled={checkedRowKeysRef.value.length == 0}

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

@@ -156,7 +156,7 @@ export default defineComponent({
     const onChangeStatus = (row: any) => {
       const statusStr = row.status ? '停用' : '启用'
       dialog.warning({
-        title: '警告',
+        title: '提示',
         content: `是否${statusStr}?`,
         positiveText: '确定',
         negativeText: '取消',
@@ -182,7 +182,7 @@ export default defineComponent({
       }
       const statusStr = !status ? '停用' : '启用'
       dialog.warning({
-        title: '警告',
+        title: '提示',
         content: `是否${statusStr}` + length + `条数据?`,
         positiveText: '确定',
         negativeText: '取消',
@@ -501,7 +501,7 @@ export default defineComponent({
                       onBatchChangeStatus(false)
                     }}
                 >
-                  批量
+                  批量
                 </NButton>
                 <NButton
                     disabled={checkedRowKeysRef.value.length == 0}

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

@@ -141,7 +141,7 @@ export default defineComponent({
     const onChangeStatus = (row: any) => {
       const statusStr = row.status ? '停用' : '启用'
       dialog.warning({
-        title: '警告',
+        title: '提示',
         content: `是否${statusStr}?`,
         positiveText: '确定',
         negativeText: '取消',
@@ -167,7 +167,7 @@ export default defineComponent({
       }
       const statusStr = !status ? '停用' : '启用'
       dialog.warning({
-        title: '警告',
+        title: '提示',
         content: `是否${statusStr}` + length + `条数据?`,
         positiveText: '确定',
         negativeText: '取消',
@@ -503,7 +503,7 @@ export default defineComponent({
                       onBatchChangeStatus(false)
                     }}
                 >
-                  批量
+                  批量
                 </NButton>
                 <NButton
                     disabled={checkedRowKeysRef.value.length == 0}

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

@@ -159,7 +159,7 @@ export default defineComponent({
     const onChangeStatus = (row: any) => {
       const statusStr = row.status ? '停用' : '启用'
       dialog.warning({
-        title: '警告',
+        title: '提示',
         content: `是否${statusStr}?`,
         positiveText: '确定',
         negativeText: '取消',
@@ -185,7 +185,7 @@ export default defineComponent({
       }
       const statusStr = !status ? '停用' : '启用'
       dialog.warning({
-        title: '警告',
+        title: '提示',
         content: `是否${statusStr}` + length + `条数据?`,
         positiveText: '确定',
         negativeText: '取消',
@@ -491,7 +491,7 @@ export default defineComponent({
                       onBatchChangeStatus(false)
                     }}
                 >
-                  批量
+                  批量
                 </NButton>
                 <NButton
                     disabled={checkedRowKeysRef.value.length == 0}

+ 6 - 10
src/views/system-manage/param-settings/component/project-setting.tsx

@@ -1,4 +1,4 @@
-import {NButton, NForm, NFormItemGi, NGrid, NInputNumber, useMessage} from 'naive-ui'
+import {NButton, NForm, NFormItemGi, NGrid, NInput, useMessage} from 'naive-ui'
 import {defineComponent, onMounted, reactive, ref} from 'vue'
 import {sysParamConfigQueryByParamName, sysParamConfigUpdate} from "@views/system-manage/param-settings/api";
 
@@ -28,7 +28,7 @@ export default defineComponent({
       const {data} = await sysParamConfigQueryByParamName(paramName());
       if (data) {
         forms.id = data.id
-        forms.paramValue = parseInt(data.paramValue)
+        forms.paramValue = data.paramValue
         forms.group = data.group
       }else {
         message.error("加载配置参数失败");
@@ -72,15 +72,11 @@ export default defineComponent({
                     }
                   ]}
               >
-                <NInputNumber
-                    placeholder="请输入评测频率"
-                    showButton={false}
-                    min="0"
-                    max="99999"
+                <NInput
                     v-model:value={forms.paramValue}
-                    // v-slots={{
-                    //   suffix: () => 's(秒)'
-                    // }}
+                    placeholder="请输入评测频率"
+                    clearable
+                    style="width:200px"
                 />
               </NFormItemGi>
             </NGrid>