Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
cedd2d1d
Commit
cedd2d1d
authored
Nov 17, 2021
by
RuoYi
Browse files
优化导出数据操作
parent
2ab96587
Changes
37
Hide whitespace changes
Inline
Side-by-side
ruoyi-ui/src/api/system/post.js
View file @
cedd2d1d
...
...
@@ -42,12 +42,3 @@ export function delPost(postId) {
method
:
'
delete
'
})
}
// 导出岗位
export
function
exportPost
(
query
)
{
return
request
({
url
:
'
/system/post/export
'
,
method
:
'
get
'
,
params
:
query
})
}
\ No newline at end of file
ruoyi-ui/src/api/system/role.js
View file @
cedd2d1d
...
...
@@ -65,15 +65,6 @@ export function delRole(roleId) {
})
}
// 导出角色
export
function
exportRole
(
query
)
{
return
request
({
url
:
'
/system/role/export
'
,
method
:
'
get
'
,
params
:
query
})
}
// 查询角色已授权用户列表
export
function
allocatedUserList
(
query
)
{
return
request
({
...
...
ruoyi-ui/src/api/system/user.js
View file @
cedd2d1d
...
...
@@ -44,15 +44,6 @@ export function delUser(userId) {
})
}
// 导出用户
export
function
exportUser
(
query
)
{
return
request
({
url
:
'
/system/user/export
'
,
method
:
'
get
'
,
params
:
query
})
}
// 用户密码重置
export
function
resetUserPwd
(
userId
,
password
)
{
const
data
=
{
...
...
@@ -118,14 +109,6 @@ export function uploadAvatar(data) {
})
}
// 下载用户导入模板
export
function
importTemplate
()
{
return
request
({
url
:
'
/system/user/importTemplate
'
,
method
:
'
get
'
})
}
// 查询授权角色
export
function
getAuthRole
(
userId
)
{
return
request
({
...
...
ruoyi-ui/src/main.js
View file @
cedd2d1d
...
...
@@ -12,6 +12,7 @@ import store from './store'
import
router
from
'
./router
'
import
directive
from
'
./directive
'
//directive
import
plugins
from
'
./plugins
'
// plugins
import
{
download
}
from
'
@/utils/request
'
import
'
./assets/icons
'
// icon
import
'
./permission
'
// permission control
...
...
@@ -43,6 +44,7 @@ Vue.prototype.resetForm = resetForm
Vue
.
prototype
.
addDateRange
=
addDateRange
Vue
.
prototype
.
selectDictLabel
=
selectDictLabel
Vue
.
prototype
.
selectDictLabels
=
selectDictLabels
Vue
.
prototype
.
download
=
download
Vue
.
prototype
.
handleTree
=
handleTree
// 全局组件挂载
...
...
ruoyi-ui/src/plugins/download.js
View file @
cedd2d1d
import
{
saveAs
}
from
'
file-saver
'
import
axios
from
'
axios
'
import
{
getToken
}
from
'
@/utils/auth
'
import
{
Message
}
from
'
element-ui
'
import
{
saveAs
}
from
'
file-saver
'
import
{
getToken
}
from
'
@/utils/auth
'
import
{
blobValidate
}
from
"
@/utils/ruoyi
"
;
const
baseURL
=
process
.
env
.
VUE_APP_BASE_API
...
...
@@ -48,7 +49,7 @@ export default {
responseType
:
'
blob
'
,
headers
:
{
'
Authorization
'
:
'
Bearer
'
+
getToken
()
}
}).
then
(
async
(
res
)
=>
{
const
isLogin
=
await
this
.
blobValidate
(
res
.
data
);
const
isLogin
=
await
blobValidate
(
res
.
data
);
if
(
isLogin
)
{
const
blob
=
new
Blob
([
res
.
data
],
{
type
:
'
application/zip
'
})
this
.
saveAs
(
blob
,
name
)
...
...
@@ -59,15 +60,6 @@ export default {
},
saveAs
(
text
,
name
,
opts
)
{
saveAs
(
text
,
name
,
opts
);
},
async
blobValidate
(
data
)
{
try
{
const
text
=
await
data
.
text
();
JSON
.
parse
(
text
);
return
false
;
}
catch
(
error
)
{
return
true
;
}
},
}
}
ruoyi-ui/src/utils/request.js
View file @
cedd2d1d
import
axios
from
'
axios
'
import
{
Notification
,
MessageBox
,
Message
}
from
'
element-ui
'
import
{
Notification
,
MessageBox
,
Message
,
Loading
}
from
'
element-ui
'
import
store
from
'
@/store
'
import
{
getToken
}
from
'
@/utils/auth
'
import
errorCode
from
'
@/utils/errorCode
'
import
{
tansParams
,
blobValidate
}
from
"
@/utils/ruoyi
"
;
import
{
saveAs
}
from
'
file-saver
'
let
downloadLoadingInstance
;
axios
.
defaults
.
headers
[
'
Content-Type
'
]
=
'
application/json;charset=utf-8
'
// 创建axios实例
...
...
@@ -12,6 +16,7 @@ const service = axios.create({
// 超时
timeout
:
10000
})
// request拦截器
service
.
interceptors
.
request
.
use
(
config
=>
{
// 是否需要设置 token
...
...
@@ -21,24 +26,7 @@ service.interceptors.request.use(config => {
}
// get请求映射params参数
if
(
config
.
method
===
'
get
'
&&
config
.
params
)
{
let
url
=
config
.
url
+
'
?
'
;
for
(
const
propName
of
Object
.
keys
(
config
.
params
))
{
const
value
=
config
.
params
[
propName
];
var
part
=
encodeURIComponent
(
propName
)
+
"
=
"
;
if
(
value
!==
null
&&
typeof
(
value
)
!==
"
undefined
"
)
{
if
(
typeof
value
===
'
object
'
)
{
for
(
const
key
of
Object
.
keys
(
value
))
{
if
(
value
[
key
]
!==
null
&&
typeof
(
value
[
key
])
!==
'
undefined
'
)
{
let
params
=
propName
+
'
[
'
+
key
+
'
]
'
;
let
subPart
=
encodeURIComponent
(
params
)
+
'
=
'
;
url
+=
subPart
+
encodeURIComponent
(
value
[
key
])
+
'
&
'
;
}
}
}
else
{
url
+=
part
+
encodeURIComponent
(
value
)
+
"
&
"
;
}
}
}
let
url
=
config
.
url
+
'
?
'
+
tansParams
(
config
.
params
);
url
=
url
.
slice
(
0
,
-
1
);
config
.
params
=
{};
config
.
url
=
url
;
...
...
@@ -55,17 +43,24 @@ service.interceptors.response.use(res => {
const
code
=
res
.
data
.
code
||
200
;
// 获取错误信息
const
msg
=
errorCode
[
code
]
||
res
.
data
.
msg
||
errorCode
[
'
default
'
]
// 二进制数据则直接返回
if
(
res
.
request
.
responseType
===
'
blob
'
||
res
.
request
.
responseType
===
'
arraybuffer
'
){
return
res
.
data
}
if
(
code
===
401
)
{
MessageBox
.
confirm
(
'
登录状态已过期,您可以继续留在该页面,或者重新登录
'
,
'
系统提示
'
,
{
let
doms
=
document
.
getElementsByClassName
(
'
el-message-box
'
)[
0
]
if
(
doms
===
undefined
){
MessageBox
.
confirm
(
'
登录状态已过期,您可以继续留在该页面,或者重新登录
'
,
'
系统提示
'
,
{
confirmButtonText
:
'
重新登录
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}
).
then
(()
=>
{
store
.
dispatch
(
'
LogOut
'
).
then
(()
=>
{
location
.
href
=
'
/index
'
;
})
}).
catch
(()
=>
{});
).
then
(()
=>
{
store
.
dispatch
(
'
LogOut
'
).
then
(()
=>
{
location
.
href
=
'
/index
'
;
})
}).
catch
(()
=>
{});
}
return
Promise
.
reject
(
'
无效的会话,或者会话已过期,请重新登录。
'
)
}
else
if
(
code
===
500
)
{
Message
({
...
...
@@ -103,4 +98,27 @@ service.interceptors.response.use(res => {
}
)
// 通用下载方法
export
function
download
(
url
,
params
,
filename
)
{
downloadLoadingInstance
=
Loading
.
service
({
text
:
"
正在下载数据,请稍候
"
,
spinner
:
"
el-icon-loading
"
,
background
:
"
rgba(0, 0, 0, 0.7)
"
,
})
return
service
.
post
(
url
,
params
,
{
transformRequest
:
[(
params
)
=>
{
return
tansParams
(
params
)
}],
headers
:
{
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
},
responseType
:
'
blob
'
}).
then
(
async
(
data
)
=>
{
const
isLogin
=
await
blobValidate
(
data
);
if
(
isLogin
)
{
const
blob
=
new
Blob
([
data
])
saveAs
(
blob
,
filename
)
}
else
{
Message
.
error
(
'
无效的会话,或者会话已过期,请重新登录。
'
);
}
downloadLoadingInstance
.
close
();
}).
catch
((
r
)
=>
{
console
.
error
(
r
)
Message
.
error
(
'
下载文件出现错误,请联系管理员!
'
)
downloadLoadingInstance
.
close
();
})
}
export
default
service
ruoyi-ui/src/utils/ruoyi.js
View file @
cedd2d1d
...
...
@@ -181,3 +181,40 @@ export function handleTree(data, id, parentId, children) {
}
return
tree
;
}
/**
* 参数处理
* @param {*} params 参数
*/
export
function
tansParams
(
params
)
{
let
result
=
''
for
(
const
propName
of
Object
.
keys
(
params
))
{
const
value
=
params
[
propName
];
var
part
=
encodeURIComponent
(
propName
)
+
"
=
"
;
if
(
value
!==
null
&&
typeof
(
value
)
!==
"
undefined
"
)
{
if
(
typeof
value
===
'
object
'
)
{
for
(
const
key
of
Object
.
keys
(
value
))
{
if
(
value
[
key
]
!==
null
&&
typeof
(
value
[
key
])
!==
'
undefined
'
)
{
let
params
=
propName
+
'
[
'
+
key
+
'
]
'
;
var
subPart
=
encodeURIComponent
(
params
)
+
"
=
"
;
result
+=
subPart
+
encodeURIComponent
(
value
[
key
])
+
"
&
"
;
}
}
}
else
{
result
+=
part
+
encodeURIComponent
(
value
)
+
"
&
"
;
}
}
}
return
result
}
// 验证是否为blob格式
export
async
function
blobValidate
(
data
)
{
try
{
const
text
=
await
data
.
text
();
JSON
.
parse
(
text
);
return
false
;
}
catch
(
error
)
{
return
true
;
}
}
ruoyi-ui/src/views/monitor/job/index.vue
View file @
cedd2d1d
...
...
@@ -75,7 +75,6 @@
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['monitor:job:export']"
>
导出
</el-button>
...
...
@@ -295,7 +294,7 @@
</template>
<
script
>
import
{
listJob
,
getJob
,
delJob
,
addJob
,
updateJob
,
exportJob
,
runJob
,
changeJobStatus
}
from
"
@/api/monitor/job
"
;
import
{
listJob
,
getJob
,
delJob
,
addJob
,
updateJob
,
runJob
,
changeJobStatus
}
from
"
@/api/monitor/job
"
;
import
Crontab
from
'
@/components/Crontab
'
export
default
{
...
...
@@ -306,8 +305,6 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
...
...
@@ -510,14 +507,9 @@ export default {
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$modal
.
confirm
(
'
是否确认导出所有定时任务数据项?
'
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportJob
(
queryParams
);
}).
then
(
response
=>
{
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
this
.
download
(
'
monitor/job/export
'
,
{
...
this
.
queryParams
},
`job_
${
new
Date
().
getTime
()}
.xlsx`
)
}
}
};
...
...
ruoyi-ui/src/views/monitor/job/log.vue
View file @
cedd2d1d
...
...
@@ -89,7 +89,6 @@
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['monitor:job:export']"
>
导出
</el-button>
...
...
@@ -186,7 +185,7 @@
<
script
>
import
{
getJob
}
from
"
@/api/monitor/job
"
;
import
{
listJobLog
,
delJobLog
,
exportJobLog
,
cleanJobLog
}
from
"
@/api/monitor/jobLog
"
;
import
{
listJobLog
,
delJobLog
,
cleanJobLog
}
from
"
@/api/monitor/jobLog
"
;
export
default
{
name
:
"
JobLog
"
,
...
...
@@ -195,8 +194,6 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非多个禁用
...
...
@@ -293,14 +290,9 @@ export default {
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$modal
.
confirm
(
'
是否确认导出所有调度日志数据项?
'
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportJobLog
(
queryParams
);
}).
then
(
response
=>
{
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
this
.
download
(
'
/monitor/jobLog/export
'
,
{
...
this
.
queryParams
},
`log_
${
new
Date
().
getTime
()}
.xlsx`
)
}
}
};
...
...
ruoyi-ui/src/views/monitor/logininfor/index.vue
View file @
cedd2d1d
...
...
@@ -83,7 +83,6 @@
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['monitor:logininfor:export']"
>
导出
</el-button>
...
...
@@ -123,7 +122,7 @@
</template>
<
script
>
import
{
list
,
delLogininfor
,
cleanLogininfor
,
exportLogininfor
}
from
"
@/api/monitor/logininfor
"
;
import
{
list
,
delLogininfor
,
cleanLogininfor
}
from
"
@/api/monitor/logininfor
"
;
export
default
{
name
:
"
Logininfor
"
,
...
...
@@ -132,8 +131,6 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非多个禁用
...
...
@@ -216,14 +213,9 @@ export default {
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$modal
.
confirm
(
'
是否确认导出所有操作日志数据项?
'
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportLogininfor
(
queryParams
);
}).
then
(
response
=>
{
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
this
.
download
(
'
monitor/logininfor/export
'
,
{
...
this
.
queryParams
},
`logininfor_
${
new
Date
().
getTime
()}
.xlsx`
)
}
}
};
...
...
ruoyi-ui/src/views/monitor/operlog/index.vue
View file @
cedd2d1d
...
...
@@ -99,7 +99,6 @@
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['monitor:operlog:export']"
>
导出
</el-button>
...
...
@@ -196,7 +195,7 @@
</template>
<
script
>
import
{
list
,
delOperlog
,
cleanOperlog
,
exportOperlog
}
from
"
@/api/monitor/operlog
"
;
import
{
list
,
delOperlog
,
cleanOperlog
}
from
"
@/api/monitor/operlog
"
;
export
default
{
name
:
"
Operlog
"
,
...
...
@@ -205,8 +204,6 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非多个禁用
...
...
@@ -303,14 +300,9 @@ export default {
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$modal
.
confirm
(
'
是否确认导出所有操作日志数据项?
'
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportOperlog
(
queryParams
);
}).
then
(
response
=>
{
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
this
.
download
(
'
monitor/operlog/export
'
,
{
...
this
.
queryParams
},
`operlog_
${
new
Date
().
getTime
()}
.xlsx`
)
}
}
};
...
...
ruoyi-ui/src/views/system/config/index.vue
View file @
cedd2d1d
...
...
@@ -88,7 +88,6 @@
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['system:config:export']"
>
导出
</el-button>
...
...
@@ -185,7 +184,7 @@
</template>
<
script
>
import
{
listConfig
,
getConfig
,
delConfig
,
addConfig
,
updateConfig
,
exportConfig
,
refreshCache
}
from
"
@/api/system/config
"
;
import
{
listConfig
,
getConfig
,
delConfig
,
addConfig
,
updateConfig
,
refreshCache
}
from
"
@/api/system/config
"
;
export
default
{
name
:
"
Config
"
,
...
...
@@ -194,8 +193,6 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
...
...
@@ -334,14 +331,9 @@ export default {
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$modal
.
confirm
(
'
是否确认导出所有参数数据项?
'
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportConfig
(
queryParams
);
}).
then
(
response
=>
{
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
this
.
download
(
'
system/config/export
'
,
{
...
this
.
queryParams
},
`config_
${
new
Date
().
getTime
()}
.xlsx`
)
},
/** 刷新缓存按钮操作 */
handleRefreshCache
()
{
...
...
ruoyi-ui/src/views/system/dict/data.vue
View file @
cedd2d1d
...
...
@@ -75,7 +75,6 @@
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['system:dict:export']"
>
导出
</el-button>
...
...
@@ -183,7 +182,7 @@
</template>
<
script
>
import
{
listData
,
getData
,
delData
,
addData
,
updateData
,
exportData
}
from
"
@/api/system/dict/data
"
;
import
{
listData
,
getData
,
delData
,
addData
,
updateData
}
from
"
@/api/system/dict/data
"
;
import
{
listType
,
getType
}
from
"
@/api/system/dict/type
"
;
export
default
{
...
...
@@ -193,8 +192,6 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
...
...
@@ -380,14 +377,9 @@ export default {
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$modal
.
confirm
(
'
是否确认导出所有数据项?
'
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportData
(
queryParams
);
}).
then
(
response
=>
{
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
this
.
download
(
'
system/dict/data/export
'
,
{
...
this
.
queryParams
},
`data_
${
new
Date
().
getTime
()}
.xlsx`
)
}
}
};
...
...
ruoyi-ui/src/views/system/dict/index.vue
View file @
cedd2d1d
...
...
@@ -94,7 +94,6 @@
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['system:dict:export']"
>
导出
</el-button>
...
...
@@ -193,7 +192,7 @@
</template>
<
script
>
import
{
listType
,
getType
,
delType
,
addType
,
updateType
,
exportType
,
refreshCache
}
from
"
@/api/system/dict/type
"
;
import
{
listType
,
getType
,
delType
,
addType
,
updateType
,
refreshCache
}
from
"
@/api/system/dict/type
"
;
export
default
{
name
:
"
Dict
"
,
...
...
@@ -202,8 +201,6 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
...
...
@@ -338,14 +335,9 @@ export default {
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$modal
.
confirm
(
'
是否确认导出所有类型数据项?
'
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportType
(
queryParams
);
}).
then
(
response
=>
{
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
this
.
download
(
'
system/dict/type/export
'
,
{
...
this
.
queryParams
},
`type_
${
new
Date
().
getTime
()}
.xlsx`
)
},
/** 刷新缓存按钮操作 */
handleRefreshCache
()
{
...
...
ruoyi-ui/src/views/system/post/index.vue
View file @
cedd2d1d
...
...
@@ -74,7 +74,6 @@
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['system:post:export']"
>
导出
</el-button>
...
...
@@ -160,7 +159,7 @@
</template>
<
script
>
import
{
listPost
,
getPost
,
delPost
,
addPost
,
updatePost
,
exportPost
}
from
"
@/api/system/post
"
;
import
{
listPost
,
getPost
,
delPost
,
addPost
,
updatePost
}
from
"
@/api/system/post
"
;
export
default
{
name
:
"
Post
"
,
...
...
@@ -169,8 +168,6 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
...
...
@@ -305,14 +302,9 @@ export default {
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$modal
.
confirm
(
'
是否确认导出所有岗位数据项?
'
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportPost
(
queryParams
);
}).
then
(
response
=>
{
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
this
.
download
(
'
system/post/export
'
,
{
...
this
.
queryParams
},
`post_
${
new
Date
().
getTime
()}
.xlsx`
)
}
}
};
...
...
ruoyi-ui/src/views/system/role/index.vue
View file @
cedd2d1d
...
...
@@ -94,7 +94,6 @@
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['system:role:export']"
>
导出
</el-button>
...
...
@@ -259,7 +258,7 @@
</template>
<
script
>
import
{
listRole
,
getRole
,
delRole
,
addRole
,
updateRole
,
exportRole
,
dataScope
,
changeRoleStatus
}
from
"
@/api/system/role
"
;
import
{
listRole
,
getRole
,
delRole
,
addRole
,
updateRole
,
dataScope
,
changeRoleStatus
}
from
"
@/api/system/role
"
;
import
{
treeselect
as
menuTreeselect
,
roleMenuTreeselect
}
from
"
@/api/system/menu
"
;
import
{
treeselect
as
deptTreeselect
,
roleDeptTreeselect
}
from
"
@/api/system/dept
"
;
...
...
@@ -270,8 +269,6 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
...
...
@@ -613,14 +610,9 @@ export default {
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$modal
.
confirm
(
'
是否确认导出所有用户数据项?
'
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportRole
(
queryParams
);
}).
then
(
response
=>
{
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
this
.
download
(
'
system/role/export
'
,
{
...
this
.
queryParams
},
`role_
${
new
Date
().
getTime
()}
.xlsx`
)
}
}
};
...
...
ruoyi-ui/src/views/system/user/index.vue
View file @
cedd2d1d
...
...
@@ -131,7 +131,6 @@
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['system:user:export']"
>
导出
</el-button>
...
...
@@ -346,7 +345,7 @@
</template>
<
script
>
import
{
listUser
,
getUser
,
delUser
,
addUser
,
updateUser
,
exportUser
,
resetUserPwd
,
changeUserStatus
,
importTemplate
}
from
"
@/api/system/user
"
;
import
{
listUser
,
getUser
,
delUser
,
addUser
,
updateUser
,
resetUserPwd
,
changeUserStatus
}
from
"
@/api/system/user
"
;
import
{
getToken
}
from
"
@/utils/auth
"
;
import
{
treeselect
}
from
"
@/api/system/dept
"
;
import
Treeselect
from
"
@riophae/vue-treeselect
"
;
...
...
@@ -360,8 +359,6 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
...
...
@@ -643,14 +640,9 @@ export default {
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$modal
.
confirm
(
'
是否确认导出所有用户数据项?
'
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportUser
(
queryParams
);
}).
then
(
response
=>
{
this
.
$download
.
name
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
this
.
download
(
'
system/user/export
'
,
{
...
this
.
queryParams
},
`user_
${
new
Date
().
getTime
()}
.xlsx`
)
},
/** 导入按钮操作 */
handleImport
()
{
...
...
@@ -659,9 +651,9 @@ export default {
},
/** 下载模板操作 */
importTemplate
()
{
importTemplate
().
then
(
response
=>
{
this
.
$download
.
name
(
response
.
msg
);
})
;
this
.
download
(
'
system/user/importTemplate
'
,
{
...
this
.
queryParams
}
,
`user_template_
${
new
Date
().
getTime
()}
.xlsx`
)
},
// 文件上传中处理
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
...
...
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment