Przeglądaj źródła

提交编办信息在登录时的操作

caiaolin 8 lat temu
rodzic
commit
d023d97489

+ 13 - 2
modules/users/controllers/boot_controller.js

@@ -5,8 +5,9 @@
  * @date 2017/6/12
  * @version
  */
-import UserModel from "../models/user_model";
 import BaseController from "../../common/base/base_controller";
+import UserModel from "../models/user_model";
+import CompilationModel from "../models/compilation_model";
 
 class BootController extends BaseController {
 
@@ -20,6 +21,16 @@ class BootController extends BaseController {
     async boot(request, response) {
         let userModel = new UserModel();
         let sessionUser = request.session.sessionUser;
+        let compilationId = request.params.compilation;
+        let sessionCompilation = request.session.sessionCompilation;
+
+        // 判断是否有存入编办信息
+        if (sessionCompilation === undefined && compilationId !== '') {
+            let compilationModel = new CompilationModel();
+            let compilationData = await compilationModel.findDataByCondition({_id: compilationId});
+
+            request.session.sessionCompilation = compilationData;
+        }
         // 判断是否已填写信息
         let userData = await userModel.findDataByCondition({_id: sessionUser.id});
         if (userData.company !== '' && userData.real_name !== '') {
@@ -30,7 +41,7 @@ class BootController extends BaseController {
             provinceList: userModel.province,
             companyTypeList: userModel.companyType,
             companyScaleList: userModel.companyScale,
-            version: request.params.version
+            compilation: request.params.compilation
         };
         response.render('users/html/login-infoinput', renderData);
     }

+ 15 - 6
modules/users/controllers/login_controller.js

@@ -7,7 +7,7 @@
  */
 import UserModel from "../models/user_model";
 import SettingModel from "../models/setting_model";
-import VersionModel from "../models/version_model";
+import CompilationModel from "../models/compilation_model";
 
 class LoginController {
 
@@ -38,7 +38,7 @@ class LoginController {
         let account = request.body.account;
         let password = request.body.pw;
         let preferenceSetting = {};
-        let versionList = [];
+        let compilationList = [];
         try {
             // 调用接口验证登录信息
             let userModel = new UserModel();
@@ -72,15 +72,24 @@ class LoginController {
                 throw '标记用户信息失败!';
             }
 
-            // 获取版本信息
-            let versionModel = new VersionModel();
-            versionList = await versionModel.getVersionData();
+            let compilationModel = new CompilationModel();
+            compilationList = preferenceSetting.login_ask === 1 ? await compilationModel.getList() : [];
+
+            // 获取编办信息
+            let sessionCompilation = request.session.sessionCompilation;
+            if (preferenceSetting.login_ask === 0 && sessionCompilation === undefined &&
+                preferenceSetting.select_version !== '') {
+                let compilationData = await compilationModel.findDataByCondition({_id: preferenceSetting.select_version});
+
+                request.session.sessionCompilation = compilationData;
+            }
+
 
         } catch (error) {
             console.log(error);
             return response.json({error: 1, msg: error});
         }
-        response.json({error: 0, msg: '', login_ask: preferenceSetting.login_ask, version_list: JSON.stringify(versionList)});
+        response.json({error: 0, msg: '', login_ask: preferenceSetting.login_ask, compilation_list: JSON.stringify(compilationList)});
     }
 
 }

+ 15 - 7
modules/users/controllers/user_controller.js

@@ -11,7 +11,7 @@ import LogType from "../../common/const/log_type_const";
 import LogModel from "../models/log_model";
 import SettingModel from "../models/setting_model";
 import SettingType from "../../common/const/setting_type_const";
-import VersionModel from "../models/version_model";
+import CompilationModel from "../models/compilation_model";
 
 class UserController extends BaseController {
 
@@ -89,7 +89,6 @@ class UserController extends BaseController {
             let sessionUser = request.session.sessionUser;
             let userModel = new UserModel();
             userData = await userModel.findDataByName(sessionUser.username);
-            userData = userData.length <= 0 ? [] : userData[0];
 
             let page = request.query.page === undefined ? 1 : request.query.page;
 
@@ -127,15 +126,15 @@ class UserController extends BaseController {
     async preferences(request, response) {
         let sessionUserData = request.session.sessionUser;
         let preferenceSetting = {};
-        let versionList = [];
+        let compilationList = [];
         try {
             // 获取配置信息
             let settingModel = new SettingModel();
             preferenceSetting = await settingModel.getPreferenceSetting(sessionUserData.id);
 
-            // 获取版本信息
-            let versionModel = new VersionModel();
-            versionList = await versionModel.getVersionData();
+            // 获取编办信息
+            let compilationModel = new CompilationModel();
+            compilationList = await compilationModel.getList();
 
         } catch(error) {
             console.log(error);
@@ -143,7 +142,7 @@ class UserController extends BaseController {
 
         let renderData = {
             preferenceSetting: preferenceSetting,
-            versionList: versionList
+            compilationList: compilationList
         };
         response.render('users/html/user-set', renderData);
     }
@@ -171,6 +170,15 @@ class UserController extends BaseController {
             if (!result) {
                 throw '保存失败';
             }
+
+            // 保存编办信息到session
+            if (data.login_ask === 1) {
+                // 查找对应编办
+                let compilationModel = new CompilationModel();
+                let compilationData = await compilationModel.findDataByCondition({_id: selectVersion});
+
+                request.session.sessionCompilation = compilationData;
+            }
         } catch (error) {
             console.log(error);
         }

+ 39 - 0
modules/users/models/compilation_model.js

@@ -0,0 +1,39 @@
+/**
+ * 编办业务逻辑
+ *
+ * @author CaiAoLin
+ * @date 2017/8/16
+ * @version
+ */
+import BaseModel from "../../common/base/base_model";
+import CompilationSchema from "./schema/compilation";
+
+class CompilationModel extends BaseModel {
+
+    /**
+     * 构造函数
+     *
+     * @return {void}
+     */
+    constructor() {
+        let parent = super();
+        parent.model = CompilationSchema;
+        parent.init();
+    }
+
+    /**
+     * 获取编办列表
+     *
+     * @return {Promise}
+     */
+    async getList() {
+        // 筛选字段
+        let field = {_id: 1, name: 1, is_release: 1};
+        let compilationData = await this.findDataByCondition({name: {$ne: ''}}, field, false);
+
+        return compilationData === null ? [] : compilationData;
+    }
+
+}
+
+export default CompilationModel;

+ 89 - 0
modules/users/models/schema/compilation.js

@@ -0,0 +1,89 @@
+/**
+ * 编办管理数据模型
+ *
+ * @author CaiAoLin
+ * @date 2017/7/28
+ * @version
+ */
+import mongoose from "mongoose";
+
+let Schema = mongoose.Schema;
+let collectionName = 'compilation';
+let childrenSchema = new Schema({
+    // 计价名称
+    name: String,
+    // 工程专业
+    engineering: {
+        type: Number,
+        default: ''
+    },
+    // 标准清单
+    bill_lib: {
+        type: Schema.Types.Mixed,
+        default: []
+    },
+    // 定额库
+    ration_lib: {
+        type: Schema.Types.Mixed,
+        default: []
+    },
+    // 工料机库
+    glj_lib: {
+        type: Schema.Types.Mixed,
+        default: []
+    },
+    // 是否启用
+    enable: {
+        type: Boolean,
+        default: false
+    },
+    // 类型
+    type: {
+        type: Number
+    },
+    // 列设置
+    main_tree_col: {
+        type: Schema.Types.Mixed,
+        default: {
+            "emptyRows":3,
+            "headRows":0,
+            "treeCol": 0,
+            "headRowHeight":[],
+            "cols":[]
+        }
+    }
+});
+let modelSchema = {
+    // 是否发布
+    is_release: {
+        type: Boolean,
+        default: false
+    },
+    // 自增id
+    id: {
+        type: Number
+    },
+    // 清单计价规则
+    bill_valuation: {
+        type: [childrenSchema],
+        default: []
+    },
+    // 定额计价规则
+    ration_valuation: {
+        type: [childrenSchema],
+        default: []
+    },
+    // 名称
+    name: String,
+    // 创建时间
+    create_time: Number,
+    // 创建者id
+    creator: String,
+    // 发布时间
+    release_time: {
+        type: Number,
+        default: 0
+    }
+};
+let model = mongoose.model(collectionName, new Schema(modelSchema, {versionKey: false, collection: collectionName}));
+export {model as default, collectionName as collectionName};

+ 0 - 26
modules/users/models/schema/version.js

@@ -1,26 +0,0 @@
-/**
- * 版本管理数据模型
- *
- * @author CaiAoLin
- * @date 2017/7/28
- * @version
- */
-import mongoose from "mongoose";
-
-let Schema = mongoose.Schema;
-let collectionName = 'version';
-let modelSchema = {
-    // 自增id
-    id: {
-        type: Number,
-        index: true
-    },
-    // 名称
-    name: String,
-    // 标准清单
-    standard_bill: Schema.Types.Mixed,
-    // 定额库
-    ration_lib: Schema.Types.Mixed
-};
-let model = mongoose.model(collectionName, new Schema(modelSchema, {versionKey: false, collection: collectionName}));
-export {model as default, collectionName as collectionName};

+ 0 - 35
modules/users/models/version_model.js

@@ -1,35 +0,0 @@
-/**
- * 版本管理业务逻辑模型
- *
- * @author CaiAoLin
- * @date 2017/8/1
- * @version
- */
-import BaseModel from "../../common/base/base_model";
-import VersionSchema from "./schema/version";
-
-class VersionModel extends BaseModel {
-
-    /**
-     * 构造函数
-     *
-     * @return {void}
-     */
-    constructor () {
-        let parent = super();
-        parent.model = VersionSchema;
-        parent.init();
-    }
-
-    /**
-     * 获取版本数据
-     *
-     * @return {Promise}
-     */
-    getVersionData() {
-        return this.findDataByCondition({name: {$ne: ''}}, {_id: 1, name: 1}, false);
-    }
-
-}
-
-export default VersionModel;

+ 1 - 1
modules/users/routes/boot_route.js

@@ -13,6 +13,6 @@ module.exports=function (app){
     let bootController = new BootController();
 
 // 引导页面
-    router.get('/:version', bootController.boot);
+    router.get('/:compilation', bootController.boot);
     app.use('/boot', router);
 };

+ 2 - 2
web/building_saas/pm/html/project-management.html

@@ -35,9 +35,9 @@
                 <div class="dropdown d-inline-block">
                     <button class="btn btn-link btn-sm dropdown-toggle" type="button" data-toggle="dropdown"><%- userAccount %></button>
                     <div class="dropdown-menu dropdown-menu-right">
-                        <a class="dropdown-item" href="user-info.html" target="_blank">账号资料</a>
+                        <a class="dropdown-item" href="/user/info" target="_blank">账号资料</a>
                         <a class="dropdown-item" href="user-buy.html" target="_blank">产品购买</a>
-                        <a class="dropdown-item" href="user-set.html" target="_blank">偏好设置</a>
+                        <a class="dropdown-item" href="/user/preferences" target="_blank">偏好设置</a>
                     </div>
                 </div>
                 <span class="btn btn-link btn-sm new-msg">

+ 3 - 3
web/users/html/user-set.html

@@ -61,9 +61,9 @@
                                 <label class="form-control-label">指定版本</label>
                                 <select class="form-control" name="select_version">
                                     <option value="">请选择版本</option>
-                                    <% if (versionList.length > 0) {%>
-                                    <% versionList.forEach(function(version) { %>
-                                    <option value="<%= version._id %>" <% if(preferenceSetting.select_version === version._id.toString()) { %>selected="selected" <% } %>><%= version.name %></option>
+                                    <% if (compilationList.length > 0) {%>
+                                    <% compilationList.forEach(function(compilation) { %>
+                                    <option value="<%= compilation._id %>" <% if(preferenceSetting.select_version === compilation._id.toString()) { %>selected="selected" <% } %>><%= compilation.name %></option>
                                     <% }) %>
                                     <% } %>
                                 </select>

+ 4 - 4
web/users/js/login.js

@@ -24,13 +24,13 @@ $(document).ready(function () {
                     if (response.login_ask === 0) {
                         location.href = '/pm';
                     } else {
-                        response.version_list = response.version_list === undefined || response.version_list === '' ?
-                            null : JSON.parse(response.version_list);
-                        if (response.version_list === null || response.version_list.length <= 0) {
+                        response.compilation_list = response.compilation_list === undefined || response.compilation_list === '' ?
+                            null : JSON.parse(response.compilation_list);
+                        if (response.compilation_list === null || response.compilation_list.length <= 0) {
                             location.href = '/pm';
                             return false;
                         }
-                        setVersion(response.version_list);
+                        setVersion(response.compilation_list);
                         $('#ver').modal('show');
                     }
                 } else {