Browse Source

报销申请项目报销调整

[user3] 3 years ago
parent
commit
ae895da350

+ 4 - 0
src/main/java/com/jeeplus/modules/workreimbursement/service/WorkReimbursementAllService.java

@@ -145,6 +145,8 @@ public class WorkReimbursementAllService extends CrudService<WorkReimbursementDa
                 }
                 if((null != workAccount.getProjectRadio() && workAccount.getProjectRadio() == 0)||(null != workAccount.getProjectRadio() && workAccount.getProjectRadio() ==2)){
                     workAccount.getProject().setProjectName(workAccount.getReimburseRemarks());
+                }else if (null != workAccount.getProjectRadio() && workAccount.getProjectRadio() ==1 && StringUtils.isBlank(workAccount.getProject().getId())){
+                    workAccount.getProject().setProjectName(workAccount.getReimburseRemarks());
                 }
             }
             workReimbursement.setWorkAccountList(workAccounts);
@@ -588,6 +590,8 @@ public class WorkReimbursementAllService extends CrudService<WorkReimbursementDa
                 //根据是否为项目报销设置数据信息
                 if(null != workAccount.getProjectRadio() && workAccount.getProjectRadio() == 0){
                     workAccount.setReimburseRemarks(workAccount.getProject().getProjectName());
+                }else if (null != workAccount.getProjectRadio() && workAccount.getProjectRadio() ==1 && StringUtils.isBlank(workAccount.getProject().getId())){
+                    workAccount.setReimburseRemarks(workAccount.getProject().getProjectName());
                 }
                 if (WorkAccount.DEL_FLAG_NORMAL.equals(workAccount.getDelFlag())) {
                     List<WorkAccountAudit> workAccountAudits = workAccount.getWorkAccountAuditList();

+ 4 - 0
src/main/java/com/jeeplus/modules/workreimbursement/service/WorkReimbursementNewService.java

@@ -124,6 +124,8 @@ public class WorkReimbursementNewService extends CrudService<WorkReimbursementDa
                 }
                 if((null != workAccount.getProjectRadio() && workAccount.getProjectRadio() == 0)||(null != workAccount.getProjectRadio() && workAccount.getProjectRadio() ==2)){
                     workAccount.getProject().setProjectName(workAccount.getReimburseRemarks());
+                }else if (null != workAccount.getProjectRadio() && workAccount.getProjectRadio() ==1 && StringUtils.isBlank(workAccount.getProject().getId())){
+                    workAccount.getProject().setProjectName(workAccount.getReimburseRemarks());
                 }
             }
             workReimbursement.setWorkAccountList(workAccounts);
@@ -420,6 +422,8 @@ public class WorkReimbursementNewService extends CrudService<WorkReimbursementDa
                 //根据是否为项目报销设置数据信息
                 if(null != workAccount.getProjectRadio() && workAccount.getProjectRadio() == 0){
                     workAccount.setReimburseRemarks(workAccount.getProject().getProjectName());
+                }else if (null != workAccount.getProjectRadio() && workAccount.getProjectRadio() ==1 && StringUtils.isBlank(workAccount.getProject().getId())){
+                    workAccount.setReimburseRemarks(workAccount.getProject().getProjectName());
                 }
                 if (WorkAccount.DEL_FLAG_NORMAL.equals(workAccount.getDelFlag())) {
                     List<WorkAccountAudit> workAccountAudits = workAccount.getWorkAccountAuditList();

+ 8 - 0
src/main/java/com/jeeplus/modules/workreimbursement/service/WorkReimbursementService.java

@@ -157,6 +157,8 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
                 }
                 if((null != workAccount.getProjectRadio() && workAccount.getProjectRadio() == 0)||(null != workAccount.getProjectRadio() && workAccount.getProjectRadio() ==2)){
                     workAccount.getProject().setProjectName(workAccount.getReimburseRemarks());
+                }else if (null != workAccount.getProjectRadio() && workAccount.getProjectRadio() ==1 && StringUtils.isBlank(workAccount.getProject().getId())){
+                    workAccount.getProject().setProjectName(workAccount.getReimburseRemarks());
                 }
             }
             workReimbursement.setWorkAccountList(workAccounts);
