Merge branch 'master' of http://113.200.75.45:82/monitor_v3/hg-monitor-web into master-v32-xwx
Showing
27 changed files
with
985 additions
and
141 deletions
@@ -232,11 +232,5 @@ INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, | @@ -232,11 +232,5 @@ INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, | ||
232 | INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, `docNo`, `type`, `createUser`, `createTime`, `sort`, `status`) VALUES ('FOUR_HEALTH', '0', '健康检查报告', '10005', 'FOUR_HEALTH', 'admin', '2021-10-12 19:55:13', '10005', 0); | 232 | INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, `docNo`, `type`, `createUser`, `createTime`, `sort`, `status`) VALUES ('FOUR_HEALTH', '0', '健康检查报告', '10005', 'FOUR_HEALTH', 'admin', '2021-10-12 19:55:13', '10005', 0); |
233 | INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, `docNo`, `type`, `createUser`, `createTime`, `sort`, `status`) VALUES ('FOUR_MONTHLY', '0', '月报', '10003', 'FOUR_MONTHLY', 'admin', '2021-10-12 19:55:13', '10003', 0); | 233 | INSERT INTO `inspection-report`.`b_insepectionreport_type` (`id`, `pid`, `name`, `docNo`, `type`, `createUser`, `createTime`, `sort`, `status`) VALUES ('FOUR_MONTHLY', '0', '月报', '10003', 'FOUR_MONTHLY', 'admin', '2021-10-12 19:55:13', '10003', 0); |
234 | 234 | ||
235 | --- 王涛 inspection-report | ||
236 | -alter table b_inspection_document MODIFY column fileSize varchar(50) DEFAULT NULL COMMENT '文件大小'; | ||
237 | - | ||
238 | -ALTER TABLE `inspection-report`.`b_inspection_document` | ||
239 | -ADD COLUMN `status` int(1) DEFAULT '0' COMMENT '删除状态 0 正常,1删除,默认0'; | ||
240 | - | ||
241 | -ALTER TABLE `inspection-report`.`b_insepectionreport_type` | ||
242 | -ADD COLUMN `status` int(1) DEFAULT '0' COMMENT '删除状态 0 正常,1删除,默认0'; | ||
235 | +-- 12、修改属性分组字段长度 | ||
236 | +ALTER TABLE `cloud_backend_monitor`.`b_ops_person_property` MODIFY COLUMN `groupings` VARCHAR(100) NULL COMMENT '分组'; |
@@ -61,6 +61,7 @@ loading:{ | @@ -61,6 +61,7 @@ loading:{ | ||
61 | type: Boolean, | 61 | type: Boolean, |
62 | default: false | 62 | default: false |
63 | }, | 63 | }, |
64 | + | ||
64 | -------------------------------------------------------------------- | 65 | -------------------------------------------------------------------- |
65 | columns参数说明: | 66 | columns参数说明: |
66 | // 单元绑定数据key | 67 | // 单元绑定数据key |
@@ -77,3 +78,6 @@ render:function (row){ | @@ -77,3 +78,6 @@ render:function (row){ | ||
77 | // 表格个性化展示,返回html | 78 | // 表格个性化展示,返回html |
78 | return html; | 79 | return html; |
79 | } | 80 | } |
81 | +------------------------slot-------------------------------------------- | ||
82 | +#default 内容插槽 | ||
83 | +#tools 工具栏插槽 |
@@ -60,18 +60,14 @@ | @@ -60,18 +60,14 @@ | ||
60 | } | 60 | } |
61 | return false; | 61 | return false; |
62 | } | 62 | } |
63 | - | ||
64 | - //joke add 20210506 获取密码级别 | ||
65 | - function getPwdLevel(){ | ||
66 | - admin.req({ | ||
67 | - url: common.domainName +'/api-web/sysConf/getConfByCode?code=pwd_level' | ||
68 | - , type: "get" | ||
69 | - , async: false | ||
70 | - , done: function (data) { | ||
71 | - if (data && data.object && data.success === true && data.object.ddicDesc){ | ||
72 | - var pattern = data.object.ddicDesc.split(' ')[0]; | ||
73 | - var patternTips = data.object.ddicDesc.split(' ')[1]; | ||
74 | - var last5His = passwords; | 63 | + // Start Wang 2021/11/3 10:13 密码不能修改 [https://hgkj.5upm.com/bug-view-65.html] |
64 | + /** | ||
65 | + * 表单提交处理 | ||
66 | + * | ||
67 | + * 作者: Wang | ||
68 | + * 时间:2021/11/3 10:10 | ||
69 | + */ | ||
70 | + function verifyForm(pattern, patternTips,last5His){ | ||
75 | form.render(); | 71 | form.render(); |
76 | //自定义验证 | 72 | //自定义验证 |
77 | form.verify((function(pattern, patternTips,last5His) { | 73 | form.verify((function(pattern, patternTips,last5His) { |
@@ -83,11 +79,12 @@ | @@ -83,11 +79,12 @@ | ||
83 | if (value === $('#oldPassword').val()){ | 79 | if (value === $('#oldPassword').val()){ |
84 | return '新密码不能与旧密码一致'; | 80 | return '新密码不能与旧密码一致'; |
85 | } | 81 | } |
86 | - if(!new RegExp(pattern).test(value)){ | 82 | + if(pattern && !new RegExp(pattern).test(value)){ |
87 | return patternTips; | 83 | return patternTips; |
88 | } | 84 | } |
85 | + | ||
89 | //临时增加用户组写死密码 joke add 20210508 | 86 | //临时增加用户组写死密码 joke add 20210508 |
90 | - if (checkHas(last5His,value)){ | 87 | + if (last5His && last5His.length > 0 && checkHas(last5His,value)){ |
91 | return '不能使用最近5次密码'; | 88 | return '不能使用最近5次密码'; |
92 | } | 89 | } |
93 | 90 | ||
@@ -175,10 +172,27 @@ | @@ -175,10 +172,27 @@ | ||
175 | }); | 172 | }); |
176 | }); | 173 | }); |
177 | } | 174 | } |
175 | + | ||
176 | + //joke add 20210506 获取密码级别 | ||
177 | + function getPwdLevel(){ | ||
178 | + admin.req({ | ||
179 | + url: common.domainName +'/api-web/sysConf/getConfByCode?code=pwd_level' | ||
180 | + , type: "get" | ||
181 | + , async: false | ||
182 | + , done: function (data) { | ||
183 | + if (data && data.object && data.success === true && data.object.ddicDesc){ | ||
184 | + var pattern = data.object.ddicDesc.split(' ')[0]; | ||
185 | + var patternTips = data.object.ddicDesc.split(' ')[1]; | ||
186 | + var last5His = passwords; | ||
187 | + verifyForm(pattern, patternTips,last5His); | ||
188 | + } else { | ||
189 | + layer.msg('没有获取去密码级别,将不做密码级别验证!', {icon: 0}); | ||
190 | + verifyForm(undefined, undefined,passwords); | ||
191 | + } | ||
178 | } | 192 | } |
179 | }); | 193 | }); |
180 | } | 194 | } |
181 | - | 195 | + // End Wang 2021/11/3 10:12 密码不能修改 [https://hgkj.5upm.com/bug-view-65.html] |
182 | 196 | ||
183 | 197 | ||
184 | $('.layui-layer-setwin .layui-layer-close').click(function () { | 198 | $('.layui-layer-setwin .layui-layer-close').click(function () { |
@@ -8,9 +8,11 @@ | @@ -8,9 +8,11 @@ | ||
8 | <script src="public/lib/vue/vue.global.prod.js"></script> | 8 | <script src="public/lib/vue/vue.global.prod.js"></script> |
9 | <script src="public/lib/vue/vue-router.global.prod.js"></script> | 9 | <script src="public/lib/vue/vue-router.global.prod.js"></script> |
10 | <script src="public/lib/vue/vuex.global.prod.js"></script> | 10 | <script src="public/lib/vue/vuex.global.prod.js"></script> |
11 | + <link href="public/lib/element-plus/index-icon.css" rel="stylesheet"> | ||
11 | <link href="public/lib/element-plus/index.css" rel="stylesheet"> | 12 | <link href="public/lib/element-plus/index.css" rel="stylesheet"> |
12 | <script src="public/lib/element-plus/index.full.js"></script> | 13 | <script src="public/lib/element-plus/index.full.js"></script> |
13 | <script src="public/lib/element-plus/zh-cn.js"></script> | 14 | <script src="public/lib/element-plus/zh-cn.js"></script> |
15 | + | ||
14 | <link href="public/lib/vant/index.css" rel="stylesheet"> | 16 | <link href="public/lib/vant/index.css" rel="stylesheet"> |
15 | <script src="public/lib/vant/vant.min.js"></script> | 17 | <script src="public/lib/vant/vant.min.js"></script> |
16 | <script src="public/lib/axios/axios.min.js"></script> | 18 | <script src="public/lib/axios/axios.min.js"></script> |
@@ -8,7 +8,6 @@ | @@ -8,7 +8,6 @@ | ||
8 | background-color: #CCCCCC; | 8 | background-color: #CCCCCC; |
9 | padding: 3px 3px; | 9 | padding: 3px 3px; |
10 | width:calc(100% - 10px); | 10 | width:calc(100% - 10px); |
11 | - overflow:hidden; | ||
12 | } | 11 | } |
13 | 12 | ||
14 | .container .cm-card{ | 13 | .container .cm-card{ |
@@ -39,7 +38,7 @@ custom-class="config-dialog" | @@ -39,7 +38,7 @@ custom-class="config-dialog" | ||
39 | 38 | ||
40 | 39 | ||
41 | /*加载图标*/ | 40 | /*加载图标*/ |
42 | -.el-loading-spinner .icon-mj{ | 41 | +.el-loading-spinner .el-icon{ |
43 | width: 70px; | 42 | width: 70px; |
44 | height: 70px; | 43 | height: 70px; |
45 | background: url(../../../start/layui/css/modules/layer/default/loading-mj.png) no-repeat center; | 44 | background: url(../../../start/layui/css/modules/layer/default/loading-mj.png) no-repeat center; |
@@ -55,6 +55,72 @@ | @@ -55,6 +55,72 @@ | ||
55 | <ul class="icon_lists dib-box"> | 55 | <ul class="icon_lists dib-box"> |
56 | 56 | ||
57 | <li class="dib"> | 57 | <li class="dib"> |
58 | + <span class="icon iconfont"></span> | ||
59 | + <div class="name">虚拟桌面</div> | ||
60 | + <div class="code-name">&#xe613;</div> | ||
61 | + </li> | ||
62 | + | ||
63 | + <li class="dib"> | ||
64 | + <span class="icon iconfont"></span> | ||
65 | + <div class="name">堡垒机</div> | ||
66 | + <div class="code-name">&#xe63c;</div> | ||
67 | + </li> | ||
68 | + | ||
69 | + <li class="dib"> | ||
70 | + <span class="icon iconfont"></span> | ||
71 | + <div class="name">堡垒机sas</div> | ||
72 | + <div class="code-name">&#xe61a;</div> | ||
73 | + </li> | ||
74 | + | ||
75 | + <li class="dib"> | ||
76 | + <span class="icon iconfont"></span> | ||
77 | + <div class="name">堡垒机授权申请流程</div> | ||
78 | + <div class="code-name">&#xe657;</div> | ||
79 | + </li> | ||
80 | + | ||
81 | + <li class="dib"> | ||
82 | + <span class="icon iconfont"></span> | ||
83 | + <div class="name">虚拟桌面</div> | ||
84 | + <div class="code-name">&#xe63d;</div> | ||
85 | + </li> | ||
86 | + | ||
87 | + <li class="dib"> | ||
88 | + <span class="icon iconfont"></span> | ||
89 | + <div class="name">水坝b</div> | ||
90 | + <div class="code-name">&#xe905;</div> | ||
91 | + </li> | ||
92 | + | ||
93 | + <li class="dib"> | ||
94 | + <span class="icon iconfont"></span> | ||
95 | + <div class="name">虚拟桌面</div> | ||
96 | + <div class="code-name">&#xe675;</div> | ||
97 | + </li> | ||
98 | + | ||
99 | + <li class="dib"> | ||
100 | + <span class="icon iconfont"></span> | ||
101 | + <div class="name">滚水坝</div> | ||
102 | + <div class="code-name">&#xe614;</div> | ||
103 | + </li> | ||
104 | + | ||
105 | + <li class="dib"> | ||
106 | + <span class="icon iconfont"></span> | ||
107 | + <div class="name">线</div> | ||
108 | + <div class="code-name">&#xebde;</div> | ||
109 | + </li> | ||
110 | + | ||
111 | + <li class="dib"> | ||
112 | + <span class="icon iconfont"></span> | ||
113 | + <div class="name">line</div> | ||
114 | + <div class="code-name">&#xe7fd;</div> | ||
115 | + </li> | ||
116 | + | ||
117 | + <li class="dib"> | ||
118 | + <span class="icon iconfont"></span> | ||
119 | + <div class="name">路由器</div> | ||
120 | + <div class="code-name">&#xec62;</div> | ||
121 | + </li> | ||
122 | + | ||
123 | + <li class="dib"> | ||
58 | <span class="icon iconfont"></span> | 124 | <span class="icon iconfont"></span> |
59 | <div class="name">搜索</div> | 125 | <div class="name">搜索</div> |
60 | <div class="code-name">&#xe752;</div> | 126 | <div class="code-name">&#xe752;</div> |
@@ -498,9 +564,9 @@ | @@ -498,9 +564,9 @@ | ||
498 | <pre><code class="language-css" | 564 | <pre><code class="language-css" |
499 | >@font-face { | 565 | >@font-face { |
500 | font-family: 'iconfont'; | 566 | font-family: 'iconfont'; |
501 | - src: url('iconfont.woff2?t=1634540750988') format('woff2'), | ||
502 | - url('iconfont.woff?t=1634540750988') format('woff'), | ||
503 | - url('iconfont.ttf?t=1634540750988') format('truetype'); | 567 | + src: url('iconfont.woff2?t=1635930253141') format('woff2'), |
568 | + url('iconfont.woff?t=1635930253141') format('woff'), | ||
569 | + url('iconfont.ttf?t=1635930253141') format('truetype'); | ||
504 | } | 570 | } |
505 | </code></pre> | 571 | </code></pre> |
506 | <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3> | 572 | <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3> |
@@ -527,6 +593,105 @@ | @@ -527,6 +593,105 @@ | ||
527 | <ul class="icon_lists dib-box"> | 593 | <ul class="icon_lists dib-box"> |
528 | 594 | ||
529 | <li class="dib"> | 595 | <li class="dib"> |
596 | + <span class="icon iconfont icon-xunizhuomian"></span> | ||
597 | + <div class="name"> | ||
598 | + 虚拟桌面 | ||
599 | + </div> | ||
600 | + <div class="code-name">.icon-xunizhuomian | ||
601 | + </div> | ||
602 | + </li> | ||
603 | + | ||
604 | + <li class="dib"> | ||
605 | + <span class="icon iconfont icon-baoleiji"></span> | ||
606 | + <div class="name"> | ||
607 | + 堡垒机 | ||
608 | + </div> | ||
609 | + <div class="code-name">.icon-baoleiji | ||
610 | + </div> | ||
611 | + </li> | ||
612 | + | ||
613 | + <li class="dib"> | ||
614 | + <span class="icon iconfont icon-baoleijisas"></span> | ||
615 | + <div class="name"> | ||
616 | + 堡垒机sas | ||
617 | + </div> | ||
618 | + <div class="code-name">.icon-baoleijisas | ||
619 | + </div> | ||
620 | + </li> | ||
621 | + | ||
622 | + <li class="dib"> | ||
623 | + <span class="icon iconfont icon-baoleijishouquanshenqingliucheng"></span> | ||
624 | + <div class="name"> | ||
625 | + 堡垒机授权申请流程 | ||
626 | + </div> | ||
627 | + <div class="code-name">.icon-baoleijishouquanshenqingliucheng | ||
628 | + </div> | ||
629 | + </li> | ||
630 | + | ||
631 | + <li class="dib"> | ||
632 | + <span class="icon iconfont icon-xunizhuomian1"></span> | ||
633 | + <div class="name"> | ||
634 | + 虚拟桌面 | ||
635 | + </div> | ||
636 | + <div class="code-name">.icon-xunizhuomian1 | ||
637 | + </div> | ||
638 | + </li> | ||
639 | + | ||
640 | + <li class="dib"> | ||
641 | + <span class="icon iconfont icon-shuiba2"></span> | ||
642 | + <div class="name"> | ||
643 | + 水坝b | ||
644 | + </div> | ||
645 | + <div class="code-name">.icon-shuiba2 | ||
646 | + </div> | ||
647 | + </li> | ||
648 | + | ||
649 | + <li class="dib"> | ||
650 | + <span class="icon iconfont icon-xunizhuomian2"></span> | ||
651 | + <div class="name"> | ||
652 | + 虚拟桌面 | ||
653 | + </div> | ||
654 | + <div class="code-name">.icon-xunizhuomian2 | ||
655 | + </div> | ||
656 | + </li> | ||
657 | + | ||
658 | + <li class="dib"> | ||
659 | + <span class="icon iconfont icon-gunshuiba"></span> | ||
660 | + <div class="name"> | ||
661 | + 滚水坝 | ||
662 | + </div> | ||
663 | + <div class="code-name">.icon-gunshuiba | ||
664 | + </div> | ||
665 | + </li> | ||
666 | + | ||
667 | + <li class="dib"> | ||
668 | + <span class="icon iconfont icon-line1"></span> | ||
669 | + <div class="name"> | ||
670 | + 线 | ||
671 | + </div> | ||
672 | + <div class="code-name">.icon-line1 | ||
673 | + </div> | ||
674 | + </li> | ||
675 | + | ||
676 | + <li class="dib"> | ||
677 | + <span class="icon iconfont icon-line"></span> | ||
678 | + <div class="name"> | ||
679 | + line | ||
680 | + </div> | ||
681 | + <div class="code-name">.icon-line | ||
682 | + </div> | ||
683 | + </li> | ||
684 | + | ||
685 | + <li class="dib"> | ||
686 | + <span class="icon iconfont icon-luyouqi"></span> | ||
687 | + <div class="name"> | ||
688 | + 路由器 | ||
689 | + </div> | ||
690 | + <div class="code-name">.icon-luyouqi | ||
691 | + </div> | ||
692 | + </li> | ||
693 | + | ||
694 | + <li class="dib"> | ||
530 | <span class="icon iconfont icon-sousuo"></span> | 695 | <span class="icon iconfont icon-sousuo"></span> |
531 | <div class="name"> | 696 | <div class="name"> |
532 | 搜索 | 697 | 搜索 |
@@ -1194,6 +1359,94 @@ | @@ -1194,6 +1359,94 @@ | ||
1194 | 1359 | ||
1195 | <li class="dib"> | 1360 | <li class="dib"> |
1196 | <svg class="icon svg-icon" aria-hidden="true"> | 1361 | <svg class="icon svg-icon" aria-hidden="true"> |
1362 | + <use xlink:href="#icon-xunizhuomian"></use> | ||
1363 | + </svg> | ||
1364 | + <div class="name">虚拟桌面</div> | ||
1365 | + <div class="code-name">#icon-xunizhuomian</div> | ||
1366 | + </li> | ||
1367 | + | ||
1368 | + <li class="dib"> | ||
1369 | + <svg class="icon svg-icon" aria-hidden="true"> | ||
1370 | + <use xlink:href="#icon-baoleiji"></use> | ||
1371 | + </svg> | ||
1372 | + <div class="name">堡垒机</div> | ||
1373 | + <div class="code-name">#icon-baoleiji</div> | ||
1374 | + </li> | ||
1375 | + | ||
1376 | + <li class="dib"> | ||
1377 | + <svg class="icon svg-icon" aria-hidden="true"> | ||
1378 | + <use xlink:href="#icon-baoleijisas"></use> | ||
1379 | + </svg> | ||
1380 | + <div class="name">堡垒机sas</div> | ||
1381 | + <div class="code-name">#icon-baoleijisas</div> | ||
1382 | + </li> | ||
1383 | + | ||
1384 | + <li class="dib"> | ||
1385 | + <svg class="icon svg-icon" aria-hidden="true"> | ||
1386 | + <use xlink:href="#icon-baoleijishouquanshenqingliucheng"></use> | ||
1387 | + </svg> | ||
1388 | + <div class="name">堡垒机授权申请流程</div> | ||
1389 | + <div class="code-name">#icon-baoleijishouquanshenqingliucheng</div> | ||
1390 | + </li> | ||
1391 | + | ||
1392 | + <li class="dib"> | ||
1393 | + <svg class="icon svg-icon" aria-hidden="true"> | ||
1394 | + <use xlink:href="#icon-xunizhuomian1"></use> | ||
1395 | + </svg> | ||
1396 | + <div class="name">虚拟桌面</div> | ||
1397 | + <div class="code-name">#icon-xunizhuomian1</div> | ||
1398 | + </li> | ||
1399 | + | ||
1400 | + <li class="dib"> | ||
1401 | + <svg class="icon svg-icon" aria-hidden="true"> | ||
1402 | + <use xlink:href="#icon-shuiba2"></use> | ||
1403 | + </svg> | ||
1404 | + <div class="name">水坝b</div> | ||
1405 | + <div class="code-name">#icon-shuiba2</div> | ||
1406 | + </li> | ||
1407 | + | ||
1408 | + <li class="dib"> | ||
1409 | + <svg class="icon svg-icon" aria-hidden="true"> | ||
1410 | + <use xlink:href="#icon-xunizhuomian2"></use> | ||
1411 | + </svg> | ||
1412 | + <div class="name">虚拟桌面</div> | ||
1413 | + <div class="code-name">#icon-xunizhuomian2</div> | ||
1414 | + </li> | ||
1415 | + | ||
1416 | + <li class="dib"> | ||
1417 | + <svg class="icon svg-icon" aria-hidden="true"> | ||
1418 | + <use xlink:href="#icon-gunshuiba"></use> | ||
1419 | + </svg> | ||
1420 | + <div class="name">滚水坝</div> | ||
1421 | + <div class="code-name">#icon-gunshuiba</div> | ||
1422 | + </li> | ||
1423 | + | ||
1424 | + <li class="dib"> | ||
1425 | + <svg class="icon svg-icon" aria-hidden="true"> | ||
1426 | + <use xlink:href="#icon-line1"></use> | ||
1427 | + </svg> | ||
1428 | + <div class="name">线</div> | ||
1429 | + <div class="code-name">#icon-line1</div> | ||
1430 | + </li> | ||
1431 | + | ||
1432 | + <li class="dib"> | ||
1433 | + <svg class="icon svg-icon" aria-hidden="true"> | ||
1434 | + <use xlink:href="#icon-line"></use> | ||
1435 | + </svg> | ||
1436 | + <div class="name">line</div> | ||
1437 | + <div class="code-name">#icon-line</div> | ||
1438 | + </li> | ||
1439 | + | ||
1440 | + <li class="dib"> | ||
1441 | + <svg class="icon svg-icon" aria-hidden="true"> | ||
1442 | + <use xlink:href="#icon-luyouqi"></use> | ||
1443 | + </svg> | ||
1444 | + <div class="name">路由器</div> | ||
1445 | + <div class="code-name">#icon-luyouqi</div> | ||
1446 | + </li> | ||
1447 | + | ||
1448 | + <li class="dib"> | ||
1449 | + <svg class="icon svg-icon" aria-hidden="true"> | ||
1197 | <use xlink:href="#icon-sousuo"></use> | 1450 | <use xlink:href="#icon-sousuo"></use> |
1198 | </svg> | 1451 | </svg> |
1199 | <div class="name">搜索</div> | 1452 | <div class="name">搜索</div> |
1 | @font-face { | 1 | @font-face { |
2 | font-family: "iconfont"; /* Project id 2843738 */ | 2 | font-family: "iconfont"; /* Project id 2843738 */ |
3 | - src: url('iconfont.woff2?t=1634540750988') format('woff2'), | ||
4 | - url('iconfont.woff?t=1634540750988') format('woff'), | ||
5 | - url('iconfont.ttf?t=1634540750988') format('truetype'); | 3 | + src: url('iconfont.woff2?t=1635930253141') format('woff2'), |
4 | + url('iconfont.woff?t=1635930253141') format('woff'), | ||
5 | + url('iconfont.ttf?t=1635930253141') format('truetype'); | ||
6 | } | 6 | } |
7 | 7 | ||
8 | .iconfont { | 8 | .iconfont { |
@@ -13,6 +13,50 @@ | @@ -13,6 +13,50 @@ | ||
13 | -moz-osx-font-smoothing: grayscale; | 13 | -moz-osx-font-smoothing: grayscale; |
14 | } | 14 | } |
15 | 15 | ||
16 | +.icon-xunizhuomian:before { | ||
17 | + content: "\e613"; | ||
18 | +} | ||
19 | + | ||
20 | +.icon-baoleiji:before { | ||
21 | + content: "\e63c"; | ||
22 | +} | ||
23 | + | ||
24 | +.icon-baoleijisas:before { | ||
25 | + content: "\e61a"; | ||
26 | +} | ||
27 | + | ||
28 | +.icon-baoleijishouquanshenqingliucheng:before { | ||
29 | + content: "\e657"; | ||
30 | +} | ||
31 | + | ||
32 | +.icon-xunizhuomian1:before { | ||
33 | + content: "\e63d"; | ||
34 | +} | ||
35 | + | ||
36 | +.icon-shuiba2:before { | ||
37 | + content: "\e905"; | ||
38 | +} | ||
39 | + | ||
40 | +.icon-xunizhuomian2:before { | ||
41 | + content: "\e675"; | ||
42 | +} | ||
43 | + | ||
44 | +.icon-gunshuiba:before { | ||
45 | + content: "\e614"; | ||
46 | +} | ||
47 | + | ||
48 | +.icon-line1:before { | ||
49 | + content: "\ebde"; | ||
50 | +} | ||
51 | + | ||
52 | +.icon-line:before { | ||
53 | + content: "\e7fd"; | ||
54 | +} | ||
55 | + | ||
56 | +.icon-luyouqi:before { | ||
57 | + content: "\ec62"; | ||
58 | +} | ||
59 | + | ||
16 | .icon-sousuo:before { | 60 | .icon-sousuo:before { |
17 | content: "\e752"; | 61 | content: "\e752"; |
18 | } | 62 | } |
This diff could not be displayed because it is too large.
@@ -6,6 +6,83 @@ | @@ -6,6 +6,83 @@ | ||
6 | "description": "", | 6 | "description": "", |
7 | "glyphs": [ | 7 | "glyphs": [ |
8 | { | 8 | { |
9 | + "icon_id": "4675111", | ||
10 | + "name": "虚拟桌面", | ||
11 | + "font_class": "xunizhuomian", | ||
12 | + "unicode": "e613", | ||
13 | + "unicode_decimal": 58899 | ||
14 | + }, | ||
15 | + { | ||
16 | + "icon_id": "7556320", | ||
17 | + "name": "堡垒机", | ||
18 | + "font_class": "baoleiji", | ||
19 | + "unicode": "e63c", | ||
20 | + "unicode_decimal": 58940 | ||
21 | + }, | ||
22 | + { | ||
23 | + "icon_id": "9018063", | ||
24 | + "name": "堡垒机sas", | ||
25 | + "font_class": "baoleijisas", | ||
26 | + "unicode": "e61a", | ||
27 | + "unicode_decimal": 58906 | ||
28 | + }, | ||
29 | + { | ||
30 | + "icon_id": "9344245", | ||
31 | + "name": "堡垒机授权申请流程", | ||
32 | + "font_class": "baoleijishouquanshenqingliucheng", | ||
33 | + "unicode": "e657", | ||
34 | + "unicode_decimal": 58967 | ||
35 | + }, | ||
36 | + { | ||
37 | + "icon_id": "9865796", | ||
38 | + "name": "虚拟桌面", | ||
39 | + "font_class": "xunizhuomian1", | ||
40 | + "unicode": "e63d", | ||
41 | + "unicode_decimal": 58941 | ||
42 | + }, | ||
43 | + { | ||
44 | + "icon_id": "11439036", | ||
45 | + "name": "水坝b", | ||
46 | + "font_class": "shuiba2", | ||
47 | + "unicode": "e905", | ||
48 | + "unicode_decimal": 59653 | ||
49 | + }, | ||
50 | + { | ||
51 | + "icon_id": "25091142", | ||
52 | + "name": "虚拟桌面", | ||
53 | + "font_class": "xunizhuomian2", | ||
54 | + "unicode": "e675", | ||
55 | + "unicode_decimal": 58997 | ||
56 | + }, | ||
57 | + { | ||
58 | + "icon_id": "25132617", | ||
59 | + "name": "滚水坝", | ||
60 | + "font_class": "gunshuiba", | ||
61 | + "unicode": "e614", | ||
62 | + "unicode_decimal": 58900 | ||
63 | + }, | ||
64 | + { | ||
65 | + "icon_id": "19710217", | ||
66 | + "name": "线", | ||
67 | + "font_class": "line1", | ||
68 | + "unicode": "ebde", | ||
69 | + "unicode_decimal": 60382 | ||
70 | + }, | ||
71 | + { | ||
72 | + "icon_id": "4767098", | ||
73 | + "name": "line", | ||
74 | + "font_class": "line", | ||
75 | + "unicode": "e7fd", | ||
76 | + "unicode_decimal": 59389 | ||
77 | + }, | ||
78 | + { | ||
79 | + "icon_id": "5961324", | ||
80 | + "name": "路由器", | ||
81 | + "font_class": "luyouqi", | ||
82 | + "unicode": "ec62", | ||
83 | + "unicode_decimal": 60514 | ||
84 | + }, | ||
85 | + { | ||
9 | "icon_id": "577365", | 86 | "icon_id": "577365", |
10 | "name": "搜索", | 87 | "name": "搜索", |
11 | "font_class": "sousuo", | 88 | "font_class": "sousuo", |
No preview for this file type
No preview for this file type
No preview for this file type
hg-monitor-web-base/src/main/resources/static/vue3/public/lib/element-plus/index-icon.css
0 → 100644
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
@@ -373,6 +373,7 @@ export default { | @@ -373,6 +373,7 @@ export default { | ||
373 | params.pid = currentNodeData.value.id; | 373 | params.pid = currentNodeData.value.id; |
374 | 374 | ||
375 | if(isUserFolder.value){ | 375 | if(isUserFolder.value){ |
376 | + params.id=""; | ||
376 | params.docNo="user"; | 377 | params.docNo="user"; |
377 | params.type="user"; | 378 | params.type="user"; |
378 | } | 379 | } |
@@ -11,10 +11,12 @@ | @@ -11,10 +11,12 @@ | ||
11 | <slot :row="scope.row" :prop="item.prop" :column="item"> | 11 | <slot :row="scope.row" :prop="item.prop" :column="item"> |
12 | <div v-if="typeof(item.render) == 'function'" > | 12 | <div v-if="typeof(item.render) == 'function'" > |
13 | <div v-if="typeof(item.click) == 'function'"> | 13 | <div v-if="typeof(item.click) == 'function'"> |
14 | - <el-link :type="linkType" :underline="isLink" @click="item.click(scope.row)" v-html="item.render(scope.row)"></el-link> | 14 | + <!--<el-link :type="linkType" :underline="isLink" @click="item.click(scope.row)" v-html="item.render(scope.row)"></el-link>--> |
15 | + <span @click="item.click(scope.row)" v-html="item.render(scope.row)"></span> | ||
15 | </div> | 16 | </div> |
16 | <div v-else> | 17 | <div v-else> |
17 | - <el-link :type="linkType" :underline="isLink" v-html="item.render(scope.row)"></el-link> | 18 | + <!-- <el-link :type="linkType" :underline="isLink" v-html="item.render(scope.row)"></el-link>--> |
19 | + <span v-html="item.render(scope.row)"></span> | ||
18 | </div> | 20 | </div> |
19 | </div> | 21 | </div> |
20 | <span v-else> | 22 | <span v-else> |
@@ -72,16 +72,7 @@ export default { | @@ -72,16 +72,7 @@ export default { | ||
72 | type: Boolean, | 72 | type: Boolean, |
73 | default: false | 73 | default: false |
74 | }, | 74 | }, |
75 | - // 是否展示链接 | ||
76 | - isLink:{ | ||
77 | - type: Boolean, | ||
78 | - default: false | ||
79 | - }, | ||
80 | - // 是否展示链接 | ||
81 | - linkType:{ | ||
82 | - type: String, | ||
83 | - default: 'primary' | ||
84 | - }, | 75 | + |
85 | }, | 76 | }, |
86 | data() { | 77 | data() { |
87 | return {} | 78 | return {} |
@@ -19,7 +19,7 @@ global.showLoading = (callback) => { | @@ -19,7 +19,7 @@ global.showLoading = (callback) => { | ||
19 | const loading = ElementPlus.ElLoading.service({ | 19 | const loading = ElementPlus.ElLoading.service({ |
20 | lock: true, | 20 | lock: true, |
21 | text: '', | 21 | text: '', |
22 | - spinner: 'icon-mj', | 22 | + spinner: ' ', |
23 | background: 'rgba(0, 0, 0, 0.7)', | 23 | background: 'rgba(0, 0, 0, 0.7)', |
24 | }); | 24 | }); |
25 | 25 |
1 | /* 属性配置 -- start */ | 1 | /* 属性配置 -- start */ |
2 | -.assets-configmanager { | ||
3 | - padding: 6px 3px; | ||
4 | - background: white; | 2 | +.form-post { |
3 | + width: 100%; | ||
5 | } | 4 | } |
6 | -.col-class{ | ||
7 | - background: white; | ||
8 | - padding: 10px; | ||
9 | - margin: 5px; | 5 | + |
6 | +/* 属性配置 -- end */ | ||
7 | + | ||
8 | +.yfyw-user { | ||
9 | + padding-top: 6px; | ||
10 | + width: 99%; | ||
10 | } | 11 | } |
11 | -.yes{ | ||
12 | - color: green; | 12 | + |
13 | +.yfyw-user .title{ | ||
14 | + font-weight: bold;text-align: left;padding-left: 40px;margin-bottom: 6px | ||
13 | } | 15 | } |
14 | -.no{ | ||
15 | - color: red; | 16 | + |
17 | +.yfyw-user .form-class { | ||
18 | + margin-bottom: 0px !important; | ||
16 | } | 19 | } |
17 | -.assets-configmanagers { | ||
18 | - background: #F0F0F0; | 20 | + |
21 | +.yfyw-user .el-form--label-top .el-form-item__label { | ||
22 | + padding: 0px !important; | ||
23 | + line-height: 20px !important; | ||
19 | } | 24 | } |
20 | -.assets-configmanager .config-tools { | 25 | + |
26 | +.yfyw-user .el-form-item__content { | ||
21 | text-align: left; | 27 | text-align: left; |
22 | - margin-left: 2%; | ||
23 | - margin-bottom: 6px; | 28 | + width: 300px; |
24 | } | 29 | } |
25 | 30 | ||
26 | -.assets-configmanagers .tbl-header-class { | ||
27 | - color: #1E9FFF; | ||
28 | - font-weight: bold; | 31 | +.yfyw-user .el-input__inner, .el-textarea__inner { |
32 | + border: none; | ||
33 | + border-bottom: solid 1px #DCDFE6; | ||
34 | + border-bottom-left-radius: 0; | ||
35 | + border-bottom-right-radius: 0; | ||
29 | } | 36 | } |
30 | 37 | ||
31 | -.assets-configmanagers .tbl-header-class th { | ||
32 | - background: #EBF5F9 !important; | ||
33 | - text-align: center; | 38 | +.yfyw-user .el-form-item__content .el-date-editor--date { |
39 | + width: 300px; | ||
34 | } | 40 | } |
35 | 41 | ||
36 | -.assets-configmanagers .tbl-header-class th .cell { | ||
37 | - text-align: center !important; | 42 | +.yfyw-user .form-textarea .el-form-item__content { |
43 | + width: 90%; | ||
38 | } | 44 | } |
39 | 45 | ||
40 | -.assets-configmanager .el-table__row td{ | ||
41 | - padding: 2px 0px;!important; | ||
42 | - text-align: center; | 46 | +.yfyw-user .zc-view { |
47 | + display: flex; | ||
48 | + flex-wrap: nowrap; | ||
49 | + flex-direction: row; | ||
50 | + padding-left: 40px; | ||
51 | + border-bottom: solid 1px #DCDFE6; | ||
43 | } | 52 | } |
44 | -.form-class{ | ||
45 | - margin-bottom: 50px!important; | 53 | + |
54 | +.yfyw-user .zc-view .zc-img { | ||
55 | + width: 120px; | ||
56 | + padding: 3px; | ||
57 | +} | ||
58 | + | ||
59 | +.yfyw-user .zc-view .zc-img i { | ||
60 | + font-size: 100px | ||
61 | +} | ||
62 | + | ||
63 | +.yfyw-user .zc-view .zc-info { | ||
64 | + width: calc(100% - 120px); | ||
65 | + text-align: left; | ||
66 | +} | ||
67 | + | ||
68 | +.yfyw-user .zc-view .zc-item { | ||
69 | + display: flex; | ||
70 | + flex-wrap: wrap | ||
71 | +} | ||
72 | + | ||
73 | +.yfyw-user .zc-view .zc-item .zc-item-label { | ||
74 | + width: 33%; | ||
75 | + line-height: 30px | ||
76 | +} | ||
77 | + | ||
78 | +.yfyw-user .zc-view .zc-item .zc-item-label .zc-item-label-left { | ||
79 | + width: 200px; | ||
80 | + font-weight: bold; | ||
81 | + text-align: right | ||
82 | +} | ||
83 | + | ||
84 | +.yfyw-user .zc-view .zc-item .zc-item-label .zc-item-label-right { | ||
85 | + width: 200px; | ||
86 | + text-align: left; | ||
87 | + padding-left: 3px | ||
88 | +} | ||
89 | + | ||
90 | +.yfyw-user .zc-view .zc-info .zc-item-tools { | ||
91 | + text-align: right; | ||
92 | + padding: 3px | ||
46 | } | 93 | } |
47 | -/* 属性配置 -- end */ |
@@ -6,4 +6,16 @@ | @@ -6,4 +6,16 @@ | ||
6 | :showBorder="true" :currentPage="currentPage" :total="total" :loading="false" | 6 | :showBorder="true" :currentPage="currentPage" :total="total" :loading="false" |
7 | :showPage="true" :height="height" :pageSize="pageSize"></cm-table-page> | 7 | :showPage="true" :height="height" :pageSize="pageSize"></cm-table-page> |
8 | </div> | 8 | </div> |
9 | + <cm-dialog :title="title" width="80%" :showDialogVisible="dialogFlg" @hidedialog="showDialog" :showFooter="false"> | ||
10 | + <template v-slot> | ||
11 | + <div v-if="componentName && componentName != ''"> | ||
12 | + <component v-bind:is="componentName" | ||
13 | + :docType="docType" | ||
14 | + height="500" | ||
15 | + :docTypeName="docTypeName" | ||
16 | + :pageSize="pageSize" | ||
17 | + :treeNode="treeNode" :parentNode="parentNode" :projectId="projectId"></component> | ||
18 | + </div> | ||
19 | + </template> | ||
20 | + </cm-dialog> | ||
9 | </div> | 21 | </div> |
1 | export default { | 1 | export default { |
2 | name: 'projectUserIndex', | 2 | name: 'projectUserIndex', |
3 | template: '', | 3 | template: '', |
4 | - components: {}, | 4 | + components: { |
5 | + // 人员信息 | ||
6 | + 'USER': Vue.defineAsyncComponent( | ||
7 | + () => myImport('components/page/operationMaintenance/user/index') | ||
8 | + ), | ||
9 | + //文档 | ||
10 | + // 个人保密协议(THREE_PERSONAGE_NDA) | ||
11 | + // 月度总结 THREE_MONTHLY_SUMMARY | ||
12 | + // 月报 FOUR_MONTHLY | ||
13 | + // 考勤记录 FOUR_CHECKING_IN | ||
14 | + // 健康检查报告 FOUR_HEALTH | ||
15 | + // 文档资料 TWO_DOCUMENT_MATERIAL | ||
16 | + // 项目保密协议 TWO_NDA | ||
17 | + 'DOCUMENT': Vue.defineAsyncComponent( | ||
18 | + () => myImport('components/page/operationMaintenance/doc/index') | ||
19 | + ), | ||
20 | + }, | ||
5 | data() { | 21 | data() { |
6 | return {} | 22 | return {} |
7 | }, | 23 | }, |
@@ -26,16 +42,29 @@ export default { | @@ -26,16 +42,29 @@ export default { | ||
26 | type: Number, | 42 | type: Number, |
27 | default: 10 | 43 | default: 10 |
28 | }, | 44 | }, |
45 | + | ||
29 | }, | 46 | }, |
30 | setup(props, {attrs, slots, emit}) { | 47 | setup(props, {attrs, slots, emit}) { |
31 | 48 | ||
32 | const {proxy} = Vue.getCurrentInstance(); | 49 | const {proxy} = Vue.getCurrentInstance(); |
33 | 50 | ||
51 | + let title = Vue.ref(''); | ||
52 | + let docType = Vue.ref(''); | ||
53 | + let docTypeName = Vue.ref(''); | ||
54 | + let componentName = Vue.ref(''); | ||
55 | + let dialogFlg = Vue.ref(false); | ||
56 | + | ||
34 | 57 | ||
35 | let columns = Vue.ref([{ | 58 | let columns = Vue.ref([{ |
36 | prop: 'nickname', | 59 | prop: 'nickname', |
37 | label: '运维人员姓名', | 60 | label: '运维人员姓名', |
38 | sortable: true, | 61 | sortable: true, |
62 | + click: function (row) { | ||
63 | + // 点击弹框展示人员信息 | ||
64 | + title.value = "人员信息"; | ||
65 | + componentName.value = "USER"; | ||
66 | + showDialog(true); | ||
67 | + } | ||
39 | }, { | 68 | }, { |
40 | prop: 'phone', | 69 | prop: 'phone', |
41 | label: '联系电话', | 70 | label: '联系电话', |
@@ -72,9 +101,16 @@ export default { | @@ -72,9 +101,16 @@ export default { | ||
72 | label: '个人信息', | 101 | label: '个人信息', |
73 | sortable: true, | 102 | sortable: true, |
74 | width: '180px', | 103 | width: '180px', |
104 | + click: function (row) { | ||
105 | + // 点击弹框展示 个人信息 | ||
106 | + title.value = "个人信息"; | ||
107 | + componentName.value = "USER"; | ||
108 | + props.parentNode.id = row.id; | ||
109 | + showDialog(true); | ||
110 | + }, | ||
75 | render: function (row) { | 111 | render: function (row) { |
76 | if (row.personalMessage == "YES") { | 112 | if (row.personalMessage == "YES") { |
77 | - return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;"></i><span></span>`; | 113 | + return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;color:#409EFF"></i><span></span>`; |
78 | } else { | 114 | } else { |
79 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; | 115 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; |
80 | } | 116 | } |
@@ -82,12 +118,20 @@ export default { | @@ -82,12 +118,20 @@ export default { | ||
82 | 118 | ||
83 | }, { | 119 | }, { |
84 | prop: 'personalSecrecyBook', | 120 | prop: 'personalSecrecyBook', |
85 | - label: '个人保密协议书', | 121 | + label: '入场资料', |
86 | sortable: true, | 122 | sortable: true, |
87 | width: '180px', | 123 | width: '180px', |
124 | + click: function (row) { | ||
125 | + // 点击弹框展示 个人保密协议书 | ||
126 | + title.value = "入场资料"; | ||
127 | + componentName.value = "DOCUMENT"; | ||
128 | + docType.value = "THREE_PERSONAGE_NDA"; | ||
129 | + docTypeName.value = "入场资料"; | ||
130 | + showDialog(true); | ||
131 | + }, | ||
88 | render: function (row) { | 132 | render: function (row) { |
89 | if (row.personalSecrecyBook == "YES") { | 133 | if (row.personalSecrecyBook == "YES") { |
90 | - return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;"></i><span></span>`; | 134 | + return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;color:#409EFF"></i><span></span>`; |
91 | } else { | 135 | } else { |
92 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; | 136 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; |
93 | } | 137 | } |
@@ -97,9 +141,17 @@ export default { | @@ -97,9 +141,17 @@ export default { | ||
97 | label: '月度总结', | 141 | label: '月度总结', |
98 | sortable: true, | 142 | sortable: true, |
99 | width: '180px', | 143 | width: '180px', |
144 | + click: function (row) { | ||
145 | + // 点击弹框展示 月度总结 | ||
146 | + title.value = "月度总结"; | ||
147 | + componentName.value = "DOCUMENT"; | ||
148 | + docType.value = "THREE_MONTHLY_SUMMARY"; | ||
149 | + docTypeName.value = "月度总结"; | ||
150 | + showDialog(true); | ||
151 | + }, | ||
100 | render: function (row) { | 152 | render: function (row) { |
101 | if (row.monthlySummary == "YES") { | 153 | if (row.monthlySummary == "YES") { |
102 | - return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;"></i><span></span>`; | 154 | + return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;color:#409EFF"></i><span></span>`; |
103 | } else { | 155 | } else { |
104 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; | 156 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; |
105 | 157 | ||
@@ -107,6 +159,11 @@ export default { | @@ -107,6 +159,11 @@ export default { | ||
107 | } | 159 | } |
108 | }]); | 160 | }]); |
109 | 161 | ||
162 | + | ||
163 | + let showDialog = (flg) => { | ||
164 | + dialogFlg.value = flg; | ||
165 | + } | ||
166 | + | ||
110 | let dataList = Vue.ref([]); | 167 | let dataList = Vue.ref([]); |
111 | let currentPage = Vue.ref(1); | 168 | let currentPage = Vue.ref(1); |
112 | let total = Vue.ref(0); | 169 | let total = Vue.ref(0); |
@@ -140,6 +197,7 @@ export default { | @@ -140,6 +197,7 @@ export default { | ||
140 | }); | 197 | }); |
141 | } | 198 | } |
142 | 199 | ||
200 | + | ||
143 | // 挂载完 | 201 | // 挂载完 |
144 | Vue.onMounted(() => { | 202 | Vue.onMounted(() => { |
145 | getPage(); | 203 | getPage(); |
@@ -160,7 +218,13 @@ export default { | @@ -160,7 +218,13 @@ export default { | ||
160 | dataList, | 218 | dataList, |
161 | currentPage, | 219 | currentPage, |
162 | total, | 220 | total, |
163 | - getPage | 221 | + getPage, |
222 | + title, | ||
223 | + docType, | ||
224 | + docTypeName, | ||
225 | + dialogFlg, | ||
226 | + showDialog, | ||
227 | + componentName | ||
164 | } | 228 | } |
165 | } | 229 | } |
166 | } | 230 | } |
1 | -<div style="padding-top: 20px;"> | ||
2 | - <el-divider content-position="left">个人信息</el-divider> | ||
3 | - <el-form :model="ruleForm" label-width="120px" :size="$global.elementSize"> | ||
4 | - <el-row> | 1 | +<div class="yfyw-user"> |
2 | + <div> | ||
3 | + <el-avatar :size="80" :src="imageUrl"> | ||
4 | + <i class="iconfont icon-yonghu" style="font-size: 80px;"/> | ||
5 | + </el-avatar> | ||
6 | + <el-upload | ||
7 | + class="upload-demo" | ||
8 | + :show-file-list="false" | ||
9 | + :before-upload="beforeAvatarUpload" | ||
10 | + :multiple="false" | ||
11 | + :http-request="getFile" | ||
12 | + :auto-upload="true"> | ||
13 | + <el-button size="mini" type="primary">上传照片</el-button> | ||
14 | + </el-upload> | ||
15 | + </div> | ||
16 | + <div class="title"> | ||
17 | + <i class="iconfont icon-icon--yingbing" /> 人员基本信息 | ||
18 | + </div> | ||
19 | + <div style="padding-left: 40px;margin-bottom: 6px"> | ||
20 | + <el-form :model="ruleForm" label-width="120px" :size="$global.elementSize" label-position="top" > | ||
21 | + <el-row :gutter="5"> | ||
5 | <el-col :span="8"> | 22 | <el-col :span="8"> |
6 | <el-form-item label="姓名" prop="nickname" class="form-class"> | 23 | <el-form-item label="姓名" prop="nickname" class="form-class"> |
7 | - <el-input v-model="ruleForm.nickname" disabled style='width: 190px;'></el-input> | 24 | + <el-input v-model="ruleForm.nickname" :readonly="isAdmin()"></el-input> |
8 | </el-form-item> | 25 | </el-form-item> |
26 | + </el-col> | ||
27 | + <el-col :span="8"> | ||
9 | <el-form-item label="性别" prop="sex" class="form-class"> | 28 | <el-form-item label="性别" prop="sex" class="form-class"> |
10 | <el-radio-group v-model="ruleForm.sex"> | 29 | <el-radio-group v-model="ruleForm.sex"> |
11 | <el-radio :label="1">男</el-radio> | 30 | <el-radio :label="1">男</el-radio> |
12 | <el-radio :label="0">女</el-radio> | 31 | <el-radio :label="0">女</el-radio> |
13 | </el-radio-group> | 32 | </el-radio-group> |
14 | </el-form-item> | 33 | </el-form-item> |
15 | - <el-form-item label="学历" prop="education" class="form-class"> | ||
16 | - <el-input v-model="ruleForm.education" style='width: 190px;'></el-input> | 34 | + </el-col> |
35 | + <el-col :span="8"> | ||
36 | + <el-form-item label="年龄" prop="age" class="form-class"> | ||
37 | + <el-input v-model="ruleForm.age" type="number"></el-input> | ||
38 | + </el-form-item> | ||
39 | + </el-col> | ||
40 | + </el-row> | ||
41 | + | ||
42 | + | ||
43 | + <el-row :gutter="5"> | ||
44 | + <el-col :span="8"> | ||
45 | + <el-form-item label="座机号码" prop="tel" class="form-class"> | ||
46 | + <el-input v-model="ruleForm.tel"></el-input> | ||
17 | </el-form-item> | 47 | </el-form-item> |
48 | + </el-col> | ||
49 | + <el-col :span="8"> | ||
18 | <el-form-item label="手机号" prop="phone" class="form-class"> | 50 | <el-form-item label="手机号" prop="phone" class="form-class"> |
19 | - <el-input v-model="ruleForm.phone" disabled style='width: 190px;'></el-input> | 51 | + <el-input v-model="ruleForm.phone" :readonly="isAdmin()"></el-input> |
20 | </el-form-item> | 52 | </el-form-item> |
53 | + </el-col> | ||
54 | + <el-col :span="8"> | ||
21 | <el-form-item label="电子邮箱" prop="email" class="form-class"> | 55 | <el-form-item label="电子邮箱" prop="email" class="form-class"> |
22 | - <el-input v-model="ruleForm.email" style='width: 190px;'></el-input> | 56 | + <el-input v-model="ruleForm.email"></el-input> |
57 | + </el-form-item> | ||
58 | + </el-col> | ||
59 | + </el-row> | ||
60 | + | ||
61 | + <el-row :gutter="5"> | ||
62 | + <el-col :span="8"> | ||
63 | + <el-form-item label="毕业院校" prop="university" class="form-class"> | ||
64 | + <el-input v-model="ruleForm.university" :readonly="isAdmin()"></el-input> | ||
65 | + </el-form-item> | ||
66 | + | ||
67 | + </el-col> | ||
68 | + <el-col :span="8"> | ||
69 | + <el-form-item label="学历" prop="education" class="form-class"> | ||
70 | + <el-input v-model="ruleForm.education"></el-input> | ||
71 | + </el-form-item> | ||
72 | + </el-col> | ||
73 | + <el-col :span="8"> | ||
74 | + <el-form-item label="所在公司" prop="company" class="form-class"> | ||
75 | + <el-input v-model="ruleForm.company" :readonly="isAdmin()"></el-input> | ||
23 | </el-form-item> | 76 | </el-form-item> |
77 | + </el-col> | ||
78 | + </el-row> | ||
24 | 79 | ||
80 | + <el-row :gutter="5"> | ||
81 | + <el-col :span="8"> | ||
82 | + <el-form-item label="在职状态" prop="certificate" :readonly="isAdmin()" class="form-class"> | ||
83 | + <el-radio-group v-model="ruleForm.state"> | ||
84 | + <el-radio :label="1">在职</el-radio> | ||
85 | + <el-radio :label="2">离职</el-radio> | ||
86 | + </el-radio-group> | ||
87 | + </el-form-item> | ||
88 | + </el-col> | ||
89 | + <el-col :span="8"> | ||
25 | <el-form-item label="入职时间" prop="entryTime" class="form-class"> | 90 | <el-form-item label="入职时间" prop="entryTime" class="form-class"> |
26 | <el-date-picker | 91 | <el-date-picker |
27 | - disabled | 92 | + :readonly="isAdmin()" |
28 | v-model="ruleForm.entryTime" | 93 | v-model="ruleForm.entryTime" |
29 | type="date" | 94 | type="date" |
30 | - style='width: 190px;' | ||
31 | placeholder="选择日期"> | 95 | placeholder="选择日期"> |
32 | </el-date-picker> | 96 | </el-date-picker> |
33 | </el-form-item> | 97 | </el-form-item> |
34 | - <el-form-item label="获得证书" prop="certificate" disabled class="form-class"> | ||
35 | - <el-input v-model="ruleForm.certificate" style='width: 190px;'></el-input> | ||
36 | - </el-form-item> | ||
37 | </el-col> | 98 | </el-col> |
38 | <el-col :span="8"> | 99 | <el-col :span="8"> |
39 | - <el-form-item label="所在公司" prop="company" class="form-class"> | ||
40 | - <el-input v-model="ruleForm.company" disabled style='width: 190px;'></el-input> | ||
41 | - </el-form-item> | ||
42 | - <el-form-item label="年龄" prop="age" class="form-class"> | ||
43 | - <el-input v-model="ruleForm.age" style='width: 190px;'></el-input> | ||
44 | - </el-form-item> | ||
45 | - <el-form-item label="毕业院校" prop="university" class="form-class"> | ||
46 | - <el-input v-model="ruleForm.university" disabled style='width: 190px;'></el-input> | ||
47 | - </el-form-item> | ||
48 | - <el-form-item label="座机号码" prop="tel" class="form-class"> | ||
49 | - <el-input v-model="ruleForm.tel" style='width: 190px;'></el-input> | ||
50 | - </el-form-item> | ||
51 | - <el-form-item label="家庭住址" prop="post" class="form-class"> | ||
52 | - <el-input v-model="ruleForm.post" style='width: 190px;'></el-input> | ||
53 | - </el-form-item> | ||
54 | <el-form-item label="离职时间" prop="quitTime" class="form-class"> | 100 | <el-form-item label="离职时间" prop="quitTime" class="form-class"> |
55 | <el-date-picker | 101 | <el-date-picker |
56 | v-model="ruleForm.quitTime" | 102 | v-model="ruleForm.quitTime" |
57 | - disabled | 103 | + :readonly="isAdmin()" |
58 | type="date" | 104 | type="date" |
59 | - style='width: 190px;' | ||
60 | placeholder="选择日期"> | 105 | placeholder="选择日期"> |
61 | </el-date-picker> | 106 | </el-date-picker> |
62 | </el-form-item> | 107 | </el-form-item> |
63 | </el-col> | 108 | </el-col> |
64 | - <el-col :span="8"> | ||
65 | - <el-image style="width: 200px; height: 200px" :src="imageUrl"></el-image> | ||
66 | - <el-upload | ||
67 | - class="upload-demo" | ||
68 | - :show-file-list="false" | ||
69 | - :before-upload="beforeAvatarUpload" | ||
70 | - :multiple="false" | ||
71 | - :http-request="getFile" | ||
72 | - :auto-upload="true"> | ||
73 | - <el-button size="small" type="primary">上传照片</el-button> | ||
74 | - </el-upload> | 109 | + </el-row> |
110 | + | ||
111 | + <el-row :gutter="5"> | ||
112 | + <el-col :span="24"> | ||
113 | + <el-form-item label="获得证书" prop="post" class="form-textarea"> | ||
114 | + <el-input v-model="ruleForm.certificate" type="textarea"></el-input> | ||
115 | + </el-form-item> | ||
116 | + </el-col> | ||
117 | + </el-row> | ||
118 | + <el-row :gutter="5"> | ||
119 | + <el-col :span="24"> | ||
120 | + <el-form-item label="家庭住址" prop="post" class="form-textarea"> | ||
121 | + <el-input v-model="ruleForm.post" type="textarea"></el-input> | ||
122 | + </el-form-item> | ||
75 | </el-col> | 123 | </el-col> |
76 | </el-row> | 124 | </el-row> |
77 | - <div style="text-align: center;"> | ||
78 | - <el-button type="primary" size="small" @click="saveUser">保存</el-button> | 125 | + <div style="text-align: center;padding-top: 10px"> |
126 | + <el-button type="primary" size="mini" @click="saveUser">保存基本信息</el-button> | ||
127 | + </div> | ||
128 | + </el-form> | ||
129 | + </div> | ||
130 | + <!--资产信息--> | ||
131 | + <div class="title"> | ||
132 | + <i class="iconfont icon-liebiaomoshi"/> 资产信息 | ||
133 | + | ||
134 | + <el-dropdown size="mini" split-button @click="assetsAdd('bastion',`新建${icon['bastion'].name}资产`)" style="margin-left: 20px"> | ||
135 | + <i class="icon el-icon-plus"/>添加{{icon['bastion'].name}} | ||
136 | + <template #dropdown> | ||
137 | + <div style="max-height: 300px;overflow-y: auto"> | ||
138 | + <el-dropdown-menu> | ||
139 | + <el-dropdown-item v-for="(v,k) in icon" @click="assetsAdd(k,`新建${icon[k].name}资产`)"> | ||
140 | + 添加{{v.name}} | ||
141 | + </el-dropdown-item> | ||
142 | + </el-dropdown-menu> | ||
143 | + </div> | ||
144 | + </template> | ||
145 | + </el-dropdown> | ||
146 | + </div> | ||
147 | + | ||
148 | + <div v-for="(v,k) in assetsMaps"> | ||
149 | + <div class="zc-view" v-for="(arr,index) in v"> | ||
150 | + <div class="zc-img"> | ||
151 | + <i class="iconfont" :class="icon[k].icon"></i><br/> | ||
152 | + {{ icon[k].name }} | ||
153 | + <span v-if="index > 0">({{index}})</span> | ||
154 | + </div> | ||
155 | + <div class="zc-info"> | ||
156 | + <div class="zc-item"> | ||
157 | + <div class="zc-item-label" v-for="(item,index2) in arr"> | ||
158 | + <span class="zc-item-label-left">{{item.name}}:</span> | ||
159 | + <span class="zc-item-label-right">{{item.value}}</span> | ||
160 | + </div> | ||
161 | + </div> | ||
162 | + <div class="zc-item-tools"> | ||
163 | + <el-button-group size="mini"> | ||
164 | + <el-button @click="btnClick('add',arr,`新建${icon[k].name}资产`)"> | ||
165 | + <i class="el-icon-plus"/> | ||
166 | + </el-button> | ||
167 | + <!--<el-button @click="btnClick('save',arr,`保存${icon[k].name}资产`)"> | ||
168 | + <i class="el-icon-check"/> | ||
169 | + </el-button>--> | ||
170 | + <el-button @click="btnClick('edit',arr,`编辑${icon[k].name}资产`)"> | ||
171 | + <i class="el-icon-edit"/> | ||
172 | + </el-button> | ||
173 | + <el-button @click="deleteAssets(arr,`删除${icon[k].name}资产`)"> | ||
174 | + <i class="el-icon-remove"/> | ||
175 | + </el-button> | ||
176 | + </el-button-group> | ||
79 | </div> | 177 | </div> |
80 | - <!-- <el-form-item> | ||
81 | - <el-button type="primary" @click="submitForm('ruleForm')" | ||
82 | - >Create</el-button | ||
83 | - > | ||
84 | - <el-button @click="resetForm('ruleForm')">Reset</el-button> | ||
85 | - </el-form-item> --> | 178 | + </div> |
179 | + </div> | ||
180 | + </div> | ||
181 | + | ||
182 | + <cm-dialog :title="btnType.title" width="60%" :showDialogVisible="op" @hidedialog="showDialog" :showFooter="true" @okfunc="okFunc"> | ||
183 | + <template v-slot style="padding: 10px"> | ||
184 | + <el-form label-width="120px" :size="$global.elementSize" label-position="top" > | ||
185 | + <el-row :gutter="5" > | ||
186 | + <el-col :span="8" v-for="item in btnType.data"> | ||
187 | + <el-form-item :label="item.name" :prop="item.name" class="form-class"> | ||
188 | + <el-input v-if="item.extend && item.extend.dict == undefined" v-model="item.value"></el-input> | ||
189 | + | ||
190 | + <el-select v-else v-model="item.value" :placeholder="`请选择${item.name}`"> | ||
191 | + <el-option | ||
192 | + v-for="item in item.extend.dict" | ||
193 | + :key="item.value" | ||
194 | + :label="item.name" | ||
195 | + :value="item.name" > | ||
196 | + </el-option> | ||
197 | + </el-select> | ||
198 | + | ||
199 | + </el-form-item> | ||
200 | + </el-col> | ||
201 | + | ||
202 | + </el-row> | ||
86 | </el-form> | 203 | </el-form> |
204 | + </template> | ||
205 | + </cm-dialog> | ||
206 | + | ||
207 | + | ||
87 | </div> | 208 | </div> |
1 | +const assets = (props, {attrs, slots, emit}) => { | ||
2 | + | ||
3 | + const {proxy} = Vue.getCurrentInstance(); | ||
4 | + let assetsMaps = Vue.ref({}); | ||
5 | + let btnType = Vue.ref({ | ||
6 | + flg: '', | ||
7 | + data: [] | ||
8 | + }); | ||
9 | + | ||
10 | + // 类型 bastion 堡垒机,dam 防水坝,virtual 虚拟桌面 | ||
11 | + let icon = { | ||
12 | + bastion: { | ||
13 | + name: '堡垒机', | ||
14 | + icon: 'icon-baoleiji' | ||
15 | + }, | ||
16 | + dam: { | ||
17 | + name: '防水坝', | ||
18 | + icon: 'icon-shuiba2' | ||
19 | + }, | ||
20 | + virtual: { | ||
21 | + name: '虚拟桌面', | ||
22 | + icon: 'icon-xunizhuomian' | ||
23 | + }, | ||
24 | + } | ||
25 | + | ||
26 | + // 查询列表 | ||
27 | + let getAssets = () => { | ||
28 | + proxy.$http.get(`/api-web/person/assets/userList/${props.parentNode.id}`, {}, function (res) { | ||
29 | + if (res && res.map) { | ||
30 | + assetsMaps.value = res.map; | ||
31 | + } | ||
32 | + }); | ||
33 | + } | ||
34 | + | ||
35 | + let assetsAdd = (type, msg) => { | ||
36 | + proxy.$http.get(`/api-web/person/assets/typeList/${type}`, {}, function (res) { | ||
37 | + if (res && res.data && res.data.length > 0) { | ||
38 | + btnClick('add',res.data,msg); | ||
39 | + } else { | ||
40 | + proxy.$global.showMsg("没有配置属性!","warning"); | ||
41 | + } | ||
42 | + }); | ||
43 | + } | ||
44 | + | ||
45 | + /** | ||
46 | + * 新增资产 | ||
47 | + * <p> | ||
48 | + * 作者: Wang | ||
49 | + * 时间:2021/11/3 20:14 | ||
50 | + */ | ||
51 | + let btnClick = (flg, arr, title) => { | ||
52 | + let data = []; | ||
53 | + if ('add' == flg) { | ||
54 | + // 新增复制 | ||
55 | + arr.map((v) => { | ||
56 | + let obj = {...v}; | ||
57 | + obj.value = ''; | ||
58 | + obj.id = 0; | ||
59 | + obj.groupings = (new Date()).getTime(); | ||
60 | + data.push(obj) | ||
61 | + }) | ||
62 | + } else { | ||
63 | + data = arr; | ||
64 | + } | ||
65 | + | ||
66 | + data.map(function (v){ | ||
67 | + let str = v.extend; | ||
68 | + if(str){ | ||
69 | + try { | ||
70 | + let json = JSON.parse(str); | ||
71 | + v.extend = json; | ||
72 | + }catch (e){ | ||
73 | + } | ||
74 | + } | ||
75 | + }) | ||
76 | + | ||
77 | + btnType.value = { | ||
78 | + flg: flg, | ||
79 | + data: data, | ||
80 | + title: title | ||
81 | + } | ||
82 | + showDialog(true); | ||
83 | + } | ||
84 | + | ||
85 | + /** | ||
86 | + * 新增资产 | ||
87 | + * <p> | ||
88 | + * 作者: Wang | ||
89 | + * 时间:2021/11/3 20:14 | ||
90 | + */ | ||
91 | + let addAssets = () => { | ||
92 | + let data = btnType.value.data | ||
93 | + data.map(function (v){ | ||
94 | + v.extend = JSON.stringify(v.extend); | ||
95 | + }) | ||
96 | + proxy.$http.post(`/api-web/person/assets/add/${props.parentNode.id}`,data , function (res) { | ||
97 | + if (res && res.success) { | ||
98 | + proxy.$global.showMsg("添加成功"); | ||
99 | + showDialog(false); | ||
100 | + getAssets(); | ||
101 | + } | ||
102 | + }); | ||
103 | + } | ||
104 | + | ||
105 | + | ||
106 | + /** | ||
107 | + * 保存资产 | ||
108 | + * <p> | ||
109 | + * 作者: Wang | ||
110 | + * 时间:2021/11/3 20:14 | ||
111 | + */ | ||
112 | + let saveAssets = () => { | ||
113 | + let data = btnType.value.data | ||
114 | + data.map(function (v){ | ||
115 | + v.extend = JSON.stringify(v.extend); | ||
116 | + }) | ||
117 | + proxy.$http.post(`/api-web/person/assets/edit/${props.parentNode.id}`, data, function (res) { | ||
118 | + if (res && res.success) { | ||
119 | + proxy.$global.showMsg("编辑成功"); | ||
120 | + showDialog(false); | ||
121 | + getAssets(); | ||
122 | + } | ||
123 | + }); | ||
124 | + } | ||
125 | + | ||
126 | + /** | ||
127 | + * 删除资产 | ||
128 | + * <p> | ||
129 | + * 作者: Wang | ||
130 | + * 时间:2021/11/3 20:14 | ||
131 | + */ | ||
132 | + let deleteAssets = (arr) => { | ||
133 | + proxy.$global.confirm(`您确认永久删除该资产信息吗?`,function (){ | ||
134 | + proxy.$http.post(`/api-web/person/assets/delete/${props.parentNode.id}`, arr, function (res) { | ||
135 | + if (res && res.success) { | ||
136 | + proxy.$global.showMsg("删除成功"); | ||
137 | + } else { | ||
138 | + proxy.$global.showMsg("删除失败,资产不存在或者已被删除!","error"); | ||
139 | + } | ||
140 | + showDialog(false); | ||
141 | + getAssets(); | ||
142 | + }); | ||
143 | + }) | ||
144 | + } | ||
145 | + | ||
146 | + // 弹框标识 | ||
147 | + let op = Vue.ref(false); | ||
148 | + | ||
149 | + /** | ||
150 | + * 展示编辑弹框 | ||
151 | + * <p> | ||
152 | + * 作者: Wang | ||
153 | + * 时间:2021/11/3 20:17 | ||
154 | + */ | ||
155 | + let showDialog = (flg) => { | ||
156 | + op.value = flg; | ||
157 | + } | ||
158 | + | ||
159 | + let okFunc = () => { | ||
160 | + let flg = btnType.value.flg; | ||
161 | + if (flg == 'add') { | ||
162 | + addAssets(); | ||
163 | + } else if (flg == 'edit') { | ||
164 | + saveAssets(); | ||
165 | + } | ||
166 | + } | ||
167 | + | ||
168 | + return { | ||
169 | + icon, | ||
170 | + getAssets, | ||
171 | + assetsMaps, | ||
172 | + addAssets, | ||
173 | + saveAssets, | ||
174 | + deleteAssets, | ||
175 | + op, | ||
176 | + showDialog, | ||
177 | + okFunc, | ||
178 | + btnClick, | ||
179 | + btnType, | ||
180 | + assetsAdd | ||
181 | + } | ||
182 | +} | ||
183 | + | ||
184 | + | ||
1 | export default { | 185 | export default { |
2 | name: 'projectPJIndex', | 186 | name: 'projectPJIndex', |
3 | template: '', | 187 | template: '', |
@@ -25,6 +209,7 @@ export default { | @@ -25,6 +209,7 @@ export default { | ||
25 | const {proxy} = Vue.getCurrentInstance(); | 209 | const {proxy} = Vue.getCurrentInstance(); |
26 | let imageUrl = Vue.ref(''); | 210 | let imageUrl = Vue.ref(''); |
27 | 211 | ||
212 | + | ||
28 | let ruleForm = Vue.ref({ | 213 | let ruleForm = Vue.ref({ |
29 | nickname: '', | 214 | nickname: '', |
30 | sex: 0, | 215 | sex: 0, |
@@ -47,12 +232,13 @@ export default { | @@ -47,12 +232,13 @@ export default { | ||
47 | // 获取表格数据 | 232 | // 获取表格数据 |
48 | let getPage = () => { | 233 | let getPage = () => { |
49 | proxy.$http.get("/api-web/bOpsPerson/search", { | 234 | proxy.$http.get("/api-web/bOpsPerson/search", { |
235 | + "nickname": props.parentNode.label, | ||
50 | "id": props.parentNode.id, | 236 | "id": props.parentNode.id, |
51 | "projectId": props.projectId | 237 | "projectId": props.projectId |
52 | }, function (res) { | 238 | }, function (res) { |
53 | if (res && res.object) { | 239 | if (res && res.object) { |
54 | ruleForm.value = res.object | 240 | ruleForm.value = res.object |
55 | - }else { | 241 | + } else { |
56 | ruleForm.value = res.object | 242 | ruleForm.value = res.object |
57 | } | 243 | } |
58 | }); | 244 | }); |
@@ -65,7 +251,7 @@ export default { | @@ -65,7 +251,7 @@ export default { | ||
65 | // 保存用户信息 | 251 | // 保存用户信息 |
66 | let saveUser = () => { | 252 | let saveUser = () => { |
67 | 253 | ||
68 | - proxy.$http.post("/api-web/bOpsPerson/saveOrUpdate",ruleForm.value , function (res) { | 254 | + proxy.$http.post("/api-web/bOpsPerson/saveOrUpdate", ruleForm.value, function (res) { |
69 | if (res && res.code == 0) { | 255 | if (res && res.code == 0) { |
70 | proxy.$global.showMsg('保存成功!'); | 256 | proxy.$global.showMsg('保存成功!'); |
71 | } | 257 | } |
@@ -73,10 +259,10 @@ export default { | @@ -73,10 +259,10 @@ export default { | ||
73 | } | 259 | } |
74 | 260 | ||
75 | 261 | ||
76 | - let getFile = (param) =>{ | 262 | + let getFile = (param) => { |
77 | let fileObj = param.file | 263 | let fileObj = param.file |
78 | let params = { | 264 | let params = { |
79 | - file:fileObj, | 265 | + file: fileObj, |
80 | id: props.parentNode.id | 266 | id: props.parentNode.id |
81 | } | 267 | } |
82 | // 上传文件 | 268 | // 上传文件 |
@@ -88,30 +274,64 @@ export default { | @@ -88,30 +274,64 @@ export default { | ||
88 | imageUrl.value = URL.createObjectURL(fileObj); | 274 | imageUrl.value = URL.createObjectURL(fileObj); |
89 | } | 275 | } |
90 | 276 | ||
91 | - let beforeAvatarUpload = (file) =>{ | 277 | + let beforeAvatarUpload = (file) => { |
92 | const isJPG = file.type.indexOf('image/') != -1 | 278 | const isJPG = file.type.indexOf('image/') != -1 |
93 | if (!isJPG) { | 279 | if (!isJPG) { |
94 | - proxy.$global.showMsg('您上传的不是图片文件,请选择图片!','error'); | 280 | + proxy.$global.showMsg('您上传的不是图片文件,请选择图片!', 'error'); |
95 | } | 281 | } |
96 | return isJPG | 282 | return isJPG |
97 | } | 283 | } |
98 | 284 | ||
285 | + let isAdmin = () => { | ||
286 | + return localStorage.getItem('lgn') != 'admin'; | ||
287 | + } | ||
288 | + | ||
289 | + const { | ||
290 | + icon, | ||
291 | + getAssets, | ||
292 | + assetsMaps, | ||
293 | + addAssets, | ||
294 | + saveAssets, | ||
295 | + deleteAssets, | ||
296 | + op, | ||
297 | + showDialog, | ||
298 | + okFunc, | ||
299 | + btnClick, | ||
300 | + btnType, | ||
301 | + assetsAdd | ||
302 | + } = assets(props, {attrs, slots, emit}); | ||
303 | + | ||
99 | // // 挂载完 | 304 | // // 挂载完 |
100 | Vue.onMounted(() => { | 305 | Vue.onMounted(() => { |
101 | getPage(); | 306 | getPage(); |
307 | + getAssets(); | ||
102 | }) | 308 | }) |
103 | 309 | ||
104 | // 监听编辑状态 | 310 | // 监听编辑状态 |
105 | Vue.watch(() => props.projectId, (newValue, oldVlaue) => { | 311 | Vue.watch(() => props.projectId, (newValue, oldVlaue) => { |
106 | getPage(); | 312 | getPage(); |
313 | + getAssets(); | ||
107 | }); | 314 | }); |
108 | - | ||
109 | return { | 315 | return { |
110 | imageUrl, | 316 | imageUrl, |
111 | ruleForm, | 317 | ruleForm, |
112 | saveUser, | 318 | saveUser, |
113 | getFile, | 319 | getFile, |
114 | beforeAvatarUpload, | 320 | beforeAvatarUpload, |
321 | + isAdmin, | ||
322 | + // 资产属性 | ||
323 | + icon, | ||
324 | + getAssets, | ||
325 | + assetsMaps, | ||
326 | + addAssets, | ||
327 | + saveAssets, | ||
328 | + deleteAssets, | ||
329 | + op, | ||
330 | + showDialog, | ||
331 | + okFunc, | ||
332 | + btnClick, | ||
333 | + btnType, | ||
334 | + assetsAdd | ||
115 | } | 335 | } |
116 | } | 336 | } |
117 | } | 337 | } |
@@ -37,7 +37,7 @@ export default { | @@ -37,7 +37,7 @@ export default { | ||
37 | label: '日常资料', | 37 | label: '日常资料', |
38 | render: function (row) { | 38 | render: function (row) { |
39 | if(row.dayMaterial =="YES"){ | 39 | if(row.dayMaterial =="YES"){ |
40 | - return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;"></i><span></span>`; | 40 | + return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;color:#409EFF"></i><span></span>`; |
41 | }else{ | 41 | }else{ |
42 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; | 42 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; |
43 | } | 43 | } |
@@ -49,7 +49,7 @@ export default { | @@ -49,7 +49,7 @@ export default { | ||
49 | label: '文档资料', | 49 | label: '文档资料', |
50 | render: function (row) { | 50 | render: function (row) { |
51 | if(row.documentMaterial =="YES"){ | 51 | if(row.documentMaterial =="YES"){ |
52 | - return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;"></i><span></span>`; | 52 | + return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;color:#409EFF"></i><span></span>`; |
53 | }else{ | 53 | }else{ |
54 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; | 54 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; |
55 | } | 55 | } |
@@ -60,7 +60,7 @@ export default { | @@ -60,7 +60,7 @@ export default { | ||
60 | label: '项目保密协议', | 60 | label: '项目保密协议', |
61 | render: function (row) { | 61 | render: function (row) { |
62 | if(row.nda =="YES"){ | 62 | if(row.nda =="YES"){ |
63 | - return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;"></i><span></span>`; | 63 | + return `<i class="iconfont icon-icon--yes" style="font-size: 22px;margin-right: 10px;color:#409EFF"></i><span></span>`; |
64 | }else{ | 64 | }else{ |
65 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; | 65 | return `<i class="iconfont icon-icon--shanchu" style="font-size: 22px;margin-right: 10px;color:red"></i><span></span>`; |
66 | } | 66 | } |
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | </div> | 14 | </div> |
15 | </el-col> | 15 | </el-col> |
16 | <el-col :span="20" > | 16 | <el-col :span="20" > |
17 | - <div class="cm-card" :style="{'min-height':height+'px','height':'100%','padding-left':'5px'}" > | 17 | + <div class="cm-card" :style="{'max-height':height+'px','height':'100%','padding-left':'5px'}" > |
18 | <component v-bind:is="componentName" | 18 | <component v-bind:is="componentName" |
19 | :docType="docType" | 19 | :docType="docType" |
20 | :docTypeName="docTypeName" | 20 | :docTypeName="docTypeName" |
-
Please register or login to post a comment