From 9aeb0cc1f334f062bc276d481786959a880a9895 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期日, 17 五月 2020 15:47:29 +0800
Subject: [PATCH] 修复定时任务执行一次按钮后不提示消息问题
---
ruoyi-ui/src/views/system/role/index.vue | 118 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 94 insertions(+), 24 deletions(-)
diff --git a/ruoyi-ui/src/views/system/role/index.vue b/ruoyi-ui/src/views/system/role/index.vue
index 332dc8f..42e3d82 100644
--- a/ruoyi-ui/src/views/system/role/index.vue
+++ b/ruoyi-ui/src/views/system/role/index.vue
@@ -1,7 +1,7 @@
<template>
<div class="app-container">
- <el-form :inline="true">
- <el-form-item label="瑙掕壊鍚嶇О">
+ <el-form :model="queryParams" ref="queryForm" :inline="true">
+ <el-form-item label="瑙掕壊鍚嶇О" prop="roleName">
<el-input
v-model="queryParams.roleName"
placeholder="璇疯緭鍏ヨ鑹插悕绉�"
@@ -11,7 +11,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="鏉冮檺瀛楃">
+ <el-form-item label="鏉冮檺瀛楃" prop="roleKey">
<el-input
v-model="queryParams.roleKey"
placeholder="璇疯緭鍏ユ潈闄愬瓧绗�"
@@ -21,7 +21,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="鐘舵��">
+ <el-form-item label="鐘舵��" prop="status">
<el-select
v-model="queryParams.status"
placeholder="瑙掕壊鐘舵��"
@@ -51,6 +51,12 @@
</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
type="primary"
icon="el-icon-plus"
@@ -58,15 +64,45 @@
@click="handleAdd"
v-hasPermi="['system:role:add']"
>鏂板</el-button>
- </el-form-item>
- </el-form>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="success"
+ icon="el-icon-edit"
+ size="mini"
+ :disabled="single"
+ @click="handleUpdate"
+ v-hasPermi="['system:role:edit']"
+ >淇敼</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="danger"
+ icon="el-icon-delete"
+ size="mini"
+ :disabled="multiple"
+ @click="handleDelete"
+ v-hasPermi="['system:role:remove']"
+ >鍒犻櫎</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="warning"
+ icon="el-icon-download"
+ size="mini"
+ @click="handleExport"
+ v-hasPermi="['system:post:export']"
+ >瀵煎嚭</el-button>
+ </el-col>
+ </el-row>
- <el-table v-loading="loading" :data="roleList">
+ <el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55" align="center" />
<el-table-column label="瑙掕壊缂栧彿" prop="roleId" width="120" />
<el-table-column label="瑙掕壊鍚嶇О" prop="roleName" :show-overflow-tooltip="true" width="150" />
- <el-table-column label="鏉冮檺瀛楃" prop="roleKey" :show-overflow-tooltip="true" width="180" />
- <el-table-column label="鏄剧ず椤哄簭" prop="roleSort" width="120" />
- <el-table-column label="鐘舵��" align="center" width="120">
+ <el-table-column label="鏉冮檺瀛楃" prop="roleKey" :show-overflow-tooltip="true" width="150" />
+ <el-table-column label="鏄剧ず椤哄簭" prop="roleSort" width="100" />
+ <el-table-column label="鐘舵��" align="center" width="100">
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"
@@ -78,7 +114,7 @@
</el-table-column>
<el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180">
<template slot-scope="scope">
- <span>{{ dateFormat(scope.row.createTime) }}</span>
+ <span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
@@ -117,7 +153,7 @@
/>
<!-- 娣诲姞鎴栦慨鏀硅鑹查厤缃璇濇 -->
- <el-dialog :title="title" :visible.sync="open" width="500px">
+ <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="roleName">
<el-input v-model="form.roleName" placeholder="璇疯緭鍏ヨ鑹插悕绉�" />
@@ -158,7 +194,7 @@
</el-dialog>
<!-- 鍒嗛厤瑙掕壊鏁版嵁鏉冮檺瀵硅瘽妗� -->
- <el-dialog :title="title" :visible.sync="openDataScope" width="500px">
+ <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body>
<el-form :model="form" label-width="80px">
<el-form-item label="瑙掕壊鍚嶇О">
<el-input v-model="form.roleName" :disabled="true" />
@@ -197,15 +233,22 @@
</template>
<script>
-import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus } from "@/api/system/role";
+import { listRole, getRole, delRole, addRole, updateRole, exportRole, dataScope, changeRoleStatus } from "@/api/system/role";
import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
import { treeselect as deptTreeselect, roleDeptTreeselect } from "@/api/system/dept";
export default {
+ name: "Role",
data() {
return {
// 閬僵灞�
loading: true,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
// 鎬绘潯鏁�
total: 0,
// 瑙掕壊琛ㄦ牸鏁版嵁
@@ -326,15 +369,15 @@
/** 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鏍戠粨鏋� */
getRoleMenuTreeselect(roleId) {
roleMenuTreeselect(roleId).then(response => {
- this.getMenuTreeselect();
- this.$refs.menu.setCheckedKeys(response.data);
+ this.menuOptions = response.menus;
+ this.$refs.menu.setCheckedKeys(response.checkedKeys);
});
},
/** 鏍规嵁瑙掕壊ID鏌ヨ閮ㄩ棬鏍戠粨鏋� */
getRoleDeptTreeselect(roleId) {
roleDeptTreeselect(roleId).then(response => {
- this.getDeptTreeselect();
- this.$refs.dept.setCheckedKeys(response.data);
+ this.deptOptions = response.depts;
+ this.$refs.dept.setCheckedKeys(response.checkedKeys);
});
},
// 瑙掕壊鐘舵�佷慨鏀�
@@ -364,8 +407,8 @@
},
// 琛ㄥ崟閲嶇疆
reset() {
- if (this.$refs.tree != undefined) {
- this.$refs.tree.setCheckedKeys([]);
+ if (this.$refs.menu != undefined) {
+ this.$refs.menu.setCheckedKeys([]);
}
this.form = {
roleId: undefined,
@@ -384,6 +427,18 @@
this.queryParams.pageNum = 1;
this.getList();
},
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.dateRange = [];
+ this.resetForm("queryForm");
+ this.handleQuery();
+ },
+ // 澶氶�夋閫変腑鏁版嵁
+ handleSelectionChange(selection) {
+ this.ids = selection.map(item => item.roleId)
+ this.single = selection.length!=1
+ this.multiple = !selection.length
+ },
/** 鏂板鎸夐挳鎿嶄綔 */
handleAdd() {
this.reset();
@@ -394,10 +449,11 @@
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
this.reset();
+ const roleId = row.roleId || this.ids
this.$nextTick(() => {
- this.getRoleMenuTreeselect(row.roleId);
+ this.getRoleMenuTreeselect(roleId);
});
- getRole(row.roleId).then(response => {
+ getRole(roleId).then(response => {
this.form = response.data;
this.open = true;
this.title = "淇敼瑙掕壊";
@@ -462,16 +518,30 @@
},
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
- this.$confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.roleName + '"鐨勬暟鎹」?', "璀﹀憡", {
+ const roleIds = row.roleId || this.ids;
+ this.$confirm('鏄惁纭鍒犻櫎瑙掕壊缂栧彿涓�"' + roleIds + '"鐨勬暟鎹」?', "璀﹀憡", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning"
}).then(function() {
- return delRole(row.roleId);
+ return delRole(roleIds);
}).then(() => {
this.getList();
this.msgSuccess("鍒犻櫎鎴愬姛");
}).catch(function() {});
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ const queryParams = this.queryParams;
+ this.$confirm('鏄惁纭瀵煎嚭鎵�鏈夎鑹叉暟鎹」?', "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(function() {
+ return exportRole(queryParams);
+ }).then(response => {
+ this.download(response.msg);
+ }).catch(function() {});
}
}
};
--
Gitblit v1.9.3