|
@@ -1,119 +1,604 @@
|
|
|
<template>
|
|
|
<div class="dashboard_box" style="width: 1180px;margin: auto;">
|
|
|
- <div class="dashboard_box">
|
|
|
- <h3>
|
|
|
- 传感器读值
|
|
|
- </h3>
|
|
|
- <p>
|
|
|
- 所有传感器相关的信息都在这里显示。在一条记录上双击去触发特定传感器的开和关。
|
|
|
- </p>
|
|
|
- <Row>
|
|
|
- <Col :span='12'>
|
|
|
- <select id="_sensorType">
|
|
|
- <option value="0">All Sensors</option>
|
|
|
- <option value="1">Temperature Sensors</option>
|
|
|
- <option value="2">Voltage Sensors</option>
|
|
|
- <option value="3">Current Sensors</option>
|
|
|
- </select>
|
|
|
- </Col>
|
|
|
- <Col style='font-size:12px;text-align: right;' :span='12'>
|
|
|
- <strong> Sensor Count: </strong>14 sensors
|
|
|
- </Col>
|
|
|
- </Row>
|
|
|
- </div>
|
|
|
+ <spin fix v-if="isLoading">加载中...</spin>
|
|
|
+ <div data-v-47401793="" class="dashboard_box" style="width: 1180px; margin: auto;">
|
|
|
+ <div class="dashboard_box">
|
|
|
+ <div class="sesors-list">
|
|
|
+ <div class="left-list">
|
|
|
+ <div class="SENSOR_HISTORY">
|
|
|
+ 传感器读值
|
|
|
+ </div>
|
|
|
+ <table cellspacing="0" cellpadding="0" class="listgrid"
|
|
|
+ style="width: 467px;">
|
|
|
+ <thead >
|
|
|
+ <tr class="head">
|
|
|
+ <th class="head">
|
|
|
+ 名称
|
|
|
+ <img src="../assets/img/sortup.gif" title="Ascending"
|
|
|
+ alt="Ascending">
|
|
|
+ </th>
|
|
|
+ <th class="head">
|
|
|
+ 状态
|
|
|
+ <img src="../assets/img/sortup.gif" title="Ascending"
|
|
|
+ alt="Ascending">
|
|
|
+ </th>
|
|
|
+ <th class="head">
|
|
|
+ 当前读值
|
|
|
+ <img src="../assets/img/sortup.gif" title="Ascending"
|
|
|
+ alt="Ascending">
|
|
|
+ </th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody >
|
|
|
+ <template v-for="item in sensorsList">
|
|
|
+ <tr @click="checkItem(item)" :class=" [item.sensorNum == selectItem.sensorNum ? 'selected': 'normal']">
|
|
|
+ <td >
|
|
|
+ {{item.sensorName}}
|
|
|
+ </td>
|
|
|
+ <td >
|
|
|
+ {{item.state}}
|
|
|
+ </td>
|
|
|
+ <td >
|
|
|
+ {{item.reading}}
|
|
|
+ <img v-if="selectItem.sensorNum == item.sensorNum" src="../assets/img/icon_right.png" style="">
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </template>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ <div class="right-info">
|
|
|
+ <h4 >
|
|
|
+ </h4>
|
|
|
+ <div class="right-info-title ivu-row">
|
|
|
+ <div class="ivu-col ivu-col-span-12">
|
|
|
+ <strong id="_sensorName" class="padding-top: 5px; display: block;">
|
|
|
+ {{selectItem.sensorName}}
|
|
|
+ <font class="normal">
|
|
|
+ {{selectItem.reading}}
|
|
|
+ </font>
|
|
|
+ </strong>
|
|
|
+ </div>
|
|
|
+ <div class="ivu-col ivu-col-span-12" style="text-align: right;">
|
|
|
+ <div style="color: rgb(255, 255, 255);">
|
|
|
+ <input type="button" @click="setModal = true" id="_btnThresholdSettings" value="阈值设定"
|
|
|
+ class="visibleRow">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="ivu-row" style="padding: 20px 0px; font-size: 12px;">
|
|
|
+ <div class="ivu-col ivu-col-span-12">
|
|
|
+ <span class="sensor_orange">
|
|
|
+ 传感器阈值
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="ivu-col ivu-col-span-12" style="text-align: right;">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="info_table ivu-row">
|
|
|
+ <div class="ivu-col ivu-col-span-6">
|
|
|
+ 低严重错误:
|
|
|
+ </div>
|
|
|
+ <div class="ivu-col ivu-col-span-6">
|
|
|
+ {{selectItem.lownr}}{{selectItem.unit}}
|
|
|
+ </div>
|
|
|
+ <div class="ivu-col ivu-col-span-6">
|
|
|
+ 高严重错误:
|
|
|
+ </div>
|
|
|
+ <div class="ivu-col ivu-col-span-6" style="text-align: right;">
|
|
|
+ {{selectItem.highnr}}{{selectItem.unit}}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="info_table ivu-row">
|
|
|
+ <div class="ivu-col ivu-col-span-6">
|
|
|
+ 低错误:
|
|
|
+ </div>
|
|
|
+ <div class="ivu-col ivu-col-span-6">
|
|
|
+ {{selectItem.lowct}}{{selectItem.unit}}
|
|
|
+ </div>
|
|
|
+ <div class="ivu-col ivu-col-span-6">
|
|
|
+ 高错误:
|
|
|
+ </div>
|
|
|
+ <div class="ivu-col ivu-col-span-6" style="text-align: right;">
|
|
|
+ {{selectItem.highct}}{{selectItem.unit}}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="info_table ivu-row">
|
|
|
+ <div class="ivu-col ivu-col-span-6">
|
|
|
+ 低警告:
|
|
|
+ </div>
|
|
|
+ <div class="ivu-col ivu-col-span-6">
|
|
|
+ {{selectItem.lownc}}{{selectItem.unit}}
|
|
|
+ </div>
|
|
|
+ <div class="ivu-col ivu-col-span-6">
|
|
|
+ 高警告:
|
|
|
+ </div>
|
|
|
+ <div class="ivu-col ivu-col-span-6" style="text-align: right;">
|
|
|
+ {{selectItem.highnc}}{{selectItem.unit}}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="sensors-history-graph">
|
|
|
+ <div class="ivu-tabs ivu-tabs-card">
|
|
|
+ <div class="ivu-tabs-bar">
|
|
|
+ <!---->
|
|
|
+ <div tabindex="0" class="ivu-tabs-nav-container">
|
|
|
+ <div class="ivu-tabs-nav-wrap" style="position: relative;">
|
|
|
+ <span class="ivu-tabs-nav-prev ivu-tabs-nav-scroll-disabled">
|
|
|
+ <i class="ivu-icon ivu-icon-ios-arrow-back">
|
|
|
+ </i>
|
|
|
+ </span>
|
|
|
+ <span class="ivu-tabs-nav-next ivu-tabs-nav-scroll-disabled">
|
|
|
+ <i class="ivu-icon ivu-icon-ios-arrow-forward">
|
|
|
+ </i>
|
|
|
+ </span>
|
|
|
+ <div class="ivu-tabs-nav-scroll">
|
|
|
+ <div class="ivu-tabs-nav">
|
|
|
+ <div class="ivu-tabs-ink-bar ivu-tabs-ink-bar-animated" style="visibility: hidden; width: 90px; transform: translate3d(0px, 0px, 0px);">
|
|
|
+ </div>
|
|
|
+ <div class="ivu-tabs-tab ivu-tabs-tab-active ivu-tabs-tab-focused">
|
|
|
+ <!---->
|
|
|
+ 图形视图
|
|
|
+ <!---->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <object tabindex="-1" type="text/html" data="about:blank" style="display: block; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; border: none; padding: 0px; margin: 0px; opacity: 0; z-index: -1000; pointer-events: none;">
|
|
|
+ </object>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="ivu-tabs-content ivu-tabs-content-animated" style="transform: translateX(0%) translateZ(0px);">
|
|
|
+ <div class="ivu-tabs-tabpane" style="visibility: visible;">
|
|
|
+ <div id="myChart1" _echarts_instance_="ec_1619172800096"
|
|
|
+ style="width: 100%; min-height: 560px; margin: 0px auto; -webkit-tap-highlight-color: transparent; user-select: none; position: relative;">
|
|
|
+ <div style="position: relative; width: 1180px; height: 560px; padding: 0px; margin: 0px; border-width: 0px;">
|
|
|
+ <canvas data-zr-dom-id="zr_0" width="1180" height="560" style="position: absolute; left: 0px; top: 0px; width: 1180px; height: 560px; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); padding: 0px; margin: 0px; border-width: 0px;">
|
|
|
+ </canvas>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <Modal title="阈值设定" v-model="setModal" >
|
|
|
+ <Form ref="setForm" :model="formItem" label-position="right" :label-width="120" :rules="formItemRules">
|
|
|
+
|
|
|
+ <FormItem prop="lowGraveErr" label="低严重错误:">
|
|
|
+ <Input v-model="formItem.lowGraveErr"> </Input>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem prop="lowErr" label="低错误:">
|
|
|
+ <Input v-model="formItem.lowErr"> </Input>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem prop="lowWarning" label="低警告:">
|
|
|
+ <Input v-model="formItem.lowWarning"> </Input>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem prop="hightGraveErr" label="高严重错误:">
|
|
|
+ <Input v-model="formItem.hightGraveErr"> </Input>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem prop="hightWarning" label="高错误:">
|
|
|
+ <Input v-model="formItem.hightWarning"> </Input>
|
|
|
+ </FormItem>
|
|
|
+ <FormItem prop="hightErro" label="高警告:">
|
|
|
+ <Input v-model="formItem.hightErro"> </Input>
|
|
|
+ </FormItem>
|
|
|
+
|
|
|
+ </Form>
|
|
|
+ <div slot="footer">
|
|
|
+ <Button @click="setModal = false" type="primary">取消</Button>
|
|
|
+ <Button @click="setThreshold" :loading="setting" type="primary">提交</Button>
|
|
|
+ </div>
|
|
|
+ </Modal>
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
+ import echarts from 'echarts'
|
|
|
+ import api from '../api/index'
|
|
|
export default {
|
|
|
name: 'dashbord1',
|
|
|
data() {
|
|
|
return {
|
|
|
- fanList: [
|
|
|
- { name: 'fan1', speed: 1000, model: 1, duty: 56.3 },
|
|
|
- { name: 'fan2', speed: 1000, model: 1, duty: 56.3 },
|
|
|
- { name: 'fan3', speed: 1000, model: 2, duty: 56.3 },
|
|
|
- { name: 'fan4', speed: 1000, model: 2, duty: 56.3 },
|
|
|
- { name: 'fan5', speed: 1000, model: 1, duty: 56.3 }
|
|
|
- ]
|
|
|
+ setModal: false,
|
|
|
+ setting: false,
|
|
|
+ sensorsList: [{
|
|
|
+ id: 1,
|
|
|
+ name: "fan1",
|
|
|
+ status: "Upper Non-Recoverable ",
|
|
|
+ value: "56.3 Volts"
|
|
|
+ }],
|
|
|
+ selectItem: {
|
|
|
+ sensorNum: 1,
|
|
|
+ name: "fan1",
|
|
|
+ status: "Upper Non-Recoverable ",
|
|
|
+ value: "56.3 Volts"
|
|
|
+ },
|
|
|
+ formItem: {
|
|
|
+ lowGraveErr: "",
|
|
|
+ lowErr: "",
|
|
|
+ lowWarning: "",
|
|
|
+ hightGraveErr: "",
|
|
|
+ hightWarning: "",
|
|
|
+ hightErro: ""
|
|
|
+ },
|
|
|
+ isLoading: false,
|
|
|
+ formItemRules:{
|
|
|
+ lowGraveErr: [{required:true, message:'请输入低严重错误!', trigger:'blur'}],
|
|
|
+ lowErr: [{required:true, message:'请输入低错误!', trigger:'blur'}],
|
|
|
+ lowWarning: [{required:true, message:'请输入低警告!', trigger:'blur'}],
|
|
|
+ hightGraveErr: [{required:true, message:'请输入高严重错误!', trigger:'blur'}],
|
|
|
+ hightWarning: [{required:true, message:'请输入高错误!', trigger:'blur'}],
|
|
|
+ hightErro: [{required:true, message:'请输入高警告!', trigger:'blur'}],
|
|
|
+ },
|
|
|
+ myChart: null,
|
|
|
+ myChart2: null,
|
|
|
+ routerSensorNum: null,
|
|
|
+ timer: null
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
- console.log("111111111111111111")
|
|
|
- },
|
|
|
+ this.routerSensorNum = this.$route.query.sensorNum
|
|
|
+ this.getSensorList()
|
|
|
+ },
|
|
|
methods: {
|
|
|
- set(item) {
|
|
|
- console.log(item)
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-</script>
|
|
|
-<style lang="scss" scoped>
|
|
|
-* {
|
|
|
- box-sizing: border-box;
|
|
|
-}
|
|
|
-
|
|
|
-input {
|
|
|
- margin: 0;
|
|
|
-}
|
|
|
+ ok() {
|
|
|
+ this.setThreshold()
|
|
|
+ },
|
|
|
+ cancel() {},
|
|
|
+ setThreshold() {
|
|
|
+ this.setting = true
|
|
|
+ var t = this
|
|
|
+ let param = {
|
|
|
+ SensorNumber: this.selectItem.sensorNum,
|
|
|
+ UNR: this.formItem.hightGraveErr,
|
|
|
+ UC: this.formItem.hightErro,
|
|
|
+ UNC: this.formItem.hightWarning,
|
|
|
+ LNR: this.formItem.lowGraveErr,
|
|
|
+ LC: this.formItem.lowErr,
|
|
|
+ LNC: this.formItem.lowWarning
|
|
|
+ }
|
|
|
+ api.Get("/action/setThreshold", param).then((e) => {
|
|
|
+ 200 == e.code && (
|
|
|
+ this.$Message.success("操作成功!"),
|
|
|
+ this.setting = false,
|
|
|
+ this.setModal = false,
|
|
|
+ setTimeout(() => {
|
|
|
+ this.routerSensorNum = t.selectItem.sensorNum,
|
|
|
+ this.getSensorList()
|
|
|
+ }, 500)
|
|
|
+ )
|
|
|
+ 200 != e.code && (this.$Message.error('操作失败'))
|
|
|
|
|
|
-table {
|
|
|
- font-size: 12px;
|
|
|
-}
|
|
|
-
|
|
|
-tr {
|
|
|
- height: 26px;
|
|
|
-}
|
|
|
-
|
|
|
-td {
|
|
|
- width: 40%;
|
|
|
-}
|
|
|
-
|
|
|
-.dashboard_box {
|
|
|
- width: 1180px;
|
|
|
- margin: auto;
|
|
|
- margin-top: 10px;
|
|
|
- /* background: #040C19; */
|
|
|
- padding: 10px 0;
|
|
|
- color: #fff;
|
|
|
-
|
|
|
- h3 {
|
|
|
- color: #fff;
|
|
|
- margin-bottom: 0;
|
|
|
- padding-bottom: 5px;
|
|
|
- }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ checkItem(t) {
|
|
|
+ this.selectItem = t,
|
|
|
+ this.formItem = {
|
|
|
+ lowGraveErr: t.lownr,
|
|
|
+ lowErr: t.lowct,
|
|
|
+ lowWarning: t.lownc,
|
|
|
+ hightGraveErr: t.highnr,
|
|
|
+ hightWarning: t.highnc,
|
|
|
+ hightErro: t.highct
|
|
|
+ },
|
|
|
+ this.getPie()
|
|
|
+ },
|
|
|
+ set(t) {},
|
|
|
+ getSensorList() {
|
|
|
+ this.isLoading = true
|
|
|
+ var t = this;
|
|
|
+ api.Get("/action/getSensorInfo", {}).then((e) =>{
|
|
|
+ if (e.data && e.data.length > 0) if (t.routerSensorNum) {
|
|
|
+ var r = e.data.filter((function(e) {
|
|
|
+ return e.sensorNum == t.routerSensorNum
|
|
|
+ }));
|
|
|
+ t.checkItem(r[0])
|
|
|
+ } else t.checkItem(e.data[0]);
|
|
|
+ t.sensorsList = e.data
|
|
|
+ this.isLoading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getPie() {
|
|
|
+ for (var t = [], e = [0], r = 480; r >= 0; r--) if (0 == r) t.push("00:00(现在)");
|
|
|
+ else {
|
|
|
+ var n = 3 * r,
|
|
|
+ a = parseInt(n / 60),
|
|
|
+ o = n % 60,
|
|
|
+ l = (a < 10 ? "0" + a: a) + ":" + (o < 10 ? "0" + o: o);
|
|
|
+ t.push("-" + l)
|
|
|
+ }
|
|
|
+ var c = {
|
|
|
+ backgroundColor: "#FFFFFF",
|
|
|
+ tooltip: {
|
|
|
+ trigger: "axis",
|
|
|
+ triggerOn: "mousemove",
|
|
|
+ confine: !0
|
|
|
+ },
|
|
|
+ title: {
|
|
|
+ left: "center",
|
|
|
+ text: this.selectItem.sensorName + "(以下为过去24小时记录)"
|
|
|
+ },
|
|
|
+ xAxis: [{
|
|
|
+ show: !0,
|
|
|
+ type: "category",
|
|
|
+ boundaryGap: !1,
|
|
|
+ data: t,
|
|
|
+ position: "bottom",
|
|
|
+ axisLabel: {
|
|
|
+ interval: 29,
|
|
|
+ textStyle: {
|
|
|
+ color: "#333"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ splitLine: {
|
|
|
+ show: !0,
|
|
|
+ lineStyle: {
|
|
|
+ color: "#ccc"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }],
|
|
|
+ yAxis: [{
|
|
|
+ type: "value",
|
|
|
+ boundaryGap: ["20%", "20%"]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "value",
|
|
|
+ boundaryGap: [0, "100%"],
|
|
|
+ axisLine: {
|
|
|
+ lineStyle: {
|
|
|
+ type: "solid",
|
|
|
+ color: "#ccc",
|
|
|
+ width: 1
|
|
|
+ }
|
|
|
+ },
|
|
|
+ axisLabel: {
|
|
|
+ interval: 5,
|
|
|
+ textStyle: {
|
|
|
+ color: "#000"
|
|
|
+ },
|
|
|
+ formatter: function(t, e) {
|
|
|
+ return ((t - openValue) / openValue).toFixed(2) + "%"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }],
|
|
|
+ series: [{
|
|
|
+ name: "",
|
|
|
+ type: "line",
|
|
|
+ smooth: !0,
|
|
|
+ symbol: "none",
|
|
|
+ sampling: "average",
|
|
|
+ yAxisIndex: 0,
|
|
|
+ itemStyle: {
|
|
|
+ color: "#cf6a32",
|
|
|
+ width: 1
|
|
|
+ },
|
|
|
+ data: e
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ u = echarts.init(document.getElementById("myChart1"));
|
|
|
+ u.setOption(c),
|
|
|
+ api.Get("/action/webGetSensorHistory", {
|
|
|
+ SensorNumber: this.selectItem.sensorNum
|
|
|
+ }).then((function(t) {
|
|
|
+ for (var r = t.history.split(","), n = r.map(Number), a = 0; a < n.length; a++) e[a] = n[a];
|
|
|
+ u.setOption(c)
|
|
|
+ }));
|
|
|
+ this.timer = window.setInterval((() =>{
|
|
|
|
|
|
- p {
|
|
|
- padding: 10px 0;
|
|
|
- font-size: 12px;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-h4 {
|
|
|
- font-size: 15px;
|
|
|
- width: auto;
|
|
|
- margin: 3px;
|
|
|
- padding: 2px;
|
|
|
+ api.Get("/action/webGetSensorHistory", {
|
|
|
+ SensorNumber: this.selectItem.sensorNum
|
|
|
+ }).then((function(t) {
|
|
|
+ for (var r = t.history.split(","), n = r.map(Number), a = 0; a < n.length; a++) e[a] = n[a];
|
|
|
+ u.setOption(c)
|
|
|
+ }))
|
|
|
+ }), 1000 * 180)
|
|
|
+ },
|
|
|
+ randomfn(t, e) {
|
|
|
+ var r = Math.floor(Math.random() * (t - e) + e);
|
|
|
+ return r
|
|
|
+ },
|
|
|
+ getData: function() {}
|
|
|
+ },
|
|
|
+ beforeDestroy() {
|
|
|
+ clearInterval(this.timer)
|
|
|
+ this.timer = null
|
|
|
+ }
|
|
|
}
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+ input[type=button] {
|
|
|
+ border-radius:3px;
|
|
|
+ display:inline-block;
|
|
|
+ padding:4px 20px;
|
|
|
+ margin-bottom:0;
|
|
|
+ font-size:13px;
|
|
|
+ font-weight:400;
|
|
|
+ line-height:1.42857143;
|
|
|
+ text-align:center;
|
|
|
+ white-space:nowrap;
|
|
|
+ vertical-align:middle;
|
|
|
+ -ms-touch-action:manipulation;
|
|
|
+ touch-action:manipulation;
|
|
|
+ cursor:pointer;
|
|
|
+ -webkit-user-select:none;
|
|
|
+ -moz-user-select:none;
|
|
|
+ -ms-user-select:none;
|
|
|
+ user-select:none;
|
|
|
+ background-image:none;
|
|
|
+ border:1px solid transparent;
|
|
|
+ background:#1873ff;
|
|
|
+ color:#fff
|
|
|
+ }
|
|
|
+ table {
|
|
|
+ font-size:12px
|
|
|
+ }
|
|
|
+ tr {
|
|
|
+ height:26px
|
|
|
+ }
|
|
|
+ td {
|
|
|
+ width:40%
|
|
|
+ }
|
|
|
+ .dashboard_box {
|
|
|
+ width:1180px;
|
|
|
+ margin:auto;
|
|
|
+ margin-top:10px;
|
|
|
+ padding:10px 0;
|
|
|
+ color:#fff;
|
|
|
+ position: relative;
|
|
|
|
|
|
-h3 {
|
|
|
- color: #fff;
|
|
|
- font-size: 20px;
|
|
|
- padding-bottom: 0px;
|
|
|
- /*margin-top: 5px;*/
|
|
|
- border-bottom: 1px solid #000;
|
|
|
-}
|
|
|
+ }
|
|
|
+ .dashboard_box h3 {
|
|
|
+ color:#fff;
|
|
|
+ margin-bottom:0;
|
|
|
+ padding-bottom:5px
|
|
|
+ }
|
|
|
+ .dashboard_box p {
|
|
|
+ padding:10px 0;
|
|
|
+ font-size:12px
|
|
|
+ }
|
|
|
+ .dashboard_box th img {
|
|
|
+ width:8px
|
|
|
+ }
|
|
|
+ .dashboard_box .SENSOR_HISTORY {
|
|
|
+ color:#156be9;
|
|
|
+ font-size:18px;
|
|
|
+ height:64px;
|
|
|
+ padding-top:28px;
|
|
|
+ padding-left:15px;
|
|
|
+ border-bottom:1px solid #01060e
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list {
|
|
|
+ margin-top:15px;
|
|
|
+ display:-webkit-inline-box;
|
|
|
+ display:-ms-inline-flexbox;
|
|
|
+ display:inline-flex;
|
|
|
+ width:100%
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .left-list {
|
|
|
+ background:#05172f;
|
|
|
+ width:467px
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .left-list table {
|
|
|
+ width:100%;
|
|
|
+ text-align:left;
|
|
|
+ color:#d7d7dc
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .left-list table th {
|
|
|
+ width:33%;
|
|
|
+ background:transparent;
|
|
|
+ color:#fff;
|
|
|
+ font-weight:400;
|
|
|
+ padding:12px 15px
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .left-list table td {
|
|
|
+ padding:12px 0 12px 15px;
|
|
|
+ width:33%
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .left-list table tr {
|
|
|
+ height:38px
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .left-list .selected {
|
|
|
+ background-color:#0b3370!important
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .left-list table tr.selected td:last-child {
|
|
|
+ position:relative
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .left-list table tr.selected td:last-child img {
|
|
|
+ width:12px;
|
|
|
+ position:absolute;
|
|
|
+ right:5px
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .left-list table tr.normal td:last-child {
|
|
|
+ background:none
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .left-list tbody tr:nth-child(2n) {
|
|
|
+ background:#051c3c
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .right-info {
|
|
|
+ width:100%;
|
|
|
+ padding:20px;
|
|
|
+ background:#0b3370;
|
|
|
+ color:#f6f8fe
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .right-info .right-info-title {
|
|
|
+ border-bottom:1px solid #0e4496;
|
|
|
+ padding-bottom:20px
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .right-info .sensor_orange {
|
|
|
+ color:#ea9517;
|
|
|
+ font-weight:400
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .right-info .toggleWidget {
|
|
|
+ color:#ea9517;
|
|
|
+ text-decoration:none
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .right-info .widgetStatus {
|
|
|
+ color:#fff;
|
|
|
+ padding-left:5px
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .right-info .sensor_gray {
|
|
|
+ color:#fff
|
|
|
+ }
|
|
|
+ .dashboard_box .sesors-list .right-info .info_table {
|
|
|
+ font-size:12px;
|
|
|
+ padding:10px 0
|
|
|
+ }
|
|
|
+ .dashboard_box .sensors-history-graph {
|
|
|
+ padding-top:20px
|
|
|
+ }
|
|
|
+ .dashboard_box .sensors-history-graph .title-menu {
|
|
|
+ padding:10px;
|
|
|
+ display:-webkit-box;
|
|
|
+ display:-ms-flexbox;
|
|
|
+ display:flex;
|
|
|
+ display:-webkit-flex;
|
|
|
+ -webkit-box-pack:center;
|
|
|
+ -ms-flex-pack:center;
|
|
|
+ justify-content:center;
|
|
|
+ color:#77adff
|
|
|
+ }
|
|
|
+ .dashboard_box .sensors-history-graph .title-menu .active {
|
|
|
+ color:#77adff;
|
|
|
+ font-size:14px;
|
|
|
+ font-weight:400;
|
|
|
+ text-decoration:none;
|
|
|
+ color:#fff
|
|
|
+ }
|
|
|
+ .dashboard_box .sensors-history-graph .title-menu{
|
|
|
+ border-right:1px solid #f6f8fe
|
|
|
+ }
|
|
|
+ h4 {
|
|
|
+ font-size:15px;
|
|
|
+ width:auto;
|
|
|
+ margin:3px;
|
|
|
+ padding:2px
|
|
|
+ }
|
|
|
+ h3 {
|
|
|
+ color:#fff;
|
|
|
+ font-size:20px;
|
|
|
+ padding-bottom:0;
|
|
|
+ border-bottom:1px solid #000
|
|
|
+ }
|
|
|
+ select{
|
|
|
+ border-radius:3px;
|
|
|
+ height:34px;
|
|
|
+ padding:0 10px;
|
|
|
+ background:#fff;
|
|
|
+ border:1px solid #1874ff;
|
|
|
+ color:#003c97;
|
|
|
+ -webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);
|
|
|
+ box-shadow:inset 0 1px 1px rgba(0,0,0,.075);
|
|
|
+ -webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
|
|
|
+ transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
|
|
|
+ transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;
|
|
|
+ transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out
|
|
|
+ }
|
|
|
|
|
|
-select {
|
|
|
- border-radius: 3px;
|
|
|
- height: 34px;
|
|
|
- padding: 0 10px;
|
|
|
- background: #fff;
|
|
|
- border: 1px solid #1874FF;
|
|
|
- color: #003C97;
|
|
|
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
|
|
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
|
|
- -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
|
|
|
- -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
|
|
- transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
|
|
-}
|
|
|
</style>
|