@@ -42,6 +42,12 @@
> 导出 < / el-button >
< / el-col >
< right-toolbar :show-search.sync = "showSearch" @queryTable ="getList" / >
< el-col :span = "1.5" >
< el-button v-hasPermi = "['routine:disciplinaryApplication:import']" type="success" plain icon="el-icon-upload2" size="mini"
@click ="handleImport"
> 处分导入 < / el-button >
< / el-col >
< right-toolbar :show-search.sync = "showSearch" @queryTable ="getList" / >
< / el-row >
< el-table v-loading = "loading" :data="disciplinaryApplicationList" @selection-change="handleSelectionChange" >
@@ -225,6 +231,36 @@
< el-button @click ="cancel" > 取 消 < / el -button >
< / div >
< / el-dialog >
<!-- 学生处分导入对话框 -- >
< el-dialog :title = "upload.title" :visible.sync = "upload.open" width = "400px" append -to -body >
< el-upload
ref = "upload"
:limit = "1"
accept = ".xlsx, .xls"
:headers = "upload.headers"
: action = "upload.url + '?updateSupport=' + upload.updateSupport"
:disabled = "upload.isUploading"
:on-progress = "handleFileUploadProgress"
:on-success = "handleFileSuccess"
:auto-upload = "false"
drag
>
< i class = "el-icon-upload" > < / i >
< div class = "el-upload__text" > 将文件拖到此处 , 或 < em > 点击上传 < / em > < / div >
< div class = "el-upload__tip text-center" slot = "tip" >
<!-- < div class = "el-upload__tip" slot = "tip" >
< el-checkbox v-model = "upload.updateSupport" / > 是否更新已经存在的用户数据
< / div > -- >
< span > 仅允许导入xls 、 xlsx格式文件 。 < / span >
< el-link type = "primary" :underline = "false" style = "font-size:12px;vertical-align: baseline;" @click ="importTemplate" > 下载模板 < / el -link >
< / div >
< / el-upload >
< div slot = "footer" class = "dialog-footer" >
< el-button type = "primary" @click ="submitFileForm" > 确 定 < / el -button >
< el-button @click ="upload.open = false" > 取 消 < / el -button >
< / div >
< / el-dialog >
< / div >
< / template >
@@ -233,6 +269,7 @@ import { addDisciplinaryApplication, delDisciplinaryApplication, getDisciplinary
import {
pcaTextArr , // 省市区联动数据,纯汉字
} from 'element-china-area-data'
import { getToken } from "@/utils/auth" ;
export default {
name : 'DisciplinaryApplication' ,
@@ -301,6 +338,21 @@ export default {
stuInfo : { } ,
// 省市区
areaOptions : pcaTextArr ,
// 导入参数
upload : {
// 是否显示弹出层
open : false ,
// 弹出层标题
title : "" ,
// 是否禁用上传
isUploading : false ,
// 是否更新已经存在的数据
updateSupport : 0 ,
// 设置上传的请求头部
headers : { Authorization : "Bearer " + getToken ( ) } ,
// 上传的地址
url : process . env . VUE _APP _BASE _API + "/routine/disciplinaryApplication/importData"
} ,
}
} ,
created ( ) {
@@ -454,6 +506,32 @@ export default {
` disciplinaryApplication_ ${ new Date ( ) . getTime ( ) } .xlsx `
)
} ,
/** 导入按钮操作 */
handleImport ( ) {
this . upload . title = "学生处分导入" ;
this . upload . open = true ;
} ,
/** 下载模板操作 */
importTemplate ( ) {
this . download ( 'routine/disciplinaryApplication/importTemplate' , {
} , ` disciplinaryApplication_template_ ${ new Date ( ) . getTime ( ) } .xlsx ` )
} ,
// 文件上传中处理
handleFileUploadProgress ( event , file , fileList ) {
this . upload . isUploading = true ;
} ,
// 文件上传成功处理
handleFileSuccess ( response , file , fileList ) {
this . upload . open = false ;
this . upload . isUploading = false ;
this . $refs . upload . clearFiles ( ) ;
this . $alert ( "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response . msg + "</div>" , "导入结果" , { dangerouslyUseHTMLString : true } ) ;
this . getList ( ) ;
} ,
// 提交上传文件
submitFileForm ( ) {
this . $refs . upload . submit ( ) ;
} ,
handleBlur ( ) {
if ( this . form . stuNo != null || this . form . stuNo != '' ) {
getStuInfo ( this . form . stuNo ) . then ( ( res ) => {