Quellcode durchsuchen

发票模块代码更改

user5 vor 3 Jahren
Ursprung
Commit
a4cc1533a8

+ 9 - 0
src/main/java/com/jeeplus/modules/workinvoice/entity/WorkInvoice.java

@@ -94,6 +94,7 @@ public class WorkInvoice extends ActEntity<WorkInvoice> {
 	private String accountCheckingUserName; //对账人名称
 	private List<Workattachment> workAttachments;//附件
 
+	private Integer projectFlag ;	//1:项目,0:非项目
 
 	@Override
 	@ExcelField(title="经办人", fieldType=User.class, value="createBy.name", align=2, sort=7)
@@ -645,4 +646,12 @@ public class WorkInvoice extends ActEntity<WorkInvoice> {
 	public void setReportNumber(String reportNumber) {
 		this.reportNumber = reportNumber;
 	}
+
+	public Integer getProjectFlag() {
+		return projectFlag;
+	}
+
+	public void setProjectFlag(Integer projectFlag) {
+		this.projectFlag = projectFlag;
+	}
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/workinvoice/entity/WorkInvoiceProjectRelation.java

@@ -17,6 +17,7 @@ public class WorkInvoiceProjectRelation extends DataEntity<WorkInvoice> {
     private String reportDataNum;   //报告号
     private Integer isProject;  //是否是项目开票
     private String details;     //非项目-开票详情
+    private String contractId;     //非项目-合同id
 
     public String getInvoiceId() {
         return invoiceId;
@@ -89,4 +90,12 @@ public class WorkInvoiceProjectRelation extends DataEntity<WorkInvoice> {
     public void setDetails(String details) {
         this.details = details;
     }
+
+    public String getContractId() {
+        return contractId;
+    }
+
+    public void setContractId(String contractId) {
+        this.contractId = contractId;
+    }
 }

+ 24 - 3
src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceAllService.java

@@ -35,6 +35,8 @@ import com.jeeplus.modules.workbidproject.entity.WorkBidProject;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
+import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
+import com.jeeplus.modules.workcontractinfo.service.WorkContractInfoService;
 import com.jeeplus.modules.workinvoice.dao.WorkInvoiceDao;
 import com.jeeplus.modules.workinvoice.dao.WorkInvoiceReceiptDao;
 import com.jeeplus.modules.workinvoice.entity.WorkInvoice;
@@ -113,6 +115,8 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
 	private RuralProjectRecordsService ruralProjectRecordsService;
 	@Autowired
 	private WorkattachmentService workattachmentService;
+	@Autowired
+	private WorkContractInfoService contractInfoService;
 
 	private static byte[] SYN_BYTE = new byte[0];
 
@@ -175,6 +179,13 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
 				//数据处理(如果为阿里云文件服务器,则对查看的路径进行处理)
 				workattachmentService.attachmentManageOnUrl(workInvoice.getWorkAttachments());
 			}
+			List<WorkInvoiceProjectRelation> projectRelation = getProjectRelation(workInvoice);
+			for (WorkInvoiceProjectRelation info: projectRelation) {
+				if(2 == info.getIsProject()){
+					workInvoice.setProjectFlag(0);
+				}
+			}
+			workInvoice.setWorkInvoiceProjectRelationList(projectRelation);
 		}
 		return workInvoice;
 	}
@@ -706,7 +717,7 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
 		if (null!=workInvoice.getWorkInvoiceProjectRelationList()){
 			for (WorkInvoiceProjectRelation projectRelation : workInvoice.getWorkInvoiceProjectRelationList()){
 				if (StringUtils.isBlank(projectRelation.getProjectId())){
-					if(projectRelation.getProjectName().equals("内容")){
+					if(StringUtils.isNotBlank(projectRelation.getProjectName())){
 						projectRelation.setIsProject(2);
 					}else{
 						continue;
@@ -2206,8 +2217,18 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
 		for (WorkInvoiceProjectRelation projectRelation:projectRelationList) {
 			if(null!=projectRelation.getIsProject()){
 				if ( projectRelation.getIsProject() == 2) {
-					projectRelation.setProjectName("非项目发票");
-					projectRelation.setWorkContractName(projectRelation.getDetails());
+					projectRelation.setProjectName(projectRelation.getDetails());
+					//判断是否选择合同,选择合同则将合同信息以及委托方查询并放入
+					if(StringUtils.isNotBlank(projectRelation.getContractId())){
+						WorkContractInfo workContractInfo = contractInfoService.get(projectRelation.getContractId());
+						projectRelation.setWorkContractName(workContractInfo.getName());
+						if(null != workContractInfo.getClient() && StringUtils.isNotBlank(workContractInfo.getClient().getName())){
+							projectRelation.setClientName(workContractInfo.getClient().getName());
+						}
+					}else{
+						projectRelation.setWorkContractName("");
+						projectRelation.setClientName("");
+					}
 				}
 			}
 		}

+ 22 - 1
src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceService.java

@@ -41,6 +41,7 @@ import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
+import com.jeeplus.modules.workcontractinfo.service.WorkContractInfoService;
 import com.jeeplus.modules.workinvoice.dao.WorkInvoiceDao;
 import com.jeeplus.modules.workinvoice.dao.WorkInvoiceReceiptDao;
 import com.jeeplus.modules.workinvoice.entity.WorkInvoice;
@@ -120,6 +121,8 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 	private RuralProjectRecordsService ruralProjectRecordsService;
 	@Autowired
 	private AreaService areaService;
+	@Autowired
+	private WorkContractInfoService contractInfoService;
 
 	private static byte[] SYN_BYTE = new byte[0];
 
@@ -193,6 +196,13 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 				//数据处理(如果为阿里云文件服务器,则对查看的路径进行处理)
 				workattachmentService.attachmentManageOnUrl(workInvoice.getWorkAttachments());
 			}
+			List<WorkInvoiceProjectRelation> projectRelation = getProjectRelation(workInvoice);
+			for (WorkInvoiceProjectRelation info: projectRelation) {
+				if(2 == info.getIsProject()){
+					workInvoice.setProjectFlag(0);
+				}
+			}
+			workInvoice.setWorkInvoiceProjectRelationList(projectRelation);
 		}
 		return workInvoice;
 	}
@@ -208,6 +218,17 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 			if(null!=projectRelation.getIsProject()){
 				if ( projectRelation.getIsProject() == 2) {
 					projectRelation.setProjectName(projectRelation.getDetails());
+					//判断是否选择合同,选择合同则将合同信息以及委托方查询并放入
+					if(StringUtils.isNotBlank(projectRelation.getContractId())){
+						WorkContractInfo workContractInfo = contractInfoService.get(projectRelation.getContractId());
+						projectRelation.setWorkContractName(workContractInfo.getName());
+						if(null != workContractInfo.getClient() && StringUtils.isNotBlank(workContractInfo.getClient().getName())){
+							projectRelation.setClientName(workContractInfo.getClient().getName());
+						}
+					}else{
+						projectRelation.setWorkContractName("");
+						projectRelation.setClientName("");
+					}
 				}
 			}
 		}
@@ -321,7 +342,7 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 		if (null!=workInvoice.getWorkInvoiceProjectRelationList()){
 			for (WorkInvoiceProjectRelation projectRelation : workInvoice.getWorkInvoiceProjectRelationList()){
 				if (StringUtils.isBlank(projectRelation.getProjectId())){
-					if(projectRelation.getProjectName().equals("内容")){
+					if(StringUtils.isNotBlank(projectRelation.getProjectName())){
 						projectRelation.setIsProject(2);
 					}else{
 						continue;

+ 3 - 2
src/main/resources/mappings/modules/workinvoice/WorkInvoiceDao.xml

@@ -1234,9 +1234,9 @@
 
 	<insert id="insertProjectRelation">
 		insert into work_invoice_project_relation
-		(invoice_id, project_id,is_project,details)
+		(invoice_id, project_id,is_project,details,contract_id)
 		values
-		  (#{invoiceId}, #{projectId}, #{isProject}, #{details})
+		  (#{invoiceId}, #{projectId}, #{isProject}, #{details}, #{contractId})
 	</insert>
 	<select id="getProjectRelation" resultType="com.jeeplus.modules.workinvoice.entity.WorkInvoiceProjectRelation">
 		select
@@ -1244,6 +1244,7 @@
 		  a.project_id as 'projectId',
 		  a.is_project as 'isProject',
 		  a.details as 'details',
+		  a.contract_id as 'contractId',
 		  rpr.project_name as 'projectName',
 		  rpr.project_id as 'projectNum',
 		  wci.name as 'workContractName',

+ 66 - 0
src/main/webapp/WEB-INF/tags/sys/gridWorkInvoiceselectContract.tag

@@ -0,0 +1,66 @@
+<%@ tag language="java" pageEncoding="UTF-8"%>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<%@ attribute name="id" type="java.lang.String" required="true" description="编号"%>
+<%@ attribute name="name" type="java.lang.String" required="true" description="隐藏域名称(ID)"%>
+<%@ attribute name="type" type="java.lang.String" required="true" description="合同类型(ID)"%>
+<%@ attribute name="isTotal" type="java.lang.String" required="true" description="是否是总合同(ID)"%>
+<%@ attribute name="value" type="java.lang.String" required="true" description="隐藏域值(ID)"%>
+<%@ attribute name="labelName" type="java.lang.String" required="true" description="输入框名称(Name)"%>
+<%@ attribute name="labelValue" type="java.lang.String" required="true" description="输入框值(Name)"%>
+<%@ attribute name="fieldLabels" type="java.lang.String" required="true" description="表格Th里显示的名字"%>
+<%@ attribute name="fieldKeys" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="searchLabel" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="searchKey" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="title" type="java.lang.String" required="true" description="选择框标题"%>
+<%@ attribute name="url" type="java.lang.String" required="true" description="数据地址"%>
+<%@ attribute name="cssClass" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="cssStyle" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="disabled" type="java.lang.String" required="false" description="是否限制选择,如果限制,设置为disabled"%>
+<script type="text/javascript">
+function searchGrid${id}(){
+	var projectFlag = $("#projectFlag").val();
+	console.log("grid==========="+ projectFlag)
+	if(undefined !== projectFlag && null != projectFlag && '' != projectFlag){
+		if (projectFlag == 0){
+			var url = "${url}?fieldLabels=${fieldLabels}&fieldKeys=${fieldKeys}&url=${url}&searchLabel=${searchLabel}&searchKey=${searchKey}&type=${type}&isTotal=${isTotal}";
+			url = encodeURI(url);
+			top.layer.open({
+				type: 2,
+				area: ['90%','90%'],
+				title:"${title}",
+				name:'friend',
+				skin:"two-btns",
+				content: url,
+				btn: ['确定', '关闭'],
+				yes: function(index, layero){
+					var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var item = iframeWin.getSelectedItem();
+
+					if(item == "-1"){
+						return;
+					}
+					$("#${id}Id").val(item.split('_item_')[0]);
+					$("#${id}Name").val(item.split('_item_')[1]);
+					console.log('${id}')
+					top.layer.close(index);//关闭对话框。
+					setContractValue(item.split('_item_')[0],'${id}');
+				},
+				cancel: function(index){
+				}
+			});
+		}else if(projectFlag == 1){
+			parent.layer.msg("只有非项目开票可选择合同信息!", {icon: 5});
+		}
+	} else{
+		parent.layer.msg("请选择项目信息!", {icon: 5});
+	}
+
+};
+</script>
+
+	<input id="${id}Id" name="${name}"  type="hidden" value="${value}"/>
+	<div class="input-group" style="width: 100%">
+		<input id="${id}Name" placeholder="请选择合同" name="${labelName }" ${allowInput?'':'readonly="readonly"'} onclick="searchGrid${id}()" type="text" value="${labelValue}" data-msg-required="${dataMsgRequired}"
+		class="${cssClass}" style="${cssStyle}"/>
+    </div>
+	 <label id="${id}Name-error" class="error" for="${id}Name" style="display:none"></label>

+ 6 - 5
src/main/webapp/WEB-INF/tags/sys/gridselectcallprojecttss.tag

@@ -39,20 +39,21 @@ function searchGrid${id}(){
 	    	 }
 	    	 var isProject=item.split('_item_')[3];
 	    	 var details=item.split('_item_')[4];
+	    	 var projectFlag=item.split('_item_')[5];
 	    	 if (isProject==1){
 				 $("#${id}Id").val(item.split('_item_')[0]);
 				 $("#${id}Name").val(item.split('_item_')[1]);
 			 }else{
 				 $("#${id}Id").val("");
-				 $("#${id}Name").val("内容");
 			 }
-
+	    	 $("#projectFlag").val(projectFlag);
+	    	 console.log(projectFlag);
 			 top.layer.close(index);//关闭对话框。
 			setPNumber(item.split('_item_')[0],'${id}',isProject,details);
 		  },
-		  cancel: function(index){ 
+		  cancel: function(index){
 	       }
-	}); 
+	});
 };
 </script>
 	<input id="${id}Id" name="${name}"  type="hidden" value="${value}"/>
@@ -60,4 +61,4 @@ function searchGrid${id}(){
 		<input id="${id}Name"  onclick="searchGrid${id}()" placeholder="${title}" name="${labelName }" ${allowInput?'':'readonly="readonly"'} type="text" value="${labelValue}" data-msg-required="${dataMsgRequired}"
 		class="${cssClass}" style="${cssStyle}"/>
     </div>
-	 <label id="${id}Name-error" class="error" for="${id}Name" style="display:none"></label>
+	 <label id="${id}Name-error" class="error" for="${id}Name" style="display:none"></label>

+ 7 - 1
src/main/webapp/webpage/modules/sys/gridinvoiceproject.jsp

@@ -35,6 +35,7 @@
 				$("#isProjectFalg").hide();
 				$(".project").show();
 				$("#noProject").hide();
+				$("#projectFlag").val(1);
 			}
             <%--var val = "<%=request.getAttribute("state")%>";--%>
             <%--if(val!=null){--%>
@@ -74,12 +75,16 @@
 					top.layer.alert('只能选择一条数据!', {icon: 0, title:'警告'});
 					return "-1";
 				}
+				$("#projectFlag").val(1);
+			}else{
+				$("#projectFlag").val(0);
 			}
 			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();
 			var details = $("#details").val();
-			return id+"_item_"+label+"_item_"+number+"_item_"+isProject+"_item_"+details;
+			var projectFlag = $("#projectFlag").val();
+			return id+"_item_"+label+"_item_"+number+"_item_"+isProject+"_item_"+details+"_item_"+projectFlag;
 		}
 		function page(n,s){
 			if(n) $("#pageNo").val(n);
@@ -104,6 +109,7 @@
 					<input type="hidden" name="searchKey" value="${searchKey}"/>
 					<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
 					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+					<input id="projectFlag" name="projectFlag" type="hidden" value=""/>
 					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
 					<div class="layui-input-block" id="isProjectFalg">
 						<input type="radio" name="isProject" class="isProject" lay-filter="isproject" title="项目" <c:if test="${isProject ==null || isProject==1 || isProject==3  }">checked</c:if>  id="isproject" value="1">

+ 37 - 6
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllForm.jsp

@@ -42,7 +42,7 @@
 						}
 					}
 					if (count1!=1){
-						var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(3).val();
+						var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(5).val();
 						if (id==undefined || id == ''){
 							parent.layer.msg("非项目,只能有一条非项目数据,请删除其余项目数据",{icon:6});
 							return false;
@@ -221,7 +221,10 @@
 					}
 				})
 			}else if (isProject==2){
-				var workContractName="#"+idx+"_workContractName";
+				var projectFlag = $("#projectFlag").val();
+				var workContractName="#"+idx+"_projectIdName";
+				var workContractNameStr="#"+idx+"_workContractName";
+				var contractId="#"+idx+"_contractId";
 				var detailsName="#"+idx+"_details";
 				$(workContractName).val(details);
 				$(detailsName).val(details);
@@ -230,6 +233,8 @@
 				var clientName="#"+idx+"_clientName";
 				var reportDataNum="#"+idx+"_reportDataNum";
 				$(projectNum).val("");
+				$(contractId).val("");
+				$(workContractNameStr).val("");
 				$(clientName).val("");
 				$(reportDataNum).val("");
 				var length=$("#workInvoiceProjectRelationList tr").length;
@@ -245,6 +250,26 @@
 
 		}
 
