|
@@ -0,0 +1,112 @@
|
|
|
+<template>
|
|
|
+ <a-modal
|
|
|
+ :title="title"
|
|
|
+ :visible="open"
|
|
|
+ :confirm-loading="uploading"
|
|
|
+ @cancel="importExcelHandleCancel"
|
|
|
+ @ok="importExcelHandleChange"
|
|
|
+ >
|
|
|
+ <a-spin tip="上传中..." :spinning="uploading">
|
|
|
+ <a-upload-dragger
|
|
|
+ name="file"
|
|
|
+ accept=".xlsx, .xls"
|
|
|
+ :file-list="fileList"
|
|
|
+ :multiple="false"
|
|
|
+ :remove="handleRemove"
|
|
|
+ :before-upload="beforeUpload"
|
|
|
+ >
|
|
|
+ <p class="ant-upload-drag-icon">
|
|
|
+ <a-icon type="inbox" />
|
|
|
+ </p>
|
|
|
+ <p class="ant-upload-text">
|
|
|
+ 请将文件拖拽到此处上传
|
|
|
+ </p>
|
|
|
+ <p class="ant-upload-hint">
|
|
|
+ 支持单个上传,也可以点击后选择文件上传
|
|
|
+ </p>
|
|
|
+ </a-upload-dragger>
|
|
|
+ <a-checkbox @change="handleCheckedUpdateSupport" :checked="updateSupport != 0">
|
|
|
+ 是否更新已经存在的油卡数据
|
|
|
+ </a-checkbox>
|
|
|
+ <a @click="importTemplate">下载模板</a>
|
|
|
+ </a-spin>
|
|
|
+ </a-modal>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+
|
|
|
+import { importData } from '@/api/clw/gas'
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'ImportExcel',
|
|
|
+ props: {
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ },
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ title: '油卡数据导入',
|
|
|
+ open: false,
|
|
|
+ uploadStatus: '',
|
|
|
+ fileList: [],
|
|
|
+ // 是否禁用上传
|
|
|
+ uploading: false,
|
|
|
+ updateSupport: 0
|
|
|
+ }
|
|
|
+ },
|
|
|
+ filters: {
|
|
|
+ },
|
|
|
+ created () {
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ /** 导入excel窗体关闭 */
|
|
|
+ importExcelHandleCancel (e) {
|
|
|
+ this.open = false
|
|
|
+ this.fileList = []
|
|
|
+ // 关闭后刷新列表
|
|
|
+ this.$emit('ok')
|
|
|
+ },
|
|
|
+ /** 下载模板操作 */
|
|
|
+ importTemplate () {
|
|
|
+ this.download('clw/gas/importTemplate', {
|
|
|
+ ...this.queryParams
|
|
|
+ }, `油卡数据_${new Date().getTime()}.xlsx`)
|
|
|
+ },
|
|
|
+ /** 导入excel窗体开启 */
|
|
|
+ importExcelHandleOpen (e) {
|
|
|
+ this.open = true
|
|
|
+ },
|
|
|
+ beforeUpload (file) {
|
|
|
+ this.fileList = [file]
|
|
|
+ return false
|
|
|
+ },
|
|
|
+ /** 导入excel */
|
|
|
+ importExcelHandleChange () {
|
|
|
+ this.uploading = true
|
|
|
+ const { fileList } = this
|
|
|
+ const formData = new FormData()
|
|
|
+ formData.append('file', fileList[0])
|
|
|
+ formData.append('updateSupport', this.updateSupport)
|
|
|
+ importData(formData).then(response => {
|
|
|
+ this.fileList = []
|
|
|
+ this.$message.success(response.msg)
|
|
|
+ this.open = false
|
|
|
+ this.$emit('ok')
|
|
|
+ }).finally(() => {
|
|
|
+ this.uploading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleCheckedUpdateSupport () {
|
|
|
+ this.updateSupport = this.updateSupport === 0 ? 1 : 0
|
|
|
+ },
|
|
|
+ handleRemove () {
|
|
|
+ this.fileList = []
|
|
|
+ this.uploading = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|