wmswms特殊出库页面完善

master
mengjiao 7 months ago
parent 811f2557be
commit bac84ceb83

@ -182,6 +182,14 @@ export function listProduct(query) {
params: query params: query
}); });
} }
// 查询物料信息列表
export function listProductFp(query) {
return request({
url: '/wms/matenews/listwmsFpStorageNews',
method: 'get',
params: query
});
}
// 查询报工详细列表 // 查询报工详细列表
export function getCKList(data) { export function getCKList(data) {
return request({ return request({
@ -197,3 +205,10 @@ export function addOdsProcureOutOrderTS(data) {
data: data data: data
}); });
} }
export function addwmsFpStorageNewsTS(data) {
return request({
url: '/wms/outorder/addwmsFpStorageNewsTS',
method: 'post',
data: data
});
}

@ -16,7 +16,13 @@ export function listSelloutlistRE(query) {
params: query params: query
}); });
} }
export function listSelloutlistRETS(query) {
return request({
url: '/wms/sellout/listRETS',
method: 'get',
params: query
});
}
// 查询成品销售出库详细 // 查询成品销售出库详细
export function getSellout(id) { export function getSellout(id) {
return request({ return request({

@ -82,7 +82,7 @@
<el-table v-loading="loading" :data="bpprocureList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="bpprocureList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <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="id" align="center" prop="id" v-if="false" />
<el-table-column label="采购单号" align="center" prop="procureCode" /> <el-table-column label="采购单号" align="center" prop="procureCode" />
<el-table-column label="物料编码" align="center" prop="materialCode" /> <el-table-column label="物料编码" align="center" prop="materialCode" />
<el-table-column label="物料名称" align="center" prop="materialName" /> <el-table-column label="物料名称" align="center" prop="materialName" />
@ -340,8 +340,13 @@ export default {
}); });
}, },
handlePrint() { async handlePrint() {
// //
let factoryCode = localStorage
.getItem("parkName")
.substring(3);
console.log(localStorage)
console.log(factoryCode)
const selectedData = this.bpprocureList.filter(item => this.ids.includes(item.id)); const selectedData = this.bpprocureList.filter(item => this.ids.includes(item.id));
if (selectedData.length === 0) { if (selectedData.length === 0) {
this.$message.warning("请先选择要打印的记录"); this.$message.warning("请先选择要打印的记录");
@ -362,28 +367,25 @@ export default {
})) }))
}; };
// if (this.printData.workTable.length === 0 || !this.printData.workTable[0].procureCode) {
const barcodeCanvas = document.createElement('canvas'); this.$message.warning("没有可打印的数据或数据不完整");
console.log(" this.printData.workTable[0].procureCode: " + this.printData.workTable[0].procureCode); return;
}
JsBarcode(barcodeCanvas, this.printData.workTable[0].procureCode, { try {
format: "CODE128", // JsBarcode
height: 35, if (typeof JsBarcode !== 'function') {
width: 1.5, throw new Error("JsBarcode库没有正确加载");
displayValue: true, }
// background: "#FFFFFF", //
// lineColor: "#000000" //
});
// Data URL console.log("开始生成条形码...");
const barcodeDataUrl = barcodeCanvas.toDataURL(); const barcodeDataUrl = await this.generateBarcode(this.printData.workTable[0].procureCode);
console.log(barcodeDataUrl); // Data URL console.log("条形码生成成功:", barcodeDataUrl);
// //
let printContent = ` let printContent = `
<html> <html>
<head> <head>
<style> <style>
body { font-family: Arial, sans-serif; } body { font-family: Arial, sans-serif; }
table { width: 100%; border-collapse: collapse; } table { width: 100%; border-collapse: collapse; }
@ -392,7 +394,7 @@ export default {
</head> </head>
<body> <body>
<div style="text-align: center;"> <div style="text-align: center;">
<h3>采购单</h3> <h3>中山恒阳采购单</h3>
<div style="float: right; margin-top: -50px; width: 200px; height: 100px;"> <div style="float: right; margin-top: -50px; width: 200px; height: 100px;">
<img src="${barcodeDataUrl}" alt="条形码" /> <img src="${barcodeDataUrl}" alt="条形码" />
</div> </div>
@ -433,11 +435,39 @@ export default {
</body> </body>
</html>`; </html>`;
//
const printWindow = window.open('', '_blank'); const printWindow = window.open('', '_blank');
printWindow.document.write(printContent); printWindow.document.write(printContent);
printWindow.document.close(); printWindow.document.close();
// 使setTimeout
setTimeout(() => {
printWindow.print(); printWindow.print();
printWindow.close(); printWindow.close();
}, 1000); // 1
} catch (error) {
console.error("生成条形码时出错: ", error);
this.$message.error("生成条形码时出错,请稍后重试");
}
},
generateBarcode(procureCode) {
return new Promise((resolve, reject) => {
const barcodeCanvas = document.createElement('canvas');
try {
JsBarcode(barcodeCanvas, procureCode, {
format: "CODE128",
height: 35,
width: 1.5,
displayValue: true,
});
const barcodeDataUrl = barcodeCanvas.toDataURL();
resolve(barcodeDataUrl);
} catch (error) {
reject(error);
}
});
}, },

