diff --git a/apps/web-antd/src/api-client/services.gen.ts b/apps/web-antd/src/api-client/services.gen.ts index 6557a21..dbdce62 100644 --- a/apps/web-antd/src/api-client/services.gen.ts +++ b/apps/web-antd/src/api-client/services.gen.ts @@ -24,15 +24,15 @@ import type { IoTDBTreeModelDeviceDataPageAllResponse, IoTDBTreeModelDeviceDataPageDataInput, IoTErrorResponse, - OneNETAccountCreateInput, - OneNETAccountCreateInput, - OneNETAccountCreateResponse, - OneNETAccountCreateResponse, + OneNetAccountInsertInput, + OneNetAccountInsertResponse, + OneNetAccountModifyInput, + OneNetAccountModifyResponse, + OneNetAccountDeleteInput, + OneNETAccountDeleteResponse, OneNETAccountPageListInput, OneNETAccountPageListResult, OneNETProductCreateInput, - OneNETProductCreateInput, - OneNETProductCreateResponse, OneNETProductCreateResponse, OneNETProductPageListInput, OneNETProductPageListResult, @@ -3148,7 +3148,6 @@ export const postOneNETAccountInfoPage = ( ThrowOnError >({ ...options, - ...formDataBodySerializer, url: '/OneNETAccount/ListAsync', }); }; @@ -3156,20 +3155,51 @@ export const postOneNETAccountInfoPage = ( /** * OneNET 创建账号 */ -export const postOneNETAccountCreate = ( - options?: Options, +export const postOneNETAccountInsert = ( + options?: Options, ) => { return (options?.client ?? client).post< - OneNETAccountCreateResponse, + OneNetAccountInsertResponse, IoTErrorResponse, ThrowOnError >({ ...options, - ...formDataBodySerializer, url: '/OneNETAccount/InsertAsync', }); }; +/** + * OneNET 修改账号 + */ +export const postOneNETAccountModify = ( + options?: Options, +) => { + return (options?.client ?? client).post< + OneNetAccountModifyResponse, + IoTErrorResponse, + ThrowOnError + >({ + ...options, + url: '/OneNETAccount/ModifyAsync', + }); +}; + +/** + * OneNET 删除账号 + */ +export const postOneNETAccountDelete = ( + options?: Options, +) => { + return (options?.client ?? client).post< + OneNETAccountDeleteResponse, + IoTErrorResponse, + ThrowOnError + >({ + ...options, + url: '/OneNETAccount/DeleteAsync', + }); +}; + /** * OneNET 产品管理 */ diff --git a/apps/web-antd/src/api-client/types.gen.ts b/apps/web-antd/src/api-client/types.gen.ts index f04705c..448e109 100644 --- a/apps/web-antd/src/api-client/types.gen.ts +++ b/apps/web-antd/src/api-client/types.gen.ts @@ -5178,10 +5178,25 @@ export type OneNETAccountPageListResult = { totalCount?: number; }; -export type OneNETAccountCreateInput = { +export type OneNetAccountInsertInput = { body?: OneNETAccountDto; }; -export type OneNETAccountCreateResponse = { +export type OneNetAccountInsertResponse = { + body?: OneNETAccountDto; +}; + +export type OneNetAccountModifyInput = { + body?: OneNETAccountDto; +}; +export type OneNetAccountModifyResponse = { + body?: OneNETAccountDto; +}; + +export type OneNetAccountDeleteInput = { + body?: IdInput; +}; + +export type OneNETAccountDeleteResponse = { body?: OneNETAccountDto; }; diff --git a/apps/web-antd/src/locales/langs/en-US/common.json b/apps/web-antd/src/locales/langs/en-US/common.json index c0dc976..cd388ac 100644 --- a/apps/web-antd/src/locales/langs/en-US/common.json +++ b/apps/web-antd/src/locales/langs/en-US/common.json @@ -52,5 +52,6 @@ "exporting": "Exporting data...", "exportSuccess": "Data exported successfully", "exportFailed": "Data export failed", - "getDataFailed": "Failed to get data" + "getDataFailed": "Failed to get data", + "PhoneNumberFormatError": "PhoneNumber Format Error" } diff --git a/apps/web-antd/src/locales/langs/zh-CN/abp.json b/apps/web-antd/src/locales/langs/zh-CN/abp.json index 48961bc..08d2966 100644 --- a/apps/web-antd/src/locales/langs/zh-CN/abp.json +++ b/apps/web-antd/src/locales/langs/zh-CN/abp.json @@ -263,7 +263,7 @@ "DeviceLastActiveTime": "设备最后活跃时间" }, "OneNETManagement": { - "AccountName": "账号名称", + "AccountName": "账号名称", "PhoneNumber": "手机号码", "AccountAccesskey": "账户通信密钥", "ProductCount": "产品数量", diff --git a/apps/web-antd/src/locales/langs/zh-CN/common.json b/apps/web-antd/src/locales/langs/zh-CN/common.json index ef3cea7..feeea72 100644 --- a/apps/web-antd/src/locales/langs/zh-CN/common.json +++ b/apps/web-antd/src/locales/langs/zh-CN/common.json @@ -53,5 +53,6 @@ "exportSuccess": "数据导出成功", "exportFailed": "数据导出失败", "getDataFailed": "获取数据失败", - "IsEnabled": "是否启用" + "IsEnabled": "是否启用", + "PhoneNumberFormatError": "手机号码格式错误" } diff --git a/apps/web-antd/src/views/ctwingmanagement/account/index.vue b/apps/web-antd/src/views/ctwingmanagement/account/index.vue index 9a3e3c8..3204b45 100644 --- a/apps/web-antd/src/views/ctwingmanagement/account/index.vue +++ b/apps/web-antd/src/views/ctwingmanagement/account/index.vue @@ -12,7 +12,6 @@ import { message as Message, Modal, Tag } from 'ant-design-vue'; import { useVbenForm } from '#/adapter/form'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { - postMetersArchivesDown, postMetersCreate, postMetersDelete, postMetersPage, @@ -186,22 +185,6 @@ const toStatusData = (row: Record) => { }, }); }; -// 档案下发 -const archivesIssued = async (row: Record) => { - const result = await postMetersArchivesDown({ - body: { - meterAddress: row.meterAddress, - meterType: row.meterType, - focusAddress: row.focusAddress, - }, - }); - if (result) { - gridApi.reload(); - Message.success($t('common.success')); - } else { - Message.error($t('common.error')); - } -}; const openAddModal = async () => { editRow.value = {}; userModalApi.open(); diff --git a/apps/web-antd/src/views/ctwingmanagement/privateProduct/index.vue b/apps/web-antd/src/views/ctwingmanagement/privateProduct/index.vue index 9a3e3c8..9bcb47f 100644 --- a/apps/web-antd/src/views/ctwingmanagement/privateProduct/index.vue +++ b/apps/web-antd/src/views/ctwingmanagement/privateProduct/index.vue @@ -12,7 +12,6 @@ import { message as Message, Modal, Tag } from 'ant-design-vue'; import { useVbenForm } from '#/adapter/form'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { - postMetersArchivesDown, postMetersCreate, postMetersDelete, postMetersPage, @@ -186,22 +185,7 @@ const toStatusData = (row: Record) => { }, }); }; -// 档案下发 -const archivesIssued = async (row: Record) => { - const result = await postMetersArchivesDown({ - body: { - meterAddress: row.meterAddress, - meterType: row.meterType, - focusAddress: row.focusAddress, - }, - }); - if (result) { - gridApi.reload(); - Message.success($t('common.success')); - } else { - Message.error($t('common.error')); - } -}; + const openAddModal = async () => { editRow.value = {}; userModalApi.open(); diff --git a/apps/web-antd/src/views/onenetmanagement/account/index.vue b/apps/web-antd/src/views/onenetmanagement/account/index.vue index b283e63..3baded2 100644 --- a/apps/web-antd/src/views/onenetmanagement/account/index.vue +++ b/apps/web-antd/src/views/onenetmanagement/account/index.vue @@ -12,7 +12,9 @@ import { message as Message } from 'ant-design-vue'; import { useVbenForm } from '#/adapter/form'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { - postOneNETAccountCreate, + postOneNETAccountInsert, + postOneNETAccountModify, + postOneNETAccountDelete, postOneNETAccountInfoPage, } from '#/api-client'; import { TableAction } from '#/components/table-action'; @@ -115,7 +117,7 @@ const [EditForm, editFormApi] = useVbenForm({ async function submit() { const isEdit = !!editRow.value.id; const formApi = isEdit ? editFormApi : addFormApi; - const api = postOneNETAccountCreate; + const api = isEdit ? postOneNETAccountInsert : postOneNETAccountModify; const { valid } = await formApi.validate(); if (!valid) return; @@ -160,6 +162,28 @@ const openAddModal = async () => { editRow.value = {}; userModalApi.open(); }; + +// 删除函数 +async function onDel(record: any) { + if (record.productCount > 0) { + Message.warning($t('abp.OneNETManagement.CannotDeleteAccountWithProducts')); + return; + } + + try { + const resp = await postOneNETAccountDelete({ body: { id: record.id } }); + if (resp.data) { + Message.success($t('common.deleteSuccess')); + gridApi.reload(); + } else { + Message.error($t('common.deleteFail')); + } + } catch (error) { + Message.error($t('common.deleteFail')); + } +} + + - - + + diff --git a/apps/web-antd/src/views/onenetmanagement/account/schema.ts b/apps/web-antd/src/views/onenetmanagement/account/schema.ts index 5003c03..f0f4907 100644 --- a/apps/web-antd/src/views/onenetmanagement/account/schema.ts +++ b/apps/web-antd/src/views/onenetmanagement/account/schema.ts @@ -32,7 +32,7 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [ minWidth: '150', }, { - field: 'accesskey', + field: 'accountAccesskey', title: $t('abp.OneNETManagement.AccountAccesskey'), minWidth: '150', }, @@ -53,7 +53,7 @@ export const tableSchema: any = computed((): VxeGridProps['columns'] => [ export const addAccountFormSchema: any = computed(() => [ { component: 'Input', - fieldName: 'OneNETAccountId', + fieldName: 'oneNETAccountId', label: $t('abp.OneNETManagement.OneNETAccountId'), rules: z.string().min(1, { message: `${$t('common.pleaseInput')}${$t('common.info')}${$t('abp.OneNETManagement.OneNETAccountId')}`, @@ -82,10 +82,10 @@ export const addAccountFormSchema: any = computed(() => [ rules: z .string() .min(1, { - message: `${$t('common.pleaseInput')}${$t('common.numberType')}${$t('abp.OneNETManagement.PhoneNumber')}`, + message: `${$t('common.pleaseInput')}${$t('abp.OneNETManagement.PhoneNumber')}`, }) - .refine((value) => /^\d+$/.test(value), { - message: $t('abp.OneNETManagement.PhoneNumber'), + .refine((value) => /^1[3-9]\d{9}$/.test(value), { + message: $t('common.PhoneNumberFormatError'), }), }, ]); @@ -93,23 +93,37 @@ export const addAccountFormSchema: any = computed(() => [ export const editAccountFormSchemaEdit: any = computed(() => [ { component: 'Input', - fieldName: 'meterName', - label: $t('abp.meters.meterName'), + fieldName: 'oneNETAccountId', + label: $t('abp.OneNETManagement.OneNETAccountId'), + disabled: true, + }, + { + component: 'Input', + fieldName: 'accountName', + label: $t('abp.OneNETManagement.AccountName'), rules: z.string().min(1, { - message: `${$t('common.pleaseInput')}${$t('common.info')}${$t('abp.meters.meterName')}`, + message: `${$t('common.pleaseInput')}${$t('common.info')}${$t('abp.OneNETManagement.AccountName')}`, }), }, { component: 'Input', - fieldName: 'meterAddress', - label: $t('abp.meters.meterAddress'), + fieldName: 'accountAccesskey', + label: $t('abp.OneNETManagement.AccountAccesskey'), + rules: z.string().min(1, { + message: `${$t('common.pleaseInput')}${$t('common.info')}${$t('abp.OneNETManagement.AccountAccesskey')}`, + }), + }, + { + component: 'Input', + fieldName: 'phoneNumber', + label: $t('abp.OneNETManagement.PhoneNumber'), rules: z .string() .min(1, { - message: `${$t('common.pleaseInput')}${$t('common.numberType')}${$t('abp.meters.meterAddress')}`, + message: `${$t('common.pleaseInput')}${$t('abp.OneNETManagement.PhoneNumber')}`, }) - .refine((value) => /^\d+$/.test(value), { - message: $t('abp.meters.checkmeterAddress'), + .refine((value) => /^1[3-9]\d{9}$/.test(value), { + message: $t('common.PhoneNumberFormatError'), }), }, ]); diff --git a/apps/web-antd/src/views/onenetmanagement/privateProduct/index.vue b/apps/web-antd/src/views/onenetmanagement/privateProduct/index.vue index 9a3e3c8..3204b45 100644 --- a/apps/web-antd/src/views/onenetmanagement/privateProduct/index.vue +++ b/apps/web-antd/src/views/onenetmanagement/privateProduct/index.vue @@ -12,7 +12,6 @@ import { message as Message, Modal, Tag } from 'ant-design-vue'; import { useVbenForm } from '#/adapter/form'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { - postMetersArchivesDown, postMetersCreate, postMetersDelete, postMetersPage, @@ -186,22 +185,6 @@ const toStatusData = (row: Record) => { }, }); }; -// 档案下发 -const archivesIssued = async (row: Record) => { - const result = await postMetersArchivesDown({ - body: { - meterAddress: row.meterAddress, - meterType: row.meterType, - focusAddress: row.focusAddress, - }, - }); - if (result) { - gridApi.reload(); - Message.success($t('common.success')); - } else { - Message.error($t('common.error')); - } -}; const openAddModal = async () => { editRow.value = {}; userModalApi.open();