From e6b95b867105e7be676510c248638ecb41dd6f87 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期三, 15 一月 2025 13:35:57 +0800
Subject: [PATCH] 优化物料码查询
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs | 6 +
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs | 29 +++++++
代码管理/WMS/WIDESEA_WMSClient/src/views/basic/materielCodeInfo.vue | 47 +++++++++--
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/PurchaseOrderDetailController.cs | 10 ++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IPurchaseOrderDetailService.cs | 2
代码管理/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js | 45 +++++++++-
代码管理/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue | 94 ++++++++++++++++++-----
7 files changed, 197 insertions(+), 36 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js"
index 7956968..1e93c31 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/materielCodeInfo.js"
@@ -26,26 +26,47 @@
})
return option;
},
+ formatDate(dateStr) {
+ let date = new Date(dateStr);
+ let year = date.getFullYear();
+ let month = String(date.getMonth() + 1).padStart(2, "0");
+ let day = String(date.getDate()).padStart(2, "0");
+ return year + "-" + month + "-" + day;
+ },
//涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
onInit() { //妗嗘灦鍒濆鍖栭厤缃墠锛�
+ let warehouseIdOption = this.getOption("warehouseId");
let materielCodeOption = this.getOption("materielCode");
let purchaseOrderNoOption = this.getOption("purchaseOrderNo");
- purchaseOrderNoOption.onChange = (val, option) => {
+ warehouseIdOption.onChange=(val,option)=>{
this.editFormFields.materielCode = "";
materielCodeOption.data = [];
+ this.editFormFields.purchaseOrderNo = "";
+ purchaseOrderNoOption.data = [];
if (val == null || val == 0) {
- return this.$error("璇烽�夋嫨鐗╂枡缂栧彿锛�")
+ return this.$error("璇烽�夋嫨浠撳簱锛�")
}
- // console.log(val)
- // console.log(option)
- this.http.post("/api/PurchaseOrder/GetPurchaseOrderInfo?purchaseOrderNo=" + val, {}, true).then(
+ this.http.post("/api/PurchaseOrderDetail/GetPurchaseOrderDetailMaterielCode?warehouseId=" + val, {}, true).then(
source => {
if (!source.status) return this.$error(source.message);
for (let i = 0; i < source.data.length; i++) {
materielCodeOption.data.push({ key: source.data[i], value: source.data[i] })
}
- // this.editFormFields.InputOder_itemname = source.data.itemName;
- // this.$success(source.data.itemName);
+ this.refresh();
+ })
+ }
+ materielCodeOption.onChange = (val, option) => {
+ this.editFormFields.purchaseOrderNo = "";
+ purchaseOrderNoOption.data = [];
+ if (val == null || val == 0) {
+ return this.$error("璇烽�夋嫨鐗╂枡缂栧彿锛�")
+ }
+ this.http.post("/api/PurchaseOrderDetail/GetPurchaseOrderNos?materielCode=" + val, {}, true).then(
+ source => {
+ if (!source.status) return this.$error(source.message);
+ for (let i = 0; i < source.data.length; i++) {
+ purchaseOrderNoOption.data.push({ key: source.data[i], value: source.data[i] })
+ }
this.refresh();
})
}
@@ -99,6 +120,16 @@
//(3)this.editFormFields.瀛楁='xxx';
//濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
//鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+ let isAdd = this.currentAction == 'Add';
+ if (isAdd) {
+ let date = new Date();
+ let year = date.getFullYear();
+ let month = String(date.getMonth() + 1).padStart(2, "0");
+ let day = String(date.getDate()).padStart(2, "0");
+ this.editFormFields.lotNo = year + month + day;
+ this.editFormFields.productionDate = year + "-" + month + "-" + day;
+ this.editFormFields.effectiveDate = year + 2 + "-" + month + "-" + day;
+ }
}
}
};
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue"
index 52349e9..6091790 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue"
@@ -1,6 +1,12 @@
<template>
<div>
- <vol-box v-model="showDetialBox" :lazy="true" width="75%" :padding="15" title="鍗曟嵁鏄庣粏淇℃伅">
+ <vol-box
+ v-model="showDetialBox"
+ :lazy="true"
+ width="75%"
+ :padding="15"
+ title="鍗曟嵁鏄庣粏淇℃伅"
+ >
<div class="box-head">
<el-alert :closable="false" style="width: 100%">
<el-row>
@@ -8,27 +14,71 @@
<span>宸查�変腑 {{ selection.length }} 椤�</span>
</el-col>
<el-col :span="8">
- <el-link type="primary" size="small" style="float: right; height: 20px" @click="lockstocks">閿佸畾搴撳瓨</el-link>
- <el-link type="primary" size="small" style="float: right; height: 20px; margin-right: 10px"
- @click="outbound">鐩存帴鍑哄簱</el-link>
- <el-link type="primary" size="small" style="float: right; height: 20px; margin-right: 10px"
- @click="getData">鍒锋柊</el-link></el-col>
+ <el-link
+ type="primary"
+ size="small"
+ style="float: right; height: 20px"
+ @click="lockstocks"
+ >閿佸畾搴撳瓨</el-link
+ >
+ <el-link
+ type="primary"
+ size="small"
+ style="float: right; height: 20px; margin-right: 10px"
+ @click="outbound"
+ >鐩存帴鍑哄簱</el-link
+ >
+ <el-link
+ type="primary"
+ size="small"
+ style="float: right; height: 20px; margin-right: 10px"
+ @click="getData"
+ >鍒锋柊</el-link
+ ></el-col
+ >
</el-row>
</el-alert>
</div>
<div class="box-table" style="margin-top: 1%">
- <el-table ref="singleTable" :data="tableData" style="width: 100%; height: 100%" highlight-current-row
- @current-change="handleCurrentChange" height="500px" @row-click="handleRowClick"
- @selection-change="handleSelectionChange">
+ <el-table
+ ref="singleTable"
+ :data="tableData"
+ style="width: 100%; height: 100%"
+ highlight-current-row
+ @current-change="handleCurrentChange"
+ height="500px"
+ @row-click="handleRowClick"
+ @selection-change="handleSelectionChange"
+ >
<el-table-column type="selection" width="55"> </el-table-column>
- <el-table-column label="搴忓彿" type="index" fixed="left" width="55" align="center"></el-table-column>
- <el-table-column v-for="(item, index) in tableColumns.filter((x) => !x.hidden)" :key="index" :prop="item.prop"
- :label="item.title" :width="item.width" align="center">
+ <el-table-column
+ label="搴忓彿"
+ type="index"
+ fixed="left"
+ width="55"
+ align="center"
+ ></el-table-column>
+ <el-table-column
+ v-for="(item, index) in tableColumns.filter((x) => !x.hidden)"
+ :key="index"
+ :prop="item.prop"
+ :label="item.title"
+ :width="item.width"
+ align="center"
+ >
<template #default="scoped">
<div v-if="item.type == 'icon'">
- <el-tooltip class="item" effect="dark" :content="item.title" placement="bottom"><el-link type="primary"
- :disabled="getButtonEnable(item.prop, scoped.row)" @click="tableButtonClick(scoped.row, item)"><i
- :class="item.icon" style="font-size: 22px"></i></el-link></el-tooltip>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ :content="item.title"
+ placement="bottom"
+ ><el-link
+ type="primary"
+ :disabled="getButtonEnable(item.prop, scoped.row)"
+ @click="tableButtonClick(scoped.row, item)"
+ ><i :class="item.icon" style="font-size: 22px"></i></el-link
+ ></el-tooltip>
</div>
<div v-else-if="item.type == 'tag'">
@@ -42,7 +92,10 @@
</div>
</vol-box>
<stock-select ref="child" @parentCall="parentCall"></stock-select>
- <selected-stock ref="selectedStock" @parentCall="parentCall"></selected-stock>
+ <selected-stock
+ ref="selectedStock"
+ @parentCall="parentCall"
+ ></selected-stock>
</div>
</template>
<script>
@@ -122,7 +175,7 @@
title: "璁㈠崟鏄庣粏鐘舵��",
type: "tag",
width: 180,
- bindKey: "orderDetailStatusEnum"
+ bindKey: "orderDetailStatusEnum",
},
{
prop: "assignStock",
@@ -285,7 +338,8 @@
if (
row.orderDetailStatus !== 0 &&
row.orderDetailStatus !== 60 &&
- row.orderDetailStatus !== 70
+ row.orderDetailStatus !== 70 &&
+ row.orderDetailStatus !== 80
) {
return true;
} else {
@@ -358,12 +412,12 @@
background: oldlace;
}
-.box-table .el-table tbody tr:hover>td {
+.box-table .el-table tbody tr:hover > td {
background-color: #d8e0d4 !important;
/* color: #ffffff; */
}
-.box-table .el-table tbody tr.current-row>td {
+.box-table .el-table tbody tr.current-row > td {
background-color: #f0f9eb !important;
/* color: #ffffff; */
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/materielCodeInfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/materielCodeInfo.vue"
index ed96261..ccadec6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/materielCodeInfo.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/basic/materielCodeInfo.vue"
@@ -27,25 +27,42 @@
sortName: "id",
});
const editFormFields = ref({
- purchaseOrderNo:"",
- materielCode:"",
+ lotNo: "",
+ warehouseId: "",
+ purchaseOrderNo: "",
+ materielCode: "",
+ productionDate: "",
+ effectiveDate: "",
});
const editFormOptions = ref([
[
{
- title: "閲囪喘鍗曞彿",
- field: "purchaseOrderNo",
- type:"select",
- dataKey: "purchaseOrderNos",
+ title: "浠撳簱",
+ field: "warehouseId",
+ type: "select",
+ dataKey: "areainfo",
data: [],
required: true,
},
+ ],
+ [
{
title: "鐗╂枡缂栫爜",
field: "materielCode",
type: "select",
- dataKey: "MaterielCodes",
+ required: true,
+ // dataKey: "MaterielCodes",
data: [],
+ },
+ ],
+ [
+ {
+ title: "閲囪喘鍗曞彿",
+ field: "purchaseOrderNo",
+ type: "select",
+ // dataKey: "purchaseOrderNos",
+ data: [],
+ required: true,
},
],
[
@@ -54,6 +71,8 @@
field: "lotNo",
required: true,
},
+ ],
+ [
{
title: "鏁伴噺",
field: "quantity",
@@ -64,13 +83,15 @@
{
title: "鐢熶骇鏃ユ湡",
field: "productionDate",
- type: "date",
+ // type: "date",
required: true,
},
+ ],
+ [
{
title: "鏈夋晥鏈�",
field: "effectiveDate",
- type: "date",
+ // type: "date",
required: true,
},
],
@@ -100,6 +121,14 @@
align: "left",
},
{
+ field: "warehouseId",
+ title: "浠撳簱",
+ type: "string",
+ width: 90,
+ align: "left",
+ bind: { key: "areainfo", data: [] },
+ },
+ {
field: "purchaseOrderNo",
title: "閲囪喘鍗曞彿",
type: "string",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IPurchaseOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IPurchaseOrderDetailService.cs"
index 2abe5f2..d56094b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IPurchaseOrderDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IPurchaseOrderDetailService.cs"
@@ -12,5 +12,7 @@
{
public interface IPurchaseOrderDetailService : IService<Dt_PurchaseOrderDetail>
{
+ WebResponseContent GetPurchaseOrderDetailMaterielCode(int warehouseId);
+ WebResponseContent GetPurchaseOrderNos(string materielCode);
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs"
index a314b9b..18fc975 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderDetailService.cs"
@@ -3,6 +3,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common.OrderEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Enums;
@@ -20,5 +21,33 @@
public PurchaseOrderDetailService(IPurchaseOrderDetailRepository BaseDal) : base(BaseDal)
{
}
+ public WebResponseContent GetPurchaseOrderDetailMaterielCode(int warehouseId)
+ {
+ try
+ {
+ List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.QueryData(x => x.WarehouseId == warehouseId && x.PurchaseDetailStatus != PurchaseOrderDetailStatusEnum.Received.ObjToInt());
+ List<string> MaterielCodes = purchaseOrderDetails.Select(x => x.MaterielCode).ToList();
+ return WebResponseContent.Instance.OK(data: MaterielCodes);
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+ public WebResponseContent GetPurchaseOrderNos(string materielCode)
+ {
+ try
+ {
+ List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.QueryData(x => x.MaterielCode == materielCode && x.PurchaseDetailStatus != PurchaseOrderDetailStatusEnum.Received.ObjToInt());
+ List<int> PurchaseOrderIds = purchaseOrderDetails.Select(x => x.PurchaseOrderId).ToList();
+ List<Dt_PurchaseOrder> purchaseOrders = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => PurchaseOrderIds.Contains(x.Id)).ToList();
+ List<string> PurchaseOrderNos = purchaseOrders.Select(x => x.PurchaseOrderNo).ToList();
+ return WebResponseContent.Instance.OK(data: PurchaseOrderNos);
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs"
index 02df027..37610d3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs"
@@ -28,6 +28,12 @@
public string MaterielCode { get; set; }
/// <summary>
+ /// 浠撳簱涓婚敭
+ /// </summary>
+ [SugarColumn(IsNullable = false, ColumnDescription = "浠撳簱缂栧彿")]
+ public int WarehouseId { get; set; }
+
+ /// <summary>
/// 鎵规鍙�
/// </summary>
[SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "鎵规鍙�")]
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/PurchaseOrderDetailController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/PurchaseOrderDetailController.cs"
index ee5c974..2a4cb19 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/PurchaseOrderDetailController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/PurchaseOrderDetailController.cs"
@@ -18,5 +18,15 @@
public PurchaseOrderDetailController(IPurchaseOrderDetailService service) : base(service)
{
}
+ [HttpPost, HttpGet, Route("GetPurchaseOrderDetailMaterielCode"), AllowAnonymous]
+ public WebResponseContent GetPurchaseOrderDetailMaterielCode(int warehouseId)
+ {
+ return Service.GetPurchaseOrderDetailMaterielCode(warehouseId);
+ }
+ [HttpPost, HttpGet, Route("GetPurchaseOrderNos"), AllowAnonymous]
+ public WebResponseContent GetPurchaseOrderNos(string materielCode)
+ {
+ return Service.GetPurchaseOrderNos(materielCode);
+ }
}
}
--
Gitblit v1.9.3