Commit f590bf98 authored by 鲁鑫's avatar 鲁鑫

采购申请优化

parent 8ddb1e20
<%--采购申请--%>
<%@ 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"/>
</head>
<body>
<div class="container-fluid">
<x:billTitle title="请选择采购申请PR类型" needStatus="true" needPerson="true"/>
<form class="hg-form" method="post" action="" id="submitForm">
<div class="hg-form-cols">
<div class="hg-form-row">
<x:selectC name="bsart" label="pr类型" labelCol="4" fieldCol="8" required="true"/>
</div>
</div>
</form>
</div>
</body>
\ No newline at end of file
var itemGridManager = null, pstyp = " ", fillinDate = "", bsart = ""; var itemGridManager = null, pstyp = " ", fillinDate = "", bsart = "";
$(function () { $(function () {
initItemGrid(); initializeCommonUI();
bindEvent(); bindEvent();
bsart = $("#bsart").val(); initItemGrid();
}); });
function bindEvent() { function initializeCommonUI() {
$("#bsart").combox({ bsart = $("#bsart").val();
onChange: function (data) { if ("ZFW" == bsart) {
if ("ZFW" == data.value) {
pstyp = "D"; pstyp = "D";
} else { } else {
pstyp = ""; pstyp = "";
} }
bsart = data.value; }
} function bindEvent() {
})
fillinDate = $("#fillinDate").val(); fillinDate = $("#fillinDate").val();
} }
function initItemGrid() { function initItemGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({ var toolbar = UICtrl.getDefaultToolbarOptions({
addHandler: function () { addHandler: function () {
UICtrl.addGridRow(itemGridManager, { UICtrl.addGridRow(itemGridManager, {
bnfpo: (itemGridManager.getData().length + 1) * 10, bnfpo: (itemGridManager.getData().length + 1) * 10,
...@@ -43,7 +39,7 @@ function initItemGrid() { ...@@ -43,7 +39,7 @@ function initItemGrid() {
} }
}); });
}, },
}); })
itemGridManager = UICtrl.grid('#maingrid', { itemGridManager = UICtrl.grid('#maingrid', {
columns: getGridColumns(), columns: getGridColumns(),
dataAction: 'server', dataAction: 'server',
...@@ -60,38 +56,38 @@ function initItemGrid() { ...@@ -60,38 +56,38 @@ function initItemGrid() {
fixedCellHeight: true, fixedCellHeight: true,
selectRowButtonOnly: true, selectRowButtonOnly: true,
autoApplyNextEditor: false, autoApplyNextEditor: false,
toolbar: toolbarOptions, toolbar: toolbar,
onBeforeEdit: function (editParm) { onBeforeEdit: function (editParm) {
var c = editParm.column, data = editParm.record; // var c = editParm.column, data = editParm.record;
//非资产类消耗性采购申请类型当“科目分配类型”选择K后“物料编号”字段调整为非必须输入项;“成本中心”、“总账科目”字段调整为必须输入项。订单号不可编辑。 // //非资产类消耗性采购申请类型当“科目分配类型”选择K后“物料编号”字段调整为非必须输入项;“成本中心”、“总账科目”字段调整为必须输入项。订单号不可编辑。
if ("ZNE2" == bsart && (data.knttp == "K"|| data.knttp == "F" ) && c.name === 'kostl') { // if ("ZNE2" == bsart && (data.knttp == "K"|| data.knttp == "F" ) && c.name === 'kostl') {
return true; // return true;
}else { // }else {
return false; // return false;
} // }
//仅适用于KNTTP=F时 // //仅适用于KNTTP=F时
if (("ZFW" == bsart || "ZNE2" == bsart) && data.knttp == "F" && c.name === 'aufnr') { // if (("ZFW" == bsart || "ZNE2" == bsart) && data.knttp == "F" && c.name === 'aufnr') {
return true; // return true;
}else { // }else {
return false; // return false;
} // }
//仅适用于KNTTP=A时 // //仅适用于KNTTP=A时
if (data.knttp == 'A' && c.name === 'anln1') { // if (data.knttp == 'A' && c.name === 'anln1') {
return true; // return true;
}else { // }else {
return false; // return false;
} // }
}, },
onAfterEdit: function (editParm) { onAfterEdit: function (editParm) {
if (editParm.record.knttp === "K") { // if (editParm.record.knttp === "K") {
var colums = itemGridManager.columns; // var colums = itemGridManager.columns;
colums.forEach(colum => { // colums.forEach(colum => {
if (colum.name == "matnr") { // if (colum.name == "matnr") {
colum.editor.required = false; // colum.editor.required = false;
itemGridManager.columns = colums // itemGridManager.columns = colums
} // }
}) // })
} // }
} }
} }
); );
...@@ -100,13 +96,12 @@ function initItemGrid() { ...@@ -100,13 +96,12 @@ function initItemGrid() {
function getGridColumns() { function getGridColumns() {
var columns = []; var columns = [];
columns = [ columns.push({
{
display: "申购项次号", name: "bnfpo", width: "80", align: "left", type: "string", display: "申购项次号", name: "bnfpo", width: "80", align: "left", type: "string",
editor: {type: 'spinner', min: 10, max: 200, mask: 'nnn'} editor: {type: 'spinner', min: 10, max: 200, mask: 'nnn'}
}, },);
{display: "项次类别", name: "pstyp", width: "100", align: "left", type: "string", hide: true}, columns.push({display: "项次类别", name: "pstyp", width: "100", align: "left", type: "string", hide: true},);
{ columns.push({
display: "科目分配类别", name: "knttp", width: "100", align: "left", type: "string", display: "科目分配类别", name: "knttp", width: "100", align: "left", type: "string",
editor: { editor: {
required: true, type: "select", required: true, type: "select",
...@@ -121,8 +116,8 @@ function getGridColumns() { ...@@ -121,8 +116,8 @@ function getGridColumns() {
} }
}, },
} }
}, },);
{ columns.push({
display: "工厂", name: "werks", width: "100", align: "left", type: "string", display: "工厂", name: "werks", width: "100", align: "left", type: "string",
editor: { editor: {
required: true, type: "select", required: true, type: "select",
...@@ -139,40 +134,12 @@ function getGridColumns() { ...@@ -139,40 +134,12 @@ function getGridColumns() {
}, },
} }
}, },);
{ columns.push({
display: "工厂名称", name: "name1", width: "200", align: "left", type: "string", display: "工厂名称", name: "name1", width: "200", align: "left", type: "string",
editor: {required: false, type: "text"} 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"
}
},
}
},
{
display: "库存地点", name: "lgort", width: "100", align: "left", type: "string", display: "库存地点", name: "lgort", width: "100", align: "left", type: "string",
editor: { editor: {
required: false, type: "select", required: false, type: "select",
...@@ -188,16 +155,16 @@ function getGridColumns() { ...@@ -188,16 +155,16 @@ function getGridColumns() {
} }
}, },
} }
}, },);
{ columns.push({
display: "库存地点名称", name: "lgobe", width: "200", align: "left", type: "string", display: "库存地点名称", name: "lgobe", width: "200", align: "left", type: "string",
//editor: {required: false, type: "text"} //editor: {required: false, type: "text"}
}, },);
{ columns.push({
display: "短文本", name: "txz01", width: "200", align: "left", type: "string", display: "短文本", name: "txz01", width: "200", align: "left", type: "string",
editor: {required: true, type: "text"} editor: {required: true, type: "text"}
}, },);
{ columns.push({
display: "物料组", name: "matkl", width: "100", align: "left", type: "string", display: "物料组", name: "matkl", width: "100", align: "left", type: "string",
editor: { editor: {
required: true, type: "select", required: true, type: "select",
...@@ -212,12 +179,12 @@ function getGridColumns() { ...@@ -212,12 +179,12 @@ function getGridColumns() {
} }
}, },
} }
}, },);
{ columns.push({
display: "申购数量", name: "menge", width: 150, minWidth: 60, type: "string", align: "center", display: "申购数量", name: "menge", width: 150, minWidth: 60, type: "string", align: "center",
editor: {required: true, type: "text", mask: '9999999.999'} editor: {required: true, type: "text", mask: '9999999.999'}
}, },);
{ columns.push({
display: "申购数量单位", name: "meins", width: 150, minWidth: 60, type: "string", align: "center", display: "申购数量单位", name: "meins", width: 150, minWidth: 60, type: "string", align: "center",
/*editor: { /*editor: {
required: false, type: "select", required: false, type: "select",
...@@ -233,8 +200,8 @@ function getGridColumns() { ...@@ -233,8 +200,8 @@ function getGridColumns() {
}, },
}*/ }*/
editor: {required: true, type: "text"} editor: {required: true, type: "text"}
}, },);
{ columns.push({
display: "采购组", name: "ekgrp", width: 150, minWidth: 60, type: "string", align: "center", display: "采购组", name: "ekgrp", width: 150, minWidth: 60, type: "string", align: "center",
editor: { editor: {
required: true, type: "select", required: true, type: "select",
...@@ -249,62 +216,32 @@ function getGridColumns() { ...@@ -249,62 +216,32 @@ function getGridColumns() {
} }
}, },
} }
}, },);
{ columns.push({
display: "批准日期", name: "frgdt", width: "100", align: "left", type: "string", display: "批准日期", name: "frgdt", width: "100", align: "left", type: "string",
//editor: {required: false, type: "date"} //editor: {required: false, type: "date"}
}, },);
{ columns.push({
display: "要求交货日期", name: "lfdat", width: "100", align: "left", type: "string", display: "要求交货日期", name: "lfdat", width: "100", align: "left", type: "string",
editor: {required: true, type: "date"} editor: {required: true, type: "date"}
}, },);
// {display: "服务主数据编号", name: "srvpos", width: "80", align: "left", type: "string", columns.push({display: "创建者", name: "ernam", width: "200", align: "left", type: "string"},);
// editor: {type: 'text', required: false}, columns.push({
// },
// {display: "服务短文本", name: "ktext1", width: "100", align: "left", type: "string"},
// {display: "服务条目数量", name: "esllMenge", width: "80", align: "left", type: "string",
// //editor: {type: 'text', mask: '9999999.999'},
// render:function(item){
// return item.esllMenge=item.menge;
// }
// },
// {display: "服务计量单位", name: "esllMeins", width: "100", align: "left", type: "string",
// editor: {type: "text", required: false,}
// },
// {display: '定价基数', name: "peinh", width: "100", align: "left", type: "string",
// //editor: {required: true, type: "select"}
// render:function(item){
// return item.peinh=item.preis;
// }
// },
// {display: "服务预估单价", name: "brtwr", width: "100", align: "left", type: "string",
// editor: {type: 'text', mask: '9999999.99'}
// },
// {display: "服务预估金额", name: "netwr", width: "100", align: "left", type: "string",
// render:function(item){
// if (item.brtwr == '' || item.brtwr == null || item.peinh == '' || item.peinh == null){
// return item.netwr=0;
// }
// return item.netwr=(item.brtwr*item.esllMenge/item.peinh).toFixed(2);
// }
// },
{display: "创建者", name: "ernam", width: "200", align: "left", type: "string"},
{
display: "申请人", name: "afnam", width: "90", align: "left", type: "string", display: "申请人", name: "afnam", width: "90", align: "left", type: "string",
editor: {type: 'text', required: false}, editor: {type: 'text', required: false},
}, },);
{ columns.push({
display: "预估单价", name: "preis", width: "100", align: "left", type: "string", display: "预估单价", name: "preis", width: "100", align: "left", type: "string",
editor: {type: 'text', mask: '9999999.99', required: true} editor: {type: 'text', mask: '9999999.99', required: true}
}, },);
{ columns.push({
display: "价格基数", name: "ebanPeinh", width: "100", align: "left", type: "string", display: "价格基数", name: "ebanPeinh", width: "100", align: "left", type: "string",
//editor: {type: 'text', mask: '9999999',required: false} //editor: {type: 'text', mask: '9999999',required: false}
render: function (item) { render: function (item) {
return item.ebanPeinh = 1; return item.ebanPeinh = 1;
} }
}, },);
{ columns.push({
display: "币种", name: "waers", width: "100", align: "left", type: "string", display: "币种", name: "waers", width: "100", align: "left", type: "string",
editor: { editor: {
required: false, type: "text", required: false, type: "text",
...@@ -319,8 +256,8 @@ function getGridColumns() { ...@@ -319,8 +256,8 @@ function getGridColumns() {
} }
},*/ },*/
} }
}, },);
{ columns.push({
display: "评估金额", name: "ebanNetwr", width: "100", align: "left", type: "string", display: "评估金额", name: "ebanNetwr", width: "100", align: "left", type: "string",
render: function (item) { render: function (item) {
if (item.ebanPeinh == '') { if (item.ebanPeinh == '') {
...@@ -329,8 +266,8 @@ function getGridColumns() { ...@@ -329,8 +266,8 @@ function getGridColumns() {
return item.ebanNetwr = (item.preis * item.menge / item.ebanPeinh).toFixed(2); return item.ebanNetwr = (item.preis * item.menge / item.ebanPeinh).toFixed(2);
} }
//editor: {type: 'text'} //editor: {type: 'text'}
}, },);
{ columns.push({
display: "会计分配序号", name: "zebkn", width: "100", align: "left", type: "string", display: "会计分配序号", name: "zebkn", width: "100", align: "left", type: "string",
editor: {type: 'text'}, editor: {type: 'text'},
render: function (item) { render: function (item) {
...@@ -340,8 +277,8 @@ function getGridColumns() { ...@@ -340,8 +277,8 @@ function getGridColumns() {
// } // }
return item.zebkn = item.menge; return item.zebkn = item.menge;
} }
}, },);
{ columns.push({
display: "多重科目分配", name: "vrtkz", width: "100", align: "left", type: "string", display: "多重科目分配", name: "vrtkz", width: "100", align: "left", type: "string",
//editor: {type: 'text'}, //editor: {type: 'text'},
render: function (item) { render: function (item) {
...@@ -350,8 +287,8 @@ function getGridColumns() { ...@@ -350,8 +287,8 @@ function getGridColumns() {
return item.vrtkz = 1; return item.vrtkz = 1;
} }
} }
}, },);
{ columns.push({
display: "部分发票", name: "twrkz", width: "100", align: "left", type: "string", display: "部分发票", name: "twrkz", width: "100", align: "left", type: "string",
editor: {type: 'text'}, editor: {type: 'text'},
render: function (item) { render: function (item) {
...@@ -360,19 +297,19 @@ function getGridColumns() { ...@@ -360,19 +297,19 @@ function getGridColumns() {
return item.twrkz = 1; return item.twrkz = 1;
} }
} }
}, },);
{ columns.push({
display: "PR分解数量", name: "ekbnMenge", width: "100", align: "left", type: "string", display: "PR分解数量", name: "ekbnMenge", width: "100", align: "left", type: "string",
editor: {type: 'text'} editor: {type: 'text'}
}, },);
{ columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string", display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
editor: {type: 'text', required: true} editor: {type: 'text', required: true}
}, },);
{ columns.push({
display: "成本中心", name: "kostl", width: "200", align: "left", type: "string", display: "成本中心", name: "kostl", width: "200", align: "left", type: "string",
editor: { editor: {
required: false, type: "select", required: true, type: "select",
data: { data: {
type: 'system', type: 'system',
name: "dictionary", name: "dictionary",
...@@ -384,8 +321,8 @@ function getGridColumns() { ...@@ -384,8 +321,8 @@ function getGridColumns() {
} }
}, },
} }
}, },);
{ columns.push({
display: "订单号", name: "aufnr", width: "200", align: "left", type: "string", display: "订单号", name: "aufnr", width: "200", align: "left", type: "string",
//editor: {type: 'text'} //editor: {type: 'text'}
editor: { editor: {
...@@ -404,43 +341,19 @@ function getGridColumns() { ...@@ -404,43 +341,19 @@ function getGridColumns() {
} }
}, },
} }
}, });
{ columns.push({
display: "资产编号", name: "anln1", width: "200", align: "left", type: "string",
editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {
fieldName: "ANLN1",
filterValue: '1000'
}
},
back: {
ANLN1: "anln1"
}
},
}
},
// {
// display: "子资产号", name: "anln2", width: "100", align: "left", type: "string",
// editor: {type: 'text'}
// },
{
display: "审批处理状态", name: "banpr", width: "100", align: "left", type: "string", display: "审批处理状态", name: "banpr", width: "100", align: "left", type: "string",
editor: {type: 'text'} editor: {type: 'text'}
}, },);
{ columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string", display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
editor: {required: false, type: "date"} editor: {required: false, type: "date"}
}, },);
{ columns.push({
display: "创建日期", name: "erdat", width: "100", align: "left", type: "string", display: "创建日期", name: "erdat", width: "100", align: "left", type: "string",
//editor: {required: false, type: "date"} //editor: {required: false, type: "date"}
}, },);
]
return columns; return columns;
} }
...@@ -463,62 +376,12 @@ function getExtendedData(processAction) { ...@@ -463,62 +376,12 @@ function getExtendedData(processAction) {
if (!datas) { if (!datas) {
return false; return false;
} }
var checked1 = false;
var checked2 = false;
var checked3 = false;
var checked4 = false;
var checked5 = false;
var checked6 = false; var checked6 = false;
datas.forEach(data => { datas.forEach(data => {
if (data.pstyp === "D" && Public.isBlank(data.srvpos)) {
Public.tip("项次类别等于D时,服务主数据编号必须输入")
return false;
}
//选择固定资产采购申请类型时,“科目分配类别”、“申请人”、“币种”、“资产编号” 调整为必须输入项
if ("ZNE1" === bsart) {
if (Public.isBlank(data.afnam)) {
checked1 = true;
}
if (Public.isBlank(data.waers)) {
checked2 = true;
}
if (Public.isBlank(data.anln1)) {
checked3 = true;
}
}
if (("ZFW" == bsart || "ZNE2" == bsart) ){
if (Public.isBlank(data.sakto)){
checked4 = true;
}
if (Public.isBlank(data.kostl)){
checked5 = true;
}
if ("F" == data.knttp && Public.isBlank(data.aufnr)){ if ("F" == data.knttp && Public.isBlank(data.aufnr)){
checked6 = true; checked6 = true;
} }
}
}) })
if (checked1) {
Public.tip("申请人不能为空")
return false;
}
if (checked2) {
Public.tip("币种不能为空")
return false;
}
if (checked3) {
Public.tip("资产编号不能为空")
return false;
}
if (checked4) {
Public.tip("总账科目不能为空")
return false;
}
if (checked5) {
Public.tip("成本中心不能为空")
return false;
}
if (checked6) { if (checked6) {
Public.tip("订单号不能为空") Public.tip("订单号不能为空")
return false; return false;
...@@ -551,10 +414,4 @@ function getGridData() { ...@@ -551,10 +414,4 @@ function getGridData() {
return datas; return datas;
} }
function getBsartNum() {
var datas = this.getGridData();
datas.forEach(data => {
})
}
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<x:hidden name="frgdt"/> <x:hidden name="frgdt"/>
<div class="hg-form-cols"> <div class="hg-form-cols">
<div class="hg-form-row"> <div class="hg-form-row">
<x:selectC name="bsart" label="pr类型" labelCol="1" fieldCol="2" required="true"/> <x:selectC name="bsart" label="pr类型" disabled="true" labelCol="1" fieldCol="2" required="true"/>
<x:inputC name="banfn" label="采购申请编号" readonly="true" labelCol="1" fieldCol="2" required="false"/> <x:inputC name="banfn" label="采购申请编号" readonly="true" labelCol="1" fieldCol="2" required="false"/>
</div> </div>
</div> </div>
......
...@@ -47,7 +47,7 @@ function initPurchaseListGrid() { ...@@ -47,7 +47,7 @@ function initPurchaseListGrid() {
} }
, ,
onDblClickRow: function (data, rowindex, rowobj) { onDblClickRow: function (data, rowindex, rowobj) {
viewHandler(data.parentId); viewHandler(data.id);
}, },
onAfterShowData: function (currentData) { onAfterShowData: function (currentData) {
...@@ -63,39 +63,37 @@ function initPurchaseListGrid() { ...@@ -63,39 +63,37 @@ function initPurchaseListGrid() {
* @param parentId 采购申请id * @param parentId 采购申请id
* @returns {boolean} * @returns {boolean}
*/ */
function viewHandler(parentId) { function viewHandler(id) {
if (!parentId) { if (!id) {
var row = DataUtil.getSelectedRow(purchaseGridManager); var row = DataUtil.getSelectedRow(purchaseGridManager);
if (!row) { if (!row) {
return row; return row;
} }
parentId = row.parentId; id = row.id;
} }
UICtrl.addTabItem({ UICtrl.addTabItem({
tabid: 'viewPurchase' + parentId, tabid: 'viewPurchase' + id,
text: '查看采购申请', text: '查看采购申请',
url: web_app.name + '/purchase/loadPurchaseDetail.do?isReadOnly=true&id=' + parentId url: web_app.name + '/sapPurchase/showSapPurchaseDetail.do?isReadOnly=true&bizId=' + id
}); });
} }
function updateHandler() { //添加按钮
var row = DataUtil.getSelectedRow(purchaseGridManager); function addHandler() {
if (!row) { UICtrl.showAjaxDialog({
return; title: '新增',
} width: 400,
UICtrl.addTabItem({ url: web_app.name + '/sapPurchase/choosePurchaseDetail.load',
tabid: 'updatePurchase' + row.parentId, ok: insertHandler
text: '修改采购申请',
url: web_app.name + '/purchase/loadPurchaseDetail.do?id=' + row.parentId
}); });
} }
function addHandler() { function insertHandler() {
var bsart = $("#bsart").val();
UICtrl.addTabItem({ UICtrl.addTabItem({
tabid: 'addPurchase', tabid: 'addPurchase',
text: '新增采购申请', text: '新增采购申请',
url: web_app.name + '/sapPurchase/forwardSapPurchaseDetail.job' url: web_app.name + '/sapPurchase/forwardSapPurchaseDetail.job?bsart='+bsart
}); });
} }
......
var itemGridManager = null, pstyp = " ", fillinDate = "", bsart = "";
$(function () {
initializeCommonUI();
bindEvent();
initItemGrid();
});
function initializeCommonUI() {
bsart = $("#bsart").val();
if ("ZFW" == bsart) {
pstyp = "D";
} else {
pstyp = "";
}
}
function bindEvent() {
fillinDate = $("#fillinDate").val();
}
function initItemGrid() {
var toolbar = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
UICtrl.addGridRow(itemGridManager, {
bnfpo: (itemGridManager.getData().length + 1) * 10,
pstyp: pstyp,
badat: fillinDate,
erdat: fillinDate
});
},
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: true,
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 = [];
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: "knttp", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "knttp",
getParam: function (item) {
return {filterValue: $("#bsart").val()}
},
back: {
knttp: "knttp"
}
},
}
},);
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: "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: "matkl", 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"
}
},
}
},);
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: "meins", width: 150, minWidth: 60, type: "string", align: "center",
/*editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {paramValue: "MEINS"}
},
back: {
MEINS: "meins"
}
},
}*/
editor: {required: true, type: "text"}
},);
columns.push({
display: "采购组", name: "ekgrp", 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"
}
},
}
},);
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: "waers", width: "100", align: "left", type: "string",
editor: {
required: true, type: "text",
/*data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "WAERS"}
},
back: {
WAERS: "waers"
}
},*/
}
},);
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: "zebkn", width: "100", align: "left", type: "string",
editor: {type: 'text'},
render: function (item) {
//申购项次为消耗性采购时,从1开始步长为1自动编号,最大99
// if (item.knttp != ''){
// ZEBKN_NUM = ZEBKN_NUM + 1;
// }
return item.zebkn = item.menge;
}
},);
columns.push({
display: "多重科目分配", name: "vrtkz", width: "100", align: "left", type: "string",
//editor: {type: 'text'},
render: function (item) {
//资产消耗性申购,若申请数量大于1,此处不能为空,必须选择1
if (item.knttp == "A" && item.menge > 1) {
return item.vrtkz = 1;
}
}
},);
columns.push({
display: "部分发票", name: "twrkz", width: "100", align: "left", type: "string",
editor: {type: 'text'},
render: function (item) {
//资产消耗性申购,若申请数量大于1,此处不能为空,必须选择1
if (item.knttp == "A" && item.menge > 1) {
return item.twrkz = 1;
}
}
},);
columns.push({
display: "PR分解数量", name: "ekbnMenge", width: "100", align: "left", type: "string",
editor: {type: 'text'}
},);
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
editor: {type: 'text', required: false}
},);
columns.push({
display: "资产编号", name: "anln1", width: "200", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {
fieldName: "ANLN1",
filterValue: '1000'
}
},
back: {
ANLN1: "anln1"
}
},
}
},);
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;
}
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;
}
<%--采购申请--%>
<%@ 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/sapZNE1PurchaseDetail.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="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
...@@ -43,25 +43,47 @@ public class SapPurchaseController extends CommonController { ...@@ -43,25 +43,47 @@ public class SapPurchaseController extends CommonController {
return toResult(map); return toResult(map);
} }
public String choosePurchaseDetail(){
return forward("choosePurchaseDetail");
}
public String forwardSapPurchaseDetail(){ public String forwardSapPurchaseDetail(){
this.putAttribute("processDefinitionKey", SapPurchaseApplication.PROCESS_DEFINITION_KEY); this.putAttribute("processDefinitionKey", SapPurchaseApplication.PROCESS_DEFINITION_KEY);
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态 // 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
this.putAttribute("procUnitId", "Apply"); this.putAttribute("procUnitId", "Apply");
String bsart = getSDO().getString("bsart");
SapPurchase sapPurchase = new SapPurchase(); SapPurchase sapPurchase = new SapPurchase();
sapPurchase.setBsart(bsart);
sapPurchase.setStatusId(BizBillStatus.APPLYING.getId()); sapPurchase.setStatusId(BizBillStatus.APPLYING.getId());
/** /**
* 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息 * 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息
*/ */
Operator operator = getOperator(); Operator operator = getOperator();
sapPurchase.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName())); sapPurchase.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
switch (bsart){
case "ZNE1":
return forward("sapZNE1PurchaseDetail",sapPurchase);
case "ZFW":
return forward("sapPurchaseDetail",sapPurchase);
case "ZNE2":
return forward("sapPurchaseDetail",sapPurchase); return forward("sapPurchaseDetail",sapPurchase);
} }
return null;
}
public String showSapPurchaseDetail(){ public String showSapPurchaseDetail(){
SDO sdo = this.getSDO(); SDO sdo = this.getSDO();
String id = sdo.getBizId(); String id = sdo.getBizId();
SapPurchase sapPurchase = sapPurchaseApplication.loadSapPurchase(id); SapPurchase sapPurchase = sapPurchaseApplication.loadSapPurchase(id);
switch (sapPurchase.getBsart()){
case "ZNE1":
return forward("sapZNE1PurchaseDetail",sapPurchase);
case "ZFW":
return forward("sapPurchaseDetail",sapPurchase);
case "ZNE2":
return forward("sapPurchaseDetail",sapPurchase); return forward("sapPurchaseDetail",sapPurchase);
} }
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