@{
|
Layout = "~/Views/Shared/_LayoutVue.cshtml";
|
ViewBag.Title = "OutList";
|
}
|
|
<div id="outList" v-cloak>
|
<el-card class="box-card">
|
<el-form label-width="90px" v-bind:model="formData" class="demo-ruleForm" v-bind:inline="true">
|
<el-form-item label="发货通知单:">
|
<el-input v-model="formData.opNo" size="mini"></el-input>
|
</el-form-item>
|
<el-form-item label="状态:">
|
<hh-select-url v-model="formData.state"
|
v-bind:options="stateOptions"></hh-select-url>
|
</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.opType"
|
url="/Basic/Common/GetOperationTypeList?opType=出库订单"
|
valuefield="CN_S_OPERATION_NAME"
|
textfield="CN_S_OPERATION_NAME"
|
datafield="Data"></hh-select-url>
|
</el-form-item>
|
<el-form-item label="客户名称:">
|
<el-input v-model="formData.customName"
|
readonly="readonly"
|
size="mini">
|
<i slot="suffix" v-on:click="selectCustom" class="el-icon-more"></i>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="物流公司:">
|
<el-input v-model="formData.logistics" size="mini"></el-input>
|
</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-form-item label="创建日期:" style="width:320px;">
|
<el-date-picker v-model="formData.createDateArray"
|
type="daterange"
|
range-separator="至"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
size="mini"
|
value-format="yyyy-MM-dd"
|
style="width:220px;">
|
</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="warning" v-on:click="submit">提 交</el-button>
|
<el-button size="mini" type="success" v-on:click="edit(true)">查 看</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="mergeOrder">合 单</el-button>
|
<el-button size="mini" type="danger" v-on:click="cancelOrder">取 消</el-button>
|
<el-button size="mini" type="primary" v-on:click="print">打 印</el-button>
|
<el-button size="mini" type="primary" v-on:click="exportExcel">导 出</el-button>
|
<el-button size="mini" type="primary" v-on:click="exportxml" v-has="'ExportXml'">导出xml文件</el-button>
|
<el-button size="mini" type="danger" v-on:click="stayDev" v-has="'CloseOrder'">关闭单据</el-button>
|
<el-button size="mini" type="success" v-on:click="stayDev" v-has="'ConfirmOut'">确认出库</el-button>
|
</el-row>
|
</el-card>
|
<hh-table power="发货通知单列表"
|
v-bind:paging="true"
|
v-bind:check="true"
|
v-bind:where="where"
|
dh="145"
|
url="@Url.Action("GetOutList")"
|
ref="outlist"></hh-table>
|
</div>
|
@section scripts{
|
<script>
|
var outList = new Vue({
|
mixins: [wmsApps],
|
data: {
|
formData: {
|
opNo: "",
|
opType: "",
|
stockCode: "",
|
state: "新建,已取消,已提交,已审核,已驳回,待出库,分拣中,已分拣,已完成",
|
customName: "",
|
createDateArray: null,
|
createDate: null,
|
logistics: "",
|
date: "",
|
valueDate: ""
|
},
|
where: { state: "新建,已取消,已提交,已审核,已驳回,待出库,分拣中,已分拣,已完成" },
|
stateOptions: [{
|
value: '新建,已取消,已提交,已审核,已驳回,待出库,分拣中,已分拣,已完成',
|
label: '全部'
|
}, {
|
value: '新建',
|
label: '新建'
|
}, {
|
value: '已取消',
|
label: '已取消'
|
}, {
|
value: '已提交',
|
label: '已提交'
|
}, {
|
value: '已审核',
|
label: '已审核'
|
}, {
|
value: '已驳回',
|
label: '已驳回'
|
}, {
|
value: '待出库',
|
label: '待出库'
|
}, {
|
value: '分拣中',
|
label: '分拣中'
|
}, {
|
value: '已分拣',
|
label: '已分拣'
|
}, {
|
value: '已完成',
|
label: '已完成'
|
}],
|
//选择客户列
|
customCols: [
|
{ f: 'CN_S_CUSTOMER_NAME', n: '客户全称' },
|
{ f: 'CN_S_CUSTOMER_SHORT_NAME', n: '客户简称' },
|
{ f: 'CN_S_CUSTOMER_CODE', n: '客户编码' },
|
{ f: 'CN_S_CUSTOMER_TYPE', n: '客户类型' },
|
{ f: 'CN_S_CUSTOMER_LEVEL', n: '客户等级' },
|
],
|
currentTitle: parent.$(".layui-tab-title li[class='layui-this'] cite").text(),
|
},
|
methods: {
|
stayDev: function () {//发货单导入
|
wms.warning("待开发");
|
},
|
//选择客户
|
selectCustom: function () {
|
var $this = this;
|
wms.showDialogList({
|
title: '选择客户',
|
itemCols: $this.customCols,
|
condition: 'customer',
|
url: '/Basic/Common/CustomList',
|
single: true,
|
btnSure: function (checkedItem) {
|
if (checkedItem.length == 0)
|
$this.formData.customName = "";
|
else
|
//赋值客户
|
$this.formData.customName = checkedItem[0].CN_S_CUSTOMER_NAME;
|
}
|
});
|
},
|
mergeOrder: function () {
|
var $this = this;
|
this.selectRowEvent(false, function (rows) {
|
if (rows.length < 2) {
|
wms.warning("合单操作请至少选择两条记录");
|
return;
|
}
|
wms.confirm("确认合单?", function () {
|
ajaxManage({
|
url: "@Url.Action("MergeOrder")",
|
data: JSON.stringify(rows),
|
success: function (data) {
|
wms.showMsg(data, function () {
|
wms.success("合单成功");
|
$this.$refs.outlist.loadData();
|
});
|
}
|
});
|
});
|
});
|
},
|
cancelOrder: function () {
|
var $this = this;
|
this.selectRowEvent(true, function (row) {
|
wms.confirm("确认取消?", function () {
|
ajaxManage({
|
url: "@Url.Action("CancelOut")?opNo=" + row.CN_S_OP_NO,
|
success: function (data) {
|
wms.showMsg(data, function () {
|
wms.success("取消成功");
|
$this.$refs.outlist.loadData();
|
});
|
}
|
});
|
});
|
});
|
},
|
search: function () {
|
this.formData.createDate = "";
|
if (this.formData.createDateArray)
|
this.formData.createDate = this.formData.createDateArray.join(',');
|
this.$refs.outlist.loadData(this.formData);
|
},
|
add: function () {
|
var $this = this;
|
parent.tab.tabAdd({
|
title: '发货通知单-新增',
|
href: '@Url.Action("OutEdit")?mainPage=' + $this.currentTitle
|
});
|
},
|
selectRowEvent: function (isSingle, callBack) {
|
var selectRow = this.$refs.outlist.selections;
|
var row = null;
|
if (isSingle) {
|
if (selectRow.length != 1) {
|
wms.warning("请选择一条记录操作");
|
return;
|
}
|
row = selectRow[0];
|
} else {
|
if (selectRow.length <= 0) {
|
wms.warning("请至少选择一条记录操作");
|
return;
|
}
|
row = selectRow;
|
}
|
if (callBack)
|
callBack(row);
|
},
|
edit: function (read) {
|
var $this = this;
|
this.selectRowEvent(true, function (row) {
|
if (!read && (row.CN_S_STATE != '新建' && row.CN_S_STATE != '已驳回')) {
|
wms.warning("请选择状态为 新建、已驳回 的单据编辑");
|
return;
|
}
|
var title = read ? '发货通知单-查看' : '发货通知单-编辑'
|
parent.tab.tabAdd({
|
title: title,
|
href: '@Url.Action("OutEdit")?mainPage=' + $this.currentTitle + '&opNo=' + row.CN_S_OP_NO + '&read=' + read
|
});
|
})
|
},
|
submit: function () {
|
var $this = this;
|
this.selectRowEvent(true, function (row) {
|
if (row.CN_S_STATE != '新建' && row.CN_S_STATE != '已驳回') {
|
wms.warning("请选择状态为 新建、已驳回 的单据提交");
|
return;
|
}
|
wms.confirm("确认提交?", function () {
|
ajaxManage({
|
url: "@Url.Action("SubmitOut")?opNo=" + row.CN_S_OP_NO,
|
success: function (data) {
|
wms.showMsg(data, function () {
|
wms.success("提交成功");
|
$this.$refs.outlist.loadData();
|
});
|
}
|
});
|
});
|
});
|
},
|
del: function () {
|
var $this = this;
|
this.selectRowEvent(true, function (row) {
|
if (row.CN_S_STATE != '新建' && row.CN_S_STATE != '已驳回') {
|
wms.warning("请选择状态为 新建、已驳回 的单据删除");
|
return;
|
}
|
wms.confirm("确认删除?", function () {
|
ajaxManage({
|
url: "@Url.Action("DeleteOut")?opNo=" + row.CN_S_OP_NO,
|
success: function (data) {
|
wms.showMsg(data, function () {
|
wms.success("删除成功");
|
$this.$refs.outlist.loadData();
|
});
|
}
|
});
|
});
|
});
|
},
|
print: function () {
|
var $this = this;
|
this.selectRowEvent(true, function (row) {
|
var title = '发货通知单-打印';
|
|
var printTempletNames = {};
|
var printTempletName = "";
|
ajaxManage({
|
url: '/Basic/Common/GetPrintTypeTemplet?stockCode=' + row.CN_S_STOCK_CODE + '&templetType=出库订单',
|
success: function (data) {
|
printTempletNames = data.Data;
|
}
|
});
|
|
if (printTempletNames.length <= 1) {
|
if (printTempletNames.length == 1)
|
printTempletName = printTempletNames[0].CN_S_TEMPLET_NAME;
|
else
|
printTempletName = "OutFromOrderReport.rdlx"
|
parent.tab.tabAdd({
|
title: title,
|
href: '/Basic/Common/PrintReport?no=' + row.CN_S_OP_NO + '&rdlx=' + printTempletName + '&asmx=OutFromOrderService'
|
});
|
}
|
else {
|
wms.showDialogFrame({
|
title: "选择打印模板",
|
url: "@Url.Action("PrintOutFromOrder")?stockCode=" + row.CN_S_STOCK_CODE,
|
dh: 400,
|
width: "400px",
|
callBack: function (frame) {
|
parent.tab.tabAdd({
|
title: title,
|
//href: '/Basic/Common/PrintReport?no=' + row.CN_S_OP_NO + '&rdlx=OutFromOrderReport&asmx=' + frame.child.printTemplet
|
href: '/Basic/Common/PrintReport?no=' + row.CN_S_OP_NO + '&rdlx=' + frame.child.printTemplet + '&asmx=OutFromOrderService'
|
});
|
}
|
});
|
}
|
});
|
},
|
exportExcel: function () {
|
$this = this;
|
var v = { formData: $this.formData, columns: $this.$refs.outlist.cols };
|
ajaxManage({
|
url: "@Url.Action("ExportOut")",
|
data: JSON.stringify(v),
|
success: function (result) {
|
if (result.Success)
|
location.href = "/Basic/Common/GetFile?fileName=" + result.Data.fileName
|
else
|
wms.error(result.Msg);
|
}
|
});
|
},
|
exportxml: function () {
|
var $this = this;
|
this.selectRowEvent(true, function (row) {
|
if (row.CN_S_STATE != "已完成") {
|
wms.warning("请选择状态为 已完成 的单据导出xml文件!");
|
return;
|
}
|
|
location.href = "/OutStock/Sorting/FilePathDownload?opNo=" + row.CN_S_OP_NO + "&province=" + row.CN_S_PROVINCE + "&fromNo=" + row.CN_S_FROM_NO;
|
//ajaxManage({
|
// url: '/OutStock/Sorting/CreateXmlFile?opNo=' + row.CN_S_OP_NO + '&province=' + row.CN_S_PROVINCE,
|
// success: function (data) {
|
// if (data.Success) {
|
// wms.success("保存成功");
|
// $this.$refs.outlist.loadData();
|
// }
|
// }
|
//});
|
|
});
|
},
|
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]);
|
}
|
}]
|
}
|
},
|
el: '#outList'
|
});
|
</script>
|
}
|