UNPKG

@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" />

97 lines (94 loc) 2.85 kB
import { defineComponent, ref, openBlock, createElementBlock, Fragment, renderList, createBlock, createVNode } from 'vue'; import requestControl from '../../service/request.mjs'; import _sfc_main$1 from './components/SingleItem.vue.mjs'; import './components/SingleItem.vue2.mjs'; import _sfc_main$2 from './components/AlarmStatistics.vue.mjs'; import './components/AlarmStatistics.vue2.mjs'; const _hoisted_1 = { class: "dv-ipes-gas-control ipes-gas-control-container" }; const __default__ = { name: "DvIpesGasControl", title: "有毒有害气体管控" }; const _sfc_main = /* @__PURE__ */ defineComponent({ ...__default__, props: { // '有毒有害气体', '易燃易爆监测', 'VOCs厂界监测'数据 getGasControlApi: { type: String, default: "/ipes-monitor-server/api/v2/monitordata/real-data-new?monitorType=aqms" }, alarmNum: { default: 0, type: Number }, data: { type: Array, default: () => [] }, list: { type: Array, default: () => [] }, isUseBuiltInApi: { default: true, type: Boolean } }, setup(__props) { const props = __props; const topData = ref([]); async function getGasControlData(category) { try { const res = await requestControl({ method: "get", url: props.getGasControlApi, params: { category } }); return res?.data?.statusMap; } catch (error) { console.log(error); } } async function getData() { try { const res = await Promise.all([ getGasControlData("ydyh"), getGasControlData("yryb"), getGasControlData("cjyj") ]); const labels = ["有毒有害气体", "易燃易爆监测", "VOCs厂界监测"]; const list = labels.map((label, index) => { const nums = [res[index]?.normal, res[index]?.abnormal, res[index]?.offline]; return { label, nums }; }); topData.value = list; } catch (e) { console.log(e); } } if (props.isUseBuiltInApi) getData(); else topData.value = props.data; return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1, [ (openBlock(true), createElementBlock(Fragment, null, renderList(topData.value, (item, index) => { return openBlock(), createBlock(_sfc_main$1, { key: index, data: item, class: "dv-ipes-single-item-wrap" }, null, 8, ["data"]); }), 128)), createVNode(_sfc_main$2, { class: "dv-ipes-alarm-statistics-wrap", all: __props.alarmNum, data: __props.list }, null, 8, ["all", "data"]) ]); }; } }); export { _sfc_main as default };