From d359113dbeb273deb08ad8015584e5ab699f51df Mon Sep 17 00:00:00 2001 From: lcj <2331845269@qq.com> Date: Tue, 11 Mar 2025 18:12:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=9C=BA=E6=A2=B0=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/machinery/machineryDetail/types.ts | 16 +- .../component/MachineryDetailAddDialog.vue | 113 +++++++ .../component/MachineryDetailTable.vue | 186 ++++++++++++ src/views/machinery/index.vue | 64 +++- src/views/machinery/machineryDetail/index.vue | 281 ------------------ .../component/MaterialsInventoryAddDialog.vue | 4 +- 6 files changed, 356 insertions(+), 308 deletions(-) create mode 100644 src/views/machinery/component/MachineryDetailAddDialog.vue create mode 100644 src/views/machinery/component/MachineryDetailTable.vue delete mode 100644 src/views/machinery/machineryDetail/index.vue diff --git a/src/api/machinery/machineryDetail/types.ts b/src/api/machinery/machineryDetail/types.ts index 7981117..6383ef3 100644 --- a/src/api/machinery/machineryDetail/types.ts +++ b/src/api/machinery/machineryDetail/types.ts @@ -48,7 +48,6 @@ export interface MachineryDetailVO { * 机械主键id */ machineryId: string | number; - } export interface MachineryDetailForm extends BaseEntity { @@ -101,11 +100,9 @@ export interface MachineryDetailForm extends BaseEntity { * 机械主键id */ machineryId?: string | number; - } -export interface MachineryDetailQuery extends PageQuery { - +export interface MachineryDetailQuery extends PageRequest { /** * 检验证编号 */ @@ -146,11 +143,8 @@ export interface MachineryDetailQuery extends PageQuery { */ machineryId?: string | number; - /** - * 日期范围参数 - */ - params?: any; + /** + * 日期范围参数 + */ + params?: any; } - - - diff --git a/src/views/machinery/component/MachineryDetailAddDialog.vue b/src/views/machinery/component/MachineryDetailAddDialog.vue new file mode 100644 index 0000000..88b0a47 --- /dev/null +++ b/src/views/machinery/component/MachineryDetailAddDialog.vue @@ -0,0 +1,113 @@ + + diff --git a/src/views/machinery/component/MachineryDetailTable.vue b/src/views/machinery/component/MachineryDetailTable.vue new file mode 100644 index 0000000..5efe79c --- /dev/null +++ b/src/views/machinery/component/MachineryDetailTable.vue @@ -0,0 +1,186 @@ + + + diff --git a/src/views/machinery/index.vue b/src/views/machinery/index.vue index ede377c..1de8b70 100644 --- a/src/views/machinery/index.vue +++ b/src/views/machinery/index.vue @@ -7,9 +7,6 @@ - - - @@ -29,13 +26,13 @@ 新增 - 修改 + + 修改 - 删除 + + 删除 @@ -45,7 +42,19 @@ - + + + + @@ -55,12 +64,13 @@ @@ -93,6 +103,7 @@ + @@ -101,6 +112,8 @@ import { addMachinery, delMachinery, getMachinery, listMachinery, updateMachiner import { MachineryForm, MachineryQuery, MachineryVO } from '@/api/machinery/machinery/types'; import { useUserStoreHook } from '@/store/modules/user'; +import MachineryDetailTable from '@/views/machinery/component/MachineryDetailTable.vue'; +import MachineryDetailAddDialog from '@/views/machinery/component/MachineryDetailAddDialog.vue'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -247,6 +260,29 @@ const handleExport = () => { ); }; +// 存储当前展开行的 key 数组(只允许一个展开) +const expandedRowKeys = ref([]); +// row-key 函数:返回每一行的唯一标识 +const getRowKey = (row: any) => row.id; +/** 展开选中数据 */ +const handleExpandChange = async (selection: MachineryVO, expanded: any) => { + if (expanded) { + // 展开当前行时,将其他展开行关闭,只保留当前行 id + expandedRowKeys.value = [selection.id]; + } else { + // 收起当前行时,从 expandedRowKeys 中移除 + expandedRowKeys.value = expandedRowKeys.value.filter((key) => key !== selection.id); + } +}; + +const dialogRef = ref(); +const currentMachineryId = ref(0); +/** 添加机械出入场详情 */ +const handleAddMachineryDetail = (row?: MachineryVO) => { + currentMachineryId.value = row.id ?? 0; + dialogRef.value.openDialog(); +}; + onMounted(() => { getList(); }); diff --git a/src/views/machinery/machineryDetail/index.vue b/src/views/machinery/machineryDetail/index.vue deleted file mode 100644 index 178a039..0000000 --- a/src/views/machinery/machineryDetail/index.vue +++ /dev/null @@ -1,281 +0,0 @@ - - - diff --git a/src/views/materials/materials/component/MaterialsInventoryAddDialog.vue b/src/views/materials/materials/component/MaterialsInventoryAddDialog.vue index e6f2bc8..8eeac26 100644 --- a/src/views/materials/materials/component/MaterialsInventoryAddDialog.vue +++ b/src/views/materials/materials/component/MaterialsInventoryAddDialog.vue @@ -2,7 +2,7 @@ - + @@ -66,7 +66,7 @@ const loading = ref(false); const form = reactive({ materialsId: props.materialsId, projectId: props.projectId, - outPut: '0', + outPut: undefined, number: 1, outPutTime: '', residue: '',