123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304 |
- var locat = (window.location+'').split('/');
- $(function(){if('fhsms'== locat[3]){locat = locat[0]+'//'+locat[2];}else{locat = locat[0]+'//'+locat[2]+'/'+locat[3];};});
- $(getTop(globalThis).hangge());
- var pd_TABLETYPE = $('#pd_TABLETYPE').html();
- var pd_COMPANY = $("input[name='COMPANY']").val();
- var pd_COMPANY_ID = $("input[name='COMPANY_ID']").val();
- var pd_YEAR = $("input[name='YEAR']").val();
- var pd_ROAD_ID = $("input[name='ROAD_ID']").val();
- var pd_ROAD = $("input[name='ROAD']").val();
- var pd_NAME = $('#pd_NAME').html();
- var pd_ROLENAME = $('#pd_ROLENAME').html();
- var editflag = 0;
- var recordData = new Object();
- var recordBeforeValue = new Object();
- var status = $('.edittr:eq(0) >td >input[name="STATUS"]').val();
- var currStatus = status;
- var rocordInfoList = new Object();
- function tableInit(){
- //小计行的总计列
- var totalcells = $('.totaltr').find('.sumCell');
- for(var i=0; i<totalcells.length; i++){
- setTotalCell(i);
- }
- //小计行的百分比初始化
- $('#Form table tbody tr').each(function(index,e){
- setTrPercentCell(e);
- });
- //小计序号
- $('.totaltr').find('.indexCell').html($('.edittr').length+1);
- //留痕标红
- setRecordInfo();
- //数字格式化
- $("input.num").each(function(index,e){
- var num = $(e).val();
- num = numFormat(num);
- $(e).val(num);
- });
- $(".RESERVE_DESIGN").each(function(index,e){
- var num = $(e).val();
- num = numFormat(num);
- $(e).val(num);
- });
- }
- function setTotalCell(index){
- if(index < $('.totaltr').find('.sumCell').length){
- var totalvalue = 0;
- for(var i=0; i<$('.edittr').length; i++){
- var editcellval = $('.edittr').eq(i).find('input[totalType="sum"]').eq(index).val();
- if(typeof(editcellval) != "undefined")
- totalvalue += Number(editcellval);
- }
- $('.totaltr').find('.sumCell').eq(index).html(numFormat(totalvalue) + '');
- }
- }
- function editTable(){
- if(editflag == 0){
- $('#editbutton').html('编辑中');
- $(".editInput").removeAttr("readonly");
- editflag = 1;
- }else if(editflag == 1){
- $('#editbutton').html('编辑');
- $(".editInput").attr("readonly","readonly" );
- editflag = 0;
- }
- }
- function saveTable(type){
- saveTableRecords(type);
- }
- function saveTableRecords(type){
- debugger;
- if(editflag == 1){
- $('#editbutton').html('编辑');
- $(".editInput").attr("readonly","readonly");
- editflag = 0;
- }
- var tabledata = dataResult();
- $.ajax({
- type : "post",
- /*url : locat+'/annualDailyComp/saveData.do?data='+JSON.stringify(tabledata)+'&TABLETYPE='+pd_TABLETYPE+'&COMPANY_ID='+pd_COMPANY_ID+'&YEAR='+pd_YEAR+'&ROAD_ID='+pd_ROAD_ID
- +'&COMPANY='+pd_COMPANY + '&ROAD='+pd_ROAD,*/
- url:locat+'/annualDailyComp/saveData.do?',
- contentType: "application/x-www-form-urlencoded; charset=utf-8",
- data:{
- data:JSON.stringify(tabledata),
- TABLETYPE:pd_TABLETYPE,
- COMPANY_ID:pd_COMPANY_ID,
- YEAR:pd_YEAR,
- ROAD_ID:pd_ROAD_ID,
- COMPANY:pd_COMPANY,
- ROAD:pd_ROAD
- },
- dataType : 'json',
- success : function(data){
- if(JSON.stringify(recordData) != "{}") saveRecordInfo();
- //保存后更新input原始值
- for(var i=0;i<$('.editInput').length;i++){
- var e = $('.editInput')[i];
- $(e).attr('value',$(e).val());
- }
- if(data.msg == 'success'){
- getTop(globalThis).hangge();
- bootbox.dialog({
- message: "<span class='bigger-110'>保存成功!</span>",
- buttons:
- {
- "button" :
- {
- "label" : "确定",
- "className" : "btn-sm btn-success",
- }
- }
- });
- updateStatus(type);
- }else{
- getTop(globalThis).hangge();
- bootbox.dialog({
- message: "<span class='bigger-110'>"+data.msg+"</span>",
- buttons:
- {
- "button" :
- {
- "label" : "确定",
- "className" : "btn-sm btn-success"
- }
- }
- });
- }
- },
- error:function(){
- getTop(globalThis).hangge();
- bootbox.dialog({
- message: "<span class='bigger-110'>保存失败!</span>",
- buttons:
- {
- "button" :
- {
- "label" : "确定",
- "className" : "btn-sm btn-success"
- }
- }
- });
- }
- });
- }
- function updateStatus(type){
- $.ajax({
- type : "get",
- url : locat+'/annualDailyComp/updateStatus.do?STATUS='+type+'&TABLETYPE='+pd_TABLETYPE+'&COMPANY_ID='+pd_COMPANY_ID
- +'&YEAR='+pd_YEAR+'&ROAD_ID='+pd_ROAD_ID +'&COMPANY='+pd_COMPANY+'&ROAD='+pd_ROAD + '&ROAD_ID='+ pd_ROAD_ID,
- dataType : 'json',
- success : function(data){
- //alert("change success!");
- }
- });
- }
- function saveRecordInfo(){
- $.ajax({
- type : "get",
- url : locat+'/annualDailyComp/saveRecordInfo.do?recordData='+JSON.stringify(recordData)
- +'&recordBeforeValue='+JSON.stringify(recordBeforeValue)+'&TABLE_NAME='+pd_TABLETYPE+'&COMPANY_ID='+pd_COMPANY_ID
- +'&YEAR='+pd_YEAR+'&BEFORE_STATUS='+status+'&AFTER_STATUS='+currStatus+'&type=ROAD_ID',
- dataType : 'json',
- success : function(data){
- recordData = new Object();
- recordBeforeValue = new Object();
- //留痕标红
- setRecordInfo();
- }
- });
- }
- function dataResult(){
- var mapArry = $("#Form").serializeArray();
- var dataArry = [];
- var recordmap = new Object();
- for(var i=0; i<mapArry.length; i++){
- recordmap[mapArry[i].name] = mapArry[i].value.replace("%","");
- }
- dataArry.push(recordmap);
- return dataArry;
- }
- function editValue(e){
- if(!$(e).attr('readonly')){
- //数字格式化
- // var num = "";
- // if(e.tagName == "INPUT"){
- // num = $(e).val();
- // num = numFormat(num);
- // $(e).val(num);
- // }
- if($(e).attr("totalType") == "sum") setTotalCell($(e).parent().parent().find('input[totalType="sum"]').index(e));
- setTrPercentCell($(e).parent().parent()[0]);
- setTrPercentCell($(".totaltr")[0]);
- if($('#pd_mode').html() == 'edit') setRecordData(e);
- }
- }
- function setRecordData(e){
- var key = $(e).attr('name');
- var roadid = $("input[name='ROAD_ID']").val();
- var value = $(e).val();
- var beforeValue = $(e).attr('value');
- if($(e).val() != $(e).attr('value') && $(e).attr('value') != ''){
- if(!recordData[roadid]){
- recordData[roadid] = new Object();
- recordBeforeValue[roadid] = new Object();
- }
- recordData[roadid][key] = value;
- recordBeforeValue[roadid][key] = beforeValue;
- }else if($(e).val() == $(e).attr('value') && $(e).attr('value') != ''){
- if(key in recordData[roadid] && roadid in recordData){
- delete recordData[roadid][key];
- delete recordBeforeValue[roadid][key];
- if(JSON.stringify(recordData[roadid]) == "{}"){
- delete recordData[roadid];
- delete recordBeforeValue[roadid];
- }
- }
- }
- }
- function setRecordInfo(){
- $.ajax({
- type : "get",
- url : locat+'/annualDailyComp/showRecodInfo.do?TABLE_NAME='+pd_TABLETYPE+'&COMPANY_ID='+pd_COMPANY_ID+'&YEAR='+pd_YEAR,
- dataType : 'json',
- success : function(data){
- for(var e in rocordInfoList){
- $('.highlight').removeClass(e);
- }
- $('.highlight').removeClass('highlight');
- rocordInfoList = data.rocordInfoList;
- for(var e in data.rocordInfoList){
- $("input[name='"+data.rocordInfoList[e].TABLE_FIELDS+"']").addClass("highlight " + e);
- }
- }
- });
- }
- function highlightInit(){
- $('.editInput').off("mouseover mouseout").on("mouseover mouseout",function(event){
- if($(this).attr('class').split(' ').length > 2){
- if(event.type == "mouseover"){
- var indexClass = $(this).attr('class').split(' ')[3];
- var before = rocordInfoList[indexClass].BEFORE_VAL;
- var after = rocordInfoList[indexClass].AFTER;
- var modifier = rocordInfoList[indexClass].MODIFIER;
- var time = rocordInfoList[indexClass].MODIFY_TIME;
- $(this).parent().append('<div id="recordInfoDiv">修改人:'+modifier+'<br/>修改时间:'+time+'<br/>'+before+'<br/>'+after+'</div>');
- $('#recordInfoDiv').width($(this).parent().width());
- }else if(event.type == "mouseout"){
- $("#recordInfoDiv").remove();
- }
- }
- });
- }
- $(function(){
- tableInit();
- highlightInit();
- });
- function setTrPercentCell(tr){
- $(tr).find("td>.percentCell").each(function(index,e){
- if(e.tagName == "INPUT"){
- var num1 = $(tr).find("td>."+$(e).attr("num1")).val();
- var num2 = $(tr).find("td>."+$(e).attr("num2")).val();
- var result = percentage(num1, num2);
- $(e).val(result);
- }else if(e.tagName == "SPAN"){
- var num1 = $(tr).find("td>."+$(e).attr("num1")).html();
- var num2 = $(tr).find("td>."+$(e).attr("num2")).html();
- var result = percentage(num1, num2);
- $(e).html(result);
- }
- });
- }
- function percentage(num1, num2){
- var percent = "";
- if(!isNaN(Number(num1)) && !isNaN(Number(num2)) && Number(num2) != "0" )
- // percent = Math.round(Number(num1) / Number(num2) * 10000) / 100.00 + "%";
- // percent = Math.round(Number(num1) / Number(num2) * 100) + "%";
- percent = Math.round(Number(num1) / Number(num2) * 100);
- return percent;
- }
- function numFormat(num){
- if(!isNaN(Number(num)) && Number(num) != "0"){
- if(num<10) num = Number(num).toFixed(1);
- else num = Math.round(Number(num));
- }
- return num;
- }
- //获取本网站的顶级节点,解决被其他网站iframe引入时发生的跨域问题
- function getTop(obj){
- var tp = obj;
- //alert(obj.name);
- if (tp.mainFrame == undefined) {
- tp = tp.parent;
- return getTop(tp);
- } else {
- return tp;
- }
- }
|