Browse Source

Merge branch 'master' of http://192.168.1.41:3000/maixinrong/Calculation

TonyKang 5 years ago
parent
commit
9d44ef751d

+ 4 - 7
app/controller/report_controller.js

@@ -190,11 +190,11 @@ module.exports = app => {
             const customSelect = rptTpl[JV.NODE_CUSTOM_DEFINE] && rptTpl[JV.NODE_CUSTOM_DEFINE][JV.NODE_CUS_AUDIT_SELECT].enable
             const customSelect = rptTpl[JV.NODE_CUSTOM_DEFINE] && rptTpl[JV.NODE_CUSTOM_DEFINE][JV.NODE_CUS_AUDIT_SELECT].enable
                 ? await ctx.service.rptCustomDefine.getCustomDefine(params.tender_id, params.stage_id, params.rpt_tpl_id)
                 ? await ctx.service.rptCustomDefine.getCustomDefine(params.tender_id, params.stage_id, params.rpt_tpl_id)
                 : await ctx.service.rptCustomDefine.getCustomDefine(params.tender_id, -1, params.rpt_tpl_id);
                 : await ctx.service.rptCustomDefine.getCustomDefine(params.tender_id, -1, params.rpt_tpl_id);
-            const gather_select = customSelect.gather_select;
-            if (!params.gather_select && customSelect) {
-                delete customSelect.gather_select;
+            const copyCustomSelect = this.ctx.helper.clone(customSelect);
+            if (!params.gather_select && copyCustomSelect) {
+                delete copyCustomSelect.gather_select;
             }
             }
-            const pageRst = await getAllPagesCommon(ctx, rptTpl, params, JV.PAGING_OPTION_NORMAL, JV.OUTPUT_TYPE_NORMAL, this.app.baseDir, customSelect);
+            const pageRst = await getAllPagesCommon(ctx, rptTpl, params, JV.PAGING_OPTION_NORMAL, JV.OUTPUT_TYPE_NORMAL, this.app.baseDir, copyCustomSelect);
             // console.log(pageRst);
             // console.log(pageRst);
             // const roleRel = (params.stage_status === 3) ? (await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_tpl_id)) : [];
             // const roleRel = (params.stage_status === 3) ? (await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_tpl_id)) : [];
             const roleRel = await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_tpl_id, params.stage_id); // 新需求中,允许在非审核状态下设置签名
             const roleRel = await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_tpl_id, params.stage_id); // 新需求中,允许在非审核状态下设置签名
