Jelajahi Sumber

wap端项目通知查看

ellisran 1 tahun lalu
induk
melakukan
8e3521b2f9
3 mengubah file dengan 99 tambahan dan 17 penghapusan
  1. 24 17
      app/controller/wap_controller.js
  2. 1 0
      app/router.js
  3. 74 0
      app/view/wap/msg.ejs

+ 24 - 17
app/controller/wap_controller.js

@@ -174,23 +174,7 @@ module.exports = app => {
 
                 const tenderList = await this.ctx.service.tender.getBuildList('', userPermission);
                 for (const t of tenderList) {
-                    if (t.user_id === this.ctx.session.sessionUser.accountId && (
-                        t.ledger_status === auditConst.ledger.status.checkNo || t.ledger_status === auditConst.ledger.status.uncheck)) {
-                        const sum = await this.ctx.service.ledger.addUp({tender_id: t.id/*, is_leaf: true*/});
-                        t.total_price = sum.total_price;
-                        t.deal_tp = sum.deal_tp;
-                    }
-                    if (t.ledger_status === auditConst.ledger.status.checked) {
-                        t.lastStage = await this.ctx.service.stage.getLastestStage(t.id, true);
-
-                        if (!t.lastStage) continue;
-                        if (t.lastStage.status === auditConst.stage.status.uncheck && t.lastStage.user_id !== this.ctx.session.sessionUser.accountId) {
-                            t.lastStage = await this.ctx.service.stage.getLastestStage(t.id);
-                        }
-
-                        if (!t.lastStage) continue;
-                        await this.ctx.service.stage.checkStageGatherData(t.lastStage);
-                    }
+                    await this.ctx.service.tenderCache.loadTenderCache(t, this.ctx.session.sessionUser.accountId);
                 }
                 const categoryData = await this.ctx.service.category.getAllCategory(this.ctx.session.sessionProject.id);
                 const valuations = await this.ctx.service.valuation.getProjectValidValuation(this.ctx.session.sessionProject.id);
@@ -810,6 +794,29 @@ module.exports = app => {
                 }
             }
         }
+
+        async msg(ctx) {
+            try {
+                const msgId = parseInt(ctx.params.id) || 0;
+                console.log(msgId);
+                if (!msgId) {
+                    throw '参数有误';
+                }
+                const msgInfo = await ctx.service.message.getDataById(msgId);
+                if (!msgInfo) {
+                    throw '项目通知不存在';
+                }
+                const renderData = {
+                    msgInfo,
+                    moment,
+                };
+                await ctx.render('wap/msg.ejs', renderData);
+            } catch (error) {
+                console.log(error);
+                this.log(error);
+                ctx.redirect('/wap/dashboard');
+            }
+        }
     }
 
     return WapController;

+ 1 - 0
app/router.js

@@ -679,6 +679,7 @@ module.exports = app => {
     app.post('/wap/login', 'wapController.login');
     app.get('/wap/logout', 'wapController.logout');
     app.get('/wap/dashboard', sessionAuth, 'wapController.dashboard');
+    app.get('/wap/dashboard/msg/:id', sessionAuth, 'wapController.msg');
     app.get('/wap/list', sessionAuth, 'wapController.list');
     app.get('/wap/tender/:id', sessionAuth, tenderCheck, uncheckTenderCheck, 'wapController.tender');
     app.get('/wap/tender/:id/stage/:order', sessionAuth, tenderCheck, uncheckTenderCheck, 'wapController.stage');

+ 74 - 0
app/view/wap/msg.ejs

@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <title>项目通知-计量支付</title>
+    <link rel="stylesheet" href="/public/css/bootstrap/bootstrap.min.css">
+    <link rel="stylesheet" href="/public/css/wap/main.css">
+    <link rel="stylesheet" href="/public/css/toast.css">
+    <link rel="stylesheet" href="/public/css/font-awesome/font-awesome.min.css">
+    <link rel="stylesheet" href="/public/css/toastr.css">
+    <link rel="shortcut icon" href="/public/images/favicon.ico">
+    <style>
+        body {
+            padding: 0;
+        }
+    </style>
+</head>
+<body>
+<div class="container">
+    <!--顶部-->
+    <nav class="fixed-top bg-dark">
+        <div class="my-2 d-flex justify-content-between">
+            <span class="text-white ml-3">项目通知</span>
+            <div class="mr-3">
+                <div class="dropdown">
+                    <button class="btn btn-sm btn-light dropdown-toggle" type="button" data-toggle="dropdown">
+                        <%- ctx.session.sessionUser.name.substr(ctx.session.sessionUser.name.length > 2 ? ctx.session.sessionUser.name.length - 2 : 0) %>
+                    </button>
+                    <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
+                        <a class="dropdown-item" href="/wap/logout">退出登录</a>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </nav>
+    <!--待审批期列表-->
+    <div class="py-6">
+        <div>
+            <h4 class="text-center" id="title"><%= msgInfo.title %></h4>
+            <p class="text-center text-muted">
+                <span id="creator"><%- msgInfo.creator %></span> 发布于 <span id="release_time"><%= moment(msgInfo.release_time*1000).format('YYYY-MM-DD') %></span>
+            </p>
+            <!--内容开始-->
+            <div class="msg-content border-top-1 pt-3" id="content">
+                <%- msgInfo.content %>
+            </div>
+        </div>
+    </div>
+    <!--底栏菜单-->
+    <nav class="fixed-bottom navbar-dark bg-light border-top">
+        <ul class="nav nav-fill my-2">
+            <li class="nav-item">
+                <a class="nav-link active show-loading" href="/wap/dashboard"><i class="fa fa-check-square-o"></i> 待审批</a>
+            </li>
+            <li class="nav-item">
+                <a class="nav-link text-muted show-loading" href="/wap/list"><i class="fa fa-list-ul"></i> 项目</a>
+            </li>
+        </ul>
+    </nav>
+</div>
+
+<!-- JS. -->
+<script src="/public/js/jquery/jquery-3.2.1.min.js"></script>
+<script src="/public/js/popper/popper.min.js"></script>
+<script src="/public/js/bootstrap/bootstrap.min.js"></script>
+<script src="/public/js/cookies.js"></script>
+<script src="/public/js/toastr.min.js"></script>
+<script src="/public/js/moment/moment.min.js"></script>
+<script src="/public/js/wap/global.js"></script>
+</body>
+
+</html>