Jelajahi Sumber

产品信息相关

zhongzewei 6 tahun lalu
induk
melakukan
1d547cffc2

+ 31 - 0
modules/all_models/product.js

@@ -0,0 +1,31 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Zhong
+ * @date 2019/3/21
+ * @version
+ */
+/*
+* 与产品绑定的信息都可以在此设置
+* */
+const mongoose = require('mongoose');
+const Schema = mongoose.Schema;
+const productSchema = new Schema({
+    name: {
+        type: String,
+        default: '纵横建筑计价'
+    },
+    company: {
+        type: String,
+        default: '珠海纵横创新软件有限公司'
+    },
+    icp: {
+        type: String,
+        default: '粤ICP备14032472号'
+    },
+    version: String
+}, {versionKey: false});
+
+mongoose.model('product', productSchema, 'product');

+ 12 - 0
modules/sys_tools/controllers/sys_controller.js

@@ -14,6 +14,7 @@ import multiparty from 'multiparty';
 import BaseController from "../../common/base/base_controller";
 //import sysSchedule from '../models/sys_model';
 let sysSchedule = require('../models/sys_model');
+let productData = require('../models/product_model');
 let callback = function(req, res, err, message, data){
     res.json({error: err, message: message, data: data});
 };
@@ -88,6 +89,17 @@ class SysTools extends BaseController{
             }
         });
     }
+
+    async changeProductInfo(req, res) {
+        try {
+            let version = req.body.version;
+            await productData.changeInfo({version});
+        } catch (error) {
+            console.log(error);
+        }
+        res.redirect(req.headers.referer);
+    }
+
 }
 
 export {SysTools as default};

+ 30 - 0
modules/sys_tools/models/product_model.js

@@ -0,0 +1,30 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Zhong
+ * @date 2019/3/21
+ * @version
+ */
+
+import mongoose from 'mongoose';
+let productModel = mongoose.model('product');
+
+async function changeInfo(updateData) {
+    await productModel.update({}, {$set: updateData}, {upsert: true});
+}
+
+async function getInfo() {
+    let data = await productModel.findOne({});
+    if (!data) {
+        await productModel.create({version: ''});
+        return await productModel.findOne({});
+    }
+    return data;
+}
+
+module.exports = {
+    getInfo,
+    changeInfo
+};

+ 1 - 0
modules/sys_tools/routes/routes.js

@@ -18,6 +18,7 @@ module.exports = function (app) {
     router.post('/clearFakeData', sysToolsController.auth, sysToolsController.init, sysToolsController.clearFakeData);
 
     router.post('/uploadUserGuide', sysToolsController.auth, sysToolsController.init, sysToolsController.uploadFile);
+    router.post('/changeProductInfo', sysToolsController.auth, sysToolsController.init, sysToolsController.changeProductInfo)
 
     app.use("/sysTools/api", router);
 

+ 4 - 1
modules/users/controllers/tool_controller.js

@@ -7,6 +7,7 @@
  */
 import BaseController from "../../common/base/base_controller";
 let config = require("../../../config/config.js");
+let productData = require('../../sys_tools/models/product_model');
 
 class ToolController extends BaseController {
 
@@ -17,11 +18,13 @@ class ToolController extends BaseController {
      * @param {object} response
      * @return {void}
      */
-    index(request, response) {
+    async index(request, response) {
         let toolMenuData = request.session.managerData.toolMenuData;
+        let productInfo = await productData.getInfo();
         console.log(toolMenuData);
         let renderData = {
             layout: 'users/views/layout/layout',
+            productInfo: productInfo,
             toolMenu: toolMenuData,
             LicenseKey:config.getLicenseKey(process.env.NODE_ENV)
         };

+ 42 - 1
web/users/views/tool/index.html

@@ -18,6 +18,8 @@
                         <a id="uploadUserGuide" href="javascript:void(0);" class="btn btn-primary pull-right">上传</a>
                         <% } else if (tool.url === '/sysTools/api/uploadUpgradeGuide' ) { %>
                         <a id="uploadUpgradeGuide" href="javascript:void(0);" class="btn btn-primary pull-right">上传</a>
+                        <% } else if (tool.url === '/sysTools/api/changProductInfo') { %>
+                        <a id="productInfo" href="javascript:void(0);" class="btn btn-primary pull-right">更改</a>
                         <% } else { %>
                         <a id="<%= tool.controller %>" href="<%= tool.url %>" target="_blank" class="btn btn-primary pull-right">进入</a>
                         <% } %>
@@ -185,7 +187,41 @@
         </div>
     </div>
 </div>
-
+<!--产品信息-->
+<div class="modal fade" id="product" role="dialog" tabindex="-1" style="display: none;">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
+                <h4 class="modal-title">产品信息</h4>
+            </div>
+            <div class="modal-body">
+                <form id="changeInfoForm" method="post" action="/sysTools/api/changeProductInfo" enctype="application/x-www-form-urlencoded21">
+                    <div class="form-group">
+                        <label>软件供应商</label>
+                        <input class="form-control" type="text" value="<%= productInfo.company %>" name="version" disabled>
+                    </div>
+                    <div class="form-group">
+                        <label>产品名称</label>
+                        <input class="form-control" type="text" value="<%= productInfo.name %>" name="version" disabled>
+                    </div>
+                    <div class="form-group">
+                        <label>ICP</label>
+                        <input class="form-control" type="text" value="<%= productInfo.icp %>" name="version" disabled>
+                    </div>
+                    <div class="form-group">
+                        <label>版本号</label>
+                        <input class="form-control" type="text" value="<%= productInfo.version %>" name="version" placeholder="请输入产品版本号">
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary" id="changeProductInfo">确定更改</button>
+            </div>
+        </div>
+    </div>
+</div>
 <script type="text/javascript" src="/public/web/common_ajax.js"></script>
 <script type="text/javascript" src="/public/web/PerfectLoad.js"></script>
 <script type="text/javascript">
@@ -307,5 +343,10 @@
                 }
             });
         });
+        //产品信息
+        $('#productInfo').click(() => $('#product').modal('show'));
+        $('#changeProductInfo').click(function () {
+            $('#changeInfoForm').submit();
+        });
     });
 </script>