Merge branch 'master' of http://192.168.1.136:82/monitor_v3/hg-monitor-web into …
…master-v32-lushangqing
Showing
21 changed files
with
515 additions
and
25 deletions
@@ -1714,6 +1714,12 @@ layui.define(['xmSelect', 'md5'], function (exports) { | @@ -1714,6 +1714,12 @@ layui.define(['xmSelect', 'md5'], function (exports) { | ||
1714 | }); | 1714 | }); |
1715 | }); | 1715 | }); |
1716 | }; | 1716 | }; |
1717 | + //修改基本信息 joke add 20211206 | ||
1718 | + admin.events.changeInfo = function () { | ||
1719 | + obj.openWin('baseconfig/user/userChange', '编辑', {id: sessionStorage.getItem('user_id'),type:'userChange'}, ['保存', '取消'], function f() { | ||
1720 | + $("#user_form_save_id").trigger("click"); | ||
1721 | + },null,['60%', '45%']); | ||
1722 | + }; | ||
1717 | 1723 | ||
1718 | // 监听拓扑iframe事件 | 1724 | // 监听拓扑iframe事件 |
1719 | window.onmessage = function (messageEvent) { | 1725 | window.onmessage = function (messageEvent) { |
@@ -52,18 +52,18 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laytpl', | @@ -52,18 +52,18 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laytpl', | ||
52 | success: function (response) { | 52 | success: function (response) { |
53 | layer.closeAll('loading'); | 53 | layer.closeAll('loading'); |
54 | if (response && response.success) { | 54 | if (response && response.success) { |
55 | - if(response.map){ | ||
56 | - var isMonitoringCount=response.map.isMonitoringCount?response.map.isMonitoringCount:'0'; | ||
57 | - var noMonitoringCount=response.map.noMonitoringCount?response.map.noMonitoringCount:'0'; | ||
58 | - var isPingCount=response.map.isPingCount?response.map.isPingCount:'0'; | ||
59 | - var noPingCount=response.map.noPingCount?response.map.noPingCount:'0'; | 55 | + if (response.map) { |
56 | + var isMonitoringCount = response.map.isMonitoringCount ? response.map.isMonitoringCount : '0'; | ||
57 | + var noMonitoringCount = response.map.noMonitoringCount ? response.map.noMonitoringCount : '0'; | ||
58 | + var isPingCount = response.map.isPingCount ? response.map.isPingCount : '0'; | ||
59 | + var noPingCount = response.map.noPingCount ? response.map.noPingCount : '0'; | ||
60 | $("#ip-count-isPing").text(isPingCount); | 60 | $("#ip-count-isPing").text(isPingCount); |
61 | $("#ip-count-noPing").text(noPingCount); | 61 | $("#ip-count-noPing").text(noPingCount); |
62 | $("#ip-count-isMonitoring").text(isMonitoringCount); | 62 | $("#ip-count-isMonitoring").text(isMonitoringCount); |
63 | $("#ip-count-noMonitoring").text(noMonitoringCount); | 63 | $("#ip-count-noMonitoring").text(noMonitoringCount); |
64 | } | 64 | } |
65 | //清理之前 | 65 | //清理之前 |
66 | - $.each($('#div-ip-card-body .ip-tab-title'),function (i,v) { | 66 | + $.each($('#div-ip-card-body .ip-tab-title'), function (i, v) { |
67 | $(this).remove(); | 67 | $(this).remove(); |
68 | }); | 68 | }); |
69 | $('#div-ip-card-body .ip-tab-content').empty(); | 69 | $('#div-ip-card-body .ip-tab-content').empty(); |
@@ -125,6 +125,30 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laytpl', | @@ -125,6 +125,30 @@ layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'laytpl', | ||
125 | } | 125 | } |
126 | }); | 126 | }); |
127 | }); | 127 | }); |
128 | + | ||
129 | + if (response.str) {//统计段数 | ||
130 | + // var $lis = $('#div-ip-card-body').find("li"); | ||
131 | + // var li = response.str.split("&&"); | ||
132 | + // $.each(li, function (i, v) { | ||
133 | + // var name = v.split("_")[0]; | ||
134 | + // var number = v.split("_")[1]; | ||
135 | + // var sp = '<span class="layui-ip-status-item-tips" lay-tips="' + name + '域前有' + number + 'C类段">' + number + '</span>'; | ||
136 | + // var span =$lis[i]; | ||
137 | + // $(span).append(sp); | ||
138 | + // }); | ||
139 | + var str = ""; | ||
140 | + var li = response.str.split("&&"); | ||
141 | + $.each(li, function (i, v) { | ||
142 | + var name = v.split("_")[0]; | ||
143 | + var number = v.split("_")[1]; | ||
144 | + str += name + '有' + number + '个C类段' + ','; | ||
145 | + }); | ||
146 | + if(str!=""){ | ||
147 | + str=str.substring(0,str.length-1); | ||
148 | + } | ||
149 | + $('#ipTxtTips').html(str); | ||
150 | + $('#ipTxtTips').removeClass('hide'); | ||
151 | + } | ||
128 | } else { | 152 | } else { |
129 | layer.msg('获取ip信息失败!', {icon: 0}); | 153 | layer.msg('获取ip信息失败!', {icon: 0}); |
130 | } | 154 | } |
@@ -219,6 +219,7 @@ layui.define(['sessions', 'form', 'common'],function (exports) { | @@ -219,6 +219,7 @@ layui.define(['sessions', 'form', 'common'],function (exports) { | ||
219 | }) | 219 | }) |
220 | sessionStorage.setItem('permissions',data.permissions); | 220 | sessionStorage.setItem('permissions',data.permissions); |
221 | sessionStorage.setItem('roles',roles); | 221 | sessionStorage.setItem('roles',roles); |
222 | + sessionStorage.setItem('user_id',data.id); //保存用户id joke add 20211206 | ||
222 | } | 223 | } |
223 | }); | 224 | }); |
224 | }); | 225 | }); |
@@ -3457,6 +3457,7 @@ grayColor{ | @@ -3457,6 +3457,7 @@ grayColor{ | ||
3457 | display: flex; | 3457 | display: flex; |
3458 | } | 3458 | } |
3459 | 3459 | ||
3460 | + | ||
3460 | .machineroom-info .room-info-item .ip-info-title-left span{ | 3461 | .machineroom-info .room-info-item .ip-info-title-left span{ |
3461 | font-size: 20px; | 3462 | font-size: 20px; |
3462 | margin-left: 10px; | 3463 | margin-left: 10px; |
@@ -6431,10 +6432,35 @@ form.form-edit .layui-form-item .layui-input-inline { | @@ -6431,10 +6432,35 @@ form.form-edit .layui-form-item .layui-input-inline { | ||
6431 | } | 6432 | } |
6432 | 6433 | ||
6433 | .layui-status .ip-form-item{ | 6434 | .layui-status .ip-form-item{ |
6434 | - margin-right: 20%; | ||
6435 | - width: 50%; | 6435 | + margin-right: 5%; |
6436 | + width: 100%; | ||
6436 | font-weight: 700; | 6437 | font-weight: 700; |
6437 | } | 6438 | } |
6439 | +.layui-ip-status-item-tips{ | ||
6440 | + height: 20px; | ||
6441 | + /*首页告警展示数量调整*/ | ||
6442 | + width: 20px; | ||
6443 | + line-height: 20px; | ||
6444 | + margin: 0; | ||
6445 | + padding: 0 2px; | ||
6446 | + position: absolute; | ||
6447 | + font-size: 12px; | ||
6448 | + text-align: center; | ||
6449 | + border-radius: 50%; | ||
6450 | + cursor: pointer; | ||
6451 | + display: none !important; | ||
6452 | +} | ||
6453 | +.layui-this .layui-ip-status-item-tips{ | ||
6454 | + background-color: #FF5722; | ||
6455 | + color: #fff; | ||
6456 | + display: inline-block !important; | ||
6457 | +} | ||
6458 | +.layui-ip-status-txt-tips{ | ||
6459 | + font-size: 15px; | ||
6460 | + color: #666; | ||
6461 | + float: left; | ||
6462 | + font-weight: 550; | ||
6463 | +} | ||
6438 | .ip-form-item .ip-form-inline{ | 6464 | .ip-form-item .ip-form-inline{ |
6439 | display: flex; | 6465 | display: flex; |
6440 | justify-content: center; | 6466 | justify-content: center; |
@@ -34,7 +34,7 @@ | @@ -34,7 +34,7 @@ | ||
34 | </div> | 34 | </div> |
35 | <div class="layui-inline "> | 35 | <div class="layui-inline "> |
36 | <label class="layui-form-label">性别<span style="color: red">*</span></label> | 36 | <label class="layui-form-label">性别<span style="color: red">*</span></label> |
37 | - <div class="layui-input-inline"> | 37 | + <div class="layui-input-inline radio-div"> |
38 | <input type="radio" name="sex" value="1" title="男" checked lay-filter="sex"> | 38 | <input type="radio" name="sex" value="1" title="男" checked lay-filter="sex"> |
39 | <input type="radio" name="sex" value="0" title="女" lay-filter="sex"> | 39 | <input type="radio" name="sex" value="0" title="女" lay-filter="sex"> |
40 | </div> | 40 | </div> |
@@ -49,7 +49,7 @@ | @@ -49,7 +49,7 @@ | ||
49 | </div> | 49 | </div> |
50 | <div class="layui-inline "> | 50 | <div class="layui-inline "> |
51 | <label class="layui-form-label">运营商<span style="color: red">*</span></label> | 51 | <label class="layui-form-label">运营商<span style="color: red">*</span></label> |
52 | - <div class="layui-input-inline"> | 52 | + <div class="layui-input-inline radio-div"> |
53 | <input type="radio" name="operator" value="mobile" title="移动" checked lay-filter="operator"> | 53 | <input type="radio" name="operator" value="mobile" title="移动" checked lay-filter="operator"> |
54 | <input type="radio" name="operator" value="unicom" title="联通" lay-filter="operator"> | 54 | <input type="radio" name="operator" value="unicom" title="联通" lay-filter="operator"> |
55 | <input type="radio" name="operator" value="telecom" title="电信" lay-filter="operator"> | 55 | <input type="radio" name="operator" value="telecom" title="电信" lay-filter="operator"> |
@@ -101,7 +101,13 @@ | @@ -101,7 +101,13 @@ | ||
101 | <div id="user_property_html_id" style="margin-top: 30px;" class="layui-form layui-form-pane layui-form-flex hide"> | 101 | <div id="user_property_html_id" style="margin-top: 30px;" class="layui-form layui-form-pane layui-form-flex hide"> |
102 | 102 | ||
103 | </div> | 103 | </div> |
104 | - | 104 | +<style> |
105 | + .radio-div{ | ||
106 | + border-radius: 0 2px 2px 0; | ||
107 | + padding: 0 10px; | ||
108 | + border: 1px solid #e6e6e6; | ||
109 | + } | ||
110 | +</style> | ||
105 | <script> | 111 | <script> |
106 | layui.use('userAdd', function (fn) { | 112 | layui.use('userAdd', function (fn) { |
107 | fn({{d}}) | 113 | fn({{d}}) |
@@ -44,6 +44,9 @@ | @@ -44,6 +44,9 @@ | ||
44 | <span>未监控</span> | 44 | <span>未监控</span> |
45 | <span class="ip-form-span-font" style="color: #FF7E00" id="ip-count-noMonitoring">0</span> | 45 | <span class="ip-form-span-font" style="color: #FF7E00" id="ip-count-noMonitoring">0</span> |
46 | </div> | 46 | </div> |
47 | + <div class="layui-ip-status-txt-tips hide" id="ipTxtTips"> | ||
48 | + | ||
49 | + </div> | ||
47 | </div> | 50 | </div> |
48 | </div> | 51 | </div> |
49 | </div> | 52 | </div> |
1 | +layui.define(['table', 'form', 'admin', 'layer', 'common', 'sessions', 'xmSelect'], function (exports) { | ||
2 | + var $ = layui.$; | ||
3 | + var form = layui.form; | ||
4 | + var layer = layui.layer; | ||
5 | + var admin = layui.admin; | ||
6 | + var table = layui.table; | ||
7 | + var common = layui.common; | ||
8 | + var session = layui.sessions; | ||
9 | + var domainName = common.domainName; | ||
10 | + var xmSelect = layui.xmSelect; | ||
11 | + var orgTable; | ||
12 | + //对外暴露的接口 | ||
13 | + exports('userChange', function (data) { | ||
14 | + var accessToken = session.getToken()['access_token'] | ||
15 | + var roleSelect = {} | ||
16 | + var orgSelect = {} | ||
17 | + var listData = []; | ||
18 | + var userOrgSel; | ||
19 | + //属性数据 | ||
20 | + var propertyList = []; | ||
21 | + | ||
22 | + selectData(); | ||
23 | + // //加载表单数据 | ||
24 | + initUserProperty(); | ||
25 | + initOrgSelect() | ||
26 | + initRolesSelect() | ||
27 | + | ||
28 | + form.render(); | ||
29 | + console.log('------'+data.id); | ||
30 | + //回显数据 | ||
31 | + if (data && data.id) { | ||
32 | + $('#addUserForm').find("input[name='username']").attr("readonly", "readonly") | ||
33 | + $.ajax({ | ||
34 | + url: domainName + `/api-user/users/${data.id}?access_token=` + accessToken, | ||
35 | + success: function (res) { | ||
36 | + form.val('add-user-form', res) | ||
37 | + if (res.orgId != null && res.orgId.length > 0) { | ||
38 | + userOrgSel.setValue([res.orgId]); | ||
39 | + } | ||
40 | + if (res.roleId != null && res.roleId.length > 0) { | ||
41 | + roleSelect.setValue(res.roleId.split(',')) | ||
42 | + } | ||
43 | + if (res && res.userProperty && res.userProperty.length > 0) { | ||
44 | + //回显用户属性 | ||
45 | + evaluation(res.userProperty); | ||
46 | + //用户扩展属性展开 | ||
47 | + $("#user_property_html_id").removeClass('hide'); | ||
48 | + $("#userPropertyBelow").addClass('hide'); | ||
49 | + $("#userPropertyUP").removeClass('hide'); | ||
50 | + form.render(); | ||
51 | + } | ||
52 | + } | ||
53 | + }) | ||
54 | + | ||
55 | + } | ||
56 | + | ||
57 | + //保存 | ||
58 | + form.on('submit(user_form_save_id)', function () { | ||
59 | + var load = layer.load(2); | ||
60 | + form.render(); | ||
61 | + var data = form.val('add-user-form'); | ||
62 | + data.userProperty = addUserProperty(); | ||
63 | + // data.orgId = orgSelect.getValue('valueStr') | ||
64 | + data.roleId = roleSelect.getValue('valueStr') | ||
65 | + delete data['select'] | ||
66 | + $.ajax({ | ||
67 | + url: domainName + '/api-user/users/saveOrUpdate?access_token=' + accessToken, | ||
68 | + data: JSON.stringify(data), | ||
69 | + type: 'post', | ||
70 | + contentType: "application/json; charset=utf-8", | ||
71 | + success: function (res) { | ||
72 | + if (res.resp_code == 0) { | ||
73 | + layer.msg(res.resp_msg, { | ||
74 | + offset: '15px', | ||
75 | + icon: 1, | ||
76 | + time: 2000, | ||
77 | + }, function () { | ||
78 | + layer.closeAll() | ||
79 | + table.reload('user_table', {}); | ||
80 | + form.render(); | ||
81 | + }) | ||
82 | + } else { | ||
83 | + layer.msg(res.resp_msg, { | ||
84 | + offset: '15px', | ||
85 | + icon: 7, | ||
86 | + time: 1000, | ||
87 | + }, function () { | ||
88 | + layer.close(load) | ||
89 | + }) | ||
90 | + } | ||
91 | + }, | ||
92 | + error: function () { | ||
93 | + layer.close(load) | ||
94 | + } | ||
95 | + }) | ||
96 | + return false | ||
97 | + }) | ||
98 | + | ||
99 | + //初始化角色下拉列表框 | ||
100 | + function initRolesSelect() { | ||
101 | + $.ajax({ | ||
102 | + url: domainName + '/api-user/roles?access_token=' + accessToken, | ||
103 | + async: false, | ||
104 | + success: function (res) { | ||
105 | + roleSelect = xmSelect.render({ | ||
106 | + el: '.roles', | ||
107 | + prop: { | ||
108 | + name: 'name', | ||
109 | + value: 'id' | ||
110 | + }, | ||
111 | + layVerify: 'required', | ||
112 | + layVerType: 'msg', | ||
113 | + data: res.data, | ||
114 | + }) | ||
115 | + var remarklist={}; | ||
116 | + //获取 | ||
117 | + $.each(res.data,function (i,v) { | ||
118 | + remarklist[v.name]=v.remark?v.remark:'暂无描述'; | ||
119 | + }); | ||
120 | + $("#addUserForm").on('mouseover', '.roles .xm-option-content', function () { | ||
121 | + var key = $(this).text(); | ||
122 | + layer.tips(remarklist[key], $(this), {tips: [1], time: 2000}); | ||
123 | + }) | ||
124 | + } | ||
125 | + }) | ||
126 | + } | ||
127 | + | ||
128 | + //初始化部门下拉列表框 | ||
129 | + function initOrgSelect() { | ||
130 | + $.ajax({ | ||
131 | + url: domainName + '/api-user/org/getOrgTreeByPid?access_token=' + accessToken, | ||
132 | + async: false, | ||
133 | + success: function (res) { | ||
134 | + userOrgSel = xmSelect.render({ | ||
135 | + el: '#userorgId', | ||
136 | + name:"orgId", | ||
137 | + model: { label: { type: 'text' } }, | ||
138 | + radio: true, | ||
139 | + clickClose: true, | ||
140 | + filterable: true, | ||
141 | + layVerify: 'required', | ||
142 | + tree: { | ||
143 | + show: true, | ||
144 | + strict: false, | ||
145 | + expandedKeys: [ -1 ], | ||
146 | + }, | ||
147 | + height: 'auto', | ||
148 | + on: function(data){ | ||
149 | + if(data.isAdd){ | ||
150 | + return data.change.slice(0, 1) | ||
151 | + } | ||
152 | + }, | ||
153 | + data(){ | ||
154 | + return res.data | ||
155 | + } | ||
156 | + }) | ||
157 | + } | ||
158 | + }) | ||
159 | + | ||
160 | + | ||
161 | + // $.ajax({ | ||
162 | + // url: domainName + '/api-user/org/list/admin?access_token=' + accessToken, | ||
163 | + // async: false, | ||
164 | + // success: function (res) { | ||
165 | + // orgSelect = xmSelect.render({ | ||
166 | + // el: '.org', | ||
167 | + // radio: true, | ||
168 | + // clickClose: true, | ||
169 | + // prop: { | ||
170 | + // name: 'orgName', | ||
171 | + // value: 'orgId' | ||
172 | + // }, | ||
173 | + // layVerify: 'required', | ||
174 | + // layVerType: 'msg', | ||
175 | + // data: res.data, | ||
176 | + // }) | ||
177 | + // } | ||
178 | + // }) | ||
179 | + } | ||
180 | + | ||
181 | + //添加用户扩展属性 | ||
182 | + $("#addUserProperty").on("click", function () { | ||
183 | + var property=$("#user_property_html_id").hasClass('hide'); | ||
184 | + if(property){ | ||
185 | + $("#user_property_html_id").removeClass('hide'); | ||
186 | + $("#userPropertyBelow").addClass('hide'); | ||
187 | + $("#userPropertyUP").removeClass('hide'); | ||
188 | + }else{ | ||
189 | + $("#user_property_html_id").addClass('hide'); | ||
190 | + $("#userPropertyBelow").removeClass('hide'); | ||
191 | + $("#userPropertyUP").addClass('hide'); | ||
192 | + } | ||
193 | + }); | ||
194 | + | ||
195 | + //获取属性值 | ||
196 | + function addUserProperty() { | ||
197 | + var arr = []; | ||
198 | + var $inputs = $("#user_property_html_id").find("input"); | ||
199 | + $.each($inputs, function (i, e) { | ||
200 | + var obj = { | ||
201 | + id: $(e).attr("data-id"), | ||
202 | + username: $(e).attr("data-username"), | ||
203 | + property: $(e).attr("data-property"), | ||
204 | + value: $(e).val(), | ||
205 | + sort: $(e).attr("data-sort"), | ||
206 | + remark: $(e).attr("data-remark") | ||
207 | + }; | ||
208 | + arr.push(obj) | ||
209 | + }) | ||
210 | + return arr; | ||
211 | + } | ||
212 | + | ||
213 | + //获取用户表单属性数据 | ||
214 | + function selectData() { | ||
215 | + admin.req({ | ||
216 | + url: common.domainName + '/api-web/manage/ddic/findSucDdics/user_property' | ||
217 | + , method: 'POST' | ||
218 | + , async: false | ||
219 | + , success: function (res) { | ||
220 | + // $.each(res.data, function (i, v) { | ||
221 | + // var vl = { | ||
222 | + // name: v.ddicName, value: v.ddicCode | ||
223 | + // }; | ||
224 | + // propertyList.push(vl); | ||
225 | + // }); | ||
226 | + propertyList = res.data | ||
227 | + } | ||
228 | + }); | ||
229 | + } | ||
230 | + | ||
231 | + //初始化表单 | ||
232 | + function initUserProperty() { | ||
233 | + var rowHead = '<div class="layui-form-item">'; | ||
234 | + var rowTail = '</div>'; | ||
235 | + var content = ''; | ||
236 | + $.each(propertyList, function (i, v) { | ||
237 | + var property = ' <div class="layui-inline ">' + | ||
238 | + ' <label class="layui-form-label">' + v.ddicName + '</label>' + | ||
239 | + ' <div class="layui-input-inline">' + | ||
240 | + ' <input type="text" data-property="'+v.ddicCode+'" placeholder="'+v.ddicDesc+'" data-id="" data-username="" data-sort="" data-remark="" class="layui-input" name="' + v.ddicCode + '" autocomplete="off">' + | ||
241 | + ' </div>' + | ||
242 | + ' </div>'; | ||
243 | + if (i % 2 == 0 && i != 0) { | ||
244 | + content += rowTail; | ||
245 | + } | ||
246 | + if (i % 2 == 0) {//需要添加表头 | ||
247 | + content += rowHead + property; | ||
248 | + } else {// | ||
249 | + content += property; | ||
250 | + } | ||
251 | + }); | ||
252 | + $('#user_property_html_id').append(content); | ||
253 | + } | ||
254 | + | ||
255 | + //回显属性信息 | ||
256 | + function evaluation(list){ | ||
257 | + var $inputs = $("#user_property_html_id").find("input"); | ||
258 | + $.each($inputs, function (i, e) { | ||
259 | + var $that=$(this); | ||
260 | + $.each(list, function (index,v) { | ||
261 | + if($that.attr('data-property')== v.property){ | ||
262 | + $that.attr("data-id",v.id); | ||
263 | + $that.attr("data-username",v.username); | ||
264 | + $that.val(v.value); | ||
265 | + $that.attr("data-sort",v.sort); | ||
266 | + $that.attr("data-remark",v.remark); | ||
267 | + } | ||
268 | + }); | ||
269 | + }); | ||
270 | + } | ||
271 | + }) | ||
272 | +}) |
1 | +<form class="layui-form layui-form-pane layui-form-flex" id="addUserForm" lay-filter="add-user-form" | ||
2 | + name="add-user-form" onsubmit="return false;"> | ||
3 | + <input hidden name="id" id="id"> | ||
4 | + <div class="layui-form-item"> | ||
5 | + <div class="layui-inline "> | ||
6 | + <label class="layui-form-label">账户名<span style="color: red">*</span></label> | ||
7 | + <div class="layui-input-inline"> | ||
8 | + <input type="text" readonly="readonly" class="layui-input" name="username" lay-verify="required" autocomplete="off"> | ||
9 | + </div> | ||
10 | + </div> | ||
11 | + <div class="layui-inline "> | ||
12 | + <label class="layui-form-label">昵称<span style="color: red">*</span></label> | ||
13 | + <div class="layui-input-inline"> | ||
14 | + <input type="text" readonly="readonly" class="layui-input" name="nickname" lay-verify="required" autocomplete="off"> | ||
15 | + </div> | ||
16 | + </div> | ||
17 | + </div> | ||
18 | + <div class="layui-form-item"> | ||
19 | + <div class="layui-inline "> | ||
20 | + <label class="layui-form-label">性别<span style="color: red">*</span></label> | ||
21 | + <div class="layui-input-inline radio-div"> | ||
22 | + <input type="radio" name="sex" value="1" title="男" checked lay-filter="sex"> | ||
23 | + <input type="radio" name="sex" value="0" title="女" lay-filter="sex"> | ||
24 | + </div> | ||
25 | + </div> | ||
26 | + <div class="layui-inline "> | ||
27 | + <label class="layui-form-label">运营商<span style="color: red">*</span></label> | ||
28 | + <div class="layui-input-inline radio-div"> | ||
29 | + <input type="radio" name="operator" value="mobile" title="移动" checked lay-filter="operator"> | ||
30 | + <input type="radio" name="operator" value="unicom" title="联通" lay-filter="operator"> | ||
31 | + <input type="radio" name="operator" value="telecom" title="电信" lay-filter="operator"> | ||
32 | + </div> | ||
33 | + </div> | ||
34 | + | ||
35 | + </div> | ||
36 | + <div class="layui-form-item"> | ||
37 | + <div class="layui-inline "> | ||
38 | + <label class="layui-form-label">手机号<span style="color: red">*</span></label> | ||
39 | + <div class="layui-input-inline"> | ||
40 | + <input type="text" class="layui-input" name="phone" lay-verify="required" autocomplete="off"> | ||
41 | + </div> | ||
42 | + </div> | ||
43 | + <div class="layui-inline "> | ||
44 | + <label class="layui-form-label">职务</label> | ||
45 | + <div class="layui-input-inline"> | ||
46 | + <input type="text" class="layui-input" name="post" autocomplete="off"> | ||
47 | + </div> | ||
48 | + </div> | ||
49 | + </div> | ||
50 | + <div class="layui-form-item"> | ||
51 | + <div class="layui-inline "> | ||
52 | + <label class="layui-form-label">邮箱</label> | ||
53 | + <div class="layui-input-inline"> | ||
54 | + <input type="text" class="layui-input" name="email" autocomplete="off"> | ||
55 | + </div> | ||
56 | + </div> | ||
57 | + </div> | ||
58 | + <div class="layui-form-item hide"> | ||
59 | + <div class="layui-inline" style="padding: 0 10px"> | ||
60 | + <label class="layui-form-label">角色<span style="color: red">*</span></label> | ||
61 | + <div class="layui-input-block roles"> | ||
62 | + </div> | ||
63 | + </div> | ||
64 | + <div class="layui-inline"> | ||
65 | + <label class="layui-form-label">所在部门<span style="color: red">*</span></label> | ||
66 | + <div class="layui-input-inline"> | ||
67 | + <div id="userorgId"></div> | ||
68 | + </div> | ||
69 | + </div> | ||
70 | + </div> | ||
71 | + | ||
72 | + <button type="submit" lay-submit class="layui-btn hide" lay-filter="user_form_save_id" id="user_form_save_id">保存 | ||
73 | + </button> | ||
74 | +</form> | ||
75 | +<fieldset class="layui-elem-field layui-field-title hide" style="margin-top: 10px;min-width: 200px"> | ||
76 | + <legend> | ||
77 | + 扩展信息 | ||
78 | + <a href="javascript:void(0);" class="layui-btn layui-btn-normal layui-btn-xs" id="addUserProperty" | ||
79 | + lay-tips="扩展信息"> | ||
80 | + <i class="layui-icon" id="userPropertyBelow" ></i> | ||
81 | + <i class="layui-icon hide" id="userPropertyUP" ></i> | ||
82 | + </a> | ||
83 | + </legend> | ||
84 | +</fieldset> | ||
85 | +<div id="user_property_html_id" style="margin-top: 30px;" class="layui-form layui-form-pane layui-form-flex hide"> | ||
86 | + | ||
87 | +</div> | ||
88 | +<style> | ||
89 | + .radio-div{ | ||
90 | + border-radius: 0 2px 2px 0; | ||
91 | + padding: 0 10px; | ||
92 | + border: 1px solid #e6e6e6; | ||
93 | + } | ||
94 | +</style> | ||
95 | +<script> | ||
96 | + layui.use('userChange', function (fn) { | ||
97 | + fn({{d}}) | ||
98 | + }) | ||
99 | +</script> |
@@ -46,7 +46,7 @@ | @@ -46,7 +46,7 @@ | ||
46 | <!--判定是否有daping角色,如果有则显示该菜单 joke add 20211203--> | 46 | <!--判定是否有daping角色,如果有则显示该菜单 joke add 20211203--> |
47 | <script type="text/html" template lay-url="{{sessionStorage.getItem('domainName')}}/api-user/users/checkHasRole?roleCode=daping"> | 47 | <script type="text/html" template lay-url="{{sessionStorage.getItem('domainName')}}/api-user/users/checkHasRole?roleCode=daping"> |
48 | {{# if(d.count > 0){ }} | 48 | {{# if(d.count > 0){ }} |
49 | - <li class="layui-nav-item" lay-tips="大屏"> | 49 | + <li class="layui-nav-item" lay-tips="监控一体化视图"> |
50 | <a href="javascript:;" layadmin-event="toBigScreen" ><img src="/src/style/img/icon-daping.png" style="width: 16px;height: 16px"></a> | 50 | <a href="javascript:;" layadmin-event="toBigScreen" ><img src="/src/style/img/icon-daping.png" style="width: 16px;height: 16px"></a> |
51 | </li> | 51 | </li> |
52 | {{# } }} | 52 | {{# } }} |
@@ -152,7 +152,7 @@ | @@ -152,7 +152,7 @@ | ||
152 | <script type="text/html" template lay-url="{{sessionStorage.getItem('domainName')}}/api-user/users/getUserByToken" | 152 | <script type="text/html" template lay-url="{{sessionStorage.getItem('domainName')}}/api-user/users/getUserByToken" |
153 | lay-done="layui.element.render('nav', 'layadmin-layout-right');"> | 153 | lay-done="layui.element.render('nav', 'layadmin-layout-right');"> |
154 | <a href="javascript:;"> | 154 | <a href="javascript:;"> |
155 | - 欢迎 <cite style="color: #1E9FFF">{{d.object.nickname}}</cite> | 155 | + 欢迎 <cite style="color: #1E9FFF" layadmin-event="changeInfo" user-info>{{d.object.nickname}}</cite> |
156 | </a> | 156 | </a> |
157 | {{# | 157 | {{# |
158 | var roles = ''; | 158 | var roles = ''; |
@@ -163,6 +163,7 @@ | @@ -163,6 +163,7 @@ | ||
163 | <li><input type="hidden" id="user_roles" value="{{roles}}"></li> | 163 | <li><input type="hidden" id="user_roles" value="{{roles}}"></li> |
164 | <dl class="layui-nav-child"> | 164 | <dl class="layui-nav-child"> |
165 | <dd layadmin-event="updtpswd" style="text-align: center;"><a>修改密码</a></dd> | 165 | <dd layadmin-event="updtpswd" style="text-align: center;"><a>修改密码</a></dd> |
166 | + <dd user-info layadmin-event="changeInfo" style="text-align: center;"><a>修改信息</a></dd> | ||
166 | <dd layadmin-event="logout" style="text-align: center;"><a>退出</a></dd> | 167 | <dd layadmin-event="logout" style="text-align: center;"><a>退出</a></dd> |
167 | </dl> | 168 | </dl> |
168 | </script> | 169 | </script> |
@@ -46,6 +46,14 @@ | @@ -46,6 +46,14 @@ | ||
46 | left: 1%; | 46 | left: 1%; |
47 | top: 55%; | 47 | top: 55%; |
48 | } | 48 | } |
49 | +.screen-header .title-right{ | ||
50 | + display: flex; | ||
51 | + align-items: center; | ||
52 | + position:absolute; | ||
53 | + transform: translateY(-80%); | ||
54 | + right: 1%; | ||
55 | + top: 55%; | ||
56 | +} | ||
49 | .screen-header .timelog{ | 57 | .screen-header .timelog{ |
50 | cursor: pointer; | 58 | cursor: pointer; |
51 | } | 59 | } |
@@ -108,7 +108,7 @@ table td .cabinetId{ | @@ -108,7 +108,7 @@ table td .cabinetId{ | ||
108 | } | 108 | } |
109 | .outlinediv .xiaoshanseven-rightcabinet{ | 109 | .outlinediv .xiaoshanseven-rightcabinet{ |
110 | margin-left: 5px; | 110 | margin-left: 5px; |
111 | - width: 40%; | 111 | + width: 49%; |
112 | } | 112 | } |
113 | .outlinediv .xiaoshanseven-middlecabinet{ | 113 | .outlinediv .xiaoshanseven-middlecabinet{ |
114 | margin-top: 20px; | 114 | margin-top: 20px; |

440 Bytes
@@ -8,6 +8,9 @@ | @@ -8,6 +8,9 @@ | ||
8 | <img src="/vue3/src/assets/images/digitalDp/icon-time.png" :style="timelogoStyle" class="timelog"> | 8 | <img src="/vue3/src/assets/images/digitalDp/icon-time.png" :style="timelogoStyle" class="timelog"> |
9 | <span :style="datetimeStyle" >{{dateTime}}</span> | 9 | <span :style="datetimeStyle" >{{dateTime}}</span> |
10 | </div> | 10 | </div> |
11 | + <div class="title-right"> | ||
12 | + <img @click="goDP" router-link to='/daping' id="goDP" src="/vue3/src/assets/images/zjdp/icon-return.png" class="img-link" style="display:none; height:30px"> | ||
13 | + </div> | ||
11 | </header> | 14 | </header> |
12 | <div class="screen-body"> | 15 | <div class="screen-body"> |
13 | <section class="screen-left" > | 16 | <section class="screen-left" > |
@@ -48,6 +48,15 @@ export default { | @@ -48,6 +48,15 @@ export default { | ||
48 | () => myImport('views/dp/components/deduction/index') | 48 | () => myImport('views/dp/components/deduction/index') |
49 | ), | 49 | ), |
50 | }, | 50 | }, |
51 | + setup(props, {attrs, slots, emit}) { | ||
52 | + const {proxy} = Vue.getCurrentInstance(); | ||
53 | + const goDP=()=>{ | ||
54 | + proxy.$router.push({path:'/zjdaping',query: {access_token:localStorage.getItem('access_token')}}) | ||
55 | + } | ||
56 | + return{ | ||
57 | + goDP | ||
58 | + } | ||
59 | + }, | ||
51 | data () { | 60 | data () { |
52 | return { | 61 | return { |
53 | titleFontSize: 30, | 62 | titleFontSize: 30, |
@@ -119,7 +128,11 @@ export default { | @@ -119,7 +128,11 @@ export default { | ||
119 | },1000); | 128 | },1000); |
120 | 129 | ||
121 | window.addEventListener('resize', this.screenAdapter) | 130 | window.addEventListener('resize', this.screenAdapter) |
122 | - this.screenAdapter() | 131 | + this.screenAdapter(); |
132 | + | ||
133 | + if (this.$route.query.msgKey){ | ||
134 | + document.getElementById("goDP").style.display="block" | ||
135 | + } | ||
123 | }, | 136 | }, |
124 | unmounted () { | 137 | unmounted () { |
125 | window.removeEventListener('resize', this.screenAdapter) | 138 | window.removeEventListener('resize', this.screenAdapter) |
@@ -12,9 +12,9 @@ | @@ -12,9 +12,9 @@ | ||
12 | <!--<div class="circlediv"> | 12 | <!--<div class="circlediv"> |
13 | <img class="rollimg" src="src/assets/images/zjdp/cycle-bg-1.png"> | 13 | <img class="rollimg" src="src/assets/images/zjdp/cycle-bg-1.png"> |
14 | </div>--> | 14 | </div>--> |
15 | - <div :class="'ball_c '+ item.code"><div>{{item.name}}</div></div> | ||
16 | - <div class="base u_p3d ypt__info"> | ||
17 | - <div v-for="(kpiItem,index) in item.kpi" :class="'ball_base u_p3d ball_'+index+1"> | 15 | + <div :class="'ball_c '+ item.code" style="z-index: 1000"><div @click="platformClick(index)" style="cursor:pointer;">{{item.name}}</div></div> |
16 | + <div class="base u_p3d ypt__info" style="z-index: 1"> | ||
17 | + <div v-for="(kpiItem,index) in item.kpi" :class="'ball_base u_p3d ball_'+index+1" > | ||
18 | <div @mouseenter="addActive(index)" @mouseleave="closeActive" :class="['ball',{'active':isActive===index}]" v-if="kpiItem != ''"> | 18 | <div @mouseenter="addActive(index)" @mouseleave="closeActive" :class="['ball',{'active':isActive===index}]" v-if="kpiItem != ''"> |
19 | <p>{{kpiItem.kpiName}}</p><b>{{kpiItem.kpiValue}}</b> | 19 | <p>{{kpiItem.kpiName}}</p><b>{{kpiItem.kpiValue}}</b> |
20 | </div> | 20 | </div> |
@@ -14,6 +14,7 @@ export default { | @@ -14,6 +14,7 @@ export default { | ||
14 | }, | 14 | }, |
15 | setup(props, {attrs, slots, emit}) { | 15 | setup(props, {attrs, slots, emit}) { |
16 | const {proxy} = Vue.getCurrentInstance(); | 16 | const {proxy} = Vue.getCurrentInstance(); |
17 | + let resData = []; | ||
17 | 18 | ||
18 | // 挂载完 | 19 | // 挂载完 |
19 | Vue.onMounted(() => { | 20 | Vue.onMounted(() => { |
@@ -21,6 +22,7 @@ export default { | @@ -21,6 +22,7 @@ export default { | ||
21 | $.get(proxy.domainName +"/api-web/bigScreen/getCloudInfo"+'?access_token='+localStorage.getItem('access_token'),function(res){ | 22 | $.get(proxy.domainName +"/api-web/bigScreen/getCloudInfo"+'?access_token='+localStorage.getItem('access_token'),function(res){ |
22 | const data = res.data; | 23 | const data = res.data; |
23 | if(data && data.length > 0){ | 24 | if(data && data.length > 0){ |
25 | + resData = data; | ||
24 | data.map((item,index)=>{ | 26 | data.map((item,index)=>{ |
25 | 27 | ||
26 | if(item.kpi && item.kpi.length==0){ | 28 | if(item.kpi && item.kpi.length==0){ |
@@ -121,17 +123,29 @@ export default { | @@ -121,17 +123,29 @@ export default { | ||
121 | } | 123 | } |
122 | yptRunTimer = setTimeout(run, 1000 * 5); | 124 | yptRunTimer = setTimeout(run, 1000 * 5); |
123 | } | 125 | } |
124 | - | ||
125 | }) | 126 | }) |
127 | + | ||
128 | + let get | ||
129 | + | ||
130 | + | ||
126 | const addActive=(index)=>{ | 131 | const addActive=(index)=>{ |
127 | proxy.isActive=index; | 132 | proxy.isActive=index; |
128 | } | 133 | } |
134 | + let platformClick = (index) => { | ||
135 | + let max = resData.length - 1; | ||
136 | + let next = index + 1; | ||
137 | + if (next > max){ | ||
138 | + next = 0 ; | ||
139 | + } | ||
140 | + proxy.$refs.cloudCarousel.setActiveItem(next); | ||
141 | + } | ||
129 | const closeActive=()=>{ | 142 | const closeActive=()=>{ |
130 | proxy.isActive=''; | 143 | proxy.isActive=''; |
131 | } | 144 | } |
132 | return{ | 145 | return{ |
133 | addActive, | 146 | addActive, |
134 | - closeActive | 147 | + closeActive, |
148 | + platformClick | ||
135 | } | 149 | } |
136 | } | 150 | } |
137 | } | 151 | } |
@@ -37,6 +37,13 @@ export default { | @@ -37,6 +37,13 @@ export default { | ||
37 | }, | 37 | }, |
38 | setup(props, {attrs, slots, emit}) { | 38 | setup(props, {attrs, slots, emit}) { |
39 | const {proxy} = Vue.getCurrentInstance(); | 39 | const {proxy} = Vue.getCurrentInstance(); |
40 | + let declaredToday=Vue.ref(0); | ||
41 | + let reportableToday=Vue.ref(0); | ||
42 | + let declaredMonth=Vue.ref(0); | ||
43 | + let reportableMonth=Vue.ref(0); | ||
44 | + | ||
45 | + | ||
46 | + | ||
40 | // 挂载完 | 47 | // 挂载完 |
41 | Vue.onMounted(() => { | 48 | Vue.onMounted(() => { |
42 | //本月应申报及申报率 | 49 | //本月应申报及申报率 |
@@ -181,8 +188,8 @@ export default { | @@ -181,8 +188,8 @@ export default { | ||
181 | } | 188 | } |
182 | } | 189 | } |
183 | const goJump=()=>{ | 190 | const goJump=()=>{ |
184 | - // proxy.$router.push({path:'/zj/dp',query: {access_token:localStorage.getItem('access_token')}}) | ||
185 | - window.open(window.location.origin + '/vue3/index.html#/zj/dp?access_token=' + localStorage.getItem("access_token")); | 191 | + proxy.$router.push({path:'/zj/dp',query: {access_token:localStorage.getItem('access_token'),msgKey: true}}) |
192 | + // window.open(window.location.origin + '/vue3/index.html#/zj/dp?access_token=' + localStorage.getItem("access_token")); | ||
186 | } | 193 | } |
187 | 194 | ||
188 | return{ | 195 | return{ |
@@ -190,7 +197,11 @@ export default { | @@ -190,7 +197,11 @@ export default { | ||
190 | eleWidthNum, | 197 | eleWidthNum, |
191 | getDeclareData, | 198 | getDeclareData, |
192 | startInterval, | 199 | startInterval, |
193 | - goJump | 200 | + goJump, |
201 | + declaredToday, | ||
202 | + reportableToday, | ||
203 | + declaredMonth, | ||
204 | + reportableMonth | ||
194 | } | 205 | } |
195 | }, | 206 | }, |
196 | unmounted () { | 207 | unmounted () { |
@@ -13,6 +13,8 @@ export default { | @@ -13,6 +13,8 @@ export default { | ||
13 | const {proxy} = Vue.getCurrentInstance(); | 13 | const {proxy} = Vue.getCurrentInstance(); |
14 | const {numm, numLen} = Vue.toRefs(props); | 14 | const {numm, numLen} = Vue.toRefs(props); |
15 | const orderNum = Vue.ref([]); | 15 | const orderNum = Vue.ref([]); |
16 | + let numDiff = Vue.ref(0); | ||
17 | + let iStyle = Vue.ref('transform:translate(0,0)') | ||
16 | // 处理数字 | 18 | // 处理数字 |
17 | // numm: 传入的数字 numLen: 默认显示几位数 | 19 | // numm: 传入的数字 numLen: 默认显示几位数 |
18 | let numVal=numm.value+''; | 20 | let numVal=numm.value+''; |
@@ -57,6 +59,8 @@ export default { | @@ -57,6 +59,8 @@ export default { | ||
57 | return{ | 59 | return{ |
58 | orderNum, | 60 | orderNum, |
59 | toOrderNum, | 61 | toOrderNum, |
62 | + numDiff, | ||
63 | + iStyle, | ||
60 | setNumberTransform | 64 | setNumberTransform |
61 | } | 65 | } |
62 | }, | 66 | }, |
@@ -18,7 +18,7 @@ export default { | @@ -18,7 +18,7 @@ export default { | ||
18 | return { | 18 | return { |
19 | timer:null, | 19 | timer:null, |
20 | domainName:sessionStorage.getItem('domainName'), | 20 | domainName:sessionStorage.getItem('domainName'), |
21 | - apiUrl:'/api-web/sxview/getBizListForHzDp?access_token=', | 21 | + apiUrl:'/api-web/sxview/getbizListByUser?access_token=', |
22 | checkId:0,//当前选中的tabs | 22 | checkId:0,//当前选中的tabs |
23 | listItem:1,//轮播数-总页数 | 23 | listItem:1,//轮播数-总页数 |
24 | pageSize:5,//每页显示5条数据 | 24 | pageSize:5,//每页显示5条数据 |
-
Please register or login to post a comment