@@ -205,9 +205,6 @@ module.exports = app => {
             await encodeSignatureDataUri(roleRel, this.app.baseDir);
             await encodeSignatureDataUri(roleRel, this.app.baseDir);
             await encodeDummySignatureDataUri(pageRst, this.app.baseDir);
             await encodeDummySignatureDataUri(pageRst, this.app.baseDir);
             const stageFlow = await ctx.service.stageAudit.getAuditGroupByListWithOwner(params.stage_id, params.stage_times);
             const stageFlow = await ctx.service.stageAudit.getAuditGroupByListWithOwner(params.stage_id, params.stage_times);
-            if (!params.gather_select && customSelect) {
-                customSelect.gather_select = gather_select;
-            }
 
 
             // console.log('encodeSignatureDataUri!');
             // console.log('encodeSignatureDataUri!');
             return {
             return {

+ 29 - 0
app/controller/setting_controller.js

@@ -132,6 +132,35 @@ module.exports = app => {
         }
         }
 
 
         /**
         /**
+         * 项目设置 -- 账号解绑设置(Post)
+         * @param ctx
+         * @return {Promise<void>}
+         */
+        async userUnbind(ctx) {
+            const projectData = ctx.session.sessionProjectData;
+
+            try {
+                if (projectData.id === undefined) {
+                    throw '不存在对应的项目数据';
+                }
+                if (ctx.session.sessionUser.is_admin === 0) {
+                    throw '非管理员无权解绑账号';
+                }
+                const accountId = parseInt(ctx.request.body.id);
+                const result = await ctx.service.projectAccount.update({ bind: 0 }, { id: accountId });
+                if (!result) {
+                    throw '解绑失败';
+                }
+
+                this.setMessage('解绑成功', this.messageType.SUCCESS);
+            } catch (error) {
+                console.log(error);
+                this.setMessage(error.toString(), this.messageType.ERROR);
+            }
+            ctx.redirect(ctx.request.header.referer);
+        }
+
+        /**
          * 项目权限 -- 账号设置(Get)
          * 项目权限 -- 账号设置(Get)
          * @param ctx
          * @param ctx
          * @return {Promise<void>}
          * @return {Promise<void>}

+ 9 - 0
app/public/js/setting.js

@@ -150,6 +150,15 @@ $(document).ready(() => {
                 $('#edit-user2 input[name="cooperation"]').attr('disabled', true);
                 $('#edit-user2 input[name="cooperation"]').attr('disabled', true);
             }
             }
         }
         }
+    });
+
+    // 解绑第三方平台
+    $('.unlink-user').on('click', function () {
+        const id = $(this).data('account');
+        const accountData = _.find(accountList, { id });
+        console.log(accountData);
+        $('#bind_account').text(accountData.name + ' ' + accountData.mobile);
+        $('#account_id').val(id);
     })
     })
 });
 });
 
 

+ 1 - 0
app/router.js

@@ -57,6 +57,7 @@ module.exports = app => {
     app.post('/setting/user/permission', sessionAuth, 'settingController.permission');
     app.post('/setting/user/permission', sessionAuth, 'settingController.permission');
     app.post('/setting/user/reset/password', sessionAuth, 'settingController.resetUserPassword');
     app.post('/setting/user/reset/password', sessionAuth, 'settingController.resetUserPassword');
     app.post('/setting/user/exist', sessionAuth, 'settingController.accountExist');
     app.post('/setting/user/exist', sessionAuth, 'settingController.accountExist');
+    app.post('/setting/user/unbind', sessionAuth, 'settingController.userUnbind');
 
 
     // 标段自定义类别
     // 标段自定义类别
     app.get('/setting/category', sessionAuth, 'settingController.category');
     app.get('/setting/category', sessionAuth, 'settingController.category');

+ 1 - 1
app/service/tender.js

@@ -356,7 +356,7 @@ module.exports = app => {
 
 
         async checkTender(tid) {
         async checkTender(tid) {
             if (this.ctx.tender) return;
             if (this.ctx.tender) return;
-            this.ctx.tender = this.getCheckTender(tid);
+            this.ctx.tender = await this.getCheckTender(tid);
         }
         }
 
 
         async setTenderType(tender, type) {
         async setTenderType(tender, type) {

+ 7 - 1
app/view/setting/user.ejs

@@ -38,7 +38,7 @@
                                     <td><%= account.name %></td>
                                     <td><%= account.name %></td>
                                     <td><%= account.company %></td>
                                     <td><%= account.company %></td>
                                     <td><%= account.role %></td>
                                     <td><%= account.role %></td>
-                                    <td><%= account.mobile %></td>
+                                    <td><%= account.mobile %><% if (account.bind === 1) { %>(已绑定第三方平台)<% } %></td>
                                     <td><%= account.telephone %></td>
                                     <td><%= account.telephone %></td>
                                     <td class="text-center"><a href="#edit-user" data-account="<%= JSON.stringify(account) %>" data-toggle="modal" data-target="#edit-user" class="btn btn-sm btn-outline-primary">编辑</a>
                                     <td class="text-center"><a href="#edit-user" data-account="<%= JSON.stringify(account) %>" data-toggle="modal" data-target="#edit-user" class="btn btn-sm btn-outline-primary">编辑</a>
                                         <% if (account.is_admin !== 1) { %>
                                         <% if (account.is_admin !== 1) { %>
@@ -48,6 +48,9 @@
                                                 <!--<a href="" class="btn btn-sm btn-outline-danger account-switch-btn" data-account="<%= account.id %>">停用</a>-->
                                                 <!--<a href="" class="btn btn-sm btn-outline-danger account-switch-btn" data-account="<%= account.id %>">停用</a>-->
                                             <% } %>
                                             <% } %>
                                         <% } %>
                                         <% } %>
+                                        <% if (account.bind === 1) { %>
+                                            <a href="#unlink-user" data-toggle="modal" data-target="#unlink-user" class="btn btn-sm btn-outline-dark unlink-user" data-account="<%= account.id %>" >解绑</a>
+                                        <% } %>
                                     </td>
                                     </td>
                                 </tr>
                                 </tr>
                             <% } %>
                             <% } %>
@@ -60,5 +63,8 @@
         </div>
         </div>
     </div>
     </div>
 </div>
 </div>
+<script>
+    const accountList = JSON.parse('<%- JSON.stringify(accountData) %>');
+</script>
 <script src="/public/js/setting.js"></script>
 <script src="/public/js/setting.js"></script>
 <script>autoFlashHeight();</script>
 <script>autoFlashHeight();</script>

+ 19 - 0
app/view/setting/user_modal.ejs

@@ -155,3 +155,22 @@
         </div>
         </div>
     </div>
     </div>
 </div>
 </div>
+<!--弹出解绑帐号-->
+<div class="modal fade" id="unlink-user" 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">
+                <h4>确认解除 <span id="bind_account">陈特 15812644017</span> 的绑定状态?</h4>
+            </div>
+            <form method="post" action="/setting/user/unbind" class="modal-footer">
+                <input type="hidden" name="_csrf" value="<%= ctx.csrf %>">
+                <input type="hidden" name="id" id="account_id" value="">
+                <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-sm btn-sm btn-primary">确定解绑</button>
+            </form>
+        </div>
+    </div>
+</div>