Procházet zdrojové kódy

在费率、人材机汇总界面-选择其他,点击从本建设项目中选择文件,下拉显示的文件名不应有当前使用中的文件。

zhongzewei před 6 roky
rodič
revize
082c6335c2

+ 9 - 2
modules/fee_rates/facade/fee_rates_facade.js

@@ -325,11 +325,18 @@ async function checkFeeRateName(jdata) {
 async function getChangeInfo(jdata,compilation){
     let data = JSON.parse(jdata);
     //{ rootProjectID: 99, user_id: '76075' }
+    const notDeleted = [{deleteInfo: null}, {'deleteInfo.deleted':false}];
     let result={};
     let treeData = [];
     let currentProject = await projectsModel.findOne({'ID':data.rootProjectID},['ID','NextSiblingID','ParentID','name']); //{projectID:99,name:'建设项目1'};//dummy 数据
+    let currentTender = await projectsModel.findOne({ID: data.projectID, $or: notDeleted});
     if(currentProject){
-        currentProject._doc.currentOptions=await getFeeRatesByProject(data.rootProjectID);
+        //剔除自身
+        let currentFeeFile = await getFeeRatesByProject(data.rootProjectID);
+        let currentUsedFF = currentTender.property.feeFile.id;
+        currentProject._doc.currentOptions = _.filter(currentFeeFile, function (ff) {
+            return ff.ID !== currentUsedFF;
+        });
     }
     //根据用户ID 找除了当前项目的其它建设项目;
     let others =await projectsModel.find({'$and': [
@@ -340,7 +347,7 @@ async function getChangeInfo(jdata,compilation){
         o._doc.optionList = await getFeeRatesByProject(o.ID);
     }
     //获取对应用户所有文件夹
-    let folders = await projectsModel.find({userID: data.user_id, $or: [{deleteInfo: null}, {'deleteInfo.deleted': false}], projType: 'Folder'}, ['ID','NextSiblingID','ParentID','name']);
+    let folders = await projectsModel.find({userID: data.user_id, $or: notDeleted, projType: 'Folder'}, ['ID','NextSiblingID','ParentID','name']);
     treeData = treeData.concat(currentProject);
     treeData = treeData.concat(others);
     treeData = treeData.concat(folders);

+ 13 - 3
modules/glj/controllers/glj_controller.js

@@ -17,6 +17,7 @@ let glj_type_util = require('../../../public/cache/std_glj_type_util');
 let mongoose = require('mongoose');
 let ration = mongoose.model('ration');
 let projectModel = mongoose.model('projects');
+let _ = require('lodash');
 
 
 const ProjectModel = require('../../pm/models/project_model').project;
@@ -280,16 +281,22 @@ class GLJController extends BaseController {
         let projectId = request.body.project_id;
         let rootProjectID = request.body.rootProjectID;
         projectId = parseInt(projectId);
+        const notDeleted = [{deleteInfo: null}, {'deleteInfo.deleted': false}];
         let responseData = {
             err: 0,
             data: null
         };
         try {
             let sessionUserData = request.session.sessionUser;
+            //获取当前单位工程
+            let currentTender = await projectModel.findOne({ID: projectId, $or: notDeleted});
             // 获取对应用户所有的建设项目数据
             let projectList = await ProjectModel.getUserProjectData(sessionUserData.id,request.session.sessionCompilation._id);
             //获取对应用户所有文件夹
-            let folders = await projectModel.find({userID: sessionUserData.id, $or: [{deleteInfo: null}, {'deleteInfo.deleted': false}], projType: 'Folder'}, {_id: 0, name: 1, ID: 1, NextSiblingID: 1, ParentID: 1});
+            let folders = await projectModel.find({userID: sessionUserData.id, $or: notDeleted, projType: 'Folder'}, {_id: 0, name: 1, ID: 1, NextSiblingID: 1, ParentID: 1});
+            if(currentTender === null){
+                throw '当前单位工程不存在';
+            }
             if (projectList === null) {
                 throw '没有找到对应的项目数据';
             }
@@ -310,9 +317,12 @@ class GLJController extends BaseController {
 
                 // 归类
                 if (rootProjectID == projectList[index].ID) {
-                    result.self = unitPriceFileData;
+                    //剔除自身
+                    let currentUsedUF = currentTender.property.unitPriceFile.id;
+                    result.self = _.filter(unitPriceFileData, function (uf) {
+                        return uf.id !== currentUsedUF;
+                    });
                     result.currentProjectName =  projectList[index].name;
-
                 } else {
                     result.other.push(projectList[index]);
                 }

+ 1 - 1
web/building_saas/main/html/main.html

@@ -479,7 +479,7 @@
                     <div class="row">
                         <div class="col-3">
                             <ul class="nav flex-column nav-pills" role="tablist">
-                                <li class="nav-item"><a class="nav-link active" data-toggle="pill" href="#poj-settings-basicInfo" role="tab" id="tab_poj-settings-basicInfo">建设项目基本信息</a></li>
+                                <li class="nav-item"><a class="nav-link active" data-toggle="pill" href="#poj-settings-basicInfo" role="tab" id="tab_poj-settings-basicInfo">基本信息</a></li>
                                 <li class="nav-item"><a class="nav-link" data-toggle="pill" href="#poj-settings-projFeature" id="tab_poj-settings-projFeature" role="tab">工程特征</a></li>
                                 <li class="nav-item"><a class="nav-link" data-toggle="pill" href="#poj-settings-indicativeInfo" id="tab_poj-settings-indicativeInfo" role="tab">指标信息</a></li>
                                 <li class="nav-item"><a class="nav-link" data-toggle="pill" href="#poj-settings-4" id="about-calc" role="tab">关于计算</a></li>

+ 1 - 0
web/building_saas/main/js/models/fee_rate.js

@@ -359,6 +359,7 @@ var FeeRate = {
             }
             var data={
                 "user_id":userID,
+                "projectID":projectObj.project.ID(),
                 "rootProjectID":rootProjectID
             };
             CommonAjax.post('/feeRates/getChangeInfo', data, function (data) {

+ 1 - 1
web/building_saas/main/js/views/fee_rate_view.js

@@ -774,7 +774,7 @@ var feeRateObject={
             var option =  $("<option>").val(s.ID).text(s.name);
             $('#currentOptions').append(option);
         })
-        $('#currentOptions').val(projectObj.project.FeeRate.getActivateFeeRateFileID());
+        //$('#currentOptions').val(projectObj.project.FeeRate.getActivateFeeRateFileID());
         $('#otherProject').empty();
         _.forEach(data.others,function (p) {
             var option =  $("<option>").val(p.ID).text(p.name);

+ 1 - 0
web/building_saas/main/js/views/project_view.js

@@ -1124,6 +1124,7 @@ var projectObj = {
                 },
                 "calculateAll_RationContent": {
                     name: '造价计算',
+                    icon: 'fa-calculator',
                     callback: function () {
                         project.calcProgram.calcAllNodesAndSave();
                     }

+ 4 - 4
web/building_saas/pm/js/pm_share.js

@@ -695,7 +695,7 @@ const pmShare = (function () {
             return;
         }
         let copyMap = {copy: null, update: null};
-        let newName = `${selected.data.name} (${selected.data.userInfo.name}共享)`;
+        let newName = `${selected.data.name} (${selected.data.userInfo.name}分享拷贝)`;
         //获取单项工程的单位工程
         let tenderQuery = {$or: [{deleteInfo: null}, {'deleteInfo.deleted': false}], userID: userID, ParentID: engID};
         CommonAjax.post('/pm/api/getProjectsByQuery', {user_id: userID, query: tenderQuery, options: '-_id -property'}, function (rstData) {
@@ -771,14 +771,14 @@ const pmShare = (function () {
         $('#copyShare').on('shown.bs.modal', function () {
             setCopyModal();
             //更改显示名称
-            let newName = `${shareSeleted.data.name} (${shareSeleted.data.userInfo.name}共享)`;
+            let newName = `${shareSeleted.data.name} (${shareSeleted.data.userInfo.name}分享拷贝)`;
             $('#copyShare_name').html(`拷贝后,工程将重命名为 "<b>${newName}</b>"`);
             $('#copyShare_name').removeClass('text-danger');
         });
         //拷贝工程改变选择建设项目
         $('#copyShare_selectProj').change(function () {
             //更改显示名称
-            let newName = `${shareSeleted.data.name} (${shareSeleted.data.userInfo.name}共享)`;
+            let newName = `${shareSeleted.data.name} (${shareSeleted.data.userInfo.name}分享拷贝)`;
             $('#copyShare_name').html(`拷贝后,工程将重命名为 "<b>${newName}</b>"`);
             $('#copyShare_name').removeClass('text-danger');
             $('#copyShareProj-info').hide();
@@ -789,7 +789,7 @@ const pmShare = (function () {
         //拷贝工程改变选择单项工程
         $('#copyShare_selectEng').change(function () {
             //更改显示名称
-            let newName = `${shareSeleted.data.name} (${shareSeleted.data.userInfo.name}共享)`;
+            let newName = `${shareSeleted.data.name} (${shareSeleted.data.userInfo.name}分享拷贝)`;
             $('#copyShare_name').html(`拷贝后,工程将重命名为 "<b>${newName}</b>"`);
             $('#copyShare_name').removeClass('text-danger');
         });