+
+		function setContractValue(obj,ids){
+			var idx=ids.split("_")[0]
+			var clientId = $("#contractClientId").val();
+			$.ajax({
+				type:'post',
+				url:'${ctx}/ruralProject/ruralCostProjectRecords/getContractInfo',
+				data:{
+					"id":obj
+				},
+				success:function(data){
+					var clientName="#"+idx+"_clientName";
+					var contractId="#"+idx+"_contractId";
+					$(clientName).val(data.client.name);
+					$(contractId).val(data.id);
+
+				}
+			});
+		}
+
 		function addRow(list, idx, tpl, row){
 			var idx1 = $("#workAccountList tr").length;
 			if(list == '#workAccountList' && idx1 < 100){
@@ -284,7 +309,7 @@
 					}
 				}
 				if (idx1>count){
-					var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(3).val();
+					var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(5).val();
 					if (id!=undefined && id != ''){
 						if (row== undefined){
 							row={"isProject": "1","isProjectFalg": "1"};
@@ -350,6 +375,8 @@
 			}else if (count>1){
 				$("#chargeType").val("1")
 				layui.form.render();
+			}else if(count == 0){
+				$("#projectFlag").val("");
 			}
 		}
 		function provinceForShort(province){
@@ -536,6 +563,7 @@
 			<form:hidden path="id"/>
 			<form:hidden path="invoiceDate"/>
 			<form:hidden path="province" id="province"/>
+			<input type="hidden" id="projectFlag" value="${workInvoice.projectFlag}">
 
 			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>基本信息</h2></div>
@@ -562,14 +590,17 @@
                         <td class="hide">
                             <input id="workInvoiceProjectRelationList{{idx}}_invoiceId" name="workInvoiceProjectRelationList[{{idx}}].invoiceId" type="hidden" value="{{row.invoiceId}}"/>
 							<input id="workInvoiceProjectRelationList{{idx}}_delFlag" name="workInvoiceProjectRelationList[{{idx}}].delFlag" type="hidden" value="0"/>
-							<input id="workInvoiceProjectRelationList{{idx}}_details" name="workInvoiceProjectRelationList[{{idx}}].details" type="hidden" value="{{row.workContractName}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_details" name="workInvoiceProjectRelationList[{{idx}}].details" type="hidden" value="{{row.details}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_contractId" name="workInvoiceProjectRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_isProject" name="workInvoiceProjectRelationList[{{idx}}].isProject" type="hidden" value="{{row.isProject}}"/>
                         </td>
                         <td>
-                            <sys:gridselectcallprojecttss url="${ctx}/workinvoice/workInvoice/selectproject" id="workInvoiceProjectRelationList{{idx}}_projectId" name="workInvoiceProjectRelationList[{{idx}}].projectId"  value="{{row.projectId}}"  title="选择所属项目" labelName="workInvoiceProjectRelationList[{{idx}}].projectName" cssStyle="background-color: #fff"
+                            <sys:gridselectcallprojecttss url="${ctx}/workinvoiceTwo/workinvoiceTwo/selectproject" id="workInvoiceProjectRelationList{{idx}}_projectId" name="workInvoiceProjectRelationList[{{idx}}].projectId"  value="{{row.projectId}}"  title="选择所属项目" labelName="workInvoiceProjectRelationList[{{idx}}].projectName" cssStyle="background-color: #fff"
 													labelValue="{{row.projectName}}" cssClass="form-control judgment layui-input" fieldLabels="项目" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"  isProject="{{row.isProject}}" isProjectFalg="{{row.isProjectFalg}}" details="{{row.details}}"></sys:gridselectcallprojecttss>
                         </td>
                         <td>
-							<input id="workInvoiceProjectRelationList{{idx}}_workContractName"   type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>
+							<sys:gridWorkInvoiceselectContract url="${ctx}/ruralProject/ruralCostProjectRecords/selectcontract" type="" isTotal="" id="workInvoiceProjectRelationList{{idx}}_workContract" name="workInvoiceProjectRelationList[{{idx}}].workContractName"  value=""  title="选择合同" labelName="workInvoiceProjectRelationList[{{idx}}].workContractName"
+											cssStyle="background-color: #fff" labelValue="{{row.workContractName}}" cssClass="form-control layui-input" fieldLabels="合同名称" fieldKeys="name" searchLabel="合同名称" searchKey="name" ></sys:gridWorkInvoiceselectContract>
                         </td>
                         <td style="text-align:center;">
 							<input id="workInvoiceProjectRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>

+ 0 - 36
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllList.jsp

@@ -380,42 +380,6 @@
 		}
 
 
-		function openDialogreModify(title,url,width,height,target){
-			if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
-				width='auto';
-				height='auto';
-			}else{//如果是PC端,根据用户设置的width和height显示。
-
-			}
-			top.layer.open({
-				type: 2,
-				area: [width, height],
-				title: title,
-				maxmin: true, //开启最大化最小化按钮
-				content: url ,
-				skin:"three-btns",
-				btn: ['提交','关闭'],
-				btn1: function(index, layero){
-					var body = top.layer.getChildFrame('body', index);
-					var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
-					var inputForm = body.find('#inputForm');
-					var top_iframe;
-					if(target){
-						top_iframe = target;//如果指定了iframe,则在改frame中跳转
-					}else{
-						top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
-					}
-					inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
-					if(iframeWin.contentWindow.doSubmit(1) ){
-						// top.layer.close(index);//关闭对话框。
-						setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
-					}
-				},
-				btn2: function(index){
-				}
-			});
-
-		}
 	</script>
 	<style>
 		body{

+ 35 - 5
src/main/webapp/webpage/modules/workinvoice/workInvoiceModify.jsp

@@ -30,7 +30,7 @@
 						}
 					}
 					if (count1!=1){
-						var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(3).val();
+						var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(5).val();
 						if (id==undefined || id == ''){
 							parent.layer.msg("非项目,只能有一条非项目数据,请删除其余项目数据",{icon:6});
 							return false;
@@ -222,7 +222,10 @@
 					}
 				})
 			}else if (isProject==2){
-				var workContractName="#"+idx+"_workContractName";
+				var projectFlag = $("#projectFlag").val();
+				var workContractName="#"+idx+"_projectIdName";
+				var workContractNameStr="#"+idx+"_workContractName";
+				var contractId="#"+idx+"_contractId";
 				var detailsName="#"+idx+"_details";
 				$(workContractName).val(details);
 				$(detailsName).val(details);
@@ -231,6 +234,8 @@
 				var clientName="#"+idx+"_clientName";
 				var reportDataNum="#"+idx+"_reportDataNum";
 				$(projectNum).val("");
+				$(contractId).val("");
+				$(workContractNameStr).val("");
 				$(clientName).val("");
 				$(reportDataNum).val("");
 				var length=$("#workInvoiceProjectRelationList tr").length;
@@ -244,6 +249,25 @@
 			}
 		}
 
