123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="Cache-Control" content="no-cache,no-store,no-siteapp,must-revalidate">
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta name="author" content="">
- <meta name="description" content=""/>
- <meta name="keywords" content="扫码支付,线上投币,运营数据,物联网"/>
- <meta name="format-detection" content="telephone=no,email=no">
- <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
- <title>故障管理</title>
- <link rel="stylesheet" href="https://cdn.washpayer.com/components/lib/mui.min.css">
- <link rel="stylesheet" href="../components/custom/css/common.css">
- <link rel="stylesheet" href="css/xyf.common.min.css">
- <style>
- .oper-btn {
- margin-right: -5px;
- }
- .line-head {
- font-size: 16px;
- font-weight: bold;
- color: #000;
- padding-bottom: 10px;
- }
- .port-info {
- float: left;
- width: 100%;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
- </style>
- </head>
- <body class="">
- <h4 class="param-title" id="device">设备</h4>
- <!--整机显示-->
- <div class="mui-input-group mui-control-content, mui-active mui-hidden" id="deviceFault">
- </div>
- <!--端口显示-->
- <div class="mui-input-group mui-control-content mui-active mui-hidden" id="portPanel">
- </div>
- <!--取消设备故障按钮-->
- <div class="custom-subt">
- <a class="custom-btn custom-btn-primary" href="javascript:clearAllFault();">全部清除</a>
- </div>
- <script src="https://cdn.washpayer.com/components/lib/jquery.min.js"></script>
- <script src="../components/lib/jquery.qrcode.min.js"></script>
- <script src="https://cdn.washpayer.com/components/lib/mui.min.js"></script>
- <script src="/components/custom/js/common.js"></script>
- <script src="js/xyf.common.js"></script>
- <script src="js/device-features.js"></script>
- <script>
- var logicalCode = getQueryString("logicalCode");
- var type = getQueryString("type");
- $("#device").html("<i class='c-primary iconfont " + getDevIconName(type) + "'></i> " + type + logicalCode);
- //获取 设备功能设置
- sendRequest({
- url: "/dealer/getDeviceWarning",
- type: "GET",
- data: {logicalCode: logicalCode},
- mask: "正在获取告警信息...",
- success: function (response) {
- if (response.result === 1) {
- var payload = response.payload;
- // 显示端口设置
- var ports = payload.ports;
- if (ports.length > 0) {
- for (var port of ports) {
- setPortFault(port);
- }
- }
- } else {
- mui.toast(response.description);
- }
- }
- });
- // 获取节点title
- function getLineTitle(item) {
- if (item.index) {
- return "端口" + item.index
- } else {
- return "整机告警"
- }
- }
- // 获取故障等级
- function getFaultLevel(status) {
- var statusMap = {
- 1: {
- name: '告警',
- style: 'c-blue'
- },
- 2: {
- name: '故障',
- style: 'c-red'
- },
- };
- var defaultItem = {name: '未知', style: 'c-success'};
- var item = statusMap[status];
- // 普通充电桩
- if (item) {
- return item
- } else {
- return defaultItem
- }
- }
- // 生成故障节点
- function generateFaultNode(item) {
- var dom = $(
- `<div class="mui-table-view-cell">
- <p class="line-head margin-t-5">
- <span class=""></span>
- </p>
- <p class="port-info margin-t-5">
- <span class="">告警状态:</span>
- <span class="fault-status text-style"></span>
- </p>
- <p class="port-info margin-t-5">
- <span class="">告警时间:</span>
- <span class="fault-time text-style"></span>
- </p>
- <p class="port-info margin-t-5 mui-hidden desc">
- <span class="">告警描述:</span>
- <span class="fault-desc text-style"></span>
- </p>
- <span data-id="33" class="mui-pull-right oper-btn font-b-8" permission="manage-show">
- <em onclick="cancelFault()" class="padding-5 stopPort">
- <i class="iconfont icon-close-dark font-18 c-lgreen"></i>
- <i class="">清除告警</i>
- </em>
- </span>
- </div>`
- );
- var faultLevel = getFaultLevel(item.warningStatus);
- dom.find(".text-style").addClass(faultLevel.style);
- dom.find(".fault-status").html(faultLevel.name);
- dom.find(".line-head").find("span").text(getLineTitle(item));
- dom.find(".fault-time").text(item.warningTime);
- if (item.warningDesc) {
- dom.find(".desc").removeClass("mui-hidden");
- dom.find(".fault-desc").text(item.warningDesc);
- }
- // 0 代表整机
- dom.attr("index", item.index || 0);
- return dom
- }
- // 添加端口故障节点
- function setPortFault(port) {
- var portsDom = $("#portPanel");
- if (portsDom.hasClass("mui-hidden")) {
- portsDom.removeClass("mui-hidden");
- }
- var dom = generateFaultNode(port);
- portsDom.append(dom)
- }
- // 发送请求至后台
- function sendCancelRequest(payload) {
- var url = "/dealer/cancelDeviceWarning";
- var btnArray = ["取消", "确定"];
- var message = "确定清除告警信息么?(此行为仅仅清除服务器端告警显示,请确定设备恢复正常后再清除)";
- var tit = "温馨提示";
- mui.confirm(message, tit, btnArray, function (e) {
- if (e.index) {
- sendRequest(url, "POST", payload, function (response) {
- if (response.result === 1) {
- mui.toast("设备告警状态清除成功");
- } else {
- mui.toast(response.description)
- }
- setTimeout(function () {
- window.location.reload();
- }, 500);
- })
- }
- });
- }
-
- // 取消故障
- function cancelFault() {
- var dom = $(event.target).closest(".mui-table-view-cell");
- var index = dom.attr("index");
- sendCancelRequest({logicalCode: logicalCode, part: index})
- }
- // 一次性全部取消故障
- function clearAllFault() {
- sendCancelRequest({logicalCode: logicalCode})
- }
- </script>
- </body>
- </html>
|