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

134 lines (129 loc) 4.5 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const vue = require('vue'); const dayjs = require('dayjs'); const utils = require('../../../utils.js'); const index = require('./api/index.js'); const wind_direction = require('./images/wind_direction.svg.js'); const wind_speed = require('./images/wind_speed.svg.js'); const temperature = require('./images/temperature.svg.js'); const pressure = require('./images/pressure.svg.js'); const humidity = require('./images/humidity.svg.js'); const precipitation = require('./images/precipitation.svg.js'); const white_wind_direction = require('./images/white_wind_direction.svg.js'); const white_humidity = require('./images/white_humidity.svg.js'); const white_precipitation = require('./images/white_precipitation.svg.js'); const white_pressure = require('./images/white_pressure.svg.js'); const white_temperature = require('./images/white_temperature.svg.js'); const white_wind_speed = require('./images/white_wind_speed.svg.js'); const _hoisted_1 = { class: "condition" }; const _hoisted_2 = ["src"]; const _hoisted_3 = { class: "condition-value" }; const _hoisted_4 = { class: "unit" }; const className = "dv-aims-weather-condition"; const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "index", props: { apiParams: { default: () => ({ time: dayjs().subtract(1, "h").valueOf(), gridCode: "0101000000", timeType: "hour" }) } }, setup(__props) { const props = __props; const { isDark } = utils.useThemeHook(); const list = vue.ref([ { name: "风向", value: "--", unit: "", key: "windDirection", backgroundUrl: wind_direction.default, whiteBackgroundUrl: white_wind_direction.default }, { name: "风级", value: "--", unit: "--", key: "windScale", backgroundUrl: wind_speed.default, whiteBackgroundUrl: white_wind_speed.default }, { name: "温度", value: "--", unit: "°C", key: "temperature", backgroundUrl: temperature.default, whiteBackgroundUrl: white_temperature.default }, { name: "气压", value: "--", unit: "hPa", key: "pres", backgroundUrl: pressure.default, whiteBackgroundUrl: white_pressure.default }, { name: "湿度", value: "--", unit: "%", key: "humidity", backgroundUrl: humidity.default, whiteBackgroundUrl: white_humidity.default }, { name: "降水量", value: "--", unit: "mm", key: "rain", backgroundUrl: precipitation.default, whiteBackgroundUrl: white_precipitation.default } ]); const fetchData = () => { index.getAirQuality(props.apiParams).then((res) => { if (res.data) { const data = res.data; list.value = list.value.map((item) => { const obj = data.weatherFactors.find((c) => c.key === item.key); return { ...item, unit: obj?.unit ? obj.unit : "--", value: obj?.value ? obj.value : "--" }; }); } }); }; vue.onMounted(() => { fetchData(); }); vue.watch(() => props.apiParams, () => { fetchData(); }); return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock("div", { class: vue.normalizeClass(`${className}-container`) }, [ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(list.value, (item) => { return vue.openBlock(), vue.createElementBlock("div", { key: item.name, class: vue.normalizeClass(`${className}-list`) }, [ vue.createElementVNode("span", _hoisted_1, vue.toDisplayString(item.name), 1), vue.createElementVNode("img", { src: vue.unref(isDark) ? item.backgroundUrl : item.whiteBackgroundUrl, class: vue.normalizeClass({ white: !vue.unref(isDark) }) }, null, 10, _hoisted_2), vue.createElementVNode("span", _hoisted_3, vue.toDisplayString(item.value), 1), vue.createElementVNode("span", _hoisted_4, vue.toDisplayString(item.unit), 1) ], 2); }), 128)) ], 2); }; } }); exports.default = _sfc_main;