保存进度!
This commit is contained in:
parent
b8df96ac42
commit
0c2c762721
16
code/web/task_schedule/package-lock.json
generated
16
code/web/task_schedule/package-lock.json
generated
@ -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",
|
||||||
|
@ -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",
|
||||||
|
@ -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>
|
||||||
|
@ -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",
|
||||||
|
16
code/web/task_schedule/src/utils/fileUpload.ts
Normal file
16
code/web/task_schedule/src/utils/fileUpload.ts
Normal 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[];
|
||||||
|
}
|
@ -260,10 +260,12 @@ export default {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ElMessage({
|
ElMessageBox({
|
||||||
message: response.message,
|
message: response.message,
|
||||||
type: "error",
|
type: "error",
|
||||||
});
|
})
|
||||||
|
.then(() => {})
|
||||||
|
.catch(() => {});
|
||||||
}
|
}
|
||||||
|
|
||||||
refresh();
|
refresh();
|
||||||
|
@ -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。
|
||||||
|
@ -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 =>
|
||||||
|
@ -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;
|
||||||
|
|
@ -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>
|
@ -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 );
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user