Jelajahi Sumber

菜单功能增加重放

xusl 1 tahun lalu
induk
melakukan
a27c133dea

+ 8 - 0
backend/src/main/java/com/jiayue/ssi/controller/SysMenuController.java

@@ -6,6 +6,7 @@ import java.util.Map;
 
 import cn.hutool.core.util.NumberUtil;
 import com.jiayue.ssi.annotation.OperateLog;
+import com.jiayue.ssi.annotation.PreventReplay;
 import com.jiayue.ssi.backenum.AuditType;
 import com.jiayue.ssi.backenum.BusinessType;
 import com.jiayue.ssi.constant.CustomException;
@@ -40,6 +41,7 @@ public class SysMenuController {
      */
     @GetMapping("/list")
     @PreAuthorize("@ss.hasPermi('system:menu:list')")
+    @PreventReplay
     public ResponseVO list(SysMenu menu) throws CustomException {
         try {
             if (StringUtils.isNotEmpty(menu.getMenuName())) {
@@ -60,6 +62,7 @@ public class SysMenuController {
     @PostMapping(value = "/addMenu")
     @OperateLog(title = "菜单管理", businessType = BusinessType.INSERT, auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:menu:add')")
+    @PreventReplay
     public ResponseVO addMenu(@RequestBody SysMenu menu) throws CustomException {
         try {
             if (RyStringUtils.isEmpty(menu.getMenuName())) {
@@ -122,6 +125,7 @@ public class SysMenuController {
     @PostMapping(value = "/updateMenu")
     @OperateLog(title = "菜单管理", businessType = BusinessType.UPDATE, auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:menu:edit')")
+    @PreventReplay
     public ResponseVO updateMenu(@RequestBody SysMenu menu) throws CustomException {
         try {
             if (menu.getMenuId() == null) {
@@ -186,6 +190,7 @@ public class SysMenuController {
      * 根据菜单编号获取详细信息
      */
     @GetMapping(value = "/{getDetailInfo}")
+    @PreventReplay
     public ResponseVO getDetailInfo(String menuId) throws CustomException {
         try {
             Long menuid;
@@ -213,6 +218,7 @@ public class SysMenuController {
     @PostMapping(value = "delMenu")
     @OperateLog(title = "菜单管理", businessType = BusinessType.DELETE, auditType = AuditType.SYS)
     @PreAuthorize("@ss.hasPermi('system:menu:remove')")
+    @PreventReplay
     public ResponseVO delMenu(String menuId) throws CustomException {
         try {
             if (org.apache.commons.lang3.StringUtils.isEmpty(menuId)) {
@@ -241,6 +247,7 @@ public class SysMenuController {
      * 获取菜单下拉树列表
      */
     @GetMapping("/treeselect")
+    @PreventReplay
     public ResponseVO treeselect(SysMenu menu) throws CustomException {
         try {
             List<SysMenu> menus = sysMenuService.selectMenuList(menu, SecurityContextUtil.getSysUser().getId());
@@ -254,6 +261,7 @@ public class SysMenuController {
      * 加载对应角色菜单列表树
      */
     @GetMapping(value = "/roleMenuTreeselect")
+    @PreventReplay
     public ResponseVO roleMenuTreeselect(String roleId) throws CustomException {
         try {
             Long roleid;

+ 76 - 36
ui/src/views/sysManager/sysMenu/index.vue

@@ -10,22 +10,11 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-<!--      <el-form-item label="状态" prop="status">-->
-<!--        <el-select v-model="queryParams.status" placeholder="菜单状态" clearable>-->
-<!--          <el-option-->
-<!--            v-for="dict in dict.type.sys_normal_disable"-->
-<!--            :key="dict.value"-->
-<!--            :label="dict.label"-->
-<!--            :value="dict.value"-->
-<!--          />-->
-<!--        </el-select>-->
-<!--      </el-form-item>-->
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
-
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
@@ -34,7 +23,6 @@
           icon="el-icon-plus"
           size="mini"
           @click="handleAdd"
-
         >新增</el-button>
       </el-col>
       <el-col :span="1.5">
@@ -78,21 +66,18 @@
             type="text"
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
-
           >修改</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-plus"
             @click="handleAdd(scope.row)"
-
           >新增</el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
-
           >删除</el-button>
         </template>
       </el-table-column>
@@ -348,14 +333,22 @@ export default {
       this.form.icon = name
     },
     /** 查询菜单列表 */
-    getList(){
+    async getList(){
+      let sysTime
+      let lk
+      await this.$axios.get('/sysPolicyController/getLicenseKey').then((res) => {
+        sysTime = res.data.sysTime
+        lk = res.data.lk
+      }).catch((error) => {
+      })
       this.loading = true;
-      this.$axios.get('/sysMenuController/list',{params: this.queryParams}).then((res) => {
+      this.queryParams.sysTime = sysTime
+      this.queryParams.lk = lk
+      await this.$axios.get('/sysMenuController/list',{params: this.queryParams}).then((res) => {
         this.menuList = this.handleTree(res.data, "menuId")
         this.loading = false;
       }).catch((error) => {
         this.loading = false;
-        console.log(error)
       })
     },
     /** 转换菜单数据结构 */
@@ -370,8 +363,19 @@ export default {
       };
     },
     /** 查询菜单下拉树结构 */
-    getTreeselect() {
-      this.$axios.get('/sysMenuController/list').then((res) => {
+    async getTreeselect() {
+      let sysTime
+      let lk
+      await this.$axios.get('/sysPolicyController/getLicenseKey').then((res) => {
+        sysTime = res.data.sysTime
+        lk = res.data.lk
+      }).catch((error) => {
+      })
+      var searchParams = {
+        sysTime: sysTime,
+        lk: lk
+      }
+      await this.$axios.get('/sysMenuController/list',{params: searchParams}).then((res) => {
         this.menuOptions = []
         const menu = { menuId: 0, menuName: '主类目', children: [] }
         menu.children = this.handleTree(res.data, "menuId")
@@ -428,13 +432,23 @@ export default {
       });
     },
     /** 修改按钮操作 */
-    handleUpdate:debounce(function(row){
+    handleUpdate:debounce(async function(row){
       this.reset()
       this.getTreeselect()
+
+      let sysTime
+      let lk
+      await this.$axios.get('/sysPolicyController/getLicenseKey').then((res) => {
+        sysTime = res.data.sysTime
+        lk = res.data.lk
+      }).catch((error) => {
+      })
       var searchParams = {
-        menuId: row.menuId
+        menuId: row.menuId,
+        sysTime: sysTime,
+        lk: lk
       }
-      this.$axios.get('/sysMenuController/getDetailInfo',
+      await this.$axios.get('/sysMenuController/getDetailInfo',
         {params: searchParams}).then((res) => {
         this.form = res.data
         this.open = true
@@ -445,16 +459,20 @@ export default {
     },500),
     /** 提交按钮 */
     submitForm:debounce(function(){
-      // if(this.form.menuType=='C'){
-      //   this.$refs['form'].clearValidate("path");
-      // }
-      // else{
-      //   this.$refs['form'].addValidate("path");
-      // }
-      this.$refs["form"].validate(valid => {
+      this.$refs["form"].validate(async valid => {
         if (valid) {
+          let sysTime
+          let lk
+          await this.$axios.get('/sysPolicyController/getLicenseKey').then((res) => {
+            sysTime = res.data.sysTime
+            lk = res.data.lk
+          }).catch((error) => {
+          })
+
+          this.form.sysTime = sysTime
+          this.form.lk = lk
           if (this.form.menuId != undefined) {
-            this.$axios.post('/sysMenuController/updateMenu', this.form).then((res) => {
+            await this.$axios.post('/sysMenuController/updateMenu', this.form).then((res) => {
               if (res.code == 0) {
                 this.$message.success('修改成功')
               }
@@ -467,7 +485,7 @@ export default {
               // this.$message.error(error)
             })
           } else {
-            this.$axios.post('/sysMenuController/addMenu', this.form).then((res) => {
+            await this.$axios.post('/sysMenuController/addMenu', this.form).then((res) => {
               if (res.code == 0) {
                 this.$message.success('新增成功')
               }
@@ -488,7 +506,19 @@ export default {
       this.$confirm('是否确认删除名称为"' + row.menuName + '"的数据项?', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
-        type: 'warning'
+        type: 'warning',
+        beforeClose(action, instance, done) {
+          if (action === "confirm") {
+            instance.$refs["confirm"].$el.onclick = (function (e) {
+              e = e || window.event;
+              if (e.detail != 0) {
+                done();
+              }
+            })();
+          } else {
+            done();
+          }
+        }
       }).then(() => {
         this.doDelete(row)
       }).catch(() => {
@@ -497,11 +527,21 @@ export default {
     /**
      * 删除提交
      */
-    doDelete:debounce(function(row){
+    doDelete:debounce(async function(row){
+      let sysTime
+      let lk
+      await this.$axios.get('/sysPolicyController/getLicenseKey').then((res) => {
+        sysTime = res.data.sysTime
+        lk = res.data.lk
+      }).catch((error) => {
+      })
+
       const param = {
-        menuId: row.menuId
+        menuId: row.menuId,
+        sysTime: sysTime,
+        lk: lk
       }
-      this.$axios.post('/sysMenuController/delMenu', param).then((res) => {
+      await this.$axios.post('/sysMenuController/delMenu', param).then((res) => {
         if (res.code == 0) {
           this.$message({
             type: 'success',

+ 4 - 1
ui/src/views/sysManager/userManager/index.vue

@@ -489,6 +489,9 @@ export default {
             lk = res.data.lk
           }).catch((error) => {
           })
+
+          this.form.sysTime = sysTime
+          this.form.lk = lk
           if (this.form.id != undefined) {
             // 更新操作
             await this.$axios.post('/sysUserController/updateUser', this.form).then((res) => {
@@ -740,7 +743,7 @@ export default {
         sysTime: sysTime,
         lk: lk
       }
-      this.$axios.post('/sysUserController/relockUser', param).then((res) => {
+      await this.$axios.post('/sysUserController/relockUser', param).then((res) => {
         if (res.code == 0) {
           this.$message({
             type: 'success',