@ -22,25 +22,25 @@
<!-- <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"--> <!-- <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"-->
<!-- v-hasPermi="['wms:outorder:add']">新增</el-button>--> <!-- v-hasPermi="['wms:outorder:add']">新增</el-button>-->
<!-- </el-col>--> <!-- </el-col>-->
<el-col :span="1.5"> <!-- <el-col :span="1.5">-->
<el-button type="success" plain icon="el-icon-edit" size="mini" @click="handleSAP"></el-button> <!-- <el-button type="success" plain icon="el-icon-edit" size="mini" @click="handleSAP"></el-button>-->
</el-col> <!-- </el-col>-->
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['wms:outorder:add']">生成出库单</el-button> v-hasPermi="['wms:outorder:add']">生成出库单</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <!-- <el-col :span="1.5">-->
<el-button <!-- <el-button-->
type="success" <!-- type="success"-->
plain <!-- plain-->
:disabled="single" <!-- :disabled="single"-->
icon="el-icon-download" <!-- icon="el-icon-download"-->
size="mini" <!-- size="mini"-->
@click="showPrint" <!-- @click="showPrint"-->
v-hasPermi="['mes:prepare:export']" <!-- v-hasPermi="['mes:prepare:export']"-->
>打印出库单</el-button> <!-- >打印出库单</el-button>-->
</el-col> <!-- </el-col>-->
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['wms:outorder:export']">导出</el-button> v-hasPermi="['wms:outorder:export']">导出</el-button>
@ -55,7 +55,7 @@
<el-table-column label="id" align="center" prop="id" v-if="false" /> <el-table-column label="id" align="center" prop="id" v-if="false" />
<el-table-column label="出库单号" align="center" prop="produceCode" width="250"/> <el-table-column label="出库单号" align="center" prop="produceCode" width="250"/>
<el-table-column label="批次" align="center" prop="userDefined5" width="250"/> <el-table-column label="批次" align="center" prop="userDefined1" width="250"/>
<el-table-column label="物料编码" align="center" prop="materialCode" width="250"> <el-table-column label="物料编码" align="center" prop="materialCode" width="250">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ formatProductCode(scope.row.materialCode) }}</span> <span>{{ formatProductCode(scope.row.materialCode) }}</span>
@ -67,9 +67,9 @@
<el-table-column label="出库数量" align="center" prop="outNumber" /> <el-table-column label="出库数量" align="center" prop="outNumber" />
<el-table-column label="状态" align="center" prop="orderStatus"> <el-table-column label="状态" align="center" prop="orderStatus">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.orderStatus === '1'"></span> <span v-if="scope.row.orderStatus === '0'"></span>
<span v-else-if="scope.row.orderStatus === '2'">进行中</span> <span v-else-if="scope.row.orderStatus === '1'">进行中</span>
<span v-else-if="scope.row.orderStatus === '3'">完成</span> <span v-else-if="scope.row.orderStatus === '2'">完成</span>
</template> </template>
</el-table-column> </el-table-column>
@ -85,14 +85,12 @@
<el-table-column label="过账凭证" align="center" prop="userDefined9" width="250"/> <el-table-column label="过账凭证" align="center" prop="userDefined9" width="250"/>
<el-table-column label="sap订单过账信息" align="center" prop="userDefined11" /> <el-table-column label="sap订单过账信息" align="center" prop="userDefined11" />
<el-table-column label="操作人" align="center" prop="createBy" /> <el-table-column label="操作人" align="center" prop="createBy" />
<el-table-column label="操作时间" align="center" prop="createDate" width="180"> <el-table-column label="操作时间" align="center" prop="createDate" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> <span>{{ parseTime(scope.row.createDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@ -948,10 +946,11 @@ export default {
async submitForm() { async submitForm() {
const payload = this.addoutorderList.map(item => ({ const payload = this.addoutorderList.map(item => ({
qty: item.qty, // qty: item.qty, //
userDefined6: item.selectedOrderType, // userDefined6: this.selectedOrderType, //
produceCode: item.produceCode, // produceCode: item.produceCode, //
materialDesc: item.materialDesc, // materialDesc: item.materialDesc, //
materialCode: item.materialCode, // materialCode: item.materialCode, //
Unit: item.userDefined1,
// unit // unit
// unit: item.unit, // unit: item.unit,
planNumber: item.planNumber, // planNumber: item.planNumber, //

@ -2,18 +2,10 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px"> label-width="68px">
<el-form-item label="备货单" prop="stockOrder"> <el-form-item label="备货单" prop="deliveryOrder">
<el-input
v-model="queryParams.stockOrder"
placeholder="请输入成品备货单"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="装运单" prop="deliveryOrder">
<el-input <el-input
v-model="queryParams.deliveryOrder" v-model="queryParams.deliveryOrder"
placeholder="请输入交货单号" placeholder="请输入成品备货单"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
@ -60,13 +52,12 @@
<el-table v-loading="loading" :data="selloutList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="selloutList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/> <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="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="deliveryOrder" width="250"/>
<el-table-column label="交货单" align="center" prop="attr1" v-if="false" /> <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="factoryCode" v-if="false" />
<el-table-column label="出库仓" align="center" prop="whCode" /> <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" width="250"/>-->
<el-table-column label="库区编码" align="center" prop="waCode" v-if="false" /> <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="wlCode" v-if="false" />
<el-table-column label="出库地点" align="center" prop="deliveryPlace" v-if="false" /> <el-table-column label="出库地点" align="center" prop="deliveryPlace" v-if="false" />
@ -106,16 +97,13 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="送达方" align="center" prop="attr4"/> <el-table-column label="订单类型" align="center" prop="attr1"/>
<el-table-column label="送达方描述" align="center" prop="attr3"/> <el-table-column label="总账科目编号" align="center" prop="attr2"/>
<!-- <el-table-column label="货运代理" align="center" prop="attr4"/>--> <!-- <el-table-column label="货运代理" align="center" prop="attr4"/>-->
<!-- <el-table-column label="货运代理描述" align="center" prop="attr5"/>--> <!-- <el-table-column label="货运代理描述" align="center" prop="attr5"/>-->
<el-table-column label="售达方" align="center" prop="attr6"/> <el-table-column label="成本中心" align="center" prop="attr3"/>
<el-table-column label="售达方描述" align="center" prop="attr5"/>
<el-table-column label="渠道类型" align="center" prop="attr7"/>
<!-- <el-table-column label="计划日期" align="center" prop="attr8"/>--> <!-- <el-table-column label="计划日期" align="center" prop="attr8"/>-->
<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="attr10"v-if="false" />
<el-table-column label="备注" align="center" prop="remark"/> <el-table-column label="备注" align="center" prop="remark"/>
</el-table> </el-table>
@ -129,54 +117,109 @@
<!-- 添加或修改成品销售出库对话框 --> <!-- 添加或修改成品销售出库对话框 -->
<!-- 生成退货单弹窗--> <!-- 生成退货单弹窗-->
<!-- 生成出库单弹窗-->
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
<el-form :model="queryParams1" label-width="120px">
<!-- 表单内容 -->
<el-row :gutter="10" class="mb8">
<el-col :span="6">
<el-form-item label="订单类型">
<el-select v-model="selectedOrderType" placeholder="选择订单类型" @change="handleOrderTypeChange">
<el-option
v-for="type in orderTypes"
:key="type"
:label="type"
:value="type">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="仓库编码">
<el-select v-model="queryParams1.warehouseNo" placeholder="请选择仓库编码" @change="forceUpdate()" clearable
filterable style="width: 100%;">
<el-option v-for="item in Optionlistck" :key="item.warehouseCode" :label="item.warehouseName"
:value="item.warehouseCode"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="6">
<el-form-item label="总账科目编号">
<el-input v-model="queryParams1.accountingSubject" placeholder="总账科目编号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="收货方">
<el-input v-model="queryParams1.receiver" placeholder="收货方"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="生产日期">
<el-date-picker v-model="queryParams1.productionDate" placeholder="选择生产日期" type="date" style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="货架寿命到期日">
<el-date-picker v-model="queryParams1.shelfLifeExpiryDate" placeholder="货架寿命到期日" type="date" style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<!-- 条件渲染成本中心输入框 -->
<el-row v-if="selectedOrderType === '成本中心'" :gutter="10" class="mb8">
<el-col :span="6">
<el-form-item label="成本中心">
<el-input v-model="queryParams1.costCenter" placeholder="请输入成本中心"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handlequeryform"></el-button> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handlequeryform"></el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-table :data="addoutorderList" @selection-change="handleSelectionChange1"> <el-table :data="addoutorderList" @selection-change="handleSelectionChange1">
<el-table-column type="selection" width="55" align="center" :index="indexMethod" /> <el-table-column type="selection" width="55" align="center" :index="indexMethod" />
<el-table-column label="序号" type="index"> </el-table-column> <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="物料描述" align="center" prop="materialDesc" width="255"/>
<el-table-column label="装运单" prop="deliveryOrder" width="150"/> <el-table-column label="物料编码" align="center" prop="materialCode" 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"> <template slot-scope="scope">
<span>{{ formatProductCode(scope.row.productCode) }}</span> <span>{{ formatProductCode(scope.row.materialCode) }}</span>
</template>
</el-table-column>
<el-table-column label="单位" align="center" prop="userDefined1" />
<el-table-column label="计划数量" align="center" width="180">
<template slot-scope="scope">
<el-input v-model="scope.row.planNumber" @change="handleQtyChange(scope.row, $event)"></el-input>
</template> </template>
</el-table-column> </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"> <el-table-column label="操作" align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="danger" size="mini" @click="deleteOutOrder(scope.row)"></el-button> <el-button type="danger" size="mini" @click="deleteOutOrder(scope.row)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 确认和取消按钮 -->
</el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 装运单信息弹窗 -->
<el-dialog :title="'库存物料'" :visible.sync="showMaterialDialog" width="1500px"> <!-- 物料信息弹窗 -->
<el-dialog :title="'物料信息'" :visible.sync="showMaterialDialog" width="600px">
<div> <div>
<!-- 查询条件 --> <!-- 查询条件 -->
<el-form :inline="true" :model="queryParams" class="demo-form-inline"> <el-form :inline="true" :model="queryParams" class="demo-form-inline">
<el-form-item label="装运单"> <el-form-item label="物料号">
<el-input v-model="queryParams.deliveryOrder" placeholder="请输入装运单"></el-input> <el-input v-model="queryParams.materialCode" 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-form-item> <el-form-item>
<el-button type="primary" @click="fetchMaterials"></el-button> <el-button type="primary" @click="fetchMaterials"></el-button>
@ -184,24 +227,14 @@
</el-form> </el-form>
<el-table :data="materialList" @selection-change="handleMaterialSelectionChange"> <el-table :data="materialList" @selection-change="handleMaterialSelectionChange">
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column label="id" align="center" prop="id" v-if="false" /> <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="materialDesc" width="250"/>
<el-table-column label="交货单" prop="itemNumber" width="150"/> <el-table-column label="物料编码" align="center" prop="materialCode" width="150">
<el-table-column label="产品名称" prop="productName" width="150"/>
<el-table-column label="产品编码" align="center" prop="productCode" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ formatProductCode(scope.row.productCode) }}</span> <span>{{ formatProductCode(scope.row.materialCode) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="单位" prop="unitOfMeasure" /> <el-table-column label="单位" prop="userDefined1" width="100"/>
<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-table>
<el-pagination <el-pagination
@ -227,10 +260,30 @@
getSellout, getSellout,
addRE, addRE,
listSelloutlistRE, listSelloutlistRE,
listSelloutlistRETS,
delSellout, delSellout,
addSellout, addSellout,
updateSellout } from "@/api/wms/sellout"; updateSellout } from "@/api/wms/sellout";
import {
listOutorder,
getOutorder,
delOutorder,
PurchaseOrderOutboundPda,
addPurchaseOrderOutbound,
getlistCK,
listReturnBC,
OutboundPostingSAP,
OutboundPostingzcSAP,
listOutorderZC,
listProduct,
listckTS,
addOdsProcureOutOrderTS,
addwmsFpStorageNewsTS,
getIdCardListTH,
listReturnDY,
listProductFp,
listOutorderZU
} from '@/api/wms/outorderfc'
export default { export default {
name: "Sellout", name: "Sellout",
data() { data() {
@ -260,6 +313,23 @@
currentPage: 1, // currentPage: 1, //
pageSize: 10, // pageSize: 10, //
totalMaterials: 0, // totalMaterials: 0, //
queryParams1: {
pageNum: 1,
pageSize: 10,
produceCode: '',
warehouseNo: '',
planDateMax: '',
accountingSubject: '', //
receiver: '', //
productionDate: '', //
shelfLifeExpiryDate: '' ,// 寿
planDateMin: '',
materialCode:'',
costCenter: '' //
},
selectedOrderType: '', //
orderTypes: ['内部订单', '成本中心'], //
Optionlistck: [],
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
@ -311,7 +381,7 @@
/** 查询成品销售出库列表 */ /** 查询成品销售出库列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listSelloutlistRE(this.queryParams).then(response => { listSelloutlistRETS(this.queryParams).then(response => {
this.selloutList = response.rows; this.selloutList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
@ -378,21 +448,35 @@
}, },
async submitForm() { async submitForm() {
const payload = this.addoutorderList.map(item => ({ const payload = this.addoutorderList.map(item => ({
id: item.id, qty: item.qty, //
userDefined6: this.selectedOrderType, //
userDefined1: item.userDefined1,
materialDesc: item.materialDesc, //
materialCode: item.materialCode, //
// unit
// unit: item.unit,
planNumber: item.planNumber, //
locCode: this.queryParams1.warehouseNo, //
userDefined2: this.queryParams1.accountingSubject, //
userDefined4: this.queryParams1.receiver, //
planDate: this.queryParams1.productionDate, //
userDefined5: this.queryParams1.shelfLifeExpiryDate, // 寿
userDefined3: this.queryParams1.costCenter, //
})); }));
console.log("payload:", payload); // 使 console.log("payload:", payload); // 使
try { try {
await this.$confirm('确认生成备货单吗?', '确认', { await this.$confirm('确认提交出库单吗?', '确认', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'info' type: 'info'
}); });
// //
const response = await addRE(payload); const response = await addwmsFpStorageNewsTS(payload);
this.$message.success('备货单生成成功'); this.$message.success('出库单提交成功');
this.open = false; // this.open = false; //
this.addoutorderList = []; // this.addoutorderList = []; //
} catch (error) { } catch (error) {
@ -423,6 +507,16 @@
this.single = selection.length !== 1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
forceUpdate(selection) {
console.log(selection)
},
handleQtyChange(row, event) {
// row qty
row.planNumber = event;
//
// this.saveQtyToServer(row.id, event);
},
handlequeryform() { handlequeryform() {
this.showMaterialDialog = true; // this.showMaterialDialog = true; //
this.fetchMaterials(); // this.fetchMaterials(); //
@ -438,34 +532,51 @@
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "成本中心出库任务新增"; this.title = "生成出库单";
this.queryParams1 = {} this.queryParams1 = {}
this.addoutorderList = [] this.addoutorderList = []
let factoryCode = localStorage.getItem('USER_POOL_NAME_CURRENT').substring(3)
let params = { factoryCode: factoryCode }; //
let paramsJSON = JSON.stringify(params); // JSON
console.log(factoryCode)
getlistCK(paramsJSON).then(response => {
this.Optionlistck = response.data
console.log(this.Optionlistck)
});
}, },
async confirmMaterialSelection() { async confirmMaterialSelection() {
const materialsToAdd = []; // const materialsToAdd = []; //
for (const material of this.selectedMaterials) { for (const material of this.selectedMaterials) {
let queryParams = {
produceCode: material.produceCode,
materialCode: material.materialCode
};
try { try {
const response = await listReturnBC(queryParams);
console.log("Response:", response);
const batches = response.rows || []; //
materialsToAdd.push({ materialsToAdd.push({
id: material.id, produceCode: material.produceCode,
deliveryOrder: material.deliveryOrder, materialDesc: material.materialDesc,
itemNumber: material.itemNumber, userDefined1: material.userDefined1,
productName: material.productName, materialCode: material.materialCode,
productCode: material.productCode, planNumber: material.planNumber, //
unitOfMeasure: material.unitOfMeasure, outNumber: material.outNumber, //
lotNumber: material.lotNumber, bgnumber: material.bgnumber, //
planQuantity: material.planQuantity, returnQty: material.planNumber - material.outNumber, //
outDate: material.outDate, qty: 0, // 0
attr4: material.attr4,
attr3: material.attr3,
attr6: material.attr6,
attr5: material.attr5,
attr7: material.attr7
}); });
} catch (error) { } catch (error) {
console.error('Error fetching batches:', error); console.error('Error fetching batches:', error);
} }
} }
// addoutorderList // addoutorderList
this.addoutorderList = this.addoutorderList.concat(materialsToAdd); this.addoutorderList = this.addoutorderList.concat(materialsToAdd);
console.log("Materials processed"); console.log("Materials processed");
@ -490,11 +601,11 @@
if (!code) return code; // null undefined if (!code) return code; // null undefined
return code.replace(/^0{1,7}/, ''); // 170 return code.replace(/^0{1,7}/, ''); // 170
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */ /** 重置按钮操作 */
async fetchMaterials(pageNum = 1) { // pageNum async fetchMaterials(pageNum = 1) { // pageNum
this.loading = true; // this.loading = true; //
try { try {
const response = await listSellout({ const response = await listProductFp({
...this.queryParams, // queryParams ...this.queryParams, // queryParams
pageNum: pageNum, // pageNum: pageNum, //
pageSize: this.pageSize // pageSize: this.pageSize //
@ -508,8 +619,8 @@
this.totalMaterials = response.total; // this.totalMaterials = response.total; //
} catch (error) { } catch (error) {
console.error('获取装运单失败:', error); console.error('获取物料信息失败:', error);
this.$message.error('加载装运单失败,请稍后重试。'); this.$message.error('加载物料信息失败,请稍后重试。');
} finally { } finally {
this.loading = false; // this.loading = false; //
} }

Loading…
Cancel
Save