@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" />
140 lines (135 loc) • 5.54 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const agricultural = require('./images/agricultural.png.js');
const aquaculture = require('./images/aquaculture.png.js');
const carWash = require('./images/carWash.png.js');
const garbageTreatmentPlant = require('./images/garbageTreatmentPlant.png.js');
const gasStation = require('./images/gasStation.png.js');
const hazardousWaste = require('./images/hazardousWaste.png.js');
const industry = require('./images/industry.png.js');
const livestock = require('./images/livestock.png.js');
const market = require('./images/market.png.js');
const medicalWaste = require('./images/medicalWaste.png.js');
const medicalWasteSource = require('./images/medicalWasteSource.png.js');
const residence = require('./images/residence.png.js');
const ruralLifeSource = require('./images/ruralLifeSource.png.js');
const sewageTreatmentPlant = require('./images/sewageTreatmentPlant.png.js');
const unit = require('./images/unit.png.js');
const urbanNonPointSource = require('./images/urbanNonPointSource.png.js');
const vue = require('vue');
const elementPlusExpand = require('@ued_fpi/element-plus-expand');
const _hoisted_1 = { class: "dv-wgms-surrounding-pollution-sources" };
const _hoisted_2 = { class: "roll-box" };
const _hoisted_3 = { class: "pollution-num" };
const _hoisted_4 = { class: "pollution-name" };
const _hoisted_5 = {
key: 1,
class: "empty-data"
};
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...{
name: "DvWgmsSurroundingPollutionSources",
title: "周边污染源(1.4)"
},
__name: "index",
props: {
data: {
type: Array,
default: () => {
return [
{
name: "工业区",
num: 0
},
{
name: "公建单位",
num: 0
},
{
name: "农贸市场",
num: 0
},
{
name: "洗车店",
img: "carWash"
}
];
}
}
},
setup(__props, { expose: __expose }) {
const props = __props;
const imgList = /* #__PURE__ */ Object.assign({"./images/agricultural.png": agricultural,"./images/aquaculture.png": aquaculture,"./images/carWash.png": carWash,"./images/garbageTreatmentPlant.png": garbageTreatmentPlant,"./images/gasStation.png": gasStation,"./images/hazardousWaste.png": hazardousWaste,"./images/industry.png": industry,"./images/livestock.png": livestock,"./images/market.png": market,"./images/medicalWaste.png": medicalWaste,"./images/medicalWasteSource.png": medicalWasteSource,"./images/residence.png": residence,"./images/ruralLifeSource.png": ruralLifeSource,"./images/sewageTreatmentPlant.png": sewageTreatmentPlant,"./images/unit.png": unit,"./images/urbanNonPointSource.png": urbanNonPointSource});
const polluteCode = {
工业区: "industry",
公建单位: "unit",
农贸市场: "market",
洗车店: "carWash",
住宅小区: "residence",
畜禽养殖: "livestock",
水产养殖: "aquaculture",
农业种植: "agricultural",
城市面源: "urbanNonPointSource",
农村生活源: "ruralLifeSource",
污水处理厂: "sewageTreatmentPlant",
垃圾处理厂: "garbageTreatmentPlant",
危险废物: "hazardousWaste",
医疗废物: "medicalWaste",
加油站: "gasStation",
医废重点源: "medicalWasteSource"
};
const state = vue.reactive({
tableDatas: [],
time: 10
});
const getImg = (url) => {
return imgList[`./images/${url}`]?.default;
};
const initData = async () => {
state.tableDatas = props?.data || [];
state.tableDatas.forEach((item) => {
item.img = polluteCode[item.name] || "工业区";
});
state.time = state.tableDatas.length * 2.5;
};
vue.onMounted(() => {
initData();
});
vue.watch([() => () => props.data], () => {
initData();
}, { deep: true });
__expose({
reload: initData
});
const { tableDatas, time } = vue.toRefs(state);
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
vue.unref(tableDatas).length ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlusExpand.FpiElRolling), {
key: 0,
"scroll-able": "",
time: vue.unref(time)
}, {
default: vue.withCtx(() => [
vue.createElementVNode("div", _hoisted_2, [
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(tableDatas), (item, index) => {
return vue.openBlock(), vue.createElementBlock("div", {
key: index,
class: "pollution-item"
}, [
vue.createElementVNode("span", _hoisted_3, vue.toDisplayString(item.num ?? 0), 1),
vue.createElementVNode("span", _hoisted_4, vue.toDisplayString(item.name), 1),
vue.createElementVNode("div", {
class: "pollution-img",
style: vue.normalizeStyle({ "background-image": `url(${getImg(`${item.img}.png`)})` })
}, null, 4)
]);
}), 128))
])
]),
_: 1
}, 8, ["time"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, " 暂无数据 "))
]);
};
}
});
exports.default = _sfc_main;