@{
|
ViewBag.Title = "磅单管理";
|
Layout = "~/Views/Shared/_LayoutVue.cshtml";
|
}
|
|
@section head
|
{
|
<style type="text/css">
|
.block {
|
text-align: right;
|
}
|
</style>
|
}
|
<div id="inList" v-cloak>
|
<el-card class="box-card">
|
<el-form v-bind:model="formData" style="margin-top:5px;" label-width="85px" class="demo-ruleForm" v-bind:inline="true">
|
@*<el-form-item label="移库单号:">
|
<el-input v-model="formData.opNo" size="mini" onkeyup="this.value = this.value.replace(/\'|’|‘/g, '')"></el-input>
|
</el-form-item>*@
|
|
<el-form-item label="仓 库:">
|
<hh-select-url v-model="formData.stockCode" url="/Basic/Common/StockList"
|
valuefield="CN_S_STOCK_CODE"
|
textfield="CN_S_STOCK_NAME"
|
datafield="Data"></hh-select-url>
|
</el-form-item>
|
|
@*<el-form-item label="移库模式:">
|
<hh-select-url v-model="formData.opMode" url="/Basic/Common/GetDictionary?dictName=移库模式"
|
valuefield="NAME"
|
textfield="NAME"></hh-select-url>
|
</el-form-item>*@
|
|
@*<el-form-item label="移库类型:">
|
<hh-select-url v-model="formData.type" url="/Basic/Common/GetDictionary?dictName=移库类型"
|
valuefield="NAME"
|
textfield="NAME"></hh-select-url>
|
</el-form-item>*@
|
<el-form-item label="状 态:">
|
<hh-select-url v-model="formData.state" url="/Basic/Common/GetDictionary?dictName=移库单状态"
|
valuefield="NAME"
|
textfield="NAME"></hh-select-url>
|
</el-form-item>
|
<el-form-item label="创建日期:" style="width:490px">
|
<el-date-picker v-model="formData.date"
|
type="daterange"
|
align="right"
|
unlink-panels
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
value-format="yyyy-MM-dd"
|
v-on:change="selectTime"
|
v-bind:picker-options="pickerOptions2" size="mini" style="width:395px">
|
</el-date-picker>
|
</el-form-item>
|
<el-button style="margin-top:2px;" size="mini" type="primary" v-on:click="search">查 询</el-button>
|
</el-form>
|
@*<el-row style="padding-left:10px;margin-top:7px;">
|
<el-button size="mini" type="primary" v-on:click="add" v-has="'Add'">新 增</el-button>
|
<el-button size="mini" type="primary" v-on:click="edit(false)" v-has="'Edit'">编 辑</el-button>
|
<el-button size="mini" type="primary" v-on:click="submit" v-has="'Submit'">提 交</el-button>
|
<el-button size="mini" type="danger" v-on:click="del" v-has="'Delete'">删 除</el-button>
|
<el-button size="mini" type="primary" v-on:click="exportExecl">移库单导出</el-button>
|
</el-row>*@
|
</el-card>
|
<hh-table v-bind:coloptions="movecols"
|
v-bind:paging="true"
|
v-bind:single="true"
|
v-bind:url="'@Url.Action("GetMoveStockTaskMsts")'"
|
v-bind:check="true"
|
v-on:clickrow="clickRow"
|
ref="movemstlist"
|
v-bind:dh="tableHeight"></hh-table>
|
|
<el-tabs type="border-card" tab-position="left" v-bind:style="'height:'+tabHeight+'px'">
|
<el-tab-pane label="移库明细">
|
<hh-table v-bind:coloptions="movedtlcols"
|
v-bind:single="true"
|
v-bind:url="dtlUrl"
|
ref="DtlList"
|
v-bind:dh="tabTableHeight"
|
v-bind:rowno="true"></hh-table>
|
</el-tab-pane>
|
@*<el-tab-pane label="移库结果明细">
|
<hh-table v-bind:coloptions="movelistcols"
|
v-bind:single="true"
|
v-bind:url="cklistUrl"
|
ref="ckList"
|
v-bind:dh="tabTableHeight"
|
v-bind:rowno="true"></hh-table>
|
</el-tab-pane>*@
|
</el-tabs>
|
</div>
|
@section scripts{
|
<script src="~/Content/js/linq.js_ver2.2.0.2/linq.js"></script>
|
<script>
|
new Vue({
|
//el: '#inList',
|
mixins: [useAutoHeight],
|
computed: {
|
tableHeight: function () {
|
|
return (this.autoHeight + 100) / 2 - 50;
|
},
|
tabHeight: function () {
|
return (this.autoHeight - 200) / 2;
|
},
|
tabTableHeight: function () {
|
return (this.autoHeight + 80) / 2;
|
}
|
},
|
data: {//数据
|
formData: {
|
//CN_S_OP_NO: "",
|
//CN_S_TYPE: "",
|
//CN_S_STATE: "",
|
//CN_S_STOCK_CODE: "",
|
//CN_S_OP_MODE: ""
|
stockCode: "",
|
type: "",
|
opNo: "",
|
opMode: "",
|
state: "",
|
date: "",
|
valueDate: ""
|
},
|
movecols: [],
|
movedtlcols: [],
|
movelistcols: [],
|
dtlUrl: "",
|
cklistUrl: "",
|
|
//funcType: GetUrlParam("CN_S_TYPE")
|
},
|
|
methods: {//方法
|
search: function () {
|
var $this = this;
|
regEn = /\'|’|‘/g;
|
//去除上引号
|
for (var n in $this.formData) {
|
|
//console.log(n);
|
////console.log(typeof n);
|
//console.log($this.formData.n);//常会思路是错的,这样他会找person.n即n这个属性,person中并不存在
|
//console.log($this.formData[n]);
|
if (regEn.test($this.formData[n])) {
|
$this.formData[n] = $this.formData[n].replace("'", '');
|
//alert("名称不能包含特殊字符.");
|
//return false;
|
}
|
};
|
$this.$refs.movemstlist.loadData($this.formData);
|
},
|
add: function () {
|
var $this = this;
|
var currentTitle = parent.$(".layui-tab-title li[class='layui-this'] cite").text();
|
parent.tab.tabAdd({
|
title: "移库单据新建",
|
href: '@Url.Action("Edit")?currentTitle=' + currentTitle
|
});
|
},
|
|
edit: function (read) {
|
var $this = this;
|
this.selectSingleRowEvent(function (row) {
|
if (!read && (row.CN_S_STATE != '新建')) {
|
wms.warning("请选择状态为新建的单据编辑");
|
return;
|
}
|
var currentTitle = parent.$(".layui-tab-title li[class='layui-this'] cite").text();
|
var title = "移库单据修改";
|
parent.tab.tabAdd({
|
title: title,
|
href: '@Url.Action("Edit")?opNo=' + row.CN_S_OP_NO + '&type=1' + '¤tTitle=' + currentTitle
|
});
|
})
|
},
|
submit: function () {
|
var $this = this;
|
var selectRow = this.$refs.movemstlist.selections;
|
if (selectRow.length == 0) {
|
wms.warning("请选择记录!");
|
return;
|
}
|
var opNo = "";
|
var type = "";
|
for (var i = 0; i < selectRow.length; i++) {
|
if (selectRow[i].CN_S_STATE != "新建") {
|
wms.warning("请选择状态为新建的单据提交!")
|
return false;
|
}
|
|
opNo += selectRow[i].CN_S_OP_NO + ",";
|
type += selectRow[i].CN_S_TYPE + ",";
|
}
|
|
|
opNo = opNo.substring(0, opNo.length - 1);
|
type = type.substring(0, type.length - 1);
|
var obj = { opNo: opNo, type: type };
|
|
wms.confirm("确认提交?", function () {
|
ajaxManage({
|
url: "@Url.Action("Submit")",
|
data: JSON.stringify(obj),
|
traditional: true,
|
success: function (data) {
|
if (data.Success) {
|
wms.success("提交成功");
|
$this.$refs.movemstlist.loadData();
|
$this.$refs.ckList.loadData();
|
} else {
|
wms.error(data.Msg);
|
}
|
}
|
});
|
});
|
|
},
|
del: function () {
|
var $this = this;
|
var opNo = "";
|
var selectRow = this.$refs.movemstlist.selections;
|
if (selectRow.length == 0) {
|
wms.warning("请选择记录!");
|
return;
|
}
|
for (var i = 0; i < selectRow.length; i++) {
|
opNo += selectRow[i].CN_S_OP_NO + "','";
|
if (selectRow[i].CN_S_STATE != "新建") {
|
wms.warning("请选择状态为新建单据操作!");
|
return false;
|
}
|
}
|
|
opNo = opNo.substring(0, opNo.length - 3);
|
wms.confirm("确认删除?", function () {
|
ajaxManage({
|
url: "@Url.Action("DeleteStockMove")?opNo=" + opNo,
|
//data: opNo,
|
traditional: true,
|
success: function (data) {
|
console.log(data);
|
if (data.Success) {
|
wms.success("删除成功");
|
$this.$refs.movemstlist.loadData();
|
} else {
|
wms.error(data.Msg);
|
}
|
}
|
});
|
});
|
},
|
checkcount: function () {
|
var $this = this;
|
$this.selectSingleRowEvent(function (rows) {
|
if (rows.CN_S_STATE != '执行') {
|
wms.warning("请选择状态为执行的单据确认");
|
return;
|
}
|
parent.tab.tabAdd({
|
title: "盈亏统计",
|
href: '@Url.Action("CheckCount")?opNo=' + rows.CN_S_OP_NO + '&stockcode=' + rows.CN_S_STOCK_CODE
|
});
|
});
|
},
|
clickRow: function (row, event, column) {
|
var opNo = row.CN_GUID;
|
this.opNo = opNo;
|
this.dtlUrl = "@Url.Action("GetMoveStockTaskDtls")?guid=" + opNo;
|
this.cklistUrl = "@Url.Action("GetMoveResultGroup")?opNo=" + opNo;
|
},
|
selectSingleRowEvent: function (callBack) {
|
var selectRow = this.$refs.movemstlist.selections;
|
if (selectRow.length <= 0) {
|
wms.warning("请选择一条记录!");
|
return;
|
}
|
if (callBack)
|
callBack(selectRow[0]);
|
},
|
selectTime: function (val) {
|
$this = this;
|
if (val != null)
|
$this.formData.valueDate = JSON.stringify(val);
|
else
|
$this.formData.valueDate = "";
|
},
|
pickerOptions2: function () {
|
shortcuts: [{
|
text: '最近一周',
|
onClick: function onClick(picker) {
|
var end = new Date();
|
var start = new Date();
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
picker.$emit('pick', [start, end]);
|
}
|
}, {
|
text: '最近一个月',
|
onClick: function onClick(picker) {
|
var end = new Date();
|
var start = new Date();
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
picker.$emit('pick', [start, end]);
|
}
|
}, {
|
text: '最近三个月',
|
onClick: function onClick(picker) {
|
var end = new Date();
|
var start = new Date();
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
picker.$emit('pick', [start, end]);
|
}
|
}]
|
},
|
exportExecl: function () {
|
$this = this;
|
|
var selectRow = this.$refs.movemstlist.selections;
|
if (selectRow.length != 1) {
|
wms.warning("请选择一条移库单据导出!");
|
return;
|
}
|
if (selectRow[0].CN_S_STATE != "提交" && selectRow[0].CN_S_STATE != "完成") {
|
wms.warning("请选择移库单据状态为【提交】【完成】数据导出!");
|
return;
|
}
|
var v = { opNo: selectRow[0].CN_S_OP_NO, columns: $this.movelistcols };
|
ajaxManage({
|
url: "@Url.Action("ExportMoveList")",
|
data: JSON.stringify(v),
|
success: function (result) {
|
if (result.Success)
|
location.href = "/Basic/Common/GetFile?fileName=" + result.Data.fileName
|
else
|
wms.error(result.Msg);
|
}
|
});
|
},
|
},
|
mounted: function () {
|
var $this = this;
|
//funcType = $this.formData.CN_S_STOCK_CODE;
|
$this.movecols = [
|
//{ f: "CN_S_OP_NO", n: "移库单号", w: "140px" },
|
//{ f: "CN_S_OP_MODE", n: "移库模式" },
|
//{ f: "CN_S_STOCK_CODE", n: "仓库" },
|
//{ f: "CN_S_STOCK_CODE", n: "仓库", w: "110px" },
|
{ f: "CN_S_START_AREA", n: "移出库区" },
|
{ f: "CN_S_END_AREA", n: "移入库区" },
|
{ f: "CN_S_STATE", n: "状 态", w: "80px" },
|
{ f: "CN_F_QUANTITY", n: "总移动数", w: "80px" },
|
{ f: "CN_F_MOVE_QUANTITY", n: "已完成数", w: "80px" },
|
{ f: "CN_F_ALLOC_QUANTITY", n: "正在移动数", w: "90px" },
|
{
|
f: "CN_F_MOVE_QUANTITY", n: "待移动数", w: "80px", format: function (row, column) {
|
var value = parseFloat(row.CN_F_QUANTITY) - parseFloat(row.CN_F_MOVE_QUANTITY) - parseFloat(row.CN_F_ALLOC_QUANTITY);
|
if (value > 0) {
|
return Math.round(value);
|
} else {
|
return 0;
|
}
|
}
|
},
|
{ f: "CN_S_ITEM_CODE", n: "物料编码" },
|
{ f: "CN_S_RESULT", n: "结果", w: "200px" },
|
{ f: "CN_S_CREATOR_BY", n: "创建人", w: "120px" },
|
{ f: "CN_T_CREATE", n: "创建日期", w: "150px" },
|
//{ f: "CN_GUID", n: "序列号" },
|
//{ f: "CN_S_CREATOR_BY", n: "制单人" },
|
|
];
|
|
$this.movedtlcols = [
|
{ f: "CN_S_TASK_NO", n: "任务号" },
|
{ f: "CN_S_TASK_TYPE", n: "任务类型" },
|
//{ f: "CN_S_MODEL", n: "规格型号" },
|
//{ f: "CN_S_FIGURE_NO", n: "物料图号" },
|
//{ f: "CN_S_END_BIT", n: "移入货位" },
|
////{ f: "CN_S_LOT_CODE", n: "批次号" },
|
//{ f: "CN_S_PRODUCTION_BATCH", n: "生产批次" },
|
{ f: "CN_F_QUANTITY", n: "移库数量" },
|
{ f: "CN_T_CREATE", n: "创建日期" },
|
//{ f: "CN_S_MEASURE_UNIT", n: "计量单位" },
|
];
|
|
$this.movelistcols = [
|
{ f: "CN_S_ITEM_CODE", n: "物料编码" },
|
{ f: "CN_S_ITEM_NAME", n: "物料名称" },
|
{ f: "CN_S_MODEL", n: "规格型号" },
|
{ f: "CN_S_FIGURE_NO", n: "物料图号" },
|
//{ f: "CN_S_LOT_CODE", n: "批次号" },
|
{ f: "CN_S_START_BIT", n: "移出货位" },
|
{ f: "CN_S_END_BIT", n: "移入货位" },
|
//{ f: "CN_F_OUT_QUANTITY", n: "库存数量" },
|
{ f: "CN_F_OUT_QUANTITY", n: "移出数量" },
|
{ f: "CN_F_IN_QUANTITY", n: "移入数量" },
|
{ f: "CN_S_MEASURE_UNIT", n: "计量单位" },
|
];
|
},
|
el: '#inList'
|
|
});
|
|
|
function JsonDateFormat(jsondate) {
|
jsondate = jsondate.replace("/Date(", "").replace(")/", "");
|
if (jsondate == 0 || jsondate == "0") {
|
return "";
|
}
|
if (jsondate.indexOf("T") > 0) {
|
jsondate = jsondate.substring(0, jsondate.indexOf("T"));
|
} else {
|
return jsondate;
|
}
|
return jsondate;
|
}
|
</script>
|
}
|