保存进度!

This commit is contained in:
2023-09-25 16:23:26 +08:00
parent 099a1e65f6
commit 64824e6f74
9 changed files with 126 additions and 25 deletions

View File

@@ -106,10 +106,10 @@
</div>
</template>
<script lang="ts">
import { reactive, computed, onBeforeMount } from "vue";
import { reactive, computed, onBeforeMount, ref } from "vue";
import { type RewardGainer, type RewardGainerResponse, requestRewardGainers, type DeleteRewardTelsalerResponse, deleteRewardTelsaler, type DeleteRewardTelsalerRequest } from "@/utils/reward.js";
import eventBus from "@/utils/api/EventBus.js";
import { ElMessage, ElMessageBox, ElTable } from "element-plus";
import { ElMessage, ElMessageBox, type ElTable } from "element-plus";
import RewardGainerDialog from "@/views/reward/RewardTelsaler.vue";
interface UI
@@ -139,9 +139,10 @@ export default {
selectedTelsalerName: "",
selectedRewardProjectCode: -999,
});
const rewardTelsalerTable = ref<InstanceType<typeof ElTable>>();
/** 请求数据相关 ***************************/
const applyGainerList = ( response: RewardGainerResponse, error: any ): void =>
const requestRewardTelsalerListHandler = ( response: RewardGainerResponse, error: any ): void =>
{
if ( !response.success )
{
@@ -161,6 +162,8 @@ export default {
ui.rewardGainerList = response.gainerList;
console.log( "请求获奖人员列表", ui.rewardGainerList );
refreshUI();
};
/** 表格相关 ***************************/
@@ -229,10 +232,19 @@ export default {
*/
const onDeleteRewardGainer = (): void =>
{
const selectedRecord: RewardGainer[] = rewardTelsalerTable.value?.getSelectionRows();
const deleteRequest: DeleteRewardTelsalerRequest = {
recordID: 1,
recordID: [],
};
if ( selectedRecord !== undefined )
{
selectedRecord.forEach(( item: RewardGainer ): void =>
{
deleteRequest.recordID.push( item.recID );
});
}
deleteRewardTelsaler( deleteRequest, deleteTelsalerRewardHandler );
};
@@ -253,11 +265,15 @@ export default {
type: "error",
});
}
refresh();
};
/** 事件相关 ***************/
/** 订阅新增和保存修改获奖者事件 */
eventBus.on( "onSavedRewardTelsaler", (): void =>
{
// 关闭对话框后,重新请求获奖清单,刷新页面。
ui.showEditRewardGainerDialog = false;
refresh();
@@ -267,7 +283,17 @@ export default {
*/
const refresh = (): void =>
{
requestRewardGainers( applyGainerList );
requestRewardGainers( requestRewardTelsalerListHandler );
};
const refreshUI = (): void =>
{
ui.showUI = false;
setTimeout(() =>
{
ui.showUI = true;
}, 0 );
};
onBeforeMount((): void =>
@@ -279,6 +305,7 @@ export default {
ui,
tableHeight,
rewardGainerData,
rewardTelsalerTable,
onCurrentPageIndexChange,
onTablePageSizeChange,
onEditRewardGainer,