采购开始做

This commit is contained in:
砂糖
2025-07-18 17:22:56 +08:00
parent ff8c174b8e
commit 58bdd266dc
10 changed files with 995 additions and 45 deletions

View File

@@ -2,19 +2,44 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="仓库/库区/库位ID" prop="warehouseId">
<el-input
<warehouse-select
v-model="queryParams.warehouseId"
placeholder="请输入仓库/库区/库位ID"
placeholder="请选择仓库/库区/库位"
style="width: 100%;"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物品类型" prop="itemType">
<el-select v-model="queryParams.itemType" placeholder="请选择物品类型" clearable>
<el-option
v-for="dict in dict.type.stock_item_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="物品ID" prop="itemId">
<el-input
<raw-material-select
v-if="queryParams.itemType === 'rawMaterial'"
v-model="queryParams.itemId"
placeholder="请输入物品ID"
placeholder="请选择原材料"
style="width: 100%;"
clearable
@keyup.enter.native="handleQuery"
/>
<product-select
v-else-if="queryParams.itemType === 'product'"
v-model="queryParams.itemId"
placeholder="请选择产品"
style="width: 100%;"
clearable
/>
<el-input
v-else
v-model="queryParams.itemId"
placeholder="请先选择物品类型"
:disabled="true"
style="width: 100%;"
/>
</el-form-item>
<el-form-item label="库存数量" prop="quantity">
@@ -55,7 +80,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['klp:stock:add']"
v-hasPermi="['wms:stock:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
@@ -66,7 +91,7 @@
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['klp:stock:edit']"
v-hasPermi="['wms:stock:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
@@ -77,7 +102,7 @@
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['klp:stock:remove']"
v-hasPermi="['wms:stock:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
@@ -87,7 +112,7 @@
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['klp:stock:export']"
v-hasPermi="['wms:stock:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@@ -97,7 +122,11 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键ID" align="center" prop="stockId" v-if="true"/>
<el-table-column label="仓库/库区/库位ID" align="center" prop="warehouseId" />
<el-table-column label="物品类型" align="center" prop="itemType" />
<el-table-column label="物品类型" align="center" prop="itemType">
<template slot-scope="scope">
<dict-tag :options="dict.type.stock_item_type" :value="scope.row.itemType"/>
</template>
</el-table-column>
<el-table-column label="物品ID" align="center" prop="itemId" />
<el-table-column label="库存数量" align="center" prop="quantity" />
<el-table-column label="单位" align="center" prop="unit" />
@@ -110,14 +139,14 @@
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['klp:stock:edit']"
v-hasPermi="['wms:stock:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['klp:stock:remove']"
v-hasPermi="['wms:stock:remove']"
>删除</el-button>
</template>
</el-table-column>
@@ -135,10 +164,45 @@
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="仓库/库区/库位ID" prop="warehouseId">
<el-input v-model="form.warehouseId" placeholder="请输入仓库/库区/库位ID" />
<warehouse-select
v-model="form.warehouseId"
placeholder="请选择仓库/库区/库位"
style="width: 100%;"
clearable
/>
</el-form-item>
<el-form-item label="物品类型" prop="itemType">
<el-select v-model="form.itemType" placeholder="请选择物品类型">
<el-option
v-for="dict in dict.type.stock_item_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="物品ID" prop="itemId">
<el-input v-model="form.itemId" placeholder="请输入物品ID" />
<raw-material-select
v-if="form.itemType === 'rawMaterial'"
v-model="form.itemId"
placeholder="请选择原材料"
style="width: 100%;"
clearable
/>
<product-select
v-else-if="form.itemType === 'product'"
v-model="form.itemId"
placeholder="请选择产品"
style="width: 100%;"
clearable
/>
<el-input
v-else
v-model="form.itemId"
placeholder="请先选择物品类型"
:disabled="true"
style="width: 100%;"
/>
</el-form-item>
<el-form-item label="库存数量" prop="quantity">
<el-input v-model="form.quantity" placeholder="请输入库存数量" />
@@ -163,9 +227,18 @@
<script>
import { listStock, getStock, delStock, addStock, updateStock } from "@/api/wms/stock";
import WarehouseSelect from "@/components/WarehouseSelect";
import RawMaterialSelect from "@/components/KLPService/RawMaterialSelect";
import ProductSelect from "@/components/KLPService/ProductSelect";
export default {
name: "Stock",
dicts: ['stock_item_type'],
components: {
WarehouseSelect,
RawMaterialSelect,
ProductSelect
},
data() {
return {
// 按钮loading