瀏覽代碼

feat: 项目管理跳转计量

lanjianrong 3 年之前
父節點
當前提交
c45ec9b55d
共有 3 個文件被更改,包括 57 次插入21 次删除
  1. 56 0
      app/controller/login_controller.js
  2. 1 0
      app/router.js
  3. 0 21
      app/view/login/login_management.ejs

+ 56 - 0
app/controller/login_controller.js

@@ -481,7 +481,63 @@ module.exports = app => {
               response.msg = error.toString();
           }
           ctx.body = response;
+        }
+        
+        /**
+         * 项目管理授权页面
+         *
+         * @param {Object} ctx - egg全局页面
+         * @return {void}
+         */
+        async management(ctx) {
+          const data = ctx.data;
+          // 获取系统维护信息
+          const maintainData = await ctx.service.maintain.getDataById(1);
+          if (!ctx.app.config.is_debug) {
+              await ctx.service.maintain.syncMaintainData();
+          }
+          let account, project;
+          try {
+              if (ctx.session.loginError !== null) {
+                  throw ctx.session.loginError;
+              }
+              if (!data) {
+                  throw '参数有误';
+              }
+              project = await ctx.service.project.getDataByCondition({ code: data.code })
+              if (!project) {
+                throw '未找到该项目';
+              }
+              account = await ctx.service.projectAccount.getDataByCondition({ project_id: project.id, account: data.account });
+              if (!account) {
+                  throw '您无权限登录系统。';
+              }
+              if (account.enable !== 1) {
+                throw '该账号已被停用,请联系销售人员';
+            }
+            const result = await ctx.service.projectAccount.accountLogin({ project, accountData: account }, 3);
+            if (!result) {
+                throw '登录出错';
+            }
+            ctx.redirect('/dashboard');
+          } catch (error) {
+              // this.log(error);
+              console.log(error);
+              ctx.session.loginError = error;
+          }
+          const errorMessage = ctx.session.loginError;
+          // 显示完删除
+          ctx.session.loginError = null;
+          const renderData = {
+              maintainData,
+              maintainConst,
+              errorMessage,
+              projectData: project,
+              accountData: account,
+          };
+          await ctx.render('login/login_management.ejs', renderData);
       }
+
     }
 
     return LoginController;

+ 1 - 0
app/router.js

@@ -39,6 +39,7 @@ module.exports = app => {
     app.get('/logout', 'loginController.logout');
     app.post('/login', 'loginController.login');
     app.post('/login/port', 'loginController.loginPort');
+    app.get('/login/management', api3managementCheck, 'loginController.management');
     app.get('/project/name', 'loginController.projectName');
 
     app.get('/sign', 'signController.index');

+ 0 - 21
app/view/login/login_management.ejs

@@ -42,27 +42,6 @@
             </form>
         <% } else { %>
             <form method="post" action="/login/port" class="right-login position-relative" style="min-width: 360px;">
-                <h3 class="mt-5 mb-4 text-center">欢迎登录</h3>
-                <div class="mx-4">
-                <% if (!accountData) { %>
-                    <h5>您好,<%- accountData.mobile %></h5>
-                    <% if (accountData.bind === 0) { %>
-                        <!--查询账号存在,进行绑定-->
-                        <h5 class="mb-3">系统查询到以下账号,请确认无误后进行绑定。</h5>
-                        <h5>姓名:<span class="text-danger"><%- accountData.name %></span></h5>
-                        <h5>账号:<span class="text-danger"><%- accountData.account %></span></h5>
-                        <h5>手机:<span class="text-danger"><%- accountData.mobile %></span></h5>
-                        <h5>单位:<span class="text-danger"><%- accountData.company %></span></h5>
-                        <h5>职称:<span class="text-danger"><%- accountData.role %></span></h5>
-                        <div class="form-group mt-4">
-                            <input type="hidden" value="<%= ctx.csrf %>" name="_csrf_j" >
-                            <input type="hidden" value="3" name="type" >
-                            <input type="hidden" value="<%= projectData.code %>" name="code" >
-                            <input type="hidden" value="<%= accountData.id %>" name="accountId" >
-                            <button type="submit" class="btn btn-primary btn-block">绑定并登录系统</button>
-                        </div>
-                    <% } %>
-                <% } %>
                 <h5 class="text-danger text-center"><%- errorMessage %></h5>
                 </div>
             </form>