+		function setContractValue(obj,ids){
+			var idx=ids.split("_")[0]
+			var clientId = $("#contractClientId").val();
+			$.ajax({
+				type:'post',
+				url:'${ctx}/ruralProject/ruralCostProjectRecords/getContractInfo',
+				data:{
+					"id":obj
+				},
+				success:function(data){
+					var clientName="#"+idx+"_clientName";
+					var contractId="#"+idx+"_contractId";
+					$(clientName).val(data.client.name);
+					$(contractId).val(data.id);
+
+				}
+			});
+		}
+
         function addRow(list, idx, tpl, row){
             var idx1 = $("#workAccountList tr").length;
             if(list == '#workAccountList' && idx1 < 100){
@@ -282,7 +306,7 @@
 					}
 				}
 				if (idx1>count){
-					var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(3).val();
+					var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(5).val();
 					if (id!=undefined && id != ''){
 						if (row== undefined){
 							row={"isProject": "1","isProjectFalg": "1"};
@@ -349,6 +373,8 @@
 			}else if (count>1){
 				$("#chargeType").val("1")
 				layui.form.render();
+			}else if(count == 0){
+				$("#projectFlag").val("");
 			}
 		}
         /*function delRow(obj, prefix) {
@@ -562,6 +588,7 @@
 			<form:hidden path="act.procDefId"/>
 			<form:hidden id="flag" path="act.flag"/>
 			<form:hidden path="province" id="province"/>
+			<input type="hidden" id="projectFlag" value="${workInvoice.projectFlag}">
 			<%--<form:hidden path="invoiceNumber"/>--%>
 
 			<div class="form-group layui-row first lw14">
@@ -589,14 +616,17 @@
                         <td class="hide">
                             <input id="workInvoiceProjectRelationList{{idx}}_invoiceId" name="workInvoiceProjectRelationList[{{idx}}].invoiceId" type="hidden" value="{{row.invoiceId}}"/>
 							<input id="workInvoiceProjectRelationList{{idx}}_delFlag" name="workInvoiceProjectRelationList[{{idx}}].delFlag" type="hidden" value="0"/>
-							<input id="workInvoiceProjectRelationList{{idx}}_details" name="workInvoiceProjectRelationList[{{idx}}].details" type="hidden" value="{{row.workContractName}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_details" name="workInvoiceProjectRelationList[{{idx}}].details" type="hidden" value="{{row.details}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_contractId" name="workInvoiceProjectRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_isProject" name="workInvoiceProjectRelationList[{{idx}}].isProject" type="hidden" value="{{row.isProject}}"/>
                         </td>
                         <td>
                             <sys:gridselectcallprojecttss url="${ctx}/workinvoice/workInvoice/selectproject" id="workInvoiceProjectRelationList{{idx}}_projectId" name="workInvoiceProjectRelationList[{{idx}}].projectId"  value="{{row.projectId}}"  title="选择所属项目" labelName="workInvoiceProjectRelationList[{{idx}}].projectName" cssStyle="background-color: #fff"
 													labelValue="{{row.projectName}}" cssClass="form-control judgment layui-input" fieldLabels="项目" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName" isProject="{{row.isProject}}" details="{{row.details}}"></sys:gridselectcallprojecttss>
                         </td>
                         <td>
-							<input id="workInvoiceProjectRelationList{{idx}}_workContractName"   type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>
+							<sys:gridWorkInvoiceselectContract url="${ctx}/ruralProject/ruralCostProjectRecords/selectcontract" type="" isTotal="" id="workInvoiceProjectRelationList{{idx}}_workContract" name="workInvoiceProjectRelationList[{{idx}}].workContractName"  value=""  title="选择合同" labelName="workInvoiceProjectRelationList[{{idx}}].workContractName"
+											cssStyle="background-color: #fff" labelValue="{{row.workContractName}}" cssClass="form-control layui-input" fieldLabels="合同名称" fieldKeys="name" searchLabel="合同名称" searchKey="name" ></sys:gridWorkInvoiceselectContract>
                         </td>
                         <td style="text-align:center;">
 							<input id="workInvoiceProjectRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>

+ 35 - 5
src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoForm.jsp

@@ -42,7 +42,7 @@
 						}
 					}
 					if (count1!=1){
-						var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(3).val();
+						var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(5).val();
 						if (id==undefined || id == ''){
 							parent.layer.msg("非项目,只能有一条非项目数据,请删除其余项目数据",{icon:6});
 							return false;
@@ -221,7 +221,10 @@
 					}
 				})
 			}else if (isProject==2){
-				var workContractName="#"+idx+"_workContractName";
+				var projectFlag = $("#projectFlag").val();
+				var workContractName="#"+idx+"_projectIdName";
+				var workContractNameStr="#"+idx+"_workContractName";
+				var contractId="#"+idx+"_contractId";
 				var detailsName="#"+idx+"_details";
 				$(workContractName).val(details);
 				$(detailsName).val(details);
@@ -230,6 +233,8 @@
 				var clientName="#"+idx+"_clientName";
 				var reportDataNum="#"+idx+"_reportDataNum";
 				$(projectNum).val("");
+				$(contractId).val("");
+				$(workContractNameStr).val("");
 				$(clientName).val("");
 				$(reportDataNum).val("");
 				var length=$("#workInvoiceProjectRelationList tr").length;
@@ -245,6 +250,25 @@
 
         }
 
+		function setContractValue(obj,ids){
+			var idx=ids.split("_")[0]
+			var clientId = $("#contractClientId").val();
+			$.ajax({
+				type:'post',
+				url:'${ctx}/ruralProject/ruralCostProjectRecords/getContractInfo',
+				data:{
+					"id":obj
+				},
+				success:function(data){
+					var clientName="#"+idx+"_clientName";
+					var contractId="#"+idx+"_contractId";
+					$(clientName).val(data.client.name);
+					$(contractId).val(data.id);
+
+				}
+			});
+		}
+
         function addRow(list, idx, tpl, row){
             var idx1 = $("#workAccountList tr").length;
             if(list == '#workAccountList' && idx1 < 100){
@@ -284,7 +308,7 @@
 					}
 				}
 				if (idx1>count){
-					var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(3).val();
+					var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(5).val();
 					if (id!=undefined && id != ''){
 						if (row== undefined){
 							row={"isProject": "1","isProjectFalg": "1"};
@@ -350,6 +374,8 @@
 		   }else if (count>1){
 			   $("#chargeType").val("1")
 			   layui.form.render();
+		   }else if(count == 0){
+		   		$("#projectFlag").val("");
 		   }
         }
         function provinceForShort(province){
@@ -536,6 +562,7 @@
 			<form:hidden path="id"/>
 			<form:hidden path="invoiceDate"/>
 			<form:hidden path="province" id="province"/>
+			<input type="hidden" id="projectFlag" value="${workInvoice.projectFlag}">
 
 			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>基本信息</h2></div>
@@ -562,14 +589,17 @@
                         <td class="hide">
                             <input id="workInvoiceProjectRelationList{{idx}}_invoiceId" name="workInvoiceProjectRelationList[{{idx}}].invoiceId" type="hidden" value="{{row.invoiceId}}"/>
 							<input id="workInvoiceProjectRelationList{{idx}}_delFlag" name="workInvoiceProjectRelationList[{{idx}}].delFlag" type="hidden" value="0"/>
-							<input id="workInvoiceProjectRelationList{{idx}}_details" name="workInvoiceProjectRelationList[{{idx}}].details" type="hidden" value="{{row.workContractName}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_details" name="workInvoiceProjectRelationList[{{idx}}].details" type="hidden" value="{{row.details}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_contractId" name="workInvoiceProjectRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_isProject" name="workInvoiceProjectRelationList[{{idx}}].isProject" type="hidden" value="{{row.isProject}}"/>
                         </td>
                         <td>
                             <sys:gridselectcallprojecttss url="${ctx}/workinvoiceTwo/workinvoiceTwo/selectproject" id="workInvoiceProjectRelationList{{idx}}_projectId" name="workInvoiceProjectRelationList[{{idx}}].projectId"  value="{{row.projectId}}"  title="选择所属项目" labelName="workInvoiceProjectRelationList[{{idx}}].projectName" cssStyle="background-color: #fff"
 													labelValue="{{row.projectName}}" cssClass="form-control judgment layui-input" fieldLabels="项目" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName"  isProject="{{row.isProject}}" isProjectFalg="{{row.isProjectFalg}}" details="{{row.details}}"></sys:gridselectcallprojecttss>
                         </td>
                         <td>
-							<input id="workInvoiceProjectRelationList{{idx}}_workContractName"   type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>
+							<sys:gridWorkInvoiceselectContract url="${ctx}/ruralProject/ruralCostProjectRecords/selectcontract" type="" isTotal="" id="workInvoiceProjectRelationList{{idx}}_workContract" name="workInvoiceProjectRelationList[{{idx}}].workContractName"  value=""  title="选择合同" labelName="workInvoiceProjectRelationList[{{idx}}].workContractName"
+											cssStyle="background-color: #fff" labelValue="{{row.workContractName}}" cssClass="form-control layui-input" fieldLabels="合同名称" fieldKeys="name" searchLabel="合同名称" searchKey="name" ></sys:gridWorkInvoiceselectContract>
                         </td>
                         <td style="text-align:center;">
 							<input id="workInvoiceProjectRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>

+ 37 - 6
src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoModify.jsp

@@ -30,7 +30,7 @@
 						}
 					}
 					if (count1!=1){
-						var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(3).val();
+						var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(5).val();
 						if (id==undefined || id == ''){
 							parent.layer.msg("非项目,只能有一条非项目数据,请删除其余项目数据",{icon:6});
 							return false;
@@ -221,7 +221,10 @@
 					}
 				})
 			}else if (isProject==2){
-				var workContractName="#"+idx+"_workContractName";
+				var projectFlag = $("#projectFlag").val();
+				var workContractName="#"+idx+"_projectIdName";
+				var workContractNameStr="#"+idx+"_workContractName";
+				var contractId="#"+idx+"_contractId";
 				var detailsName="#"+idx+"_details";
 				$(workContractName).val(details);
 				$(detailsName).val(details);
@@ -230,6 +233,8 @@
 				var clientName="#"+idx+"_clientName";
 				var reportDataNum="#"+idx+"_reportDataNum";
 				$(projectNum).val("");
+				$(contractId).val("");
+				$(workContractNameStr).val("");
 				$(clientName).val("");
 				$(reportDataNum).val("");
 				var length=$("#workInvoiceProjectRelationList tr").length;
@@ -243,7 +248,27 @@
 			}
 		}
 
-        function addRow(list, idx, tpl, row){
+		function setContractValue(obj,ids){
+			var idx=ids.split("_")[0]
+			var clientId = $("#contractClientId").val();
+			$.ajax({
+				type:'post',
+				url:'${ctx}/ruralProject/ruralCostProjectRecords/getContractInfo',
+				data:{
+					"id":obj
+				},
+				success:function(data){
+					var clientName="#"+idx+"_clientName";
+					var contractId="#"+idx+"_contractId";
+					$(clientName).val(data.client.name);
+					$(contractId).val(data.id);
+
+				}
+			});
+		}
+
+
+		function addRow(list, idx, tpl, row){
             var idx1 = $("#workAccountList tr").length;
             if(list == '#workAccountList' && idx1 < 100){
                 bornTemplete(list, idx, tpl, row, idx1);
@@ -281,7 +306,7 @@
 					}
 				}
 				if (idx1>count){
-					var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(3).val();
+					var id=$("#workInvoiceProjectRelationList").find("tr").eq(count).find("input").eq(5).val();
 					if (id!=undefined && id != ''){
 						if (row== undefined){
 							row={"isProject": "1","isProjectFalg": "1"};
@@ -349,6 +374,8 @@
 			}else if (count>1){
 				$("#chargeType").val("1")
 				layui.form.render();
+			}else if(count == 0){
+				$("#projectFlag").val("");
 			}
 		}
         /*function delRow(obj, prefix) {
@@ -562,6 +589,7 @@
 			<form:hidden path="act.procDefId"/>
 			<form:hidden id="flag" path="act.flag"/>
 			<form:hidden path="province" id="province"/>
+			<input type="hidden" id="projectFlag" value="${workInvoice.projectFlag}">
 			<%--<form:hidden path="invoiceNumber"/>--%>
 
 			<div class="form-group layui-row first lw14">
@@ -589,14 +617,17 @@
                         <td class="hide">
                             <input id="workInvoiceProjectRelationList{{idx}}_invoiceId" name="workInvoiceProjectRelationList[{{idx}}].invoiceId" type="hidden" value="{{row.invoiceId}}"/>
 							<input id="workInvoiceProjectRelationList{{idx}}_delFlag" name="workInvoiceProjectRelationList[{{idx}}].delFlag" type="hidden" value="0"/>
-							<input id="workInvoiceProjectRelationList{{idx}}_details" name="workInvoiceProjectRelationList[{{idx}}].details" type="hidden" value="{{row.workContractName}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_details" name="workInvoiceProjectRelationList[{{idx}}].details" type="hidden" value="{{row.details}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_contractId" name="workInvoiceProjectRelationList[{{idx}}].contractId" type="hidden" value="{{row.contractId}}"/>
+							<input id="workInvoiceProjectRelationList{{idx}}_isProject" name="workInvoiceProjectRelationList[{{idx}}].isProject" type="hidden" value="{{row.isProject}}"/>
                         </td>
                         <td>
                             <sys:gridselectcallprojecttss url="${ctx}/workinvoiceTwo/workinvoiceTwo/selectproject" id="workInvoiceProjectRelationList{{idx}}_projectId" name="workInvoiceProjectRelationList[{{idx}}].projectId"  value="{{row.projectId}}"  title="选择所属项目" labelName="workInvoiceProjectRelationList[{{idx}}].projectName" cssStyle="background-color: #fff"
 													labelValue="{{row.projectName}}" cssClass="form-control judgment layui-input" fieldLabels="项目" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName" isProject="{{row.isProject}}" isProjectFalg="{{row.isProjectFalg}}" details="{{row.details}}"></sys:gridselectcallprojecttss>
                         </td>
                         <td>
-							<input id="workInvoiceProjectRelationList{{idx}}_workContractName"   type="text" value="{{row.workContractName}}" readonly="readonly"  class="form-control"/>
+                        	<sys:gridWorkInvoiceselectContract url="${ctx}/ruralProject/ruralCostProjectRecords/selectcontract" type="" isTotal="" id="workInvoiceProjectRelationList{{idx}}_workContract" name="workInvoiceProjectRelationList[{{idx}}].workContractName"  value=""  title="选择合同" labelName="workInvoiceProjectRelationList[{{idx}}].workContractName"
+											cssStyle="background-color: #fff" labelValue="{{row.workContractName}}" cssClass="form-control layui-input" fieldLabels="合同名称" fieldKeys="name" searchLabel="合同名称" searchKey="name" ></sys:gridWorkInvoiceselectContract>
                         </td>
                         <td style="text-align:center;">
 							<input id="workInvoiceProjectRelationList{{idx}}_projectNum"  type="text" value="{{row.projectNum}}" readonly="readonly"  class="form-control"/>