Browse Source

提交权限相关数据

olym 7 years ago
parent
commit
6f4f0ea7db
4 changed files with 238 additions and 13 deletions
  1. 2 0
      app/controller/account_controller.js
  2. 35 13
      app/view/account/index.ejs
  3. 103 0
      app/view/layout/modal.ejs
  4. 98 0
      config/permission.js

+ 2 - 0
app/controller/account_controller.js

@@ -8,6 +8,7 @@
  * @version
  */
 
+const permission = require('../../config/permission');
 module.exports = app => {
 
     class AccountController extends app.BaseController {
@@ -25,6 +26,7 @@ module.exports = app => {
                 const accountList = await ctx.service.projectAccount.getAccountByProjectId(sessionProject.id);
                 const renderData = {
                     accountList,
+                    permissionList: JSON.stringify(permission.permissionList),
                 };
                 await this.layout('account/index.ejs', renderData);
             } catch (error) {

+ 35 - 13
app/view/account/index.ejs

@@ -58,24 +58,46 @@
                             <th>权限</th>
                         </thead>
                         <tbody>
+                        <% if (accountList.length > 0) { %>
+                        <% accountList.forEach(function (account) { %>
                         <tr>
-                            <td>chente</td>
-                            <td>陈特</td>
-                            <td>珠海纵横创新软件有限公司</td>
-                            <td>产品经理</td>
-                            <td>台帐管理(创建标段)<a href="" class="btn btn-sm">编辑</a></td>
-                        </tr>
-                        <tr>
-                            <td>chente</td>
-                            <td>陈特</td>
-                            <td>珠海纵横创新软件有限公司</td>
-                            <td>产品经理</td>
-                            <td><a href="" class="btn btn-sm">编辑</a></td>
+                            <td><%= account.account %></td>
+                            <td><%= account.name %></td>
+                            <td><%= account.company %></td>
+                            <td><%= account.role %></td>
+                            <td>台帐管理(创建标段)<a href="#permission-form" data-toggle="modal" data-target="#permission-form" class="btn btn-sm">编辑</a></td>
                         </tr>
+                        <% }) %>
+                        <% } %>
                         </tbody>
                     </table>
                 </div>
             </div>
         </div>
     </div>
-</div>
+</div>
+<script type="text/javascript">
+let permissionList = '<%- permissionList %>';
+permissionList = JSON.parse(permissionList);
+
+$(document).ready(function() {
+    // 初始化弹窗数据
+    $("#permission-form").on("show.bs.modal", function() {
+        let html = '';
+        for (const index in permissionList) {
+            html += '<div class="form-group">' +
+                '<label><i class="fa '+ permissionList[index].icon +'"></i> '+ permissionList[index].name +'</label>' +
+                '<div>';
+            for (const child of permissionList[index].permission) {
+                html += '<div class="form-check form-check-inline">' +
+                    '<input class="form-check-input" type="checkbox" name="permission" value="'+ child.value +'">' +
+                    '<label class="form-check-label">'+ child.name +'</label>' +
+                    '</div>';
+            }
+            html += '</div></div>';
+        }
+        $(this).find('.modal-body').html(html);
+    });
+});
+
+</script>

+ 103 - 0
app/view/layout/modal.ejs

@@ -28,4 +28,107 @@
             </div>
         </form>
     </div>
+</div>
+
+<!--弹出编辑权限-->
+<div class="modal fade" id="permission-form" 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">
+                <div class="form-group">
+                    <label><i class="fa fa-list-ul"></i> 标段管理</label>
+                    <div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option1">
+                            <label class="form-check-label" for="inlineCheckbox1">创建标段</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox2" value="option2">
+                            <label class="form-check-label" for="inlineCheckbox2">查看项目下所有标段</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox3" value="option2">
+                            <label class="form-check-label" for="inlineCheckbox3">仅查看我参与的(创建、审批)</label>
+                        </div>
+                    </div>
+                </div>
+                <div class="form-group">
+                    <label><i class="fa fa-list-alt"></i> 台帐分解(台帐管理)</label>
+                    <div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox4" value="option1">
+                            <label class="form-check-label" for="inlineCheckbox4">编制台帐</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox5" value="option2">
+                            <label class="form-check-label" for="inlineCheckbox5">审批台帐</label>
+                        </div>
+                    </div>
+                </div>
+                <div class="form-group">
+                    <label><i class="fa fa-list-alt"></i> 台帐变更(台帐管理)</label>
+                    <div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox6" value="option1">
+                            <label class="form-check-label" for="inlineCheckbox6">编制变更</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox7" value="option2">
+                            <label class="form-check-label" for="inlineCheckbox7">审批变更</label>
+                        </div>
+                    </div>
+                </div>
+                <div class="form-group">
+                    <label><i class="fa fa-list-alt"></i> 计量台帐(台帐管理)</label>
+                    <div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox8" value="option1">
+                            <label class="form-check-label" for="inlineCheckbox8">查看</label>
+                        </div>
+                    </div>
+                </div>
+                <div class="form-group">
+                    <label><i class="fa fa-calendar-check-o"></i> 中间计量(计量管理)</label>
+                    <div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox9" value="option1">
+                            <label class="form-check-label" for="inlineCheckbox9">编制中间计量</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox10" value="option1">
+                            <label class="form-check-label" for="inlineCheckbox10">审批中间计量</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox11" value="option1">
+                            <label class="form-check-label" for="inlineCheckbox11">查阅标段下所有中间计量</label>
+                        </div>
+                    </div>
+                </div>
+                <div class="form-group">
+                    <label><i class="fa fa-calendar-check-o"></i> 期计量(计量管理)</label>
+                    <div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox12" value="option1">
+                            <label class="form-check-label" for="inlineCheckbox12">编制期计量</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox13" value="option1">
+                            <label class="form-check-label" for="inlineCheckbox13">审批期计量</label>
+                        </div>
+                        <div class="form-check form-check-inline">
+                            <input class="form-check-input" type="checkbox" id="inlineCheckbox14" value="option1">
+                            <label class="form-check-label" for="inlineCheckbox14">查阅标段下所有期计量</label>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary">提交修改</button>
+            </div>
+        </div>
+    </div>
 </div>

+ 98 - 0
config/permission.js

@@ -0,0 +1,98 @@
+'use strict';
+
+/**
+ * 权限数据
+ *
+ * @author CaiAoLin
+ * @date 2018/2/5
+ * @version
+ */
+const permission = {
+    // 创建标段
+    CREATE_TENDER: 1,
+    // 查看所有标段
+    VIEW_ALL_TENDER: 2,
+    // 仅查看我参与的标段
+    VIEW_MY_TENDER: 3,
+    // 编制台账
+    EDIT_LEDGER: 4,
+    // 审批台账
+    APPROVAL_LEDGER: 5,
+    // 编制变更
+    EDIT_APPROVAL: 6,
+    // 审批变更
+    CHANGE_APPROVAL: 7,
+    // 查看台账
+    VIEW_LEDGER: 8,
+    // 编制中间计量
+    EDIT_MIDDLE_MEASURE: 9,
+    // 审批中间计量
+    APPROVAL_MIDDLE_MEASURE: 10,
+    // 查阅标段下所有中间计量
+    VIEW_MIDDLE_MEASURE: 11,
+    // 编制期计量
+    EDIT_STAGE_MEASURE: 12,
+    // 审批期计量
+    APPROVAL_STAGE_MEASURE: 13,
+    // 查阅标段下所有期计量
+    VIEW_STAGE_MEASURE: 14,
+};
+
+const permissionList = {
+    tenderManager: {
+        name: '标段管理',
+        icon: 'fa-list-ul',
+        permission: [
+            { name: '创建标段', value: permission.CREATE_TENDER },
+            { name: '查看项目下所有标段', value: permission.VIEW_ALL_TENDER },
+            { name: '仅查看我参与的(创建、审批)', value: permission.VIEW_MY_TENDER },
+        ],
+    },
+    ledgerExplode: {
+        name: '台帐分解(台帐管理)',
+        icon: 'fa-list-alt',
+        permission: [
+            { name: '编制台帐', value: permission.EDIT_LEDGER },
+            { name: '审批台帐', value: permission.APPROVAL_LEDGER },
+        ],
+    },
+    ledgerChange: {
+        name: '台帐变更(台帐管理)',
+        icon: 'fa-list-alt',
+        permission: [
+            { name: '编制变更', value: permission.EDIT_APPROVAL },
+            { name: '审批变更', value: permission.CHANGE_APPROVAL },
+        ],
+    },
+    measureLedger: {
+        name: '计量台帐(台帐管理)',
+        icon: 'fa-list-alt',
+        permission: [
+            { name: '查看', value: permission.VIEW_LEDGER },
+        ],
+    },
+    middleMeasure: {
+        name: '中间计量(计量管理)',
+        icon: 'fa-calendar-check-o',
+        permission: [
+            { name: '编制中间计量', value: permission.EDIT_MIDDLE_MEASURE },
+            { name: '审批中间计量', value: permission.APPROVAL_MIDDLE_MEASURE },
+            { name: '查阅标段下所有中间计量', value: permission.VIEW_MIDDLE_MEASURE },
+        ],
+    },
+    stageMeasure: {
+        name: '期计量(计量管理)',
+        icon: 'fa-calendar-check-o',
+        permission: [
+            { name: '编制期计量', value: permission.EDIT_STAGE_MEASURE },
+            { name: '审批期计量', value: permission.APPROVAL_STAGE_MEASURE },
+            { name: '查阅标段下所有期计量', value: permission.VIEW_STAGE_MEASURE },
+        ],
+    },
+
+};
+
+module.exports = {
+    permission,
+    permissionList,
+};