Răsfoiți Sursa

Merge branch 'dev' of http://94.191.59.107:3000/wukai/lzga-doc into dev

yxc 2 ani în urmă
părinte
comite
aec4cefadf

+ 16 - 17
lzga-modules/lzga-doc/src/main/java/com/jjt/doc/controller/DocLevelController.java

@@ -1,9 +1,13 @@
 package com.jjt.doc.controller;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.io.IOException;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+
+import com.jjt.common.core.utils.StringUtils;
+import com.jjt.common.security.utils.SecurityUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
@@ -24,24 +28,22 @@ import com.jjt.common.core.web.page.TableDataInfo;
 
 /**
  * 文档级别Controller
- * 
+ *
  * @author wukai
  * @date 2023-04-11
  */
 @RestController
 @RequestMapping("/level")
-public class DocLevelController extends BaseController
-{
+public class DocLevelController extends BaseController {
     @Resource
     private IDocLevelService docLevelService;
 
     /**
      * 查询文档级别列表
      */
-    @RequiresPermissions("doc:level:list")
+//    @RequiresPermissions("doc:level:list")
     @GetMapping("/list")
-    public TableDataInfo list(DocLevel docLevel)
-    {
+    public TableDataInfo list(DocLevel docLevel) {
         startPage();
         List<DocLevel> list = docLevelService.selectDocLevelList(docLevel);
         return getDataTable(list);
@@ -53,8 +55,7 @@ public class DocLevelController extends BaseController
     @RequiresPermissions("doc:level:export")
     @Log(title = "文档级别", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, DocLevel docLevel)
-    {
+    public void export(HttpServletResponse response, DocLevel docLevel) {
         List<DocLevel> list = docLevelService.selectDocLevelList(docLevel);
         ExcelUtil<DocLevel> util = new ExcelUtil<DocLevel>(DocLevel.class);
         util.exportExcel(response, list, "文档级别数据");
@@ -65,8 +66,7 @@ public class DocLevelController extends BaseController
      */
     @RequiresPermissions("doc:level:query")
     @GetMapping(value = "/{levelId}")
-    public AjaxResult getInfo(@PathVariable("levelId") Long levelId)
-    {
+    public AjaxResult getInfo(@PathVariable("levelId") Long levelId) {
         return success(docLevelService.selectDocLevelByLevelId(levelId));
     }
 
@@ -76,8 +76,8 @@ public class DocLevelController extends BaseController
     @RequiresPermissions("doc:level:add")
     @Log(title = "文档级别", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody DocLevel docLevel)
-    {
+    public AjaxResult add(@RequestBody DocLevel docLevel) {
+        docLevel.setCreateBy(SecurityUtils.getUsername());
         return toAjax(docLevelService.insertDocLevel(docLevel));
     }
 
@@ -87,8 +87,8 @@ public class DocLevelController extends BaseController
     @RequiresPermissions("doc:level:edit")
     @Log(title = "文档级别", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody DocLevel docLevel)
-    {
+    public AjaxResult edit(@RequestBody DocLevel docLevel) {
+        docLevel.setUpdateBy(SecurityUtils.getUsername());
         return toAjax(docLevelService.updateDocLevel(docLevel));
     }
 
@@ -97,9 +97,8 @@ public class DocLevelController extends BaseController
      */
     @RequiresPermissions("doc:level:remove")
     @Log(title = "文档级别", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{levelIds}")
-    public AjaxResult remove(@PathVariable Long[] levelIds)
-    {
+    @DeleteMapping("/{levelIds}")
+    public AjaxResult remove(@PathVariable Long[] levelIds) {
         return toAjax(docLevelService.deleteDocLevelByLevelIds(levelIds));
     }
 }

+ 61 - 34
lzga-modules/lzga-doc/src/main/java/com/jjt/doc/domain/DocLevel.java

@@ -1,83 +1,110 @@
 package com.jjt.doc.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.jjt.common.core.annotation.Excel;
 import com.jjt.common.core.web.domain.BaseEntity;
 
+import java.util.List;
+
 /**
  * 文档级别对象 doc_level
- * 
+ *
  * @author wukai
  * @date 2023-04-11
  */
-public class DocLevel extends BaseEntity
-{
+public class DocLevel extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** 级别ID */
+    /**
+     * 级别ID
+     */
     private Long levelId;
 
-    /** 级别名称 */
+    /**
+     * 级别名称
+     */
     @Excel(name = "级别名称")
     private String levelName;
 
-    /** 级别权限 */
+    /**
+     * 级别权限
+     */
     @Excel(name = "级别权限")
     private String levelRole;
+    /**
+     * 级别权限中文标识
+     */
+    private String levelRoleName;
+    @TableField(exist = false)
+    private List<String> roles;
+
+    public String getLevelRoleName() {
+        return levelRoleName;
+    }
+
+    public void setLevelRoleName(String levelRoleName) {
+        this.levelRoleName = levelRoleName;
+    }
+
+    public List<String> getRoles() {
+        return roles;
+    }
+
+    public void setRoles(List<String> roles) {
+        this.roles = roles;
+    }
 
-    /** 逻辑删除标志;1/非1 */
+    /**
+     * 逻辑删除标志;1/非1
+     */
     private String isDel;
 
-    public void setLevelId(Long levelId) 
-    {
+    public void setLevelId(Long levelId) {
         this.levelId = levelId;
     }
 
-    public Long getLevelId() 
-    {
+    public Long getLevelId() {
         return levelId;
     }
-    public void setLevelName(String levelName) 
-    {
+
+    public void setLevelName(String levelName) {
         this.levelName = levelName;
     }
 
-    public String getLevelName() 
-    {
+    public String getLevelName() {
         return levelName;
     }
-    public void setLevelRole(String levelRole) 
-    {
+
+    public void setLevelRole(String levelRole) {
         this.levelRole = levelRole;
     }
 
-    public String getLevelRole() 
-    {
+    public String getLevelRole() {
         return levelRole;
     }
-    public void setIsDel(String isDel) 
-    {
+
+    public void setIsDel(String isDel) {
         this.isDel = isDel;
     }
 
-    public String getIsDel() 
-    {
+    public String getIsDel() {
         return isDel;
     }
 
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("levelId", getLevelId())
-            .append("levelName", getLevelName())
-            .append("levelRole", getLevelRole())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .append("isDel", getIsDel())
-            .toString();
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("levelId", getLevelId())
+                .append("levelName", getLevelName())
+                .append("levelRole", getLevelRole())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .append("remark", getRemark())
+                .append("isDel", getIsDel())
+                .toString();
     }
 }

+ 41 - 15
lzga-modules/lzga-doc/src/main/java/com/jjt/doc/service/impl/DocLevelServiceImpl.java

@@ -1,11 +1,16 @@
 package com.jjt.doc.service.impl;
 
+import java.util.ArrayList;
 import java.util.List;
+
 import com.jjt.common.core.utils.DateUtils;
+import com.jjt.common.core.utils.StringUtils;
 import org.springframework.stereotype.Service;
 import com.jjt.doc.mapper.DocLevelMapper;
 import com.jjt.doc.domain.DocLevel;
+
 import javax.annotation.Resource;
+
 import com.jjt.doc.service.IDocLevelService;
 
 /**
@@ -15,8 +20,7 @@ import com.jjt.doc.service.IDocLevelService;
  * @date 2023-04-11
  */
 @Service
-public class DocLevelServiceImpl implements IDocLevelService
-{
+public class DocLevelServiceImpl implements IDocLevelService {
     @Resource
     private DocLevelMapper docLevelMapper;
 
@@ -27,9 +31,17 @@ public class DocLevelServiceImpl implements IDocLevelService
      * @return 文档级别
      */
     @Override
-    public DocLevel selectDocLevelByLevelId(Long levelId)
-    {
-        return docLevelMapper.selectDocLevelByLevelId(levelId);
+    public DocLevel selectDocLevelByLevelId(Long levelId) {
+        DocLevel docLevel = docLevelMapper.selectDocLevelByLevelId(levelId);
+        String[] role = docLevel.getLevelRole().split(",");
+        String[] roleName = docLevel.getLevelRoleName().split(",");
+        List<String> roles = new ArrayList<>();
+        for (int i = 0; i < role.length; i++) {
+            String s = role[i] + "," + roleName[i];
+            roles.add(s);
+        }
+        docLevel.setRoles(roles);
+        return docLevel;
     }
 
     /**
@@ -39,8 +51,7 @@ public class DocLevelServiceImpl implements IDocLevelService
      * @return 文档级别
      */
     @Override
-    public List<DocLevel> selectDocLevelList(DocLevel docLevel)
-    {
+    public List<DocLevel> selectDocLevelList(DocLevel docLevel) {
         return docLevelMapper.selectDocLevelList(docLevel);
     }
 
@@ -51,12 +62,29 @@ public class DocLevelServiceImpl implements IDocLevelService
      * @return 结果
      */
     @Override
-    public int insertDocLevel(DocLevel docLevel)
-    {
+    public int insertDocLevel(DocLevel docLevel) {
         docLevel.setCreateTime(DateUtils.getNowDate());
+        processRoles(docLevel);
         return docLevelMapper.insertDocLevel(docLevel);
     }
 
+    private void processRoles(DocLevel docLevel) {
+        String role = "";
+        String roleName = "";
+        for (String s : docLevel.getRoles()) {
+            if (StringUtils.isNotEmpty(role)) {
+                role += ",";
+                roleName += ",";
+            }
+
+            role += s.split(",")[0];
+            roleName += s.split(",")[1];
+        }
+
+        docLevel.setLevelRole(role);
+        docLevel.setLevelRoleName(roleName);
+    }
+
     /**
      * 修改文档级别
      *
@@ -64,8 +92,8 @@ public class DocLevelServiceImpl implements IDocLevelService
      * @return 结果
      */
     @Override
-    public int updateDocLevel(DocLevel docLevel)
-    {
+    public int updateDocLevel(DocLevel docLevel) {
+        processRoles(docLevel);
         docLevel.setUpdateTime(DateUtils.getNowDate());
         return docLevelMapper.updateDocLevel(docLevel);
     }
@@ -77,8 +105,7 @@ public class DocLevelServiceImpl implements IDocLevelService
      * @return 结果
      */
     @Override
-    public int deleteDocLevelByLevelIds(Long[] levelIds)
-    {
+    public int deleteDocLevelByLevelIds(Long[] levelIds) {
         return docLevelMapper.deleteDocLevelByLevelIds(levelIds);
     }
 
@@ -89,8 +116,7 @@ public class DocLevelServiceImpl implements IDocLevelService
      * @return 结果
      */
     @Override
-    public int deleteDocLevelByLevelId(Long levelId)
-    {
+    public int deleteDocLevelByLevelId(Long levelId) {
         return docLevelMapper.deleteDocLevelByLevelId(levelId);
     }
 }

+ 40 - 24
lzga-modules/lzga-doc/src/main/resources/mapper/doc/DocLevelMapper.xml

@@ -1,62 +1,75 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.jjt.doc.mapper.DocLevelMapper">
-    
+
     <resultMap type="DocLevel" id="DocLevelResult">
-        <result property="levelId"    column="LEVEL_ID"    />
-        <result property="levelName"    column="LEVEL_NAME"    />
-        <result property="levelRole"    column="LEVEL_ROLE"    />
-        <result property="createBy"    column="CREATE_BY"    />
-        <result property="createTime"    column="CREATE_TIME"    />
-        <result property="updateBy"    column="UPDATE_BY"    />
-        <result property="updateTime"    column="UPDATE_TIME"    />
-        <result property="remark"    column="REMARK"    />
-        <result property="isDel"    column="IS_DEL"    />
+        <result property="levelId" column="LEVEL_ID"/>
+        <result property="levelName" column="LEVEL_NAME"/>
+        <result property="levelRole" column="LEVEL_ROLE"/>
+        <result property="levelRoleName" column="LEVEL_ROLE_NAME"/>
+        <result property="createBy" column="CREATE_BY"/>
+        <result property="createTime" column="CREATE_TIME"/>
+        <result property="updateBy" column="UPDATE_BY"/>
+        <result property="updateTime" column="UPDATE_TIME"/>
+        <result property="remark" column="REMARK"/>
+        <result property="isDel" column="IS_DEL"/>
     </resultMap>
 
     <sql id="selectDocLevelVo">
-        select LEVEL_ID, LEVEL_NAME, LEVEL_ROLE, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, REMARK, IS_DEL from doc_level
+        select LEVEL_ID,
+               LEVEL_NAME,
+               LEVEL_ROLE,
+               LEVEL_ROLE_NAME,
+               CREATE_BY,
+               CREATE_TIME,
+               UPDATE_BY,
+               UPDATE_TIME,
+               REMARK,
+               IS_DEL
+        from doc_level
     </sql>
 
     <select id="selectDocLevelList" parameterType="DocLevel" resultMap="DocLevelResult">
         <include refid="selectDocLevelVo"/>
-        <where>  
-            <if test="levelName != null  and levelName != ''"> and LEVEL_NAME like concat('%', #{levelName}, '%')</if>
-            <if test="levelRole != null  and levelRole != ''"> and LEVEL_ROLE like concat('%', #{levelRole}, '%')</if>
-            <if test="createBy != null  and createBy != ''"> and CREATE_BY = #{createBy}</if>
-            <if test="updateBy != null  and updateBy != ''"> and UPDATE_BY = #{updateBy}</if>
+        <where>
+            <if test="levelName != null  and levelName != ''">and LEVEL_NAME like concat('%', #{levelName}, '%')</if>
+            <if test="levelRole != null  and levelRole != ''">and LEVEL_ROLE like concat('%', #{levelRole}, '%')</if>
+            <if test="createBy != null  and createBy != ''">and CREATE_BY = #{createBy}</if>
+            <if test="updateBy != null  and updateBy != ''">and UPDATE_BY = #{updateBy}</if>
         </where>
     </select>
-    
+
     <select id="selectDocLevelByLevelId" parameterType="Long" resultMap="DocLevelResult">
         <include refid="selectDocLevelVo"/>
         where LEVEL_ID = #{levelId}
     </select>
-        
+
     <insert id="insertDocLevel" parameterType="DocLevel" useGeneratedKeys="true" keyProperty="levelId">
         insert into doc_level
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="levelName != null">LEVEL_NAME,</if>
             <if test="levelRole != null">LEVEL_ROLE,</if>
+            <if test="levelRoleName != null">LEVEL_ROLE_NAME,</if>
             <if test="createBy != null">CREATE_BY,</if>
             <if test="createTime != null">CREATE_TIME,</if>
             <if test="updateBy != null">UPDATE_BY,</if>
             <if test="updateTime != null">UPDATE_TIME,</if>
             <if test="remark != null">REMARK,</if>
             <if test="isDel != null">IS_DEL,</if>
-         </trim>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="levelName != null">#{levelName},</if>
             <if test="levelRole != null">#{levelRole},</if>
+            <if test="levelRoleName != null">#{levelRoleName},</if>
             <if test="createBy != null">#{createBy},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
             <if test="remark != null">#{remark},</if>
             <if test="isDel != null">#{isDel},</if>
-         </trim>
+        </trim>
     </insert>
 
     <update id="updateDocLevel" parameterType="DocLevel">
@@ -64,6 +77,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="SET" suffixOverrides=",">
             <if test="levelName != null">LEVEL_NAME = #{levelName},</if>
             <if test="levelRole != null">LEVEL_ROLE = #{levelRole},</if>
+            <if test="levelRoleName != null">LEVEL_ROLE_NAME = #{levelRoleName},</if>
             <if test="createBy != null">CREATE_BY = #{createBy},</if>
             <if test="createTime != null">CREATE_TIME = #{createTime},</if>
             <if test="updateBy != null">UPDATE_BY = #{updateBy},</if>
@@ -75,11 +89,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
 
     <delete id="deleteDocLevelByLevelId" parameterType="Long">
-        delete from doc_level where LEVEL_ID = #{levelId}
+        delete
+        from doc_level
+        where LEVEL_ID = #{levelId}
     </delete>
 
     <delete id="deleteDocLevelByLevelIds" parameterType="String">
-        delete from doc_level where LEVEL_ID in 
+        delete from doc_level where LEVEL_ID in
         <foreach item="levelId" collection="array" open="(" separator="," close=")">
             #{levelId}
         </foreach>

+ 30 - 19
lzga-ui/src/views/doc/info/index.vue

@@ -16,8 +16,10 @@
             <el-input v-model="queryParams.docName" placeholder="请输入文件名称" clearable @keyup.enter.native="handleQuery" />
           </el-form-item>
           <el-form-item label="文件级别" prop="docLevel">
-            <el-input v-model="queryParams.docLevel" placeholder="请输入文件级别" clearable
-              @keyup.enter.native="handleQuery" />
+            <el-select v-model="queryParams.docLevel" placeholder="请选择文件级别" @change="handleQuery">
+              <el-option v-for="item in levelOptions" :key="item.levelId" :label="item.levelName"
+                :value="item.levelId"></el-option>
+            </el-select>
           </el-form-item>
           <el-form-item label="文件年份" prop="createYear">
             <el-input v-model="queryParams.createYear" placeholder="请输入文件创建年份" clearable
@@ -54,13 +56,14 @@
           <el-table-column label="文件名称" align="center" prop="docName" />
           <el-table-column label="文件大小" align="center" prop="docSize" :formatter="fileSizeData" />
           <el-table-column label="修改时间" align="center" prop="updateTime" />
-          <el-table-column label="文件级别" align="center" prop="docLevel" />
+          <el-table-column label="文件级别" align="center" prop="docLevel" :formatter="fileLevelData" />
           <el-table-column label="文件年份" align="center" prop="createYear" />
           <el-table-column label="标签" align="center" prop="tagName" />
           <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
             <template slot-scope="scope">
               <el-button size="mini" type="text" icon="el-icon-view" @click="handleShare(scope.row)">分享</el-button>
-              <el-button size="mini" type="text" icon="el-icon-view" @click="handleDownload(scope.row)">下载</el-button>
+              <el-button size="mini" type="text" icon="el-icon-download"
+                @click="handleDownload(scope.row)">下载</el-button>
               <el-button size="mini" type="text" icon="el-icon-view" @click="handlePreview(scope.row)">预览</el-button>
               <el-button size="mini" type="text" icon="el-icon-view" @click="handleEdit(scope.row)">在线编辑</el-button>
               <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@@ -99,7 +102,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="文件标签" prop="docLevel">
-          <el-input v-model="form.docLevel" type="textarea" placeholder="请输入文件标签,多个标签以空格分隔,每个标签最好不超过四个字!" />
+          <el-input v-model="form.docTag" type="textarea" placeholder="请输入文件标签,多个标签以空格分隔,每个标签最好不超过四个字!" />
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -159,7 +162,7 @@
         //目录数据
         dirList: undefined,
         //文件等级数据
-        levelOptions: undefined,
+        levelOptions: [],
         // 弹出层标题
         title: "",
         // 是否显示弹出层
@@ -186,9 +189,14 @@
             message: "文件名称不能为空",
             trigger: "blur"
           }],
-          createYear: [{
+          dirId: [{
             required: true,
-            message: "文件创建年份;文件创建年份,分表用不能为空",
+            message: "文件目录不能为空",
+            trigger: "blur"
+          }],
+          docLevel: [{
+            required: true,
+            message: "文件级别不能为空",
             trigger: "blur"
           }],
         }
@@ -229,11 +237,9 @@
         row.isEdit = false;
         this.$tab.openPage("文件[" + row.docName + "]预览", '/doc/oo-edit/index/' + row.docId, row);
       },
-      //下载
+      /**下载按钮操作*/
       handleDownload(row) {
-        this.download(row.docPath, null, row.docName + "." + row.docType);
-        row.isEdit = false;
-        this.$tab.openPage("文件[" + row.docName + "]预览", '/doc/oo-edit/index/' + row.docId, row);
+        location.href = row.docPath;
       },
       //预览
       handlePreview(row) {
@@ -256,7 +262,10 @@
           this.queryParams.dirId = this.dirId;
           this.queryParams.searchValue = this.spaceId;
           this.getList();
-
+          //获取文件级别数据
+          listLevel().then(response => {
+            this.levelOptions = response.rows;
+          });
           this.loading = false;
         });
       },
@@ -321,11 +330,8 @@
       /** 新增按钮操作 */
       handleAdd() {
         this.reset();
-        listLevel().then(response => {
-          this.levelOptions = response.rows;
-          this.open = true;
-          this.title = "添加文件基本信息";
-        });
+        this.open = true;
+        this.title = "添加文件基本信息";
       },
       /** 修改按钮操作 */
       handleUpdate(row) {
@@ -385,7 +391,12 @@
         } else {
           return `${(value / GB).toFixed(2)} GB`;
         }
+      },
+      /**处理文档级别数据*/
+      fileLevelData(row, col, value) {
+        const obj=this.levelOptions.find(level => level.levelId == value);
+        return obj.levelName;
       }
     }
   };
-</script>
+</script>

+ 10 - 4
lzga-ui/src/views/doc/level/index.vue

@@ -41,11 +41,13 @@
 
     <el-table v-loading="loading" :data="levelList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="级别ID" align="center" prop="levelId" />
+      <!-- <el-table-column label="级别ID" align="center" prop="levelId" /> -->
       <el-table-column label="级别名称" align="center" prop="levelName" />
-      <el-table-column label="级别权限" align="center" prop="levelRole" />
+      <el-table-column label="级别权限" align="center" prop="levelRoleName" />
       <el-table-column label="创建人" align="center" prop="createBy" />
+      <el-table-column label="创建时间" align="center" prop="createTime" />
       <el-table-column label="更新人" align="center" prop="updateBy" />
+      <el-table-column label="更新时间" align="center" prop="updateTime" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@@ -66,10 +68,13 @@
           <el-input v-model="form.levelName" placeholder="请输入级别名称" />
         </el-form-item>
         <el-form-item label="级别权限" prop="levelRole">
-          <el-input v-model="form.levelRole" placeholder="请输入级别权限" />
+          <el-select v-model="form.roles" multiple placeholder="请选择权限">
+            <el-option v-for="dict in dict.type.level_role" :key="dict.value" :label="dict.label"
+              :value="dict.value+','+dict.label"></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" placeholder="请输入备注" />
+          <el-input v-model="form.remark" type="textarea" rows=5 placeholder="请输入备注" />
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -91,6 +96,7 @@
 
   export default {
     name: "Level",
+    dicts: ['level_role'],
     data() {
       return {
         // 遮罩层