Commit f7d66b4e5a9799ee4cf3aab633134a1c6b32757d
Merge branch 'perf/ota/06-28' into 'main_dev'
perf: 云端环境中,OTA升级包新增时,产品总共18条,pagesize为10只显示了10条,应该显示所有的产品 See merge request yunteng/thingskit-front!1395
Showing
2 changed files
with
21 additions
and
23 deletions
| @@ -3,7 +3,12 @@ | @@ -3,7 +3,12 @@ | ||
| 3 | import { BasicForm, useForm } from '/@/components/Form'; | 3 | import { BasicForm, useForm } from '/@/components/Form'; |
| 4 | import { ALG, formSchema, PackageField } from '../config/packageDetail.config'; | 4 | import { ALG, formSchema, PackageField } from '../config/packageDetail.config'; |
| 5 | import { ref } from 'vue'; | 5 | import { ref } from 'vue'; |
| 6 | - import { createOtaPackage, uploadOtaPackages, deleteOtaPackage } from '/@/api/ota'; | 6 | + import { |
| 7 | + createOtaPackage, | ||
| 8 | + uploadOtaPackages, | ||
| 9 | + deleteOtaPackage, | ||
| 10 | + getDeviceProfileInfo, | ||
| 11 | + } from '/@/api/ota'; | ||
| 7 | import { CreateOtaPackageParams } from '/@/api/ota/model'; | 12 | import { CreateOtaPackageParams } from '/@/api/ota/model'; |
| 8 | 13 | ||
| 9 | interface FieldsValue extends CreateOtaPackageParams { | 14 | interface FieldsValue extends CreateOtaPackageParams { |
| @@ -14,6 +19,8 @@ | @@ -14,6 +19,8 @@ | ||
| 14 | 19 | ||
| 15 | const emit = defineEmits(['register', 'update:list']); | 20 | const emit = defineEmits(['register', 'update:list']); |
| 16 | 21 | ||
| 22 | + const defaultDeviceProfile = 'default'; | ||
| 23 | + | ||
| 17 | const loading = ref(false); | 24 | const loading = ref(false); |
| 18 | 25 | ||
| 19 | const [registerModal, { changeLoading, closeModal }] = useModalInner(); | 26 | const [registerModal, { changeLoading, closeModal }] = useModalInner(); |
| @@ -72,6 +79,10 @@ | @@ -72,6 +79,10 @@ | ||
| 72 | try { | 79 | try { |
| 73 | await validate(); | 80 | await validate(); |
| 74 | const value = getFieldsValue(); | 81 | const value = getFieldsValue(); |
| 82 | + if (value[PackageField.DEVICE_PROFILE_INFO] === defaultDeviceProfile) { | ||
| 83 | + const data = await getDeviceProfileInfo(defaultDeviceProfile); | ||
| 84 | + value[PackageField.DEVICE_PROFILE_INFO] = data.id.id; | ||
| 85 | + } | ||
| 75 | value[PackageField.DEVICE_PROFILE_INFO] = { | 86 | value[PackageField.DEVICE_PROFILE_INFO] = { |
| 76 | id: value[PackageField.DEVICE_PROFILE_INFO], | 87 | id: value[PackageField.DEVICE_PROFILE_INFO], |
| 77 | entityType: 'DEVICE_PROFILE', | 88 | entityType: 'DEVICE_PROFILE', |
| 1 | -import { getDeviceProfileInfo, getDeviceProfileInfos } from '/@/api/ota'; | 1 | +import { getDeviceProfileInfos } from '/@/api/ota'; |
| 2 | 2 | ||
| 3 | import { FormSchema } from '/@/components/Form'; | 3 | import { FormSchema } from '/@/components/Form'; |
| 4 | import { FileItem } from '/@/components/Form/src/components/ApiUpload.vue'; | 4 | import { FileItem } from '/@/components/Form/src/components/ApiUpload.vue'; |
| 5 | +import { createPickerSearch } from '/@/utils/pickerSearch'; | ||
| 5 | 6 | ||
| 6 | export enum PackageField { | 7 | export enum PackageField { |
| 7 | TITLE = 'title', | 8 | TITLE = 'title', |
| @@ -107,39 +108,25 @@ export const formSchema: FormSchema[] = [ | @@ -107,39 +108,25 @@ export const formSchema: FormSchema[] = [ | ||
| 107 | { | 108 | { |
| 108 | field: PackageField.DEVICE_PROFILE_INFO, | 109 | field: PackageField.DEVICE_PROFILE_INFO, |
| 109 | label: '所属产品', | 110 | label: '所属产品', |
| 110 | - component: 'ApiSearchSelect', | 111 | + component: 'ApiSelectScrollLoad', |
| 111 | helpMessage: ['上传的包仅适用于具有所选配置文件的设备'], | 112 | helpMessage: ['上传的包仅适用于具有所选配置文件的设备'], |
| 112 | rules: [{ required: true, message: '所属产品为必填项' }], | 113 | rules: [{ required: true, message: '所属产品为必填项' }], |
| 113 | defaultValue: 'default', | 114 | defaultValue: 'default', |
| 114 | - componentProps: ({ formModel, formActionType }) => { | 115 | + componentProps: () => { |
| 115 | return { | 116 | return { |
| 116 | placeholder: '请选择所属产品', | 117 | placeholder: '请选择所属产品', |
| 117 | - showSearch: true, | ||
| 118 | labelField: 'name', | 118 | labelField: 'name', |
| 119 | valueField: 'id', | 119 | valueField: 'id', |
| 120 | + pagination: { page: 0, pageSize: 10 }, | ||
| 120 | api: async (params: Recordable) => { | 121 | api: async (params: Recordable) => { |
| 121 | - const data = await getDeviceProfileInfos(params); | ||
| 122 | - return data.data.map((item) => ({ | 122 | + const { totalElements, data } = await getDeviceProfileInfos(params); |
| 123 | + const dataList = data.map((item) => ({ | ||
| 123 | ...item, | 124 | ...item, |
| 124 | id: item.id.id, | 125 | id: item.id.id, |
| 125 | })); | 126 | })); |
| 127 | + return { items: dataList, total: totalElements }; | ||
| 126 | }, | 128 | }, |
| 127 | - params: (textSearch: string) => { | ||
| 128 | - return { | ||
| 129 | - page: 0, | ||
| 130 | - pageSize: 10, | ||
| 131 | - textSearch, | ||
| 132 | - }; | ||
| 133 | - }, | ||
| 134 | - queryApi: async (id = 'default') => { | ||
| 135 | - const data = await getDeviceProfileInfo(id); | ||
| 136 | - | ||
| 137 | - if (formModel[PackageField.DEVICE_PROFILE_INFO] === 'default' && id === 'default') { | ||
| 138 | - formActionType.setFieldsValue({ [PackageField.DEVICE_PROFILE_INFO]: data.id.id }); | ||
| 139 | - } | ||
| 140 | - | ||
| 141 | - return { ...data, id: data.id.id }; | ||
| 142 | - }, | 129 | + ...createPickerSearch(), |
| 143 | }; | 130 | }; |
| 144 | }, | 131 | }, |
| 145 | }, | 132 | }, |