完善机械模块页面

This commit is contained in:
lcj
2025-03-11 18:12:22 +08:00
parent adde3005e8
commit d359113dbe
6 changed files with 356 additions and 308 deletions

View File

@ -7,9 +7,6 @@
<el-form-item label="机械名称" prop="machineryName">
<el-input v-model="queryParams.machineryName" placeholder="请输入机械名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="机械型号" prop="machineryNumber">
<el-input v-model="queryParams.machineryNumber" placeholder="请输入机械型号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="负责人" prop="principal">
<el-input v-model="queryParams.principal" placeholder="请输入负责人" clearable @keyup.enter="handleQuery" />
</el-form-item>
@ -29,13 +26,13 @@
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['machinery:machinery:add']"> 新增 </el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['machinery:machinery:edit']"
>修改
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['machinery:machinery:edit']">
修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['machinery:machinery:remove']"
>删除
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['machinery:machinery:remove']">
删除
</el-button>
</el-col>
<el-col :span="1.5">
@ -45,7 +42,19 @@
</el-row>
</template>
<el-table v-loading="loading" :data="machineryList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
:data="machineryList"
@selection-change="handleSelectionChange"
:row-key="getRowKey"
:expand-row-keys="expandedRowKeys"
@expand-change="handleExpandChange"
>
<el-table-column type="expand">
<template #default="">
<machinery-detail-table :machinery-id="expandedRowKeys[0]" />
</template>
</el-table-column>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" width="60" align="center" />
<el-table-column label="机械名称" align="center" prop="machineryName" />
@ -55,12 +64,13 @@
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['machinery:machinery:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['machinery:machinery:remove']"></el-button>
</el-tooltip>
<el-space wrap>
<el-button link type="success" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['machinery:machinery:edit']">修改 </el-button>
<el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['machinery:machinery:remove']">
删除
</el-button>
<el-button link type="primary" icon="Plus" @click="handleAddMachineryDetail(scope.row)"> 入场</el-button>
</el-space>
</template>
</el-table-column>
</el-table>
@ -93,6 +103,7 @@
</div>
</template>
</el-dialog>
<machinery-detail-add-dialog :machinery-id="currentMachineryId" ref="dialogRef" />
</div>
</template>
@ -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<number | string>(0);
/** 添加机械出入场详情 */
const handleAddMachineryDetail = (row?: MachineryVO) => {
currentMachineryId.value = row.id ?? 0;
dialogRef.value.openDialog();
};
onMounted(() => {
getList();
});