@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" />
98 lines (93 loc) • 3.44 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const vue = require('vue');
const request = require('../../service/request.js');
const hooks = require('../../utils/hooks.js');
const BarItem = require('./components/BarItem.vue.js');
const _hoisted_1 = { class: "dv-ipes-classified-regulation" };
const _hoisted_2 = { class: "classified-header flex" };
const _hoisted_3 = /* @__PURE__ */ vue.createElementVNode("div", { class: "title" }, " 特别/重点/一般 ", -1);
const _hoisted_4 = { class: "count" };
const _hoisted_5 = /* @__PURE__ */ vue.createElementVNode("span", { class: "gap" }, "/", -1);
const _hoisted_6 = /* @__PURE__ */ vue.createElementVNode("span", { class: "gap" }, "/", -1);
const _hoisted_7 = { class: "progress-bar" };
const __default__ = {
name: "DvIpesClassifiedRegulation",
title: "企业分类监管"
};
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...__default__,
props: {
url: {
type: String,
default: "/ipes-srip-server/api/v4/hazard-source/evaluate/gis/stat"
}
},
setup(__props) {
const props = __props;
const countData = vue.ref({
control: 0,
focus: 0,
general: 0
});
const countPercent = vue.ref({
controlPercent: 0,
focusPercent: 0,
generalPercent: 0
});
function getShowData(value) {
return value == null ? "0" : value;
}
async function getData() {
try {
const res = await request.default({
method: "get",
url: props.url
});
const { control, focus, general } = res.data;
countData.value = res.data || {};
const total = control + focus + general;
countPercent.value = {
controlPercent: total === 0 ? 0 : control / total * 100,
focusPercent: total === 0 ? 0 : focus / total * 100,
generalPercent: total === 0 ? 100 : general / total * 100
};
} catch (error) {
console.log(error);
}
}
vue.onMounted(() => {
getData();
});
hooks.setIntervalData(getData, 5 * 60 * 1e3);
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
vue.createElementVNode("div", _hoisted_2, [
_hoisted_3,
vue.createElementVNode("div", _hoisted_4, [
vue.createElementVNode("span", null, vue.toDisplayString(getShowData(countData.value.control)) + "家 ", 1),
_hoisted_5,
vue.createElementVNode("span", null, vue.toDisplayString(getShowData(countData.value.focus)) + "家 ", 1),
_hoisted_6,
vue.createElementVNode("span", null, vue.toDisplayString(getShowData(countData.value.general)) + "家 ", 1)
])
]),
vue.createElementVNode("div", _hoisted_7, [
vue.createVNode(BarItem.default, {
percent: countPercent.value.controlPercent,
"class-name": "red"
}, null, 8, ["percent"]),
vue.createVNode(BarItem.default, {
percent: countPercent.value.focusPercent,
"class-name": "yellow"
}, null, 8, ["percent"]),
vue.createVNode(BarItem.default, {
percent: countPercent.value.generalPercent,
"class-name": "green"
}, null, 8, ["percent"])
])
]);
};
}
});
exports.default = _sfc_main;