@{
|
ViewBag.Title = "ArrivalEdit";
|
Layout = "~/Views/Shared/_LayoutVue.cshtml";
|
}
|
@model TN_WM_ARRIVAL_MSTEntity
|
@section head{
|
<style type="text/css">
|
.tb-edit .el-input, .tb-edit .el-select {
|
display: none;
|
}
|
|
.tb-edit .current-row .el-input, .tb-edit .current-row .el-select {
|
display: block;
|
}
|
|
.tb-edit .current-row .el-input + span, .tb-edit .current-row .el-select + span {
|
display: none;
|
}
|
|
table th.must div:before {
|
content: '*';
|
color: #ff1818;
|
}
|
</style>
|
}
|
<el-container id="arrivalDiv" 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 v-need="'DHD_ARRIVAL_NO'" label="到货单号:" prop="CN_S_ARRIVAL_NO">
|
<el-input v-model="formData.CN_S_ARRIVAL_NO" v-bind:disabled="readOnly" readonly="readonly" required size="mini"></el-input>
|
</el-form-item>
|
<el-form-item v-need="'DHD_OP_TYPE'" label="业务类型:" prop="CN_S_OP_TYPE">
|
<hh-select-url v-bind:disabled="readOnly" v-model="formData.CN_S_OP_TYPE" url="/Basic/Common/GetOperationTypeList?opType=到货单"
|
valuefield="CN_S_OPERATION_NAME"
|
textfield="CN_S_OPERATION_NAME"
|
datafield="Data" v-bind:usedefault="false" @*v-on:input="onSelectOpType"*@></hh-select-url>
|
</el-form-item>
|
<el-form-item v-need="'DHD_STOCK_CODE'" label="仓库编码:" prop="CN_S_STOCK_CODE">
|
<hh-select-url v-bind:disabled="readOnly" 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:usedefault="false"
|
v-on:success="stockSuccess"></hh-select-url>
|
</el-form-item>
|
<el-form-item v-need="'DHD_LOT_CODE'" label="批次号:" prop="CN_S_LOT_CODE">
|
<el-input v-model="formData.CN_S_LOT_CODE"
|
readonly="readonly"
|
required
|
v-bind:disabled="readOnly"
|
size="mini">
|
@*<i slot="suffix" v-on:click="selectLot" class="el-icon-more"></i>*@
|
</el-input>
|
</el-form-item>
|
<el-form-item v-need="'DHD_OP_FROM'" label="来源业务:" prop="CN_S_OP_FROM" v-if="!IsHandWork">
|
<hh-select-url v-bind:disabled="readOnly" v-model="formData.CN_S_OP_FROM" url="/Basic/Common/GetDictionary?dictName=到货单来源业务"
|
valuefield="NAME"
|
textfield="NAME"></hh-select-url>
|
</el-form-item>
|
<el-form-item v-need="'DHD_FROM_NO'" label="来源单号:" prop="CN_S_FROM_NO" v-if="!IsHandWork">
|
<el-input v-model="formData.CN_S_FROM_NO"
|
readonly="readonly"
|
required
|
v-bind:disabled="readOnly"
|
size="mini">
|
<i slot="suffix" v-on:click="selectFromNo" class="el-icon-more"></i>
|
</el-input>
|
</el-form-item>
|
<el-form-item v-need="'DHD_DELIVERER'" label="送货人:" prop="CN_S_DELIVERER">
|
<hh-select-url v-bind:disabled="readOnly" v-model="formData.CN_S_DELIVERER" url="/Basic/Common/GetReceiverUser?orgName=收货人"
|
valuefield="userName"
|
textfield="userName"></hh-select-url>
|
</el-form-item>
|
<el-form-item v-need="'DHD_DELIVERY_NOTE'" label="送货单号:" prop="CN_S_DELIVERY_NOTE">
|
<el-input v-model="formData.CN_S_DELIVERY_NOTE" required size="mini" v-bind:disabled="readOnly"></el-input>
|
</el-form-item>
|
<el-form-item v-need="'DHD_VENDOR_NAME'" label="供应商名称:" prop="CN_S_VENDOR_NAME">
|
<el-input v-model="formData.CN_S_VENDOR_NAME"
|
readonly="readonly"
|
required
|
v-bind:disabled="readOnly"
|
size="mini">
|
<i slot="suffix" v-on:click="selectVendor" class="el-icon-more"></i>
|
</el-input>
|
</el-form-item>
|
<el-form-item v-need="'DHD_VENDOR_NO'" label="供应商编码:" prop="CN_S_VENDOR_NO">
|
<el-input v-model="formData.CN_S_VENDOR_NO" readonly="readonly" v-bind:disabled="readOnly" required size="mini"></el-input>
|
</el-form-item>
|
<el-form-item v-need="'DHD_DATE'" label="到货日期:" prop="CN_T_DATE">
|
<el-date-picker v-model="formData.CN_T_DATE" v-bind:disabled="readOnly" value-format="yyyy-MM-dd" size="mini" style="width: 100%;" type="date" placeholder="请选择日期"></el-date-picker>
|
</el-form-item>
|
<el-form-item v-need="'DHD_OPERATOR'" label="制单人:" prop="CN_S_OPERATOR">
|
<el-input v-model="formData.CN_S_OPERATOR" readonly="readonly" v-bind:disabled="readOnly" required size="mini"></el-input>
|
</el-form-item>
|
<el-form-item v-need="'DHD_CREATE'" label="制单日期:" prop="CN_T_CREATE">
|
<el-date-picker v-model="formData.CN_T_CREATE" size="mini" v-bind:disabled="readOnly" value-format="yyyy-MM-dd" style="width: 100%;" type="date" placeholder="请选择日期"></el-date-picker>
|
</el-form-item>
|
<el-form-item v-need="'DHD_STATE'" label="状态:" prop="CN_S_STATE">
|
<hh-select-url v-bind:disabled="true" v-model="formData.CN_S_STATE" url="/Basic/Common/GetDictionary?dictName=到货单状态"
|
valuefield="NAME"
|
textfield="NAME"></hh-select-url>
|
</el-form-item>
|
<el-form-item v-need="'DHD_NOTE'" label="摘要:" prop="CN_S_NOTE">
|
<el-input v-model="formData.CN_S_NOTE" v-bind:disabled="readOnly" size="mini" style="width:210px"></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%;"
|
v-bind:height="tableHeight" border highlight-current-row size="mini" v-bind:header-cell-class-name="must">
|
<el-table-column label="操作" width="50" v-if="!readOnly" align="center">
|
<template scope="scope">
|
<i style="cursor:pointer" class="el-icon-plus" v-if="IsHandWork" v-on:click="addRow" title="新增行"></i>
|
<i style="cursor:pointer" class="el-icon-minus" v-on:click="deleteRow(scope.$index, tableData)" title="删除行"></i>
|
</template>
|
</el-table-column>
|
<el-table-column type="index" width="45" label="行号">
|
</el-table-column>
|
<el-table-column v-if="$_need('DHD_ITEM_CODE')" label="物料编码" prop="CN_S_ITEM_CODE" width="180" align="center">
|
<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(scope.row,scope.$index)">
|
<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 v-if="$_need('DHD_ITEM_NAME')" label="物料名称" prop="CN_S_ITEM_NAME" width="180" align="center"></el-table-column>
|
<el-table-column v-if="$_need('DHD_ITEM_STATE')" label="物料状态" v-if="wmsApp.ss" prop="CN_S_ITEM_STATE" width="120" 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"></hh-select-url>
|
<span>{{scope.row.CN_S_ITEM_STATE}}</span>
|
</template>
|
</el-table-column>
|
|
<el-table-column v-if="$_need('DHD_MODEL')" label="规格型号" prop="CN_S_MODEL" width="120"></el-table-column>
|
<el-table-column v-if="$_need('DHD_FIGURE_NO')" label="图号" prop="CN_S_FIGURE_NO" width="120"></el-table-column>
|
<el-table-column v-if="$_need('DHD_MEASURE_UNIT')" label="计量单位" prop="CN_S_MEASURE_UNIT" width="70" align="center"></el-table-column>
|
<el-table-column v-if="$_need('DHD_ORDER_QTY')&&(!IsHandWork)" label="订单数量" prop="CN_F_ORDER_QTY" width="70" align="center"></el-table-column>
|
<el-table-column v-if="$_need('DHD_QUANTITY')" label="数量" prop="CN_F_QUANTITY" width="120" align="center">
|
<template scope="scope">
|
<el-input-number v-model="scope.row.CN_F_QUANTITY"
|
v-bind:min="0"
|
size="mini" v-bind:precision="2" v-on:change="checkQty(scope.row,scope.$index)"
|
v-bind:disabled="readOnly" style="width:100px"></el-input-number>
|
<span>{{scope.row.CN_F_QUANTITY}}</span>
|
</template>
|
</el-table-column>
|
|
<el-table-column v-if="$_need('DHD_PRODUCTION')" label="生产日期" prop="CN_T_PRODUCTION" width="150">
|
<template scope="scope">
|
<el-date-picker v-model="scope.row.CN_T_PRODUCTION" v-on:change="changeTproduction(scope.row,scope.$index)" v-bind:disabled="readOnly" value-format="yyyy-MM-dd" size="mini" style="width: 100%;" type="date" placeholder="请选择日期"></el-date-picker>
|
<span>{{scope.row.CN_T_PRODUCTION}}</span>
|
</template>
|
</el-table-column>
|
<el-table-column v-if="$_need('DHD_WARRNTY_PARTS')" label="质保期(/天)" prop="CN_F_WARRNTY_PARTS" width="85"></el-table-column>
|
<el-table-column v-if="$_need('DHD_EXPIRATION')" label="过期日期" prop="CN_T_EXPIRATION" width="100"></el-table-column>
|
<el-table-column v-if="$_need('DHD_PRODUCTION_BATCH')" label="生产批次" prop="CN_S_PRODUCTION_BATCH" width="120" align="center">
|
<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 v-if="$_need('DHD_PURCHASE_PRICE')" label="采购价格" prop="CN_F_PURCHASE_PRICE" width="150" align="center">
|
<template scope="scope">
|
<el-input-number v-model="scope.row.CN_F_PURCHASE_PRICE"
|
v-bind:min="0"
|
size="mini" v-on:change="checkPrice(scope.row,scope.$index)"
|
v-bind:disabled="readOnly" style="width:130px"></el-input-number>
|
<span>{{scope.row.CN_F_PURCHASE_PRICE}}</span>
|
</template>
|
</el-table-column>
|
<el-table-column v-if="$_need('DHD_PUT_POSITION')" label="摆放位置" prop="CN_S_PUT_POSITION" width="120" align="center">
|
<template scope="scope">
|
@*<el-input size="mini" type="text" v-model="scope.row.CN_S_PUT_POSITION" v-bind:disabled="readOnly" placeholder=""></el-input>*@
|
<el-autocomplete size="mini" @*class="inline-input"*@
|
v-model="scope.row.CN_S_PUT_POSITION"
|
v-bind:fetch-suggestions="querySearch"
|
placeholder=""
|
v-bind:trigger-on-focus="false"
|
v-on:select="handleSelect"></el-autocomplete>
|
<span>{{scope.row.CN_S_PUT_POSITION}}</span>
|
</template>
|
</el-table-column>
|
<el-table-column v-if="$_need('DHD_DTL_NOTE')" label="备注" prop="CN_S_NOTE" width="180">
|
<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-row style="padding:20px;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:700px;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_C_IS_WARRNTY_PARTS" width="80"></el-table-column>
|
<el-table-column label="图号" prop="CN_S_FIGURE_NO" width="130"></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-column label="规格型号" prop="CN_S_MODEL"></el-table-column>
|
</el-table>
|
</el-card>
|
</transition>
|
</el-container>
|
@section scripts{
|
<script>
|
$(function () {
|
|
});
|
new Vue({
|
el: '#arrivalDiv',
|
mixins: [useAutoHeight,wmsApps],
|
computed: {
|
tableHeight: function () {
|
return this.autoHeight - 210;
|
},
|
itemTop:function(){
|
return this.itemTable.top+28;
|
},
|
itemLeft:function(){
|
return this.itemTable.left;
|
}
|
},
|
data: {
|
itemTable:{
|
show:false,
|
top:0,
|
left:0
|
},
|
where: {},
|
restaurants: [],
|
IsHandWork: true,
|
readOnly :false,
|
ParentPage:"",
|
SpecialOpType:"调拨入库",
|
formData: {
|
CN_S_ARRIVAL_NO: "@Model.CN_S_ARRIVAL_NO",
|
CN_S_OP_TYPE: "@Model.CN_S_OP_TYPE",
|
CN_S_STOCK_CODE: "@Model.CN_S_STOCK_CODE",
|
CN_T_DATE: "@Model.CN_T_DATE",
|
CN_S_OP_FROM: "@Model.CN_S_OP_FROM",
|
CN_S_FROM_NO: "@Model.CN_S_FROM_NO",
|
CN_S_LOT_CODE: "@Model.CN_S_LOT_CODE",
|
CN_S_STATE: "@Model.CN_S_STATE",
|
CN_S_VENDOR_NO: "@Model.CN_S_VENDOR_NO",
|
CN_S_VENDOR_NAME: "@Model.CN_S_VENDOR_NAME",
|
CN_S_DELIVERER: "@Model.CN_S_DELIVERER",
|
CN_S_DELIVERY_NOTE: "@Model.CN_S_DELIVERY_NOTE",
|
CN_S_OPERATOR: "@Model.CN_S_OPERATOR",
|
CN_T_CREATE: "@Model.CN_T_CREATE",
|
CN_S_NOTE: "@Model.CN_S_NOTE",
|
OperateType: "@Model.OperateType",
|
DTLEntity: [],
|
OperateMessage:""
|
},
|
formRules: {
|
CN_S_ARRIVAL_NO: [
|
{ required: true, message: ' ', trigger: 'blur' }
|
],
|
CN_S_OP_TYPE: [
|
{ required: true, message: ' ', trigger: 'change' }
|
],
|
CN_S_FROM_NO: [
|
{ required: true, message: ' ', trigger: 'change' }
|
],
|
CN_S_STOCK_CODE: [
|
{ required: true, message: ' ', trigger: 'change' }
|
],
|
CN_S_STATE: [
|
{ required: true, message: ' ', trigger: 'change' }
|
],
|
//CN_S_DELIVERER: [
|
// { required: true, message: ' ', trigger: 'change' }
|
//],
|
//CN_S_DELIVERY_NOTE: [
|
// { required: true, message: ' ', trigger: 'change' }
|
//],
|
//CN_S_VENDOR_NAME: [
|
// { required: true, message: ' ', trigger: 'change' }
|
//],
|
CN_T_DATE: [
|
{ required: true, message: ' ', trigger: 'change' }
|
],
|
},
|
itemCols: [
|
{ 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_C_IS_WARRNTY_PARTS', n: '是否质保件' },
|
{ f: 'CN_F_WARRNTY_PARTS', n: '质保期' },
|
{ f: 'CN_S_MEASURE_UNIT', n: '计量单位' }
|
],
|
vendorCols: [
|
{ f: 'CN_S_VENDOR_NAME', n: '供应商全称' },
|
{ f: 'CN_S_VENDOR_CODE', n: '供应商编码' },
|
{ f: 'CN_S_VENDOR_SHORT_NAME', n: '供应商简称' },
|
{ f: 'CN_S_VENDOR_TYPE', n: '供应商类型' }
|
],
|
lotCols: [
|
{ f: 'CN_S_LOT_CODE', n: '批次编码' },
|
{ f: 'CN_S_VENDOR_NO', n: '供应商编码' }
|
],
|
fromNoCols: [
|
{ f: 'CN_S_OP_NO', n: '单号' },
|
{ f: 'CN_S_LOT_CODE', n: '批次编码' },
|
{ f: 'CN_S_VENDOR_CODE', n: '供应商编码' },
|
{ f: 'CN_S_VENDOR_NAME', n: '供应商名称' }
|
],
|
stockCols: [
|
{ f: 'CN_S_STOCK_CODE', n: '仓库编码' },
|
{ f: 'CN_S_STOCK_NAME', n: '仓库名称' },
|
{ f: 'CN_S_STOCK_TYPE', n: '仓库类型' },
|
{ f: 'CN_C_IS_INIT', n: '初始化状态' },
|
{ f: 'CN_S_STATUS', n: '仓库状态' }
|
],
|
@if(Model.OperateType==
|
HH.WMS.Entitys.Common.OperateType.Add
|
|| Model.DTLEntity == null
|
|| !Model.DTLEntity.Any())
|
{
|
<text>
|
tableData: [],
|
</text>
|
}
|
else
|
{
|
<text>
|
tableData: @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model.DTLEntity, Html.DateFormatter())),
|
</text>
|
}
|
//是否打开父页面弹窗列表
|
selectItemDialog: false,
|
//选中当前物料的行数据
|
currentRow: {},
|
form: {
|
name: '',
|
region: '',
|
date1: '',
|
date2: '',
|
delivery: false,
|
type: [],
|
resource: '',
|
desc: ''
|
},
|
//父页面选择的物料数据
|
selections: [],
|
currentTitle:parent.$(".layui-tab-title li[class='layui-this'] cite").text(),
|
emptyValue:'',
|
itemData:[],
|
hasEdit:false,
|
},
|
watch:{
|
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: {
|
//onSelectOpType:function(){
|
// var $this = this;
|
// var opType = $this.formData.CN_S_OP_TYPE;
|
// var tableDataTemp=$this.tableData;
|
// if(opType==$this.SpecialOpType){
|
// for (var j = 0; j < tableDataTemp.length; j++) {
|
// tableDataTemp[j].CN_S_ITEM_STATE="待检";
|
// }
|
// }
|
// else{
|
// for (var j = 0; j < tableDataTemp.length; j++) {
|
// tableDataTemp[j].CN_S_ITEM_STATE="合格";
|
// }
|
// }
|
// $this.tableData=tableDataTemp;
|
//},
|
must:function(obj) {
|
var $this = this;
|
if(obj.columnIndex == 2 || obj.columnIndex == 3) {
|
return 'must';
|
}
|
//if( $this.wmsApp.ss && obj.columnIndex == 12){
|
// return 'must';
|
//}
|
},
|
stockSuccess:function(data){
|
if(data.length==1)
|
this.formData.CN_S_STOCK_CODE = data[0];
|
},
|
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"));
|
}
|
},
|
selectLot: function () {
|
if(this.readOnly) return;
|
if((!this.IsHandWork))return;
|
var $this = this;
|
wms.showDialogList({
|
title: '选择批次',
|
show: true,
|
itemCols: $this.lotCols,
|
url: '/Basic/Common/GetLotList',
|
single: true,
|
btnSure: function (checkedItem) {
|
$this.formData.CN_S_LOT_CODE = checkedItem[0].CN_S_LOT_CODE;
|
console.log($this.formData);
|
}
|
});
|
},
|
selectVendor: function () {
|
if(this.readOnly) return;
|
if((!this.IsHandWork))return;
|
var $this = this;
|
wms.showDialogList({
|
title: '选择供应商',
|
show: true,
|
itemCols: $this.vendorCols,
|
url: '/Basic/Common/GetVendorList',
|
single: true,
|
btnSure: function (checkedItem) {
|
$this.formData.CN_S_VENDOR_NO = checkedItem[0].CN_S_VENDOR_CODE;
|
$this.formData.CN_S_VENDOR_NAME = checkedItem[0].CN_S_VENDOR_NAME;
|
console.log($this.formData);
|
}
|
});
|
},
|
selectFromNo:function(){
|
if(this.readOnly) return;
|
var $this = this;
|
var opFrom = $this.formData.CN_S_OP_FROM;
|
if(opFrom=="")
|
{
|
wms.warning("请先选择来源业务!");
|
return false;
|
}
|
var fromUrl= '';
|
if(opFrom.indexOf("入库")>=0)
|
{
|
fromUrl= '/Instock/InOrder/GetFromInOrderList?InOrderType='+opFrom;
|
}
|
wms.showDialogList({
|
title: '选择来源单据',
|
show: true,
|
itemCols: $this.fromNoCols,
|
url: fromUrl,
|
single: true,
|
btnSure: function (checkedItem) {
|
$this.formData.CN_S_FROM_NO = checkedItem[0].CN_S_OP_NO;
|
$this.formData.CN_S_OP_TYPE = checkedItem[0].CN_S_OP_TYPE;
|
$this.formData.CN_S_STOCK_CODE = checkedItem[0].CN_S_STOCK_CODE;
|
$this.formData.CN_S_LOT_NO = checkedItem[0].CN_S_LOT_CODE;
|
$this.formData.CN_S_VENDOR_NO = checkedItem[0].CN_S_VENDOR_CODE;
|
$this.formData.CN_S_VENDOR_NAME = checkedItem[0].CN_S_VENDOR_NAME;
|
|
|
if(opFrom.indexOf("入库")>=0)
|
{
|
fromUrl= '/Instock/InOrder/GetFromInOrderDtl?InOrderNo=' + checkedItem[0].CN_S_OP_NO;
|
}
|
ajaxManage({
|
url: fromUrl,
|
success: function (data) {
|
$this.tableData=data;
|
$this.GetItemEntity();
|
console.log("******");
|
console.log( $this.tableData);
|
}
|
});
|
}
|
});
|
},
|
GetItemEntity:function(){
|
var $this = this;
|
for (var j = 0; j < $this.tableData.length; j++) {
|
if ($this.tableData[j].CN_S_ITEM_CODE!="") {
|
var itemCode= $this.tableData[j].CN_S_ITEM_CODE ;
|
ajaxManage({
|
url: "/Basic/Common/GetItemModel?itemCode=" + itemCode,
|
success: function (data) {
|
if(data.Success)
|
{
|
$this.tableData[j].CN_F_WARRNTY_PARTS = data.Data.CN_F_WARRNTY_PARTS;
|
}
|
else
|
{
|
$this.tableData[j].CN_F_WARRNTY_PARTS ="0";
|
}
|
}
|
});
|
}
|
}
|
},
|
selectStock: function () {
|
if(this.readOnly) return;
|
if((!this.IsHandWork))return;
|
var $this = this;
|
wms.showDialogList({
|
title: '选择仓库',
|
show: true,
|
itemCols: $this.stockCols,
|
url: '/Basic/Common/StockList',
|
single: true,
|
paging: false,
|
btnSure: function (checkedItem) {
|
$this.formData.CN_S_STOCK_CODE = checkedItem[0].CN_S_STOCK_CODE;
|
}
|
});
|
},
|
//提交
|
submit: function () {
|
var $this = this;
|
if($this.formData.OperateType=="@HH.WMS.Entitys.Common.OperateType.Edit"){
|
wms.confirm("确认提交?",function(){
|
$this.save(true);
|
});
|
|
@*wms.confirm("确认提交?",function(){
|
ajaxManage({
|
url: "@Url.Action("ArrivalSubmit")?arrivalNo=" + $this.formData.CN_S_ARRIVAL_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;
|
var posLocationList=[];
|
$.each($this.tableData, function (i, n) {
|
if (n.CN_S_ITEM_CODE) {
|
if (!n.CN_F_QUANTITY) {
|
errorMsg = "第" + (i + 1) + "行数量不可为空!";
|
return false;
|
}
|
//杭叉独有判断
|
if ($_need('DHD_PUT_POSITION')){
|
if(n.CN_F_ORDER_QTY!="" && n.CN_F_ORDER_QTY!=null)
|
{
|
if (n.CN_F_QUANTITY>n.CN_F_ORDER_QTY) {
|
errorMsg = "第" + (i + 1) + "行数量不可大于可到货订单数量!";
|
return false;
|
}
|
}
|
var exist= $.inArray(n.CN_S_PUT_POSITION , posLocationList);
|
if(exist>=0)
|
{
|
errorMsg = "第" + (i + 1) + "行摆放位置有重复!";
|
return false;
|
}
|
var havePos=-1;
|
var restaurant =JSON.parse(JSON.stringify($this.restaurants));
|
$.each(restaurant,function(posi,entity){
|
if(entity.value==n.CN_S_PUT_POSITION)
|
{
|
havePos=posi;
|
return false;
|
}
|
});
|
if(havePos==-1)
|
{
|
errorMsg = "第" + (i + 1) + "行摆放位置不存在!";
|
return false;
|
}
|
posLocationList.push(n.CN_S_PUT_POSITION);
|
}
|
|
//三生独有判断
|
if ($this.wmsApp.ss && (!n.CN_S_PRODUCTION_BATCH)) {
|
errorMsg = "第" + (i + 1) + "行生产批次必填!";
|
return false;
|
}
|
validData.push(n);
|
|
//三生独有判断
|
if ($this.wmsApp.ss){
|
if (n.CN_T_EXPIRATION==""||n.CN_T_EXPIRATION==undefined) {
|
if(!(n.CN_F_WARRNTY_PARTS=="0"|| n.CN_F_WARRNTY_PARTS==null))
|
{
|
errorMsg = "第" + (i + 1) + "行物料 "+ n.CN_S_ITEM_CODE +" 是质保件,请维护生产日期!";
|
return false;
|
}
|
}
|
validData.push(n);
|
}
|
if ($this.wmsApp.ss || $this.wmsApp.jxx){
|
if (n.CN_C_IS_LOT_OUT=="Y" || n.CN_C_IS_LOT_OUT=="y") {
|
if(n.CN_S_PRODUCTION_BATCH==""|| n.CN_S_PRODUCTION_BATCH==null)
|
{
|
errorMsg = "第" + (i + 1) + "行物料 "+ n.CN_S_ITEM_CODE +" 管控批次,请填写生产批次号!";
|
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.DTLEntity = $this.tableData;
|
var successMsg = "保存成功";
|
$this.formData.OperateMessage = "";
|
if(isSubmit){
|
$this.formData.OperateMessage = "@HH.WMS.Common.Constants.Operate_EditAndSubmit";
|
successMsg = "提交成功";
|
}
|
//保存数据
|
ajaxManage({
|
url: "@Url.Action("SaveArrival")",
|
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)
|
{
|
var currentTitle = parent.$(".layui-tab-title li[class='layui-this'] cite").text();
|
parent.tab.tabDeleteRefresh(currentTitle,GetUrlParam("mainPage"));
|
}
|
});
|
}
|
});
|
|
} else {
|
wms.warning("验证不通过");
|
return false;
|
}
|
});
|
return true;
|
},
|
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);
|
});
|
},
|
checkPrice:function(row,index){
|
var qty=row.CN_F_PURCHASE_PRICE+"";
|
if(row.CN_F_PURCHASE_PRICE>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_PURCHASE_PRICE=qty;
|
this.$set($this.tableData,index,row);
|
});
|
},
|
changeSelect: function (val) {
|
this.selections = val;
|
},
|
changeTproduction: function(row,index){
|
if(row.CN_F_WARRNTY_PARTS!="0"&&row.CN_F_WARRNTY_PARTS!=0&&row.CN_F_WARRNTY_PARTS!=""&&row.CN_F_WARRNTY_PARTS!=null)
|
{
|
if(row.CN_T_PRODUCTION!=null){
|
var date = new Date(row.CN_T_PRODUCTION);
|
var exp=this.addDate(date,row.CN_F_WARRNTY_PARTS);
|
row.CN_T_EXPIRATION = exp;
|
}
|
else{
|
row.CN_T_EXPIRATION ="";
|
}
|
var $this = this;
|
this.$set($this.tableData,index,row);
|
}
|
},
|
addDate: function(date, days){
|
if (days == undefined || days == '') {
|
days = 1;
|
}
|
if(days==0)
|
{
|
return;
|
}
|
var date = new Date(date);
|
date.setDate(date.getDate() + days);
|
var month = date.getMonth() + 1;
|
var day = date.getDate();
|
return date.getFullYear() + '-' + this.getFormatDate(month) + '-' + this.getFormatDate(day);
|
},
|
getFormatDate:function(arg){
|
if (arg == undefined || arg == '') {
|
return '';
|
}
|
|
var re = arg + '';
|
if (re.length < 2) {
|
re = '0' + re;
|
}
|
|
return re;
|
},
|
addRow: function () {
|
var $this = this;
|
this.tableData.push({
|
CN_S_ITEM_CODE: '',
|
CN_S_ITEM_NAME: '',
|
CN_S_ITEM_STATE: $this.wmsApp.ss ? '待检':'合格',
|
CN_S_MODEL: '',
|
CN_S_FIGURE_NO: '',
|
CN_S_MEASURE_UNIT: '',
|
CN_F_QUANTITY: '',
|
CN_F_PURCHASE_PRICE: '',
|
CN_S_REMARK: ''
|
});
|
},
|
deleteRow: function (index, rows) {
|
if (rows.length > 1)
|
rows.splice(index, 1);
|
},
|
//#region 下拉物料相关
|
//物料编码文本框鼠标离开事件
|
itemInputBlur:function(row,index){
|
if(row.CN_S_ITEM_NAME == "") row.CN_S_ITEM_CODE = "";
|
var $this = this;
|
setTimeout(function(){
|
$this.itemTable.show = false;
|
},200);
|
},
|
//下拉选择物料行点击事件
|
itemRowClick:function(row, event, column){
|
var $this = this;
|
var isExistsItem = false;
|
if($this.tableData.length>1)
|
$.each($this.tableData,function(i,n){
|
if(n.CN_S_ITEM_CODE&&(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_C_IS_LOT_OUT = row.CN_C_IS_LOT_OUT;
|
this.currentRow.CN_F_WARRNTY_PARTS = row.CN_F_WARRNTY_PARTS;
|
}else{
|
wms.warning("该物料已存在!");
|
return false;
|
}
|
},
|
//物料编码文本框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_MODEL = this.emptyValue;
|
row.CN_S_FIGURE_NO = this.emptyValue;
|
row.CN_S_MEASURE_UNIT = this.emptyValue;
|
row.CN_F_QUANTITY = this.emptyValue;
|
row.CN_S_NOTE= this.emptyValue;
|
row.CN_F_WARRNTY_PARTS= this.emptyValue;
|
|
row.CN_T_PRODUCTION= this.emptyValue;
|
row.CN_T_EXPIRATION= this.emptyValue;
|
this.$set($this.tableData,index,row);
|
},
|
//点击单元格
|
selectItem: function (row) {
|
if(this.readOnly) return;
|
var $this = this;
|
//点击item框弹出选择
|
$this.currentRow = row;
|
//父页面弹窗
|
wms.showDialogList({
|
title: '选择物料',
|
itemCols: $this.itemCols,
|
condition: 'item',
|
url: '/Basic/Common/ItemList',
|
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: $this.wmsApp.ss ? '待检':'合格',
|
CN_S_MODEL: '',
|
CN_S_FIGURE_NO: '',
|
CN_S_MEASURE_UNIT: '',
|
CN_F_QUANTITY: '',
|
CN_C_IS_LOT_OUT:'',
|
CN_F_PURCHASE_PRICE: '',
|
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_ITEM_STATE = $this.wmsApp.ss ? '待检':'合格';
|
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_C_IS_LOT_OUT = checkedItems[i].CN_C_IS_LOT_OUT;
|
itemData.CN_F_WARRNTY_PARTS = checkedItems[i].CN_F_WARRNTY_PARTS;
|
//有重复的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) {
|
wms.warning("存在重复物料行,已自动过滤!");
|
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_ITEM_STATE = $this.wmsApp.ss ? '待检':'合格';
|
$this.currentRow.CN_S_MODEL = itemData.CN_S_MODEL;
|
$this.currentRow.CN_S_FIGURE_NO = itemData.CN_S_FIGURE_NO;
|
$this.currentRow.CN_C_IS_LOT_OUT = itemData.CN_C_IS_LOT_OUT;
|
$this.currentRow.CN_S_MEASURE_UNIT = itemData.CN_S_MEASURE_UNIT;
|
$this.currentRow.CN_F_WARRNTY_PARTS = itemData.CN_F_WARRNTY_PARTS;
|
}
|
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_ITEM_STATE = $this.wmsApp.ss ? '待检':'合格';
|
$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_C_IS_LOT_OUT = itemData.CN_C_IS_LOT_OUT;
|
$this.tableData[j].CN_S_MEASURE_UNIT = itemData.CN_S_MEASURE_UNIT;
|
$this.tableData[j].CN_F_WARRNTY_PARTS = itemData.CN_F_WARRNTY_PARTS;
|
notExistsEmpty = false;
|
break;
|
}
|
}
|
//没有空行了,追加一行
|
if (notExistsEmpty)
|
$this.tableData.push(itemData);
|
}
|
}
|
} else {
|
wms.warning("未选择物料");
|
}
|
}
|
});
|
},
|
querySearch:function(queryString, cb) {
|
var $this = this;
|
var ArrayData=$this.tableData;
|
var restaurant =JSON.parse(JSON.stringify($this.restaurants));
|
var NewRestaurants =JSON.parse(JSON.stringify($this.restaurants));
|
|
$.each(restaurant, function (i, n) {
|
$.each(ArrayData, function (j, m) {
|
if(n==undefined)return true;
|
if (n.value == m.CN_S_PUT_POSITION) {
|
var delPos=-1;
|
$.each(NewRestaurants,function(posi,entity){
|
if(entity.value==m.CN_S_PUT_POSITION)
|
{
|
delPos=posi;
|
return false;
|
}
|
});
|
if (delPos >= 0) {
|
NewRestaurants.splice(delPos, 1);
|
return false ;
|
}
|
}
|
});
|
});
|
|
var results = queryString ? NewRestaurants.filter($this.createFilter(queryString)) : NewRestaurants;
|
// 调用 callback 返回建议列表的数据
|
cb(results);
|
},
|
createFilter:function(queryString) {
|
return function(restaurant) {
|
return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
|
};
|
},
|
loadAll:function() {
|
var locationList=[];
|
ajaxManage({
|
url: "/Common/GetSHLocation?areaClass=收货区",
|
success: function (data) {
|
var result=data.Data;
|
$.each(result,function(i,n){
|
var obj= { "value": n.CN_S_LOCATION_CODE};
|
locationList.push(obj);
|
});
|
}
|
});
|
return locationList;
|
},
|
handleSelect:function(item) {
|
console.log(item);
|
}
|
},
|
mounted: function () {
|
var $this = this;
|
if($this.formData.OperateType=="@HH.WMS.Entitys.Common.OperateType.Read"){
|
$this.readOnly = true;
|
}
|
//判断是否手工,还是联机
|
var funcType = GetUrlParam("isHandWork").toLowerCase();
|
|
var mainPage = GetUrlParam("mainPage");
|
$this.ParentPage = mainPage;
|
// alert(funcType);
|
if (funcType == "true"||funcType == true) {
|
$this.IsHandWork = true;
|
}
|
else
|
{
|
$this.IsHandWork = false;
|
}
|
if($this.formData.OperateType=="@HH.WMS.Entitys.Common.OperateType.Add"){
|
if($this.wmsApp.ss)
|
{
|
$this.tableData= [{
|
CN_S_ITEM_CODE: '',
|
CN_S_ITEM_NAME: '',
|
CN_S_ITEM_STATE: '待检',
|
CN_S_MODEL: '',
|
CN_S_FIGURE_NO: '',
|
CN_S_MEASURE_UNIT: '',
|
CN_F_ORDER_QTY:'',
|
CN_F_QUANTITY: '',
|
CN_T_PRODUCTION: '',
|
CN_T_EXPIRATION: '',
|
CN_C_IS_LOT_OUT: '',
|
CN_S_PRODUCTION_BATCH: '',
|
CN_F_PURCHASE_PRICE: '',
|
CN_S_NOTE: ''
|
}]
|
}else
|
{
|
$this.tableData= [{
|
CN_S_ITEM_CODE: '',
|
CN_S_ITEM_NAME: '',
|
CN_S_ITEM_STATE: '合格',
|
CN_S_MODEL: '',
|
CN_S_FIGURE_NO: '',
|
CN_S_MEASURE_UNIT: '',
|
CN_F_ORDER_QTY:'',
|
CN_F_QUANTITY: '',
|
CN_T_PRODUCTION: '',
|
CN_T_EXPIRATION: '',
|
CN_C_IS_LOT_OUT: '',
|
CN_S_PRODUCTION_BATCH: '',
|
CN_F_PURCHASE_PRICE: '',
|
CN_S_NOTE: ''
|
}]
|
}
|
}
|
this.restaurants = this.loadAll();
|
}
|
});
|
</script>
|
}
|