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

159 lines (156 loc) 6.12 kB
import { defineComponent, reactive, onMounted, watch, toRefs, openBlock, createElementBlock, unref, Fragment, renderList, createElementVNode, createCommentVNode, toDisplayString } from 'vue'; import dayjs from 'dayjs'; import { correlationCoefficient } from './api/index.mjs'; import sortImg1 from './images/sort1.png.mjs'; import sortImg2 from './images/sort2.png.mjs'; import sortImg3 from './images/sort3.png.mjs'; import baseImg from './images/base.png.mjs'; const _hoisted_1 = { class: "dv-wgms-correlation-coefficient" }; const _hoisted_2 = { key: 0 }; const _hoisted_3 = { class: "coefficient-img" }; const _hoisted_4 = ["src"]; const _hoisted_5 = ["src"]; const _hoisted_6 = { key: 2, class: "img-rank" }; const _hoisted_7 = ["title"]; const _hoisted_8 = { class: "coefficient-relation" }; const _hoisted_9 = /* @__PURE__ */ createElementVNode("span", { class: "label" }, "相关系数:", -1); const _hoisted_10 = { class: "num blue" }; const _hoisted_11 = { class: "coefficient-relation w90" }; const _hoisted_12 = /* @__PURE__ */ createElementVNode("span", { class: "label" }, "报警数:", -1); const _hoisted_13 = { class: "num red" }; const _hoisted_14 = { key: 1, class: "empty-data" }; const _sfc_main = /* @__PURE__ */ defineComponent({ ...{ name: "DvWgmsCorrelationCoefficient", title: "相关性系数(1.4)" }, __name: "index", props: { params: { type: Object, default: () => { return { alartTime: 1701964799999, // 报警时间 analysisTime: 24, accessCode: "31100614", targetFactorId: 1, queryTimeType: "day", beginTime: 170136e7, // 分析时间开始 endTime: 1701964799999, // 分析时间结束 delayedFlag: true, filterEmptyData: true, factorCode: "w01009" }; } }, isLazy: { type: Boolean, default: false } }, setup(__props, { expose: __expose }) { const props = __props; const state = reactive({ tableDatas: [] }); const getDateEndTime = (timeType, date) => { let resDate; if (timeType === "hour") { resDate = dayjs(date).add(1, "hours").startOf("hour").format("x"); } else if (timeType === "day") { resDate = dayjs(date).add(1, "days").startOf("day").format("x"); } else if (timeType === "week") { resDate = dayjs(date).add(1, "week").startOf("week").format("x"); } else if (timeType === "month") { resDate = dayjs(date).add(1, "month").startOf("day").format("x"); } else if (timeType === "year") { resDate = dayjs(date).add(1, "year").startOf("year").format("x"); } return resDate; }; const initData = async () => { const params = { time: dayjs(props?.params?.alartTime).valueOf(), // 报警时间 analysisTime: props?.params?.analysisTime, accessCode: props?.params?.accessCode, targetFactorId: props?.params?.targetFactorId, queryTimeType: props?.params?.queryTimeType, beginTime: props?.params?.beginTime, // 分析时间开始 endTime: getDateEndTime(props?.params?.queryTimeType, props.params?.endTime), sourceFactors: props?.params?.factorCode, delayedFlag: props?.params?.delayedFlag, filterEmptyData: props?.params?.filterEmptyData, limit: props?.params?.limit ? props?.params?.limit : null }; const res = await correlationCoefficient(params); const resData = res.data || []; const imgIcon = [sortImg1, sortImg2, sortImg3]; state.tableDatas = resData.map((item, index) => { return { label: item.name, alarmNum: item.alarmCount, coefficientDoubleValue: item.corr !== null ? item.corr : "--", icon: item.rank && Number(item.rank) < 4 ? imgIcon[Number(item.rank) - 1] : "" }; }); }; onMounted(() => { !props.isLazy && initData(); }); watch([() => props.params, () => props.isLazy], () => { !props.isLazy && initData(); }, { deep: true }); __expose({ reload: initData }); const { tableDatas } = toRefs(state); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1, [ unref(tableDatas).length ? (openBlock(), createElementBlock("div", _hoisted_2, [ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(tableDatas), (item, index) => { return openBlock(), createElementBlock("div", { key: index, class: "coefficient-item" }, [ createElementVNode("div", _hoisted_3, [ item.icon ? (openBlock(), createElementBlock("img", { key: 0, src: item.icon }, null, 8, _hoisted_4)) : createCommentVNode("", true), !item.icon ? (openBlock(), createElementBlock("img", { key: 1, src: unref(baseImg) }, null, 8, _hoisted_5)) : createCommentVNode("", true), !item.icon ? (openBlock(), createElementBlock("span", _hoisted_6, toDisplayString(item.rank), 1)) : createCommentVNode("", true) ]), createElementVNode("span", { class: "coefficient-name", title: item.label }, toDisplayString(item.label), 9, _hoisted_7), createElementVNode("div", _hoisted_8, [ _hoisted_9, createElementVNode("span", _hoisted_10, toDisplayString(item.coefficientDoubleValue ?? "--"), 1) ]), createElementVNode("div", _hoisted_11, [ _hoisted_12, createElementVNode("span", _hoisted_13, toDisplayString(item.alarmNum || item.alarmNum === 0 ? item.alarmNum : "--"), 1) ]) ]); }), 128)) ])) : (openBlock(), createElementBlock("div", _hoisted_14, " 暂无数据 ")) ]); }; } }); export { _sfc_main as default };