29 Commits

Author SHA1 Message Date
178ae16c73 保存进度! 2023-02-23 01:03:39 +08:00
3afde75e85 整理目录 2023-02-23 01:00:59 +08:00
7154edde7c 保存进度! 2023-02-23 00:57:48 +08:00
f22f6b268a 迁移到vite 2023-02-23 00:56:44 +08:00
1c44e56b56 保存进度! 2023-02-23 00:09:03 +08:00
3f93afede3 保存进度! 2023-02-22 18:33:27 +08:00
8dd5f27d47 Merge branch 'feature-requirement' of http://222.76.244.118:3000/CPICXIM/it-console into feature-requirement 2023-02-22 17:12:56 +08:00
557452aedc 修改一些javascript的语法错误。 2023-02-22 17:12:54 +08:00
46cfdc28a6 Merge branch 'feature-requirement' of http://222.76.244.118:3000/CPICXIM/it-console into feature-requirement
...
2023-02-21 23:56:44 +08:00
e450e280d4 保存进度! 2023-02-21 23:56:17 +08:00
8248fe942a 保存进度! 2023-02-21 18:33:59 +08:00
a97d222486 保存进度! 2023-02-20 18:01:20 +08:00
f354d141f5 保存进度! 2023-02-20 00:34:13 +08:00
8902b2761b Merge branch 'feature-requirement' of http://222.76.244.118:3000/CPICXIM/it-console into feature-requirement 2023-02-19 21:38:41 +08:00
81d52412db 。。。 2023-02-19 21:36:12 +08:00
9afe66b769 保存进度! 2023-02-19 17:56:05 +08:00
c2bc64fd36 保存进度! 2023-02-18 00:17:55 +08:00
e7e8ec49e2 修改了mysql的访问url 2023-02-17 18:34:53 +08:00
05e131ecbe 保存进度! 2023-02-17 13:12:02 +08:00
55cf233192 保存进度! 2023-02-17 13:10:40 +08:00
5822212970 保存进度! 2023-02-17 00:08:13 +08:00
e685197674 保存进度! 2023-02-16 00:23:15 +08:00
a81bdc330c 保存进度! 2023-02-15 00:26:37 +08:00
8315b1f9b2 保存进度! 2023-02-14 23:36:40 +08:00
007953d129 保存进度! 2023-02-14 18:57:03 +08:00
f2802722c1 保存进度! 2023-02-14 00:26:46 +08:00
655af8eec1 ... 2023-02-14 00:25:06 +08:00
5c0050fe13 Merge branch 'feature-requirement' of http://222.76.244.118:3000/CPICXIM/it-console into feature-requirement 2023-02-14 00:24:55 +08:00
c28c4c7789 保存进度! 2023-02-14 00:23:26 +08:00
97 changed files with 29767 additions and 24142 deletions

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-02-04 11:38:32 * @Date: 2023-02-04 11:38:32
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-04 14:17:26 * @LastEditTime: 2023-02-17 10:52:40
* @FilePath: /后端-需求/src/main/java/com/cpic/xim/utils/db/RequirementDbOperation.java * @FilePath: /后端-需求/src/main/java/com/cpic/xim/utils/db/RequirementDbOperation.java
* @Description: * @Description:
* *
@@ -20,7 +20,7 @@ import com.cpic.xim.data.RequirementStatus;
public final class RequirementDbOperation public final class RequirementDbOperation
{ {
private static final String MYSQL_JDBC_CONNECT = "jdbc:mysql://192.168.1.14:3306"; private static final String MYSQL_JDBC_CONNECT = "jdbc:mysql://10.39.0.85:3306";
private static final String MYSQL_CLASS_DRIVER = "com.mysql.cj.jdbc.Driver"; private static final String MYSQL_CLASS_DRIVER = "com.mysql.cj.jdbc.Driver";
/***************************************************** /*****************************************************

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-02-09 15:26:18 * @Date: 2023-02-09 15:26:18
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-10 10:25:42 * @LastEditTime: 2023-02-18 23:36:07
* @FilePath: /后端辅助工具/.eslintrc.js * @FilePath: /后端辅助工具/.eslintrc.js
* @Description: * @Description:
* *
@@ -32,7 +32,7 @@ module.exports = {
"plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended",
], ],
rules: { rules: {
"no-console": "warn", "no-console": "off",
"quote-props": ["warn", "as-needed",], "quote-props": ["warn", "as-needed",],
quotes: ["warn", "double", { allowTemplateLiterals: true, },], quotes: ["warn", "double", { allowTemplateLiterals: true, },],
indent: ["warn", 4,], indent: ["warn", 4,],
@@ -56,5 +56,6 @@ module.exports = {
"prefer-const": "warn", "prefer-const": "warn",
"@typescript-eslint/no-extra-semi": "off", "@typescript-eslint/no-extra-semi": "off",
"@typescript-eslint/no-inferrable-types": "off", "@typescript-eslint/no-inferrable-types": "off",
"@typescript-eslint/no-unused-vars": "off",
}, },
}; };

View File

@@ -0,0 +1,41 @@
/*
* @Author: Kane
* @Date: 2023-02-17 22:35:49
* @LastEditors: Kane
* @LastEditTime: 2023-02-19 21:38:18
* @FilePath: /后端辅助工具/src/DataType/Class.ts
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
class CpicximStuff
{
constructor(
private _stuffName: string,
private _stuffCode: string,
private _p13UID: string
) { }
get stuffName(): string
{
return this._stuffName;
}
set stuffName(stuffName: string)
{
this._stuffName = stuffName;
}
get stuffCode(): string
{
return this._stuffCode;
}
set stuffCode(code: string)
{
this._stuffCode = code;
}
};
export { CpicximStuff };

View File

@@ -70,4 +70,4 @@ function dataTypes()
} }
export { dataTypes }; export default dataTypes;

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-02-13 23:08:34 * @Date: 2023-02-13 23:08:34
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-13 23:56:11 * @LastEditTime: 2023-02-16 22:43:22
* @FilePath: /后端辅助工具/src/DataType/Function.ts * @FilePath: /后端辅助工具/src/DataType/Function.ts
* @Description: * @Description:
* *
@@ -20,7 +20,11 @@ const func: {
version: string, version: string,
} = f; } = f;
function func_this(this: { name: string; }, x: number, y: number): void function func_this_void(this: void, arg1: number): number
{ {
return arg1;
} }
let constructor: {
new(x: string, y: string): object;
};

View File

@@ -0,0 +1,24 @@
/*
* @Author: Kane
* @Date: 2023-02-14 22:24:26
* @LastEditors: Kane
* @LastEditTime: 2023-02-21 23:31:40
* @FilePath: /后端辅助工具/src/DataType/Interface.ts
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
interface document
{
getElementById(id: string): HTMLElement | null;
}
interface CpicStuff
{
stuffName: string;
stuffCode: string;
p13uid: string;
password: string;
}

View File

@@ -0,0 +1,23 @@
/*
* @Author: Kane
* @Date: 2023-02-21 17:39:01
* @LastEditors: Kane
* @LastEditTime: 2023-02-22 14:08:48
* @FilePath: /后端辅助工具/src/DataType/Template.ts
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
interface Point
{
x: number;
y: number;
}
function radius<TPoint>(x: TPoint): TPoint
{
const result: TPoint = x;
return result;
}

View File

@@ -2,14 +2,14 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-02-09 22:14:30 * @Date: 2023-02-09 22:14:30
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-14 00:09:39 * @LastEditTime: 2023-02-21 23:32:00
* @FilePath: /后端辅助工具/src/main.ts * @FilePath: /后端辅助工具/src/main.ts
* @Description: * @Description:
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
*/ */
import { dataTypes } from "./DataType/DataType"; import dataTypes from "./DataType/DataType";
import { pakoTest } from "./gzip/PakoTest"; import { pakoTest } from "./gzip/PakoTest";
const greetings = "hello, this is kane's typescript!"; const greetings = "hello, this is kane's typescript!";

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-02-09 15:24:20 * @Date: 2023-02-09 15:24:20
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-13 23:28:22 * @LastEditTime: 2023-02-17 23:15:11
* @FilePath: //tsconfig.json * @FilePath: //tsconfig.json
* @Description: * @Description:
* *
@@ -13,9 +13,10 @@
"outDir": "./target", "outDir": "./target",
"strict": false, "strict": false,
"strictNullChecks": true, "strictNullChecks": true,
"strictPropertyInitialization": true,
"sourceMap": true, "sourceMap": true,
"allowJs": true, "allowJs": true,
"checkJs": false, "checkJs": true,
"moduleResolution": "node", "moduleResolution": "node",
"module": "CommonJS", "module": "CommonJS",
"target": "ES2015" "target": "ES2015"

File diff suppressed because it is too large Load Diff

View File

@@ -1,38 +0,0 @@
{
"name": "CPIC-IT-Console",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@element-plus/icons-vue": "^2.0.10",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12",
"axios": "^1.2.1",
"core-js": "^3.8.3",
"element-plus": "^2.2.26",
"sass": "^1.56.2",
"sass-loader": "^13.2.0",
"scss": "^0.2.4",
"scss-loader": "^0.0.1",
"vue": "^3.2.13",
"vue-router": "^4.0.3",
"vuex": "^4.0.0"
},
"devDependencies": {
"@babel/core": "^7.12.16",
"@babel/eslint-parser": "^7.12.16",
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-eslint": "~5.0.0",
"@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3",
"svg-sprite-loader": "^2.1.0",
"vue-cli-plugin-element-plus": "~0.0.13"
}
}

View File

@@ -1,54 +0,0 @@
/*
* @Author: Kane
* @Date: 2022-12-17 11:08:18
* @LastEditors: Kane
* @LastEditTime: 2023-02-07 12:27:02
* @FilePath: /IT工具综合平台/vue.config.js
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
// const { defineConfig } = require('@vue/cli-service');
// module.exports = defineConfig(
// {
// transpileDependencies: true,
// devServer: {
// open: true,
// host: "localhost",
// port: 8000,
// },
// }
// );
module.exports = {
transpileDependencies: true,
devServer: {
open: true,
host: "localhost",
port: 8000,
},
chainWebpack: (config) =>
{
// svg 图标解析
const svgRule = config.module.rule("svg"); //默认规则赋给 subRule 变量
svgRule.uses.clear(); // 清除已有的所有规则。
svgRule // 添加要替换的规则
.use("svg-sprite-loader")
.loader("svg-sprite-loader")
.options({
symbolId: "icon-[name]",
include: ["./src/components/svg/icons",], // 特别注意的目录路径
});
// 配置base64转换规则
// config.module
// .rule('images')
// .use('url-loader')
// .loader('url-loader')
// .tap(options => Object.assign(options, { limit: 1 }));
// 载入项目分析工具
// config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
},
//打包输出目录
publicPath: "./",
outputDir: "dist",
};

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-14 15:12:46 * @Date: 2022-12-14 15:12:46
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-06 00:36:26 * @LastEditTime: 2023-02-14 23:10:53
* @FilePath: /IT工具综合平台/.eslintrc.js * @FilePath: /IT工具综合平台/.eslintrc.js
* @Description: * @Description:
* *
@@ -25,7 +25,7 @@ module.exports = {
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
"no-unused-vars": "warn", "no-unused-vars": "warn",
"semi": ["error", "always",],//控制行尾部分号 "semi": ["error", "always",],//控制行尾部分号
"comma-dangle": ["error", { "comma-dangle": ["warn", {
"arrays": "always", "arrays": "always",
"objects": "always", "objects": "always",
"imports": "never", "imports": "never",

View File

@@ -0,0 +1,44 @@
<!--
* @Author: Kane
* @Date: 2022-12-17 11:08:18
* @LastEditors: Kane
* @LastEditTime: 2023-02-23 00:40:59
* @FilePath: /it-console-toVite/index.html
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="public/favicon.ico" />
<title>王炜的工具箱</title>
</head>
<body>
<noscript>
<strong
>We're sorry but <%= title %> doesn't work properly without
JavaScript enabled. Please enable it to continue.</strong
>
</noscript>
<div id="app" v-cloak></div>
<!-- built files will be auto injected -->
<script type="module" src="/src/main.js"></script>
</body>
<style>
.v-cloak {
display: none;
}
body {
width: 100vw;
height: 100vh;
max-height: 100vh;
min-width: 1280px;
}
</style>
</html>

29169
code/web/it-console/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,52 @@
{
"name": "CPIC-IT-Console",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"serve-vite": "vite",
"build-vite": "vite build",
"preview-vite": "vite preview"
},
"dependencies": {
"@element-plus/icons-vue": "^2.0.10",
"@vitejs/plugin-vue": "^4.0.0",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12",
"axios": "^1.2.1",
"core-js": "^3.8.3",
"element-plus": "^2.2.26",
"sass": "^1.56.2",
"scss": "^0.2.4",
"scss-loader": "^0.0.1",
"vite": "^4.1.4",
"vue": "^3.2.13",
"vue-router": "^4.0.3",
"vuex": "^4.0.0"
},
"devDependencies": {
"@babel/core": "^7.12.16",
"@babel/eslint-parser": "^7.12.16",
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-eslint": "~5.0.0",
"@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3",
"node-sass": "^8.0.0",
"sass-loader": "^13.2.0",
"svg-sprite-loader": "^2.1.0",
"vue-cli-plugin-element-plus": "~0.0.13",
"@vue/compiler-sfc": "^3.2.26",
"@vitejs/plugin-vue": "^2.0.1",
"@vitejs/plugin-vue-jsx": "^1.3.2",
"vite-plugin-env-compatible": "^1.1.1",
"vite-plugin-html": "3.2.0",
"vite": "^2.7.2",
"@originjs/vite-plugin-require-context": "1.0.9",
"@originjs/vite-plugin-commonjs": "^1.0.1"
}
}

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -2,8 +2,8 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-17 11:08:18 * @Date: 2022-12-17 11:08:18
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-04 22:47:11 * @LastEditTime: 2023-02-23 00:44:29
* @FilePath: /IT工具综合平台/public/index.html * @FilePath: /it-console-toVite/public/index.html
* @Description: * @Description:
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
@@ -14,7 +14,7 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" /> <meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="<%= BASE_URL %>favicon.ico" /> <link rel="icon" href="favicon.ico" />
<title>王炜的工具箱</title> <title>王炜的工具箱</title>
</head> </head>
<body> <body>
@@ -25,9 +25,10 @@
continue.</strong continue.</strong
> >
</noscript> </noscript>
<div id="app" v-cloak></div> <div id="app"></div>
<!-- built files will be auto injected --> <!-- built files will be auto injected -->
</body> </body>
<script type="module" src="../src/main.js"></script>
<style> <style>
.v-cloak { .v-cloak {
display: none; display: none;

View File

@@ -2,8 +2,8 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-14 15:12:46 * @Date: 2022-12-14 15:12:46
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-03 18:53:11 * @LastEditTime: 2023-02-15 09:34:25
* @FilePath: \IT工具综合平台\src\App.vue * @FilePath: /IT/src/App.vue
* @Description: * @Description:
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
@@ -24,7 +24,7 @@ export default {
{ {
const locale = zhCn; const locale = zhCn;
return { locale }; return { locale, };
}, },
components: { components: {
// HelloWorld, // HelloWorld,

View File

Before

Width:  |  Height:  |  Size: 773 KiB

After

Width:  |  Height:  |  Size: 773 KiB

View File

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

Before

Width:  |  Height:  |  Size: 195 KiB

After

Width:  |  Height:  |  Size: 195 KiB

View File

@@ -2,8 +2,8 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-01-06 20:33:57 * @Date: 2023-01-06 20:33:57
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-01-07 17:10:07 * @LastEditTime: 2023-02-22 17:10:18
* @FilePath: \admin_system\src\components\svg\SvgIcon.vue * @FilePath: /IT/src/components/svg/SvgIcon.vue
* @Description: * @Description:
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
@@ -18,10 +18,10 @@ export default {
data() data()
{ {
return { return {
iconName: "" iconName: "",
}; };
}, },
props: ["icon"], props: ["icon",],
created() created()
{ {
console.log("svg"); console.log("svg");
@@ -31,6 +31,4 @@ export default {
}; };
</script> </script>
<style scoped> <style scoped></style>
</style>

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

Before

Width:  |  Height:  |  Size: 928 B

After

Width:  |  Height:  |  Size: 928 B

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-01-04 11:39:04 * @Date: 2023-01-04 11:39:04
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-06 10:17:22 * @LastEditTime: 2023-02-22 18:33:11
* @FilePath: /IT/src/layout/components/Header.vue * @FilePath: /IT/src/layout/components/Header.vue
* @Description: * @Description:
* *
@@ -28,7 +28,7 @@ import { Logout } from "../../utils/api/info/account";
export default { export default {
name: "AppBanner", name: "AppBanner",
setup(props, context) setup()
{ {
const logout = () => const logout = () =>
{ {

View File

@@ -2,8 +2,8 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-14 15:12:46 * @Date: 2022-12-14 15:12:46
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-01-30 21:43:21 * @LastEditTime: 2023-02-17 13:11:43
* @FilePath: \IT工具综合平台\src\main.js * @FilePath: /IT/src/main.js
* @Description: * @Description:
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
@@ -25,13 +25,13 @@ import("element-plus/dist/index.css");
import ElementPlus from "element-plus"; import ElementPlus from "element-plus";
import * as ElementPlusIconsVue from "@element-plus/icons-vue"; import * as ElementPlusIconsVue from "@element-plus/icons-vue";
import SvgIcon from "./components/svg/SvgIcon"; //import SvgIcon from "./components/svg/SvgIcon";
const app = createApp(App); const app = createApp(App);
app.component("SvgIcon", SvgIcon); //app.component("SvgIcon", SvgIcon);
for (const [key, component] of Object.entries(ElementPlusIconsVue)) for (const [key, component,] of Object.entries(ElementPlusIconsVue))
{ {
app.component(key, component); app.component(key, component);
} }

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-14 15:12:46 * @Date: 2022-12-14 15:12:46
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-04 22:36:13 * @LastEditTime: 2023-02-21 13:09:15
* @FilePath: /IT/src/router/index.js * @FilePath: /IT/src/router/index.js
* @Description: 定义应用路由配置 * @Description: 定义应用路由配置
* *
@@ -35,7 +35,7 @@ const routes = [
name: "Home", name: "Home",
hidden: true, hidden: true,
meta: { meta: {
title: "控制台" title: "控制台",
}, },
component: () => import("../layout/Index.vue"), component: () => import("../layout/Index.vue"),
}, },
@@ -91,7 +91,28 @@ const routes = [
}, },
], ],
}, },
{//信息管理 {
//信息查询
path: "/query_info",
name: "QueryInfo",
meta: {
title: "信息查询",
icon: "search",
},
component: () => import("@/layout/Index.vue"),
children: [
{
path: "/query_stuff",
name: "QueryStuff",
meta: {
title: "人员信息",
icon: "user",
},
component: () => import("@/views/info/StaffInfo.vue"),
},
],
},
{//权限管理
path: "/privilege", path: "/privilege",
name: "Privilege", name: "Privilege",
meta: { meta: {
@@ -152,14 +173,14 @@ const routes = [
icon: "switch", icon: "switch",
}, },
component: () => import("../views/network/switch/SwitchManager.vue"), component: () => import("../views/network/switch/SwitchManager.vue"),
} },
], ],
}, },
]; ];
const router = createRouter({ const router = createRouter({
history: createWebHashHistory(), history: createWebHashHistory(),
routes routes,
}); });
//前置路由守卫 //前置路由守卫

View File

@@ -16,7 +16,7 @@ const store = createStore({
modules: { modules: {
app, app,
requirement, requirement,
} },
}); });
export default store; export default store;

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-01-07 22:25:43 * @Date: 2023-01-07 22:25:43
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-05 10:47:28 * @LastEditTime: 2023-02-14 23:10:22
* @FilePath: /IT/src/store/modules/app.js * @FilePath: /IT/src/store/modules/app.js
* @Description: vuex中存放全局数据的模块 * @Description: vuex中存放全局数据的模块
* *
@@ -29,7 +29,7 @@ const mutations = {
SET_USERINFO(state, userInfo) SET_USERINFO(state, userInfo)
{ {
state.userInfo = userInfo; state.userInfo = userInfo;
} },
}; };
const actions = {}; const actions = {};

View File

@@ -2,8 +2,8 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-12-22 17:16:53 * @Date: 2022-12-22 17:16:53
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2022-12-22 20:48:03 * @LastEditTime: 2023-02-22 14:49:58
* @FilePath: \admin_system\src\utils\api\common.js * @FilePath: /IT/src/utils/api/common.js
* @Description: 通用请求 * @Description: 通用请求
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
@@ -15,6 +15,8 @@ const URL_GET_VALIDATE_CODE = "";
/** /**
* 获取验证码 * 获取验证码
* @param {*} data 承载数据的对象
* @returns Promise对象
*/ */
export function GetValidate(data) export function GetValidate(data)
{ {

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-02-04 15:48:00 * @Date: 2023-02-04 15:48:00
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-06 00:28:23 * @LastEditTime: 2023-02-22 17:08:26
* @FilePath: /IT/src/utils/api/requirement/requirement.js * @FilePath: /IT/src/utils/api/requirement/requirement.js
* @Description: * @Description:
* *
@@ -16,7 +16,7 @@ import router from "@/router/index";
* 从后台获取需求管理页面所需数据存放到vuex中 * 从后台获取需求管理页面所需数据存放到vuex中
* @param ui 保存ui标志位的对象 * @param ui 保存ui标志位的对象
* @param store 保存在vuex中需求相关的对象 * @param store 保存在vuex中需求相关的对象
* @param error_page_name 提示错误页面的路径 * @param {string} error_page_name 提示错误页面的路径
*****************************************************/ *****************************************************/
function query_requirement_ui(requirement_store, error_page_name) function query_requirement_ui(requirement_store, error_page_name)
{ {

View File

@@ -0,0 +1,124 @@
<!--
* 佛曰:
* 写字楼里写字间写字间里程序员
* 程序人员写程序又拿程序换酒钱
* 酒醒只在网上坐酒醉还来网下眠
* 酒醉酒醒日复日网上网下年复年
* 但愿老死电脑间不愿鞠躬老板前
* 奔驰宝马贵者趣公交自行程序员
* 别人笑我忒疯癫我笑自己命太贱
* 不见满街漂亮妹哪个归得程序员
* @Author: Kane
* @Date: 2023-02-21 11:03:15
* @LastEditors: Kane
* @LastEditTime: 2023-02-23 00:02:40
* @FilePath: /it-console/src/views/info/StaffInfo.vue
* @Description:<
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
<div class="view_wrapper">
<div class="query_wrapper">
<el-row gutter="10">
<el-col :span="2">
<span>姓名</span>
</el-col>
<el-col :span="4">
<el-input v-model="query_param.stuffName"></el-input>
</el-col>
<el-col :span="2">
<span>工号</span>
</el-col>
<el-col :span="4">
<el-input v-model="query_param.stuffName"></el-input>
</el-col>
<el-col :span="2">
<span>P13账号</span>
</el-col>
<el-col :span="4">
<el-input v-model="query_param.stuffName"></el-input>
</el-col>
</el-row>
<el-row gutter="10">
<el-col :span="2">
<span>部门</span>
</el-col>
<el-col :span="4">
<el-input v-model="query_param.stuffName"></el-input>
</el-col>
<el-col :span="2">
<span>部门代码</span>
</el-col>
<el-col :span="4">
<el-input v-model="query_param.stuffName"></el-input>
</el-col>
<el-col :span="6">
<div class="toolbutton-wrapper">
<el-button type="primary" icon="search">查询</el-button>
<el-button icon="Refresh">重置</el-button>
</div>
</el-col>
</el-row>
</div>
</div>
</template>
<script>
import { reactive } from "vue";
export default {
name: "StuffInfo",
setup()
{
const query_param = reactive(
{
stuffName: "",
stuffCode: "",
p13UID: "",
departmentCode: "",
departmentName: "",
}
);
return {
query_param,
};
},
};
</script>
<style scoped lang="scss">
.view_wrapper {
border-radius: 5px;
background-color: #fff;
}
.query_wrapper {
min-width: 800px;
max-width: 1200px;
padding: 10px;
.el-row {
display: flex;
align-items: center;
span {
display: block;
text-align: right;
font-size: 15px;
color: #5f5f5f;
}
}
.el-row+.el-row {
margin-top: 15px;
}
}
.toolbutton-wrapper {
display: flex;
justify-content: right;
align-items: center;
}
</style>

View File

@@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-02-02 22:19:12 * @Date: 2023-02-02 22:19:12
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2023-02-13 12:50:29 * @LastEditTime: 2023-02-22 23:02:30
* @FilePath: /IT/src/views/requirement/RequirementManager.vue * @FilePath: /IT/src/views/requirement/RequirementManager.vue
* @Description: * @Description:
* *
@@ -38,8 +38,7 @@
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<!-- <el-input v-model="query_param.status"></el-input> --> <!-- <el-input v-model="query_param.status"></el-input> -->
<el-select multiple collapse-tags collapse-tags-tooltip <el-select multiple collapse-tags collapse-tags-tooltip v-model.trim.lazy="query_param.selected_status">
v-model.trim.lazy="query_param.selected_status">
<el-option v-for="option in statusData" :value="option.status_name" lable="option.status_code" <el-option v-for="option in statusData" :value="option.status_name" lable="option.status_code"
:key="option.status_code + option.status_name"></el-option> :key="option.status_code + option.status_name"></el-option>
</el-select> </el-select>
@@ -115,15 +114,15 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="pagination_wrapper"> <div class="pagination_wrapper">
<el-pagination class="pull_left" @current-change="onCurrentPageIndexChange" <el-pagination class="pull_left" @current-change="onCurrentPageIndexChange" @size-change="onTablePageSizeChange"
@size-change="onTablePageSizeChange" size="small" background v-model="ui.table_current_page" size="small" background v-model="ui.table_current_page" :page-size="ui.table_page_size"
:page-size="ui.table_page_size" :page-sizes="[10, 20, 50, 100]" :page-sizes="[10, 20, 50, 100]" layout="total, sizes, prev, pager, next, jumper"
layout="total, sizes, prev, pager, next, jumper" :total="requirement_data.length"> :total="requirement_data.length">
</el-pagination> </el-pagination>
</div> </div>
<!-- 需求详细信息对话框 --> <!-- 需求详细信息对话框 -->
<el-dialog title="详情" class="requirement-detail-dialog" v-model="ui.dialogRequirementDetailVisible" <el-dialog title="详情" class="requirement-detail-dialog" v-model="ui.dialogRequirementDetailVisible" width="900px"
width="900px" :close-on-click-modal="true" :close-on-press-escape="false" :show-close="true" :center="false" :close-on-click-modal="true" :close-on-press-escape="false" :show-close="true" :center="false"
@close="closeRequirementDetail"> @close="closeRequirementDetail">
<el-tabs v-loading="ui.dialogRequirementDetailLoadingVisible" v-model="ui.activeTabName"> <el-tabs v-loading="ui.dialogRequirementDetailLoadingVisible" v-model="ui.activeTabName">
<el-tab-pane name="requirement-detail" label="基本信息"> <el-tab-pane name="requirement-detail" label="基本信息">
@@ -224,8 +223,7 @@
<Toolbar style="border-bottom: 1px solid #eee" :editor="commentEditorRef" <Toolbar style="border-bottom: 1px solid #eee" :editor="commentEditorRef"
:defaultConfig="commentToolbarConfig" :mode="mode" /> :defaultConfig="commentToolbarConfig" :mode="mode" />
<Editor readonly style="overflow-y: hidden;" v-model="valueHtml" <Editor readonly style="overflow-y: hidden;" v-model="valueHtml"
:defaultConfig="commentEditorConfig" :mode="mode" :defaultConfig="commentEditorConfig" :mode="mode" @onCreated="handleCommentEditorCreated" />
@onCreated="handleCommentEditorCreated" />
</div> </div>
</el-scrollbar> </el-scrollbar>
</el-tab-pane> </el-tab-pane>
@@ -418,12 +416,12 @@ export default {
onUIChange(); onUIChange();
//editor //editor
// const detailEditor = detailEditorRef.value; const detailEditor = detailEditorRef.value;
// if (detailEditor !== null) if (detailEditor != null)
// { {
// detailEditor.destroy(); detailEditor.destroy();
// } }
//editor //editor
const commentEditor = commentEditorRef.value; const commentEditor = commentEditorRef.value;
@@ -478,7 +476,7 @@ export default {
handleDetailEditorCreated, handleDetailEditorCreated,
handleCommentEditorCreated, handleCommentEditorCreated,
// //
onBeforeMount, //onBeforeMount,
}; };
//#endregion //#endregion
}, },
@@ -605,14 +603,14 @@ export default {
margin-top: 10px; margin-top: 10px;
} }
.requirement-detail-wrapper { /* .requirement-detail-wrapper {
/* padding: 0px 10px; padding: 0px 10px;
height: 400px; height: 400px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
align-items: center; */ align-items: center;
} } */
.requirement-detail-wrapper .el-row { .requirement-detail-wrapper .el-row {
display: flex; display: flex;

View File

@@ -0,0 +1,67 @@
/*
* @Author: Kane
* @Date: 2023-02-23 00:15:24
* @LastEditors: Kane
* @LastEditTime: 2023-02-23 00:43:33
* @FilePath: /it-console-toVite/vite.config.js
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
import { defineConfig } from 'vite';
import path from 'path';
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import ViteRequireContext from '@originjs/vite-plugin-require-context';
import envCompatible from 'vite-plugin-env-compatible';
import { createHtmlPlugin } from 'vite-plugin-html';
import { viteCommonjs } from '@originjs/vite-plugin-commonjs';
// https://vitejs.dev/config/
export default defineConfig({
resolve: {
alias: [
{
find: /^~/,
replacement: '',
},
{
find: '@',
replacement: path.resolve(__dirname, 'src'),
},
],
extensions: [
'.mjs',
'.js',
'.ts',
'.jsx',
'.tsx',
'.json',
'.vue',
],
},
plugins: [
vue(),
vueJsx(),
ViteRequireContext(),
viteCommonjs(),
envCompatible(),
createHtmlPlugin({
inject: {
data: {
title: 'CPIC-IT-Console',
},
},
}),
],
base: './',
server: {
strictPort: false,
port: 8000,
host: 'localhost',
open: true,
},
build: {
outDir: 'dist',
},
});

View File

@@ -0,0 +1,54 @@
/*
* @Author: Kane
* @Date: 2022-12-17 11:08:18
* @LastEditors: Kane
* @LastEditTime: 2023-02-07 12:27:02
* @FilePath: /IT工具综合平台/vue.config.js
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
// const { defineConfig } = require('@vue/cli-service');
// module.exports = defineConfig(
// {
// transpileDependencies: true,
// devServer: {
// open: true,
// host: "localhost",
// port: 8000,
// },
// }
// );
module.exports = {
transpileDependencies: true,
devServer: {
open: true,
host: "localhost",
port: 8000,
},
// chainWebpack: (config) =>
// {
// // svg 图标解析
// const svgRule = config.module.rule("svg"); //默认规则赋给 subRule 变量
// svgRule.uses.clear(); // 清除已有的所有规则。
// svgRule // 添加要替换的规则
// .use("svg-sprite-loader")
// .loader("svg-sprite-loader")
// .options({
// symbolId: "icon-[name]",
// include: ["./src/components/svg/icons",], // 特别注意的目录路径
// });
// 配置base64转换规则
// config.module
// .rule('images')
// .use('url-loader')
// .loader('url-loader')
// .tap(options => Object.assign(options, { limit: 1 }));
// 载入项目分析工具
// config.plugin('webpack-bundle-analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
// },
//打包输出目录
publicPath: "./",
outputDir: "dist",
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

View File

@@ -0,0 +1,63 @@
<!--
* @Author: Kane
* @Date: 2023-02-14 23:18:02
* @LastEditors: Kane
* @LastEditTime: 2023-02-15 00:22:52
* @FilePath: /错误页面/index.html
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<style>
body {
box-sizing: border-box;
border: 1px solid red;
padding: 10px;
margin: 0px;
/* height: calc(100vh);
width: calc(100vw-5px);
max-width: 100vw;
max-height: 100vh; */
overflow: hidden;
background-color: #f0ebe5;
}
.container {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: top;
}
.container img {
margin: 30px auto 0px auto;
width: 400px;
height: 400px;
}
.container span {
display: block;
margin: 15px auto 0 auto;
font-family: "rgaqsya";
font-size: 5em;
color: grey;
}
</style>
<body>
<div class="container">
<img src="./img/skull.png" />
<span>妖秀啊</span>
</div>
</body>
</html>