Explorar o código

查询助手,显示开关

MaiXinRong hai 1 semana
pai
achega
06193effcf

+ 1 - 0
app/const/page_show.js

@@ -57,6 +57,7 @@ const defaultSetting = {
     openStageStart: 0,
     openDataCollect: 1,
     openProjectScreen: 0,
+    openAssistant: 1,
     openFile: 1,
     openBudget: 1,
     openPayment: 1,

+ 18 - 0
app/controller/setting_controller.js

@@ -1286,6 +1286,24 @@ module.exports = app => {
                 ctx.ajaxErrorBody(error, '保存列设置失败,请刷新后重试');
             }
         }
+        async saveAssistantShow(ctx) {
+            try {
+                if (!ctx.session.sessionUser.is_admin) throw '没有访问权限';
+                const data = JSON.parse(ctx.request.body.data);
+                if (data.enabled !== 0 && data.enabled !== 1) throw '开关参数错误';
+                const projectId = ctx.session.sessionProject.id;
+                const project = await ctx.service.project.getDataById(projectId);
+                if (!project) throw '项目不存在';
+                const pageShow = project.page_show ? JSON.parse(project.page_show) : {};
+                pageShow.openAssistant = data.enabled;
+                await ctx.service.project.defaultUpdate({ id: projectId, page_show: JSON.stringify(pageShow) });
+                ctx.session.sessionProject.page_show.openAssistant = data.enabled;
+                ctx.body = { err: 0, msg: '', data: { enabled: data.enabled } };
+            } catch (err) {
+                ctx.log(err);
+                ctx.ajaxErrorBody(err, '保存查询助手显示设置失败');
+            }
+        }
     }
 
     return SettingController;

+ 1 - 0
app/router.js

@@ -207,6 +207,7 @@ module.exports = app => {
     app.get('/setting/show', sessionAuth, 'settingController.show');
     app.post('/setting/show/update', sessionAuth, 'settingController.showListUpdate');
     app.post('/setting/show/update-sjs', sessionAuth, 'settingController.showSjsUpdate');
+    app.post('/setting/show/assistant', sessionAuth, 'settingController.saveAssistantShow');
     app.get('/setting/spread', sessionAuth, projectManagerCheck, 'settingController.spread');
     app.post('/setting/spread/save', sessionAuth, projectManagerCheck, 'settingController.saveSpread');
     app.post('/setting/spread/preview', sessionAuth, projectManagerCheck, 'settingController.previewSpread');

+ 2 - 0
app/view/layout/layout.ejs

@@ -49,7 +49,9 @@
 <% include ./modal.ejs %>
 
 <%- modal %>
+<% if (ctx.session.sessionProject.page_show.openAssistant !== 0) { %>
 <% include ./assistant.ejs %>
+<% } %>
 <script type="text/javascript">
     toastr.options = {
         "closeButton": false,

+ 25 - 0
app/view/setting/show.ejs

@@ -11,6 +11,20 @@
                 <div class="row m-0 mt-3">
                     <div class="col-5">
                         <div class="form-group">
+                            <h6>查询助手</h6>
+                            <div class="card w-50">
+                                <ul class="list-group list-group-flush">
+                                    <li class="list-group-item">
+                                        <div class="form-check">
+                                            <input class="form-check-input" type="checkbox" id="assistant-show"
+                                                   <%= ctx.session.sessionProject.page_show.openAssistant !== 0 ? 'checked' : '' %>>
+                                            <label class="form-check-label" for="assistant-show">查询助手</label>
+                                        </div>
+                                    </li>
+                                </ul>
+                            </div>
+                        </div>
+                        <div class="form-group">
                             <h6>计量管理默认显示</h6>
                             <div class="card w-50">
                                 <ul class="list-group list-group-flush" id="tenderList">
@@ -79,6 +93,17 @@
 <script>
     $(function () {
         autoFlashHeight();
+        $('#assistant-show').on('change', function() {
+            const checkbox = this;
+            const enabled = checkbox.checked ? 1 : 0;
+            checkbox.disabled = true;
+            postData('/setting/show/assistant', { enabled }, function() {
+                window.location.reload();
+            }, function() {
+                checkbox.checked = !enabled;
+                checkbox.disabled = false;
+            });
+        });
     })
     const showList = JSON.parse('<%- JSON.stringify(showList) %>');
     const updateColShow = function (sub, field, obj) {