| | |
| | | |
| | | <el-card shadow="hover" class="import-card" style="margin-bottom:15px"> |
| | | <div class="card-head">本月导入进度({{ period || '未选择报表期' }}) |
| | | <el-button type="text" icon="el-icon-refresh" style="float:right" @click="loadOverview">刷新</el-button> |
| | | <el-button type="text" icon="el-icon-refresh" style="float:right" @click="loadData">刷新</el-button> |
| | | </div> |
| | | <div v-if="!period" class="tip">请先在上方选择报表期</div> |
| | | <div v-else class="overview-grid"> |
| | |
| | | <el-card shadow="never" style="margin-top:15px" class="batch-card"> |
| | | <div slot="header" class="card-head"> |
| | | 导入记录({{ period || '全部报表期' }}) |
| | | <el-button type="text" icon="el-icon-refresh" style="float:right" @click="loadBatches">刷新</el-button> |
| | | <el-button type="text" icon="el-icon-refresh" style="float:right" @click="loadData">刷新</el-button> |
| | | </div> |
| | | <el-table :data="batches" border size="small" v-loading="batchLoading" style="width:100%"> |
| | | <el-table-column prop="importType" label="导入类型" width="150"> |
| | |
| | | this.importType = this.moduleSel[key] || '' |
| | | this.dirPath = (this.importType && localStorage.getItem('dirLast_' + this.importType)) || '' |
| | | }, |
| | | onPeriodChange() { this.loadOverview(); this.loadBatches() }, |
| | | onPeriodChange() { this.loadData() }, |
| | | endpoint(t) { |
| | | const map = { |
| | | h2032: '/import/h2032', |
| | |
| | | run(0) |
| | | }) |
| | | }, |
| | | afterImport() { this.loadOverview(); this.loadBatches() }, |
| | | loadOverview() { |
| | | if (!this.period) return |
| | | api.get('/import/batches', { params: { period: this.period, limit: 200 } }) |
| | | afterImport() { this.loadData() }, |
| | | loadData() { |
| | | if (this.batchLoading) return |
| | | this.batchLoading = true |
| | | const params = { limit: 200 } |
| | | if (this.period) params.period = this.period |
| | | api.get('/import/batches', { params }) |
| | | .then(res => { |
| | | const map = {} |
| | | const records = (res.data && res.data.records) || [] |
| | | this.batches = records.slice(0, 50) |
| | | const map = {} |
| | | records.forEach(r => { |
| | | const key = this.batchKeyToType(r.importType) |
| | | if (!key) return |
| | |
| | | this.overview = map |
| | | }) |
| | | .catch(() => {}) |
| | | .finally(() => { this.batchLoading = false }) |
| | | }, |
| | | batchKeyToType(k) { |
| | | if (BATCH_TYPE_MAP[k]) return BATCH_TYPE_MAP[k] |
| | |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.loadBatches() |
| | | this.loadOverview() |
| | | this.loadData() |
| | | } |
| | | } |
| | | </script> |