810 lines
27 KiB
Plaintext
810 lines
27 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ page import="java.util.*"%>
|
|
<%@include file="/init_jqGrid.jsp"%>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
|
|
<!-- //JSTL 페이징 변수선언 -->
|
|
<c:set var="now" value="<%=new java.util.Date() %>" />
|
|
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
|
|
<c:set var="fileDocType" value="EXPENSE_MASTER" />
|
|
<c:set var="fileDocTypeName" value="경비신청서" />
|
|
|
|
<script type="text/javascript">
|
|
var grid;
|
|
$(document).ready(function(){
|
|
|
|
$("#projectNo").change(function(){
|
|
|
|
if($("#expSortCd").val()==""){
|
|
Swal.fire('구분을 먼저 선택하셔야 합니다.');
|
|
$("#expSortCd").focus();
|
|
$("#projectNo").val("");
|
|
}
|
|
$("#expSortCd").val("${param.expSortCd}");
|
|
$("#expSortCd").trigger("change");
|
|
$("#busContent").val("${param.busContent}");
|
|
$("#projectNo").val("${param.projectNo}");
|
|
$("#expStatusCd").val("${param.expStatusCd}");
|
|
$("#expCompanyCd").val("${param.expCompanyCd}");
|
|
$("#expAreaCd").val("${param.expAreaCd}");
|
|
$("#vehicelUsed").val("${param.vehicelUsed}");
|
|
|
|
});
|
|
|
|
//결재라인 가져오기
|
|
fn_getApprLine();
|
|
|
|
var busArry = "${info.BUS_USERS_ID}".split(",");
|
|
|
|
for(var i=0;i<busArry.length;i++){
|
|
//Swal.fire(busArry[i]);
|
|
$("#busUsersId option[value="+busArry[i]+"]").attr("selected",true);
|
|
}
|
|
/* $("#expSortCd" ).select2();
|
|
$("#projectNo" ).select2();
|
|
$("#expStatusCd" ).select2();
|
|
$("#expCompanyCd").select2();
|
|
$("#expAreaCd" ).select2();
|
|
$("#vehicelUsed" ).select2(); */
|
|
$("#busUsersId" ).select2({multiple: true});
|
|
/* $("#busContent" ).select2(); */
|
|
|
|
fnc_datepick(); //달력
|
|
fnc_setFileDropZone("file1DropZone", "${objId}", "${fileDocType}", "${fileDocTypeName}", "file1AreaDraw",false,null,null); //첨부파일
|
|
file1AreaDraw(); //첨부파일목록조회
|
|
|
|
//default value
|
|
setDefault();
|
|
|
|
$("#btnAdd" ).click(function(){ gridFn.addRow(); });
|
|
$("#btnDel" ).click(function(){ gridFn.delRow(); });
|
|
|
|
$("#btnEdit").click(function(){
|
|
if(confirm("수정하시겠습니까?")){
|
|
fn_apply();
|
|
}
|
|
});
|
|
|
|
var gridExpSortCd = $.parseJSON($("#gridExpSortCd").val()); //jqGrid 구분
|
|
var gridProjectNo = $.parseJSON($("#gridProjectNo").val()); //jqGrid 프로젝트 no
|
|
var gridExpSubmCd = $.parseJSON($("#gridExpSubmCd").val()); //jqGrid 계정과목
|
|
var gridExpSubdCdArr = $.parseJSON($("#gridExpSubdCd").val()); //jqGrid 적요
|
|
var gridExpSubdCd = {"":"선택"};
|
|
|
|
for(var i=0; i<gridExpSubdCdArr.length; i++){
|
|
cd = gridExpSubdCdArr[i];
|
|
gridExpSubdCd[cd["CODE_ID"]] = cd["CODE_NAME"];
|
|
};
|
|
|
|
grid = $("#expenseDetailGrid").jqGrid({
|
|
url: ""
|
|
,datatype: "local"
|
|
,colNames: ["OBJID","경비마스터OBJID","구분","구분","Project No.","계정과목","적요","카드사용액","현금사용액","가지급금액"]
|
|
,colModel: [
|
|
{name:"EXPENSE_DETAIL_OBJID",index:"EXPENSE_DETAIL_OBJID", width: 30, align:"center", hidden: true, sortable:false, editable:false}
|
|
,{name:"EXPENSE_MASTER_OBJID",index:"EXPENSE_MASTER_OBJID", width: 30, align:"center", hidden: true, sortable:false, editable:false}
|
|
,{name:"EXP_SORT_CD" ,index:"EXP_SORT_CD" , width:130, align:"center", hidden: true, sortable:false, editable: true}
|
|
,{name:"EXP_SORT_CD_NAME" ,index:"EXP_SORT_CD_NAME" , width:120, align:"center", hidden:false, sortable:false, editable: true
|
|
,editoptions:{
|
|
dataInit: function(e){
|
|
e.style.width = "92%";
|
|
e.style.fontSize = 13;
|
|
}
|
|
}
|
|
}
|
|
|
|
,{name:"EXP_PROJECT_NO" ,index:"EXP_PROJECT_NO" , width:120, align:"center", hidden:false, sortable:false, editable:true
|
|
,editoptions:{
|
|
value: gridProjectNo
|
|
,dataInit: function(e){
|
|
e.style.width = "92%";
|
|
e.style.fontSize = 13;
|
|
}
|
|
}
|
|
}
|
|
|
|
,{name:"EXP_SUBM_CD" ,index:"EXP_SUBM_CD" , width:200, align:"center", hidden:false, sortable:false, readonly: true
|
|
,edittype :"select"
|
|
,formatter :"select"
|
|
,editoptions:{
|
|
value: gridExpSubmCd
|
|
,dataEvents: [
|
|
{type:"change", fn:function(e) {
|
|
var row = $(e.target).closest("tr.jqgrow");
|
|
gridFn.getStep2Cd(this);
|
|
}}
|
|
]
|
|
,dataInit: function(e){
|
|
e.style.width = "92%";
|
|
e.style.fontSize = 13;
|
|
}
|
|
}
|
|
}
|
|
|
|
,{name:"EXP_SUBD_CD" ,index:"EXP_SUBD_CD" , width:200, align:"center", hidden:false, sortable:false, readonly: true
|
|
,edittype :"select"
|
|
,formatter :"select"
|
|
,editoptions:{
|
|
value: gridExpSubdCd
|
|
,dataInit: function(e){
|
|
e.style.width = "92%";
|
|
e.style.fontSize = 13;
|
|
}
|
|
}
|
|
}
|
|
|
|
,{name:"CARD_USED" ,index:"CARD_USED" , width:150, align: "right", hidden:false, sortable:false, readonly: true
|
|
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
|
,editoptions:{
|
|
dataEvents: [
|
|
{type:"change", fn:function(e) {
|
|
gridFn.footerSummary();
|
|
}}
|
|
]
|
|
,dataInit: function(e){
|
|
e.style.textAlign = "right";
|
|
e.style.fontSize = 13;
|
|
}
|
|
}
|
|
}
|
|
|
|
,{name:"CASH_USED" ,index:"CASH_USED" , width:150, align: "right", hidden:false, sortable:false, readonly: true
|
|
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
|
,editoptions:{
|
|
dataEvents: [
|
|
{type:"change", fn:function(e) {
|
|
gridFn.footerSummary();
|
|
}}
|
|
]
|
|
,dataInit: function(e){
|
|
e.style.textAlign = "right";
|
|
e.style.fontSize = 13;
|
|
}
|
|
}
|
|
}
|
|
|
|
,{name:"PAYMENT" ,index:"PAYMENT" , width:150, align: "right", hidden:false, sortable:false, readonly: true
|
|
,formatter: "integer", formatoptions:{thousandsSeparator:","}
|
|
,editoptions:{
|
|
dataEvents: [
|
|
{type:"change", fn:function(e) {
|
|
gridFn.footerSummary();
|
|
}}
|
|
]
|
|
,dataInit: function(e){
|
|
e.style.textAlign = "right";
|
|
e.style.fontSize = 13;
|
|
}
|
|
}
|
|
}
|
|
]
|
|
,rownumbers : true
|
|
,viewrecords : true
|
|
,height : 276
|
|
,multiselect : true
|
|
,shrinkToFit : false
|
|
,autowidth : true
|
|
,sortable : false
|
|
,rowNum : 100
|
|
,forceFit : false //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부
|
|
,jsonReader : {repeatitems: false}
|
|
,mtype :"POST"
|
|
,footerrow : true //바닥합계
|
|
,userDataOnFooter: true //바닥합계
|
|
,loadComplete: function(){
|
|
//footer 커스텀..
|
|
$(".ui-jqgrid-ftable td:eq(1)").remove();
|
|
$(".ui-jqgrid-ftable td:eq(1)").remove();
|
|
$(".ui-jqgrid-ftable td:eq(1)").remove();
|
|
$(".ui-jqgrid-ftable td:eq(1)").remove();
|
|
$(".ui-jqgrid-ftable td:eq(1)").remove();
|
|
$(".ui-jqgrid-ftable td:eq(1)").remove();
|
|
$(".ui-jqgrid-ftable td:eq(1)").remove();
|
|
$(".ui-jqgrid-ftable td:eq(0)").attr({"colspan":"8", "rowspan":"2"});
|
|
$(".ui-jqgrid-ftable td:eq(0)").css({"width":"","font-size":"20px"});
|
|
$(".ui-jqgrid-ftable td:eq(2)").attr({id:"summuryTotalCARD_USED"});
|
|
$(".ui-jqgrid-ftable td:eq(3)").attr({id:"summuryTotalCASH_USED"});
|
|
$(".ui-jqgrid-ftable td:eq(4)").attr({id:"summuryTotalPAYMENT" });
|
|
$(".ui-jqgrid-ftable tbody").append("<tr class=\"ui-widget-content footrow footrow-ltr\"><td colspan=\"4\" id=\"summuryTotal\" style=\"text-align:right\"></td></tr>");
|
|
$("#expenseDetailGrid").jqGrid("footerData", "set", { "rn":"정 산 지 급 액(원)", "CARD_USED": "", "CASH_USED": "", "PAYMENT": "" });
|
|
}
|
|
});
|
|
|
|
gridFn.search();
|
|
|
|
$(".btnApproval").click(function(){
|
|
var objId = $("#objId").val();
|
|
|
|
var title = $("#busTitle").val();
|
|
|
|
if(objId == ""){
|
|
Swal.fire("선택된 대상이 없습니다.");
|
|
}else{
|
|
window.open("/approval/registApproval.do?targetType=EXPENSE_APPLY&targetObjId="+objId+"&approvalTitle=&callbackFnc=fn_search_parents","registApproval","width=700,height=700");
|
|
}
|
|
});
|
|
|
|
if("${insertVal}" == 'regist'){
|
|
setTimeout(function() {
|
|
gridFn.addRowAuto();
|
|
}, 1000);
|
|
}
|
|
|
|
$("#file1DropZone").hide();
|
|
|
|
|
|
|
|
});
|
|
|
|
function setDefault(){
|
|
var date = new Date();
|
|
var _yyyy = date.getFullYear();
|
|
var _mm = ((date.getMonth()+1) <10?"0":"") + (date.getMonth()+1);
|
|
var _dd = (date.getDate() <10?"0":"") + date.getDate();
|
|
var now_date = _yyyy+"-"+_mm+"-"+_dd;
|
|
|
|
if($("#bnsStartDate").val()==""){
|
|
$("#bnsStartDate").val(now_date);
|
|
}
|
|
if($("#bnsEndDate").val()==""){
|
|
$("#bnsEndDate").val(now_date);
|
|
}
|
|
if($("#regDate").val()==""){
|
|
$("#regDate").val(now_date);
|
|
}
|
|
}
|
|
|
|
var gridFn = {
|
|
addRow : function() {
|
|
var newId = grid.getGridParam("reccount")+1;
|
|
var addData = {
|
|
"EXPENSE_DETAIL_OBJID": "",
|
|
"EXPENSE_MASTER_OBJID": "${objId}",
|
|
"EXP_SORT_CD" : "",
|
|
"EXP_SORT_CD_NAME" : "",
|
|
"EXP_PROJECT_NO" : "",
|
|
"EXP_SUBM_CD" : "",
|
|
"EXP_SUBD_CD" : "",
|
|
"CARD_USED" : "",
|
|
"CASH_USED" : "",
|
|
"PAYMENT" : ""
|
|
};
|
|
grid.addRowData(newId, addData);
|
|
grid.jqGrid("editRow", newId);
|
|
optionSortCd();
|
|
gridFn.setprojectNo();
|
|
}
|
|
,addRowAuto : function() {
|
|
for(var i = 0; i < 1; i++){
|
|
var newId = grid.getGridParam("reccount")+1;
|
|
var addData = {
|
|
"EXPENSE_DETAIL_OBJID": "",
|
|
"EXPENSE_MASTER_OBJID": "${objId}",
|
|
"EXP_SORT_CD" : "",
|
|
"EXP_SORT_CD_NAME" : "",
|
|
"EXP_PROJECT_NO" : "",
|
|
"EXP_SUBM_CD" : "",
|
|
"EXP_SUBD_CD" : "",
|
|
"CARD_USED" : "",
|
|
"CASH_USED" : "",
|
|
"PAYMENT" : ""
|
|
};
|
|
grid.addRowData(newId, addData);
|
|
grid.jqGrid("editRow", newId);
|
|
optionSortCd();
|
|
gridFn.setprojectNo();
|
|
}
|
|
}
|
|
,delRow : function(){
|
|
var selectedRowIds = grid.jqGrid("getGridParam","selarrrow");
|
|
if(selectedRowIds.length==0){
|
|
Swal.fire("삭제할 행을 선택해주십시오.");
|
|
return false;
|
|
}
|
|
for(var i = selectedRowIds.length - 1; i >= 0; i--){
|
|
grid.delRowData(selectedRowIds[i]);
|
|
}
|
|
}
|
|
,opennEdit : function() { //수정가능
|
|
var ids = grid.jqGrid("getDataIDs");
|
|
for (var i = 0; i < ids.length; i++) {
|
|
grid.jqGrid("editRow",ids[i]);
|
|
}
|
|
}
|
|
,closeEdit : function() { //수정불가
|
|
var ids = grid.jqGrid("getDataIDs");
|
|
for (var i = 0; i < ids.length; i++) {
|
|
grid.jqGrid("saveRow", ids[i], /*successFunction*/null, /*url*/"clientArray"/*, extraparam, aftersavefunc,errorfunc, afterrestorefunc*/);
|
|
}
|
|
}
|
|
,getStep2Cd : function(obj){ //2단계연결코드 재설정
|
|
var gridExpSubdCdArr = $.parseJSON($("#gridExpSubdCd").val());
|
|
var targetObj = $("#"+$(obj).attr("rowid")+"_EXP_SUBD_CD");
|
|
targetObj.empty(); //초기화
|
|
targetObj.append("<option value=\"\">선택</option>");
|
|
for(var i=0; i<gridExpSubdCdArr.length; i++){
|
|
cd = gridExpSubdCdArr[i];
|
|
if(cd["PARENT_CODE_ID"]==obj.value){
|
|
targetObj.append("<option value=\""+cd["CODE_ID"]+"\">"+cd["CODE_NAME"]+"</option>");
|
|
}
|
|
};
|
|
}
|
|
,search : function() {
|
|
grid.setGridParam({
|
|
url: "/costMgmt/expenseDetailList.do"
|
|
,datatype : "json"
|
|
,postData : {"objId" : "${objId}"}
|
|
,loadComplete : function(data) {
|
|
gridFn.footerSummary();
|
|
gridFn.setExpSortCd();
|
|
gridFn.setprojectNo();
|
|
}
|
|
,gridComplete : function() {
|
|
gridFn.opennEdit(); //수정가능
|
|
}
|
|
}).trigger("reloadGrid");
|
|
grid.setGridParam({url: "", datatype : "local"});
|
|
}
|
|
,footerSummary: function(){ //자동합계
|
|
var colSum1 = $("#TOTAL_CARD_USED").val();
|
|
var colSum2 = $("#TOTAL_CASH_USED").val();
|
|
var colSum3 = $("#TOTAL_PAYMENT").val();
|
|
//$("input[id*=CARD_USED]").each(function(){ if($.isNumeric($(this).val())){ colSum1 += parseInt($(this).val()); } });
|
|
//$("input[id*=CASH_USED]").each(function(){ if($.isNumeric($(this).val())){ colSum2 += parseInt($(this).val()); } });
|
|
//$("input[id*=PAYMENT]" ).each(function(){ if($.isNumeric($(this).val())){ colSum3 += parseInt($(this).val()); } });
|
|
|
|
$("#summuryTotalCARD_USED").text(numberWithCommas(colSum1+""));
|
|
$("#summuryTotalCASH_USED").text(numberWithCommas(colSum2+""));
|
|
$("#summuryTotalPAYMENT" ).text(numberWithCommas(colSum3+""));
|
|
$("#summuryTotal").text(numberWithCommas(Number(colSum1)+Number(colSum2)-Number(colSum3)+""));
|
|
}
|
|
,setExpSortCd: function(){
|
|
var sortCd1 = $("#projectNo").val();
|
|
var sortCd = $("#expSortCd").val();
|
|
var sortName = $("#expSortCd option:selected").text();
|
|
|
|
if($("#expSortCd").val() == '0001542'){
|
|
$("input[id*=EXP_PROJECT_NO]").each(function(){
|
|
$(this).attr("disabled","disabled");
|
|
$(this).val(sortCd1);
|
|
});
|
|
}else{
|
|
$("input[id*=EXP_PROJECT_NO]").each(function(){
|
|
$(this).attr("disabled","disabled");
|
|
$(this).val("");
|
|
});
|
|
}
|
|
|
|
$("input[id*=EXP_SORT_CD]").each(function(){
|
|
$(this).val(sortCd);
|
|
});
|
|
$("input[id*=EXP_SORT_CD_NAME]").each(function(){
|
|
$(this).val(sortName);
|
|
$(this).attr("disabled","disabled");
|
|
});
|
|
|
|
}
|
|
,setprojectNo: function(){
|
|
|
|
var sortCd = $("#expSortCd").val();
|
|
var projectNo = $("#projectNo").val();
|
|
var projectName = $("#projectNo option:selected").text();
|
|
|
|
if(sortCd != '0001542'){
|
|
$(this).val("");
|
|
$(this).attr("disabled","disabled");
|
|
}else{
|
|
$("input[id*=EXP_PROJECT_NO]").each(function(){
|
|
$(this).val(projectNo);
|
|
$(this).attr("disabled","disabled");
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
function fn_save(){
|
|
if(fnc_valitate("form1")){
|
|
if(confirm("저장 하시겠습니까?")){
|
|
gridFn.closeEdit();
|
|
$.ajax({
|
|
url:"/costMgmt/expenseApplySave.do"
|
|
,type:"POST"
|
|
,data: $("#form1").serialize() + "&jqGrid="+ JSON.stringify(grid.getRowData())
|
|
,dataType:"json"
|
|
,success:function(data){
|
|
if(data =="SUCCESS"){
|
|
Swal.fire("저장되었습니다.");
|
|
};
|
|
if(typeof opener.fn_search =="function"){ opener.fn_search() };
|
|
self.close();
|
|
}
|
|
,error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
//형상 영역을 display 한다.
|
|
function file1AreaDraw(){
|
|
fn_fileCallback("file1","${fileDocType}");
|
|
}
|
|
//첨부파일 목록을 가져온다.
|
|
function fn_fileCallback(areaId,fileType){
|
|
$.ajax({
|
|
url:"/common/getFileList.do",
|
|
type:"POST",
|
|
data:{"targetObjId":"${objId}", "docType":fileType},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
if(0 < data.length){
|
|
//첨부파일 목록 영역 show
|
|
$("#"+areaId+"FileArea").empty();
|
|
if(0 < $("#"+areaId+"DefaultRow").length){
|
|
$("#"+areaId+"DefaultRow").hide();
|
|
}
|
|
|
|
$.each(data, function(i){
|
|
var appendText = "";
|
|
var path = data[i].FILE_PATH;
|
|
var fileName = data[i].SAVED_FILE_NAME;
|
|
var fileExt = data[i].UPPER_FILE_EXT;
|
|
appendText += "<colgroup>";
|
|
appendText +=" <col width=\"10%\">";
|
|
appendText +=" <col width=\"*\">";
|
|
appendText +=" <col width=\"20%\">";
|
|
appendText +=" </colgroup>";
|
|
appendText+= "<tr>";
|
|
appendText+= " <td>"+[i+1]+"</td>";
|
|
appendText+= " <td class=\"align_l\"><a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'> "+data[i].REAL_FILE_NAME+"</a>";
|
|
<c:if test="${param.actionType eq 'regist' or info.WRITER eq connectUserId or 'plm_admin' eq connectUserId}">
|
|
appendText+= "<a href=\"javascript:fileDelete('"+data[i].OBJID+"', '"+areaId+"')\"><div class=\"delete_btn\"></div></a>";
|
|
</c:if>
|
|
appendText+= "</td>";
|
|
appendText+= " <td>"+data[i].REGDATE+"</td>";
|
|
appendText+= "</tr>";
|
|
$("#"+areaId+"FileArea").append(appendText);
|
|
});
|
|
}else{
|
|
$("#"+areaId+"DropZone").show();
|
|
$("#"+areaId+"AttachFileList").hide();
|
|
$("#"+areaId+"FileArea").empty();
|
|
var appendText = "";
|
|
appendText += "<tr>";
|
|
appendText += "<td>첨부 파일이 없습니다.</td>";
|
|
appendText +="</tr>";
|
|
$("#"+areaId+"FileArea").append(appendText);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}//파일 첨부 END
|
|
|
|
/*첨부 파일 삭제 */
|
|
function fileDelete(fileObjId,areaId){
|
|
var type =areaId;
|
|
if(confirm("파일을 삭제하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/common/deleteFileInfo.do",
|
|
type:"POST",
|
|
data:{"objId":fileObjId},
|
|
dataType:"json",
|
|
async:true,
|
|
success:function(data){
|
|
fn_fileCallback("file1","${fileDocType}");
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function optionSortCd(){
|
|
|
|
if($("#expSortCd").val() == '0001543'){
|
|
$("#projectNo").attr('disabled','disabled');
|
|
} else{
|
|
$("#projectNo").attr('disabled',false);
|
|
}
|
|
|
|
gridFn.setExpSortCd();
|
|
}
|
|
|
|
function optionprojectNo(){
|
|
gridFn.setprojectNo();
|
|
}
|
|
|
|
//결재라인
|
|
function fn_getApprLine(){
|
|
var k=0;
|
|
$.ajax({
|
|
url:"/common/getApprovalLine.do",
|
|
type:"POST",
|
|
data:{"objId":"${objId}"},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
$.each(data, function(i){
|
|
|
|
for(var j=0;j<data[i].length;j++){
|
|
var REGDATE="";
|
|
var PROC_DATE="";
|
|
if(data[i][j].REGDATE!=undefined){
|
|
REGDATE = data[i][j].REGDATE;
|
|
}
|
|
if(data[i][j].PROC_DATE!=undefined){
|
|
PROC_DATE = data[i][j].PROC_DATE;
|
|
}
|
|
text = data[i][j].WRITER+"<br>"+REGDATE;
|
|
$("#appr"+k).html(text);
|
|
k++;
|
|
text = data[i][j].TARGET_USER_NAME+"<br>"+PROC_DATE;
|
|
$("#appr"+k).html(text);
|
|
k++;
|
|
}
|
|
|
|
});
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
function fn_apply(){
|
|
var form = document.form1;
|
|
form.action = "/costMgmt/expenseApply.do";
|
|
form.submit();
|
|
}
|
|
|
|
function fn_search_parents(){
|
|
opener.fn_search();
|
|
document.form1.action = "/costMgmt/expenseApplyDetail.do";
|
|
document.form1.submit();
|
|
}
|
|
|
|
</script>
|
|
|
|
</head>
|
|
<body>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<section>
|
|
<div class="plm_menu_name">
|
|
<div> <!-- style="float: left; width: 70%;" -->
|
|
<h2><span>원가관리_경비신청서</span></h2>
|
|
</div>
|
|
<!-- <div class="box-sign-tit" style="width:790px; font-size:25px; font-weight:bold;">프로젝트 경비신청서</div> -->
|
|
|
|
<div style="float: right; margin: 3px 8px -7px 0;;border-right:1px solid #ccc">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="" />
|
|
<col width="11%" />
|
|
<col width="23%" />
|
|
<col width="23%" />
|
|
<col width="23%" />
|
|
</colgroup>
|
|
<thead></thead>
|
|
<tbody>
|
|
<tr style="background-color:#8e9194;color:#fff">
|
|
<td rowspan="2" style="width:790px; font-size:25px; font-weight:bold;background-color:#fff;color:#000000">프로젝트 경비신청서</td>
|
|
<td rowspan="2">결재</td>
|
|
<td>입안</td>
|
|
<td>팀장</td>
|
|
<td>결재</td>
|
|
</tr>
|
|
<tr style="height: 40px;">
|
|
<td id="appr0"></td>
|
|
<td id="appr1"></td>
|
|
<td id="appr3"></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div style="clear:both"></div>
|
|
<br>
|
|
|
|
<div id="expenseApplyPopupFormWrap1">
|
|
<table class="pmsPopupForm">
|
|
<colgroup>
|
|
<col width="10%"/>
|
|
<col width="15%"/>
|
|
<col width="10%"/>
|
|
<col width="15%"/>
|
|
<col width="10%"/>
|
|
<col width="15%"/>
|
|
<col width="10%"/>
|
|
<col width="15%"/>
|
|
</colgroup>
|
|
<tr>
|
|
<td class="input_title" style="text-align:center;"><label for="expSortCd">구분</label></td>
|
|
<td class="input_sub_title">
|
|
<select name="expSortCd" id="expSortCd" required reqTitle="구분" type="select" onchange="optionSortCd()" disabled>
|
|
<option value="">선택</option>
|
|
${code_map.expSortCd}
|
|
</select>
|
|
</td>
|
|
<td class="input_title" style="text-align:center;"><label for="projectNo">Project No.</label></td>
|
|
<td class="input_sub_title">
|
|
<select name="projectNo" id="projectNo" required reqTitle="Project No" type="select" onchange="optionprojectNo()" disabled>
|
|
<option value="">선택</option>
|
|
<option value="공통">공통</option>
|
|
${code_map.projectNo}
|
|
</select>
|
|
</td>
|
|
<td class="input_title" style="text-align:center;"><label for="bnsStartDate">출장기간</label></td>
|
|
<td class="input_sub_title">${info.BNS_START_DATE}</td>
|
|
<td class="input_title" style="text-align:center;"><label for="bnsEndDate">~</label></td>
|
|
<td class="input_sub_title">${info.BNS_END_DATE}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title" style="text-align:center;"><label for="expStatusCd">단계</label></td>
|
|
<td class="input_sub_title">
|
|
<select name="expStatusCd" id="expStatusCd" required reqTitle="단계" type="select" disabled>
|
|
<option value="">선택</option>
|
|
${code_map.expStatusCd}
|
|
</select>
|
|
</td>
|
|
<td class="input_title" style="text-align:center;"><label for="expCompanyCd">고객사</label></td>
|
|
<td class="input_sub_title">
|
|
<select name="expCompanyCd" id="expCompanyCd" required reqTitle="업체명" type="select" disabled>
|
|
<option value="">선택</option>
|
|
${code_map.expCompanyCd}
|
|
</select>
|
|
</td>
|
|
<td class="input_title" style="text-align:center;"><label for="expAreaCd">지역</label></td>
|
|
<td class="input_sub_title">
|
|
<select name="expAreaCd" id="expAreaCd" required reqTitle="지역" type="select" disabled>
|
|
<option value="">선택</option>
|
|
${code_map.expAreaCd}
|
|
</select>
|
|
</td>
|
|
<td class="input_title" style="text-align:center;"><label for="vehicelUsed">이용차량</label></td>
|
|
<td class="input_sub_title">
|
|
<select name="vehicelUsed" id="vehicelUsed" required reqTitle="이용차량" type="select" disabled>
|
|
<option value="">선택</option>
|
|
${code_map.vehicelUsed}
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title" style="text-align:center;"><label for="busUsersId">출장자</label></td>
|
|
<td colspan="3" class="input_sub_title">
|
|
<span>
|
|
<select name="busUsersId" id="busUsersId" required reqTitle="출장자" type="select" multiple="multiple" disabled>
|
|
<option value="">선택</option>
|
|
${code_map.busUsersId}
|
|
</select>
|
|
</span>
|
|
<input type="hidden" name="busUsersIds" />
|
|
</td>
|
|
<td class="input_title" style="text-align:center;"><label for="busContent">출장목적</label></td>
|
|
<td class="input_sub_title">
|
|
<select name="busContent" id="busContent" required reqTitle="출장목적" type="select" disabled>
|
|
<option value="">선택</option>
|
|
${code_map.busContent}
|
|
</select>
|
|
</td>
|
|
<td class="input_title" style="text-align:center;"><label for="regUserName">작성자</label></td>
|
|
<td class="input_sub_title">${info.REG_USER_NAME}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title" style="text-align:center;"><label for="busTitle">제목</label></td>
|
|
<td colspan="5" class="input_sub_title">${info.BUS_TITLE}</td>
|
|
<td class="input_title" style="text-align:center;"><label for="regDate">작성일</label></td>
|
|
<td class="input_sub_title">${info.REG_DATE}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div id="plm_table_wrap1" style="padding:0 8 0 8;">
|
|
<div style="">
|
|
<div style="height: 330px;">
|
|
<table id="expenseDetailGrid"></table>
|
|
<!-- <div id="jqGridPager"></div> -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap" style="padding:9 8 0 8; text-align: right;"></div>
|
|
</div>
|
|
<div style="padding:10 8 0 8; font-weight: 500; font-size: 12px;">
|
|
<pre>※ 작성요령 : 1) 식대는 끼니수(몇식) 2) 숙박은 몇인/몇박 3) 차량거리(Km), 이용차량(법인/자차,자차(가솔린/경유/전기차/하이브리드)) 구분 </pre>
|
|
</div>
|
|
<div id="plm_table_wrap2" style="padding:0;border:3px solid #333;margin:0 8px">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="10%"/>
|
|
<col width="40%"/>
|
|
<col width="50%"/>
|
|
</colgroup>
|
|
<!-- thead>
|
|
<tr><th colspan="8"></th></tr>
|
|
</thead-->
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align: left; background-color: #e4e7ec; font-weight: 500; font-size: 12px;padding-left:7px">
|
|
[특이사항]
|
|
</td>
|
|
<td>
|
|
<textarea style="white-space: pre-wrap; width:100%; height: 50px;" name="reason" readonly>${info.REASON}</textarea>
|
|
</td>
|
|
<td rowspan="3" style="text-align: left; vertical-align: top; background-color: #e4e7ec; font-weight: 500; font-size: 12px;padding-left:2px">
|
|
[지시사항]<br/>
|
|
<textarea style="white-space: pre-wrap; width:100%; height: 95%;" name="instructions" readonly>${info.INSTRUCTIONS}</textarea>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="2" style="text-align: left; background-color: #e4e7ec; font-weight: 500; font-size: 12px;padding-left:7px">[첨부파일]</td>
|
|
<td ><div id="file1DropZone" class="dropzone"style="width:99% !important;">Drag & Drop Files Here</div></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<div class="project_form_in_table" style="width: 100%" id="fileListAreaTable">
|
|
<div style="overflow-y: scroll;">
|
|
<table class="" style="width: 100%;"><!-- fileListscrollThead -->
|
|
<colgroup>
|
|
<col width="10%">
|
|
<col width="*">
|
|
<col width="20%">
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td>No</td>
|
|
<td>첨부파일명</td>
|
|
<td>등록일</td>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="plm_scroll_table" style="height: 50px;">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="10%">
|
|
<col width="*">
|
|
<col width="20%">
|
|
</colgroup>
|
|
</table>
|
|
<table id="file1FileArea" class="fileListscrollTbody">
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap_center">
|
|
<c:choose>
|
|
<c:when test="${(info.REG_USER_ID eq connectUserId or 'plm_admin' eq connectUserId) and (empty info.APPROVAL_STATUS or 'reject' eq info.APPROVAL_STATUS)}">
|
|
<input type="button" value="수정" id="btnEdit" class="plm_btns">
|
|
<input type="button" class="plm_btns btnApproval" value="결재상신">
|
|
</c:when>
|
|
<c:otherwise></c:otherwise>
|
|
</c:choose>
|
|
<input type="button" class="plm_btns" value="닫기" onclick="window.close();" >
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<input type="hidden" name="objId" id="objId" value="${objId}"><%-- EXPENSE_MASTER_OBJID --%>
|
|
<input type="hidden" name="busTitle" id="busTitle" value="${info.BUS_TITLE}"><%-- EXPENSE_MASTER_OBJID --%>
|
|
<input type="hidden" name="TOTAL_CARD_USED" id="TOTAL_CARD_USED" value="${info.TOTAL_CARD_USED}"><%-- EXPENSE_MASTER_OBJID --%>
|
|
<input type="hidden" name="TOTAL_CASH_USED" id="TOTAL_CASH_USED" value="${info.TOTAL_CASH_USED}"><%-- EXPENSE_MASTER_OBJID --%>
|
|
<input type="hidden" name="TOTAL_PAYMENT" id="TOTAL_PAYMENT" value="${info.TOTAL_PAYMENT}"><%-- EXPENSE_MASTER_OBJID --%>
|
|
<textarea style="width:0px; height:0px; visibility: hidden;" id="gridExpSortCd">${code_map.gridExpSortCd}</textarea>
|
|
<textarea style="width:0px; height:0px; visibility: hidden;" id="gridProjectNo">${code_map.gridProjectNo}</textarea>
|
|
<textarea style="width:0px; height:0px; visibility: hidden;" id="gridExpSubmCd">${code_map.gridExpSubmCd}</textarea><!-- 코드동적설정 -->
|
|
<textarea style="width:0px; height:0px; visibility: hidden;" id="gridExpSubdCd">${code_map.gridExpSubdCd}</textarea><!-- 코드동적설정 -->
|
|
|
|
</form>
|
|
</body>
|
|
</html> |