diff --git a/src/api/lb-daily-user-trade.js b/src/api/lb-daily-user-trade.js
index 637e854..631320a 100644
--- a/src/api/lb-daily-user-trade.js
+++ b/src/api/lb-daily-user-trade.js
@@ -37,3 +37,19 @@ export function deleteLbDailyUserTrade(id) {
method: 'delete'
})
}
+
+export function importLbDailyUserTrade(file, defaultReportDate) {
+ const formData = new FormData()
+ formData.append('file', file)
+ if (defaultReportDate) {
+ formData.append('defaultReportDate', defaultReportDate)
+ }
+ return request({
+ url: '/lbDailyUserTrade/import',
+ method: 'post',
+ data: formData,
+ headers: {
+ 'Content-Type': 'multipart/form-data'
+ }
+ })
+}
diff --git a/src/views/lb-business/daily-trade/index.vue b/src/views/lb-business/daily-trade/index.vue
index ad1fd97..8c8549e 100644
--- a/src/views/lb-business/daily-trade/index.vue
+++ b/src/views/lb-business/daily-trade/index.vue
@@ -23,6 +23,7 @@
新增
+ 导入数据
@@ -129,6 +130,42 @@
确定
+
+
+
+
+
+
+ 将文件拖到此处,或点击上传
+ 仅支持 .xls/.xlsx 格式
+
+
+
+
+
+
+
+
@@ -137,6 +174,7 @@ import {
addLbDailyUserTrade,
deleteLbDailyUserTrade,
getLbDailyUserTradeList,
+ importLbDailyUserTrade,
updateLbDailyUserTrade
} from '@/api/lb-daily-user-trade'
@@ -146,11 +184,14 @@ export default {
return {
loading: false,
submitLoading: false,
+ importLoading: false,
list: [],
total: 0,
dialogVisible: false,
+ importDialogVisible: false,
dialogTitle: '',
isEdit: false,
+ importFileList: [],
queryParams: {
current: 1,
size: 10,
@@ -177,6 +218,13 @@ export default {
formRules: {
tenantId: [{ required: true, message: '请输入租户ID', trigger: 'blur' }],
userId: [{ required: true, message: '请输入用户ID', trigger: 'blur' }]
+ },
+ importForm: {
+ file: null,
+ defaultReportDate: ''
+ },
+ importRules: {
+ file: [{ required: true, message: '请上传Excel文件', trigger: 'change' }]
}
}
},
@@ -288,6 +336,46 @@ export default {
this.fetchList()
}).catch(() => {})
},
+ openImportDialog() {
+ this.importDialogVisible = true
+ this.$nextTick(() => {
+ if (this.$refs.importFormRef) this.$refs.importFormRef.clearValidate()
+ })
+ },
+ handleImportFileChange(file, fileList) {
+ this.importFileList = fileList.slice(-1)
+ this.importForm.file = this.importFileList.length > 0 ? this.importFileList[0].raw : null
+ if (this.$refs.importFormRef) this.$refs.importFormRef.validateField('file')
+ },
+ handleImportFileRemove(file, fileList) {
+ this.importFileList = fileList
+ this.importForm.file = null
+ if (this.$refs.importFormRef) this.$refs.importFormRef.validateField('file')
+ },
+ submitImport() {
+ this.$refs.importFormRef.validate((valid) => {
+ if (!valid) return
+ this.importLoading = true
+ importLbDailyUserTrade(this.importForm.file, this.importForm.defaultReportDate)
+ .then((res) => {
+ this.$message.success(res.message || '导入成功')
+ this.importDialogVisible = false
+ this.fetchList()
+ })
+ .finally(() => {
+ this.importLoading = false
+ })
+ })
+ },
+ resetImportForm() {
+ if (this.$refs.importFormRef) this.$refs.importFormRef.resetFields()
+ if (this.$refs.importUploadRef) this.$refs.importUploadRef.clearFiles()
+ this.importFileList = []
+ this.importForm = {
+ file: null,
+ defaultReportDate: ''
+ }
+ },
handleSubmit() {
this.$refs.dataForm.validate((valid) => {
if (!valid) return