style:样式修改
Showing
35 changed files
with
2225 additions
and
1501 deletions
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 | @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> | ... | ... |
... | @@ -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> | ... | ... |
-
Please register or sign in to post a comment