jlzf-change-update.min.js 17 KB

1
  1. function escapeTags(t){return String(t).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function checkform(){if(""==$("#pnum").val())return toastr.error("请输入申请编号"),!1;if(""==$("#pname").val())return toastr.error("请输入工程名称"),!1;if(""==$("#description").val())return toastr.error("请输入工程变更理由及内容"),!1;if(""==$("#changelist").val()&&""==$("#changewhitelist").val())return toastr.error("请至少添加一项变更清单或空白清单"),!1;if(""!=$("#changelist").val()){var t=$("#list .clid").length;if($("#changelist").val().split(",").length!=t)return toastr.error("请输入所有所需变更的签约清单的申报变更数量"),!1}if(""!=$("#changewhitelist").val()){var e=$("#changewhitelist").val().split(","),a=0,i=0,s="";if($.each(e,function(t,e){var l=e.split("->")[1].split(";");if(1==a)return!1;$.each(l,function(e,n){if(""==n&&2!=e)return a=1,i=t+1,s=l[0],!1})}),a){var l=i+$("#list .clid").length;return toastr.error("变更清单第"+l+"行,清单编号为:"+s+" 存在未填写的内容,请填写完整。若不需要此空白清单请把整行填写过的内容清除"),!1}}if(""==$("#changeaudit").val())return toastr.error("请添加审批人"),!1;for(var n=new Array,r=window.localStorage,c=$("#cid").val().toString().length,o=0;o<r.length;o++){var d=r.key(o);d.substring(0,20+c)!="update_"+$("#cid").val()+"_new_clistid_"&&d.substring(0,16+c)!="update_"+$("#cid").val()+"_clistid_"||n.push(d)}return n&&$.each(n,function(t,e){r.removeItem(e)}),!0}$.event.special.valuechange={teardown:function(t){$(this).unbind(".valuechange")},handler:function(t){$.event.special.valuechange.triggerChanged($(this))},add:function(t){$(this).on("keyup.valuechange cut.valuechange paste.valuechange input.valuechange",t.selector,$.event.special.valuechange.handler)},triggerChanged:function(t){var e="true"===t[0].contentEditable?t.html():t.val();e!==(void 0===t.data("previous")?t[0].defaultValue:t.data("previous"))&&(t.trigger("valuechange",[t.data("previous")]),t.data("previous",e))}},$(function(){if(toastr.options={closeButton:!1,debug:!1,newestOnTop:!1,progressBar:!1,positionClass:"toast-top-right",preventDuplicates:!1,onclick:null,showDuration:"300",hideDuration:"1000",timeOut:"5000",extendedTimeOut:"1000",showEasing:"swing",hideEasing:"linear",showMethod:"fadeIn",hideMethod:"fadeOut"},$("#addcompany").click(function(){$("#companyadddiv").append('<div class="form-group"><input type="text" class="form-control" placeholder="请输入公司名称"></div>')}),$("#updatecompany").click(function(){$(this).attr("disabled","disabled");var t=new Array;$("#companyadddiv").find(".form-control").each(function(){t.push($(this).val())});var e=new Array,a=new Array;$("#companyshow").find(".form-control").each(function(){e.push($(this).val()),a.push($(this).attr("id"))}),$.ajax({type:"post",url:"/change/api/update/company",data:{uci:0!==a.length?a:"",uc:e.length?e:"",ac:0!==t.length?t:""},dataType:"json",success:function(t){200==t.code?($("#companyadddiv").html(""),$("#companyshow").append(t.addhtml),$("#company").html(t.selecthtml),$("#editcompany").modal("hide"),toastr.success("变更单位已更新")):toastr.error("添加或编辑单位出错"),$("#updatecompany").attr("disabled",!1)}})}),$(".checklist").on("click",function(){$(this).find(".listcheckbox").prop("checked")?($(this).find(".listcheckbox").prop("checked",!1),$(this).removeClass("success")):($(this).find(".listcheckbox").prop("checked",!0),$(this).addClass("success"))}),$(".listcheckbox").on("click",function(){$(this).prop("checked")?($(this).prop("checked",!1),$(this).parents(".checklist").removeClass("success")):($(this).prop("checked",!0),$(this).parents(".checklist").addClass("success"))}),""!=$("#changelist").val()){var t=$("#changelist").val().split(",");$.each(t,function(t,e){var a=e.split("_");localStorage.setItem("update_"+$("#cid").val()+"_clistid_"+a[0],a[1])})}if(""!=$("#changewhitelist").val()){var e=$("#changewhitelist").val().split(",");$.each(e,function(t,e){var a=e.split("->");localStorage.setItem("update_"+$("#cid").val()+"_new_clistid_"+a[0],a[1])})}$(".addlistbtn").on("click",function(){var t="",e=0,a=0,i=new Array;$(".checklist").find(".listcheckbox").each(function(){if($(this).prop("checked")){var s=$(this).parents(".checklist").children("td").eq(0).text(),l=$(this).parents(".checklist").children("td").eq(1).text(),n=$(this).parents(".checklist").children("td").eq(2).text(),r=$(this).parents(".checklist").children("td").eq(3).text(),c=$(this).parents(".checklist").children("td").eq(4).text(),o=$(this).parents(".checklist").children("td").eq(5).text(),d=$(this).parents(".checklist").children("td").eq(6).text();e+=parseFloat(d);var p="",h=0;localStorage.hasOwnProperty("update_"+$("#cid").val()+"_clistid_"+s)&&(p=localStorage.getItem("update_"+$("#cid").val()+"_clistid_"+s),h=parseFloat(c)*parseFloat(p),a+=parseFloat(h),i.push(s+"_"+p)),h=0!=h?parseFloat(h).toFixed(2):"",t+='<tr class="clist clid" list_id="'+s+'"><td sortnum="0">'+l+'</td><td sortnum="1">'+n+'</td><td sortnum="2">'+r+'</td><td sortnum="3">'+c+'</td><td sortnum="4">'+o+'</td><td sortnum="5">'+d+'</td><td sortnum="6"><input class="form-control input-sm" type="number" min="0" step="0.001" placeholder="请输入变更数量" value="'+p+'"></td><td sortnum="7">'+h+"</td></tr>"}}),$("#changelist").val(i.join(","));for(var s=1,l=new Array,n=window.localStorage,r=20+$("#cid").val().toString().length,c=0;c<n.length;c++){var o=n.key(c);if(o.substring(0,r)=="update_"+$("#cid").val()+"_new_clistid_"){s++;var d=o.split("_");l.push(d[4])}}l.sort(function(t,e){return t-e});for(var p=new Array,h=["m","km","m2","m3","kg","t","m3·km","总额","月","项","处","个","根","棵","块","每一试桩","桥长米","公路公里","株","组","座","元","工日","套","台班","艘班","m/处","m/道","m/座","m2/m","m3/m","m3/处","根/米","亩","m3/m2"],u=0;u<l.length;u++){var v=n.getItem("update_"+$("#cid").val()+"_new_clistid_"+l[u]).split(";"),m=v[0],f=v[1],g=v[2],y=v[3],_=v[4],w=v[5];if(""!=m||""!=f||""!=y||""!=_||""!=w){p.push(l[u]+"->"+v.join(";"));var b=""!=y&&""!=_?parseFloat(parseFloat(y)*parseFloat(_)).toFixed(2):"";e=""!=b?e+parseFloat(b):e;var k=""!=y&&""!=w?parseFloat(parseFloat(y)*parseFloat(w)).toFixed(2):"";a=""!=k?a+parseFloat(k):a;for(var x="",F=0;F<h.length;F++)x+=g==h[F]?'<option selected="selected">'+h[F]+"</option>":"<option>"+h[F]+"</option>";t+='<tr class="clist" newlist_tid="'+l[u]+'"><td sortnum="0"><input class="form-control input-sm" type="text" value="'+m+'" placeholder="请输入清单编号"></td><td sortnum="1"><input class="form-control input-sm" type="text" value="'+f+'" placeholder="请输入名称"></td><td sortnum="2"><select class="form-control input-sm">'+x+'</select></td><td sortnum="3"><input class="form-control input-sm" type="number" min="0" step="0.001" value="'+y+'" placeholder="请输入单价"></td><td sortnum="4"><input class="form-control input-sm" type="number" min="0" step="0.001" value="'+_+'" placeholder="请输入数量"></td><td sortnum="5">'+b+'</td><td sortnum="6"><input class="form-control input-sm" type="number" min="0" step="0.001" value="'+w+'" placeholder="请输入变更数量"></td><td sortnum="7">'+k+"</td></tr>"}}if($("#changewhitelist").val(p.join(",")),a=0!=a?a.toFixed(2):"",$(this).hasClass("btn-default")){for(var j="",F=0;F<h.length;F++)j+="<option>"+h[F]+"</option>";t+='<tr class="clist" newlist_tid="'+s+'"><td sortnum="0"><input class="form-control input-sm" type="text" placeholder="请输入清单编号"></td><td sortnum="1"><input class="form-control input-sm" type="text" placeholder="请输入名称"></td><td sortnum="2"><select class="form-control input-sm">'+j+'</select></td><td sortnum="3"><input class="form-control input-sm" type="number" min="0" step="0.001" placeholder="请输入单价"></td><td sortnum="4"><input class="form-control input-sm" type="number" min="0" step="0.001" placeholder="请输入数量"></td><td sortnum="5"></td><td sortnum="6"><input class="form-control input-sm" type="number" min="0" step="0.001" placeholder="请输入变更数量"></td><td sortnum="7"></td></tr>'}t+='<tr class="info"><td>合计</td><td></td><td></td><td></td><td></td><td id="otatalamount">'+e.toFixed(2)+'</td><td></td><td id="ctatalamount">'+a+"</td></tr>",$("#list").html(t),$("#addlist").modal("hide")}),$("body").on("valuechange",".clist input",function(t,e){var a=$(this).parents("td").attr("sortnum");if(6==a){var i=$(this).val(),s=$(this).parents(".clist").children("td").eq(3).text()||$(this).parents(".clist").children("td").eq(3).children("input").val(),l=""!=i.trim()&&""!=s.trim()?parseFloat(parseFloat(s)*parseFloat(i)).toFixed(2):"";$(this).parents(".clist").children("td").eq(7).text(l)}else if(3==a){var s=$(this).val(),n=$(this).parents(".clist").children("td").eq(4).children("input").val(),i=$(this).parents(".clist").children("td").eq(6).children("input").val(),r=""!=n.trim()&&""!=s.trim()?parseFloat(parseFloat(s)*parseFloat(n)).toFixed(2):"",l=""!=i.trim()&&""!=s.trim()?parseFloat(parseFloat(s)*parseFloat(i)).toFixed(2):"";$(this).parents(".clist").children("td").eq(5).text(r),$(this).parents(".clist").children("td").eq(7).text(l)}else if(4==a){var n=$(this).val(),s=$(this).parents(".clist").children("td").eq(3).children("input").val(),r=""!=n.trim()&&""!=s.trim()?parseFloat(parseFloat(s)*parseFloat(n)).toFixed(2):"";$(this).parents(".clist").children("td").eq(5).text(r)}var c=0,o=0;if($(".clist").each(function(){var t=$(this).children("td").eq(7).text();c=""!=t?parseFloat(c)+parseFloat(t):parseFloat(c);var e=$(this).children("td").eq(5).text();o=""!=e?parseFloat(o)+parseFloat(e):parseFloat(o)}),$("#ctatalamount").text(0!=c?parseFloat(c).toFixed(2):""),$("#otatalamount").text(0!=o?parseFloat(o).toFixed(2):""),$(this).parents(".clist").hasClass("clid")){var d=$(this).parents(".clist").attr("list_id");if(""!=$(this).val().trim()){localStorage.setItem("update_"+$("#cid").val()+"_clistid_"+d,$(this).val().trim());var p=$(this).val().trim();if(""!=$("#changelist").val()){var h=$("#changelist").val().split(","),u=0;$.each(h,function(t,e){if(e.split("_")[0]==d)return u=1,h.splice(t,1,d+"_"+p),!1}),0==u&&h.push(d+"_"+p),$("#changelist").val(h.join(","))}else $("#changelist").val(d+"_"+p)}else{localStorage.removeItem("update_"+$("#cid").val()+"_clistid_"+d);h=$("#changelist").val().split(",");$.each(h,function(t,e){if(e.split("_")[0]==d)return h.splice(t,1),!1}),$("#changelist").val(h.join(","))}}else{var v=$(this).parents(".clist").attr("newlist_tid"),m=new Array(6);if(m[0]=$(this).parents(".clist").children("td").eq(0).children("input").val(),m[1]=$(this).parents(".clist").children("td").eq(1).children("input").val(),m[2]=$(this).parents(".clist").children("td").eq(2).children("select").val(),m[3]=$(this).parents(".clist").children("td").eq(3).children("input").val(),m[4]=$(this).parents(".clist").children("td").eq(4).children("input").val(),m[5]=$(this).parents(".clist").children("td").eq(6).children("input").val(),localStorage.setItem("update_"+$("#cid").val()+"_new_clistid_"+v,m.join(";")),""!=$("#changewhitelist").val()){var f=$("#changewhitelist").val().split(","),u=0;$.each(f,function(t,e){if(e.split("->")[0]==v){u=1;var a=0;return $.each(m,function(t,e){if(""!=e&&2!=t)return a=1,!1}),a?f.splice(t,1,v+"->"+m.join(";")):f.splice(t,1),!1}}),0==u&&f.push(v+"->"+m.join(";")),$("#changewhitelist").val(f.join(","))}else $("#changewhitelist").val(v+"->"+m.join(";"))}}),$("body").on("change",".clist select",function(){var t=$(this).parents(".clist").attr("newlist_tid"),e=new Array(6);if(e[0]=$(this).parents(".clist").children("td").eq(0).children("input").val(),e[1]=$(this).parents(".clist").children("td").eq(1).children("input").val(),e[2]=$(this).parents(".clist").children("td").eq(2).children("select").val(),e[3]=$(this).parents(".clist").children("td").eq(3).children("input").val(),e[4]=$(this).parents(".clist").children("td").eq(4).children("input").val(),e[5]=$(this).parents(".clist").children("td").eq(6).children("input").val(),localStorage.setItem("update_"+$("#cid").val()+"_new_clistid_"+t,e.join(";")),""!=$("#changewhitelist").val()){var a=$("#changewhitelist").val().split(","),i=0;$.each(a,function(s,l){if(l.split("->")[0]==t){i=1;var n=0;return $.each(e,function(t,e){if(""!=e&&2!=t)return n=1,!1}),n?a.splice(s,1,t+"->"+e.join(";")):a.splice(s,1),!1}}),0==i&&a.push(t+"->"+e.join(";")),$("#changewhitelist").val(a.join(","))}else $("#changewhitelist").val(t+"->"+e.join(";"))}),$("body").on("click",".alert-pnone .radio",function(t){if(!$(t.target).is("label")){var e=$(this).attr("data-uid");if($(this).parents(".alert-pnone").hasClass("alert-success")){$(this).parents(".alert-pnone").removeClass("alert-success"),$(this).children("label").children('input[type="radio"]').prop("checked",!1);var a=$("#selectauditlist").val().split("->");$.each(a,function(t,i){var s=i.split("_")[0];if(e==s)return a.splice(t,1),!1}),$("#selectauditlist").val(a.join("->"))}else{$(this).parents(".alert-pnone").addClass("alert-success"),$(this).children("label").children('input[type="radio"]').prop("checked","checked");var i=$(this).attr("data-uname"),s=$(this).attr("data-ucompany"),l=$(this).attr("data-ujobs"),n=e+"_"+i+"_"+s+"_"+l;""!=$("#selectauditlist").val()?((a=$("#selectauditlist").val().split("->")).push(n),$("#selectauditlist").val(a.join("->"))):$("#selectauditlist").val(n)}}}),$("#addaudit").click(function(){if($("#usertableshow").html(""),""!=$("#selectauditlist").val()){var t=1,e=$("#selectauditlist").val().split("->"),a=new Array;$.each(e,function(e,i){var s=i.split("_"),l=s[0],n=s[1],r=s[2],c=s[3],o='<tr id="user_'+l+'" userid="'+l+'"><td width="100">第'+t+'个审批人</td><td width="250"><h4 class="media-heading">'+c+" "+n+"</h4>"+r+'</td> <td width="100"></td> <td></td> </tr>';$("#usertableshow").append(o),a.push(l),t++}),$("#changeaudit").val(a.join(","))}else $("#changeaudit").val("");$("#addshenpi").modal("hide")}),$("#searchbtn").click(function(){var t=$("#searchname").val().trim();if(""==t)return toastr.error("请输入审批人名称"),!1;for(var e=$("#usernamelist").val().split(","),a=0;a<e.length;a++)if(t==e[a])return toastr.error("列表或常用中已存在当前审批人"),!1;$.ajax({type:"get",url:"/change/user/search",data:{name:t},dataType:"json",success:function(t){if(400==t.code)toastr.error(t.msg);else{e.push(t.user.name),$("#usernamelist").val(e.join(","));var a='<div class="col-md-3 alert alert-pnone"><div class="radio" data-uid="'+t.user.userid+'" data-uname="'+t.user.name+'" data-ucompany="'+t.user.company+'" data-ujobs="'+t.user.jobs+'"><label><input type="radio" value="'+t.user.userid+'">'+t.user.name+"</label><div>"+t.user.jobs+"</div></div></div>";$("#searchshow").append(a)}}})});var a=document.getElementById("uploadBtn"),i=(document.getElementById("pic-progress-wrap"),document.getElementById("progressBar")),s=document.getElementById("progressOuter"),l=document.getElementById("msgBox"),n=$("#filesshow tr").length+1;new ss.SimpleUpload({button:a,url:"/change/file/upload/"+$("#pmid").val(),name:"uploadfile",multipart:!0,hoverClass:"hover",focusClass:"focus",responseType:"json",startXHR:function(){s.style.display="block",this.setProgressBar(i)},onSubmit:function(){l.innerHTML="",a.innerHTML="上传中..."},onComplete:function(t,e){if(a.innerHTML="选择文件",s.style.display="none",!e)return toastr.error("无法上传文件"),void(l.innerHTML="无法上传文件");if(!0===e.success){toastr.success("附件上传成功。"),l.innerHTML="<strong>"+escapeTags(t)+"</strong> 上传成功。";var i="<tr><td>"+n+'</td><td><a href="'+e.files.downurl+'">'+e.files.filename+"</a></td><td>"+e.files.size+"</td><td>"+e.files.time+'</td><td><a id="delatt_'+e.files.id+'" file_id="'+e.files.id+'" class="btn btn-default btn-sm" title="删除附件"><span class="glyphicon glyphicon-trash text-danger"></span></a></td></tr>';if($("#filesshow").append(i),""!=$("#changeatt").val()){var r=$("#changeatt").val().split(",");r.push(e.files.id),$("#changeatt").val(r.join(","))}else $("#changeatt").val(e.files.id);n++,setTimeout(function(){l.innerHTML=""},3e3)}else e.msg?(toastr.error(e.msg),l.innerHTML=escapeTags(e.msg)):(toastr.error("发生错误,上传失败。"),l.innerHTML="发生错误,上传失败。")},onError:function(){s.style.display="none",toastr.error("无法上传文件"),l.innerHTML="无法上传文件"}});$("body").on("click","a[id^='delatt_']",function(){var t=$(this).attr("file_id");$(this).parents("tr").remove();var e=1;$("#filesshow tr").each(function(){$(this).children("td").eq(0).text(e),e++}),n=e;var a=$("#changeatt").val().split(",");$.each(a,function(e,i){if(i==t)return a.splice(e,1),!1}),$("#changeatt").val(a.join(",")),$.ajax({type:"post",url:"/change/file/delete",data:{fid:t},dataType:"json",success:function(t){}})})});