@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" />
101 lines (96 loc) • 3.09 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const vue = require('vue');
const request = require('../../service/request.js');
const SingleItem_vue_vue_type_script_setup_true_lang = require('./components/SingleItem.vue.js');
require('./components/SingleItem.vue2.js');
const AlarmStatistics_vue_vue_type_script_setup_true_lang = require('./components/AlarmStatistics.vue.js');
require('./components/AlarmStatistics.vue2.js');
const _hoisted_1 = { class: "dv-ipes-gas-control ipes-gas-control-container" };
const __default__ = {
name: "DvIpesGasControl",
title: "有毒有害气体管控"
};
const _sfc_main = /* @__PURE__ */ vue.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 = vue.ref([]);
async function getGasControlData(category) {
try {
const res = await request.default({
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 vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(topData.value, (item, index) => {
return vue.openBlock(), vue.createBlock(SingleItem_vue_vue_type_script_setup_true_lang.default, {
key: index,
data: item,
class: "dv-ipes-single-item-wrap"
}, null, 8, ["data"]);
}), 128)),
vue.createVNode(AlarmStatistics_vue_vue_type_script_setup_true_lang.default, {
class: "dv-ipes-alarm-statistics-wrap",
all: __props.alarmNum,
data: __props.list
}, null, 8, ["all", "data"])
]);
};
}
});
exports.default = _sfc_main;