laiguoran před 4 roky
rodič
revize
6b198d764e
2 změnil soubory, kde provedl 204 přidání a 0 odebrání
  1. 51 0
      app/const/shenpi.js
  2. 153 0
      app/view/tender/shenpi.ejs

+ 51 - 0
app/const/shenpi.js

@@ -0,0 +1,51 @@
+'use strict';
+
+/**
+ * 审批流程设置
+ *
+ * @author ELlisran
+ * @date 2019/10/20
+ * @version
+ */
+// 审批类型
+const sp_type = {
+    advance: 1,
+    ledger: 2,
+    revise: 3,
+    stage: 4,
+    change: 5,
+    material: 6,
+};
+// const sp_name = [];
+// sp_name[sp_type.advance] = '预付款审批';
+// sp_name[sp_type.ledger] = '台账审批';
+// sp_name[sp_type.revise] = '台账修订';
+// sp_name[sp_type.stage] = '计量期审批';
+// sp_name[sp_type.change] = '工程变更审批';
+// sp_name[sp_type.material] = '材料调差审批';
+
+const sp_lc = [
+    { code: 'advance', type: sp_type.advance, name: '预付款审批' },
+    { code: 'ledger', type: sp_type.ledger, name: '台账审批' },
+    { code: 'revise', type: sp_type.revise, name: '台账修订' },
+    { code: 'stage', type: sp_type.stage, name: '计量期审批' },
+    { code: 'change', type: sp_type.change, name: '工程变更审批' },
+    { code: 'material', type: sp_type.material, name: '材料调差审批' },
+];
+
+const sp_status = {
+    sqspr: 1, // 授权审批人
+    gdspl: 2, // 固定审批流
+    gdzs: 3, // 固定终审
+};
+const sp_status_list = [];
+sp_status_list[sp_status.sqspr] = { status: sp_status.sqspr, name: '授权审批人', msg: '由上报人设置审批流程' };
+sp_status_list[sp_status.gdspl] = { status: sp_status.gdspl, name: '固定审批流', msg: '审批流程固定,上报人只能按照设置好的审批流程进行' };
+sp_status_list[sp_status.gdzs] = { status: sp_status.gdzs, name: '固定终审', msg: '结束审批流为固定人,终审前的审批流程由上报人设置,即授权审批人' };
+
+module.exports = {
+    sp_type,
+    sp_lc,
+    sp_status,
+    sp_status_list,
+};

+ 153 - 0
app/view/tender/shenpi.ejs

