保存进度!
This commit is contained in:
parent
099a1e65f6
commit
64824e6f74
@ -10,7 +10,7 @@ CREATE OR REPLACE PACKAGE telsaler_reward_pkg IS
|
||||
a_telsaler_name VARCHAR2
|
||||
);
|
||||
|
||||
PROCEDURE save_telsaler_reward
|
||||
PROCEDURE update_telsaler_reward
|
||||
(
|
||||
a_rec_id INTEGER,
|
||||
a_telsaler_name VARCHAR2,
|
||||
@ -47,14 +47,14 @@ CREATE OR REPLACE PACKAGE BODY telsaler_reward_pkg IS
|
||||
COMMIT;
|
||||
END;
|
||||
|
||||
PROCEDURE save_telsaler_reward
|
||||
PROCEDURE update_telsaler_reward
|
||||
(
|
||||
a_rec_id INTEGER,
|
||||
a_telsaler_name VARCHAR2,
|
||||
a_reward_index VARCHAR2
|
||||
) IS
|
||||
BEGIN
|
||||
MERGE INTO telsaler_reward r
|
||||
/*MERGE INTO telsaler_reward r
|
||||
USING (SELECT COUNT(*) COUNT
|
||||
FROM telsaler_reward
|
||||
WHERE rec_id = a_rec_id) a
|
||||
@ -70,7 +70,17 @@ CREATE OR REPLACE PACKAGE BODY telsaler_reward_pkg IS
|
||||
telsaler_name)
|
||||
VALUES
|
||||
(a_reward_index,
|
||||
a_telsaler_name);
|
||||
a_telsaler_name);*/
|
||||
BEGIN
|
||||
UPDATE telsaler_reward r
|
||||
SET r.reward_index = a_reward_index,
|
||||
r.telsaler_name = a_telsaler_name
|
||||
WHERE r.rec_id = a_rec_id;
|
||||
EXCEPTION
|
||||
WHEN no_data_found THEN
|
||||
raise_application_error(-20002,
|
||||
'Î޴˼Ǽ£¡');
|
||||
END;
|
||||
|
||||
COMMIT;
|
||||
END;
|
||||
|
2
code/web/task_schedule/package-lock.json
generated
2
code/web/task_schedule/package-lock.json
generated
@ -28,7 +28,7 @@
|
||||
"axios": "^1.5.0",
|
||||
"babel": "^6.23.0",
|
||||
"eslint-config-recommended": "^4.1.0",
|
||||
"eslint-config-standard-with-typescript": "^39.0.0",
|
||||
"eslint-config-standard-with-typescript": "^39.1.0",
|
||||
"eslint-plugin-vue": "^9.17.0",
|
||||
"node-sass": "^9.0.0",
|
||||
"sass": "^1.68.0",
|
||||
|
@ -70,6 +70,15 @@ const routes = [
|
||||
},
|
||||
component: ()=> import( "../views/StaffManagement.vue" ),
|
||||
},
|
||||
{
|
||||
path: "/data_management",
|
||||
name: "DataManagement",
|
||||
meta: {
|
||||
title: "数据管理",
|
||||
icon: "document",
|
||||
},
|
||||
component: ()=> import( "../views/DataManagement.vue" ),
|
||||
},
|
||||
{
|
||||
path:"/reward_management",
|
||||
name:"RewardManagement",
|
||||
|
@ -67,7 +67,7 @@ interface UpdateRewardTelsalerResponse
|
||||
|
||||
interface DeleteRewardTelsalerRequest
|
||||
{
|
||||
recordID: number;
|
||||
recordID: number[];
|
||||
}
|
||||
|
||||
interface DeleteRewardTelsalerResponse
|
||||
@ -255,7 +255,7 @@ function deleteRewardTelsaler( data: DeleteRewardTelsalerRequest, handler: any )
|
||||
|
||||
instance.request({
|
||||
method: "post",
|
||||
url: "",
|
||||
url: API_URL.URL_DEL_REWARD_TELSALER,
|
||||
data,
|
||||
})
|
||||
.then(( response: AxiosResponse<any, any> ): void =>
|
||||
|
40
code/web/task_schedule/src/views/DataManagement.vue
Normal file
40
code/web/task_schedule/src/views/DataManagement.vue
Normal file
@ -0,0 +1,40 @@
|
||||
<!--
|
||||
* @Author: Kane
|
||||
* @Date: 2023-09-25 09:48:25
|
||||
* @LastEditors: Kane
|
||||
* @FilePath: /task_schedule/src/views/DataManagement.vue
|
||||
* @Description: 数据管理view
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
-->
|
||||
<template>
|
||||
<div class="data_management_wrapper">
|
||||
数据管理
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { ref, reactive } from "vue";
|
||||
|
||||
export default {
|
||||
name: "DataManagement",
|
||||
setup()
|
||||
{
|
||||
const ui = reactive({
|
||||
showUI: false,
|
||||
});
|
||||
|
||||
return { ui, };
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.data_management_wrapper {
|
||||
margin: 10px;
|
||||
|
||||
min-width: 800px;
|
||||
|
||||
>*+* {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -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,
|
||||
|
@ -180,8 +180,6 @@ export default {
|
||||
|
||||
updateTelsalerReward( updateRequest, updateTelsalerRewardHandler );
|
||||
}
|
||||
|
||||
eventBus.emit( "onSavedRewardTelsaler" );
|
||||
};
|
||||
|
||||
const addRewardTelsalerHandler = ( data: AddRewardTelsalerResponse, error: any ): void =>
|
||||
@ -200,6 +198,8 @@ export default {
|
||||
type: "error",
|
||||
});
|
||||
}
|
||||
|
||||
eventBus.emit( "onSavedRewardTelsaler" );
|
||||
};
|
||||
|
||||
const updateTelsalerRewardHandler = ( data: UpdateRewardTelsalerResponse, error: any ): void =>
|
||||
@ -218,6 +218,8 @@ export default {
|
||||
type: "error",
|
||||
});
|
||||
}
|
||||
|
||||
eventBus.emit( "onSavedRewardTelsaler" );
|
||||
};
|
||||
|
||||
// onBeforeUpdate((): void =>
|
||||
|
@ -9,13 +9,14 @@
|
||||
*/
|
||||
package com.cpic.xim.web.controllers.rewards;
|
||||
|
||||
import java.util.Arrays;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
public class DeleteTelsalerRequest
|
||||
{
|
||||
public DeleteTelsalerRequest() {}
|
||||
|
||||
public DeleteTelsalerRequest( int recordID)
|
||||
public DeleteTelsalerRequest( int[] recordID)
|
||||
{
|
||||
this.recordID = recordID;
|
||||
}
|
||||
@ -23,7 +24,7 @@ public class DeleteTelsalerRequest
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "DeleteTelsalerRequest [recordID=" + recordID + "]";
|
||||
return "DeleteTelsalerRequest [recordID=" + Arrays.toString( recordID ) + "]";
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -31,7 +32,7 @@ public class DeleteTelsalerRequest
|
||||
{
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + recordID;
|
||||
result = prime * result + Arrays.hashCode( recordID );
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -45,21 +46,21 @@ public class DeleteTelsalerRequest
|
||||
if ( getClass() != obj.getClass() )
|
||||
return false;
|
||||
DeleteTelsalerRequest other = (DeleteTelsalerRequest) obj;
|
||||
if ( recordID != other.recordID )
|
||||
if ( !Arrays.equals( recordID, other.recordID ) )
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public int getRecordID()
|
||||
public int[] getRecordID()
|
||||
{
|
||||
return recordID;
|
||||
}
|
||||
|
||||
public void setRecordID( int recordID )
|
||||
public void setRecordID( int[] recordID )
|
||||
{
|
||||
this.recordID = recordID;
|
||||
}
|
||||
|
||||
@JsonProperty("recordID")
|
||||
private int recordID;
|
||||
private int[] recordID;
|
||||
}
|
@ -45,13 +45,14 @@ public class RewardController
|
||||
public RewardProjectsResponse queryRewardProjecrts()
|
||||
{
|
||||
RewardProjectsResponse response = new RewardProjectsResponse();
|
||||
SqlSession session = null;
|
||||
SqlSession session = null;
|
||||
|
||||
logger.debug( "查询奖项清单。" );
|
||||
|
||||
try
|
||||
{
|
||||
session = MybatisUtils.getSqlSession();
|
||||
session.clearCache();
|
||||
|
||||
RewardsMapper mapper = session.getMapper( RewardsMapper.class );
|
||||
ArrayList<RewardProject> rewards = mapper.queryRewardProjects();
|
||||
@ -79,7 +80,7 @@ public class RewardController
|
||||
RewardGainersResponse queryRewardGainers()
|
||||
{
|
||||
RewardGainersResponse response = new RewardGainersResponse();
|
||||
SqlSession session = null;
|
||||
SqlSession session = null;
|
||||
|
||||
try
|
||||
{
|
||||
@ -93,6 +94,12 @@ public class RewardController
|
||||
response.setMessage( "查询成功!" );
|
||||
response.setGainerList( gainers );
|
||||
}
|
||||
catch ( PersistenceException error )
|
||||
{
|
||||
response.setSuccess( false );
|
||||
response.setMessage( "查询失败!" + error.getMessage() );
|
||||
response.setGainerList( null );
|
||||
}
|
||||
catch ( IOException error )
|
||||
{
|
||||
response.setSuccess( false );
|
||||
@ -163,9 +170,14 @@ public class RewardController
|
||||
|
||||
HashMap<String, Object> param = new HashMap<String, Object>( 3 );
|
||||
|
||||
param.put( "a_rec_id", request.getRecordID() );
|
||||
int[] records = request.getRecordID();
|
||||
|
||||
mapper.deleteRewardTelSaler( param );
|
||||
for ( int index = 0; index < records.length; index++ )
|
||||
{
|
||||
param.put( "a_rec_id", records[index] );
|
||||
|
||||
mapper.deleteRewardTelSaler( param );
|
||||
}
|
||||
|
||||
response.setSuccess( true );
|
||||
response.setMessage( "删除成功!" );
|
||||
|
Loading…
x
Reference in New Issue
Block a user