From bbdc82d7b319da05f5b67465dd776ed6ea842978 Mon Sep 17 00:00:00 2001
From: 孔祥富 <kongxf@daryun.com>
Date: 星期六, 27 二月 2021 18:16:34 +0800
Subject: [PATCH] 档案,以及用户导入
---
src/views/febs/system/user/Index.vue | 61 +++++++++++++++++++++++++++++-
1 files changed, 59 insertions(+), 2 deletions(-)
diff --git a/src/views/febs/system/user/Index.vue b/src/views/febs/system/user/Index.vue
index 05b6fbe..3e7ea76 100644
--- a/src/views/febs/system/user/Index.vue
+++ b/src/views/febs/system/user/Index.vue
@@ -29,7 +29,24 @@
<el-button v-has-permission="['user:export']" class="filter-item" type="success" @click.native="exportExcel">
{{ $t('table.export') }}
</el-button>
-
+ <el-button class="filter-item" icon="el-icon-download" type="primary" plain @click="templateDownload">
+ {{ $t('table.templateDownload') }}
+ </el-button>
+ <el-upload
+ class="upload"
+ :action="uploadAction"
+ :headers="headers"
+ list-type="picture"
+ :show-file-list="false"
+ :before-upload="beforeUpload"
+ :on-success="uploadSuccess"
+ :on-error="uploadError"
+ :on-progress="uploadProgress"
+ >
+ <el-button v-has-permission="['user:import']" class="filter-item" icon="el-icon-upload2" type="success" plain>
+ {{ $t('table.import') }}
+ </el-button>
+ </el-upload>
<!-- <el-dropdown v-has-any-permission="['user:add','user:delete','user:reset','user:export']" trigger="click" class="filter-item">
<el-button>
{{ $t('table.more') }}<i class="el-icon-arrow-down el-icon--right" />
@@ -130,7 +147,9 @@
import Pagination from '@/components/Pagination'
import UserEdit from './Edit'
import UserView from './View'
-
+import { getFileType } from '@/utils'
+import { getToken } from '@/utils/auth'
+import NProgress from 'nprogress'
export default {
name: 'UserManage',
components: { Pagination, UserEdit, UserView },
@@ -153,6 +172,10 @@
},
data() {
return {
+ uploadAction: `${process.env.VUE_APP_BASE_API}system/user/import`,
+ headers: {
+ Authorization: `bearer ${getToken()}`
+ },
dialog: {
isVisible: false,
title: ''
@@ -180,6 +203,40 @@
this.fetch()
},
methods: {
+ templateDownload() {
+ this.$download('system/user/template', {}, 'excel_import_user.xlsx')
+ },
+ beforeUpload(file) {
+ const type = getFileType(file.name)
+ if (type !== 'xlsx') {
+ this.$message({
+ message: this.$t('tips.onlySupportXlsx'),
+ type: 'error'
+ })
+ return false
+ } else {
+ return true
+ }
+ },
+ uploadError() {
+ this.$message({
+ message: this.$t('tips.uploadFailed'),
+ type: 'error'
+ })
+ NProgress.done()
+ },
+ uploadSuccess(response) {
+ const data = response.data
+ this.data = data.data
+ this.error = data.error
+ this.time = data.time
+ NProgress.done()
+ this.fetch()
+ this.dialogVisible = true
+ },
+ uploadProgress() {
+ NProgress.start()
+ },
transSex(sex) {
switch (sex) {
case '0':
--
Gitblit v1.8.0