123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 |
- <template>
- <div class="left-chart-1">
- <div class="left-list">
- <div class="left-container">
- <div class="container-topdown">
- <img src="./img/SOS.svg" alt="" />
- <div class="word">SOS告警</div>
- </div>
- <div class="container-topdown">
- <div class="number">{{ data.un_alarmSOSSolve }}</div>
- <div class="word">未处理</div>
- </div>
- <div class="container-topdown">
- <div class="number color">{{ data.alarmSOSSolve }}</div>
- <div class="word">已处理</div>
- </div>
- </div>
- <div class="left-container">
- <div class="container-topdown">
- <img src="./img/weilan.svg" alt="" />
- <div class="word">围栏告警</div>
- </div>
- <div class="container-topdown">
- <div class="number">{{ data.un_alarmRailSolve }}</div>
- <div class="word">未处理</div>
- </div>
- <div class="container-topdown">
- <div class="number color">{{ data.alarmRailSolve }}</div>
- <div class="word">已处理</div>
- </div>
- </div>
- <div class="left-container">
- <div class="container-topdown">
- <img src="./img/xinlv.svg" alt="" />
- <div class="word">心率告警</div>
- </div>
- <div class="container-topdown">
- <div class="number">{{ data.un_alarmHeartSolve }}</div>
- <div class="word">未处理</div>
- </div>
- <div class="container-topdown">
- <div class="number color">{{ data.alarmHeartSolve }}</div>
- <div class="word">已处理</div>
- </div>
- </div>
- <div class="left-container">
- <div class="container-topdown">
- <img src="./img/diedao.svg" alt="" />
- <div class="word">跌倒告警</div>
- </div>
- <div class="container-topdown">
- <div class="number">{{ data.un_alarmFallSolve }}</div>
- <div class="word">未处理</div>
- </div>
- <div class="container-topdown">
- <div class="number color">{{ data.alarmFallSolve }}</div>
- <div class="word">已处理</div>
- </div>
- </div>
- <div class="left-container">
- <div class="container-topdown">
- <img src="./img/didian.svg" alt="" />
- <div class="word">低电提醒</div>
- </div>
- <div class="container-topdown">
- <div class="number">{{ data.un_alarmLowSolve }}</div>
- <div class="word">未处理</div>
- </div>
- <div class="container-topdown">
- <div class="number color">{{ data.alarmLowSolve }}</div>
- <div class="word">已处理</div>
- </div>
- </div>
- <div class="left-container">
- <div class="container-topdown">
- <img src="./img/shebei.svg" alt="" />
- <div class="word">设备状态</div>
- </div>
- <div class="container-topdown">
- <div class="number">{{ data.un_alarmStatusSolve }}</div>
- <div class="word">未处理</div>
- </div>
- <div class="container-topdown">
- <div class="number color">{{ data.alarmStatusSolve }}</div>
- <div class="word">已处理</div>
- </div>
- </div>
- </div>
- </div>
- </template>
- <script>
- import { count, alarm } from "@/api/system/datav";
- export default {
- name: "LeftChart1",
- data() {
- return {
- config: {
- // data: [
- // {
- // label:222,
- // name: '收费系统',
- // value: 167
- // },
- // {
- // label:222,
- // name: '通信系统',
- // value: 67
- // },
- // {
- // label:222,
- // name: '监控系统',
- // value: 123
- // },
- // {
- // label:222,
- // name: '供配系统',
- // value: 55
- // },
- // {
- // label:222,
- // name: '其他',
- // value: 98
- // },
- // {
- // label:222,
- // name: '其他',
- // value: 98
- // },
- // ],
- colors: ["#00baff", "#3de7c9", "#fff", "#ffc530", "#469f4b"],
- unit: "件",
- },
- number: null,
- data: {},
- config1: {},
- currentValue:0,
- digits: [0, 0, 0],
- animationInterval: null,
- };
- },
- mounted() {
- this.initData();
- // this.flipToValue(this.number); // 初始化显示数字
- // this.startAnimation()
- },
- methods: {
- async initData() {
- await count().then((res) => {
- console.log(res, 999);
- this.number = res.data;
- });
- alarm().then((res) => {
- console.log(res, 444);
- this.data = res.data;
- });
- this.config1 = {
- number: [this.number],
- content: String(this.number),
- // animationFrame:10
- };
- console.log(typeof String(this.number),777);
- },
- // startAnimation() {
- // this.animationInterval = setInterval(() => {
- // const increment = this.number > this.currentValue ? 1 : -1;
- // this.currentValue += increment;
- // console.log(this.currentValue, increment,4545444);
- // this.flipToValue(this.currentValue);
- // // this.number = this.currentValue
- // if (this.currentValue === this.number) {
- // clearInterval(this.animationInterval);
- // setTimeout(() => {
- // this.currentValue = 0; // 重置当前值
- // this.startAnimation(); // 开始新一轮动画
- // }, 5000); // 5秒后重新开始
- // }
- // }, 50);
- // },
- // updateDigit(index, value) {
- // this.$set(this.digits, index, value);
- // },
- // flipToValue(value) {
- // const valueStr = String(value).padStart(3, '0');
- // for (let i = 0; i < 3; i++) {
- // this.updateDigit(i, Number(valueStr[i]));
- // }
- // },
- },
- };
- </script>
- <style lang="scss">
- .left-chart-1 {
- width: 100%;
- height: 100%;
- display: flex;
- flex-grow: 0;
- flex-direction: column;
- // border:1px solid green;
- .lc1-details {
- // width: 250px;
- height: 90px;
- font-size: 14px;
- padding: 0 10px;
- display: flex;
- justify-content: space-between;
- align-items: center;
- border-radius: 5px;
- // border: 1px solid red;
- background-color: #062961;
- span {
- color: #096dd9;
- font-weight: bold;
- font-size: 35px;
- margin-left: 20px;
- }
- }
- .left-list {
- height: 100%;
- .left-container {
- // width: 100%;
- height: 15.4%;
- text-align: center;
- border-radius: 5px;
- border: 1px solid #1ae1e6;
- // height: 50px;
- // background-color: green;
- margin-top: 10px;
- display: flex;
- background-color: #5d6986;
- // color:red;
- .container-topdown {
- width: 100%;
- // height: 57px;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- img {
- width: 20px;
- height: 20px;
- }
- .word {
- font-size: 12px;
- }
- .number {
- color: #fcca00;
- font-size: 20px;
- font-weight: bold;
- }
- .color {
- color: #fff;
- }
- }
- }
- }
- }
- </style>
|