#
Junjie
11 小时以前 bf64e8016283b18c04d5392dd9c002b921021af2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
(function (global) {
  if (global.MonitorCardKit) {
    return;
  }
 
  function ensureStyles() {
    if (document.getElementById("monitor-card-kit-style")) {
      return;
    }
    var style = document.createElement("style");
    style.id = "monitor-card-kit-style";
    style.textContent = [
      "watch-crn-card,watch-dual-crn-card,devp-card,watch-rgv-card{display:block;width:100%;min-width:0;min-height:0;flex:1 1 auto;}",
      ".mc-root{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;color:#375067;font-size:12px;}",
      ".mc-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px;}",
      ".mc-title{flex:1;font-size:14px;font-weight:700;color:#22384f;}",
      ".mc-search{display:flex;gap:8px;flex:1;}",
      ".mc-input,.mc-select{width:100%;height:34px;padding:0 11px;border-radius:10px;border:1px solid rgba(219,228,236,.96);background:rgba(255,255,255,.84);box-sizing:border-box;color:#334155;outline:none;}",
      ".mc-input:focus,.mc-select:focus{border-color:rgba(112,148,190,.62);box-shadow:0 0 0 3px rgba(112,148,190,.1);}",
      ".mc-btn{height:34px;padding:0 12px;border-radius:10px;border:none;background:#6f95bd;color:#fff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;}",
      ".mc-btn.mc-btn-ghost{background:rgba(255,255,255,.88);color:#46607a;border:1px solid rgba(219,228,236,.96);}",
      ".mc-btn.mc-btn-soft{background:rgba(233,239,245,.92);color:#46607a;border:1px solid rgba(210,220,231,.98);}",
      ".mc-control-toggle{margin-bottom:8px;}",
      ".mc-control{margin-bottom:10px;padding:12px;border:1px solid rgba(223,232,240,.94);border-radius:14px;background:rgba(248,251,253,.88);}",
      ".mc-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}",
      ".mc-field{display:flex;flex-direction:column;gap:5px;}",
      ".mc-field.mc-span-2{grid-column:1 / -1;}",
      ".mc-field-label{font-size:11px;font-weight:700;color:#72859a;}",
      ".mc-action-row{display:flex;flex-wrap:wrap;gap:8px;grid-column:1 / -1;padding-top:8px;margin-top:2px;border-top:1px dashed rgba(216,226,235,.92);}",
      ".mc-collapse{flex:1;min-height:0;overflow:auto;padding-right:2px;}",
      ".mc-item{border:1px solid rgba(223,232,240,.92);border-radius:14px;background:rgba(255,255,255,.72);margin-bottom:10px;overflow:hidden;}",
      ".mc-item.is-open{border-color:rgba(132,166,201,.48);box-shadow:0 10px 18px rgba(148,163,184,.08);}",
      ".mc-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:none;background:transparent;cursor:pointer;text-align:left;color:inherit;}",
      ".mc-head-main{min-width:0;flex:1;}",
      ".mc-head-title{font-size:13px;font-weight:700;color:#27425c;line-height:1.35;}",
      ".mc-head-subtitle{margin-top:3px;font-size:11px;color:#7c8d9f;line-height:1.35;}",
      ".mc-head-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}",
      ".mc-badge{padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700;}",
      ".mc-badge.is-success{background:rgba(82,177,126,.12);color:#2d7650;}",
      ".mc-badge.is-working{background:rgba(111,149,189,.12);color:#3f6286;}",
      ".mc-badge.is-warning{background:rgba(214,162,94,.14);color:#9b6a24;}",
      ".mc-badge.is-danger{background:rgba(207,126,120,.14);color:#a14e4a;}",
      ".mc-badge.is-muted{background:rgba(148,163,184,.14);color:#748397;}",
      ".mc-chevron{font-size:14px;color:#6f8194;line-height:1;}",
      ".mc-body{padding:0 14px 14px;border-top:1px solid rgba(232,238,244,.92);}",
      ".mc-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;}",
      ".mc-detail-cell{padding:10px 12px;border-radius:12px;background:rgba(247,250,252,.9);border:1px solid rgba(232,238,244,.96);}",
      ".mc-detail-label{font-size:11px;color:#7c8d9f;}",
      ".mc-detail-value{margin-top:4px;font-size:12px;color:#31485f;line-height:1.45;word-break:break-all;}",
      ".mc-inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}",
      ".mc-link{padding:0;border:none;background:transparent;color:#4677a4;font-size:12px;font-weight:600;cursor:pointer;}",
      ".mc-empty{padding:24px 10px;text-align:center;color:#8b9aad;}",
      ".mc-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px;color:#708396;font-size:11px;}",
      ".mc-page-btn{height:30px;padding:0 10px;border-radius:8px;border:1px solid rgba(219,228,236,.96);background:rgba(255,255,255,.86);color:#46607a;cursor:pointer;}",
      ".mc-page-btn[disabled]{opacity:.45;cursor:not-allowed;}",
      ".mc-code{font-family:monospace;}",
      "@media (max-width: 1100px){.mc-control-grid{grid-template-columns:1fr;}.mc-field.mc-span-2{grid-column:auto;}.mc-toolbar{flex-direction:column;align-items:stretch;}.mc-search{width:100%;}.mc-detail-grid{grid-template-columns:1fr;}}"
    ].join("");
    document.head.appendChild(style);
  }
 
  function showMessage(vm, message, type) {
    if (!message) {
      return;
    }
    if (vm && typeof vm.$message === "function") {
      vm.$message({
        message: message,
        type: type === "danger" ? "error" : (type || "info")
      });
      return;
    }
    if (vm && vm.$root && typeof vm.$root.showPageMessage === "function") {
      vm.$root.showPageMessage(message, type === "danger" ? "error" : type);
      return;
    }
    if (global.ELEMENT && typeof global.ELEMENT.Message === "function") {
      global.ELEMENT.Message({
        message: message,
        type: type === "danger" ? "error" : (type || "info")
      });
      return;
    }
    if (global.layer && typeof global.layer.msg === "function") {
      var iconMap = { success: 1, danger: 2, warning: 0 };
      global.layer.msg(message, {
        icon: iconMap[type] != null ? iconMap[type] : 0,
        time: 1800
      });
      return;
    }
    console[type === "danger" ? "error" : "log"](message);
  }
 
  function orDash(value) {
    return value == null || value === "" ? "-" : String(value);
  }
 
  function yesNo(value) {
    if (value === true || value === "Y" || value === "y" || value === 1 || value === "1") {
      return "Y";
    }
    if (value === false || value === "N" || value === "n" || value === 0 || value === "0") {
      return "N";
    }
    return value ? "Y" : "N";
  }
 
  function deviceStatusLabel(status, fallbackManual) {
    var normalized = String(status || "").toUpperCase();
    if (normalized === "AUTO") {
      return "自动";
    }
    if (normalized === "WORKING") {
      return "作业中";
    }
    if (normalized === "ERROR") {
      return "故障";
    }
    return fallbackManual || "离线";
  }
 
  function statusTone(label) {
    if (label === "自动") {
      return "success";
    }
    if (label === "作业中") {
      return "working";
    }
    if (label === "手动") {
      return "warning";
    }
    if (label === "故障" || label === "报警") {
      return "danger";
    }
    return "muted";
  }
 
  global.MonitorCardKit = {
    ensureStyles: ensureStyles,
    showMessage: showMessage,
    orDash: orDash,
    yesNo: yesNo,
    deviceStatusLabel: deviceStatusLabel,
    statusTone: statusTone
  };
})(window);