@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" />
116 lines (111 loc) • 5.04 kB
JavaScript
;
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 commonArrow_vue_vue_type_script_setup_true_lang = require('../common/common-arrow.vue.js');
require('../common/common-arrow.vue2.js');
const index = require('./api/index.js');
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__ */ vue.createElementVNode("span", { class: "dv-wgms-text" }, "总数", -1);
const _hoisted_8 = {
class: "dv-wgms-value",
style: { "margin-right": "16px" }
};
const _hoisted_9 = /* @__PURE__ */ vue.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__ */ vue.createElementVNode("span", { class: "dv-wgms-text" }, "同比", -1);
const _sfc_main = /* @__PURE__ */ vue.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 = vue.reactive({
list: []
});
const getResData = async () => {
if (props.data && props.data.length) {
wgmsData.list = props.data;
return;
}
const { data: res } = await index.getReachStandardData(props.params);
res && (wgmsData.list = res);
};
vue.onMounted(() => {
!props.isLazy && getResData();
});
vue.watch([() => props.params, () => props.data, () => props.isLazy], () => {
!props.isLazy && getResData();
}, { deep: true });
__expose({
reload: getResData
});
const {
list
} = vue.toRefs(wgmsData);
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,
class: "dv-wgms-water-quality-status"
}, [
vue.createElementVNode("div", _hoisted_2, [
vue.createElementVNode("div", _hoisted_3, vue.toDisplayString(item.name), 1),
vue.createElementVNode("div", _hoisted_4, vue.toDisplayString(item.reachStandardRate === null ? "--" : `${item.reachStandardRate}%`), 1)
]),
vue.createVNode(ProgressBar_vue_vue_type_script_setup_true_lang.default, {
percentage: item.reachStandardRate === null ? 0 : item.reachStandardRate
}, null, 8, ["percentage"]),
vue.createElementVNode("div", _hoisted_5, [
vue.createElementVNode("div", _hoisted_6, [
props.isShowTotal ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
_hoisted_7,
vue.createElementVNode("span", _hoisted_8, vue.toDisplayString(item.total || 0), 1)
], 64)) : vue.createCommentVNode("", true),
_hoisted_9,
vue.createElementVNode("span", _hoisted_10, vue.toDisplayString(item.target === null ? "--" : `${item.target}%`), 1)
]),
vue.createElementVNode("div", _hoisted_11, [
_hoisted_12,
vue.createElementVNode("span", {
style: vue.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"
}, vue.toDisplayString(item.yoy === null ? "--" : item.yoy === 0 ? "持平" : `${item.yoy}%`), 5),
item.yoy !== null ? (vue.openBlock(), vue.createBlock(commonArrow_vue_vue_type_script_setup_true_lang.default, {
key: 0,
direction: item.yoy > 0 ? "up" : item.yoy < 0 ? "down" : "flat"
}, null, 8, ["direction"])) : vue.createCommentVNode("", true)
])
])
]);
}), 128))
]);
};
}
});
exports.default = _sfc_main;