解析导入日期
This commit is contained in:
@@ -38,12 +38,13 @@ export function deleteLbDailyUserTrade(id) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function importLbDailyUserTrade(file, defaultReportDate) {
|
export function importLbDailyUserTrade(file, defaultReportDate, tenantId) {
|
||||||
const formData = new FormData()
|
const formData = new FormData()
|
||||||
formData.append('file', file)
|
formData.append('file', file)
|
||||||
if (defaultReportDate) {
|
if (defaultReportDate) {
|
||||||
formData.append('defaultReportDate', defaultReportDate)
|
formData.append('defaultReportDate', defaultReportDate)
|
||||||
}
|
}
|
||||||
|
formData.append('tenantId', tenantId)
|
||||||
return request({
|
return request({
|
||||||
url: '/lbDailyUserTrade/import',
|
url: '/lbDailyUserTrade/import',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
|
|||||||
@@ -177,6 +177,7 @@ import {
|
|||||||
importLbDailyUserTrade,
|
importLbDailyUserTrade,
|
||||||
updateLbDailyUserTrade
|
updateLbDailyUserTrade
|
||||||
} from '@/api/lb-daily-user-trade'
|
} from '@/api/lb-daily-user-trade'
|
||||||
|
import { getBusinessHeaders } from '@/utils/business-headers'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'LbDailyTrade',
|
name: 'LbDailyTrade',
|
||||||
@@ -355,8 +356,14 @@ export default {
|
|||||||
submitImport() {
|
submitImport() {
|
||||||
this.$refs.importFormRef.validate((valid) => {
|
this.$refs.importFormRef.validate((valid) => {
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
|
const tenantId = this.getTenantIdFromBusinessHeaders()
|
||||||
|
if (!tenantId) {
|
||||||
|
this.$message.error('未获取到租户ID,请先登录或切换到正确租户后重试')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const effectiveReportDate = this.resolveReportDateForImport()
|
||||||
this.importLoading = true
|
this.importLoading = true
|
||||||
importLbDailyUserTrade(this.importForm.file, this.importForm.defaultReportDate)
|
importLbDailyUserTrade(this.importForm.file, effectiveReportDate, tenantId)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.$message.success(res.message || '导入成功')
|
this.$message.success(res.message || '导入成功')
|
||||||
this.importDialogVisible = false
|
this.importDialogVisible = false
|
||||||
@@ -376,6 +383,36 @@ export default {
|
|||||||
defaultReportDate: ''
|
defaultReportDate: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
getTenantIdFromBusinessHeaders() {
|
||||||
|
const headers = getBusinessHeaders()
|
||||||
|
const value = headers && headers['X-Tenant-Id']
|
||||||
|
return value ? String(value).trim() : ''
|
||||||
|
},
|
||||||
|
resolveReportDateForImport() {
|
||||||
|
// 优先级:用户填写 > 文件名解析 > 当天日期
|
||||||
|
if (this.importForm.defaultReportDate) {
|
||||||
|
return this.importForm.defaultReportDate
|
||||||
|
}
|
||||||
|
const fileName = this.importForm.file && this.importForm.file.name ? String(this.importForm.file.name) : ''
|
||||||
|
const dateFromName = this.extractDateFromFileName(fileName)
|
||||||
|
if (dateFromName) {
|
||||||
|
return dateFromName
|
||||||
|
}
|
||||||
|
return this.getTodayDateString()
|
||||||
|
},
|
||||||
|
extractDateFromFileName(fileName) {
|
||||||
|
if (!fileName) return ''
|
||||||
|
const match = fileName.match(/(20\d{2})[-_\.](0[1-9]|1[0-2])[-_\.](0[1-9]|[12]\d|3[01])/)
|
||||||
|
if (!match) return ''
|
||||||
|
return `${match[1]}-${match[2]}-${match[3]}`
|
||||||
|
},
|
||||||
|
getTodayDateString() {
|
||||||
|
const date = new Date()
|
||||||
|
const year = date.getFullYear()
|
||||||
|
const month = String(date.getMonth() + 1).padStart(2, '0')
|
||||||
|
const day = String(date.getDate()).padStart(2, '0')
|
||||||
|
return `${year}-${month}-${day}`
|
||||||
|
},
|
||||||
handleSubmit() {
|
handleSubmit() {
|
||||||
this.$refs.dataForm.validate((valid) => {
|
this.$refs.dataForm.validate((valid) => {
|
||||||
if (!valid) return
|
if (!valid) return
|
||||||
|
|||||||
Reference in New Issue
Block a user