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 (89 loc) 3.44 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const vue = require('vue'); const ProgressBar_vue_vue_type_script_setup_true_lang = require('../common/ProgressBar.vue.js'); require('../common/ProgressBar.vue2.js'); const index = require('./api/index.js'); const _hoisted_1 = { class: "dv-wgms-upstream-section" }; const _hoisted_2 = { class: "section-correlation-table" }; const _hoisted_3 = /* @__PURE__ */ vue.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__ */ vue.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 = vue.reactive({ relativeData: [] }); vue.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 index.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; }); }; vue.onMounted(() => { !props.isLazy && getData(); }); __expose({ reload: getData }); const { relativeData } = vue.toRefs(sectionData); return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [ vue.createElementVNode("div", _hoisted_2, [ _hoisted_3, (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(relativeData), (item, index) => { return vue.openBlock(), vue.createElementBlock("div", { key: index, class: "section-correlation-list" }, [ vue.createElementVNode("span", _hoisted_4, vue.toDisplayString(index + 1), 1), vue.createElementVNode("span", _hoisted_5, vue.toDisplayString(item.siteName), 1), vue.createElementVNode("div", _hoisted_6, [ vue.createVNode(ProgressBar_vue_vue_type_script_setup_true_lang.default, { percentage: item.nh3OverNum / item.totalOverNum * 100 }, null, 8, ["percentage"]) ]), vue.createElementVNode("span", _hoisted_7, vue.toDisplayString(item.totalOverNum), 1) ]); }), 128)) ]) ]); }; } }); exports.default = _sfc_main;