{"ast":null,"code":"import { getRiskWarningList } from '@/api';\nexport default {\n name: 'RiskWarning',\n data() {\n return {\n totalMonth: 0,\n list: [],\n needScroll: false,\n scrollTimer: null,\n paused: false,\n scrollY: 0\n };\n },\n async mounted() {\n const res = await getRiskWarningList();\n this.totalMonth = res.data.totalMonth;\n this.list = res.data.list;\n this.$nextTick(() => {\n setTimeout(() => this.checkScroll(), 300);\n });\n },\n beforeDestroy() {\n if (this.scrollTimer) cancelAnimationFrame(this.scrollTimer);\n },\n methods: {\n checkScroll() {\n const wrapper = this.$refs.listWrapper;\n const inner = this.$refs.listInner;\n if (!wrapper || !inner) return;\n this.needScroll = inner.offsetHeight > wrapper.offsetHeight;\n if (this.needScroll) {\n this.$nextTick(() => {\n setTimeout(() => this.startScroll(), 100);\n });\n }\n },\n startScroll() {\n const inner = this.$refs.listInner;\n const scrollContent = this.$refs.scrollContent;\n if (!inner || !scrollContent) return;\n const firstHeight = inner.offsetHeight;\n const speed = 0.4;\n this.scrollY = 0;\n const step = () => {\n if (!this.paused) {\n this.scrollY += speed;\n if (this.scrollY >= firstHeight) {\n this.scrollY -= firstHeight;\n }\n scrollContent.style.transform = `translateY(${-this.scrollY}px)`;\n }\n this.scrollTimer = requestAnimationFrame(step);\n };\n this.scrollTimer = requestAnimationFrame(step);\n },\n pauseScroll() {\n this.paused = true;\n },\n resumeScroll() {\n this.paused = false;\n }\n }\n};","map":{"version":3,"names":["getRiskWarningList","name","data","totalMonth","list","needScroll","scrollTimer","paused","scrollY","mounted","res","$nextTick","setTimeout","checkScroll","beforeDestroy","cancelAnimationFrame","methods","wrapper","$refs","listWrapper","inner","listInner","offsetHeight","startScroll","scrollContent","firstHeight","speed","step","style","transform","requestAnimationFrame","pauseScroll","resumeScroll"],"sources":["src/components/LabStats/RiskWarning.vue"],"sourcesContent":["\n\n\n\n\n"],"mappings":"AAoCA,SAAAA,kBAAA;AAEA;EACAC,IAAA;EACAC,KAAA;IACA;MACAC,UAAA;MACAC,IAAA;MACAC,UAAA;MACAC,WAAA;MACAC,MAAA;MACAC,OAAA;IACA;EACA;EACA,MAAAC,QAAA;IACA,MAAAC,GAAA,SAAAV,kBAAA;IACA,KAAAG,UAAA,GAAAO,GAAA,CAAAR,IAAA,CAAAC,UAAA;IACA,KAAAC,IAAA,GAAAM,GAAA,CAAAR,IAAA,CAAAE,IAAA;IACA,KAAAO,SAAA;MACAC,UAAA,YAAAC,WAAA;IACA;EACA;EACAC,cAAA;IACA,SAAAR,WAAA,EAAAS,oBAAA,MAAAT,WAAA;EACA;EACAU,OAAA;IACAH,YAAA;MACA,MAAAI,OAAA,QAAAC,KAAA,CAAAC,WAAA;MACA,MAAAC,KAAA,QAAAF,KAAA,CAAAG,SAAA;MACA,KAAAJ,OAAA,KAAAG,KAAA;MACA,KAAAf,UAAA,GAAAe,KAAA,CAAAE,YAAA,GAAAL,OAAA,CAAAK,YAAA;MACA,SAAAjB,UAAA;QACA,KAAAM,SAAA;UACAC,UAAA,YAAAW,WAAA;QACA;MACA;IACA;IACAA,YAAA;MACA,MAAAH,KAAA,QAAAF,KAAA,CAAAG,SAAA;MACA,MAAAG,aAAA,QAAAN,KAAA,CAAAM,aAAA;MACA,KAAAJ,KAAA,KAAAI,aAAA;MACA,MAAAC,WAAA,GAAAL,KAAA,CAAAE,YAAA;MACA,MAAAI,KAAA;MACA,KAAAlB,OAAA;MAEA,MAAAmB,IAAA,GAAAA,CAAA;QACA,UAAApB,MAAA;UACA,KAAAC,OAAA,IAAAkB,KAAA;UACA,SAAAlB,OAAA,IAAAiB,WAAA;YACA,KAAAjB,OAAA,IAAAiB,WAAA;UACA;UACAD,aAAA,CAAAI,KAAA,CAAAC,SAAA,uBAAArB,OAAA;QACA;QACA,KAAAF,WAAA,GAAAwB,qBAAA,CAAAH,IAAA;MACA;MACA,KAAArB,WAAA,GAAAwB,qBAAA,CAAAH,IAAA;IACA;IACAI,YAAA;MAAA,KAAAxB,MAAA;IAAA;IACAyB,aAAA;MAAA,KAAAzB,MAAA;IAAA;EACA;AACA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}