<template>
|
<div shadow="never" class="fa-card-a">
|
<div class="mod-sync-sysDataExportRecord}">
|
<el-form :model="dataForm" @keyup.enter.native="table.query()">
|
<el-form-item>
|
<!-- <el-input v-model="dataForm.progressId"></el-input>-->
|
<el-button type="text" class="form-title">导入数据包</el-button>
|
<zt-uploader v-model="temp" :dataForm="dataForm" :limit="1"
|
:file-type="fileTypeArr" @recall="processData"
|
:onlyUploadFile="true" :accept="true" :file-size="0"/>
|
<el-progress v-show="progressFlag" style="padding: 0px" :text-inside="true" :stroke-width="30"
|
:percentage="dataForm.speed"></el-progress>
|
<br/>
|
<el-input v-model="dataForm.text" :autosize="{ minRows: 27, maxRows: 27}" readonly type="textarea">
|
</el-input>
|
</el-form-item>
|
</el-form>
|
<el-dialog title="警告" :visible.sync="dialogVisible" width="30%">
|
<span style="color:red">{{ dialogMsg }}</span>
|
<span slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
|
</span>
|
</el-dialog>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import Cookies from 'js-cookie'
|
import qs from 'qs'
|
import {guid} from '@/commonJS/common';
|
|
export default {
|
data() {
|
return {
|
fileTypeArr: ['zip'],
|
progressFlag: false,
|
maxFileSize: 0,
|
mark: false,
|
temp: [],
|
dataForm: {
|
progressId: '2222',
|
speed: 0,
|
text: ''
|
},
|
apiURL: '',
|
start: 0,
|
dialogVisible: false,
|
dialogMsg: '',
|
fileList: []
|
}
|
},
|
created() {
|
|
},
|
methods: {
|
format(percentage) {
|
return percentage < 100 ? '完成处理' : `已处理${percentage}%`;
|
},
|
async processData(uid) {
|
this.progressFlag = true
|
console.log(uid, 'uid')
|
this.start = 1
|
this.timer = setInterval(this.getStroke, 1000)
|
this.dataForm.progressId = guid()
|
this.dataForm.speed = 0
|
this.dataForm.text = '正在处理'
|
this.mark = true
|
|
let formData = {
|
uid: uid,
|
progressId: this.dataForm.progressId
|
}
|
this.$http({
|
url: "/sys/data/export/record/upload",
|
method: "POST",
|
data: formData
|
}).then(rs => {
|
this.$http.get(`/sys/common/stroke?progressId=${this.dataForm.progressId}`).then(res => {
|
if (res.success) {
|
console.log(this.dataForm.speed, 'this.dataForm.speed')
|
this.dataForm.speed = 100
|
this.dataForm.text = res.data.text
|
this.progressFlag = false
|
}
|
})
|
this.mark = false
|
clearInterval(this.timers)
|
});
|
},
|
async getStroke() {
|
if (this.start === 1 && this.dataForm.speed < 100 && this.mark) {
|
let res = await this.$http.get(`/sys/common/stroke?progressId=${this.dataForm.progressId}`)
|
if (res.success) {
|
console.log(this.dataForm.speed, 'this.dataForm.speed')
|
this.dataForm.speed = parseFloat(res.data.speed)
|
this.dataForm.text = res.data.text
|
}
|
} else {
|
clearInterval(this.timer)
|
}
|
}
|
},
|
beforeDestroy() {
|
clearInterval(this.timer)
|
}
|
}
|
</script>
|