feat(credit): 信用模块历史数据导入功能优化

- 为所有信用模块的导入组件添加companyId参数支持
- 在企业详情页面为各信用分类标签页添加历史数据导入按钮
- 移除独立的历史导入按钮,整合到企业详情页的对应标签页中
- 更新导入功能的API调用以传递关联企业ID
- 修复法院公告相关组件的命名一致性问题
- 重构导入完成后的数据刷新逻辑以匹配新的标签页结构
This commit is contained in:
2026-02-11 17:55:23 +08:00
parent f01e3359ec
commit 9febd8016c
18 changed files with 323 additions and 204 deletions

BIN
dist.zip

Binary file not shown.

View File

@@ -41,9 +41,11 @@
(e: 'update:visible', visible: boolean): void;
}>();
defineProps<{
const props = defineProps<{
// 是否打开弹窗
visible: boolean;
// 关联企业ID企业详情下导入时需要
companyId?: number;
}>();
// 导入请求状态
@@ -74,7 +76,7 @@
return false;
}
loading.value = true;
importCreditBreachOfTrustHistory(file)
importCreditBreachOfTrustHistory(file, props.companyId)
.then((msg) => {
loading.value = false;
message.success(msg);
@@ -93,4 +95,3 @@
emit('update:visible', value);
};
</script>

View File

@@ -23,12 +23,6 @@
@importData="openImport"
@exportData="exportData"
/>
<a-button type="dashed" class="ele-btn-icon" @click="openImport2">
<template #icon>
<CloudUploadOutlined />
</template>
<span class="text-red-500">导入历史失信被执行人</span>
</a-button>
</a-space>
</template>
<template #bodyCell="{ column, record }">
@@ -74,21 +68,13 @@
/>
<!-- 导入弹窗 -->
<CreditBreachOfTrustImport v-model:visible="showImport" @done="reload" />
<!-- 历史导入弹窗 -->
<CreditBreachOfTrustHistoryImport
v-model:visible="showImport2"
@done="reload"
/>
</a-page-header>
</template>
<script lang="ts" setup>
import { createVNode, ref } from 'vue';
import { message, Modal } from 'ant-design-vue';
import {
ExclamationCircleOutlined,
CloudUploadOutlined
} from '@ant-design/icons-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import type { EleProTable } from 'ele-admin-pro';
import { toDateString } from 'ele-admin-pro';
import type {
@@ -100,7 +86,6 @@
import { getPageTitle } from '@/utils/common';
import CreditBreachOfTrustEdit from './components/creditBreachOfTrustEdit.vue';
import CreditBreachOfTrustImport from './components/credit-breach-of-trust-import.vue';
import CreditBreachOfTrustHistoryImport from './components/credit-breach-of-trust-history-import.vue';
import {
pageCreditBreachOfTrust,
listCreditBreachOfTrust,
@@ -123,8 +108,6 @@
const showEdit = ref(false);
// 是否显示导入弹窗
const showImport = ref(false);
// 是否显示历史导入弹窗
const showImport2 = ref(false);
// 是否显示批量移动弹窗
const showMove = ref(false);
// 加载状态
@@ -262,11 +245,6 @@
showImport.value = true;
};
/* 打开历史导入弹窗 */
const openImport2 = () => {
showImport2.value = true;
};
/* 导出 */
const exportData = () => {
exportCreditData<CreditBreachOfTrust>({

View File

@@ -58,6 +58,94 @@
>
导入()
</a-button>
<a-button
v-if="tab.key === '被执行人'"
type="dashed"
:disabled="!form.id"
@click="openJudgmentDebtorHistoryImport"
>
<template #icon>
<CloudUploadOutlined />
</template>
导入历史被执行人
</a-button>
<a-button
v-if="tab.key === '限制高消费'"
type="dashed"
:disabled="!form.id"
@click="openXgxfHistoryImport"
>
<template #icon>
<CloudUploadOutlined />
</template>
导入历史限制高消费
</a-button>
<a-button
v-if="tab.key === '终本案件'"
type="dashed"
:disabled="!form.id"
@click="openFinalVersionHistoryImport"
>
<template #icon>
<CloudUploadOutlined />
</template>
导入历史终本案件
</a-button>
<a-button
v-if="tab.key === '开庭公告'"
type="dashed"
:disabled="!form.id"
@click="openCourtSessionHistoryImport"
>
<template #icon>
<CloudUploadOutlined />
</template>
导入历史开庭公告
</a-button>
<a-button
v-if="tab.key === '法院公告'"
type="dashed"
:disabled="!form.id"
@click="openCourtAnnouncementHistoryImport"
>
<template #icon>
<CloudUploadOutlined />
</template>
导入历史法院公告
</a-button>
<a-button
v-if="tab.key === '失信被执行人'"
type="dashed"
:disabled="!form.id"
@click="openBreachOfTrustHistoryImport"
>
<template #icon>
<CloudUploadOutlined />
</template>
导入历史失信被执行人
</a-button>
<a-button
v-if="tab.key === '裁判文书'"
type="dashed"
:disabled="!form.id"
@click="openJudicialDocumentHistoryImport"
>
<template #icon>
<CloudUploadOutlined />
</template>
导入历史裁判文书
</a-button>
<a-button
v-if="tab.key === '股权冻结'"
type="dashed"
:disabled="!form.id"
@click="openGqdjHistoryImport"
>
<template #icon>
<CloudUploadOutlined />
</template>
导入历史股权冻结
</a-button>
<a-button
v-if="tab.key === '破产重整'"
type="dashed"
@@ -127,6 +215,62 @@
:companyId="form.id"
@done="handleBankruptcyHistoryImportDone"
/>
<!-- 历史被执行人导入企业详情-被执行人tab -->
<CreditJudgmentDebtorHistoryImport
v-model:visible="showJudgmentDebtorHistoryImport"
:companyId="form.id"
@done="handleJudgmentDebtorHistoryImportDone"
/>
<!-- 历史限制高消费导入企业详情-限制高消费tab -->
<CreditXgxfHistoryImport
v-model:visible="showXgxfHistoryImport"
:companyId="form.id"
@done="handleXgxfHistoryImportDone"
/>
<!-- 历史终本案件导入企业详情-终本案件tab -->
<CreditFinalVersionHistoryImport
v-model:visible="showFinalVersionHistoryImport"
:companyId="form.id"
@done="handleFinalVersionHistoryImportDone"
/>
<!-- 历史开庭公告导入企业详情-开庭公告tab -->
<CreditCourtSessionHistoryImport
v-model:visible="showCourtSessionHistoryImport"
:companyId="form.id"
@done="handleCourtSessionHistoryImportDone"
/>
<!-- 历史法院公告导入企业详情-法院公告tab -->
<CreditCourtAnnouncementHistoryImport
v-model:visible="showCourtAnnouncementHistoryImport"
:companyId="form.id"
@done="handleCourtAnnouncementHistoryImportDone"
/>
<!-- 历史失信被执行人导入企业详情-失信被执行人tab -->
<CreditBreachOfTrustHistoryImport
v-model:visible="showBreachOfTrustHistoryImport"
:companyId="form.id"
@done="handleBreachOfTrustHistoryImportDone"
/>
<!-- 历史裁判文书导入企业详情-裁判文书tab -->
<CreditJudicialDocumentHistoryImport
v-model:visible="showJudicialDocumentHistoryImport"
:companyId="form.id"
@done="handleJudicialDocumentHistoryImportDone"
/>
<!-- 历史股权冻结导入企业详情-股权冻结tab -->
<CreditGqdjHistoryImport
v-model:visible="showGqdjHistoryImport"
:companyId="form.id"
@done="handleGqdjHistoryImportDone"
/>
</a-drawer>
</template>
@@ -141,6 +285,14 @@
import CreditCompanyRelatedImport from './credit-company-related-import.vue';
import CreditAdministrativeLicenseHistoryImport from '@/views/credit/creditAdministrativeLicense/components/credit-administrative-license-history-import.vue';
import CreditBankruptcyHistoryImport from '@/views/credit/creditBankruptcy/components/credit-bankruptcy-history-import.vue';
import CreditJudgmentDebtorHistoryImport from '@/views/credit/creditJudgmentDebtor/components/credit-judgment-debtor-history-import.vue';
import CreditXgxfHistoryImport from '@/views/credit/creditXgxf/components/credit-xgxf-history-import.vue';
import CreditFinalVersionHistoryImport from '@/views/credit/creditFinalVersion/components/credit-final-version-history-import.vue';
import CreditCourtSessionHistoryImport from '@/views/credit/creditCourtSession/components/credit-court-session-history-import.vue';
import CreditCourtAnnouncementHistoryImport from '@/views/credit/creditCourtAnnouncement/components/credit-court-announcement-history-import.vue';
import CreditBreachOfTrustHistoryImport from '@/views/credit/creditBreachOfTrust/components/credit-breach-of-trust-history-import.vue';
import CreditJudicialDocumentHistoryImport from '@/views/credit/creditJudicialDocument/components/credit-judicial-document-history-import.vue';
import CreditGqdjHistoryImport from '@/views/credit/creditGqdj/components/credit-gqdj-history-import.vue';
import {
pageCreditAdministrativeLicense,
importCreditAdministrativeLicense
@@ -1351,6 +1503,134 @@
reloadTab('破产重整');
};
// 历史被执行人导入弹窗(企业详情-被执行人tab
const showJudgmentDebtorHistoryImport = ref(false);
const openJudgmentDebtorHistoryImport = () => {
if (!form.id) {
message.error('缺少企业ID无法导入');
return;
}
showJudgmentDebtorHistoryImport.value = true;
};
const handleJudgmentDebtorHistoryImportDone = () => {
resetTabPagination('被执行人');
reloadTab('被执行人');
};
// 历史限制高消费导入弹窗(企业详情-限制高消费tab
const showXgxfHistoryImport = ref(false);
const openXgxfHistoryImport = () => {
if (!form.id) {
message.error('缺少企业ID无法导入');
return;
}
showXgxfHistoryImport.value = true;
};
const handleXgxfHistoryImportDone = () => {
resetTabPagination('限制高消费');
reloadTab('限制高消费');
};
// 历史终本案件导入弹窗(企业详情-终本案件tab
const showFinalVersionHistoryImport = ref(false);
const openFinalVersionHistoryImport = () => {
if (!form.id) {
message.error('缺少企业ID无法导入');
return;
}
showFinalVersionHistoryImport.value = true;
};
const handleFinalVersionHistoryImportDone = () => {
resetTabPagination('终本案件');
reloadTab('终本案件');
};
// 历史开庭公告导入弹窗(企业详情-开庭公告tab
const showCourtSessionHistoryImport = ref(false);
const openCourtSessionHistoryImport = () => {
if (!form.id) {
message.error('缺少企业ID无法导入');
return;
}
showCourtSessionHistoryImport.value = true;
};
const handleCourtSessionHistoryImportDone = () => {
resetTabPagination('开庭公告');
reloadTab('开庭公告');
};
// 历史法院公告导入弹窗(企业详情-法院公告tab
const showCourtAnnouncementHistoryImport = ref(false);
const openCourtAnnouncementHistoryImport = () => {
if (!form.id) {
message.error('缺少企业ID无法导入');
return;
}
showCourtAnnouncementHistoryImport.value = true;
};
const handleCourtAnnouncementHistoryImportDone = () => {
resetTabPagination('法院公告');
reloadTab('法院公告');
};
// 历史失信被执行人导入弹窗(企业详情-失信被执行人tab
const showBreachOfTrustHistoryImport = ref(false);
const openBreachOfTrustHistoryImport = () => {
if (!form.id) {
message.error('缺少企业ID无法导入');
return;
}
showBreachOfTrustHistoryImport.value = true;
};
const handleBreachOfTrustHistoryImportDone = () => {
resetTabPagination('失信被执行人');
reloadTab('失信被执行人');
};
// 历史裁判文书导入弹窗(企业详情-裁判文书tab
const showJudicialDocumentHistoryImport = ref(false);
const openJudicialDocumentHistoryImport = () => {
if (!form.id) {
message.error('缺少企业ID无法导入');
return;
}
showJudicialDocumentHistoryImport.value = true;
};
const handleJudicialDocumentHistoryImportDone = () => {
resetTabPagination('裁判文书');
reloadTab('裁判文书');
};
// 历史股权冻结导入弹窗(企业详情-股权冻结tab
const showGqdjHistoryImport = ref(false);
const openGqdjHistoryImport = () => {
if (!form.id) {
message.error('缺少企业ID无法导入');
return;
}
showGqdjHistoryImport.value = true;
};
const handleGqdjHistoryImportDone = () => {
resetTabPagination('股权冻结');
reloadTab('股权冻结');
};
const defaultForm: CreditCompany = {
id: undefined,
name: undefined,

View File

@@ -1,9 +1,9 @@
<!-- 历史开庭公告导入弹窗 -->
<!-- 历史法院公告导入弹窗 -->
<template>
<ele-modal
:width="520"
:footer="null"
title="历史开庭公告批量导入"
title="历史法院公告批量导入"
:visible="visible"
@update:visible="updateVisible"
>
@@ -22,7 +22,7 @@
</a-spin>
<div class="ele-text-center">
<span>只能上传xlsxlsx文件</span>
<a :href="templateUrl" download="历史开庭公告导入模板.xlsx">
<a :href="templateUrl" download="历史法院公告导入模板.xlsx">
下载导入模板
</a>
</div>
@@ -41,9 +41,11 @@
(e: 'update:visible', visible: boolean): void;
}>();
defineProps<{
const props = defineProps<{
// 是否打开弹窗
visible: boolean;
// 关联企业ID企业详情下导入时需要
companyId?: number;
}>();
// 导入请求状态
@@ -74,7 +76,7 @@
return false;
}
loading.value = true;
importCreditCourtAnnouncementHistory(file)
importCreditCourtAnnouncementHistory(file, props.companyId)
.then((msg) => {
loading.value = false;
message.success(msg);
@@ -93,4 +95,3 @@
emit('update:visible', value);
};
</script>

View File

@@ -23,12 +23,6 @@
@importData="openImport"
@exportData="exportData"
/>
<a-button type="dashed" class="ele-btn-icon" @click="openImport2">
<template #icon>
<CloudUploadOutlined />
</template>
<span class="text-red-500">导入历史开庭公告</span>
</a-button>
</a-space>
</template>
<template #bodyCell="{ column, record }">
@@ -77,21 +71,13 @@
v-model:visible="showImport"
@done="reload"
/>
<!-- 历史导入弹窗 -->
<CreditCourtAnnouncementHistoryImport
v-model:visible="showImport2"
@done="reload"
/>
</a-page-header>
</template>
<script lang="ts" setup>
import { createVNode, ref } from 'vue';
import { message, Modal } from 'ant-design-vue';
import {
ExclamationCircleOutlined,
CloudUploadOutlined
} from '@ant-design/icons-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import type { EleProTable } from 'ele-admin-pro';
import { toDateString } from 'ele-admin-pro';
import type {
@@ -103,7 +89,6 @@
import { getPageTitle } from '@/utils/common';
import CreditCourtAnnouncementEdit from './components/creditCourtAnnouncementEdit.vue';
import CreditCourtAnnouncementImport from './components/credit-court-announcement-import.vue';
import CreditCourtAnnouncementHistoryImport from './components/credit-court-announcement-history-import.vue';
import {
pageCreditCourtAnnouncement,
listCreditCourtAnnouncement,
@@ -126,8 +111,6 @@
const showEdit = ref(false);
// 是否显示导入弹窗
const showImport = ref(false);
// 是否显示历史导入弹窗
const showImport2 = ref(false);
// 是否显示批量移动弹窗
const showMove = ref(false);
// 加载状态
@@ -270,11 +253,6 @@
showImport.value = true;
};
/* 打开历史导入弹窗 */
const openImport2 = () => {
showImport2.value = true;
};
/* 导出 */
const exportData = () => {
exportCreditData<CreditCourtAnnouncement>({

View File

@@ -41,9 +41,11 @@
(e: 'update:visible', visible: boolean): void;
}>();
defineProps<{
const props = defineProps<{
// 是否打开弹窗
visible: boolean;
// 关联企业ID企业详情下导入时需要
companyId?: number;
}>();
// 导入请求状态
@@ -74,7 +76,7 @@
return false;
}
loading.value = true;
importCreditCourtSessionHistory(file)
importCreditCourtSessionHistory(file, props.companyId)
.then((msg) => {
loading.value = false;
message.success(msg);
@@ -93,4 +95,3 @@
emit('update:visible', value);
};
</script>

View File

@@ -23,12 +23,6 @@
@importData="openImport"
@exportData="exportData"
/>
<a-button type="dashed" class="ele-btn-icon" @click="openImport2">
<template #icon>
<CloudUploadOutlined />
</template>
<span class="text-red-500">导入历史开庭公告</span>
</a-button>
</a-space>
</template>
<template #bodyCell="{ column, record }">
@@ -66,21 +60,13 @@
/>
<!-- 导入弹窗 -->
<CreditCourtSessionImport v-model:visible="showImport" @done="reload" />
<!-- 历史导入弹窗 -->
<CreditCourtSessionHistoryImport
v-model:visible="showImport2"
@done="reload"
/>
</a-page-header>
</template>
<script lang="ts" setup>
import { createVNode, ref } from 'vue';
import { message, Modal } from 'ant-design-vue';
import {
ExclamationCircleOutlined,
CloudUploadOutlined
} from '@ant-design/icons-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import type { EleProTable } from 'ele-admin-pro';
import { toDateString } from 'ele-admin-pro';
import type {
@@ -92,7 +78,6 @@
import { getPageTitle } from '@/utils/common';
import CreditCourtSessionEdit from './components/creditCourtSessionEdit.vue';
import CreditCourtSessionImport from './components/credit-court-session-import.vue';
import CreditCourtSessionHistoryImport from './components/credit-court-session-history-import.vue';
import {
pageCreditCourtSession,
listCreditCourtSession,
@@ -116,8 +101,6 @@
const showEdit = ref(false);
// 是否显示导入弹窗
const showImport = ref(false);
// 是否显示历史导入弹窗
const showImport2 = ref(false);
// 是否显示批量移动弹窗
const showMove = ref(false);
// 加载状态
@@ -259,11 +242,6 @@
showImport.value = true;
};
/* 打开历史导入弹窗 */
const openImport2 = () => {
showImport2.value = true;
};
/* 导出 */
const exportData = () => {
exportCreditData<CreditCourtSession>({

View File

@@ -41,9 +41,11 @@
(e: 'update:visible', visible: boolean): void;
}>();
defineProps<{
const props = defineProps<{
// 是否打开弹窗
visible: boolean;
// 关联企业ID企业详情下导入时需要
companyId?: number;
}>();
// 导入请求状态
@@ -74,7 +76,7 @@
return false;
}
loading.value = true;
importCreditFinalVersionHistory(file)
importCreditFinalVersionHistory(file, props.companyId)
.then((msg) => {
loading.value = false;
message.success(msg);
@@ -93,4 +95,3 @@
emit('update:visible', value);
};
</script>

View File

@@ -23,12 +23,6 @@
@importData="openImport"
@exportData="exportData"
/>
<a-button type="dashed" class="ele-btn-icon" @click="openImport2">
<template #icon>
<CloudUploadOutlined />
</template>
<span class="text-red-500">导入历史终本案件</span>
</a-button>
</a-space>
</template>
<template #bodyCell="{ column, record }">
@@ -66,21 +60,13 @@
/>
<!-- 导入弹窗 -->
<CreditFinalVersionImport v-model:visible="showImport" @done="reload" />
<!-- 历史导入弹窗 -->
<CreditFinalVersionHistoryImport
v-model:visible="showImport2"
@done="reload"
/>
</a-page-header>
</template>
<script lang="ts" setup>
import { createVNode, ref } from 'vue';
import { message, Modal } from 'ant-design-vue';
import {
ExclamationCircleOutlined,
CloudUploadOutlined
} from '@ant-design/icons-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import type { EleProTable } from 'ele-admin-pro';
import { toDateString } from 'ele-admin-pro';
import type {
@@ -92,7 +78,6 @@
import { getPageTitle } from '@/utils/common';
import CreditFinalVersionEdit from './components/creditFinalVersionEdit.vue';
import CreditFinalVersionImport from './components/credit-final-version-import.vue';
import CreditFinalVersionHistoryImport from './components/credit-final-version-history-import.vue';
import {
pageCreditFinalVersion,
listCreditFinalVersion,
@@ -115,8 +100,6 @@
const showEdit = ref(false);
// 是否显示导入弹窗
const showImport = ref(false);
// 是否显示历史导入弹窗
const showImport2 = ref(false);
// 是否显示批量移动弹窗
const showMove = ref(false);
// 加载状态
@@ -288,11 +271,6 @@
showImport.value = true;
};
/* 打开历史导入弹窗 */
const openImport2 = () => {
showImport2.value = true;
};
/* 导出 */
const exportData = () => {
exportCreditData<CreditFinalVersion>({

View File

@@ -41,9 +41,11 @@
(e: 'update:visible', visible: boolean): void;
}>();
defineProps<{
const props = defineProps<{
// 是否打开弹窗
visible: boolean;
// 关联企业ID企业详情下导入时需要
companyId?: number;
}>();
// 导入请求状态
@@ -74,7 +76,7 @@
return false;
}
loading.value = true;
importCreditGqdjHistory(file)
importCreditGqdjHistory(file, props.companyId)
.then((msg) => {
loading.value = false;
message.success(msg);
@@ -93,4 +95,3 @@
emit('update:visible', value);
};
</script>

View File

@@ -24,12 +24,6 @@
@importData="openImport"
@exportData="exportData"
/>
<a-button type="dashed" class="ele-btn-icon" @click="openImport2">
<template #icon>
<CloudUploadOutlined />
</template>
<span class="text-red-500">导入历史股权冻结</span>
</a-button>
</a-space>
</template>
<template #bodyCell="{ column, record }">
@@ -66,18 +60,13 @@
<CreditGqdjEdit v-model:visible="showEdit" :data="current" @done="reload" />
<!-- 导入弹窗 -->
<CreditGqdjImport v-model:visible="showImport" @done="reload" />
<!-- 历史导入弹窗 -->
<CreditGqdjHistoryImport v-model:visible="showImport2" @done="reload" />
</a-page-header>
</template>
<script lang="ts" setup>
import { createVNode, ref } from 'vue';
import { message, Modal } from 'ant-design-vue';
import {
ExclamationCircleOutlined,
CloudUploadOutlined
} from '@ant-design/icons-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import type { EleProTable } from 'ele-admin-pro';
import { toDateString } from 'ele-admin-pro';
import type {
@@ -89,7 +78,6 @@
import { getPageTitle } from '@/utils/common';
import CreditGqdjEdit from './components/creditGqdjEdit.vue';
import CreditGqdjImport from './components/credit-gqdj-import.vue';
import CreditGqdjHistoryImport from './components/credit-gqdj-history-import.vue';
import {
pageCreditGqdj,
listCreditGqdj,
@@ -112,8 +100,6 @@
const showEdit = ref(false);
// 是否显示导入弹窗
const showImport = ref(false);
// 是否显示历史导入弹窗
const showImport2 = ref(false);
// 是否显示批量移动弹窗
const showMove = ref(false);
// 加载状态
@@ -260,11 +246,6 @@
showImport.value = true;
};
/* 打开历史导入弹窗 */
const openImport2 = () => {
showImport2.value = true;
};
/* 导出 */
const exportData = () => {
exportCreditData<CreditGqdj>({

View File

@@ -41,9 +41,11 @@
(e: 'update:visible', visible: boolean): void;
}>();
defineProps<{
const props = defineProps<{
// 是否打开弹窗
visible: boolean;
// 关联企业ID企业详情下导入时需要
companyId?: number;
}>();
// 导入请求状态
@@ -74,7 +76,7 @@
return false;
}
loading.value = true;
importCreditJudgmentDebtorHistory(file)
importCreditJudgmentDebtorHistory(file, props.companyId)
.then((msg) => {
loading.value = false;
message.success(msg);

View File

@@ -23,12 +23,6 @@
@importData="openImport"
@exportData="exportData"
/>
<a-button type="dashed" class="ele-btn-icon" @click="openImport2">
<template #icon>
<CloudUploadOutlined />
</template>
<span class="text-red-500">导入历史被执行人</span>
</a-button>
</a-space>
</template>
<template #bodyCell="{ column, record }">
@@ -92,21 +86,13 @@
/>
<!-- 导入弹窗 -->
<CreditJudgmentDebtorImport v-model:visible="showImport" @done="reload" />
<!-- 历史被执行人导入弹窗 -->
<CreditJudgmentDebtorHistoryImport
v-model:visible="showImport2"
@done="reload"
/>
</a-page-header>
</template>
<script lang="ts" setup>
import { createVNode, ref } from 'vue';
import { message, Modal } from 'ant-design-vue';
import {
CloudUploadOutlined,
ExclamationCircleOutlined
} from '@ant-design/icons-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import type { EleProTable } from 'ele-admin-pro';
import { toDateString } from 'ele-admin-pro';
import type {
@@ -118,7 +104,6 @@
import { getPageTitle } from '@/utils/common';
import CreditJudgmentDebtorEdit from './components/creditJudgmentDebtorEdit.vue';
import CreditJudgmentDebtorImport from './components/credit-judgment-debtor-import.vue';
import CreditJudgmentDebtorHistoryImport from './components/credit-judgment-debtor-history-import.vue';
import {
pageCreditJudgmentDebtor,
listCreditJudgmentDebtor,
@@ -142,8 +127,6 @@
const showEdit = ref(false);
// 是否显示导入弹窗
const showImport = ref(false);
// 是否显示历史被执行人导入弹窗
const showImport2 = ref(false);
// 是否显示批量移动弹窗
const showMove = ref(false);
// 加载状态
@@ -284,11 +267,6 @@
showImport.value = true;
};
/* 打开历史被执行人导入弹窗 */
const openImport2 = () => {
showImport2.value = true;
};
/* 导出 */
const exportData = () => {
exportCreditData<CreditJudgmentDebtor>({

View File

@@ -41,9 +41,11 @@
(e: 'update:visible', visible: boolean): void;
}>();
defineProps<{
const props = defineProps<{
// 是否打开弹窗
visible: boolean;
// 关联企业ID企业详情下导入时需要
companyId?: number;
}>();
// 导入请求状态
@@ -74,7 +76,7 @@
return false;
}
loading.value = true;
importCreditJudicialDocumentHistory(file)
importCreditJudicialDocumentHistory(file, props.companyId)
.then((msg) => {
loading.value = false;
message.success(msg);
@@ -93,4 +95,3 @@
emit('update:visible', value);
};
</script>

View File

@@ -24,12 +24,6 @@
@importData="openImport"
@exportData="exportData"
/>
<a-button type="dashed" class="ele-btn-icon" @click="openImport2">
<template #icon>
<CloudUploadOutlined />
</template>
<span class="text-red-500">导入历史裁判文书</span>
</a-button>
</a-space>
</template>
<template #bodyCell="{ column, record }">
@@ -67,21 +61,13 @@
/>
<!-- 导入弹窗 -->
<CreditJudicialDocumentImport v-model:visible="showImport" @done="reload" />
<!-- 历史导入弹窗 -->
<CreditJudicialDocumentHistoryImport
v-model:visible="showImport2"
@done="reload"
/>
</a-page-header>
</template>
<script lang="ts" setup>
import { createVNode, ref } from 'vue';
import { message, Modal } from 'ant-design-vue';
import {
ExclamationCircleOutlined,
CloudUploadOutlined
} from '@ant-design/icons-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import type { EleProTable } from 'ele-admin-pro';
import { toDateString } from 'ele-admin-pro';
import type {
@@ -93,7 +79,6 @@
import { getPageTitle } from '@/utils/common';
import CreditJudicialDocumentEdit from './components/creditJudicialDocumentEdit.vue';
import CreditJudicialDocumentImport from './components/credit-judicial-document-import.vue';
import CreditJudicialDocumentHistoryImport from './components/credit-judicial-document-history-import.vue';
import {
pageCreditJudicialDocument,
listCreditJudicialDocument,
@@ -116,8 +101,6 @@
const showEdit = ref(false);
// 是否显示导入弹窗
const showImport = ref(false);
// 是否显示历史导入弹窗
const showImport2 = ref(false);
// 是否显示批量移动弹窗
const showMove = ref(false);
// 加载状态
@@ -272,11 +255,6 @@
showImport.value = true;
};
/* 打开历史导入弹窗 */
const openImport2 = () => {
showImport2.value = true;
};
/* 导出 */
const exportData = () => {
exportCreditData<CreditJudicialDocument>({

View File

@@ -41,9 +41,11 @@
(e: 'update:visible', visible: boolean): void;
}>();
defineProps<{
const props = defineProps<{
// 是否打开弹窗
visible: boolean;
// 关联企业ID企业详情下导入时需要
companyId?: number;
}>();
// 导入请求状态
@@ -74,7 +76,7 @@
return false;
}
loading.value = true;
importCreditXgxfHistory(file)
importCreditXgxfHistory(file, props.companyId)
.then((msg) => {
loading.value = false;
message.success(msg);
@@ -93,4 +95,3 @@
emit('update:visible', value);
};
</script>

View File

@@ -23,12 +23,6 @@
@importData="openImport"
@exportData="exportData"
/>
<a-button type="dashed" class="ele-btn-icon" @click="openImport2">
<template #icon>
<CloudUploadOutlined />
</template>
<span class="text-red-500">历史限制高消费</span>
</a-button>
</a-space>
</template>
<template #bodyCell="{ column, record }">
@@ -62,18 +56,13 @@
<CreditXgxfEdit v-model:visible="showEdit" :data="current" @done="reload" />
<!-- 导入弹窗 -->
<CreditXgxfImport v-model:visible="showImport" @done="reload" />
<!-- 历史导入弹窗 -->
<CreditXgxfHistoryImport v-model:visible="showImport2" @done="reload" />
</a-page-header>
</template>
<script lang="ts" setup>
import { createVNode, ref } from 'vue';
import { message, Modal } from 'ant-design-vue';
import {
ExclamationCircleOutlined,
CloudUploadOutlined
} from '@ant-design/icons-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import type { EleProTable } from 'ele-admin-pro';
import { toDateString } from 'ele-admin-pro';
import type {
@@ -85,7 +74,6 @@
import { getPageTitle } from '@/utils/common';
import CreditXgxfEdit from './components/creditXgxfEdit.vue';
import CreditXgxfImport from './components/credit-xgxf-import.vue';
import CreditXgxfHistoryImport from './components/credit-xgxf-history-import.vue';
import {
pageCreditXgxf,
listCreditXgxf,
@@ -108,8 +96,6 @@
const showEdit = ref(false);
// 是否显示导入弹窗
const showImport = ref(false);
// 是否显示历史导入弹窗
const showImport2 = ref(false);
// 是否显示批量移动弹窗
const showMove = ref(false);
// 加载状态
@@ -273,11 +259,6 @@
showImport.value = true;
};
/* 打开历史导入弹窗 */
const openImport2 = () => {
showImport2.value = true;
};
/* 导出 */
const exportData = () => {
exportCreditData<CreditXgxf>({