Browse Source

Merge branch 'master' of http://192.168.1.41:3000/SmartCost/ConstructionCost

TonyKang 5 years ago
parent
commit
5bfbbeafb5

+ 8 - 2
modules/all_models/user.js

@@ -38,10 +38,16 @@ const userdList = mongoose.Schema({
 
 // 表结构
 let schema = {
-    ssoId: Number,
+    ssoId: {
+        type: Number,
+        unique: true,
+    },
     username: String,
     email: String,
-    mobile: String,
+    mobile: {
+        type: String,
+        // unique: true,
+    },
     qq: {
         type: String,
         default: ''

+ 7 - 7
modules/users/models/user_model.js

@@ -164,23 +164,23 @@ class UserModel extends BaseModel {
      * @return {Promise}
      */
     async markUser(userData, request = null) {
-        let userDataFromDb2 = await this.findDataBySsoId(userData.ssoId);
-        let userDataFromDb = await this.findDataByName(userData.username);  //后面新增的账号可淘汰这方法,当前使用是为了兼容旧的账号
+        let userDataFromDb = await this.findDataBySsoId(userData.ssoId);
+        // let userDataFromDb = await this.findDataByName(userData.username);  //后面新增的账号可淘汰这方法,当前使用是为了兼容旧的账号
         let result = false;
         userData.latest_login = new Date().getTime();
-        if (userDataFromDb === null && userDataFromDb2 === null) {
+        if (userDataFromDb === null) {
             // 不存在用户则入库
             this.setScene();//恢复场景,用户有可能公司real_name等信息为空,不能设置为必填
             result = await this.addUser(userData);
             userDataFromDb = result;
         } else {
             // 存在则新增登录信息并更新账号信息
-            // let condition = {ssoId: sessionUser.ssoId};
-            let condition = {username: userData.username};
+            let condition = {ssoId: userData.ssoId};
+            // let condition = {username: userData.username};
             let UpdateData = {
                 email : userData.email,
                 mobile : userData.mobile,
-                ssoId : userData.ssoId,
+                // ssoId : userData.ssoId,
                 qq: userData.qq,
                 latest_login:userData.latest_login,
                 isUserActive: userData.isUserActive,
@@ -389,7 +389,7 @@ class UserModel extends BaseModel {
 
     async getContacts(userID) {
         const user = await this.model.findOne({_id: mongoose.Types.ObjectId(userID)}, 'contacts').lean();
-        if (!user) {
+        if (!user || !user.contacts || !user.contacts.length) {
             return [];
         }
         const userIDList = user.contacts.map(item => mongoose.Types.ObjectId(item.userID));

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

@@ -61,6 +61,7 @@ var PROJECT = {
             if (isInit) {
                 projectInfoObj.showProjectInfo(me._project.projectInfo);
             }
+            me._project.property = me._project.projectInfo.property;
             me._project.loadMainTree();
             //me.test(result[0].data[0]);
             if (callback) {

+ 1 - 1
web/building_saas/main/js/models/ration.js

@@ -523,11 +523,11 @@ var Ration = {
                         newSource = data.ration;
                         newNode = project.mainTree.insert(billItemID, nextID, newSource.ID);
                         newNodes.push(newNode);
-                        nextID = project.mainTree.selected.getNextSiblingID();
                         newNode.source = newSource;
                         newNode.sourceType = project.Ration.getSourceType();
                         newNode.data = newSource;
                         ProjectController.syncDisplayNewNode(sheetController, newNode);
+                        nextID =  project.mainTree.selected.getNextSiblingID();
                     }
                     project.projectGLJ.calcQuantity();
                     for(let data of rstData){

+ 3 - 3
web/building_saas/main/js/views/project_view.js

@@ -141,7 +141,7 @@ var projectObj = {
             return true;
         };
         let canUpMove = function (node) {
-            if(node&&node.preSibling){//有前兄弟
+            if(node&&node.sourceType!= ModuleNames.ration_glj &&node.preSibling){//有前兄弟 并且不是定额工料机
                 if(node.sourceType==that.project.Bills.getSourceType()){
                     if(projectObj.project.isBillsLocked()== true && projectObj.project.withinBillsLocked(node)){
                         return false;
@@ -155,7 +155,7 @@ var projectObj = {
             return false
         };
         let canDownMove = function (node) {
-            if(node&&node.nextSibling){
+            if(node&& node.sourceType!= ModuleNames.ration_glj &&node.nextSibling){//并且不是定额工料机
                 if(node.sourceType==that.project.Bills.getSourceType()){
                     if(projectObj.project.isBillsLocked()== true && projectObj.project.withinBillsLocked(node)){
                         return false;
@@ -922,7 +922,7 @@ var projectObj = {
                 that.project.projectGLJ.calcQuantity(true);//计算分部分项和技术措施项目消耗量;
                 let quantityTime = +new Date();
                 console.log(`计算quantity时间——${quantityTime - mTime}`);
-                that.project.property = projectObj.project.projectInfo.property;
+                //that.project.property = projectObj.project.projectInfo.property;  改在doAfterLoad的时候设置
                 gljCol.initGljCol(that.project.projSetting.glj_col?that.project.projSetting.glj_col.showAdjustPrice:false,
                     that.project.property.tenderSetting.showTenderFields?that.project.property.tenderSetting.showTenderFields:false);
                 subObj.initSubSpread();//初始化主界面下方的表格

+ 5 - 1
web/users/js/login.js

@@ -266,7 +266,7 @@ $(document).ready(function () {
 });
 
 function login(captchaObj) {
-
+    $('#login').attr('disabled', true);
     let geetest_challenge = $('input[name="geetest_challenge"]').val();
     let geetest_validate = $('input[name="geetest_validate"]').val();
     let geetest_seccode = $('input[name="geetest_seccode"]').val();
@@ -315,19 +315,23 @@ function login(captchaObj) {
                 // captchaObj.reset();
                 $('#check_ssoId').val(response.ssoId);
                 $('#phone').modal('show');
+                $('#login').removeAttr('disabled');
             } else if(response.error === 3) {
                 // captchaObj.reset();
                 $('#phonepass').modal('show');
                 $('#mobileLogin').val(response.data);
+                $('#login').removeAttr('disabled');
             } else {
                 // $('#phonepass').modal('hide');
                 let msg = response.msg !== undefined ? response.msg : '未知错误';
                 showError(msg, $("input"));
+                $('#login').removeAttr('disabled');
                 // captchaObj.reset();
             }
         },
         error: function (result) {
             showError('内部程序错误', null);
+            $('#login').removeAttr('disabled');
         }
     });
 }