Bläddra i källkod

fix: 分享定额库,子目换算问题

vian 4 år sedan
förälder
incheckning
84b5196a70

+ 2 - 1
modules/complementary_ration_lib/controllers/compleRationController.js

@@ -103,7 +103,8 @@ class CompleRationController extends BaseController{
 
 
     async getCoeList(req, res){
     async getCoeList(req, res){
         try{
         try{
-            let coeList = await coeFacade.getComplementaryCoes(req.session.sessionUser.id, req.session.sessionCompilation._id);
+            const { userID } = JSON.parse(req.body.data);
+            let coeList = await coeFacade.getComplementaryCoes(userID, req.session.sessionCompilation._id);
             callback(req, res, 0, 'success', coeList);
             callback(req, res, 0, 'success', coeList);
         } catch (err) {
         } catch (err) {
             callback(req, res, 1, err, null);
             callback(req, res, 1, err, null);

+ 3 - 3
modules/complementary_ration_lib/models/searchModel.js

@@ -18,9 +18,9 @@ class SearchDao{
         let otherLibs=[];
         let otherLibs=[];
         const compleLibUsers = [userId];
         const compleLibUsers = [userId];
         try{
         try{
-            let [firstLib] = rationRepIds[0].split('*');//优先取第一个
+            let [firstLib] = String(rationRepIds[0]).split('*');//优先取第一个
             for (let l of rationRepIds){
             for (let l of rationRepIds){
-                const [libID, owner] = l.split('*');
+                const [libID, owner] = String(l).split('*');
                 if(libID != firstLib && libID != compleRationLib){
                 if(libID != firstLib && libID != compleRationLib){
                     otherLibs.push(libID);
                     otherLibs.push(libID);
                 } else if (libID === compleRationLib && owner && !compleLibUsers.includes(owner)) {
                 } else if (libID === compleRationLib && owner && !compleLibUsers.includes(owner)) {
@@ -102,7 +102,7 @@ class SearchDao{
             let compleLibUsers = new Set();
             let compleLibUsers = new Set();
             const stdRationLibs = [];
             const stdRationLibs = [];
             rationRepId.forEach(libItem => {
             rationRepId.forEach(libItem => {
-                const [libID, owner] = libItem.split('*');
+                const [libID, owner] = String(libItem).split('*');
                 if (libID === compleRationLib) {
                 if (libID === compleRationLib) {
                     compleLibUsers.add(owner || userId);
                     compleLibUsers.add(owner || userId);
                 } else {
                 } else {

+ 11 - 0
modules/main/controllers/ration_controller.js

@@ -9,6 +9,9 @@ let bill_facade = require('../facade/bill_facade');
 let project_facade = require("../facade/project_facade");
 let project_facade = require("../facade/project_facade");
 let logger = require("../../../logs/log_helper").logger;
 let logger = require("../../../logs/log_helper").logger;
 const GLJController = require("../../glj/controllers/glj_controller");
 const GLJController = require("../../glj/controllers/glj_controller");
+const pmFacade = require('../../pm/facade/pm_facade');
+const { ShareLibType } = require('../../../public/common_constants');
+const compleRationLib = 'compleRationLib';
 let controller = {
 let controller = {
     insertGLJAsRation:async function (req){
     insertGLJAsRation:async function (req){
         let data = req.body.data;
         let data = req.body.data;
@@ -19,6 +22,14 @@ let controller = {
         let data = req.body.data;
         let data = req.body.data;
         data = JSON.parse(data);
         data = JSON.parse(data);
         let userID = req.session.sessionUser.id;
         let userID = req.session.sessionUser.id;
+        const compilationID = req.session.sessionCompilation._id;
+        if (data.libIDs && !data.libIDs.includes(compleRationLib)) {
+            const rationLibUsers = await pmFacade.getReceiveLibList(userID, compilationID, ShareLibType.RATION_LIB);
+            data.libIDs.push(compleRationLib);
+            rationLibUsers.forEach(user => {
+                data.libIDs.push(`${compleRationLib}*${user._id}`);
+            });
+        }
         return await ration_facade.replaceRations(userID,data,req.session.sessionCompilation);
         return await ration_facade.replaceRations(userID,data,req.session.sessionCompilation);
     },
     },
     addNewRation:async function(req) {
     addNewRation:async function(req) {

+ 3 - 0
web/building_saas/complementary_ration_lib/js/coe.js

@@ -456,9 +456,12 @@ let coeOprObj = {
     },
     },
     getCoeList: function () {
     getCoeList: function () {
         let me = coeOprObj;
         let me = coeOprObj;
+        const params = location.href.split('/');
+        const curUserID = params[params.length - 1];
         $.ajax({
         $.ajax({
             type: 'post',
             type: 'post',
             url: '/complementaryRation/api/getCoeList',
             url: '/complementaryRation/api/getCoeList',
+            data: {data: JSON.stringify({userID: curUserID})},
             dataType: 'json',
             dataType: 'json',
             timeout:20000,
             timeout:20000,
             success: function (result) {
             success: function (result) {

+ 1 - 1
web/building_saas/complementary_ration_lib/js/ration.js

@@ -687,7 +687,7 @@ let rationOprObj = {
                     /*jobContentOprObj.currentRationItems = me.currentRations["_SEC_ID_" + sectionID];
                     /*jobContentOprObj.currentRationItems = me.currentRations["_SEC_ID_" + sectionID];
                     jobContentOprObj.rationJobContentOpr(me.currentRations["_SEC_ID_" + sectionID]);*/
                     jobContentOprObj.rationJobContentOpr(me.currentRations["_SEC_ID_" + sectionID]);*/
                     //annotation
                     //annotation
-                    //annotationOprObj.rationAnnotationOpr(me.currentRations["_SEC_ID_" + sectionID]);
+                //annotationOprObj.rationAnnotationOpr(me.currentRations["_SEC_ID_" + sectionID]);
                     me.showRationItems(sectionID);
                     me.showRationItems(sectionID);
                     if (!isReadOnly) {
                     if (!isReadOnly) {
                         sectionTreeObj.removeBtn.removeClass('disabled');
                         sectionTreeObj.removeBtn.removeClass('disabled');