@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
JavaScript
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 };