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

195 lines (190 loc) 6.97 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const es = require('element-plus/es'); require('element-plus/es/components/base/style/css'); require('element-plus/es/components/infinite-scroll/style/css'); const vue = require('vue'); const request = require('../../service/request.js'); const NoData_vue_vue_type_script_setup_true_lang = require('../common/NoData.vue.js'); require('../common/NoData.vue2.js'); const hooks = require('../../utils/hooks.js'); const Tabs_vue_vue_type_script_setup_true_lang = require('./components/Tabs.vue.js'); require('./components/Tabs.vue2.js'); const ListItem_vue_vue_type_script_setup_true_lang = require('./components/ListItem.vue.js'); require('./components/ListItem.vue2.js'); const _hoisted_1 = { class: "dv-ipes-event-tracking" }; const _hoisted_2 = { class: "totalCount" }; const _hoisted_3 = { class: "num" }; const _hoisted_4 = { key: 0, class: "infinite-list-wrapper" }; const _hoisted_5 = ["infinite-scroll-disabled"]; const _hoisted_6 = { key: 0 }; const _hoisted_7 = { key: 1, class: "last-data" }; const __default__ = { name: "DvIpesGeneralManagement", title: "事件跟踪" }; const _sfc_main = /* @__PURE__ */ vue.defineComponent({ ...__default__, props: { isAccessPermission: { type: Boolean, default: true } }, emits: ["clickItem"], setup(__props, { emit }) { const props = __props; const activeTab = vue.ref(""); const tabList = vue.ref([]); const cardData = vue.ref([]); const totalCount = vue.ref(0); const getCountByStatusForPark = async () => { try { const result = await request.default({ method: "POST", url: "/bmp-mission-center-server/api/v1/parkStatistics/countByStatusForPark", data: { isAccessPermission: props.isAccessPermission // startTime: dayjs().startOf('day').valueOf(), // endTime: dayjs().endOf('day').valueOf() } }); const data = result.data; totalCount.value = data.doingCount + data.undoneCount; } catch (error) { console.log(error); } }; const getTaskLevelStatistics = async () => { try { const result = await request.default({ method: "POST", url: "/bmp-mission-center-server/api/v1/parkStatistics/countByMissionLevel", data: { missionStatusList: [0, 1], isAccessPermission: props.isAccessPermission // startTime: dayjs().startOf('day').valueOf(), // endTime: dayjs().endOf('day').valueOf() } }); const data = result.data || []; tabList.value = data; activeTab.value = data[0].missionLevelCode; page = 1; count.value = 0; listTotalCount.value = 0; cardData.value = []; getEventList(); } catch (error) { console.log(error); } }; const limit = 10; let page = 1; const count = vue.ref(0); const listTotalCount = vue.ref(0); const getEventList = async () => { try { const result = await request.default({ method: "POST", url: "/bmp-mission-center-server/api/v1/missionRecord/pc/queryMissionRecordInfoPage", data: { missionStatusList: [0, 1], missionLevelCodeList: [activeTab.value], limit, page, isAccessPermission: props.isAccessPermission } }); loading.value = false; const data = result.data || []; const d = data.map((item) => { return { id: item.id, missionLevelCode: item.missionLevelCode, missionLevelName: item.missionLevelName, startTimeStr: item.startTimeStr, missionSuperviseStatus: item.missionSuperviseStatus, description: item.description }; }); cardData.value.push(...d); count.value = result.count; listTotalCount.value = result.totalCount; } catch (error) { console.log(error); } }; getCountByStatusForPark(); getTaskLevelStatistics(); const changeTab = (value) => { activeTab.value = value; page = 1; count.value = 0; listTotalCount.value = 0; cardData.value = []; getEventList(); }; const loading = vue.ref(false); const noMore = vue.computed(() => (page - 1) * limit + count.value >= listTotalCount.value); const disabled = vue.computed(() => loading.value || noMore.value); const load = () => { loading.value = true; page++; getEventList(); }; const onClick = (item) => { emit("clickItem", item); }; hooks.setIntervalData(() => { getCountByStatusForPark(); getTaskLevelStatistics(); }, 5 * 60 * 1e3); return (_ctx, _cache) => { const _directive_infinite_scroll = es.ElInfiniteScroll; return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [ vue.createElementVNode("div", _hoisted_2, [ vue.createTextVNode(" 未办结事件 "), vue.createElementVNode("span", _hoisted_3, vue.toDisplayString(totalCount.value), 1) ]), vue.createVNode(Tabs_vue_vue_type_script_setup_true_lang.default, { class: "dv-ipes-tab", data: tabList.value, "model-value": activeTab.value, onChange: changeTab }, null, 8, ["data", "model-value"]), cardData.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [ vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", { class: "card-list", "infinite-scroll-distance": "30", "infinite-scroll-disabled": disabled.value }, [ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(cardData.value, (item) => { return vue.openBlock(), vue.createBlock(ListItem_vue_vue_type_script_setup_true_lang.default, { key: item.missionLevelCode, class: "dv-ipes-list", data: item, onClick: ($event) => onClick(item) }, null, 8, ["data", "onClick"]); }), 128)), loading.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_6, " Loading... ")) : vue.createCommentVNode("", true), noMore.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7, " 到底啦~ ")) : vue.createCommentVNode("", true) ], 8, _hoisted_5)), [ [_directive_infinite_scroll, load] ]) ])) : (vue.openBlock(), vue.createBlock(NoData_vue_vue_type_script_setup_true_lang.default, { key: 1, class: "infinite-list-wrapper", type: "noDataTime2" })) ]); }; } }); exports.default = _sfc_main;