保存进度!

This commit is contained in:
Kane Wang 2023-09-27 19:57:33 +08:00
parent b8df96ac42
commit 0c2c762721
12 changed files with 111 additions and 48 deletions

View File

@ -20,12 +20,12 @@
}, },
"devDependencies": { "devDependencies": {
"@babel/eslint-parser": "^7.22.15", "@babel/eslint-parser": "^7.22.15",
"@rushstack/eslint-patch": "^1.4.0", "@rushstack/eslint-patch": "^1.5.0",
"@typescript-eslint/eslint-plugin": "^6.7.3", "@typescript-eslint/eslint-plugin": "^6.7.3",
"@vitejs/plugin-vue": "^4.3.4", "@vitejs/plugin-vue": "^4.3.4",
"@vue/cli-plugin-eslint": "^5.0.8", "@vue/cli-plugin-eslint": "^5.0.8",
"@vue/eslint-config-typescript": "^12.0.0", "@vue/eslint-config-typescript": "^12.0.0",
"axios": "^1.5.0", "axios": "^1.5.1",
"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.1.0", "eslint-config-standard-with-typescript": "^39.1.0",
@ -1157,9 +1157,9 @@
"integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
}, },
"node_modules/@rushstack/eslint-patch": { "node_modules/@rushstack/eslint-patch": {
"version": "1.4.0", "version": "1.5.0",
"resolved": "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.4.0.tgz", "resolved": "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.5.0.tgz",
"integrity": "sha512-cEjvTPU32OM9lUFegJagO0mRnIn+rbqrG89vV8/xLnLFX0DoR0r1oy5IlTga71Q7uT3Qus7qm7wgeiMT/+Irlg==", "integrity": "sha512-EF3948ckf3f5uPgYbQ6GhyA56Dmv8yg0+ir+BroRjwdxyZJsekhZzawOecC2rOTPCz173t7ZcR1HHZu0dZgOCw==",
"dev": true "dev": true
}, },
"node_modules/@sideway/address": { "node_modules/@sideway/address": {
@ -3248,9 +3248,9 @@
} }
}, },
"node_modules/axios": { "node_modules/axios": {
"version": "1.5.0", "version": "1.5.1",
"resolved": "https://registry.npmmirror.com/axios/-/axios-1.5.0.tgz", "resolved": "https://registry.npmmirror.com/axios/-/axios-1.5.1.tgz",
"integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==", "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"follow-redirects": "^1.15.0", "follow-redirects": "^1.15.0",

View File

@ -21,12 +21,12 @@
}, },
"devDependencies": { "devDependencies": {
"@babel/eslint-parser": "^7.22.15", "@babel/eslint-parser": "^7.22.15",
"@rushstack/eslint-patch": "^1.4.0", "@rushstack/eslint-patch": "^1.5.0",
"@typescript-eslint/eslint-plugin": "^6.7.3", "@typescript-eslint/eslint-plugin": "^6.7.3",
"@vitejs/plugin-vue": "^4.3.4", "@vitejs/plugin-vue": "^4.3.4",
"@vue/cli-plugin-eslint": "^5.0.8", "@vue/cli-plugin-eslint": "^5.0.8",
"@vue/eslint-config-typescript": "^12.0.0", "@vue/eslint-config-typescript": "^12.0.0",
"axios": "^1.5.0", "axios": "^1.5.1",
"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.1.0", "eslint-config-standard-with-typescript": "^39.1.0",

View File

@ -11,7 +11,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-01-04 11:40:03 * @Date: 2023-01-04 11:40:03
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-03-27 18:19:35 * @LastEditTime: 2023-09-27 11:19:05
* @FilePath: /it-console/src/layout/components/Main.vue * @FilePath: /it-console/src/layout/components/Main.vue
* @Description: * @Description:
* *
@ -37,6 +37,6 @@ export default {
.el-scrollbar { .el-scrollbar {
height: 100%; height: 100%;
width: 100%; width: 100%;
background-color: #ecf2f9; /* background-color: #ecf2f9; */
} }
</style> </style>

View File

@ -62,13 +62,13 @@ const routes = [
component: ()=> import( "../layout/Index.vue" ), component: ()=> import( "../layout/Index.vue" ),
children:[ children:[
{ {
path:"/staff_data", path:"/telsaler_data",
name:"StaffDataManagement", name:"TelsalerManagement",
meta: { meta: {
title:"坐席管理", title:"坐席管理",
icon: "user", icon: "user",
}, },
component: ()=> import( "../views/StaffManagement.vue" ), component: ()=> import( "../views/telsaler/TelsalerManagementView.vue" ),
}, },
{ {
path: "/data_management", path: "/data_management",

View File

@ -0,0 +1,16 @@
/*
* @Author: Kane
* @Date: 2023-09-27 14:13:47
* @LastEditors: Kane
* @FilePath: /task_schedule/src/utils/fileUpload.ts
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
interface FileUploadResponse
{
success: boolean;
message: string;
fileList: string[];
}

View File

@ -260,10 +260,12 @@ export default {
} }
else else
{ {
ElMessage({ ElMessageBox({
message: response.message, message: response.message,
type: "error", type: "error",
}); })
.then(() => {})
.catch(() => {});
} }
refresh(); refresh();

View File

@ -26,13 +26,6 @@
<el-button type="primary"> <el-button type="primary">
上传 上传
</el-button> </el-button>
<el-button
type="error"
icon="refresh"
@click="return;"
>
清除
</el-button>
<template #tip> <template #tip>
<div class="el-upload__tip"> <div class="el-upload__tip">
文件不能大于100MB 文件不能大于100MB

View File

@ -61,17 +61,13 @@ import { ElMessage, ElMessageBox } from "element-plus";
import { import {
type RewardProject, type RewardProject,
type RewardProjectResponse, type RewardProjectResponse,
type RewardGainerResponse,
type DeleteRewardTelsalerRequest,
type DeleteRewardTelsalerResponse,
type AddRewardTelsalerRequest, type AddRewardTelsalerRequest,
type AddRewardTelsalerResponse, type AddRewardTelsalerResponse,
type UpdateRewardTelsalerRequest, type UpdateRewardTelsalerRequest,
type UpdateRewardTelsalerResponse, type UpdateRewardTelsalerResponse,
requestRewardPorjectsList, requestRewardPorjectsList,
addRewardTelsaler, addRewardTelsaler,
updateTelsalerReward, updateTelsalerReward
deleteRewardTelsaler
} from "@/utils/reward.js"; } from "@/utils/reward.js";
import eventBus from "@/utils/api/EventBus.js"; import eventBus from "@/utils/api/EventBus.js";
@ -131,13 +127,9 @@ export default {
.then((): void => {}) .then((): void => {})
.catch((): void => {}); .catch((): void => {});
console.log( "请求奖励项目失败:", error );
return; return;
} }
console.log( "请求奖励项目结果", response.rewardList );
ui.rewardProjectList = response.rewardList; ui.rewardProjectList = response.rewardList;
}; };
@ -153,8 +145,6 @@ export default {
ui.selectedRecID = props.selectedRecId; ui.selectedRecID = props.selectedRecId;
refresh(); refresh();
console.log( props.selectedRewardProjectCode );
}); });
const onSaveRewardTelsaler = (): void => const onSaveRewardTelsaler = (): void =>

View File

@ -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/StaffManagement.vue * @FilePath: /task_schedule/src/views/telsaler/TelsalerManagement.vue
* @Description: * @Description:
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
@ -107,7 +107,7 @@
<script lang="ts"> <script lang="ts">
import { reactive, computed } from "vue"; import { reactive, computed } from "vue";
export default { export default {
name: "StaffManagement", name: "TelsalerManagement",
setup() setup()
{ {
const ui = reactive({ const ui = reactive({
@ -150,16 +150,9 @@ export default {
@import "@/assets/css/public/_public.scss"; @import "@/assets/css/public/_public.scss";
.wrapper { .wrapper {
margin: 10px;
padding: 10px; padding: 10px;
background-color: #fff; background-color: #fff;
border-radius: 5px;
box-shadow: $box-shadow;
&:hover {
box-shadow: $box-shadow-hover;
}
min-width: 800px; min-width: 800px;

View File

@ -0,0 +1,69 @@
<!--
* @Author: Kane
* @Date: 2023-09-27 10:13:31
* @LastEditors: Kane
* @FilePath: /task_schedule/src/views/telsaler/TelsalerManagementView.vue
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<div
v-if="ui.showUI"
class="telsaler-management-view-wrapper"
>
<el-tabs type="border-card">
<el-tab-pane>
<template #label>
<el-icon><User /></el-icon>
<span>坐席管理</span>
</template>
<TelsalerManagement />
</el-tab-pane>
<el-tab-pane>
<template #label>
<el-icon><Document /></el-icon>
<span>导入导出</span>
</template>
导入导出
</el-tab-pane>
</el-tabs>
</div>
</template>
<script lang="ts">
import { ref, reactive } from "vue";
// import { User } from "@element-plus/icons-vue";
import TelsalerManagement from "@/views/telsaler/TelsalerManagement.vue";
export default {
name: "TelsalerManagementView",
components: { TelsalerManagement, },
setup()
{
const ui = reactive({
showUI: true,
});
return {
ui,
};
},
};
</script>
<style scoped lang="scss">
.telsaler-management-view-wrapper {
margin: 10px 10px;
min-width: 800px;
>*+* {
margin-top: 10px;
}
span {
margin-left: 4px;
vertical-align: middle;
}
}
</style>

View File

@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-01-22 23:11:26 * @Date: 2023-01-22 23:11:26
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-09-26 15:59:40 * @LastEditTime: 2023-09-27 14:26:06
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/fileupload/FileUpload.java * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/fileupload/FileUpload.java
* @Description: 用于接受上传文件的Controller * @Description: 用于接受上传文件的Controller
* *
@ -70,7 +70,7 @@ public class FileUpload
String fileName = file.getOriginalFilename(); String fileName = file.getOriginalFilename();
File destFile = new File( filePath, fileName ); File destFile = new File( filePath, fileName );
fileNames.add( file.getOriginalFilename() ); fileNames.add( destFile.getAbsolutePath() );
} }
result.setFileList( fileNames ); result.setFileList( fileNames );

View File

@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-01-23 22:56:17 * @Date: 2023-01-23 22:56:17
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-09-26 10:30:27 * @LastEditTime: 2023-09-27 16:28:41
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/fileupload/FileUploadResult.java * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/fileupload/FileUploadResult.java
* @Description: * @Description:
* *
@ -42,7 +42,7 @@ public class FileUploadResult extends QueryResponse
this.fileList = fileList; this.fileList = fileList;
} }
@JsonProperty( "file-list" ) @JsonProperty( "fileList" )
private Vector<String> fileList; private Vector<String> fileList;
} }