@{
|
Layout = "~/Views/Shared/_LayoutVue.cshtml";
|
ViewBag.Title = "OutEdit";
|
}
|
@model TN_WM_OUT_MSTEntity
|
|
<el-container id="outDiv" v-cloak>
|
<el-header height="100%">
|
<el-card class="box-card">
|
<el-form v-bind:model="formData" v-bind:rules="formRules" ref="formData" label-width="120px" class="demo-ruleForm" v-bind:inline="true">
|
<el-form-item label="发货通知单:" prop="CN_S_OP_NO">
|
<el-input v-model="formData.CN_S_OP_NO"
|
readonly="readonly"
|
required
|
v-bind:disabled="readOnly"
|
size="mini"></el-input>
|
</el-form-item>
|
|
<el-form-item label="仓库名称:" prop="CN_S_STOCK_CODE">
|
<hh-select-url v-model="formData.CN_S_STOCK_CODE"
|
url="/Basic/Common/StockList"
|
valuefield="CN_S_STOCK_CODE"
|
textfield="CN_S_STOCK_NAME"
|
datafield="Data"
|
v-bind:disabled="true"
|
v-on:success="stockSuccess"
|
v-bind:usedefault="false"></hh-select-url>
|
</el-form-item>
|
<el-form-item label="制单人:" prop="CN_S_OPERATOR">
|
<el-input v-model="formData.CN_S_OPERATOR"
|
readonly="readonly"
|
required
|
v-bind:disabled="readOnly"
|
size="mini"></el-input>
|
</el-form-item>
|
<el-form-item label="制单日期:" prop="CN_T_OP_DATE">
|
<el-date-picker type="date"
|
placeholder="选择日期"
|
size="mini"
|
value-format="yyyy-MM-dd"
|
v-model="formData.CN_T_OP_DATE"
|
v-bind:disabled="readOnly"
|
style="width: 100%;"></el-date-picker>
|
</el-form-item>
|
<el-form-item label="状态:" prop="CN_S_STATE">
|
<el-input v-model="formData.CN_S_STATE"
|
readonly="readonly"
|
v-bind:disabled="readOnly"
|
required
|
size="mini"></el-input>
|
</el-form-item>
|
<el-form-item label="摘要:" prop="CN_S_NOTE">
|
<el-input v-model="formData.CN_S_NOTE"
|
v-bind:disabled="readOnly"
|
size="mini"></el-input>
|
</el-form-item>
|
</el-form>
|
</el-card>
|
</el-header>
|
<el-main>
|
<el-table v-bind:data="tableData" class="tb-edit" style="width: 100%;" border
|
highlight-current-row
|
size="mini"
|
v-bind:height="tableHeight"
|
v-on:row-click="outDtlClick">
|
<el-table-column label="操作" width="50" v-if="!readOnly" v-bind:key="Math.random()">
|
<template scope="scope">
|
<i style="cursor:pointer" class="el-icon-plus" v-on:click="addRow"></i>
|
<i style="cursor:pointer" class="el-icon-minus" v-on:click="deleteRow(scope.$index, tableData)"></i>
|
</template>
|
</el-table-column>
|
<el-table-column type="index" width="45" align="center" label="行号" v-bind:key="Math.random()">
|
</el-table-column>
|
<el-table-column label="物料编码" prop="CN_S_ITEM_CODE" width="180" v-bind:key="Math.random()">
|
<template scope="scope">
|
<el-input size="mini"
|
v-model="scope.row.CN_S_ITEM_CODE"
|
v-bind:disabled="readOnly"
|
v-bind:ref="'_refItem'+scope.$index"
|
v-on:input="itemInputChange(scope.row,scope.$index)"
|
v-on:blur="itemInputBlur">
|
<i slot="suffix" v-on:click="selectItem(scope.row)" class="el-icon-more"></i>
|
</el-input>
|
|
<span>{{scope.row.CN_S_ITEM_CODE}}</span>
|
</template>
|
</el-table-column>
|
<el-table-column label="物料名称" prop="CN_S_ITEM_NAME" width="180" v-bind:key="Math.random()"></el-table-column>
|
@*<el-table-column v-if="$_need('FHD_ITEM_STATE')" label="物料状态" prop="CN_S_ITEM_STATE" width="120" v-bind:key="Math.random()" align="center">
|
<template scope="scope">
|
<hh-select-url v-model="scope.row.CN_S_ITEM_STATE" url="/Basic/Common/GetDictionary?dictName=物料状态"
|
valuefield="NAME"
|
textfield="NAME" width="100"
|
v-bind:usedefault="false"
|
v-on:change="itemStateChange(scope.row.CN_S_ITEM_CODE,scope.row.CN_S_ITEM_STATE)"></hh-select-url>
|
<span>{{scope.row.CN_S_ITEM_STATE}}</span>
|
</template>
|
</el-table-column>
|
<el-table-column v-if="$_need('FHD_CONERSION')" label="包装规格" prop="CN_S_EXT1" v-bind:key="Math.random()"></el-table-column>
|
<el-table-column v-if="$_need('FHD_MODEL')" label="规格型号" prop="CN_S_MODEL" v-bind:key="Math.random()"></el-table-column>
|
<el-table-column v-if="$_need('FHD_FIGURE_NO')" label="图号" prop="CN_S_FIGURE_NO" v-bind:key="Math.random()"></el-table-column>*@
|
<el-table-column label="计量单位" prop="CN_S_MEASURE_UNIT" width="70" v-bind:key="Math.random()"></el-table-column>
|
<el-table-column label="数量" prop="CN_F_QUANTITY" width="150" align="center" v-bind:key="Math.random()">
|
<template scope="scope">
|
<el-input-number v-model="scope.row.CN_F_QUANTITY"
|
v-bind:min="0"
|
size="mini" v-on:change="checkQty(scope.row,scope.$index)"
|
v-bind:disabled="readOnly"></el-input-number>
|
<span>{{scope.row.CN_F_QUANTITY}}</span>
|
</template>
|
</el-table-column>
|
@*<el-table-column v-if="$_need('FHD_PRODUCTION_BATCH')" label="生产批次" prop="CN_S_PRODUCTION_BATCH" width="130" v-bind:key="Math.random()">
|
<template scope="scope">
|
<el-input size="mini" type="text" v-model="scope.row.CN_S_PRODUCTION_BATCH"
|
v-bind:disabled="readOnly" placeholder=""></el-input>
|
<span>{{scope.row.CN_S_PRODUCTION_BATCH}}</span>
|
</template>
|
</el-table-column>*@
|
<el-table-column label="备注" prop="CN_S_NOTE" v-bind:key="Math.random()">
|
<template scope="scope">
|
<el-input size="mini"
|
v-model="scope.row.CN_S_NOTE"
|
v-bind:disabled="readOnly"
|
placeholder=""></el-input>
|
<span>{{scope.row.CN_S_NOTE}}</span>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-main>
|
<el-footer style="position:fixed;bottom:0px;height:50px;width:100%">
|
<el-tag v-if="itemQtyTag&&!readOnly" style="position:absolute;bottom:25px;" v-bind:type="itemQtyTagType" v-html="itemQtyTag"></el-tag>
|
<el-row style="padding:10px;text-align:center">
|
<el-button size="mini" type="primary" v-on:click="save(false)" v-show="!readOnly">保 存</el-button>
|
<el-button size="mini" type="warning" v-on:click="submit" v-show="!readOnly">提 交</el-button>
|
<el-button size="mini" v-on:click="cancel">关 闭</el-button>
|
</el-row>
|
</el-footer>
|
<transition name="el-zoom-in-center">
|
<el-card class="box-card" v-show="itemTable.show"
|
v-bind:style="'position:absolute;top:'+itemTop+'px;left:'+itemLeft+'px;width:'+itemTableWidth+'px;padding:0;z-index:9999'">
|
<el-table class="tb-edit"
|
highlight-current-row
|
size="mini"
|
v-bind:data="itemData"
|
v-on:row-click="itemRowClick">
|
<el-table-column label="物料编码" prop="CN_S_ITEM_CODE" width="140"></el-table-column>
|
<el-table-column label="物料名称" prop="CN_S_ITEM_NAME" width="130"></el-table-column>
|
<el-table-column label="计量单位" prop="CN_S_MEASURE_UNIT" width="70"></el-table-column>
|
</el-table>
|
</el-card>
|
</transition>
|
</el-container>
|
@section scripts{
|
<script>
|
new Vue({
|
el: '#outDiv',
|
mixins: [useAutoHeight,wmsApps],
|
computed: {
|
tableHeight: function () {
|
return this.autoHeight - 130;
|
},
|
itemTop:function(){
|
return this.itemTable.top+28;
|
},
|
itemLeft:function(){
|
return this.itemTable.left;
|
},
|
itemTableWidth:function(){
|
var w = 350;
|
return w;
|
}
|
},
|
data: {
|
itemQtyTagType:"success",//danger
|
itemQtyTag:"",
|
showOwner:false,
|
itemTable:{
|
show:false,
|
top:0,
|
left:0
|
},
|
check:true,
|
readOnly :false,
|
audit :false,
|
isOutIn:false,
|
formAudit:{
|
CN_S_HISTORY_REJECT:"@Model.CN_S_HISTORY_REJECT",
|
CN_S_OPINION:""
|
},
|
//表单数据
|
formData: {
|
CN_S_OP_NO: "@Model.CN_S_OP_NO",
|
CN_S_OP_TYPE: "@Model.CN_S_OP_TYPE",
|
CN_S_CUSTOMER: "@Model.CN_S_CUSTOMER",
|
CN_S_CUSTOMER_NAME: "@Model.CN_S_CUSTOMER_NAME",
|
CN_S_STOCK_CODE: "@Model.CN_S_STOCK_CODE",
|
CN_S_OPERATOR: "@Model.CN_S_OPERATOR",
|
CN_T_OP_DATE: "@Model.CN_T_OP_DATE",
|
CN_S_STATE: "@Model.CN_S_STATE",
|
CN_S_SALES_STYLE: "@Model.CN_S_SALES_STYLE",
|
CN_S_FORWARDING_WAY: "@Model.CN_S_FORWARDING_WAY",
|
CN_S_NOTE: "@Model.CN_S_NOTE",
|
CN_S_OPERATOR: "@Model.CN_S_OPERATOR",
|
CN_S_CREATOR: "@Model.CN_S_CREATOR",
|
CN_S_CREATOR_BY: "@Model.CN_S_CREATOR_BY",
|
CN_S_OWNER:"@Model.CN_S_OWNER",
|
CN_S_FROM_NO:"@Model.CN_S_FROM_NO",
|
CN_S_CONTRACT_NUM:"@Model.CN_S_CONTRACT_NUM",
|
|
CN_S_RECEIVER_NAME:"@Model.CN_S_RECEIVER_NAME",
|
CN_S_PHONE:"@Model.CN_S_PHONE",
|
CN_S_PROVINCE:"@Model.CN_S_PROVINCE",
|
CN_S_CITY:"@Model.CN_S_CITY",
|
CN_S_AREA:"@Model.CN_S_AREA",
|
CN_S_TOWN:"@Model.CN_S_TOWN",
|
CN_S_DETAIL_ADDRESS:"@Model.CN_S_DETAIL_ADDRESS",
|
|
OperateType: "@Model.OperateType",
|
OutDtlList: [],
|
OperateMessage:""
|
},
|
//必填验证项
|
formRules: {
|
CN_S_OP_NO: [
|
{ required: $_need('FHD_NO') , message: ' ', trigger: 'blur' }
|
],CN_S_OWNER: [
|
{ required: $_need('FHD_OWNER'), message: ' ', trigger: 'change' }
|
], CN_S_OP_TYPE: [
|
{ required: $_need('FHD_OPTYPE'), message: ' ', trigger: 'change' }
|
], CN_S_CUSTOMER_NAME: [
|
{ required: $_need('FHD_CUSTOMER'), message: ' ', trigger: 'change' }
|
], CN_S_STOCK_CODE: [
|
{ required: $_need('FHD_STOCK'), message: ' ', trigger: 'change' }
|
], CN_S_OPERATOR: [
|
{ required: $_need('FHD_OPERATOR'), message: ' ', trigger: 'blur' }
|
], CN_T_OP_DATE: [
|
{ required: $_need('FHD_OP_DATE'), message: ' ', trigger: 'blur' }
|
], CN_S_SALES_STYLE: [
|
{ required: $_need('FHD_SALE_STYLE'), message: ' ', trigger: 'change' }
|
]
|
},
|
//选择物料列
|
itemCols: [
|
{ f: 'CN_S_ITEM_CODE', n: '物料编码' },
|
{ f: 'CN_S_ITEM_NAME', n: '物料名称' },
|
{ f: 'CN_S_MEASURE_UNIT', n: '计量单位' }
|
],
|
@if(Model.OperateType==
|
HH.WMS.Entitys.Common.OperateType.Add
|
||Model.OutDtlList==null
|
||!Model.OutDtlList.Any())
|
{
|
<text>
|
tableData: [{
|
CN_S_ITEM_CODE: '',
|
CN_S_ITEM_NAME: '',
|
CN_S_ITEM_STATE: '合格',
|
CN_S_MODEL: '',
|
CN_S_FIGURE_NO: '',
|
CN_C_AUTO_INOUT:false,
|
CN_S_MEASURE_UNIT: '',
|
CN_S_EXT1:'',
|
CN_F_QUANTITY: '',
|
CN_S_PRODUCTION_BATCH:'',
|
CN_S_NOTE: ''
|
}],
|
</text>
|
}
|
else
|
{
|
<text>
|
tableData: @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model.OutDtlList)),
|
</text>
|
}
|
//选中当前物料的行数据
|
currentRow: {},
|
//父页面选择的物料数据
|
selections: [],
|
currentTitle: wms.currentTitle,
|
emptyValue:'',
|
itemData:[],
|
currentItem:"",
|
currentItemState:"合格",
|
hasEdit:false,
|
},
|
watch:{
|
deep:true,
|
tableData:{
|
deep:true,
|
handler:function(val){
|
console.log('edit');
|
this.hasEdit = true;
|
}
|
},
|
formData:{
|
deep:true,
|
handler:function(val){
|
console.log('edit');
|
this.hasEdit = true;
|
}
|
}
|
|
},
|
methods: {
|
checkQty:function(row,index){
|
var qty=row.CN_F_QUANTITY+"";
|
if(row.CN_F_QUANTITY>9999)
|
{
|
qty=qty.substring(0,4);
|
}
|
else
|
{
|
qty = qty.replace(/[^\d.]/g,"");//先把非数字的都替换掉,除了数字和.
|
qty = qty.replace(/\.{2,}/g,".");//保证只有出现一个.而没有多个.
|
qty = qty.replace(/^\./g,""); //必须保证第一个为数字而不是.
|
qty = qty.replace(".","$#$").replace(/\./g,"").replace("$#$",".");//保证.只出现一次,而不能出现两次以上
|
qty = qty.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
|
}
|
this.$nextTick(function () {
|
var $this = this;
|
row.CN_F_QUANTITY=qty;
|
this.$set($this.tableData,index,row);
|
});
|
},
|
itemStateChange:function(itemCode,itemState){
|
this.currentItem = itemCode;
|
this.currentItemState = itemState;
|
this.setItemStockQty();
|
},
|
stockSuccess:function(data){
|
if(data.length==1&&!this.formData.CN_S_STOCK_CODE){
|
this.formData.CN_S_STOCK_CODE = data[0];
|
}
|
},
|
//#region 下拉物料相关
|
//物料编码文本框鼠标离开事件
|
itemInputBlur:function(){
|
var $this = this;
|
setTimeout(function(){
|
$this.itemTable.show = false;
|
},200);
|
},
|
//下拉选择物料行点击事件
|
itemRowClick:function(row, event, column){
|
var $this = this;
|
var isExistsItem = false;
|
//console.log($this.tableData)
|
if($this.tableData.length>1)
|
$.each($this.tableData,function(i,n){
|
if(n.CN_S_ITEM_NAME&&(n.CN_S_ITEM_CODE==row.CN_S_ITEM_CODE)){
|
isExistsItem = true;
|
return false;
|
}
|
});
|
//吉鑫祥有一进一出,可以一个物料多行
|
if(!isExistsItem){
|
this.currentRow.CN_S_ITEM_CODE = row.CN_S_ITEM_CODE;
|
this.currentRow.CN_S_ITEM_NAME = row.CN_S_ITEM_NAME;
|
this.currentRow.CN_S_MODEL = row.CN_S_MODEL;
|
this.currentRow.CN_S_FIGURE_NO = row.CN_S_FIGURE_NO;
|
this.currentRow.CN_C_AUTO_INOUT = row.CN_C_AUTO_INOUT;
|
this.currentRow.CN_S_MEASURE_UNIT = row.CN_S_MEASURE_UNIT;
|
this.currentRow.CN_S_EXT1 = row.CN_S_CONERSION;
|
|
this.currentItem = this.currentRow.CN_S_ITEM_CODE;
|
this.currentItemState = this.currentRow.CN_S_ITEM_STATE;
|
|
$this.setItemStockQty();
|
}else{
|
wms.warning("该物料已存在!");
|
}
|
},
|
//物料编码文本框input事件
|
itemInputChange:function(row,index){
|
var $this = this;
|
$this.currentRow = row;
|
var currentInput = eval('this.$refs._refItem'+index);
|
var position = getPoint(currentInput.$el);
|
this.itemTable.top = position.top;
|
this.itemTable.left = position.left;
|
|
var key = row.CN_S_ITEM_CODE;
|
this.itemTable.show = false;
|
this.itemData = [];
|
if(key){
|
ajaxManage({
|
url: "/Basic/Common/GetMatchItem?key=" + key,
|
success: function (data) {
|
wms.showMsg(data, function () {
|
$this.itemData = data.Data;
|
});
|
}
|
});
|
}
|
if($this.itemData.length>0){
|
this.itemTable.show = true;
|
}
|
row.CN_S_ITEM_NAME = this.emptyValue;
|
row.CN_S_ITEM_STATE = '合格',
|
row.CN_S_MODEL = this.emptyValue;
|
row.CN_S_FIGURE_NO = this.emptyValue;
|
row.CN_C_AUTO_INOUT = this.isOutIn,
|
row.CN_S_MEASURE_UNIT = this.emptyValue;
|
row.CN_S_EXT1 = this.emptyValue;
|
row.CN_F_QUANTITY = this.emptyValue;
|
row.CN_S_PRODUCTION_BATCH = this.emptyValue;
|
row.CN_S_NOTE= this.emptyValue;
|
this.$set($this.tableData,index,row);
|
},
|
//#endregion
|
setItemStockQty:function(){
|
var $this = this;
|
if($this.readOnly) return;
|
var itemCode = $this.currentItem;
|
if(itemCode){
|
ajaxManage({
|
url: "@Url.Action("GetItemStockQty")?itemCode="+itemCode,
|
success: function (data) {
|
wms.showMsg(data, function () {
|
var _itemTagData = data.Data;
|
|
$this.itemQtyTagType=_itemTagData.ItemQtyTagType;
|
$this.itemQtyTag=_itemTagData.ItemQtyTag;
|
});
|
}
|
});
|
}
|
},
|
outDtlClick:function(row, event, column){
|
var $this = this;
|
if(row.CN_S_ITEM_NAME){
|
this.currentItem = row.CN_S_ITEM_CODE;
|
this.currentItemState = row.CN_S_ITEM_STATE;
|
this.setItemStockQty();
|
}
|
},
|
//审核取消
|
auditCancel:function(){
|
var $this = this;
|
parent.tab.tabDeleteRefresh($this.currentTitle,GetUrlParam("mainPage"));
|
},
|
//通过
|
adopt:function(){
|
var $this = this;
|
wms.confirm("确认通过?", function () {
|
ajaxManage({
|
url: "@Url.Action("AuditOut")?opNo=" + $this.formData.CN_S_OP_NO,
|
success: function (data) {
|
wms.showMsg(data, function () {
|
wms.success("审核成功");
|
$this.auditCancel();
|
});
|
}
|
});
|
});
|
},
|
//驳回
|
reject:function(){
|
var $this = this;
|
if(!$this.formAudit.CN_S_OPINION){
|
wms.warning("驳回意见不可为空!");
|
return;
|
}
|
wms.confirm("确认驳回?", function () {
|
ajaxManage({
|
url: "@Url.Action("Reject")",
|
data:{ CN_S_OPINION:$this.formAudit.CN_S_OPINION,CN_S_FROM_NO:$this.formData.CN_S_OP_NO },
|
success: function (data) {
|
wms.showMsg(data, function () {
|
wms.success("驳回成功");
|
$this.auditCancel();
|
});
|
}
|
});
|
});
|
},
|
//取消
|
cancel:function(){
|
var $this = this;
|
if(!this.readOnly&&this.hasEdit){
|
wms.confirm("是否保存?", function () {
|
if($this.save(false))
|
parent.tab.tabDeleteRefresh($this.currentTitle,GetUrlParam("mainPage"));
|
},function(){
|
parent.tab.tabDeleteRefresh($this.currentTitle,GetUrlParam("mainPage"));
|
});
|
}else{
|
parent.tab.tabDeleteRefresh($this.currentTitle,GetUrlParam("mainPage"));
|
}
|
},
|
//选择仓库
|
selectStock: function () {
|
if(this.readOnly) return;
|
var $this = this;
|
wms.showDialogList({
|
title: '选择仓库',
|
itemCols: $this.stockCols,
|
url: '/Basic/Common/StockList',
|
single: true,
|
paging: false,
|
btnSure: function (checkedItem) {
|
if (checkedItem.length == 0) return;
|
$this.formData.CN_S_STOCK_CODE = checkedItem[0].CN_S_STOCK_CODE;
|
}
|
});
|
},
|
selectCustomAddress:function(){
|
if(this.readOnly) return;
|
var $this = this;
|
if(!$this.formData.CN_S_CUSTOMER){
|
wms.warning("请先选择客户");
|
return false;
|
}
|
wms.showDialogList({
|
title: '选择客户地址',
|
itemCols: $this.customAddressCols,
|
url: '/Basic/Common/GetCustomerAddress?customCode='+$this.formData.CN_S_CUSTOMER,
|
single: true,
|
paging:false,
|
btnSure: function (checkedItem) {
|
if (checkedItem.length == 0) return;
|
//赋值客户
|
$this.formData.CN_S_RECEIVER_NAME = checkedItem[0].CN_S_CONTACTS;
|
$this.formData.CN_S_PHONE = checkedItem[0].CN_S_PHONE;
|
$this.formData.CN_S_PROVINCE = checkedItem[0].CN_S_PROVINCE;
|
$this.formData.CN_S_CITY = checkedItem[0].CN_S_CITY;
|
$this.formData.CN_S_AREA = checkedItem[0].CN_S_AREA_COUNTY;
|
$this.formData.CN_S_TOWN = checkedItem[0].CN_S_TOWNSHIP_STREET;
|
$this.formData.CN_S_DETAIL_ADDRESS = checkedItem[0].CN_S_ADDRESS;
|
}
|
});
|
},
|
//选择客户
|
selectCustom: function () {
|
if(this.readOnly) return;
|
var $this = this;
|
wms.showDialogList({
|
title: '选择客户',
|
itemCols: $this.customCols,
|
condition:'customer',
|
url: '/Basic/Common/CustomList',
|
single: true,
|
btnSure: function (checkedItem) {
|
if (checkedItem.length == 0) return;
|
//赋值客户
|
$this.formData.CN_S_CUSTOMER = checkedItem[0].CN_S_CUSTOMER_CODE;
|
$this.formData.CN_S_CUSTOMER_NAME = checkedItem[0].CN_S_CUSTOMER_NAME;
|
|
ajaxManage({
|
url: '/Basic/Common/GetDefaultAddress?customCode='+$this.formData.CN_S_CUSTOMER,
|
success: function (data) {
|
if(data.Success){
|
$this.formData.CN_S_RECEIVER_NAME = data.Data? data.Data.CN_S_CONTACTS:'';
|
$this.formData.CN_S_PHONE = data.Data?data.Data.CN_S_PHONE:'';
|
$this.formData.CN_S_PROVINCE =data.Data? data.Data.CN_S_PROVINCE:'';
|
$this.formData.CN_S_CITY = data.Data?data.Data.CN_S_CITY:'';
|
$this.formData.CN_S_AREA =data.Data? data.Data.CN_S_AREA_COUNTY:'';
|
$this.formData.CN_S_TOWN =data.Data? data.Data.CN_S_TOWNSHIP_STREET:'';
|
$this.formData.CN_S_DETAIL_ADDRESS = data.Data?data.Data.CN_S_ADDRESS:'';
|
}
|
}
|
});
|
}
|
});
|
},
|
//提交
|
submit: function () {
|
var $this = this;
|
if($this.formData.OperateType=="@HH.WMS.Entitys.Common.OperateType.Edit"){
|
wms.confirm("确认提交?",function(){
|
$this.save(true);
|
});
|
@*ajaxManage({
|
url: "@Url.Action("SubmitOut")?opNo=" + $this.formData.CN_S_OP_NO,
|
success: function (data) {
|
wms.showMsg(data, function () {
|
wms.success("提交成功");
|
$this.cancel();
|
});
|
}
|
});*@
|
}else{
|
wms.warning("请先保存单据再提交");
|
}
|
},
|
//保存
|
save: function (isSubmit) {
|
var $this = this;
|
var validData = [];
|
var errorMsg = null;
|
//是否有空行
|
$.each($this.tableData, function (i, n) {
|
if (n.CN_S_ITEM_NAME) {
|
if (!n.CN_F_QUANTITY||n.CN_F_QUANTITY==0) {
|
errorMsg = "第" + (i + 1) + "行数量不正确";
|
return false;
|
}
|
validData.push(n);
|
}
|
});
|
if (errorMsg) {
|
wms.warning(errorMsg);
|
return false;
|
}
|
//没有选择行
|
if (validData.length == 0) {
|
wms.warning("请选择物料");
|
return false;
|
}
|
this.$refs["formData"].validate(function (valid) {
|
//验证必填项
|
if (valid) {
|
$this.formData.OutDtlList = $this.tableData;
|
var successMsg = "保存成功";
|
$this.formData.OperateMessage="";
|
if(isSubmit){
|
$this.formData.OperateMessage = "@HH.WMS.Common.Constants.Operate_EditAndSubmit";
|
successMsg = "提交成功";
|
}
|
//保存数据
|
ajaxManage({
|
url: "@Url.Action("OutEdit")",
|
data: JSON.stringify($this.formData),
|
traditional: true,
|
success: function (data) {
|
wms.showMsg(data, function () {
|
wms.success(successMsg);
|
$this.formData.OperateType = "@HH.WMS.Entitys.Common.OperateType.Edit";
|
$this.hasEdit = false;
|
if(isSubmit){
|
parent.tab.tabDeleteRefresh($this.currentTitle,GetUrlParam("mainPage"));
|
}
|
});
|
}
|
});
|
} else {
|
wms.warning("验证不通过");
|
return false;
|
}
|
});
|
return true;
|
},
|
//添加空行
|
addRow: function () {
|
var $this = this;
|
this.tableData.push({
|
CN_S_ITEM_CODE: '',
|
CN_S_ITEM_NAME: '',
|
CN_S_ITEM_STATE: '合格',
|
CN_S_MODEL: '',
|
CN_S_FIGURE_NO: '',
|
CN_C_AUTO_INOUT:$this.isOutIn,
|
CN_S_MEASURE_UNIT: '',
|
CN_S_EXT1 : '',
|
CN_F_QUANTITY: '',
|
CN_S_PRODUCTION_BATCH: '',
|
CN_S_NOTE: ''
|
});
|
},
|
//删除当前行
|
deleteRow: function (index, rows) {
|
if (rows.length > 1)
|
rows.splice(index, 1);
|
},
|
//点击单元格
|
selectItem: function (row) {
|
if(this.readOnly) return;
|
var $this = this;
|
//点击item框弹出选择
|
$this.currentRow = row;
|
var owner = $this.formData.CN_S_OWNER;
|
var title = owner?'选择物料('+owner+')':'选择物料';
|
//父页面弹窗
|
wms.showDialogList({
|
title: title,
|
itemCols: $this.itemCols,
|
condition: 'item',
|
url: '/Basic/Common/ItemList?itemOwner='+owner,
|
data:{itemOwner:owner},
|
btnSure: function (checkedItems) {
|
if (checkedItems.length > 0) {
|
for (var i = 0; i < checkedItems.length; i++) {
|
//定义一个空行
|
var itemData = {
|
CN_S_ITEM_CODE: '',
|
CN_S_ITEM_NAME: '',
|
CN_S_ITEM_STATE: '合格',
|
CN_S_MODEL: '',
|
CN_S_FIGURE_NO: '',
|
CN_C_AUTO_INOUT:$this.isOutIn,
|
CN_S_MEASURE_UNIT: '',
|
CN_S_EXT1:'',
|
CN_F_QUANTITY: '',
|
CN_S_PRODUCTION_BATCH: '',
|
CN_S_NOTE: ''
|
};
|
//赋值定义的空行数据
|
itemData.CN_S_ITEM_CODE = checkedItems[i].CN_S_ITEM_CODE;
|
itemData.CN_S_ITEM_NAME = checkedItems[i].CN_S_ITEM_NAME;
|
itemData.CN_S_MODEL = checkedItems[i].CN_S_MODEL;
|
itemData.CN_S_FIGURE_NO = checkedItems[i].CN_S_FIGURE_NO;
|
itemData.CN_S_MEASURE_UNIT = checkedItems[i].CN_S_MEASURE_UNIT;
|
itemData.CN_S_EXT1 = checkedItems[i].CN_S_CONERSION;
|
//有重复的item 直接contiune
|
var exitsItem = false;
|
for (var j = 0; j < $this.tableData.length; j++) {
|
if ($this.tableData[j].CN_S_ITEM_CODE && ($this.tableData[j].CN_S_ITEM_CODE == checkedItems[i].CN_S_ITEM_CODE)) {
|
exitsItem = true;
|
break;
|
}
|
}
|
if (exitsItem) {
|
continue;
|
}
|
//赋值当前选择行的数据
|
if (i == 0) {
|
$this.currentRow.CN_S_ITEM_CODE = itemData.CN_S_ITEM_CODE;
|
$this.currentRow.CN_S_ITEM_NAME = itemData.CN_S_ITEM_NAME;
|
$this.currentRow.CN_S_MODEL = itemData.CN_S_MODEL;
|
$this.currentRow.CN_S_FIGURE_NO = itemData.CN_S_FIGURE_NO;
|
$this.currentRow.CN_S_MEASURE_UNIT = itemData.CN_S_MEASURE_UNIT;
|
$this.currentRow.CN_S_EXT1 = itemData.CN_S_EXT1;
|
|
$this.currentItem = itemData.CN_S_ITEM_CODE;
|
$this.currentItemState = $this.currentRow.CN_S_ITEM_STATE;
|
$this.setItemStockQty();
|
}
|
else {
|
//从上往下循环有空行优先填充空行
|
var notExistsEmpty = true;
|
for (var j = 0; j < $this.tableData.length; j++) {
|
if (!$this.tableData[j].CN_S_ITEM_CODE) {
|
$this.tableData[j].CN_S_ITEM_CODE = itemData.CN_S_ITEM_CODE;
|
$this.tableData[j].CN_S_ITEM_NAME = itemData.CN_S_ITEM_NAME;
|
$this.tableData[j].CN_S_MODEL = itemData.CN_S_MODEL;
|
$this.tableData[j].CN_S_FIGURE_NO = itemData.CN_S_FIGURE_NO;
|
$this.tableData[j].CN_S_MEASURE_UNIT = itemData.CN_S_MEASURE_UNIT;
|
$this.tableData[j].CN_S_EXT1 = itemData.CN_S_EXT1;
|
notExistsEmpty = false;
|
break;
|
}
|
}
|
//没有空行了,追加一行
|
if (notExistsEmpty)
|
$this.tableData.push(itemData);
|
}
|
}
|
} else {
|
wms.warning("未选择物料");
|
}
|
}
|
});
|
},
|
},
|
mounted:function(){
|
var $this = this;
|
if('@(!string.IsNullOrEmpty(Model.OperateMessage))'=='True'){
|
wms.warning("@Model.OperateMessage");
|
parent.tab.tabDeleteRefresh($this.currentTitle);
|
}
|
//查看和审核不可编辑
|
if($this.formData.OperateType=="@HH.WMS.Entitys.Common.OperateType.Read"||
|
$this.formData.OperateType=="@HH.WMS.Entitys.Common.OperateType.Audit"){
|
$this.readOnly = true;
|
$this.isOutIn = true;
|
$this.audit = $this.formData.OperateType=="@HH.WMS.Entitys.Common.OperateType.Audit";
|
}
|
}
|
});
|
</script>
|
}
|