保存进度!

This commit is contained in:
2023-11-08 10:32:19 +08:00
parent e07039b517
commit 44357ad3ce
3 changed files with 244 additions and 151 deletions

View File

@@ -18,21 +18,29 @@
>
上传
</el-button>
<el-button
type="primary"
icon="refresh"
@click="refresh"
>
刷新
</el-button>
</el-col>
</el-row>
<el-table
border
stripe
style="width:100%;"
:data="tableData"
>
<el-table-column
type="selection"
align="center"
/>
<el-table-column
label="部门"
align="center"
/>
>
<template #default="telsaler">
<span>{{ telsaler.row.departmentName }}</span>
</template>
</el-table-column>
<el-table-column
label="责任人"
align="center"
@@ -81,19 +89,45 @@
</div>
</template>
<script lang="ts">
import { reactive } from "vue";
import { reactive, computed, onBeforeMount } from "vue";
import BiDataUploadView from "@/views/data/bi/BiDataUploadView.vue";
import {
type BIReportType,
type ImportBIReportRequest,
type ImportBIReportResponse,
type ImportBIReportResponseHandler,
type BITelsalerAttachingRateRecord,
type QueryBITelsalerAttachingRateReportResponse,
type QueryBITelsalerAttachingRateDataHandler,
type QueryBITelsalerRenewalRateDataHandler,
type BITelsalerRenewalRateRecord,
type QueryBITelsalerRenewalRateReportResponse,
importBIReport,
queryBITelsalerAttachingRateData,
queryBITelsalerRenewalData
} from "@/utils/BIReport.js";
import { ElMessageBox } from "element-plus";
interface UI
{
showUI: boolean,
showUploadDialog: boolean,
tableCurrentPageIndex: number,
tablePageSize: number,
BITelsalerRenewalRateData: BITelsalerRenewalRateRecord[],
}
export default {
name: "TelsalerAttachingRateView",
components: { BiDataUploadView, },
setup()
{
const ui = reactive({
const ui: UI = reactive({
showUI: true,
showUploadDialog: false,
tableCurrentPageIndex: 1,
tablePageSize: 10,
BITelsalerRenewalRateData: [],
});
const showUploadFileDialog = (): void =>
@@ -111,11 +145,70 @@ export default {
ui.tablePageSize = pageSize;
};
const tableData = computed((): BITelsalerRenewalRateRecord[] =>
{
const tableCount = ui.BITelsalerRenewalRateData.length;
const startIndex = ui.tablePageSize * ( ui.tableCurrentPageIndex - 1 ) > tableCount ? tableCount - ui.tablePageSize : ui.tablePageSize * ( ui.tableCurrentPageIndex - 1 );
const endIndex = ui.tablePageSize * ui.tableCurrentPageIndex;
return ui.BITelsalerRenewalRateData.slice( startIndex, endIndex );
});
const tableCount = computed((): number =>
{
return ui.BITelsalerRenewalRateData.length;
});
// handler
const queryBITelsalerRenewalRateDataHander: QueryBITelsalerRenewalRateDataHandler = ( response: QueryBITelsalerRenewalRateReportResponse, error: any ): void =>
{
// 判断调用成功标志位
if ( response.success )
{
ui.BITelsalerRenewalRateData = response.records;
}
else
{
// 错误处理
ElMessageBox.confirm(
response.message,
"请求BI坐席续保率数据错误",
{
confirmButtonText: "确定",
type: "warning",
center: true,
}
)
.then((): void => {})
.catch((): void => {});
if ( error !== null )
{
console.log( error );
}
}
};
onBeforeMount((): void =>
{
queryBITelsalerRenewalData( queryBITelsalerRenewalRateDataHander );
});
const refresh = (): void =>
{
queryBITelsalerRenewalData( queryBITelsalerRenewalRateDataHander );
};
return {
ui,
showUploadFileDialog,
onCurrentPageIndexChange,
onTablePageSizeChange,
// 计算变量
tableData,
tableCount,
// 函数
refresh,
};
},
};