添加批次

This commit is contained in:
hehaibing-1996
2025-03-04 17:35:13 +08:00
parent a9b1512f44
commit 653cf80f0c
28 changed files with 178 additions and 20 deletions

View File

@ -11,6 +11,10 @@
<text>名称:</text>
<text>{{item.matName}}</text>
</view>
<view class="content-item">
<text>批次:</text>
<text>{{item.matBatch}}</text>
</view>
<view class="content-item">
<text>规格:</text>
<text>{{item.matSpec}}</text>

View File

@ -11,6 +11,10 @@
<text>名称:</text>
<text>{{item.matName}}</text>
</view>
<view class="content-item">
<text>批次:</text>
<text>{{item.matBatch}}</text>
</view>
<view class="content-item">
<text>规格:</text>
<text>{{item.matSpec}}</text>

View File

@ -92,6 +92,8 @@
<view style="flex: 90;overflow:hidden;">{{matName}}</view>
</view>
<view class="diy-flex-inforow" style="flex: 1;">
@ -102,6 +104,20 @@
<view style="flex: 90;overflow:hidden;">{{matSpec}}</view>
</view>
<view class="diy-flex-inforow" style="flex: 1;">
<view style="flex: 5;"></view>
<view style="flex: 35;">物料批次</view>
<view class="uni-input-wrapper" style="flex: 80;">
<input class="uni-input" style="font-size: 40rpx; " placeholder="请输入批次" v-model="matBatch"></input>
</view>
<view style="flex: 10;"></view>
</view>
<view class="diy-flex-inforow" style="flex: 1;">
@ -183,8 +199,9 @@
shelfCode: '',
matCode: '',
matName: '',
matBatch:'',
matSpec: '',
matQty: 100, //默认数量值
matQty: 0, //默认数量值
// 货架区域选项
shelfAreaOptions: [{
@ -355,6 +372,7 @@
"shelfCode": this.shelfCode,
"matBaseInfoId": this.matBaseInfoId,
"matCode": this.matCode,
"matBatch": this.matBatch,
"qty": this.matQty,
"userName": this.userName,
"deviceType": "PDA"
@ -644,6 +662,7 @@
this.matCode = '';
this.matName = '';
this.matSpec = '';
this.matQty = 0;
},
handlePopupClose() {
// 弹出层关闭后的处理逻辑

View File

@ -792,8 +792,9 @@ if (uni.restoreGlobal) {
shelfCode: "",
matCode: "",
matName: "",
matBatch: "",
matSpec: "",
matQty: 100,
matQty: 0,
//默认数量值
// 货架区域选项
shelfAreaOptions: [{
@ -817,10 +818,10 @@ if (uni.restoreGlobal) {
this.userName = getConfig("userName", "admin");
const self = this;
recive(function(res) {
formatAppLog("log", "at pages/bind/bind.vue:211", "Success:" + res.data);
formatAppLog("log", "at pages/bind/bind.vue:228", "Success:" + res.data);
self.analysisScanCode(res.data);
}, function(err) {
formatAppLog("log", "at pages/bind/bind.vue:214", "Error:", JSON.stringify(err));
formatAppLog("log", "at pages/bind/bind.vue:231", "Error:", JSON.stringify(err));
});
},
methods: {
@ -828,11 +829,11 @@ if (uni.restoreGlobal) {
cameraScanCode() {
uni.scanCode({
success: (res) => {
formatAppLog("log", "at pages/bind/bind.vue:222", "扫码结果:", res.result);
formatAppLog("log", "at pages/bind/bind.vue:239", "扫码结果:", res.result);
this.analysisScanCode(res.result);
},
fail: (err) => {
formatAppLog("error", "at pages/bind/bind.vue:226", "扫码失败:", err);
formatAppLog("error", "at pages/bind/bind.vue:243", "扫码失败:", err);
}
});
},
@ -924,12 +925,12 @@ if (uni.restoreGlobal) {
}
},
complete: (event) => {
formatAppLog("log", "at pages/bind/bind.vue:330", "请求完成", event);
formatAppLog("log", "at pages/bind/bind.vue:347", "请求完成", event);
}
});
},
bindSelectedMat: function(item) {
formatAppLog("log", "at pages/bind/bind.vue:336", "用户选择了项目:", item);
formatAppLog("log", "at pages/bind/bind.vue:353", "用户选择了项目:", item);
this.matCode = item.matCode;
this.matName = item.matName;
this.matSpec = item.matSpec;
@ -952,6 +953,7 @@ if (uni.restoreGlobal) {
"shelfCode": this.shelfCode,
"matBaseInfoId": this.matBaseInfoId,
"matCode": this.matCode,
"matBatch": this.matBatch,
"qty": this.matQty,
"userName": this.userName,
"deviceType": "PDA"
@ -993,7 +995,7 @@ if (uni.restoreGlobal) {
});
},
complete: (event) => {
formatAppLog("log", "at pages/bind/bind.vue:404", "请求完成", event);
formatAppLog("log", "at pages/bind/bind.vue:422", "请求完成", event);
}
});
},
@ -1098,7 +1100,7 @@ if (uni.restoreGlobal) {
});
},
complete: (event) => {
formatAppLog("log", "at pages/bind/bind.vue:518", "请求完成", event);
formatAppLog("log", "at pages/bind/bind.vue:536", "请求完成", event);
}
});
},
@ -1189,7 +1191,7 @@ if (uni.restoreGlobal) {
});
},
complete: (event) => {
formatAppLog("log", "at pages/bind/bind.vue:620", "请求完成", event);
formatAppLog("log", "at pages/bind/bind.vue:638", "请求完成", event);
}
});
},
@ -1213,9 +1215,10 @@ if (uni.restoreGlobal) {
this.matCode = "";
this.matName = "";
this.matSpec = "";
this.matQty = 0;
},
handlePopupClose() {
formatAppLog("log", "at pages/bind/bind.vue:650", "弹出层已关闭");
formatAppLog("log", "at pages/bind/bind.vue:669", "弹出层已关闭");
}
}
};
@ -1384,6 +1387,33 @@ if (uni.restoreGlobal) {
/* TEXT */
)
]),
vue.createElementVNode("view", {
class: "diy-flex-inforow",
style: { "flex": "1" }
}, [
vue.createElementVNode("view", { style: { "flex": "5" } }),
vue.createElementVNode("view", { style: { "flex": "35" } }, "物料批次:"),
vue.createElementVNode("view", {
class: "uni-input-wrapper",
style: { "flex": "80" }
}, [
vue.withDirectives(vue.createElementVNode(
"input",
{
class: "uni-input",
style: { "font-size": "40rpx" },
placeholder: "请输入批次",
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => $data.matBatch = $event)
},
null,
512
/* NEED_PATCH */
), [
[vue.vModelText, $data.matBatch]
])
]),
vue.createElementVNode("view", { style: { "flex": "10" } })
]),
vue.createElementVNode("view", {
class: "diy-flex-inforow",
style: { "flex": "1" }
@ -1401,7 +1431,7 @@ if (uni.restoreGlobal) {
type: "number",
style: { "font-size": "40rpx" },
placeholder: "请输入物料数量",
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => $data.matQty = $event)
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => $data.matQty = $event)
},
null,
512
@ -1412,7 +1442,7 @@ if (uni.restoreGlobal) {
]),
vue.createElementVNode("view", { style: { "flex": "40" } }, [
vue.createElementVNode("button", {
onClick: _cache[6] || (_cache[6] = (...args) => $options.bind && $options.bind(...args)),
onClick: _cache[7] || (_cache[7] = (...args) => $options.bind && $options.bind(...args)),
class: "mini-btn",
style: { "margin-left": "10rpx" },
type: "warn",
@ -1429,7 +1459,7 @@ if (uni.restoreGlobal) {
range: $data.shelfAreaOptions,
"range-key": "locationAreaName",
value: $data.selectedShelfAreaIndex,
onChange: _cache[7] || (_cache[7] = (...args) => $options.onShelfAreaChange && $options.onShelfAreaChange(...args)),
onChange: _cache[8] || (_cache[8] = (...args) => $options.onShelfAreaChange && $options.onShelfAreaChange(...args)),
style: { "font-size": "35rpx" }
}, [
vue.createElementVNode(
@ -1444,7 +1474,7 @@ if (uni.restoreGlobal) {
vue.createElementVNode("button", {
style: { "font-size": "40rpx", "margin": "15rpx", "background-color": "green" },
size: "mini",
onClick: _cache[8] || (_cache[8] = (...args) => $options.sendShelfBack && $options.sendShelfBack(...args))
onClick: _cache[9] || (_cache[9] = (...args) => $options.sendShelfBack && $options.sendShelfBack(...args))
}, "送货架")
])
])
@ -2266,6 +2296,16 @@ if (uni.restoreGlobal) {
/* TEXT */
)
]),
vue.createElementVNode("view", { class: "content-item" }, [
vue.createElementVNode("text", null, "批次:"),
vue.createElementVNode(
"text",
null,
vue.toDisplayString($props.item.matBatch),
1
/* TEXT */
)
]),
vue.createElementVNode("view", { class: "content-item" }, [
vue.createElementVNode("text", null, "规格:"),
vue.createElementVNode(
@ -3392,6 +3432,16 @@ if (uni.restoreGlobal) {
/* TEXT */
)
]),
vue.createElementVNode("view", { class: "content-item" }, [
vue.createElementVNode("text", null, "批次:"),
vue.createElementVNode(
"text",
null,
vue.toDisplayString($props.item.matBatch),
1
/* TEXT */
)
]),
vue.createElementVNode("view", { class: "content-item" }, [
vue.createElementVNode("text", null, "规格:"),
vue.createElementVNode(

View File

@ -58,6 +58,12 @@ namespace WCS.BLL.DbModels
[SugarColumn(ColumnName = "mat_name", Length = 128, IsNullable = true, ColumnDescription = "物料名称")]
public string MatName { get; set; }
/// <summary>
/// 物料批次
/// </summary>
[SugarColumn(ColumnName = "mat_batch", Length = 64, IsNullable = true, ColumnDescription = "物料批次")]
public string? MatBatch { get; set; }
/// <summary>
/// 物料规格
/// </summary>

View File

@ -54,6 +54,12 @@ namespace WCS.BLL.DbModels
[SugarColumn(ColumnName = "mat_name", Length = 150, IsNullable = true, ColumnDescription = "物料名称")]
public string MatName { get; set; }
/// <summary>
/// 物料批次
/// </summary>
[SugarColumn(ColumnName = "mat_batch", Length = 64, IsNullable = true, ColumnDescription = "物料批次")]
public string? MatBatch { get; set; }
/// <summary>
/// 物料规格
/// </summary>

View File

@ -60,6 +60,12 @@ namespace WCS.BLL.DbModels
[SugarColumn(ColumnName = "mat_name", Length = 150, IsNullable = true, ColumnDescription = "物料名称")]
public string MatName { get; set; }
/// <summary>
/// 物料批次
/// </summary>
[SugarColumn(ColumnName = "mat_batch", Length = 64, IsNullable = true, ColumnDescription = "物料批次")]
public string? MatBatch { get; set; }
/// <summary>
/// 物料规格
/// </summary>

View File

@ -58,6 +58,7 @@ namespace WCS.BLL.Services.Service
MatCode = mci.MatCode,
MatName = mci.MatName,
MatBatch = mci.MatBatch,
MatSpec = mci.MatSpec,
MatUnit = mci.MatUnit,
MatCustomer = mci.MatCustomer,
@ -133,6 +134,7 @@ namespace WCS.BLL.Services.Service
MatCode = matDetailCurrentInfo.MatCode,
MatName = matDetailCurrentInfo.MatName,
MatBatch = matDetailCurrentInfo.MatBatch,
MatSpec = matDetailCurrentInfo.MatSpec,
MatCustomer = matDetailCurrentInfo?.MatCustomer,
MatSupplier = matDetailCurrentInfo?.MatSupplier,
@ -206,6 +208,7 @@ namespace WCS.BLL.Services.Service
MatCode = matDetailCurrentInfo.MatCode,
MatName = matDetailCurrentInfo.MatName,
MatBatch = matDetailCurrentInfo.MatBatch,
MatSpec = matDetailCurrentInfo.MatSpec,
MatCustomer = matDetailCurrentInfo?.MatCustomer,
MatSupplier = matDetailCurrentInfo?.MatSupplier,
@ -422,6 +425,7 @@ namespace WCS.BLL.Services.Service
MatCode = matBaseInfo.MatCode,
MatName = matBaseInfo.MatName,
MatBatch = info.,
MatSpec = matBaseInfo.MatSpec,
MatUnit = matBaseInfo.MatUnit,
MatSupplier = matBaseInfo.MatSupplier,
@ -446,6 +450,7 @@ namespace WCS.BLL.Services.Service
MatCode = matDetailCurrentInfo.MatCode,
MatName = matDetailCurrentInfo.MatName,
MatBatch = matDetailCurrentInfo.MatBatch,
MatSpec = matDetailCurrentInfo.MatSpec,
MatCustomer = matDetailCurrentInfo?.MatCustomer,
MatSupplier = matDetailCurrentInfo?.MatSupplier,

View File

@ -54,6 +54,7 @@ namespace WCS.BLL.Services.Service
MatCode = mci.MatCode,
MatName = mci.MatName,
MatBatch = mci.MatBatch,
MatSpec = mci.MatSpec,
MatUnit = mci.MatUnit,
MatCustomer = mci.MatCustomer,
@ -125,6 +126,8 @@ namespace WCS.BLL.Services.Service
MatCode = mci.MatCode,
MatName = mci.MatName,
MatBatch = mci.MatBatch,
MatSpec = mci.MatSpec,
MatUnit = mci.MatUnit,
MatCustomer = mci.MatCustomer,
@ -196,6 +199,8 @@ namespace WCS.BLL.Services.Service
MatCode = matDetailCurrentInfo.MatCode,
MatName = matDetailCurrentInfo.MatName,
MatBatch = matDetailCurrentInfo.MatBatch,
MatSpec = matDetailCurrentInfo.MatSpec,
MatCustomer = matDetailCurrentInfo?.MatCustomer,
MatSupplier = matDetailCurrentInfo?.MatSupplier,
@ -271,6 +276,7 @@ namespace WCS.BLL.Services.Service
MatCode = matDetailCurrentInfo.MatCode,
MatName = matDetailCurrentInfo.MatName,
MatBatch = matDetailCurrentInfo.MatBatch,
MatSpec = matDetailCurrentInfo.MatSpec,
MatCustomer = matDetailCurrentInfo?.MatCustomer,
MatSupplier = matDetailCurrentInfo?.MatSupplier,

View File

@ -1084,6 +1084,8 @@ namespace WCS.BLL.Services.Service
ShelfArea = "",
MatCode = matDetailCurrentInfo.MatCode,
MatName = matDetailCurrentInfo.MatName,
MatBatch = matDetailCurrentInfo.MatBatch,
MatSpec = matDetailCurrentInfo.MatSpec,
MatQty = matDetailCurrentInfo.MatQty,
StocktakingQty = request.StocktakingQty,
@ -1126,6 +1128,7 @@ namespace WCS.BLL.Services.Service
MatCode = mci.MatCode,
MatName = mci.MatName,
MatBatch = mci.MatBatch,
MatSpec = mci.MatSpec,
MatQty = mci.MatQty,
StocktakingQty = mci.StocktakingQty,
@ -1195,6 +1198,8 @@ namespace WCS.BLL.Services.Service
MatCode = mci.MatCode,
MatName = mci.MatName,
MatBatch = mci.MatBatch,
MatSpec = mci.MatSpec,
MatQty = mci.MatQty,
StocktakingQty = mci.StocktakingQty,
@ -1288,6 +1293,7 @@ namespace WCS.BLL.Services.Service
MatCode = mci.MatCode,
MatName = mci.MatName,
MatBatch = mci.MatBatch,
MatSpec = mci.MatSpec,
MatUnit = mci.MatUnit,
MatCustomer = mci.MatCustomer,
@ -1481,6 +1487,7 @@ namespace WCS.BLL.Services.Service
MatCode = matCurrentInfo.MatCode,
MatName = matCurrentInfo.MatName,
MatBatch = matCurrentInfo.MatBatch,
MatSpec = matCurrentInfo.MatSpec,
MatCustomer = matCurrentInfo?.MatCustomer,
MatSupplier = matCurrentInfo?.MatSupplier,
@ -1512,6 +1519,8 @@ namespace WCS.BLL.Services.Service
MatCode = matCurrentInfo.MatCode,
MatName = matCurrentInfo.MatName,
MatBatch = matCurrentInfo.MatBatch,
MatSpec = matCurrentInfo.MatSpec,
MatCustomer = matCurrentInfo?.MatCustomer,
MatSupplier = matCurrentInfo?.MatSupplier,

View File

@ -10,6 +10,8 @@ namespace WCS.Model.ApiModel.BatchBindMatDetail
public string { get; set; }
public string { get; set; }
public string { get; set; }
public string { get; set; }
public string { get; set; }
public int? { get; set; }
public string { get; set; }

View File

@ -26,6 +26,8 @@ namespace WCS.Model.ApiModel.MatDetailCurrentInfo
public string? MatName { get; set; } = string.Empty;
public string? MatBatch { get; set; } = string.Empty;
public string? MatSpec { get; set; } = string.Empty;
public string? MatUnit { get; set; } = string.Empty;

View File

@ -22,6 +22,8 @@ namespace WCS.Model.ApiModel.MatDetailHistoryInfo
public string MatName { get; set; }
public string MatBatch { get; set; }
public string MatSpec { get; set; }
public int BeforeQty { get; set; }

View File

@ -36,6 +36,11 @@ namespace WCS.Model.ApiModel.PDAMatBind
/// </summary>
public string MatCode { get; set;}
/// <summary>
/// 物料批次
/// </summary>
public string MatBatch{ get; set; }
/// <summary>
/// 物料数量
/// </summary>

View File

@ -50,6 +50,8 @@ namespace WCS.Model.ApiModel.Stocktaking
/// </summary>
public string MatName { get; set; }
public string MatBatch { get; set; }
/// <summary>
/// 物料规格
/// </summary>

View File

@ -47,6 +47,7 @@ namespace WCS.WebApi.Controllers
new ExportableColumn("位置编号","LocationCode"),
new ExportableColumn("物料编码","MatCode"),
new ExportableColumn("物料名称","MatName"),
new ExportableColumn("物料批次","MatBatch"),
new ExportableColumn("物料规格","MatSpec"),
new ExportableColumn("数量", "MatQty"),
new ExportableColumn("更新人", "ModifyUser"),

View File

@ -370,6 +370,7 @@ namespace WCS.WebApi.Controllers
MatCode = matBaseInfo.MatCode,
MatName = matBaseInfo.MatName,
MatBatch = request.MatBatch,
MatSupplier = matBaseInfo.MatSupplier,
MatCustomer = matBaseInfo.MatCustomer,
MatSpec = matBaseInfo.MatSpec,
@ -387,6 +388,7 @@ namespace WCS.WebApi.Controllers
MatCode = matDetailCurrentInfo.MatCode,
MatName = matDetailCurrentInfo.MatName,
MatBatch = matDetailCurrentInfo.MatBatch,
MatSpec = matDetailCurrentInfo.MatSpec,
MatCustomer = matDetailCurrentInfo?.MatCustomer,
MatSupplier = matDetailCurrentInfo?.MatSupplier,

View File

@ -182,6 +182,7 @@ namespace WCS.WebApi.Controllers
MatCode = mci.MatCode,
MatName = mci.MatName,
MatBatch = mci.MatBatch,
MatSpec = mci.MatSpec,
MatUnit = mci.MatUnit,
MatCustomer = mci.MatCustomer,

View File

@ -171,6 +171,7 @@ namespace WCS.WebApi.Controllers
MatCode = matDetailCurrentInfo.MatCode,
MatName = matDetailCurrentInfo.MatName,
MatBatch = matDetailCurrentInfo.MatBatch,
MatSpec = matDetailCurrentInfo.MatSpec,
MatCustomer = matDetailCurrentInfo?.MatCustomer,
MatSupplier = matDetailCurrentInfo?.MatSupplier,
@ -329,6 +330,7 @@ namespace WCS.WebApi.Controllers
MatCode = matDetailCurrentInfo.MatCode,
MatName = matDetailCurrentInfo.MatName,
MatBatch = matDetailCurrentInfo.MatBatch,
MatSpec = matDetailCurrentInfo.MatSpec,
MatCustomer = matDetailCurrentInfo?.MatCustomer,
MatSupplier = matDetailCurrentInfo?.MatSupplier,

View File

@ -95,6 +95,7 @@ namespace WCS.WebApi.Controllers
new ExportableColumn("序号","RowNumber"),
new ExportableColumn("物料编码","MatCode"),
new ExportableColumn("物料名称","MatName"),
new ExportableColumn("物料批次","MatBatch"),
new ExportableColumn("物料规格","MatSpec"),
new ExportableColumn("货架编号","ShelfCode"),
new ExportableColumn("货架区域","ShelfArea"),

View File

@ -95,10 +95,10 @@ namespace 智慧物流软件系统.ViewModel
{
ScannerManager.InitScanners();
}),
new Tuple<string, string, Action>("初始化WebSocket连接..", "初始化WebSocket连接失败请联系管理员", () =>
{
WebSocket.InitWebSocket();
}),
//new Tuple<string, string, Action>("初始化WebSocket连接..", "初始化WebSocket连接失败请联系管理员", () =>
//{
// WebSocket.InitWebSocket();
//}),
};
MainLoadWindow.TaskSleepTime = 200;

View File

@ -192,6 +192,7 @@
<DataGridTextColumn Header="物料编码" Binding="{Binding MatCode}"></DataGridTextColumn>
<DataGridTextColumn Header="物料名称" Binding="{Binding MatName}"></DataGridTextColumn>
<DataGridTextColumn Header="物料批次" Binding="{Binding MatBatch}"></DataGridTextColumn>
<DataGridTextColumn Header="物料规格"
Binding="{Binding MatSpec}"
MaxWidth="150"></DataGridTextColumn>

View File

@ -180,6 +180,7 @@
<DataGridTextColumn Header="物料编码" Binding="{Binding MatCode}"></DataGridTextColumn>
<DataGridTextColumn Header="物料名称" Binding="{Binding MatName}"></DataGridTextColumn>
<DataGridTextColumn Header="物料批次" Binding="{Binding MatBatch}"></DataGridTextColumn>
<DataGridTextColumn Header="物料规格" Binding="{Binding MatSpec}"></DataGridTextColumn>
<DataGridTextColumn Header="数量" Binding="{Binding MatQty}"></DataGridTextColumn>
<DataGridTextColumn IsReadOnly="True" Header="更新人" Binding="{Binding ModifyUser}"></DataGridTextColumn>

View File

@ -161,6 +161,7 @@
<DataGridTextColumn Header="物料编码" Binding="{Binding MatCode}"></DataGridTextColumn>
<DataGridTextColumn Header="物料名称" Binding="{Binding MatName}"></DataGridTextColumn>
<DataGridTextColumn Header="物料批次" Binding="{Binding MatBatch}"></DataGridTextColumn>
<DataGridTextColumn Header="物料规格" Binding="{Binding MatSpec}"></DataGridTextColumn>
<DataGridTextColumn Header="更新前数量" Binding="{Binding BeforeQty}"></DataGridTextColumn>

View File

@ -73,6 +73,22 @@
HorizontalAlignment="Stretch"
Style="{StaticResource TextBoxExtend}"></TextBox>
</StackPanel>
<StackPanel Orientation="Horizontal"
Margin="5">
<TextBlock Text="物料批次:"
FontSize="15"
VerticalAlignment="Center"
HorizontalAlignment="Right"></TextBlock>
<TextBox Name="MatBatch"
MinWidth="200"
Grid.Row="0"
Grid.Column="1"
FontSize="15"
IsReadOnly="True"
VerticalAlignment="Center"
HorizontalAlignment="Stretch"
Style="{StaticResource TextBoxExtend}"></TextBox>
</StackPanel>
<StackPanel Orientation="Horizontal"
Margin="5">
<TextBlock Text="物料规格:"

View File

@ -23,6 +23,7 @@ namespace 智慧物流软件系统
//绑定数据
MatCode.Text = matDetailStocktakingInfo.MatCode;
MatName.Text = matDetailStocktakingInfo.MatName;
MatBatch.Text = matDetailStocktakingInfo.MatBatch;
MatSpec.Text = matDetailStocktakingInfo.MatSpec;
ShelfCode.Text = matDetailStocktakingInfo.ShelfCode;

View File

@ -182,6 +182,9 @@
<DataGridTextColumn Header="物料名称"
MaxWidth="150"
Binding="{Binding MatName}"></DataGridTextColumn>
<DataGridTextColumn Header="物料批次"
MaxWidth="150"
Binding="{Binding MatBatch}"></DataGridTextColumn>
<DataGridTextColumn Header="物料规格"
MaxWidth="150"
Binding="{Binding MatSpec}"></DataGridTextColumn>