18 Commits

172 changed files with 38793 additions and 1947 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:
* *

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

@@ -1,5 +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 interface document
{ {
getElementById(id: string): HTMLElement | null; 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,7 +2,7 @@
* @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 22:36:54 * @LastEditTime: 2023-02-21 23:32:00
* @FilePath: /后端辅助工具/src/main.ts * @FilePath: /后端辅助工具/src/main.ts
* @Description: * @Description:
* *

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"

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

@@ -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>

29167
code/web/it-console-toVite/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

@@ -0,0 +1,44 @@
<!--
* @Author: Kane
* @Date: 2022-12-17 11:08:18
* @LastEditors: Kane
* @LastEditTime: 2023-02-23 00:44:29
* @FilePath: /it-console-toVite/public/index.html
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<!DOCTYPE html>
<html lang="">
<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="favicon.ico" />
<title>王炜的工具箱</title>
</head>
<body>
<noscript>
<strong
>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't
work properly without JavaScript enabled. Please enable it to
continue.</strong
>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
<script type="module" src="../src/main.js"></script>
<style>
.v-cloak {
display: none;
}
body {
width: 100vw;
height: 100vh;
max-height: 100vh;
min-width: 1280px;
}
</style>
</html>

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: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 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

@@ -0,0 +1,43 @@
/*
* @Author: Kane
* @Date: 2022-12-14 15:12:46
* @LastEditors: Kane
* @LastEditTime: 2023-02-17 13:11:43
* @FilePath: /IT工具综合平台/src/main.js
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
import { createApp } from 'vue';
import App from './App.vue';
//路由
import router from './router';
//vuex
import store from './store';
//引入全局函数
import global from "@/utils/global";
import("./css/root.css");
import("./css/normalize.css");
import("./css/colors.css");
import("element-plus/dist/index.css");
import ElementPlus from "element-plus";
import * as ElementPlusIconsVue from "@element-plus/icons-vue";
//import SvgIcon from "./components/svg/SvgIcon";
const app = createApp(App);
//app.component("SvgIcon", SvgIcon);
for (const [key, component,] of Object.entries(ElementPlusIconsVue))
{
app.component(key, component);
}
app.use(ElementPlus);
app.use(store);
app.use(router);
app.use(global);
app.mount('#app');

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: 定义应用路由配置
* *
@@ -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: {

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-14 08:54:25 * @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>
@@ -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",
};

View File

@@ -0,0 +1,5 @@
> 1%
last 2 versions
not dead
not ie 11
safari >= 7

View File

@@ -0,0 +1,3 @@
VUE_APP_API_URL_LOGIN = "http://222.76.244.118:11001/admin-system/account/p13_account_check"
VUE_APP_API_URL_UPLOAD_FILE= "http://222.76.244.118:11001/admin-system/file/file-upload.do"
VUE_APP_API_URL_REQUIREMENT_STATUS= "http://222.76.244.118:11001/requirement/query_requirement_status.do"

View File

@@ -0,0 +1,44 @@
/*
* @Author: Kane
* @Date: 2022-12-14 15:12:46
* @LastEditors: Kane
* @LastEditTime: 2023-02-14 23:10:53
* @FilePath: /IT工具综合平台/.eslintrc.js
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
module.exports = {
root: true,
env: {
node: true,
},
'extends': [
'plugin:vue/vue3-essential',
'eslint:recommended',
],
parserOptions: {
parser: '@babel/eslint-parser',
},
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
"no-unused-vars": "warn",
"semi": ["error", "always",],//控制行尾部分号
"comma-dangle": ["warn", {
"arrays": "always",
"objects": "always",
"imports": "never",
"exports": "never",
"functions": "never",
},],//数组和对象键值对最后一个逗号
"comma-style": ["error", "last",], //逗号在行位
"array-bracket-spacing": ["error", "never",],
"no-undef-init": "error",
"no-invalid-this": "error",
"no-use-before-define": "error",
"no-shadow-restricted-names": "error", //禁止对一些关键字或者保留字进行赋值操作比如NaN、Infinity、undefined、eval、arguments等
// "comma-spacing": ["error", { "before": false, "after": true, },],
"brace-style": ["error", "allman", { "allowSingleLine": true, },],
},
};

23
code/web/it-console/.gitignore vendored Normal file
View File

@@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

View File

@@ -0,0 +1,24 @@
# admin_system
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

View File

@@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

View File

@@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"baseUrl": "./",
"moduleResolution": "node",
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
}
}

View File

@@ -15,7 +15,6 @@
"core-js": "^3.8.3", "core-js": "^3.8.3",
"element-plus": "^2.2.26", "element-plus": "^2.2.26",
"sass": "^1.56.2", "sass": "^1.56.2",
"sass-loader": "^13.2.0",
"scss": "^0.2.4", "scss": "^0.2.4",
"scss-loader": "^0.0.1", "scss-loader": "^0.0.1",
"vue": "^3.2.13", "vue": "^3.2.13",
@@ -32,6 +31,8 @@
"@vue/cli-service": "~5.0.0", "@vue/cli-service": "~5.0.0",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3", "eslint-plugin-vue": "^8.0.3",
"node-sass": "^8.0.0",
"sass-loader": "^13.2.0",
"svg-sprite-loader": "^2.1.0", "svg-sprite-loader": "^2.1.0",
"vue-cli-plugin-element-plus": "~0.0.13" "vue-cli-plugin-element-plus": "~0.0.13"
} }

Some files were not shown because too many files have changed in this diff Show More