@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
JavaScript
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 };