Преглед изворни кода

Merge branch 'master' into 分摊功能

zhangweicheng пре 5 година
родитељ
комит
43e77e16a4

+ 1 - 0
modules/reports/rpt_component/jpc_flow_tab.js

@@ -612,6 +612,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
                 while (true) {
                     if (currentRecAmt > 0) pageStatus[JV.STATUS_SEGMENT_START] = false;
                     if (pageIdx > 0) pageStatus[JV.STATUS_REPORT_START] = false;
+                    private_resetBandArea(); // 这里得预先算maxRowRec(实际数据情况,会有章首页框,在章数据多的情况下,章第二页开始就得补上章首页框不显示遗留下来的row)
                     //开始判断各种scenarios
                     adHocAutoHeightAmt = 0;
                     if (me.auto_height_fields_idx.length > 0) {

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

@@ -32,7 +32,8 @@ class BootController extends BaseController {
             let compilationData = await compilationModel.getCompilationById(compilationId);
             // 判断当前用户的是使用免费版还是专业版
             compilationVersion = await userModel.getVersionFromUpgrade(sessionUser.ssoId, compilationId);
-            request.session.compilationVersion = compilationVersion;
+            request.session.compilationVersion = compilationVersion.version;
+            request.session.sessionUser.compilationDeadline = compilationVersion.deadline;
             request.session.sessionCompilation = compilationData;
             if(sessionUser.latest_used !== compilationId) userModel.updateLatestUsed(sessionUser.id,compilationId);
         }

+ 4 - 2
modules/users/controllers/login_controller.js

@@ -100,7 +100,8 @@ class LoginController {
                     let compilationData = await compilationModel.getCompilationById(preferenceSetting.select_version);
                     // 判断当前用户的是使用免费版还是专业版
                     let compilationVersion = await userModel.getVersionFromUpgrade(sessionUser.ssoId, preferenceSetting.select_version);
-                    request.session.compilationVersion = compilationVersion;
+                    request.session.compilationVersion = compilationVersion.version;
+                    request.session.sessionUser.compilationDeadline = compilationVersion.deadline;
                     request.session.sessionCompilation = compilationData;
                     if(request.session.sessionUser.latest_used !== preferenceSetting.select_version) await userModel.updateLatestUsed(request.session.sessionUser.id,preferenceSetting.select_version);
                 }
@@ -273,7 +274,8 @@ class LoginController {
                 let compilationData = await compilationModel.getCompilationById(preferenceSetting.select_version);
                 // 判断当前用户的是使用免费版还是专业版
                 let compilationVersion = await userModel.getVersionFromUpgrade(sessionUser.ssoId, preferenceSetting.select_version);
-                request.session.compilationVersion = compilationVersion;
+                request.session.compilationVersion = compilationVersion.version;
+                request.session.sessionUser.compilationDeadline = compilationVersion.deadline;
                 request.session.sessionCompilation = compilationData;
                 if(request.session.sessionUser.latest_used !== preferenceSetting.select_version) await userModel.updateLatestUsed(request.session.sessionUser.id,preferenceSetting.select_version);
             }

+ 2 - 1
modules/users/controllers/user_controller.js

@@ -235,7 +235,8 @@ class UserController extends BaseController {
                 // 判断当前用户的是使用免费版还是专业版
                 let userModel = new UserModel();
                 let compilationVersion = await userModel.getVersionFromUpgrade(sessionUserData.ssoId, compilationData._id);
-                request.session.compilationVersion = compilationVersion;
+                request.session.compilationVersion = compilationVersion.version;
+                request.session.sessionUser.compilationDeadline = compilationVersion.deadline;
                 request.session.sessionCompilation = compilationData;
             }
         } catch (error) {

+ 6 - 2
modules/users/models/user_model.js

@@ -347,7 +347,8 @@ class UserModel extends BaseModel {
      * @return {version}
      */
     async getVersionFromUpgrade(ssoId, compilationId) {
-        let version = '纵横公路养护云造价(免费公用版)';//'纵横公路养护造价(免费云版)'; 2019-03-28 需求修改,听说不知道多久的以后还会改回来--勿删!!!!!
+        let version = '纵横公路养护云造价(学习版)';//'纵横公路养护造价(免费云版)'; 2019-03-28 需求修改,听说不知道多久的以后还会改回来--勿删!!!!!
+        let deadline = '';
         let userData = await this.findDataBySsoId(ssoId);
         if (userData.upgrade_list !== undefined) {
             let compilationInfo = userData.upgrade_list.find(function (item) {
@@ -355,9 +356,12 @@ class UserModel extends BaseModel {
             });
             if (compilationInfo !== undefined && compilationInfo.isUpgrade === true) {
                 version = '纵横公路养护云造价(专业版)';
+                if (compilationInfo.deadline !== undefined && compilationInfo.deadline !== '') {
+                    deadline = compilationInfo.deadline;
+                }
             }
         }
-        return version;
+        return {version: version, deadline: deadline};
     }
 
     /**

+ 71 - 0
web/building_saas/img/base_controller.js

@@ -0,0 +1,71 @@
+/**
+ * 控制器基类
+ *
+ * @author CaiAoLin
+ * @date 2017/6/29
+ * @version
+ */
+import Moment from "moment";
+import Url from "url";
+import UserMessageModel from "../../users/models/user_message_model";
+
+class BaseController {
+
+    /**
+     * 页面title
+     *
+     * @var string
+     */
+    title = '';
+
+    /**
+     * 初始化函数
+     *
+     * @param {object} request
+     * @param {object} response
+     * @param {function} next
+     * @return {void}
+     */
+    async init(request, response, next) {
+        // 获取当前控制器和动作名称
+        let urlInfo = Url.parse(request.originalUrl, true);
+        let url = urlInfo.pathname.substr(1);
+        let actionInfo = url.split('/');
+        let controller = 'index';
+        let action = 'index';
+        switch (actionInfo.length) {
+            case 1:
+                controller = actionInfo[0];
+                break;
+            case 2:
+                controller = actionInfo[0];
+                action = actionInfo[1];
+                break;
+            default:
+                controller = actionInfo[0];
+                break;
+        }
+        response.locals.controller = controller;
+        response.locals.action = action;
+
+        // moment工具
+        response.locals.moment = Moment;
+
+        // url相关数据
+        response.locals.urlQuery = JSON.stringify(urlInfo.query);
+
+        // 获取当前用户数据
+        let sessionUser = request.session.sessionUser;
+
+        // 获取当前用户消息数量
+        let userMessageModel = new UserMessageModel();
+        // 消息处理
+        await userMessageModel.initMessage(sessionUser.id);
+        // 获取未读数据
+        let messageUnreadCount = await userMessageModel.count({user_id: sessionUser.id, is_read: 0, is_delete: 0});
+        response.locals.unreadCount = messageUnreadCount;
+        next();
+    }
+}
+
+export default BaseController;

BIN
web/building_saas/img/vip.png


BIN
web/building_saas/img/vip1.png


BIN
web/building_saas/img/vip2.png


+ 11 - 5
web/common/html/header.html

@@ -7,7 +7,7 @@
         <strong id="message"></strong>-
     </div>
 </div>
-<nav class="navbar navbar-expand-lg p-0 d-flex <%= versionName.includes('免费') ? 'free-version' : 'pro-version' %>">
+<nav class="navbar navbar-expand-lg p-0 d-flex <%= versionName.includes('学习') ? 'free-version' : 'pro-version' %>">
     <% if(controller === 'boot' || controller === 'pm'){ %>
     <!--<a style="text-decoration: none" href="javascript:void(0);" class="header-logo">-->
     <% }else { %>
@@ -36,11 +36,17 @@
                     <a class="dropdown-item" href="/logout">退出登录</a>
                 </div>
             </li>
-            <% if (!versionName.includes('免费')) {%>
+            <% if (!versionName.includes('学习')) {%>
             <li class="nav-item">
-              <a href="user/buy" target="_blank"><img src="/web/building_saas/img/vip.png" data-toggle="tooltip" data-placement="bottom" data-original-title="专业版用户"></a>
-            </li> 
-            <% } %>  
+              <a href="/user/buy" target="_blank">
+                  <% if (sessionUser.compilationDeadline !== '') { %>
+                  <img src="/web/building_saas/img/vip2.png" data-toggle="tooltip" data-placement="bottom" data-original-title="年限版用户">
+                  <% } else { %>
+                  <img src="/web/building_saas/img/vip.png" data-toggle="tooltip" data-placement="bottom" data-original-title="专业版用户">
+                  <% } %>
+              </a>
+            </li>
+            <% } %>
             <% if (action === 'index' && controller === 'main') {%>
             <li class="nav-item dropdown">
                 <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-wrench" data-placement="bottom"></i> 工具</a>

+ 25 - 14
web/users/html/user-buy.html

@@ -48,16 +48,16 @@
                         </div> -->
                         <legend class=" mb-4">激活专业版</legend>
                         <div class="row">
-                            <div class="col-sm-4 mb-5">
+                            <div class="col-sm-5 mb-5">
                                 <div class="card free-version">
                                   <div class=" card-body">
-                                    <h3 class="card-title">免费版 </h3>
-                                      <p class="card-text">
+                                    <h3 class="card-title">学习版 </h3>
+                                      <!--<p class="card-text">-->
                                     <!--  <ul class="pl-3">
                                           <li>只可创建 50 个单位工程</li>
                                           <li>报表带水印</li>
                                       </ul>-->
-                                      </p>
+                                      <!--</p>-->
                                   </div>
                                     <ul class="list-group list-group-flush">
                                         <% if (compilationList.length > 0) {%>
@@ -73,30 +73,41 @@
                                     </ul>
                                 </div>
                             </div>
-                            <div class="col-sm-4 mb-5">
+                            <div class="col-sm-5 mb-5">
                                 <div class="card pro-version">
                                   <div class=" card-body">
                                     <h3 class="card-title">
-                                      <img src="/web/building_saas/img/vip.png">
                                       专业版
+                                        <img src="/web/building_saas/img/vip.png" data-toggle="tooltip" data-placement="bottom" data-original-title="专业版用户">
+                                        <img src="/web/building_saas/img/vip2.png" data-toggle="tooltip" data-placement="bottom" data-original-title="年限版用户">
                                     </h3>
-                                      <p class="card-text">
+                                      <!--<p class="card-text">-->
                                       <!--<ul class="pl-3">
                                           <li>创建单位工程无限制</li>
                                           <li>报表无水印</li>
                                       </ul>-->
-                                      </p>
+                                      <!--</p>-->
                                   </div>
                                     <ul class="list-group list-group-flush">
                                         <% if (compilationList.length > 0) {%>
                                         <% compilationList.forEach(function(compilation) { %>
                                         <li class="list-group-item d-flex justify-content-between">
-                                            <%= compilation.name %>
-                                            <% if (compilation.isUpgrade === undefined || compilation.isUpgrade !== true) { %>
-                                            <a href="javascript:void(0);" class="btn btn-primary btn-sm getcategory" data-upgrade="<%= compilation.isUpgrade %>" data-category="<%= compilation.categoryID %>">立即激活</a>
-                                            <% } else { %>
-                                            <a href="javascript:void(0);" class="btn btn-outline-secondary btn-sm getcategory" data-title="<%= compilation.name %>" data-upgrade="<%= compilation.isUpgrade %>" data-category="<%= compilation.categoryID %>"><i class="fa fa-check"></i> 已激活</a>
-                                            <% } %>
+                                            <div class="col-6">
+                                                <%= compilation.name %>
+                                                <% if (compilation.isUpgrade !== undefined && compilation.isUpgrade === true && compilation.deadline !== undefined && compilation.deadline !== '') { %>
+                                                <img src="/web/building_saas/img/vip2.png" data-toggle="tooltip" data-placement="bottom" data-original-title="年限版用户">
+                                                <% } else if (compilation.isUpgrade !== undefined && compilation.isUpgrade === true && (compilation.deadline === undefined || compilation.deadline === '')) { %>
+                                                <img src="/web/building_saas/img/vip.png" data-toggle="tooltip" data-placement="bottom" data-original-title="专业版用户">
+                                                <% } %>
+                                            </div>
+                                            <div class="ml-auto text-right">
+                                                <% if (compilation.isUpgrade === undefined || compilation.isUpgrade !== true) { %>
+                                                <a href="javascript:void(0);" class="btn btn-primary btn-sm getcategory" data-upgrade="<%= compilation.isUpgrade %>" data-category="<%= compilation.categoryID %>">立即激活</a>
+                                                <% } else { %>
+                                                <a href="javascript:void(0);" class="btn btn-outline-secondary btn-sm getcategory" data-title="<%= compilation.name %>" data-upgrade="<%= compilation.isUpgrade %>" data-category="<%= compilation.categoryID %>"><i class="fa fa-check"></i> 已激活</a>
+                                                <% if (compilation.deadline !== undefined && compilation.deadline !== '') { %><span class="d-block text-muted">到期:<%= compilation.deadline %></span><% } %>
+                                                <% } %>
+                                            </div>
                                         </li>
                                         <% }) %>
                                         <% } %>