contractPayment.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. //初始化下标
  2. function resetTrNum(tableId) {
  3. $tbody = $("#"+tableId+"");
  4. $tbody.find('>tr').each(function(i){
  5. $(':input, select,button,a', this).each(function(){
  6. var $this = $(this), name = $this.attr('name'),id=$this.attr('id'),onclick_str=$this.attr('onclick'), val = $this.val();
  7. // 开票明细中开票金额改变添加事件
  8. if(name.indexOf("contractInvoiceList") >= 0 && name.indexOf("invoiceamount") >= 0){
  9. var numTemp = $this.val();
  10. if(numTemp != null && numTemp != ''){
  11. $this.val(new Number(numTemp));
  12. }
  13. $this.unbind();
  14. $this.change(function(event){
  15. var trList = $("#add_contractInvoice_table").children("tr");
  16. var money = 0;
  17. for (var line=0;line<trList.length;line++) {
  18. var moneyTemp = parseFloat($("#add_contractInvoice_table").find("tr").eq(line).find(":text").eq(1).val()) || 0;
  19. money = money + moneyTemp;
  20. }
  21. // 总金额
  22. $("#invoiceamount").val(Math.round(money*100)/100);
  23. });
  24. }
  25. if(name!=null){
  26. if (name.indexOf("#index#") >= 0){
  27. $this.attr("name",name.replace('#index#',i));
  28. }else{
  29. var s = name.indexOf("[");
  30. var e = name.indexOf("]");
  31. var new_name = name.substring(s+1,e);
  32. $this.attr("name",name.replace(new_name,i));
  33. }
  34. }
  35. if(id!=null){
  36. if (id.indexOf("#index#") >= 0){
  37. $this.attr("id",id.replace('#index#',i));
  38. }else{
  39. var s = id.indexOf("[");
  40. var e = id.indexOf("]");
  41. var new_id = id.substring(s+1,e);
  42. $this.attr("id",id.replace(new_id,i));
  43. }
  44. }
  45. if(onclick_str!=null){
  46. if (onclick_str.indexOf("#index#") >= 0){
  47. $this.attr("onclick",onclick_str.replace(/#index#/g,i));
  48. }else{
  49. }
  50. }
  51. });
  52. $(this).find('div[name=\'xh\']').html(i+1);
  53. });
  54. }
  55. //通用弹出式文件上传
  56. function commonUpload(callback,inputId){
  57. $.dialog({
  58. content: "url:systemController.do?commonUpload",
  59. lock : true,
  60. title:"文件上传",
  61. zIndex:getzIndex(),
  62. width:700,
  63. height: 200,
  64. parent:windowapi,
  65. cache:false,
  66. ok: function(){
  67. var iframe = this.iframe.contentWindow;
  68. iframe.uploadCallback(callback,inputId);
  69. return true;
  70. },
  71. cancelVal: '关闭',
  72. cancel: function(){
  73. }
  74. });
  75. }
  76. //通用弹出式文件上传-回调
  77. function commonUploadDefaultCallBack(url,name,inputId){
  78. $("#"+inputId+"_href").attr('href',url).html('下载');
  79. $("#"+inputId).val(url);
  80. }
  81. function browseImages(inputId, Img) {// 图片管理器,可多个上传共用
  82. }
  83. function browseFiles(inputId, file) {// 文件管理器,可多个上传共用
  84. }
  85. function decode(value, id) {//value传入值,id接受值
  86. var last = value.lastIndexOf("/");
  87. var filename = value.substring(last + 1, value.length);
  88. $("#" + id).text(decodeURIComponent(filename));
  89. }
  90. //选择项目名称,列表================
  91. function openDepartmentSelect() {
  92. //$.dialog.setting.zIndex = getzIndex();
  93. var orgIds = $("#projectid").val();
  94. /* var orgCode = $("#orgCode").val();*/
  95. $.dialog({
  96. content: 'url:userWageController.do?projectDepartTableAll&ids='+orgIds, zIndex: getzIndex(), title: '项目名称列表', lock: true, width: '600px', height: '350px', opacity: 0.4, button: [
  97. {name: '确定', callback: function (){
  98. var iframe = this.iframe.contentWindow;
  99. if(iframe.getReason().length>0){
  100. var strData=eval(iframe.getReason());
  101. for(var key in strData[0]){
  102. if(key=="strPId"){
  103. $("#projectid").val(strData[0][key]);
  104. }else if(key=="strDepartName"){
  105. $("#projectName").val(strData[0][key]);
  106. }
  107. }
  108. }
  109. }, focus: true},
  110. {name: '取消', callback: function (){}}
  111. ]}).zindex();
  112. }
  113. function callbackClean(){
  114. $('#projectName').val('');
  115. $('#projectid').val('');
  116. }
  117. //选择供应商
  118. function openPartnerSelect() {
  119. //$.dialog.setting.zIndex = getzIndex();
  120. var partnerIds = $("#partnerid").val();
  121. /* var orgCode = $("#orgCode").val();*/
  122. $.dialog({
  123. content: 'url:partnerController.do?supplierAll&ids='+partnerIds, zIndex: getzIndex(), title: '供应商列表', lock: true, width: '600px', height: '350px', opacity: 0.4, button: [
  124. {name: '确定', callback: function (){
  125. var iframe = this.iframe.contentWindow;
  126. if(iframe.getReason().length>0){
  127. var strData=eval(iframe.getReason());
  128. for(var key in strData[0]){
  129. if(key=="strId"){
  130. $("#partnerid").val(strData[0][key]);
  131. }else if(key=="strPartnerName"){
  132. $("#partnerName").val(strData[0][key]);
  133. }
  134. }
  135. }
  136. }, focus: true},
  137. {name: '取消', callback: function (){}}
  138. ]}).zindex();
  139. }
  140. function callbackCleanPartner(){
  141. $('#partnerName').val('');
  142. $('#partnerid').val('');
  143. }
  144. function changeToCHN(event) {
  145. var chn = convertCurrency(event.currentTarget.value);
  146. //event.currentTarget.validform_lastval
  147. var label = document.getElementById("applyamountCHN");
  148. label.innerText = chn;
  149. }
  150. function beforeSubmit(){
  151. if($('#needcheck').val() != null && $('#needcheck').val() == '1'){
  152. //后台判断是否存在同一项目、同一金额、近7天内的申请
  153. $.ajax({
  154. url : "contractPaymentController.do?checkDuplicate",
  155. type : 'post',
  156. data : {
  157. id : $('#id').val(),
  158. contractid: $('#contractid').val(),
  159. applypayamount: $('#applypayamount').val()
  160. },
  161. cache : false,
  162. success : function(data) {
  163. var d = data; // ------ $.parseJSON(data);
  164. if(!d.success){
  165. $.messager.confirm("重复申请提醒", d.msg+",确定要提交本付款申请吗?", function (r) {
  166. if (r) {
  167. $('#needcheck').val('0');
  168. $('#btn_sub').click();
  169. }else{
  170. return false;
  171. }
  172. });
  173. }else{
  174. $('#needcheck').val('0');
  175. $('#btn_sub').click();
  176. }
  177. }
  178. });
  179. }else{
  180. if($('#periodBegin').val() == null || $('#periodBegin').val().trim() == ''){
  181. tip("开始日期不能空,请输入后再提交保存");
  182. return false;
  183. }
  184. if($('#periodEnd').val() == null || $('#periodEnd').val().trim() == ''){
  185. tip("截止日期不能空,请输入后再提交保存");
  186. return false;
  187. }
  188. var contractStartEnd = $('#contractStartEnd').val();
  189. var startEndList = contractStartEnd.replace(/\./g, "-").split('~');
  190. if($('#periodBegin').val().substring(0,10) < startEndList[0] || $('#periodBegin').val().substring(0,10) > startEndList[1]){
  191. tip("付款开始日期不能超出合同有效日期范围,请检查后再提交保存");
  192. return false;
  193. }
  194. if($('#periodEnd').val().substring(0,10) < startEndList[0] || $('#periodEnd').val().substring(0,10) > startEndList[1]){
  195. tip("付款截止日期不能超出合同有效日期范围,请检查后再提交保存");
  196. return false;
  197. }
  198. //移除不可用属性,才能在提交时传到服务器
  199. $("#contractid").removeAttr("disabled");
  200. $("#projectid").removeAttr("disabled");
  201. $("#partnerid").removeAttr("disabled");
  202. $("#paytype").removeAttr("disabled");
  203. return true;
  204. }
  205. }
  206. //总金额 计算方法
  207. function getSumInvoiceMoney(){
  208. var trList = $("#add_contractInvoice_table").children("tr");
  209. var money = 0;
  210. for (var line=0;line<trList.length;line++) {
  211. var moneyTemp = parseFloat($("#add_contractInvoice_table").find("tr").eq(line).find(":text").eq(1).val()) || 0;
  212. money = money + moneyTemp;
  213. }
  214. // 总金额
  215. $("#invoiceamount").val(Math.round(money*100)/100);
  216. }
  217. function afterApplyChanged(event){
  218. var maxApply = $("#totalamount").val() - $("#totalpayment").find("option:selected").text();
  219. if(event.currentTarget.value > maxApply){
  220. tip("申请支付金额超出最大可支付金额,请重新填写");
  221. event.currentTarget.value = event.currentTarget.validform_lastval;
  222. changeToCHN(event);
  223. }
  224. var applypayamount = parseFloat($('#applypayamount').val());
  225. if(applypayamount<0){
  226. $('#applypayamount').val(-applypayamount);
  227. changeToCHN(event);
  228. }
  229. }