@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" />
119 lines (114 loc) • 5.04 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const es = require('element-plus/es');
require('element-plus/es/components/base/style/css');
require('element-plus/es/components/tooltip/style/css');
const bgLight = require('./images/bg-light.png.js');
const bg = require('./images/bg.png.js');
const selfUseLight = require('./images/selfUse-light.png.js');
const selfUse = require('./images/selfUse.png.js');
const stockWeightLight = require('./images/stockWeight-light.png.js');
const stockWeight = require('./images/stockWeight.png.js');
const transferLight = require('./images/transfer-light.png.js');
const transfer = require('./images/transfer.png.js');
const wasteGeneratedLight = require('./images/wasteGenerated-light.png.js');
const wasteGenerated = require('./images/wasteGenerated.png.js');
const vue = require('vue');
const dayjs = require('dayjs');
const request = require('../../service/request.js');
const utils = require('../../../utils.js');
const hooks = require('../../utils/hooks.js');
const _hoisted_1 = { class: "dv-ipes-hazardous-waste" };
const _hoisted_2 = { class: "box" };
const _hoisted_3 = ["src"];
const _hoisted_4 = { class: "info" };
const _hoisted_5 = { class: "name" };
const _hoisted_6 = { class: "right flex" };
const _hoisted_7 = { class: "value" };
const _hoisted_8 = /* @__PURE__ */ vue.createElementVNode("div", { class: "unit" }, " 吨 ", -1);
const __default__ = {
name: "DvIpesHazardousWasteManagement",
title: "危废管理"
};
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...__default__,
props: {
companyCode: { default: "" },
companyAuth: { default: 1 },
year: { default: +dayjs().year() }
},
setup(__props) {
const props = __props;
const { isDark } = utils.useThemeHook();
const basicInfos = vue.ref([
{ name: "危废产生", key: "wasteGenerated" },
{ name: "自行处置", key: "selfUse" },
{ name: "委外处置", key: "transfer" },
{ name: "库存量", key: "stockWeight" }
]);
const infoData = vue.ref({
wasteGenerated: 0,
selfUse: 0,
transfer: 0,
stockWeight: 0
});
const getImg = (key) => {
return new URL((/* #__PURE__ */ Object.assign({"./images/bg-light.png": bgLight.default,"./images/bg.png": bg.default,"./images/selfUse-light.png": selfUseLight.default,"./images/selfUse.png": selfUse.default,"./images/stockWeight-light.png": stockWeightLight.default,"./images/stockWeight.png": stockWeight.default,"./images/transfer-light.png": transferLight.default,"./images/transfer.png": transfer.default,"./images/wasteGenerated-light.png": wasteGeneratedLight.default,"./images/wasteGenerated.png": wasteGenerated.default}))[`./images/${key}.png`], self.location).href;
};
async function getData() {
try {
const { data } = await request.default({
method: "get",
url: "/ipes-hwms-server/api/v2/statistics/gis/company-overview",
params: props
});
infoData.value = data;
} catch (error) {
console.log(error);
}
}
function getShowData(value) {
return value == null ? "0" : value;
}
vue.onMounted(() => {
getData();
});
hooks.setIntervalData(getData, 5 * 60 * 1e3);
return (_ctx, _cache) => {
const _component_el_tooltip = es.ElTooltip;
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(basicInfos.value, (item) => {
return vue.openBlock(), vue.createElementBlock("div", {
key: item.key,
class: vue.normalizeClass(["security-box", item.key])
}, [
vue.createElementVNode("div", _hoisted_2, [
vue.createElementVNode("img", {
src: getImg(item.key + (vue.unref(isDark) ? "" : "-light"))
}, null, 8, _hoisted_3),
vue.createElementVNode("div", _hoisted_4, [
vue.createElementVNode("div", _hoisted_5, vue.toDisplayString(item.name), 1),
vue.createElementVNode("div", _hoisted_6, [
vue.createVNode(_component_el_tooltip, {
disabled: getShowData(infoData.value[item.key]) && getShowData(infoData.value[item.key]).length < 8,
class: "item",
effect: "dark",
content: getShowData(infoData.value[item.key]),
placement: "top-start"
}, {
default: vue.withCtx(() => [
vue.createElementVNode("div", _hoisted_7, vue.toDisplayString(getShowData(infoData.value[item.key])), 1)
]),
_: 2
}, 1032, ["disabled", "content"]),
_hoisted_8
])
])
])
], 2);
}), 128))
]);
};
}
});
exports.default = _sfc_main;