--no commit message
Showing
21 changed files
with
121 additions
and
264 deletions
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-27 13:25:25 | ||
5 | --> | ||
1 | # 安装依赖 | 6 | # 安装依赖 |
2 | npm install | 7 | npm install |
3 | # 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 | 8 | # 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 |
... | @@ -14,5 +19,6 @@ npm install --registry=https://registry.npm.taobao.org | ... | @@ -14,5 +19,6 @@ npm install --registry=https://registry.npm.taobao.org |
14 | - `docs` 文档/注释 | 19 | - `docs` 文档/注释 |
15 | - `chore` 依赖更新/脚手架配置修改等 | 20 | - `chore` 依赖更新/脚手架配置修改等 |
16 | - `wip` 开发中 | 21 | - `wip` 开发中 |
17 | 22 | ||
18 | 23 | ## 项目换肤 | |
24 | 给html根标签设置一个data-theme属性,然后通过js切换data-theme的属性值,Scss根据此属性来判断使用对应主题变量 | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | { | 1 | { |
2 | "TITLE": "汉中市数据上报系统", | 2 | "TITLE": "汉中市数据上报系统", |
3 | "THEME": "sb", | 3 | "THEME": "sb", |
4 | "CODE": "BDCSBPT", | 4 | "CODE": "BDCJGPT", |
5 | "SERVERAPI": "/bdcsjsb", | 5 | "SERVERAPI": "/bdcsjsb", |
6 | "MANAGEMENTAPI": "http://192.168.2.38:8090/management" | 6 | "MANAGEMENTAPI": "http://192.168.2.38:8090/management" |
7 | } | 7 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-27 09:53:16 | ||
5 | */ | ||
1 | import dialogBox from '@/components/DialogBox' | 6 | import dialogBox from '@/components/DialogBox' |
2 | import LbTable from '@/components/LbTable' | 7 | import LbTable from '@/components/LbTable' |
3 | import Theme from '@/components/Theme.vue' | ||
4 | import Breadcrumb from "@/components/Breadcrumb.vue"; | 8 | import Breadcrumb from "@/components/Breadcrumb.vue"; |
5 | // 引入按钮 | 9 | // 引入按钮 |
6 | import btn from '@/components/Button.vue' | 10 | import btn from '@/components/Button.vue' |
... | @@ -12,8 +16,6 @@ export default { | ... | @@ -12,8 +16,6 @@ export default { |
12 | Vue.component('Breadcrumb', Breadcrumb); | 16 | Vue.component('Breadcrumb', Breadcrumb); |
13 | Vue.component('btn', btn); | 17 | Vue.component('btn', btn); |
14 | Vue.component('lbTable', LbTable); | 18 | Vue.component('lbTable', LbTable); |
15 | Vue.component('Theme', Theme); | ||
16 | Vue.prototype.$popup = Popup.install; | ||
17 | Vue.prototype.$alertMes = MessageBox.alert; | 19 | Vue.prototype.$alertMes = MessageBox.alert; |
18 | } | 20 | } |
19 | } | 21 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/components/Theme.vue
deleted
100644 → 0
1 | <template> | ||
2 | <el-color-picker v-model="theme" | ||
3 | :predefine="['#409EFF', '#1890ff', '#304156', '#212121', '#11a983', '#13c2c2', '#6959CD', '#f5222d',]" | ||
4 | class="theme-picker" popper-class="theme-picker-dropdown" /> | ||
5 | </template> | ||
6 | |||
7 | <script> | ||
8 | const version = require('element-ui/package.json').version // element-ui version from node_modules | ||
9 | const ORIGINAL_THEME = '#409EFF' // default color | ||
10 | |||
11 | export default { | ||
12 | data () { | ||
13 | return { | ||
14 | chalk: '', // content of theme-chalk css | ||
15 | theme: '' | ||
16 | } | ||
17 | }, | ||
18 | computed: { | ||
19 | defaultTheme () { | ||
20 | return this.$store.state.app.theme | ||
21 | } | ||
22 | }, | ||
23 | watch: { | ||
24 | defaultTheme: { | ||
25 | handler: function (val, oldVal) { | ||
26 | this.theme = val | ||
27 | }, | ||
28 | immediate: true | ||
29 | }, | ||
30 | async theme (val) { | ||
31 | const oldVal = this.chalk ? this.theme : ORIGINAL_THEME | ||
32 | if (typeof val !== 'string') return | ||
33 | const themeCluster = this.getThemeCluster(val.replace('#', '')) | ||
34 | const originalCluster = this.getThemeCluster(oldVal.replace('#', '')) | ||
35 | const $message = this.$message({ | ||
36 | message: ' Compiling the theme', | ||
37 | customClass: 'theme-message', | ||
38 | type: 'success', | ||
39 | duration: 0, | ||
40 | iconClass: 'el-icon-loading' | ||
41 | }) | ||
42 | |||
43 | const getHandler = (variable, id) => { | ||
44 | return () => { | ||
45 | const originalCluster = this.getThemeCluster(ORIGINAL_THEME.replace('#', '')) | ||
46 | const newStyle = this.updateStyle(this[variable], originalCluster, themeCluster) | ||
47 | |||
48 | let styleTag = document.getElementById(id) | ||
49 | if (!styleTag) { | ||
50 | styleTag = document.createElement('style') | ||
51 | styleTag.setAttribute('id', id) | ||
52 | document.head.appendChild(styleTag) | ||
53 | } | ||
54 | styleTag.innerText = newStyle | ||
55 | } | ||
56 | } | ||
57 | |||
58 | if (!this.chalk) { | ||
59 | const url = `https://unpkg.com/element-ui@${version}/lib/theme-chalk/index.css` | ||
60 | await this.getCSSString(url, 'chalk') | ||
61 | } | ||
62 | |||
63 | const chalkHandler = getHandler('chalk', 'chalk-style') | ||
64 | |||
65 | chalkHandler() | ||
66 | |||
67 | const styles = [].slice.call(document.querySelectorAll('style')) | ||
68 | .filter(style => { | ||
69 | const text = style.innerText | ||
70 | return new RegExp(oldVal, 'i').test(text) && !/Chalk Variables/.test(text) | ||
71 | }) | ||
72 | styles.forEach(style => { | ||
73 | const { innerText } = style | ||
74 | if (typeof innerText !== 'string') return | ||
75 | style.innerText = this.updateStyle(innerText, originalCluster, themeCluster) | ||
76 | }) | ||
77 | |||
78 | this.$emit('change', val) | ||
79 | |||
80 | $message.close() | ||
81 | } | ||
82 | }, | ||
83 | |||
84 | methods: { | ||
85 | updateStyle (style, oldCluster, newCluster) { | ||
86 | let newStyle = style | ||
87 | oldCluster.forEach((color, index) => { | ||
88 | newStyle = newStyle.replace(new RegExp(color, 'ig'), newCluster[index]) | ||
89 | }) | ||
90 | return newStyle | ||
91 | }, | ||
92 | |||
93 | getCSSString (url, variable) { | ||
94 | return new Promise(resolve => { | ||
95 | const xhr = new XMLHttpRequest() | ||
96 | xhr.onreadystatechange = () => { | ||
97 | if (xhr.readyState === 4 && xhr.status === 200) { | ||
98 | this[variable] = xhr.responseText.replace(/@font-face{[^}]+}/, '') | ||
99 | resolve() | ||
100 | } | ||
101 | } | ||
102 | xhr.open('GET', url) | ||
103 | xhr.send() | ||
104 | }) | ||
105 | }, | ||
106 | |||
107 | getThemeCluster (theme) { | ||
108 | const tintColor = (color, tint) => { | ||
109 | let red = parseInt(color.slice(0, 2), 16) | ||
110 | let green = parseInt(color.slice(2, 4), 16) | ||
111 | let blue = parseInt(color.slice(4, 6), 16) | ||
112 | |||
113 | if (tint === 0) { // when primary color is in its rgb space | ||
114 | return [red, green, blue].join(',') | ||
115 | } else { | ||
116 | red += Math.round(tint * (255 - red)) | ||
117 | green += Math.round(tint * (255 - green)) | ||
118 | blue += Math.round(tint * (255 - blue)) | ||
119 | |||
120 | red = red.toString(16) | ||
121 | green = green.toString(16) | ||
122 | blue = blue.toString(16) | ||
123 | |||
124 | return `#${red}${green}${blue}` | ||
125 | } | ||
126 | } | ||
127 | |||
128 | const shadeColor = (color, shade) => { | ||
129 | let red = parseInt(color.slice(0, 2), 16) | ||
130 | let green = parseInt(color.slice(2, 4), 16) | ||
131 | let blue = parseInt(color.slice(4, 6), 16) | ||
132 | |||
133 | red = Math.round((1 - shade) * red) | ||
134 | green = Math.round((1 - shade) * green) | ||
135 | blue = Math.round((1 - shade) * blue) | ||
136 | |||
137 | red = red.toString(16) | ||
138 | green = green.toString(16) | ||
139 | blue = blue.toString(16) | ||
140 | |||
141 | return `#${red}${green}${blue}` | ||
142 | } | ||
143 | |||
144 | const clusters = [theme] | ||
145 | for (let i = 0; i <= 9; i++) { | ||
146 | clusters.push(tintColor(theme, Number((i / 10).toFixed(2)))) | ||
147 | } | ||
148 | clusters.push(shadeColor(theme, 0.1)) | ||
149 | return clusters | ||
150 | } | ||
151 | } | ||
152 | } | ||
153 | </script> | ||
154 | |||
155 | <style> | ||
156 | .theme-message, | ||
157 | .theme-picker-dropdown { | ||
158 | z-index: 99999 !important; | ||
159 | } | ||
160 | |||
161 | .theme-picker .el-color-picker__trigger { | ||
162 | height: 26px !important; | ||
163 | width: 26px !important; | ||
164 | padding: 2px; | ||
165 | } | ||
166 | |||
167 | .theme-picker-dropdown .el-color-dropdown__link-btn { | ||
168 | display: none; | ||
169 | } | ||
170 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-03-24 17:10:32 | 4 | * @LastEditTime: 2023-03-27 14:09:57 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div> | 7 | <div> |
... | @@ -48,9 +48,6 @@ export default { | ... | @@ -48,9 +48,6 @@ export default { |
48 | asyncRoutes () { | 48 | asyncRoutes () { |
49 | return asyncRoutes | 49 | return asyncRoutes |
50 | } | 50 | } |
51 | }, | ||
52 | mounted () { | ||
53 | console.log(this.permission_routes.slice(5), 'permission_routes'); | ||
54 | } | 51 | } |
55 | } | 52 | } |
56 | </script> | 53 | </script> | ... | ... |
... | @@ -3,7 +3,8 @@ | ... | @@ -3,7 +3,8 @@ |
3 | <scroll-pane ref="scrollPane" class="tags-view-wrapper" @scroll="handleScroll"> | 3 | <scroll-pane ref="scrollPane" class="tags-view-wrapper" @scroll="handleScroll"> |
4 | <router-link v-for="tag in visitedViews" ref="tag" :key="tag.path" :class="isActive(tag) ? 'active' : ''" | 4 | <router-link v-for="tag in visitedViews" ref="tag" :key="tag.path" :class="isActive(tag) ? 'active' : ''" |
5 | :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }" tag="span" class="tags-view-item" | 5 | :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }" tag="span" class="tags-view-item" |
6 | @click.middle.native="!isAffix(tag) ? closeSelectedTag(tag) : ''" @contextmenu.prevent.native="openMenu(tag, $event)"> | 6 | @click.middle.native="!isAffix(tag) ? closeSelectedTag(tag) : ''" |
7 | @contextmenu.prevent.native="openMenu(tag, $event)"> | ||
7 | {{ tag.title }} | 8 | {{ tag.title }} |
8 | <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" /> | 9 | <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" /> |
9 | </router-link> | 10 | </router-link> |
... | @@ -190,30 +191,32 @@ export default { | ... | @@ -190,30 +191,32 @@ export default { |
190 | </script> | 191 | </script> |
191 | 192 | ||
192 | <style lang="scss" scoped> | 193 | <style lang="scss" scoped> |
194 | @import "~@/styles/_handle.scss"; | ||
195 | |||
193 | .tags-view-container { | 196 | .tags-view-container { |
194 | height: 40px; | 197 | height: 40px; |
195 | width: 100%; | 198 | width: 100%; |
196 | background: #fff; | 199 | background: #fff; |
197 | border-bottom: 1px solid #d8dce5; | 200 | border-bottom: 1px solid #d8dce5; |
198 | box-sizing: border-box; | 201 | box-sizing: border-box; |
199 | padding-top: 3px; | 202 | padding-top: 2px; |
200 | box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04); | 203 | margin-bottom: 7px; |
201 | margin-bottom: 5px; | 204 | border-radius: 4px; |
202 | 205 | ||
203 | .tags-view-wrapper { | 206 | .tags-view-wrapper { |
204 | .tags-view-item { | 207 | .tags-view-item { |
205 | display: inline-block; | 208 | display: inline-block; |
206 | position: relative; | 209 | position: relative; |
207 | cursor: pointer; | 210 | cursor: pointer; |
208 | height: 26px; | ||
209 | line-height: 26px; | 211 | line-height: 26px; |
210 | border: 1px solid #d8dce5; | 212 | color: #4A4A4A; |
211 | color: #495060; | 213 | @include font_color("tagsText"); |
212 | background: #fff; | ||
213 | padding: 0 8px; | 214 | padding: 0 8px; |
214 | font-size: 12px; | 215 | font-size: 12px; |
215 | margin-left: 5px; | 216 | margin-left: 5px; |
216 | margin-top: 4px; | 217 | margin-top: 4px; |
218 | border-radius: 4px; | ||
219 | @include borderColor("tagsBorderColor"); | ||
217 | 220 | ||
218 | &:first-of-type { | 221 | &:first-of-type { |
219 | margin-left: 15px; | 222 | margin-left: 15px; |
... | @@ -224,13 +227,13 @@ export default { | ... | @@ -224,13 +227,13 @@ export default { |
224 | } | 227 | } |
225 | 228 | ||
226 | &.active { | 229 | &.active { |
227 | background-color: #0794FF; | 230 | @include background("tagsBg"); |
228 | color: #fff; | 231 | @include borderColor("tagsActiveText"); |
229 | border-color: #0794FF; | 232 | @include font_color("tagsActiveText"); |
230 | 233 | ||
231 | &::before { | 234 | &::before { |
232 | content: ''; | 235 | content: ''; |
233 | background: #fff; | 236 | @include background("tagsActiveText"); |
234 | display: inline-block; | 237 | display: inline-block; |
235 | width: 8px; | 238 | width: 8px; |
236 | height: 8px; | 239 | height: 8px; | ... | ... |
1 | /* | 1 | |
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-27 14:25:19 | ||
5 | */ | ||
6 | import Vue from 'vue' | 2 | import Vue from 'vue' |
7 | import router from "./router"; | 3 | import router from "./router"; |
8 | import store from "./store"; | 4 | import store from "./store"; |
... | @@ -16,7 +12,6 @@ NProgress.configure({ showSpinner: false }); | ... | @@ -16,7 +12,6 @@ NProgress.configure({ showSpinner: false }); |
16 | router.beforeEach(async (to, from, next) => { | 12 | router.beforeEach(async (to, from, next) => { |
17 | getTheme() | 13 | getTheme() |
18 | NProgress.start(); | 14 | NProgress.start(); |
19 | window.document.documentElement.setAttribute("data-theme", 'blue'); | ||
20 | document.title = getPageTitle(to.meta.title); | 15 | document.title = getPageTitle(to.meta.title); |
21 | let hasAddDict = store.state.dict.addDict; | 16 | let hasAddDict = store.state.dict.addDict; |
22 | let hasUser = store.state.user.hasUser; | 17 | let hasUser = store.state.user.hasUser; |
... | @@ -25,6 +20,7 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -25,6 +20,7 @@ router.beforeEach(async (to, from, next) => { |
25 | localStorage.removeItem("token"); | 20 | localStorage.removeItem("token"); |
26 | next(); | 21 | next(); |
27 | } else { | 22 | } else { |
23 | window.document.documentElement.setAttribute("data-theme", 'blue'); | ||
28 | let code = Vue.prototype.BASE_API.CODE | 24 | let code = Vue.prototype.BASE_API.CODE |
29 | //判断token是否存在 | 25 | //判断token是否存在 |
30 | const hasToken = localStorage.getItem("token"); | 26 | const hasToken = localStorage.getItem("token"); |
... | @@ -36,6 +32,7 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -36,6 +32,7 @@ router.beforeEach(async (to, from, next) => { |
36 | if (hasAddRoute) { | 32 | if (hasAddRoute) { |
37 | next(); | 33 | next(); |
38 | } else { | 34 | } else { |
35 | |||
39 | //请求菜单 | 36 | //请求菜单 |
40 | const { result: getMenuData } = (await getMenuInfo(code)) || []; | 37 | const { result: getMenuData } = (await getMenuInfo(code)) || []; |
41 | const accessRoutes = await store.dispatch( | 38 | const accessRoutes = await store.dispatch( |
... | @@ -55,6 +52,7 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -55,6 +52,7 @@ router.beforeEach(async (to, from, next) => { |
55 | } else { | 52 | } else { |
56 | next(); | 53 | next(); |
57 | } | 54 | } |
55 | |||
58 | } | 56 | } |
59 | } else { | 57 | } else { |
60 | if (code == 'BDCSBPT') { | 58 | if (code == 'BDCSBPT') { | ... | ... |
... | @@ -20,6 +20,15 @@ | ... | @@ -20,6 +20,15 @@ |
20 | @function themed($key) { | 20 | @function themed($key) { |
21 | @return map-get($theme-map, $key); | 21 | @return map-get($theme-map, $key); |
22 | } | 22 | } |
23 | |||
24 | //获取边框颜色 | ||
25 | @mixin borderColor($color) { | ||
26 | @include themeify { | ||
27 | border: 1px solid themed($color) !important; | ||
28 | } | ||
29 | } | ||
30 | |||
31 | |||
23 | //获取渐变背景 | 32 | //获取渐变背景 |
24 | @mixin background($color) { | 33 | @mixin background($color) { |
25 | @include themeify { | 34 | @include themeify { |
... | @@ -33,9 +42,10 @@ | ... | @@ -33,9 +42,10 @@ |
33 | background-color: themed($color) !important; | 42 | background-color: themed($color) !important; |
34 | } | 43 | } |
35 | } | 44 | } |
45 | |||
36 | //获取字体颜色 | 46 | //获取字体颜色 |
37 | @mixin font_color($color) { | 47 | @mixin font_color($color) { |
38 | @include themeify { | 48 | @include themeify { |
39 | color: themed($color)!important; | 49 | color: themed($color) !important; |
40 | } | 50 | } |
41 | } | 51 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -7,15 +7,25 @@ $themes: (blue: ( //背景 | ... | @@ -7,15 +7,25 @@ $themes: (blue: ( //背景 |
7 | menuActiveText: #4162D8, | 7 | menuActiveText: #4162D8, |
8 | // 没有子集 | 8 | // 没有子集 |
9 | submenuBg: #3D59C4, | 9 | submenuBg: #3D59C4, |
10 | submenuColor: #FFFFFF | 10 | submenuColor: #FFFFFF, |
11 | // tags | ||
12 | tagsBorderColor: #E5E5E5, | ||
13 | tagsBg: rgba(65, 98, 216, 0.1), | ||
14 | tagsText: #4A4A4A, | ||
15 | tagsActiveText: #4162D8, | ||
16 | // 操纵btn | ||
17 | btnBg: #4162D8, | ||
18 | btnColor: #4162D8, | ||
19 | // table样式相关 | ||
20 | pagBg:rgba(65, 98, 216, 0.1), | ||
21 | pagBorderColor: #D9D9D9, | ||
22 | pagText: #4A4A4A, | ||
23 | pagActiveText: #4162D8, | ||
11 | ), | 24 | ), |
12 | 25 | ||
13 | green: ( | 26 | green: (navbg: #0F8B80, |
14 | navbg: #0F8B80, | ||
15 | menuBg:#121A2E, | 27 | menuBg:#121A2E, |
16 | menuActive: linear-gradient(90deg, rgba(61,90,198,0.7) 0%, rgba(61,90,198,0) 100%), | 28 | menuActive: linear-gradient(90deg, rgba(61, 90, 198, 0.7) 0%, rgba(61, 90, 198, 0) 100%), |
17 | //字体 | 29 | //字体 |
18 | menuText: #A1A7C2, | 30 | menuText: #A1A7C2, |
19 | menuActiveText: #FFFFFF | ||
20 | ) | ||
21 | ) | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
31 | menuActiveText: #FFFFFF)) | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -4,7 +4,7 @@ | ... | @@ -4,7 +4,7 @@ |
4 | **/ | 4 | **/ |
5 | 5 | ||
6 | /* theme color */ | 6 | /* theme color */ |
7 | $--color-primary: #0F93F6; | 7 | $--color-primary: #4162D8; |
8 | $--color-success: #67C23B; | 8 | $--color-success: #67C23B; |
9 | $--color-warning: #E6A23C; | 9 | $--color-warning: #E6A23C; |
10 | $--color-danger: #F46C6C; | 10 | $--color-danger: #F46C6C; | ... | ... |
... | @@ -9,12 +9,6 @@ | ... | @@ -9,12 +9,6 @@ |
9 | line-height: 16px; | 9 | line-height: 16px; |
10 | } | 10 | } |
11 | 11 | ||
12 | //input | ||
13 | .el-input__inner { | ||
14 | color: #FFFFFF !important; | ||
15 | padding: 0 7px !important; | ||
16 | } | ||
17 | |||
18 | // input 样式 | 12 | // input 样式 |
19 | // 全局css 加上以下代码,可以隐藏上下箭头 | 13 | // 全局css 加上以下代码,可以隐藏上下箭头 |
20 | 14 | ||
... | @@ -429,10 +423,6 @@ table td { | ... | @@ -429,10 +423,6 @@ table td { |
429 | background: color #074487; | 423 | background: color #074487; |
430 | } | 424 | } |
431 | 425 | ||
432 | .el-input__inner { | ||
433 | background-color: #074487; | ||
434 | } | ||
435 | |||
436 | .el-input.is-disabled .el-input__inner { | 426 | .el-input.is-disabled .el-input__inner { |
437 | background-color: #074487; | 427 | background-color: #074487; |
438 | } | 428 | } | ... | ... |
... | @@ -53,6 +53,12 @@ | ... | @@ -53,6 +53,12 @@ |
53 | background-color: rgba(0, 0, 0, 0); | 53 | background-color: rgba(0, 0, 0, 0); |
54 | } | 54 | } |
55 | 55 | ||
56 | //input | ||
57 | .el-input__inner { | ||
58 | color: #FFFFFF !important; | ||
59 | padding: 0 7px !important; | ||
60 | } | ||
61 | |||
56 | // 查询表单样式 | 62 | // 查询表单样式 |
57 | .from-clues { | 63 | .from-clues { |
58 | height: 100%; | 64 | height: 100%; |
... | @@ -77,7 +83,7 @@ | ... | @@ -77,7 +83,7 @@ |
77 | .el-input__inner { | 83 | .el-input__inner { |
78 | background: #07388B; | 84 | background: #07388B; |
79 | border-radius: 2px; | 85 | border-radius: 2px; |
80 | color: #CEF8FF !important; | 86 | color: #7A7A7A !important; |
81 | border: 1px solid #6BC1FC; | 87 | border: 1px solid #6BC1FC; |
82 | } | 88 | } |
83 | 89 | ||
... | @@ -1013,6 +1019,7 @@ | ... | @@ -1013,6 +1019,7 @@ |
1013 | .selbig { | 1019 | .selbig { |
1014 | width: 500px; | 1020 | width: 500px; |
1015 | } | 1021 | } |
1022 | |||
1016 | } | 1023 | } |
1017 | 1024 | ||
1018 | // 弹框中间区域样式 | 1025 | // 弹框中间区域样式 |
... | @@ -1080,3 +1087,4 @@ | ... | @@ -1080,3 +1087,4 @@ |
1080 | text-align: center; | 1087 | text-align: center; |
1081 | } | 1088 | } |
1082 | } | 1089 | } |
1090 | ... | ... |
1 | @import "~@/styles/_handle.scss"; | ||
2 | |||
1 | // cover some element-ui styles | 3 | // cover some element-ui styles |
2 | .el-breadcrumb__inner, | 4 | .el-breadcrumb__inner, |
3 | .el-breadcrumb__inner a { | 5 | .el-breadcrumb__inner a { |
... | @@ -172,6 +174,25 @@ input[type="number"] { | ... | @@ -172,6 +174,25 @@ input[type="number"] { |
172 | color: #4A4A4A; | 174 | color: #4A4A4A; |
173 | } | 175 | } |
174 | 176 | ||
177 | .el-pagination.is-background .btn-prev, | ||
178 | .el-pagination.is-background .btn-next, | ||
179 | .el-pagination.is-background .el-pager li { | ||
180 | @include borderColor("pagBorderColor"); | ||
181 | background-color: #FFFFFF; | ||
182 | @include font_color("pagText"); | ||
183 | } | ||
184 | |||
185 | .el-pagination.is-background .el-pager li:not(.disabled).active { | ||
186 | @include background("pagBg"); | ||
187 | border-radius: 4px; | ||
188 | @include font_color("pagActiveText"); | ||
189 | @include borderColor("pagActiveText"); | ||
190 | } | ||
191 | |||
192 | .el-table__header th { | ||
193 | background-color: #F1F3F7 !important; | ||
194 | } | ||
195 | |||
175 | .el-table tr td { | 196 | .el-table tr td { |
176 | font-size: 14px; | 197 | font-size: 14px; |
177 | color: #7A7A7A; | 198 | color: #7A7A7A; |
... | @@ -197,4 +218,4 @@ input[type="number"] { | ... | @@ -197,4 +218,4 @@ input[type="number"] { |
197 | 218 | ||
198 | .el-form-item__content { | 219 | .el-form-item__content { |
199 | flex: 1; | 220 | flex: 1; |
200 | } | 221 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | @import '~@/styles/sbElement-ui.scss'; | 1 | @import '~@/styles/sbElement-ui.scss'; |
2 | @import "~@/styles/_handle.scss"; | ||
3 | |||
4 | //input | ||
5 | .el-input__inner { | ||
6 | color: #7A7A7A !important; | ||
7 | padding: 0 7px !important; | ||
8 | } | ||
2 | 9 | ||
3 | 10 | ||
4 | .from-clues { | 11 | .from-clues { |
... | @@ -10,7 +17,7 @@ | ... | @@ -10,7 +17,7 @@ |
10 | 17 | ||
11 | &-header { | 18 | &-header { |
12 | width: 100%; | 19 | width: 100%; |
13 | padding: 15px; | 20 | padding: 7px 15px 10px 15px; |
14 | box-sizing: border-box; | 21 | box-sizing: border-box; |
15 | background-size: 100% 100%; | 22 | background-size: 100% 100%; |
16 | background: #FFFFFF; | 23 | background: #FFFFFF; |
... | @@ -97,7 +104,7 @@ | ... | @@ -97,7 +104,7 @@ |
97 | .cx { | 104 | .cx { |
98 | width: 86px; | 105 | width: 86px; |
99 | height: 32px; | 106 | height: 32px; |
100 | background-color: #4162D8; | 107 | @include background_color("btnBg"); |
101 | color: white; | 108 | color: white; |
102 | border: none; | 109 | border: none; |
103 | } | 110 | } |
... | @@ -105,7 +112,7 @@ | ... | @@ -105,7 +112,7 @@ |
105 | .cx:hover { | 112 | .cx:hover { |
106 | width: 86px; | 113 | width: 86px; |
107 | height: 32px; | 114 | height: 32px; |
108 | background-color: #4162D8; | 115 | @include background_color("btnBg"); |
109 | color: white; | 116 | color: white; |
110 | border: none; | 117 | border: none; |
111 | } | 118 | } |
... | @@ -114,8 +121,7 @@ | ... | @@ -114,8 +121,7 @@ |
114 | width: 86px; | 121 | width: 86px; |
115 | height: 32px; | 122 | height: 32px; |
116 | background-color: white; | 123 | background-color: white; |
117 | color: #4162D8; | 124 | @include font_color("btnColor"); |
118 | |||
119 | border: 1px solid rgba(65, 98, 216, 0.3); | 125 | border: 1px solid rgba(65, 98, 216, 0.3); |
120 | } | 126 | } |
121 | 127 | ||
... | @@ -123,24 +129,18 @@ | ... | @@ -123,24 +129,18 @@ |
123 | width: 86px; | 129 | width: 86px; |
124 | height: 32px; | 130 | height: 32px; |
125 | background-color: white; | 131 | background-color: white; |
126 | color: #4162D8; | 132 | @include font_color("btnColor"); |
127 | border: 1px solid rgba(65, 98, 216, 0.3); | 133 | border: 1px solid rgba(65, 98, 216, 0.3); |
128 | } | 134 | } |
129 | 135 | ||
130 | .el-button:focus { | ||
131 | // background: none; | ||
132 | } | ||
133 | |||
134 | .cx:focus { | 136 | .cx:focus { |
135 | color: white; | 137 | color: white; |
136 | background-color: #4162D8; | 138 | @include background_color("btnBg"); |
137 | background-size: cover; | 139 | background-size: cover; |
138 | } | 140 | } |
139 | 141 | ||
140 | .cz:focus { | 142 | .cz:focus { |
141 | color: #4162D8; | ||
142 | background-color: white; | 143 | background-color: white; |
143 | ; | ||
144 | background-size: cover; | 144 | background-size: cover; |
145 | } | 145 | } |
146 | 146 | ... | ... |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | <el-input type="password" class="password" v-model="user.password" placeholder="请输入密码" | 15 | <el-input type="password" class="password" v-model="user.password" placeholder="请输入密码" |
16 | show-password></el-input> | 16 | show-password></el-input> |
17 | </el-form-item> | 17 | </el-form-item> |
18 | <!-- <el-form-item prop="yz"> | 18 | <el-form-item prop="yz"> |
19 | <div class="flex-container"> | 19 | <div class="flex-container"> |
20 | <div class="flex-input"> | 20 | <div class="flex-input"> |
21 | <el-input class="yz" @keyup.native="login('user')" v-model="user.yz" placeholder="请输入验证码"></el-input> | 21 | <el-input class="yz" @keyup.native="login('user')" v-model="user.yz" placeholder="请输入验证码"></el-input> |
... | @@ -26,7 +26,7 @@ | ... | @@ -26,7 +26,7 @@ |
26 | <font id="renovate" @click="verification">换一批</font> | 26 | <font id="renovate" @click="verification">换一批</font> |
27 | </div> | 27 | </div> |
28 | </div> | 28 | </div> |
29 | </el-form-item> --> | 29 | </el-form-item> |
30 | <el-form-item class="login-btn"> | 30 | <el-form-item class="login-btn"> |
31 | <el-button type="primary" style="width: 100%" @click="login('user')">登录</el-button> | 31 | <el-button type="primary" style="width: 100%" @click="login('user')">登录</el-button> |
32 | </el-form-item> | 32 | </el-form-item> |
... | @@ -244,9 +244,7 @@ export default { | ... | @@ -244,9 +244,7 @@ export default { |
244 | .login-inner-bg { | 244 | .login-inner-bg { |
245 | background: white; | 245 | background: white; |
246 | width: 24.6%; | 246 | width: 24.6%; |
247 | height: 47%; | ||
248 | min-width: 360px; | 247 | min-width: 360px; |
249 | min-height: 380px; | ||
250 | top: 30%; | 248 | top: 30%; |
251 | right: 38%; | 249 | right: 38%; |
252 | position: absolute; | 250 | position: absolute; | ... | ... |
... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
3 | <!-- 表单部分 --> | 3 | <!-- 表单部分 --> |
4 | <div class="from-clues-header"> | 4 | <div class="from-clues-header"> |
5 | <el-form @submit.native.prevent :model="ruleForm" label-width="120px"> | 5 | <el-form @submit.native.prevent :model="ruleForm" label-width="120px"> |
6 | <el-form-item v-if="BASE_API.THEME=='jg'"> | 6 | <el-form-item v-if="BASE_API.THEME == 'jg'"> |
7 | <Breadcrumb /> | 7 | <Breadcrumb /> |
8 | </el-form-item> | 8 | </el-form-item> |
9 | <el-row :gutter="20" class="mb-5"> | 9 | <el-row :gutter="20" class="mb-5"> | ... | ... |
... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
2 | * @Author: xiaomiao 1158771342@qq.com | 2 | * @Author: xiaomiao 1158771342@qq.com |
3 | * @Date: 2023-03-09 20:54:28 | 3 | * @Date: 2023-03-09 20:54:28 |
4 | * @LastEditors: xiaomiao 1158771342@qq.com | 4 | * @LastEditors: xiaomiao 1158771342@qq.com |
5 | * @LastEditTime: 2023-03-16 19:40:40 | 5 | * @LastEditTime: 2023-03-27 14:26:49 |
6 | * @FilePath: \上报\bdcjg-web\src\views\system\information\index.vue | 6 | * @FilePath: \上报\bdcjg-web\src\views\system\information\index.vue |
7 | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | 7 | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
8 | --> | 8 | --> |
... | @@ -67,26 +67,5 @@ | ... | @@ -67,26 +67,5 @@ |
67 | </script> | 67 | </script> |
68 | 68 | ||
69 | <style scoped lang="scss"> | 69 | <style scoped lang="scss"> |
70 | .information { | 70 | @import "~@/styles/mixin.scss"; |
71 | display: flex; | ||
72 | flex-direction: column; | ||
73 | .btnColRight { | ||
74 | margin-top: 10px; | ||
75 | display: flex; | ||
76 | justify-content: center; | ||
77 | // background-color: cadetblue; | ||
78 | height: 30px; | ||
79 | } | ||
80 | /deep/.content { | ||
81 | .el-input__inner { | ||
82 | background: none; | ||
83 | } | ||
84 | .user-info { | ||
85 | background: none; | ||
86 | } | ||
87 | } | ||
88 | .boxin { | ||
89 | flex: 1; | ||
90 | } | ||
91 | } | ||
92 | </style> | 71 | </style> | ... | ... |
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-27 10:27:32 | ||
5 | */ | ||
1 | import filter from '@/utils/filter.js' | 6 | import filter from '@/utils/filter.js' |
2 | class data extends filter { | 7 | class data extends filter { |
3 | constructor() { | 8 | constructor() { |
... | @@ -17,7 +22,8 @@ class data extends filter { | ... | @@ -17,7 +22,8 @@ class data extends filter { |
17 | }, | 22 | }, |
18 | { | 23 | { |
19 | prop: "cronExpression", | 24 | prop: "cronExpression", |
20 | label: "cron表达式" | 25 | label: "cron表达式", |
26 | width: 160, | ||
21 | }, | 27 | }, |
22 | { | 28 | { |
23 | prop: "beanName", | 29 | prop: "beanName", |
... | @@ -34,7 +40,7 @@ class data extends filter { | ... | @@ -34,7 +40,7 @@ class data extends filter { |
34 | render: (h, scope) => { | 40 | render: (h, scope) => { |
35 | return ( | 41 | return ( |
36 | <div> | 42 | <div> |
37 | { this.stateStatus(scope.row.jobStatus) } | 43 | {this.stateStatus(scope.row.jobStatus)} |
38 | </div> | 44 | </div> |
39 | ) | 45 | ) |
40 | }, | 46 | }, | ... | ... |
This diff is collapsed.
Click to expand it.
... | @@ -6,7 +6,6 @@ function resolve (dir) { | ... | @@ -6,7 +6,6 @@ function resolve (dir) { |
6 | } | 6 | } |
7 | const name = defaultSettings.title | 7 | const name = defaultSettings.title |
8 | const port = process.env.port || process.env.npm_config_port || 8888 // dev port | 8 | const port = process.env.port || process.env.npm_config_port || 8888 // dev port |
9 | |||
10 | // All configuration item explanations can be find in https://cli.vuejs.org/config/ | 9 | // All configuration item explanations can be find in https://cli.vuejs.org/config/ |
11 | module.exports = { | 10 | module.exports = { |
12 | /** | 11 | /** | ... | ... |
-
Please register or sign in to post a comment