فهرست منبع

新增版本发布和取消功能

caiaolin 8 سال پیش
والد
کامیت
da76047e7d

+ 30 - 0
modules/users/controllers/version_controller.js

@@ -245,6 +245,36 @@ class VersionController extends BaseController {
     }
 
     /**
+     * 发布/取消版本
+     *
+     * @param {object} request
+     * @param {object} response
+     * @return {void}
+     */
+    async release(request, response) {
+        let id = request.params.id;
+        let release = request.params.release;
+        release = parseInt(release);
+
+        try {
+            let versionModel = new VersionModel();
+            let updateData = {
+                is_release: release === 1,
+                release_time: new Date().getTime()
+            };
+            let result = await versionModel.updateById(id, updateData);
+
+            if (!result) {
+                throw '发布版本失败';
+            }
+        } catch (error) {
+            console.log(error);
+        }
+
+        response.redirect(request.headers.referer);
+    }
+
+    /**
      * 新增版本操作
      *
      * @param {object} request

+ 5 - 2
modules/users/models/schemas/version.js

@@ -63,8 +63,11 @@ let modelSchema = {
     create_time: Number,
     // 创建者id
     creator: String,
-    // 最后修改时间
-    update_time: Number
+    // 发布时间
+    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};

+ 1 - 1
modules/users/models/version_model.js

@@ -35,7 +35,7 @@ class VersionModel extends BaseModel {
      */
     async getVersionList() {
         // 筛选字段
-        let field = {_id: 1, name: 1, "ration_valuation._id": 1, "ration_valuation.name": 1, "ration_valuation.enable": 1,
+        let field = {_id: 1, name: 1, is_release: 1, "ration_valuation._id": 1, "ration_valuation.name": 1, "ration_valuation.enable": 1,
             "bill_valuation._id": 1, "bill_valuation.name": 1, "bill_valuation.enable": 1};
         let versionData = await this.findDataByCondition({name: {$ne: ''}}, field, false);
 

+ 2 - 0
modules/users/routes/version_route.js

@@ -16,6 +16,8 @@ module.exports =function (app) {
     router.get('/', versionController.auth, versionController.init, versionController.index);
     router.get('/valuation/:section/:id', versionController.auth, versionController.init, versionController.editValuation);
     router.get('/valuation/:section/delete/:id', versionController.auth, versionController.init, versionController.deleteValuation);
+    router.get('/release/:id/:release', versionController.auth, versionController.init, versionController.release);
+
     router.post('/add', versionController.auth, versionController.init, versionController.addVersion);
     router.post('/add-valuation', versionController.auth, versionController.init, versionController.addValuation);
     router.post('/save-valuation', versionController.auth, versionController.init, versionController.saveValuation);

+ 7 - 1
web/users/views/version/index.html

@@ -3,7 +3,13 @@
     <% if(Object.keys(selectedVersion).length > 0) {%>
     <div class="panel-title">
         <div class="title-main">
-            <h2>重庆版<span class="text-muted pull-right">已发布 2017-08-04</span><a href="javascript:void(0);" class="btn btn-primary btn-sm pull-right" id="save">发布版本</a></h2>
+            <h2>
+                <%= selectedVersion.name %>
+                <% if(selectedVersion.is_release) {%>
+                <span class="text-muted" style="margin-left: 5px;">已发布 <%= moment(selectedVersion.update_time).format('YYYY-MM-DD')%></span>
+                <% } %>
+                <a href="/version/release/<%= selectedVersion._id %>/<%= selectedVersion.is_release ? 0 : 1%>" class="btn btn-primary btn-sm pull-right" id="save"><% if(selectedVersion.is_release) {%>取消<% }else{ %>发布<% } %>版本</a>
+            </h2>
         </div>
     </div>
     <div class="content-wrap">