1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033 |
- 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_ROLENAME = $('#pd_ROLENAME').html();
- 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_mode = $("#pd_mode").html();
- var editflag = 0;
- var recordData = new Object();
- var recordBeforeValue = new Object();
- var sublistRecordData = new Object();
- var sublistRecordBeforeValue = new Object();
- var status = $('input[name="STATUS"]').val();
- var currStatus = status;
- var rocordInfoList = new Object();
- var sublistRecordInfoList = new Object();
- var validateJsonData = new Object();
- var labelsObj = new Object();
- var validateObj = new Object();
- function tableInit(){
- //子表行总计各行初始化
- $('.sublisttr').each(function(index,e){
- setUnitTotalCell(e);
- });
- //小计行的总计列
- setTotalCell(0);
- setTotalCell(1);
- //重新计算工程估算
- $('.PROJECT_COST').val($('.sumCell.TOTAL_COST').val());
-
- // setProjectScale();
- //数字格式化
- $("input.editInput").each(function(index,e){
- if($(e).attr('name')=='UNIT_PRICE'||$(e).attr('name')=='AUDIT_FEE'||$(e).hasClass('PLAN_COST')){
- var num = $(e).val();
- num = numFormat(num);
- $(e).val(num);
- }
- });
- // $('.PROJECT_COST').val(numFormat($('.PROJECT_COST').val()));
- //留痕标红
- setRecordInfo();
- setSubRecordInfo();
- }
- function setTotalCell(index){
- if(index < $('.totaltr').find('.sumCell').length){
- var totalvalue = 0;
- for(var i=0; i<$('.sublisttr').length; i++){
- var editcellval = $('.sublisttr').eq(i).find('input[totalType="sum"]').eq(index).val();
- if(typeof(editcellval) != "undefined")
- totalvalue += Number(editcellval);
- }
- //单位 元——万元
- if(pd_TABLETYPE != 'highway_scientific_project_dettable') totalvalue = totalvalue/10000;
- $('.totaltr').find('.sumCell').eq(index).val(numFormat(totalvalue) + '');
- }
- }
- function editTable(){
- if(editflag == 0){
- $('#editbutton').html('编辑中');
- $("select.editInput").removeAttr("disabled");
- $(".keyWordsCheckbox").removeAttr("disabled");
- // if(pd_ROLENAME != '控股集团管理员'){
- // $("input.editInput:not(.AUDIT_FEE)").removeAttr("readonly");
- // $("textarea.editInput:not(.AUDIT_MAKER)").removeAttr("readonly");
- // //textarea替换
- // $('textarea:not(.AUDIT_MAKER)').show();
- // $('pre:not(.AUDIT_MAKER)').hide();
- // }else{
- // $("input.editInput").removeAttr("readonly");
- // $("textarea.editInput").removeAttr("readonly");
- // //textarea替换
- // $('textarea').show();
- // $('pre').hide();
- // }
- $("input.editInput").removeAttr("readonly");
- $("textarea.editInput").removeAttr("readonly");
- //textarea替换
- $('textarea').show();
- $('pre').hide();
- editflag = 1;
- }else if(editflag == 1){
- $('#editbutton').html('编辑');
- $("input.editInput").attr("readonly","readonly" );
- $("textarea.editInput").attr("readonly","readonly" );
- $("select.editInput").attr("disabled","disabled" );
- $(".keyWordsCheckbox").attr("disabled","disabled" );
- editflag = 0;
- //textarea替换
- $('textarea').hide();
- $('textarea.bz').show();
- $('textarea').each(function(index,e){
- $(e).parent().find('pre').html($(e).val());
- })
- $('pre').show();
- }
- }
- function changeTableName(name){
- var projectName = name + "---" + $('.PROJECT_NAME').val();
- $.ajax({
- type : "get",
- url : locat+'/annualPlan/changeTableName.do?TABLETYPE='+pd_TABLETYPE+'&COMPANY_ID='+pd_COMPANY_ID+'&YEAR='+pd_YEAR+'&ROAD_ID='+pd_ROAD_ID
- +'&COMPANY='+pd_COMPANY+'&ROAD='+pd_ROAD + '&PROJECT_NAME='+projectName,
- dataType : 'json',
- success : function(data){
- //alert("change success!");
- }
- });
- saveTable("1");
- }
- function saveTable(type){
- getTop(globalThis).jzts();
- for(var o=0;o<validateObj.length;o++){
- var isnotnull = 0;
- if(validateObj[o].notnull == '1'){
- if(!$('.editInput[name="'+validateObj[o].column+'"]').val()){
- isnotnull = 1;
- }else if($('.editInput[name="'+validateObj[o].column+'"]').val().trim()==''){
- isnotnull = 1;
- }
- }
- if(isnotnull == 1){
- if(validateObj[o].column=='PLAN_COST'||validateObj[o].column=='PLAN_QUANTITIES'){
- $('.editInput.'+validateObj[o].column).each(function(index,e){
- if(!$(e).val()){
- var vobj = $(e).parent();
- vobj.find('.vtip').remove();
- vobj.append("<div class='vtip'>该字段不能为空</div>");
- vobj.find('.vtip').width(vobj.width());
- }
- })
- }else{
- var vobj = $('.editInput[name="'+validateObj[o].column+'"]').parent();
- vobj.find('.vtip').remove();
- vobj.append("<div class='vtip'>该字段不能为空</div>");
- vobj.find('.vtip').width(vobj.width());
- }
- }
- }
- if($('.vtip').length == 0){
- // changeStatus(type);
- if(editflag == 1){
- $('#editbutton').html('编辑');
- $("input.editInput").attr("readonly","readonly" );
- $("textarea.editInput").attr("readonly","readonly" );
- $("select.editInput").attr("disabled","disabled" );
- $(".keyWordsCheckbox").attr("disabled","disabled" );
- editflag = 0;
- //textarea替换
- $('textarea').hide();
- $('textarea.bz').show();
- $('textarea').each(function(index,e){
- $(e).parent().find('pre').html($(e).val());
- })
- $('pre').show();
- }
- var tabledata = dataResult();
- //进度月度分解
- var dataYDFJ = dataYDFJResult();
- $.ajax({
- type : "post",
- url : locat+'/annualDailyComp/saveDocData.do?TABLETYPE='
- +pd_TABLETYPE+'&COMPANY_ID='+pd_COMPANY_ID+'&YEAR='+pd_YEAR+'&ROAD_ID='+$('input[name="ROAD_ID"]').val()
- +'&mode='+pd_mode+'&PROJECT_NAME='+$('.PROJECT_NAME').val()+'&COMPANY='+pd_COMPANY+'&ROAD='+$("input[name='ROAD']").val(),
- data:{
- data:JSON.stringify(tabledata),
- dataYDFJ:JSON.stringify(dataYDFJ)
- },
- dataType : 'json',
- success : function(data){
- if(data.msg == 'success'){
- //保存后不能改项目名称
- $('.PROJECT_NAME').removeClass("editInput");
- //留痕
- if(JSON.stringify(recordData) != "{}") saveRecordInfo();
- if(JSON.stringify(sublistRecordData) != "{}") saveSublistRecordInfo();
- //保存后更新input原始值
- for(var i=0;i<$('.editInput').length;i++){
- var e = $('.editInput')[i];
- $(e).attr('value',$(e).val());
- }
- //保存后更新子表id
- if(data.idlist){
- for(var i=0;i<data.idlist.length;i++){
- var name = data.idlist[i].name;
- var id = data.idlist[i].id;
- for(var j=0;j<$(".ITEM_NAME").length;j++){
- if($(".ITEM_NAME").eq(j).val() == name){
- $(".ITEM_NAME").eq(j).parent().parent().find("td>input[name='ID']").val(id);
- break;
- }
- }
- }
- }
- $('#pd_mode').html("edit");
- getTop(globalThis).hangge();
- bootbox.dialog({
- message: "<span class='bigger-110'>保存成功!</span>",
- buttons:
- {
- "button" :
- {
- "label" : "确定",
- "className" : "btn-sm btn-success",
- "callback" : function(){
- var selfhref = "yjmonthProgress/showTableRecod.do?YEAR="+pd_YEAR
- +"&COMPANY_ID="+pd_COMPANY_ID+"&COMPANY="+pd_COMPANY
- +"&ROAD_ID="+$('input[name="ROAD_ID"]').val()
- +"&ROAD="+$('input[name="ROAD"]').val()
- +"&PROJECT_NAME="+$('.PROJECT_NAME').val()
- self.location.href = selfhref;
- }
- }
- }
- });
- }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"
- }
- }
- });
- }
- });
- // updateStatus(type);
- }else{
- getTop(globalThis).hangge();
- bootbox.dialog({
- message: "<span class='bigger-110'>仍有数据不符合要求!</span>",
- buttons:
- {
- "button" :
- {
- "label" : "确定",
- "className" : "btn-sm btn-success"
- }
- }
- });
- }
- }
- function changeStatus(type){
- for(var i=0;i<$("input[name='STATUS']").length;i++){
- var e = $("input[name='STATUS']")[i];
- $(e).attr('value',type);
- $(e).val(type);
- currStatus = type;
- }
- }
- 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,
- dataType : 'json',
- success : function(data){
- //alert("change success!");
- }
- });
- }
- function addNewTableInfo(name){
- var projectName = name + "---" + $('.PROJECT_NAME').val();
- $.ajax({
- type : "get",
- url : locat+'/annualPlan/addNewTableInfo.do?TABLETYPE='+pd_TABLETYPE+'&COMPANY_ID='+pd_COMPANY_ID+'&YEAR='+pd_YEAR+'&ROAD_ID='+pd_ROAD_ID
- +'&COMPANY='+pd_COMPANY+'&ROAD='+pd_ROAD + '&PROJECT_NAME='+projectName,
- dataType : 'json',
- success : function(data){
- //alert("change success!");
- }
- });
- saveTable("1");
- }
- //主表留痕标红
- function saveRecordInfo(){
- if($("input[name='PROJECT_NAME']").val() || pd_TABLETYPE=='highway_technica_statable' || pd_TABLETYPE=='highway_traiffcinfo_sumtable'){
- $.ajax({
- type : "post",
- url : locat+'/annualDailyComp/saveRecordInfo.do?TABLE_NAME='+pd_TABLETYPE+'&COMPANY_ID='+pd_COMPANY_ID
- +'&YEAR='+pd_YEAR+'&BEFORE_STATUS='+status+'&AFTER_STATUS='+currStatus
- +'&ROAD_ID='+$('input[name="ROAD_ID"]').val()+'&type=PROJECT_NAME',
- data:{
- recordData:JSON.stringify(recordData),
- recordBeforeValue:JSON.stringify(recordBeforeValue)
- },
- dataType : 'json',
- success : function(data){
- recordData = new Object();
- recordBeforeValue = new Object();
- //留痕标红
- setRecordInfo();
- }
- });
- }
- }
- //子表留痕标红
- function saveSublistRecordInfo(){
- // var projectName = $("input[name='PROJECT_NAME']").val()?$("input[name='PROJECT_NAME']").val():'';
- if($("input[name='PROJECT_NAME']").val()){
- $.ajax({
- type : "post",
- url : locat+'/annualDailyComp/saveRecordInfo.do?TABLE_NAME='+pd_TABLETYPE+'_cost&COMPANY_ID='
- +pd_COMPANY_ID+'&YEAR='+pd_YEAR+'&BEFORE_STATUS='+status+'&AFTER_STATUS='+currStatus
- +'&ROAD_ID='+$('input[name="ROAD_ID"]').val()+'&PROJECT_NAME='+$("input[name='PROJECT_NAME']").val()+'&type=ITEM_ID',
- data:{
- recordData:JSON.stringify(sublistRecordData),
- recordBeforeValue:JSON.stringify(sublistRecordBeforeValue)
- },
- dataType : 'json',
- success : function(data){
- sublistRecordData = new Object();
- sublistRecordBeforeValue = new Object();
- //留痕标红
- setSubRecordInfo();
- }
- });
- }
- }
- function dataResult(){
- var mapArry1 = $("#Form1").serializeArray();
- var dataArry = [];
- var recordmap = new Object();
- for(var i=0; i<mapArry1.length; i++){
- recordmap[mapArry1[i].name] = mapArry1[i].value;
- }
-
- var mapArry3 = $("#Form3").serializeArray();
- for(var i=0; i<mapArry3.length; i++){
- recordmap[mapArry3[i].name] = mapArry3[i].value;
- }
- dataArry.push(recordmap);
-
- var mapArry2 = $("#Form2").serializeArray();
- var cellcount = mapArry2.length/8;
- var recordcount = 8;
- for(var i=0; i<recordcount; i++){
- var recordmap = new Object();
- for(var j=0; j<cellcount; j++){
- recordmap[mapArry2[i*cellcount+j].name] = mapArry2[i*cellcount+j].value;
- }
- dataArry.push(recordmap);
- }
- return dataArry;
- }
- //主表编辑input失焦后操作
- 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);
- //校验
- validateTip(e);
- }
- }
- //子表编辑input失焦后操作
- function editSublistValue(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') setSublistRecordData(e);
- //校验
- validateTip(e);
- }
- }
- function resetUnitTotal(e){
- if(!$(e).attr('readonly')){
- setUnitTotalCell($(e).parent().parent()[0]);
- setTotalCell(0);
- $('.PROJECT_COST').val($('.sumCell.TOTAL_COST').val());
- //重新计算月度进程百分比
- $('.COST_RATIO').each(function(index,e){
- setCostRatio(e);
- })
- setProjectScale();
- }
- }
- //主表留痕数据
- function setRecordData(e){
- if(e){
- var key = $(e).attr('name');
- // var roadid = $("input[name='PROJECT_NAME']").val();
- var roadid = $("input[name='PROJECT_NAME']").val()?$("input[name='PROJECT_NAME']").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(roadid in recordData && key in recordData[roadid]){
- delete recordData[roadid][key];
- delete recordBeforeValue[roadid][key];
- if(JSON.stringify(recordData[roadid]) == "{}"){
- delete recordData[roadid];
- delete recordBeforeValue[roadid];
- }
- }
- }
- }
- }
- //子表留痕数据
- function setSublistRecordData(e){
- var key = $(e).attr('name');
- var roadid = $(e).parent().parent().find('td>input[name="ID"]').val();
- var value = $(e).val();
- var beforeValue = $(e).attr('value');
- if($(e).val() != $(e).attr('value') && $(e).attr('value') != ''){
- if(!sublistRecordData[roadid]){
- sublistRecordData[roadid] = new Object();
- sublistRecordBeforeValue[roadid] = new Object();
- }
- sublistRecordData[roadid][key] = value;
- sublistRecordBeforeValue[roadid][key] = beforeValue;
- }else if($(e).val() == $(e).attr('value') && $(e).attr('value') != ''){
- if(key in sublistRecordData[roadid] && roadid in sublistRecordData){
- delete sublistRecordData[roadid][key];
- delete sublistRecordBeforeValue[roadid][key];
- if(JSON.stringify(sublistRecordData[roadid]) == "{}"){
- delete sublistRecordData[roadid];
- delete sublistRecordBeforeValue[roadid];
- }
- }
- }
- }
- 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 setUnitTotalCell(tr){
- $(tr).find("td>.unitTotalCell").each(function(index,e){
- var num1 = $(tr).find("td>."+$(e).attr("num1")).val();
- var num2 = $(tr).find("td>."+$(e).attr("num2")).val();
- var result = unitTotal(num1, num2);
- $(e).val(result);
- });
- }
- function percentage(num1, num2){
- var percent = "";
- if(!isNaN(Number(num1)) && !isNaN(Number(num2)) && Number(num2) != "0" )
- percent = Math.round(Number(num1) / Number(num2) * 100);
- // percent = Math.round(Number(num1) / Number(num2) * 100) + "%";
- return percent;
- }
- function unitTotal(num1, num2){
- var unitTotal = "";
- if(!isNaN(Number(num1)) && !isNaN(Number(num2)) && Number(num1) != "0" && Number(num2) != "0") unitTotal = Number(num1) * Number(num2);
- if(!isNaN(Number(unitTotal)) && Number(unitTotal) != "0") unitTotal = numFormat(unitTotal);
- return unitTotal;
- }
- 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;
- }
- function setProjectScale(){
- var cost = $(".PROJECT_COST").val();
- var result = "";
- if(typeof(cost) != "undefined" && cost != ""){
- cost = Number(cost);
- if(cost < 500) result = "小修";
- else if(cost >= 500 && cost < 5000) result = "中修";
- else if(cost >= 5000) result = "大修";
- }
- $('.PROJECT_SCALE').val(result);
- }
- function setProjectName(){
- var name = $(".PROJECT_NAME").val();
- $('.sublisttr>td>input[name="PROJECT_NAME"]').attr('value',name);
- }
- function setCategory(){
- var value = $('.CATEGORY>option:selected').text();
- $('input[name="CATEGORY"]').val(value);
- // $('input[name="CATEGORY"]').attr('value',value);
- //留痕
- if($('#pd_mode').html() == 'edit') setRecordData($('input[name="CATEGORY"]')[0]);
- }
- function setCategorySelect(){
- var value = $('input[name="CATEGORY"]').val();
- $(".CATEGORY>option:selected").removeAttr("selected");
- if(value == "") $(".CATEGORY>option").eq(0).attr("selected","selected");
- else $(".CATEGORY>option:contains('"+value+"')").attr("selected","selected");
- }
- function setKeyWords(){
- var arr = [];
- $("input[type='checkbox']:checked").each(function (index,e) {
- arr.push($(this).parent().text());
- });
- $('input[name="KEY_WORDS"]').val(arr.join(","));
- //留痕
- if($('#pd_mode').html() == 'edit') setRecordData($('input[name="KEY_WORDS"]')[0]);
- }
- function setKeyWordsLabels(){
- $('#keyWordsCell').html('');
- var categoryType = $('.CATEGORY>option:selected').text();
- var arr = [];
- if(categoryType != ''){
- arr = labelsObj[pd_TABLETYPE][categoryType];
- }
- var str = '';
- for(var i=0; i<arr.length; i++){
- str += '<label><input class="keyWordsCheckbox" type="checkbox" onchange="setKeyWords();"/>'+arr[i]+'</label>';
- }
- $('#keyWordsCell').html(str);
- //设置关键字数值
- setKeyWords();
- }
- function setLabelsSelected(){
- if($('input[name="KEY_WORDS"]').attr('value')){
- var arr = $('input[name="KEY_WORDS"]').attr('value').split(',');
- for(var i=0; i<arr.length; i++){
- $(".keyWordsCheckbox").each(function (index,e) {
- if($(this).parent().text() == arr[i]) $(this).attr("checked","checked");
- });
- }
- }
- //设置关键字数值
- setKeyWords();
- }
- function setRoad(){
- var value = $('.ROAD>option:selected').text();
- var idvalue = $('.ROAD>option:selected').val();
- $('input[name="ROAD"]').val(value);
- $('input[name="ROAD_ID"]').val(idvalue);
- //留痕
- if($('#pd_mode').html() == 'edit'){
- setRecordData($('input[name="ROAD"]')[0]);
- setRecordData($('input[name="ROAD_ID"]')[0]);
- }
- }
- function setRoadSelect(){
- var value = $('input[name="ROAD_ID"]').val();
- $(".ROAD>option:selected").removeAttr("selected");
- if(value == ""){
- $(".ROAD>option").eq(0).attr("selected","selected");
- setRoad();
- }else{
- $(".ROAD>option[value='"+value+"']").attr("selected","selected");
- }
- }
- //主表查询留痕数据并标红
- function setRecordInfo(){
- if($("input[name='PROJECT_NAME']").val() || pd_TABLETYPE=='highway_technica_statable' || pd_TABLETYPE=='highway_traiffcinfo_sumtable'){
- var ritype = 1;
- if(pd_TABLETYPE=='highway_technica_statable' || pd_TABLETYPE=='highway_traiffcinfo_sumtable') ritype = 3;
- $.ajax({
- type : "get",
- url : locat+'/annualDailyComp/showRecodInfo.do?TABLE_NAME='+pd_TABLETYPE+'&COMPANY_ID='+pd_COMPANY_ID
- +'&YEAR='+pd_YEAR+'&ROAD_ID='+$('input[name="ROAD_ID"]').val()
- +'&PROJECT_NAME='+$("input[name='PROJECT_NAME']").val()+'&type='+ritype,
- 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){
- if(data.rocordInfoList[e].TABLE_FIELDS == "KEY_WORDS"){
- $('input[name="KEY_WORDS"]').addClass("highlight " + e);
- $('#keyWordsCell label').css('color','red');
- }else if(data.rocordInfoList[e].TABLE_FIELDS == "CATEGORY"){
- $('input[name="CATEGORY"]').addClass("highlight " + e);
- $('.CATEGORY').addClass("highlight");
- }else if(data.rocordInfoList[e].TABLE_FIELDS == "ROAD"){
- $('input[name="ROAD"]').addClass("highlight " + e);
- $('.ROAD').addClass("highlight");
- }else {
- $('.'+data.rocordInfoList[e].TABLE_FIELDS).addClass("highlight " + e);
- //pre
- $('textarea.highlight').each(function(index,e){
- $(e).parent().find('pre').attr('class',$(e).attr('class'));
- });
- }
- }
- }
- });
- }
- }
- //子表查询留痕数据并标红
- function setSubRecordInfo(){
- if($("input[name='PROJECT_NAME']").val()){
- $.ajax({
- type : "get",
- url : locat+'/annualDailyComp/showRecodInfo.do?TABLE_NAME='+pd_TABLETYPE+'_cost&COMPANY_ID='+pd_COMPANY_ID
- +'&YEAR='+pd_YEAR+'&ROAD_ID='+$('input[name="ROAD_ID"]').val()
- +'&PROJECT_NAME='+$("input[name='PROJECT_NAME']").val()+'&type=2',
- dataType : 'json',
- success : function(data){
- for(var e in sublistRecordInfoList){
- $('.subhighlight').removeClass(e);
- }
- $('.subhighlight').removeClass('subhighlight');
- sublistRecordInfoList = data.rocordInfoList;
- for(var e in sublistRecordInfoList){
- $('input[name="ID"]').each(function(index,obj){
- if($(this).val() == sublistRecordInfoList[e].ITEM_ID){
- $(this).parent().parent().find('td>.'+sublistRecordInfoList[e].TABLE_FIELDS).addClass("subhighlight " + 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 typeClass = $(this).attr('class').split(' ')[2];
- if(typeClass == 'subhighlight'){
- var before = sublistRecordInfoList[indexClass].BEFORE_VAL?sublistRecordInfoList[indexClass].BEFORE_VAL:"空";
- var after = sublistRecordInfoList[indexClass].AFTER?sublistRecordInfoList[indexClass].AFTER:"空";
- var modifier = sublistRecordInfoList[indexClass].MODIFIER;
- var time = sublistRecordInfoList[indexClass].MODIFY_TIME;
- }else{
- var before = rocordInfoList[indexClass].BEFORE_VAL?rocordInfoList[indexClass].BEFORE_VAL:"空";
- var after = rocordInfoList[indexClass].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();
- }
- }
- });
- $('#keyWordsCell').off("mouseover mouseout").on("mouseover mouseout",function(event){
- if($('input[name="KEY_WORDS"]').attr('class').split(' ').length > 1){
- if(event.type == "mouseover"){
- var indexClass = $('input[name="KEY_WORDS"]').attr('class').split(' ')[2];
- var typeClass = $('input[name="KEY_WORDS"]').attr('class').split(' ')[1];
- var before = rocordInfoList[indexClass].BEFORE_VAL?rocordInfoList[indexClass].BEFORE_VAL:"空";
- var after = rocordInfoList[indexClass].AFTER?rocordInfoList[indexClass].AFTER:"空";
- var modifier = rocordInfoList[indexClass].MODIFIER;
- var time = rocordInfoList[indexClass].MODIFY_TIME;
- $('#keyWordsCell').append('<div id="recordInfoDiv">修改人:'+modifier+'<br/>修改时间:'+time+'<br/>'+before+'<br/>'+after+'</div>');
- $('#recordInfoDiv').width($('#keyWordsCell').width());
- }else if(event.type == "mouseout"){
- $("#recordInfoDiv").remove();
- }
- }
- });
- $('#categoryCell').off("mouseover mouseout").on("mouseover mouseout",function(event){
- if($('input[name="CATEGORY"]').attr('class').split(' ').length > 1){
- if(event.type == "mouseover"){
- var indexClass = $('input[name="CATEGORY"]').attr('class').split(' ')[2];
- var typeClass = $('input[name="CATEGORY"]').attr('class').split(' ')[1];
- var before = rocordInfoList[indexClass].BEFORE_VAL?rocordInfoList[indexClass].BEFORE_VAL:"空";
- var after = rocordInfoList[indexClass].AFTER?rocordInfoList[indexClass].AFTER:"空";
- var modifier = rocordInfoList[indexClass].MODIFIER;
- var time = rocordInfoList[indexClass].MODIFY_TIME;
- $('#categoryCell').append('<div id="recordInfoDiv">修改人:'+modifier+'<br/>修改时间:'+time+'<br/>'+before+'<br/>'+after+'</div>');
- $('#recordInfoDiv').width($('#categoryCell').width());
- }else if(event.type == "mouseout"){
- $("#recordInfoDiv").remove();
- }
- }
- });
- $('#roadCell').off("mouseover mouseout").on("mouseover mouseout",function(event){
- if($('input[name="ROAD"]').attr('class').split(' ').length > 1){
- if(event.type == "mouseover"){
- var indexClass = $('input[name="ROAD"]').attr('class').split(' ')[2];
- var typeClass = $('input[name="ROAD"]').attr('class').split(' ')[1];
- var before = rocordInfoList[indexClass].BEFORE_VAL?rocordInfoList[indexClass].BEFORE_VAL:"空";
- var after = rocordInfoList[indexClass].AFTER?rocordInfoList[indexClass].AFTER:"空";
- var modifier = rocordInfoList[indexClass].MODIFIER;
- var time = rocordInfoList[indexClass].MODIFY_TIME;
- $('#roadCell').append('<div id="recordInfoDiv">修改人:'+modifier+'<br/>修改时间:'+time+'<br/>'+before+'<br/>'+after+'</div>');
- $('#recordInfoDiv').width($('#roadCell').width());
- }else if(event.type == "mouseout"){
- $("#recordInfoDiv").remove();
- }
- }
- });
- }
- function uploadPic() {
- //var form = document.getElementById('upload'),
- var formData = new FormData($( "#upload" )[0]);
- var tabledata = dataResult();
- //var path = $("#pic").val();
- $.ajax({
- url:locat+'/annualDailyComp/importDoc?data='+JSON.stringify(tabledata)+'&TABLETYPE='
- +pd_TABLETYPE+'&COMPANY_ID='+pd_COMPANY_ID+'&YEAR='+pd_YEAR+'&ROAD_ID='+pd_ROAD_ID,
- type:"post",
- data: formData,
- async: false,
- cache: false,
- contentType: false,
- processData: false,
- success:function(res){
- if(res){
- if(res.length>0){
- alert(res);
- }else{
- alert("上传成功!");
- }
- location.reload(true);
- }
- console.log(res);
- },
- error:function(err){
- alert("上传失败!");
- }
-
- })
-
- }
- //获取校验json
- function getValidateJson(){
- $.ajax({
- type : "get",
- url : locat + "/annualDailyComp/getValidateJson.do?TABLETYPE=" + pd_TABLETYPE,
- dataType : 'json',
- success : function(data){
- Object.assign(validateJsonData,data.map,data.submap);
- }
- });
- }
- //校验规则
- function validateFun(name,val,e){
- if(name){
- //月度分解计划总和不能大于工程估算
- if(name == 'SumPlanCost'){
- var project_cost = $('.PROJECT_COST').val();
- if(!isNaN(Number(val)) && !isNaN(Number(project_cost))){
- if (Number(val) > Number(project_cost)) return "该字段不能大于工程估算";
- else return "";
- }else return "";
- }
- if(name.indexOf('PLAN_COST') == 0) name = 'PLAN_COST';
- else if(name.indexOf('PLAN_QUANTITIES') == 0) name = 'PLAN_QUANTITIES';
-
- var vtype = validateJsonData[name].type;
- var vlength = validateJsonData[name].length;
- var vscale = validateJsonData[name].scale;
- var vnotnull = validateJsonData[name].notnull;
- if(val != ""){
- if(vtype == 'decimal'){
- var re = new RegExp("^(\\-|\\+)?\\d+(\\.\\d+)?$");
- //是否为数字
- if(!re.test(val)) return "请填写数字";
- //小数位数
- if(vscale == "1") $(e).val(numFormat(val));
- if(vscale != "1"){
- if(val.split(".").length = 2){
- if(val.split(".")[1].length > vscale) return "小数精度不超过"+vscale;
- }
- // re = new RegExp("/^\\d+(\\.\\d{1,"+vscale+"})?$/");
- // if(!re.test(val)) return "小数精度不超过"+vscale;
- }
- }
- //长度
- if(val.length > vlength) return "长度超长";
- }else{
- if(vnotnull == '1') return "该字段不能为空";
- }
- //分报告名称非空校验
- if(name == 'UNIT'||name == 'UNIT_PRICE'||name == 'NUMBER'||name == 'ITEM_NAME'){
- if($(e).parent().parent().find('>td>.UNIT').val()!=''
- ||$(e).parent().parent().find('>td>.UNIT_PRICE').val()!=''
- ||$(e).parent().parent().find('>td>.NUMBER').val()!=''
- ||$(e).parent().parent().find('>td>.ITEM_NAME').val()!=''){
- validatecostdataTip($(e).parent().parent().find('>td>.UNIT')[0]);
- validatecostdataTip($(e).parent().parent().find('>td>.UNIT_PRICE')[0]);
- validatecostdataTip($(e).parent().parent().find('>td>.NUMBER')[0]);
- validatecostdataTip($(e).parent().parent().find('>td>.ITEM_NAME')[0]);
- }else if($(e).parent().parent().find('>td>.UNIT').val()==''
- &&$(e).parent().parent().find('>td>.UNIT_PRICE').val()==''
- &&$(e).parent().parent().find('>td>.NUMBER').val()==''
- &&$(e).parent().parent().find('>td>.ITEM_NAME').val()==''){
- $(e).parent().parent().find('>td>.vtip').remove();
- }
- }
- //份报告名称为空后,重新校验名称重复
- if(name == 'ITEM_NAME'){
- for(var i=0; i<$('.ITEM_NAME').parent().find('.vtip').length; i++){
- if($('.ITEM_NAME').parent().find('.vtip').eq(i).html()=='该字段不能重复'){
- var reValidateE = $('.ITEM_NAME').parent().find('.vtip').eq(i).parent().find('.ITEM_NAME')[0];
- $('.ITEM_NAME').parent().find('.vtip').eq(i).remove();
- for(var j=0; j<$('.ITEM_NAME').length; j++){
- if($('.ITEM_NAME')[j] != reValidateE && $('.ITEM_NAME').eq(j).val() == $(reValidateE).val()){
- $(reValidateE).parent().append("<div class='vtip'>该字段不能重复</div>");
- $(reValidateE).parent().find('.vtip').width($(e).parent().width());
- }
- }
- }
- }
- if(val != ""){
- for(var i=0; i<$('.ITEM_NAME').length; i++){
- if($('.ITEM_NAME')[i] != e && $('.ITEM_NAME').eq(i).val() == val) return "该字段不能重复";
- }
- }
- }
- }
- return "";
- }
- //分报道非空校验提示
- function validatecostdataTip(e){
- $(e).val($(e).val().trim());
- if($(e).val()==""){
- $(e).parent().find('.vtip').remove();
- $(e).parent().append("<div class='vtip'>该字段不能为空</div>");
- $(e).parent().find('.vtip').width($(e).parent().width());
- }
- }
- //校验提示
- function validateTip(e){
- $(e).val($(e).val().trim());
- $(e).parent().find('.vtip').remove();
- var vtip = validateFun($(e).attr('name'),$(e).val(),e);
- if(vtip != ""){
- $(e).parent().append("<div class='vtip'>"+vtip+"</div>");
- $(e).parent().find('.vtip').width($(e).parent().width());
- }
- }
- function getKeywordsJson(){
- $.ajax({
- type : "get",
- url : locat + "/static/ace/json/keywords.json",
- dataType : 'json',
- success : function(data){
- labelsObj = data;
- setKeyWordsLabels();
- setLabelsSelected();
- //新增初始化可编辑
- if(pd_mode == 'add'){
- $("select.editInput").removeAttr("disabled");
- $(".keyWordsCheckbox").removeAttr("disabled");
- $("input.editInput").removeAttr("readonly");
- $("textarea.editInput").removeAttr("readonly");
- //textarea替换
- $('textarea').show();
- $('pre').hide();
- }else{
- $('textarea').hide();
- $('textarea.bz').show();
- $('pre').show();
- //checkbox禁用
- $(".keyWordsCheckbox").attr("disabled","disabled" );
- }
- }
- });
- }
- function notnullvalidate(){
- $.ajax({
- type : "get",
- url : locat + "/static/ace/json/doc.json",
- dataType : 'json',
- success : function(data){
- validateObj = data[pd_TABLETYPE];
- }
- });
- }
- /**********进度月度分解**********/
- function monthPlanInit(){
- setSumPlanCost();
- $('.COST_RATIO').each(function(index,e){
- setCostRatio(e);
- })
- }
- //小计行总计
- function setSumPlanCost(){
- var totalvalue = 0;
- $('.ydfj_tr .PLAN_COST').each(function(index,e){
- var editcellval = $(e).val();
- if(typeof(editcellval) != "undefined")
- totalvalue += Number(editcellval);
- });
- $('.ydfj_sum_tr .PLAN_COST').val(numFormat(totalvalue) + '');
- }
- //计算百分比
- function setCostRatio(e){
- var num1 = $(e).parent().parent().find("td>.PLAN_COST").val();
- var num2 = $('.PROJECT_COST').val();
- var result = percentage(num1, num2);
- $(e).html(result);
- //验证总计是否大于PROJECT_COST
- if($(e).is($('.ydfj_sum_tr .COST_RATIO'))) validateSumPlanCostTip($('.ydfj_sum_tr .PLAN_COST')[0]);
- }
- function editYDFJValue(e){
- if(!$(e).attr('readonly')){
- if($(e).hasClass('PLAN_COST')){
- setSumPlanCost();
- setCostRatio($(e).parent().parent().find("td>.COST_RATIO")[0]);
- setCostRatio($('.ydfj_sum_tr .COST_RATIO')[0]);
- }
- //校验
- validateTip(e);
- }
- }
- //月度总和校验提示
- function validateSumPlanCostTip(e){
- $(e).val($(e).val().trim());
- $(e).parent().find('.vtip').remove();
- var vtip = validateFun('SumPlanCost',$(e).val(),e);
- if(vtip != ""){
- $(e).parent().append("<div class='vtip'>"+vtip+"</div>");
- $(e).parent().find('.vtip').width($(e).parent().width());
- }
- }
- function dataYDFJResult(){
- var dataYDFJ = new Object();
- if(pd_TABLETYPE != "highway_scientific_project_dettable"){
- var mapArry = $("#Form4").serializeArray();
- for(var i=0; i<mapArry.length; i++){
- dataYDFJ[mapArry[i].name] = mapArry[i].value;
- }
- }
- return dataYDFJ;
- }
- function removeDefaut(e){
- if($(e).hasClass('PLAN_QUANTITIES') && $(e).val() == '--' && $(e).attr("readonly") != "readonly") $(e).val('');
- else if(($(e).hasClass('PLAN_COST') && $(e).val() == '0' || $(e).val() == '0.0') && $(e).attr("readonly") != "readonly") $(e).val('');
- }
- function setDefaut(e){
- if($(e).hasClass('PLAN_QUANTITIES') && $(e).val() == '' && $(e).attr("readonly") != "readonly") $(e).val('--');
- else if($(e).hasClass('PLAN_COST') && $(e).val() == '' && $(e).attr("readonly") != "readonly") $(e).val('0');
- }
- /**********进度月度分解**********/
- $(function(){
- notnullvalidate();
- monthPlanInit();
- tableInit();
- setCategorySelect();
- setCategory();
- getKeywordsJson();
- highlightInit();
- setProjectScale();
- // setKeyWordsLabels();
- // setLabelsSelected();
- getValidateJson();
- setRoadSelect();
- });
- //获取本网站的顶级节点,解决被其他网站iframe引入时发生的跨域问题
- function getTop(obj){
- var tp = obj;
- //alert(obj.name);
- if (tp.mainFrame == undefined) {
- tp = tp.parent;
- return getTop(tp);
- } else {
- return tp;
- }
- }
|