feat(物料管理): 添加工单号列和出入库筛选功能

- 在出库记录页面添加"工单号"列
- 在库存页面添加出入库类型筛选功能
- 调整库存页面操作按钮布局和权限
- 优化表单选项显示逻辑
- 添加进出库记录弹窗功能
This commit is contained in:
Tom
2026-01-12 17:40:02 +08:00
parent 7427a0f631
commit d6181587ed
2 changed files with 50 additions and 69 deletions

View File

@@ -41,6 +41,13 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="出入库" prop="inOrOut">
<el-select v-model="queryParams.inOrOut" filterable placeholder="请选择">
<el-option label="全部" value=""> </el-option>
<el-option label="入库" value="入库"></el-option>
<el-option label="出库" value="出库"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
<el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
@@ -95,22 +102,36 @@
<el-table-column prop="expiryDate" label="有效期至" v-if="columns.showColumn('expiryDate')" />
<el-table-column prop="createdTime" label="创建时间" v-if="columns.showColumn('createdTime')" />
<el-table-column prop="lastUpdatedTime" sortable label="最后更新时间" v-if="columns.showColumn('lastUpdatedTime')" />
<el-table-column label="操作" width="160">
<el-table-column label="操作" width="242">
<template #default="scope">
<el-button
<!-- <el-button
type="success"
size="small"
icon="edit"
title="编辑"
v-hasPermi="['mminventory:edit']"
@click="handleUpdate(scope.row)"></el-button>
@click="handleUpdate(scope.row)"></el-button> -->
<el-button
type="danger"
type="warning"
size="small"
icon="delete"
title="删除"
v-hasPermi="['mminventory:delete']"
@click="handleDelete(scope.row)"></el-button>
icon="tickets"
title="出入库记录"
v-hasPermi="['mminventory:tickets']"
@click="handleTickets(scope.row)"
>记录</el-button
>
<el-button
type="primary"
size="small"
icon="operation"
title="出入库操作"
v-hasPermi="['mminventory:operation']"
@click="handleTickets(scope.row)"
>操作</el-button
>
<el-button type="danger" size="small" icon="delete" title="删除" v-hasPermi="['mminventory:delete']" @click="handleDelete(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
@@ -120,18 +141,6 @@
<el-dialog :title="title" :lock-scroll="false" v-model="openStorage">
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="20">
<!-- <el-col :lg="12" v-if="opertype != 1">
<el-form-item label="主键ID" prop="id">
<el-input-number v-model.number="form.id" controls-position="right" placeholder="请输入主键ID" :disabled="true" />
</el-form-item>
</el-col> -->
<!-- <el-col :lg="12" v-if="opertype == 1">
<el-form-item label="入库单号" prop="inboundNo">
<el-input v-model="form.inboundNo" placeholder="请输入入库单号" :disabled="opertype == 3" />
</el-form-item>
</el-col> -->
<el-col :lg="12">
<el-form-item label="物料编码" prop="materialCode">
<el-select
@@ -142,29 +151,18 @@
placeholder="请选择"
:disabled="opertype == 3">
<el-option
v-for="(item, index) in options"
v-for="(item, index) in options.value"
:key="item.id"
:label="`${item.type || ''} ${item.materialCode} ${item.materialName} [${item.supplierName || ''}]`"
:label="`${item.type || ''} ${item.materialCode || ''} ${item.materialName || ''} [${item.supplierName || ''}]`"
:value="item">
<span style="float: left"
>{{ item.type || '' }} {{ item.materialCode }} {{ item.materialName }} [{{ item.supplierName || '' }}]</span
>{{ item.type || '' }} {{ item.materialCode || '' }} {{ item.materialName || '' }} [{{ item.supplierName || '' }}]</span
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :lg="12">
<el-form-item label="仓库编码" prop="warehouseCode">
<el-input v-model="form.warehouseCode" placeholder="请输入仓库编码" />
</el-form-item>
</el-col> -->
<!-- <el-col :lg="12">
<el-form-item label="物料分类编码" prop="categoryCode">
<el-input v-model="form.categoryCode" placeholder="请输入物料分类编码" />
</el-form-item>
</el-col> -->
<el-col :lg="12">
<el-form-item label="物料名称" prop="materialName">
<el-input :disabled="true" v-model="form.materialName" placeholder="请输入物料名称" />
@@ -221,6 +219,9 @@
<el-col :lg="12">
<el-form-item label="批次号" prop="batchNo">
<el-input v-model="form.batchNo" placeholder="请输入批次号" />
<!-- <el-select v-model="form.batchNo" filterable placeholder="请选择" :disabled="opertype == 3">
<el-option v-for="item in options.batchNoOptions" :key="item.id" :label="item.typeCode" :value="item.typeName"> </el-option>
</el-select> -->
</el-form-item>
</el-col>
@@ -235,39 +236,6 @@
<el-input v-model="form.operator" placeholder="请输入操作员" />
</el-form-item>
</el-col>
<!-- <el-col :lg="12">
<el-form-item label="生产日期" prop="productionDate">
<el-date-picker v-model="form.productionDate" type="datetime" placeholder="选择日期时间" value-format="YYYY-MM-DD HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item label="有效期至" prop="expiryDate">
<el-date-picker v-model="form.expiryDate" type="datetime" placeholder="选择日期时间" value-format="YYYY-MM-DD HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item label="最后更新时间" prop="lastUpdatedTime">
<el-date-picker v-model="form.lastUpdatedTime" type="datetime" placeholder="选择日期时间" value-format="YYYY-MM-DD HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col> -->
<!-- <el-col :lg="12" v-if="opertype != 1">
<el-form-item label="创建时间" prop="createdTime">
<el-date-picker
v-model="form.createdTime"
type="datetime"
placeholder="选择日期时间"
value-format="YYYY-MM-DD HH:mm:ss"
:disabled="opertype == 3">
</el-date-picker>
</el-form-item>
</el-col> -->
</el-row>
</el-form>
<template #footer v-if="opertype != 3">
@@ -387,13 +355,16 @@
<el-col :lg="12">
<el-form-item label="批次号" prop="batchNo">
<!-- <el-select v-model="form.batchNo" filterable placeholder="请选择" :disabled="opertype == 3">
<el-option v-for="item in options.batchNoOptions" :key="item.id" :label="item.typeCode" :value="item.typeName"> </el-option>
</el-select> -->
<el-input v-model="form.batchNo" placeholder="请输入批次号" />
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item label="单号" prop="orderNo">
<el-input v-model="form.orderNo" placeholder="请输入单号" />
<el-form-item label="制造工单号" prop="orderNo">
<el-input v-model="form.orderNo" placeholder="请输入制造工单号" />
</el-form-item>
</el-col>
@@ -568,6 +539,15 @@
<el-button type="primary" @click="submitUpdateForm">{{ $t('btn.submit') }}</el-button>
</template>
</el-dialog>
<!-- 进出库记录弹出框 -->
<el-dialog title="进出库记录" :visible.sync="dialogTableVisible">
<el-table :data="gridData">
<el-table-column property="date" label="日期" width="150"></el-table-column>
<el-table-column property="name" label="姓名" width="200"></el-table-column>
<el-table-column property="address" label="地址"></el-table-column>
</el-table>
</el-dialog>
</div>
</template>

View File

@@ -87,6 +87,7 @@
<el-table-column prop="unit" label="计量单位" align="center" v-if="columns.showColumn('unit')" />
<el-table-column prop="batchNo" label="批次号" align="center" v-if="columns.showColumn('batchNo')" />
<el-table-column prop="orderNo" label="关联订单号" align="center" v-if="columns.showColumn('orderNo')" />
<el-table-column prop="workOrderNo" label="工单号" align="center" v-if="columns.showColumn('workOrderNo')" />
<el-table-column prop="operator" label="操作员" align="center" v-if="columns.showColumn('operator')" />
<el-table-column prop="remarks" label="备注" align="center" v-if="columns.showColumn('remarks')" />
<el-table-column label="操作" width="160">