| | |
| | | </a-col> |
| | | <contactors-mod ref="contactMod" @refresh="getUserList()"></contactors-mod> |
| | | </a-row> |
| | | <a-modal v-model="visible" title="导入通讯录" ok-text="导入通讯录" :confirmLoading="uploadLoading" cancel-text="取消" @ok="uploadFile" centered :afterClose="clearMod"> |
| | | <a-form-model ref="ruleForm" :label-col="labelCol" :wrapper-col="wrapperCol" :colon="false"> |
| | | <a-form-model-item label="通讯录表格模板" extra="导入通讯录须依据此模板"> |
| | | <a-button type="primary" @click="downloadFile">下载模板</a-button> |
| | | </a-form-model-item> |
| | | <a-form-model-item label="通讯录表格文件"> |
| | | <a-upload :file-list="fileList" :remove="handleRemove" :before-upload="beforeUpload" accept=".xlsx,.xls"> |
| | | <a-button> <a-icon type="upload"/> 点击上传 </a-button> |
| | | </a-upload> |
| | | </a-form-model-item> |
| | | </a-form-model> |
| | | </a-modal> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | } from "@/api/contactBook"; |
| | | import subMenu from "@/views/Admin/contactBook/subMenu"; |
| | | import contactorsMod from "@/views/Admin/components/contactorsMod" |
| | | import {importUser} from "@/api/user"; |
| | | import importNew from "@/assets/importNew.xlsx"; |
| | | import exampleFile from "@/assets/example.xlsx"; |
| | | |
| | | export default { |
| | | name: 'sameLevel', |
| | |
| | | }, |
| | | data () { |
| | | return { |
| | | visible: false, |
| | | uploadLoading: false, |
| | | fileList: [], |
| | | labelCol: { span: 8 }, |
| | | wrapperCol: { span: 14 }, |
| | | importNew, |
| | | openKeys: [], |
| | | areaVal: [], |
| | | unittype: null, |
| | |
| | | } |
| | | }, |
| | | methods:{ |
| | | downloadFile(){ |
| | | const link = document.createElement('a') |
| | | link.href = exampleFile |
| | | link.target = '_blank' |
| | | link.download = '通讯录导入模板.xlsx' |
| | | link.click() |
| | | }, |
| | | |
| | | handleRemove(file) { |
| | | const index = this.fileList.indexOf(file) |
| | | const newFileList = this.fileList.slice() |
| | | newFileList.splice(index, 1) |
| | | this.fileList = newFileList; |
| | | }, |
| | | beforeUpload(file) { |
| | | this.fileList = [...this.fileList, file] |
| | | this.fileList = this.fileList.slice(-1) |
| | | return false; |
| | | }, |
| | | |
| | | async uploadFile(){ |
| | | if(!this.currentId || !this.search.searchParams.orgStructureId){ |
| | | this.$message.warning('请先在页面左侧单位架构处选择需要导入人员的单位') |
| | | return |
| | | } |
| | | if(this.fileList.length == 0){ |
| | | this.$message.warning('请先上传通讯录表格'); |
| | | return |
| | | }else{ |
| | | this.uploadLoading = true |
| | | const { fileList } = this; |
| | | const formData = new FormData(); |
| | | fileList.forEach((file) => { |
| | | formData.append('file', file) |
| | | }) |
| | | formData.append('districtId', this.currentId) |
| | | formData.append('orgStructureId', this.search.searchParams.orgStructureId) |
| | | const res = await importUser(formData) |
| | | if(res.data.code == 100){ |
| | | this.$message.success(res.data.msg,2); |
| | | this.fileList = [] |
| | | this.uploadLoading = false |
| | | this.visible = false |
| | | await this.getUserList() |
| | | }else{ |
| | | this.$message.warning(res.data.msg); |
| | | this.uploadLoading = false |
| | | } |
| | | } |
| | | }, |
| | | clearMod(){ |
| | | this.fileList = [] |
| | | }, |
| | | async getStructure(){ |
| | | const t = this |
| | | const res = await getStructure() |
| | |
| | | |
| | | |
| | | handleClick(e) { |
| | | console.log(e) |
| | | this.currentId = e.keyPath[1]?e.keyPath[1].split('-')[0]:e.keyPath[0].split('-')[0] |
| | | this.search = { |
| | | pageIndex: 1, |
| | |
| | | }, |
| | | |
| | | massImport(){ |
| | | this.$message.warning('批量导入请联系管理人员') |
| | | this.visible = true |
| | | }, |
| | | |
| | | resetSearch(){ |