Browse Source

升级说明no.2 up success

laiguoran 5 years ago
parent
commit
fd8f223ed8

+ 4 - 1
app/controller/dashboard_controller.js

@@ -36,6 +36,8 @@ module.exports = app => {
             // 获取销售人员数据
             const salesmanData = await ctx.service.manager.getDataById(projectData.manager_id);
             const officeName = officeList[salesmanData.office];
+            // 获取版本信息
+            const versionList = await ctx.service.version.getAllDataByCondition({ orders: [['id', 'desc']], limit: 5, offset: 0 });
             const renderData = {
                 auditTenders,
                 auditStages,
@@ -54,8 +56,9 @@ module.exports = app => {
                 projectData,
                 salesmanData,
                 officeName,
+                versionList: JSON.parse(JSON.stringify(versionList).replace(/\\r\\n/g, '<br>'))
             };
-            await this.layout('dashboard/index.ejs', renderData);
+            await this.layout('dashboard/index.ejs', renderData, 'dashboard/modal.ejs');
             await ctx.service.projectAccount.defaultUpdate({
                 id: this.ctx.session.sessionUser.accountId,
                 last_notice: new Date(),

+ 73 - 0
app/service/version.js

@@ -0,0 +1,73 @@
+'use strict';
+
+/**
+ * 版本数据模型
+ *
+ * @author CaiAoLin
+ * @date 2017/10/25
+ * @version
+ */
+
+module.exports = app => {
+
+    class Version extends app.BaseService {
+
+        /**
+         * 构造函数
+         *
+         * @param {Object} ctx - egg全局变量
+         * @return {void}
+         */
+        constructor(ctx) {
+            super(ctx);
+            this.tableName = 'version';
+        }
+
+        /**
+         * 校验规则
+         *
+         * @return {Object} - 返回校验规则
+         */
+        rule() {
+            return {
+                name: { type: 'string', required: true, allowEmpty: false },
+                content: { type: 'string', required: false, allowEmpty: true },
+            };
+        }
+
+        /**
+         * 查找数据
+         *
+         * @param {Object} data - 筛选表单中的get数据
+         * @return {void}
+         */
+        searchFilter(data) {
+            this.initSqlBuilder();
+        }
+
+        /**
+         * 保存数据
+         *
+         * @param {Object} data - post过来的数据
+         * @param {Number} id - 用于判断修改还是新增的id
+         * @return {boolean} - 操作结果
+         */
+        async save(data, id = 0) {
+            id = parseInt(id);
+            id = isNaN(id) ? 0 : id;
+            delete data._csrf;
+
+            if (id > 0) {
+                delete data.create_time;
+                data.id = id;
+            }
+
+            const operate = id === 0 ? await this.db.insert(this.tableName, data) :
+                await this.db.update(this.tableName, data);
+
+            return operate.affectedRows > 0;
+        }
+    }
+
+    return Version;
+};

+ 7 - 0
app/view/dashboard/index.ejs

@@ -197,6 +197,13 @@
                             <% } %>
                         </ul>
                     </div>
+                    <% if (versionList.length > 0) { %>
+                    <div class="card mt-2">
+                        <div class="card-body">
+                            <a href="#version" data-toggle="modal" data-target="#version">当前版本:<%= versionList[0].name %></a>
+                        </div>
+                    </div>
+                    <% } %>
                 </div>
             </div>
         </div>

+ 27 - 0
app/view/dashboard/modal.ejs

@@ -0,0 +1,27 @@
+<% if (versionList.length > 0) { %>
+<div class="modal fade" id="version" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">升级说明</h5>
+            </div>
+            <div class="modal-body">
+                <div class="modal-height-500" style="overflow-y:auto">
+                    <% for (const version of versionList) { %>
+                    <div class="card mt-2">
+                        <div class="card-body">
+                            <h4><%- version.name %></h4>
+                            <p class="card-text"><%= moment(version.create_time * 1000).format('YYYY-MM-DD') %></p>
+                            <p class="card-text"><%- version.content %></p>
+                        </div>
+                    </div>
+                    <% } %>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
+            </div>
+        </div>
+    </div>
+</div>
+<% } %>