保存进度!
This commit is contained in:
parent
b03056d783
commit
f61f623f73
38
code/web/task_schedule/package-lock.json
generated
38
code/web/task_schedule/package-lock.json
generated
@ -884,9 +884,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/js": {
|
"node_modules/@eslint/js": {
|
||||||
"version": "8.49.0",
|
"version": "8.50.0",
|
||||||
"resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.49.0.tgz",
|
"resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.50.0.tgz",
|
||||||
"integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==",
|
"integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -1449,9 +1449,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/lodash": {
|
"node_modules/@types/lodash": {
|
||||||
"version": "4.14.198",
|
"version": "4.14.199",
|
||||||
"resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.198.tgz",
|
"resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.199.tgz",
|
||||||
"integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg=="
|
"integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg=="
|
||||||
},
|
},
|
||||||
"node_modules/@types/lodash-es": {
|
"node_modules/@types/lodash-es": {
|
||||||
"version": "4.17.9",
|
"version": "4.17.9",
|
||||||
@ -4759,9 +4759,9 @@
|
|||||||
"peer": true
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.4.527",
|
"version": "1.4.528",
|
||||||
"resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.527.tgz",
|
"resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.528.tgz",
|
||||||
"integrity": "sha512-EafxEiEDzk2aLrdbtVczylHflHdHkNrpGNHIgDyA63sUQLQVS2ayj2hPw3RsVB42qkwURH+T2OxV7kGPUuYszA=="
|
"integrity": "sha512-UdREXMXzLkREF4jA8t89FQjA8WHI6ssP38PMY4/4KhXFQbtImnghh4GkCgrtiZwLKUKVD2iTVXvDVQjfomEQuA=="
|
||||||
},
|
},
|
||||||
"node_modules/element-plus": {
|
"node_modules/element-plus": {
|
||||||
"version": "2.3.14",
|
"version": "2.3.14",
|
||||||
@ -5061,16 +5061,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint": {
|
"node_modules/eslint": {
|
||||||
"version": "8.49.0",
|
"version": "8.50.0",
|
||||||
"resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.49.0.tgz",
|
"resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.50.0.tgz",
|
||||||
"integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==",
|
"integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.6.1",
|
"@eslint-community/regexpp": "^4.6.1",
|
||||||
"@eslint/eslintrc": "^2.1.2",
|
"@eslint/eslintrc": "^2.1.2",
|
||||||
"@eslint/js": "8.49.0",
|
"@eslint/js": "8.50.0",
|
||||||
"@humanwhocodes/config-array": "^0.11.11",
|
"@humanwhocodes/config-array": "^0.11.11",
|
||||||
"@humanwhocodes/module-importer": "^1.0.1",
|
"@humanwhocodes/module-importer": "^1.0.1",
|
||||||
"@nodelib/fs.walk": "^1.2.8",
|
"@nodelib/fs.walk": "^1.2.8",
|
||||||
@ -6579,9 +6579,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint-config-standard-with-typescript": {
|
"node_modules/eslint-config-standard-with-typescript": {
|
||||||
"version": "39.0.0",
|
"version": "39.1.0",
|
||||||
"resolved": "https://registry.npmmirror.com/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-39.0.0.tgz",
|
"resolved": "https://registry.npmmirror.com/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-39.1.0.tgz",
|
||||||
"integrity": "sha512-CiV2LS4NUeeRmDTDf1ocUMpMxitSyW0g+Y/N7ecElwGj188GahbcQgqfBNyVsIXQxHlZVBlOjkbg3oUI0R3KBg==",
|
"integrity": "sha512-5+SPKis3yr6T1X6wSA7HhDuumTRMrTDMcsTrIWhdZuI+sX3e8SPGZYzuJxVxdc239Yo718dEVEVyJhHI6jUjrQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/parser": "^6.4.0",
|
"@typescript-eslint/parser": "^6.4.0",
|
||||||
@ -7922,9 +7922,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/get-tsconfig": {
|
"node_modules/get-tsconfig": {
|
||||||
"version": "4.7.1",
|
"version": "4.7.2",
|
||||||
"resolved": "https://registry.npmmirror.com/get-tsconfig/-/get-tsconfig-4.7.1.tgz",
|
"resolved": "https://registry.npmmirror.com/get-tsconfig/-/get-tsconfig-4.7.2.tgz",
|
||||||
"integrity": "sha512-sLtd6Bcwbi9IrAow/raCOTE9pmhvo5ksQo5v2lApUGJMzja64MUYhBp0G6X1S+f7IrBPn1HP+XkS2w2meoGcjg==",
|
"integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
"axios": "^1.5.0",
|
"axios": "^1.5.0",
|
||||||
"babel": "^6.23.0",
|
"babel": "^6.23.0",
|
||||||
"eslint-config-recommended": "^4.1.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",
|
"eslint-plugin-vue": "^9.17.0",
|
||||||
"node-sass": "^9.0.0",
|
"node-sass": "^9.0.0",
|
||||||
"sass": "^1.68.0",
|
"sass": "^1.68.0",
|
||||||
|
@ -71,13 +71,13 @@ const routes = [
|
|||||||
component: ()=> import( "../views/StaffManagement.vue" ),
|
component: ()=> import( "../views/StaffManagement.vue" ),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path:"/archievement_data",
|
path:"/reward_management",
|
||||||
name:"ArchievementDataManagement",
|
name:"RewardManagement",
|
||||||
meta: {
|
meta: {
|
||||||
title:"数据管理",
|
title:"奖励管理",
|
||||||
icon: "document",
|
icon: "document",
|
||||||
},
|
},
|
||||||
component: ()=> import( "../views/DataManagement.vue" ),
|
component: ()=> import( "../views/RewardManagement.vue" ),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -52,6 +52,19 @@ interface AddRewardTelsalerResponse
|
|||||||
message: string;
|
message: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface UpdateRewardTelsalerRequest
|
||||||
|
{
|
||||||
|
recordID: number,
|
||||||
|
telsalerName: string;
|
||||||
|
rewardIndex: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface UpdateRewardTelsalerResponse
|
||||||
|
{
|
||||||
|
success: boolean;
|
||||||
|
message: string;
|
||||||
|
}
|
||||||
|
|
||||||
interface DeleteRewardTelsalerRequest
|
interface DeleteRewardTelsalerRequest
|
||||||
{
|
{
|
||||||
recordID: number;
|
recordID: number;
|
||||||
@ -164,11 +177,62 @@ function addRewardTelsaler( data: AddRewardTelsalerRequest, handler: any ): void
|
|||||||
})
|
})
|
||||||
.then(( response: AxiosResponse<any, any> ): void =>
|
.then(( response: AxiosResponse<any, any> ): void =>
|
||||||
{
|
{
|
||||||
|
const data: AddRewardTelsalerResponse = response.data ?? {};
|
||||||
|
|
||||||
|
addResponse.success = data.success ?? false;
|
||||||
|
addResponse.message = data.message ?? "";
|
||||||
|
|
||||||
|
handler( addResponse );
|
||||||
})
|
})
|
||||||
.catch(( error ): void =>
|
.catch(( error ): void =>
|
||||||
{
|
{
|
||||||
console.log( error );
|
console.log( error );
|
||||||
|
|
||||||
|
addResponse.success = false;
|
||||||
|
addResponse.message = "请求添加获奖坐席失败,请查看控制台!";
|
||||||
|
|
||||||
|
handler( addResponse, error );
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求更新获奖坐席,根据请求结果调用handler函数。
|
||||||
|
* @param data 请求数据
|
||||||
|
* @param handler 处理请求结果数据的回调函数。
|
||||||
|
*/
|
||||||
|
function updateTelsalerReward( data: UpdateRewardTelsalerRequest, handler: any ): void
|
||||||
|
{
|
||||||
|
if ( handler === undefined || handler === null )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const updateResponse: UpdateRewardTelsalerResponse = {
|
||||||
|
success: false,
|
||||||
|
message: "",
|
||||||
|
};
|
||||||
|
|
||||||
|
instance.request({
|
||||||
|
method: "post",
|
||||||
|
url: API_URL.URL_UPDATE_REWARD_TELSALER,
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
.then(( response: AxiosResponse<any, any> ): any =>
|
||||||
|
{
|
||||||
|
const data: UpdateRewardTelsalerResponse = response.data ?? {};
|
||||||
|
|
||||||
|
updateResponse.success = data.success ?? false;
|
||||||
|
updateResponse.message = data.message ?? "";
|
||||||
|
|
||||||
|
handler( updateResponse );
|
||||||
|
})
|
||||||
|
.catch(( error: any ): void =>
|
||||||
|
{
|
||||||
|
updateResponse.success = false;
|
||||||
|
updateResponse.message = "请求更新获奖坐席失败,请查看控制台!";
|
||||||
|
|
||||||
|
console.log( error );
|
||||||
|
handler( updateResponse, error );
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -210,7 +274,7 @@ function deleteRewardTelsaler( data: DeleteRewardTelsalerRequest, handler: any )
|
|||||||
|
|
||||||
console.log( error );
|
console.log( error );
|
||||||
|
|
||||||
handler( deleteResponse );
|
handler( deleteResponse, error );
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -272,8 +336,11 @@ export {
|
|||||||
type DeleteRewardTelsalerResponse,
|
type DeleteRewardTelsalerResponse,
|
||||||
type AddRewardTelsalerRequest,
|
type AddRewardTelsalerRequest,
|
||||||
type AddRewardTelsalerResponse,
|
type AddRewardTelsalerResponse,
|
||||||
|
type UpdateRewardTelsalerRequest,
|
||||||
|
type UpdateRewardTelsalerResponse,
|
||||||
requestRewardPorjectsList,
|
requestRewardPorjectsList,
|
||||||
requestRewardGainers,
|
requestRewardGainers,
|
||||||
addRewardTelsaler,
|
addRewardTelsaler,
|
||||||
|
updateTelsalerReward,
|
||||||
deleteRewardTelsaler
|
deleteRewardTelsaler
|
||||||
};
|
};
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: Kane
|
* @Author: Kane
|
||||||
* @Date: 2023-03-23 16:05:08
|
* @Date: 2023-03-23 16:05:08
|
||||||
* @LastEditors: Kane
|
* @LastEditors: Kane
|
||||||
* @FilePath: /task_schedule/src/views/DataManagement.vue
|
* @FilePath: /task_schedule/src/views/RewardManagement.vue
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
@ -21,6 +21,7 @@
|
|||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="documentAdd"
|
icon="documentAdd"
|
||||||
|
@click="onAddRewardGainer"
|
||||||
>
|
>
|
||||||
新增
|
新增
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -122,7 +123,7 @@ interface UI
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "DataManagement",
|
name: "RewardManagement",
|
||||||
components: { RewardGainerDialog, },
|
components: { RewardGainerDialog, },
|
||||||
setup()
|
setup()
|
||||||
{
|
{
|
||||||
@ -197,6 +198,16 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// 表格编辑相关
|
// 表格编辑相关
|
||||||
|
/**
|
||||||
|
* 添加获奖坐席
|
||||||
|
*/
|
||||||
|
const onAddRewardGainer = (): void =>
|
||||||
|
{
|
||||||
|
ui.selectedRecID = -1;
|
||||||
|
ui.selectedRewardProjectCode = 3;
|
||||||
|
ui.selectedTelsalerName = "";
|
||||||
|
ui.showEditRewardGainerDialog = true;
|
||||||
|
};
|
||||||
/**
|
/**
|
||||||
* 响应用户在表格中的双击
|
* 响应用户在表格中的双击
|
||||||
* @param telsalerName
|
* @param telsalerName
|
||||||
@ -216,6 +227,8 @@ export default {
|
|||||||
eventBus.on( "onSavedRewardTelsaler", (): void =>
|
eventBus.on( "onSavedRewardTelsaler", (): void =>
|
||||||
{
|
{
|
||||||
ui.showEditRewardGainerDialog = false;
|
ui.showEditRewardGainerDialog = false;
|
||||||
|
|
||||||
|
refresh();
|
||||||
});
|
});
|
||||||
/**
|
/**
|
||||||
* 用于刷新页面
|
* 用于刷新页面
|
||||||
@ -238,6 +251,7 @@ export default {
|
|||||||
onTablePageSizeChange,
|
onTablePageSizeChange,
|
||||||
onEditRewardGainer,
|
onEditRewardGainer,
|
||||||
refresh,
|
refresh,
|
||||||
|
onAddRewardGainer,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
@ -57,8 +57,24 @@
|
|||||||
</template>
|
</template>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { reactive, onBeforeMount } from "vue";
|
import { reactive, onBeforeMount } from "vue";
|
||||||
import { ElMessageBox } from "element-plus";
|
import { ElMessage, ElMessageBox } from "element-plus";
|
||||||
import { type RewardProject, type RewardProjectResponse, requestRewardPorjectsList } from "@/utils/reward.js";
|
import {
|
||||||
|
type RewardProject,
|
||||||
|
type RewardGainer,
|
||||||
|
type RewardProjectResponse,
|
||||||
|
type RewardGainerResponse,
|
||||||
|
type DeleteRewardTelsalerRequest,
|
||||||
|
type DeleteRewardTelsalerResponse,
|
||||||
|
type AddRewardTelsalerRequest,
|
||||||
|
type AddRewardTelsalerResponse,
|
||||||
|
type UpdateRewardTelsalerRequest,
|
||||||
|
type UpdateRewardTelsalerResponse,
|
||||||
|
requestRewardPorjectsList,
|
||||||
|
requestRewardGainers,
|
||||||
|
addRewardTelsaler,
|
||||||
|
updateTelsalerReward,
|
||||||
|
deleteRewardTelsaler
|
||||||
|
} from "@/utils/reward.js";
|
||||||
import eventBus from "@/utils/api/EventBus.js";
|
import eventBus from "@/utils/api/EventBus.js";
|
||||||
|
|
||||||
interface RewardGainerUI
|
interface RewardGainerUI
|
||||||
@ -101,6 +117,11 @@ export default {
|
|||||||
selectedRecID: 0,
|
selectedRecID: 0,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请求奖项清单的回调函数,用于处理请求结果。
|
||||||
|
* @param response 请求奖项清单的响应对象
|
||||||
|
* @param error 请求失败时的错误对象
|
||||||
|
*/
|
||||||
const applyRewardProjectsData = ( response: RewardProjectResponse, error: any ): void =>
|
const applyRewardProjectsData = ( response: RewardProjectResponse, error: any ): void =>
|
||||||
{
|
{
|
||||||
if ( !response.success )
|
if ( !response.success )
|
||||||
@ -140,9 +161,67 @@ export default {
|
|||||||
|
|
||||||
const onSaveRewardTelsaler = (): void =>
|
const onSaveRewardTelsaler = (): void =>
|
||||||
{
|
{
|
||||||
|
if ( props.selectedRecId === -1 )
|
||||||
|
{
|
||||||
|
// 新增
|
||||||
|
const addRequest: AddRewardTelsalerRequest = {
|
||||||
|
rewardIndex: ui.selectedRewardProjectCode as number,
|
||||||
|
telsalerName: ui.selectedRewardTelsalerName,
|
||||||
|
};
|
||||||
|
|
||||||
|
addRewardTelsaler( addRequest, addRewardTelsalerHandler );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 更新
|
||||||
|
const updateRequest: UpdateRewardTelsalerRequest = {
|
||||||
|
recordID: ui.selectedRecID,
|
||||||
|
telsalerName: ui.selectedRewardTelsalerName,
|
||||||
|
rewardIndex: ui.selectedRewardProjectCode as number,
|
||||||
|
};
|
||||||
|
|
||||||
|
updateTelsalerReward( updateRequest, updateTelsalerRewardHandler );
|
||||||
|
}
|
||||||
|
|
||||||
eventBus.emit( "onSavedRewardTelsaler" );
|
eventBus.emit( "onSavedRewardTelsaler" );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const addRewardTelsalerHandler = ( data: AddRewardTelsalerResponse, error: any ): void =>
|
||||||
|
{
|
||||||
|
if ( data.success )
|
||||||
|
{
|
||||||
|
ElMessage({
|
||||||
|
message: data.message,
|
||||||
|
type: "success",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ElMessage({
|
||||||
|
message: data.message,
|
||||||
|
type: "error",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const updateTelsalerRewardHandler = ( data: UpdateRewardTelsalerResponse, error: any ): void =>
|
||||||
|
{
|
||||||
|
if ( data.success )
|
||||||
|
{
|
||||||
|
ElMessage({
|
||||||
|
message: data.message,
|
||||||
|
type: "success",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ElMessage({
|
||||||
|
message: data.message,
|
||||||
|
type: "error",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// onBeforeUpdate((): void =>
|
// onBeforeUpdate((): void =>
|
||||||
// {
|
// {
|
||||||
// refresh();
|
// refresh();
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"include": [
|
"include": [
|
||||||
|
// "src/**/*",
|
||||||
"src/**/*.ts",
|
"src/**/*.ts",
|
||||||
"src/**/*.tsx",
|
"src/**/*.tsx",
|
||||||
"src/**/*.vue",
|
"src/**/*.vue",
|
||||||
|
@ -45,7 +45,6 @@ public class RewardController
|
|||||||
public RewardProjectsResponse queryRewardProjecrts()
|
public RewardProjectsResponse queryRewardProjecrts()
|
||||||
{
|
{
|
||||||
RewardProjectsResponse response = new RewardProjectsResponse();
|
RewardProjectsResponse response = new RewardProjectsResponse();
|
||||||
|
|
||||||
SqlSession session = null;
|
SqlSession session = null;
|
||||||
|
|
||||||
logger.debug( "查询奖项清单。" );
|
logger.debug( "查询奖项清单。" );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user