Compare commits
10 Commits
main
...
44f26dd330
| Author | SHA1 | Date | |
|---|---|---|---|
| 44f26dd330 | |||
| 7ea8e7ab4d | |||
| fd4275c3a5 | |||
| 51f96ed6c1 | |||
| 8cc2f8759d | |||
| 4a79a080c5 | |||
| 9699e39ecf | |||
| c22779bd6a | |||
| 07bf0e3450 | |||
| bb25a5db61 |
@@ -1,3 +1,9 @@
|
|||||||
# regulatory-management-system
|
<h1 style="text-align:center; font-size:2rem;" title>产险厦门分公司规章制度管理工具</h1>
|
||||||
|
|
||||||
|
# 概述
|
||||||
|
|
||||||
产险厦门分公司规章制度管理工具。
|
产险厦门分公司规章制度管理工具。
|
||||||
|
|
||||||
|
# 密码
|
||||||
|
## mysql
|
||||||
|
root@localhost ^QaKwfmo#HNy&0D7
|
||||||
@@ -21,8 +21,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
|
|
||||||
|
|
||||||
// @SuppressWarnings( "unused" )
|
// @SuppressWarnings( "unused" )
|
||||||
@Controller
|
@Controller
|
||||||
@@ -99,6 +97,17 @@ public class FileUpload
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接收上传文件,并保存到临时目录:
|
||||||
|
* 1、临时目录下再用sessionID作为子目录保存文件。
|
||||||
|
* 2、保存时不更改文件名,会覆盖同名文件。
|
||||||
|
* 3、MultipartFile参数形参名称必须和请求form中file标签的name属性一致,否则值为null。
|
||||||
|
* 4、返回值为接收结果和文件保存绝对路径。
|
||||||
|
* @param fileName
|
||||||
|
* @param file
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@RequestMapping( path = "/file-upload.do" )
|
@RequestMapping( path = "/file-upload.do" )
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public FileUploadResult saveUploadFile(
|
public FileUploadResult saveUploadFile(
|
||||||
|
|||||||
4
code/db/操作.txt
Normal file
4
code/db/操作.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
alter user 'root'@localhost identified by '^QaKwfmo#HNy&0D7';
|
||||||
|
create user 'zhiduguanli'@'%' identified by 'Kane@1981';
|
||||||
|
regulatory_management.*
|
||||||
|
grant all privileges on regulatory_management.* to 'zhiduguanli'@'%';
|
||||||
@@ -123,7 +123,7 @@ module.exports = {
|
|||||||
// "@typescript-eslint/indent": ["warn", 4,],
|
// "@typescript-eslint/indent": ["warn", 4,],
|
||||||
"@stylistic/indent": ["warn", 4,],
|
"@stylistic/indent": ["warn", 4,],
|
||||||
"@typescript-eslint/no-explicit-any": "warn",
|
"@typescript-eslint/no-explicit-any": "warn",
|
||||||
"@typescript-eslint/no-unsafe-argument": "warn",
|
// "@typescript-eslint/no-unsafe-argument": "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": "warn",
|
"@typescript-eslint/no-unused-vars": "warn",
|
||||||
@@ -171,7 +171,7 @@ module.exports = {
|
|||||||
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
|
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
|
||||||
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
|
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
|
||||||
"@typescript-eslint/no-explicit-any": "off",
|
"@typescript-eslint/no-explicit-any": "off",
|
||||||
"@typescript-eslint/no-unsafe-argument": "warn",
|
// "@typescript-eslint/no-unsafe-argument": "warn",
|
||||||
// "@typescript-eslint/indent": ["error", 4,],
|
// "@typescript-eslint/indent": ["error", 4,],
|
||||||
"@stylistic/indent": ["warn", 4,],
|
"@stylistic/indent": ["warn", 4,],
|
||||||
"@typescript-eslint/no-extra-semi": "off",
|
"@typescript-eslint/no-extra-semi": "off",
|
||||||
|
|||||||
18
code/web/regulatory-management-util/7788.md
Normal file
18
code/web/regulatory-management-util/7788.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
## vue3 引入@路径
|
||||||
|
path模块问题
|
||||||
|
要安装@type/node:npm install @types/node --save-dev
|
||||||
|
之后就可以加载path
|
||||||
|
import path from "path";
|
||||||
|
resolve: {
|
||||||
|
//配置别名
|
||||||
|
alias: [
|
||||||
|
{
|
||||||
|
find: /^~/,
|
||||||
|
replacement: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
find: "@",
|
||||||
|
replacement: path.resolve( __dirname, "src" ),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
738
code/web/regulatory-management-util/package-lock.json
generated
738
code/web/regulatory-management-util/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -9,20 +9,25 @@
|
|||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"scss": "^0.2.4",
|
||||||
"vue": "^3.5.22",
|
"vue": "^3.5.22",
|
||||||
"vue-router": "^4.5.1"
|
"vue-router": "^4.6.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@stylistic/eslint-plugin": "^5.4.0",
|
"@stylistic/eslint-plugin": "^5.5.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.46.0",
|
"@types/node": "^24.9.1",
|
||||||
"@typescript-eslint/parser": "^8.46.0",
|
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
||||||
|
"@typescript-eslint/parser": "^8.46.2",
|
||||||
"@vitejs/plugin-vue": "^6.0.1",
|
"@vitejs/plugin-vue": "^6.0.1",
|
||||||
"@vue/tsconfig": "^0.8.1",
|
"@vue/tsconfig": "^0.8.1",
|
||||||
"element-plus": "^2.11.4",
|
"element-plus": "^2.11.5",
|
||||||
"eslint": "^9.37.0",
|
"eslint": "^9.38.0",
|
||||||
"eslint-plugin-vue": "^10.5.0",
|
"eslint-plugin-vue": "^10.5.1",
|
||||||
|
"path": "^0.12.7",
|
||||||
|
"sass": "^1.93.2",
|
||||||
|
"sass-loader": "^16.0.5",
|
||||||
"typescript": "~5.9.3",
|
"typescript": "~5.9.3",
|
||||||
"vite": "^7.1.9",
|
"vite": "^7.1.12",
|
||||||
"vue-eslint-parser": "^10.2.0",
|
"vue-eslint-parser": "^10.2.0",
|
||||||
"vue-tsc": "^3.1.1"
|
"vue-tsc": "^3.1.1"
|
||||||
}
|
}
|
||||||
|
|||||||
17
code/web/regulatory-management-util/shims-vue.d.ts
vendored
Normal file
17
code/web/regulatory-management-util/shims-vue.d.ts
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
/*
|
||||||
|
* @Author: Kane
|
||||||
|
* @Date: 2023-03-04 17:23:02
|
||||||
|
* @LastEditors: Kane
|
||||||
|
* @FilePath: /task_schedule/shims-vue.d.ts
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
declare module "*.vue"
|
||||||
|
{
|
||||||
|
import { type ComponentOptions } from "vue";
|
||||||
|
const componentOptions: ComponentOptions;
|
||||||
|
// export default componentOptions;
|
||||||
|
}
|
||||||
|
|
||||||
|
// declare module "./src/router/index.js";
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
/*
|
||||||
|
* @Author: Kane
|
||||||
|
* @Date: 2023-03-03 09:56:05
|
||||||
|
* @LastEditors: Kane
|
||||||
|
* @FilePath: /task_schedule/src/assets/css/index.scss
|
||||||
|
* @Description: 全局css的入口文件
|
||||||
|
*
|
||||||
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
@import url("./public/reset.scss");
|
||||||
|
@import url("./public/normalize.scss");
|
||||||
|
@import url("./public/mixin.scss");
|
||||||
|
@import url("../font/fonts.css");
|
||||||
|
// @import url("./public/color.scss");
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
/*
|
||||||
|
* @Author: Kane
|
||||||
|
* @Date: 2023-02-24 09:36:08
|
||||||
|
* @LastEditors: Kane
|
||||||
|
* @LastEditTime: 2023-06-15 15:50:00
|
||||||
|
* @FilePath: /task_schedule/src/assets/css/public/_public.scss
|
||||||
|
* @Description: 公共变量
|
||||||
|
*
|
||||||
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
//背景色
|
||||||
|
$wrap-bg-color:#fff;
|
||||||
|
$span-font-color:#5f5f5f;
|
||||||
|
|
||||||
|
//阴影
|
||||||
|
$box-shadow:0px 0px 20px -10px rgb(14 18 22 / 25%);
|
||||||
|
$box-shadow-hover:0px 0px 20px -10px rgb(14 18 22 / 50%);
|
||||||
|
|
||||||
|
//文字大小
|
||||||
|
$font-size-normal:14px;
|
||||||
|
|
||||||
|
//查询框
|
||||||
|
@mixin query-box-wrap {
|
||||||
|
padding: 0px 10px;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-weight: normal;
|
||||||
|
display: block;
|
||||||
|
text-align: right;
|
||||||
|
font-size: $font-size-normal;
|
||||||
|
color: $span-font-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.el-row) {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-row+.el-row {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-wrapper-right {
|
||||||
|
display: flex;
|
||||||
|
justify-content: right;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-wrapper-left {
|
||||||
|
display: flex;
|
||||||
|
justify-content: left;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* @Author: Kane
|
||||||
|
* @Date: 2023-02-28 19:25:30
|
||||||
|
* @LastEditors: Kane
|
||||||
|
* @FilePath: /task_schedule/src/assets/css/public/global.scss
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
@mixin no-select {
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
/*火狐*/
|
||||||
|
-webkit-user-select: none;
|
||||||
|
/*webkit浏览器*/
|
||||||
|
-ms-user-select: none;
|
||||||
|
/*IE10*/
|
||||||
|
-khtml-user-select: none;
|
||||||
|
/*早期浏览器*/
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
389
code/web/regulatory-management-util/src/assets/css/public/normalize.scss
vendored
Normal file
389
code/web/regulatory-management-util/src/assets/css/public/normalize.scss
vendored
Normal file
@@ -0,0 +1,389 @@
|
|||||||
|
/*
|
||||||
|
* @Author: Kane
|
||||||
|
* @Date: 2023-03-03 10:17:59
|
||||||
|
* @LastEditors: Kane
|
||||||
|
* @FilePath: /task_schedule/src/assets/css/public/normalize.scss
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
||||||
|
|
||||||
|
/* Document
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the line height in all browsers.
|
||||||
|
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
||||||
|
*/
|
||||||
|
|
||||||
|
html {
|
||||||
|
line-height: 1.15;
|
||||||
|
/* 1 */
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
/* 2 */
|
||||||
|
text-size-adjust: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sections
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the margin in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render the `main` element consistently in IE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
main {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the font size and margin on `h1` elements within `section` and
|
||||||
|
* `article` contexts in Chrome, Firefox, and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
margin: 0.67em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Grouping content
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Add the correct box sizing in Firefox.
|
||||||
|
* 2. Show the overflow in Edge and IE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
hr {
|
||||||
|
box-sizing: content-box;
|
||||||
|
/* 1 */
|
||||||
|
height: 0;
|
||||||
|
/* 1 */
|
||||||
|
overflow: visible;
|
||||||
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||||
|
* 2. Correct the odd `em` font sizing in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre {
|
||||||
|
font-family: monospace, monospace;
|
||||||
|
/* 1 */
|
||||||
|
font-size: 1em;
|
||||||
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Text-level semantics
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the gray background on active links in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
a {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Remove the bottom border in Chrome 57-
|
||||||
|
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
abbr[title] {
|
||||||
|
border-bottom: none;
|
||||||
|
/* 1 */
|
||||||
|
text-decoration: underline;
|
||||||
|
/* 2 */
|
||||||
|
text-decoration: underline dotted;
|
||||||
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||||
|
* 2. Correct the odd `em` font sizing in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, monospace;
|
||||||
|
/* 1 */
|
||||||
|
font-size: 1em;
|
||||||
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct font size in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prevent `sub` and `sup` elements from affecting the line height in
|
||||||
|
* all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup {
|
||||||
|
font-size: 75%;
|
||||||
|
line-height: 0;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub {
|
||||||
|
bottom: -0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup {
|
||||||
|
top: -0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Embedded content
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the border on images inside links in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
img {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Forms
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Change the font styles in all browsers.
|
||||||
|
* 2. Remove the margin in Firefox and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
optgroup,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-family: inherit;
|
||||||
|
/* 1 */
|
||||||
|
font-size: 100%;
|
||||||
|
/* 1 */
|
||||||
|
line-height: 1.15;
|
||||||
|
/* 1 */
|
||||||
|
margin: 0;
|
||||||
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the overflow in IE.
|
||||||
|
* 1. Show the overflow in Edge.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input {
|
||||||
|
/* 1 */
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
||||||
|
* 1. Remove the inheritance of text transform in Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
select {
|
||||||
|
/* 1 */
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the inability to style clickable types in iOS and Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
[type="button"],
|
||||||
|
[type="reset"],
|
||||||
|
[type="submit"] {
|
||||||
|
-webkit-appearance: button;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the inner border and padding in Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button::-moz-focus-inner,
|
||||||
|
[type="button"]::-moz-focus-inner,
|
||||||
|
[type="reset"]::-moz-focus-inner,
|
||||||
|
[type="submit"]::-moz-focus-inner {
|
||||||
|
border-style: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restore the focus styles unset by the previous rule.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button:-moz-focusring,
|
||||||
|
[type="button"]:-moz-focusring,
|
||||||
|
[type="reset"]:-moz-focusring,
|
||||||
|
[type="submit"]:-moz-focusring {
|
||||||
|
outline: 1px dotted ButtonText;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the padding in Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
fieldset {
|
||||||
|
padding: 0.35em 0.75em 0.625em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the text wrapping in Edge and IE.
|
||||||
|
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
||||||
|
* 3. Remove the padding so developers are not caught out when they zero out
|
||||||
|
* `fieldset` elements in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
legend {
|
||||||
|
box-sizing: border-box;
|
||||||
|
/* 1 */
|
||||||
|
color: inherit;
|
||||||
|
/* 2 */
|
||||||
|
display: table;
|
||||||
|
/* 1 */
|
||||||
|
max-width: 100%;
|
||||||
|
/* 1 */
|
||||||
|
padding: 0;
|
||||||
|
/* 3 */
|
||||||
|
white-space: normal;
|
||||||
|
/* 1 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
||||||
|
*/
|
||||||
|
|
||||||
|
progress {
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the default vertical scrollbar in IE 10+.
|
||||||
|
*/
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Add the correct box sizing in IE 10.
|
||||||
|
* 2. Remove the padding in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="checkbox"],
|
||||||
|
[type="radio"] {
|
||||||
|
box-sizing: border-box;
|
||||||
|
/* 1 */
|
||||||
|
padding: 0;
|
||||||
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Correct the cursor style of increment and decrement buttons in Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="number"]::-webkit-inner-spin-button,
|
||||||
|
[type="number"]::-webkit-outer-spin-button {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the odd appearance in Chrome and Safari.
|
||||||
|
* 2. Correct the outline style in Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="search"] {
|
||||||
|
-webkit-appearance: textfield;
|
||||||
|
/* 1 */
|
||||||
|
outline-offset: -2px;
|
||||||
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the inner padding in Chrome and Safari on macOS.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[type="search"]::-webkit-search-decoration {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1. Correct the inability to style clickable types in iOS and Safari.
|
||||||
|
* 2. Change font properties to `inherit` in Safari.
|
||||||
|
*/
|
||||||
|
|
||||||
|
::-webkit-file-upload-button {
|
||||||
|
-webkit-appearance: button;
|
||||||
|
/* 1 */
|
||||||
|
font: inherit;
|
||||||
|
/* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Interactive
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add the correct display in Edge, IE 10+, and Firefox.
|
||||||
|
*/
|
||||||
|
|
||||||
|
details {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add the correct display in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
summary {
|
||||||
|
display: list-item;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Misc
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct display in IE 10+.
|
||||||
|
*/
|
||||||
|
|
||||||
|
template {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add the correct display in IE 10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[hidden] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
/* http://meyerweb.com/eric/tools/css/reset/
|
||||||
|
v2.0 | 20110126
|
||||||
|
License: none (public domain)
|
||||||
|
*/
|
||||||
|
|
||||||
|
html, body, div, span, applet, object, iframe,
|
||||||
|
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||||
|
a, abbr, acronym, address, big, cite, code,
|
||||||
|
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||||
|
small, strike, strong, sub, sup, tt, var,
|
||||||
|
b, u, i, center,
|
||||||
|
dl, dt, dd, ol, ul, li,
|
||||||
|
fieldset, form, label, legend,
|
||||||
|
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||||
|
article, aside, canvas, details, embed,
|
||||||
|
figure, figcaption, footer, header, hgroup,
|
||||||
|
menu, nav, output, ruby, section, summary,
|
||||||
|
time, mark, audio, video {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
font-size: 100%;
|
||||||
|
font: inherit;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
/* HTML5 display-role reset for older browsers */
|
||||||
|
article, aside, details, figcaption, figure,
|
||||||
|
footer, header, hgroup, menu, nav, section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
ol, ul {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
blockquote, q {
|
||||||
|
quotes: none;
|
||||||
|
}
|
||||||
|
blockquote:before, blockquote:after,
|
||||||
|
q:before, q:after {
|
||||||
|
content: '';
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* @Author: Kane
|
||||||
|
* @Date: 2023-02-28 19:25:30
|
||||||
|
* @LastEditors: Kane
|
||||||
|
* @FilePath: /task_schedule/src/assets/css/public/variables.scss
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// color
|
||||||
|
/*
|
||||||
|
$color-bg-01: #fecb96;
|
||||||
|
$color-bg-02: #f7954e;
|
||||||
|
$color-bg-03: #f27620;
|
||||||
|
$color-bg-04: #da3703;
|
||||||
|
$color-bg-05: #ba1800;
|
||||||
|
*/
|
||||||
|
|
||||||
|
$color-bg-01: #00b2f8;
|
||||||
|
$color-bg-02: #00b0fb;
|
||||||
|
$color-bg-03: #0279ea;
|
||||||
|
$color-bg-04: #046ed6;
|
||||||
|
$color-bg-05: #033eb6;
|
||||||
|
|
||||||
|
$color-title-font: #046ed6;
|
||||||
|
|
||||||
|
$color-charts-bg: #ffffff9f;
|
||||||
|
$color-honorlist-bg: rgba(255, 255, 255, 0.3);
|
||||||
|
|
||||||
|
$banner-background-color: #1d74b2;
|
||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,11 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: "FZ-ZHUOHEI";
|
||||||
|
src: url("FZZhuoHJW.TTF");
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "FZ-RGAQSAY";
|
||||||
|
src: url("FZSJ-RUGAQSAY.TTF");
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: Kane
|
||||||
|
* @Date: 2023-03-23 15:07:31
|
||||||
|
* @LastEditors: Kane
|
||||||
|
* @FilePath: /task_schedule/src/layout/Index.vue
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-container class="layout-container">
|
||||||
|
<el-header class="layout-header">
|
||||||
|
<LayoutHeader />
|
||||||
|
</el-header>
|
||||||
|
<el-container class="layout-container-down">
|
||||||
|
<el-aside class="layout-aside">
|
||||||
|
<LayoutAside />
|
||||||
|
</el-aside>
|
||||||
|
<el-main class="layout-main">
|
||||||
|
<LayoutMain />
|
||||||
|
</el-main>
|
||||||
|
</el-container>
|
||||||
|
</el-container>
|
||||||
|
</template>
|
||||||
|
<script lang="ts">
|
||||||
|
// 组件
|
||||||
|
import LayoutHeader from "./components/Header.vue";
|
||||||
|
import LayoutAside from "./components/Aside.vue";
|
||||||
|
import LayoutMain from "./components/Main.vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "MainFrame",
|
||||||
|
components: {
|
||||||
|
LayoutHeader,
|
||||||
|
LayoutAside,
|
||||||
|
LayoutMain,
|
||||||
|
},
|
||||||
|
setup()
|
||||||
|
{
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@media screen {
|
||||||
|
.layout-container {
|
||||||
|
height: 100vh;
|
||||||
|
width: 100vw;
|
||||||
|
max-height: 100vh;
|
||||||
|
max-width: 100vw;
|
||||||
|
|
||||||
|
.layout-header {
|
||||||
|
height: 50px;
|
||||||
|
width: 100vw;
|
||||||
|
max-height: 50px;
|
||||||
|
max-width: 100vw;
|
||||||
|
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layout-container-down {
|
||||||
|
height: calc(100vh - 50px);
|
||||||
|
max-height: calc(100vh - 50px);
|
||||||
|
width: 100vw;
|
||||||
|
max-width: 100vw;
|
||||||
|
|
||||||
|
.layout-aside {
|
||||||
|
height: calc(100vh - 50px);
|
||||||
|
max-height: calc(100vh - 50px);
|
||||||
|
min-height: calc(100vh - 50px);
|
||||||
|
width: 200px;
|
||||||
|
|
||||||
|
overflow-x: hidden;
|
||||||
|
|
||||||
|
background-color: #2f4156;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layout-main {
|
||||||
|
padding: 0px;
|
||||||
|
height: calc(100vh - 50px);
|
||||||
|
width: calc(100vw - 200px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,158 @@
|
|||||||
|
<!--
|
||||||
|
author: Kane Wang <wangkane@qq.com>
|
||||||
|
date: 2025-10-23 15:32:30
|
||||||
|
component: Aside
|
||||||
|
Copyright © CPIC All rights reserved
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-scrollbar class="sidebar-wrapper">
|
||||||
|
<el-menu
|
||||||
|
class="side-bar"
|
||||||
|
router
|
||||||
|
:default-active="currentPath"
|
||||||
|
background-color="#2f4156"
|
||||||
|
text-color="#fff"
|
||||||
|
active-text-color="#ffd04b"
|
||||||
|
>
|
||||||
|
<template v-for="route in routes">
|
||||||
|
<template v-if="!route.hidden">
|
||||||
|
<template v-if="hasOnlyChild(route.children)">
|
||||||
|
<!-- 当只有一个子路由时,将这个子路由作为顶级菜单项 -->
|
||||||
|
<el-menu-item
|
||||||
|
:key="route.children[0].path"
|
||||||
|
:index="route.children[0].path"
|
||||||
|
class="sidebar-submenu"
|
||||||
|
>
|
||||||
|
<component
|
||||||
|
:is="route.children[0] && route.children[0].meta.icon"
|
||||||
|
class="icons"
|
||||||
|
/>
|
||||||
|
<template #title>
|
||||||
|
{{ route.children[0].meta && route.children[0].meta.title }}
|
||||||
|
</template>
|
||||||
|
</el-menu-item>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<!-- 不止一个子路由,可能是咩有子s路由,或者有多个子路由 -->
|
||||||
|
<!-- 如果没有子路由,就不渲染 -->
|
||||||
|
<el-sub-menu
|
||||||
|
v-if="route.children && route.children.length"
|
||||||
|
:key="route.path"
|
||||||
|
:index="route.path"
|
||||||
|
class="sidebar-submenu"
|
||||||
|
>
|
||||||
|
<template #title>
|
||||||
|
<component
|
||||||
|
:is="route.meta && route.meta.icon"
|
||||||
|
class="icons"
|
||||||
|
/>
|
||||||
|
<span>{{ route.meta && route.meta.title }}</span>
|
||||||
|
</template>
|
||||||
|
<template v-for="child in route.children">
|
||||||
|
<el-menu-item
|
||||||
|
v-if="!child.hidden"
|
||||||
|
:key="child.path"
|
||||||
|
:index="child.path"
|
||||||
|
class="sidebar-item"
|
||||||
|
>
|
||||||
|
<component
|
||||||
|
:is="child.meta && child.meta.icon"
|
||||||
|
class="icons"
|
||||||
|
/>
|
||||||
|
<template #title>
|
||||||
|
{{ child.meta && child.meta.title }}
|
||||||
|
</template>
|
||||||
|
</el-menu-item>
|
||||||
|
</template>
|
||||||
|
</el-sub-menu>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</el-menu>
|
||||||
|
</el-scrollbar>
|
||||||
|
</template>
|
||||||
|
<script lang="js">
|
||||||
|
// @ts-expect-error 之后再补充类型文件
|
||||||
|
import { hasOnlyChild } from "../../../router/index.ts";
|
||||||
|
import { useRoute, useRouter } from "vue-router";
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "LayoutAside",
|
||||||
|
setup()
|
||||||
|
{
|
||||||
|
const userRout = useRoute();
|
||||||
|
const router = useRouter();
|
||||||
|
const routes = router.getRoutes();// as SideBarRouteRecordNormalized[];
|
||||||
|
|
||||||
|
const currentPath = computed(() =>
|
||||||
|
{
|
||||||
|
return userRout.path;
|
||||||
|
});
|
||||||
|
|
||||||
|
return { userRout, routes, currentPath, hasOnlyChild, };
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import "@/assets/css/public/variables.scss";
|
||||||
|
@import "@/assets/css/public/mixin.scss";
|
||||||
|
|
||||||
|
.sidebar-wrapper {
|
||||||
|
@include no-select;
|
||||||
|
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
/*火狐*/
|
||||||
|
-webkit-user-select: none;
|
||||||
|
/*webkit浏览器*/
|
||||||
|
-ms-user-select: none;
|
||||||
|
/*IE10*/
|
||||||
|
-khtml-user-select: none;
|
||||||
|
/*早期浏览器*/
|
||||||
|
user-select: none;
|
||||||
|
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.el-menu) {
|
||||||
|
border-right: none;
|
||||||
|
/* border-left: 5px solid #1d74b2; */
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
|
.el-menu-item {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-sub-menu {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-menu-item.is-active {
|
||||||
|
// background-color: #ffffff1f !important;
|
||||||
|
font-weight: 1000;
|
||||||
|
font-size: 15px;
|
||||||
|
color: #ffd04b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-submenu {
|
||||||
|
background-color: #2f4156 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-item {
|
||||||
|
background-color: #223142 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .is-opened {
|
||||||
|
border-left: 5px solid #1d74b2;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.icons {
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
<!--
|
||||||
|
author: Kane Wang <wangkane@qq.com>
|
||||||
|
date: 2025-10-23 15:32:30
|
||||||
|
component: Header
|
||||||
|
Copyright © CPIC All rights reserved
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="header-wrapper">
|
||||||
|
<span class="company-name">CPIC</span>
|
||||||
|
<div class="version-wrapper">
|
||||||
|
<span>制度库后台管理</span>
|
||||||
|
<span>Build-20251021</span>
|
||||||
|
</div>
|
||||||
|
<div class="buttons-wrapper">
|
||||||
|
<component
|
||||||
|
:is="'SwitchButton'"
|
||||||
|
class="icons"
|
||||||
|
@click="Logout"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import { ElMessageBox } from "element-plus";
|
||||||
|
// import { logout } from "@/utils/account.js";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "LayoutHeader",
|
||||||
|
setup()
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 退出登录
|
||||||
|
*/
|
||||||
|
const Logout = (): void =>
|
||||||
|
{
|
||||||
|
ElMessageBox.confirm(
|
||||||
|
"是否要退出系统?",
|
||||||
|
"",
|
||||||
|
{
|
||||||
|
confirmButtonText: "是",
|
||||||
|
cancelButtonText: "否",
|
||||||
|
type: "warning",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.then((): void =>
|
||||||
|
{
|
||||||
|
// debugger;
|
||||||
|
console.log( "退出" );
|
||||||
|
// logout();
|
||||||
|
})
|
||||||
|
.catch((): void => {});
|
||||||
|
};
|
||||||
|
|
||||||
|
return { Logout, };
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.header-wrapper {
|
||||||
|
// @include no-select;
|
||||||
|
|
||||||
|
height: 50px;
|
||||||
|
max-height: 50px;
|
||||||
|
|
||||||
|
padding: 0px 15px;
|
||||||
|
|
||||||
|
// position: relative;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
justify-content: start;
|
||||||
|
align-items: center;
|
||||||
|
background-color: #1d74b2;
|
||||||
|
color: #fff;
|
||||||
|
// background-color: $banner-background-color;
|
||||||
|
|
||||||
|
span {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
>*+* {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.version-wrapper {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: start;
|
||||||
|
|
||||||
|
font: {
|
||||||
|
size: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
>*+* {
|
||||||
|
margin-top: 1px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-name {
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buttons-wrapper {
|
||||||
|
margin-left: auto;
|
||||||
|
padding-top: 5px;
|
||||||
|
// border: 1px solid salmon;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icons {
|
||||||
|
width: 25px;
|
||||||
|
height: 25px;
|
||||||
|
// margin-right: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: Kane
|
||||||
|
* @Date: 2023-03-23 15:44:52
|
||||||
|
* @LastEditors: Kane
|
||||||
|
* @FilePath: /task_schedule/src/layout/components/Main.vue
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
* @Author: Kane
|
||||||
|
* @Date: 2023-01-04 11:40:03
|
||||||
|
* @LastEditors: Kane
|
||||||
|
* @LastEditTime: 2023-09-27 11:19:05
|
||||||
|
* @FilePath: /it-console/src/layout/components/Main.vue
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-scrollbar>
|
||||||
|
<router-view />
|
||||||
|
</el-scrollbar>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
export default {
|
||||||
|
name: "LayoutMain",
|
||||||
|
setup()
|
||||||
|
{
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.el-scrollbar {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
/* background-color: #ecf2f9; */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,6 +1,12 @@
|
|||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
import { createApp, VueElement } from "vue";
|
import { createApp, VueElement } from "vue";
|
||||||
import "./style.css";
|
import "./assets/css/index.scss";
|
||||||
|
import "./style.scss";
|
||||||
|
|
||||||
|
// 路由
|
||||||
|
// import { router, hasOnlyChild } from "./router/RouteIndex";
|
||||||
|
import { router } from "./router/index.ts";
|
||||||
|
|
||||||
// import App from "./App.vue";
|
// import App from "./App.vue";
|
||||||
import AppMain from "./AppMain.vue";
|
import AppMain from "./AppMain.vue";
|
||||||
|
|
||||||
@@ -11,6 +17,7 @@ import "element-plus/dist/index.css";
|
|||||||
const app = createApp( AppMain );
|
const app = createApp( AppMain );
|
||||||
|
|
||||||
app.use( ElementPlus );
|
app.use( ElementPlus );
|
||||||
|
app.use( router );
|
||||||
app.mount( "#app" );
|
app.mount( "#app" );
|
||||||
|
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
|
|||||||
@@ -2,17 +2,56 @@
|
|||||||
* @Author: Kane Wang <wangkane@qq.com>
|
* @Author: Kane Wang <wangkane@qq.com>
|
||||||
* @Date: 2025-10-13 15:31:41
|
* @Date: 2025-10-13 15:31:41
|
||||||
* @LastEditors: Kane Wang
|
* @LastEditors: Kane Wang
|
||||||
* @LastModified: 2025-10-13 15:37:20
|
* @LastModified: 2025-10-23 17:47:28
|
||||||
* @FilePath: src/router/index.ts
|
* @FilePath: src/router/index.ts
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
* Copyright (c) 2025 by Kane All rights reserved
|
* Copyright (c) 2025 by Kane All rights reserved
|
||||||
*/
|
*/
|
||||||
import { createRouter, createWebHashHistory } from "vue-router";
|
import { createRouter, createWebHashHistory } from "vue-router";
|
||||||
|
import { type RouteRecordNormalized } from "vue-router";
|
||||||
|
// import index from "../layout/console/index.vue";
|
||||||
|
|
||||||
|
export declare interface SideBarRouteRecordNormalized extends RouteRecordNormalized
|
||||||
|
{
|
||||||
|
hidden?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
const routes = [
|
||||||
|
{
|
||||||
|
path: "/console",
|
||||||
|
name: "Console",
|
||||||
|
hidden: true,
|
||||||
|
// component: index,
|
||||||
|
component: () => import( "../layout/console/Index.vue" ),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
history: createWebHashHistory(),
|
history: createWebHashHistory(),
|
||||||
routes:[],
|
routes: routes,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default router;
|
// 工具函数
|
||||||
|
/* eslint-disable */
|
||||||
|
function hasOnlyChild( children: any ): boolean
|
||||||
|
{
|
||||||
|
if ( !children )
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const routes = children.filter(( item: any )=>
|
||||||
|
{
|
||||||
|
return !item.hidden;
|
||||||
|
});
|
||||||
|
|
||||||
|
if ( routes.length === 1 )
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
export { router, hasOnlyChild };
|
||||||
21
code/web/regulatory-management-util/src/style.scss
Normal file
21
code/web/regulatory-management-util/src/style.scss
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
body
|
||||||
|
{
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
// @include no-select
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
/*火狐*/
|
||||||
|
-webkit-user-select: none;
|
||||||
|
/*webkit浏览器*/
|
||||||
|
-ms-user-select: none;
|
||||||
|
/*IE10*/
|
||||||
|
-khtml-user-select: none;
|
||||||
|
/*早期浏览器*/
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
10
code/web/regulatory-management-util/src/utils/utils.ts
Normal file
10
code/web/regulatory-management-util/src/utils/utils.ts
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
/**
|
||||||
|
* @Author: Kane Wang <wangkane@qq.com>
|
||||||
|
* @Date: 2025-10-23 16:52:10
|
||||||
|
* @LastEditors: Kane Wang
|
||||||
|
* @LastModified: 2025-10-23 17:04:54
|
||||||
|
* @FilePath: src/utils/utils.ts
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2025 by Kane All rights reserved
|
||||||
|
*/
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<!--
|
||||||
|
author: Kane Wang <wangkane@qq.com>
|
||||||
|
date: 2025-10-23 21:40:24
|
||||||
|
component: RegulatoryManagement
|
||||||
|
Copyright © CPIC All rights reserved
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="wrapper">
|
||||||
|
111
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts">
|
||||||
|
export default {
|
||||||
|
name: "RegulatoryManagement",
|
||||||
|
setup()
|
||||||
|
{
|
||||||
|
const ui = {};
|
||||||
|
|
||||||
|
return { ui, };
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import "@/assets/css/index.scss";
|
||||||
|
|
||||||
|
.wrapper {
|
||||||
|
@include no-select;
|
||||||
|
|
||||||
|
margin: 5px;
|
||||||
|
border: 1px solid red;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1 +1,8 @@
|
|||||||
// / <reference types="vite/client" />
|
// / <reference types="vite/client" />
|
||||||
|
|
||||||
|
declare module "*.vue"
|
||||||
|
{
|
||||||
|
import type { DefineComponent } from "vue";
|
||||||
|
const vueComponent: DefineComponent<unknown, unknown, any>;
|
||||||
|
export default vueComponent;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,16 +1,9 @@
|
|||||||
// {
|
|
||||||
// "files": [],
|
|
||||||
// "references": [
|
|
||||||
// {
|
|
||||||
// "path": "./tsconfig.node.json"
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// "path": "./tsconfig.app.json"
|
|
||||||
// }
|
|
||||||
// ],
|
|
||||||
// }
|
|
||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
// "allowJs": true,
|
||||||
|
// "declaration": true,
|
||||||
|
"noEmit": true,
|
||||||
|
"allowImportingTsExtensions": true,
|
||||||
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
|
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
|
||||||
"forceConsistentCasingInFileNames": true,
|
"forceConsistentCasingInFileNames": true,
|
||||||
"useDefineForClassFields": true,
|
"useDefineForClassFields": true,
|
||||||
@@ -45,7 +38,7 @@
|
|||||||
"src/**/*.tsx",
|
"src/**/*.tsx",
|
||||||
"src/**/*.vue",
|
"src/**/*.vue",
|
||||||
"*.d.ts",
|
"*.d.ts",
|
||||||
"src/router/index.d.ts",
|
".vscode/bak/RouteIndex.d.ts",
|
||||||
"vite.config.*",
|
"vite.config.*",
|
||||||
"vitest.config.*",
|
"vitest.config.*",
|
||||||
"cypress.config.*",
|
"cypress.config.*",
|
||||||
|
|||||||
@@ -19,7 +19,8 @@
|
|||||||
"noUnusedParameters": true,
|
"noUnusedParameters": true,
|
||||||
"erasableSyntaxOnly": true,
|
"erasableSyntaxOnly": true,
|
||||||
"noFallthroughCasesInSwitch": true,
|
"noFallthroughCasesInSwitch": true,
|
||||||
"noUncheckedSideEffectImports": true
|
"noUncheckedSideEffectImports": true,
|
||||||
|
"declaration":true,
|
||||||
},
|
},
|
||||||
"include": ["vite.config.ts"]
|
"include": ["vite.config.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,30 @@
|
|||||||
import { defineConfig } from 'vite'
|
import { defineConfig } from "vite";
|
||||||
import vue from '@vitejs/plugin-vue'
|
import vue from "@vitejs/plugin-vue";
|
||||||
|
import path from "path";
|
||||||
|
|
||||||
|
/* eslint-disable */
|
||||||
// https://vite.dev/config/
|
// https://vite.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [vue()],
|
plugins: [vue(),],
|
||||||
})
|
resolve: {
|
||||||
|
//配置别名
|
||||||
|
alias: [
|
||||||
|
{
|
||||||
|
find: /^~/,
|
||||||
|
replacement: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
find: "@",
|
||||||
|
replacement: path.resolve( __dirname, "src" ),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
css: {
|
||||||
|
preprocessorOptions: {
|
||||||
|
scss: {
|
||||||
|
// additionalData: '@import "./src/assets/css/public/variables.scss";@import "./src/assets/css/public/mixin.scss";',
|
||||||
|
// additionalData: '@import "@/assets/css/public/variables.scss";',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user