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

112 lines (109 loc) 4.81 kB
import { defineComponent, reactive, onMounted, watch, toRefs, openBlock, createElementBlock, Fragment, renderList, unref, createElementVNode, toDisplayString, createVNode, createCommentVNode, normalizeStyle, createBlock } from 'vue'; import _sfc_main$1 from '../common/ProgressBar.vue.mjs'; import '../common/ProgressBar.vue2.mjs'; import _sfc_main$2 from '../common/common-arrow.vue.mjs'; import '../common/common-arrow.vue2.mjs'; import { getReachStandardData } from './api/index.mjs'; const _hoisted_1 = { class: "dv-wgms-water-quality" }; const _hoisted_2 = { class: "dv-wgms-water-quality-status-top dv-wgms-flex-between-center" }; const _hoisted_3 = { class: "dv-wgms-label" }; const _hoisted_4 = { class: "dv-wgms-rate" }; const _hoisted_5 = { class: "dv-wgms-water-quality-status-bottom dv-wgms-flex-between-center" }; const _hoisted_6 = { class: "dv-wgms-target" }; const _hoisted_7 = /* @__PURE__ */ createElementVNode("span", { class: "dv-wgms-text" }, "总数", -1); const _hoisted_8 = { class: "dv-wgms-value", style: { "margin-right": "16px" } }; const _hoisted_9 = /* @__PURE__ */ createElementVNode("span", { class: "dv-wgms-text" }, "目标", -1); const _hoisted_10 = { class: "dv-wgms-value" }; const _hoisted_11 = { class: "dv-wgms-same flex-left-center" }; const _hoisted_12 = /* @__PURE__ */ createElementVNode("span", { class: "dv-wgms-text" }, "同比", -1); const _sfc_main = /* @__PURE__ */ defineComponent({ ...{ name: "DvWgmsWaterQualityStatus", title: "水质状况(1.4)" }, __name: "index", props: { params: { default: () => { return { treeId: 3301, timeType: "year", startTime: 16725024e5, endTime: 17040384e5 }; } }, data: { default: () => { return []; } }, isLazy: { type: Boolean, default: false }, isShowTotal: { type: Boolean, default: false } }, setup(__props, { expose: __expose }) { const props = __props; const wgmsData = reactive({ list: [] }); const getResData = async () => { if (props.data && props.data.length) { wgmsData.list = props.data; return; } const { data: res } = await getReachStandardData(props.params); res && (wgmsData.list = res); }; onMounted(() => { !props.isLazy && getResData(); }); watch([() => props.params, () => props.data, () => props.isLazy], () => { !props.isLazy && getResData(); }, { deep: true }); __expose({ reload: getResData }); const { list } = toRefs(wgmsData); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1, [ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(list), (item, index) => { return openBlock(), createElementBlock("div", { key: index, class: "dv-wgms-water-quality-status" }, [ createElementVNode("div", _hoisted_2, [ createElementVNode("div", _hoisted_3, toDisplayString(item.name), 1), createElementVNode("div", _hoisted_4, toDisplayString(item.reachStandardRate === null ? "--" : `${item.reachStandardRate}%`), 1) ]), createVNode(_sfc_main$1, { percentage: item.reachStandardRate === null ? 0 : item.reachStandardRate }, null, 8, ["percentage"]), createElementVNode("div", _hoisted_5, [ createElementVNode("div", _hoisted_6, [ props.isShowTotal ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ _hoisted_7, createElementVNode("span", _hoisted_8, toDisplayString(item.total || 0), 1) ], 64)) : createCommentVNode("", true), _hoisted_9, createElementVNode("span", _hoisted_10, toDisplayString(item.target === null ? "--" : `${item.target}%`), 1) ]), createElementVNode("div", _hoisted_11, [ _hoisted_12, createElementVNode("span", { style: normalizeStyle({ color: item.yoy === null ? "var(--dv-color-text-placeholder)" : item.yoy > 0 ? "var(--dv-color-success)" : item.yoy < 0 ? "var(--dv-color-danger)" : "var(--dv-color-index)" }), class: "dv-wgms-value" }, toDisplayString(item.yoy === null ? "--" : item.yoy === 0 ? "持平" : `${item.yoy}%`), 5), item.yoy !== null ? (openBlock(), createBlock(_sfc_main$2, { key: 0, direction: item.yoy > 0 ? "up" : item.yoy < 0 ? "down" : "flat" }, null, 8, ["direction"])) : createCommentVNode("", true) ]) ]) ]); }), 128)) ]); }; } }); export { _sfc_main as default };