07b47dcc by renchao@pashanhoo.com

style:样式修改

2 parents 24c6ad37 bb6ca1ce
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-03-27 13:25:25 4 * @LastEditTime: 2023-03-27 15:43:24
5 --> 5 -->
6 # 安装依赖 6 # 安装依赖
7 npm install 7 npm install
...@@ -21,4 +21,15 @@ npm install --registry=https://registry.npm.taobao.org ...@@ -21,4 +21,15 @@ npm install --registry=https://registry.npm.taobao.org
21 - `wip` 开发中 21 - `wip` 开发中
22 22
23 ## 项目换肤 23 ## 项目换肤
24 给html根标签设置一个data-theme属性,然后通过js切换data-theme的属性值,Scss根据此属性来判断使用对应主题变量
...\ No newline at end of file ...\ No newline at end of file
24 给html根标签设置一个data-theme属性,然后通过js切换data-theme的属性值,Scss根据此属性来判断使用对应主题变量
25
26 ## config说明
27
28 {
29 "TITLE": "汉中市数据上报系统",
30 "THEME": "sb",
31 "CODE": "BDCJGPT", {"BDCSBPT":上报: "BDCJGPT":监管}
32 "SERVERAPI": "/bdcsjsb",
33 "calcHeight": 200, {上报:160 监管:200}
34 "MANAGEMENTAPI": "http://192.168.2.38:8090/management"
35 }
...\ No newline at end of file ...\ No newline at end of file
......
1 { 1 {
2 "TITLE": "汉中市数据上报系统", 2 "TITLE": "汉中市数据上报系统",
3 "THEME": "sb", 3 "THEME": "sb",
4 "CODE": "BDCJGPT", 4 "CODE": "BDCSBPT",
5 "SERVERAPI": "/bdcsjsb", 5 "SERVERAPI": "/bdcsjsb",
6 "calcHeight": 160,
6 "MANAGEMENTAPI": "http://192.168.2.38:8090/management" 7 "MANAGEMENTAPI": "http://192.168.2.38:8090/management"
7 } 8 }
......
...@@ -139,11 +139,25 @@ export default { ...@@ -139,11 +139,25 @@ export default {
139 let _this = this 139 let _this = this
140 if (this.heightNum) { 140 if (this.heightNum) {
141 _this.$nextTick(() => { 141 _this.$nextTick(() => {
142 142 if (document.querySelector(".tags-view-container")) {
143 window.addEventListener('resize', () => { 143 window.addEventListener('resize', () => {
144 if (_this.calcHeight == 230) {
145 _this.tableHeight = _this.calcHeightx(192)
146 } else {
147 _this.tableHeight = _this.calcHeightx(_this.calcHeight)
148 }
149 });
150 if (_this.calcHeight == 230) {
151 _this.tableHeight = _this.calcHeightx(192)
152 } else {
153 _this.tableHeight = _this.calcHeightx(_this.calcHeight)
154 }
155 } else {
156 window.addEventListener('resize', () => {
157 _this.tableHeight = _this.calcHeightx(_this.calcHeight)
158 });
144 _this.tableHeight = _this.calcHeightx(_this.calcHeight) 159 _this.tableHeight = _this.calcHeightx(_this.calcHeight)
145 }); 160 }
146 _this.tableHeight = _this.calcHeightx(_this.calcHeight)
147 }) 161 })
148 } else { 162 } else {
149 _this.tableHeight = window.innerHeight - _this.heightNum 163 _this.tableHeight = window.innerHeight - _this.heightNum
...@@ -158,9 +172,15 @@ export default { ...@@ -158,9 +172,15 @@ export default {
158 calcHeightx (value, wappered = true) { 172 calcHeightx (value, wappered = true) {
159 //项目自定义的公共header部分的高度,可忽略 173 //项目自定义的公共header部分的高度,可忽略
160 let header = document.querySelector(".from-clues-header").offsetHeight; 174 let header = document.querySelector(".from-clues-header").offsetHeight;
175
161 //value为动态计算table界面高度时,减去的其他空白部分,需自行在调试找到临界值,剩下的就是table表格的高度(包含header+body部分) 176 //value为动态计算table界面高度时,减去的其他空白部分,需自行在调试找到临界值,剩下的就是table表格的高度(包含header+body部分)
162 value = value == undefined ? 100 : value; 177 value = value == undefined ? 100 : value;
163 let res = window.innerHeight - parseInt(header) - value; 178 if (document.querySelector(".tags-view-container")) {
179 let tagsView = document.querySelector(".tags-view-container").offsetHeight;
180 var res = window.innerHeight - parseInt(header) - value - parseInt(tagsView);
181 } else {
182 var res = window.innerHeight - parseInt(header) - value;
183 }
164 if (wappered) { 184 if (wappered) {
165 //通过原生方法,获取dom节点的高度------获取element-ui table表格body的元素 185 //通过原生方法,获取dom节点的高度------获取element-ui table表格body的元素
166 let wapper = window.document.getElementsByClassName('el-table__body-wrapper'); 186 let wapper = window.document.getElementsByClassName('el-table__body-wrapper');
......
...@@ -6,14 +6,12 @@ ...@@ -6,14 +6,12 @@
6 <h4>不动产登记上报系统</h4> 6 <h4>不动产登记上报系统</h4>
7 </div> 7 </div>
8 <div class="right-menu"> 8 <div class="right-menu">
9 <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover"> 9 <div class="user">
10 <div class="user"> 10 {{ userName }}
11 {{ userName }} 11 <span @click="onCancel">
12 <span @click="onCancel"> 12 <i class="el-icon-switch-button"></i>
13 <i class="el-icon-switch-button"></i> 13 </span>
14 </span> 14 </div>
15 </div>
16 </el-dropdown>
17 </div> 15 </div>
18 </div> 16 </div>
19 </div> 17 </div>
......
...@@ -194,12 +194,12 @@ export default { ...@@ -194,12 +194,12 @@ export default {
194 @import "~@/styles/_handle.scss"; 194 @import "~@/styles/_handle.scss";
195 195
196 .tags-view-container { 196 .tags-view-container {
197 height: 40px; 197 height: 50px;
198 width: 100%; 198 width: 100%;
199 background: #fff; 199 background: #fff;
200 border-bottom: 1px solid #d8dce5; 200 border-bottom: 1px solid #d8dce5;
201 box-sizing: border-box; 201 box-sizing: border-box;
202 padding-top: 2px; 202 padding-top: 7px;
203 margin-bottom: 7px; 203 margin-bottom: 7px;
204 border-radius: 4px; 204 border-radius: 4px;
205 205
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 * @Author: yangwei 2 * @Author: yangwei
3 * @Date: 2023-01-16 09:10:12 3 * @Date: 2023-01-16 09:10:12
4 * @LastEditors: Please set LastEditors 4 * @LastEditors: Please set LastEditors
5 * @LastEditTime: 2023-03-23 15:15:02 5 * @LastEditTime: 2023-03-27 16:54:34
6 * @FilePath: \bdcjg-web\src\main.js 6 * @FilePath: \bdcjg-web\src\main.js
7 * @Description: 7 * @Description:
8 * 8 *
...@@ -19,7 +19,6 @@ import mixin from '@/utils/mixin/theme.js' ...@@ -19,7 +19,6 @@ import mixin from '@/utils/mixin/theme.js'
19 import axios from 'axios' 19 import axios from 'axios'
20 import dataV from '@jiaminghi/data-view'; 20 import dataV from '@jiaminghi/data-view';
21 import * as echarts from "echarts" 21 import * as echarts from "echarts"
22
23 import { startLoadingAddCount, endLoadingSubCount } from './utils/requestLoading' 22 import { startLoadingAddCount, endLoadingSubCount } from './utils/requestLoading'
24 Vue.mixin(mixin) 23 Vue.mixin(mixin)
25 import './directive/vxe-table' 24 import './directive/vxe-table'
...@@ -68,4 +67,5 @@ axios.get("./config.json") ...@@ -68,4 +67,5 @@ axios.get("./config.json")
68 store, 67 store,
69 render: h => h(App) 68 render: h => h(App)
70 }) 69 })
70 window.document.documentElement.setAttribute("data-theme", 'blue');
71 }) 71 })
...\ No newline at end of file ...\ No newline at end of file
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-03-27 14:16:28 4 * @LastEditTime: 2023-03-27 17:26:19
5 */ 5 */
6 import Vue from 'vue' 6 import Vue from 'vue'
7 import router from "./router"; 7 import router from "./router";
...@@ -24,7 +24,6 @@ router.beforeEach(async (to, from, next) => { ...@@ -24,7 +24,6 @@ router.beforeEach(async (to, from, next) => {
24 localStorage.removeItem("token"); 24 localStorage.removeItem("token");
25 next(); 25 next();
26 } else { 26 } else {
27 window.document.documentElement.setAttribute("data-theme", 'blue');
28 let code = Vue.prototype.BASE_API.CODE 27 let code = Vue.prototype.BASE_API.CODE
29 //判断token是否存在 28 //判断token是否存在
30 const hasToken = localStorage.getItem("token"); 29 const hasToken = localStorage.getItem("token");
......
1 1 // .dialogCon {
2 // background: #031A46;
3 // -webkit-box-shadow: inset 0px 0px 12px 0px #02d9fd;
4 // box-shadow: inset 0px 0px 12px 0px #02d9fd;
5 // border-radius: 0px 2px 2px 2px;
6 // border: 1px solid #6BC1FC;
7 // padding: 15px;
8 // }
......
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
4 // @import './element-ui.scss'; 5 // @import './element-ui.scss';
5 /* CSS 初始化 */ 6 /* CSS 初始化 */
6 html, 7 html,
...@@ -430,16 +431,6 @@ aside { ...@@ -430,16 +431,6 @@ aside {
430 border-radius: 16px; 431 border-radius: 16px;
431 color: #B06974; 432 color: #B06974;
432 } 433 }
433
434 // 弹框中间区域样式
435 .dialogCon {
436 background: #031A46;
437 box-shadow: inset 0px 0px 12px 0px #02D9FD;
438 border-radius: 0px 2px 2px 2px;
439 border: 1px solid #6BC1FC;
440 padding: 15px;
441 }
442
443 // 通过 入库 样式 434 // 通过 入库 样式
444 .adopt, 435 .adopt,
445 .success { 436 .success {
...@@ -518,4 +509,4 @@ aside { ...@@ -518,4 +509,4 @@ aside {
518 @font-face { 509 @font-face {
519 font-family: AliBold; 510 font-family: AliBold;
520 src: url('../image/font/Alibaba_PuHuiTi_2.0_55_Regular_85_Bold.ttf') 511 src: url('../image/font/Alibaba_PuHuiTi_2.0_55_Regular_85_Bold.ttf')
521 }
...\ No newline at end of file ...\ No newline at end of file
512 }
......
...@@ -535,8 +535,12 @@ table td { ...@@ -535,8 +535,12 @@ table td {
535 535
536 // 提示框 536 // 提示框
537 .el-message-box { 537 .el-message-box {
538 background-color: #031a46; 538 background: #031A46;
539 border: 1px solid #5f82c7; 539 -webkit-box-shadow: inset 0px 0px 12px 0px #02d9fd;
540 box-shadow: inset 0px 0px 12px 0px #02d9fd;
541 border-radius: 0px 2px 2px 2px;
542 border: 1px solid #6BC1FC;
543 padding: 15px;
540 544
541 .el-message-box__title { 545 .el-message-box__title {
542 color: white; 546 color: white;
......
...@@ -190,6 +190,21 @@ ...@@ -190,6 +190,21 @@
190 } 190 }
191 } 191 }
192 192
193 .complex-header {
194 .el-table--border th.el-table__cell {
195 border-bottom: 1px solid #458ACF !important;
196 }
197
198 .el-table--border .el-table__cell {
199 border-right: 1px solid #458ACF !important;
200 }
201
202 .el-table--group,
203 .el-table--border {
204 border: 1px solid #458ACF !important;
205 }
206 }
207
193 .el-pagination.is-background .btn-prev, 208 .el-pagination.is-background .btn-prev,
194 .el-pagination.is-background .btn-next { 209 .el-pagination.is-background .btn-next {
195 @extend .bgc; 210 @extend .bgc;
...@@ -228,49 +243,6 @@ ...@@ -228,49 +243,6 @@
228 text-align: right; 243 text-align: right;
229 } 244 }
230 245
231 // 修改弹框样式
232 .modifydialog {
233 .el-dialog__header {
234 text-align: center;
235 margin-bottom: 10px;
236
237 .el-dialog__title {
238 color: white;
239 }
240 }
241
242 .el-form-item__label {
243 color: white;
244 }
245
246 .el-input__inner {
247 background-color: #07388b;
248 }
249
250 .el-input__inner {
251 background: #07388b;
252 border-radius: 2px;
253 border: 1px solid #6bc1fc;
254 }
255
256 .el-textarea__inner {
257 background: #07388b;
258 color: #fff;
259 }
260
261 .el-form-item__label {
262 color: #fff;
263 }
264
265 .el-dialog__header {
266 text-align: center;
267 margin-bottom: 10px;
268
269 .el-dialog__title {
270 color: white;
271 }
272 }
273 }
274 246
275 // 角色管理人员菜单配置弹框样式 247 // 角色管理人员菜单配置弹框样式
276 .roleconfiguration { 248 .roleconfiguration {
...@@ -1000,6 +972,39 @@ ...@@ -1000,6 +972,39 @@
1000 972
1001 // 人员管理角色管理菜单管理修改新增弹框样式 973 // 人员管理角色管理菜单管理修改新增弹框样式
1002 .PersonnelDialog { 974 .PersonnelDialog {
975
976 .el-dialog__header {
977 text-align: center;
978 margin-bottom: 10px;
979
980 .el-dialog__title {
981 color: white;
982 }
983 }
984
985 .el-form-item__label {
986 color: white;
987 }
988
989 .el-input__inner {
990 background-color: #07388b;
991 }
992
993 .el-input__inner {
994 background: #07388b;
995 border-radius: 2px;
996 border: 1px solid #6bc1fc;
997 }
998
999 .el-textarea__inner {
1000 background: #07388b;
1001 color: #fff;
1002 }
1003
1004 .el-form-item__label {
1005 color: #fff;
1006 }
1007
1003 .el-dialog__header { 1008 .el-dialog__header {
1004 .dialog_title { 1009 .dialog_title {
1005 display: -webkit-box; 1010 display: -webkit-box;
...@@ -1029,4 +1034,72 @@ ...@@ -1029,4 +1034,72 @@
1029 .selbig { 1034 .selbig {
1030 width: 500px; 1035 width: 500px;
1031 } 1036 }
1032 }
...\ No newline at end of file ...\ No newline at end of file
1037
1038 }
1039
1040 // 弹框中间区域样式
1041 .dialogCon {
1042 background: #031A46;
1043 box-shadow: inset 0px 0px 12px 0px #02D9FD;
1044 border-radius: 0px 2px 2px 2px;
1045 border: 1px solid #6BC1FC;
1046 padding: 15px;
1047 }
1048
1049 // 修改密码界面样式
1050 .informationpassword {
1051 margin: 36px 200px;
1052 overflow-y: auto;
1053
1054 .form-wrapper {
1055 padding: 24px 120px 0px;
1056
1057 .el-form-item {
1058 margin-bottom: 24px;
1059
1060 .el-form-item__label {
1061 color: #ffffff;
1062 }
1063
1064 .el-input .el-input__inner {
1065 padding: 0 8px;
1066 height: 40px;
1067 line-height: 40px;
1068 border: 1px solid #6bc1fc;
1069 }
1070 }
1071 }
1072
1073 .bottom-wrapper {
1074 padding: 32px 120px 24px;
1075 text-align: center;
1076 }
1077 }
1078
1079 // 修改基本信息界面样式
1080 .informationbase {
1081 margin: 0.1875rem 1.0417rem;
1082 overflow-y: auto;
1083 .form-wrapper {
1084 padding: 0px 120px 0px;
1085 .el-form-item {
1086 /deep/.el-form-item__label {
1087 color: #ffffff;
1088 }
1089 ::v-deep .el-input .el-input__inner {
1090 padding: 0 8px;
1091 height: 40px;
1092 line-height: 40px;
1093 border: 1px solid #6bc1fc;
1094 }
1095 }
1096 .el-form-item--small.el-form-item {
1097 margin-bottom: 16px;
1098 }
1099 }
1100 .bottom-wrapper {
1101 padding: 0px 120px 0px;
1102 text-align: center;
1103 }
1104 }
1105
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
7 padding: 0 7px !important; 7 padding: 0 7px !important;
8 } 8 }
9 9
10
10 .from-clues { 11 .from-clues {
11 height: 100%; 12 height: 100%;
12 width: 100%; 13 width: 100%;
...@@ -16,7 +17,7 @@ ...@@ -16,7 +17,7 @@
16 17
17 &-header { 18 &-header {
18 width: 100%; 19 width: 100%;
19 padding: 7px 15px 10px 15px; 20 padding: 7px 15px 15px 15px;
20 box-sizing: border-box; 21 box-sizing: border-box;
21 background-size: 100% 100%; 22 background-size: 100% 100%;
22 background: #FFFFFF; 23 background: #FFFFFF;
...@@ -141,4 +142,753 @@ ...@@ -141,4 +142,753 @@
141 .cz:focus { 142 .cz:focus {
142 background-color: white; 143 background-color: white;
143 background-size: cover; 144 background-size: cover;
144 }
...\ No newline at end of file ...\ No newline at end of file
145 }
146
147 // 角色管理人员菜单配置弹框样式
148 .roleconfiguration {
149 .el-dialog__close {
150 font-size: 16px !important;
151 }
152
153 }
154
155 // 面包屑
156 .breadcrumb {
157 width: 80%;
158 text-indent: 10px;
159 background: url("~@/image/breadcrumb.png") no-repeat;
160 background-size: 100% 100%;
161 line-height: 32px;
162 height: 32px;
163 padding-left: 35px;
164 margin: 8px 0 10px 6px;
165 color: #CEF8FF;
166 }
167
168 .el-icon-arrow-right {
169 width: 2px;
170 position: relative;
171 left: 10px;
172 color: #FFFFFF;
173 }
174
175 .el-breadcrumb__inner {
176 color: #CEF8FF !important;
177 }
178
179 .breadcrumb1366 {
180 padding: 10px 0 !important;
181 }
182
183 .cur-location {
184 font-size: 16px;
185 color: white;
186 line-height: 40px;
187 float: left;
188
189 img {
190 position: relative;
191 top: 3px;
192 margin-right: 4px;
193 }
194 }
195
196 .el-breadcrumb__inner a,
197 .el-breadcrumb__inner.is-link {
198 color: white;
199 cursor: text;
200 font-weight: normal;
201 }
202
203 // .button {
204 // width: 76px;
205 // height: 32px;
206 // color: #ffffff;
207 // cursor: pointer;
208 // border: 0;
209 // font-size: 12px;
210 // }
211
212 // // 按钮样式
213 // .cx {
214 // background: url("../image/btn.png") no-repeat 0 -34px;
215 // background-size: cover;
216 // }
217
218 // .cx:hover {
219 // background: url("../image/btn.png") no-repeat 0 -34px;
220 // background-size: cover;
221 // color: white;
222 // }
223
224 // .cz {
225 // background: url("../image/btn.png") no-repeat 0 0;
226 // background-size: cover;
227 // }
228
229 // .cz:hover {
230 // background: url("../image/btn.png") no-repeat 0 0;
231 // background-size: cover;
232 // color: white;
233 // }
234
235 // .el-button:focus {
236 // background: none;
237 // }
238
239 // .cx:focus {
240 // background: url("../image/btn.png") no-repeat 0 -34px;
241 // background-size: cover;
242 // color: white;
243 // }
244
245 // .cz:focus {
246 // background: url("../image/btn.png") no-repeat 0 0;
247 // background-size: cover;
248 // color: white;
249 // }
250
251 // 监管弹框样式
252 .dialogBox {
253 overflow: hidden;
254 // min-height: 90vh;
255
256 .dialog_title {
257 // display: flex;
258 // position: relative;
259 // font-size: 22px;
260 // top: -10px;
261 // width: 38%;
262 // height: 40px;
263 // margin-left: 28px;
264 // justify-content: center;
265 // white-space: nowrap;
266
267 b {
268 // font-weight: 200;
269 // display: inline-block;
270 // position: relative;
271 font-size: 24px;
272 // top: -11px;
273 // width: 38%;
274 // height: 40px;
275 // margin-left: 28px;
276 // // @include flex-center;
277 display: flex;
278 justify-content: center;
279 }
280 }
281
282 .dialog_full {
283 position: absolute;
284 top: 0;
285 right: 30px;
286 }
287
288 .el-dialog__body {
289 max-height: 88vh;
290 overflow-x: hidden;
291 overflow-y: hidden;
292 }
293
294 .dialog_footer {
295 margin-bottom: 8px;
296 display: flex;
297 justify-content: center;
298 align-items: center;
299 }
300
301 .dialogBox-content {
302 height: auto
303 }
304
305 .editDialogBox-box {
306 border-radius: 3px;
307 border: 1px solid #6BC1FC;
308
309 .el-form-item__label {
310 color: #000000;
311 }
312
313 .el-form-item__content {
314 color: #000000;
315 }
316 }
317
318 .item-content-input {
319 .el-input__inner {
320 border: none !important;
321 text-align: right;
322 }
323 }
324
325 .regularHeight {
326 display: flex;
327 flex-direction: column;
328 height: 87vh;
329
330 .editDialogBox-con,
331 .JsonEditor {
332 flex: 1;
333 height: 100%;
334 }
335 }
336
337 .dialog-from {
338 padding: 13px;
339 border-radius: 2px;
340 box-sizing: border-box;
341
342 .el-row {
343 display: flex;
344 flex-wrap: nowrap;
345 }
346
347 .el-col {
348 line-height: 18px;
349 display: flex;
350 align-items: center;
351 margin-bottom: 3px;
352 color: #000000;
353 border-radius: 2px;
354 border: 1px solid #224C7C;
355
356 span {
357 display: inline-block;
358 padding: 3px;
359 border-radius: 3px;
360 overflow: hidden;
361 white-space: nowrap;
362 text-align: left;
363 color: #02D9FD;
364 }
365
366 p {
367 flex: 1;
368 width: 100%;
369 padding-left: 5px;
370 line-height: 20px;
371 color: #000307;
372 cursor: not-allowed;
373 white-space: nowrap;
374 margin-right: 5px;
375 text-align: right;
376 }
377 }
378
379 }
380
381 .el-textarea__inner {
382 // border: 1px solid #224C7C;
383 // margin: 0 0 10px 0 !important;
384 // width: 100% !important;
385 // color: #dadde3 !important;
386 // background: transparent !important;
387 }
388
389 .el-input__inner {
390 // border: 1px solid #224C7C !important;
391 // margin: 0 !important;
392 // width: 100% !important;
393 // color: #111111 !important;
394 // background: transparent !important;
395 }
396
397 .el-dialog__header {
398 color: #070000;
399 // height: 46px !important;
400 // width: 97%;
401 // margin: 0 auto;
402 // margin-top: 2px;
403 }
404
405 .el-dialog__body {
406 padding-top: 0;
407 padding-bottom: 0;
408 // height: 95vh;
409 }
410
411 // .el-dialog__headerbtn {
412 // right: 40px;
413 // top: 33px;
414
415 // &:hover {
416 // // background: rgb(4, 172, 250);
417 // right: 40px;
418 // top: 33px;
419 // }
420 // }
421
422
423 .el-form-item {
424 display: flex;
425 width: 100%;
426 }
427
428 }
429
430 .contentCenter {
431 position: absolute;
432 top: 50%;
433 left: 50%;
434 transform: translate(calc(-50% + 85px), -50%);
435 }
436
437 .mainCenter {
438 position: absolute;
439 top: 50%;
440 left: 50%;
441 transform: translate(-50%, -50%);
442
443 // 展开收起按钮位置
444 .el-input__suffix {
445 right: 10px;
446 }
447 }
448
449 // 登簿日志弹出框
450 .entryJournal {
451 .el-tabs__header {
452 margin: 0;
453 }
454
455 .el-dialog {
456 display: flex;
457 flex-direction: column;
458 }
459
460 .el-dialog__body {
461 display: flex;
462 flex-direction: column;
463 padding-bottom: 30px;
464 height: 100%;
465 flex: 1;
466 position: relative;
467 }
468
469 .regularHeight {
470 display: flex;
471 flex-direction: column;
472 height: 87vh;
473 margin-bottom: 5px;
474
475 .editDialogBox-con,
476 .JsonEditor {
477 flex: 1;
478 }
479 }
480
481 .d-center {}
482
483 .dialog_title {
484 top: -6px
485 }
486
487 .el-tabs__item {
488 color: #CEF8FF !important;
489
490 display: flex;
491 flex-direction: row;
492 justify-content: center;
493 background: url("~@/image/tabitem.png") no-repeat;
494 background-size: 100% 100%;
495 border: none !important;
496 }
497
498 .el-tabs__nav {
499 display: flex;
500 border: none !important;
501 }
502
503 .el-tabs__item.is-top:not(:last-child) {
504 margin-right: 5px;
505 }
506
507 .el-icon-circle-close {
508 display: none;
509 }
510
511 .el-tabs__item.is-active {
512 background: url("~@/image/tabitemse.png") no-repeat;
513 background-size: 100% 100%;
514 }
515
516 .from-clues-content {
517 margin-top: 0;
518 background: none;
519 padding: 0;
520 }
521
522 .editDialogBox-box {
523 position: relative;
524 top: 10px;
525 height: 100%;
526 }
527
528 .dialog-from {
529 padding-top: 0;
530
531 .el-col {
532 justify-content: space-between;
533 }
534
535 .bz {
536 height: 100%;
537 position: relative;
538 top: 3px;
539 }
540
541 .el-input {
542 flex: 1;
543 width: 100%;
544 }
545
546 .el-textarea__inner {
547 border: none !important;
548 margin: 0;
549 }
550
551 &_header {
552 margin: 0 -5px !important;
553 }
554
555 &_title {
556 font-size: 14px;
557 color: #d7eaee;
558 margin: 3px 0;
559 }
560 }
561 }
562
563 // 数据上报弹出框
564 .dataReporting {
565 .el-dialog__body {
566 display: flex;
567 flex-direction: column;
568 padding-bottom: 30px;
569 }
570
571 .el-tabs {
572 color: #cef8ff;
573 }
574
575 .d-center {
576 z-index: 1000;
577 }
578
579 .sjmx {
580 display: flex;
581 flex-direction: column;
582 height: 49vh;
583
584 .el-tabs__item {
585 height: 50px;
586 padding-top: 6px;
587 }
588 }
589
590 .result {
591 flex: 1;
592 height: 100%;
593 }
594
595 .editDialogBox-con {
596 flex: 1;
597 height: 100%;
598 overflow-y: hidden;
599 }
600
601 .el-tabs__item {
602 color: #cef8ff !important;
603
604 display: flex;
605 flex-direction: row;
606 justify-content: center;
607 background: url("~@/image/tabitem.png") no-repeat;
608 background-size: 100% 100%;
609 border: none !important;
610 }
611
612 .obligee-item-name {
613 background: #05275b;
614 color: #ffffff;
615 background: url("~@/image/itembg.png") no-repeat;
616 background-size: 100% 100%;
617 }
618
619 .el-tabs__nav-scroll {
620 background: none;
621 }
622
623 .el-tabs__nav {
624 display: flex;
625 border: none !important;
626 }
627
628 .el-tabs__item.is-top {
629 border: 1px solid #dfe4ed;
630 border-top: 1px solid #dfe4ed;
631 border-bottom: 1px solid transparent;
632 }
633
634 .el-tabs__header {
635 border: none;
636 margin-bottom: 0;
637 }
638
639 .el-tabs__item.is-top:not(:last-child) {
640 margin-right: 5px;
641 }
642
643 .el-tabs__item.is-top {
644 background-color: none !important;
645 }
646
647 .el-tabs__item.is-active {
648 background: url("~@/image/tabitemse.png") no-repeat;
649 background-size: 100% 100%;
650 }
651
652 .success-images {
653 width: 30px;
654 height: 30px;
655 position: relative;
656 top: 10px;
657 right: 3px;
658 }
659
660 .tab-pane-item {
661 line-height: 20px;
662 color: #02d9fd;
663
664 p {
665 text-align: center;
666 }
667 }
668
669 .edit-content {
670 overflow-y: auto;
671 overflow-x: hidden;
672 padding-right: 1px;
673 border-top: none;
674 }
675
676 .editDialogBox {
677 border-radius: 8px;
678 overflow: hidden;
679 min-width: 1228px;
680
681 .el-dialog__header {
682 display: flex;
683 margin-bottom: 10px;
684 }
685
686 .dialog_footer {
687 flex-direction: column;
688
689 .dialog_button {
690 margin-top: 8px;
691 }
692 }
693
694 .divider {
695 width: 100%;
696 border-bottom: 1px solid #ccc;
697 }
698 }
699
700 .el-dialog__wrapper {
701 overflow: hidden;
702 }
703
704 .dialog-from {
705 padding-top: 0;
706
707 .el-col {
708 justify-content: space-between;
709 }
710
711 .bz {
712 height: 100%;
713 position: relative;
714 top: 3px;
715 }
716
717 .el-select {
718 padding-right: 15px;
719 }
720
721 .el-icon-circle-close {
722 display: none;
723 }
724
725 .el-input__suffix {
726 right: -25px !important;
727 top: -5px;
728 }
729
730 .el-select,
731 .el-input {
732 flex: 1;
733 width: 100%;
734 }
735
736 .el-textarea__inner {
737 border: none !important;
738 margin: 0;
739 }
740
741 &_header {
742 margin: 0 -5px !important;
743 }
744
745 &_title {
746 font-size: 18px;
747 color: #d7eaee;
748 margin: 3px 0;
749 }
750 }
751 }
752
753 // 人员管理上下移动按钮样式
754 .el-button.is-disabled.el-button--text {
755 width: 64px;
756 height: 28px;
757 background: rgba(255, 255, 255, 0.1);
758 border-radius: 16px;
759 }
760
761 // 人员管理角色管理菜单管理修改新增弹框样式
762 .PersonnelDialog {
763
764 .el-dialog__header {
765 text-align: center;
766 margin-bottom: 10px;
767
768 .el-dialog__title {
769 color: rgb(0, 0, 0);
770 }
771 }
772
773 .el-form-item__label {
774 color: rgb(0, 0, 0);
775 }
776
777 .el-input__inner {
778 // background-color: #07388b;
779 }
780
781 .el-input__inner {
782 // background: #07388b;
783 // border-radius: 2px;
784 // border: 1px solid #6bc1fc;
785 }
786
787 .el-textarea__inner {
788 // background: #07388b;
789 // color: rgb(0, 0, 0);
790 }
791
792 .el-form-item__label {
793 color: rgb(2, 0, 0);
794 }
795
796 .el-dialog__header {
797 .dialog_title {
798 // display: -webkit-box;
799 // display: -ms-flexbox;
800 // display: flex;
801 // position: relative;
802 // top: -7px;
803 // width: 29%;
804 // height: 40px;
805 // margin-left: 28px;
806 // -webkit-box-pack: center;
807 // -ms-flex-pack: center;
808 // justify-content: center;
809 // white-space: nowrap;
810
811 b {
812 font-size: 16px;
813 }
814 }
815
816 .el-dialog__headerbtn {
817 right: 20px !important;
818 top: 23px !important;
819 }
820 }
821
822 .selbig {
823 width: 500px;
824 }
825 }
826
827 // 弹框中间区域样式
828 .dialogCon {
829 background: #ffffff;
830 border: 1px solid #294ef1;
831 padding: 15px;
832 }
833
834 // 修改密码界面样式
835 .informationpassword {
836 margin: 36px 200px;
837 overflow-y: auto;
838
839 .form-wrapper {
840 padding: 24px 120px 0px;
841
842 .el-form-item {
843 margin-bottom: 24px;
844
845 .el-form-item__label {
846 color: #000000;
847 }
848
849 .el-input .el-input__inner {
850 padding: 0 8px;
851 height: 40px;
852 line-height: 40px;
853 border: 1px solid #6bc1fc;
854 }
855 }
856 }
857
858 .bottom-wrapper {
859 padding: 32px 120px 24px;
860 text-align: center;
861 }
862 }
863
864 // 修改基本信息界面样式
865 .informationbase {
866 margin: 0.1875rem 1.0417rem;
867 overflow-y: auto;
868
869 .form-wrapper {
870 padding: 0px 120px 0px;
871
872 .el-form-item {
873 /deep/.el-form-item__label {
874 color: #000000;
875 }
876
877 ::v-deep .el-input .el-input__inner {
878 padding: 0 8px;
879 height: 40px;
880 line-height: 40px;
881 border: 1px solid #6bc1fc;
882 }
883 }
884
885 .el-form-item--small.el-form-item {
886 margin-bottom: 16px;
887 }
888 }
889
890 .bottom-wrapper {
891 padding: 0px 120px 0px;
892 text-align: center;
893 }
894 }
......
...@@ -4,19 +4,19 @@ ...@@ -4,19 +4,19 @@
4 <!-- 头部搜索 --> 4 <!-- 头部搜索 -->
5 <div class="from-clues-header"> 5 <div class="from-clues-header">
6 <el-form ref="form" :model="form" label-width="100px"> 6 <el-form ref="form" :model="form" label-width="100px">
7 <el-form-item> 7 <el-form-item v-if="BASE_API.THEME == 'jg'">
8 <Breadcrumb /> 8 <Breadcrumb />
9 </el-form-item> 9 </el-form-item>
10 <el-row> 10 <el-row>
11 <el-col :span="4"> 11 <el-col :span="4">
12 <el-form-item label="开始日期" prop="startTime"> 12 <el-form-item label="开始日期" prop="startTime" class="d-flex">
13 <el-date-picker type="date" :clearable="false" class="width100" placeholder="开始日期" 13 <el-date-picker type="date" :clearable="false" class="width100" placeholder="开始日期"
14 :picker-options="pickerOptionsStart" v-model="form.startTime" 14 :picker-options="pickerOptionsStart" v-model="form.startTime"
15 value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> 15 value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
16 </el-form-item> 16 </el-form-item>
17 </el-col> 17 </el-col>
18 <el-col :span="4"> 18 <el-col :span="4">
19 <el-form-item label="结束日期" prop="endTime"> 19 <el-form-item label="结束日期" prop="endTime" class="d-flex">
20 <el-date-picker class="width100" :clearable="false" type="date" placeholder="结束日期" 20 <el-date-picker class="width100" :clearable="false" type="date" placeholder="结束日期"
21 :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss" 21 :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss"
22 @change="endTimeChange"></el-date-picker> 22 @change="endTimeChange"></el-date-picker>
...@@ -39,322 +39,322 @@ ...@@ -39,322 +39,322 @@
39 </div> 39 </div>
40 </template> 40 </template>
41 <script> 41 <script>
42 import { mapGetters } from "vuex"; 42 import { mapGetters } from "vuex";
43 import efficient from "@/api/efficient"; 43 import efficient from "@/api/efficient";
44 import { getFirstDayOfSeason, timeFormat } from "@/utils/operation"; 44 import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
45 export default { 45 export default {
46 name: "jktj", 46 name: "jktj",
47 data () { 47 data () {
48 return { 48 return {
49 // 开始日期限制 49 // 开始日期限制
50 pickerOptionsStart: { 50 pickerOptionsStart: {
51 disabledDate: (time) => { 51 disabledDate: (time) => {
52 if (this.form.endTime) { 52 if (this.form.endTime) {
53 return time.getTime() > new Date(this.form.endTime).getTime(); 53 return time.getTime() > new Date(this.form.endTime).getTime();
54 } 54 }
55 },
56 },
57 // 结束日期限制
58 pickerOptionsEnd: {
59 disabledDate: (time) => {
60 if (this.form.startTime) {
61 return time.getTime() < new Date(this.form.startTime).getTime();
62 }
63 },
64 }, 55 },
65 form: { 56 },
66 startTime: getFirstDayOfSeason(), 57 // 结束日期限制
67 endTime: timeFormat(new Date(), true), 58 pickerOptionsEnd: {
59 disabledDate: (time) => {
60 if (this.form.startTime) {
61 return time.getTime() < new Date(this.form.startTime).getTime();
62 }
68 }, 63 },
69 // 搜索表单 64 },
70 pieChartsData: [], 65 form: {
71 }; 66 startTime: getFirstDayOfSeason(),
67 endTime: timeFormat(new Date(), true),
68 },
69 // 搜索表单
70 pieChartsData: [],
71 };
72 },
73 created () { },
74 mounted () {
75 this.getProcessCounts();
76 },
77 computed: {
78 ...mapGetters(["dicData"]),
79 },
80 methods: {
81 endTimeChange (val) {
82 this.form.endTime = timeFormat(new Date(val), true);
72 }, 83 },
73 created () { }, 84 //查询各区县办件数量
74 mounted () { 85 async getProcessCounts () {
75 this.getProcessCounts(); 86 this.pieChartsData = [];
87 let { result: res } = await efficient.getProcessCounts(
88 this.form.startTime,
89 this.form.endTime
90 );
91 //获取图表配置项需要的数据
92 res.length > 0 &&
93 res.forEach((item) => {
94 this.pieChartsData.push({
95 //登记数量
96 value: item.counts,
97 //登记数量
98 name: item.recTypeName,
99 //登记类型代码
100 groupId: item.recType,
101 });
102 });
103 res.length &&
104 this.$nextTick(() => {
105 // 初始化图表
106 this.echartInit();
107 this.barChartInit(res[0].recType);
108 });
76 }, 109 },
77 computed: { 110 // 重置
78 ...mapGetters(["dicData"]), 111 resetForm () {
112 this.form = {
113 startTime: getFirstDayOfSeason(),
114 endTime: timeFormat(new Date(), true),
115 };
116 this.getProcessCounts();
79 }, 117 },
80 methods: { 118 //玫瑰图初始化
81 endTimeChange (val) { 119 echartInit () {
82 this.form.endTime = timeFormat(new Date(val), true); 120 let _this = this;
83 }, 121 // 基于准备好的dom,初始化echarts实例
84 //查询各区县办件数量 122 let myChart = this.$echarts.init(document.getElementById("myChart"));
85 async getProcessCounts () { 123 // 绘制图表
86 this.pieChartsData = []; 124 myChart.setOption({
87 let { result: res } = await efficient.getProcessCounts( 125 legend: {
88 this.form.startTime, 126 bottom: "2%",
89 this.form.endTime 127 left: "center",
90 ); 128 textStyle: {
91 //获取图表配置项需要的数据 129 color: "#fff",
92 res.length > 0 &&
93 res.forEach((item) => {
94 this.pieChartsData.push({
95 //登记数量
96 value: item.counts,
97 //登记数量
98 name: item.recTypeName,
99 //登记类型代码
100 groupId: item.recType,
101 });
102 });
103 res.length &&
104 this.$nextTick(() => {
105 // 初始化图表
106 this.echartInit();
107 this.barChartInit(res[0].recType);
108 });
109 },
110 // 重置
111 resetForm () {
112 this.form = {
113 startTime: getFirstDayOfSeason(),
114 endTime: timeFormat(new Date(), true),
115 };
116 this.getProcessCounts();
117 },
118 //玫瑰图初始化
119 echartInit () {
120 let _this = this;
121 // 基于准备好的dom,初始化echarts实例
122 let myChart = this.$echarts.init(document.getElementById("myChart"));
123 // 绘制图表
124 myChart.setOption({
125 legend: {
126 bottom: "2%",
127 left: "center",
128 textStyle: {
129 color: "#fff",
130 },
131 },
132 tooltip: {
133 trigger: "item",
134 formatter: "{b} : {c}",
135 }, 130 },
136 label: { 131 },
137 color: 'inherit', 132 tooltip: {
138 }, 133 trigger: "item",
139 series: [ 134 formatter: "{b} : {c}",
140 { 135 },
141 name: "各业务类型办理数量", 136 label: {
142 type: "pie", 137 color: 'inherit',
143 radius: [0, 250], 138 },
144 center: ["50%", "45%"], 139 series: [
145 roseType: "area", 140 {
146 itemStyle: { 141 name: "各业务类型办理数量",
147 borderRadius: 8, 142 type: "pie",
148 }, 143 radius: [0, 250],
149 data: this.pieChartsData, 144 center: ["50%", "45%"],
145 roseType: "area",
146 itemStyle: {
147 borderRadius: 8,
150 }, 148 },
151 ], 149 data: this.pieChartsData,
152 }); 150 },
153 //添加点击事件 151 ],
154 myChart.on("click", function (param) { 152 });
155 _this.barChartInit(param.data.groupId); 153 //添加点击事件
156 }); 154 myChart.on("click", function (param) {
157 //默认选中第一个 155 _this.barChartInit(param.data.groupId);
158 let index = 1; 156 });
159 myChart.dispatchAction({ 157 //默认选中第一个
160 type: "highlight", 158 let index = 1;
161 seriesIndex: 0, 159 myChart.dispatchAction({
162 dataIndex: 0, 160 type: "highlight",
163 }); 161 seriesIndex: 0,
164 myChart.on("mouseover", function (e) { 162 dataIndex: 0,
165 if (e.dataIndex != index) { 163 });
166 myChart.dispatchAction({ 164 myChart.on("mouseover", function (e) {
167 type: "downplay", 165 if (e.dataIndex != index) {
168 seriesIndex: 0,
169 dataIndex: index,
170 });
171 }
172 });
173 myChart.on("mouseout", function (e) {
174 index = e.dataIndex;
175 myChart.dispatchAction({ 166 myChart.dispatchAction({
176 type: "highlight", 167 type: "downplay",
177 seriesIndex: 0, 168 seriesIndex: 0,
178 dataIndex: e.dataIndex, 169 dataIndex: index,
179 }); 170 });
171 }
172 });
173 myChart.on("mouseout", function (e) {
174 index = e.dataIndex;
175 myChart.dispatchAction({
176 type: "highlight",
177 seriesIndex: 0,
178 dataIndex: e.dataIndex,
180 }); 179 });
181 }, 180 });
182 //柱图初始化 181 },
183 async barChartInit (recType) { 182 //柱图初始化
184 //请求recType对应业务的各区县数据 183 async barChartInit (recType) {
185 let { result: res } = await efficient.getProcessDays( 184 //请求recType对应业务的各区县数据
186 recType, 185 let { result: res } = await efficient.getProcessDays(
187 this.form.startTime, 186 recType,
188 this.form.endTime 187 this.form.startTime,
189 ); 188 this.form.endTime
190 //行政区数组 189 );
191 let xzqArr = []; 190 //行政区数组
192 this.dicData["A20"].forEach((item) => { 191 let xzqArr = [];
193 xzqArr.push(item.DNAME); 192 this.dicData["A20"].forEach((item) => {
194 let tempArr = res.filter((i) => { 193 xzqArr.push(item.DNAME);
195 return i.qxdm == item.DCODE; 194 let tempArr = res.filter((i) => {
196 }); 195 return i.qxdm == item.DCODE;
197 if (tempArr.length) {
198 item.avgDay = tempArr[0].avgDay;
199 item.maxDay = tempArr[0].maxDay;
200 item.minDay = tempArr[0].minDay;
201 } else {
202 item.avgDay = 0;
203 item.maxDay = 0;
204 item.minDay = 0;
205 }
206 }); 196 });
207 //补全无数据行政区后的结果数组 197 if (tempArr.length) {
208 let dealArr = [...this.dicData["A20"]]; 198 item.avgDay = tempArr[0].avgDay;
209 let myChartBar = this.$echarts.init( 199 item.maxDay = tempArr[0].maxDay;
210 document.getElementById("myChart-bar") 200 item.minDay = tempArr[0].minDay;
211 ); 201 } else {
212 myChartBar.setOption({ 202 item.avgDay = 0;
213 color: ["#00bdb1", "#ff6e6e", "#3f99ff", "#ffaf48"], 203 item.maxDay = 0;
214 tooltip: { 204 item.minDay = 0;
205 }
206 });
207 //补全无数据行政区后的结果数组
208 let dealArr = [...this.dicData["A20"]];
209 let myChartBar = this.$echarts.init(
210 document.getElementById("myChart-bar")
211 );
212 myChartBar.setOption({
213 color: ["#00bdb1", "#ff6e6e", "#3f99ff", "#ffaf48"],
214 tooltip: {
215 show: true,
216 trigger: "axis",
217 textStyle: {
218 fontSize: 16, // 字体大小
219 },
220 extraCssText: "width:220px;height:160px;", // 背景色
221 },
222 grid: {
223 top: 120,
224 },
225 legend: {
226 data: ["最短用时", "平均用时", "最长用时"],
227 top: 20,
228 textStyle: {
215 show: true, 229 show: true,
216 trigger: "axis", 230 color: "#fff",
217 textStyle: { 231 fontSize: "16",
218 fontSize: 16, // 字体大小
219 },
220 extraCssText: "width:220px;height:160px;", // 背景色
221 }, 232 },
222 grid: { 233 },
223 top: 120, 234 xAxis: [
235 {
236 type: "category",
237 data: xzqArr,
238 axisLabel: {
239 interval: 0,
240 textStyle: {
241 show: true,
242 color: "#fff",
243 fontSize: "16",
244 },
245 },
224 }, 246 },
225 legend: { 247 ],
226 data: ["最短用时", "平均用时", "最长用时"], 248 yAxis: [
227 top: 20, 249 {
228 textStyle: { 250 type: "value",
229 show: true, 251 name: "单位:天",
252 nameTextStyle: {
230 color: "#fff", 253 color: "#fff",
231 fontSize: "16", 254 fontSize: "16",
232 }, 255 },
233 }, 256 axisLabel: {
234 xAxis: [ 257 textStyle: {
235 { 258 show: true,
236 type: "category",
237 data: xzqArr,
238 axisLabel: {
239 interval: 0,
240 textStyle: {
241 show: true,
242 color: "#fff",
243 fontSize: "16",
244 },
245 },
246 },
247 ],
248 yAxis: [
249 {
250 type: "value",
251 name: "单位:天",
252 nameTextStyle: {
253 color: "#fff", 259 color: "#fff",
254 fontSize: "16", 260 fontSize: "16",
255 }, 261 },
256 axisLabel: {
257 textStyle: {
258 show: true,
259 color: "#fff",
260 fontSize: "16",
261 },
262 },
263 }, 262 },
264 ],
265 label: {
266 color: 'inherit',
267 }, 263 },
268 series: [ 264 ],
269 { 265 label: {
270 type: "bar", 266 color: 'inherit',
271 //显示数值 267 },
272 itemStyle: { 268 series: [
273 normal: { 269 {
274 label: { 270 type: "bar",
275 show: true, //开启显示 271 //显示数值
276 position: "top", //在上方显示 272 itemStyle: {
273 normal: {
274 label: {
275 show: true, //开启显示
276 position: "top", //在上方显示
277 277
278 },
279 }, 278 },
280 }, 279 },
281 barMaxWidth: "60",
282 name: "最短用时",
283 data: dealArr.map((item) => item.minDay),
284 }, 280 },
285 { 281 barMaxWidth: "60",
286 type: "bar", 282 name: "最短用时",
287 //显示数值 283 data: dealArr.map((item) => item.minDay),
288 itemStyle: { 284 },
289 normal: { 285 {
290 label: { 286 type: "bar",
291 show: true, //开启显示 287 //显示数值
292 position: "top", //在上方显示 288 itemStyle: {
289 normal: {
290 label: {
291 show: true, //开启显示
292 position: "top", //在上方显示
293 293
294 },
295 }, 294 },
296 }, 295 },
297 barMaxWidth: "60",
298 name: "平均用时",
299 data: dealArr.map((item) => item.avgDay),
300 }, 296 },
301 { 297 barMaxWidth: "60",
302 type: "bar", 298 name: "平均用时",
303 //显示数值 299 data: dealArr.map((item) => item.avgDay),
304 itemStyle: { 300 },
305 normal: { 301 {
306 label: { 302 type: "bar",
307 show: true, //开启显示 303 //显示数值
308 position: "top", //在上方显示 304 itemStyle: {
305 normal: {
306 label: {
307 show: true, //开启显示
308 position: "top", //在上方显示
309 309
310 },
311 }, 310 },
312 }, 311 },
313 barMaxWidth: "60",
314 name: "最长用时",
315 data: dealArr.map((item) => item.maxDay),
316 }, 312 },
317 ], 313 barMaxWidth: "60",
318 }); 314 name: "最长用时",
319 }, 315 data: dealArr.map((item) => item.maxDay),
316 },
317 ],
318 });
320 }, 319 },
321 }; 320 },
321 };
322 </script> 322 </script>
323 <style scoped lang="scss"> 323 <style scoped lang="scss">
324 .jktjDetail { 324 .jktjDetail {
325 height: 100%; 325 height: 100%;
326 display: flex; 326 display: flex;
327 flex-direction: column; 327 flex-direction: column;
328
329 .rows {
330 margin-left: 100px;
331 }
332 328
333 .center { 329 .rows {
334 line-height: 50vh; 330 margin-left: 100px;
335 text-align: center; 331 }
336 }
337 332
338 .echarts-box { 333 .center {
339 display: flex; 334 line-height: 50vh;
340 justify-content: center; 335 text-align: center;
336 }
341 337
342 .chart { 338 .echarts-box {
343 width: 40%; 339 display: flex;
344 height: 100%; 340 justify-content: center;
345 float: left;
346 }
347 341
348 .chart-bar { 342 .chart {
349 width: 60%; 343 width: 40%;
350 } 344 height: 100%;
345 float: left;
351 } 346 }
352 347
353 .form-clues-content { 348 .chart-bar {
354 flex: 1; 349 width: 60%;
355 height: 100%;
356 color: #b6b5b5;
357 } 350 }
358 } 351 }
352
353 .form-clues-content {
354 flex: 1;
355 height: 100%;
356 color: #b6b5b5;
357 }
358 }
359 </style> 359 </style>
360 360
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
3 <div class="jktjDetail form-clues"> 3 <div class="jktjDetail form-clues">
4 <!-- 头部搜索 --> 4 <!-- 头部搜索 -->
5 <div class="from-clues-header"> 5 <div class="from-clues-header">
6 <el-form ref="form" :model="form" label-width="100px"> 6 <el-form ref="form" :model="form" label-width="80px">
7 <el-form-item> 7 <el-form-item v-if="BASE_API.THEME=='jg'">
8 <Breadcrumb /> 8 <Breadcrumb />
9 </el-form-item> 9 </el-form-item>
10 <el-row> 10 <el-row>
11 <el-col :span="4"> 11 <el-col :span="4">
12 <el-form-item label="行政区"> 12 <el-form-item label="行政区" class="d-flex">
13 <el-select v-model="form.qxdm" class="width100" clearable placeholder="行政区"> 13 <el-select v-model="form.qxdm" class="width100" clearable placeholder="行政区">
14 <el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> 14 <el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
15 </el-option> 15 </el-option>
...@@ -17,14 +17,14 @@ ...@@ -17,14 +17,14 @@
17 </el-form-item> 17 </el-form-item>
18 </el-col> 18 </el-col>
19 <el-col :span="4"> 19 <el-col :span="4">
20 <el-form-item label="开始日期" prop="startTime"> 20 <el-form-item label="开始日期" prop="startTime" class="d-flex">
21 <el-date-picker type="date" :clearable="false" class="width100" placeholder="开始日期" 21 <el-date-picker type="date" :clearable="false" class="width100" placeholder="开始日期"
22 :picker-options="pickerOptionsStart" v-model="form.startTime" 22 :picker-options="pickerOptionsStart" v-model="form.startTime"
23 value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> 23 value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
24 </el-form-item> 24 </el-form-item>
25 </el-col> 25 </el-col>
26 <el-col :span="4"> 26 <el-col :span="4">
27 <el-form-item label="结束日期" prop="endTime"> 27 <el-form-item label="结束日期" prop="endTime" class="d-flex">
28 <el-date-picker type="date" :clearable="false" class="width100" placeholder="结束日期" 28 <el-date-picker type="date" :clearable="false" class="width100" placeholder="结束日期"
29 :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss" 29 :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss"
30 @change="endTimeChange"></el-date-picker> 30 @change="endTimeChange"></el-date-picker>
...@@ -47,274 +47,274 @@ ...@@ -47,274 +47,274 @@
47 </template> 47 </template>
48 48
49 <script> 49 <script>
50 import { mapGetters } from "vuex"; 50 import { mapGetters } from "vuex";
51 import { getFirstDayOfSeason, timeFormat } from "@/utils/operation"; 51 import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
52 import business from "@/api/business"; 52 import business from "@/api/business";
53 export default { 53 export default {
54 name: "jktj", 54 name: "jktj",
55 data () { 55 data () {
56 return { 56 return {
57 // 开始日期限制 57 // 开始日期限制
58 pickerOptionsStart: { 58 pickerOptionsStart: {
59 disabledDate: (time) => { 59 disabledDate: (time) => {
60 if (this.form.endTime) { 60 if (this.form.endTime) {
61 return time.getTime() > new Date(this.form.endTime).getTime(); 61 return time.getTime() > new Date(this.form.endTime).getTime();
62 } 62 }
63 },
64 },
65 // 结束日期限制
66 pickerOptionsEnd: {
67 disabledDate: (time) => {
68 if (this.form.startTime) {
69 return time.getTime() < new Date(this.form.startTime).getTime();
70 }
71 },
72 }, 63 },
73 recTypeArr: [], 64 },
74 chartData: [], 65 // 结束日期限制
75 // 搜索表单 66 pickerOptionsEnd: {
76 form: { 67 disabledDate: (time) => {
77 startTime: getFirstDayOfSeason(), 68 if (this.form.startTime) {
78 endTime: timeFormat(new Date(), true), 69 return time.getTime() < new Date(this.form.startTime).getTime();
79 qxdm: "", 70 }
80 }, 71 },
81 interval: 50
82 };
83 },
84 mounted () {
85 // 查询成功率
86 this.getSuucessRate();
87 },
88 computed: {
89 ...mapGetters(["dicData"]),
90 },
91 methods: {
92 endTimeChange (val) {
93 this.form.endTime = timeFormat(new Date(val), true)
94 }, 72 },
95 async getSuucessRate () { 73 recTypeArr: [],
96 this.recTypeArr = []; 74 chartData: [],
97 this.chartData = []; 75 // 搜索表单
98 let { result: res } = await business.getSuucessRate( 76 form: {
99 this.form.startTime, 77 startTime: getFirstDayOfSeason(),
100 this.form.endTime, 78 endTime: timeFormat(new Date(), true),
101 this.form.qxdm 79 qxdm: "",
102 ); 80 },
103 this.chartData = res; 81 interval: 50
82 };
83 },
84 mounted () {
85 // 查询成功率
86 this.getSuucessRate();
87 },
88 computed: {
89 ...mapGetters(["dicData"]),
90 },
91 methods: {
92 endTimeChange (val) {
93 this.form.endTime = timeFormat(new Date(val), true)
94 },
95 async getSuucessRate () {
96 this.recTypeArr = [];
97 this.chartData = [];
98 let { result: res } = await business.getSuucessRate(
99 this.form.startTime,
100 this.form.endTime,
101 this.form.qxdm
102 );
103 this.chartData = res;
104 104
105 let maxData = Math.max.apply(Math, this.chartData.map(item => { return item.failure })) 105 let maxData = Math.max.apply(Math, this.chartData.map(item => { return item.failure }))
106 this.interval = Math.ceil(maxData / 10) 106 this.interval = Math.ceil(maxData / 10)
107 //行政区代码过滤 107 //行政区代码过滤
108 res.length > 0 && 108 res.length > 0 &&
109 res.forEach((item) => { 109 res.forEach((item) => {
110 this.recTypeArr.push(item.recTypeName); 110 this.recTypeArr.push(item.recTypeName);
111 });
112 this.$nextTick(() => {
113 // 初始化图表
114 this.chartData.length && this.echartInit();
115 }); 111 });
116 }, 112 this.$nextTick(() => {
117 // 重置 113 // 初始化图表
118 resetForm () { 114 this.chartData.length && this.echartInit();
119 this.form = { 115 });
120 startTime: getFirstDayOfSeason(), 116 },
121 endTime: timeFormat(new Date(), true), 117 // 重置
122 qxdm: "", 118 resetForm () {
123 }; 119 this.form = {
124 this.getSuucessRate(); 120 startTime: getFirstDayOfSeason(),
125 }, 121 endTime: timeFormat(new Date(), true),
126 echartInit () { 122 qxdm: "",
127 let _this = this; 123 };
128 // 基于准备好的dom,初始化echarts实例 124 this.getSuucessRate();
129 let myChart = this.$echarts.init(document.getElementById("myChart")); 125 },
130 // 绘制图表 126 echartInit () {
131 myChart.setOption({ 127 let _this = this;
132 color: ["#13E5FF", "#C99E68", "#E873B2", "#ffaf48"], 128 // 基于准备好的dom,初始化echarts实例
133 tooltip: { 129 let myChart = this.$echarts.init(document.getElementById("myChart"));
134 trigger: "axis", 130 // 绘制图表
135 formatter: '{b}<br/>{a0}:{c0}个<br/>{a1}:{c1}个<br/>{a2}:{c2}%', 131 myChart.setOption({
136 axisPointer: { 132 color: ["#13E5FF", "#C99E68", "#E873B2", "#ffaf48"],
137 type: "cross", 133 tooltip: {
138 crossStyle: { 134 trigger: "axis",
139 color: "#fff", 135 formatter: '{b}<br/>{a0}:{c0}个<br/>{a1}:{c1}个<br/>{a2}:{c2}%',
140 }, 136 axisPointer: {
141 }, 137 type: "cross",
142 }, 138 crossStyle: {
143 legend: {
144 data: ["成功", "失败", "成功率"],
145 top: '16',
146 textStyle: {
147 show: true,
148 color: "#fff", 139 color: "#fff",
149 fontSize: "16",
150 }, 140 },
151 }, 141 },
152 label: { 142 },
153 color: 'inherit', 143 legend: {
144 data: ["成功", "失败", "成功率"],
145 top: '16',
146 textStyle: {
147 show: true,
148 color: "#fff",
149 fontSize: "16",
154 }, 150 },
155 xAxis: [ 151 },
156 { 152 label: {
157 type: "category", 153 color: 'inherit',
158 data: _this.recTypeArr, 154 },
159 axisPointer: { 155 xAxis: [
160 type: "shadow", 156 {
157 type: "category",
158 data: _this.recTypeArr,
159 axisPointer: {
160 type: "shadow",
161 },
162 axisLabel: {
163 textStyle: {
164 show: true,
165 color: "#fff",
166 fontSize: "16",
161 }, 167 },
162 axisLabel: { 168 formatter: function (val) {
163 textStyle: { 169 let c = document.createElement("canvas");
164 show: true, 170 const ctx = c.getContext("2d");
165 color: "#fff", 171 const arr = val.split("");
166 fontSize: "16", 172 arr
167 }, 173 .map((item) => ctx.measureText(item).width)
168 formatter: function (val) { 174 .reduce((pre, next, index) => {
169 let c = document.createElement("canvas"); 175 const nLen = pre + next;
170 const ctx = c.getContext("2d"); 176 if (nLen > 40) {
171 const arr = val.split(""); 177 arr[index - 1] += "...";
172 arr 178 return next;
173 .map((item) => ctx.measureText(item).width) 179 } else {
174 .reduce((pre, next, index) => { 180 return nLen;
175 const nLen = pre + next; 181 }
176 if (nLen > 40) {
177 arr[index - 1] += "...";
178 return next;
179 } else {
180 return nLen;
181 }
182 });
183 c = null;
184 let ind = arr.findIndex((i) => {
185 return i.indexOf("...") > -1;
186 }); 182 });
187 let newArr = ind > 0 ? arr.splice(0, ind + 1) : arr; 183 c = null;
188 return newArr.join(""); 184 let ind = arr.findIndex((i) => {
189 }, 185 return i.indexOf("...") > -1;
186 });
187 let newArr = ind > 0 ? arr.splice(0, ind + 1) : arr;
188 return newArr.join("");
190 }, 189 },
191 }, 190 },
192 ], 191 },
193 yAxis: [ 192 ],
194 { 193 yAxis: [
195 type: "value", 194 {
196 name: "数量/个", 195 type: "value",
197 nameTextStyle: { 196 name: "数量/个",
197 nameTextStyle: {
198 color: "#fff",
199 fontSize: "16",
200 },
201 // interval: this.interval,
202 axisLabel: {
203 formatter: "{value}",
204 textStyle: {
205 show: true,
198 color: "#fff", 206 color: "#fff",
199 fontSize: "16", 207 fontSize: "16",
200 }, 208 },
201 // interval: this.interval,
202 axisLabel: {
203 formatter: "{value}",
204 textStyle: {
205 show: true,
206 color: "#fff",
207 fontSize: "16",
208 },
209 },
210 }, 209 },
211 { 210 },
212 type: "value", 211 {
213 name: "成功率", 212 type: "value",
214 nameTextStyle: { 213 name: "成功率",
214 nameTextStyle: {
215 color: "#fff",
216 fontSize: "16",
217 },
218 splitNumber: 2,
219 axisLabel: {
220 formatter: "{value} %",
221 textStyle: {
222 show: true,
215 color: "#fff", 223 color: "#fff",
216 fontSize: "16", 224 fontSize: "16",
217 }, 225 },
218 splitNumber: 2,
219 axisLabel: {
220 formatter: "{value} %",
221 textStyle: {
222 show: true,
223 color: "#fff",
224 fontSize: "16",
225 },
226 },
227 }, 226 },
228 ], 227 },
229 series: [ 228 ],
230 { 229 series: [
231 name: "成功", 230 {
232 type: "bar", 231 name: "成功",
233 //显示数值 232 type: "bar",
234 itemStyle: { 233 //显示数值
235 normal: { 234 itemStyle: {
236 label: { 235 normal: {
237 show: true, //开启显示 236 label: {
238 position: "top", //在上方显示 237 show: true, //开启显示
239 }, 238 position: "top", //在上方显示
240 }, 239 },
241 }, 240 },
242 barMaxWidth: '60',
243 data: this.chartData.map((item) => {
244 return item.success;
245 }),
246 }, 241 },
247 { 242 barMaxWidth: '60',
248 name: "失败", 243 data: this.chartData.map((item) => {
249 type: "bar", 244 return item.success;
250 //显示数值 245 }),
251 itemStyle: { 246 },
252 normal: { 247 {
253 label: { 248 name: "失败",
254 show: true, //开启显示 249 type: "bar",
255 position: "top", //在上方显示 250 //显示数值
256 }, 251 itemStyle: {
252 normal: {
253 label: {
254 show: true, //开启显示
255 position: "top", //在上方显示
257 }, 256 },
258 }, 257 },
259 barMaxWidth: '60',
260 data: this.chartData.map((item) => {
261 return item.failure;
262 }),
263 }, 258 },
264 { 259 barMaxWidth: '60',
265 name: "成功率", 260 data: this.chartData.map((item) => {
266 //显示数值 261 return item.failure;
267 itemStyle: { 262 }),
268 normal: { 263 },
269 label: { 264 {
270 show: true, //开启显示 265 name: "成功率",
271 position: "top", //在上方显示 266 //显示数值
272 }, 267 itemStyle: {
268 normal: {
269 label: {
270 show: true, //开启显示
271 position: "top", //在上方显示
273 }, 272 },
274 }, 273 },
275 type: "line",
276 barMaxWidth: '60',
277 yAxisIndex: 1,
278 data: this.chartData.map((item) => {
279 return item.rate;
280 }),
281 }, 274 },
282 ], 275 type: "line",
283 }); 276 barMaxWidth: '60',
284 }, 277 yAxisIndex: 1,
278 data: this.chartData.map((item) => {
279 return item.rate;
280 }),
281 },
282 ],
283 });
285 }, 284 },
286 }; 285 },
286 };
287 </script> 287 </script>
288 <style scoped lang="scss"> 288 <style scoped lang="scss">
289 .jktjDetail { 289 .jktjDetail {
290 height: 100%; 290 height: 100%;
291 display: flex; 291 display: flex;
292 flex-direction: column; 292 flex-direction: column;
293
294 .rows {
295 margin-left: 100px;
296 }
297 293
298 .center { 294 .rows {
299 line-height: 50vh; 295 margin-left: 100px;
300 text-align: center; 296 }
301 color: #b6b5b5;
302 }
303 297
304 .echarts-box { 298 .center {
305 display: flex; 299 line-height: 50vh;
306 justify-content: center; 300 text-align: center;
307 height: 500px; 301 color: #b6b5b5;
302 }
308 303
309 .chart { 304 .echarts-box {
310 width: 100%; 305 display: flex;
311 height: 100%; 306 justify-content: center;
312 } 307 height: 500px;
313 }
314 308
315 .form-clues-content { 309 .chart {
316 flex: 1; 310 width: 100%;
317 height: 100%; 311 height: 100%;
318 } 312 }
319 } 313 }
314
315 .form-clues-content {
316 flex: 1;
317 height: 100%;
318 }
319 }
320 </style> 320 </style>
......
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
4 <!-- 头部搜索 --> 4 <!-- 头部搜索 -->
5 <div class="from-clues-header"> 5 <div class="from-clues-header">
6 <el-form ref="form" :model="form" label-width="100px"> 6 <el-form ref="form" :model="form" label-width="100px">
7 <el-form-item> 7 <el-form-item v-if="BASE_API.THEME == 'jg'">
8 <Breadcrumb /> 8 <Breadcrumb />
9 </el-form-item> 9 </el-form-item>
10 <el-row> 10 <el-row>
11 <el-col :span="4"> 11 <el-col :span="4">
12 <el-form-item label="行政区"> 12 <el-form-item label="行政区" class="d-flex">
13 <el-select v-model="form.qxdm" class="width100" clearable placeholder="行政区"> 13 <el-select v-model="form.qxdm" class="width100" clearable placeholder="行政区">
14 <el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> 14 <el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
15 </el-option> 15 </el-option>
...@@ -17,14 +17,14 @@ ...@@ -17,14 +17,14 @@
17 </el-form-item> 17 </el-form-item>
18 </el-col> 18 </el-col>
19 <el-col :span="4"> 19 <el-col :span="4">
20 <el-form-item label="开始日期"> 20 <el-form-item label="开始日期" class="d-flex">
21 <el-date-picker class="width100" :clearable="false" type="date" placeholder="开始日期" 21 <el-date-picker class="width100" :clearable="false" type="date" placeholder="开始日期"
22 :picker-options="pickerOptionsStart" v-model="form.startTime" 22 :picker-options="pickerOptionsStart" v-model="form.startTime"
23 value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> 23 value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
24 </el-form-item> 24 </el-form-item>
25 </el-col> 25 </el-col>
26 <el-col :span="4"> 26 <el-col :span="4">
27 <el-form-item label="结束日期"> 27 <el-form-item label="结束日期" class="d-flex">
28 <el-date-picker class="width100" :clearable="false" type="date" placeholder="结束日期" 28 <el-date-picker class="width100" :clearable="false" type="date" placeholder="结束日期"
29 :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss" 29 :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss"
30 @change="endTimeChange"></el-date-picker> 30 @change="endTimeChange"></el-date-picker>
...@@ -47,202 +47,202 @@ ...@@ -47,202 +47,202 @@
47 </template> 47 </template>
48 48
49 <script> 49 <script>
50 import { mapGetters } from "vuex"; 50 import { mapGetters } from "vuex";
51 import efficient from "@/api/efficient"; 51 import efficient from "@/api/efficient";
52 import { getFirstDayOfSeason, timeFormat } from "@/utils/operation"; 52 import { getFirstDayOfSeason, timeFormat } from "@/utils/operation";
53 export default { 53 export default {
54 name: "jktj", 54 name: "jktj",
55 data () { 55 data () {
56 return { 56 return {
57 // 开始日期限制 57 // 开始日期限制
58 pickerOptionsStart: { 58 pickerOptionsStart: {
59 disabledDate: (time) => { 59 disabledDate: (time) => {
60 if (this.form.endTime) { 60 if (this.form.endTime) {
61 return time.getTime() > new Date(this.form.endTime).getTime(); 61 return time.getTime() > new Date(this.form.endTime).getTime();
62 } 62 }
63 },
64 },
65 // 结束日期限制
66 pickerOptionsEnd: {
67 disabledDate: (time) => {
68 if (this.form.startTime) {
69 return time.getTime() < new Date(this.form.startTime).getTime();
70 }
71 },
72 }, 63 },
73 // 搜索表单 64 },
74 valueTime: "", 65 // 结束日期限制
75 // 搜索表单 66 pickerOptionsEnd: {
76 form: { 67 disabledDate: (time) => {
77 startTime: getFirstDayOfSeason(), 68 if (this.form.startTime) {
78 endTime: timeFormat(new Date(), true), 69 return time.getTime() < new Date(this.form.startTime).getTime();
79 qxdm: "", 70 }
80 }, 71 },
81 chartData: [] 72 },
82 }; 73 // 搜索表单
74 valueTime: "",
75 // 搜索表单
76 form: {
77 startTime: getFirstDayOfSeason(),
78 endTime: timeFormat(new Date(), true),
79 qxdm: "",
80 },
81 chartData: []
82 };
83 },
84 mounted () {
85 // 查询业务量
86 this.getProcessCounts();
87 },
88 computed: {
89 ...mapGetters(["dicData"]),
90 },
91 methods: {
92 endTimeChange (val) {
93 this.form.endTime = timeFormat(new Date(val), true)
83 }, 94 },
84 mounted () { 95 async getProcessCounts () {
85 // 查询业务量 96 this.chartData = [];
86 this.getProcessCounts(); 97 let { result: res } = await efficient.getProcessCounts(
98 this.form.startTime,
99 this.form.endTime,
100 this.form.qxdm
101 );
102 //获取图表配置项需要的数据
103 this.chartData = res;
104 this.$nextTick(() => {
105 // 初始化图表
106 this.chartData.length && this.echartInit(this.chartData)
107 });
108
87 }, 109 },
88 computed: { 110 // 重置
89 ...mapGetters(["dicData"]), 111 resetForm () {
112 this.form = {
113 startTime: getFirstDayOfSeason(),
114 endTime: timeFormat(new Date(), true),
115 qxdm: ""
116 };
117 this.getProcessCounts();
90 }, 118 },
91 methods: { 119 //图表渲染
92 endTimeChange (val) { 120 echartInit (chartArr) {
93 this.form.endTime = timeFormat(new Date(val), true) 121 // 基于准备好的dom,初始化echarts实例
94 }, 122 let myChart = this.$echarts.init(document.getElementById("myChart"));
95 async getProcessCounts () { 123 // 绘制图表
96 this.chartData = []; 124 myChart.setOption({
97 let { result: res } = await efficient.getProcessCounts( 125 color: ["#13E5FF"],
98 this.form.startTime, 126 tooltip: {
99 this.form.endTime, 127 show: true,
100 this.form.qxdm 128 trigger: "axis",
101 ); 129 textStyle: {
102 //获取图表配置项需要的数据 130 fontSize: 16, // 字体大小
103 this.chartData = res;
104 this.$nextTick(() => {
105 // 初始化图表
106 this.chartData.length && this.echartInit(this.chartData)
107 });
108
109 },
110 // 重置
111 resetForm () {
112 this.form = {
113 startTime: getFirstDayOfSeason(),
114 endTime: timeFormat(new Date(), true),
115 qxdm: ""
116 };
117 this.getProcessCounts();
118 },
119 //图表渲染
120 echartInit (chartArr) {
121 // 基于准备好的dom,初始化echarts实例
122 let myChart = this.$echarts.init(document.getElementById("myChart"));
123 // 绘制图表
124 myChart.setOption({
125 color: ["#13E5FF"],
126 tooltip: {
127 show: true,
128 trigger: "axis",
129 textStyle: {
130 fontSize: 16, // 字体大小
131 },
132 },
133 grid: {
134 top: 120,
135 bottom: 100,
136 },
137 label: {
138 color: 'inherit',
139 }, 131 },
140 xAxis: [ 132 },
141 { 133 grid: {
142 type: "category", 134 top: 120,
143 data: chartArr.map(item => item.recTypeName), 135 bottom: 100,
144 axisLabel: { 136 },
145 interval: 0, 137 label: {
146 rotate: 40, 138 color: 'inherit',
147 formatter: function (val) { 139 },
148 let c = document.createElement("canvas"); 140 xAxis: [
149 const ctx = c.getContext("2d"); 141 {
150 const arr = val.split(""); 142 type: "category",
151 arr 143 data: chartArr.map(item => item.recTypeName),
152 .map((item) => ctx.measureText(item).width) 144 axisLabel: {
153 .reduce((pre, next, index) => { 145 interval: 0,
154 const nLen = pre + next; 146 rotate: 40,
155 if (nLen > 60) { 147 formatter: function (val) {
156 arr[index - 1] += "..."; 148 let c = document.createElement("canvas");
157 return next; 149 const ctx = c.getContext("2d");
158 } else { 150 const arr = val.split("");
159 return nLen; 151 arr
160 } 152 .map((item) => ctx.measureText(item).width)
161 }); 153 .reduce((pre, next, index) => {
162 c = null; 154 const nLen = pre + next;
163 let ind = arr.findIndex((i) => { 155 if (nLen > 60) {
164 return i.indexOf("...") > -1; 156 arr[index - 1] += "...";
157 return next;
158 } else {
159 return nLen;
160 }
165 }); 161 });
166 let newArr = ind > 0 ? arr.splice(0, ind + 1) : arr; 162 c = null;
167 return newArr.join(""); 163 let ind = arr.findIndex((i) => {
168 }, 164 return i.indexOf("...") > -1;
169 textStyle: { 165 });
170 show: true, 166 let newArr = ind > 0 ? arr.splice(0, ind + 1) : arr;
171 color: "#fff", 167 return newArr.join("");
172 fontSize: "16",
173 },
174 }, 168 },
175 }, 169 textStyle: {
176 ], 170 show: true,
177 yAxis: [
178 {
179 type: "value",
180 name: "数量/个",
181 nameTextStyle: {
182 color: "#fff", 171 color: "#fff",
183 fontSize: "16", 172 fontSize: "16",
184 }, 173 },
185 axisLabel: { 174 },
186 textStyle: { 175 },
187 show: true, 176 ],
188 color: "#fff", 177 yAxis: [
189 fontSize: "16", 178 {
190 }, 179 type: "value",
180 name: "数量/个",
181 nameTextStyle: {
182 color: "#fff",
183 fontSize: "16",
184 },
185 axisLabel: {
186 textStyle: {
187 show: true,
188 color: "#fff",
189 fontSize: "16",
191 }, 190 },
192 }, 191 },
193 ], 192 },
193 ],
194 194
195 series: [ 195 series: [
196 { 196 {
197 type: "bar", 197 type: "bar",
198 //显示数值 198 //显示数值
199 itemStyle: { 199 itemStyle: {
200 normal: { 200 normal: {
201 label: { 201 label: {
202 show: true, //开启显示 202 show: true, //开启显示
203 position: "top", //在上方显示 203 position: "top", //在上方显示
204 },
205 }, 204 },
206 }, 205 },
207 barMaxWidth: '60',
208 data: chartArr.map(item => item.counts),
209 }, 206 },
210 ], 207 barMaxWidth: '60',
211 }); 208 data: chartArr.map(item => item.counts),
212 }, 209 },
210 ],
211 });
213 }, 212 },
214 }; 213 },
214 };
215 </script> 215 </script>
216 <style scoped lang="scss"> 216 <style scoped lang="scss">
217 .jktjDetail { 217 .jktjDetail {
218 height: 100%; 218 height: 100%;
219 display: flex; 219 display: flex;
220 flex-direction: column; 220 flex-direction: column;
221
222 .rows {
223 margin-left: 100px;
224 }
225 221
226 .center { 222 .rows {
227 line-height: 50vh; 223 margin-left: 100px;
228 text-align: center; 224 }
229 color: #b6b5b5;
230 }
231 225
232 .echarts-box { 226 .center {
233 display: flex; 227 line-height: 50vh;
234 justify-content: center; 228 text-align: center;
235 height: 500px; 229 color: #b6b5b5;
230 }
236 231
237 .chart { 232 .echarts-box {
238 width: 100%; 233 display: flex;
239 height: 100%; 234 justify-content: center;
240 } 235 height: 500px;
241 }
242 236
243 .form-clues-content { 237 .chart {
244 flex: 1; 238 width: 100%;
245 height: 100%; 239 height: 100%;
246 } 240 }
247 } 241 }
242
243 .form-clues-content {
244 flex: 1;
245 height: 100%;
246 }
247 }
248 </style> 248 </style>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
4 <!-- 头部搜索 --> 4 <!-- 头部搜索 -->
5 <div class="from-clues-header"> 5 <div class="from-clues-header">
6 <el-form ref="ruleForm" :model="form" label-width="100px"> 6 <el-form ref="ruleForm" :model="form" label-width="100px">
7 <el-form-item v-if="BASE_API.THEME=='jg'"> 7 <el-form-item v-if="BASE_API.THEME == 'jg'">
8 <Breadcrumb /> 8 <Breadcrumb />
9 </el-form-item> 9 </el-form-item>
10 <el-row class="mb-5"> 10 <el-row class="mb-5">
......
1 /deep/.el-table--border th.el-table__cell {
2 border-bottom: 1px solid #458ACF !important;
3 }
4
5 /deep/.el-table--border .el-table__cell {
6 border-right: 1px solid #458ACF !important;
7 }
8
9 /deep/.el-table thead.is-group th.el-table__cell { 1 /deep/.el-table thead.is-group th.el-table__cell {
10 background-color: transparent !important; 2 background-color: transparent !important;
11 } 3 }
...@@ -17,9 +9,4 @@ ...@@ -17,9 +9,4 @@
17 9
18 .export-excel-wrapper { 10 .export-excel-wrapper {
19 display: inline-block; 11 display: inline-block;
20 }
21
22 /deep/.el-table--group,
23 .el-table--border {
24 border: 1px solid #458ACF !important;
25 } 12 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
4 <!-- 头部搜索 --> 4 <!-- 头部搜索 -->
5 <div class="from-clues-header"> 5 <div class="from-clues-header">
6 <el-form ref="ruleForm" :model="form" label-width="100px"> 6 <el-form ref="ruleForm" :model="form" label-width="100px">
7 <el-form-item> 7 <el-form-item v-if="BASE_API.THEME == 'jg'">
8 <Breadcrumb /> 8 <Breadcrumb />
9 </el-form-item> 9 </el-form-item>
10 <el-row class="mb-5"> 10 <el-row class="mb-5">
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
32 </el-form> 32 </el-form>
33 </div> 33 </div>
34 <!-- 列表区域 --> 34 <!-- 列表区域 -->
35 <div class="from-clues-content"> 35 <div class="from-clues-content complex-header">
36 <lb-table ref="table" :header-cell-style="headerStyle1" :calcHeight="200" :pagination="false" 36 <lb-table ref="table" :header-cell-style="headerStyle1" :calcHeight="200" :pagination="false"
37 :column="tableData.columns" :data="tableData.data"> 37 :column="tableData.columns" :data="tableData.data">
38 </lb-table> 38 </lb-table>
...@@ -171,6 +171,7 @@ export default { ...@@ -171,6 +171,7 @@ export default {
171 </script> 171 </script>
172 <style scoped lang="scss"> 172 <style scoped lang="scss">
173 @import "../css/index.scss"; 173 @import "../css/index.scss";
174
174 /deep/th.el-table__cell { 175 /deep/th.el-table__cell {
175 height: 0 !important; 176 height: 0 !important;
176 } 177 }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
4 <!-- 头部搜索 --> 4 <!-- 头部搜索 -->
5 <div class="from-clues-header"> 5 <div class="from-clues-header">
6 <el-form ref="ruleForm" :model="form" label-width="100px"> 6 <el-form ref="ruleForm" :model="form" label-width="100px">
7 <el-form-item> 7 <el-form-item v-if="BASE_API.THEME == 'jg'">
8 <Breadcrumb /> 8 <Breadcrumb />
9 </el-form-item> 9 </el-form-item>
10 <el-row class="mb-5"> 10 <el-row class="mb-5">
...@@ -33,10 +33,9 @@ ...@@ -33,10 +33,9 @@
33 </el-form> 33 </el-form>
34 </div> 34 </div>
35 <!-- 列表区域 --> 35 <!-- 列表区域 -->
36 <div class="from-clues-content"> 36 <div class="from-clues-content complex-header">
37 <lb-table ref="table" :pagination="false" :calcHeight="200" :column="tableData.columns" :data="tableData.data"> 37 <lb-table ref="table" :pagination="false" :calcHeight="200" :column="tableData.columns" :data="tableData.data">
38 </lb-table> 38 </lb-table>
39
40 <down-lb-table ref="table" v-show="false" :id="'mytable'" :downExcel="true" :pagination="false" 39 <down-lb-table ref="table" v-show="false" :id="'mytable'" :downExcel="true" :pagination="false"
41 :column="tableData.columns" :data="tableData.data" :downTitle="downTitle"> 40 :column="tableData.columns" :data="tableData.data" :downTitle="downTitle">
42 </down-lb-table> 41 </down-lb-table>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 * @Author: yangwei 2 * @Author: yangwei
3 * @Date: 2023-02-17 16:32:50 3 * @Date: 2023-02-17 16:32:50
4 * @LastEditors: Please set LastEditors 4 * @LastEditors: Please set LastEditors
5 * @LastEditTime: 2023-03-15 10:42:21 5 * @LastEditTime: 2023-03-27 14:58:51
6 * @FilePath: \bdcjg-web\src\views\statistics\registerBookQuality\index.vue 6 * @FilePath: \bdcjg-web\src\views\statistics\registerBookQuality\index.vue
7 * @Description: 7 * @Description:
8 * 8 *
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
14 <!-- 头部搜索 --> 14 <!-- 头部搜索 -->
15 <div class="from-clues-header"> 15 <div class="from-clues-header">
16 <el-form ref="ruleForm" :model="form" label-width="100px"> 16 <el-form ref="ruleForm" :model="form" label-width="100px">
17 <el-form-item> 17 <el-form-item v-if="BASE_API.THEME == 'jg'">
18 <Breadcrumb /> 18 <Breadcrumb />
19 </el-form-item> 19 </el-form-item>
20 <el-row class="mb-5"> 20 <el-row class="mb-5">
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
42 </el-form> 42 </el-form>
43 </div> 43 </div>
44 <!-- 列表区域 --> 44 <!-- 列表区域 -->
45 <div class="from-clues-content"> 45 <div class="from-clues-content complex-header">
46 <lb-table ref="table" :pagination="false" :border="true" :calcHeight="200" :header-cell-style="headerStyle" 46 <lb-table ref="table" :pagination="false" :border="true" :calcHeight="200" :header-cell-style="headerStyle"
47 :column="tableData.columns" :data="tableData.data"> 47 :column="tableData.columns" :data="tableData.data">
48 </lb-table> 48 </lb-table>
......
...@@ -42,136 +42,136 @@ ...@@ -42,136 +42,136 @@
42 </template> 42 </template>
43 43
44 <script> 44 <script>
45 import sjsbTask from '@/api/sjsbTask.js' 45 import sjsbTask from '@/api/sjsbTask.js'
46 export default { 46 export default {
47 props: { 47 props: {
48 value: { type: Boolean, default: false }, 48 value: { type: Boolean, default: false },
49 taskData: { 49 taskData: {
50 type: Object, 50 type: Object,
51 default: null 51 default: null
52 } 52 }
53 },
54 data () {
55 return {
56 myValue: this.value,
57 ruleForm: {
58 jobName: '',
59 cronExpression: '',
60 beanName: '',
61 methodName: '',
62 methodParams: '',
63 remark: ''
64 },
65 rules: {
66 jobName: [
67 { required: true, message: '任务名', trigger: 'blur' }
68 ],
69 cronExpression: [
70 { required: true, message: 'cron表达式', trigger: 'blur' }
71 ],
72 beanName: [
73 { required: true, message: '任务类名', trigger: 'blur' }
74 ],
75 methodName: [
76 { required: true, message: '任务方法名', trigger: 'blur' }
77 ]
78 },
79 message: ''
80 }
81 },
82 methods: {
83 handleSubmit () {
84 let _this = this
85 this.$refs['ruleForm'].validate(async (valid) => {
86 if (valid) {
87 if (!_this.taskData) {
88 try {
89 let res = await sjsbTask.sjsbTaskSave(_this.ruleForm)
90 if (res.code == 200) {
91 _this.loading = false
92 _this.$message({
93 message: res.message,
94 type: 'success'
95 })
96 _this.handleClose()
97 _this.$parent.featchData()
98 }
99 } catch (error) {
100 _this.message = error
101 _this.$refs.msg.messageShow()
102 }
103 } else {
104 try {
105 let res = await sjsbTask.updateCron(_this.ruleForm)
106 if (res.code == 200) {
107 _this.$message({
108 message: res.message,
109 type: 'success'
110 })
111 _this.handleClose()
112 _this.$parent.featchData()
113 }
114 } catch (error) {
115 _this.message = error
116 _this.$refs.msg.messageShow()
117 }
118 }
119 } else {
120 this.$message('请检查表单完整性')
121 return false;
122 }
123 })
124 },
125 handleClose () {
126 this.$emit("input", false);
127 }
128 },
129 watch: {
130 value (val) {
131 this.myValue = val
132 }, 53 },
133 taskData (val) { 54 data () {
134 if (val != null) { 55 return {
135 this.ruleForm = val 56 myValue: this.value,
136 } else { 57 ruleForm: {
137 this.ruleForm = {
138 jobName: '', 58 jobName: '',
139 cronExpression: '', 59 cronExpression: '',
140 beanName: '', 60 beanName: '',
141 methodName: '', 61 methodName: '',
142 methodParams: '', 62 methodParams: '',
143 remark: '' 63 remark: ''
64 },
65 rules: {
66 jobName: [
67 { required: true, message: '任务名', trigger: 'blur' }
68 ],
69 cronExpression: [
70 { required: true, message: 'cron表达式', trigger: 'blur' }
71 ],
72 beanName: [
73 { required: true, message: '任务类名', trigger: 'blur' }
74 ],
75 methodName: [
76 { required: true, message: '任务方法名', trigger: 'blur' }
77 ]
78 },
79 message: ''
80 }
81 },
82 methods: {
83 handleSubmit () {
84 let _this = this
85 this.$refs['ruleForm'].validate(async (valid) => {
86 if (valid) {
87 if (!_this.taskData) {
88 try {
89 let res = await sjsbTask.sjsbTaskSave(_this.ruleForm)
90 if (res.code == 200) {
91 _this.loading = false
92 _this.$message({
93 message: res.message,
94 type: 'success'
95 })
96 _this.handleClose()
97 _this.$parent.featchData()
98 }
99 } catch (error) {
100 _this.message = error
101 _this.$refs.msg.messageShow()
102 }
103 } else {
104 try {
105 let res = await sjsbTask.updateCron(_this.ruleForm)
106 if (res.code == 200) {
107 _this.$message({
108 message: res.message,
109 type: 'success'
110 })
111 _this.handleClose()
112 _this.$parent.featchData()
113 }
114 } catch (error) {
115 _this.message = error
116 _this.$refs.msg.messageShow()
117 }
118 }
119 } else {
120 this.$message('请检查表单完整性')
121 return false;
122 }
123 })
124 },
125 handleClose () {
126 this.$emit("input", false);
127 }
128 },
129 watch: {
130 value (val) {
131 this.myValue = val
132 },
133 taskData (val) {
134 if (val != null) {
135 this.ruleForm = val
136 } else {
137 this.ruleForm = {
138 jobName: '',
139 cronExpression: '',
140 beanName: '',
141 methodName: '',
142 methodParams: '',
143 remark: ''
144 }
144 } 145 }
145 } 146 }
146 } 147 }
147 } 148 }
148 }
149 </script> 149 </script>
150 <style rel="stylesheet/scss" lang="scss" scoped> 150 <style rel="stylesheet/scss" lang="scss" scoped>
151 /deep/.dialogBox .dialog_title { 151 // /deep/.dialogBox .dialog_title {
152 margin-left: 5px !important; 152 // margin-left: 5px !important;
153 } 153 // }
154 154
155 /deep/.el-dialog__headerbtn { 155 // /deep/.el-dialog__headerbtn {
156 margin-top: -12px; 156 // margin-top: -12px;
157 } 157 // }
158 158
159 .editDialogBox-box { 159 // .editDialogBox-box {
160 margin: 14px 18px 30px 18px !important 160 // margin: 14px 18px 30px 18px !important
161 } 161 // }
162 162
163 /deep/.el-form-item__label { 163 // /deep/.el-form-item__label {
164 color: #fff; 164 // color: #fff;
165 } 165 // }
166 166
167 /deep/.el-form-item { 167 // /deep/.el-form-item {
168 color: #fff; 168 // color: #fff;
169 margin-bottom: 10px; 169 // margin-bottom: 10px;
170 } 170 // }
171 171
172 /deep/ .el-input__inner { 172 // /deep/ .el-input__inner {
173 background-color: transparent; 173 // background-color: transparent;
174 border: 1px solid #458ACF; 174 // border: 1px solid #458ACF;
175 } 175 // }
176 </style> 176 </style>
177 177
......
...@@ -25,372 +25,337 @@ ...@@ -25,372 +25,337 @@
25 </template> 25 </template>
26 26
27 <script> 27 <script>
28 import { 28 import {
29 getUuid, 29 getUuid,
30 judgeSort, 30 judgeSort,
31 realMove, 31 realMove,
32 findParents, 32 findParents,
33 removeTreeListItem, 33 removeTreeListItem,
34 } from "@/utils/operation"; 34 } from "@/utils/operation";
35 import { editDictNode, getChildDictList } from "@/api/dict"; 35 import { editDictNode, getChildDictList } from "@/api/dict";
36 export default { 36 export default {
37 props: { 37 props: {
38 value: { type: Boolean, default: false }, 38 value: { type: Boolean, default: false },
39 details: { 39 details: {
40 type: Object, 40 type: Object,
41 default: {}, 41 default: {},
42 },
43 },
44 data () {
45 return {
46 key: 0,
47 myValue: this.value,
48 keyList: [],
49 ruleForm: {
50 DCODE: "",
51 DNAME: "",
52 }, 42 },
53 column: [], 43 },
54 columns: [ 44 data () {
55 { 45 return {
56 width: "70", 46 key: 0,
57 renderHeader: (h, scope) => { 47 myValue: this.value,
58 return ( 48 keyList: [],
59 <div> 49 ruleForm: {
60 {this.details.ISENABLE === "0" ? ( 50 DCODE: "",
61 <span>序号</span> 51 DNAME: "",
62 ) : (
63 <i
64 class="el-icon-plus"
65 onClick={() => {
66 this.handleAdd();
67 }}
68 style="cursor:pointer;color:#409EFF"
69 ></i>
70 )}
71 </div>
72 );
73 },
74 render: (h, scope) => {
75 return <span>{scope.row.index}</span>;
76 },
77 }, 52 },
78 { 53 column: [],
79 prop: "DCODE", 54 columns: [
80 width: "100", 55 {
81 label: "字典项编码", 56 width: "70",
82 render: (h, scope) => { 57 renderHeader: (h, scope) => {
83 return ( 58 return (
84 <div> 59 <div>
85 <el-input 60 {this.details.ISENABLE === "0" ? (
86 placeholder="字典项编码" 61 <span>序号</span>
87 v-show={scope.row.codeShow} 62 ) : (
88 v-fo 63 <i
89 value={scope.row[scope.column.property]} 64 class="el-icon-plus"
90 onFocus={() => { 65 onClick={() => {
91 this.itemShowFalse(); 66 this.handleAdd();
92 scope.row.codeShow = true; 67 }}
93 }} 68 style="cursor:pointer;color:#409EFF"
94 onInput={(val) => { 69 ></i>
95 scope.row[scope.column.property] = val; 70 )}
96 this.itemShowFalse(); 71 </div>
97 scope.row.codeShow = true; 72 );
98 }} 73 },
99 maxlength="8" 74 render: (h, scope) => {
100 ></el-input> 75 return <span>{scope.row.index}</span>;
76 },
77 },
78 {
79 prop: "DCODE",
80 width: "100",
81 label: "字典项编码",
82 render: (h, scope) => {
83 return (
84 <div>
85 <el-input
86 placeholder="字典项编码"
87 v-show={scope.row.codeShow}
88 v-fo
89 value={scope.row[scope.column.property]}
90 onFocus={() => {
91 this.itemShowFalse();
92 scope.row.codeShow = true;
93 }}
94 onInput={(val) => {
95 scope.row[scope.column.property] = val;
96 this.itemShowFalse();
97 scope.row.codeShow = true;
98 }}
99 maxlength="8"
100 ></el-input>
101 101
102 <el-input 102 <el-input
103 placeholder="字典项编码" 103 placeholder="字典项编码"
104 v-show={!scope.row.codeShow} 104 v-show={!scope.row.codeShow}
105 value={scope.row[scope.column.property]} 105 value={scope.row[scope.column.property]}
106 onFocus={() => { 106 onFocus={() => {
107 this.itemShowFalse(); 107 this.itemShowFalse();
108 scope.row.codeShow = true; 108 scope.row.codeShow = true;
109 }} 109 }}
110 onInput={(val) => { 110 onInput={(val) => {
111 scope.row[scope.column.property] = val; 111 scope.row[scope.column.property] = val;
112 this.itemShowFalse(); 112 this.itemShowFalse();
113 scope.row.codeShow = true; 113 scope.row.codeShow = true;
114 }} 114 }}
115 maxlength="8" 115 maxlength="8"
116 ></el-input> 116 ></el-input>
117 </div> 117 </div>
118 ); 118 );
119 },
119 }, 120 },
120 }, 121 {
121 { 122 prop: "DNAME",
122 prop: "DNAME", 123 label: "字典项名称",
123 label: "字典项名称", 124 render: (h, scope) => {
124 render: (h, scope) => { 125 return (
125 return ( 126 <div>
126 <div> 127 <el-input
127 <el-input 128 placeholder="字典项编码"
128 placeholder="字典项编码" 129 v-show={scope.row.nameShow}
129 v-show={scope.row.nameShow} 130 v-fo
130 v-fo 131 value={scope.row[scope.column.property]}
131 value={scope.row[scope.column.property]} 132 onFocus={() => {
132 onFocus={() => { 133 this.itemShowFalse();
133 this.itemShowFalse(); 134 scope.row.nameShow = true;
134 scope.row.nameShow = true; 135 }}
135 }} 136 onInput={(val) => {
136 onInput={(val) => { 137 scope.row[scope.column.property] = val;
137 scope.row[scope.column.property] = val; 138 this.itemShowFalse();
138 this.itemShowFalse(); 139 scope.row.codeShow = true;
139 scope.row.codeShow = true; 140 }}
140 }} 141 ></el-input>
141 ></el-input>
142 142
143 <el-input 143 <el-input
144 placeholder="字典项名称" 144 placeholder="字典项名称"
145 v-show={!scope.row.nameShow} 145 v-show={!scope.row.nameShow}
146 value={scope.row[scope.column.property]} 146 value={scope.row[scope.column.property]}
147 onFocus={() => { 147 onFocus={() => {
148 this.itemShowFalse(); 148 this.itemShowFalse();
149 scope.row.nameShow = true; 149 scope.row.nameShow = true;
150 }} 150 }}
151 onInput={(val) => { 151 onInput={(val) => {
152 scope.row[scope.column.property] = val; 152 scope.row[scope.column.property] = val;
153 this.itemShowFalse(); 153 this.itemShowFalse();
154 scope.row.codeShow = true; 154 scope.row.codeShow = true;
155 }} 155 }}
156 ></el-input> 156 ></el-input>
157 </div> 157 </div>
158 ); 158 );
159 },
159 }, 160 },
160 }, 161 {
161 { 162 width: "130",
162 width: "130", 163 label: "移动",
163 label: "移动", 164 render: (h, scope) => {
164 render: (h, scope) => { 165 return (
165 return ( 166 <div>
166 <div> 167 <el-button
167 <el-button 168 type="text"
168 type="text" 169 disabled={scope.row.isTop}
169 disabled={scope.row.isTop} 170 onClick={() => {
170 onClick={() => { 171 this.moveUpward(scope.$index, scope.row);
171 this.moveUpward(scope.$index, scope.row); 172 }}
172 }} 173 >
173 > 174 上移
174 上移 175 </el-button>
175 </el-button> 176 <el-button
176 <el-button 177 type="text"
177 type="text" 178 disabled={scope.row.isBottom}
178 disabled={scope.row.isBottom} 179 onClick={() => {
179 onClick={() => { 180 this.moveDown(scope.$index, scope.row);
180 this.moveDown(scope.$index, scope.row); 181 }}
181 }} 182 >
182 > 183 下移
183 下移 184 </el-button>
184 </el-button> 185 </div>
185 </div> 186 );
186 ); 187 },
187 }, 188 },
188 }, 189 {
189 { 190 width: "100",
190 width: "100", 191 label: "操作",
191 label: "操作", 192 render: (h, scope) => {
192 render: (h, scope) => { 193 return (
193 return ( 194 <div>
194 <div> 195 <el-button
195 <el-button 196 type="text"
196 type="text" 197 style="margin-right:10px"
197 style="margin-right:10px" 198 onClick={() => {
198 onClick={() => { 199 this.handleAddSubordinate(scope.row);
199 this.handleAddSubordinate(scope.row); 200 }}
200 }} 201 >
201 > 202 增加下级
202 增加下级 203 </el-button>
203 </el-button> 204 <el-button
204 <el-button 205 type="text"
205 type="text" 206 style="margin-left:0"
206 style="margin-left:0" 207 onClick={() => {
207 onClick={() => { 208 this.handleMinus(scope.$index, scope.row);
208 this.handleMinus(scope.$index, scope.row); 209 }}
209 }} 210 >
210 > 211 删除
211 删除 212 </el-button>
212 </el-button> 213 </div>
213 </div> 214 )
214 ) 215 }
215 } 216 }
216 } 217 ],
217 ], 218 tableData: []
218 tableData: [] 219 }
219 }
220 },
221 watch: {
222 value (val) {
223 this.myValue = val
224 }, 220 },
225 "details.dictid": { 221 watch: {
226 handler: function (newValue) { 222 value (val) {
227 if (!this.value) return; 223 this.myValue = val
228 getChildDictList(newValue).then((res) => { 224 },
229 this.$endLoading(); 225 "details.dictid": {
230 let { result } = res; 226 handler: function (newValue) {
231 this.tableData = result ? result : []; 227 if (!this.value) return;
232 this.tableData.forEach((item, index) => { 228 getChildDictList(newValue).then((res) => {
233 item.index = index + 1; 229 this.$endLoading();
230 let { result } = res;
231 this.tableData = result ? result : [];
232 this.tableData.forEach((item, index) => {
233 item.index = index + 1;
234 })
235 this.tableData = judgeSort(this.tableData)
234 }) 236 })
235 this.tableData = judgeSort(this.tableData) 237 },
236 }) 238 immediate: true
237 }, 239 },
238 immediate: true 240 details: {
239 }, 241 handler: function (newValue) {
240 details: { 242 if (newValue.ISENABLE == 2) {
241 handler: function (newValue) { 243 this.column = this.columns.slice(0, 6);
242 if (newValue.ISENABLE == 2) { 244 } else {
243 this.column = this.columns.slice(0, 6); 245 this.column = this.columns;
244 } else { 246 }
245 this.column = this.columns; 247 this.ruleForm = newValue.rowData;
246 } 248 this.addIndexes();
247 this.ruleForm = newValue.rowData; 249 this.key++;
248 this.addIndexes(); 250 },
249 this.key++; 251 deep: true,
250 }, 252 },
251 deep: true,
252 }, 253 },
253 }, 254 methods: {
254 methods: { 255 // 添加索引
255 // 添加索引 256 addIndexes (data = this.tableData, isAdd = true) {
256 addIndexes (data = this.tableData, isAdd = true) { 257 data.forEach((item, index) => {
257 data.forEach((item, index) => { 258 if (index == 0) {
258 if (index == 0) { 259 item.codeShow = true;
259 item.codeShow = true; 260 item.nameShow = false;
260 item.nameShow = false; 261 item.normcodeShow = false;
261 item.normcodeShow = false; 262 item.normnameShow = false;
262 item.normnameShow = false; 263 } else {
263 } else { 264 item.codeShow = false;
265 item.nameShow = false;
266 item.normcodeShow = false;
267 item.normnameShow = false;
268 }
269 if (isAdd) {
270 item.index = index + 1;
271 }
272 if (item.children) {
273 this.addIndexes(item.children, false);
274 }
275 });
276 },
277 itemShowFalse () {
278 this.tableData.forEach((item, index) => {
264 item.codeShow = false; 279 item.codeShow = false;
265 item.nameShow = false; 280 item.nameShow = false;
266 item.normcodeShow = false; 281 item.normcodeShow = false;
267 item.normnameShow = false; 282 item.normnameShow = false;
283 });
284 },
285 handleMinus (index, row) {
286 removeTreeListItem(this.tableData, row.dictid, 'dictid');
287 this.tableData = judgeSort(this.tableData)
288 this.key++;
289 },
290 handleSubmit () {
291 editDictNode({
292 dictid: this.details.rowData.dictid,
293 typeid: this.details.rowData.TYPEID,
294 children: this.tableData,
295 }).then((res) => {
296 if (res.code === 200) {
297 this.$message({
298 message: "修改成功",
299 type: "success",
300 });
301 this.$emit("input", false);
302 }
303 });
304 },
305 closeDialog () {
306 this.$emit("input", false);
307 },
308 // 增加下级
309 handleAddSubordinate (row) {
310 if (!row.children) {
311 row.children = [];
268 } 312 }
269 if (isAdd) { 313 row.children.push({
270 item.index = index + 1; 314 DCODE: "",
271 } 315 DNAME: "",
272 if (item.children) { 316 ISENABLE: "1",
273 this.addIndexes(item.children, false); 317 NORMCODE: "",
274 } 318 NORMNAME: "",
275 }); 319 dictid: getUuid(32),
276 }, 320 typeid: row.typeid,
277 itemShowFalse () { 321 });
278 this.tableData.forEach((item, index) => { 322 this.keyList = [];
279 item.codeShow = false; 323 this.keyList.push(row.dictid);
280 item.nameShow = false; 324 },
281 item.normcodeShow = false; 325 // 增加
282 item.normnameShow = false; 326 handleAdd () {
283 }); 327 this.$nextTick(() => {
284 }, 328 let container = this.$el.querySelector(".el-table__body-wrapper");
285 handleMinus (index, row) { 329 container.scrollTop = container.scrollHeight;
286 removeTreeListItem(this.tableData, row.dictid, 'dictid'); 330 });
287 this.tableData = judgeSort(this.tableData) 331 this.tableData.push({
288 this.key++; 332 DCODE: "",
289 }, 333 DNAME: "",
290 handleSubmit () { 334 ISENABLE: "1",
291 editDictNode({ 335 normcode: "",
292 dictid: this.details.rowData.dictid, 336 normname: "",
293 typeid: this.details.rowData.TYPEID, 337 dictid: getUuid(32),
294 children: this.tableData, 338 typeid: this.ruleForm.typeid,
295 }).then((res) => { 339 });
296 if (res.code === 200) { 340 this.addIndexes();
297 this.$message({ 341 this.tableData = judgeSort(this.tableData)
298 message: "修改成功", 342 this.key++;
299 type: "success", 343 },
300 }); 344 // 上移下移
301 this.$emit("input", false); 345 moveUpward (index, row) {
302 } 346 realMove(row.dictid, "UP", this.tableData);
303 }); 347 let id = findParents(this.tableData, row.dictid);
304 }, 348 this.keyList = id;
305 closeDialog () { 349 this.key++;
306 this.$emit("input", false); 350 },
307 }, 351 moveDown (index, row) {
308 // 增加下级 352 realMove(row.dictid, "DOWN", this.tableData);
309 handleAddSubordinate (row) { 353 let id = findParents(this.tableData, row.dictid);
310 if (!row.children) { 354 this.keyList = id;
311 row.children = []; 355 this.key++;
312 } 356 },
313 row.children.push({
314 DCODE: "",
315 DNAME: "",
316 ISENABLE: "1",
317 NORMCODE: "",
318 NORMNAME: "",
319 dictid: getUuid(32),
320 typeid: row.typeid,
321 });
322 this.keyList = [];
323 this.keyList.push(row.dictid);
324 },
325 // 增加
326 handleAdd () {
327 this.$nextTick(() => {
328 let container = this.$el.querySelector(".el-table__body-wrapper");
329 container.scrollTop = container.scrollHeight;
330 });
331 this.tableData.push({
332 DCODE: "",
333 DNAME: "",
334 ISENABLE: "1",
335 normcode: "",
336 normname: "",
337 dictid: getUuid(32),
338 typeid: this.ruleForm.typeid,
339 });
340 this.addIndexes();
341 this.tableData = judgeSort(this.tableData)
342 this.key++;
343 },
344 // 上移下移
345 moveUpward (index, row) {
346 realMove(row.dictid, "UP", this.tableData);
347 let id = findParents(this.tableData, row.dictid);
348 this.keyList = id;
349 this.key++;
350 },
351 moveDown (index, row) {
352 realMove(row.dictid, "DOWN", this.tableData);
353 let id = findParents(this.tableData, row.dictid);
354 this.keyList = id;
355 this.key++;
356 }, 357 },
357 }, 358 };
358 };
359 </script> 359 </script>
360 <style rel="stylesheet/scss" lang="scss" scoped> 360 <style rel="stylesheet/scss" lang="scss" scoped>
361
362 /deep/.el-radio {
363 margin-right: 5px !important;
364 display: flex;
365 }
366
367 /deep/.el-radio__label {
368 display: block;
369 }
370
371 /deep/.el-form-item__label {
372 color: #fff;
373 }
374
375 /deep/.el-form-item {
376 color: #fff;
377 margin-bottom: 10px;
378 }
379
380 /deep/.el-radio-group {
381 display: flex;
382 align-items: center;
383 justify-content: center;
384 }
385
386 .editDialogBox-box {
387 margin: 14px 18px 30px 18px !important
388 }
389
390 .opacity-input {
391 /deep/ .el-input__inner {
392 background-color: transparent;
393 border: 1px solid #458ACF;
394 }
395 }
396 </style> 361 </style>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
6 <el-form-item v-if="BASE_API.THEME == 'jg'"> 6 <el-form-item v-if="BASE_API.THEME == 'jg'">
7 <Breadcrumb /> 7 <Breadcrumb />
8 </el-form-item> 8 </el-form-item>
9 <el-row :gutter="20"> 9 <el-row :gutter="20" class="mb-5">
10 <el-col :span="6"> 10 <el-col :span="6">
11 <el-form-item label="字典类型编码"> 11 <el-form-item label="字典类型编码">
12 <el-input v-model="ruleForm.dcode" @clear="queryClick" clearable placeholder="字典类型编码"></el-input> 12 <el-input v-model="ruleForm.dcode" @clear="queryClick" clearable placeholder="字典类型编码"></el-input>
...@@ -36,101 +36,101 @@ ...@@ -36,101 +36,101 @@
36 </div> 36 </div>
37 </template> 37 </template>
38 <script> 38 <script>
39 import table from "@/utils/mixin/table" 39 import table from "@/utils/mixin/table"
40 import { getQlxxDictList, refreshDictCache } from "@/api/dict.js" 40 import { getQlxxDictList, refreshDictCache } from "@/api/dict.js"
41 import { datas, sendThis } from "./dictionaries" 41 import { datas, sendThis } from "./dictionaries"
42 import editDialog from "./components/editDialog.vue" 42 import editDialog from "./components/editDialog.vue"
43 export default { 43 export default {
44 name: "djbcx", 44 name: "djbcx",
45 components: { 45 components: {
46 editDialog 46 editDialog
47 },
48 mixins: [table],
49 mounted () {
50 sendThis(this);
51 this.queryClick()
52 },
53 data () {
54 return {
55 isDialog: false,
56 details: {
57 dictid: '',
58 isenable: 1,
59 rowData: {}
60 },
61 ruleForm: {
62 dcode: '',
63 dname: ''
64 },
65 tableData: {
66 total: 0,
67 columns: datas.columns().concat([
68 {
69 label: "操作",
70 render: (h, scope) => {
71 return (
72 <el-button type="text"
73 class='successColor'
74 onClick={() => { this.editClick(scope.row, 1) }}>修改</el-button>
75 )
76 }
77 }
78 ]),
79 data: []
80 }
81 }
82 },
83 methods: {
84 // 初始化数据
85 queryClick () {
86 getQlxxDictList({ ...this.ruleForm, ...this.pageData }).then(res => {
87 let { records, total } = res.result
88 this.tableData.data = records ? records : []
89 this.tableData.total = total ? total : 0
90 })
91 }, 47 },
92 handleSearch () { 48 mixins: [table],
93 this.pageData.currentPage = 1 49 mounted () {
94 this.tableData.data = [] 50 sendThis(this);
95 this.queryClick() 51 this.queryClick()
96 }, 52 },
97 handleRefresh () { 53 data () {
98 this.$confirm('是否确认刷新', '提示', { 54 return {
99 confirmButtonText: '确定', 55 isDialog: false,
100 cancelButtonText: '取消', 56 details: {
101 type: 'warning' 57 dictid: '',
102 }).then(() => { 58 isenable: 1,
103 refreshDictCache().then(res => { 59 rowData: {}
104 if (res.code == 200) { 60 },
105 let refech = this.$store.dispatch('dict/generateDic') 61 ruleForm: {
106 this.$endLoading() 62 dcode: '',
107 refech && this.$message({ 63 dname: ''
108 message: '刷新成功', 64 },
109 type: 'success' 65 tableData: {
110 }); 66 total: 0,
111 } else { 67 columns: datas.columns().concat([
112 this.$message.error(res.message) 68 {
113 } 69 label: "操作",
70 render: (h, scope) => {
71 return (
72 <el-button type="text"
73 class='successColor'
74 onClick={() => { this.editClick(scope.row, 1) }}>修改</el-button>
75 )
76 }
77 }
78 ]),
79 data: []
80 }
81 }
82 },
83 methods: {
84 // 初始化数据
85 queryClick () {
86 getQlxxDictList({ ...this.ruleForm, ...this.pageData }).then(res => {
87 let { records, total } = res.result
88 this.tableData.data = records ? records : []
89 this.tableData.total = total ? total : 0
114 }) 90 })
115 }).catch(() => { 91 },
116 this.$message({ 92 handleSearch () {
117 type: 'info', 93 this.pageData.currentPage = 1
118 message: '取消刷新' 94 this.tableData.data = []
95 this.queryClick()
96 },
97 handleRefresh () {
98 this.$confirm('是否确认刷新', '提示', {
99 confirmButtonText: '确定',
100 cancelButtonText: '取消',
101 type: 'warning'
102 }).then(() => {
103 refreshDictCache().then(res => {
104 if (res.code == 200) {
105 let refech = this.$store.dispatch('dict/generateDic')
106 this.$endLoading()
107 refech && this.$message({
108 message: '刷新成功',
109 type: 'success'
110 });
111 } else {
112 this.$message.error(res.message)
113 }
114 })
115 }).catch(() => {
116 this.$message({
117 type: 'info',
118 message: '取消刷新'
119 });
119 }); 120 });
120 }); 121 },
121 }, 122 editClick (row, val) {
122 editClick (row, val) { 123 this.details.rowData = row
123 this.details.rowData = row 124 this.details.isenable = val
124 this.details.isenable = val 125 this.details.dictid = row.dictid
125 this.details.dictid = row.dictid 126 this.isDialog = true
126 this.isDialog = true 127 }
127 } 128 }
128 } 129 };
129 };
130 </script> 130 </script>
131 <style scoped lang="scss"> 131 <style scoped lang="scss">
132 /deep/.dialogBox .dialog_title { 132 /deep/.dialogBox .dialog_title {
133 top: 0; 133 top: 0;
134 margin-left: 5px; 134 margin-left: 5px;
135 } 135 }
136 </style> 136 </style>
......
1 <template> 1 <template>
2 <div class="content"> 2 <div class="informationbase">
3 <div class="user-info">
4 <el-form 3 <el-form
5 ref="form" 4 ref="form"
6 label-width="100px" 5 label-width="100px"
...@@ -38,7 +37,6 @@ ...@@ -38,7 +37,6 @@
38 <btn nativeType="cx" type="primary" @click="updateInfo">更新信息</btn> 37 <btn nativeType="cx" type="primary" @click="updateInfo">更新信息</btn>
39 </div> 38 </div>
40 </div> 39 </div>
41 </div>
42 </template> 40 </template>
43 41
44 <script> 42 <script>
......
1 <!-- 1 <!--
2 * @Author: xiaomiao 1158771342@qq.com 2 * @Author: xiaomiao 1158771342@qq.com
3 * @Date: 2023-03-09 20:54:28 3 * @Date: 2023-03-09 20:54:28
4 * @LastEditors: Please set LastEditors 4 * @LastEditors: xiaomiao 1158771342@qq.com
5 * @LastEditTime: 2023-03-27 09:13:22 5 * @LastEditTime: 2023-03-27 14:26:49
6 * @FilePath: \上报\bdcjg-web\src\views\system\information\index.vue 6 * @FilePath: \上报\bdcjg-web\src\views\system\information\index.vue
7 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE 7 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8 --> 8 -->
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
10 <div class="information from-clues"> 10 <div class="information from-clues">
11 <div class="from-clues-header"> 11 <div class="from-clues-header">
12 <el-form ref="ruleForm" label-width="100px"> 12 <el-form ref="ruleForm" label-width="100px">
13 <el-form-item v-if="BASE_API.THEME == 'jg'"> 13 <el-form-item v-if="BASE_API.THEME=='jg'">
14 <Breadcrumb /> 14 <Breadcrumb />
15 </el-form-item> 15 </el-form-item>
16 <el-row class="mb-5"> 16 <el-row class="mb-5">
...@@ -34,64 +34,38 @@ ...@@ -34,64 +34,38 @@
34 </div> 34 </div>
35 </template> 35 </template>
36 <script> 36 <script>
37 import "@/utils/flexible.js"; 37 import "@/utils/flexible.js";
38 import BaseSet from "./base-set.vue"; 38 import BaseSet from "./base-set.vue";
39 import PasswordEdit from "./password-edit.vue"; 39 import PasswordEdit from "./password-edit.vue";
40 export default { 40 export default {
41 components: { 41 components: {
42 BaseSet, 42 BaseSet,
43 PasswordEdit, 43 PasswordEdit,
44 },
45 data () {
46 return {
47 isshow: true,
48 };
49 },
50 computed: {
51 userData () {
52 return this.$store.state.user.userInfo;
53 }, 44 },
54 }, 45 data () {
55 watch: {}, 46 return {
56 created () { }, 47 isshow: true,
57 mounted () { }, 48 };
58 methods: {
59 information () {
60 this.isshow = true;
61 }, 49 },
62 password () { 50 computed: {
63 this.isshow = false; 51 userData () {
52 return this.$store.state.user.userInfo;
53 },
64 }, 54 },
65 }, 55 watch: {},
66 }; 56 created () { },
57 mounted () { },
58 methods: {
59 information () {
60 this.isshow = true;
61 },
62 password () {
63 this.isshow = false;
64 },
65 },
66 };
67 </script> 67 </script>
68 68
69 <style scoped lang="scss"> 69 <style scoped lang="scss">
70 @import "~@/styles/mixin.scss"; 70 @import "~@/styles/mixin.scss";
71 71 </style>
72 .information {
73 display: flex;
74 flex-direction: column;
75
76 .btnColRight {
77 margin-top: 10px;
78 display: flex;
79 justify-content: center;
80 // background-color: cadetblue;
81 height: 30px;
82 }
83
84 /deep/.content {
85 .el-input__inner {
86 background: none;
87 }
88
89 .user-info {
90 background: none;
91 }
92 }
93
94 .boxin {
95 flex: 1;
96 }
97 }</style>
......
1 <template> 1 <template>
2 <div class="content"> 2 <div class="informationpassword">
3 <div class="user-info"> 3 <el-form
4 <el-form 4 ref="form"
5 ref="form" 5 label-width="100px"
6 label-width="100px" 6 :model="form"
7 :model="form" 7 class="form-wrapper"
8 class="form-wrapper" 8 :rules="rules">
9 :rules="rules"> 9 <el-form-item label="旧密码:" prop="oldPassword">
10 <el-form-item label="旧密码:" prop="oldPassword"> 10 <el-input
11 <el-input 11 v-model="form.oldPassword"
12 v-model="form.oldPassword" 12 clearable
13 clearable 13 type="password"
14 type="password" 14 show-password />
15 show-password /> 15 </el-form-item>
16 </el-form-item> 16 <el-form-item label="新密码:" prop="newPassword">
17 <el-form-item label="新密码:" prop="newPassword"> 17 <el-input
18 <el-input 18 v-model="form.newPassword"
19 v-model="form.newPassword" 19 clearable
20 clearable 20 type="password"
21 type="password" 21 show-password />
22 show-password /> 22 </el-form-item>
23 </el-form-item> 23 <el-form-item label="确认密码:" prop="confirmPassword">
24 <el-form-item label="确认密码:" prop="confirmPassword"> 24 <el-input
25 <el-input 25 v-model="form.confirmPassword"
26 v-model="form.confirmPassword" 26 clearable
27 clearable 27 type="password"
28 type="password" 28 show-password />
29 show-password /> 29 </el-form-item>
30 </el-form-item> 30 </el-form>
31 </el-form> 31 <div class="bottom-wrapper">
32 <div class="bottom-wrapper"> 32 <btn nativeType="cx" type="primary" @click="updatePassword">确认修改</btn>
33 <btn nativeType="cx" type="primary" @click="updatePassword">确认修改</btn>
34 </div>
35 </div> 33 </div>
36 </div> 34 </div>
37 </template> 35 </template>
...@@ -110,27 +108,4 @@ ...@@ -110,27 +108,4 @@
110 </script> 108 </script>
111 109
112 <style scoped lang="scss"> 110 <style scoped lang="scss">
113 .user-info {
114 margin: 36px 200px;
115 overflow-y: auto;
116 .form-wrapper {
117 padding: 24px 120px 0px;
118 /deep/.el-form-item {
119 margin-bottom: 24px;
120 .el-form-item__label {
121 color: #ffffff;
122 }
123 .el-input .el-input__inner {
124 padding: 0 8px;
125 height: 40px;
126 line-height: 40px;
127 border: 1px solid #6bc1fc;
128 }
129 }
130 }
131 .bottom-wrapper {
132 padding: 32px 120px 24px;
133 text-align: center;
134 }
135 }
136 </style> 111 </style>
......
1 <template> 1 <template>
2 <dialogBox class="modifydialog PersonnelDialog" :isMain="true" width="40%" :title="title" @closeDialog="close" @submitForm="submitForm" 2 <dialogBox class="PersonnelDialog" :isMain="true" width="40%" :title="title" @closeDialog="close" @submitForm="submitForm"
3 v-model="myValue"> 3 v-model="myValue">
4 <div class="dialogCon"> 4 <div class="dialogCon">
5 <el-form ref="form" :model="form" :rules="rules"> 5 <el-form ref="form" :model="form" :rules="rules">
...@@ -236,35 +236,4 @@ ...@@ -236,35 +236,4 @@
236 } 236 }
237 </script> 237 </script>
238 <style scoped lang="scss"> 238 <style scoped lang="scss">
239 // .modifydialog {
240 // &-con {
241 // background: #031a46;
242 // }
243
244 // /deep/.el-dialog__header {
245 // .dialog_title {
246 // display: -webkit-box;
247 // display: -ms-flexbox;
248 // display: flex;
249 // position: relative;
250 // top: -8px;
251 // width: 28%;
252 // height: 40px;
253 // margin-left: 28px;
254 // -webkit-box-pack: center;
255 // -ms-flex-pack: center;
256 // justify-content: center;
257 // white-space: nowrap;
258
259 // b {
260 // font-size: 16px;
261 // }
262 // }
263
264 // .el-dialog__headerbtn {
265 // right: 20px !important;
266 // top: 23px !important;
267 // }
268 // }
269 // }
270 </style> 239 </style>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 <div class="timedTask from-clues"> 2 <div class="timedTask from-clues">
3 <div class="from-clues-header"> 3 <div class="from-clues-header">
4 <el-form ref="ruleForm" :model="form" label-width="100px"> 4 <el-form ref="ruleForm" :model="form" label-width="100px">
5 <el-form-item v-if="BASE_API.THEME == 'jg'"> 5 <el-form-item v-if="BASE_API.THEME=='jg'">
6 <Breadcrumb /> 6 <Breadcrumb />
7 </el-form-item> 7 </el-form-item>
8 <el-row class="mb-5"> 8 <el-row class="mb-5">
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
11 <el-input v-model.trim="form.menuName" class="width100" clearable placeholder="菜单名称"></el-input> 11 <el-input v-model.trim="form.menuName" class="width100" clearable placeholder="菜单名称"></el-input>
12 </el-form-item> 12 </el-form-item>
13 </el-col> 13 </el-col>
14 <el-col :span="3" class="btnColRight"> 14 <el-col :span="20" class="btnColRight">
15 <btn nativeType="cx" @click="searchQuery">查询</btn> 15 <btn nativeType="cx" @click="searchQuery">查询</btn>
16 <btn nativeType="cx" @click="handleAdd()">新增菜单</btn> 16 <btn nativeType="cx" @click="handleAdd()">新增菜单</btn>
17 </el-col> 17 </el-col>
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
19 </el-form> 19 </el-form>
20 </div> 20 </div>
21 <div class="from-clues-content"> 21 <div class="from-clues-content">
22 <lb-table :pagination="false" :column="tableData.columns" :calcHeight="200" :data="tablelistData" row-key="id" 22 <lb-table :pagination="false" :column="tableData.columns" :calcHeight="BASE_API.calcHeight" :data="tablelistData" row-key="id"
23 default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> 23 default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
24 24
25 </lb-table> 25 </lb-table>
......
1 <!-- 新增 & 修改角色 --> 1 <!-- 新增 & 修改角色 -->
2 <template> 2 <template>
3 <dialogBox 3 <dialogBox
4 class="modifydialog PersonnelDialog" 4 class="PersonnelDialog"
5 :title="title" 5 :title="title"
6 :width="'567px'" 6 :width="'567px'"
7 :isMain="true" 7 :isMain="true"
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
11 <el-input v-model.trim="form.rolesName" class="width100" clearable placeholder="角色名称"></el-input> 11 <el-input v-model.trim="form.rolesName" class="width100" clearable placeholder="角色名称"></el-input>
12 </el-form-item> 12 </el-form-item>
13 </el-col> 13 </el-col>
14 <el-col :span="3" class="btnColRight"> 14 <el-col :span="20" class="btnColRight">
15 <btn nativeType="cx" @click="searchQuery">查询</btn> 15 <btn nativeType="cx" @click="searchQuery">查询</btn>
16 <btn nativeType="cx" @click="handleAddEdit">增加角色</btn> 16 <btn nativeType="cx" @click="handleAddEdit">增加角色</btn>
17 </el-col> 17 </el-col>
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
19 </el-form> 19 </el-form>
20 </div> 20 </div>
21 <div class="from-clues-content"> 21 <div class="from-clues-content">
22 <lb-table :pagination="false" @size-change="handleSizeChange" :calcHeight="200" 22 <lb-table :pagination="false" @size-change="handleSizeChange" :calcHeight="BASE_API.calcHeight"
23 @p-current-change="handleCurrentChange" :column="tableData.columns" :data="listdata" :expand-row-keys="keyList" 23 @p-current-change="handleCurrentChange" :column="tableData.columns" :data="listdata" :expand-row-keys="keyList"
24 row-key="dictid"> 24 row-key="dictid">
25 </lb-table> 25 </lb-table>
......
...@@ -412,6 +412,7 @@ ...@@ -412,6 +412,7 @@
412 }; 412 };
413 </script> 413 </script>
414 <style scoped lang="scss"> 414 <style scoped lang="scss">
415 // @import "~@/styles/mixin.scss"; 415 /deep/.dialogBox .el-dialog__header {
416 // @import "~@/styles/dialogBox.scss"; 416 height: 59px !important;
417 }
417 </style> 418 </style>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
5 <el-form-item v-if="BASE_API.THEME == 'jg'"> 5 <el-form-item v-if="BASE_API.THEME == 'jg'">
6 <Breadcrumb /> 6 <Breadcrumb />
7 </el-form-item> 7 </el-form-item>
8 <el-row> 8 <el-row class="mb-5">
9 <el-col :span="6"> 9 <el-col :span="6">
10 <el-form-item label="搜索标题"> 10 <el-form-item label="搜索标题">
11 <el-input v-model="form.jobName" placeholder="标题"></el-input> 11 <el-input v-model="form.jobName" placeholder="标题"></el-input>
...@@ -251,5 +251,5 @@ export default { ...@@ -251,5 +251,5 @@ export default {
251 } 251 }
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 </style> 255 </style>
......
1 <template> 1 <template>
2 <dialogBox :title="title" :width="'867px'" class="modifydialog PersonnelDialog" @closeDialog="close" :isMain="true" @submitForm="submitForm" 2 <dialogBox :title="title" :width="'867px'" class="PersonnelDialog" @closeDialog="close" :isMain="true" @submitForm="submitForm"
3 v-model="myValue"> 3 v-model="myValue">
4 <div class="dialogCon"> 4 <div class="dialogCon">
5 <el-form ref="form" :model="form" :rules="rules"> 5 <el-form ref="form" :model="form" :rules="rules">
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
5 <el-form-item v-if="BASE_API.THEME == 'jg'"> 5 <el-form-item v-if="BASE_API.THEME == 'jg'">
6 <Breadcrumb /> 6 <Breadcrumb />
7 </el-form-item> 7 </el-form-item>
8 <el-row class="mt-10"> 8 <el-row class="mb-5">
9 <el-col :span="4"> 9 <el-col :span="4">
10 <el-form-item label="用户名" prop="loginName"> 10 <el-form-item label="用户名" prop="loginName">
11 <el-input v-model.trim="form.loginName" class="width100" clearable placeholder="用户名"></el-input> 11 <el-input v-model.trim="form.loginName" class="width100" clearable placeholder="用户名"></el-input>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
22 </el-form-item> 22 </el-form-item>
23 </el-col> 23 </el-col>
24 <!-- 操作按钮 --> 24 <!-- 操作按钮 -->
25 <el-col :span="3" class="btnColRight"> 25 <el-col :span="12" class="btnColRight">
26 <btn nativeType="cx" @click="getTableList">查询</btn> 26 <btn nativeType="cx" @click="getTableList">查询</btn>
27 <btn nativeType="cx" @click="handleAdd">添加人员</btn> 27 <btn nativeType="cx" @click="handleAdd">添加人员</btn>
28 </el-col> 28 </el-col>
...@@ -31,7 +31,8 @@ ...@@ -31,7 +31,8 @@
31 </div> 31 </div>
32 <div class="from-clues-content"> 32 <div class="from-clues-content">
33 <lb-table :pagination="false" @size-change="handleSizeChange" @p-current-change="handleCurrentChange" 33 <lb-table :pagination="false" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
34 :column="tableData.columns" :calcHeight="200" :data="tableData.data" :expand-row-keys="keyList" row-key="dictid"> 34 :column="tableData.columns" :calcHeight="BASE_API.calcHeight" :data="tableData.data" :expand-row-keys="keyList"
35 row-key="dictid">
35 </lb-table> 36 </lb-table>
36 </div> 37 </div>
37 <EditDialog ref="dialogForm" v-model="isDialog" @ok="reloadTableData" /> 38 <EditDialog ref="dialogForm" v-model="isDialog" @ok="reloadTableData" />
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 <div class="dictionary-config from-clues"> 2 <div class="dictionary-config from-clues">
3 <div class="from-clues-header"> 3 <div class="from-clues-header">
4 <el-form ref="form" :model="form" label-width="90px"> 4 <el-form ref="form" :model="form" label-width="90px">
5 <el-form-item> 5 <el-form-item v-if="BASE_API.THEME=='jg'">
6 <Breadcrumb /> 6 <Breadcrumb />
7 </el-form-item> 7 </el-form-item>
8 <el-row> 8 <el-row>
......