|
|
|
@ -2,6 +2,14 @@
|
|
|
|
|
<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="stockOrder">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.stockOrder"
|
|
|
|
|
placeholder="请输入备货单号"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="装运单" prop="deliveryOrder">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.deliveryOrder"
|
|
|
|
@ -42,63 +50,23 @@
|
|
|
|
|
</el-form>
|
|
|
|
|
|
|
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
|
|
<!-- <el-col :span="1.5">-->
|
|
|
|
|
<!-- <el-button-->
|
|
|
|
|
<!-- type="primary"-->
|
|
|
|
|
<!-- plain-->
|
|
|
|
|
<!-- icon="el-icon-plus"-->
|
|
|
|
|
<!-- size="mini"-->
|
|
|
|
|
<!-- @click="handleAdd"-->
|
|
|
|
|
<!-- v-hasPermi="['wms:sellout:add']"-->
|
|
|
|
|
<!-- >新增-->
|
|
|
|
|
<!-- </el-button>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-button
|
|
|
|
|
type="success"
|
|
|
|
|
plain
|
|
|
|
|
icon="el-icon-edit"
|
|
|
|
|
size="mini"
|
|
|
|
|
:disabled="single"
|
|
|
|
|
@click="handleUpdate"
|
|
|
|
|
v-hasPermi="['wms:sellout:edit']"
|
|
|
|
|
>过账
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<!-- <el-col :span="1.5">-->
|
|
|
|
|
<!-- <el-button-->
|
|
|
|
|
<!-- type="danger"-->
|
|
|
|
|
<!-- plain-->
|
|
|
|
|
<!-- icon="el-icon-delete"-->
|
|
|
|
|
<!-- size="mini"-->
|
|
|
|
|
<!-- :disabled="multiple"-->
|
|
|
|
|
<!-- @click="handleDelete"-->
|
|
|
|
|
<!-- v-hasPermi="['wms:sellout:remove']"-->
|
|
|
|
|
<!-- >删除-->
|
|
|
|
|
<!-- </el-button>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-button
|
|
|
|
|
type="warning"
|
|
|
|
|
plain
|
|
|
|
|
icon="el-icon-download"
|
|
|
|
|
size="mini"
|
|
|
|
|
@click="handleExport"
|
|
|
|
|
v-hasPermi="['wms:sellout:export']"
|
|
|
|
|
>导出
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
|
|
|
|
v-hasPermi="['wms:outorder:add']">生成备货单</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
|
|
</el-row>
|
|
|
|
|
|
|
|
|
|
<el-table v-loading="loading" :data="selloutList" @selection-change="handleSelectionChange">
|
|
|
|
|
<el-table-column type="selection" width="55" align="center"/>
|
|
|
|
|
<el-table-column label="ID" align="center" prop="id" v-if="false" />
|
|
|
|
|
<el-table-column label="备货单" align="center" prop="stockOrder" width="250"/>
|
|
|
|
|
<el-table-column label="装运单" align="center" prop="deliveryOrder" width="250"/>
|
|
|
|
|
<el-table-column label="交货单" align="center" prop="attr1" v-if="false" />
|
|
|
|
|
<el-table-column label="交货单" align="center" prop="itemNumber" width="150"/>
|
|
|
|
|
<el-table-column label="工厂编码" align="center" prop="factoryCode" v-if="false" />
|
|
|
|
|
<el-table-column label="出库仓" align="center" prop="whCode" />
|
|
|
|
|
<el-table-column label="库区" align="center" prop="waCode" width="250"/>
|
|
|
|
|
<el-table-column label="库区编码" align="center" prop="waCode" v-if="false" />
|
|
|
|
|
<el-table-column label="库位编码" align="center" prop="wlCode" v-if="false" />
|
|
|
|
|
<el-table-column label="出库地点" align="center" prop="deliveryPlace" v-if="false" />
|
|
|
|
@ -149,26 +117,6 @@
|
|
|
|
|
<el-table-column label="发货点名称" align="center" prop="attr9"v-if="false" />
|
|
|
|
|
<el-table-column label="发货点编码" align="center" prop="attr10"v-if="false" />
|
|
|
|
|
<el-table-column label="备注" align="center" prop="remark"/>
|
|
|
|
|
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
|
|
|
|
|
<!-- <template slot-scope="scope">-->
|
|
|
|
|
<!-- <el-button-->
|
|
|
|
|
<!-- size="mini"-->
|
|
|
|
|
<!-- type="text"-->
|
|
|
|
|
<!-- icon="el-icon-edit"-->
|
|
|
|
|
<!-- @click="handleUpdate(scope.row)"-->
|
|
|
|
|
<!-- v-hasPermi="['wms:sellout:edit']"-->
|
|
|
|
|
<!-- >修改-->
|
|
|
|
|
<!-- </el-button>-->
|
|
|
|
|
<!-- <el-button-->
|
|
|
|
|
<!-- size="mini"-->
|
|
|
|
|
<!-- type="text"-->
|
|
|
|
|
<!-- icon="el-icon-delete"-->
|
|
|
|
|
<!-- @click="handleDelete(scope.row)"-->
|
|
|
|
|
<!-- v-hasPermi="['wms:sellout:remove']"-->
|
|
|
|
|
<!-- >删除-->
|
|
|
|
|
<!-- </el-button>-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
</el-table>
|
|
|
|
|
|
|
|
|
|
<pagination
|
|
|
|
@ -180,106 +128,96 @@
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<!-- 添加或修改成品销售出库对话框 -->
|
|
|
|
|
<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="交货单号" prop="deliveryOrder">
|
|
|
|
|
<el-input v-model="form.deliveryOrder" placeholder="请输入交货单号"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="项次" prop="itemNumber">
|
|
|
|
|
<el-input v-model="form.itemNumber" placeholder="请输入项次"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="工厂编码" prop="factoryCode">
|
|
|
|
|
<el-input v-model="form.factoryCode" placeholder="请输入工厂编码"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="仓库编码" prop="whCode">
|
|
|
|
|
<el-input v-model="form.whCode" placeholder="请输入仓库编码"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="库区编码" prop="waCode">
|
|
|
|
|
<el-input v-model="form.waCode" placeholder="请输入库区编码"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="库位编码" prop="wlCode">
|
|
|
|
|
<el-input v-model="form.wlCode" placeholder="请输入库位编码"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="出库地点" prop="deliveryPlace">
|
|
|
|
|
<el-input v-model="form.deliveryPlace" placeholder="请输入出库地点"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="产品名称" prop="productName">
|
|
|
|
|
<el-input v-model="form.productName" placeholder="请输入产品名称"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="产品编码" prop="productCode">
|
|
|
|
|
<el-input v-model="form.productCode" placeholder="请输入产品编码"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="产品分类" prop="productSort">
|
|
|
|
|
<el-input v-model="form.productSort" placeholder="请输入产品分类"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="规格型号" prop="specification">
|
|
|
|
|
<el-input v-model="form.specification" placeholder="请输入规格型号"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="单位" prop="unitOfMeasure">
|
|
|
|
|
<el-input v-model="form.unitOfMeasure" placeholder="请输入单位"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="批号" prop="lotNumber">
|
|
|
|
|
<el-input v-model="form.lotNumber" placeholder="请输入批号"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="计划出库数量" prop="planQuantity">
|
|
|
|
|
<el-input v-model="form.planQuantity" placeholder="请输入计划出库数量"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="出库数量" prop="outQuantity">
|
|
|
|
|
<el-input v-model="form.outQuantity" placeholder="请输入出库数量"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="过账SAP凭证" prop="sapProof">
|
|
|
|
|
<el-input v-model="form.sapProof" placeholder="请输入过账SAP凭证"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="过账SAP返回信息" prop="sapMessage">
|
|
|
|
|
<el-input v-model="form.sapMessage" placeholder="请输入过账SAP返回信息"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="出库时间" prop="outDate">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="form.outDate"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
placeholder="请选择出库时间">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="预留字段1" prop="attr1">
|
|
|
|
|
<el-input v-model="form.attr1" placeholder="请输入预留字段1"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="预留字段2" prop="attr2">
|
|
|
|
|
<el-input v-model="form.attr2" placeholder="请输入预留字段2"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="预留字段3" prop="attr3">
|
|
|
|
|
<el-input v-model="form.attr3" placeholder="请输入预留字段3"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="预留字段4" prop="attr4">
|
|
|
|
|
<el-input v-model="form.attr4" placeholder="请输入预留字段4"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="预留字段5" prop="attr5">
|
|
|
|
|
<el-input v-model="form.attr5" placeholder="请输入预留字段5"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="预留字段6" prop="attr6">
|
|
|
|
|
<el-input v-model="form.attr6" placeholder="请输入预留字段6"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="预留字段7" prop="attr7">
|
|
|
|
|
<el-input v-model="form.attr7" placeholder="请输入预留字段7"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="预留字段8" prop="attr8">
|
|
|
|
|
<el-input v-model="form.attr8" placeholder="请输入预留字段8"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="预留字段9" prop="attr9">
|
|
|
|
|
<el-input v-model="form.attr9" placeholder="请输入预留字段9"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="预留字段10" prop="attr10">
|
|
|
|
|
<el-input v-model="form.attr10" placeholder="请输入预留字段10"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备注" prop="remark">
|
|
|
|
|
<el-input v-model="form.remark" placeholder="请输入备注"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
<!-- 生成退货单弹窗-->
|
|
|
|
|
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
|
|
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handlequeryform">查询</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-table :data="addoutorderList" @selection-change="handleSelectionChange1">
|
|
|
|
|
<el-table-column type="selection" width="55" align="center" :index="indexMethod" />
|
|
|
|
|
<el-table-column label="序号" type="index"> </el-table-column>
|
|
|
|
|
<el-table-column label="id" align="center" prop="id" v-if="false" />
|
|
|
|
|
<el-table-column label="装运单" prop="deliveryOrder" width="150"/>
|
|
|
|
|
<el-table-column label="交货单" prop="itemNumber" width="150"/>
|
|
|
|
|
<el-table-column label="产品名称" prop="productName" width="150"/>
|
|
|
|
|
<el-table-column label="产品编码" align="center" prop="productCode" width="150">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<span>{{ formatProductCode(scope.row.productCode) }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="单位" prop="unitOfMeasure" />
|
|
|
|
|
<el-table-column label="批号" prop="lotNumber" />
|
|
|
|
|
<el-table-column label="计划数量" align="center" prop="planQuantity" />
|
|
|
|
|
<el-table-column label="交货日期" align="center" prop="outDate" width="150"/>
|
|
|
|
|
<el-table-column label="送达方" align="center" prop="attr4" />
|
|
|
|
|
<el-table-column label="送达方描述" align="center" prop="attr3" />
|
|
|
|
|
<el-table-column label="售达方" align="center" prop="attr6" />
|
|
|
|
|
<el-table-column label="售达方描述" align="center" prop="attr5" />
|
|
|
|
|
<el-table-column label="渠道类型" align="center" prop="attr7" />
|
|
|
|
|
<el-table-column label="操作" align="center" width="100">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-button type="danger" size="mini" @click="deleteOutOrder(scope.row)">删除</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
<!-- 装运单信息弹窗 -->
|
|
|
|
|
<el-dialog :title="'装运单信息'" :visible.sync="showMaterialDialog" width="1500px">
|
|
|
|
|
<div>
|
|
|
|
|
<!-- 查询条件 -->
|
|
|
|
|
<el-form :inline="true" :model="queryParams" class="demo-form-inline">
|
|
|
|
|
<el-form-item label="装运单">
|
|
|
|
|
<el-input v-model="queryParams.deliveryOrder" placeholder="请输入装运单"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="交货单">
|
|
|
|
|
<el-input v-model="queryParams.itemNumber" placeholder="请输入装运单"></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-button type="primary" @click="fetchMaterials">查询</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<el-table :data="materialList" @selection-change="handleMaterialSelectionChange">
|
|
|
|
|
<el-table-column type="selection" width="55" />
|
|
|
|
|
<el-table-column label="id" align="center" prop="id" v-if="false" />
|
|
|
|
|
<el-table-column label="装运单" prop="deliveryOrder" width="150"/>
|
|
|
|
|
<el-table-column label="交货单" prop="itemNumber" width="150"/>
|
|
|
|
|
<el-table-column label="产品名称" prop="productName" width="150"/>
|
|
|
|
|
<el-table-column label="产品编码" align="center" prop="productCode" width="150">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<span>{{ formatProductCode(scope.row.productCode) }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="单位" prop="unitOfMeasure" />
|
|
|
|
|
<el-table-column label="批号" prop="lotNumber" />
|
|
|
|
|
<el-table-column label="计划数量" align="center" prop="planQuantity" />
|
|
|
|
|
<el-table-column label="交货日期" align="center" prop="outDate" width="150"/>
|
|
|
|
|
<el-table-column label="送达方" align="center" prop="attr4" />
|
|
|
|
|
<el-table-column label="送达方描述" align="center" prop="attr3" />
|
|
|
|
|
<el-table-column label="售达方" align="center" prop="attr6" />
|
|
|
|
|
<el-table-column label="售达方描述" align="center" prop="attr5" />
|
|
|
|
|
<el-table-column label="渠道类型" align="center" prop="attr7" />
|
|
|
|
|
|
|
|
|
|
</el-table>
|
|
|
|
|
<el-pagination
|
|
|
|
|
@current-change="handleCurrentChange"
|
|
|
|
|
:current-page="currentPage"
|
|
|
|
|
:page-size="pageSize"
|
|
|
|
|
:total="totalMaterials"
|
|
|
|
|
layout="total, prev, pager, next, jumper"
|
|
|
|
|
/>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button type="primary" @click="confirmMaterialSelection">确 定</el-button>
|
|
|
|
|
<el-button @click="showMaterialDialog = false">取 消</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
@ -287,6 +225,8 @@
|
|
|
|
|
import {
|
|
|
|
|
listSellout,
|
|
|
|
|
getSellout,
|
|
|
|
|
addRE,
|
|
|
|
|
listSelloutlistRE,
|
|
|
|
|
delSellout,
|
|
|
|
|
addSellout,
|
|
|
|
|
updateSellout } from "@/api/wms/sellout";
|
|
|
|
@ -309,11 +249,17 @@
|
|
|
|
|
total: 0,
|
|
|
|
|
// 成品销售出库表格数据
|
|
|
|
|
selloutList: [],
|
|
|
|
|
materialList: [], // 领料单数据
|
|
|
|
|
// 弹出层标题
|
|
|
|
|
title: "",
|
|
|
|
|
// 是否显示弹出层
|
|
|
|
|
open: false,
|
|
|
|
|
showMaterialDialog: false, // 领料单信息弹窗状态
|
|
|
|
|
addoutorderList: [],
|
|
|
|
|
// 查询参数
|
|
|
|
|
currentPage: 1, // 当前页码
|
|
|
|
|
pageSize: 10, // 每页显示的条目数
|
|
|
|
|
totalMaterials: 0, // 领料单总数
|
|
|
|
|
queryParams: {
|
|
|
|
|
pageNum: 1,
|
|
|
|
|
pageSize: 10,
|
|
|
|
@ -365,12 +311,15 @@
|
|
|
|
|
/** 查询成品销售出库列表 */
|
|
|
|
|
getList() {
|
|
|
|
|
this.loading = true;
|
|
|
|
|
listSellout(this.queryParams).then(response => {
|
|
|
|
|
listSelloutlistRE(this.queryParams).then(response => {
|
|
|
|
|
this.selloutList = response.rows;
|
|
|
|
|
this.total = response.total;
|
|
|
|
|
this.loading = false;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
indexMethod(index) {
|
|
|
|
|
return index + 1;
|
|
|
|
|
},
|
|
|
|
|
// 取消按钮
|
|
|
|
|
cancel() {
|
|
|
|
|
this.open = false;
|
|
|
|
@ -424,28 +373,148 @@
|
|
|
|
|
this.queryParams.pageNum = 1;
|
|
|
|
|
this.getList();
|
|
|
|
|
},
|
|
|
|
|
handleMaterialSelectionChange(selection) {
|
|
|
|
|
this.selectedMaterials = selection; // 记录选中的领料单
|
|
|
|
|
},
|
|
|
|
|
async submitForm() {
|
|
|
|
|
const payload = this.addoutorderList.map(item => ({
|
|
|
|
|
id: item.id,
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
console.log("payload:", payload); // 使用逗号分隔符来打印对象
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
await this.$confirm('确认生成备货单吗?', '确认', {
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
|
type: 'info'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 调用接口提交数据
|
|
|
|
|
const response = await addRE(payload);
|
|
|
|
|
this.$message.success('备货单生成成功');
|
|
|
|
|
this.open = false; // 关闭对话框
|
|
|
|
|
this.addoutorderList = []; // 清空列表或根据需求更新
|
|
|
|
|
} catch (error) {
|
|
|
|
|
if (error === 'cancel') {
|
|
|
|
|
this.$message.info('已取消提交');
|
|
|
|
|
} else {
|
|
|
|
|
console.error('提交失败:', error);
|
|
|
|
|
this.$message.error('提交失败,请重试');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.getList();
|
|
|
|
|
},
|
|
|
|
|
/** 重置按钮操作 */
|
|
|
|
|
|
|
|
|
|
resetQuery() {
|
|
|
|
|
this.resetForm("queryForm");
|
|
|
|
|
this.handleQuery();
|
|
|
|
|
},
|
|
|
|
|
handleSelectionChange1(selection) {
|
|
|
|
|
this.ids = selection.map(item => item.id)
|
|
|
|
|
this.single = selection.length !== 1
|
|
|
|
|
this.multiple = !selection.length
|
|
|
|
|
this.selectedRows = selection;
|
|
|
|
|
},
|
|
|
|
|
// 多选框选中数据
|
|
|
|
|
handleSelectionChange(selection) {
|
|
|
|
|
this.ids = selection.map(item => item.id)
|
|
|
|
|
this.single = selection.length !== 1
|
|
|
|
|
this.multiple = !selection.length
|
|
|
|
|
},
|
|
|
|
|
/** 新增按钮操作 */
|
|
|
|
|
handleAdd() {
|
|
|
|
|
this.reset();
|
|
|
|
|
this.open = true;
|
|
|
|
|
this.title = "添加成品销售出库";
|
|
|
|
|
},
|
|
|
|
|
handlequeryform() {
|
|
|
|
|
this.showMaterialDialog = true; // 显示领料单信息弹窗
|
|
|
|
|
this.fetchMaterials(); // 加载领料单数据
|
|
|
|
|
// this.queryParams1.pageNum = 1;
|
|
|
|
|
// this.getList1();
|
|
|
|
|
},
|
|
|
|
|
handleCurrentChange(page) {
|
|
|
|
|
this.currentPage = page; // 更新当前页码
|
|
|
|
|
this.fetchMaterials(page); // 重新加载材料数据
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/** 新增按钮操作 */
|
|
|
|
|
handleAdd() {
|
|
|
|
|
this.reset();
|
|
|
|
|
this.open = true;
|
|
|
|
|
this.title = "生成备货单";
|
|
|
|
|
this.queryParams1 = {}
|
|
|
|
|
this.addoutorderList = []
|
|
|
|
|
},
|
|
|
|
|
async confirmMaterialSelection() {
|
|
|
|
|
const materialsToAdd = []; // 临时存储待添加的材料信息
|
|
|
|
|
for (const material of this.selectedMaterials) {
|
|
|
|
|
try {
|
|
|
|
|
materialsToAdd.push({
|
|
|
|
|
id: material.id,
|
|
|
|
|
deliveryOrder: material.deliveryOrder,
|
|
|
|
|
itemNumber: material.itemNumber,
|
|
|
|
|
productName: material.productName,
|
|
|
|
|
productCode: material.productCode,
|
|
|
|
|
unitOfMeasure: material.unitOfMeasure,
|
|
|
|
|
lotNumber: material.lotNumber,
|
|
|
|
|
planQuantity: material.planQuantity,
|
|
|
|
|
outDate: material.outDate,
|
|
|
|
|
attr4: material.attr4,
|
|
|
|
|
attr3: material.attr3,
|
|
|
|
|
attr6: material.attr6,
|
|
|
|
|
attr5: material.attr5,
|
|
|
|
|
attr7: material.attr7
|
|
|
|
|
});
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error('Error fetching batches:', error);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 将待添加的材料一次性添加到 addoutorderList 中
|
|
|
|
|
this.addoutorderList = this.addoutorderList.concat(materialsToAdd);
|
|
|
|
|
console.log("Materials processed");
|
|
|
|
|
this.showMaterialDialog = false; // 关闭领料单弹窗
|
|
|
|
|
},
|
|
|
|
|
deleteOutOrder(row) {
|
|
|
|
|
// 确认删除操作
|
|
|
|
|
this.$confirm('确认删除该装运单吗?', '警告', {
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
|
type: 'warning'
|
|
|
|
|
}).then(() => {
|
|
|
|
|
// 从 addoutorderList 中删除选定的行
|
|
|
|
|
this.addoutorderList = this.addoutorderList.filter(item => item !== row);
|
|
|
|
|
this.$message.success('删除成功!');
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
this.$message.info('已取消删除');
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
formatProductCode(code) {
|
|
|
|
|
// 检查是否有效,去掉前7个零
|
|
|
|
|
if (!code) return code; // 处理 null 或 undefined 情况
|
|
|
|
|
return code.replace(/^0{1,7}/, ''); // 替换前1到7个0
|
|
|
|
|
},
|
|
|
|
|
/** 重置按钮操作 */
|
|
|
|
|
async fetchMaterials(pageNum = 1) { // 这里的参数名称为 pageNum
|
|
|
|
|
this.loading = true; // 显示加载状态
|
|
|
|
|
try {
|
|
|
|
|
const response = await listSellout({
|
|
|
|
|
...this.queryParams, // 假设 queryParams 包含其他查询条件
|
|
|
|
|
pageNum: pageNum, // 将当前页码传递给后端
|
|
|
|
|
pageSize: this.pageSize // 确保将每页显示的数量传递给后端
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 更新物料列表,并计算索引
|
|
|
|
|
this.materialList = response.rows.map((item, index) => {
|
|
|
|
|
item.index = (pageNum - 1) * this.pageSize + index + 1; // 更新索引
|
|
|
|
|
return item;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.totalMaterials = response.total; // 更新总条目数
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error('获取装运单失败:', error);
|
|
|
|
|
this.$message.error('加载装运单失败,请稍后重试。');
|
|
|
|
|
} finally {
|
|
|
|
|
this.loading = false; // 隐藏加载状态
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
,
|
|
|
|
|
/** 修改按钮操作 */
|
|
|
|
|
handleUpdate(row) {
|
|
|
|
|
this.reset();
|
|
|
|
|