style:上报配置修改
Showing
23 changed files
with
6 additions
and
3550 deletions
src/layout/components/AppMain.vue
deleted
100644 → 0
1 | <template> | ||
2 | <section class="app-main"> | ||
3 | <transition name="fade-transform" mode="out-in"> | ||
4 | <router-view /> | ||
5 | </transition> | ||
6 | </section> | ||
7 | </template> | ||
8 | <script> | ||
9 | |||
10 | export default { | ||
11 | name: 'AppMain', | ||
12 | computed: { | ||
13 | key () { | ||
14 | return this.$route.path | ||
15 | } | ||
16 | } | ||
17 | } | ||
18 | </script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/layout/components/Navbar.vue
deleted
100644 → 0
1 | <template> | ||
2 | <div class="navbar-con"> | ||
3 | <div class="navbar"> | ||
4 | <div class="title"> | ||
5 | {{ BASE_API.TITLE }} | ||
6 | </div> | ||
7 | <div class="user"> | ||
8 | 欢迎进入系统 {{ userName }} | ||
9 | <span @click="onCancel"> | ||
10 | <svg-icon icon-class="close" class="closeStyle" />退出系统</span> | ||
11 | </div> | ||
12 | <div class="sidebarLeft"> | ||
13 | <sidebarLeft /> | ||
14 | </div> | ||
15 | <div class="sidebarRight d-center"> | ||
16 | <sidebarRight /> | ||
17 | </div> | ||
18 | </div> | ||
19 | </div> | ||
20 | </template> | ||
21 | <script> | ||
22 | import sidebarLeft from "./Sidebar/sidebarLeft"; | ||
23 | import sidebarRight from "./Sidebar/sidebarRight"; | ||
24 | import { logout } from "@/api/login.js"; | ||
25 | import { mapGetters } from "vuex"; | ||
26 | export default { | ||
27 | components: { | ||
28 | sidebarLeft, | ||
29 | sidebarRight, | ||
30 | }, | ||
31 | computed: { | ||
32 | ...mapGetters(["userInfo"]), | ||
33 | userName () { | ||
34 | return this.userInfo ? this.userInfo.name : "" | ||
35 | } | ||
36 | }, | ||
37 | methods: { | ||
38 | onCancel () { | ||
39 | logout() | ||
40 | .then((res) => { | ||
41 | sessionStorage.removeItem("token"); | ||
42 | this.$store.dispatch("user/resetState"); | ||
43 | this.$store.dispatch("permission/resetRoutes"); | ||
44 | this.$router.replace({ | ||
45 | path: "/jg" | ||
46 | }) | ||
47 | }) | ||
48 | .catch((error) => { | ||
49 | }) | ||
50 | } | ||
51 | } | ||
52 | } | ||
53 | </script> | ||
54 | <style lang="scss" scoped> | ||
55 | .menubg { | ||
56 | height: 34px; | ||
57 | width: 130px !important; | ||
58 | text-align: center; | ||
59 | color: #ffffff; | ||
60 | background: url("~@/image/navbar.png") no-repeat; | ||
61 | background-size: 100% 100%; | ||
62 | } | ||
63 | |||
64 | /deep/.el-menu-item { | ||
65 | @extend .menubg; | ||
66 | } | ||
67 | |||
68 | /deep/.el-submenu { | ||
69 | @extend .menubg; | ||
70 | } | ||
71 | |||
72 | /deep/.el-submenu__title { | ||
73 | height: 34px; | ||
74 | color: #ffffff; | ||
75 | } | ||
76 | |||
77 | /deep/.el-submenu__title span { | ||
78 | font-size: 14px; | ||
79 | } | ||
80 | |||
81 | .sidebarLeft { | ||
82 | position: relative; | ||
83 | top: 13px; | ||
84 | width: 30%; | ||
85 | } | ||
86 | |||
87 | /deep/.el-menu { | ||
88 | display: flex; | ||
89 | justify-content: space-between; | ||
90 | width: 100%; | ||
91 | background: transparent !important; | ||
92 | } | ||
93 | |||
94 | /deep/.el-menu-item { | ||
95 | flex: 1; | ||
96 | width: 100%; | ||
97 | } | ||
98 | |||
99 | .sidebarRight { | ||
100 | position: relative; | ||
101 | top: 13px; | ||
102 | width: 30%; | ||
103 | } | ||
104 | |||
105 | // 导航选中背景色 | ||
106 | .xuanzhong { | ||
107 | background: url("~@/image/selNavbar.png") no-repeat; | ||
108 | background-size: 100% 100%; | ||
109 | color: #ffffff !important; | ||
110 | font-weight: 700; | ||
111 | } | ||
112 | |||
113 | /deep/.el-menu-item:hover { | ||
114 | @extend .xuanzhong; | ||
115 | } | ||
116 | |||
117 | /deep/.el-submenu__title:hover { | ||
118 | @extend .xuanzhong; | ||
119 | } | ||
120 | |||
121 | /deep/.el-menu--horizontal .el-menu-item:not(.is-disabled):focus { | ||
122 | @extend .xuanzhong; | ||
123 | } | ||
124 | |||
125 | /deep/.is-active { | ||
126 | @extend .xuanzhong; | ||
127 | } | ||
128 | |||
129 | .navbar { | ||
130 | height: $headerHeight; | ||
131 | overflow: hidden; | ||
132 | position: relative; | ||
133 | display: flex; | ||
134 | align-items: center; | ||
135 | padding: 0 20px; | ||
136 | justify-content: space-between; | ||
137 | background: url("~@/image/header.png") no-repeat; | ||
138 | background-size: 100% 100%; | ||
139 | |||
140 | .user { | ||
141 | font-size: 12px; | ||
142 | color: #ffffff; | ||
143 | position: absolute; | ||
144 | right: 20px; | ||
145 | top: 0; | ||
146 | cursor: pointer; | ||
147 | |||
148 | .closeStyle { | ||
149 | margin-right: 5px; | ||
150 | } | ||
151 | } | ||
152 | |||
153 | .title { | ||
154 | position: absolute; | ||
155 | left: 0; | ||
156 | top: 10px; | ||
157 | bottom: 0; | ||
158 | right: 0; | ||
159 | margin: 0 auto; | ||
160 | font-size: 32px; | ||
161 | color: #ffffff; | ||
162 | font-weight: 700; | ||
163 | text-align: center; | ||
164 | } | ||
165 | |||
166 | .right-menu { | ||
167 | float: right; | ||
168 | height: 100%; | ||
169 | line-height: 50px; | ||
170 | display: flex; | ||
171 | align-items: center; | ||
172 | |||
173 | .shutdown { | ||
174 | font-size: 20px; | ||
175 | margin-left: 15px; | ||
176 | cursor: pointer; | ||
177 | } | ||
178 | |||
179 | .organization-item { | ||
180 | margin-right: 40px; | ||
181 | margin-top: -40px !important; | ||
182 | } | ||
183 | |||
184 | .item { | ||
185 | margin-right: 40px; | ||
186 | margin-top: -20px; | ||
187 | line-height: 18.4px; | ||
188 | cursor: pointer; | ||
189 | position: relative; | ||
190 | |||
191 | .item-box { | ||
192 | position: absolute; | ||
193 | top: -5px; | ||
194 | left: 3px; | ||
195 | width: 100%; | ||
196 | min-width: 25px; | ||
197 | height: 25px; | ||
198 | cursor: pointer; | ||
199 | z-index: 100; | ||
200 | } | ||
201 | } | ||
202 | |||
203 | &:focus { | ||
204 | outline: none; | ||
205 | } | ||
206 | |||
207 | .right-menu-item { | ||
208 | display: inline-block; | ||
209 | height: 100%; | ||
210 | font-size: 18px; | ||
211 | color: #fff; | ||
212 | vertical-align: text-bottom; | ||
213 | |||
214 | &.hover-effect { | ||
215 | cursor: pointer; | ||
216 | transition: background 0.3s; | ||
217 | display: flex; | ||
218 | align-items: center; | ||
219 | |||
220 | &:hover { | ||
221 | background: rgba(0, 0, 0, 0.025); | ||
222 | } | ||
223 | } | ||
224 | } | ||
225 | |||
226 | .avatar-wrapper { | ||
227 | position: relative; | ||
228 | display: flex; | ||
229 | height: 40px; | ||
230 | align-items: center; | ||
231 | |||
232 | .user-avatar { | ||
233 | cursor: pointer; | ||
234 | width: 35px; | ||
235 | height: 35px; | ||
236 | border-radius: 50%; | ||
237 | } | ||
238 | |||
239 | .el-icon-caret-bottom { | ||
240 | cursor: pointer; | ||
241 | position: absolute; | ||
242 | right: -15px; | ||
243 | top: 17px; | ||
244 | font-size: 12px; | ||
245 | } | ||
246 | } | ||
247 | } | ||
248 | } | ||
249 | </style> |
1 | export default { | ||
2 | computed: { | ||
3 | device() { | ||
4 | return this.$store.state.app.device | ||
5 | } | ||
6 | }, | ||
7 | mounted() { | ||
8 | // In order to fix the click on menu on the ios device will trigger the mouseleave bug | ||
9 | // https://github.com/PanJiaChen/vue-element-admin/issues/1135 | ||
10 | this.fixBugIniOS() | ||
11 | }, | ||
12 | methods: { | ||
13 | fixBugIniOS() { | ||
14 | const $subMenu = this.$refs.subMenu | ||
15 | if ($subMenu) { | ||
16 | const handleMouseleave = $subMenu.handleMouseleave | ||
17 | $subMenu.handleMouseleave = (e) => { | ||
18 | if (this.device === 'mobile') { | ||
19 | return | ||
20 | } | ||
21 | handleMouseleave(e) | ||
22 | } | ||
23 | } | ||
24 | } | ||
25 | } | ||
26 | } |
1 | <script> | ||
2 | export default { | ||
3 | name: 'MenuItem', | ||
4 | functional: true, | ||
5 | props: { | ||
6 | icon: { | ||
7 | type: String, | ||
8 | default: '' | ||
9 | }, | ||
10 | title: { | ||
11 | type: String, | ||
12 | default: '' | ||
13 | } | ||
14 | }, | ||
15 | render (h, context) { | ||
16 | const { title } = context.props | ||
17 | const vnodes = [] | ||
18 | if (title) { | ||
19 | vnodes.push(<span slot='title'>{(title)}</span>) | ||
20 | } | ||
21 | return vnodes | ||
22 | } | ||
23 | } | ||
24 | </script> |
1 | <template> | ||
2 | <component :is="type" v-bind="linkProps(to)"> | ||
3 | <slot /> | ||
4 | </component> | ||
5 | </template> | ||
6 | |||
7 | <script> | ||
8 | import { isExternal } from '@/utils/validate' | ||
9 | |||
10 | export default { | ||
11 | props: { | ||
12 | to: { | ||
13 | type: String, | ||
14 | required: true | ||
15 | } | ||
16 | }, | ||
17 | computed: { | ||
18 | isExternal() { | ||
19 | return isExternal(this.to) | ||
20 | }, | ||
21 | type() { | ||
22 | if (this.isExternal) { | ||
23 | return 'a' | ||
24 | } | ||
25 | return 'router-link' | ||
26 | } | ||
27 | }, | ||
28 | methods: { | ||
29 | linkProps(to) { | ||
30 | if (this.isExternal) { | ||
31 | return { | ||
32 | href: to, | ||
33 | target: '_blank', | ||
34 | rel: 'noopener' | ||
35 | } | ||
36 | } | ||
37 | return { | ||
38 | to: to | ||
39 | } | ||
40 | } | ||
41 | } | ||
42 | } | ||
43 | </script> |
1 | <template> | ||
2 | <div class="sidebar-logo-container" :class="{ 'collapse': collapse }"> | ||
3 | <transition name="sidebarLogoFade"> | ||
4 | <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/"> | ||
5 | <img v-if="logo" :src="logo" class="sidebar-logo"> | ||
6 | <h1 v-else class="sidebar-title"> | ||
7 | {{ title }} | ||
8 | </h1> | ||
9 | </router-link> | ||
10 | <router-link v-else key="expand" class="sidebar-logo-link" to="/"> | ||
11 | <h1 class="sidebar-title"> | ||
12 | {{ title }} | ||
13 | </h1> | ||
14 | </router-link> | ||
15 | </transition> | ||
16 | </div> | ||
17 | </template> | ||
18 | |||
19 | <script> | ||
20 | import defaultSettings from '@/settings' | ||
21 | const { title } = defaultSettings | ||
22 | export default { | ||
23 | name: 'SidebarLogo', | ||
24 | props: { | ||
25 | collapse: { | ||
26 | type: Boolean, | ||
27 | required: true | ||
28 | } | ||
29 | }, | ||
30 | data () { | ||
31 | return { | ||
32 | title: title, | ||
33 | } | ||
34 | } | ||
35 | } | ||
36 | </script> | ||
37 | |||
38 | <style lang="scss" scoped> | ||
39 | .sidebarLogoFade-enter-active { | ||
40 | transition: opacity 1.5s; | ||
41 | } | ||
42 | |||
43 | .sidebarLogoFade-enter, | ||
44 | .sidebarLogoFade-leave-to { | ||
45 | opacity: 0; | ||
46 | } | ||
47 | |||
48 | .sidebar-logo-container { | ||
49 | position: relative; | ||
50 | width: 100%; | ||
51 | text-align: center; | ||
52 | overflow: hidden; | ||
53 | height: 100px; | ||
54 | |||
55 | & .sidebar-logo-link { | ||
56 | height: 100%; | ||
57 | width: 100%; | ||
58 | |||
59 | & .sidebar-logo { | ||
60 | width: 41px; | ||
61 | height: 39px; | ||
62 | vertical-align: middle; | ||
63 | // margin-left: 47px; | ||
64 | // margin-right: 48px; | ||
65 | margin-top: 22px; | ||
66 | } | ||
67 | |||
68 | & .sidebar-title { | ||
69 | margin: 0; | ||
70 | margin-top: 10px; | ||
71 | margin-bottom: 20px; | ||
72 | color: #fff; | ||
73 | font-weight: 600; | ||
74 | line-height: 25px; | ||
75 | font-size: 16px; | ||
76 | font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif; | ||
77 | vertical-align: middle; | ||
78 | } | ||
79 | } | ||
80 | |||
81 | &.collapse { | ||
82 | .sidebar-logo { | ||
83 | margin-right: 0px; | ||
84 | width: 32.8px; | ||
85 | height: 31.2px; | ||
86 | } | ||
87 | } | ||
88 | } | ||
89 | </style> |
1 | <template> | ||
2 | <div v-if="!item.hidden"> | ||
3 | <template | ||
4 | v-if="hasOneShowingChild(item.children, item) && (!onlyOneChild.children || onlyOneChild.noShowingChildren)"> | ||
5 | <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)"> | ||
6 | <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{ 'submenu-title-noDropdown': !isNest }"> | ||
7 | <item :icon="onlyOneChild.meta.icon || (item.meta && item.meta.icon)" :title="onlyOneChild.meta.title" | ||
8 | class="menu-icon" /> | ||
9 | </el-menu-item> | ||
10 | </app-link> | ||
11 | </template> | ||
12 | |||
13 | <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body> | ||
14 | <template slot="title"> | ||
15 | <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" /> | ||
16 | </template> | ||
17 | <sidebar-item v-for="child in item.children" :key="child.path" :is-nest="true" :item="child" | ||
18 | :base-path="resolvePath(child.path)" class="nest-menu" /> | ||
19 | </el-submenu> | ||
20 | </div> | ||
21 | </template> | ||
22 | |||
23 | <script> | ||
24 | import path from 'path' | ||
25 | import { isExternal } from '@/utils/validate' | ||
26 | import Item from './Item' | ||
27 | import AppLink from './Link' | ||
28 | import FixiOSBug from './FixiOSBug' | ||
29 | |||
30 | export default { | ||
31 | name: 'SidebarItem', | ||
32 | components: { Item, AppLink }, | ||
33 | mixins: [FixiOSBug], | ||
34 | props: { | ||
35 | // route object | ||
36 | item: { | ||
37 | type: Object, | ||
38 | required: true | ||
39 | }, | ||
40 | isNest: { | ||
41 | type: Boolean, | ||
42 | default: false | ||
43 | }, | ||
44 | basePath: { | ||
45 | type: String, | ||
46 | default: '' | ||
47 | } | ||
48 | }, | ||
49 | data () { | ||
50 | // To fix https://github.com/PanJiaChen/vue-admin-template/issues/237 | ||
51 | // TODO: refactor with render function | ||
52 | this.onlyOneChild = null | ||
53 | return {} | ||
54 | }, | ||
55 | methods: { | ||
56 | hasOneShowingChild (children = [], parent) { | ||
57 | const showingChildren = children.filter(item => { | ||
58 | if (item.hidden) { | ||
59 | return false | ||
60 | } else { | ||
61 | // Temp set(will be used if only has one showing child) | ||
62 | this.onlyOneChild = item | ||
63 | return true | ||
64 | } | ||
65 | }) | ||
66 | |||
67 | // When there is only one child router, the child router is displayed by default | ||
68 | if (showingChildren.length === 1) { | ||
69 | return true | ||
70 | } | ||
71 | |||
72 | // Show parent if there are no child router to display | ||
73 | if (showingChildren.length === 0) { | ||
74 | this.onlyOneChild = { ...parent, path: '', noShowingChildren: true } | ||
75 | return true | ||
76 | } | ||
77 | |||
78 | return false | ||
79 | }, | ||
80 | resolvePath (routePath) { | ||
81 | if (isExternal(routePath)) { | ||
82 | return routePath | ||
83 | } | ||
84 | if (isExternal(this.basePath)) { | ||
85 | return this.basePath | ||
86 | } | ||
87 | return path.resolve(this.basePath, routePath) | ||
88 | } | ||
89 | } | ||
90 | } | ||
91 | </script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <!-- | ||
2 | * @Description: log | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-23 16:29:12 | ||
5 | --> | ||
6 | <template> | ||
7 | <el-menu router :default-active="activeMenu" mode="horizontal"> | ||
8 | <!-- 权限菜单 --> | ||
9 | <sidebar-item v-for="route in permission_routes.slice(4, 7)" :key="route.path" :item="route" | ||
10 | :base-path="route.path" /> | ||
11 | <!-- 菜单全部展示 --> | ||
12 | <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> | ||
13 | </el-menu> | ||
14 | </template> | ||
15 | |||
16 | <script> | ||
17 | import { mapGetters } from 'vuex' | ||
18 | import Logo from './Logo' | ||
19 | import SidebarItem from './SidebarItem' | ||
20 | import variables from '@/styles/variables.scss' | ||
21 | import { asyncRoutes } from '@/router' | ||
22 | export default { | ||
23 | components: { SidebarItem, Logo }, | ||
24 | computed: { | ||
25 | ...mapGetters(['permission_routes', 'sidebar']), | ||
26 | |||
27 | activeMenu () { | ||
28 | |||
29 | const route = this.$route | ||
30 | const { meta, path } = route | ||
31 | if (meta.activeMenu) { | ||
32 | return meta.activeMenu | ||
33 | } | ||
34 | return path | ||
35 | }, | ||
36 | variables () { | ||
37 | return variables | ||
38 | }, | ||
39 | asyncRoutes () { | ||
40 | return asyncRoutes.slice(0, 3) | ||
41 | } | ||
42 | } | ||
43 | } | ||
44 | </script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <!-- | ||
2 | * @Author: xiaomiao 1158771342@qq.com | ||
3 | * @Date: 2023-01-10 09:03:06 | ||
4 | * @LastEditors: Please set LastEditors | ||
5 | * @LastEditTime: 2023-03-23 16:29:24 | ||
6 | * @FilePath: \监管系统\js-web-jianguan\src\layout\components\Sidebar\sidebarRight.vue | ||
7 | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | ||
8 | --> | ||
9 | <template> | ||
10 | <el-menu router :default-active="activeMenu" mode="horizontal"> | ||
11 | <!-- 权限菜单 --> | ||
12 | <sidebar-item v-for="route in permission_routes.slice(7, 10)" :key="route.path" :item="route" | ||
13 | :base-path="route.path" /> | ||
14 | <!-- 菜单全部展示 --> | ||
15 | <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> | ||
16 | </el-menu> | ||
17 | </template> | ||
18 | |||
19 | <script> | ||
20 | import { mapGetters } from 'vuex' | ||
21 | import Logo from './Logo' | ||
22 | import SidebarItem from './SidebarItem' | ||
23 | import variables from '@/styles/variables.scss' | ||
24 | import { asyncRoutes } from '@/router' | ||
25 | export default { | ||
26 | components: { SidebarItem, Logo }, | ||
27 | computed: { | ||
28 | ...mapGetters(['permission_routes', 'sidebar']), | ||
29 | activeMenu () { | ||
30 | const route = this.$route | ||
31 | const { meta, path } = route | ||
32 | if (meta.activeMenu) { | ||
33 | return meta.activeMenu | ||
34 | } | ||
35 | return path | ||
36 | }, | ||
37 | variables () { | ||
38 | return variables | ||
39 | }, | ||
40 | asyncRoutes () { | ||
41 | return asyncRoutes.slice(3, 6) | ||
42 | } | ||
43 | } | ||
44 | } | ||
45 | </script> |
1 | <template> | ||
2 | <el-scrollbar ref="scrollContainer" :vertical="false" class="scroll-container" @wheel.native.prevent="handleScroll"> | ||
3 | <slot /> | ||
4 | </el-scrollbar> | ||
5 | </template> | ||
6 | |||
7 | <script> | ||
8 | const tagAndTagSpacing = 4 // tagAndTagSpacing | ||
9 | |||
10 | export default { | ||
11 | name: 'ScrollPane', | ||
12 | data () { | ||
13 | return { | ||
14 | left: 0 | ||
15 | } | ||
16 | }, | ||
17 | computed: { | ||
18 | scrollWrapper () { | ||
19 | return this.$refs.scrollContainer.$refs.wrap | ||
20 | } | ||
21 | }, | ||
22 | mounted () { | ||
23 | this.scrollWrapper.addEventListener('scroll', this.emitScroll, true) | ||
24 | }, | ||
25 | beforeDestroy () { | ||
26 | this.scrollWrapper.removeEventListener('scroll', this.emitScroll) | ||
27 | }, | ||
28 | methods: { | ||
29 | handleScroll (e) { | ||
30 | const eventDelta = e.wheelDelta || -e.deltaY * 40 | ||
31 | const $scrollWrapper = this.scrollWrapper | ||
32 | $scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4 | ||
33 | }, | ||
34 | emitScroll () { | ||
35 | this.$emit('scroll') | ||
36 | }, | ||
37 | moveToTarget (currentTag) { | ||
38 | const $container = this.$refs.scrollContainer.$el | ||
39 | const $containerWidth = $container.offsetWidth | ||
40 | const $scrollWrapper = this.scrollWrapper | ||
41 | const tagList = this.$parent.$refs.tag | ||
42 | |||
43 | let firstTag = null | ||
44 | let lastTag = null | ||
45 | |||
46 | // find first tag and last tag | ||
47 | if (tagList.length > 0) { | ||
48 | firstTag = tagList[0] | ||
49 | lastTag = tagList[tagList.length - 1] | ||
50 | } | ||
51 | |||
52 | if (firstTag === currentTag) { | ||
53 | $scrollWrapper.scrollLeft = 0 | ||
54 | } else if (lastTag === currentTag) { | ||
55 | $scrollWrapper.scrollLeft = $scrollWrapper.scrollWidth - $containerWidth | ||
56 | } else { | ||
57 | // find preTag and nextTag | ||
58 | const currentIndex = tagList.findIndex(item => item === currentTag) | ||
59 | const prevTag = tagList[currentIndex - 1] | ||
60 | const nextTag = tagList[currentIndex + 1] | ||
61 | |||
62 | // the tag's offsetLeft after of nextTag | ||
63 | const afterNextTagOffsetLeft = nextTag.$el.offsetLeft + nextTag.$el.offsetWidth + tagAndTagSpacing | ||
64 | |||
65 | // the tag's offsetLeft before of prevTag | ||
66 | const beforePrevTagOffsetLeft = prevTag.$el.offsetLeft - tagAndTagSpacing | ||
67 | |||
68 | if (afterNextTagOffsetLeft > $scrollWrapper.scrollLeft + $containerWidth) { | ||
69 | $scrollWrapper.scrollLeft = afterNextTagOffsetLeft - $containerWidth | ||
70 | } else if (beforePrevTagOffsetLeft < $scrollWrapper.scrollLeft) { | ||
71 | $scrollWrapper.scrollLeft = beforePrevTagOffsetLeft | ||
72 | } | ||
73 | } | ||
74 | } | ||
75 | } | ||
76 | } | ||
77 | </script> | ||
78 | |||
79 | <style lang="scss" scoped> | ||
80 | .scroll-container { | ||
81 | white-space: nowrap; | ||
82 | position: relative; | ||
83 | overflow: hidden; | ||
84 | width: 100%; | ||
85 | height: 100%; | ||
86 | } | ||
87 | |||
88 | /deep/ .el-scrollbar__view { | ||
89 | display: inline-block !important; | ||
90 | } | ||
91 | |||
92 | /deep/ .el-scrollbar__wrap { | ||
93 | overflow-x: hidden !important; | ||
94 | } | ||
95 | </style> |
1 | <template> | ||
2 | <div id="tags-view-container" class="tags-view-container"> | ||
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':''" | ||
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):''" | ||
7 | @contextmenu.prevent.native="openMenu(tag,$event)"> | ||
8 | {{ tag.title }} | ||
9 | <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" /> | ||
10 | </router-link> | ||
11 | </scroll-pane> | ||
12 | <ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu"> | ||
13 | <li @click="refreshSelectedTag(selectedTag)">Refresh</li> | ||
14 | <li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">Close</li> | ||
15 | <li @click="closeOthersTags">Close Others</li> | ||
16 | <li @click="closeAllTags(selectedTag)">Close All</li> | ||
17 | </ul> | ||
18 | </div> | ||
19 | </template> | ||
20 | |||
21 | <script> | ||
22 | import ScrollPane from './ScrollPane' | ||
23 | import path from 'path' | ||
24 | |||
25 | export default { | ||
26 | components: { ScrollPane }, | ||
27 | data () { | ||
28 | return { | ||
29 | visible: false, | ||
30 | top: 0, | ||
31 | left: 0, | ||
32 | selectedTag: {}, | ||
33 | affixTags: [] | ||
34 | } | ||
35 | }, | ||
36 | computed: { | ||
37 | visitedViews () { | ||
38 | return this.$store.state.tagsView.visitedViews | ||
39 | }, | ||
40 | routes () { | ||
41 | return this.$store.state.permission.routes | ||
42 | } | ||
43 | }, | ||
44 | watch: { | ||
45 | $route () { | ||
46 | this.addTags() | ||
47 | this.moveToCurrentTag() | ||
48 | }, | ||
49 | visible (value) { | ||
50 | if (value) { | ||
51 | document.body.addEventListener('click', this.closeMenu) | ||
52 | } else { | ||
53 | document.body.removeEventListener('click', this.closeMenu) | ||
54 | } | ||
55 | } | ||
56 | }, | ||
57 | mounted () { | ||
58 | this.initTags() | ||
59 | this.addTags() | ||
60 | }, | ||
61 | methods: { | ||
62 | isActive (route) { | ||
63 | return route.path === this.$route.path | ||
64 | }, | ||
65 | isAffix (tag) { | ||
66 | return tag.meta && tag.meta.affix | ||
67 | }, | ||
68 | filterAffixTags (routes, basePath = '/') { | ||
69 | let tags = [] | ||
70 | routes.forEach(route => { | ||
71 | if (route.meta && route.meta.affix) { | ||
72 | const tagPath = path.resolve(basePath, route.path) | ||
73 | tags.push({ | ||
74 | fullPath: tagPath, | ||
75 | path: tagPath, | ||
76 | name: route.name, | ||
77 | meta: { ...route.meta } | ||
78 | }) | ||
79 | } | ||
80 | if (route.children) { | ||
81 | const tempTags = this.filterAffixTags(route.children, route.path) | ||
82 | if (tempTags.length >= 1) { | ||
83 | tags = [...tags, ...tempTags] | ||
84 | } | ||
85 | } | ||
86 | }) | ||
87 | return tags | ||
88 | }, | ||
89 | initTags () { | ||
90 | const affixTags = this.affixTags = this.filterAffixTags(this.routes) | ||
91 | for (const tag of affixTags) { | ||
92 | // Must have tag name | ||
93 | if (tag.name) { | ||
94 | this.$store.dispatch('tagsView/addVisitedView', tag) | ||
95 | } | ||
96 | } | ||
97 | }, | ||
98 | addTags () { | ||
99 | const { name } = this.$route | ||
100 | if (name) { | ||
101 | this.$store.dispatch('tagsView/addView', this.$route) | ||
102 | } | ||
103 | return false | ||
104 | }, | ||
105 | moveToCurrentTag () { | ||
106 | const tags = this.$refs.tag | ||
107 | this.$nextTick(() => { | ||
108 | for (const tag of tags) { | ||
109 | if (tag.to.path === this.$route.path) { | ||
110 | this.$refs.scrollPane.moveToTarget(tag) | ||
111 | // when query is different then update | ||
112 | if (tag.to.fullPath !== this.$route.fullPath) { | ||
113 | this.$store.dispatch('tagsView/updateVisitedView', this.$route) | ||
114 | } | ||
115 | break | ||
116 | } | ||
117 | } | ||
118 | }) | ||
119 | }, | ||
120 | refreshSelectedTag (view) { | ||
121 | this.$store.dispatch('tagsView/delCachedView', view).then(() => { | ||
122 | const { fullPath } = view | ||
123 | this.$nextTick(() => { | ||
124 | this.$router.replace({ | ||
125 | path: '/redirect' + fullPath | ||
126 | }) | ||
127 | }) | ||
128 | }) | ||
129 | }, | ||
130 | closeSelectedTag (view) { | ||
131 | this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => { | ||
132 | if (this.isActive(view)) { | ||
133 | this.toLastView(visitedViews, view) | ||
134 | } | ||
135 | }) | ||
136 | }, | ||
137 | closeOthersTags () { | ||
138 | this.$router.push(this.selectedTag) | ||
139 | this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => { | ||
140 | this.moveToCurrentTag() | ||
141 | }) | ||
142 | }, | ||
143 | closeAllTags (view) { | ||
144 | this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => { | ||
145 | if (this.affixTags.some(tag => tag.path === view.path)) { | ||
146 | return | ||
147 | } | ||
148 | this.toLastView(visitedViews, view) | ||
149 | }) | ||
150 | }, | ||
151 | toLastView (visitedViews, view) { | ||
152 | const latestView = visitedViews.slice(-1)[0] | ||
153 | if (latestView) { | ||
154 | this.$router.push(latestView.fullPath) | ||
155 | } else { | ||
156 | // now the default is to redirect to the home page if there is no tags-view, | ||
157 | // you can adjust it according to your needs. | ||
158 | if (view.name === 'Dashboard') { | ||
159 | // to reload home page | ||
160 | this.$router.replace({ path: '/redirect' + view.fullPath }) | ||
161 | } else { | ||
162 | this.$router.push('/') | ||
163 | } | ||
164 | } | ||
165 | }, | ||
166 | openMenu (tag, e) { | ||
167 | const menuMinWidth = 105 | ||
168 | const offsetLeft = this.$el.getBoundingClientRect().left // container margin left | ||
169 | const offsetWidth = this.$el.offsetWidth // container width | ||
170 | const maxLeft = offsetWidth - menuMinWidth // left boundary | ||
171 | const left = e.clientX - offsetLeft + 15 // 15: margin right | ||
172 | |||
173 | if (left > maxLeft) { | ||
174 | this.left = maxLeft | ||
175 | } else { | ||
176 | this.left = left | ||
177 | } | ||
178 | |||
179 | this.top = e.clientY | ||
180 | this.visible = true | ||
181 | this.selectedTag = tag | ||
182 | }, | ||
183 | closeMenu () { | ||
184 | this.visible = false | ||
185 | }, | ||
186 | handleScroll () { | ||
187 | this.closeMenu() | ||
188 | } | ||
189 | } | ||
190 | } | ||
191 | </script> | ||
192 | |||
193 | <style lang="scss" scoped> | ||
194 | .tags-view-container { | ||
195 | height: 40px; | ||
196 | width: 100%; | ||
197 | background: #fff; | ||
198 | border-bottom: 1px solid #d8dce5; | ||
199 | box-sizing: border-box; | ||
200 | padding-top: 3px; | ||
201 | box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04); | ||
202 | |||
203 | .tags-view-wrapper { | ||
204 | .tags-view-item { | ||
205 | display: inline-block; | ||
206 | position: relative; | ||
207 | cursor: pointer; | ||
208 | height: 26px; | ||
209 | line-height: 26px; | ||
210 | border: 1px solid #d8dce5; | ||
211 | color: #495060; | ||
212 | background: #fff; | ||
213 | padding: 0 8px; | ||
214 | font-size: 12px; | ||
215 | margin-left: 5px; | ||
216 | margin-top: 4px; | ||
217 | |||
218 | &:first-of-type { | ||
219 | margin-left: 15px; | ||
220 | } | ||
221 | |||
222 | &:last-of-type { | ||
223 | margin-right: 15px; | ||
224 | } | ||
225 | |||
226 | &.active { | ||
227 | background-color: #0794FF; | ||
228 | color: #fff; | ||
229 | border-color: #0794FF; | ||
230 | |||
231 | &::before { | ||
232 | content: ''; | ||
233 | background: #fff; | ||
234 | display: inline-block; | ||
235 | width: 8px; | ||
236 | height: 8px; | ||
237 | border-radius: 50%; | ||
238 | position: relative; | ||
239 | margin-right: 2px; | ||
240 | } | ||
241 | } | ||
242 | } | ||
243 | } | ||
244 | |||
245 | .contextmenu { | ||
246 | margin: 0; | ||
247 | background: #fff; | ||
248 | z-index: 3000; | ||
249 | position: absolute; | ||
250 | list-style-type: none; | ||
251 | padding: 5px 0; | ||
252 | border-radius: 4px; | ||
253 | font-size: 12px; | ||
254 | font-weight: 400; | ||
255 | color: #333; | ||
256 | box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); | ||
257 | |||
258 | li { | ||
259 | margin: 0; | ||
260 | padding: 7px 16px; | ||
261 | cursor: pointer; | ||
262 | |||
263 | &:hover { | ||
264 | background: #eee; | ||
265 | } | ||
266 | } | ||
267 | } | ||
268 | } | ||
269 | </style> | ||
270 | |||
271 | <style lang="scss"> | ||
272 | //reset element css of el-icon-close | ||
273 | .tags-view-wrapper { | ||
274 | .tags-view-item { | ||
275 | .el-icon-close { | ||
276 | width: 16px; | ||
277 | height: 16px; | ||
278 | vertical-align: 2px; | ||
279 | border-radius: 50%; | ||
280 | text-align: center; | ||
281 | transition: all .3s cubic-bezier(.645, .045, .355, 1); | ||
282 | transform-origin: 100% 50%; | ||
283 | |||
284 | &:before { | ||
285 | transform: scale(.6); | ||
286 | display: inline-block; | ||
287 | vertical-align: -3px; | ||
288 | } | ||
289 | |||
290 | &:hover { | ||
291 | background-color: #b4bccc; | ||
292 | color: #fff; | ||
293 | } | ||
294 | } | ||
295 | } | ||
296 | } | ||
297 | </style> |
src/layout/components/index.js
deleted
100644 → 0
src/layout/index.vue
deleted
100644 → 0
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-23 15:17:24 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="app-wrapper jgWrapper"> | ||
8 | <navbar /> | ||
9 | <div class="appMain"> | ||
10 | <app-main /> | ||
11 | </div> | ||
12 | </div> | ||
13 | </template> | ||
14 | <script> | ||
15 | import { AppMain, Navbar, Sidebar, TagsView } from './components' | ||
16 | import ResizeMixin from './mixin/ResizeHandler' | ||
17 | import { mapState } from 'vuex' | ||
18 | export default { | ||
19 | name: 'Layout', | ||
20 | components: { | ||
21 | AppMain, | ||
22 | Navbar, | ||
23 | Sidebar, | ||
24 | TagsView | ||
25 | }, | ||
26 | created () { | ||
27 | this.$store.dispatch("products/setData", "BDCJGPT"); | ||
28 | }, | ||
29 | mixins: [ResizeMixin], | ||
30 | computed: { | ||
31 | ...mapState({ | ||
32 | sidebar: state => state.app.sidebar, | ||
33 | needTagsView: state => state.settings.tagsView, | ||
34 | fixedHeader: state => state.settings.fixedHeader | ||
35 | }) | ||
36 | } | ||
37 | } | ||
38 | </script> | ||
39 | <style lang="scss"> | ||
40 | @import "~@/styles/jgSidebar.scss"; | ||
41 | </style> | ||
42 | <style lang="scss" scoped> | ||
43 | @import "~@/styles/mixin.scss"; | ||
44 | |||
45 | .app-wrapper { | ||
46 | @include clearfix; | ||
47 | position: relative; | ||
48 | height: 100%; | ||
49 | width: 100%; | ||
50 | min-width: 1280px; | ||
51 | background: url("~@/image/bg.png") no-repeat; | ||
52 | background-size: 100% 100%; | ||
53 | padding: 12px; | ||
54 | box-sizing: border-box; | ||
55 | |||
56 | &.mobile.openSidebar { | ||
57 | position: fixed; | ||
58 | top: 0; | ||
59 | } | ||
60 | } | ||
61 | |||
62 | .appMain { | ||
63 | // min-width: 1280px; | ||
64 | height: calc(100vh - 101px) !important; | ||
65 | box-sizing: border-box; | ||
66 | |||
67 | .app-main { | ||
68 | height: 100%; | ||
69 | } | ||
70 | } | ||
71 | </style> |
src/layout/mixin/ResizeHandler.js
deleted
100644 → 0
1 | import store from '@/store' | ||
2 | |||
3 | const { body } = document | ||
4 | const WIDTH = 992 // refer to Bootstrap's responsive design | ||
5 | |||
6 | export default { | ||
7 | watch: { | ||
8 | $route(route) { | ||
9 | if (this.device === 'mobile' && this.sidebar.opened) { | ||
10 | store.dispatch('app/closeSideBar', { withoutAnimation: false }) | ||
11 | } | ||
12 | } | ||
13 | }, | ||
14 | beforeMount() { | ||
15 | window.addEventListener('resize', this.$_resizeHandler) | ||
16 | }, | ||
17 | beforeDestroy() { | ||
18 | window.removeEventListener('resize', this.$_resizeHandler) | ||
19 | }, | ||
20 | mounted() { | ||
21 | const isMobile = this.$_isMobile() | ||
22 | if (isMobile) { | ||
23 | store.dispatch('app/toggleDevice', 'mobile') | ||
24 | store.dispatch('app/closeSideBar', { withoutAnimation: true }) | ||
25 | } | ||
26 | }, | ||
27 | methods: { | ||
28 | // use $_ for mixins properties | ||
29 | // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential | ||
30 | $_isMobile() { | ||
31 | const rect = body.getBoundingClientRect() | ||
32 | return rect.width - 1 < WIDTH | ||
33 | }, | ||
34 | $_resizeHandler() { | ||
35 | if (!document.hidden) { | ||
36 | const isMobile = this.$_isMobile() | ||
37 | store.dispatch('app/toggleDevice', isMobile ? 'mobile' : 'desktop') | ||
38 | |||
39 | if (isMobile) { | ||
40 | store.dispatch('app/closeSideBar', { withoutAnimation: true }) | ||
41 | } | ||
42 | } | ||
43 | } | ||
44 | } | ||
45 | } |
1 | import Vue from 'vue' | 1 | import Vue from 'vue' |
2 | import Router from 'vue-router' | 2 | import Router from 'vue-router' |
3 | Vue.use(Router) | 3 | Vue.use(Router) |
4 | import Layout from '@/layout' | 4 | import Layout from '@/layout1' |
5 | 5 | ||
6 | export const constantRoutes = [ | 6 | export const constantRoutes = [ |
7 | { | 7 | { | ... | ... |
... | @@ -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 15:24:53 | 3 | * @Date: 2023-03-09 15:24:53 |
4 | * @LastEditors: Please set LastEditors | 4 | * @LastEditors: Please set LastEditors |
5 | * @LastEditTime: 2023-03-23 10:19:35 | 5 | * @LastEditTime: 2023-05-11 16:30:18 |
6 | * @FilePath: \上报\bdcjg-web\src\store\modules\permission.js | 6 | * @FilePath: \上报\bdcjg-web\src\store\modules\permission.js |
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 | */ |
... | @@ -26,12 +26,7 @@ const mutations = { | ... | @@ -26,12 +26,7 @@ const mutations = { |
26 | const actions = { | 26 | const actions = { |
27 | // 添加全部菜单 | 27 | // 添加全部菜单 |
28 | generateRoutes ({ commit }, getMenuInfo) { | 28 | generateRoutes ({ commit }, getMenuInfo) { |
29 | let Layout; | 29 | let Layout = r => require.ensure([], () => r(require(`@/layout1`))) |
30 | if (Vue.prototype.BASE_API.THEME == 'sb') { | ||
31 | Layout = r => require.ensure([], () => r(require(`@/layout1`))) | ||
32 | } else { | ||
33 | Layout = r => require.ensure([], () => r(require(`@/layout`))) | ||
34 | } | ||
35 | function asyncRouter (routers) { | 30 | function asyncRouter (routers) { |
36 | routers.forEach(item => { | 31 | routers.forEach(item => { |
37 | if (!item.children) { | 32 | if (!item.children) { | ... | ... |
src/styles/jgElement-ui.scss
deleted
100644 → 0
1 | // cover some element-ui styles | ||
2 | .el-breadcrumb__inner, | ||
3 | .el-breadcrumb__inner a { | ||
4 | font-weight: 400 !important; | ||
5 | color: #686666; | ||
6 | } | ||
7 | |||
8 | .el-table .cell { | ||
9 | line-height: 16px; | ||
10 | } | ||
11 | |||
12 | // input 样式 | ||
13 | // 全局css 加上以下代码,可以隐藏上下箭头 | ||
14 | |||
15 | // 取消input的上下箭头 | ||
16 | input::-webkit-inner-spin-button { | ||
17 | -webkit-appearance: none !important; | ||
18 | |||
19 | } | ||
20 | |||
21 | input::-webkit-outer-spin-button { | ||
22 | -webkit-appearance: none !important; | ||
23 | |||
24 | } | ||
25 | |||
26 | input[type="number"] { | ||
27 | -moz-appearance: textfield; | ||
28 | |||
29 | } | ||
30 | |||
31 | .el-upload { | ||
32 | input[type="file"] { | ||
33 | display: none !important; | ||
34 | } | ||
35 | } | ||
36 | |||
37 | .el-upload__input { | ||
38 | display: none; | ||
39 | } | ||
40 | |||
41 | .cell { | ||
42 | .el-tag { | ||
43 | margin-right: 0px; | ||
44 | } | ||
45 | } | ||
46 | |||
47 | .small-padding { | ||
48 | .cell { | ||
49 | padding-left: 5px; | ||
50 | padding-right: 5px; | ||
51 | } | ||
52 | } | ||
53 | |||
54 | .fixed-width { | ||
55 | .el-button--mini { | ||
56 | padding: 7px 10px; | ||
57 | min-width: 60px; | ||
58 | } | ||
59 | } | ||
60 | |||
61 | .status-col { | ||
62 | .cell { | ||
63 | padding: 0 10px; | ||
64 | text-align: center; | ||
65 | |||
66 | .el-tag { | ||
67 | margin-right: 0px; | ||
68 | } | ||
69 | } | ||
70 | } | ||
71 | |||
72 | .el-icon-date, | ||
73 | .el-icon-time { | ||
74 | display: none; | ||
75 | } | ||
76 | |||
77 | // to fixed https://github.com/ElemeFE/element/issues/2461 | ||
78 | // refine element ui upload | ||
79 | .el-input.is-disabled .el-input__inner { | ||
80 | color: #FFFFFF !important; | ||
81 | background-color: transparent !important; | ||
82 | border: 1px solid #224C7C !important; | ||
83 | } | ||
84 | |||
85 | .upload-container { | ||
86 | .el-upload { | ||
87 | width: 100%; | ||
88 | |||
89 | .el-upload-dragger { | ||
90 | width: 100%; | ||
91 | height: 200px; | ||
92 | } | ||
93 | } | ||
94 | } | ||
95 | |||
96 | // dropdown | ||
97 | .el-dropdown-menu { | ||
98 | a { | ||
99 | display: block | ||
100 | } | ||
101 | } | ||
102 | |||
103 | // fix date-picker ui bug in filter-item | ||
104 | .el-range-editor.el-input__inner { | ||
105 | display: inline-flex !important; | ||
106 | } | ||
107 | |||
108 | // to fix el-date-picker css style | ||
109 | .el-range-separator { | ||
110 | box-sizing: content-box; | ||
111 | } | ||
112 | |||
113 | .el-submenu__icon-arrow { | ||
114 | margin-top: -5px; | ||
115 | } | ||
116 | |||
117 | /* --------------进度条美化---------------- */ | ||
118 | ::-webkit-scrollbar { | ||
119 | width: 7px; | ||
120 | height: 7px; | ||
121 | } | ||
122 | |||
123 | ::-webkit-scrollbar-corner { | ||
124 | display: none; | ||
125 | } | ||
126 | |||
127 | ::-webkit-scrollbar-track { | ||
128 | width: 7px; | ||
129 | background-color: rgba(0, 0, 0, 0); | ||
130 | -webkit-border-radius: 6px; | ||
131 | -moz-border-radius: 6px; | ||
132 | border-radius: 6px; | ||
133 | } | ||
134 | |||
135 | ::-webkit-scrollbar-thumb { | ||
136 | background: rgba(69, 138, 207, .6); | ||
137 | background-clip: padding-box; | ||
138 | min-height: 28px; | ||
139 | -webkit-border-radius: 6px; | ||
140 | -moz-border-radius: 6px; | ||
141 | border-radius: 6px; | ||
142 | } | ||
143 | |||
144 | ::-webkit-scrollbar-thumb:hover { | ||
145 | background: rgba(69, 138, 207, .6); | ||
146 | } | ||
147 | |||
148 | // 滚动条位置 | ||
149 | |||
150 | |||
151 | // element 样式补丁 | ||
152 | .el-menu--horizontal { | ||
153 | border-bottom: none !important; | ||
154 | } | ||
155 | |||
156 | .el-radio-group { | ||
157 | .el-radio-button__inner { | ||
158 | height: 36px; | ||
159 | line-height: 36px; | ||
160 | padding: 0 20px; | ||
161 | font-size: 14px; | ||
162 | } | ||
163 | |||
164 | .el-radio-button:first-child { | ||
165 | border-radius: 4px 0 0 4px; | ||
166 | } | ||
167 | |||
168 | .el-radio-button:last-child { | ||
169 | border-radius: 0 4px 4px 0; | ||
170 | } | ||
171 | } | ||
172 | |||
173 | .el-tabs__item:focus.is-active.is-focus:not(:active) { | ||
174 | box-shadow: none !important; | ||
175 | } | ||
176 | |||
177 | // Divider 分割线 样式的修改 | ||
178 | .el-divider--horizontal { | ||
179 | margin: 10px 0 !important; | ||
180 | } | ||
181 | |||
182 | .el-row { | ||
183 | margin-bottom: 0 !important; | ||
184 | } | ||
185 | |||
186 | // form | ||
187 | .el-form-item__content { | ||
188 | margin-left: 0 !important; | ||
189 | } | ||
190 | |||
191 | .el-icon-full-screen, | ||
192 | .el-icon-rank { | ||
193 | cursor: pointer; | ||
194 | } | ||
195 | |||
196 | // element table 样式修改 | ||
197 | //去掉表格内的线 | ||
198 | table th { | ||
199 | border-bottom: none !important; | ||
200 | } | ||
201 | |||
202 | // .el-table__body { | ||
203 | // -webkit-border-vertical-spacing: 6px !important; // 垂直间距 | ||
204 | // } | ||
205 | |||
206 | table td { | ||
207 | box-sizing: border-box; | ||
208 | border-bottom: 1px solid #458ACF !important; | ||
209 | } | ||
210 | |||
211 | //去掉最下面的那一条线 | ||
212 | .el-table::before { | ||
213 | height: 0; | ||
214 | } | ||
215 | |||
216 | .el-table__body tr { | ||
217 | box-sizing: content-box !important; | ||
218 | cursor: pointer; | ||
219 | } | ||
220 | |||
221 | .el-table__body-wrapper .el-table__body tr:hover { | ||
222 | background: #063160 !important; | ||
223 | box-shadow: inset 0px 0px 20px 0px #03DBFF !important; | ||
224 | } | ||
225 | |||
226 | .el-table__body tr:hover>td, | ||
227 | .el-table__body tr.hover-row>td.el-table__cell { | ||
228 | background: none !important; | ||
229 | } | ||
230 | |||
231 | // table 固定列样式 | ||
232 | .el-table__fixed-right-patch { | ||
233 | background-color: #073781; | ||
234 | border-bottom: none; | ||
235 | } | ||
236 | |||
237 | .el-table__fixed-right { | ||
238 | background-color: #073781 | ||
239 | } | ||
240 | |||
241 | .el-table__fixed::before, | ||
242 | .el-table__fixed-right::before { | ||
243 | display: none; | ||
244 | } | ||
245 | |||
246 | // 表格样式 | ||
247 | .el-table th { | ||
248 | height: 48px !important; | ||
249 | font-size: 14px; | ||
250 | color: #4A4A4A; | ||
251 | } | ||
252 | |||
253 | .twoLineCls { | ||
254 | text-overflow: -o-ellipsis-lastline; | ||
255 | overflow: hidden; | ||
256 | text-overflow: ellipsis; | ||
257 | display: -webkit-box; | ||
258 | -webkit-line-clamp: 2; | ||
259 | line-clamp: 2; | ||
260 | -webkit-box-orient: vertical; | ||
261 | } | ||
262 | |||
263 | .el-table tr td { | ||
264 | font-size: 14px; | ||
265 | color: #7A7A7A; | ||
266 | } | ||
267 | |||
268 | .lb-table .el-table { | ||
269 | border-bottom: none; | ||
270 | border-radius: 4px 4px 0 0; | ||
271 | } | ||
272 | |||
273 | .el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip { | ||
274 | display: none !important | ||
275 | } | ||
276 | |||
277 | .el-message-box__btns { | ||
278 | display: flex; | ||
279 | flex-direction: row-reverse; | ||
280 | } | ||
281 | |||
282 | .el-message-box__btns .el-button--primary { | ||
283 | margin-right: 10px; | ||
284 | } | ||
285 | |||
286 | .el-form-item__content { | ||
287 | flex: 1; | ||
288 | } | ||
289 | |||
290 | .el-submenu__title { | ||
291 | .svg-icon { | ||
292 | position: relative; | ||
293 | top: 2px; | ||
294 | } | ||
295 | } | ||
296 | |||
297 | |||
298 | // element 下拉框样式 | ||
299 | .el-menu--popup, | ||
300 | .el-select-dropdown { | ||
301 | background: url("~@/image/slbg.png") no-repeat; | ||
302 | background-size: 100% 100%; | ||
303 | padding: 10px; | ||
304 | border: none; | ||
305 | } | ||
306 | |||
307 | .el-popper[x-placement^="bottom"] .popper__arrow::after { | ||
308 | display: none; | ||
309 | } | ||
310 | |||
311 | .el-popper[x-placement^="bottom"] .popper__arrow { | ||
312 | display: none; | ||
313 | } | ||
314 | |||
315 | .el-popper[x-placement^="bottom"] { | ||
316 | margin-top: 0px; | ||
317 | } | ||
318 | |||
319 | // 时间选择框样式 | ||
320 | .el-date-picker { | ||
321 | background: url("~@/image/slbg.png") no-repeat; | ||
322 | background-size: 100% 100%; | ||
323 | padding-top: 13px; | ||
324 | padding-bottom: 13px; | ||
325 | border: none; | ||
326 | |||
327 | margin-top: 5px !important; | ||
328 | |||
329 | table { | ||
330 | background: url("~@/image/rqjx.png") no-repeat; | ||
331 | background-size: 100% 100%; | ||
332 | padding: 8px; | ||
333 | } | ||
334 | |||
335 | table td { | ||
336 | box-sizing: border-box; | ||
337 | border-bottom: 0px solid #074487 !important; | ||
338 | } | ||
339 | |||
340 | .el-input__inner { | ||
341 | background-color: #031a46; | ||
342 | } | ||
343 | |||
344 | .el-picker-panel { | ||
345 | border: none; | ||
346 | } | ||
347 | |||
348 | .el-picker-panel__footer { | ||
349 | display: none; | ||
350 | background-color: #031a46; | ||
351 | } | ||
352 | |||
353 | .el-date-table td.disabled div { | ||
354 | background-color: #074487; | ||
355 | } | ||
356 | |||
357 | .el-date-picker__header { | ||
358 | margin-bottom: 0px; | ||
359 | } | ||
360 | |||
361 | .el-date-picker__header-label { | ||
362 | color: #A6CFD6; | ||
363 | } | ||
364 | |||
365 | .el-picker-panel__content { | ||
366 | padding-top: 0px; | ||
367 | margin-top: 0px; | ||
368 | |||
369 | .disabled { | ||
370 | background-color: #074487; | ||
371 | |||
372 | div { | ||
373 | span { | ||
374 | color: rgba(172, 239, 250, .5) | ||
375 | } | ||
376 | } | ||
377 | |||
378 | } | ||
379 | } | ||
380 | |||
381 | |||
382 | .el-picker-panel__icon-btn { | ||
383 | color: #A6CFD6; | ||
384 | } | ||
385 | |||
386 | .el-date-table th { | ||
387 | color: #02D9FD; | ||
388 | } | ||
389 | |||
390 | .el-date-table td span { | ||
391 | color: #DBFAFF | ||
392 | } | ||
393 | |||
394 | .el-date-table td span:hover { | ||
395 | background-color: #074487; | ||
396 | border: 1px solid #02D9FD; | ||
397 | color: #02D9FD | ||
398 | } | ||
399 | |||
400 | .el-date-table td.current:not(.disabled) span { | ||
401 | background-color: #074487; | ||
402 | // border:1px solid saddlebrown; | ||
403 | box-shadow: inset 0 0 7px #02D9FD; | ||
404 | border: 1px solid #02D9FD; | ||
405 | color: #02D9FD | ||
406 | } | ||
407 | |||
408 | } | ||
409 | |||
410 | // 时间选择框分两个框 | ||
411 | .el-date-range-picker { | ||
412 | .el-date-range-picker__time-header>.el-icon-arrow-right { | ||
413 | color: #E3F1FF; | ||
414 | } | ||
415 | |||
416 | background-color: #074487; | ||
417 | color: #fff; | ||
418 | |||
419 | .el-input__inner { | ||
420 | background: color #074487; | ||
421 | } | ||
422 | |||
423 | .el-input.is-disabled .el-input__inner { | ||
424 | background-color: #074487; | ||
425 | } | ||
426 | |||
427 | .el-date-range-picker__time-header { | ||
428 | background-color: #031a46; | ||
429 | } | ||
430 | |||
431 | .el-time-panel { | ||
432 | background-color: #074487 !important; | ||
433 | color: #E3F1FF; | ||
434 | } | ||
435 | |||
436 | .el-picker-panel__icon-btn { | ||
437 | color: #E3F1FF; | ||
438 | } | ||
439 | |||
440 | .el-date-table th { | ||
441 | color: #E3F1FF; | ||
442 | } | ||
443 | |||
444 | .el-time-spinner__item { | ||
445 | color: #E3F1FF; | ||
446 | } | ||
447 | |||
448 | .el-time-spinner__item.active:not(.disabled) { | ||
449 | color: #fff; | ||
450 | } | ||
451 | |||
452 | .el-time-panel__btn { | ||
453 | color: #0F93F6; | ||
454 | } | ||
455 | |||
456 | .el-time-panel__btn.confirm { | ||
457 | width: 50px; | ||
458 | height: 25px; | ||
459 | line-height: 25px; | ||
460 | border-radius: 3px; | ||
461 | background-color: #fff; | ||
462 | } | ||
463 | |||
464 | .el-time-panel__footer { | ||
465 | background-color: #031a46; | ||
466 | } | ||
467 | |||
468 | .el-date-table td.in-range div { | ||
469 | background-color: #031a46; | ||
470 | } | ||
471 | |||
472 | .el-date-table td.start-date span, | ||
473 | .el-date-table td.end-date span { | ||
474 | background-color: #074487; | ||
475 | box-shadow: inset 0 0 7px #02D9FD; | ||
476 | border: 1px solid #02D9FD; | ||
477 | } | ||
478 | } | ||
479 | |||
480 | .el-button--text { | ||
481 | line-height: 10px; | ||
482 | } | ||
483 | |||
484 | // 时间组件input框部分 | ||
485 | .el-date-editor { | ||
486 | |||
487 | [class^="el-icon-"], | ||
488 | [class*=" el-icon-"] { | ||
489 | // display: none; | ||
490 | } | ||
491 | |||
492 | .el-range-separator { | ||
493 | color: #E3F1FF; | ||
494 | } | ||
495 | |||
496 | .el-range-input { | ||
497 | background: none !important; | ||
498 | color: #fff; | ||
499 | } | ||
500 | } | ||
501 | |||
502 | .el-menu--horizontal .el-menu .el-menu-item, | ||
503 | .el-select-dropdown__item, | ||
504 | .el-menu--horizontal .el-menu .el-submenu__title { | ||
505 | background: url("~@/image/slitembg.png") no-repeat; | ||
506 | height: 26px; | ||
507 | line-height: 26px; | ||
508 | background-size: 100% 100%; | ||
509 | margin-bottom: 12px; | ||
510 | color: #02D9FD !important; | ||
511 | } | ||
512 | |||
513 | .el-select-dropdown { | ||
514 | margin-top: 5px !important; | ||
515 | } | ||
516 | |||
517 | .el-menu--horizontal .el-menu--popup .el-menu-item:not(.is-disabled):hover, | ||
518 | .el-select-dropdown__item:hover, | ||
519 | .el-select-dropdown__item.selected, | ||
520 | .el-menu--horizontal .el-menu .el-menu-item.is-active, | ||
521 | .el-menu--horizontal .el-menu--popup .el-menu-item:not(.is-disabled):focus { | ||
522 | background: url("~@/image/xzslitembg.png") no-repeat; | ||
523 | background-size: 100% 100%; | ||
524 | color: #FFFFFF !important; | ||
525 | font-weight: 700; | ||
526 | } | ||
527 | |||
528 | .el-select-dropdown__item.hover, | ||
529 | .el-select-dropdown__item:hover { | ||
530 | background-color: transparent !important; | ||
531 | } | ||
532 | |||
533 | // 提示框 | ||
534 | .el-message-box { | ||
535 | background: #031A46; | ||
536 | -webkit-box-shadow: inset 0px 0px 12px 0px #02d9fd; | ||
537 | box-shadow: inset 0px 0px 12px 0px #02d9fd; | ||
538 | border-radius: 0px 2px 2px 2px; | ||
539 | border: 1px solid #6BC1FC; | ||
540 | padding: 15px; | ||
541 | |||
542 | .el-message-box__title { | ||
543 | color: white; | ||
544 | } | ||
545 | |||
546 | .el-message-box__content { | ||
547 | color: white; | ||
548 | } | ||
549 | } | ||
550 | |||
551 | // 上级菜单 | ||
552 | .el-cascader__dropdown { | ||
553 | background-color: #031a46; | ||
554 | border: 1px solid #5f82c7; | ||
555 | |||
556 | } | ||
557 | |||
558 | .el-cascader-menu { | ||
559 | color: white; | ||
560 | } | ||
561 | |||
562 | .el-radio { | ||
563 | .el-cascader-menu:hover { | ||
564 | color: white; | ||
565 | } | ||
566 | } | ||
567 | |||
568 | .el-cascader-node:not(.is-disabled):hover, | ||
569 | .el-cascader-node:not(.is-disabled):focus { | ||
570 | background: #F5F7FA; | ||
571 | background-image: initial; | ||
572 | background-position-x: initial; | ||
573 | background-position-y: initial; | ||
574 | background-size: initial; | ||
575 | background-repeat-x: initial; | ||
576 | background-repeat-y: initial; | ||
577 | background-attachment: initial; | ||
578 | background-origin: initial; | ||
579 | background-clip: initial; | ||
580 | background-color: rgb(80, 142, 235); | ||
581 | } | ||
582 | |||
583 | // 下拉框 | ||
584 | .el-menu--popup { | ||
585 | padding-top: 20px; | ||
586 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/styles/jgPublic.scss
deleted
100644 → 0
1 | @import '~@/styles/jgElement-ui.scss'; | ||
2 | |||
3 | .el-menu--horizontal { | ||
4 | display: flex; | ||
5 | background: none !important; | ||
6 | } | ||
7 | |||
8 | // 列表样式 | ||
9 | .tableClass { | ||
10 | .el-table { | ||
11 | border: none !important; | ||
12 | border-radius: 0 !important; | ||
13 | background-color: rgba(0, 0, 0, 0); | ||
14 | |||
15 | .el-table__header-wrapper { | ||
16 | border-right: none; | ||
17 | |||
18 | } | ||
19 | |||
20 | .el-table__row .cell { | ||
21 | color: #8DEAF9 !important; | ||
22 | font-weight: 100 !important; | ||
23 | } | ||
24 | |||
25 | .el-table__row { | ||
26 | background: rgba(0, 0, 0, 0) !important; | ||
27 | } | ||
28 | |||
29 | thead { | ||
30 | background: #073781; | ||
31 | border-radius: 2px; | ||
32 | height: 42px; | ||
33 | |||
34 | & th { | ||
35 | //inherit:规定应该从父元素继承 background-color 属性的设置。 | ||
36 | //transparent:默认。背景颜色为透明。 | ||
37 | // background-color: inherit !important; | ||
38 | background-color: transparent; | ||
39 | color: #02D9FD; | ||
40 | } | ||
41 | |||
42 | & tr { | ||
43 | // background-color: inherit !important; | ||
44 | background-color: transparent; | ||
45 | } | ||
46 | } | ||
47 | } | ||
48 | } | ||
49 | |||
50 | //*****start*通用表单查询条件,列表样式******// | ||
51 | .bgc { | ||
52 | box-shadow: inset 0px 0px 8px 0px rgba(255, 255, 255, 0.5); | ||
53 | background-color: rgba(0, 0, 0, 0); | ||
54 | } | ||
55 | |||
56 | //input | ||
57 | .el-input__inner { | ||
58 | color: #FFFFFF !important; | ||
59 | padding: 0 7px !important; | ||
60 | } | ||
61 | |||
62 | |||
63 | |||
64 | // 查询表单样式 | ||
65 | .from-clues { | ||
66 | height: 100%; | ||
67 | width: 100%; | ||
68 | // min-width: 1280px; | ||
69 | box-sizing: border-box; | ||
70 | overflow-x: hidden; | ||
71 | padding: 2px; | ||
72 | |||
73 | &-header { | ||
74 | width: 100%; | ||
75 | padding: 5px 30px 20px 24px; | ||
76 | box-sizing: border-box; | ||
77 | background: url("~@/image/formHeader.png") no-repeat; | ||
78 | background-size: 100% 100%; | ||
79 | margin-top: 15px; | ||
80 | |||
81 | .el-form-item__label { | ||
82 | color: #E3F1FF; | ||
83 | } | ||
84 | |||
85 | |||
86 | |||
87 | /deep/.el-icon-arrow-right { | ||
88 | color: rgb(228, 20, 20) !important; | ||
89 | } | ||
90 | |||
91 | |||
92 | |||
93 | .el-input__inner { | ||
94 | background: #07388B; | ||
95 | border-radius: 2px; | ||
96 | color: #E3F1FF !important; | ||
97 | border: 1px solid #6BC1FC; | ||
98 | } | ||
99 | |||
100 | .el-input__inner::placeholder { | ||
101 | color: #92BEDC !important; | ||
102 | } | ||
103 | } | ||
104 | |||
105 | .el-dialog__close { | ||
106 | font-size: 0; | ||
107 | } | ||
108 | |||
109 | .el-form-item { | ||
110 | display: flex; | ||
111 | width: 100%; | ||
112 | } | ||
113 | |||
114 | .advanced-search { | ||
115 | display: flex; | ||
116 | font-size: 12px; | ||
117 | flex-wrap: wrap; | ||
118 | padding-top: 5px; | ||
119 | height: 30px; | ||
120 | |||
121 | span { | ||
122 | display: flex; | ||
123 | align-items: center; | ||
124 | } | ||
125 | |||
126 | i { | ||
127 | color: $light-blue; | ||
128 | margin-left: 5px; | ||
129 | cursor: pointer; | ||
130 | } | ||
131 | |||
132 | ul { | ||
133 | display: flex; | ||
134 | align-items: center; | ||
135 | |||
136 | li { | ||
137 | color: $light-blue; | ||
138 | border: 1px solid $light-blue; | ||
139 | border-radius: 10px; | ||
140 | padding: 2px 8px; | ||
141 | line-height: 16px; | ||
142 | } | ||
143 | } | ||
144 | |||
145 | .clean-btn { | ||
146 | margin-left: 10px; | ||
147 | } | ||
148 | } | ||
149 | |||
150 | &-content { | ||
151 | width: 100%; | ||
152 | box-sizing: border-box; | ||
153 | margin-top: 15px; | ||
154 | background: url("~@/image/formContent.png") no-repeat; | ||
155 | background-size: 100% 100%; | ||
156 | padding: 22px 42px 20px; | ||
157 | //修改表头的背景颜色横向渐变色 | ||
158 | @extend .tableClass; | ||
159 | |||
160 | .el-pagination__total { | ||
161 | color: #FFFFFF; | ||
162 | } | ||
163 | |||
164 | .el-pagination { | ||
165 | .el-input__inner { | ||
166 | color: #FFFFFF; | ||
167 | border: none; | ||
168 | @extend .bgc; | ||
169 | } | ||
170 | |||
171 | .el-pager li:not(.disabled).active { | ||
172 | box-shadow: inset 0px 0px 12px 0px #02D9FD; | ||
173 | border-radius: 1px; | ||
174 | border: 1px solid #02D9FD; | ||
175 | background-color: rgba(0, 0, 0, 0); | ||
176 | } | ||
177 | |||
178 | .el-pager li { | ||
179 | @extend .bgc; | ||
180 | color: #FFFFFF; | ||
181 | } | ||
182 | } | ||
183 | } | ||
184 | |||
185 | |||
186 | |||
187 | .el-form--inline .el-form-item { | ||
188 | width: auto; | ||
189 | margin-right: 0px; | ||
190 | |||
191 | .el-form-item__content { | ||
192 | width: auto; | ||
193 | } | ||
194 | } | ||
195 | |||
196 | .el-table__expand-icon { | ||
197 | color: #8DEAF9; | ||
198 | |||
199 | } | ||
200 | |||
201 | .el-form-item--small.el-form-item { | ||
202 | margin-bottom: 0px; | ||
203 | } | ||
204 | } | ||
205 | |||
206 | .echarts-box { | ||
207 | display: flex; | ||
208 | justify-content: center; | ||
209 | height: calc(100vh - 260px); | ||
210 | } | ||
211 | |||
212 | .complex-header { | ||
213 | .el-table--border th.el-table__cell { | ||
214 | border-bottom: 1px solid #458ACF !important; | ||
215 | } | ||
216 | |||
217 | .el-table--border .el-table__cell { | ||
218 | border-right: 1px solid #458ACF !important; | ||
219 | } | ||
220 | |||
221 | .el-table--group, | ||
222 | .el-table--border { | ||
223 | border: 1px solid #458ACF !important; | ||
224 | } | ||
225 | } | ||
226 | |||
227 | .el-pagination.is-background .btn-prev, | ||
228 | .el-pagination.is-background .btn-next { | ||
229 | @extend .bgc; | ||
230 | color: #FFFFFF; | ||
231 | } | ||
232 | |||
233 | // 通过 入库 样式 | ||
234 | .adopt, | ||
235 | .success { | ||
236 | color: #00FAA8; | ||
237 | position: relative; | ||
238 | } | ||
239 | |||
240 | .warehousing { | ||
241 | color: #FFCA57; | ||
242 | position: relative; | ||
243 | } | ||
244 | |||
245 | .fail { | ||
246 | color: #F56C6C; | ||
247 | position: relative; | ||
248 | } | ||
249 | |||
250 | |||
251 | .adopt::before { | ||
252 | position: absolute; | ||
253 | content: ''; | ||
254 | display: block; | ||
255 | width: 8px; | ||
256 | height: 8px; | ||
257 | left: -15px; | ||
258 | top: 5px; | ||
259 | background: #00FAA8; | ||
260 | border-radius: 50%; | ||
261 | border: 2px solid rgba(0, 0, 0, 0.2); | ||
262 | } | ||
263 | |||
264 | .warehousing::before { | ||
265 | position: absolute; | ||
266 | content: ''; | ||
267 | display: block; | ||
268 | width: 8px; | ||
269 | height: 8px; | ||
270 | left: -15px; | ||
271 | top: 4px; | ||
272 | background: #FF9933; | ||
273 | border-radius: 50%; | ||
274 | border: 2px solid rgba(0, 0, 0, 0.2); | ||
275 | } | ||
276 | |||
277 | // 成功 失败 | ||
278 | .success::before { | ||
279 | position: absolute; | ||
280 | content: '√'; | ||
281 | display: block; | ||
282 | width: 0; | ||
283 | height: 8px; | ||
284 | left: -10px; | ||
285 | top: 2px; | ||
286 | background: #00FAA8; | ||
287 | color: #00FAA8; | ||
288 | } | ||
289 | |||
290 | .fail { | ||
291 | color: #FF7962; | ||
292 | position: relative; | ||
293 | } | ||
294 | |||
295 | .fail::before { | ||
296 | position: absolute; | ||
297 | content: '!'; | ||
298 | display: block; | ||
299 | width: 0; | ||
300 | height: 8px; | ||
301 | left: -10px; | ||
302 | top: 2px; | ||
303 | background: #FF7962; | ||
304 | color: #FF7962; | ||
305 | } | ||
306 | |||
307 | |||
308 | //*****end*通用表单查询条件,列表样式******// | ||
309 | .el-range-separator { | ||
310 | line-height: 28px !important; | ||
311 | } | ||
312 | |||
313 | .width200px { | ||
314 | width: 200px; | ||
315 | } | ||
316 | |||
317 | .width300px { | ||
318 | width: 300px; | ||
319 | } | ||
320 | |||
321 | |||
322 | .slxx_title { | ||
323 | border-bottom: 1px solid $borderColor; | ||
324 | padding-left: 10px; | ||
325 | padding-bottom: 5px; | ||
326 | margin-bottom: 10px; | ||
327 | margin-top: 5px; | ||
328 | font-size: 16px; | ||
329 | font-weight: 500; | ||
330 | color: #4a4a4a; | ||
331 | } | ||
332 | |||
333 | // 搜索框按钮的位置 | ||
334 | .btnColRight { | ||
335 | box-sizing: border-box; | ||
336 | text-align: right; | ||
337 | |||
338 | |||
339 | .is-disabled, | ||
340 | .is-disabled:hover, | ||
341 | .is-disabled:focus { | ||
342 | cursor: wait; | ||
343 | background: url("../image/btn.png") no-repeat 0 0; | ||
344 | background-size: cover; | ||
345 | } | ||
346 | } | ||
347 | |||
348 | |||
349 | // 角色管理人员菜单配置弹框样式 | ||
350 | .roleconfiguration { | ||
351 | .el-dialog__body { | ||
352 | display: flex; | ||
353 | flex-direction: column; | ||
354 | } | ||
355 | |||
356 | .el-tabs { | ||
357 | color: #cef8ff; | ||
358 | } | ||
359 | |||
360 | .sjmx { | ||
361 | .el-tabs__item { | ||
362 | height: 50px; | ||
363 | padding-top: 6px; | ||
364 | } | ||
365 | } | ||
366 | |||
367 | .el-tabs__item { | ||
368 | color: #cef8ff !important; | ||
369 | |||
370 | display: flex; | ||
371 | flex-direction: row; | ||
372 | justify-content: center; | ||
373 | background: url("~@/image/tabitem.png") no-repeat; | ||
374 | background-size: 100% 100%; | ||
375 | border: none !important; | ||
376 | } | ||
377 | |||
378 | .obligee-item-name { | ||
379 | background: #05275b; | ||
380 | color: #ffffff; | ||
381 | background: url("~@/image/itembg.png") no-repeat; | ||
382 | background-size: 100% 100%; | ||
383 | } | ||
384 | |||
385 | .el-tabs__nav-scroll { | ||
386 | background: none; | ||
387 | } | ||
388 | |||
389 | .el-tabs__nav { | ||
390 | display: flex; | ||
391 | border: none !important; | ||
392 | } | ||
393 | |||
394 | .el-tabs__item.is-top { | ||
395 | border: 1px solid #dfe4ed; | ||
396 | border-top: 1px solid #dfe4ed; | ||
397 | border-bottom: 1px solid transparent; | ||
398 | } | ||
399 | |||
400 | .el-tabs__item.is-top:not(:last-child) { | ||
401 | margin-right: 5px; | ||
402 | } | ||
403 | |||
404 | .el-tabs__item.is-top { | ||
405 | background-color: none !important; | ||
406 | } | ||
407 | |||
408 | .el-tabs__item.is-active { | ||
409 | background: url("~@/image/tabitemse.png") no-repeat; | ||
410 | background-size: 100% 100%; | ||
411 | } | ||
412 | |||
413 | .success-images { | ||
414 | width: 30px; | ||
415 | height: 30px; | ||
416 | position: relative; | ||
417 | top: 10px; | ||
418 | right: 3px; | ||
419 | } | ||
420 | |||
421 | .tab-pane-item { | ||
422 | line-height: 20px; | ||
423 | color: #FFFFFF; | ||
424 | |||
425 | p { | ||
426 | text-align: center; | ||
427 | } | ||
428 | } | ||
429 | |||
430 | .edit-content { | ||
431 | overflow-y: auto; | ||
432 | overflow-x: hidden; | ||
433 | padding-right: 1px; | ||
434 | margin-bottom: 10px; | ||
435 | border-top: none; | ||
436 | } | ||
437 | |||
438 | |||
439 | |||
440 | .el-dialog__wrapper { | ||
441 | overflow: hidden; | ||
442 | } | ||
443 | |||
444 | .el-table { | ||
445 | background: none; | ||
446 | |||
447 | th.el-table__cell { | ||
448 | background-color: #073781; | ||
449 | color: #02d9fd; | ||
450 | } | ||
451 | |||
452 | tr { | ||
453 | background: none; | ||
454 | |||
455 | td { | ||
456 | color: white; | ||
457 | } | ||
458 | } | ||
459 | } | ||
460 | } | ||
461 | |||
462 | // 面包屑 | ||
463 | .breadcrumb { | ||
464 | width: 80%; | ||
465 | text-indent: 10px; | ||
466 | background: url("~@/image/breadcrumb.png") no-repeat; | ||
467 | background-size: 100% 100%; | ||
468 | line-height: 32px; | ||
469 | height: 32px; | ||
470 | padding-left: 35px; | ||
471 | margin: 8px 0 10px 6px; | ||
472 | color: #CEF8FF; | ||
473 | } | ||
474 | |||
475 | // .el-icon-arrow-right { | ||
476 | // width: 2px; | ||
477 | // position: relative; | ||
478 | // left: 10px; | ||
479 | // color: #FFFFFF; | ||
480 | // } | ||
481 | |||
482 | .el-breadcrumb__inner { | ||
483 | color: #CEF8FF !important; | ||
484 | } | ||
485 | |||
486 | .breadcrumb1366 { | ||
487 | padding: 10px 0 !important; | ||
488 | } | ||
489 | |||
490 | .cur-location { | ||
491 | font-size: 16px; | ||
492 | color: white; | ||
493 | line-height: 40px; | ||
494 | float: left; | ||
495 | |||
496 | img { | ||
497 | position: relative; | ||
498 | top: 3px; | ||
499 | margin-right: 4px; | ||
500 | } | ||
501 | } | ||
502 | |||
503 | .el-breadcrumb__inner a, | ||
504 | .el-breadcrumb__inner.is-link { | ||
505 | color: white; | ||
506 | cursor: text; | ||
507 | font-weight: normal; | ||
508 | } | ||
509 | |||
510 | .button { | ||
511 | width: 76px; | ||
512 | height: 32px; | ||
513 | color: #ffffff; | ||
514 | cursor: pointer; | ||
515 | border: 0; | ||
516 | font-size: 12px; | ||
517 | } | ||
518 | |||
519 | |||
520 | // 按钮样式 | ||
521 | .cx { | ||
522 | background: url("../image/btn.png") no-repeat 0 -34px; | ||
523 | background-size: cover; | ||
524 | } | ||
525 | |||
526 | .cx:hover { | ||
527 | background: url("../image/btn.png") no-repeat 0 -34px; | ||
528 | background-size: cover; | ||
529 | color: white; | ||
530 | } | ||
531 | |||
532 | .cz { | ||
533 | background: url("../image/btn.png") no-repeat 0 0; | ||
534 | background-size: cover; | ||
535 | } | ||
536 | |||
537 | .cz:hover { | ||
538 | background: url("../image/btn.png") no-repeat 0 0; | ||
539 | background-size: cover; | ||
540 | color: white; | ||
541 | } | ||
542 | |||
543 | .el-button:focus { | ||
544 | background: none; | ||
545 | } | ||
546 | |||
547 | .cx:focus { | ||
548 | background: url("../image/btn.png") no-repeat 0 -34px; | ||
549 | background-size: cover; | ||
550 | color: white; | ||
551 | } | ||
552 | |||
553 | .cz:focus { | ||
554 | background: url("../image/btn.png") no-repeat 0 0; | ||
555 | background-size: cover; | ||
556 | color: white; | ||
557 | } | ||
558 | |||
559 | // 监管弹框样式 | ||
560 | .dialogBox { | ||
561 | overflow: hidden; | ||
562 | background: url("~@/image/dialogBg.png") no-repeat !important; | ||
563 | background-size: 100% 100% !important; | ||
564 | |||
565 | .dialog_title { | ||
566 | display: flex; | ||
567 | position: relative; | ||
568 | font-size: 22px; | ||
569 | top: -10px; | ||
570 | width: 38%; | ||
571 | height: 40px; | ||
572 | margin-left: 28px; | ||
573 | justify-content: center; | ||
574 | white-space: nowrap; | ||
575 | |||
576 | b { | ||
577 | font-weight: 200; | ||
578 | display: inline-block; | ||
579 | position: relative; | ||
580 | font-size: 24px; | ||
581 | top: -11px; | ||
582 | width: 38%; | ||
583 | height: 40px; | ||
584 | margin-left: 28px; | ||
585 | // @include flex-center; | ||
586 | display: flex; | ||
587 | justify-content: center; | ||
588 | } | ||
589 | } | ||
590 | |||
591 | .dialog_full { | ||
592 | position: absolute; | ||
593 | top: 0; | ||
594 | right: 30px; | ||
595 | } | ||
596 | |||
597 | .el-dialog__body { | ||
598 | max-height: 88vh; | ||
599 | overflow-x: hidden; | ||
600 | overflow-y: hidden; | ||
601 | } | ||
602 | |||
603 | .dialog_footer { | ||
604 | margin-bottom: 8px; | ||
605 | display: flex; | ||
606 | justify-content: center; | ||
607 | align-items: center; | ||
608 | } | ||
609 | |||
610 | .dialogBox-content { | ||
611 | height: auto | ||
612 | } | ||
613 | |||
614 | .editDialogBox-box { | ||
615 | background: #031A46; | ||
616 | box-shadow: inset 0px 0px 12px 0px #02D9FD; | ||
617 | border-radius: 2px; | ||
618 | border: 1px solid #6BC1FC; | ||
619 | margin: 0 18px 0 18px; | ||
620 | } | ||
621 | |||
622 | .item-content-input { | ||
623 | .el-input__inner { | ||
624 | border: none !important; | ||
625 | text-align: right; | ||
626 | color: #A5CBDA !important; | ||
627 | } | ||
628 | } | ||
629 | |||
630 | .regularHeight { | ||
631 | display: flex; | ||
632 | flex-direction: column; | ||
633 | height: 85vh; | ||
634 | |||
635 | .JsonEditor { | ||
636 | height: 75vh; | ||
637 | |||
638 | .editXML { | ||
639 | height: 100%; | ||
640 | padding: 15px; | ||
641 | |||
642 | .el-textarea { | ||
643 | height: 100% !important; | ||
644 | } | ||
645 | |||
646 | .el-textarea__inner { | ||
647 | height: 100% !important; | ||
648 | background: #04275B; | ||
649 | border-radius: 2px; | ||
650 | border: none; | ||
651 | } | ||
652 | } | ||
653 | } | ||
654 | |||
655 | // 响应结果 | ||
656 | .xyjg { | ||
657 | height: 78vh; | ||
658 | padding: 15px; | ||
659 | |||
660 | .result-con { | ||
661 | height: 49%; | ||
662 | background: #04275B; | ||
663 | border-radius: 2px; | ||
664 | box-sizing: border-box; | ||
665 | padding: 10px; | ||
666 | |||
667 | .el-textarea { | ||
668 | height: 90%; | ||
669 | } | ||
670 | |||
671 | .el-textarea__inner { | ||
672 | height: 100%; | ||
673 | background: transparent; | ||
674 | border: none; | ||
675 | } | ||
676 | |||
677 | p { | ||
678 | color: #2188E3; | ||
679 | font-weight: 700; | ||
680 | font-size: 18px; | ||
681 | position: relative; | ||
682 | padding-left: 8px; | ||
683 | } | ||
684 | |||
685 | p:before { | ||
686 | content: ''; | ||
687 | width: 3px; | ||
688 | height: 13px; | ||
689 | position: absolute; | ||
690 | left: 0; | ||
691 | top: 4px; | ||
692 | background-color: #2188E3; | ||
693 | } | ||
694 | } | ||
695 | } | ||
696 | } | ||
697 | |||
698 | .dialog-from { | ||
699 | padding: 13px; | ||
700 | border-radius: 2px; | ||
701 | box-sizing: border-box; | ||
702 | margin-top: 10px; | ||
703 | |||
704 | .el-row { | ||
705 | display: flex; | ||
706 | flex-wrap: nowrap; | ||
707 | } | ||
708 | |||
709 | .el-col { | ||
710 | line-height: 18px; | ||
711 | display: flex; | ||
712 | align-items: center; | ||
713 | margin-bottom: 3px; | ||
714 | color: #B5D6DC; | ||
715 | border-radius: 2px; | ||
716 | border: 1px solid #224C7C; | ||
717 | |||
718 | span { | ||
719 | display: inline-block; | ||
720 | padding: 3px; | ||
721 | border-radius: 3px; | ||
722 | overflow: hidden; | ||
723 | white-space: nowrap; | ||
724 | text-align: left; | ||
725 | color: #0288B0; | ||
726 | } | ||
727 | |||
728 | p { | ||
729 | flex: 1; | ||
730 | width: 100%; | ||
731 | padding-left: 5px; | ||
732 | line-height: 20px; | ||
733 | color: #c0c4cc; | ||
734 | cursor: not-allowed; | ||
735 | white-space: nowrap; | ||
736 | margin-right: 5px; | ||
737 | text-align: right; | ||
738 | } | ||
739 | } | ||
740 | |||
741 | } | ||
742 | |||
743 | .el-textarea__inner { | ||
744 | background: #04275B; | ||
745 | border-radius: 2px; | ||
746 | } | ||
747 | |||
748 | .el-input__inner { | ||
749 | border: 1px solid #224C7C !important; | ||
750 | margin: 0 !important; | ||
751 | width: 100% !important; | ||
752 | color: #A5CBDA !important; | ||
753 | background: transparent !important; | ||
754 | } | ||
755 | |||
756 | .el-dialog__header { | ||
757 | color: #FFFFFF; | ||
758 | height: 46px !important; | ||
759 | width: 97%; | ||
760 | margin: 0 auto; | ||
761 | margin-top: 2px; | ||
762 | } | ||
763 | |||
764 | .el-dialog__body { | ||
765 | padding-top: 0; | ||
766 | padding-bottom: 0; | ||
767 | // height: 95vh; | ||
768 | } | ||
769 | |||
770 | .el-dialog__headerbtn { | ||
771 | width: 42px; | ||
772 | height: 20px; | ||
773 | background: url("~@/image/closebg.png") no-repeat; | ||
774 | background-size: 100% 100%; | ||
775 | right: 40px; | ||
776 | top: 33px; | ||
777 | |||
778 | &:hover { | ||
779 | box-shadow: inset 0px 0px 12px 0px #02D9FD; | ||
780 | } | ||
781 | } | ||
782 | |||
783 | .el-dialog__close { | ||
784 | font-size: 0; | ||
785 | } | ||
786 | |||
787 | .el-form-item { | ||
788 | display: flex; | ||
789 | width: 100%; | ||
790 | } | ||
791 | |||
792 | } | ||
793 | |||
794 | .contentCenter { | ||
795 | position: absolute; | ||
796 | top: 50%; | ||
797 | left: 50%; | ||
798 | transform: translate(calc(-50% + 85px), -50%); | ||
799 | } | ||
800 | |||
801 | .mainCenter { | ||
802 | position: absolute; | ||
803 | top: 50%; | ||
804 | left: 50%; | ||
805 | transform: translate(-50%, -50%); | ||
806 | |||
807 | // 展开收起按钮位置 | ||
808 | .el-input__suffix { | ||
809 | right: 10px; | ||
810 | } | ||
811 | } | ||
812 | |||
813 | .el-tabs__header { | ||
814 | border: none !important; | ||
815 | margin-bottom: 0; | ||
816 | } | ||
817 | |||
818 | // 登簿日志弹出框 | ||
819 | .entryJournal { | ||
820 | .el-textarea__inner { | ||
821 | height: 67vh !important; | ||
822 | border: none !important; | ||
823 | background-color: #08346F !important; | ||
824 | color: #ffffff; | ||
825 | border: none !important; | ||
826 | } | ||
827 | |||
828 | .el-col { | ||
829 | margin: 5px; | ||
830 | } | ||
831 | |||
832 | .el-dialog__body { | ||
833 | display: flex; | ||
834 | flex-direction: column; | ||
835 | padding-bottom: 30px; | ||
836 | height: 100%; | ||
837 | flex: 1; | ||
838 | position: relative; | ||
839 | margin-top: 10px; | ||
840 | } | ||
841 | |||
842 | .el-tabs__item { | ||
843 | color: #CEF8FF !important; | ||
844 | display: flex; | ||
845 | flex-direction: row; | ||
846 | justify-content: center; | ||
847 | background: url("~@/image/tabitem.png") no-repeat; | ||
848 | background-size: 100% 100%; | ||
849 | border: none !important; | ||
850 | } | ||
851 | |||
852 | .el-tabs__nav { | ||
853 | display: flex; | ||
854 | border: none !important; | ||
855 | } | ||
856 | |||
857 | .el-tabs__item.is-top:not(:last-child) { | ||
858 | margin-right: 5px; | ||
859 | } | ||
860 | |||
861 | .el-icon-circle-close { | ||
862 | display: none; | ||
863 | } | ||
864 | |||
865 | .el-tabs__item.is-active { | ||
866 | background: url("~@/image/tabitemse.png") no-repeat; | ||
867 | background-size: 100% 100%; | ||
868 | } | ||
869 | |||
870 | .from-clues-content { | ||
871 | margin-top: 0; | ||
872 | background: none; | ||
873 | padding: 0; | ||
874 | } | ||
875 | |||
876 | .editDialogBox-box { | ||
877 | position: relative; | ||
878 | height: 98.5%; | ||
879 | } | ||
880 | |||
881 | .dialog-from { | ||
882 | padding-top: 0; | ||
883 | |||
884 | .el-col { | ||
885 | justify-content: space-between; | ||
886 | } | ||
887 | |||
888 | .bz { | ||
889 | height: 100%; | ||
890 | position: relative; | ||
891 | top: 3px; | ||
892 | } | ||
893 | |||
894 | .el-input { | ||
895 | flex: 1; | ||
896 | width: 100%; | ||
897 | } | ||
898 | |||
899 | .el-textarea__inner { | ||
900 | border: none !important; | ||
901 | margin: 0; | ||
902 | } | ||
903 | |||
904 | &_header { | ||
905 | margin: 0 -5px !important; | ||
906 | } | ||
907 | |||
908 | &_title { | ||
909 | font-size: 14px; | ||
910 | color: #d7eaee; | ||
911 | margin: 3px 0; | ||
912 | } | ||
913 | } | ||
914 | } | ||
915 | |||
916 | // 数据上报弹出框 | ||
917 | .dataReporting { | ||
918 | .el-dialog__body { | ||
919 | display: flex; | ||
920 | flex-direction: column; | ||
921 | padding-bottom: 30px; | ||
922 | margin-top: 10px; | ||
923 | } | ||
924 | |||
925 | .el-tabs { | ||
926 | color: #cef8ff; | ||
927 | } | ||
928 | |||
929 | .d-center { | ||
930 | z-index: 1000; | ||
931 | } | ||
932 | |||
933 | .sjmx { | ||
934 | display: flex; | ||
935 | flex-direction: column; | ||
936 | height: 52vh; | ||
937 | |||
938 | .el-tabs__item { | ||
939 | height: 50px; | ||
940 | padding-top: 6px; | ||
941 | } | ||
942 | } | ||
943 | |||
944 | .result { | ||
945 | flex: 1; | ||
946 | height: 100%; | ||
947 | } | ||
948 | |||
949 | .editDialogBox-con { | ||
950 | flex: 1; | ||
951 | height: 100%; | ||
952 | overflow-y: hidden; | ||
953 | margin: 10px 18px; | ||
954 | } | ||
955 | |||
956 | .el-tabs__item { | ||
957 | color: #cef8ff !important; | ||
958 | |||
959 | display: flex; | ||
960 | flex-direction: row; | ||
961 | justify-content: center; | ||
962 | background: url("~@/image/tabitem.png") no-repeat; | ||
963 | background-size: 100% 100%; | ||
964 | border: none !important; | ||
965 | } | ||
966 | |||
967 | .obligee-item-name { | ||
968 | background: #05275b; | ||
969 | color: #ffffff; | ||
970 | background: url("~@/image/itembg.png") no-repeat; | ||
971 | background-size: 100% 100%; | ||
972 | } | ||
973 | |||
974 | .el-tabs__nav-scroll { | ||
975 | background: none; | ||
976 | } | ||
977 | |||
978 | .el-tabs__nav { | ||
979 | display: flex; | ||
980 | border: none !important; | ||
981 | } | ||
982 | |||
983 | .el-tabs__item.is-top { | ||
984 | border: 1px solid #dfe4ed; | ||
985 | border-top: 1px solid #dfe4ed; | ||
986 | border-bottom: 1px solid transparent; | ||
987 | } | ||
988 | |||
989 | .el-tabs__item.is-top:not(:last-child) { | ||
990 | margin-right: 5px; | ||
991 | } | ||
992 | |||
993 | .el-tabs__item.is-top { | ||
994 | background-color: none !important; | ||
995 | } | ||
996 | |||
997 | .el-tabs__item.is-active { | ||
998 | background: url("~@/image/tabitemse.png") no-repeat; | ||
999 | background-size: 100% 100%; | ||
1000 | } | ||
1001 | |||
1002 | .success-images { | ||
1003 | width: 30px; | ||
1004 | height: 30px; | ||
1005 | position: relative; | ||
1006 | top: 10px; | ||
1007 | right: 3px; | ||
1008 | } | ||
1009 | |||
1010 | .tab-pane-item { | ||
1011 | line-height: 20px; | ||
1012 | color: #02d9fd; | ||
1013 | |||
1014 | p { | ||
1015 | text-align: center; | ||
1016 | } | ||
1017 | } | ||
1018 | |||
1019 | .edit-content { | ||
1020 | overflow-y: auto; | ||
1021 | overflow-x: hidden; | ||
1022 | padding-right: 1px; | ||
1023 | border-top: none; | ||
1024 | } | ||
1025 | |||
1026 | .editDialogBox { | ||
1027 | border-radius: 8px; | ||
1028 | overflow: hidden; | ||
1029 | min-width: 1228px; | ||
1030 | |||
1031 | .el-dialog__header { | ||
1032 | display: flex; | ||
1033 | margin-bottom: 10px; | ||
1034 | } | ||
1035 | |||
1036 | .dialog_footer { | ||
1037 | flex-direction: column; | ||
1038 | |||
1039 | .dialog_button { | ||
1040 | margin-top: 8px; | ||
1041 | } | ||
1042 | } | ||
1043 | |||
1044 | .divider { | ||
1045 | width: 100%; | ||
1046 | border-bottom: 1px solid #ccc; | ||
1047 | } | ||
1048 | } | ||
1049 | |||
1050 | .el-dialog__wrapper { | ||
1051 | overflow: hidden; | ||
1052 | } | ||
1053 | |||
1054 | .dialog-from { | ||
1055 | padding-top: 0; | ||
1056 | |||
1057 | .el-col { | ||
1058 | justify-content: space-between; | ||
1059 | } | ||
1060 | |||
1061 | .bz { | ||
1062 | height: 100%; | ||
1063 | position: relative; | ||
1064 | top: 3px; | ||
1065 | } | ||
1066 | |||
1067 | .el-select { | ||
1068 | padding-right: 15px; | ||
1069 | } | ||
1070 | |||
1071 | .el-icon-circle-close { | ||
1072 | display: none; | ||
1073 | } | ||
1074 | |||
1075 | .el-input__suffix { | ||
1076 | right: -25px !important; | ||
1077 | top: -5px; | ||
1078 | } | ||
1079 | |||
1080 | .el-select, | ||
1081 | .el-input { | ||
1082 | flex: 1; | ||
1083 | width: 100%; | ||
1084 | } | ||
1085 | |||
1086 | .el-textarea__inner { | ||
1087 | border: none !important; | ||
1088 | margin: 0; | ||
1089 | } | ||
1090 | |||
1091 | &_header { | ||
1092 | margin: 0 -5px !important; | ||
1093 | } | ||
1094 | |||
1095 | &_title { | ||
1096 | font-size: 18px; | ||
1097 | color: #d7eaee; | ||
1098 | margin: 3px 0; | ||
1099 | } | ||
1100 | } | ||
1101 | } | ||
1102 | |||
1103 | // 人员管理上下移动按钮样式 | ||
1104 | .el-button.is-disabled.el-button--text { | ||
1105 | width: 64px; | ||
1106 | height: 28px; | ||
1107 | background: rgba(255, 255, 255, 0.1); | ||
1108 | border-radius: 16px; | ||
1109 | } | ||
1110 | |||
1111 | // 人员管理角色管理菜单管理修改新增弹框样式 | ||
1112 | .PersonnelDialog { | ||
1113 | .el-dialog__header { | ||
1114 | text-align: center; | ||
1115 | margin-bottom: 10px; | ||
1116 | |||
1117 | .el-dialog__title { | ||
1118 | color: white; | ||
1119 | } | ||
1120 | } | ||
1121 | |||
1122 | .el-form-item__label { | ||
1123 | color: white; | ||
1124 | } | ||
1125 | |||
1126 | .el-input__inner { | ||
1127 | background-color: #07388b; | ||
1128 | } | ||
1129 | |||
1130 | .el-input__inner { | ||
1131 | background: #07388b; | ||
1132 | border-radius: 2px; | ||
1133 | border: 1px solid #6bc1fc; | ||
1134 | } | ||
1135 | |||
1136 | .el-textarea__inner { | ||
1137 | background: #07388b; | ||
1138 | color: #fff; | ||
1139 | } | ||
1140 | |||
1141 | .el-form-item__label { | ||
1142 | color: #fff; | ||
1143 | } | ||
1144 | |||
1145 | .el-dialog__header { | ||
1146 | .dialog_title { | ||
1147 | display: -webkit-box; | ||
1148 | display: -ms-flexbox; | ||
1149 | display: flex; | ||
1150 | position: relative; | ||
1151 | top: -7px; | ||
1152 | width: 29%; | ||
1153 | height: 40px; | ||
1154 | margin-left: 28px; | ||
1155 | -webkit-box-pack: center; | ||
1156 | -ms-flex-pack: center; | ||
1157 | justify-content: center; | ||
1158 | white-space: nowrap; | ||
1159 | |||
1160 | b { | ||
1161 | font-size: 16px; | ||
1162 | } | ||
1163 | } | ||
1164 | |||
1165 | .el-dialog__headerbtn { | ||
1166 | right: 20px !important; | ||
1167 | top: 23px !important; | ||
1168 | } | ||
1169 | } | ||
1170 | |||
1171 | .selbig { | ||
1172 | width: 500px; | ||
1173 | } | ||
1174 | |||
1175 | } | ||
1176 | |||
1177 | // 弹框中间区域样式 | ||
1178 | .dialogCon { | ||
1179 | background: #031A46; | ||
1180 | box-shadow: inset 0px 0px 12px 0px #02D9FD; | ||
1181 | border-radius: 0px 2px 2px 2px; | ||
1182 | border: 1px solid #6BC1FC; | ||
1183 | padding: 15px; | ||
1184 | } | ||
1185 | |||
1186 | //定时任务弹框 | ||
1187 | .scheduledtaskdialog { | ||
1188 | .el-dialog__headerbtn { | ||
1189 | width: 42px; | ||
1190 | height: 20px; | ||
1191 | right: 26px; | ||
1192 | top: 23px; | ||
1193 | } | ||
1194 | } | ||
1195 | |||
1196 | // 修改密码界面样式 | ||
1197 | .informationpassword { | ||
1198 | margin: 36px 200px; | ||
1199 | overflow-y: auto; | ||
1200 | |||
1201 | .form-wrapper { | ||
1202 | padding: 24px 120px 0px; | ||
1203 | |||
1204 | .el-form-item { | ||
1205 | margin-bottom: 24px; | ||
1206 | |||
1207 | .el-form-item__label { | ||
1208 | color: #ffffff; | ||
1209 | } | ||
1210 | |||
1211 | .el-input .el-input__inner { | ||
1212 | padding: 0 8px; | ||
1213 | height: 40px; | ||
1214 | line-height: 40px; | ||
1215 | border: 1px solid #6bc1fc; | ||
1216 | } | ||
1217 | } | ||
1218 | } | ||
1219 | |||
1220 | .bottom-wrapper { | ||
1221 | padding: 32px 120px 24px; | ||
1222 | text-align: center; | ||
1223 | } | ||
1224 | } | ||
1225 | |||
1226 | .information { | ||
1227 | .contentbox { | ||
1228 | height: 60vh; | ||
1229 | } | ||
1230 | } | ||
1231 | |||
1232 | // 修改基本信息界面样式 | ||
1233 | .informationbase { | ||
1234 | margin: 0.1875rem 1.0417rem; | ||
1235 | overflow-y: auto; | ||
1236 | |||
1237 | .el-input__inner { | ||
1238 | background: #07388B; | ||
1239 | border-radius: 2px; | ||
1240 | color: #E3F1FF !important; | ||
1241 | border: 1px solid #6BC1FC; | ||
1242 | } | ||
1243 | |||
1244 | .form-wrapper { | ||
1245 | padding: 0px 120px 0px; | ||
1246 | |||
1247 | .el-form-item { | ||
1248 | /deep/.el-form-item__label { | ||
1249 | color: #ffffff; | ||
1250 | } | ||
1251 | |||
1252 | ::v-deep .el-input .el-input__inner { | ||
1253 | padding: 0 8px; | ||
1254 | height: 40px; | ||
1255 | line-height: 40px; | ||
1256 | border: 1px solid #6bc1fc; | ||
1257 | } | ||
1258 | } | ||
1259 | |||
1260 | .el-form-item--small.el-form-item { | ||
1261 | margin-bottom: 16px; | ||
1262 | } | ||
1263 | } | ||
1264 | |||
1265 | .bottom-wrapper { | ||
1266 | padding: 0px 120px 0px; | ||
1267 | text-align: center; | ||
1268 | } | ||
1269 | } | ||
1270 | |||
1271 | // 权利人信息样式 | ||
1272 | .itemForm { | ||
1273 | position: relative; | ||
1274 | padding: 10px; | ||
1275 | |||
1276 | .el-select { | ||
1277 | width: 100%; | ||
1278 | } | ||
1279 | |||
1280 | .el-form-item__error { | ||
1281 | right: 25px; | ||
1282 | top: 15px; | ||
1283 | text-align: right; | ||
1284 | pointer-events: none; | ||
1285 | } | ||
1286 | |||
1287 | .el-date-editor { | ||
1288 | width: 100%; | ||
1289 | } | ||
1290 | |||
1291 | .el-date-editor--date { | ||
1292 | width: 100%; | ||
1293 | } | ||
1294 | |||
1295 | .el-cascader { | ||
1296 | width: 100%; | ||
1297 | } | ||
1298 | |||
1299 | // table 样式 | ||
1300 | .el-form-item__label { | ||
1301 | border-right: none; | ||
1302 | text-align: center; | ||
1303 | padding: 0; | ||
1304 | color: #05bbdb; | ||
1305 | line-height: 16px; | ||
1306 | font-size: 12px; | ||
1307 | margin-top: 8px !important; | ||
1308 | } | ||
1309 | |||
1310 | .el-form-item__content { | ||
1311 | display: flex; | ||
1312 | margin-right: -1px; | ||
1313 | } | ||
1314 | |||
1315 | .obligee-item-name, | ||
1316 | .receivingInfo-item-name, | ||
1317 | .auditInfo-item-name { | ||
1318 | background: url("~@/image/itembg.png") no-repeat; | ||
1319 | background-size: 100% 100%; | ||
1320 | color: #FFFFFF; | ||
1321 | } | ||
1322 | |||
1323 | .el-textarea__inner { | ||
1324 | margin: 5px; | ||
1325 | width: 96%; | ||
1326 | background: none; | ||
1327 | color: #FFFFFF; | ||
1328 | border-radius: 2px; | ||
1329 | border: 1px solid #6BC1FC; | ||
1330 | } | ||
1331 | |||
1332 | .el-input-number { | ||
1333 | width: 100%; | ||
1334 | } | ||
1335 | |||
1336 | .el-input-number__increase { | ||
1337 | display: none; | ||
1338 | } | ||
1339 | |||
1340 | .el-input-number__decrease { | ||
1341 | display: none; | ||
1342 | } | ||
1343 | |||
1344 | .el-input__inner { | ||
1345 | margin: 5px; | ||
1346 | width: 96%; | ||
1347 | background: #05275B; | ||
1348 | border-radius: 2px; | ||
1349 | border: 1px solid #6BC1FC; | ||
1350 | text-align: left; | ||
1351 | |||
1352 | } | ||
1353 | |||
1354 | .el-form-item { | ||
1355 | margin-bottom: 0; | ||
1356 | margin-top: -1px; | ||
1357 | } | ||
1358 | |||
1359 | .item-label { | ||
1360 | display: flex; | ||
1361 | align-items: flex-end; | ||
1362 | flex-direction: column; | ||
1363 | font-size: 12px; | ||
1364 | flex: 0 0 90px; | ||
1365 | margin-right: 3px; | ||
1366 | |||
1367 | p { | ||
1368 | line-height: 16px; | ||
1369 | white-space: nowrap; | ||
1370 | text-align: right; | ||
1371 | } | ||
1372 | |||
1373 | p:nth-child(1) { | ||
1374 | position: relative; | ||
1375 | right: 5px; | ||
1376 | } | ||
1377 | } | ||
1378 | } | ||
1379 | |||
1380 | // 配置参数 | ||
1381 | .configuration { | ||
1382 | color: white; | ||
1383 | margin-top: 6vh; | ||
1384 | |||
1385 | .el-dialog { | ||
1386 | background-color: #031a46 !important; | ||
1387 | border: 1px solid #5f82c7; | ||
1388 | |||
1389 | .el-dialog__header { | ||
1390 | .el-dialog__title { | ||
1391 | color: white !important; | ||
1392 | } | ||
1393 | |||
1394 | .el-dialog__headerbtn { | ||
1395 | top: 20px; | ||
1396 | } | ||
1397 | } | ||
1398 | |||
1399 | /deep/ .jsoneditor-vue { | ||
1400 | height: 100%; | ||
1401 | } | ||
1402 | |||
1403 | .fullScreen { | ||
1404 | position: absolute; | ||
1405 | right: 4%; | ||
1406 | top: 17%; | ||
1407 | cursor: pointer; | ||
1408 | color: #fff; | ||
1409 | } | ||
1410 | |||
1411 | /deep/ .jsoneditor-modes { | ||
1412 | display: none !important; | ||
1413 | } | ||
1414 | |||
1415 | /deep/.jsoneditor-poweredBy { | ||
1416 | display: none !important; | ||
1417 | } | ||
1418 | |||
1419 | .jsoneditor-menu { | ||
1420 | background-color: #031a46 !important; | ||
1421 | border-bottom: 1px solid #9c9e9f !important; | ||
1422 | } | ||
1423 | |||
1424 | .jsoneditor { | ||
1425 | border: 1px solid #9c9e9f !important; | ||
1426 | } | ||
1427 | |||
1428 | .el-collapse { | ||
1429 | border: 0; | ||
1430 | } | ||
1431 | |||
1432 | .el-collapse-item__header { | ||
1433 | height: 44px; | ||
1434 | } | ||
1435 | } | ||
1436 | } | ||
1437 | |||
1438 | // 监管 | ||
1439 | .editDialogBox-box { | ||
1440 | .el-form-item__label { | ||
1441 | color: #0288B0 !important; | ||
1442 | line-height: 20px; | ||
1443 | margin-top: 20px; | ||
1444 | } | ||
1445 | } | ||
1446 | |||
1447 | // 预告登记弹框样式 | ||
1448 | .auditInfo { | ||
1449 | .el-textarea.is-disabled .el-textarea__inner { | ||
1450 | background: none; | ||
1451 | color: #C0C4CC; | ||
1452 | border: 1px solid #224C7C !important; | ||
1453 | padding: 0; | ||
1454 | margin: 0; | ||
1455 | text-indent: 7px; | ||
1456 | } | ||
1457 | } |
src/styles/jgSidebar.scss
deleted
100644 → 0
1 | .jgWrapper { | ||
2 | .main-container { | ||
3 | width: 100%; | ||
4 | height: calc(100% - 74px); | ||
5 | transition: margin-left 0.28s; | ||
6 | display: flex; | ||
7 | background-color: $containerbg; | ||
8 | } | ||
9 | |||
10 | .sidebar-container { | ||
11 | transition: width 0.28s; | ||
12 | width: $sideBarWidth !important; | ||
13 | font-size: 0px; | ||
14 | margin-right: 15px; | ||
15 | |||
16 | .horizontal-collapse-transition { | ||
17 | transition: 0s width ease-in-out, 0s padding-left ease-in-out, | ||
18 | 0s padding-right ease-in-out; | ||
19 | } | ||
20 | |||
21 | .scrollbar-wrapper { | ||
22 | overflow-x: hidden !important; | ||
23 | margin-right: 0 !important; | ||
24 | |||
25 | &::-webkit-scrollbar { | ||
26 | display: none; | ||
27 | } | ||
28 | } | ||
29 | |||
30 | a { | ||
31 | display: inline-block; | ||
32 | width: 100%; | ||
33 | overflow: hidden; | ||
34 | } | ||
35 | |||
36 | .svg-icon { | ||
37 | margin-right: 5px; | ||
38 | } | ||
39 | |||
40 | .sub-el-icon { | ||
41 | margin-right: 12px; | ||
42 | margin-left: -2px; | ||
43 | } | ||
44 | |||
45 | .el-menu { | ||
46 | background-color: transparent !important; | ||
47 | border: none; | ||
48 | height: 100%; | ||
49 | width: 100% !important; | ||
50 | } | ||
51 | |||
52 | // menu hover | ||
53 | .el-menu--collapse .el-submenu__title, | ||
54 | .el-menu--collapse .submenu-title-noDropdown { | ||
55 | margin-left: 0px !important; | ||
56 | } | ||
57 | |||
58 | // 有子级 | ||
59 | .el-submenu__title { | ||
60 | padding-left: 10px !important; | ||
61 | color: $menuText; | ||
62 | height: 42px; | ||
63 | background: linear-gradient(90deg, #013874 0%, #081B56 100%); | ||
64 | margin-bottom: 8px; | ||
65 | |||
66 | &:hover { | ||
67 | color: $subMenuActiveText !important; | ||
68 | background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%); | ||
69 | |||
70 | .svg-icon, | ||
71 | i, | ||
72 | span { | ||
73 | color: $subMenuActiveText !important; | ||
74 | } | ||
75 | } | ||
76 | } | ||
77 | |||
78 | // 没有子级 | ||
79 | .submenu-title-noDropdown { | ||
80 | color: $menuText; | ||
81 | padding-left: 20px; | ||
82 | margin-bottom: 8px; | ||
83 | background: linear-gradient(90deg, #013874 0%, #081B56 100%); | ||
84 | |||
85 | &:hover { | ||
86 | color: $menuActiveText !important; | ||
87 | background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%); | ||
88 | |||
89 | .svg-icon { | ||
90 | color: #1ea6f8 !important; | ||
91 | } | ||
92 | |||
93 | i { | ||
94 | color: #1ea6f8 !important; | ||
95 | } | ||
96 | } | ||
97 | } | ||
98 | |||
99 | .submenu-title-noDropdown.is-active, | ||
100 | .el-submenu__title.is-active { | ||
101 | color: $menuActiveText; | ||
102 | background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%); | ||
103 | |||
104 | .svg-icon { | ||
105 | color: #1ea6f8 !important; | ||
106 | } | ||
107 | |||
108 | i { | ||
109 | color: #1ea6f8 !important; | ||
110 | } | ||
111 | } | ||
112 | |||
113 | .submenu-title-noDropdown, | ||
114 | .el-submenu__title { | ||
115 | font-weight: 600; | ||
116 | font-size: $sideBarFontSize; | ||
117 | |||
118 | // margin: 0 10px; | ||
119 | >i { | ||
120 | color: $subMenuActiveText !important; | ||
121 | transform: rotate(90deg); | ||
122 | -webkit-transform: rotate(90deg); | ||
123 | -moz-transform: rotate(90deg); | ||
124 | -ms-transform: rotate(90deg); | ||
125 | -o-transform: rotate(90deg); | ||
126 | margin-right: 10px; | ||
127 | } | ||
128 | |||
129 | .svg-icon { | ||
130 | font-size: 18px; | ||
131 | margin-top: -5px; | ||
132 | } | ||
133 | } | ||
134 | |||
135 | .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow { | ||
136 | transform: rotateZ(0deg) !important; | ||
137 | -webkit-transform: rotateZ(0deg) !important; | ||
138 | -moz-transform: rotateZ(0deg) !important; | ||
139 | -ms-transform: rotateZ(0deg) !important; | ||
140 | -o-transform: rotateZ(0deg) !important; | ||
141 | } | ||
142 | |||
143 | .is-active>.el-submenu__title { | ||
144 | color: #fff !important; | ||
145 | } | ||
146 | |||
147 | & .nest-menu .el-submenu>.el-submenu__title, | ||
148 | & .el-submenu .el-menu-item { | ||
149 | &.is-active { | ||
150 | background-color: $subMenuHover !important; | ||
151 | color: $menuActiveText !important; | ||
152 | } | ||
153 | |||
154 | &:hover { | ||
155 | background-color: $subMenuHover !important; | ||
156 | color: $menuActiveText !important; | ||
157 | } | ||
158 | |||
159 | min-width: 130px !important; | ||
160 | background-color: transparent !important; | ||
161 | font-weight: 600; | ||
162 | font-size: $sideBarFontSize; | ||
163 | margin: 0 10px; | ||
164 | // border-radius: 6px; | ||
165 | } | ||
166 | } | ||
167 | |||
168 | .hideSidebar { | ||
169 | .sidebar-container { | ||
170 | width: 54px !important; | ||
171 | } | ||
172 | |||
173 | .submenu-title-noDropdown { | ||
174 | padding: 0 !important; | ||
175 | position: relative; | ||
176 | |||
177 | .el-tooltip { | ||
178 | padding: 0 !important; | ||
179 | |||
180 | .svg-icon { | ||
181 | margin-left: 16px; | ||
182 | } | ||
183 | |||
184 | .sub-el-icon { | ||
185 | margin-left: 19px; | ||
186 | } | ||
187 | } | ||
188 | } | ||
189 | |||
190 | .el-submenu { | ||
191 | overflow: hidden; | ||
192 | |||
193 | &>.el-submenu__title { | ||
194 | padding: 0 !important; | ||
195 | |||
196 | .svg-icon { | ||
197 | margin-left: 16px; | ||
198 | } | ||
199 | |||
200 | .sub-el-icon { | ||
201 | margin-left: 19px; | ||
202 | } | ||
203 | |||
204 | .el-submenu__icon-arrow { | ||
205 | display: none; | ||
206 | } | ||
207 | } | ||
208 | } | ||
209 | |||
210 | .el-menu--collapse { | ||
211 | .el-submenu { | ||
212 | &>.el-submenu__title { | ||
213 | &>span { | ||
214 | height: 0; | ||
215 | width: 0; | ||
216 | overflow: hidden; | ||
217 | visibility: hidden; | ||
218 | display: inline-block; | ||
219 | } | ||
220 | } | ||
221 | } | ||
222 | } | ||
223 | } | ||
224 | |||
225 | .el-menu--collapse .el-menu .el-submenu { | ||
226 | min-width: $sideBarWidth !important; | ||
227 | } | ||
228 | |||
229 | // mobile responsive | ||
230 | .mobile { | ||
231 | .main-container { | ||
232 | margin-left: 0px; | ||
233 | } | ||
234 | |||
235 | .sidebar-container { | ||
236 | transition: transform 0.28s; | ||
237 | width: $sideBarWidth !important; | ||
238 | } | ||
239 | |||
240 | &.hideSidebar { | ||
241 | .sidebar-container { | ||
242 | pointer-events: none; | ||
243 | transition-duration: 0.3s; | ||
244 | transform: translate3d(-$sideBarWidth, 0, 0); | ||
245 | } | ||
246 | } | ||
247 | } | ||
248 | |||
249 | .withoutAnimation { | ||
250 | |||
251 | .main-container, | ||
252 | .sidebar-container { | ||
253 | transition: none; | ||
254 | } | ||
255 | } | ||
256 | } | ||
257 | |||
258 | // when menu collapsed | ||
259 | .el-menu--vertical { | ||
260 | &>.el-menu { | ||
261 | .svg-icon { | ||
262 | margin-right: 16px; | ||
263 | } | ||
264 | |||
265 | .sub-el-icon { | ||
266 | margin-right: 12px; | ||
267 | margin-left: -2px; | ||
268 | } | ||
269 | } | ||
270 | |||
271 | .nest-menu .el-submenu>.el-submenu__title, | ||
272 | .el-menu-item { | ||
273 | width: calc(100% - 12px); | ||
274 | border-top-right-radius: 8px; | ||
275 | border-bottom-right-radius: 8px; | ||
276 | font-weight: 600 !important; | ||
277 | font-size: 15px !important; | ||
278 | background-color: $menuHover !important; | ||
279 | color: $menuText !important; | ||
280 | |||
281 | &:hover { | ||
282 | background-color: $menuHover !important; | ||
283 | opacity: .9; | ||
284 | |||
285 | .svg-icon, | ||
286 | i, | ||
287 | span { | ||
288 | color: $menuText; | ||
289 | } | ||
290 | } | ||
291 | } | ||
292 | |||
293 | // the scroll bar appears when the subMenu is too long | ||
294 | >.el-menu--popup { | ||
295 | max-height: 100vh; | ||
296 | overflow-y: auto; | ||
297 | background-color: #32ACFE !important; | ||
298 | border-top-right-radius: 8px; | ||
299 | border-bottom-right-radius: 8px; | ||
300 | min-width: 140px; | ||
301 | padding: 12px 0; | ||
302 | |||
303 | &::-webkit-scrollbar-track-piece { | ||
304 | background: #d3dce6; | ||
305 | } | ||
306 | |||
307 | &::-webkit-scrollbar { | ||
308 | width: 6px; | ||
309 | } | ||
310 | |||
311 | &::-webkit-scrollbar-thumb { | ||
312 | background: #99a9bf; | ||
313 | border-radius: 20px; | ||
314 | } | ||
315 | } | ||
316 | } | ||
317 | |||
318 | .el-submenu__title { | ||
319 | display: flex; | ||
320 | align-items: center; | ||
321 | } | ||
322 | |||
323 | .el-submenu__title span { | ||
324 | white-space: normal; | ||
325 | word-break: break-all; | ||
326 | line-height: 20px; | ||
327 | flex: 1; | ||
328 | padding-right: 20px; | ||
329 | } | ||
330 | |||
331 | .el-menu-item { | ||
332 | height: 42px; | ||
333 | display: flex; | ||
334 | align-items: center; | ||
335 | padding-right: 20px !important; | ||
336 | } | ||
337 | |||
338 | .el-menu-item span { | ||
339 | white-space: normal; | ||
340 | word-break: break-all; | ||
341 | line-height: 20px; | ||
342 | flex: 1; | ||
343 | } |
1 | /* | 1 | /* |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-03-23 15:26:37 | 4 | * @LastEditTime: 2023-05-11 16:31:01 |
5 | */ | 5 | */ |
6 | 6 | ||
7 | var Layout; | 7 | var Layout; |
8 | let ApiUrl = localStorage.getItem('ApiUrl') | 8 | let ApiUrl = localStorage.getItem('ApiUrl') |
9 | if (ApiUrl.THEME == 'sb') { | 9 | Layout = r => require.ensure([], () => r(require(`@/layout1`))) |
10 | Layout = r => require.ensure([], () => r(require(`@/layout1`))) | ||
11 | } else { | ||
12 | Layout = r => require.ensure([], () => r(require(`@/layout`))) | ||
13 | } | ||
14 | |||
15 | export default function filterAsyncRouter (routers) { | 10 | export default function filterAsyncRouter (routers) { |
16 | routers.forEach(item => { | 11 | routers.forEach(item => { |
17 | if (!item.children) { | 12 | if (!item.children) { | ... | ... |
1 | /* | 1 | /* |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-03-24 16:44:54 | 4 | * @LastEditTime: 2023-05-11 16:25:43 |
5 | */ | 5 | */ |
6 | import Vue from 'vue' | 6 | import Vue from 'vue' |
7 | export default function getTheme (theme = Vue.prototype.BASE_API.THEME) { | 7 | export default function getTheme (theme = Vue.prototype.BASE_API.THEME) { |
8 | const resultMap = { | 8 | const resultMap = { |
9 | 'jg': function () { | ||
10 | return import("@/styles/jgPublic.scss"); | ||
11 | }, | ||
12 | 'sb': function () { | 9 | 'sb': function () { |
13 | return import("@/styles/sbPublic.scss"); | 10 | return import("@/styles/sbPublic.scss"); |
14 | }, | 11 | }, | ... | ... |
-
Please register or sign in to post a comment