入库管理下4个页面,出库管理下3个页面,国际化

This commit is contained in:
猫猫guowen
2025-06-05 10:08:01 +08:00
parent 9e43e81df0
commit 6b94fe43e2
10 changed files with 796 additions and 430 deletions

View File

@@ -2,8 +2,8 @@
<div class="app-container">
<!-- 主表信息录入 -->
<el-form :model="formData" ref="formRef" size="small" :inline="true" label-width="68px" :rules="rules">
<el-form-item label="仓库" prop="warehouseId" required>
<el-select v-model="formData.warehouseId" placeholder="请选择仓库" clearable>
<el-form-item :label="$t('addOutStockout.warehouse')" prop="warehouseId" required><!--仓库-->
<el-select v-model="formData.warehouseId" :placeholder="$t('addOutStockout.selectWarehouse')" clearable>
<el-option
v-for="dict in warehouseOptions"
:key="dict.warehouseId"
@@ -12,15 +12,15 @@
/>
</el-select>
</el-form-item>
<el-form-item label="客户" prop="customerNo" required>
<el-form-item :label="$t('addOutStockout.customer')" prop="customerNo" required><!--客户-->
<el-input
v-model="formData.customerNo"
placeholder="请输入客户编号"
:placeholder="$t('addOutStockout.inputCustomerNo')"
clearable
/>
</el-form-item>
<el-form-item label="单据类型" prop="outType" required>
<el-select v-model="formData.outType" placeholder="请选择单据类型" clearable>
<el-form-item :label="$t('addOutStockout.documentType')" prop="outType" required><!--单据类型-->
<el-select v-model="formData.outType" :placeholder="$t('addOutStockout.selectDocumentType')" clearable>
<el-option
v-for="dict in dict.type.out_bill_type"
:key="dict.value"
@@ -30,86 +30,86 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="warning" icon="el-icon-refresh" size="mini" @click="reset">重置</el-button>
<el-button type="success" icon="el-icon-check" size="mini" @click="handleSave">保存单据</el-button>
<el-button type="warning" icon="el-icon-refresh" size="mini" @click="reset">{{$t('addOutStockout.reset')}}<!--重置--></el-button>
<el-button type="success" icon="el-icon-check" size="mini" @click="handleSave">{{$t('addOutStockout.saveDocument')}}<!--保存单据--></el-button>
</el-form-item>
</el-form>
<div class="mb8">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleSelectMaterials">选择物资</el-button>
<el-button type="info" icon="el-icon-refresh-right" size="mini" @click="handleReload">重新建单</el-button>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleSelectMaterials">{{$t('addOutStockout.selectMaterial')}}<!--选择物资--></el-button>
<el-button type="info" icon="el-icon-refresh-right" size="mini" @click="handleReload">{{$t('addOutStockout.recreateDocument')}}<!--重新建单--></el-button>
</div>
<!-- 物资明细表格 -->
<el-table v-loading="loading" :data="materialList">
<el-table-column label="物资编号" align="center" prop="productId" />
<el-table-column label="物资名称" align="center" prop="productName" />
<el-table-column label="批号" align="center" prop="lotNo" />
<el-table-column label="数量" align="center" prop="quantity">
<el-table-column :label="$t('addOutStockout.materialCode')" align="center" prop="productId" /><!--物资编号-->
<el-table-column :label="$t('addOutStockout.materialName')" align="center" prop="productName" /><!--物资名称-->
<el-table-column :label="$t('addOutStockout.batchNo')" align="center" prop="lotNo" /><!--批号-->
<el-table-column :label="$t('addOutStockout.quantity')" align="center" prop="quantity"><!--数量-->
<template slot-scope="scope">
<el-input-number v-model="scope.row.quantity" :min="1" size="mini" @change="handleQuantityChange(scope.row)" />
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('addOutStockout.operation')" align="center" class-name="small-padding fixed-width"><!--操作-->
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.$index)">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.$index)">{{$t('addOutStockout.delete')}}<!--删除--></el-button>
</template>
</el-table-column>
</el-table>
<!-- 选择物资弹窗 -->
<el-dialog title="选择物资" :visible.sync="materialDialog" width="800px" append-to-body>
<el-dialog :title="$t('addOutStockout.selectMaterial')" :visible.sync="materialDialog" width="800px" append-to-body><!--选择物资-->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="物资编码" prop="productId">
<el-form-item :label="$t('addOutStockout.materialCode')" prop="productId"><!--物资编码-->
<el-input
v-model="queryParams.productId"
placeholder="请输入物资编码"
:placeholder="$t('addOutStockout.inputMaterialCode')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物资名称" prop="productName">
<el-form-item :label="$t('addOutStockout.materialName')" prop="productName"><!--物资名称-->
<el-input
v-model="queryParams.productName"
placeholder="请输入物资名称"
:placeholder="$t('addOutStockout.inputMaterialName')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="批号" prop="lotNo">
<el-form-item :label="$t('addOutStockout.batchNo')" prop="lotNo"><!--批号-->
<el-input
v-model="queryParams.lotNo"
placeholder="请输入批号"
:placeholder="$t('addOutStockout.inputBatchNo')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="仓库" prop="warehouseId">
<el-form-item :label="$t('addOutStockout.warehouse')" prop="warehouseId"><!--仓库-->
<el-input
v-model="queryParams.warehouseId"
placeholder="请输入仓库"
:placeholder="$t('addOutStockout.inputWarehouse')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{$t('addOutStockout.search')}}<!--搜索--></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{$t('addOutStockout.reset')}}<!--重置--></el-button>
</el-form-item>
</el-form>
<el-table v-loading="materialLoading" :data="materialOptions" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column label="物资编码" align="center" prop="productId" />
<el-table-column label="物资名称" align="center" prop="productName" />
<el-table-column label="批号" align="center" prop="lotNo" />
<el-table-column label="数量" align="center" prop="quantity" />
<el-table-column label="仓库" align="center" prop="warehouseId" />
<el-table-column :label="$t('addOutStockout.materialCode')" align="center" prop="productId" /><!--物资编码-->
<el-table-column :label="$t('addOutStockout.materialName')" align="center" prop="productName" /><!--物资名称-->
<el-table-column :label="$t('addOutStockout.batchNo')" align="center" prop="lotNo" /><!--批号-->
<el-table-column :label="$t('addOutStockout.quantity')" align="center" prop="quantity" /><!--数量-->
<el-table-column :label="$t('addOutStockout.warehouse')" align="center" prop="warehouseId" /><!--仓库-->
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmSelectMaterials">确 定</el-button>
<el-button @click="cancelSelectMaterials">取 消</el-button>
<el-button type="primary" @click="confirmSelectMaterials">{{$t('addOutStockout.confirm')}}<!--确 定--></el-button>
<el-button @click="cancelSelectMaterials">{{$t('addOutStockout.cancel')}}<!--取 消--></el-button>
</div>
</el-dialog>
</div>

