|
@@ -7,6 +7,7 @@
|
|
|
var feeRateObject={
|
|
|
mainViews:null,
|
|
|
datas:null,
|
|
|
+ datasBackup:null,
|
|
|
canEdit:false,
|
|
|
activateFeeRate:null,
|
|
|
needCascadeSet:false,
|
|
@@ -350,6 +351,10 @@ var feeRateObject={
|
|
|
this.mainViews.destroy();
|
|
|
this.mainViews = null;
|
|
|
}
|
|
|
+ if(subRateObject.views){
|
|
|
+ subRateObject.views.destroy();
|
|
|
+ subRateObject.views = null;
|
|
|
+ }
|
|
|
this.activateFeeRate = projectObj.project.FeeRate.getActivateFeeRate();
|
|
|
this.datas = this.activateFeeRate.rates;
|
|
|
this.mainViews = new GC.Spread.Views.DataView($('#divFee')[0],
|
|
@@ -363,6 +368,7 @@ var feeRateObject={
|
|
|
},
|
|
|
updateBySelect:function (rate,selectMap,mapID) {
|
|
|
var selected = this.mainViews.getSelections()[0];
|
|
|
+ projectObj.project.FeeRate.backupDatas();
|
|
|
var item = this.datas[selected.sourceRow];
|
|
|
item.rate = rate;
|
|
|
_.forEach(selectMap,function (value,key) {
|
|
@@ -381,7 +387,7 @@ var feeRateObject={
|
|
|
}else {
|
|
|
this.mainViews.data.updateItem(selected.sourceRow,item);
|
|
|
}
|
|
|
- projectObj.project.FeeRate.synchronizeFeeRate();
|
|
|
+ //projectObj.project.FeeRate.synchronizeFeeRate();
|
|
|
|
|
|
//this.views.data.updateItem()
|
|
|
},
|
|
@@ -448,11 +454,6 @@ var feeRateObject={
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
- _.forEach(items,function (t) {
|
|
|
- feeRateObject.mainViews.data.updateItem(t.rateIndex,t.rate);
|
|
|
- })
|
|
|
-
|
|
|
projectObj.project.FeeRate.batchUpdateFeeRate(items,feeRateObject.activateFeeRate);
|
|
|
},
|
|
|
loadPageContent:function(){
|
|
@@ -483,11 +484,13 @@ var feeRateObject={
|
|
|
});
|
|
|
},
|
|
|
changeFeeRateStandard:function(newVal){
|
|
|
+ $.bootstrapLoading.start();
|
|
|
var callback=function () {
|
|
|
feeRateObject.createSpreadView();
|
|
|
feeRateObject.loadPageContent();
|
|
|
projectObj.project.FeeRate.synchronizeFeeRate();
|
|
|
subRateObject.destorySpreadView();
|
|
|
+ $.bootstrapLoading.end();
|
|
|
};
|
|
|
projectObj.project.FeeRate.changeFeeRateStandard(newVal,callback);
|
|
|
},
|
|
@@ -507,7 +510,6 @@ var feeRateObject={
|
|
|
$('#saveAsConfirm').removeAttr("disabled");
|
|
|
$('#nameError').hide();
|
|
|
}
|
|
|
- console.log(data);
|
|
|
};
|
|
|
projectObj.project.FeeRate.checkFeeRateName(newVal,callback);
|
|
|
},
|
|
@@ -534,9 +536,15 @@ var feeRateObject={
|
|
|
}
|
|
|
},
|
|
|
submitSaveAs:function (newName) {
|
|
|
- this.activateFeeRate = projectObj.project.FeeRate.feeRateFileSaveAs(newName);
|
|
|
- feeRateObject.loadPageContent();
|
|
|
- $('#copy-lv').modal('hide');
|
|
|
+ var me = this;
|
|
|
+ projectObj.project.FeeRate.feeRateFileSaveAs(newName,function (result) {
|
|
|
+ me.activateFeeRate = result;
|
|
|
+ me.loadPageContent();
|
|
|
+ $('#copy-lv').modal('hide');
|
|
|
+ socket.emit('feeRateChangeNotify', projectObj.project.FeeRate.getActivateFeeRateFileID());
|
|
|
+ $.bootstrapLoading.end();
|
|
|
+ });
|
|
|
+
|
|
|
},
|
|
|
getChangeInfo:function () {
|
|
|
var me = this;
|
|
@@ -569,6 +577,7 @@ var feeRateObject={
|
|
|
}
|
|
|
},
|
|
|
changeFeeRateFileFromCurrent:function(){
|
|
|
+ $.bootstrapLoading.start();
|
|
|
var newVal = $("#currentOptions").val();
|
|
|
if($("#currentOptions").val()==this.activateFeeRate.ID){
|
|
|
return;
|
|
@@ -581,7 +590,8 @@ var feeRateObject={
|
|
|
var callback=function () {
|
|
|
feeRateObject.createSpreadView();
|
|
|
feeRateObject.loadPageContent();
|
|
|
- projectObj.project.FeeRate.synchronizeFeeRate();
|
|
|
+ projectObj.project.FeeRate.onFeeRateFileChange();
|
|
|
+ $.bootstrapLoading.end();
|
|
|
}
|
|
|
projectObj.project.FeeRate.changeFeeRateFileFromCurrent(newFeeRateFile,callback);
|
|
|
},
|
|
@@ -602,10 +612,12 @@ var feeRateObject={
|
|
|
}
|
|
|
},
|
|
|
changeFeeRateFileConfirm:function(feeRateFileID,name){
|
|
|
+ $.bootstrapLoading.start();
|
|
|
var callback=function () {
|
|
|
feeRateObject.createSpreadView();
|
|
|
feeRateObject.loadPageContent();
|
|
|
- projectObj.project.FeeRate.synchronizeFeeRate();
|
|
|
+ projectObj.project.FeeRate.onFeeRateFileChange();
|
|
|
+ $.bootstrapLoading.end();
|
|
|
}
|
|
|
projectObj.project.FeeRate.changeFeeRateFileFromOthers(feeRateFileID,name,callback);
|
|
|
},
|
|
@@ -640,11 +652,25 @@ var feeRateObject={
|
|
|
$("#fee_rate_tree").modal('hide');
|
|
|
});
|
|
|
},
|
|
|
+ submitFeeRateFromCalc:function () {
|
|
|
+ var rate = feeRateObject.feeRateSelection;
|
|
|
+ var calInfo = rationPM.getSelectionInfo();
|
|
|
+ calInfo.calcItem.feeRateID=rate.ID;
|
|
|
+ calInfo.calcItem.feeRate=null;
|
|
|
+ var data={'projectID': projectObj.project.ID(),'templatesID': calInfo.template.ID,'calcItem': calInfo.calcItem};
|
|
|
+ rationPM.saveCalcItem(data,function (result) {
|
|
|
+ calInfo.calcItem.feeRate=rate.rate;
|
|
|
+ projectObj.project.calcProgram.compileAllTemps();
|
|
|
+ rationPM.refreshDetailSheet();
|
|
|
+ $("#fee_rate_tree").modal('hide');
|
|
|
+ });
|
|
|
+ console.log(calInfo);
|
|
|
+ },
|
|
|
submitFeeRateBySelect:function () {
|
|
|
var validate = this.checkSelectedFeeRate();
|
|
|
if(validate){
|
|
|
if($('#edit_from').val()=='calc_detail'){
|
|
|
- //do calc_detail
|
|
|
+ this.submitFeeRateFromCalc();
|
|
|
}else {
|
|
|
this.submitFeeRateFromBill();
|
|
|
}
|
|
@@ -667,165 +693,170 @@ function getPopoverContent() {
|
|
|
return popover_content;
|
|
|
}
|
|
|
|
|
|
-$('#pop-lv').popover({
|
|
|
- placement:"bottom",
|
|
|
- html:true,
|
|
|
- trigger:"hover | focus",
|
|
|
- content:getPopoverContent
|
|
|
- }
|
|
|
-);
|
|
|
-
|
|
|
-$('#tab_fee_rate').on('shown.bs.tab', function (e) {
|
|
|
- feeRateObject.reFreshRateViews();
|
|
|
- feeRateObject.loadPageContent();
|
|
|
-});
|
|
|
+$(function(){
|
|
|
+ $('#pop-lv').popover({
|
|
|
+ placement:"bottom",
|
|
|
+ html:true,
|
|
|
+ trigger:"hover | focus",
|
|
|
+ content:getPopoverContent
|
|
|
+ }
|
|
|
+ );
|
|
|
|
|
|
-$('#setNewFeeRate').bind('click', function () {
|
|
|
- var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
|
|
|
- var usageProjects = feeRateFile.usageProjects;
|
|
|
- var listString ='';
|
|
|
- _.forEach(usageProjects,function (u) {
|
|
|
- listString+="<li>"+u.name+"</li>"
|
|
|
- })
|
|
|
- $("#usageProjectList").html(listString);
|
|
|
- $("#set-lv-feeRateName").text(feeRateFile.name);
|
|
|
- $("#set-use-feeRateName").text(feeRateFile.name);
|
|
|
+ $('#tab_fee_rate').on('shown.bs.tab', function (e) {
|
|
|
+ $(e.relatedTarget.hash).removeClass('active');
|
|
|
+ feeRateObject.reFreshRateViews();
|
|
|
+ feeRateObject.loadPageContent();
|
|
|
+ });
|
|
|
|
|
|
- feeRateObject.getFeeRateStandards(function (data) {
|
|
|
- $('#standardSelect').empty();
|
|
|
- _.forEach(data,function (s) {
|
|
|
- var option = $("<option>").val(s.ID).text(s.libName);
|
|
|
- $('#standardSelect').append(option);
|
|
|
+ $('#setNewFeeRate').bind('click', function () {
|
|
|
+ var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
|
|
|
+ var usageProjects = feeRateFile.usageProjects;
|
|
|
+ var listString ='';
|
|
|
+ _.forEach(usageProjects,function (u) {
|
|
|
+ listString+="<li>"+u.name+"</li>"
|
|
|
})
|
|
|
- $('#standardSelect').val(feeRateFile.libID);
|
|
|
+ $("#usageProjectList").html(listString);
|
|
|
+ $("#set-lv-feeRateName").text(feeRateFile.name);
|
|
|
+ $("#set-use-feeRateName").text(feeRateFile.name);
|
|
|
+
|
|
|
+ feeRateObject.getFeeRateStandards(function (data) {
|
|
|
+ $('#standardSelect').empty();
|
|
|
+ _.forEach(data,function (s) {
|
|
|
+ var option = $("<option>").val(s.ID).text(s.libName);
|
|
|
+ $('#standardSelect').append(option);
|
|
|
+ })
|
|
|
+ $('#standardSelect').val(feeRateFile.libID);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ $('#changeConfirm').bind('click', function (){
|
|
|
+ var newVal=$('#standardSelect').val();
|
|
|
+ var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
|
|
|
+ if(newVal&&newVal!=feeRateFile.libID){
|
|
|
+ feeRateObject.changeFeeRateStandard(newVal);
|
|
|
+ }
|
|
|
});
|
|
|
-});
|
|
|
-$('#changeConfirm').bind('click', function (){
|
|
|
- var newVal=$('#standardSelect').val();
|
|
|
- var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
|
|
|
- if(newVal&&newVal!=feeRateFile.libID){
|
|
|
- feeRateObject.changeFeeRateStandard(newVal);
|
|
|
- }
|
|
|
-});
|
|
|
|
|
|
-$('#saveAs').bind('click', function (){
|
|
|
- var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
|
|
|
- $('#copyFeeRateName').val(feeRateFile.name+'副本');
|
|
|
- $('#valid_name').val(feeRateFile.name+'副本');
|
|
|
- $('#nameError').hide();
|
|
|
-});
|
|
|
+ $('#saveAs').bind('click', function (){
|
|
|
+ var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
|
|
|
+ $('#copyFeeRateName').val(feeRateFile.name+'副本');
|
|
|
+ $('#valid_name').val(feeRateFile.name+'副本');
|
|
|
+ $('#nameError').hide();
|
|
|
+ });
|
|
|
|
|
|
-$('#saveAsConfirm').bind('click',function () {
|
|
|
- feeRateObject.feeRateFileSaveAs($('#copyFeeRateName').val());
|
|
|
-})
|
|
|
+ $('#saveAsConfirm').bind('click',function () {
|
|
|
+ feeRateObject.feeRateFileSaveAs($('#copyFeeRateName').val());
|
|
|
+ })
|
|
|
|
|
|
|
|
|
-$('#copyFeeRateName').change(function () {
|
|
|
- feeRateObject.checkFeeRateName(this.value);
|
|
|
-});
|
|
|
+ $('#copyFeeRateName').change(function () {
|
|
|
+ feeRateObject.checkFeeRateName(this.value);
|
|
|
+ });
|
|
|
|
|
|
-$('#newFeeRateName').change(function () {
|
|
|
- var newName = $(this).val();
|
|
|
- if(!newName||newName==""){
|
|
|
- $('#renameConfirm').attr("disabled","disabled");
|
|
|
- $('#renameError').text("请输入文件名称。").show();
|
|
|
- return;
|
|
|
- }
|
|
|
- var callback=function (data) {
|
|
|
- if(data){
|
|
|
+ $('#newFeeRateName').change(function () {
|
|
|
+ var newName = $(this).val();
|
|
|
+ if(!newName||newName==""){
|
|
|
$('#renameConfirm').attr("disabled","disabled");
|
|
|
- $('#renameError').text("本建设项目中已存在同名费率文件。").show();
|
|
|
- }else {
|
|
|
- $('#renameConfirm').removeAttr("disabled");
|
|
|
- $('#renameError').hide();
|
|
|
+ $('#renameError').text("请输入文件名称。").show();
|
|
|
+ return;
|
|
|
}
|
|
|
- };
|
|
|
- projectObj.project.FeeRate.checkFeeRateName(newName,callback);
|
|
|
-});
|
|
|
+ var callback=function (data) {
|
|
|
+ if(data){
|
|
|
+ $('#renameConfirm').attr("disabled","disabled");
|
|
|
+ $('#renameError').text("本建设项目中已存在同名费率文件。").show();
|
|
|
+ }else {
|
|
|
+ $('#renameConfirm').removeAttr("disabled");
|
|
|
+ $('#renameError').hide();
|
|
|
+ }
|
|
|
+ };
|
|
|
+ projectObj.project.FeeRate.checkFeeRateName(newName,callback);
|
|
|
+ });
|
|
|
|
|
|
|
|
|
-function changeFRadioClick() {
|
|
|
- var radioV= $("input[name='chaneg-lv-Radio']:checked").val();
|
|
|
- if(radioV==='0'){
|
|
|
+ $('#changeFeeRateConfirm').bind('click',function (){
|
|
|
+ var radioV= $("input[name='chaneg-lv-Radio']:checked").val();
|
|
|
+ if(radioV==='0'){
|
|
|
+ feeRateObject.changeFeeRateFileFromCurrent();
|
|
|
+ }else {
|
|
|
+ feeRateObject.changeFeeRateFileFromOthers();
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ $('#changFeeRateFile').bind('click',function (){
|
|
|
+ $("input[name='chaneg-lv-Radio']")[0].checked=true;
|
|
|
$("#fromProject").show();
|
|
|
$("#fromOther").hide();
|
|
|
- }else {
|
|
|
- $("#fromProject").hide();
|
|
|
- $("#fromOther").show();
|
|
|
- }
|
|
|
-}
|
|
|
-$('#changeFeeRateConfirm').bind('click',function (){
|
|
|
- var radioV= $("input[name='chaneg-lv-Radio']:checked").val();
|
|
|
- if(radioV==='0'){
|
|
|
- feeRateObject.changeFeeRateFileFromCurrent();
|
|
|
- }else {
|
|
|
- feeRateObject.changeFeeRateFileFromOthers();
|
|
|
- }
|
|
|
-})
|
|
|
+ feeRateObject.getChangeInfo();
|
|
|
+ })
|
|
|
|
|
|
-$('#changFeeRateFile').bind('click',function (){
|
|
|
- $("input[name='chaneg-lv-Radio']")[0].checked=true;
|
|
|
- $("#fromProject").show();
|
|
|
- $("#fromOther").hide();
|
|
|
- feeRateObject.getChangeInfo();
|
|
|
-})
|
|
|
+ $('#otherProject').change(function(){
|
|
|
+ var newVal = $(this).val();
|
|
|
+ var projects = feeRateObject.changeInfo.others;
|
|
|
+ var selected = _.find(projects,{ID:parseInt(newVal)});
|
|
|
+ $('#otherFeeRateOption').empty();
|
|
|
+ _.forEach(selected.optionList,function (f) {
|
|
|
+ var option = $("<option>").val(f.ID).text(f.name);
|
|
|
+ $('#otherFeeRateOption').append(option);
|
|
|
+ });
|
|
|
+ })
|
|
|
|
|
|
-$('#otherProject').change(function(){
|
|
|
- var newVal = $(this).val();
|
|
|
- var projects = feeRateObject.changeInfo.others;
|
|
|
- var selected = _.find(projects,{ID:parseInt(newVal)});
|
|
|
- $('#otherFeeRateOption').empty();
|
|
|
- _.forEach(selected.optionList,function (f) {
|
|
|
- var option = $("<option>").val(f.ID).text(f.name);
|
|
|
- $('#otherFeeRateOption').append(option);
|
|
|
- });
|
|
|
-})
|
|
|
+ $('#renameConfirm').bind('click',function (){
|
|
|
+ var feeRateFileID= $("#newFeeRateID").val();
|
|
|
+ var name = $("#newFeeRateName").val();
|
|
|
+ feeRateObject.changeFeeRateFileConfirm(feeRateFileID,name);
|
|
|
+ })
|
|
|
|
|
|
-$('#renameConfirm').bind('click',function (){
|
|
|
- var feeRateFileID= $("#newFeeRateID").val();
|
|
|
- var name = $("#newFeeRateName").val();
|
|
|
- feeRateObject.changeFeeRateFileConfirm(feeRateFileID,name);
|
|
|
-})
|
|
|
|
|
|
+ $('#inlineFormCustomSelect').change(function(){
|
|
|
+ var updateTask = [];
|
|
|
+ var selectID = $(this).val();
|
|
|
+ var oldValue=0;
|
|
|
+ _.forEach(projectObj.project.FeeRate.datas,function (feeRate) {
|
|
|
+ if(feeRate.status=='activate'){
|
|
|
+ oldValue=feeRate.ID;
|
|
|
+ }
|
|
|
+ if(feeRate.ID ==selectID){
|
|
|
+ feeRate.status='activate';
|
|
|
+ }else {
|
|
|
+ feeRate.status='disable';
|
|
|
+ }
|
|
|
+ updateTask.push({query:{ID:feeRate.feeRateID},doc:{status:feeRate.status}});
|
|
|
+ })
|
|
|
+ projectObj.project.FeeRate.updateStatusBySelected(updateTask);
|
|
|
+ feeRateObject.createSpreadView();
|
|
|
+ subRateObject.destorySpreadView();
|
|
|
+ socket.emit('changeActivateFeeRate',{oldRoom:oldValue,newRoom:selectID});
|
|
|
+ })
|
|
|
|
|
|
-$('#inlineFormCustomSelect').change(function(){
|
|
|
- var updateTask = [];
|
|
|
- var selectID = $(this).val();
|
|
|
- var oldValue=0;
|
|
|
- _.forEach(projectObj.project.FeeRate.datas,function (feeRate) {
|
|
|
- if(feeRate.status=='activate'){
|
|
|
- oldValue=feeRate.ID;
|
|
|
- }
|
|
|
- if(feeRate.ID ==selectID){
|
|
|
- feeRate.status='activate';
|
|
|
- }else {
|
|
|
- feeRate.status='disable';
|
|
|
+ $('#fee_rate_tree').on('shown.bs.modal', function (e) {
|
|
|
+ if(feeRateObject.feeRateSpreads==null){
|
|
|
+ feeRateObject.createSheet();
|
|
|
}
|
|
|
- updateTask.push({query:{ID:feeRate.feeRateID},doc:{status:feeRate.status}});
|
|
|
+ feeRateObject.feeRateSelection=null;
|
|
|
+ feeRateObject.showSelectTree();
|
|
|
+ });
|
|
|
+
|
|
|
+ $('#fee_rate_tree').on('hidden.bs.modal', function (e) {
|
|
|
+ if(feeRateObject.feeRateSpreads){
|
|
|
+ feeRateObject.feeRateSpreads.destroy();
|
|
|
+ feeRateObject.feeRateSpreads=null;
|
|
|
+ $('#edit_from').val('');
|
|
|
+ $('#edit_row').val('');
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ $('#fee_selected_conf').bind('click',function (){
|
|
|
+ feeRateObject.submitFeeRateBySelect();
|
|
|
})
|
|
|
- projectObj.project.FeeRate.updateStatusBySelected(updateTask);
|
|
|
- feeRateObject.createSpreadView();
|
|
|
- subRateObject.destorySpreadView();
|
|
|
- socket.emit('changeActivateFeeRate',{oldRoom:oldValue,newRoom:selectID});
|
|
|
})
|
|
|
|
|
|
-$('#fee_rate_tree').on('shown.bs.modal', function (e) {
|
|
|
- if(feeRateObject.feeRateSpreads==null){
|
|
|
- feeRateObject.createSheet();
|
|
|
- }
|
|
|
- feeRateObject.feeRateSelection=null;
|
|
|
- feeRateObject.showSelectTree();
|
|
|
-});
|
|
|
-
|
|
|
-$('#fee_rate_tree').on('hidden.bs.modal', function (e) {
|
|
|
- if(feeRateObject.feeRateSpreads){
|
|
|
- feeRateObject.feeRateSpreads.destroy();
|
|
|
- feeRateObject.feeRateSpreads=null;
|
|
|
- $('#edit_from').val('');
|
|
|
- $('#edit_row').val('');
|
|
|
+function changeFRadioClick() {
|
|
|
+ var radioV= $("input[name='chaneg-lv-Radio']:checked").val();
|
|
|
+ if(radioV==='0'){
|
|
|
+ $("#fromProject").show();
|
|
|
+ $("#fromOther").hide();
|
|
|
+ }else {
|
|
|
+ $("#fromProject").hide();
|
|
|
+ $("#fromOther").show();
|
|
|
}
|
|
|
-});
|
|
|
+}
|
|
|
|
|
|
-$('#fee_selected_conf').bind('click',function (){
|
|
|
- feeRateObject.submitFeeRateBySelect();
|
|
|
-})
|