Explorar o código

update ration_glj

zhangweicheng %!s(int64=7) %!d(string=hai) anos
pai
achega
52a02aefe0

+ 23 - 11
modules/fee_rates/facade/fee_rates_facade.js

@@ -94,7 +94,11 @@ async function creatFeeRateFile(feeRateFile,feeRate,projectID) {//预留projectI
         err:null
         err:null
     }
     }
     try {
     try {
-        await project_feerate_temp.findOneAndUpdate({projectID:projectID},{feeRateFileID:feeRateFile.ID});
+        let feeFile={
+            id:feeRateFile.ID,
+            name:feeRateFile.name
+        }
+        await projectsModel.findOneAndUpdate({ID:projectID},{'property.feeFile':feeFile});
         await feeRateFileModel.create(feeRateFile);
         await feeRateFileModel.create(feeRateFile);
         await  feeRateModel.create(feeRate);
         await  feeRateModel.create(feeRate);
     }catch (err){
     }catch (err){
@@ -190,7 +194,6 @@ async function getFeeRateData(projectID) {
         //
         //
         let project =  await projectsModel.findOne({ID:projectID});
         let project =  await projectsModel.findOne({ID:projectID});
         if (project&&project.property&&project.property.feeFile){
         if (project&&project.property&&project.property.feeFile){
-            console.info(project.property.feeFile);
             let feeRateData = await feeRateFileModel.findOne({'ID':project.property.feeFile.id,deleteInfo:null});
             let feeRateData = await feeRateFileModel.findOne({'ID':project.property.feeFile.id,deleteInfo:null});
             if(feeRateData===null){
             if(feeRateData===null){
                 result.datas=[];
                 result.datas=[];
@@ -214,7 +217,7 @@ async function getFeeRateData(projectID) {
 }
 }
 
 
 async function getUsageProjects(feeRateID){
 async function getUsageProjects(feeRateID){
-    let projects = await projectsModel.find({'property.feeFile':feeRateID,'deleteInfo':null});
+    let projects = await projectsModel.find({'property.feeFile.id':feeRateID,'deleteInfo':null});
     return projects;
     return projects;
 }
 }
 
 
@@ -322,7 +325,9 @@ async function getChangeInfo(jdata){
     //{ rootProjectID: 99, user_id: '76075' }
     //{ rootProjectID: 99, user_id: '76075' }
     let result={};
     let result={};
     let currentProject = await projectsModel.findOne({'ID':data.rootProjectID},['ID','name']); //{projectID:99,name:'建设项目1'};//dummy 数据
     let currentProject = await projectsModel.findOne({'ID':data.rootProjectID},['ID','name']); //{projectID:99,name:'建设项目1'};//dummy 数据
-    currentProject._doc.currentOptions=await getFeeRatesByProject(data.rootProjectID);
+    if(currentProject){
+        currentProject._doc.currentOptions=await getFeeRatesByProject(data.rootProjectID);
+    }
     //根据用户ID 找除了当前项目的其它建设项目;
     //根据用户ID 找除了当前项目的其它建设项目;
     let others =await projectsModel.find({'$and': [
     let others =await projectsModel.find({'$and': [
             {'$or':[{'userID': data.user_id,'projType':'Project', 'deleteInfo': null}, {'userID': data.user_id,'projType':'Project', 'deleteInfo.deleted': {'$in': [null, false]}}]},
             {'$or':[{'userID': data.user_id,'projType':'Project', 'deleteInfo': null}, {'userID': data.user_id,'projType':'Project', 'deleteInfo.deleted': {'$in': [null, false]}}]},
@@ -343,12 +348,15 @@ async function getFeeRatesByProject(rootProjectID) {
 
 
 async function changeFeeRateFileFromCurrent(jdata){
 async function changeFeeRateFileFromCurrent(jdata){
     let data = JSON.parse(jdata);
     let data = JSON.parse(jdata);
-    let result = await  project_feerate_temp.findOneAndUpdate({projectID:data.projectID},{feeRateFileID:data.newFeeRateFileID});
-    let feeRateData = await feeRateFileModel.findOne({'ID':data.newFeeRateFileID});
-    let feeRate = await feeRateModel.findOne({ID:feeRateData.feeRateID});
-    feeRateData._doc.rates = feeRate.rates;
+    let newFeeRateFile=data.newFeeRateFile;
+    let result = await  projectsModel.findOneAndUpdate({ID:data.projectID},{'property.feeFile':newFeeRateFile});
+    let feeRateData = await feeRateFileModel.findOne({'ID':newFeeRateFile.id});
+    if(feeRateData!==null){
+        let feeRate = await feeRateModel.findOne({ID:feeRateData.feeRateID});
+        feeRateData._doc.rates = feeRate.rates;
+    }
     //
     //
-    feeRateData._doc.usageProjects=getUsageProjects(feeRateData.ID);
+    feeRateData._doc.usageProjects=await getUsageProjects(feeRateData.ID);
     return feeRateData;
     return feeRateData;
 }
 }
 
 
@@ -369,8 +377,12 @@ async function changeFeeRateFileFromOthers(jdata) {
     newFeeRateFile.feeRateID =newFeeRate.ID;
     newFeeRateFile.feeRateID =newFeeRate.ID;
     await feeRateModel.create(newFeeRate);
     await feeRateModel.create(newFeeRate);
     await feeRateFileModel.create(newFeeRateFile);
     await feeRateFileModel.create(newFeeRateFile);
-    await project_feerate_temp.findOneAndUpdate({projectID:data.projectID},{feeRateFileID:newFeeRateFile.ID});
+    let feeFile={
+        id:newFeeRateFile.ID,
+        name:data.name
+    }
+    await projectsModel.findOneAndUpdate({ID:data.projectID},{'property.feeFile':feeFile});
     newFeeRateFile.rates=newFeeRate.rates;
     newFeeRateFile.rates=newFeeRate.rates;
-    newFeeRateFile.usageProjects=getUsageProjects(newFeeRateFile.ID);
+    newFeeRateFile.usageProjects=await getUsageProjects(newFeeRateFile.ID);
     return newFeeRateFile;
     return newFeeRateFile;
 }
 }

+ 33 - 4
modules/ration_glj/facade/ration_glj_facade.js

@@ -98,7 +98,10 @@ function get_lib_glj_info(ration_glj) {
                 ration_glj.repositoryId = glj.ration_glj
                 ration_glj.repositoryId = glj.ration_glj
                 getInfoFromProjectGLJ(ration_glj).then(function (info) {
                 getInfoFromProjectGLJ(ration_glj).then(function (info) {
                     if(info){
                     if(info){
-                        result.datas.push(info);
+                        let tem={};
+                        tem.newRecode=createNewRecord(info);
+                        tem.showData=info;
+                        result.datas.push(tem);
                         cb(null,result);
                         cb(null,result);
                     }else {
                     }else {
                         cb(new Error('get project glj error'),null);
                         cb(new Error('get project glj error'),null);
@@ -111,6 +114,26 @@ function get_lib_glj_info(ration_glj) {
     }
     }
 }
 }
 
 
+
+function createNewRecord(ration_glj) {
+    let newRecoed={};
+    newRecoed.ID=ration_glj.ID;
+    newRecoed.projectID=ration_glj.projectID;
+    newRecoed.GLJID=ration_glj.GLJID;
+    newRecoed.rationID=ration_glj.rationID;
+    newRecoed.rationItemQuantity=ration_glj.rationItemQuantity;
+    newRecoed.quantity=ration_glj.quantity;
+    newRecoed.name = ration_glj.name;
+    newRecoed.code = ration_glj.code;
+    newRecoed.unit = ration_glj.unit;
+    newRecoed.specs = ration_glj.specs;
+    newRecoed.shortName = ration_glj.shortName;
+    newRecoed.type = ration_glj.type;
+    newRecoed.repositoryId = ration_glj.repositoryId;
+    newRecoed.projectGLJID=ration_glj.projectGLJID;
+  return newRecoed
+}
+
 async function getInfoFromProjectGLJ(ration_glj) {
 async function getInfoFromProjectGLJ(ration_glj) {
      let data = {
      let data = {
          glj_id: ration_glj.GLJID,
          glj_id: ration_glj.GLJID,
@@ -130,7 +153,8 @@ async function getInfoFromProjectGLJ(ration_glj) {
          let projectGljModel = new GLJListModel();
          let projectGljModel = new GLJListModel();
          let result = await projectGljModel.addList(data);
          let result = await projectGljModel.addList(data);
          ration_glj.marketPrice=result.unit_price.market_price;
          ration_glj.marketPrice=result.unit_price.market_price;
-         ration_glj.adjustPrice=result.adjust_price;
+         ration_glj.adjustPrice=result.unit_price.base_price;
+         ration_glj.basePrice=result.unit_price.base_price;
          ration_glj.projectGLJID=result.id;
          ration_glj.projectGLJID=result.id;
          ration_glj.isEstimate=result.is_evaluate;
          ration_glj.isEstimate=result.is_evaluate;
          return ration_glj;
          return ration_glj;
@@ -155,9 +179,11 @@ function create_ration_glj(user_id,datas) {
                 callback(err,results)
                 callback(err,results)
             }else {
             }else {
                 let newRecords =[];
                 let newRecords =[];
+                let showDatas=[];
                 for (let r of results.datas){
                 for (let r of results.datas){
                     if(r){
                     if(r){
-                        newRecords.push(r)
+                        newRecords.push(r.newRecode);
+                        showDatas.push(r.showData);
                     }
                     }
                 }
                 }
                 if(newRecords.length>0){
                 if(newRecords.length>0){
@@ -168,7 +194,10 @@ function create_ration_glj(user_id,datas) {
                             let returndata ={
                             let returndata ={
                                 updateTpye:commonConsts.UT_CREATE,
                                 updateTpye:commonConsts.UT_CREATE,
                                 moduleName:'ration_glj',
                                 moduleName:'ration_glj',
-                                data:newRecords
+                                data:{
+                                    newRecords:newRecords,
+                                    showDatas:showDatas
+                                }
                             }
                             }
                             callback(null,returndata)
                             callback(null,returndata)
                         }
                         }

+ 1 - 5
modules/ration_glj/models/ration_glj.js

@@ -15,16 +15,12 @@ var ration_glj = new Schema({
     code:String,
     code:String,
     specs:String,
     specs:String,
     unit:String,
     unit:String,
-    basePrice:Number,
     shortName:String,
     shortName:String,
     type:Number,
     type:Number,
     quantity:Number,
     quantity:Number,
     customQuantity:Number,
     customQuantity:Number,
     rationItemQuantity:Number,
     rationItemQuantity:Number,
-    marketPrice:Number,
-    adjustPrice:Number,
-    marketPriceAdjust:Number,
-    isEstimate:Number
+    marketPriceAdjust:Number
 },{versionKey:false});
 },{versionKey:false});
 
 
 mongoose.model('ration_glj', ration_glj);
 mongoose.model('ration_glj', ration_glj);

+ 46 - 5
test/logs/testlog.js

@@ -1,9 +1,50 @@
 /**
 /**
  * Created by chen on 2017/9/13.
  * Created by chen on 2017/9/13.
  */
  */
-let logger = require("../../logs/log_helper").logger;
 
 
-logger.info("log info...");
-logger.debug("log debug...");
-logger.warn("log warn...");
-logger.err("log err...");
+console.log(["1", "2", "3"].map(parseInt))
+
+var val = 'smtg';
+console.log('Value is ' + (val === 'smtg') ? 'Something' : 'Nothing');
+
+function foo() { }
+var oldName = foo.name;
+foo.name = "bar";
+console.log([oldName, foo.name])
+
+
+var name = "The Window";
+var object = {
+    name : "My Object",
+    getNameFunc : function(){
+        return function(){
+            return this.name;
+        };
+    }
+};
+console.log(object.getNameFunc()());
+
+var name = "The Window";
+var object = {
+    name : "My Object",
+    getNameFunc : function(){
+        var that = this;
+        return function(){
+            return that.name;
+        };
+    }
+};
+console.log(object.getNameFunc()());
+
+var User = {
+    count: 1,
+    getCount: function() {
+        return this.count;
+    }
+};
+console.log(User.getCount());
+var func = User.getCount;
+console.log(func());
+
+
+

+ 7 - 6
web/building_saas/fee_rates/fee_rate.html

@@ -56,17 +56,17 @@
                 </div>
                 </div>
                 <!--从本建设项目中选择-->
                 <!--从本建设项目中选择-->
                 <div class="form-group" id="fromProject">
                 <div class="form-group" id="fromProject">
-                    <label id="currentProject">建设项目A</label>
-                    <select class="form-control" id="currentOptions"><option>费率1</option><option>费率2</option><option>费率3</option></select>
+                    <label id="currentProject"></label>
+                    <select class="form-control" id="currentOptions"></select>
                 </div>
                 </div>
                 <!--从其他建设项目中复制-->
                 <!--从其他建设项目中复制-->
                 <div id="fromOther" >
                 <div id="fromOther" >
                     <div class="form-group">
                     <div class="form-group">
                         <label>选择建设项目</label>
                         <label>选择建设项目</label>
-                        <select class="form-control" id="otherProject"><option>建设项目B</option><option>建设项目C</option><option>建设项目D</option></select>
+                        <select class="form-control" id="otherProject"></select>
                     </div>
                     </div>
                     <div class="form-group">
                     <div class="form-group">
-                        <select class="form-control" id="otherFeeRateOption"><option>费率1</option><option>费率2</option><option>费率3</option></select>
+                        <select class="form-control" id="otherFeeRateOption"></select>
                         <small class="form-text text-muted">你选择的费率文件将复制一份至新项目,不会影响原建设项目的费率文件。</small>
                         <small class="form-text text-muted">你选择的费率文件将复制一份至新项目,不会影响原建设项目的费率文件。</small>
                     </div>
                     </div>
                 </div>
                 </div>
@@ -96,7 +96,7 @@
                     <small class="form-text text-danger">重新选择费率标准将重置当前费率文件的所有费率,正在使用当前费率文件的其他单位工程也将受影响。</small>
                     <small class="form-text text-danger">重新选择费率标准将重置当前费率文件的所有费率,正在使用当前费率文件的其他单位工程也将受影响。</small>
                 </div>
                 </div>
                 <div class="form-group">
                 <div class="form-group">
-                    <label>正在使用 费率1 的单位工程</label>
+                    <label>正在使用 <span id="set-use-feeRateName">费率1</span> 的单位工程</label>
                     <ul class="list-unstyled" id="usageProjectList">
                     <ul class="list-unstyled" id="usageProjectList">
 
 
                     </ul>
                     </ul>
@@ -123,6 +123,7 @@
             <div class="modal-body">
             <div class="modal-body">
                 <div class="form-group">
                 <div class="form-group">
                     <label>费率文件名称</label>
                     <label>费率文件名称</label>
+                    <input id="valid_name" type="hidden">
                     <input class="form-control" id="copyFeeRateName" value="">
                     <input class="form-control" id="copyFeeRateName" value="">
                     <!--默认为复制费率文件名字+副本 2字,用户修改后需判断是否在同项目下存在同名-->
                     <!--默认为复制费率文件名字+副本 2字,用户修改后需判断是否在同项目下存在同名-->
                     <small class="form-text text-danger" id="nameError" style="display: none">已存在同名费率文件。</small>
                     <small class="form-text text-danger" id="nameError" style="display: none">已存在同名费率文件。</small>
@@ -130,7 +131,7 @@
             </div>
             </div>
             <div class="modal-footer">
             <div class="modal-footer">
                 <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
                 <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
-                <button type="button" class="btn btn-primary" data-dismiss="modal" id="saveAsConfirm">确定</button>
+                <button type="button" class="btn btn-primary" id="saveAsConfirm">确定</button>
             </div>
             </div>
         </div>
         </div>
     </div>
     </div>

+ 7 - 3
web/building_saas/main/js/models/fee_rate.js

@@ -200,21 +200,25 @@ var FeeRate = {
         FeeRate.prototype.getChangeInfo = function (callback) {
         FeeRate.prototype.getChangeInfo = function (callback) {
            // var projectID = projectInfoObj.projectInfo.ID;
            // var projectID = projectInfoObj.projectInfo.ID;
             var feeRate = this.getActivateFeeRate();
             var feeRate = this.getActivateFeeRate();
+            var  rootProjectID= feeRate.rootProjectID;
+            if(!rootProjectID){
+                rootProjectID=projectInfoObj.projectInfo.property.rootProjectID;
+            }
             var data={
             var data={
                 "user_id":userID,
                 "user_id":userID,
-                "rootProjectID":feeRate.rootProjectID,
+                "rootProjectID":rootProjectID,
             };
             };
             CommonAjax.post('/feeRates/getChangeInfo', data, function (data) {
             CommonAjax.post('/feeRates/getChangeInfo', data, function (data) {
                 callback(data);
                 callback(data);
             });
             });
         };
         };
 
 
-        FeeRate.prototype.changeFeeRateFileFromCurrent = function (newFeeRateFileID,callback){
+        FeeRate.prototype.changeFeeRateFileFromCurrent = function (newFeeRateFile,callback){
             var me=this;
             var me=this;
             var projectID = projectInfoObj.projectInfo.ID;
             var projectID = projectInfoObj.projectInfo.ID;
             var data={
             var data={
                 "projectID": projectID,
                 "projectID": projectID,
-                "newFeeRateFileID":newFeeRateFileID
+                "newFeeRateFile":newFeeRateFile
             };
             };
             CommonAjax.post('/feeRates/changeFeeRateFileFromCurrent', data, function (data) {
             CommonAjax.post('/feeRates/changeFeeRateFileFromCurrent', data, function (data) {
                 if (data) {
                 if (data) {

+ 17 - 16
web/building_saas/main/js/models/ration_glj.js

@@ -94,14 +94,19 @@ var ration_glj = {
             }
             }
         };
         };
         ration_glj.prototype.refreshAfterSave=function(data){
         ration_glj.prototype.refreshAfterSave=function(data){
+            let neRecodes=[];
+            if(data){
+                neRecodes=data.newRecords;
+                gljOprObj.sheetData=data.showDatas;
+            }
             if(projectObj.project.ration_glj.datas&&Array.isArray(projectObj.project.ration_glj.datas)){
             if(projectObj.project.ration_glj.datas&&Array.isArray(projectObj.project.ration_glj.datas)){
-                projectObj.project.ration_glj.datas = projectObj.project.ration_glj.datas.concat(data);
+                if(data){
+                    projectObj.project.ration_glj.datas = projectObj.project.ration_glj.datas.concat(neRecodes);
+                }
             }else {
             }else {
-                projectObj.project.ration_glj.datas = data;
+                projectObj.project.ration_glj.datas = neRecodes;
             }
             }
-            sheetCommonObj.showData(gljOprObj.sheet,gljOprObj.setting,data);
-            gljOprObj.sheetData=data;
-            // SheetDataHelper.loadSheetData(setting, rationLibObj.sectionRationsSpread.getActiveSheet(), datas);
+            gljOprObj.showRationGLJSheetData();
         };
         };
         ration_glj.prototype.refreshAfterUpdate=function(data){
         ration_glj.prototype.refreshAfterUpdate=function(data){
             var me = this;
             var me = this;
@@ -112,23 +117,19 @@ var ration_glj = {
             }else {
             }else {
                 me.refreshEachItme(data.doc,data.query);
                 me.refreshEachItme(data.doc,data.query);
             }
             }
-            var selected = projectObj.project.mainTree.selected
-            if(selected==null){
-                return;
-            }
-            if(selected.sourceType==ModuleNames.ration){
-                var showList = _.filter(projectObj.project.ration_glj.datas,{'rationID':selected.data.ID});
-                gljOprObj.sheetData=showList;
-                sheetCommonObj.showData(gljOprObj.sheet,gljOprObj.setting,showList);
-            }
+            gljOprObj.showRationGLJSheetData();
         };
         };
         ration_glj.prototype.refreshEachItme = function (doc,query) {
         ration_glj.prototype.refreshEachItme = function (doc,query) {
             var glj_list = projectObj.project.ration_glj.datas;
             var glj_list = projectObj.project.ration_glj.datas;
             var glj_index= _.findIndex(glj_list,(glj)=>{
             var glj_index= _.findIndex(glj_list,(glj)=>{
-                return glj.ID==query.ID&&glj.projectID==query.projectID;
+                return glj.ID==query.ID;
+            })
+            var sheet_index= _.findIndex(gljOprObj.sheetData,(sd)=>{
+                return sd.ID==query.ID;
             })
             })
             _.forEach(doc, function(n, key) {
             _.forEach(doc, function(n, key) {
                 glj_list[glj_index][key] = n;
                 glj_list[glj_index][key] = n;
+                gljOprObj.sheetData[sheet_index][key]=n;
             });
             });
             return glj_list[glj_index].rationID;
             return glj_list[glj_index].rationID;
         };
         };
@@ -136,7 +137,7 @@ var ration_glj = {
             var glj_list = projectObj.project.ration_glj.datas;
             var glj_list = projectObj.project.ration_glj.datas;
             _.remove(glj_list,data.query);
             _.remove(glj_list,data.query);
             _.remove(gljOprObj.sheetData,data.query);
             _.remove(gljOprObj.sheetData,data.query);
-            sheetCommonObj.showData(gljOprObj.sheet,gljOprObj.setting,gljOprObj.sheetData);
+            gljOprObj.showRationGLJSheetData();
         };
         };
         // CSL,2017.05.09
         // CSL,2017.05.09
         ration_glj.prototype.modifyQuantity = function (data, newQuantity) {
         ration_glj.prototype.modifyQuantity = function (data, newQuantity) {

+ 39 - 2
web/building_saas/main/js/views/fee_rate_view.js

@@ -261,7 +261,9 @@ var feeRateObject={
             if(data){
             if(data){
                 $('#saveAsConfirm').attr("disabled","disabled");
                 $('#saveAsConfirm').attr("disabled","disabled");
                 $('#nameError').text("已存在同名费率文件。").show();
                 $('#nameError').text("已存在同名费率文件。").show();
+                $('#valid_name').val('');
             }else {
             }else {
+                $('#valid_name').val(newVal);
                 $('#saveAsConfirm').removeAttr("disabled");
                 $('#saveAsConfirm').removeAttr("disabled");
                 $('#nameError').hide();
                 $('#nameError').hide();
             }
             }
@@ -270,8 +272,31 @@ var feeRateObject={
         projectObj.project.FeeRate.checkFeeRateName(newVal,callback);
         projectObj.project.FeeRate.checkFeeRateName(newVal,callback);
     },
     },
     feeRateFileSaveAs:function (newName) {
     feeRateFileSaveAs:function (newName) {
+        if(!newName||newName==""){
+            $('#saveAsConfirm').attr("disabled","disabled");
+            $('#nameError').text("请输入文件名称。").show();
+            return;
+        }
+        var valideName = $('#valid_name').val();
+        if(valideName==''||valideName!==newName){
+            var callback=function (data) {
+                if(data){
+                    $('#saveAsConfirm').attr("disabled","disabled");
+                    $('#nameError').text("已存在同名费率文件。").show();
+                    $('#valid_name').val('');
+                }else {
+                    feeRateObject.submitSaveAs(newName);
+                }
+            }
+            projectObj.project.FeeRate.checkFeeRateName(newName,callback)
+        }else {
+            feeRateObject.submitSaveAs(newName);
+        }
+    },
+    submitSaveAs:function (newName) {
         this.activateFeeRate =  projectObj.project.FeeRate.feeRateFileSaveAs(newName);
         this.activateFeeRate =  projectObj.project.FeeRate.feeRateFileSaveAs(newName);
         feeRateObject.loadPageContent();
         feeRateObject.loadPageContent();
+        $('#copy-lv').modal('hide');
     },
     },
     getChangeInfo:function () {
     getChangeInfo:function () {
         var me = this;
         var me = this;
@@ -308,16 +333,25 @@ var feeRateObject={
         if($("#currentOptions").val()==this.activateFeeRate.ID){
         if($("#currentOptions").val()==this.activateFeeRate.ID){
             return;
             return;
         }
         }
+        var name =$("#currentOptions").find("option:selected").text();
+        var newFeeRateFile = {
+            id:newVal,
+            name:name
+        }
         var callback=function () {
         var callback=function () {
             feeRateObject.createSpreadView();
             feeRateObject.createSpreadView();
             feeRateObject.loadPageContent();
             feeRateObject.loadPageContent();
             projectObj.project.FeeRate.synchronizeFeeRate();
             projectObj.project.FeeRate.synchronizeFeeRate();
         }
         }
-        projectObj.project.FeeRate.changeFeeRateFileFromCurrent(newVal,callback);
+        projectObj.project.FeeRate.changeFeeRateFileFromCurrent(newFeeRateFile,callback);
     },
     },
     changeFeeRateFileFromOthers:function () {
     changeFeeRateFileFromOthers:function () {
         var feeRateFileID = $("#otherFeeRateOption").val();
         var feeRateFileID = $("#otherFeeRateOption").val();
         var name =$("#otherFeeRateOption").find("option:selected").text();
         var name =$("#otherFeeRateOption").find("option:selected").text();
+        if(null===feeRateFileID){
+            alert("请选择一个费率文件!");
+            return;
+        }
         var currentOption = _.find(this.changeInfo.currentProject.currentOptions,{name:name})
         var currentOption = _.find(this.changeInfo.currentProject.currentOptions,{name:name})
         if(currentOption){
         if(currentOption){
             $("#rename-lv").modal({show:true});
             $("#rename-lv").modal({show:true});
@@ -372,6 +406,7 @@ $('#setNewFeeRate').bind('click', function () {
     })
     })
     $("#usageProjectList").html(listString);
     $("#usageProjectList").html(listString);
     $("#set-lv-feeRateName").text(feeRateFile.name);
     $("#set-lv-feeRateName").text(feeRateFile.name);
+    $("#set-use-feeRateName").text(feeRateFile.name);
 
 
     feeRateObject.getFeeRateStandards(function (data) {
     feeRateObject.getFeeRateStandards(function (data) {
         $('#standardSelect').empty();
         $('#standardSelect').empty();
@@ -393,6 +428,8 @@ $('#changeConfirm').bind('click', function (){
 $('#saveAs').bind('click', function (){
 $('#saveAs').bind('click', function (){
     var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
     var feeRateFile = projectObj.project.FeeRate.getActivateFeeRate();
     $('#copyFeeRateName').val(feeRateFile.name+'副本');
     $('#copyFeeRateName').val(feeRateFile.name+'副本');
+    $('#valid_name').val(feeRateFile.name+'副本');
+    $('#nameError').hide();
 });
 });
 
 
 $('#saveAsConfirm').bind('click',function () {
 $('#saveAsConfirm').bind('click',function () {
@@ -453,7 +490,7 @@ $('#changFeeRateFile').bind('click',function (){
 $('#otherProject').change(function(){
 $('#otherProject').change(function(){
     var newVal = $(this).val();
     var newVal = $(this).val();
     var projects = feeRateObject.changeInfo.others;
     var projects = feeRateObject.changeInfo.others;
-    var selected = _.find(projects,{projectID:parseInt(newVal)});
+    var selected = _.find(projects,{ID:parseInt(newVal)});
     $('#otherFeeRateOption').empty();
     $('#otherFeeRateOption').empty();
     _.forEach(selected.optionList,function (f) {
     _.forEach(selected.optionList,function (f) {
         var option =  $("<option>").val(f.ID).text(f.name);
         var option =  $("<option>").val(f.ID).text(f.name);

+ 39 - 5
web/building_saas/main/js/views/glj_view.js

@@ -454,15 +454,46 @@ var gljOprObj = {
      //   $('#dropdown').hide();
      //   $('#dropdown').hide();
     },
     },
     showRationGLJData:function (node) {
     showRationGLJData:function (node) {
-        let gljList = [];
-        let ration_glj = projectObj.project.ration_glj;
-        let ration = node.data;
-        if(ration_glj.datas&&ration_glj.datas.length>0){
-            gljList = _.filter(ration_glj.datas,{'projectID':ration.projectID,'rationID':ration.ID})
+        var gljList = [];
+        var ration_glj = projectObj.project.ration_glj;
+        node=node?node:projectObj.project.mainTree.selected;
+        if(node.sourceType==ModuleNames.ration){
+            let ration = node.data;
+            gljList=this.filterGljByRation(ration,ration_glj.datas);
+            this.showInSheet(gljList);
+        }
+    },
+    showRationGLJSheetData:function () {
+        sheetCommonObj.showData(this.sheet,this.setting,this.sheetData);
+    },
+    filterGljByRation:function (ration,datas) {
+        var gljList=[];
+        if(datas&&datas.length>0){
+            gljList = _.filter(datas,{'rationID':ration.ID})
         }
         }
+        return gljList;
+    },
+    showInSheet:function(gljList){
+        gljList=this.combineWithProjectGlj(gljList);
         sheetCommonObj.showData(this.sheet,this.setting,gljList);
         sheetCommonObj.showData(this.sheet,this.setting,gljList);
         this.sheetData=gljList;
         this.sheetData=gljList;
     },
     },
+    combineWithProjectGlj:function (ration_gljs) {
+        var projectGljs = projectObj.project.projectGLJ.datas;
+        if(ration_gljs&&ration_gljs.length>0&&projectGljs&&projectGljs.length>0){
+            ration_gljs.forEach(function (a) {
+                var glj = _.find(projectGljs,{id:a.projectGLJID});
+                if(glj){
+                    a.basePrice=glj.unit_price.base_price;
+                    a.marketPrice=glj.unit_price.market_price;
+                    a.adjustPrice=glj.adjust_price;
+                    a.isEstimate=glj.is_evaluate;
+                }
+            })
+        }
+        return ration_gljs;
+    }
+    ,
     showRationCoeData:function (node) {
     showRationCoeData:function (node) {
         var coeList = [];
         var coeList = [];
         var ration_coe= projectObj.project.ration_coe;
         var ration_coe= projectObj.project.ration_coe;
@@ -596,6 +627,9 @@ var gljOprObj = {
             }
             }
         }
         }
         return true;
         return true;
+    },
+    refreshView:function () {
+        this.showRationGLJData();
     }
     }
 }
 }
 
 

+ 1 - 1
web/building_saas/pm/js/pm_main.js

@@ -1219,7 +1219,7 @@ function setDataToSideBar() {
                 }
                 }
 
 
                 if (tmp.feeFile !== undefined && feeFileList.indexOf(tmp.feeFile.name) < 0) {
                 if (tmp.feeFile !== undefined && feeFileList.indexOf(tmp.feeFile.name) < 0) {
-                    feeFileHtml += '<tr><td>'+ unitPriceFileCounter +'</td><td>'+ tmp.feeFile.name +'</td></tr>';
+                    feeFileHtml += '<tr><td>'+ feeFileCounter +'</td><td>'+ tmp.feeFile.name +'</td></tr>';
                     feeFileCounter++;
                     feeFileCounter++;
                     feeFileList.push(tmp.feeFile.name);
                     feeFileList.push(tmp.feeFile.name);
                 }
                 }