View File

@@ -2,16 +2,16 @@
<div class="app-container">
<!-- 查询表单 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="出库单编号" prop="stockoutId">
<el-form-item :label="$t('outStockoutManage.stockoutId')" prop="stockoutId"> <!-- 出库单编号 -->
<el-input
v-model="queryParams.stockoutId"
placeholder="请输入出库单编号"
:placeholder="$t('outStockoutManage.inputStockoutId')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="出库类型" prop="outType">
<el-select v-model="queryParams.outType" placeholder="请选择出库类型" clearable>
<el-form-item :label="$t('outStockoutManage.outType')" prop="outType"> <!-- 出库类型 -->
<el-select v-model="queryParams.outType" :placeholder="$t('outStockoutManage.selectOutType')" clearable>
<el-option
v-for="dict in dict.type.out_bill_type"
:key="dict.value"
@@ -20,8 +20,8 @@
/>
</el-select>
</el-form-item>
<el-form-item label="单据状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择单据状态" clearable>
<el-form-item :label="$t('outStockoutManage.status')" prop="status"> <!-- 单据状态 -->
<el-select v-model="queryParams.status" :placeholder="$t('outStockoutManage.selectStatus')" clearable>
<el-option
v-for="dict in dict.type.out_bill_status"
:key="dict.value"
@@ -30,17 +30,17 @@
/>
</el-select>
</el-form-item>
<el-form-item label="客户编码" prop="customerNo">
<el-form-item :label="$t('outStockoutManage.customerNo')" prop="customerNo"> <!-- 客户编码 -->
<el-input
v-model="queryParams.customerNo"
placeholder="请输入客户编码"
:placeholder="$t('outStockoutManage.inputCustomerNo')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{$t('outStockoutManage.search')}}</el-button> <!-- 搜索 -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{$t('outStockoutManage.reset')}}</el-button> <!-- 重置 -->
</el-form-item>
</el-form>
@@ -54,7 +54,7 @@
size="mini"
@click="handleAudit(2)"
v-hasPermi="['out:outStockout:changeStatus']"
>单据审核</el-button>
>{{$t('outStockoutManage.audit')}}</el-button> <!-- 单据审核 -->
</el-col>
<el-col :span="1.5">
<el-button
@@ -64,7 +64,7 @@
size="mini"
@click="handleAudit(4)"
v-hasPermi="['out:outStockout:changeStatus']"
>单据确认</el-button>
>{{$t('outStockoutManage.confirm')}}</el-button> <!-- 单据确认 -->
</el-col>
<el-col :span="1.5">
<el-button
@@ -74,7 +74,7 @@
size="mini"
@click="handleAudit(5)"
v-hasPermi="['out:outStockout:changeStatus']"
>单据作废</el-button>
>{{$t('outStockoutManage.cancel')}}</el-button> <!-- 单据作废 -->
</el-col>
<el-col :span="1.5">
<el-button
@@ -83,7 +83,7 @@
icon="el-icon-s-promotion"
size="mini"
@click="handleAutoAllot"
>自动分配</el-button>
>{{$t('outStockoutManage.autoAllot')}}</el-button> <!-- 自动分配 -->
</el-col>
<el-col :span="1.5">
<el-button
@@ -92,30 +92,30 @@
icon="el-icon-s-tools"
size="mini"
@click="handleManualAllot"
>手动分配</el-button>
>{{$t('outStockoutManage.manualAllot')}}</el-button> <!-- 手动分配 -->
</el-col>
</el-row>
<!-- 主表数据 -->
<el-table v-loading="loading" :data="outStockoutList" @selection-change="handleSelectionChange" @row-click="handleRowClick">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="出库单编号" align="center" prop="stockoutId" />
<el-table-column label="出库类型" align="center" prop="outType">
<el-table-column :label="$t('outStockoutManage.stockoutId')" align="center" prop="stockoutId" /> <!-- 出库单编号 -->
<el-table-column :label="$t('outStockoutManage.outType')" align="center" prop="outType"> <!-- 出库类型 -->
<template slot-scope="scope">
<dict-tag :options="dict.type.out_bill_type" :value="scope.row.outType"/>
</template>
</el-table-column>
<el-table-column label="单据状态" align="center" prop="status">
<el-table-column :label="$t('outStockoutManage.status')" align="center" prop="status"> <!-- 单据状态 -->
<template slot-scope="scope">
<dict-tag :options="dict.type.out_bill_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="客户编码" align="center" prop="customerNo" />
<el-table-column label="建单人" align="center" prop="createManId" />
<el-table-column label="创建时间" align="center" prop="createDate" />
<el-table-column label="开始时间" align="center" prop="startDate" />
<el-table-column label="确认时间" align="center" prop="finishDate" />
<el-table-column label="仓库编号" align="center" prop="warehouseId" />
<el-table-column :label="$t('outStockoutManage.customerNo')" align="center" prop="customerNo" /> <!-- 客户编码 -->
<el-table-column :label="$t('outStockoutManage.createManId')" align="center" prop="createManId" /> <!-- 建单人 -->
<el-table-column :label="$t('outStockoutManage.createDate')" align="center" prop="createDate" /> <!-- 创建时间 -->
<el-table-column :label="$t('outStockoutManage.startDate')" align="center" prop="startDate" /> <!-- 开始时间 -->
<el-table-column :label="$t('outStockoutManage.finishDate')" align="center" prop="finishDate" /> <!-- 确认时间 -->
<el-table-column :label="$t('outStockoutManage.warehouseId')" align="center" prop="warehouseId" /> <!-- 仓库编号 -->
</el-table>
<pagination
@@ -128,17 +128,16 @@
<!-- 子表数据 -->
<el-table v-loading="detailLoading" :data="outStockDetailList.slice((detailQueryParams.pageNum-1)*detailQueryParams.pageSize, detailQueryParams.pageNum*detailQueryParams.pageSize)" style="margin-top: 20px;">
<el-table-column label="出库子单编号" align="center" prop="stockoutDetailId" />
<el-table-column label="物资编码" align="center" prop="productId" />
<el-table-column label="批次" align="center" prop="lotNo" />
<el-table-column label="计划数量" align="center" prop="quantity" />
<el-table-column label="实际数量" align="center" prop="assignNum" />
<el-table-column label="分配数量" align="center" prop="allotQuantity" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="规格" align="center" prop="spec" />
<el-table-column label="价格" align="center" prop="price" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column :label="$t('outStockoutManage.stockoutDetailId')" align="center" prop="stockoutDetailId" /> <!-- 出库子单编号 -->
<el-table-column :label="$t('outStockoutManage.productId')" align="center" prop="productId" /> <!-- 物资编码 -->
<el-table-column :label="$t('outStockoutManage.lotNo')" align="center" prop="lotNo" /> <!-- 批次 -->
<el-table-column :label="$t('outStockoutManage.quantity')" align="center" prop="quantity" /> <!-- 计划数量 -->
<el-table-column :label="$t('outStockoutManage.assignNum')" align="center" prop="assignNum" /> <!-- 实际数量 -->
<el-table-column :label="$t('outStockoutManage.allotQuantity')" align="center" prop="allotQuantity" /> <!-- 分配数量 -->
<el-table-column :label="$t('outStockoutManage.unit')" align="center" prop="unit" /> <!-- 单位 -->
<el-table-column :label="$t('outStockoutManage.spec')" align="center" prop="spec" /> <!-- 规格 -->
<el-table-column :label="$t('outStockoutManage.price')" align="center" prop="price" /> <!-- 价格 -->
<el-table-column :label="$t('outStockoutManage.remark')" align="center" prop="remark" /> <!-- 备注 -->
</el-table>
<pagination

