Commit a4d6a480 authored by 鲁鑫's avatar 鲁鑫

非资产类消耗性采购申请增加总账科目,在财务环节必填

parent 1aebcb65
var itemGridManager = null, pstyp = " ", fillinDate = "", bsart = "";
$(function () {
initializeCommonUI();
bindEvent();
initItemGrid();
initAufnr();
});
function initializeCommonUI() {
bsart = $("#bsart").val();
if ("ZFW" == bsart) {
pstyp = "D";
} else {
pstyp = "";
}
}
function bindEvent() {
fillinDate = $("#fillinDate").val();
$('#knttp').searchbox({
type: "system", name: "knttp",
getParam: function (item) {
return {
filterValue: $("#bsart").val()
}
},
onChange: function (value, data) {
initAufnr(data.knttp)
$('#knttp').val(data.knttp);
}
});
}
function initAufnr(knttp){
if (Public.isBlank(knttp)){
knttp = $('#knttp').val();
}
var columns = itemGridManager.columns;
columns.some(column => {
if (column.name == "aufnr"){
column.hide = knttp == 'F'? false:true;
if (isApplyProcUnit()){
column.editor.required = knttp == 'F'? true:false;
}
return true;
}
return false;
})
if ("K" == knttp){
if (Public.isNotBlank(itemGridManager.currentData)){
var rows = itemGridManager.currentData.Rows;
rows.forEach(row =>{
itemGridManager.updateRow(row,{aufnr:""})
})
}
}
columns.splice(0,2)
UICtrl.setGridColumns(itemGridManager,columns);
}
function initItemGrid() {
var canEdit = true;
if (!isApplyProcUnit){
canEdit = false;
}
if ("financeNode" == getSubProcUnitId()){
canEdit = true;
}
var toolbar = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
if (Public.isBlank($("#knttp").val())){
Public.tip("请先选择科目分配类别");
}else {
UICtrl.addGridRow(itemGridManager, {
bnfpo: (itemGridManager.getData().length + 1) * 10,
pstyp: pstyp,
badat: fillinDate,
erdat: fillinDate,
knttp: $("#knttp").val()
});
}
},
deleteHandler: function () {
var _grid = UICtrl.getGridManager('#maingrid');
DataUtil.delSelectedRows({
action: 'sapPurchaseItem/deleteSapPurchaseItem.ajax',
param: {},
gridManager: _grid,
idFieldName: 'id',
onSuccess: function () {
reloadGrid();
}
});
},
})
itemGridManager = UICtrl.grid('#maingrid', {
columns: getGridColumns(),
dataAction: 'server',
url: web_app.name + '/sapPurchaseItem/querySapPurchaseItems.ajax',
parms: {sapPurchaseId: getId()},
height: '95%',
heightDiff: -4,
sortName: 'id',
sortOrder: 'asc',
checkbox: true,
usePager: true,
rownumbers: true,
enabledEdit: canEdit,
fixedCellHeight: true,
selectRowButtonOnly: true,
autoApplyNextEditor: false,
toolbar: toolbar,
onBeforeEdit: function (editParm) {
// var c = editParm.column, data = editParm.record;
// //非资产类消耗性采购申请类型当“科目分配类型”选择K后“物料编号”字段调整为非必须输入项;“成本中心”、“总账科目”字段调整为必须输入项。订单号不可编辑。
// if ("ZNE2" == bsart && (data.knttp == "K"|| data.knttp == "F" ) && c.name === 'kostl') {
// return true;
// }else {
// return false;
// }
// //仅适用于KNTTP=F时
// if (("ZFW" == bsart || "ZNE2" == bsart) && data.knttp == "F" && c.name === 'aufnr') {
// return true;
// }else {
// return false;
// }
// //仅适用于KNTTP=A时
// if (data.knttp == 'A' && c.name === 'anln1') {
// return true;
// }else {
// return false;
// }
},
onAfterEdit: function (editParm) {
// if (editParm.record.knttp === "K") {
// var colums = itemGridManager.columns;
// colums.forEach(colum => {
// if (colum.name == "matnr") {
// colum.editor.required = false;
// itemGridManager.columns = colums
// }
// })
// }
}
}
);
UICtrl.setSearchAreaToggle(itemGridManager);
}
function getGridColumns() {
var columns = [];
if ("financeNode" == getSubProcUnitId()){
columns.push({
display: "申购项次号", name: "bnfpo", width: "80", align: "left", type: "string",
},);
columns.push({display: "项次类别", name: "pstyp", width: "100", align: "left", type: "string", hide: true},);
columns.push({
display: "工厂", name: "werks", width: "100", align: "left", type: "string",
},);
columns.push({
display: "工厂名称", name: "name1", width: "200", align: "left", type: "string",
});
columns.push({
display: "物料编号", name: "matnr", width: "300", align: "left", type: "string",
});
columns.push({
display: "库存地点", name: "lgort", width: "100", align: "left", type: "string",
},);
columns.push({
display: "库存地点名称", name: "lgobe", width: "200", align: "left", type: "string",
},);
columns.push({
display: "短文本", name: "txz01", width: "200", align: "left", type: "string",
},);
columns.push({
display: "物料组", name: "matklName", width: "100", align: "left", type: "string",
},);
columns.push({
display: "申购数量", name: "menge", width: 150, minWidth: 60, type: "string", align: "center",
},);
columns.push({
display: "申购数量单位", name: "meinsName", width: 150, minWidth: 60, type: "string", align: "center",
},);
columns.push({
display: "采购组", name: "ekgrpName", width: 150, minWidth: 60, type: "string", align: "center",
},);
columns.push({
display: "批准日期", name: "frgdt", width: "100", align: "left", type: "string",
},);
columns.push({
display: "要求交货日期", name: "lfdat", width: "100", align: "left", type: "string",
},);
columns.push({display: "创建者", name: "ernam", width: "200", align: "left", type: "string"},);
columns.push({
display: "申请人", name: "afnam", width: "90", align: "left", type: "string",
},);
columns.push({
display: "预估单价", name: "preis", width: "100", align: "left", type: "string",
},);
columns.push({
display: "价格基数", name: "ebanPeinh", width: "100", align: "left", type: "string",
},);
columns.push({
display: "币种", name: "waersName", width: "100", align: "left", type: "string",
},);
columns.push({
display: "评估金额", name: "ebanNetwr", width: "100", align: "left", type: "string",
},);
columns.push({
display: "成本中心", name: "kostlName", width: "200", align: "left", type: "string",
},);
columns.push({
display: "订单号", name: "aufnr", width: "200", align: "left", type: "string",
});
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
editor: {type: 'text', required: true}
},);
columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
},);
columns.push({
display: "创建日期", name: "erdat", width: "100", align: "left", type: "string",
},);
}else {
columns.push({
display: "申购项次号", name: "bnfpo", width: "80", align: "left", type: "string",
editor: {type: 'spinner', min: 10, max: 200, mask: 'nnn'}
},);
columns.push({display: "项次类别", name: "pstyp", width: "100", align: "left", type: "string", hide: true},);
columns.push({
display: "工厂", name: "werks", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "WERKS"}
},
back: {
WERKS: "werks",
NAME1: "name1"
},
},
}
},);
columns.push({
display: "工厂名称", name: "name1", width: "200", align: "left", type: "string",
editor: {required: false, type: "text"}
});
columns.push({
display: "物料编号", name: "matnr", width: "300", align: "left", type: "string",
editor: {
required: false, type: "select",
data: {
type: 'system',
name: "sapMaterialSelect",
getParam: function (item) {
return {
filterValue: item.werks
}
},
back: {
MATNR: "matnr",
MAKTX: "txz01",
MATKL: "matkl",
WGBEZ: "matklName",
EKGRP: "ekgrp",
EKNAM: "ekgrpName",
PEINH: "peinh",
MEINS: "meins",
MSEHL: "meinsName",
LGFSB: "lgort",
LGOBE: "lgobe"
}
},
}
});
columns.push({
display: "库存地点", name: "lgort", width: "100", align: "left", type: "string",
editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "LGORT"}
},
back: {
LGORT: "lgort",
LGOBE: "lgobe"
}
},
}
},);
columns.push({
display: "库存地点名称", name: "lgobe", width: "200", align: "left", type: "string",
//editor: {required: false, type: "text"}
},);
columns.push({
display: "短文本", name: "txz01", width: "200", align: "left", type: "string",
editor: {required: true, type: "text"}
},);
columns.push({
display: "物料组", name: "matklName", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "MATKL"}
},
back: {
MATKL: "matkl",
WGBEZ: "matklName",
}
},
}
},);
columns.push({
display: "申购数量", name: "menge", width: 150, minWidth: 60, type: "string", align: "center",
editor: {required: true, type: "text", mask: '9999999.999'}
},);
columns.push({
display: "申购数量单位", name: "meinsName", width: 150, minWidth: 60, type: "string", align: "center",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "MEINS"}
},
back: {
MSEHI: "meins",
MSEHL: "meinsName"
}
},
}
//editor: {required: true, type: "text"}
},);
columns.push({
display: "采购组", name: "ekgrpName", width: 150, minWidth: 60, type: "string", align: "center",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "EKGRP"}
},
back: {
EKGRP: "ekgrp",
EKNAM: "ekgrpName",
}
},
}
},);
columns.push({
display: "批准日期", name: "frgdt", width: "100", align: "left", type: "string",
//editor: {required: false, type: "date"}
},);
columns.push({
display: "要求交货日期", name: "lfdat", width: "100", align: "left", type: "string",
editor: {required: true, type: "date"}
},);
columns.push({display: "创建者", name: "ernam", width: "200", align: "left", type: "string"},);
columns.push({
display: "申请人", name: "afnam", width: "90", align: "left", type: "string",
editor: {type: 'text', required: true},
},);
columns.push({
display: "预估单价", name: "preis", width: "100", align: "left", type: "string",
editor: {type: 'text', mask: '9999999.99', required: true}
},);
columns.push({
display: "价格基数", name: "ebanPeinh", width: "100", align: "left", type: "string",
//editor: {type: 'text', mask: '9999999',required: false}
render: function (item) {
return item.ebanPeinh = 1;
}
},);
columns.push({
display: "币种", name: "waersName", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "WAERS"}
},
back: {
WAERS: "waers",
KTEXT: "waersName",
}
},
}
},);
columns.push({
display: "评估金额", name: "ebanNetwr", width: "100", align: "left", type: "string",
render: function (item) {
if (item.ebanPeinh == '') {
return item.ebanNetwr = null;
}
return item.ebanNetwr = (item.preis * item.menge / item.ebanPeinh).toFixed(2);
}
//editor: {type: 'text'}
},);
columns.push({
display: "成本中心", name: "kostlName", width: "200", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "KOSTL"}
},
back: {
KOSTL: "kostl",
LTEXT: "kostlName",
}
},
}
},);
columns.push({
display: "订单号", name: "aufnr", width: "200", align: "left", type: "string",
editor: {type: 'text', required: false,}
// editor: {
// required: false, type: "select",
// data: {
// type: 'system',
// name: "getCompanyOrders",
// getParam: function (item) {
// return {
// BUKRS: '1000'
// }
// },
// back: {
// AUFNR: "aufnr",
// KTEXT: "ktext"
// }
// },
// }
});
columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
editor: {required: false, type: "date"}
},);
columns.push({
display: "创建日期", name: "erdat", width: "100", align: "left", type: "string",
//editor: {required: false, type: "date"}
},);
}
return columns;
}
//获取数据保存的参数
function getExtendedData(processAction) {
//回退、打回、转交时,不需要验证必填项是否已经填写;
if (processAction == ProcessAction.BACK
|| processAction == ProcessAction.REPLENISH
|| processAction == ProcessAction.TRANSMIT) {
//不验证
$('#submitForm').attr('check', true);
}
var extendedData = {};
var _grid = UICtrl.getGridManager('#maingrid');
if (_grid) {
var datas = DataUtil.getGridData({
gridManager: _grid,
isAllData: true
});
if (!datas) {
return false;
}
var checked6 = false;
datas.forEach(data => {
if ("F" == data.knttp && Public.isBlank(data.aufnr)){
checked6 = true;
}
})
if (checked6) {
Public.tip("订单号不能为空")
return false;
}
extendedData.sapPurchaseItems = Public.encodeJSONURI(datas);
}
return extendedData;
}
function getId() {
return $('#id').val();
}
function setId(value) {
$("#id").val(value);
var _grid = UICtrl.getGridManager('#maingrid');
_grid.options.parms.sapPurchaseId = value;
}
function reloadGrid() {
itemGridManager.loadData();
}
function getGridData() {
var _grid = UICtrl.getGridManager('#maingrid');
var datas = DataUtil.getGridData({
gridManager: _grid,
isAllData: true
});
return datas;
}
//UICtrl中校验是否允许编辑
function businessJudgmentUnit() {
var isApply = isApplyProcUnit();
if (isApply) {
return true;
}else {
//财务节点
if ("financeNode" === getSubProcUnitId()){
UICtrl.disable("#knttp");
return true;
}
return false;
}
return true;
}
<%--采购申请--%>
<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%@ taglib uri="/WEB-INF/taglib.tld" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<x:base include="layout,dialog,grid,tree,dateTime,combox,attachment,commonTree,comboDialog"/>
<x:script src="/biz/topsun/sap/purchase/sapZNE2PurchaseDetail.js"/>
</head>
<body>
<div class="container-fluid">
<x:billTitle title="采购申请" needStatus="true" needPerson="true"/>
<form class="hg-form" method="post" action="" id="submitForm">
<x:hidden name="id"/>
<x:hidden name="version"/>
<x:hidden name="billCode"/>
<x:hidden name="fillinDate"/>
<x:hidden name="fullId"/>
<x:hidden name="organId"/>
<x:hidden name="organName"/>
<x:hidden name="deptId"/>
<x:hidden name="deptName"/>
<x:hidden name="positionId"/>
<x:hidden name="positionName"/>
<x:hidden name="personMemberId"/>
<x:hidden name="personMemberName"/>
<x:hidden name="statusId"/>
<x:hidden name="frgdt"/>
<div class="hg-form-cols">
<div class="hg-form-row">
<x:selectC name="bsart" label="pr类型" disabled="true" labelCol="1" fieldCol="2" required="true"/>
<x:inputC name="knttp" label="科目分配类别" labelCol="1" fieldCol="2" required="true" wrapper="select"/>
<x:inputC name="banfn" label="采购申请编号" readonly="true" labelCol="1" fieldCol="2" required="false"/>
</div>
</div>
<div id="maingrid"></div>
</form>
</div>
</body>
\ No newline at end of file
...@@ -61,12 +61,12 @@ public class SapPurchaseController extends CommonController { ...@@ -61,12 +61,12 @@ public class SapPurchaseController extends CommonController {
Operator operator = getOperator(); Operator operator = getOperator();
sapPurchase.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName())); sapPurchase.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
switch (bsart){ switch (bsart){
case "ZNE1": case "ZNE1"://固定资产采购申请
return forward("sapZNE1PurchaseDetail",sapPurchase); return forward("sapZNE1PurchaseDetail",sapPurchase);
case "ZFW": case "ZFW"://服务类采购申请
return forward("sapPurchaseDetail",sapPurchase);
case "ZNE2":
return forward("sapPurchaseDetail",sapPurchase); return forward("sapPurchaseDetail",sapPurchase);
case "ZNE2"://非资产类消耗性采购申请
return forward("sapZNE2PurchaseDetail",sapPurchase);
} }
return null; return null;
} }
...@@ -81,7 +81,7 @@ public class SapPurchaseController extends CommonController { ...@@ -81,7 +81,7 @@ public class SapPurchaseController extends CommonController {
case "ZFW": case "ZFW":
return forward("sapPurchaseDetail",sapPurchase); return forward("sapPurchaseDetail",sapPurchase);
case "ZNE2": case "ZNE2":
return forward("sapPurchaseDetail",sapPurchase); return forward("sapZNE2PurchaseDetail",sapPurchase);
} }
return null; return null;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment