Pārlūkot izejas kodu

账号设置权限页添加搜索功能

laiguoran 3 gadi atpakaļ
vecāks
revīzija
db18d27051

+ 14 - 11
app/controller/setting_controller.js

@@ -209,22 +209,24 @@ module.exports = app => {
                     throw '没有访问权限';
                 }
 
+                let keyword = '';
+                if (ctx.query.keyword) {
+                    keyword = ctx.query.keyword;
+                }
+
                 // 获取数据规则
-                // const rule = ctx.service.projectAccount.rule('updateUser');
-                // const frontRule = ctx.helper.validateConvert(rule);
                 const page = ctx.page;
                 const pageSize = ctx.pageSize;
+                const columns = ['id', 'account', 'name', 'company', 'role', 'mobile', 'auth_mobile', 'telephone', 'enable', 'is_admin', 'bind', 'account_group', 'permission', 'cooperation'];
+                // 过滤数据
+                ctx.service.projectAccount.searchFilter(ctx.request.query, projectId, columns);
                 ctx.sort = ['id', 'desc'];
-                const total = await ctx.service.projectAccount.count({ project_id: projectId });
-                // 获取项目用户列表
-                // const accountData = await ctx.service.projectAccount.getAllDataByCondition({
-                //     where: { project_id: projectId },
-                //     columns: ['id', 'account', 'name', 'company', 'role', 'is_admin', 'account_group', 'permission', 'cooperation'],
-                // });
+                const total = await ctx.service.projectAccount.getCountWithBuilder();
 
-                const columns = ['id', 'account', 'name', 'company', 'role', 'is_admin', 'account_group', 'permission', 'cooperation'];
+                const accountData = await ctx.service.projectAccount.getListWithBuilder();
 
-                const accountData = await ctx.service.projectAccount.getListByProjectId(columns, projectId);
+                // 获取账号个数
+                const user_total = await ctx.service.projectAccount.count({ project_id: projectId });
 
                 // 分页相关
                 const pageInfo = {
@@ -241,9 +243,10 @@ module.exports = app => {
                     accountData,
                     accountGroup,
                     permission,
+                    keyword,
                     permissionStr: JSON.stringify(permission),
                     pageInfo,
-                    user_total: total,
+                    user_total,
                     // rule: JSON.stringify(frontRule),
                 };
                 await this.layout('setting/user_permission.ejs', renderData, 'setting/user_permission_modal.ejs');

+ 1 - 2
app/service/project_account.js

@@ -758,9 +758,8 @@ module.exports = app => {
          * @param {Object} data - 筛选表单中的get数据
          * @return {void}
          */
-        searchFilter(data, projectId) {
+        searchFilter(data, projectId, columns = ['id', 'account', 'name', 'company', 'role', 'mobile', 'auth_mobile', 'telephone', 'enable', 'is_admin', 'account_group', 'bind']) {
             this.initSqlBuilder();
-            const columns = ['id', 'account', 'name', 'company', 'role', 'mobile', 'auth_mobile', 'telephone', 'enable', 'is_admin', 'account_group', 'bind'];
             this.sqlBuilder.columns = columns;
 
             this.sqlBuilder.setAndWhere('project_id', {

+ 8 - 0
app/view/setting/user_permission.ejs

@@ -17,6 +17,14 @@
                 <nav class="nav nav-tabs m-3" role="tablist">
                     <a class="nav-item nav-link" href="/setting/user">账号列表</a>
                     <a class="nav-item nav-link active" href="/setting/user/permission/set">账号权限</a>
+                    <div class="ml-auto">
+                        <form class="input-group input-group-sm" method="get">
+                            <input type="text" class="form-control" value="<%- keyword %>" name="keyword" placeholder="账号/姓名/单位/手机 搜索" aria-label="账号/姓名/单位/手机 搜索" aria-describedby="button-addon2">
+                            <div class="input-group-append">
+                                <button class="btn btn-outline-primary" type="submit" id="button-addon2"><i class="fa fa-search"></i></button>
+                            </div>
+                        </form>
+                    </div>
                 </nav>
                 <div class="tab-content m-3">
                     <div id="user-purview" class="tab-pane active">