View File

@@ -1,49 +1,49 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="序号" prop="onlyIdentity">
<el-form-item :label="$t('productAndStock.serialNumber')" prop="onlyIdentity"> <!-- 序号 -->
<el-input
v-model="queryParams.onlyIdentity"
placeholder="请输入序号"
:placeholder="$t('productAndStock.inputSerialNumber')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物资编码" prop="productId">
<el-form-item :label="$t('productAndStock.productId')" prop="productId"> <!-- 物资编码 -->
<el-input
v-model="queryParams.productId"
placeholder="请输入物资编码"
:placeholder="$t('productAndStock.inputProductId')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="批号" prop="lotNo">
<el-form-item :label="$t('productAndStock.lotNo')" prop="lotNo"> <!-- 批号 -->
<el-input
v-model="queryParams.lotNo"
placeholder="请输入批号"
:placeholder="$t('productAndStock.inputLotNo')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物资名称" prop="productName">
<el-form-item :label="$t('productAndStock.productName')" prop="productName"> <!-- 物资名称 -->
<el-input
v-model="queryParams.productName"
placeholder="请输入物资名称"
:placeholder="$t('productAndStock.inputProductName')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="仓库" prop="warehouseId">
<el-form-item :label="$t('productAndStock.warehouse')" prop="warehouseId"> <!-- 仓库 -->
<el-input
v-model="queryParams.warehouseId"
placeholder="请输入仓库"
:placeholder="$t('productAndStock.inputWarehouse')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{$t('productAndStock.search')}}</el-button> <!-- 搜索 -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{$t('productAndStock.reset')}}111</el-button> <!-- 重置 -->
</el-form-item>
</el-form>
@@ -56,18 +56,18 @@
size="mini"
@click="handleExport"
v-hasPermi="['out:productAndStock:export']"
>导出</el-button>
>{{$t('productAndStock.export')}}</el-button> <!-- 导出 -->
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="productAndStockList">
<el-table-column label="序号" align="center" prop="onlyIdentity" />
<el-table-column label="物资编码" align="center" prop="productId" />
<el-table-column label="批号" align="center" prop="lotNo" />
<el-table-column label="物资名称" align="center" prop="productName" />
<el-table-column label="数量" align="center" prop="quantity" />
<el-table-column label="仓库" align="center" prop="warehouseId" />
<el-table-column :label="$t('productAndStock.serialNumber')" align="center" prop="onlyIdentity" /> <!-- 序号 -->
<el-table-column :label="$t('productAndStock.productId')" align="center" prop="productId" /> <!-- 物资编码 -->
<el-table-column :label="$t('productAndStock.lotNo')" align="center" prop="lotNo" /> <!-- 批号 -->
<el-table-column :label="$t('productAndStock.productName')" align="center" prop="productName" /> <!-- 物资名称 -->
<el-table-column :label="$t('productAndStock.quantity')" align="center" prop="quantity" /> <!-- 数量 -->
<el-table-column :label="$t('productAndStock.warehouse')" align="center" prop="warehouseId" /> <!-- 仓库 -->
</el-table>
<pagination