3b53aacc by 任超

feat:测试

2 parents bf12ec7e d19b4277
Showing 61 changed files with 1419 additions and 866 deletions
1 { 1 {
2 "TITLE": "汉中市数据上报系统"
3 }
...\ No newline at end of file ...\ No newline at end of file
2 "TITLE": "汉中市数据上报系统",
3 "THEME": "sb"
4 }
......
...@@ -26,8 +26,6 @@ ...@@ -26,8 +26,6 @@
26 26
27 <script> 27 <script>
28 window.baseUrl = location.origin || location.protocol + '//' + location.host 28 window.baseUrl = location.origin || location.protocol + '//' + location.host
29 // window.authorization = 'bearer AT-14-h4UlUGjPvgmrIgnDO-3QgMP0m4YJGQTR';
30 // window.authorization = 'bearer AT-223-c-Q86EHx75m7ig3EDf-SwMWl4U0AKn0b';
31 window.timeout = 5000 29 window.timeout = 5000
32 window.authorization = "bearer AT-4-MxSrO29Coe7VTazx8uuixtqqgO-hvCB6" 30 window.authorization = "bearer AT-4-MxSrO29Coe7VTazx8uuixtqqgO-hvCB6"
33 </script> 31 </script>
...\ No newline at end of file ...\ No newline at end of file
......
1 /*
2 * @Author: xiaomiao 1158771342@qq.com
3 * @Date: 2023-03-09 15:24:53
4 * @LastEditors: xiaomiao 1158771342@qq.com
5 * @LastEditTime: 2023-03-20 09:21:04
6 * @FilePath: \上报\bdcjg-web\src\api\personnelManage.js
7 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8 */
1 9
2 import { 10 import {
3 api, 11 api,
...@@ -5,7 +13,7 @@ import { ...@@ -5,7 +13,7 @@ import {
5 deleteAction, 13 deleteAction,
6 putAction 14 putAction
7 } from './manageApi' 15 } from './manageApi'
8 16 import { getParams } from './util'
9 17
10 export const updateUserPassword = (data) => { 18 export const updateUserPassword = (data) => {
11 return putAction(`${api.users}/update-password`, data) 19 return putAction(`${api.users}/update-password`, data)
...@@ -15,9 +23,41 @@ export const updateUserPassword = (data) => { ...@@ -15,9 +23,41 @@ export const updateUserPassword = (data) => {
15 export const getUserList = (params) => { 23 export const getUserList = (params) => {
16 return getAction(api.users, params) 24 return getAction(api.users, params)
17 } 25 }
18 26 export const getUserLists = (queryParam) => {
19 27 const conditionGroup = {
20 28 conditions: [{
29 property: 'code',
30 value: queryParam.code ? queryParam.code : null,
31 operator: 'LIKE'
32 },
33 {
34 property: 'name',
35 value: queryParam.name ? queryParam.name : null,
36 operator: 'LIKE'
37 }
38 ,
39 {
40 property: 'loginName',
41 value: queryParam.loginName ? queryParam.loginName : null,
42 operator: 'LIKE'
43 },
44 {
45 property: 'organizationId',
46 value: queryParam.organizationId,
47 operator: 'IN'
48 }
49 ,
50 {
51 property: 'departmentId',
52 value: queryParam.departmentId,
53 operator: 'IN'
54 }
55 ],
56 queryRelation: 'AND',
57 }
58 const params = getParams(conditionGroup)
59 return getAction(api.users, params)
60 }
21 // 重置用户密码 61 // 重置用户密码
22 // export const resetPassword = id => { 62 // export const resetPassword = id => {
23 // return putAction(`${api.users}/${id}/reset-password`) 63 // return putAction(`${api.users}/${id}/reset-password`)
......
1 import Vue from 'vue' 1 import Vue from 'vue'
2 import request from '@/utils/request' 2 import request from '@/utils/request'
3 console.log(Vue.prototype, Vue.prototype.$BASE_API); 3 console.log(Vue.prototype, Vue.prototype.BASE_API);
4 import SERVER from './config' 4 import SERVER from './config'
5 // 获取用户信息 5 // 获取用户信息
6 export function getUserInfo () { 6 export function getUserInfo () {
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-20 16:36:51
5 -->
1 <template> 6 <template>
2 <el-breadcrumb class="breadcrumb" separator-class="el-icon-arrow-right"> 7 <el-breadcrumb class="breadcrumb" separator-class="el-icon-arrow-right">
3 <span class="fl">当前页面:</span> 8 <span class="fl">当前页面:</span>
...@@ -52,60 +57,4 @@ export default { ...@@ -52,60 +57,4 @@ export default {
52 } 57 }
53 } 58 }
54 } 59 }
55 </script> 60 </script>
56
57 <style lang="scss" scoped>
58 .breadcrumb {
59 width: 80%;
60 text-indent: 10px;
61 background: url("~@/image/breadcrumb.png") no-repeat;
62 background-size: 100% 100%;
63 line-height: 32px;
64 height: 32px;
65 padding-left: 35px;
66 margin: 8px 0 10px 6px;
67 color: #CEF8FF;
68 }
69
70 /deep/.el-icon-arrow-right {
71 width: 2px;
72 position: relative;
73 left: -10px;
74 color: #FFFFFF;
75 // background-color: rgb(155, 200, 200);
76 }
77
78 /deep/.el-breadcrumb__inner {
79 color: #CEF8FF !important;
80 }
81
82 .breadcrumb1366 {
83 padding: 10px 0 !important;
84 }
85
86 .isFullScreen {
87 width: calc(100% - 20px);
88 margin: 0 auto;
89 padding: 10px !important;
90 }
91
92 .cur-location {
93 font-size: 16px;
94 color: white;
95 line-height: 40px;
96 float: left;
97
98 img {
99 position: relative;
100 top: 3px;
101 margin-right: 4px;
102 }
103 }
104
105 .el-breadcrumb__inner a,
106 .el-breadcrumb__inner.is-link {
107 color: white;
108 cursor: text;
109 font-weight: normal;
110 }
111 </style>
...\ No newline at end of file ...\ No newline at end of file
......
1 <template> 1 <template>
2 <button class="button" :class="nativeType" @click.prevent="handleClick" :type="nativeType"> 2 <el-button class="button" :class="nativeType" @click.prevent="handleClick" :type="nativeType">
3 <slot></slot> 3 <slot></slot>
4 </button> 4 </el-button>
5 </template> 5 </template>
6 <script> 6 <script>
7 export default { 7 export default {
8 name: 'Button', 8 name: 'Button',
9 props: { 9 props: {
10 nativeType: { 10 nativeType: {
11 type: String, 11 type: String,
12 default: 'cx' 12 default: 'cx'
13 },
13 }, 14 },
14 }, 15 methods: {
15 methods: { 16 handleClick (evt) {
16 handleClick (evt) { 17 this.$emit('click', evt);
17 this.$emit('click', evt); 18 }
18 } 19 }
19 } 20 };
20 };
21 </script> 21 </script>
22 <style scoped lang="scss"> 22 <style scoped lang="scss">
23 .button {
24 width: 76px;
25 height: 32px;
26 color: #ffffff;
27 margin: 0 5px;
28 cursor: pointer;
29 border: 0;
30 font-size: 14px;
31 }
32 23
33 .cx {
34 background: url('../image/btn.png') no-repeat 0 -34px;
35 background-size: cover;
36 }
37
38 .cz {
39 background: url('../image/btn.png') no-repeat 0 0;
40 background-size: cover;
41 }
42 </style> 24 </style>
......
...@@ -144,7 +144,6 @@ export default { ...@@ -144,7 +144,6 @@ export default {
144 } 144 }
145 145
146 .el-form-item__content { 146 .el-form-item__content {
147 // height: 32px;
148 line-height: 32px; 147 line-height: 32px;
149 148
150 // date 组件有图标 149 // date 组件有图标
......
...@@ -43,9 +43,6 @@ export default { ...@@ -43,9 +43,6 @@ export default {
43 } 43 }
44 </script> 44 </script>
45 <style scoped lang='scss'> 45 <style scoped lang='scss'>
46 @import '~@/styles/public.scss';
47
48
49 .result { 46 .result {
50 padding: 15px; 47 padding: 15px;
51 height: 100%; 48 height: 100%;
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-03-16 11:15:48 4 * @LastEditTime: 2023-03-20 14:22:35
5 --> 5 -->
6 <template> 6 <template>
7 <div class="app-wrapper jgWrapper"> 7 <div class="app-wrapper jgWrapper">
...@@ -12,60 +12,61 @@ ...@@ -12,60 +12,61 @@
12 </div> 12 </div>
13 </template> 13 </template>
14 <script> 14 <script>
15 import { AppMain, Navbar, Sidebar, TagsView } from './components' 15 import { AppMain, Navbar, Sidebar, TagsView } from './components'
16 import ResizeMixin from './mixin/ResizeHandler' 16 import ResizeMixin from './mixin/ResizeHandler'
17 import { mapState } from 'vuex' 17 import { mapState } from 'vuex'
18 export default { 18 export default {
19 name: 'Layout', 19 name: 'Layout',
20 components: { 20 components: {
21 AppMain, 21 AppMain,
22 Navbar, 22 Navbar,
23 Sidebar, 23 Sidebar,
24 TagsView 24 TagsView
25 }, 25 },
26 created () { 26 created () {
27 this.$store.dispatch("products/setData", "BDCJGPT"); 27 console.log("hhh");
28 }, 28 this.$store.dispatch("products/setData", "BDCJGPT");
29 mixins: [ResizeMixin], 29 },
30 computed: { 30 mixins: [ResizeMixin],
31 ...mapState({ 31 computed: {
32 sidebar: state => state.app.sidebar, 32 ...mapState({
33 needTagsView: state => state.settings.tagsView, 33 sidebar: state => state.app.sidebar,
34 fixedHeader: state => state.settings.fixedHeader 34 needTagsView: state => state.settings.tagsView,
35 }) 35 fixedHeader: state => state.settings.fixedHeader
36 })
37 }
36 } 38 }
37 }
38 </script> 39 </script>
39 <style lang="scss"> 40 <style lang="scss">
40 @import "~@/styles/jgSidebar.scss"; 41 @import "~@/styles/jgSidebar.scss";
41 </style> 42 </style>
42 <style lang="scss" scoped> 43 <style lang="scss" scoped>
43 @import "~@/styles/mixin.scss"; 44 @import "~@/styles/mixin.scss";
44 45
45 .app-wrapper { 46 .app-wrapper {
46 @include clearfix; 47 @include clearfix;
47 position: relative; 48 position: relative;
48 height: 100%; 49 height: 100%;
49 width: 100%; 50 width: 100%;
50 min-width: 1280px; 51 min-width: 1280px;
51 background: url("~@/image/bg.png") no-repeat; 52 background: url("~@/image/bg.png") no-repeat;
52 background-size: 100% 100%; 53 background-size: 100% 100%;
53 padding: 12px; 54 padding: 12px;
54 box-sizing: border-box; 55 box-sizing: border-box;
55 56
56 &.mobile.openSidebar { 57 &.mobile.openSidebar {
57 position: fixed; 58 position: fixed;
58 top: 0; 59 top: 0;
60 }
59 } 61 }
60 }
61 62
62 .appMain { 63 .appMain {
63 // min-width: 1280px; 64 // min-width: 1280px;
64 height: calc(100vh - 101px) !important; 65 height: calc(100vh - 101px) !important;
65 box-sizing: border-box; 66 box-sizing: border-box;
66 67
67 .app-main { 68 .app-main {
68 height: 100%; 69 height: 100%;
70 }
69 } 71 }
70 }
71 </style> 72 </style>
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-20 16:35:09
5 -->
1 <template> 6 <template>
2 <section class="app-main"> 7 <section class="app-main">
3 <transition name="fade-transform" mode="out-in"> 8 <transition name="fade-transform" mode="out-in">
...@@ -17,11 +22,12 @@ export default { ...@@ -17,11 +22,12 @@ export default {
17 </script> 22 </script>
18 <style lang="scss" scoped> 23 <style lang="scss" scoped>
19 .app-main { 24 .app-main {
20 height: calc(100vh - 84px); 25 height: calc(100vh - 74px);
21 overflow-x: hidden; 26 overflow-x: hidden;
22 box-sizing: border-box; 27 box-sizing: border-box;
23 flex: 1; 28 flex: 1;
24 width: 100%; 29 width: 100%;
25 // background-color: #ffffff; 30 background: #EFF0F4;
31 padding: 15px;
26 } 32 }
27 </style> 33 </style>
......
...@@ -21,224 +21,229 @@ ...@@ -21,224 +21,229 @@
21 </div> 21 </div>
22 </template> 22 </template>
23 <script> 23 <script>
24 import { mapGetters } from 'vuex' 24 import { mapGetters } from 'vuex'
25 import Breadcrumb from './Breadcrumb' 25 import Breadcrumb from './Breadcrumb'
26 import defaultSettings from '@/settings' 26 import defaultSettings from '@/settings'
27 export default { 27 export default {
28 components: { 28 components: {
29 Breadcrumb 29 Breadcrumb
30 }, 30 },
31 computed: { 31 computed: {
32 ...mapGetters(['sidebar', 'avatar', 'name']) 32 ...mapGetters(['sidebar', 'avatar', 'name'])
33 },
34 data () {
35 return {
36 title: defaultSettings.title
37 }
38 },
39 methods: {
40 handleDataView () {
41 const { href } = this.$router.resolve('/dataView');
42 window.open(href, '_blank');
33 }, 43 },
34 data () { 44 themeChange (val) {
35 return { 45 this.$store.dispatch('app/updateTheme', val)
36 title: defaultSettings.title
37 }
38 }, 46 },
39 methods: { 47 handleCommand (command) {
40 handleDataView () { 48 if (command == 'a') {
41 const { href } = this.$router.resolve('/dataView'); 49 } else {
42 window.open(href, '_blank');
43 },
44 themeChange (val) {
45 this.$store.dispatch('app/updateTheme', val)
46 },
47 handleCommand (command) {
48 if (command == 'a') {
49 } else {
50 50
51 }
52 } 51 }
53 } 52 }
54 } 53 }
54 }
55 </script> 55 </script>
56 <style lang="scss" scoped> 56 <style lang="scss" scoped>
57 .navbar-con { 57 @import "~@/styles/_handle.scss";
58 position: relative;
59 58
60 .logo { 59 .navbar-con {
61 color: #fff; 60 position: relative;
62 font-size: 26px; 61
63 font-weight: 700; 62 .logo {
64 display: flex; 63 color: #fff;
65 img { 64 font-size: 26px;
66 width: 47px; 65 font-weight: 700;
67 height: 47px; 66 display: flex;
68 } 67
69 h4 { 68 img {
70 margin-left: 20px; 69 width: 47px;
71 height: 50px; 70 height: 47px;
72 line-height: 50px; 71 }
73 } 72
73 h4 {
74 margin-left: 20px;
75 height: 50px;
76 line-height: 50px;
74 } 77 }
75 } 78 }
79 }
80
81 .NoticeBar {
82 position: absolute;
83 bottom: 0;
84 }
85
86 .el-dropdown-menu {
87 padding: 0 !important;
88 border: 1px solid #ebeef5;
89 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
90 border-radius: 4px 0 0 4px 4px;
91
92 .el-dropdown-menu__item {
93 text-align: center;
94 margin-top: 0 !important;
95 font-size: 14px;
96 font-weight: 400;
97 color: #4a4a4a;
98 width: 140px;
99 height: 36px;
100 line-height: 36px;
101 }
76 102
77 .NoticeBar { 103 .el-dropdown-menu__item:nth-child(6) {
78 position: absolute; 104 border-top: 1px solid #ebeef5;
79 bottom: 0;
80 } 105 }
81 106
82 .el-dropdown-menu { 107 .popper__arrow {
83 padding: 0 !important; 108 top: -11px !important;
84 border: 1px solid #ebeef5; 109 left: 110px !important;
85 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12); 110 transform: rotate(0deg) scale(2);
86 border-radius: 4px 0 0 4px 4px; 111 }
87
88 .el-dropdown-menu__item {
89 text-align: center;
90 margin-top: 0 !important;
91 font-size: 14px;
92 font-family: PingFangSC-Regular, PingFang SC;
93 font-weight: 400;
94 color: #4a4a4a;
95 width: 140px;
96 height: 36px;
97 line-height: 36px;
98 }
99 112
100 .el-dropdown-menu__item:nth-child(6) { 113 .el-dropdown-menu__item:not(.is-disabled):hover,
101 border-top: 1px solid #ebeef5; 114 .el-dropdown-menu__item:focus {
102 } 115 background: #f6f7f9;
116 color: #4a4a4a;
117 }
118 }
103 119
104 .popper__arrow { 120 .navbar {
105 top: -11px !important; 121 height: $headerHeight;
106 left: 110px !important; 122 overflow: hidden;
107 transform: rotate(0deg) scale(2); 123 position: relative;
108 } 124 @include background_color("navbg");
109 125
110 .el-dropdown-menu__item:not(.is-disabled):hover, 126 display: flex;
111 .el-dropdown-menu__item:focus { 127 align-items: center;
112 background: #f6f7f9; 128 padding-right: 20px;
113 color: #4a4a4a; 129 justify-content: space-between;
114 } 130
131 .header-logo {
132 width: 300px;
115 } 133 }
116 134
117 .navbar { 135 .backdrop {
136 flex: 1;
137 width: 60%;
138 background-size: 100% 100%;
118 height: $headerHeight; 139 height: $headerHeight;
119 overflow: hidden;
120 position: relative;
121 background: linear-gradient(270deg, #ebf1ff 0%, #3d59c4 100%);
122 display: flex; 140 display: flex;
123 align-items: center; 141 align-items: center;
124 padding-right: 20px; 142 }
125 justify-content: space-between;
126 .header-logo {
127 width: 300px;
128 }
129 143
130 .backdrop { 144 .hamburger-container {
131 flex: 1; 145 line-height: 43px;
132 width: 60%; 146 height: 100%;
133 background-size: 100% 100%; 147 float: left;
134 height: $headerHeight; 148 cursor: pointer;
135 display: flex; 149 transition: background 0.3s;
136 align-items: center; 150 -webkit-tap-highlight-color: transparent;
151
152 &:hover {
153 background: rgba(0, 0, 0, 0.025);
137 } 154 }
155 }
138 156
139 .hamburger-container { 157 .breadcrumb-container {
140 line-height: 43px; 158 float: left;
141 height: 100%; 159 }
142 float: left;
143 cursor: pointer;
144 transition: background 0.3s;
145 -webkit-tap-highlight-color: transparent;
146 160
147 &:hover { 161 .right-menu {
148 background: rgba(0, 0, 0, 0.025); 162 float: right;
149 } 163 height: 100%;
164 line-height: 50px;
165 display: flex;
166 align-items: center;
167
168 .function {
169 margin: 0 15px;
170 cursor: pointer;
150 } 171 }
151 172
152 .breadcrumb-container { 173 .shutdown {
153 float: left; 174 font-size: 20px;
175 margin-left: 15px;
176 cursor: pointer;
154 } 177 }
155 178
156 .right-menu { 179 .organization-item {
157 float: right; 180 margin-right: 40px;
158 height: 100%; 181 margin-top: -40px !important;
159 line-height: 50px; 182 }
160 display: flex;
161 align-items: center;
162 183
163 .function { 184 .item {
164 margin: 0 15px; 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;
165 cursor: pointer; 198 cursor: pointer;
199 z-index: 100;
166 } 200 }
201 }
167 202
168 .shutdown { 203 &:focus {
169 font-size: 20px; 204 outline: none;
170 margin-left: 15px; 205 }
171 cursor: pointer;
172 }
173 206
174 .organization-item { 207 .right-menu-item {
175 margin-right: 40px; 208 display: inline-block;
176 margin-top: -40px !important; 209 height: 100%;
177 } 210 font-size: 18px;
211 color: #fff;
212 vertical-align: text-bottom;
178 213
179 .item { 214 &.hover-effect {
180 margin-right: 40px;
181 margin-top: -20px;
182 line-height: 18.4px;
183 cursor: pointer; 215 cursor: pointer;
184 position: relative; 216 transition: background 0.3s;
185 217 display: flex;
186 .item-box { 218 align-items: center;
187 position: absolute;
188 top: -5px;
189 left: 3px;
190 width: 100%;
191 min-width: 25px;
192 height: 25px;
193 cursor: pointer;
194 z-index: 100;
195 }
196 }
197
198 &:focus {
199 outline: none;
200 }
201 219
202 .right-menu-item { 220 &:hover {
203 display: inline-block; 221 background: rgba(0, 0, 0, 0.025);
204 height: 100%;
205 font-size: 18px;
206 color: #fff;
207 vertical-align: text-bottom;
208
209 &.hover-effect {
210 cursor: pointer;
211 transition: background 0.3s;
212 display: flex;
213 align-items: center;
214
215 &:hover {
216 background: rgba(0, 0, 0, 0.025);
217 }
218 } 222 }
219 } 223 }
224 }
220 225
221 .avatar-wrapper { 226 .avatar-wrapper {
222 position: relative; 227 position: relative;
223 display: flex; 228 display: flex;
224 height: 40px; 229 height: 40px;
225 align-items: center; 230 align-items: center;
226 231
227 .user-avatar { 232 .user-avatar {
228 cursor: pointer; 233 cursor: pointer;
229 width: 35px; 234 width: 35px;
230 height: 35px; 235 height: 35px;
231 border-radius: 50%; 236 border-radius: 50%;
232 } 237 }
233 238
234 .el-icon-caret-bottom { 239 .el-icon-caret-bottom {
235 cursor: pointer; 240 cursor: pointer;
236 position: absolute; 241 position: absolute;
237 right: -15px; 242 right: -15px;
238 top: 17px; 243 top: 17px;
239 font-size: 12px; 244 font-size: 12px;
240 }
241 } 245 }
242 } 246 }
243 } 247 }
248 }
244 </style> 249 </style>
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-03-10 15:00:56 4 * @LastEditTime: 2023-03-20 16:05:15
5 --> 5 -->
6 <template> 6 <template>
7 <div class="app-wrapper scWrapper"> 7 <div class="app-wrapper">
8 <navbar /> 8 <navbar />
9 <div class="main-container"> 9 <div class="main-container">
10 <sidebar class="sidebar-container" /> 10 <sidebar class="sidebar-container" />
......
1 /* 1 /*
2 * @Author: yangwei 2 * @Author: yangwei
3 * @Date: 2023-01-16 09:10:12 3 * @Date: 2023-01-16 09:10:12
4 * @LastEditors: yangwei 4 * @LastEditors: Please set LastEditors
5 * @LastEditTime: 2023-03-16 09:33:27 5 * @LastEditTime: 2023-03-21 14:15:40
6 * @FilePath: \bdcjg-web\src\main.js 6 * @FilePath: \bdcjg-web\src\main.js
7 * @Description: 7 * @Description:
8 * 8 *
...@@ -51,7 +51,7 @@ Vue.directive('fo', { ...@@ -51,7 +51,7 @@ Vue.directive('fo', {
51 import './image/icons' // icon 51 import './image/icons' // icon
52 import store from './store' 52 import store from './store'
53 import router from './router' 53 import router from './router'
54 import _ from 'lodash' 54 import _, { set } from 'lodash'
55 Vue.use(Element, { size: 'small', zIndex: 1000 }) 55 Vue.use(Element, { size: 'small', zIndex: 1000 })
56 Vue.use(Base) 56 Vue.use(Base)
57 Vue.component('icon', Icon); 57 Vue.component('icon', Icon);
...@@ -61,12 +61,15 @@ axios.get("./config.json") ...@@ -61,12 +61,15 @@ axios.get("./config.json")
61 .then((res) => { 61 .then((res) => {
62 Vue.prototype.BASE_API = res.data 62 Vue.prototype.BASE_API = res.data
63 require('./permission') 63 require('./permission')
64 new Vue({ 64
65 el: '#app', 65 setTimeout(() => {
66 router, 66 new Vue({
67 store, 67 el: '#app',
68 render: h => h(App) 68 router,
69 }) 69 store,
70 render: h => h(App)
71 })
72 }, 20)
70 73
71 }) 74 })
72 75
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-03-15 11:17:28 4 * @LastEditTime: 2023-03-21 13:52:58
5 */ 5 */
6 import router from "./router"; 6 import router from "./router";
7 import store from "./store"; 7 import store from "./store";
...@@ -9,10 +9,14 @@ import { getMenuInfo } from "@/api/user"; ...@@ -9,10 +9,14 @@ import { getMenuInfo } from "@/api/user";
9 import NProgress from "nprogress"; // progress bar 9 import NProgress from "nprogress"; // progress bar
10 import "nprogress/nprogress.css"; // progress bar style 10 import "nprogress/nprogress.css"; // progress bar style
11 import getPageTitle from "@/utils/get-page-title"; 11 import getPageTitle from "@/utils/get-page-title";
12 import getTheme from "@/utils/theme";
12 import Cookies from "js-cookie"; 13 import Cookies from "js-cookie";
13 NProgress.configure({ showSpinner: false }); // NProgress Configuration 14 NProgress.configure({ showSpinner: false });
14 router.beforeEach(async (to, from, next) => { 15 router.beforeEach(async (to, from, next) => {
16 getTheme()
17
15 NProgress.start(); 18 NProgress.start();
19 window.document.documentElement.setAttribute("data-theme", 'blue');
16 document.title = getPageTitle(to.meta.title); 20 document.title = getPageTitle(to.meta.title);
17 let hasAddDict = store.state.dict.addDict; 21 let hasAddDict = store.state.dict.addDict;
18 let hasUser = store.state.user.hasUser; 22 let hasUser = store.state.user.hasUser;
...@@ -29,7 +33,7 @@ router.beforeEach(async (to, from, next) => { ...@@ -29,7 +33,7 @@ router.beforeEach(async (to, from, next) => {
29 //请求用户信息 33 //请求用户信息
30 if (!hasUser) { 34 if (!hasUser) {
31 store.dispatch("user/getUserInfo"); 35 store.dispatch("user/getUserInfo");
32 import("@/styles/public.scss"); 36 // import("@/styles/public.scss");
33 } 37 }
34 if (hasAddRoute) { 38 if (hasAddRoute) {
35 next(); 39 next();
......
1 /* 1 /*
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: xiaomiao 1158771342@qq.com 4 * @LastEditors: Please set LastEditors
5 * @LastEditTime: 2023-03-13 09:03:16 5 * @LastEditTime: 2023-03-21 14:05:43
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 */
9 import Vue from 'vue'
9 import { constantRoutes } from '@/router' 10 import { constantRoutes } from '@/router'
10 import asyncRouter from '@/utils/asyncRouter.js' 11 import asyncRouter from '@/utils/asyncRouter.js'
11 const state = { 12 const state = {
......
1 @import "./_themes.scss";
2
3 //遍历主题map
4 @mixin themeify {
5
6 @each $theme-name,
7 $theme-map in $themes {
8 //!global 把局部变量强升为全局变量
9 $theme-map: $theme-map !global;
10
11 //判断html的data-theme的属性值 #{}是sass的插值表达式
12 //& sass嵌套里的父容器标识 @content是混合器插槽,像vue的slot
13 [data-theme="#{$theme-name}"] & {
14 @content;
15 }
16 }
17 }
18
19 //声明一个根据Key获取颜色的function
20 @function themed($key) {
21 @return map-get($theme-map, $key);
22 }
23 //获取渐变背景
24 @mixin background($color) {
25 @include themeify {
26 background: themed($color) !important;
27 }
28 }
29
30 //获取背景颜色
31 @mixin background_color($color) {
32 @include themeify {
33 background-color: themed($color) !important;
34 }
35 }
36 //获取字体颜色
37 @mixin font_color($color) {
38 @include themeify {
39 color: themed($color)!important;
40 }
41 }
...\ No newline at end of file ...\ No newline at end of file
1 $themes: (blue: ( //背景
2 navbg: #3D59C4,
3 menuBg: #121F41,
4 menuActive: linear-gradient(90deg, rgba(61,90,198,0.7) 0%, rgba(61,90,198,0) 100%),
5 //字体
6 menuText: #A1A7C2,
7 menuActiveText: #FFFFFF
8 ),
9
10 green: (
11 navbg: #0F8B80,
12 menuBg:#121A2E,
13 menuActive: linear-gradient(90deg, rgba(61,90,198,0.7) 0%, rgba(61,90,198,0) 100%),
14 //字体
15 menuText: #A1A7C2,
16 menuActiveText: #FFFFFF
17 )
18 )
...\ No newline at end of file ...\ No newline at end of file
1 @import './variables.scss'; 1 @import './variables.scss';
2 @import './mixin.scss'; 2 @import './mixin.scss';
3 @import './transition.scss'; 3 @import './transition.scss';
4 @import './element-ui.scss'; 4 // @import './element-ui.scss';
5 // @import './sidebar.scss';
6
7 /* CSS 初始化 */ 5 /* CSS 初始化 */
8 html, 6 html,
9 body, 7 body,
...@@ -137,8 +135,8 @@ ul li { ...@@ -137,8 +135,8 @@ ul li {
137 } 135 }
138 136
139 .mb-5 { 137 .mb-5 {
140 margin-bottom: 10px!important; 138 margin-bottom: 10px !important;
141 margin-top: 10px!important; 139 margin-top: 10px !important;
142 } 140 }
143 141
144 .pr-5 { 142 .pr-5 {
...@@ -150,8 +148,8 @@ ul li { ...@@ -150,8 +148,8 @@ ul li {
150 } 148 }
151 149
152 .mt-10 { 150 .mt-10 {
153 margin-top: 20px!important; 151 margin-top: 20px !important;
154 margin-bottom: 5px!important; 152 margin-bottom: 5px !important;
155 } 153 }
156 154
157 //flex 公共样式 155 //flex 公共样式
...@@ -362,6 +360,7 @@ aside { ...@@ -362,6 +360,7 @@ aside {
362 border-radius: 16px; 360 border-radius: 16px;
363 color: #0097FF; 361 color: #0097FF;
364 } 362 }
363
365 .successColor:hover { 364 .successColor:hover {
366 width: 64px; 365 width: 64px;
367 height: 28px; 366 height: 28px;
...@@ -369,6 +368,7 @@ aside { ...@@ -369,6 +368,7 @@ aside {
369 border-radius: 16px; 368 border-radius: 16px;
370 color: #0097FF; 369 color: #0097FF;
371 } 370 }
371
372 .configurationbtnColor { 372 .configurationbtnColor {
373 width: 64px; 373 width: 64px;
374 height: 28px; 374 height: 28px;
...@@ -376,13 +376,15 @@ aside { ...@@ -376,13 +376,15 @@ aside {
376 border-radius: 16px; 376 border-radius: 16px;
377 color: #b0e4dd; 377 color: #b0e4dd;
378 } 378 }
379 .configurationbtnColor:hover { 379
380 .configurationbtnColor:hover {
380 width: 64px; 381 width: 64px;
381 height: 28px; 382 height: 28px;
382 background: rgba(255, 255, 255, 0.2); 383 background: rgba(255, 255, 255, 0.2);
383 border-radius: 16px; 384 border-radius: 16px;
384 color: #b0e4dd; 385 color: #b0e4dd;
385 } 386 }
387
386 .resetbtnColor { 388 .resetbtnColor {
387 width: 64px; 389 width: 64px;
388 height: 28px; 390 height: 28px;
...@@ -390,13 +392,15 @@ aside { ...@@ -390,13 +392,15 @@ aside {
390 border-radius: 16px; 392 border-radius: 16px;
391 color: #A5CBDA; 393 color: #A5CBDA;
392 } 394 }
393 .resetbtnColor:hover { 395
396 .resetbtnColor:hover {
394 width: 64px; 397 width: 64px;
395 height: 28px; 398 height: 28px;
396 background: rgba(255, 255, 255, 0.2); 399 background: rgba(255, 255, 255, 0.2);
397 border-radius: 16px; 400 border-radius: 16px;
398 color: #A5CBDA; 401 color: #A5CBDA;
399 } 402 }
403
400 .movebtnColor { 404 .movebtnColor {
401 width: 64px; 405 width: 64px;
402 height: 28px; 406 height: 28px;
...@@ -404,6 +408,7 @@ aside { ...@@ -404,6 +408,7 @@ aside {
404 border-radius: 16px; 408 border-radius: 16px;
405 color: #0097FF; 409 color: #0097FF;
406 } 410 }
411
407 .movebtnColor:hover { 412 .movebtnColor:hover {
408 background: rgba(255, 255, 255, 0.2); 413 background: rgba(255, 255, 255, 0.2);
409 border-radius: 16px; 414 border-radius: 16px;
...@@ -513,4 +518,4 @@ aside { ...@@ -513,4 +518,4 @@ aside {
513 @font-face { 518 @font-face {
514 font-family: AliBold; 519 font-family: AliBold;
515 src: url('../image/font/Alibaba_PuHuiTi_2.0_55_Regular_85_Bold.ttf') 520 src: url('../image/font/Alibaba_PuHuiTi_2.0_55_Regular_85_Bold.ttf')
516 } 521 }
...\ No newline at end of file ...\ No newline at end of file
......
1 @import '~@/styles/jgElement-ui.scss';
2
1 .tableClass { 3 .tableClass {
2 .el-table { 4 .el-table {
3 border: none !important; 5 border: none !important;
...@@ -445,3 +447,108 @@ ...@@ -445,3 +447,108 @@
445 } 447 }
446 } 448 }
447 } 449 }
450
451 // 面包屑
452 .breadcrumb {
453 width: 80%;
454 text-indent: 10px;
455 background: url("~@/image/breadcrumb.png") no-repeat;
456 background-size: 100% 100%;
457 line-height: 32px;
458 height: 32px;
459 padding-left: 35px;
460 margin: 8px 0 10px 6px;
461 color: #CEF8FF;
462 }
463
464 .el-icon-arrow-right {
465 width: 2px;
466 position: relative;
467 left: 10px;
468 color: #FFFFFF;
469 }
470
471 .el-breadcrumb__inner {
472 color: #CEF8FF !important;
473 }
474
475 .breadcrumb1366 {
476 padding: 10px 0 !important;
477 }
478
479 .cur-location {
480 font-size: 16px;
481 color: white;
482 line-height: 40px;
483 float: left;
484
485 img {
486 position: relative;
487 top: 3px;
488 margin-right: 4px;
489 }
490 }
491
492 .el-breadcrumb__inner a,
493 .el-breadcrumb__inner.is-link {
494 color: white;
495 cursor: text;
496 font-weight: normal;
497 }
498
499 .button {
500 width: 76px;
501 height: 32px;
502 color: #ffffff;
503 cursor: pointer;
504 border: 0;
505 font-size: 12px;
506 }
507
508 .button:hover {
509 // width: 76px;
510 // height: 32px;
511 // color: #ffffff;
512 // cursor: pointer;
513 // border: 0;
514 // font-size: 12px;
515 // background: none;
516 }
517
518 .cx {
519 background: url("../image/btn.png") no-repeat 0 -34px;
520 background-size: cover;
521 }
522
523 .cx:hover {
524 background: url("../image/btn.png") no-repeat 0 -34px;
525 background-size: cover;
526 color: white;
527 }
528
529 .cz {
530 background: url("../image/btn.png") no-repeat 0 0;
531 background-size: cover;
532 }
533
534 .cz:hover {
535 background: url("../image/btn.png") no-repeat 0 0;
536 background-size: cover;
537 color: white;
538 }
539
540 .el-button:focus {
541 background: none;
542 }
543
544 .cx:focus {
545 background: url("../image/btn.png") no-repeat 0 -34px;
546 background-size: cover;
547 color: white;
548 }
549
550 .cz:focus {
551 background: url("../image/btn.png") no-repeat 0 0;
552 background-size: cover;
553 color: white;
554 }
......
...@@ -340,5 +340,4 @@ ...@@ -340,5 +340,4 @@
340 word-break: break-all; 340 word-break: break-all;
341 line-height: 20px; 341 line-height: 20px;
342 flex: 1; 342 flex: 1;
343
344 }
...\ No newline at end of file ...\ No newline at end of file
343 }
......
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 .el-input__inner {
14 color: #FFFFFF !important;
15 padding: 0 7px !important;
16 }
17
18 // input 样式
19 // 全局css 加上以下代码,可以隐藏上下箭头
20
21 // 取消input的上下箭头
22 input::-webkit-inner-spin-button {
23 -webkit-appearance: none !important;
24
25 }
26
27 input::-webkit-outer-spin-button {
28 -webkit-appearance: none !important;
29
30 }
31
32 input[type="number"] {
33 -moz-appearance: textfield;
34
35 }
36
37 .el-upload {
38 input[type="file"] {
39 display: none !important;
40 }
41 }
42
43 .el-upload__input {
44 display: none;
45 }
46
47 .cell {
48 .el-tag {
49 margin-right: 0px;
50 }
51 }
52
53 .small-padding {
54 .cell {
55 padding-left: 5px;
56 padding-right: 5px;
57 }
58 }
59
60 .fixed-width {
61 .el-button--mini {
62 padding: 7px 10px;
63 min-width: 60px;
64 }
65 }
66
67 .status-col {
68 .cell {
69 padding: 0 10px;
70 text-align: center;
71
72 .el-tag {
73 margin-right: 0px;
74 }
75 }
76 }
77
78 .el-icon-date,
79 .el-icon-time {
80 display: none;
81 }
82
83 // to fixed https://github.com/ElemeFE/element/issues/2461
84 // refine element ui upload
85 .el-input.is-disabled .el-input__inner {
86 color: #FFFFFF !important;
87 background-color: transparent !important;
88 border: 1px solid #224C7C !important;
89 }
90
91 .upload-container {
92 .el-upload {
93 width: 100%;
94
95 .el-upload-dragger {
96 width: 100%;
97 height: 200px;
98 }
99 }
100 }
101
102 // dropdown
103 .el-dropdown-menu {
104 a {
105 display: block
106 }
107 }
108
109 // fix date-picker ui bug in filter-item
110 .el-range-editor.el-input__inner {
111 display: inline-flex !important;
112 }
113
114 // to fix el-date-picker css style
115 .el-range-separator {
116 box-sizing: content-box;
117 }
118
119 .el-submenu__icon-arrow {
120 margin-top: -5px;
121 }
122
123 // element 样式补丁
124 .el-menu--horizontal {
125 border-bottom: none !important;
126 }
127
128 .el-radio-group {
129 .el-radio-button__inner {
130 height: 36px;
131 line-height: 36px;
132 padding: 0 20px;
133 font-size: 14px;
134 }
135
136 .el-radio-button:first-child {
137 border-radius: 4px 0 0 4px;
138 }
139
140 .el-radio-button:last-child {
141 border-radius: 0 4px 4px 0;
142 }
143 }
144
145 .el-tabs__item:focus.is-active.is-focus:not(:active) {
146 box-shadow: none !important;
147 }
148
149 // Divider 分割线 样式的修改
150 .el-divider--horizontal {
151 margin: 10px 0 !important;
152 }
153
154 .el-row {
155 margin-bottom: 0 !important;
156 }
157
158 // form
159 .el-form-item__content {
160 margin-left: 0 !important;
161 }
162
163 .el-icon-full-screen,
164 .el-icon-rank {
165 cursor: pointer;
166 }
167
168 // 表格样式
169 .el-table th {
170 height: 48px !important;
171 font-size: 14px;
172 color: #4A4A4A;
173 }
174
175 .el-table tr td {
176 font-size: 14px;
177 color: #7A7A7A;
178 }
179
180 .lb-table .el-table {
181 border-bottom: none;
182 border-radius: 4px 4px 0 0;
183 }
184
185 .el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip {
186 display: none !important
187 }
188
189 .el-message-box__btns {
190 display: flex;
191 flex-direction: row-reverse;
192 }
193
194 .el-message-box__btns .el-button--primary {
195 margin-right: 10px;
196 }
197
198 .el-form-item__content {
199 flex: 1;
200 }
201
202 .el-submenu__title {
203 .svg-icon {
204 position: relative;
205 top: 2px;
206 }
207 }
...\ No newline at end of file ...\ No newline at end of file
1 @import '~@/styles/sbElement-ui.scss';
2
3 .from-clues {
4 height: 100%;
5 width: 100%;
6 min-width: 1280px;
7 box-sizing: border-box;
8 overflow-x: hidden;
9 padding: 2px;
10
11 &-header {
12 width: 100%;
13 padding: 5px 30px 20px 24px;
14 box-sizing: border-box;
15 background-size: 100% 100%;
16 background: #FFFFFF;
17 border-radius: 4px;
18 }
19
20 &-content {
21 width: 100%;
22 box-sizing: border-box;
23 margin-top: 15px;
24 background: #FFFFFF;
25 border-radius: 4px;
26 background-size: 100% 100%;
27 padding: 22px 42px 20px;
28 }
29
30
31
32 .el-form--inline .el-form-item {
33 width: auto;
34 margin-right: 0px;
35
36 .el-form-item__content {
37 width: auto;
38 }
39 }
40
41 .el-form-item--small.el-form-item {
42 margin-bottom: 0px;
43 }
44 }
45
46 /* --------------进度条美化---------------- */
47 ::-webkit-scrollbar {
48 width: 7px;
49 height: 7px;
50 }
51
52 ::-webkit-scrollbar-track {
53 width: 7px;
54 background-color: rgba(255, 255, 255, 0);
55 -webkit-border-radius: 6px;
56 -moz-border-radius: 6px;
57 border-radius: 6px;
58 }
59
60 ::-webkit-scrollbar-thumb {
61 background-color: rgb(207, 208, 209);
62 background-clip: padding-box;
63 min-height: 28px;
64 -webkit-border-radius: 6px;
65 -moz-border-radius: 6px;
66 border-radius: 6px;
67 }
68
69 ::-webkit-scrollbar-thumb:hover {
70 background-color: rgb(162, 164, 167);
71 }
72
73 // 搜索框按钮的位置
74 .btnColRight {
75 box-sizing: border-box;
76 text-align: right;
77 }
78
79 // 按钮样式
80 .button:hover {
81 width: 86px;
82 height: 32px;
83 color: #ffffff;
84 cursor: pointer;
85 border: 0;
86 font-size: 12px;
87 background: none;
88 }
89
90 .cx {
91 width: 86px;
92 height: 32px;
93 background-color: #4162D8;
94 color: white;
95 border: none;
96 }
97
98 .cx:hover {
99 width: 86px;
100 height: 32px;
101 background-color: #4162D8;
102 color: white;
103 border: none;
104 }
105
106 .cz {
107 width: 86px;
108 height: 32px;
109 background-color: white;
110 color: #4162D8;
111
112 border: 1px solid rgba(65, 98, 216, 0.3);
113 }
114
115 .cz:hover {
116 width: 86px;
117 height: 32px;
118 background-color: white;
119 color: #4162D8;
120 border: 1px solid rgba(65, 98, 216, 0.3);
121 }
122
123 .el-button:focus {
124 // background: none;
125 }
126
127 .cx:focus {
128 color: white;
129 background-color: #4162D8;
130 background-size: cover;
131 }
132
133 .cz:focus {
134 color: #4162D8;
135 background-color: white;
136 ;
137 background-size: cover;
138 }
1 .scWrapper { 1 @import "~@/styles/_handle.scss";
2 .main-container {
3 width: 100%;
4 height: calc(100% - 74px);
5 transition: margin-left 0.28s;
6 display: flex;
7 }
8 2
9 .sidebar-container { 3 .main-container {
10 transition: width 0.28s; 4 width: 100%;
11 width: $sideBarWidth !important; 5 height: calc(100% - 74px);
12 font-size: 0px; 6 transition: margin-left 0.28s;
13 margin-right: 15px; 7 display: flex;
14 background: #121F41; 8 }
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 9
21 .scrollbar-wrapper { 10 .el-form-item__content {
22 overflow-x: hidden !important; 11 margin-left: 0!important;
23 margin-right: 0 !important; 12 }
24 13
25 &::-webkit-scrollbar { 14 .sidebar-container {
26 display: none; 15 transition: width 0.28s;
27 } 16 width: $sideBarWidth !important;
28 } 17 font-size: 0px;
18 @include background_color("menuBg");
29 19
30 a { 20 .horizontal-collapse-transition {
31 display: inline-block; 21 transition: 0s width ease-in-out, 0s padding-left ease-in-out,
32 width: 100%; 22 0s padding-right ease-in-out;
33 overflow: hidden; 23 }
34 }
35 24
36 .svg-icon { 25 .scrollbar-wrapper {
37 margin-right: 5px; 26 overflow-x: hidden !important;
38 } 27 margin-right: 0 !important;
39 28
40 .sub-el-icon { 29 &::-webkit-scrollbar {
41 margin-right: 12px; 30 display: none;
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 } 31 }
32 }
51 33
52 // menu hover 34 a {
53 .el-menu--collapse .el-submenu__title, 35 display: inline-block;
54 .el-menu--collapse .submenu-title-noDropdown { 36 width: 100%;
55 margin-left: 0px !important; 37 overflow: hidden;
56 } 38 }
57 39
58 // 有子级 40 .svg-icon {
59 .el-submenu__title { 41 margin-right: 5px;
60 padding-left: 10px !important; 42 }
61 color: $menuText;
62 height: 42px;
63 background: linear-gradient(90deg, #013874 0%, #081B56 100%);
64 margin-bottom: 8px;
65 43
66 &:hover { 44 .sub-el-icon {
67 color: $subMenuActiveText !important; 45 margin-right: 12px;
68 background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%); 46 margin-left: -2px;
47 }
69 48
70 .svg-icon, 49 .el-menu {
71 i, 50 background-color: transparent !important;
72 span { 51 border: none;
73 color: $subMenuActiveText !important; 52 height: 100%;
74 } 53 width: 100% !important;
75 } 54 }
76 }
77 55
78 // 没有子级 56 // menu hover
79 .submenu-title-noDropdown { 57 .el-menu--collapse .el-submenu__title,
80 color: $menuText; 58 .el-menu--collapse .submenu-title-noDropdown {
81 padding-left: 20px; 59 margin-left: 0px !important;
82 margin-bottom: 8px; 60 }
83 background: linear-gradient(90deg, #013874 0%, #081B56 100%);
84 61
85 &:hover { 62 // 有子级
86 color: $menuActiveText !important; 63 .el-submenu__title {
87 background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%); 64 padding-left: 10px !important;
65 @include font_color("menuText");
66 height: 42px;
67 background: linear-gradient(90deg, #013874 0%, #081B56 100%);
68 margin-bottom: 8px;
88 69
89 .svg-icon { 70 &:hover {
90 color: #1ea6f8 !important; 71 color: $subMenuActiveText !important;
91 } 72 background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%);
92 73
93 i { 74 .svg-icon,
94 color: #1ea6f8 !important; 75 i,
95 } 76 span {
77 color: $subMenuActiveText !important;
96 } 78 }
97 } 79 }
80 }
98 81
99 .submenu-title-noDropdown.is-active, 82 // 没有子级
100 .el-submenu__title.is-active { 83 .submenu-title-noDropdown {
101 color: $menuActiveText; 84 @include font_color("menuText");
102 background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%); 85 padding-left: 20px;
86 margin-bottom: 8px;
87
88 &:hover {
89 @include font_color("menuActiveText");
90 @include background("menuActive");
103 91
104 .svg-icon { 92 .svg-icon {
105 color: #1ea6f8 !important; 93 color: #1ea6f8 !important;
...@@ -109,149 +97,163 @@ ...@@ -109,149 +97,163 @@
109 color: #1ea6f8 !important; 97 color: #1ea6f8 !important;
110 } 98 }
111 } 99 }
100 }
112 101
113 .submenu-title-noDropdown, 102 .submenu-title-noDropdown.is-active,
114 .el-submenu__title { 103 .el-submenu__title.is-active {
115 font-weight: 600; 104 @include background("menuActive");
116 font-size: $sideBarFontSize; 105 @include font_color("menuActiveText");
117 106
118 // margin: 0 10px; 107 .svg-icon {
119 >i { 108 color: #1ea6f8 !important;
120 color: $subMenuActiveText !important; 109 }
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 110
129 .svg-icon { 111 i {
130 font-size: 18px; 112 color: #1ea6f8 !important;
131 margin-top: -5px;
132 }
133 } 113 }
114 }
134 115
135 .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow { 116 .submenu-title-noDropdown,
136 transform: rotateZ(0deg) !important; 117 .el-submenu__title {
137 -webkit-transform: rotateZ(0deg) !important; 118 font-weight: 600;
138 -moz-transform: rotateZ(0deg) !important; 119 font-size: $sideBarFontSize;
139 -ms-transform: rotateZ(0deg) !important; 120
140 -o-transform: rotateZ(0deg) !important; 121 // margin: 0 10px;
122 >i {
123 color: $subMenuActiveText !important;
124 transform: rotate(90deg);
125 -webkit-transform: rotate(90deg);
126 -moz-transform: rotate(90deg);
127 -ms-transform: rotate(90deg);
128 -o-transform: rotate(90deg);
129 margin-right: 10px;
141 } 130 }
142 131
143 .is-active>.el-submenu__title { 132 .svg-icon {
144 color: #fff !important; 133 font-size: 18px;
134 margin-top: -5px;
145 } 135 }
136 }
146 137
147 & .nest-menu .el-submenu>.el-submenu__title, 138 .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow {
148 & .el-submenu .el-menu-item { 139 transform: rotateZ(0deg) !important;
149 &.is-active { 140 -webkit-transform: rotateZ(0deg) !important;
150 background-color: $subMenuHover !important; 141 -moz-transform: rotateZ(0deg) !important;
151 color: $menuActiveText !important; 142 -ms-transform: rotateZ(0deg) !important;
152 } 143 -o-transform: rotateZ(0deg) !important;
144 }
153 145
154 &:hover { 146 .is-active>.el-submenu__title {
155 background-color: $subMenuHover !important; 147 color: #fff !important;
156 color: $menuActiveText !important; 148 }
157 }
158 149
159 min-width: 130px !important; 150 & .nest-menu .el-submenu>.el-submenu__title,
160 background-color: transparent !important; 151 & .el-submenu .el-menu-item {
161 font-weight: 600; 152 &.is-active {
162 font-size: $sideBarFontSize; 153 background-color: $subMenuHover !important;
163 margin: 0 10px; 154 color: $menuActiveText !important;
164 // border-radius: 6px;
165 } 155 }
166 }
167 156
168 .hideSidebar { 157 &:hover {
169 .sidebar-container { 158 background-color: $subMenuHover !important;
170 width: 54px !important; 159 color: $menuActiveText !important;
171 } 160 }
172 161
173 .submenu-title-noDropdown { 162 min-width: 130px !important;
174 padding: 0 !important; 163 background-color: transparent !important;
175 position: relative; 164 font-weight: 600;
165 font-size: $sideBarFontSize;
166 margin: 0 10px;
167 // border-radius: 6px;
168 }
169 }
176 170
177 .el-tooltip { 171 .hideSidebar {
178 padding: 0 !important; 172 .sidebar-container {
173 width: 54px !important;
174 }
179 175
180 .svg-icon { 176 .submenu-title-noDropdown {
181 margin-left: 16px; 177 padding: 0 !important;
182 } 178 position: relative;
183 179
184 .sub-el-icon { 180 .el-tooltip {
185 margin-left: 19px; 181 padding: 0 !important;
186 } 182
183 .svg-icon {
184 margin-left: 16px;
185 }
186
187 .sub-el-icon {
188 margin-left: 19px;
187 } 189 }
188 } 190 }
191 }
189 192
190 .el-submenu { 193 .el-submenu {
191 overflow: hidden; 194 overflow: hidden;
192 195
193 &>.el-submenu__title { 196 &>.el-submenu__title {
194 padding: 0 !important; 197 padding: 0 !important;
195 198
196 .svg-icon { 199 .svg-icon {
197 margin-left: 16px; 200 margin-left: 16px;
198 } 201 }
199 202
200 .sub-el-icon { 203 .sub-el-icon {
201 margin-left: 19px; 204 margin-left: 19px;
202 } 205 }
203 206
204 .el-submenu__icon-arrow { 207 .el-submenu__icon-arrow {
205 display: none; 208 display: none;
206 }
207 } 209 }
208 } 210 }
211 }
209 212
210 .el-menu--collapse { 213 .el-menu--collapse {
211 .el-submenu { 214 .el-submenu {
212 &>.el-submenu__title { 215 &>.el-submenu__title {
213 &>span { 216 &>span {
214 height: 0; 217 height: 0;
215 width: 0; 218 width: 0;
216 overflow: hidden; 219 overflow: hidden;
217 visibility: hidden; 220 visibility: hidden;
218 display: inline-block; 221 display: inline-block;
219 }
220 } 222 }
221 } 223 }
222 } 224 }
223 } 225 }
226 }
227
228 .el-menu--collapse .el-menu .el-submenu {
229 min-width: $sideBarWidth !important;
230 }
224 231
225 .el-menu--collapse .el-menu .el-submenu { 232 // mobile responsive
226 min-width: $sideBarWidth !important; 233 .mobile {
234 .main-container {
235 margin-left: 0px;
227 } 236 }
228 237
229 // mobile responsive 238 .sidebar-container {
230 .mobile { 239 transition: transform 0.28s;
231 .main-container { 240 width: $sideBarWidth !important;
232 margin-left: 0px; 241 }
233 }
234 242
243 &.hideSidebar {
235 .sidebar-container { 244 .sidebar-container {
236 transition: transform 0.28s; 245 pointer-events: none;
237 width: $sideBarWidth !important; 246 transition-duration: 0.3s;
238 } 247 transform: translate3d(-$sideBarWidth, 0, 0);
239
240 &.hideSidebar {
241 .sidebar-container {
242 pointer-events: none;
243 transition-duration: 0.3s;
244 transform: translate3d(-$sideBarWidth, 0, 0);
245 }
246 } 248 }
247 } 249 }
250 }
248 251
249 .withoutAnimation { 252 .withoutAnimation {
250 253
251 .main-container, 254 .main-container,
252 .sidebar-container { 255 .sidebar-container {
253 transition: none; 256 transition: none;
254 }
255 } 257 }
256 } 258 }
257 259
...@@ -275,11 +277,13 @@ ...@@ -275,11 +277,13 @@
275 border-bottom-right-radius: 8px; 277 border-bottom-right-radius: 8px;
276 font-weight: 600 !important; 278 font-weight: 600 !important;
277 font-size: 15px !important; 279 font-size: 15px !important;
278 background-color: $menuHover !important; 280 @include background("menuActive");
281 // background-color: $menuHover !important;
279 color: $menuText !important; 282 color: $menuText !important;
280 283
281 &:hover { 284 &:hover {
282 background-color: $menuHover !important; 285 @include background("menuActive");
286 // background-color: $menuHover !important;
283 opacity: .9; 287 opacity: .9;
284 288
285 .svg-icon, 289 .svg-icon,
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-03-07 09:35:10 4 * @LastEditTime: 2023-03-21 14:16:48
5 */ 5 */
6 import Layout from '@/layout' 6 import Vue from 'vue'
7 import Layout from '@/layout1'
8 const config = require('/public/config.json')
9 console.log(config, 'Vue.2222222222222.BASE_API');
7 export default function filterAsyncRouter (routers) { 10 export default function filterAsyncRouter (routers) {
8 routers.forEach(item => { 11 routers.forEach(item => {
9 if (!item.children) { 12 if (!item.children) {
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-03-14 14:39:24 4 * @LastEditTime: 2023-03-21 13:46:56
5 */ 5 */
6 /** 6 /**
7 * 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器 7 * 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器
...@@ -10,7 +10,6 @@ import axios from "axios"; ...@@ -10,7 +10,6 @@ import axios from "axios";
10 import { Message } from "element-ui"; 10 import { Message } from "element-ui";
11 import { endLoadingSubCount } from "./requestLoading"; 11 import { endLoadingSubCount } from "./requestLoading";
12 import router from "../router"; 12 import router from "../router";
13
14 // create an axios instance 13 // create an axios instance
15 const service = axios.create({ 14 const service = axios.create({
16 baseURL: process.env.VUE_APP_BASE_API, 15 baseURL: process.env.VUE_APP_BASE_API,
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-21 13:42:13
5 */
6 import Vue from 'vue'
7 export default function getTheme (theme = Vue.prototype.BASE_API.THEME) {
8 const resultMap = {
9 'jg': function () {
10 import("@/styles/jgPublic.scss")
11 },
12 'sb': function () {
13 import("@/styles/sbPublic.scss")
14 },
15 default: function () {
16 },
17 }
18 return resultMap[theme]() || resultMap.default()
19 }
...@@ -22,16 +22,6 @@ ...@@ -22,16 +22,6 @@
22 </el-select> 22 </el-select>
23 </el-form-item> 23 </el-form-item>
24 </el-col> 24 </el-col>
25 <!-- <el-col :span="5">
26 <el-form-item label="坐落">
27 <el-input v-model="form.ZL" placeholder="坐落"></el-input>
28 </el-form-item>
29 </el-col> -->
30 <!-- <el-col :span="5">
31 <el-form-item label="不动产权证号">
32 <el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input>
33 </el-form-item>
34 </el-col> -->
35 <el-col :span="5"> 25 <el-col :span="5">
36 <el-form-item label="权利人" label-width="80px"> 26 <el-form-item label="权利人" label-width="80px">
37 <el-input v-model="form.QLR" clearable placeholder="权利人"></el-input> 27 <el-input v-model="form.QLR" clearable placeholder="权利人"></el-input>
...@@ -159,7 +149,4 @@ export default { ...@@ -159,7 +149,4 @@ export default {
159 } 149 }
160 } 150 }
161 } 151 }
162 </script> 152 </script>
163 <style scoped lang="scss">
164 // @import "~@/styles/public.scss";
165 </style>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -150,8 +150,3 @@ export default { ...@@ -150,8 +150,3 @@ export default {
150 } 150 }
151 } 151 }
152 </script> 152 </script>
153 <style scoped lang="scss">
154 // 引入表单整体样式
155 // @import "~@/styles/public.scss";
156 </style>
157
......
...@@ -158,7 +158,4 @@ ...@@ -158,7 +158,4 @@
158 } 158 }
159 } 159 }
160 } 160 }
161 </script> 161 </script>
162 <style scoped lang="scss">
163 // @import "~@/styles/public.scss";
164 </style>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -169,6 +169,3 @@ export default { ...@@ -169,6 +169,3 @@ export default {
169 } 169 }
170 } 170 }
171 </script> 171 </script>
172 <style scoped lang="scss">
173 // @import "~@/styles/public.scss";
174 </style>
......
...@@ -135,6 +135,3 @@ export default { ...@@ -135,6 +135,3 @@ export default {
135 } 135 }
136 } 136 }
137 </script> 137 </script>
138 <style scoped lang="scss">
139 // @import "~@/styles/public.scss";
140 </style>
......
...@@ -201,6 +201,3 @@ export default { ...@@ -201,6 +201,3 @@ export default {
201 } 201 }
202 } 202 }
203 </script> 203 </script>
204 <style scoped lang="scss">
205 // @import "~@/styles/public.scss";
206 </style>
......
...@@ -151,6 +151,3 @@ export default { ...@@ -151,6 +151,3 @@ export default {
151 } 151 }
152 } 152 }
153 </script> 153 </script>
154 <style scoped lang="scss">
155 // @import "~@/styles/public.scss";
156 </style>
......
...@@ -157,7 +157,4 @@ export default { ...@@ -157,7 +157,4 @@ export default {
157 } 157 }
158 } 158 }
159 </script> 159 </script>
160 <style scoped lang="scss">
161 // @import "~@/styles/public.scss";
162 </style>
163 160
......
...@@ -164,6 +164,5 @@ export default { ...@@ -164,6 +164,5 @@ export default {
164 } 164 }
165 </script> 165 </script>
166 <style scoped lang="scss"> 166 <style scoped lang="scss">
167 // @import "~@/styles/public.scss";
168 @import "./index.scss"; 167 @import "./index.scss";
169 </style> 168 </style>
......
...@@ -143,6 +143,3 @@ export default { ...@@ -143,6 +143,3 @@ export default {
143 } 143 }
144 } 144 }
145 </script> 145 </script>
146 <style scoped lang="scss">
147 // @import "~@/styles/public.scss";
148 </style>
......
...@@ -148,6 +148,3 @@ export default { ...@@ -148,6 +148,3 @@ export default {
148 } 148 }
149 } 149 }
150 </script> 150 </script>
151 <style scoped lang="scss">
152 // @import "~@/styles/public.scss";
153 </style>
......
...@@ -145,6 +145,3 @@ export default { ...@@ -145,6 +145,3 @@ export default {
145 } 145 }
146 } 146 }
147 </script> 147 </script>
148 <style scoped lang="scss">
149 // @import "~@/styles/public.scss";
150 </style>
......
...@@ -158,7 +158,3 @@ export default { ...@@ -158,7 +158,3 @@ export default {
158 } 158 }
159 } 159 }
160 </script> 160 </script>
161 <style scoped lang="scss">
162 // 引入表单整体样式
163 // @import "~@/styles/public.scss";
164 </style>
......
...@@ -150,6 +150,3 @@ export default { ...@@ -150,6 +150,3 @@ export default {
150 } 150 }
151 } 151 }
152 </script> 152 </script>
153 <style scoped lang="scss">
154 // @import "~@/styles/public.scss";
155 </style>
......
...@@ -143,6 +143,3 @@ export default { ...@@ -143,6 +143,3 @@ export default {
143 } 143 }
144 } 144 }
145 </script> 145 </script>
146 <style scoped lang="scss">
147 // @import "~@/styles/public.scss";
148 </style>
......
...@@ -321,8 +321,6 @@ ...@@ -321,8 +321,6 @@
321 }; 321 };
322 </script> 322 </script>
323 <style scoped lang="scss"> 323 <style scoped lang="scss">
324 // @import "~@/styles/public.scss";
325
326 .jktjDetail { 324 .jktjDetail {
327 height: 100%; 325 height: 100%;
328 display: flex; 326 display: flex;
...@@ -359,6 +357,4 @@ ...@@ -359,6 +357,4 @@
359 } 357 }
360 } 358 }
361 </style> 359 </style>
362 <style scoped lang="scss"> 360
363 // @import "~@/styles/public.scss";
364 </style>
......
...@@ -286,8 +286,6 @@ ...@@ -286,8 +286,6 @@
286 }; 286 };
287 </script> 287 </script>
288 <style scoped lang="scss"> 288 <style scoped lang="scss">
289 // @import "~@/styles/public.scss";
290
291 .jktjDetail { 289 .jktjDetail {
292 height: 100%; 290 height: 100%;
293 display: flex; 291 display: flex;
...@@ -320,6 +318,3 @@ ...@@ -320,6 +318,3 @@
320 } 318 }
321 } 319 }
322 </style> 320 </style>
323 <style scoped lang="scss">
324 // @import "~@/styles/public.scss";
325 </style>
......
...@@ -214,8 +214,6 @@ ...@@ -214,8 +214,6 @@
214 }; 214 };
215 </script> 215 </script>
216 <style scoped lang="scss"> 216 <style scoped lang="scss">
217 // @import "~@/styles/public.scss";
218
219 .jktjDetail { 217 .jktjDetail {
220 height: 100%; 218 height: 100%;
221 display: flex; 219 display: flex;
...@@ -248,6 +246,3 @@ ...@@ -248,6 +246,3 @@
248 } 246 }
249 } 247 }
250 </style> 248 </style>
251 <style scoped lang="scss">
252 // @import "~@/styles/public.scss";
253 </style>
......
1 <!-- 1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-03-20 14:45:57
5 -->
6 <!--
2 功能:结果 7 功能:结果
3 作者:calliope 8 作者:calliope
4 --> 9 -->
...@@ -38,8 +43,6 @@ export default { ...@@ -38,8 +43,6 @@ export default {
38 } 43 }
39 </script> 44 </script>
40 <style scoped lang='scss'> 45 <style scoped lang='scss'>
41 @import '~@/styles/public.scss';
42
43 .result { 46 .result {
44 padding: 15px; 47 padding: 15px;
45 48
......
...@@ -99,205 +99,200 @@ ...@@ -99,205 +99,200 @@
99 </template> 99 </template>
100 100
101 <script> 101 <script>
102 // 接收报文查询 102 // 接收报文查询
103 // 引入表格头部数据 103 // 引入表格头部数据
104 import data from "./data"; 104 import data from "./data";
105 // 引入table混入方法 105 // 引入table混入方法
106 import tableMixin from "@/mixins/tableMixin.js"; 106 import tableMixin from "@/mixins/tableMixin.js";
107 import { getReceiveDataReportPage } from "@/api/dataReport.js"; 107 import { getReceiveDataReportPage } from "@/api/dataReport.js";
108 // 引入详情弹框 108 // 引入详情弹框
109 import dataDetails from "@/components/EditDialog"; 109 import dataDetails from "@/components/EditDialog";
110 //引入日期处理方法 110 //引入日期处理方法
111 import { timeFormat } from "@/utils/operation"; 111 import { timeFormat } from "@/utils/operation";
112 export default { 112 export default {
113 name: "jsbwcx", 113 name: "jsbwcx",
114 mixins: [tableMixin], 114 mixins: [tableMixin],
115 // 注册组件 115 // 注册组件
116 components: { 116 components: {
117 dataDetails, 117 dataDetails,
118 }, 118 },
119 data () { 119 data () {
120 return { 120 return {
121 121
122 pickerOptionsStart: { 122 pickerOptionsStart: {
123 disabledDate: (time) => { 123 disabledDate: (time) => {
124 let endDateVal = this.form.receiveEndTime; 124 let endDateVal = this.form.receiveEndTime;
125 if (endDateVal) { 125 if (endDateVal) {
126 return ( 126 return (
127 time.getTime() >= 127 time.getTime() >=
128 new Date(endDateVal).getTime() 128 new Date(endDateVal).getTime()
129 ); 129 );
130 } 130 }
131 },
132 },
133 pickerOptionsEnd: {
134 disabledDate: (time) => {
135 let beginDateVal = this.form.receiveStartTime;
136 if (beginDateVal) {
137 return (
138 time.getTime() <
139 new Date(beginDateVal).getTime()
140 );
141 }
142 },
143 },
144 // 表格数据
145 form: {
146 qxdm: "", // 行政区
147 receiveStartTime: "", // 开始日期
148 receiveEndTime: "", // 结束日期
149 bdcdyh: "", // 不动产单元号
150 ywh: "", // 业务号
151 qllx: "", // 权利类型
152 djlx: "", // 登记类型
153 jcjg: "", // 检查结果
154 rkjg: "", //入库结果
155 currentPage: 1
156 },
157 // 校验规则
158 rules: {
159 pcode: [{ required: true, message: "请选择行政区", trigger: "change" }],
160 startTime: [
161 { required: true, message: "请选择开始日期", trigger: "change" },
162 ],
163 endTime: [
164 { required: true, message: "请选择结束日期", trigger: "change" },
165 ],
166 bdcdyh: [
167 { required: true, message: "不动产单元号", trigger: "change" },
168 ],
169 ywmc: [{ required: true, message: "业务名称", trigger: "change" }],
170 jcjg: [{ required: true, message: "检查结果", trigger: "change" }],
171 rkjg: [{ required: true, message: "入库结果", trigger: "change" }],
172 },
173 // 表格数据
174 tableData: {
175 // 表格头部
176 columns: [
177 {
178 label: "序号",
179 type: "index",
180 width: "50",
181 index: this.indexMethod,
182 }
183 ]
184 .concat(data.columns())
185 .concat([
186 {
187 label: "操作",
188 width: "90",
189 render: (h, scope) => {
190 return (
191 <div>
192 {
193 scope.row.receiveState == 2 ?
194 <el-button
195 type="text"
196 class='successColor'
197 onClick={() => {
198 this.handleDetails(scope.row);
199 }}
200 >
201 修改
202 </el-button> :
203 <el-button
204 type="text"
205 class='btnColor'
206 onClick={() => {
207 this.handleDetails(scope.row);
208 }}
209 >
210 详情
211 </el-button>
212 }
213 </div>
214 )
215 }
216 }
217 ]),
218 // 表格列表数据
219 total: 0,
220 data: [],
221 },
222 // 分页
223 pageData: {
224 total: 0,
225 pageSize: 10,
226 current: 1
227 }, 131 },
228 title: "",
229 };
230 },
231 methods: {
232 //截止日期变化
233 endTimeChange (val) {
234 this.form.receiveEndTime = timeFormat(new Date(val), true)
235 }, 132 },
236 // 初始化数据 133 pickerOptionsEnd: {
237 queryClick () { 134 disabledDate: (time) => {
238 getReceiveDataReportPage({ ...this.form, ...this.formData }).then( 135 let beginDateVal = this.form.receiveStartTime;
239 (res) => { 136 if (beginDateVal) {
240 if (res.code === 200) { 137 return (
241 let { total, records, current } = res.result; 138 time.getTime() <
242 this.tableData.total = total; 139 new Date(beginDateVal).getTime()
243 this.tableData.data = records ? records : []; 140 );
244 this.pageData.current = current
245 }
246 } 141 }
247 ) 142 },
248 },
249 // 重置
250 resetForm () {
251 this.$refs.ruleForm.resetFields();
252 this.form.currentPage = 1
253 this.queryClick();
254 }, 143 },
255 featchData () { 144 // 表格数据
256 this.queryClick(); 145 form: {
146 qxdm: "", // 行政区
147 receiveStartTime: "", // 开始日期
148 receiveEndTime: "", // 结束日期
149 bdcdyh: "", // 不动产单元号
150 ywh: "", // 业务号
151 qllx: "", // 权利类型
152 djlx: "", // 登记类型
153 jcjg: "", // 检查结果
154 rkjg: "", //入库结果
155 currentPage: 1
257 }, 156 },
258 // 结果 157 // 校验规则
259 handleResult (row) { 158 rules: {
260 this.$popupDialog('响应结果', 'views/jsbwcx/components/result', row) 159 pcode: [{ required: true, message: "请选择行政区", trigger: "change" }],
160 startTime: [
161 { required: true, message: "请选择开始日期", trigger: "change" },
162 ],
163 endTime: [
164 { required: true, message: "请选择结束日期", trigger: "change" },
165 ],
166 bdcdyh: [
167 { required: true, message: "不动产单元号", trigger: "change" },
168 ],
169 ywmc: [{ required: true, message: "业务名称", trigger: "change" }],
170 jcjg: [{ required: true, message: "检查结果", trigger: "change" }],
171 rkjg: [{ required: true, message: "入库结果", trigger: "change" }],
261 }, 172 },
262 // 详情 173 // 表格数据
263 handleDetails (row) { 174 tableData: {
264 if (row.rectypeName) { 175 // 表格头部
265 this.title = row.rectypeName 176 columns: [
266 } else { 177 {
267 let Title = '' 178 label: "序号",
268 this.dicData['A21'].map(item => { 179 type: "index",
269 if (item.DCODE == row.DJLX || item.DCODE == row.djlx) { 180 width: "50",
270 Title = item.DNAME 181 index: this.indexMethod,
271 return 182 }
272 } 183 ]
273 }) 184 .concat(data.columns())
274 185 .concat([
275 this.dicData['A8'].map(item => { 186 {
276 if (item.DCODE == row.QLLX || item.DCODE == row.qllx) { 187 label: "操作",
277 Title += '-' + item.DNAME 188 width: "90",
278 return 189 render: (h, scope) => {
190 return (
191 <div>
192 {
193 scope.row.receiveState == 2 ?
194 <el-button
195 type="text"
196 class='successColor'
197 onClick={() => {
198 this.handleDetails(scope.row);
199 }}
200 >
201 修改
202 </el-button> :
203 <el-button
204 type="text"
205 class='btnColor'
206 onClick={() => {
207 this.handleDetails(scope.row);
208 }}
209 >
210 详情
211 </el-button>
212 }
213 </div>
214 )
215 }
279 } 216 }
280 }) 217 ]),
281 this.title = Title 218 // 表格列表数据
282 } 219 total: 0,
283 this.$refs.editLog.isShow(row); 220 data: [],
284 if (row.receiveState == 2) {
285 this.$store.dispatch('business/setReportLogEdit')
286 } else {
287 this.$store.dispatch('business/setEdit')
288 }
289 }, 221 },
290 } 222 // 分页
223 pageData: {
224 total: 0,
225 pageSize: 10,
226 current: 1
227 },
228 title: "",
229 };
230 },
231 methods: {
232 //截止日期变化
233 endTimeChange (val) {
234 this.form.receiveEndTime = timeFormat(new Date(val), true)
235 },
236 // 初始化数据
237 queryClick () {
238 getReceiveDataReportPage({ ...this.form, ...this.formData }).then(
239 (res) => {
240 if (res.code === 200) {
241 let { total, records, current } = res.result;
242 this.tableData.total = total;
243 this.tableData.data = records ? records : [];
244 this.pageData.current = current
245 }
246 }
247 )
248 },
249 // 重置
250 resetForm () {
251 this.$refs.ruleForm.resetFields();
252 this.form.currentPage = 1
253 this.queryClick();
254 },
255 featchData () {
256 this.queryClick();
257 },
258 // 结果
259 handleResult (row) {
260 this.$popupDialog('响应结果', 'views/jsbwcx/components/result', row)
261 },
262 // 详情
263 handleDetails (row) {
264 if (row.rectypeName) {
265 this.title = row.rectypeName
266 } else {
267 let Title = ''
268 this.dicData['A21'].map(item => {
269 if (item.DCODE == row.DJLX || item.DCODE == row.djlx) {
270 Title = item.DNAME
271 return
272 }
273 })
274
275 this.dicData['A8'].map(item => {
276 if (item.DCODE == row.QLLX || item.DCODE == row.qllx) {
277 Title += '-' + item.DNAME
278 return
279 }
280 })
281 this.title = Title
282 }
283 this.$refs.editLog.isShow(row);
284 if (row.receiveState == 2) {
285 this.$store.dispatch('business/setReportLogEdit')
286 } else {
287 this.$store.dispatch('business/setEdit')
288 }
289 },
291 } 290 }
291 }
292 </script> 292 </script>
293 <style scoped lang="scss"> 293 <style scoped lang="scss">
294 // 引入表单整体样式 294 .lastdom:nth-child(3) {
295 // // @import "~@/styles/public.scss"; 295 margin-bottom: 0px;
296 // 引入当前css 296 }
297 @import "./index.scss";
298 .lastdom:nth-child(3) {
299 margin-bottom: 0px;
300 }
301
302 </style> 297 </style>
303 298
......
...@@ -170,10 +170,7 @@ export default { ...@@ -170,10 +170,7 @@ export default {
170 } 170 }
171 </script> 171 </script>
172 <style scoped lang="scss"> 172 <style scoped lang="scss">
173 // 引入表单整体样式
174 // @import "~@/styles/public.scss";
175 @import "../css/index.scss"; 173 @import "../css/index.scss";
176
177 /deep/th.el-table__cell { 174 /deep/th.el-table__cell {
178 height: 0 !important; 175 height: 0 !important;
179 } 176 }
......
...@@ -155,7 +155,6 @@ export default { ...@@ -155,7 +155,6 @@ export default {
155 </script> 155 </script>
156 <style scoped lang="scss"> 156 <style scoped lang="scss">
157 // 引入表单整体样式 157 // 引入表单整体样式
158 // @import "~@/styles/public.scss";
159 @import "../css/index.scss"; 158 @import "../css/index.scss";
160 159
161 /deep/.el-table thead.is-group th.el-table__cell { 160 /deep/.el-table thead.is-group th.el-table__cell {
......
...@@ -192,7 +192,6 @@ export default { ...@@ -192,7 +192,6 @@ export default {
192 </script> 192 </script>
193 <style scoped lang="scss"> 193 <style scoped lang="scss">
194 // 引入表单整体样式 194 // 引入表单整体样式
195 // @import "~@/styles/public.scss";
196 @import "../css/index.scss"; 195 @import "../css/index.scss";
197 196
198 /deep/.el-table thead.is-group th.el-table__cell { 197 /deep/.el-table thead.is-group th.el-table__cell {
......
...@@ -459,7 +459,6 @@ export default { ...@@ -459,7 +459,6 @@ export default {
459 </script> 459 </script>
460 <style scoped lang="scss"> 460 <style scoped lang="scss">
461 @import "~@/styles/mixin.scss"; 461 @import "~@/styles/mixin.scss";
462 // @import "~@/styles/public.scss";
463 @import "~@/styles/dialogBox.scss"; 462 @import "~@/styles/dialogBox.scss";
464 463
465 464
......
...@@ -358,7 +358,6 @@ export default { ...@@ -358,7 +358,6 @@ export default {
358 }; 358 };
359 </script> 359 </script>
360 <style rel="stylesheet/scss" lang="scss" scoped> 360 <style rel="stylesheet/scss" lang="scss" scoped>
361 // @import "~@/styles/public.scss";
362 361
363 /deep/.el-radio { 362 /deep/.el-radio {
364 margin-right: 5px !important; 363 margin-right: 5px !important;
......
...@@ -129,7 +129,6 @@ export default { ...@@ -129,7 +129,6 @@ export default {
129 }; 129 };
130 </script> 130 </script>
131 <style scoped lang="scss"> 131 <style scoped lang="scss">
132 // @import "~@/styles/public.scss";
133 /deep/.dialogBox .dialog_title { 132 /deep/.dialogBox .dialog_title {
134 top: 0; 133 top: 0;
135 margin-left: 5px; 134 margin-left: 5px;
......
...@@ -68,7 +68,6 @@ ...@@ -68,7 +68,6 @@
68 68
69 <style scoped lang="scss"> 69 <style scoped lang="scss">
70 @import "~@/styles/mixin.scss"; 70 @import "~@/styles/mixin.scss";
71 @import "~@/styles/public.scss";
72 .information { 71 .information {
73 display: flex; 72 display: flex;
74 flex-direction: column; 73 flex-direction: column;
......
...@@ -6,7 +6,13 @@ ...@@ -6,7 +6,13 @@
6 <Breadcrumb /> 6 <Breadcrumb />
7 </el-form-item> 7 </el-form-item>
8 <el-row class="mb-5"> 8 <el-row class="mb-5">
9 <el-col :span="2" class="btnColRight"> 9 <el-col :span="4">
10 <el-form-item label="菜单名称" prop="menuName">
11 <el-input v-model.trim="form.menuName" class="width100" clearable placeholder="菜单名称"></el-input>
12 </el-form-item>
13 </el-col>
14 <el-col :span="3" class="btnColRight">
15 <btn nativeType="cx" @click="searchQuery">查询</btn>
10 <btn nativeType="cx" @click="handleAdd()">新增菜单</btn> 16 <btn nativeType="cx" @click="handleAdd()">新增菜单</btn>
11 </el-col> 17 </el-col>
12 </el-row> 18 </el-row>
...@@ -45,11 +51,11 @@ ...@@ -45,11 +51,11 @@
45 return { 51 return {
46 isDialog: false, 52 isDialog: false,
47 tablelistData: [], 53 tablelistData: [],
54 listData: [],
48 resourceCategoryId: "", 55 resourceCategoryId: "",
49 taskData: null, 56 taskData: null,
50 form: { 57 form: {
51 job_name: "", 58 menuName: "",
52 currentPage: 1,
53 }, 59 },
54 title: "", 60 title: "",
55 queryParam: {}, 61 queryParam: {},
...@@ -96,11 +102,6 @@ ...@@ -96,11 +102,6 @@
96 ]), 102 ]),
97 data: [], 103 data: [],
98 }, 104 },
99 pageData: {
100 total: 5,
101 pageSize: 15,
102 current: 1,
103 },
104 tableUrl: api.menus, // 菜单接口地址 105 tableUrl: api.menus, // 菜单接口地址
105 meumurlid: api.subsystem,// 项目id接口地址 106 meumurlid: api.subsystem,// 项目id接口地址
106 productId: ""//项目id 107 productId: ""//项目id
...@@ -113,11 +114,48 @@ ...@@ -113,11 +114,48 @@
113 ...mapGetters(["products"]) 114 ...mapGetters(["products"])
114 }, 115 },
115 methods: { 116 methods: {
117 //查询
118 searchQuery () {
119 if (this.form.menuName) {
120 this.tablelistData = this.childrenFn(this.listData, this.form.menuName);
121 } else {
122 this.getTableList()
123 }
124 },
125 childrenFn (arr, key) {
126 const that = this;
127 let searchTree = [];
128 arr.forEach((item, index) => {
129 if (item.children != undefined && item.children.length != 0) {
130 let leaf = that.childrenFn(item.children, key);
131 if (leaf != undefined) {
132 let { name, code, resourceCategoryId, id, iproductId, operations, metadata } = item;
133 let parentObj = {
134 code, name, resourceCategoryId, id, iproductId, operations, metadata, children: leaf
135 };
136 searchTree.push(parentObj);
137 } else {
138 if (item.name.indexOf(key) != -1) {
139 searchTree.push(item);
140 }
141 }
142 } else {
143 if (item.name.indexOf(key) != -1) {
144
145 searchTree.push(item);
146 }
147 }
148 });
149 if (searchTree != undefined && searchTree.length != 0) {
150 return searchTree;
151 }
152 },
116 // 加载表格数据 153 // 加载表格数据
117 getTableList () { 154 getTableList () {
118 getMenuInfo(sessionStorage.getItem("products")).then((res) => { 155 getMenuInfo(sessionStorage.getItem("products")).then((res) => {
119 if (res.code === 200) { 156 if (res.code === 200) {
120 this.tablelistData = judgeSort(res.result) 157 this.tablelistData = judgeSort(res.result)
158 this.listData = this.tablelistData
121 } else { 159 } else {
122 this.$message.error({ message: res.message, showClose: true }) 160 this.$message.error({ message: res.message, showClose: true })
123 } 161 }
...@@ -213,13 +251,7 @@ ...@@ -213,13 +251,7 @@
213 @import "~@/styles/mixin.scss"; 251 @import "~@/styles/mixin.scss";
214 252
215 // @import "~@/styles/public.scss"; 253 // @import "~@/styles/public.scss";
216 .btnColRight { 254
217 height: 30px;
218 .button {
219 position: absolute;
220 left: 30px;
221 }
222 }
223 /deep/.el-table__expand-icon { 255 /deep/.el-table__expand-icon {
224 color: #fff; 256 color: #fff;
225 } 257 }
......
...@@ -6,7 +6,13 @@ ...@@ -6,7 +6,13 @@
6 <Breadcrumb /> 6 <Breadcrumb />
7 </el-form-item> 7 </el-form-item>
8 <el-row class="mb-5"> 8 <el-row class="mb-5">
9 <el-col :span="2" class="btnColRight"> 9 <el-col :span="4">
10 <el-form-item label="菜单名称" prop="rolesName">
11 <el-input v-model.trim="form.rolesName" class="width100" clearable placeholder="角色名称"></el-input>
12 </el-form-item>
13 </el-col>
14 <el-col :span="3" class="btnColRight">
15 <btn nativeType="cx" @click="searchQuery">查询</btn>
10 <btn nativeType="cx" @click="handleAddEdit">增加角色</btn> 16 <btn nativeType="cx" @click="handleAddEdit">增加角色</btn>
11 </el-col> 17 </el-col>
12 </el-row> 18 </el-row>
...@@ -53,10 +59,10 @@ ...@@ -53,10 +59,10 @@
53 waitMemberList: [], 59 waitMemberList: [],
54 keyList: [], 60 keyList: [],
55 listdata: [], 61 listdata: [],
62 setlistdata: [],
56 tableUrlroles: api.roles, 63 tableUrlroles: api.roles,
57 form: { 64 form: {
58 job_name: "", 65 rolesName: "",
59 currentPage: 1,
60 }, 66 },
61 // 当前所选角色id 67 // 当前所选角色id
62 roleId: "", 68 roleId: "",
...@@ -247,12 +253,33 @@ ...@@ -247,12 +253,33 @@
247 }, 253 },
248 mounted () { }, 254 mounted () { },
249 methods: { 255 methods: {
256 //查询
257 searchQuery () {
258 if (this.form.rolesName) {
259 this.listdata = this.childrenFn(this.setlistdata, this.form.rolesName);
260 } else {
261 this.getTableData()
262 }
263 },
264 childrenFn (arr, key) {
265 let searchTree = [];
266 arr.forEach((item, index) => {
267 if (item.name.indexOf(key) != -1) {
268
269 searchTree.push(item);
270 }
271 });
272 if (searchTree != undefined && searchTree.length != 0) {
273 return judgeSort(searchTree);
274 }
275 },
250 // 获取角色列表 276 // 获取角色列表
251 getTableData () { 277 getTableData () {
252 getRolesById([1, 2]) 278 getRolesById([1, 2])
253 .then((res) => { 279 .then((res) => {
254 this.listdata = res.content; 280 this.listdata = res.content;
255 this.listdata = judgeSort(this.listdata); 281 this.listdata = judgeSort(this.listdata);
282 this.setlistdata = res.content;
256 }) 283 })
257 .catch((e) => console.error(e)); 284 .catch((e) => console.error(e));
258 }, 285 },
...@@ -479,15 +506,8 @@ ...@@ -479,15 +506,8 @@
479 </script> 506 </script>
480 <style scoped lang="scss"> 507 <style scoped lang="scss">
481 @import "~@/styles/mixin.scss"; 508 @import "~@/styles/mixin.scss";
482
483 // @import "~@/styles/public.scss"; 509 // @import "~@/styles/public.scss";
484 .btnColRight { 510
485 height: 30px;
486 .button {
487 position: absolute;
488 left: 30px;
489 }
490 }
491 /deep/.el-button.is-disabled.el-button--text { 511 /deep/.el-button.is-disabled.el-button--text {
492 width: 64px; 512 width: 64px;
493 height: 28px; 513 height: 28px;
......
...@@ -252,5 +252,4 @@ export default { ...@@ -252,5 +252,4 @@ export default {
252 </script> 252 </script>
253 <style scoped lang="scss"> 253 <style scoped lang="scss">
254 @import "~@/styles/mixin.scss"; 254 @import "~@/styles/mixin.scss";
255 // @import "~@/styles/public.scss";
256 </style> 255 </style>
......
...@@ -5,13 +5,27 @@ ...@@ -5,13 +5,27 @@
5 <el-form-item> 5 <el-form-item>
6 <Breadcrumb /> 6 <Breadcrumb />
7 </el-form-item> 7 </el-form-item>
8 <el-row class="mb-5"> 8 <el-row class="mt-10">
9 <!-- 按钮操作 --> 9 <el-col :span="4">
10 <el-col :span="2" class="btnColRight"> 10 <el-form-item label="用户名" prop="loginName">
11 <el-form-item> 11 <el-input v-model.trim="form.loginName" class="width100" clearable placeholder="用户名"></el-input>
12 <btn nativeType="cx" @click="handleAdd">添加人员</btn>
13 </el-form-item> 12 </el-form-item>
14 </el-col> 13 </el-col>
14 <el-col :span="4">
15 <el-form-item label="姓名" prop="name">
16 <el-input v-model.trim="form.name" class="width100" clearable placeholder="姓名"></el-input>
17 </el-form-item>
18 </el-col>
19 <el-col :span="4">
20 <el-form-item label="工号" prop="code">
21 <el-input v-model.trim="form.code" class="width100" clearable placeholder="工号"></el-input>
22 </el-form-item>
23 </el-col>
24 <!-- 操作按钮 -->
25 <el-col :span="3" class="btnColRight">
26 <btn nativeType="cx" @click="searchQuery">查询</btn>
27 <btn nativeType="cx" @click="handleAdd">添加人员</btn>
28 </el-col>
15 </el-row> 29 </el-row>
16 </el-form> 30 </el-form>
17 </div> 31 </div>
...@@ -33,7 +47,7 @@ ...@@ -33,7 +47,7 @@
33 } from "@/utils/operation"; 47 } from "@/utils/operation";
34 import { 48 import {
35 resetPassword, 49 resetPassword,
36 getUserList, 50 getUserList, getUserLists
37 } from "@/api/personnelManage"; 51 } from "@/api/personnelManage";
38 import { api, deleteAction } from '@/api/manageApi' 52 import { api, deleteAction } from '@/api/manageApi'
39 import data from "./data"; 53 import data from "./data";
...@@ -53,8 +67,9 @@ ...@@ -53,8 +67,9 @@
53 taskData: null, 67 taskData: null,
54 keyList: [], 68 keyList: [],
55 form: { 69 form: {
56 job_name: "", 70 loginName: "",
57 currentPage: 1, 71 name: "",
72 code: "",
58 }, 73 },
59 queryParam: {}, 74 queryParam: {},
60 selectType: "0", 75 selectType: "0",
...@@ -141,6 +156,7 @@ ...@@ -141,6 +156,7 @@
141 </el-button> 156 </el-button>
142 <el-button 157 <el-button
143 type="text" 158 type="text"
159 size="mini"
144 class='movebtnColor' 160 class='movebtnColor'
145 disabled={scope.row.isBottom} 161 disabled={scope.row.isBottom}
146 onClick={() => { 162 onClick={() => {
...@@ -163,7 +179,6 @@ ...@@ -163,7 +179,6 @@
163 type="text" 179 type="text"
164 size="mini" 180 size="mini"
165 class='resetbtnColor' 181 class='resetbtnColor'
166 icon="el-icon-video-pause"
167 onClick={() => { 182 onClick={() => {
168 this.resetPassword(scope.row.id); 183 this.resetPassword(scope.row.id);
169 }} 184 }}
...@@ -174,7 +189,6 @@ ...@@ -174,7 +189,6 @@
174 type="text" 189 type="text"
175 size="mini" 190 size="mini"
176 class='successColor' 191 class='successColor'
177 icon="el-icon-edit"
178 onClick={() => { 192 onClick={() => {
179 this.handleEdit(scope.row); 193 this.handleEdit(scope.row);
180 }} 194 }}
...@@ -185,7 +199,6 @@ ...@@ -185,7 +199,6 @@
185 type="text" 199 type="text"
186 size="mini" 200 size="mini"
187 class='delColor' 201 class='delColor'
188 icon="el-icon-delete"
189 onClick={() => { 202 onClick={() => {
190 this.handleDelete(scope.row.id, scope.row.name); 203 this.handleDelete(scope.row.id, scope.row.name);
191 }} 204 }}
...@@ -215,14 +228,34 @@ ...@@ -215,14 +228,34 @@
215 this.$refs.dialogForm.adds(); 228 this.$refs.dialogForm.adds();
216 this.$refs.dialogForm.title = "添加"; 229 this.$refs.dialogForm.title = "添加";
217 }, 230 },
218 getTableList () { 231 // 查询
219 this.loading = true; 232 searchQuery () {
233 console.log(" console.log(this.form);", this.form);
220 this.queryParam = { 234 this.queryParam = {
221 organizationId: this.departmentid.organizationId, 235 organizationId: this.departmentid.organizationId,
222 departmentId: this.departmentid.departmentId, 236 departmentId: this.departmentid.departmentId,
237 name: this.form.name,
238 code: this.form.code,
239 loginName: this.form.loginName,
223 }; 240 };
224 getUserList(this.queryParam).then((res) => { 241 console.log("this.queryParam", this.queryParam);
242 getUserLists(this.queryParam).then((res) => {
243 if (res.status === 1) {
244 this.loading = false;
245 this.tableData.data = res.content;
246 this.tableData.data = judgeSort(this.tableData.data);
247 console.log("this.tableData.data111111111111111", this.tableData.data);
248 } else {
249 this.$message.error({ message: res.message, showClose: true })
250 }
251 })
252 },
253 getTableList () {
254 this.loading = true;
255
256 getUserList().then((res) => {
225 if (res.status === 1) { 257 if (res.status === 1) {
258 console.log("res人员列表", res);
226 this.loading = false; 259 this.loading = false;
227 this.tableData.data = res.content; 260 this.tableData.data = res.content;
228 this.tableData.data = judgeSort(this.tableData.data); 261 this.tableData.data = judgeSort(this.tableData.data);
...@@ -295,6 +328,32 @@ ...@@ -295,6 +328,32 @@
295 } 328 }
296 }) 329 })
297 }, 330 },
331 getDepts (deptIdArr) {
332 let params = {
333 queryOptions: {
334 conditionGroup: {
335 conditions: [
336 {
337 property: "id",
338 value: deptIdArr,
339 operator: "IN",
340 },
341 ],
342 queryRelation: "AND",
343 },
344 orderBys: [],
345 },
346 };
347 getAction(api.departments, params).then(
348 (res) => {
349 let deptsList = res.content;
350 console.log(deptsList);
351 },
352 (err) => {
353 console.log("err :", err);
354 }
355 );
356 },
298 // 修改人员信息 357 // 修改人员信息
299 handleEdit (row) { 358 handleEdit (row) {
300 this.isDialog = true 359 this.isDialog = true
...@@ -331,13 +390,13 @@ ...@@ -331,13 +390,13 @@
331 </script> 390 </script>
332 <style scoped lang="scss"> 391 <style scoped lang="scss">
333 @import "~@/styles/mixin.scss"; 392 @import "~@/styles/mixin.scss";
334 .btnColRight { 393 // .btnColRight {
335 height: 30px; 394 // height: 30px;
336 .button { 395 // .button {
337 position: absolute; 396 // position: absolute;
338 left: 30px; 397 // left: 30px;
339 } 398 // }
340 } 399 // }
341 /deep/.el-button.is-disabled.el-button--text { 400 /deep/.el-button.is-disabled.el-button--text {
342 width: 64px; 401 width: 64px;
343 height: 28px; 402 height: 28px;
......
...@@ -199,6 +199,5 @@ export default { ...@@ -199,6 +199,5 @@ export default {
199 }; 199 };
200 </script> 200 </script>
201 <style scoped lang="scss"> 201 <style scoped lang="scss">
202 // @import "~@/styles/public.scss";
203 @import "./index.scss"; 202 @import "./index.scss";
204 </style> 203 </style>
......
1 'use strict' 1 'use strict'
2 const path = require('path') 2 const path = require('path')
3 const defaultSettings = require('./src/settings.js') 3 const defaultSettings = require('./src/settings.js')
4
5 function resolve (dir) { 4 function resolve (dir) {
6 return path.join(__dirname, dir) 5 return path.join(__dirname, dir)
7 } 6 }
......