UNPKG

@ued_fpi/data-visual

Version:

<br /> <br /> <div style="text-align:center"> <b style="font-size:30px">@ued_fpi/data-visual</b> <p>基于Vite4+TypeScript的Vue3大屏组件库开发框架</p> <img style="display:inline" src="https://img.shields.io/npm/v/@ued_fpi/data-visual" />

90 lines (85 loc) 3.2 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const vue = require('vue'); const valve = require('./images/valve.png.js'); const request = require('../../service/request.js'); const hooks = require('../../utils/hooks.js'); const _hoisted_1 = { class: "dv-ipes-rain-valve-condition" }; const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("span", { class: "title" }, "雨水阀门状态", -1); const _hoisted_3 = { class: "box" }; const _hoisted_4 = { class: "info-box" }; const _hoisted_5 = /* @__PURE__ */ vue.createElementVNode("img", { src: valve.default }, null, -1); const _hoisted_6 = { class: "count flex" }; const _hoisted_7 = /* @__PURE__ */ vue.createElementVNode("span", { class: "label" }, "开启", -1); const _hoisted_8 = { class: "value" }; const _hoisted_9 = /* @__PURE__ */ vue.createElementVNode("span", { class: "label" }, "关闭", -1); const _hoisted_10 = { class: "value close" }; const _hoisted_11 = { class: "bar" }; const __default__ = { name: "DvIpesRainValveCondition", title: "雨水阀门状态" }; const _sfc_main = /* @__PURE__ */ vue.defineComponent({ ...__default__, setup(__props) { const valve = vue.ref({ open: 100, closed: 0, openPercent: 100, closedPercent: 0 }); async function getData() { try { const res = await request.default({ method: "get", url: "/ipes-data-aggregation-server/api/v2/gis/env/rain-valve-status-stat" }); let { open, closed } = res.data; open = open || 0; closed = closed || 0; const total = open + closed; const openPercent = open > 0 ? open / total * 100 : 0; const closedPercent = openPercent === 0 || total === 0 ? 100 : closed / total * 100; valve.value = { open, closed, openPercent, closedPercent }; } catch (error) { console.log(error); } } vue.onMounted(() => { getData(); }); hooks.setIntervalData(getData, 5 * 60 * 1e3); return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [ _hoisted_2, vue.createElementVNode("div", _hoisted_3, [ vue.createElementVNode("div", _hoisted_4, [ _hoisted_5, vue.createElementVNode("div", _hoisted_6, [ _hoisted_7, vue.createElementVNode("span", _hoisted_8, vue.toDisplayString(valve.value.open), 1), _hoisted_9, vue.createElementVNode("span", _hoisted_10, vue.toDisplayString(valve.value.closed), 1) ]) ]), vue.createElementVNode("div", _hoisted_11, [ vue.createElementVNode("div", { class: "open", style: vue.normalizeStyle({ width: `${valve.value.openPercent}%` }) }, null, 4), vue.createElementVNode("div", { class: "closed", style: vue.normalizeStyle({ width: `${valve.value.closedPercent}%` }) }, null, 4) ]) ]) ]); }; } }); exports.default = _sfc_main;