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" />

94 lines (91 loc) 3.32 kB
import { defineComponent, ref, onMounted, openBlock, createElementBlock, createElementVNode, toDisplayString, createVNode } from 'vue'; import requestControl from '../../service/request.mjs'; import { setIntervalData } from '../../utils/hooks.mjs'; import BarItem from './components/BarItem.vue.mjs'; const _hoisted_1 = { class: "dv-ipes-classified-regulation" }; const _hoisted_2 = { class: "classified-header flex" }; const _hoisted_3 = /* @__PURE__ */ createElementVNode("div", { class: "title" }, " 特别/重点/一般 ", -1); const _hoisted_4 = { class: "count" }; const _hoisted_5 = /* @__PURE__ */ createElementVNode("span", { class: "gap" }, "/", -1); const _hoisted_6 = /* @__PURE__ */ createElementVNode("span", { class: "gap" }, "/", -1); const _hoisted_7 = { class: "progress-bar" }; const __default__ = { name: "DvIpesClassifiedRegulation", title: "企业分类监管" }; const _sfc_main = /* @__PURE__ */ defineComponent({ ...__default__, props: { url: { type: String, default: "/ipes-srip-server/api/v4/hazard-source/evaluate/gis/stat" } }, setup(__props) { const props = __props; const countData = ref({ control: 0, focus: 0, general: 0 }); const countPercent = ref({ controlPercent: 0, focusPercent: 0, generalPercent: 0 }); function getShowData(value) { return value == null ? "0" : value; } async function getData() { try { const res = await requestControl({ method: "get", url: props.url }); const { control, focus, general } = res.data; countData.value = res.data || {}; const total = control + focus + general; countPercent.value = { controlPercent: total === 0 ? 0 : control / total * 100, focusPercent: total === 0 ? 0 : focus / total * 100, generalPercent: total === 0 ? 100 : general / total * 100 }; } catch (error) { console.log(error); } } onMounted(() => { getData(); }); setIntervalData(getData, 5 * 60 * 1e3); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1, [ createElementVNode("div", _hoisted_2, [ _hoisted_3, createElementVNode("div", _hoisted_4, [ createElementVNode("span", null, toDisplayString(getShowData(countData.value.control)) + "家 ", 1), _hoisted_5, createElementVNode("span", null, toDisplayString(getShowData(countData.value.focus)) + "家 ", 1), _hoisted_6, createElementVNode("span", null, toDisplayString(getShowData(countData.value.general)) + "家 ", 1) ]) ]), createElementVNode("div", _hoisted_7, [ createVNode(BarItem, { percent: countPercent.value.controlPercent, "class-name": "red" }, null, 8, ["percent"]), createVNode(BarItem, { percent: countPercent.value.focusPercent, "class-name": "yellow" }, null, 8, ["percent"]), createVNode(BarItem, { percent: countPercent.value.generalPercent, "class-name": "green" }, null, 8, ["percent"]) ]) ]); }; } }); export { _sfc_main as default };