From 4f9ddc6c26b5c28b2977a7e2e79c016dd31ed095 Mon Sep 17 00:00:00 2001
From: lyt <1105290566@qq.com>
Date: Fri, 10 Sep 2021 23:24:58 +0800
Subject: [PATCH] =?UTF-8?q?'admin-21.09.10:=E6=96=B0=E5=A2=9E=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD=EF=BC=8C=E5=85=B7=E4=BD=93=E6=9F=A5=E7=9C=8BCHANGELOG?=
=?UTF-8?q?.md'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
CHANGELOG.md | 13 +
README.md | 1 +
package.json | 28 +-
src/components/cropper/index.vue | 10 +-
src/components/dragVerify/dragVerify.vue | 296 +++++++++++
src/components/dragVerify/dragVerifyImg.vue | 453 +++++++++++++++++
.../dragVerify/dragVerifyImgChip.vue | 473 ++++++++++++++++++
.../dragVerify/dragVerifyImgRotate.vue | 434 ++++++++++++++++
src/i18n/lang/en.ts | 4 +
src/i18n/lang/zh-cn.ts | 4 +
src/i18n/lang/zh-tw.ts | 4 +
src/layout/component/columnsAside.vue | 4 +-
src/layout/footer/index.vue | 2 +-
src/layout/lockScreen/index.vue | 22 +-
src/layout/navBars/breadcrumb/setings.vue | 15 +
src/layout/navBars/tagsView/tagsView.vue | 10 +-
src/router/route.ts | 45 ++
src/store/interface/index.ts | 1 +
src/store/modules/themeConfig.ts | 3 +-
src/theme/app.scss | 4 +-
src/theme/common/var.scss | 2 -
src/theme/dark.scss | 48 ++
src/theme/element.scss | 6 +-
src/theme/iconSelector.scss | 6 +-
src/theme/index.scss | 1 +
src/theme/media/login.scss | 11 +
src/views/chart/chart.scss | 20 +-
src/views/error/401.vue | 8 +-
src/views/error/404.vue | 8 +-
src/views/fun/countup/index.vue | 4 +-
src/views/fun/dragVerify/index.vue | 107 ++++
src/views/fun/gridLayout/index.vue | 2 +-
src/views/home/index.vue | 24 +-
src/views/login/index.vue | 33 +-
src/views/pages/dynamicForm/index.vue | 159 ++++++
src/views/pages/dynamicForm/mock.ts | 119 +++++
src/views/pages/waterfall/index.vue | 4 +-
src/views/pages/waves/index.vue | 2 +-
src/views/pages/workflow/index.vue | 143 ++++++
src/views/pages/workflow/mock.ts | 60 +++
src/views/personal/index.vue | 16 +-
src/views/visualizing/demo1.vue | 10 +-
vite.config.ts | 1 +
43 files changed, 2509 insertions(+), 111 deletions(-)
create mode 100644 src/components/dragVerify/dragVerify.vue
create mode 100644 src/components/dragVerify/dragVerifyImg.vue
create mode 100644 src/components/dragVerify/dragVerifyImgChip.vue
create mode 100644 src/components/dragVerify/dragVerifyImgRotate.vue
create mode 100644 src/theme/dark.scss
create mode 100644 src/views/fun/dragVerify/index.vue
create mode 100644 src/views/pages/dynamicForm/index.vue
create mode 100644 src/views/pages/dynamicForm/mock.ts
create mode 100644 src/views/pages/workflow/index.vue
create mode 100644 src/views/pages/workflow/mock.ts
diff --git a/CHANGELOG.md b/CHANGELOG.md
index af40e224..789c9b1e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,19 @@
🎉🎉🔥 `vue-next-admin` 基于 vue3.x 、Typescript、vite、Element plus 等,适配手机、平板、pc 的后台开源免费模板库(vue2.x 请切换 vue-prev-admin 分支)
+## 1.1.0
+
+`2021.09.10`
+
+- 🌟 更新 依赖更新最新版本
+- 🎯 优化 小屏模式下登录页二维码遮挡标题问题
+- 🎉 新增 图片验证器
+- 🎉 新增 动态复杂表单
+- 🎉 新增 工作流(未完成)
+- 🎉 新增 深色主题(伪深色,样式变动大,谨慎更新)
+
+`2021.08.29`
+
## 1.0.18
`2021.08.29`
diff --git a/README.md b/README.md
index b34ec221..489c6cb3 100644
--- a/README.md
+++ b/README.md
@@ -110,6 +110,7 @@ cnpm run build
- vue-web-screen-shot
- vue-grid-layout
- splitpanes
+- vue-drag-verify
#### 💕 特别感谢
diff --git a/package.json b/package.json
index 5c2dad72..ce9c9573 100644
--- a/package.json
+++ b/package.json
@@ -1,19 +1,19 @@
{
"name": "vue-next-admin",
- "version": "1.0.18",
+ "version": "1.1.0",
"scripts": {
"dev": "vite",
"build": "vite build",
"lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/"
},
"dependencies": {
- "axios": "^0.21.1",
+ "axios": "^0.21.4",
"countup.js": "^2.0.8",
"cropperjs": "^1.5.12",
- "echarts": "^5.1.2",
+ "echarts": "^5.2.0",
"echarts-gl": "^2.0.8",
"echarts-wordcloud": "^2.0.0",
- "element-plus": "^1.1.0-beta.7",
+ "element-plus": "^1.1.0-beta.9",
"mitt": "^3.0.0",
"nprogress": "^0.2.0",
"print-js": "^1.6.0",
@@ -28,27 +28,27 @@
"vue-router": "^4.0.11",
"vue-web-screen-shot": "^1.2.0",
"vuex": "^4.0.2",
- "wangeditor": "^4.7.7"
+ "wangeditor": "^4.7.8"
},
"devDependencies": {
"@types/axios": "^0.14.0",
"@types/clipboard": "^2.0.1",
- "@types/node": "^16.7.5",
+ "@types/node": "^16.9.1",
"@types/nprogress": "^0.2.0",
"@types/sortablejs": "^1.10.7",
- "@typescript-eslint/eslint-plugin": "^4.29.3",
- "@typescript-eslint/parser": "^4.29.3",
- "@vitejs/plugin-vue": "^1.6.0",
- "@vue/compiler-sfc": "^3.2.6",
+ "@typescript-eslint/eslint-plugin": "^4.31.0",
+ "@typescript-eslint/parser": "^4.31.0",
+ "@vitejs/plugin-vue": "^1.6.2",
+ "@vue/compiler-sfc": "^3.2.11",
"dotenv": "^10.0.0",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^7.17.0",
- "prettier": "^2.3.2",
- "sass": "^1.38.2",
+ "prettier": "^2.4.0",
+ "sass": "^1.39.2",
"sass-loader": "^12.1.0",
"typescript": "^4.4.2",
- "vite": "^2.5.1",
- "vue-eslint-parser": "^7.10.0"
+ "vite": "^2.5.6",
+ "vue-eslint-parser": "^7.11.0"
},
"browserslist": [
"> 1%",
diff --git a/src/components/cropper/index.vue b/src/components/cropper/index.vue
index 082db12f..176931d9 100644
--- a/src/components/cropper/index.vue
+++ b/src/components/cropper/index.vue
@@ -98,12 +98,12 @@ export default {
display: inline-block;
height: 350px;
flex: 1;
- border: 1px solid #ebeef5;
- background: #fff;
+ border: var(--el-border-base);
+ background: var(--color-whites);
overflow: hidden;
background-repeat: no-repeat;
cursor: move;
- border-radius: 3px;
+ border-radius: var(--el-border-radius-base);
.cropper-warp-left-img {
width: 100%;
height: 100%;
@@ -124,7 +124,7 @@ export default {
.cropper-warp-right-value-img {
width: 100px;
height: 100px;
- border-radius: 100%;
+ border-radius: var(--el-border-radius-circle);
margin: auto;
}
.cropper-size {
@@ -135,7 +135,7 @@ export default {
.cropper-warp-right-label {
text-align: center;
font-size: 12px;
- color: #666666;
+ color: var(--el-text-color-primary);
height: 30px;
line-height: 30px;
}
diff --git a/src/components/dragVerify/dragVerify.vue b/src/components/dragVerify/dragVerify.vue
new file mode 100644
index 00000000..ec474075
--- /dev/null
+++ b/src/components/dragVerify/dragVerify.vue
@@ -0,0 +1,296 @@
+
+
+
+
+
+ {{ message }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/dragVerify/dragVerifyImg.vue b/src/components/dragVerify/dragVerifyImg.vue
new file mode 100644
index 00000000..8bc1f3dc
--- /dev/null
+++ b/src/components/dragVerify/dragVerifyImg.vue
@@ -0,0 +1,453 @@
+
+
+
+
+
+
+
+
+
+
{{ successTip }}
+
{{ failTip }}
+
+
+
+ {{ successMessage }}
+
+
+ {{ message }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/dragVerify/dragVerifyImgChip.vue b/src/components/dragVerify/dragVerifyImgChip.vue
new file mode 100644
index 00000000..d34fead8
--- /dev/null
+++ b/src/components/dragVerify/dragVerifyImgChip.vue
@@ -0,0 +1,473 @@
+
+
+
+
+
+
+
+
+
+
{{ successTip }}
+
{{ failTip }}
+
+
+
+ {{ successMessage }}
+
+
+ {{ message }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/dragVerify/dragVerifyImgRotate.vue b/src/components/dragVerify/dragVerifyImgRotate.vue
new file mode 100644
index 00000000..c3f70506
--- /dev/null
+++ b/src/components/dragVerify/dragVerifyImgRotate.vue
@@ -0,0 +1,434 @@
+
+
+
+
+
{{ successTip }}
+
{{ failTip }}
+
+
+
+ {{ successMessage }}
+
+
+ {{ message }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/i18n/lang/en.ts b/src/i18n/lang/en.ts
index 0b1f1b80..152de08f 100644
--- a/src/i18n/lang/en.ts
+++ b/src/i18n/lang/en.ts
@@ -34,6 +34,7 @@ export default {
funScreenShort: 'screenCapture',
funGridLayout: 'Drag layout',
funSplitpanes: 'Pane splitter',
+ funDragVerify: 'Validator',
pagesIndex: 'pages',
pagesFiltering: 'Filtering',
pagesFilteringDetails: 'FilteringDetails',
@@ -45,6 +46,8 @@ export default {
pagesFormAdapt: 'FormAdapt',
pagesFormI18n: 'FormI18n',
pagesFormRules: 'Multi form validation',
+ pagesDynamicForm: 'Dynamic complex form',
+ pagesWorkflow: 'Workflow',
pagesListAdapt: 'ListAdapt',
pagesWaterfall: 'Waterfall',
pagesSteps: 'Steps',
@@ -153,6 +156,7 @@ export default {
fourIsFooter: 'Open footer',
fourIsGrayscale: 'Grey model',
fourIsInvert: 'Color weak mode',
+ fourIsDark: 'Dark Mode',
fourIsWartermark: 'Turn on watermark',
fourWartermarkText: 'Watermark copy',
fiveTitle: 'Other settings',
diff --git a/src/i18n/lang/zh-cn.ts b/src/i18n/lang/zh-cn.ts
index c456f0a4..a3a79463 100644
--- a/src/i18n/lang/zh-cn.ts
+++ b/src/i18n/lang/zh-cn.ts
@@ -34,6 +34,7 @@ export default {
funScreenShort: 'web端自定义截屏',
funGridLayout: '拖拽布局',
funSplitpanes: '窗格拆分器',
+ funDragVerify: '验证器',
pagesIndex: '页面',
pagesFiltering: '过滤筛选组件',
pagesFilteringDetails: '过滤筛选组件详情',
@@ -45,6 +46,8 @@ export default {
pagesFormAdapt: '表单自适应',
pagesFormI18n: '表单国际化',
pagesFormRules: '多表单验证',
+ pagesDynamicForm: '动态复杂表单',
+ pagesWorkflow: '工作流',
pagesListAdapt: '列表自适应',
pagesWaterfall: '瀑布屏',
pagesSteps: '步骤条',
@@ -153,6 +156,7 @@ export default {
fourIsFooter: '开启 Footer',
fourIsGrayscale: '灰色模式',
fourIsInvert: '色弱模式',
+ fourIsDark: '深色模式',
fourIsWartermark: '开启水印',
fourWartermarkText: '水印文案',
fiveTitle: '其它设置',
diff --git a/src/i18n/lang/zh-tw.ts b/src/i18n/lang/zh-tw.ts
index 2a310715..1bd381dc 100644
--- a/src/i18n/lang/zh-tw.ts
+++ b/src/i18n/lang/zh-tw.ts
@@ -34,6 +34,7 @@ export default {
funScreenShort: '自定義截圖',
funGridLayout: '拖拽佈局',
funSplitpanes: '窗格折開器',
+ funDragVerify: '驗證器',
pagesIndex: '頁面',
pagesFiltering: '過濾篩選組件',
pagesFilteringDetails: '過濾篩選組件詳情',
@@ -45,6 +46,8 @@ export default {
pagesFormAdapt: '表單自我調整',
pagesFormI18n: '表單國際化',
pagesFormRules: '多表單驗證',
+ pagesDynamicForm: '動態複雜表單',
+ pagesWorkflow: '工作流',
pagesListAdapt: '清單自我調整',
pagesWaterfall: '瀑布屏',
pagesSteps: '步驟條',
@@ -153,6 +156,7 @@ export default {
fourIsFooter: '開啟 Footer',
fourIsGrayscale: '灰色模式',
fourIsInvert: '色弱模式',
+ fourIsDark: '深色模式',
fourIsWartermark: '開啟浮水印',
fourWartermarkText: '浮水印文案',
fiveTitle: '其它設定',
diff --git a/src/layout/component/columnsAside.vue b/src/layout/component/columnsAside.vue
index 750e55ff..ab99c825 100644
--- a/src/layout/component/columnsAside.vue
+++ b/src/layout/component/columnsAside.vue
@@ -202,12 +202,12 @@ export default {
}
}
.layout-columns-active {
- color: #ffffff;
+ color: var(--color-whites);
transition: 0.3s ease-in-out;
}
.columns-round {
background: var(--color-primary);
- color: #ffffff;
+ color: var(--color-whites);
position: absolute;
left: 50%;
top: 2px;
diff --git a/src/layout/footer/index.vue b/src/layout/footer/index.vue
index 9021dffc..cbe8feed 100644
--- a/src/layout/footer/index.vue
+++ b/src/layout/footer/index.vue
@@ -36,7 +36,7 @@ export default {
display: flex;
&-warp {
margin: auto;
- color: #9e9e9e;
+ color: var(--el-text-color-secondary);
text-align: center;
animation: logoAnimation 0.3s ease-in-out;
}
diff --git a/src/layout/lockScreen/index.vue b/src/layout/lockScreen/index.vue
index 3977508c..bdf856a1 100644
--- a/src/layout/lockScreen/index.vue
+++ b/src/layout/lockScreen/index.vue
@@ -203,7 +203,7 @@ export default defineComponent({
transition: all 0.1s 0.1s ease-in-out;
}
.layout-lock-screen-mask {
- background: rgba(255, 255, 255, 1);
+ background: var(--el-color-white);
@extend .layout-lock-screen-fixed;
z-index: 9999990;
}
@@ -222,7 +222,7 @@ export default defineComponent({
top: 0;
width: 100%;
height: 100%;
- color: #ffffff;
+ color: var(--el-color-white);
z-index: 9999993;
user-select: none;
&-box {
@@ -231,9 +231,11 @@ export default defineComponent({
bottom: 50px;
&-time {
font-size: 100px;
+ color: var(--color-whites);
}
&-info {
font-size: 40px;
+ color: var(--color-whites);
}
&-minutes {
font-size: 16px;
@@ -244,9 +246,9 @@ export default defineComponent({
height: 40px;
line-height: 40px;
border-radius: 100%;
- border: 1px solid rgba(255, 255, 255, 0.3);
+ border: 1px solid var(--el-border-color-light, #ebeef5);
background: rgba(255, 255, 255, 0.1);
- color: #ffffff;
+ color: var(--color-whites);
opacity: 0.8;
position: absolute;
right: 30px;
@@ -262,7 +264,7 @@ export default defineComponent({
position: absolute;
top: 150%;
font-size: 12px;
- color: #ffffff;
+ color: var(--color-whites);
left: 50%;
line-height: 1.2;
transform: translate(-50%, -50%);
@@ -273,7 +275,7 @@ export default defineComponent({
border: 1px solid rgba(255, 255, 255, 0.5);
background: rgba(255, 255, 255, 0.2);
box-shadow: 0 0 12px 0 rgba(255, 255, 255, 0.5);
- color: #ffffff;
+ color: var(--color-whites);
opacity: 1;
transition: all 0.3s ease;
i {
@@ -298,7 +300,7 @@ export default defineComponent({
display: flex;
flex-direction: column;
justify-content: center;
- color: #ffffff;
+ color: var(--color-whites);
&-box {
text-align: center;
margin: auto;
@@ -334,13 +336,13 @@ export default defineComponent({
}
}
::v-deep(.el-input-group__append) {
- background: #ffffff;
+ background: var(--el-color-white);
padding: 0px 15px;
}
::v-deep(.el-input__inner) {
- border-right-color: #f6f6f6;
+ border-right-color: var(--el-border-color-extra-light);
&:hover {
- border-color: #f6f6f6;
+ border-color: var(--el-border-color-extra-light);
}
}
diff --git a/src/layout/navBars/breadcrumb/setings.vue b/src/layout/navBars/breadcrumb/setings.vue
index 775d7668..7bf87bcb 100644
--- a/src/layout/navBars/breadcrumb/setings.vue
+++ b/src/layout/navBars/breadcrumb/setings.vue
@@ -231,6 +231,12 @@
+
+
{{ $t('message.layout.fourIsDark') }}
+
+
+
+
{{ $t('message.layout.fourIsWartermark') }}
@@ -503,6 +509,12 @@ export default defineComponent({
appEle.setAttribute('style', `filter: ${cssAttr}`);
setLocalThemeConfig();
};
+ // 4、界面显示 --> 深色模式
+ const onAddDarkChange = () => {
+ const body = document.documentElement as HTMLElement;
+ if (getThemeConfig.value.isIsDark) body.setAttribute('data-theme', 'dark');
+ else body.setAttribute('data-theme', '');
+ };
// 4、界面显示 --> 开启水印
const onWartermarkChange = () => {
getThemeConfig.value.isWartermark ? Watermark.set(getThemeConfig.value.wartermarkText) : Watermark.del();
@@ -609,6 +621,8 @@ export default defineComponent({
if (getThemeConfig.value.isGrayscale) onAddFilterChange('grayscale');
// 色弱模式
if (getThemeConfig.value.isInvert) onAddFilterChange('invert');
+ // 深色模式
+ if (getThemeConfig.value.isIsDark) onAddDarkChange();
// 开启水印
onWartermarkChange();
// 语言国际化
@@ -636,6 +650,7 @@ export default defineComponent({
getThemeConfig,
onDrawerClose,
onAddFilterChange,
+ onAddDarkChange,
onWartermarkChange,
onWartermarkTextInput,
onSetLayout,
diff --git a/src/layout/navBars/tagsView/tagsView.vue b/src/layout/navBars/tagsView/tagsView.vue
index ae7cb748..952c5412 100644
--- a/src/layout/navBars/tagsView/tagsView.vue
+++ b/src/layout/navBars/tagsView/tagsView.vue
@@ -504,7 +504,7 @@ export default {
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 2400212a..8854cf7d 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -334,7 +334,7 @@ export default {
.home-card-item {
width: 100%;
height: 103px;
- background: gray;
+ background: var(--el-text-color-secondary);
border-radius: 4px;
transition: all ease 0.3s;
&:hover {
@@ -364,7 +364,7 @@ export default {
}
.home-card-item-flex {
padding: 0 20px;
- color: white;
+ color: var(--color-whites);
.home-card-item-title,
.home-card-item-tip {
font-size: 13px;
@@ -378,8 +378,8 @@ export default {
}
}
.home-card-first {
- background: white;
- border: 1px solid #ebeef5;
+ background: var(--el-color-white);
+ border: 1px solid var(--el-border-color-light, #ebeef5);
display: flex;
align-items: center;
img {
@@ -392,9 +392,12 @@ export default {
flex: 1;
display: flex;
flex-direction: column;
+ .home-card-first-right-title {
+ color: var(--el-color-black);
+ }
.home-card-first-right-msg {
font-size: 13px;
- color: gray;
+ color: var(--el-text-color-secondary);
}
}
}
@@ -408,6 +411,7 @@ export default {
margin: auto;
height: auto;
text-align: center;
+ color: var(--el-text-color-primary);
}
}
}
@@ -437,12 +441,12 @@ export default {
}
.home-dynamic-item-left-time2 {
font-size: 13px;
- color: gray;
+ color: var(--el-text-color-secondary);
}
}
.home-dynamic-item-line {
height: 60px;
- border-right: 2px dashed #dfdfdf;
+ border-right: 2px dashed var(--el-border-color-light, #ebeef5);
margin: 0 20px;
position: relative;
i {
@@ -452,7 +456,7 @@ export default {
top: 1px;
left: -6px;
transform: rotate(46deg);
- background: white;
+ background: var(--el-color-white);
}
}
.home-dynamic-item-right {
@@ -460,7 +464,7 @@ export default {
.home-dynamic-item-right-title {
i {
margin-right: 5px;
- border: 1px solid #dfdfdf;
+ border: 1px solid var(--el-border-color-light, #ebeef5);
width: 20px;
height: 20px;
border-radius: 100%;
@@ -471,7 +475,7 @@ export default {
}
.home-dynamic-item-right-label {
font-size: 13px;
- color: gray;
+ color: var(--el-text-color-secondary);
}
}
}
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 047bd444..082697a0 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -27,6 +27,7 @@
@@ -114,6 +115,9 @@ export default {
letter-spacing: 4px;
margin: 15px 0 30px;
white-space: nowrap;
+ z-index: 5;
+ position: relative;
+ transition: all 0.3s ease;
}
}
.login-content-main-sacn {
@@ -124,18 +128,16 @@ export default {
height: 50px;
overflow: hidden;
cursor: pointer;
- opacity: 0.7;
transition: all ease 0.3s;
- &::before {
- content: '';
+ &-delta {
position: absolute;
- width: 0;
- height: 0;
- border-bottom: 50px solid #ffffff;
- border-right: 50px solid transparent;
+ width: 35px;
+ height: 70px;
z-index: 2;
- top: 0;
- right: 0;
+ top: 2px;
+ right: 21px;
+ background: var(--el-color-white);
+ transform: rotate(-45deg);
}
&:hover {
opacity: 1;
@@ -143,14 +145,13 @@ export default {
color: var(--color-primary);
}
i {
- content: '';
- width: 48px;
+ width: 47px;
height: 50px;
+ display: inline-block;
+ font-size: 48px;
position: absolute;
- top: 0px;
- right: 0px;
- font-size: 47px;
- z-index: 1;
+ right: 2px;
+ top: -1px;
}
}
}
@@ -163,7 +164,7 @@ export default {
transform: translateX(-50%);
bottom: 30px;
text-align: center;
- color: white;
+ color: var(--color-whites);
font-size: 12px;
opacity: 0.8;
.login-copyright-company {
diff --git a/src/views/pages/dynamicForm/index.vue b/src/views/pages/dynamicForm/index.vue
new file mode 100644
index 00000000..ee7fae03
--- /dev/null
+++ b/src/views/pages/dynamicForm/index.vue
@@ -0,0 +1,159 @@
+
+
+
+
+
diff --git a/src/views/pages/dynamicForm/mock.ts b/src/views/pages/dynamicForm/mock.ts
new file mode 100644
index 00000000..2293fe93
--- /dev/null
+++ b/src/views/pages/dynamicForm/mock.ts
@@ -0,0 +1,119 @@
+// 表单数据选项(自行扩展)
+export const formData = [
+ {
+ label: '姓名',
+ prop: 'name',
+ placeholder: '请输入姓名',
+ clearable: true,
+ disabled: false,
+ required: true,
+ type: 'input',
+ i18n: false,
+ i18nText: '',
+ isShow: true,
+ xs: 24,
+ sm: 12,
+ md: 8,
+ lg: 6,
+ xl: 4,
+ },
+ {
+ label: '邮箱',
+ prop: 'email',
+ placeholder: '请输入用户邮箱',
+ clearable: true,
+ disabled: false,
+ required: true,
+ type: 'input',
+ i18n: false,
+ i18nText: '',
+ isShow: true,
+ xs: 24,
+ sm: 12,
+ md: 8,
+ lg: 6,
+ xl: 4,
+ },
+ {
+ label: '登陆时间',
+ prop: 'autograph',
+ placeholder: '选择时间',
+ clearable: true,
+ disabled: false,
+ required: true,
+ type: 'date',
+ i18n: false,
+ i18nText: '',
+ isShow: true,
+ xs: 24,
+ sm: 12,
+ md: 8,
+ lg: 6,
+ xl: 4,
+ },
+ {
+ label: '职务',
+ prop: 'occupation',
+ placeholder: '请选择职务',
+ clearable: true,
+ disabled: false,
+ required: true,
+ type: 'select',
+ i18n: false,
+ i18nText: '',
+ options: [
+ {
+ label: '计算机 / 互联网 / 通信',
+ value: '1',
+ },
+ {
+ label: '生产 / 工艺 / 制造',
+ value: '2',
+ },
+ {
+ label: '医疗 / 护理 / 制药',
+ value: '3',
+ },
+ ],
+ isShow: true,
+ xs: 24,
+ sm: 12,
+ md: 8,
+ lg: 6,
+ xl: 4,
+ },
+ {
+ label: '',
+ prop: '',
+ placeholder: '',
+ clearable: true,
+ disabled: false,
+ required: true,
+ type: '',
+ i18n: false,
+ i18nText: '',
+ isShow: true,
+ xs: 24,
+ sm: 24,
+ md: 24,
+ lg: 24,
+ xl: 24,
+ },
+ {
+ label: '备注',
+ prop: 'remarks',
+ placeholder: '请输入',
+ clearable: true,
+ disabled: false,
+ required: true,
+ type: 'textarea',
+ i18n: false,
+ i18nText: '',
+ isShow: true,
+ xs: 24,
+ sm: 24,
+ md: 24,
+ lg: 24,
+ xl: 24,
+ },
+];
diff --git a/src/views/pages/waterfall/index.vue b/src/views/pages/waterfall/index.vue
index d0b95abd..fe66acfe 100644
--- a/src/views/pages/waterfall/index.vue
+++ b/src/views/pages/waterfall/index.vue
@@ -45,7 +45,7 @@ export default {
.waterfall-first-item {
width: 100%;
background: var(--color-primary);
- color: #ffffff;
+ color: var(--color-whites);
transition: all 0.3s ease;
border-radius: 3px;
&:nth-of-type(3n + 1) {
@@ -73,7 +73,7 @@ export default {
.waterfall-last-item {
height: 100%;
background: var(--color-primary);
- color: #ffffff;
+ color: var(--color-whites);
transition: all 0.3s ease;
border-radius: 3px;
&:hover {
diff --git a/src/views/pages/waves/index.vue b/src/views/pages/waves/index.vue
index 04386141..8aa1490e 100644
--- a/src/views/pages/waves/index.vue
+++ b/src/views/pages/waves/index.vue
@@ -89,7 +89,7 @@ export default {
.waterfall-first-item {
width: 100%;
background: var(--color-primary);
- color: #ffffff;
+ color: var(--color-whites);
transition: all 0.3s ease;
border-radius: 3px;
&:nth-of-type(3n + 1) {
diff --git a/src/views/pages/workflow/index.vue b/src/views/pages/workflow/index.vue
new file mode 100644
index 00000000..47635628
--- /dev/null
+++ b/src/views/pages/workflow/index.vue
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
diff --git a/src/views/pages/workflow/mock.ts b/src/views/pages/workflow/mock.ts
new file mode 100644
index 00000000..e4352cf6
--- /dev/null
+++ b/src/views/pages/workflow/mock.ts
@@ -0,0 +1,60 @@
+// 左侧菜单导航数据
+export const leftNavList = [
+ {
+ title: '录像',
+ icon: 'el-icon-video-camera-solid',
+ isOpen: true,
+ children: [
+ {
+ icon: 'el-icon-s-custom',
+ },
+ {
+ icon: 'el-icon-s-opportunity',
+ },
+ {
+ icon: 'el-icon-s-data',
+ },
+ {
+ icon: 'el-icon-s-check',
+ },
+ {
+ icon: 'el-icon-s-grid',
+ },
+ {
+ icon: 'el-icon-menu',
+ },
+ ],
+ form: {},
+ },
+ {
+ title: '文本',
+ isOpen: true,
+ icon: 'el-icon-s-order',
+ children: [
+ {
+ icon: 'el-icon-share',
+ },
+ {
+ icon: 'el-icon-s-shop',
+ },
+ {
+ icon: 'el-icon-s-marketing',
+ },
+ ],
+ form: {},
+ },
+ {
+ title: '电视',
+ isOpen: true,
+ icon: 'el-icon-s-platform',
+ children: [
+ {
+ icon: 'el-icon-s-flag',
+ },
+ {
+ icon: 'el-icon-s-comment',
+ },
+ ],
+ form: {},
+ },
+];
diff --git a/src/views/personal/index.vue b/src/views/personal/index.vue
index 6f1c5bd1..f2924091 100644
--- a/src/views/personal/index.vue
+++ b/src/views/personal/index.vue
@@ -248,7 +248,7 @@ export default {
align-items: center;
font-size: 13px;
.personal-item-label {
- color: gray;
+ color: var(--el-text-color-secondary);
@include text-ellipsis(1);
}
.personal-item-value {
@@ -260,7 +260,7 @@ export default {
.personal-info {
.personal-info-more {
float: right;
- color: gray;
+ color: var(--el-text-color-secondary);
font-size: 13px;
&:hover {
color: var(--color-primary);
@@ -278,7 +278,7 @@ export default {
.personal-info-li-title {
display: inline-block;
@include text-ellipsis(1);
- color: grey;
+ color: var(--el-text-color-secondary);
text-decoration: none;
}
& a:hover {
@@ -294,7 +294,7 @@ export default {
.personal-recommend {
position: relative;
height: 100px;
- color: #ffffff;
+ color: var(--color-whites);
border-radius: 3px;
overflow: hidden;
cursor: pointer;
@@ -330,7 +330,7 @@ export default {
.personal-edit-title {
position: relative;
padding-left: 10px;
- color: #606266;
+ color: var(--el-text-color-regular);
&::after {
content: '';
width: 2px;
@@ -343,7 +343,7 @@ export default {
}
}
.personal-edit-safe-box {
- border-bottom: 1px solid #ebeef5;
+ border-bottom: 1px solid var(--el-border-color-light, #ebeef5);
padding: 15px 0;
.personal-edit-safe-item {
width: 100%;
@@ -354,11 +354,11 @@ export default {
flex: 1;
overflow: hidden;
.personal-edit-safe-item-left-label {
- color: #606266;
+ color: var(--el-text-color-regular);
margin-bottom: 5px;
}
.personal-edit-safe-item-left-value {
- color: gray;
+ color: var(--el-text-color-secondary);
@include text-ellipsis(1);
margin-right: 15px;
}
diff --git a/src/views/visualizing/demo1.vue b/src/views/visualizing/demo1.vue
index ba98f49c..2f85f634 100644
--- a/src/views/visualizing/demo1.vue
+++ b/src/views/visualizing/demo1.vue
@@ -971,7 +971,7 @@ $titleWidth: 240px;
left: 0;
display: flex;
align-items: center;
- color: #fff;
+ color: var(--color-whites);
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.02));
z-index: 3;
.visualizing-container-head-left {
@@ -1176,11 +1176,11 @@ $titleWidth: 240px;
.visualizing-container-title {
max-width: $titleWidth;
font-size: 14px;
- color: #ffffff;
+ color: var(--color-whites);
opacity: 0.8;
padding: 0 5px;
- border-bottom: 1px solid #ffffff;
- border-image: linear-gradient(to right, #ffffff, rgba(22, 207, 208, 0.02)) 1 10;
+ border-bottom: 1px solid var(--color-whites);
+ border-image: linear-gradient(to right, var(--color-whites), rgba(22, 207, 208, 0.02)) 1 10;
position: relative;
i {
padding-right: 5px;
@@ -1193,7 +1193,7 @@ $titleWidth: 240px;
bottom: 0;
width: 1px;
height: 10px;
- background: linear-gradient(to top, #ffffff, rgba(255, 255, 255, 0.5));
+ background: linear-gradient(to top, var(--color-whites), rgba(255, 255, 255, 0.5));
}
}
.visualizing-container-title-colorful {
diff --git a/vite.config.ts b/vite.config.ts
index d02ddc6d..866a94c5 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -39,6 +39,7 @@ const viteConfig: UserConfig = {
outDir: 'dist',
minify: 'esbuild',
sourcemap: false,
+ chunkSizeWarningLimit: 1500,
},
define: {
__VUE_I18N_LEGACY_API__: JSON.stringify(false),