@@ -0,0 +1,153 @@
+<% include ./tender_sub_menu.ejs %>
+<div class="panel-content">
+    <div class="panel-title">
+        <div class="title-main d-flex">
+            <% include ./tender_sub_mini_menu.ejs %>
+            <h2>审批流程设置</h2>
+        </div>
+    </div>
+    <div class="content-wrap">
+        <div class="c-body">
+            <div class="sjs-height-0">
+                <div class="row m-0 mt-3">
+                    <div class="col-7">
+                        <% for (const sp of shenpi.sp_lc) { %>
+                            <div class="card mb-3">
+                                <div class="card-body">
+                                    <h5 class="card-title"><%- sp.name %></h5>
+                                    <div class="form-group">
+                                        <div class="form-group form-check">
+                                            <% for (const st in shenpi.sp_status_list) { %>
+                                                <div class="custom-control custom-checkbox custom-control-inline">
+                                                    <input type="radio" class="custom-control-input" data-code="<%- sp.code %>" value="<%- shenpi.sp_status_list[st].status %>" name="<%- sp.code %>" id="<%- sp.code %>_<%- shenpi.sp_status_list[st].status %>" <%if (sp.status && sp.status === shenpi.sp_status_list[st].status) { %>checked<% } %>>
+                                                    <label class="custom-control-label" for="<%- sp.code %>_<%- shenpi.sp_status_list[st].status %>"><%- shenpi.sp_status_list[st].name %></label>
+                                                </div>
+                                            <% } %>
+                                        </div>
+                                    </div>
+                                    <div class="alert alert-warning">
+                                        <% if (sp.status) { %><%- shenpi.sp_status_list[sp.status].name %>:<%- shenpi.sp_status_list[sp.status].msg %><% } %>
+                                    </div>
+                                    <div class="lc-show">
+                                    <% if (sp.status && sp.status === shenpi.sp_status.gdspl) { %>
+                                    <ul class="list-unstyled">
+                                        <li class="d-flex justify-content-start mb-3">
+                                            <span class="col-auto">一审</span>
+                                            <span class="col-7 spr-span">
+                                                <span class="d-inline-block"></span>
+                                                <span class="d-inline-block"><span class="badge badge-light">王五 <a href="javascript:void(0);" class="remove-audit btn-sm text-danger px-1" title="移除"><i class="fa fa-remove"></i></a></span> </span>
+                                            </span>
+                                        </li>
+                                        <li class="d-flex justify-content-start mb-3">
+                                            <span class="col-auto">二审</span>
+                                            <span class="col-7 spr-span">
+                                            <span class="d-inline-block">
+                                                <div class="dropdown text-right">
+                                                    <button class="btn btn-outline-primary btn-sm dropdown-toggle" type="button" id="<%- sp.code %>_dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                                                        选择审批人
+                                                    </button>
+                                                    <div class="dropdown-menu dropdown-menu-right" aria-labelledby="<%- sp.code %>_dropdownMenuButton" style="width:220px">
+                                                        <div class="mb-2 p-2"><input class="form-control form-control-sm gr-search"
+                                                                                     placeholder="姓名/手机 检索" autocomplete="off"></div>
+                                                        <dl class="list-unstyled book-list">
+                                                            <% accountGroup.forEach((group, idx) => { %>
+                                                                <dt><a href="javascript: void(0);" class="acc-btn" data-groupid="<%- idx %>" data-type="hide"><i class="fa fa-plus-square"></i></a> <%- group.groupName %></dt>
+                                                                <div class="dd-content" data-toggleid="<%- idx %>">
+                                                                    <% group.groupList.forEach(item => { %>
+                                                                        <% if (item.id !== ctx.session.sessionUser.accountId) { %>
+                                                                            <dd class="border-bottom p-2 mb-0 " data-id="<%- item.id %>" >
+                                                                    <p class="mb-0 d-flex"><span class="text-primary"><%- item.name %></span><span
+                                                                                class="ml-auto"><%- item.mobile %></span></p>
+                                                                    <span class="text-muted"><%- item.role %></span>
+                                                                    </dd>
+                                                                        <% } %>
+                                                                    <% });%>
+                                                                </div>
+                                                            <% }) %>
+                                                        </dl>
+                                                    </div>
+                                                </div>
+                                            </span>
+                                        </span>
+                                        </li>
+                                        <li class="pl-3"><a href="javascript:void(0);" class="add-audit" ><i class="fa fa-plus"></i> 添加流程</a></li>
+                                    </ul>
+                                    <% } else if (sp.status && sp.status === shenpi.sp_status.gdzs) { %>
+                                    <ul class="list-unstyled">
+                                        <li class="d-flex justify-content-start mb-3">
+                                            <span class="col-auto">授权审批人</span>
+                                            <span class="col-7">
+                                                <span class="d-inline-block"></span>
+                                            </span>
+                                        </li>
+                                        <li class="d-flex justify-content-start mb-3">
+                                            <span class="col-auto">终审</span>
+                                            <span class="col-7 spr-span">
+                                                <span class="d-inline-block">
+                                                    <div class="dropdown text-right">
+                                                        <button class="btn btn-outline-primary btn-sm dropdown-toggle" type="button" id="<%- sp.code %>_dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                                                            选择审批人
+                                                        </button>
+                                                        <div class="dropdown-menu dropdown-menu-right" aria-labelledby="<%- sp.code %>_dropdownMenuButton" style="width:220px">
+                                                            <div class="mb-2 p-2"><input class="form-control form-control-sm gr-search"
+                                                                                         placeholder="姓名/手机 检索" autocomplete="off"></div>
+                                                            <dl class="list-unstyled book-list">
+                                                                <% accountGroup.forEach((group, idx) => { %>
+                                                                <dt><a href="javascript: void(0);" class="acc-btn" data-groupid="<%- idx %>" data-type="hide"><i class="fa fa-plus-square"></i></a> <%- group.groupName %></dt>
+                                                                    <div class="dd-content" data-toggleid="<%- idx %>">
+                                                                    <% group.groupList.forEach(item => { %>
+                                                                        <% if (item.id !== ctx.session.sessionUser.accountId) { %>
+                                                                        <dd class="border-bottom p-2 mb-0 " data-id="<%- item.id %>" >
+                                                                        <p class="mb-0 d-flex"><span class="text-primary"><%- item.name %></span><span
+                                                                                    class="ml-auto"><%- item.mobile %></span></p>
+                                                                        <span class="text-muted"><%- item.role %></span>
+                                                                        </dd>
+                                                                        <% } %>
+                                                                    <% });%>
+                                                                    </div>
+                                                                <% }) %>
+                                                            </dl>
+                                                        </div>
+                                                    </div>
+                                                </span>
+                                            </span>
+                                        </li>
+                                    </ul>
+                                    <% } %>
+                                    </div>
+                                </div>
+                            </div>
+                        <% } %>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="/public/js/sub_menu.js"></script>
+<script>
+    const sp_status = JSON.parse('<%- JSON.stringify(shenpi.sp_status) %>');
+    const sp_status_list = JSON.parse('<%- JSON.stringify(shenpi.sp_status_list) %>');
+    const accountGroup = JSON.parse('<%- JSON.stringify(accountGroup) %>');
+    const accountList = JSON.parse('<%- JSON.stringify(accountList) %>');
+    const cur_uid = parseInt('<%- ctx.session.sessionUser.accountId %>');
+</script>
+<script src="/public/js/shenpi.js"></script>
+<script>
+    $.subMenu({
+        menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
+        toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
+        key: 'menu.1.0.0',
+        miniHint: '#sub-mini-hint', hintKey: 'menu.hint.1.0.1',
+        callback: function (info) {
+            if (info.mini) {
+                $('.panel-title').addClass('fluid');
+                $('#sub-menu').removeClass('panel-sidebar');
+            } else {
+                $('.panel-title').removeClass('fluid');
+                $('#sub-menu').addClass('panel-sidebar');
+            }
+            autoFlashHeight();
+        }
+    });
+</script>