فهرست منبع

Merge branch 'master' of http://192.168.101.10:13000/boman/boman-framwork

sr 4 سال پیش
والد
کامیت
6f92f58a09

+ 1 - 1
boman-common/boman-common-core/src/main/java/com/boman/common/core/utils/JSONArrayUtils.java

@@ -10,7 +10,7 @@ import com.boman.common.core.utils.obj.ObjectUtils;
 public class JSONArrayUtils {
     
     public static long[] jsonArrayToLongArray(JSONArray jsonArray){
-        ObjectUtils.requireNonNull(jsonArray);
+        ObjectUtils.requireNonNull(jsonArray, "jsonArrayToLongArray jsonArray is empty");
         long[] result = new long[jsonArray.size()];
         for (int i = 0; i < jsonArray.size(); i++) {
             result[i] = jsonArray.getLong(i);

+ 2 - 2
boman-common/boman-common-core/src/main/java/com/boman/common/core/utils/collection/CollectionUtils.java

@@ -13,7 +13,7 @@ import java.util.stream.Collectors;
 public class CollectionUtils {
 
     public static Long[] listToArray(List<Long> longList){
-        ObjectUtils.requireNonNull(longList);
+        ObjectUtils.requireNonNull(longList, "listToArray input data is empty");
         return longList.toArray(new Long[0]);
     }
 
@@ -30,7 +30,7 @@ public class CollectionUtils {
         return buffer.toString();
     }
 
-    public static <T> List<T> distinct(List<T> one, List<T> another) {
+    public static <T> List<T> addAllDistinct(List<T> one, List<T> another) {
         one.addAll(another);
         return one.stream().distinct().collect(Collectors.toList());
     }

+ 22 - 22
boman-common/boman-common-core/src/main/java/com/boman/common/core/utils/obj/ObjectUtils.java

@@ -20,16 +20,16 @@ public class ObjectUtils {
     private static final String NULL = "null";
     private static final String UNDEFINED = "undefined";
 
-    public static  <T> Collection<T> requireNonNull(Collection<T> input, String... errorMsg){
+    public static  <T> Collection<T> requireNonNull(Collection<T> input, String errorMsg){
         if (null == input || input.size() == 0) {
-            throw new IllegalArgumentException(errorMsg[0]);
+            throw new IllegalArgumentException(errorMsg);
         }
         return input;
     }
 
-    public static  <T> List<T> requireNonNull(List<T> input, String... errorMsg){
+    public static  <T> List<T> requireNonNull(List<T> input, String errorMsg){
         if (null == input || input.size() == 0) {
-            throw new IllegalArgumentException(errorMsg[0]);
+            throw new IllegalArgumentException(errorMsg);
         }
         return input;
     }
@@ -42,40 +42,40 @@ public class ObjectUtils {
         return !isEmpty(input);
     }
 
-    public static long[] requireNonNull(long[] input, String... errorMsg){
+    public static long[] requireNonNull(long[] input, String errorMsg){
         if (ArrayUtils.isEmpty(input)) {
-            throw new IllegalArgumentException(errorMsg[0]);
+            throw new IllegalArgumentException(errorMsg);
         }
 
         return input;
     }
 
 
-    public static Long[] requireNonNull(Long[] input, String... errorMsg){
+    public static Long[] requireNonNull(Long[] input, String errorMsg){
         if (ArrayUtils.isEmpty(input)) {
-            throw new IllegalArgumentException(errorMsg[0]);
+            throw new IllegalArgumentException(errorMsg);
         }
 
         return input;
     }
 
-    public static Boolean requireNonNull(Boolean input, String... errorMsg) {
+    public static Boolean requireNonNull(Boolean input, String errorMsg) {
         if (input == null) {
-            throw new IllegalArgumentException(errorMsg[0]);
+            throw new IllegalArgumentException(errorMsg);
         }
         return input;
     }
 
-    public static <T> T requireNonNull(T input, String... errorMsg) {
+    public static <T> T requireNonNull(T input, String errorMsg) {
         if (input == null) {
-            throw new IllegalArgumentException(errorMsg[0]);
+            throw new IllegalArgumentException(errorMsg);
         }
         return input;
     }
 
-    public static Integer requireNonNull(Integer input, String... errorMsg) {
+    public static Integer requireNonNull(Integer input, String errorMsg) {
         if (input == null || input < 0) {
-            throw new IllegalArgumentException(errorMsg[0]);
+            throw new IllegalArgumentException(errorMsg);
         }
         return input;
     }
@@ -97,24 +97,24 @@ public class ObjectUtils {
         return !isEmpty(input);
     }
 
-    public static String requireNonNull(String input, String... errorMsg) {
+    public static String requireNonNull(String input, String errorMsg) {
         if (input == null || input.isEmpty() || NULL.equalsIgnoreCase(input) || UNDEFINED.equalsIgnoreCase(input)) {
-            throw new IllegalArgumentException(errorMsg[0]);
+            throw new IllegalArgumentException(errorMsg);
         }
         return input;
     }
 
-    public static int requireNonNull(int input, String... errorMsg) {
+    public static int requireNonNull(int input, String errorMsg) {
         if (input <= 0) {
-            throw new IllegalArgumentException(errorMsg[0]);
+            throw new IllegalArgumentException(errorMsg);
         }
         return input;
     }
 
 
-    public static JSONObject requireNonNull(JSONObject input, String... errorMsg) {
+    public static JSONObject requireNonNull(JSONObject input, String errorMsg) {
         if (input == null || input.isEmpty()) {
-            throw new IllegalArgumentException(errorMsg[0]);
+            throw new IllegalArgumentException(errorMsg);
         }
         return input;
     }
@@ -187,9 +187,9 @@ public class ObjectUtils {
         return !isEmpty(input);
     }
 
-    public static JSONArray requireNonNull(JSONArray input, String... errorMsg) {
+    public static JSONArray requireNonNull(JSONArray input, String errorMsg) {
         if (input == null || input.isEmpty()) {
-            throw new IllegalArgumentException(errorMsg[0]);
+            throw new IllegalArgumentException(errorMsg);
         }
         return input;
     }

+ 2 - 2
boman-modules/boman-gen/src/main/java/com/boman/gen/service/LoadTableServerImpl.java

@@ -47,12 +47,12 @@ public class LoadTableServerImpl implements ILoadTableServer{
     @Override
     public AjaxResult loadTable(GenTable genTable) {
         List<GenTable> tableList = genTableService.selectGenTableList(genTable);
-        requireNonNull(tableList);
+        requireNonNull(tableList, "tableList is empty");
 
         // load table and tableColumn
         List<Long> tableIdList = tableList.stream().map(GenTable::getId).collect(Collectors.toList());
         List<GenTableColumn> genTableColumns = genTableColumnService.listByTableIdList(tableIdList);
-        requireNonNull(genTableColumns);
+        requireNonNull(genTableColumns, "genTableColumns is empty");
         packTableAndInsertToRedis(tableList, genTableColumns);
 
         List<GenTableRelation> relationList = genTableRelationService.selectGenTableRelationList(new GenTableRelation());

+ 1 - 1
boman-modules/boman-system/src/main/java/com/boman/system/controller/SysRoleController.java

@@ -41,7 +41,7 @@ public class SysRoleController extends BaseController
     @GetMapping("/list")
     public TableDataInfo list(SysRole role)
     {
-//        startPage();
+        startPage();
         List<SysRole> list = roleService.selectRoleList(role);
         return getDataTable(list);
     }

+ 1 - 1
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysRoleMenuServiceImpl.java

@@ -75,7 +75,7 @@ public class SysRoleMenuServiceImpl implements ISysRoleMenuService{
             childList = buildBtnByHead(head, childList);
             List<Long> childIdList = map(childList, SysMenu::getId);
             List<SysRoleMenu> roleMenuList = buildRoleMenu(roleId, childIdList);
-            List<Long> distinct = CollectionUtils.distinct(childIdList, map(originChildList, SysMenu::getId));
+            List<Long> distinct = CollectionUtils.addAllDistinct(childIdList, map(originChildList, SysMenu::getId));
             try {
                 // 先删除,再添加,防止联合索引报错
                 deleteByRoleIdList(Collections.singletonList(roleId), distinct);

+ 14 - 3
boman-modules/boman-system/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -78,16 +78,27 @@
 		</if>
 		order by m.parent_id, m.order_num
 	</select>
-    
+
     <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
-		select distinct m.id, m.parent_id, m.menu_name, m.path, m.component, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time, m.create_by, m.update_by, m.update_time, m.remark, m.sys_table_name
+		select distinct m.id, m.parent_id, m.menu_name, m.path, m.component, m.visible, m.status, ifnull(m.perms,'') as perms
+		              , m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time, m.create_by, m.update_by
+		              , m.update_time, m.remark, m.sys_table_name
 		from sys_menu m
 			 left join sys_role_menu rm on m.id = rm.menu_id
 			 left join sys_user_role ur on rm.role_id = ur.role_id
 			 left join sys_role ro on ur.role_id = ro.id
 			 left join sys_user u on ur.user_id = u.id
 		where u.id = #{userId} and m.menu_type in ('M', 'C') and m.status = 0  AND ro.status = 0
-		order by m.parent_id, m.order_num
+	    union
+		select distinct m.id, m.parent_id, m.menu_name, m.path, m.component, m.visible, m.status, ifnull(m.perms,'') as perms
+					  , m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time, m.create_by, m.update_by
+					  , m.update_time, m.remark, m.sys_table_name
+		from sys_menu m
+				 left join sys_role_menu rm on m.id = rm.menu_id
+				 left join sys_user_role ur on rm.role_id = ur.role_id
+				 left join sys_role ro on ur.role_id = ro.id
+				 left join sys_user u on ur.user_id = u.id
+		where m.visible = 1
 	</select>
 
 	<select id="listBtnByUserId" parameterType="Long" resultMap="SysMenuResult">

+ 44 - 22
boman-web-core/src/main/java/com/boman/web/core/service/TableServiceCmdService.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.boman.common.core.constant.GenConstants;
 import com.boman.common.core.utils.SecurityUtils;
+import com.boman.common.core.utils.StringUtils;
 import com.boman.common.core.utils.array.ArrayUtils;
 import com.boman.common.core.utils.collection.CollectionUtils;
 import com.boman.common.core.utils.obj.ObjectUtils;
@@ -13,6 +14,7 @@ import com.boman.common.redis.RedisKey;
 import com.boman.common.redis.service.RedisService;
 import com.boman.domain.GenTable;
 import com.boman.domain.GenTableColumn;
+import com.boman.domain.SysDictData;
 import com.boman.domain.constant.*;
 import com.boman.domain.dto.RoleMenuDto;
 import com.boman.domain.exception.NoSuchFunctionException;
@@ -204,7 +206,7 @@ public class TableServiceCmdService {
     public AjaxResult objectLogicDelete(FormDataDto dto) {
         requireNonNull(dto.getTable(), "tableName = [" + dto.getTable() + "] 此表不存在");
         Long[] idArr = CollectionUtils.listToArray(dto.getIdList());
-        requireNonNull(idArr);
+        requireNonNull(idArr, "objectLogicDelete idArr is empty");
 
         // 拿到pkName
         GenTable genTable = getTableFromRedisByTableName(RedisKey.TABLE_INFO, dto.getTable());
@@ -274,6 +276,10 @@ public class TableServiceCmdService {
 
         List<JSONObject> result = selectService.selectByCondition(tableName, condition, packCondition, showData, dto);
         result = filter(result, ObjectUtils::isNotEmpty);
+
+        // 查询时为null的列不显示的处理
+        handleNullColumnValue(result, showData);
+
         // 处理blob
         handleBlob(result, genTable.getIsContainsBlob());
         // 处理日期、外键、字典值
@@ -306,34 +312,45 @@ public class TableServiceCmdService {
             return getByTableName(tableName, columns, isUi);
         }
 
-        // 权限
-        if (BooleanUtils.isFalse(checkAuthGetObject (genTable, id))) {
-            throw new NoSuchFunctionException("不好意思,您无权限操作该条数据");
-        }
-
-        // 默认查所有字段,不支持自定义
+        List<GenTableColumn> updateVisibleColumns = filterData(columns, 2, MaskConstant.UPDATE_VISIBLE::equals);
+        List<String> showData = map(updateVisibleColumns, GenTableColumn::getColumnName);
         String pkName = IdUtils.getPkName(genTable.getColumns());
-        JSONObject json = selectService.selectById(tableName, pkName, id);
-        requireNonNull(json, "id 为[" + id + "]的数据不存在, 表名为[" + tableName + "]");
-        // 处理blob
-        handleBlob(Collections.singletonList(json), genTable.getIsContainsBlob());
 
+        List<JSONObject> jsonList = selectService.selectByIdList(tableName, pkName, Lists.newArrayList(id), showData);
+        requireNonNull(jsonList, "id 为[" + id + "]的数据不存在, 模块为[" + genTable.getFunctionName() + "]");
+        // 查询时为null的列不显示的处理
+        handleNullColumnValue(jsonList, showData);
+        JSONObject json = jsonList.get(0);
+
+        // 处理blob
+        handleBlob(jsonList, genTable.getIsContainsBlob());
         List<GenTableColumn> parentColumns = filterHrAndSort(columns);
+
+        //接收可能存在的cssClass
+        String cssClass = null;
         // 处理成hr的形式
         for (GenTableColumn hrColumn : parentColumns) {
             List<GenTableColumn> children = Lists.newArrayListWithCapacity(16);
-            for (GenTableColumn column : columns) {
+            for (GenTableColumn column : updateVisibleColumns) {
                 if (hrColumn.getId().equals(column.getHrParentId())) {
                     String columnName = column.getColumnName();
                     String columnType = column.getColumnType();
                     String htmlType = column.getHtmlType();
                     String dictType = column.getDictType();
                     if (containsKeyIgnoreCase(json, columnName)) {
+                        column.setColumnValue(json.get(columnName));
                         // sysDict
                         if (isNotEmpty(dictType)) {
-                            // 既要sysDictData还得要columnValue
-                            column.setSysDictData(listSysDictDataByType(dictType));
-                            column.setColumnValue(json.get(columnName));
+                            String value = json.getString(columnName);
+                            List<SysDictData> sysDictData = column.getSysDictData();
+                            if (sysDictData != null && sysDictData.size() > 0) {
+                                for (SysDictData sysDictDatum : sysDictData) {
+                                    if (sysDictDatum.getDictValue().equals(value)) {
+                                        cssClass = sysDictDatum.getCssClass();
+                                        break;
+                                    }
+                                }
+                            }
                         }
                         // dateTime
                         if (NEED_CONVERT_DATE_LIST.contains(columnType)) {
@@ -347,8 +364,7 @@ public class TableServiceCmdService {
                         if (HTML_IMAGE_UPLOAD.equalsIgnoreCase(htmlType) || HTML_FILE_UPLOAD.equalsIgnoreCase(htmlType)) {
                             column.setAnnex(getAnnex(json.getString(columnName)));
                         }
-
-                        column.setReadonly(SubmitConstant.STATUS.equals(columnName));
+                        //column.setReadonly(SubmitConstant.STATUS.equals(columnName));
                     }
 
                     children.add(column);
@@ -357,6 +373,12 @@ public class TableServiceCmdService {
             hrColumn.setHrChildren(children);
         }
 
+        //给基本属性和日志信息添加上cssClass
+        if (StringUtils.isNotBlank(cssClass)){
+            for (GenTableColumn parentColumn : parentColumns) {
+                parentColumn.setCssClass(cssClass);
+            }
+        }
         JSONObject result = new JSONObject();
         result.put(SHOW_DATA, parentColumns);
         result.put(BUTTON_LIST, getButton(tableName));
@@ -517,7 +539,7 @@ public class TableServiceCmdService {
         List<Long> idList = map(commitData, jsonObject -> jsonObject.getLong(FormDataConstant.ID));
 
         List<JSONObject> beforeList = selectService.selectByIdList(tableName, pkName, idList, Lists.newArrayList(pkName, STATUS));
-        requireNonNull(beforeList);
+        requireNonNull(beforeList, "beforeList is empty");
 
         for (JSONObject commitDatum : commitData) {
             String dbStatus = getStatusFromFormData(commitDatum, beforeList);
@@ -581,8 +603,8 @@ public class TableServiceCmdService {
      * @return 结果
      */
     public List<JSONObject> isCustomized(String tableName, List<JSONObject> result, String action) {
-        requireNonNull(tableName);
-        requireNonNull(action);
+        requireNonNull(tableName, "tableName is empty");
+        requireNonNull(action, "action is empty");
         if (result != null && result.size() > 0) {
             //获取到服务名称
             String triggerName = getTriggerName(tableName, action);
@@ -603,7 +625,7 @@ public class TableServiceCmdService {
      */
     private String getTriggerName(String tableName, String action) {
         GenTable genTable = getTableFromRedisByTableName(RedisKey.TABLE_INFO, tableName);
-        requireNonNull(genTable);
+        requireNonNull(genTable, "genTable empty");
         if (action.equals(TriggerActionConstant.ACTION_CREATE)) {
             return genTable.getTriggerCreate();
         } else if (action.equals(TriggerActionConstant.ACTION_RETRIEVE)) {
@@ -627,7 +649,7 @@ public class TableServiceCmdService {
      */
     public GenTable getTableFromRedisByTableName(String redisKeyPrefix, String tableName) {
         tableName = tableName.trim().toLowerCase();
-        String key = requireNonNull(redisKeyPrefix) + requireNonNull(tableName);
+        String key = requireNonNull(redisKeyPrefix, "redisKeyPrefix is empty") + requireNonNull(tableName, "tableName is empty");
         GenTable genTable = redisService.getCacheObject(key);
         if (ObjectUtils.isEmpty(genTable)) {
             genTable = remoteGenTableService.getByTableName(tableName);

+ 4 - 6
boman-web-core/src/main/java/com/boman/web/core/service/select/BaseSelectServiceImpl.java

@@ -44,16 +44,14 @@ public class BaseSelectServiceImpl implements IBaseSelectService {
      * @param condition     原始查询条件
      * @param packCondition 封装的查询条件
      * @param showData      前台需要查询的列
-     * @param orderBy       orderBy
-     * @param limit         分页
-     * @param offset        分页
+     * @param dto           orderBy limit offset
      * @return java.util.List<com.alibaba.fastjson.JSONObject>
      */
     @Override
     public List<JSONObject> selectByCondition(String tableName, JSONObject condition, JSONObject packCondition, JSONArray showData, FormDataDto dto) {
         requireNonNull(tableName, "表名为空");
         requireNonNull(showData, "表: [" + tableName + "] , 过滤了可展示字段,一个展示字段都没有,还查个鬼啊");
-        String orderBy = requireNonNull(dto.getOrderBy());
+        String orderBy = requireNonNull(dto.getOrderBy(), "order by is empty");
         return mapper.selectByCondition(tableName, condition, packCondition, showData, orderBy, dto.getLimit(), dto.getOffset());
     }
 
@@ -122,7 +120,7 @@ public class BaseSelectServiceImpl implements IBaseSelectService {
     public JSONObject selectById(String tableName, String pkName, Long id) {
         requireNonNull(tableName, "表名为空");
         requireNonNull(pkName, "主键名称为空");;
-        requireNonNull(id);
+        requireNonNull(id, "selectById id is empty");
         return mapper.selectById(tableName, pkName, id);
     }
 
@@ -139,7 +137,7 @@ public class BaseSelectServiceImpl implements IBaseSelectService {
     public List<JSONObject> selectByIdList(String tableName, String pkName, List<Long> idList, List<String> showData) {
         requireNonNull(tableName, "表名为空");
         requireNonNull(pkName, "主键名称为空");;
-        requireNonNull(idList);
+        requireNonNull(idList, "selectByIdList idList is empty");
 
         return mapper.selectByIdList(tableName, pkName, idList, showData);
     }

+ 1 - 1
boman-web-core/src/main/java/com/boman/web/core/service/update/BaseUpdateServiceImpl.java

@@ -54,7 +54,7 @@ public class BaseUpdateServiceImpl implements IBaseUpdateService {
     }
 
     private JSONObject escapeByQueryType(List<GenTableColumn> columns, JSONObject commitData) {
-        requireNonNull(columns);
+        requireNonNull(columns, "columns is empty");
         JSONObject result = new JSONObject(columns.size());
         for (Map.Entry<String, Object> entry : commitData.entrySet()) {
             String key = entry.getKey();

+ 9 - 3
ruoyi-ui/src/views/index.vue

@@ -228,10 +228,10 @@
     <!-- <el-divider /> -->
   <!-- 添加或修改公告对话框 -->
   <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="980px" append-to-body>
-            <el-form ref="form" :model="form" :rules="rules" label-width="160px" class="from_index">
+            <el-form ref="form" :model="form" :rules="queryData.rules" label-width="160px" class="from_index">
               <el-row>
                 <el-col :span="24" >
-                 <dynamic-forms   :ref="item.columnName" :config="form.fixedData" @inputs = "changeFn" :formConfig="item" v-for="(item,index) in queryData.showData" :key='index' />
+                 <dynamic-forms @modelFn="modelFn"   :ref="item.columnName" :config="form.fixedData" @inputs = "changeFn" :formConfig="item" v-for="(item,index) in queryData.showData" :key='index' />
                 </el-col>
               </el-row>
             </el-form>
@@ -287,7 +287,8 @@ export default {
         pageSize:10,
         fixedData:{
           condition:{
-            notice_type:1
+            notice_type:1,
+            status:0
           }
         }
 
@@ -493,6 +494,11 @@ export default {
           }
          return content
         },
+      modelFn(obj, cont) {
+        // console.log(obj, cont)
+        this.$set(this.form,obj,cont)
+        // console.log(this.$set(this.queryParams,obj,cont))
+      },
     //数据  第一部分列表
     getList() {
       this.loading = true;

+ 30 - 12
ruoyi-ui/src/views/system/permissions/index.vue

@@ -1,10 +1,10 @@
 <template>
-  <div class="app-container">
-    <el-row style="margin-top: 18px;">
+  <div class="app-container app-containerth">
+    <el-row style="margin-top: 18px;" class="searBoxstu" >
       <el-col :span="5" class="searBoxs">
-        <el-row class="roleBoxui">
-          <el-col :span="24" class="roleBotyu">
-            <el-row :gutter="10" class="mb8">
+        <el-row class="roleBoxui" >
+          <el-col :span="24" class="roleBotyu" style="height: 100%;">
+            <el-row :gutter="10" class="mb8" style="height: 100%;">
             <el-col :span="1.5">
               <el-button type="primary" style="background-color: #FF9639;color: #fff;border: none;" plain icon="el-icon-refresh"
                 @click="efresh" v-hasPermi="['system:role:list']">刷新</el-button>
@@ -25,6 +25,8 @@
             {{item.roleName}}
           </div>
         </div>
+        <pagination sty v-show="totale>0" :total="totale" layout="prev, pager, next" :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize" @pagination="getList" small />
       </el-col>
       <el-col :span="19" class="roleContr">
         <el-row class="roleBox">
@@ -75,6 +77,7 @@
            :page.sync="queryParamstr.pageNum"
            :limit.sync="queryParamstr.pageSize"
            @pagination="getDeptTreeselect"
+           class="pajie"
          />
         </div>
       </el-col>
@@ -132,6 +135,7 @@
         showSearch: true,
         // 总条数
         total: 0,
+        totale:0,
         // 角色表格数据
         roleList: [],
         // 弹出层标题
@@ -157,7 +161,9 @@
         queryParams: {
           roleName: undefined,
           roleId: undefined,
-          status: undefined
+          status: undefined,
+          pageNum: 1,
+          pageSize: 10,
         },
         queryParamstr:{
           pageNum: 1,
@@ -227,11 +233,12 @@
       /** 查询角色列表 */
       getList() {
         this.loading = true;
-        this.roleList = []   
+        this.roleList = []
         listRole(this.addDateRange(this.queryParams, this.dateRange)).then(
           response => {
             if(response.rows.length !==0){
               this.roleList = response.rows;
+              this.totale = response.total;
             }else{
               this.roleList.push({roleName:'暂无数据'})
             }
@@ -503,6 +510,11 @@
       margin-top: 87px;
     }
   }
+  .app-containerth{
+    .pajie{
+      bottom: 30px;
+    }
+  }
 </style>
 <style lang="scss" scoped>
   .roleContrBox {
@@ -510,11 +522,12 @@
     // border-radius: 6px;
     overflow: hidden;
     padding: 23px 0;
+    height: calc(95vh - 168px);;
   }
 
   .roleContr {
     padding-left: 17px;
-
+    height: calc(100% - 168px);
     .searContLeft {
       padding:0 17px 23px 23px;
       // border-right: 2px solid #E5E5E5;
@@ -573,12 +586,17 @@
       }
     }
   }
-
+ .searBoxstu{
+    // height: 100vh;
+    // height: calc(100vh - 70px);
+    // background-color: #fff;
+ }
   .searBoxs {
     background-color: #fff;
     border-radius: 6px;
     padding: 23px;
-
+    height: calc(100vh - 140px); ;
+    min-height: calc(100vh - 140px);
     .searBox {
       display: flex;
 
@@ -624,7 +642,7 @@
 
     .searList {
       padding: 10px 0;
-
+      height: 70%;
       .searItem {
         padding: 0 8px;
         line-height: 30px;
@@ -642,7 +660,7 @@
 
   .app-container {
     background-color: #EFF0FF;
-    min-height: calc(100vh - 70px);
+    // min-height: calc(100vh - 70px);
     box-sizing: border-box;
     box-sizing: border-box;
   }

+ 1 - 1
ruoyi-ui/src/views/system/role/fz-index.vue

@@ -43,7 +43,7 @@
           </div>
         </div>
         <pagination sty v-show="total>0" :total="total" layout="prev, pager, next" :page.sync="queryParams.pageNum"
-          :limit.sync="queryParams.pageSize" />
+          :limit.sync="queryParams.pageSize" :pager-count="2" />
       </el-col>
       <el-col :span="19" class="roleContr">
         <div class="roleContrBox">