bihuisong пре 1 година
родитељ
комит
df1e10289c

+ 23 - 14
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysSecretProjectController.java

@@ -1,9 +1,12 @@
 package com.ruoyi.web.controller.system;
 
+import java.time.Duration;
+import java.time.LocalDateTime;
 import java.util.List;
 
 import com.ruoyi.system.domain.dto.SysSecretProjectDTO;
 import com.ruoyi.web.utils.ClipboardUtil;
+import com.ruoyi.web.utils.JWTExample;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -22,7 +25,7 @@ import com.ruoyi.system.service.ISysSecretProjectService;
 import com.ruoyi.common.core.page.TableDataInfo;
 
 /**
- * 【请填写功能名称】Controller
+ * 项目授权管理Controller
  *
  * @author ruoyi
  * @date 2023-11-21
@@ -34,7 +37,7 @@ public class SysSecretProjectController extends BaseController {
     private ISysSecretProjectService sysSecretProjectService;
 
     /**
-     * 查询【请填写功能名称】列表
+     * 查询项目授权管理列表
      */
     @GetMapping("/list")
     public TableDataInfo list(SysSecretProjectDTO sysSecretProjectDTO) {
@@ -44,7 +47,7 @@ public class SysSecretProjectController extends BaseController {
     }
 
     /**
-     * 获取【请填写功能名称】详细信息
+     * 获取项目授权管理详细信息
      */
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id) {
@@ -52,34 +55,40 @@ public class SysSecretProjectController extends BaseController {
     }
 
     /**
-     * 新增【请填写功能名称】
+     * 新增项目授权管理
      */
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
+    @Log(title = "新增项目授权管理", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody SysSecretProject sysSecretProject) {
-        return toAjax(sysSecretProjectService.insertSysSecretProject(sysSecretProject));
+    public AjaxResult add(@RequestBody SysSecretProjectDTO sysSecretProjectDTO) {
+        long milliseconds = Duration.between(LocalDateTime.now(), sysSecretProjectDTO.getOverdueDate().atStartOfDay()).toMillis();
+        String jwt = JWTExample.createJWT(sysSecretProjectDTO.getProjectName(),milliseconds);
+        sysSecretProjectDTO.setSecretKey(jwt);
+        return toAjax(sysSecretProjectService.insertSysSecretProject(sysSecretProjectDTO));
     }
 
     /**
-     * 修改【请填写功能名称】
+     * 修改项目授权管理
      */
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
+    @Log(title = "修改项目授权管理", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody SysSecretProject sysSecretProject) {
-        return toAjax(sysSecretProjectService.updateSysSecretProject(sysSecretProject));
+    public AjaxResult edit(@RequestBody SysSecretProjectDTO sysSecretProjectDTO) {
+        long milliseconds = Duration.between(LocalDateTime.now(), sysSecretProjectDTO.getOverdueDate().atStartOfDay()).toMillis();
+        String jwt = JWTExample.createJWT(sysSecretProjectDTO.getProjectName(),milliseconds);
+        sysSecretProjectDTO.setSecretKey(jwt);
+        return toAjax(sysSecretProjectService.updateSysSecretProject(sysSecretProjectDTO));
     }
 
     /**
-     * 删除【请填写功能名称】
+     * 删除项目授权管理
      */
-    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
+    @Log(title = "删除项目授权管理", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(sysSecretProjectService.deleteSysSecretProjectByIds(ids));
     }
 
     /**
-     * 复制【请填写功能名称】
+     * 复制项目授权管理
      */
     @PostMapping("/copy")
     public AjaxResult copySecretKey(@RequestBody SysSecretProject sysSecretProject) {

+ 4 - 4
ruoyi-admin/src/main/java/com/ruoyi/web/utils/JWTExample.java

@@ -13,7 +13,7 @@ public class JWTExample {
 
     public static void main(String[] args) {
         // 创建JWT
-        String token = createJWT("user123");
+        String token = createJWT("user123",EXPIRATION_TIME);
 
         // 验证和解析JWT
         if (validateJWT(token)) {
@@ -24,12 +24,12 @@ public class JWTExample {
         }
     }
 
-    public static String createJWT(String username) {
+    public static String createJWT(String str,Long dateTime) {
         Date now = new Date();
-        Date expiration = new Date(now.getTime() + EXPIRATION_TIME);
+        Date expiration = new Date(now.getTime() + dateTime);
 
         String token = Jwts.builder()
-                .setSubject(username)
+                .setSubject(str)
                 .setIssuedAt(now)
                 .setExpiration(expiration)
                 .signWith(SignatureAlgorithm.HS256, SECRET_KEY)

+ 0 - 15
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysProject.java

@@ -34,12 +34,6 @@ public class SysProject extends BaseEntity {
     @Excel(name = "项目名称")
     private String projectName;
 
-    /**
-     * 过期时间
-     */
-    @Excel(name = "过期时间")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    private LocalDate overdueDate;
 
     public void setId(Long id) {
         this.id = id;
@@ -65,21 +59,12 @@ public class SysProject extends BaseEntity {
         return projectName;
     }
 
-    public void setOverdueDate(LocalDate overdueDate) {
-        this.overdueDate = overdueDate;
-    }
-
-    public LocalDate getOverdueDate() {
-        return overdueDate;
-    }
-
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                 .append("id", getId())
                 .append("projectCode", getProjectCode())
                 .append("projectName", getProjectName())
-                .append("overdueDate", getOverdueDate())
                 .toString();
     }
 }

+ 60 - 23
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysSecretProject.java

@@ -4,62 +4,99 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
 
 /**
  * 【请填写功能名称】对象 sys_secret_project
- * 
+ *
  * @author ruoyi
  * @date 2023-11-21
  */
-public class SysSecretProject extends BaseEntity
-{
+public class SysSecretProject extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** 用户ID */
+    /**
+     * 用户ID
+     */
     private Long id;
 
-    /** 项目id */
+    /**
+     * 项目id
+     */
     @Excel(name = "项目id")
     private Long projectId;
 
-    /** 标识码 */
+    /**
+     * 过期时间
+     */
+    @Excel(name = "过期时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDate overdueDate;
+
+    /**
+     * 状态 (1:正常;2:过期;3:临期(离到期时间7天之内))
+     */
+    @Excel(name = "状态")
+    private Long status;
+
+    /**
+     * 标识码
+     */
     @Excel(name = "标识码")
     private String secretKey;
 
-    public void setId(Long id) 
-    {
+    public void setId(Long id) {
         this.id = id;
     }
 
-    public Long getId() 
-    {
+    public Long getId() {
         return id;
     }
-    public void setProjectId(Long projectId) 
-    {
+
+    public void setStatus(Long status) {
+        this.status = status;
+    }
+
+    public Long getStatus() {
+        return status;
+    }
+
+    public void setOverdueDate(LocalDate overdueDate) {
+        this.overdueDate = overdueDate;
+    }
+
+    public LocalDate getOverdueDate() {
+        return overdueDate;
+    }
+
+    public void setProjectId(Long projectId) {
         this.projectId = projectId;
     }
 
-    public Long getProjectId() 
-    {
+    public Long getProjectId() {
         return projectId;
     }
-    public void setSecretKey(String secretKey) 
-    {
+
+    public void setSecretKey(String secretKey) {
         this.secretKey = secretKey;
     }
 
-    public String getSecretKey() 
-    {
+    public String getSecretKey() {
         return secretKey;
     }
 
+
+
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("id", getId())
-            .append("projectId", getProjectId())
-            .append("secretKey", getSecretKey())
-            .toString();
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("projectId", getProjectId())
+                .append("overdueDate", getOverdueDate())
+                .append("status", getStatus())
+                .append("secretKey", getSecretKey())
+                .toString();
     }
 }

+ 41 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/SysSecretProjectDTO.java

@@ -5,6 +5,8 @@ import com.ruoyi.common.core.domain.BaseEntity;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
+import java.time.LocalDate;
+
 /**
  * 【请填写功能名称】对象 sys_secret_project
  *
@@ -30,6 +32,18 @@ public class SysSecretProjectDTO extends BaseEntity {
     private String projectName;
 
     /**
+     * 过期时间
+     */
+    private LocalDate overdueDate;
+
+    /**
+     * 状态 (1:正常;2:过期;3:临期(离到期时间7天之内))
+     */
+    private Long status;
+
+    private String statusText;
+
+    /**
      * 标识码
      */
     private String secretKey;
@@ -42,6 +56,30 @@ public class SysSecretProjectDTO extends BaseEntity {
         return id;
     }
 
+    public void setStatus(Long status) {
+        this.status = status;
+    }
+
+    public Long getStatus() {
+        return status;
+    }
+
+    public void setStatusText(String statusText) {
+        this.statusText = statusText;
+    }
+
+    public String getStatusText() {
+        return statusText;
+    }
+
+    public void setOverdueDate(LocalDate overdueDate) {
+        this.overdueDate = overdueDate;
+    }
+
+    public LocalDate getOverdueDate() {
+        return overdueDate;
+    }
+
     public void setProjectId(Long projectId) {
         this.projectId = projectId;
     }
@@ -72,6 +110,9 @@ public class SysSecretProjectDTO extends BaseEntity {
                 .append("id", getId())
                 .append("projectId", getProjectId())
                 .append("projectName", getProjectName())
+                .append("overdueDate", getOverdueDate())
+                .append("status", getStatus())
+                .append("statusText", getStatusText())
                 .append("secretKey", getSecretKey())
                 .toString();
     }

+ 4 - 4
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysSecretProjectMapper.java

@@ -31,18 +31,18 @@ public interface SysSecretProjectMapper {
     /**
      * 新增【请填写功能名称】
      *
-     * @param sysSecretProject 【请填写功能名称】
+     * @param sysSecretProjectDTO 【请填写功能名称】
      * @return 结果
      */
-    public int insertSysSecretProject(SysSecretProject sysSecretProject);
+    public int insertSysSecretProject(SysSecretProjectDTO sysSecretProjectDTO);
 
     /**
      * 修改【请填写功能名称】
      *
-     * @param sysSecretProject 【请填写功能名称】
+     * @param sysSecretProjectDTO 【请填写功能名称】
      * @return 结果
      */
-    public int updateSysSecretProject(SysSecretProject sysSecretProject);
+    public int updateSysSecretProject(SysSecretProjectDTO sysSecretProjectDTO);
 
     /**
      * 删除【请填写功能名称】

+ 4 - 4
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysSecretProjectService.java

@@ -31,18 +31,18 @@ public interface ISysSecretProjectService
     /**
      * 新增【请填写功能名称】
      * 
-     * @param sysSecretProject 【请填写功能名称】
+     * @param sysSecretProjectDTO 【请填写功能名称】
      * @return 结果
      */
-    public int insertSysSecretProject(SysSecretProject sysSecretProject);
+    public int insertSysSecretProject(SysSecretProjectDTO sysSecretProjectDTO);
 
     /**
      * 修改【请填写功能名称】
      * 
-     * @param sysSecretProject 【请填写功能名称】
+     * @param sysSecretProjectDTO 【请填写功能名称】
      * @return 结果
      */
-    public int updateSysSecretProject(SysSecretProject sysSecretProject);
+    public int updateSysSecretProject(SysSecretProjectDTO sysSecretProjectDTO);
 
     /**
      * 批量删除【请填写功能名称】

+ 6 - 6
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSecretProjectServiceImpl.java

@@ -45,23 +45,23 @@ public class SysSecretProjectServiceImpl implements ISysSecretProjectService {
     /**
      * 新增【请填写功能名称】
      *
-     * @param sysSecretProject 【请填写功能名称】
+     * @param sysSecretProjectDTO 【请填写功能名称】
      * @return 结果
      */
     @Override
-    public int insertSysSecretProject(SysSecretProject sysSecretProject) {
-        return sysSecretProjectMapper.insertSysSecretProject(sysSecretProject);
+    public int insertSysSecretProject(SysSecretProjectDTO sysSecretProjectDTO) {
+        return sysSecretProjectMapper.insertSysSecretProject(sysSecretProjectDTO);
     }
 
     /**
      * 修改【请填写功能名称】
      *
-     * @param sysSecretProject 【请填写功能名称】
+     * @param sysSecretProjectDTO 【请填写功能名称】
      * @return 结果
      */
     @Override
-    public int updateSysSecretProject(SysSecretProject sysSecretProject) {
-        return sysSecretProjectMapper.updateSysSecretProject(sysSecretProject);
+    public int updateSysSecretProject(SysSecretProjectDTO sysSecretProjectDTO) {
+        return sysSecretProjectMapper.updateSysSecretProject(sysSecretProjectDTO);
     }
 
     /**

+ 1 - 5
ruoyi-system/src/main/resources/mapper/system/SysProjectMapper.xml

@@ -8,11 +8,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="id"    column="id"    />
         <result property="projectCode"    column="project_code"    />
         <result property="projectName"    column="project_name"    />
-        <result property="overdueDate"    column="overdue_date"    />
     </resultMap>
 
     <sql id="selectSysProjectVo">
-        select id, project_code, project_name, overdue_date from sys_project
+        select id, project_code, project_name from sys_project
     </sql>
 
     <select id="selectSysProjectList" parameterType="SysProject" resultMap="SysProjectResult">
@@ -33,12 +32,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="projectCode != null">project_code,</if>
             <if test="projectName != null">project_name,</if>
-            <if test="overdueDate != null">overdue_date,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="projectCode != null">#{projectCode},</if>
             <if test="projectName != null">#{projectName},</if>
-            <if test="overdueDate != null">#{overdueDate},</if>
          </trim>
     </insert>
 
@@ -47,7 +44,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="SET" suffixOverrides=",">
             <if test="projectCode != null">project_code = #{projectCode},</if>
             <if test="projectName != null">project_name = #{projectName},</if>
-            <if test="overdueDate != null">overdue_date = #{overdueDate},</if>
         </trim>
         where id = #{id}
     </update>

+ 39 - 7
ruoyi-system/src/main/resources/mapper/system/SysSecretProjectMapper.xml

@@ -7,6 +7,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <resultMap type="SysSecretProject" id="SysSecretProjectResult">
         <result property="id"    column="id"    />
         <result property="projectId"    column="project_id"    />
+        <result property="overdueDate"    column="overdue_date"    />
+        <result property="status"    column="status"    />
         <result property="secretKey"    column="secret_key"    />
     </resultMap>
 
@@ -14,25 +16,49 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="id"    column="id"    />
         <result property="projectId"    column="project_id"    />
         <result property="projectName"    column="project_name"    />
+        <result property="overdueDate"    column="overdue_date"    />
+        <result property="status"    column="status"    />
         <result property="secretKey"    column="secret_key"    />
+        <result property="statusText"    column="statusText"    />
     </resultMap>
 
     <sql id="selectSysSecretProjectVo">
-        select id, project_id, secret_key from sys_secret_project
+        select id, project_id,overdue_date,status, secret_key from sys_secret_project
     </sql>
 
     <select id="selectSysSecretProjectList" resultMap="getSysSecretProjectList">
-        select ssp.id, sp.project_name, secret_key from sys_secret_project ssp
+        select ssp.id,
+        sp.project_name,
+        ssp.overdue_date,
+        case
+        when ssp.STATUS = 1 then '正常'
+        when ssp.STATUS = 2 then '过期'
+        when ssp.STATUS = 3 then '临期'
+        end statusText,
+        ssp.status,
+        secret_key
+        from sys_secret_project ssp
         left join sys_project sp on ssp.project_id = sp.id
-        <where>  
-            <if test="projectName != null "> and sp.project_name = #{projectName}</if>
-            <if test="secretKey != null  and secretKey != ''"> and secret_key = #{secretKey}</if>
+        <where>
+            <if test="projectName != null ">and sp.project_name = #{projectName}</if>
+            <if test="secretKey != null  and secretKey != ''">and secret_key = #{secretKey}</if>
         </where>
     </select>
     
     <select id="selectSysSecretProjectById" parameterType="Long" resultMap="getSysSecretProjectList">
-        select ssp.id,ssp.project_id, sp.project_name, secret_key from sys_secret_project ssp
-        left join sys_project sp on ssp.project_id = sp.id
+        select ssp.id,
+               ssp.project_id,
+               sp.project_name,
+               ssp.overdue_date,
+               case
+                   when ssp.STATUS = 1 then '正常'
+                   when ssp.STATUS = 2 then '过期'
+                   when ssp.STATUS = 3 then '临期'
+                   end statusText,
+               ssp.status,
+               secret_key
+        from sys_secret_project ssp
+                 left join sys_project sp on ssp.project_id = sp.id
         where ssp.id = #{id}
     </select>
         
@@ -41,10 +67,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="projectId != null">project_id,</if>
             <if test="secretKey != null">secret_key,</if>
+            <if test="status != null">status,</if>
+            <if test="overdueDate != null">overdue_date,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="projectId != null">#{projectId},</if>
             <if test="secretKey != null">#{secretKey},</if>
+            <if test="status != null">#{status},</if>
+            <if test="overdueDate != null">#{overdueDate},</if>
          </trim>
     </insert>
 
@@ -53,6 +83,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="SET" suffixOverrides=",">
             <if test="projectId != null">project_id = #{projectId},</if>
             <if test="secretKey != null">secret_key = #{secretKey},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="overdueDate != null">overdue_date = #{overdueDate},</if>
         </trim>
         where id = #{id}
     </update>

+ 1 - 23
ruoyi-ui/src/views/authority/project/index.vue

@@ -57,14 +57,6 @@
         </el-button>
       </el-col>
       <el-col :span="1.5">
-<!--        <el-button-->
-<!--          type="warning"-->
-<!--          plain-->
-<!--          icon="el-icon-download"-->
-<!--          size="mini"-->
-<!--          @click="handleExport"-->
-<!--        >导出-->
-<!--        </el-button>-->
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -74,7 +66,6 @@
       <el-table-column label="序号" align="center" type="index"/>
       <el-table-column label="项目编号" align="center" prop="projectCode"/>
       <el-table-column label="项目名称" align="center" prop="projectName"/>
-      <el-table-column label="过期时间" align="center" property="date" prop="overdueDate"/>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -112,12 +103,6 @@
         <el-form-item label="项目名称" prop="projectName">
           <el-input v-model="form.projectName" placeholder="请输入项目名称"/>
         </el-form-item>
-        <el-form-item label="过期时间" prop="overdueDate">
-          <el-date-picker
-            v-model="form.overdueDate"
-            placeholder="请选择过期时间">
-          </el-date-picker>
-        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -157,8 +142,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
         projectCode: null,
-        projectName: null,
-        overdueDate: null
+        projectName: null
       },
       // 表单参数
       form: {},
@@ -256,12 +240,6 @@ export default {
       }).catch(() => {
       });
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('system/project/export', {
-        ...this.queryParams
-      }, `project_${new Date().getTime()}.xlsx`)
-    }
   }
 };
 </script>

+ 67 - 60
ruoyi-ui/src/views/authority/secret/index.vue

@@ -36,38 +36,6 @@
         >新增
         </el-button>
       </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-        >修改
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-        >删除
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-<!--        <el-button-->
-<!--          type="warning"-->
-<!--          plain-->
-<!--          icon="el-icon-download"-->
-<!--          size="mini"-->
-<!--          @click="handleExport"-->
-<!--        >导出-->
-<!--        </el-button>-->
-      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
@@ -75,6 +43,8 @@
       <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="序号" align="center" type="index"/>
       <el-table-column label="项目名称" align="center" prop="projectName"/>
+      <el-table-column label="状态" align="center" prop="statusText"/>
+      <el-table-column label="过期时间" align="center" property="date" prop="overdueDate"/>
       <el-table-column label="标识码" align="center" prop="secretKey"/>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -83,7 +53,7 @@
             type="text"
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
-          >修改
+          >重新授权
           </el-button>
           <el-button
             size="mini"
@@ -111,7 +81,7 @@
       @pagination="getList"
     />
 
-    <!-- 添加或修改【请填写功能名称】对话框 -->
+    <!-- 添加或修改项目授权管理对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="项目名称" prop="projectName">
@@ -124,8 +94,13 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="标识码" prop="secretKey">
-          <el-input v-model="form.secretKey" placeholder="请输入标识码"/>
+        <el-form-item label="过期时间" prop="overdueDate">
+          <el-date-picker
+            v-model="form.overdueDate"
+            placeholder="请选择过期时间"
+            format="yyyy-MM-dd"
+            value-format="yyyy-MM-dd">
+          </el-date-picker>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -133,15 +108,27 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+    <!-- 删除项目授权管理对话框 -->
+    <el-dialog title="系统提示" :visible.sync="openDel" width="500px" append-to-body>
+      <el-form ref="form" :model="formDel" :rules="rulesDel" label-width="120px">
+        <el-form-item label="请输入确认删除" prop="inputConfirm">
+          <el-input v-model="formDel.inputConfirm" placeholder="确认删除"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFormDel">确 定</el-button>
+        <el-button @click="cancelDel">取 消</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import {listSecret, getSecret, delSecret, addSecret, updateSecret,copySecret} from "@/api/system/secret";
+import {listSecret, getSecret, delSecret, addSecret, updateSecret, copySecret} from "@/api/system/secret";
 import {listAllProject} from "@/api/system/project";
 
 export default {
-  name: "Project",
+  name: "secret",
   data() {
     return {
       // 遮罩层
@@ -156,12 +143,13 @@ export default {
       showSearch: true,
       // 总条数
       total: 0,
-      // 【请填写功能名称】表格数据
+      // 项目授权管理表格数据
       secretList: [],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
       open: false,
+      openDel: false,
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -172,8 +160,20 @@ export default {
       options: [],
       // 表单参数
       form: {},
+      formDel: {
+        inputConfirm: ''
+      },
       // 表单校验
-      rules: {}
+      rules: {
+        // overdueDate: [
+        //   {required: true, message: '请选择过期时间', trigger: 'change'}
+        // ],
+      },
+      rulesDel: {
+        inputConfirm: [
+          {required: true, message: '请输入名称', trigger: 'input'}
+        ],
+      },
     };
   },
   created() {
@@ -181,7 +181,7 @@ export default {
     this.getProjectList()
   },
   methods: {
-    /** 查询【请填写功能名称】列表 */
+    /** 查询项目授权管理列表 */
     getList() {
       this.loading = true;
       listSecret(this.queryParams).then(response => {
@@ -207,7 +207,8 @@ export default {
       this.form = {
         id: null,
         projectName: null,
-        secretKey: null
+        secretKey: null,
+        overdueDate: null
       };
       this.resetForm("form");
     },
@@ -232,7 +233,7 @@ export default {
     handleAdd() {
       this.reset();
       this.open = true;
-      this.title = "添加【请填写功能名称】";
+      this.title = "添加项目授权管理";
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
@@ -241,13 +242,12 @@ export default {
       getSecret(id).then(response => {
         this.form = response.data;
         this.open = true;
-        this.title = "修改【请填写功能名称】";
+        this.title = "修改项目授权管理";
       });
     },
     /** 复制按钮操作 */
     handleCopy(row) {
       const secretKey = row.secretKey;
-
       navigator.clipboard.writeText(secretKey)
         .then(() => {
           this.$message.success("信息已复制");
@@ -283,22 +283,29 @@ export default {
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除【请填写功能名称】编号为"' + ids + '"的数据项?').then(function () {
-        return delSecret(ids);
-      }).then(() => {
-        this.getList();
-        this.getProjectList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {
-      });
+      this.ids = row.id || this.ids;
+      this.formDel.inputConfirm = ''
+      this.openDel = true
+    },
+    submitFormDel() {
+      if (this.formDel.inputConfirm == '确认删除') {
+        delSecret(this.ids).then(() => {
+          this.ids = []
+          this.getList();
+          this.getProjectList();
+          this.formDel.inputConfirm = ''
+          this.openDel = false
+          this.$modal.msgSuccess("删除成功");
+        }).catch(() => {
+        });
+      } else {
+        this.$message.warning("您输入的内容不正确,请重新输入!")
+      }
+    },
+    cancelDel() {
+      this.formDel.inputConfirm = ''
+      this.openDel = false
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('system/secret/export', {
-        ...this.queryParams
-      }, `project_${new Date().getTime()}.xlsx`)
-    }
   }
 };
 </script>

Разлика између датотеке није приказан због своје велике величине
+ 59 - 14
sql/authority.sql