From ad1eef8a54d795c90b4f1034c82e867459dc77f3 Mon Sep 17 00:00:00 2001 From: zhouz <> Date: Fri, 17 Jul 2026 11:10:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BB=93=E5=BA=93=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/wms/bsrealstorattr/index.ts | 6 +- .../src/views/wms/bsrealstorattr/data.ts | 80 ++++++++----------- .../src/views/wms/bsrealstorattr/index.vue | 14 ++-- .../views/wms/bsrealstorattr/modules/form.vue | 8 +- 4 files changed, 46 insertions(+), 62 deletions(-) diff --git a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/api/wms/bsrealstorattr/index.ts b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/api/wms/bsrealstorattr/index.ts index c20a7a08..acbcde88 100644 --- a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/api/wms/bsrealstorattr/index.ts +++ b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/api/wms/bsrealstorattr/index.ts @@ -48,7 +48,7 @@ export function getBsrealStorAttrPage(params: PageParam) { } /** 查询实物库属性详情 */ -export function getBsrealStorAttr(id: number) { +export function getBsrealStorAttr(id: string) { return requestClient.get( `/wms/bsreal-stor-attr/get?id=${id}`, ); @@ -65,12 +65,12 @@ export function updateBsrealStorAttr(data: WmsBsrealStorAttrApi.BsrealStorAttr) } /** 删除实物库属性 */ -export function deleteBsrealStorAttr(id: number) { +export function deleteBsrealStorAttr(id: string) { return requestClient.delete(`/wms/bsreal-stor-attr/delete?id=${id}`); } /** 批量删除实物库属性 */ -export function deleteBsrealStorAttrList(ids: number[]) { +export function deleteBsrealStorAttrList(ids: string[]) { return requestClient.delete( `/wms/bsreal-stor-attr/delete-list?ids=${ids.join(',')}`, ); diff --git a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/bsrealstorattr/data.ts b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/bsrealstorattr/data.ts index f2d320f5..d12d354e 100644 --- a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/bsrealstorattr/data.ts +++ b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/bsrealstorattr/data.ts @@ -7,11 +7,22 @@ import { getDictOptions } from '@vben/hooks'; import { getRangePickerDefaultProps } from '#/utils'; +/** 是/否 选项(值为 '1' / '0',对应后端数据库存储) */ +const BOOLEAN_OPTIONS = [ + { label: '是', value: '1' }, + { label: '否', value: '0' }, +]; + +/** 是/否 列表格式化('1' → '是','0' → '否') */ +function boolFormatter({ cellValue }: { cellValue: string }) { + return cellValue === '1' ? '是' : '否'; +} + /** 新增/修改的表单 */ export function useFormSchema(): VbenFormSchema[] { return [ { - fieldName: 'id', + fieldName: 'storId', component: 'Input', dependencies: { triggerFields: [''], @@ -74,7 +85,7 @@ export function useFormSchema(): VbenFormSchema[] { label: '是否虚拟库', component: 'RadioGroup', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), + options: BOOLEAN_OPTIONS, buttonStyle: 'solid', optionType: 'button', }, @@ -84,7 +95,7 @@ export function useFormSchema(): VbenFormSchema[] { label: '是否半成品库', component: 'RadioGroup', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), + options: BOOLEAN_OPTIONS, buttonStyle: 'solid', optionType: 'button', }, @@ -94,7 +105,7 @@ export function useFormSchema(): VbenFormSchema[] { label: '是否原料库', component: 'RadioGroup', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), + options: BOOLEAN_OPTIONS, buttonStyle: 'solid', optionType: 'button', }, @@ -104,7 +115,7 @@ export function useFormSchema(): VbenFormSchema[] { label: '是否成品库', component: 'RadioGroup', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), + options: BOOLEAN_OPTIONS, buttonStyle: 'solid', optionType: 'button', }, @@ -114,7 +125,7 @@ export function useFormSchema(): VbenFormSchema[] { label: '是否备件库', component: 'RadioGroup', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), + options: BOOLEAN_OPTIONS, buttonStyle: 'solid', optionType: 'button', }, @@ -124,7 +135,7 @@ export function useFormSchema(): VbenFormSchema[] { label: '是否允许红冲', component: 'RadioGroup', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), + options: BOOLEAN_OPTIONS, buttonStyle: 'solid', optionType: 'button', }, @@ -134,7 +145,7 @@ export function useFormSchema(): VbenFormSchema[] { label: '是否移出业务自动确认', component: 'RadioGroup', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), + options: BOOLEAN_OPTIONS, buttonStyle: 'solid', optionType: 'button', }, @@ -144,7 +155,7 @@ export function useFormSchema(): VbenFormSchema[] { label: '是否移入业务自动确认', component: 'RadioGroup', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), + options: BOOLEAN_OPTIONS, buttonStyle: 'solid', optionType: 'button', }, @@ -211,7 +222,7 @@ export function useFormSchema(): VbenFormSchema[] { rules: 'required', component: 'Select', componentProps: { - options: getDictOptions(DICT_TYPE.COMMON_STATUS, 'number'), + options: getDictOptions(DICT_TYPE.COMMON_STATUS, 'string'), placeholder: '请选择状态', allowClear: true, }, @@ -222,7 +233,7 @@ export function useFormSchema(): VbenFormSchema[] { rules: 'required', component: 'RadioGroup', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), + options: BOOLEAN_OPTIONS, buttonStyle: 'solid', optionType: 'button', }, @@ -339,7 +350,7 @@ export function useGridFormSchema(): VbenFormSchema[] { label: '是否启用', component: 'Select', componentProps: { - options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), + options: BOOLEAN_OPTIONS, placeholder: '请选择是否启用', allowClear: true, }, @@ -394,73 +405,49 @@ export function useGridColumns(): VxeTableGridOptions([]); +const checkedIds = ref([]); function handleRowCheckboxChange({ records, }: { records: WmsBsrealStorAttrApi.BsrealStorAttr[]; }) { - checkedIds.value = records.map((item) => item.id!); + checkedIds.value = records.map((item) => item.storId!); } /** 导出表格 */ @@ -109,7 +109,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ }, }, rowConfig: { - keyField: 'id', + keyField: 'storId', isHover: true, }, toolbarConfig: { @@ -174,7 +174,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ icon: ACTION_ICON.DELETE, auth: ['wms:bsreal-stor-attr:delete'], popConfirm: { - title: $t('ui.actionMessage.deleteConfirm', [row.id]), + title: $t('ui.actionMessage.deleteConfirm', [row.storId]), confirm: handleDelete.bind(null, row), }, }, diff --git a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/bsrealstorattr/modules/form.vue b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/bsrealstorattr/modules/form.vue index 8dc13cd4..f666e31a 100644 --- a/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/bsrealstorattr/modules/form.vue +++ b/nl-ui/nl-ui-admin-vben/yudao-ui-admin-vben/apps/web-antdv-next/src/views/wms/bsrealstorattr/modules/form.vue @@ -16,7 +16,7 @@ import { useFormSchema } from '../data'; const emit = defineEmits(['success']); const formData = ref(); const getTitle = computed(() => { - return formData.value?.id + return formData.value?.storId ? $t('ui.actionTitle.edit', ['实物库属性']) : $t('ui.actionTitle.create', ['实物库属性']); }); @@ -44,7 +44,7 @@ const [Modal, modalApi] = useVbenModal({ // 提交表单 const data = (await formApi.getValues()) as WmsBsrealStorAttrApi.BsrealStorAttr; try { - await (formData.value?.id ? updateBsrealStorAttr(data) : createBsrealStorAttr(data)); + await (formData.value?.storId ? updateBsrealStorAttr(data) : createBsrealStorAttr(data)); // 关闭并提示 await modalApi.close(); emit('success'); @@ -60,12 +60,12 @@ const [Modal, modalApi] = useVbenModal({ } // 加载数据 const data = modalApi.getData(); - if (!data || !data.id) { + if (!data || !data.storId) { return; } modalApi.lock(); try { - formData.value = await getBsrealStorAttr(data.id); + formData.value = await getBsrealStorAttr(data.storId); // 设置到 values await formApi.setValues(formData.value); } finally {