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 (87 loc) 3.32 kB
import { defineComponent, reactive, watch, onMounted, toRefs, openBlock, createElementBlock, createElementVNode, Fragment, renderList, unref, toDisplayString, createVNode, createStaticVNode } from 'vue'; import _sfc_main$1 from '../common/ProgressBar.vue.mjs'; import '../common/ProgressBar.vue2.mjs'; import { getUpstreamOverData } from './api/index.mjs'; const _hoisted_1 = { class: "dv-wgms-upstream-section" }; const _hoisted_2 = { class: "section-correlation-table" }; const _hoisted_3 = /* @__PURE__ */ createStaticVNode('<div class="section-correlation-list header"><span class="sort"></span><span class="name"></span><div class="progress"><span class="text">氮</span><span class="text">磷</span></div><span class="alarm">报警数</span></div>', 1); const _hoisted_4 = { class: "sort" }; const _hoisted_5 = { class: "name" }; const _hoisted_6 = { class: "progress" }; const _hoisted_7 = { class: "alarm red" }; const _sfc_main = /* @__PURE__ */ defineComponent({ ...{ name: "DvWgmsUpstreamSection", title: "上游断面最近报警统计" }, __name: "index", props: { height: { default: "200px" }, params: { default: () => { return { dataType: "1", startTime: 1694016e6, endTime: 1694620799999, siteCode: "YYALGAE024", stationCode: "1", timeType: "day" }; } }, data: { default: null } }, setup(__props, { expose: __expose }) { const props = __props; const sectionData = reactive({ relativeData: [] }); watch([ () => props.params, () => props.data ], async () => { !props.isLazy && getData(); }, { deep: true, immediate: true }); const getData = async () => { let resData; if (props.data) { resData = props.data; } else { const res = await getUpstreamOverData(props.params); resData = res?.data ?? []; } sectionData.relativeData = resData.slice(0, 3); sectionData.relativeData.forEach((item) => { item.percent = item.totalOverNum ? item.nh3OverNum / item.totalOverNum * 100 : 0; }); }; onMounted(() => { !props.isLazy && getData(); }); __expose({ reload: getData }); const { relativeData } = toRefs(sectionData); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1, [ createElementVNode("div", _hoisted_2, [ _hoisted_3, (openBlock(true), createElementBlock(Fragment, null, renderList(unref(relativeData), (item, index) => { return openBlock(), createElementBlock("div", { key: index, class: "section-correlation-list" }, [ createElementVNode("span", _hoisted_4, toDisplayString(index + 1), 1), createElementVNode("span", _hoisted_5, toDisplayString(item.siteName), 1), createElementVNode("div", _hoisted_6, [ createVNode(_sfc_main$1, { percentage: item.nh3OverNum / item.totalOverNum * 100 }, null, 8, ["percentage"]) ]), createElementVNode("span", _hoisted_7, toDisplayString(item.totalOverNum), 1) ]); }), 128)) ]) ]); }; } }); export { _sfc_main as default };