@@ -298,6 +300,10 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
                                 if(null != projectReportData){
                                     info.setProjectName(projectReportData.getNumber());
                                 }
+                            }else{
+                                ProjectRecords project = new ProjectRecords();
+                                project.setProjectName(workAccount.getReimburseRemarks());
+                                info.setProject(project);
                             }
                             info.getWorkAccount().setProjectRadio(1);
                         }else{
@@ -608,6 +614,8 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
                 //根据是否为项目报销设置数据信息
                 if(null != workAccount.getProjectRadio() && workAccount.getProjectRadio() == 0){
                     workAccount.setReimburseRemarks(workAccount.getProject().getProjectName());
+                }else if (null != workAccount.getProjectRadio() && workAccount.getProjectRadio() ==1 && StringUtils.isBlank(workAccount.getProject().getId())){
+                    workAccount.setReimburseRemarks(workAccount.getProject().getProjectName());
                 }
                 if (WorkAccount.DEL_FLAG_NORMAL.equals(workAccount.getDelFlag())) {
                     List<WorkAccountAudit> workAccountAudits = workAccount.getWorkAccountAuditList();

+ 1 - 1
src/main/java/com/jeeplus/modules/workreimbursement/web/WorkReimbursementController.java

@@ -841,7 +841,7 @@ public class WorkReimbursementController extends BaseController {
 		if (StringUtils.isNotBlank(name)){
 			model.addAttribute("reimburseRemarks", name);
 		}
-		return "modules/sys/gridselectcallprojectOnReimbur";
+			return "modules/sys/gridselectcallprojectOnReimbur";
 		//return "modules/sys/gridselect";
 	}
 

+ 3 - 1
src/main/webapp/WEB-INF/tags/sys/gridselectcallprojecttss.tag

@@ -15,6 +15,7 @@
 <%@ attribute name="cssStyle" type="java.lang.String" required="false" description="css样式"%>
 <%@ attribute name="disabled" type="java.lang.String" required="false" description="是否限制选择,如果限制,设置为disabled"%>
 <%@ attribute name="isProject" type="java.lang.String" required="false" description="是否是项目开票"%>
+<%@ attribute name="isProjectFalg" type="java.lang.String" required="false" description="是否是项目开票"%>
 <%@ attribute name="details" type="java.lang.String" required="false" description="非项目开票详情"%>
 
 <script type="text/javascript">
@@ -28,7 +29,7 @@ function searchGrid${id}(){
 	    title:"${title}",
 	    name:'friend',
 		skin:"two-btns",
-	    content: encodeURI("${url}?fieldLabels=${fieldLabels}&fieldKeys=${fieldKeys}&url=${url}&searchLabel=${searchLabel}&searchKey=${searchKey}&isProject=${isProject}&details=${details}&ids="+ids) ,
+	    content: encodeURI("${url}?fieldLabels=${fieldLabels}&fieldKeys=${fieldKeys}&url=${url}&searchLabel=${searchLabel}&searchKey=${searchKey}&isProject=${isProject}&isProjectFalg=${isProjectFalg}&details=${details}&ids="+ids) ,
 	    btn: ['确定', '关闭'],
 	    yes: function(index, layero){
 	    	 var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
@@ -42,6 +43,7 @@ function searchGrid${id}(){
 				 $("#${id}Id").val(item.split('_item_')[0]);
 				 $("#${id}Name").val(item.split('_item_')[1]);
 			 }else{
+				 $("#${id}Id").val("");
 				 $("#${id}Name").val("内容");
 			 }
 

+ 10 - 4
src/main/webapp/WEB-INF/tags/sys/reimburselectReproject.tag

@@ -31,7 +31,7 @@
 				title:"${title}",
 				name:'friend',
 				skin:"two-btns",
-				content: encodeURI("${url}?userId="+userId+"&fieldLabels=${fieldLabels}&fieldKeys=${fieldKeys}&url=${url}&searchLabel=${searchLabel}&searchKey=${searchKey}&extid="+extid),
+				content: encodeURI("${url}?userId="+userId+"&fieldLabels=${fieldLabels}&fieldKeys=${fieldKeys}&url=${url}&searchLabel=${searchLabel}&searchKey=${searchKey}&extid="+extid+"&name="+name),
 				btn: ['确定', '关闭'],
 				yes: function(index, layero){
 					var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
@@ -45,9 +45,15 @@
 					//判断是否选择报销项目
 					if(items[0] == 1){
 						$("#${id}Radio").val(items[0]);
-						$("#${id}Id").val(items[1]);
-						$("#${id}Name").val(items[2]);
-						$("#${id}ReportNumber").val(items[3]);
+						if (items[2]=="true"){
+							$("#${id}Name").val(items[1]);
+							$("#${id}ReportNumber").val("");
+						}else{
+							$("#${id}Id").val(items[1]);
+							$("#${id}Name").val(items[2]);
+							$("#${id}ReportNumber").val(items[3]);
+						}
+
 					}else{
 						$("#${id}Radio").val(items[0]);
 						$("#${id}Name").val(items[1]);

+ 59 - 25
src/main/webapp/webpage/modules/sys/gridselectcallprojectOnReimbur.jsp

@@ -19,13 +19,13 @@
 				$('#contentTable tbody tr td input.i-checks').iCheck('uncheck');
 			});
 			$("#td4").addClass("hide");
-			// $("input[name='ext']").on('ifChecked', function(event){
 				var radioVal = ${extId};
 				if(radioVal == 1){
 					$("#td1").removeClass("hide");
 					$("#td2").removeClass("hide");
 					$("#td3").removeClass("hide");
 					$("#td4").addClass("hide");
+					$("#proRadio").removeClass("hide");
 					$("#tr1").show()
 				}else{
 					$("#td1").addClass("hide");
@@ -34,6 +34,25 @@
 					$("#td4").removeClass("hide");
 					$("#tr1").hide()
 				}
+				$("input[name='ext']").on('ifChecked', function(event){
+					var value=$(this).val();
+					if (value==1){
+						$("#td1").removeClass("hide");
+						$("#td2").removeClass("hide");
+						$("#td3").removeClass("hide");
+						$("#td4").addClass("hide");
+						$("#proRadio").removeClass("hide");
+						$("#tr1").show()
+					}else{
+						$("#td1").addClass("hide");
+						$("#td2").addClass("hide");
+						$("#td3").addClass("hide");
+						$("#proRadio").removeClass("hide");
+						$("#td4").removeClass("hide");
+						$("#tr1").hide()
+					}
+
+				});
 				//搜索框收放
 				$('#moresee').click(function(){
 					if($('#moresees').is(':visible'))
@@ -52,26 +71,40 @@
 			//获取单选框中得值
 			var radio = ${extId};
 			if (radio == 1){
-				var size = $("#contentTable tbody tr td input.i-checks:checked").size();
-				if (size == 0) {
-					top.layer.alert('请至少选择一条数据!', {icon: 0, title: '警告'});
-					return "-1";
-				}
+				var value=$("input[name='ext']:checked").val();
+				if (value==1){
+					var size = $("#contentTable tbody tr td input.i-checks:checked").size();
+					if (size == 0) {
+						top.layer.alert('请至少选择一条数据!', {icon: 0, title: '警告'});
+						return "-1";
+					}
 
-				if (size > 1) {
-					top.layer.alert('只能选择一条数据!', {icon: 0, title: '警告'});
-					return "-1";
+					if (size > 1) {
+						top.layer.alert('只能选择一条数据!', {icon: 0, title: '警告'});
+						return "-1";
+					}
+					var id = $("#contentTable tbody tr td input.i-checks:checkbox:checked").attr("id");
+
+					var label = $("#contentTable tbody tr td input.i-checks:checkbox:checked").parent().parent().parent().find(".codelabel").html();
+					var number = $("#contentTable tbody tr td input.i-checks:checkbox:checked").parent().parent().parent().find(".codenumber").html();
+					return radio + "_item_" +id + "_item_" + label + "_item_" + number;
+				}else{
+					//项目报销中的其它
+					var falg=true;
+					var reimburseRemarks = $("#reimburseRemarks").val();
+					if(reimburseRemarks == undefined || reimburseRemarks == null || reimburseRemarks == ''){
+						top.layer.msg("请输入报销详情")
+						return "-1";
+					}
+					return radio + "_item_" + reimburseRemarks+"_item_"+falg;
 				}
-				var id = $("#contentTable tbody tr td input.i-checks:checkbox:checked").attr("id");
 
-				var label = $("#contentTable tbody tr td input.i-checks:checkbox:checked").parent().parent().parent().find(".codelabel").html();
-				var number = $("#contentTable tbody tr td input.i-checks:checkbox:checked").parent().parent().parent().find(".codenumber").html();
-				return radio + "_item_" +id + "_item_" + label + "_item_" + number;
 			}else{
 				radio=0;
 				var reimburseRemarks = $("#reimburseRemarks").val();
 				if(reimburseRemarks == undefined || reimburseRemarks == null || reimburseRemarks == ''){
 					top.layer.msg("请输入报销详情")
+					return "-1";
 				}
 				return radio + "_item_" + reimburseRemarks;
 			}
@@ -104,14 +137,14 @@
 					<div id="td3">
 						<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
 					</div>
-<%--					<div class="commonQuery">--%>
-<%--						<div class="layui-input-block">--%>
-<%--							<input type="radio" class="i-checks" name="ext" checked id="ext" value="1">--%>
-<%--							<label for="ext">项目报销</label>--%>
-<%--							<input type="radio" class="i-checks" name="ext" id="ext1" value="0">--%>
-<%--							<label for="ext1">非项目报销</label>--%>
-<%--						</div>--%>
-<%--					</div>--%>
+					<div class="commonQuery hide" id="proRadio">
+						<div class="layui-input-block">
+							<input type="radio" class="i-checks" name="ext" checked id="ext" value="1">
+							<label for="ext">项目报销</label>
+							<input type="radio" class="i-checks" name="ext" id="ext1" value="0">
+							<label for="ext1">其它</label>
+						</div>
+					</div>
 					<div id="td1" class="commonQuery">
 						<div class="layui-item query athird">
 							<span class="layui-form-label">项目名称:</span>
@@ -120,11 +153,12 @@
 							</div>
 						</div>
 						<div class="layui-item query athird">
-							<span class="layui-form-label">项目编号:</span>
+							<span class="layui-form-label">报告号:</span>
 							<div class="layui-input-block">
-								<form:input path="projectId" htmlEscape="false" maxlength="50" class=" form-control layui-input"/>
+								<form:input path="reportData.number" htmlEscape="false" maxlength="50" class=" form-control layui-input"/>
 							</div>
 						</div>
+
 						<div class="layui-item athird fr">
 							<div class="input-group">
 								<a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>
@@ -144,9 +178,9 @@
 							</div>
 						</div>
 						<div class="layui-item query athird">
-							<span class="layui-form-label">报告号:</span>
+							<span class="layui-form-label">项目编号:</span>
 							<div class="layui-input-block">
-								<form:input path="reportData.number" htmlEscape="false" maxlength="50" class=" form-control layui-input"/>
+								<form:input path="projectId" htmlEscape="false" maxlength="50" class=" form-control layui-input"/>
 							</div>
 						</div>
 						<div style="clear:both;"></div>