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

173 lines (168 loc) 7.71 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 _1 = require('./images/1.svg.js'); const _1$1 = require('./images/-1.svg.js'); const _0 = require('./images/0.svg.js'); const _hoisted_1 = { class: "dv-wgms-water-quality" }; const _hoisted_2 = { class: "dv-wgms-top-box dv-wgms-mb-12" }; const _hoisted_3 = { class: "dv-wgms-left-box" }; const _hoisted_4 = { class: "left-title" }; const _hoisted_5 = { class: "dv-wgms-water-bg" }; const _hoisted_6 = { class: "dv-wgms-right-box" }; const _hoisted_7 = { class: "dv-wgms-top-text" }; const _hoisted_8 = /* @__PURE__ */ vue.createElementVNode("span", { class: "dv-body1" }, "I-III类优良比例", -1); const _hoisted_9 = { class: "dv-number1" }; const _hoisted_10 = { class: "dv-wgms-mb-8" }; const _hoisted_11 = { class: "dv-wgms-flex-bw-c dv-body1" }; const _hoisted_12 = /* @__PURE__ */ vue.createElementVNode("span", { class: "dv-secondary dv-mr-4" }, "目标", -1); const _hoisted_13 = { class: "dv-number1" }; const _hoisted_14 = /* @__PURE__ */ vue.createElementVNode("span", { class: "dv-secondary dv-mr-4" }, "同比", -1); const _hoisted_15 = ["src"]; const _hoisted_16 = { key: 0, class: "dv-wgms-flex-bw-c dv-wgms-mb-12 dv-wgms-mt--4" }; const _hoisted_17 = { class: "dv-body1" }; const _hoisted_18 = { class: "right-value" }; const _hoisted_19 = { class: "dv-mr-8 dv-number1 dv-index" }; const _hoisted_20 = ["src"]; const _sfc_main = /* @__PURE__ */ vue.defineComponent({ ...{ name: "DvWgmsWaterQualitySituation", title: "水质现状(1.1)" }, __name: "index", props: { data: { default: null }, isLazy: { type: Boolean, default: false }, params: { default: () => { return { treeId: "3301", timeType: "day", startTime: 16725024e5, endTime: 17040384e5 }; } } }, setup(__props, { expose: __expose }) { const props = __props; const list = vue.ref([]); const getCompare = vue.computed(() => (yoy) => { if (yoy > 0) { return { label: "上升", img: _1.default, color: "var(--dv-color-success)" }; } else if (yoy < 0) { return { label: "下降", img: _1$1.default, color: "var(--dv-color-danger)" }; } return { label: "持平", img: _0.default, color: "var(--dv-color-index)" }; }); const getData = async () => { const params = { ...props.params }; const { data } = await index.waterQualityStatus(params); list.value = data || []; }; vue.watch([() => props.data, () => props.params, () => props.isLazy], () => { if (props.isLazy) return; if (props.data) { list.value = props.data; return; } getData(); }, { immediate: true, deep: true }); __expose({ reload: getData }); return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(list), (item, index) => { return vue.openBlock(), vue.createElementBlock("div", { key: index }, [ vue.createElementVNode("div", _hoisted_2, [ vue.createElementVNode("div", _hoisted_3, [ vue.createElementVNode("div", _hoisted_4, vue.toDisplayString(item.stationTypeName), 1), vue.createElementVNode("div", _hoisted_5, [ vue.createElementVNode("span", null, vue.toDisplayString(item.total), 1) ]) ]), vue.createElementVNode("div", _hoisted_6, [ vue.createElementVNode("div", _hoisted_7, [ _hoisted_8, vue.createElementVNode("span", _hoisted_9, vue.toDisplayString(item.excellentPercent === null ? "--" : `${item.excellentPercent}%`), 1) ]), vue.createElementVNode("div", _hoisted_10, [ vue.createVNode(ProgressBar_vue_vue_type_script_setup_true_lang.default, { percentage: item.excellentPercent || 0 }, null, 8, ["percentage"]) ]), vue.createElementVNode("div", _hoisted_11, [ vue.createElementVNode("div", null, [ _hoisted_12, vue.createElementVNode("span", _hoisted_13, vue.toDisplayString(item.targetPercent === null ? "--" : `${item.targetPercent}%`), 1) ]), vue.createElementVNode("div", null, [ _hoisted_14, vue.createElementVNode("span", { class: "dv-mr-4 dv-number1 up-num", style: vue.normalizeStyle({ color: item.yoyPercent === null ? "" : vue.unref(getCompare)(item.yoyPercent).color }) }, vue.toDisplayString(item.yoyPercent === null ? "--" : `${item.yoyPercent}%`), 5), vue.createElementVNode("span", { class: "dv-mr-6 up-num", style: vue.normalizeStyle({ color: item.yoyPercent === null ? "" : vue.unref(getCompare)(item.yoyPercent).color }) }, vue.toDisplayString(item.yoyPercent === null ? "" : vue.unref(getCompare)(item.yoyPercent).label), 5), item.yoyPercent !== null ? (vue.openBlock(), vue.createElementBlock("img", { key: 0, style: { "height": "12px" }, src: vue.unref(getCompare)(item.yoyPercent).img, alt: "" }, null, 8, _hoisted_15)) : vue.createCommentVNode("", true) ]) ]) ]) ]), item.childList ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16, [ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(item.childList, (child) => { return vue.openBlock(), vue.createElementBlock("div", { key: child.stationTypeName, class: "dv-wgms-item dv-wgms-flex-bw-c" }, [ vue.createElementVNode("div", _hoisted_17, vue.toDisplayString(child.stationTypeName), 1), vue.createElementVNode("div", _hoisted_18, [ vue.createElementVNode("span", _hoisted_19, vue.toDisplayString(item.excellentPercent === null ? "--" : `${item.excellentPercent}%`), 1), vue.createElementVNode("span", { class: "dv-mr-2 dv-number1 dv-danger", style: vue.normalizeStyle({ color: item.yoyPercent === null ? "" : vue.unref(getCompare)(item.yoyPercent).color }) }, vue.toDisplayString(item.yoyPercent === null ? "--" : `${item.yoyPercent}%`), 5), item.yoyPercent !== null ? (vue.openBlock(), vue.createElementBlock("img", { key: 0, style: { "height": "12px" }, src: vue.unref(getCompare)(item.yoyPercent).img, alt: "" }, null, 8, _hoisted_20)) : vue.createCommentVNode("", true) ]) ]); }), 128)) ])) : vue.createCommentVNode("", true) ]); }), 128)) ]); }; } }); exports.default = _sfc_main;