| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692 |
- import { computed, defineComponent, nextTick, onMounted, reactive, ref } from 'vue'
- import styles from '@views/music-library/music-sheet/modal/index.module.less'
- import {
- NButton,
- NCascader,
- NCheckbox,
- NCheckboxGroup,
- NForm,
- NFormItem,
- NInputNumber,
- NSelect,
- NSpace, NSpin,
- NTabPane,
- NTabs,
- useMessage
- } from 'naive-ui'
- import {appKey, musicSheetAvailableType, musicSheetPaymentType, musicSheetType} from '@/utils/constant'
- import {
- musicSheetApplicationExtendCategoryApplicationExtendInfo,
- musicSheetApplicationExtendCategoryList,
- musicSheetApplicationExtendSave,
- musicSheetDetail
- } from '@views/music-library/api'
- import { getSelectDataFromObj } from '@/utils/objectUtil'
- export default defineComponent({
- name: 'use-project',
- props: {
- useProject: {
- type: Array,
- required: true,
- default: []
- },
- id: {
- type: String,
- required: true,
- default: null
- }
- },
- emits: ['close', 'getList'],
- setup(props, { emit }) {
- const tabsRef = ref()
- const forms = reactive({
- musicSheetId: null,
- useApplicationIds: [] as any,
- useProjectParamConfig: {
- //各个项目配置的参数
- // GYM: {
- // musicSheetCategoryId: null as any,
- // sortNo: null as any,
- // paymentType: null as any // 是否收费
- // },
- // GYT: {
- // musicSheetCategoryId: null as any,
- // sortNo: null as any
- // },
- // KLX: {
- // availableType: null as any, //可用途径 ORG 机构 PLATFORM 平台
- // musicTagIds: null as any,
- // paymentType: [] as any, // 是否收费
- // musicPrice: null as any, // 曲目价格
- // topFlag: null as any, // 是否置顶(0:否;1:是)
- // exquisiteFlag: null as any, // 精品标志
- // sortNo: null as any
- // },
- // KT: {
- // musicSheetCategoryId: null as any,
- // sortNo: null as any
- // }
- } as any
- })
- // 除了排序号,其他字段有一个有值,其他字段都必填
- const gymFileRequire = computed(() => {
- const app = forms.useProjectParamConfig.GYM
- const fieldList = ['musicSheetCategoryId', 'paymentType']
- for (let i = 0; i < fieldList.length; i++) {
- const fieldValue = app[fieldList[i]]
- if (fieldValue) {
- return true
- }
- }
- return false
- })
- const klxFileRequire = computed(() => {
- const app = forms.useProjectParamConfig['KLX']
- const fieldList = [
- 'availableType',
- 'musicSheetCategoryId',
- 'paymentType',
- 'musicPrice',
- 'topFlag',
- 'exquisiteFlag'
- ]
- for (let i = 0; i < fieldList.length; i++) {
- const fieldValue = app[fieldList[i]]
- if (fieldValue != null && fieldValue != undefined && fieldValue != '') {
- return true
- }
- }
- return false
- })
- const ktFileRequire = computed(() => {
- const app = forms.useProjectParamConfig['KT']
- const fieldList = ['musicSheetCategoryId']
- for (let i = 0; i < fieldList.length; i++) {
- const fieldValue = app[fieldList[i]]
- if (fieldValue) {
- return true
- }
- }
- return false
- })
- const gytFileRequire = computed(() => {
- const app = forms.useProjectParamConfig['GYT']
- const fieldList = ['musicSheetCategoryId']
- for (let i = 0; i < fieldList.length; i++) {
- const fieldValue = app[fieldList[i]]
- if (fieldValue) {
- return true
- }
- }
- return false
- })
- const state = reactive({
- loading: false,
- musicSheetData: null as any,
- tabName: null as any,
- selectAppKey: [] as any, //选择的APP
- selectAppName: [] as any, //app key name映射
- appKeyNameMap: null as any, //
- userProjectList: [] as any, // 适用项目列表
- musicSheetCategoryOptions: {} as any, //项目曲目分类选择
- musicSheetCanBeUsedProjectKey: [] as any // 曲目可以使用在哪些项目,通过声部配置过滤
- })
- const btnLoading = ref(false)
- const message = useMessage()
- onMounted(async () => {
- state.loading = true
- // 加载已经配置的APP
- const { data } = await musicSheetDetail({ id: props.id })
- state.musicSheetData = data
- if (data && data.musicSheetExtend && data.musicSheetExtend.useApplicationIds) {
- 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) => {
- // const indexOf = keys.indexOf(next.appKey);
- // return indexOf > -1;
- // })
- props.useProject.forEach((next: any) => {
- const indexOf = keys.indexOf(next.appKey)
- 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)) {
- state.selectAppKey.push(next.appKey)
- }
- state.appKeyNameMap.set(next.appKey, next.appName)
- })
- if (state.selectAppKey.length > 0) {
- state.tabName = state.selectAppKey[0]
- }
- // 加载不同项目的曲目分类列表
- const projectIdArr = [] as any
- const appIdCodeMap = new Map<number, string>()
- props.useProject.forEach((project: any) => {
- projectIdArr.push(project.id)
- appIdCodeMap.set(project.id, project.appKey)
- })
- // if (projectIdArr.length > 0) {
- // const { data } = await musicSheetApplicationExtendCategoryList({
- // applicationIds: projectIdArr.join(',')
- // })
- // data.forEach((next: any) => {
- // const appCode = appIdCodeMap.get(next.applicationId)
- // if (appCode) {
- // state.musicSheetCategoryOptions[appCode] = next.musicSheetCategories
- // }
- // })
- // }
- // {
- // const { data } = (await musicSheetApplicationExtendCategoryApplicationExtendInfo({
- // musicSheetId: props.id
- // })) as any
- // data.forEach((next: any) => {
- // const key = next.appKey
- // if (key === 'GYM') {
- // forms.useProjectParamConfig[key]['musicSheetCategoryId'] = next.musicSheetCategoryId
- // forms.useProjectParamConfig[key]['sortNo'] = next.sortNo
- // forms.useProjectParamConfig[key]['paymentType'] = next.paymentType
- // } else if (key === 'GYT') {
- // forms.useProjectParamConfig[key]['musicSheetCategoryId'] = next.musicSheetCategoryId
- // forms.useProjectParamConfig[key]['sortNo'] = next.sortNo
- // } else if (key === 'KLX') {
- // forms.useProjectParamConfig[key]['availableType'] = next.availableType
- // forms.useProjectParamConfig[key]['musicTagIds'] = next.musicTagIds?.split(',')||[]
- // forms.useProjectParamConfig[key]['paymentType'] = next.paymentType?.split(',')||[]
- // forms.useProjectParamConfig[key]['musicPrice'] = next.musicPrice
- // forms.useProjectParamConfig[key]['topFlag'] = next.topFlag
- // forms.useProjectParamConfig[key]['exquisiteFlag'] = next.exquisiteFlag
- // forms.useProjectParamConfig[key]['sortNo'] = next.sortNo
- // } else if (key === 'KT') {
- // forms.useProjectParamConfig[key]['musicSheetCategoryId'] = next.musicSheetCategoryId
- // forms.useProjectParamConfig[key]['sortNo'] = next.sortNo
- // }
- // // forms.useProjectParamConfig[key] = next
- // })
- // }
- state.loading = false
- })
- const formsRef = ref()
- const onSubmit = async () => {
- formsRef.value.validate(async (error: any) => {
- if (error) {
- if (Array.isArray(error) && error.length > 0) {
- const app = error[0][0].field?.split('.')[1]
- if (app && state.selectAppKey.includes(app)) {
- state.tabName = app
- }
- }
- return
- }
- btnLoading.value = true
- try {
- const appKeyIdMap = new Map<string, string>()
- props.useProject.forEach((project: any) => {
- appKeyIdMap.set(project.appKey, project.id)
- })
- // 获取选择的应用项目
- // const applicationExtends = [] as any
- // state.selectAppKey.forEach((appKey: any) => {
- // Object.keys(forms.useProjectParamConfig).forEach((key) => {
- // if (appKey === key) {
- // const value = forms.useProjectParamConfig[key]
- // if (!value['sortNo']) {
- // value['sortNo'] = 0
- // }
- // //除了排序号,其他字段都不为空时才保存数据
- // const every = Object.values(value).every((val: any) => {
- // return !(val === null || val === undefined || val === '')
- // })
- // if (every) {
- // let appData = value as any;
- // if (appKey === 'KLX') {
- // appData['musicTagIds'] = appData['musicTagIds'].join(',')
- // appData['paymentType'] = appData['paymentType'].join(',')
- // }
- // applicationExtends.push({
- // ...appData,
- // musicSheetId: props.id,
- // applicationId: appKeyIdMap.get(key)
- // })
- // }
- // }
- // })
- // })
- const params = {
- musicSheetId: props.id,
- useApplicationIds: forms.useApplicationIds.join(','),
- // applicationExtends: applicationExtends
- }
- await musicSheetApplicationExtendSave(params)
- message.success('修改成功')
- emit('getList')
- emit('close')
- } catch (e) {
- // console.log(e)
- }
- btnLoading.value = false
- })
- }
- return () => (
- <NSpin show={state.loading}>
- <NForm
- class={styles.formContainer}
- model={forms}
- ref={formsRef}
- label-placement="left"
- label-width="85"
- >
- {/*<NText style={'color:red'}>*/}
- {/* 注:应用无曲目声部时,适用应用不可选择*/}
- {/*</NText>*/}
- <NFormItem
- label="适用应用"
- path="useApplicationIds"
- rule={[
- {
- required: false,
- message: '请选择适用应用'
- }
- ]}
- >
- <NCheckboxGroup
- v-model:value={forms.useApplicationIds}
- onUpdateValue={(value) => {
- state.selectAppKey = []
- state.userProjectList.forEach((next: any) => {
- if (value.includes(next.id)) {
- state.selectAppKey.push(next.appKey)
- }
- })
- // 反勾选时,更新选中的tab
- if (state.selectAppKey.length == 0) {
- state.tabName = ''
- } else {
- state.tabName = state.selectAppKey[0]
- }
- nextTick(() => tabsRef.value?.syncBarPosition())
- }}
- >
- {state.userProjectList.map((item: any) => (
- <NCheckbox value={item.value}>{item.label}</NCheckbox>
- // <NCheckbox value={item.value} disabled={item.disabled}>{item.label}</NCheckbox>
- ))}
- </NCheckboxGroup>
- </NFormItem>
- {/*{state.selectAppKey.length > 0 && (*/}
- {/* <NTabs*/}
- {/* ref={tabsRef}*/}
- {/* type="line"*/}
- {/* v-model:value={state.tabName}*/}
- {/* onUpdate:value={(val: any) => {*/}
- {/* state.tabName = val*/}
- {/* }}*/}
- {/* >*/}
- {/* {state.selectAppKey.map((item: any, index: number) => {*/}
- {/* return (*/}
- {/* <NTabPane*/}
- {/* tab={state.appKeyNameMap.get(item)}*/}
- {/* name={item}*/}
- {/* displayDirective={'show'}*/}
- {/* >*/}
- {/* {item === 'GYM' && (*/}
- {/* <div>*/}
- {/* <NFormItem*/}
- {/* label="曲目分类"*/}
- {/* path="useProjectParamConfig.GYM.musicSheetCategoryId"*/}
- {/* rule={[*/}
- {/* {*/}
- {/* required: gymFileRequire.value,*/}
- {/* message: '请选择曲目分类',*/}
- {/* trigger:'change',*/}
- {/* }*/}
- {/* ]}*/}
- {/* >*/}
- {/* <NCascader*/}
- {/* valueField="id"*/}
- {/* labelField="name"*/}
- {/* children-field="children"*/}
- {/* placeholder="请选择分类"*/}
- {/* v-model:value={forms.useProjectParamConfig.GYM.musicSheetCategoryId}*/}
- {/* options={state.musicSheetCategoryOptions.GYM}*/}
- {/* onChange={() => {}}*/}
- {/* clearable*/}
- {/* />*/}
- {/* </NFormItem>*/}
- {/* <NFormItem*/}
- {/* label="是否收费"*/}
- {/* path="useProjectParamConfig.GYM.paymentType"*/}
- {/* rule={[*/}
- {/* {*/}
- {/* required: gymFileRequire.value,*/}
- {/* message: '请选择收费类型',*/}
- {/* trigger:'change'*/}
- {/* }*/}
- {/* ]}*/}
- {/* >*/}
- {/* <NSelect*/}
- {/* placeholder="请选择收费类型"*/}
- {/* clearable*/}
- {/* v-model:value={forms.useProjectParamConfig.GYM.paymentType}*/}
- {/* options={[*/}
- {/* {*/}
- {/* label:'免费',*/}
- {/* value:'FREE'*/}
- {/* },*/}
- {/* {*/}
- {/* label:'收费',*/}
- {/* value:'CHARGE'*/}
- {/* }*/}
- {/* ]}*/}
- {/* ></NSelect>*/}
- {/* </NFormItem>*/}
- {/* <NFormItem label="排序值" path="useProjectParamConfig.GYM.sortNo">*/}
- {/* <NInputNumber*/}
- {/* v-model:value={forms.useProjectParamConfig.GYM.sortNo}*/}
- {/* placeholder="请输入排序值"*/}
- {/* clearable*/}
- {/* min={0}*/}
- {/* max={9999}*/}
- {/* style={{ width: '100%' }}*/}
- {/* />*/}
- {/* </NFormItem>*/}
- {/* </div>*/}
- {/* )}*/}
- {/* {item === 'GYT' && (*/}
- {/* <div>*/}
- {/* <NFormItem*/}
- {/* label="分类"*/}
- {/* path="useProjectParamConfig.GYT.musicSheetCategoryId"*/}
- {/* rule={[*/}
- {/* {*/}
- {/* required: gytFileRequire.value,*/}
- {/* message: '请选择分类',*/}
- {/* trigger:'change'*/}
- {/* }*/}
- {/* ]}*/}
- {/* >*/}
- {/* <NCascader*/}
- {/* valueField="id"*/}
- {/* labelField="name"*/}
- {/* children-field="children"*/}
- {/* placeholder="请选择分类"*/}
- {/* v-model:value={forms.useProjectParamConfig.GYT.musicSheetCategoryId}*/}
- {/* options={state.musicSheetCategoryOptions.GYT}*/}
- {/* clearable*/}
- {/* />*/}
- {/* </NFormItem>*/}
- {/* <NFormItem label="排序值" path="useProjectParamConfig.GYT.sortNo">*/}
- {/* <NInputNumber*/}
- {/* v-model:value={forms.useProjectParamConfig.GYT.sortNo}*/}
- {/* placeholder="请输入排序值"*/}
- {/* clearable*/}
- {/* min={0}*/}
- {/* max={9999}*/}
- {/* style={{ width: '100%' }}*/}
- {/* />*/}
- {/* </NFormItem>*/}
- {/* </div>*/}
- {/* )}*/}
- {/* {item === 'KLX' && (*/}
- {/* <div>*/}
- {/* <NFormItem*/}
- {/* label="可用途径"*/}
- {/* path="useProjectParamConfig.KLX.availableType"*/}
- {/* rule={[*/}
- {/* {*/}
- {/* required: klxFileRequire.value,*/}
- {/* message: '请选择可用途径',*/}
- {/* trigger:'change'*/}
- {/* }*/}
- {/* ]}*/}
- {/* >*/}
- {/* <NSelect*/}
- {/* placeholder="请选择可用途径"*/}
- {/* clearable*/}
- {/* v-model:value={forms.useProjectParamConfig.KLX.availableType}*/}
- {/* options={getSelectDataFromObj(musicSheetAvailableType)}*/}
- {/* ></NSelect>*/}
- {/* </NFormItem>*/}
- {/* <NFormItem*/}
- {/* label="曲目标签"*/}
- {/* path="useProjectParamConfig.KLX.musicTagIds"*/}
- {/* rule={[*/}
- {/* {*/}
- {/* required: klxFileRequire.value,*/}
- {/* message: '请选择曲目标签',*/}
- {/* trigger:'change',*/}
- {/* type:'array'*/}
- {/* }*/}
- {/* ]}*/}
- {/* >*/}
- {/* <NSelect*/}
- {/* placeholder="请选择曲目标签"*/}
- {/* clearable*/}
- {/* multiple*/}
- {/* labelField={'name'}*/}
- {/* valueField={'id'}*/}
- {/* v-model:value={forms.useProjectParamConfig.KLX.musicTagIds}*/}
- {/* options={state.musicSheetCategoryOptions.KLX}*/}
- {/* maxTagCount={3}*/}
- {/* ></NSelect>*/}
- {/* </NFormItem>*/}
- {/* <NFormItem*/}
- {/* label="是否收费"*/}
- {/* path="useProjectParamConfig.KLX.paymentType"*/}
- {/* rule={[*/}
- {/* {*/}
- {/* required: klxFileRequire.value,*/}
- {/* message: '请选择是否收费',*/}
- {/* trigger:'change',*/}
- {/* type:'array'*/}
- {/* }*/}
- {/* ]}*/}
- {/* >*/}
- {/* <NSelect*/}
- {/* placeholder="请选择是否收费"*/}
- {/* clearable*/}
- {/* v-model:value={forms.useProjectParamConfig.KLX.paymentType}*/}
- {/* options={getSelectDataFromObj(musicSheetPaymentType)}*/}
- {/* multiple*/}
- {/* onUpdate:value={() => {*/}
- {/* const free = 'FREE'*/}
- {/* if(forms.useProjectParamConfig.KLX.paymentType[forms.useProjectParamConfig.KLX.paymentType.length - 1] == free) {*/}
- {/* forms.useProjectParamConfig.KLX.paymentType = [free]*/}
- {/* } else if (forms.useProjectParamConfig.KLX.paymentType.length > 1 && forms.useProjectParamConfig.KLX.paymentType.includes(free)) {*/}
- {/* forms.useProjectParamConfig.KLX.paymentType.splice(forms.useProjectParamConfig.KLX.paymentType.indexOf(free), 1)*/}
- {/* }*/}
- {/* if (!forms.useProjectParamConfig.KLX.paymentType.includes('CHARGE')) {*/}
- {/* forms.useProjectParamConfig.KLX.musicPrice = 0*/}
- {/* }*/}
- {/* }}*/}
- {/* ></NSelect>*/}
- {/* </NFormItem>*/}
- {/* {forms.useProjectParamConfig.KLX.paymentType?.includes('CHARGE') && (*/}
- {/* <NFormItem*/}
- {/* label="曲目价格"*/}
- {/* path="useProjectParamConfig.KLX.musicPrice"*/}
- {/* rule={[*/}
- {/* {*/}
- {/* required: klxFileRequire.value,*/}
- {/* message: '请输入曲目价格',*/}
- {/* trigger: ['input', 'blur'],*/}
- {/* type: 'number'*/}
- {/* }*/}
- {/* ]}*/}
- {/* >*/}
- {/* <NInputNumber*/}
- {/* style={'width:100%'}*/}
- {/* placeholder="请输入曲目价格"*/}
- {/* v-model:value={forms.useProjectParamConfig.KLX.musicPrice}*/}
- {/* />*/}
- {/* </NFormItem>*/}
- {/* )*/}
- {/* }*/}
- {/* <NFormItem*/}
- {/* label="是否置顶"*/}
- {/* path="useProjectParamConfig.KLX.topFlag"*/}
- {/* rule={[*/}
- {/* {*/}
- {/* required: klxFileRequire.value,*/}
- {/* message: '请选择是否置顶',*/}
- {/* trigger:'change',*/}
- {/* type:'boolean'*/}
- {/* }*/}
- {/* ]}*/}
- {/* >*/}
- {/* <NSelect*/}
- {/* placeholder="请选择是否置顶"*/}
- {/* clearable*/}
- {/* v-model:value={forms.useProjectParamConfig.KLX.topFlag}*/}
- {/* options={[*/}
- {/* {*/}
- {/* label: '是',*/}
- {/* value: true*/}
- {/* },*/}
- {/* {*/}
- {/* label: '否',*/}
- {/* value: false*/}
- {/* }*/}
- {/* ] as any}*/}
- {/* ></NSelect>*/}
- {/* </NFormItem>*/}
- {/* <NFormItem*/}
- {/* label="精品乐谱"*/}
- {/* path="useProjectParamConfig.KLX.exquisiteFlag"*/}
- {/* rule={[*/}
- {/* {*/}
- {/* required: klxFileRequire.value,*/}
- {/* message: '请选择是否精品乐谱',*/}
- {/* trigger:'change',*/}
- {/* type:'boolean'*/}
- {/* }*/}
- {/* ]}*/}
- {/* >*/}
- {/* <NSelect*/}
- {/* placeholder="请选择是否精品乐谱"*/}
- {/* clearable*/}
- {/* v-model:value={forms.useProjectParamConfig.KLX.exquisiteFlag}*/}
- {/* options={[*/}
- {/* {*/}
- {/* label: '是',*/}
- {/* value: true*/}
- {/* },*/}
- {/* {*/}
- {/* label: '否',*/}
- {/* value: false*/}
- {/* }*/}
- {/* ] as any}*/}
- {/* ></NSelect>*/}
- {/* </NFormItem>*/}
- {/* <NFormItem label="排序值" path="useProjectParamConfig.KLX.sortNo">*/}
- {/* <NInputNumber*/}
- {/* v-model:value={forms.useProjectParamConfig.KLX.sortNo}*/}
- {/* placeholder="请输入排序值"*/}
- {/* clearable*/}
- {/* min={0}*/}
- {/* max={9999}*/}
- {/* style={{ width: '100%' }}*/}
- {/* />*/}
- {/* </NFormItem>*/}
- {/* </div>*/}
- {/* )}*/}
- {/* {item === 'KT' && (*/}
- {/* <div>*/}
- {/* <NFormItem*/}
- {/* label="乐谱教材"*/}
- {/* path="useProjectParamConfig.KT.musicSheetCategoryId"*/}
- {/* rule={[*/}
- {/* {*/}
- {/* required: ktFileRequire.value,*/}
- {/* message: '请选择乐谱教材'*/}
- {/* }*/}
- {/* ]}*/}
- {/* >*/}
- {/* <NCascader*/}
- {/* valueField="id"*/}
- {/* labelField="name"*/}
- {/* children-field="children"*/}
- {/* placeholder="请选择乐谱教材"*/}
- {/* v-model:value={forms.useProjectParamConfig.KT.musicSheetCategoryId}*/}
- {/* options={state.musicSheetCategoryOptions.KT}*/}
- {/* clearable*/}
- {/* />*/}
- {/* </NFormItem>*/}
- {/* <NFormItem label="排序值" path="useProjectParamConfig.KT.sortNo">*/}
- {/* <NInputNumber*/}
- {/* v-model:value={forms.useProjectParamConfig.KT.sortNo}*/}
- {/* placeholder="请输入排序值"*/}
- {/* clearable*/}
- {/* min={0}*/}
- {/* max={9999}*/}
- {/* style={{ width: '100%' }}*/}
- {/* />*/}
- {/* </NFormItem>*/}
- {/* </div>*/}
- {/* )}*/}
- {/* </NTabPane>*/}
- {/* )*/}
- {/* })}*/}
- {/* </NTabs>*/}
- {/*)}*/}
- </NForm>
- <NSpace justify="end" style={'margin-top: 10px'}>
- <NButton type="default" onClick={() => emit('close')}>
- 取消
- </NButton>
- <NButton
- type="primary"
- onClick={() => onSubmit()}
- loading={btnLoading.value}
- disabled={btnLoading.value}
- >
- 确认
- </NButton>
- </NSpace>
- </NSpin>
- )
- }
- })
|