| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template>
|
| | | <div class="popup-result">
|
| | | <p class="title">æè¿5次è¿è¡æ¶é´</p>
|
| | | <ul class="popup-result-scroll">
|
| | | <template v-if='isShow'>
|
| | | <li v-for='item in resultList' :key="item">{{item}}</li>
|
| | | </template>
|
| | | <li v-else>计ç®ç»æä¸...</li>
|
| | | </ul>
|
| | | </div>
|
| | | </template>
|
| | |
|
| | | <script setup>
|
| | | const props = defineProps({
|
| | | ex: {
|
| | | type: String,
|
| | | default: ''
|
| | | }
|
| | | })
|
| | | const dayRule = ref('')
|
| | | const dayRuleSup = ref('')
|
| | | const dateArr = ref([])
|
| | | const resultList = ref([])
|
| | | const isShow = ref(false)
|
| | | watch(() => props.ex, () => expressionChange())
|
| | | // 表达å¼å¼ååæ¶ï¼å¼å§å»è®¡ç®ç»æ
|
| | | function expressionChange() {
|
| | | // 计ç®å¼å§-éèç»æ
|
| | | isShow.value = false
|
| | | // è·åè§åæ°ç»[0ç§ã1åã2æ¶ã3æ¥ã4æã5ææã6å¹´]
|
| | | let ruleArr = props.ex.split(' ')
|
| | | // ç¨äºè®°å½è¿å
¥å¾ªç¯ç次æ°
|
| | | let nums = 0
|
| | | // ç¨äºææ¶åç¬¦å·æ¶é´è§åç»æçæ°ç»
|
| | | let resultArr = []
|
| | | // è·åå½åæ¶é´ç²¾ç¡®è³[å¹´ãæãæ¥ãæ¶ãåãç§]
|
| | | let nTime = new Date()
|
| | | let nYear = nTime.getFullYear()
|
| | | let nMonth = nTime.getMonth() + 1
|
| | | let nDay = nTime.getDate()
|
| | | let nHour = nTime.getHours()
|
| | | let nMin = nTime.getMinutes()
|
| | | let nSecond = nTime.getSeconds()
|
| | | // æ ¹æ®è§åè·åå°è¿100å¹´å¯è½å¹´æ°ç»ãææ°ç»çç
|
| | | getSecondArr(ruleArr[0])
|
| | | getMinArr(ruleArr[1])
|
| | | getHourArr(ruleArr[2])
|
| | | getDayArr(ruleArr[3])
|
| | | getMonthArr(ruleArr[4])
|
| | | getWeekArr(ruleArr[5])
|
| | | getYearArr(ruleArr[6], nYear)
|
| | | // å°è·åå°çæ°ç»èµå¼-æ¹ä¾¿ä½¿ç¨
|
| | | let sDate = dateArr.value[0]
|
| | | let mDate = dateArr.value[1]
|
| | | let hDate = dateArr.value[2]
|
| | | let DDate = dateArr.value[3]
|
| | | let MDate = dateArr.value[4]
|
| | | let YDate = dateArr.value[5]
|
| | | // è·åå½åæ¶é´å¨æ°ç»ä¸çç´¢å¼
|
| | | let sIdx = getIndex(sDate, nSecond)
|
| | | let mIdx = getIndex(mDate, nMin)
|
| | | let hIdx = getIndex(hDate, nHour)
|
| | | let DIdx = getIndex(DDate, nDay)
|
| | | let MIdx = getIndex(MDate, nMonth)
|
| | | let YIdx = getIndex(YDate, nYear)
|
| | | // éç½®ææ¥æ¶åç§ç彿°(åé¢ç¨çæ¯è¾å¤)
|
| | | const resetSecond = function () {
|
| | | sIdx = 0
|
| | | nSecond = sDate[sIdx]
|
| | | }
|
| | | const resetMin = function () {
|
| | | mIdx = 0
|
| | | nMin = mDate[mIdx]
|
| | | resetSecond()
|
| | | }
|
| | | const resetHour = function () {
|
| | | hIdx = 0
|
| | | nHour = hDate[hIdx]
|
| | | resetMin()
|
| | | }
|
| | | const resetDay = function () {
|
| | | DIdx = 0
|
| | | nDay = DDate[DIdx]
|
| | | resetHour()
|
| | | }
|
| | | const resetMonth = function () {
|
| | | MIdx = 0
|
| | | nMonth = MDate[MIdx]
|
| | | resetDay()
|
| | | }
|
| | | // 妿å½å年份ä¸ä¸ºæ°ç»ä¸å½åå¼
|
| | | if (nYear !== YDate[YIdx]) {
|
| | | resetMonth()
|
| | | }
|
| | | // 妿å½åæä»½ä¸ä¸ºæ°ç»ä¸å½åå¼
|
| | | if (nMonth !== MDate[MIdx]) {
|
| | | resetDay()
|
| | | }
|
| | | // 妿å½åâæ¥âä¸ä¸ºæ°ç»ä¸å½åå¼
|
| | | if (nDay !== DDate[DIdx]) {
|
| | | resetHour()
|
| | | }
|
| | | // 妿å½åâæ¶âä¸ä¸ºæ°ç»ä¸å½åå¼
|
| | | if (nHour !== hDate[hIdx]) {
|
| | | resetMin()
|
| | | }
|
| | | // 妿å½åâåâä¸ä¸ºæ°ç»ä¸å½åå¼
|
| | | if (nMin !== mDate[mIdx]) {
|
| | | resetSecond()
|
| | | }
|
| | | // 循ç¯å¹´ä»½æ°ç»
|
| | | goYear: for (let Yi = YIdx; Yi < YDate.length; Yi++) {
|
| | | let YY = YDate[Yi]
|
| | | // 妿å°è¾¾æå¤§å¼æ¶
|
| | | if (nMonth > MDate[MDate.length - 1]) {
|
| | | resetMonth()
|
| | | continue
|
| | | }
|
| | | // å¾ªç¯æä»½æ°ç»
|
| | | goMonth: for (let Mi = MIdx; Mi < MDate.length; Mi++) {
|
| | | // èµå¼ãæ¹ä¾¿åé¢è¿ç®
|
| | | let MM = MDate[Mi];
|
| | | MM = MM < 10 ? '0' + MM : MM
|
| | | // 妿å°è¾¾æå¤§å¼æ¶
|
| | | if (nDay > DDate[DDate.length - 1]) {
|
| | | resetDay()
|
| | | if (Mi === MDate.length - 1) {
|
| | | resetMonth()
|
| | | continue goYear
|
| | | }
|
| | | continue
|
| | | }
|
| | | // å¾ªç¯æ¥ææ°ç»
|
| | | goDay: for (let Di = DIdx; Di < DDate.length; Di++) {
|
| | | // èµå¼ãæ¹ä¾¿åé¢è¿ç®
|
| | | let DD = DDate[Di]
|
| | | let thisDD = DD < 10 ? '0' + DD : DD
|
| | | // 妿å°è¾¾æå¤§å¼æ¶
|
| | | if (nHour > hDate[hDate.length - 1]) {
|
| | | resetHour()
|
| | | if (Di === DDate.length - 1) {
|
| | | resetDay()
|
| | | if (Mi === MDate.length - 1) {
|
| | | resetMonth()
|
| | | continue goYear
|
| | | }
|
| | | continue goMonth
|
| | | }
|
| | | continue
|
| | | }
|
| | | // å¤ææ¥æçåæ³æ§ï¼ä¸åæ³çè¯ä¹æ¯è·³åºå½å循ç¯
|
| | | if (checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true && dayRule.value !== 'workDay' && dayRule.value !== 'lastWeek' && dayRule.value !== 'lastDay') {
|
| | | resetDay()
|
| | | continue goMonth
|
| | | }
|
| | | // å¦ææ¥æè§å䏿弿¶
|
| | | if (dayRule.value === 'lastDay') {
|
| | | // 妿䏿¯åæ³æ¥æåéè¦å°åå°æ¥æè°å°åæ³æ¥æå³ææ«æåä¸å¤©
|
| | | if (checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
| | | while (DD > 0 && checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
| | | DD--
|
| | | thisDD = DD < 10 ? '0' + DD : DD
|
| | | }
|
| | | }
|
| | | } else if (dayRule.value === 'workDay') {
|
| | | // æ ¡éªå¹¶è°æ´å¦ææ¯2æ30å·è¿ç§æ¥æä¼ è¿æ¥æ¶éè°æ´è³æ£å¸¸æåº
|
| | | if (checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
| | | while (DD > 0 && checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
| | | DD--
|
| | | thisDD = DD < 10 ? '0' + DD : DD
|
| | | }
|
| | | }
|
| | | // è·åè¾¾å°æ¡ä»¶çæ¥ææ¯ææX
|
| | | let thisWeek = formatDate(new Date(YY + '-' + MM + '-' + thisDD + ' 00:00:00'), 'week')
|
| | | // å½æææ¥æ¶
|
| | | if (thisWeek === 1) {
|
| | | // å
æ¾ä¸ä¸ä¸ªæ¥ï¼å¹¶å¤ææ¯å¦ä¸ºæåº
|
| | | DD++
|
| | | thisDD = DD < 10 ? '0' + DD : DD
|
| | | // 夿ä¸ä¸æ¥å·²ç»ä¸æ¯åæ³æ¥æ
|
| | | if (checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
| | | DD -= 3
|
| | | }
|
| | | } else if (thisWeek === 7) {
|
| | | // 彿æ6æ¶åªé夿䏿¯1å·å°±å¯è¿è¡æä½
|
| | | if (dayRuleSup.value !== 1) {
|
| | | DD--
|
| | | } else {
|
| | | DD += 2
|
| | | }
|
| | | }
|
| | | } else if (dayRule.value === 'weekDay') {
|
| | | // 妿æå®äºæ¯ææå
|
| | | // è·åå½åæ¥ææ¯å±äºææå
|
| | | let thisWeek = formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week')
|
| | | // æ ¡éªå½åæææ¯å¦å¨æææ± ï¼dayRuleSupï¼ä¸
|
| | | if (dayRuleSup.value.indexOf(thisWeek) < 0) {
|
| | | // 妿å°è¾¾æå¤§å¼æ¶
|
| | | if (Di === DDate.length - 1) {
|
| | | resetDay()
|
| | | if (Mi === MDate.length - 1) {
|
| | | resetMonth()
|
| | | continue goYear
|
| | | }
|
| | | continue goMonth
|
| | | }
|
| | | continue
|
| | | }
|
| | | } else if (dayRule.value === 'assWeek') {
|
| | | // 妿æå®äºæ¯ç¬¬å å¨çææå
|
| | | // è·åæ¯æ1å·æ¯å±äºææå
|
| | | let thisWeek = formatDate(new Date(YY + '-' + MM + '-' + DD + ' 00:00:00'), 'week')
|
| | | if (dayRuleSup.value[1] >= thisWeek) {
|
| | | DD = (dayRuleSup.value[0] - 1) * 7 + dayRuleSup.value[1] - thisWeek + 1
|
| | | } else {
|
| | | DD = dayRuleSup.value[0] * 7 + dayRuleSup.value[1] - thisWeek + 1
|
| | | }
|
| | | } else if (dayRule.value === 'lastWeek') {
|
| | | // 妿æå®äºæ¯ææåä¸ä¸ªææå
|
| | | // æ ¡éªå¹¶è°æ´å¦ææ¯2æ30å·è¿ç§æ¥æä¼ è¿æ¥æ¶éè°æ´è³æ£å¸¸æåº
|
| | | if (checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
| | | while (DD > 0 && checkDate(YY + '-' + MM + '-' + thisDD + ' 00:00:00') !== true) {
|
| | | DD--
|
| | | thisDD = DD < 10 ? '0' + DD : DD
|
| | | }
|
| | | }
|
| | | // è·åææ«æåä¸å¤©æ¯ææå
|
| | | let thisWeek = formatDate(new Date(YY + '-' + MM + '-' + thisDD + ' 00:00:00'), 'week')
|
| | | // æ¾å°è¦æ±ä¸æè¿çé£ä¸ªææå
|
| | | if (dayRuleSup.value < thisWeek) {
|
| | | DD -= thisWeek - dayRuleSup.value
|
| | | } else if (dayRuleSup.value > thisWeek) {
|
| | | DD -= 7 - (dayRuleSup.value - thisWeek)
|
| | | }
|
| | | }
|
| | | // 夿æ¶é´å¼æ¯å¦å°äº10ç½®æ¢æâ05âè¿ç§æ ¼å¼
|
| | | DD = DD < 10 ? '0' + DD : DD
|
| | | // 循ç¯âæ¶âæ°ç»
|
| | | goHour: for (let hi = hIdx; hi < hDate.length; hi++) {
|
| | | let hh = hDate[hi] < 10 ? '0' + hDate[hi] : hDate[hi]
|
| | | // 妿å°è¾¾æå¤§å¼æ¶
|
| | | if (nMin > mDate[mDate.length - 1]) {
|
| | | resetMin()
|
| | | if (hi === hDate.length - 1) {
|
| | | resetHour()
|
| | | if (Di === DDate.length - 1) {
|
| | | resetDay()
|
| | | if (Mi === MDate.length - 1) {
|
| | | resetMonth()
|
| | | continue goYear
|
| | | }
|
| | | continue goMonth
|
| | | }
|
| | | continue goDay
|
| | | }
|
| | | continue
|
| | | }
|
| | | // 循ç¯"å"æ°ç»
|
| | | goMin: for (let mi = mIdx; mi < mDate.length; mi++) {
|
| | | let mm = mDate[mi] < 10 ? '0' + mDate[mi] : mDate[mi]
|
| | | // 妿å°è¾¾æå¤§å¼æ¶
|
| | | if (nSecond > sDate[sDate.length - 1]) {
|
| | | resetSecond()
|
| | | if (mi === mDate.length - 1) {
|
| | | resetMin()
|
| | | if (hi === hDate.length - 1) {
|
| | | resetHour()
|
| | | if (Di === DDate.length - 1) {
|
| | | resetDay()
|
| | | if (Mi === MDate.length - 1) {
|
| | | resetMonth()
|
| | | continue goYear
|
| | | }
|
| | | continue goMonth
|
| | | }
|
| | | continue goDay
|
| | | }
|
| | | continue goHour
|
| | | }
|
| | | continue
|
| | | }
|
| | | // 循ç¯"ç§"æ°ç»
|
| | | goSecond: for (let si = sIdx; si <= sDate.length - 1; si++) {
|
| | | let ss = sDate[si] < 10 ? '0' + sDate[si] : sDate[si]
|
| | | // æ·»å å½åæ¶é´ï¼æ¶é´åæ³æ§å¨æ¥æå¾ªç¯æ¶å·²ç»å¤æï¼
|
| | | if (MM !== '00' && DD !== '00') {
|
| | | resultArr.push(YY + '-' + MM + '-' + DD + ' ' + hh + ':' + mm + ':' + ss)
|
| | | nums++
|
| | | }
|
| | | // å¦ææ¡æ°æ»¡äºå°±éåºå¾ªç¯
|
| | | if (nums === 5) break goYear
|
| | | // 妿å°è¾¾æå¤§å¼æ¶
|
| | | if (si === sDate.length - 1) {
|
| | | resetSecond()
|
| | | if (mi === mDate.length - 1) {
|
| | | resetMin()
|
| | | if (hi === hDate.length - 1) {
|
| | | resetHour()
|
| | | if (Di === DDate.length - 1) {
|
| | | resetDay()
|
| | | if (Mi === MDate.length - 1) {
|
| | | resetMonth()
|
| | | continue goYear
|
| | | }
|
| | | continue goMonth
|
| | | }
|
| | | continue goDay
|
| | | }
|
| | | continue goHour
|
| | | }
|
| | | continue goMin
|
| | | }
|
| | | } //goSecond
|
| | | } //goMin
|
| | | }//goHour
|
| | | }//goDay
|
| | | }//goMonth
|
| | | }
|
| | | // 夿100å¹´å
çç»ææ¡æ°
|
| | | if (resultArr.length === 0) {
|
| | | resultList.value = ['没æè¾¾å°æ¡ä»¶çç»æï¼']
|
| | | } else {
|
| | | resultList.value = resultArr
|
| | | if (resultArr.length !== 5) {
|
| | | resultList.value.push('æè¿100å¹´å
åªæä¸é¢' + resultArr.length + 'æ¡ç»æï¼')
|
| | | }
|
| | | }
|
| | | // 计ç®å®æ-æ¾ç¤ºç»æ
|
| | | isShow.value = true
|
| | | }
|
| | | // ç¨äºè®¡ç®æä½æ°å卿°ç»ä¸çç´¢å¼
|
| | | function getIndex(arr, value) {
|
| | | if (value <= arr[0] || value > arr[arr.length - 1]) {
|
| | | return 0
|
| | | } else {
|
| | | for (let i = 0; i < arr.length - 1; i++) {
|
| | | if (value > arr[i] && value <= arr[i + 1]) {
|
| | | return i + 1
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | // è·å"å¹´"æ°ç»
|
| | | function getYearArr(rule, year) {
|
| | | dateArr.value[5] = getOrderArr(year, year + 100)
|
| | | if (rule !== undefined) {
|
| | | if (rule.indexOf('-') >= 0) {
|
| | | dateArr.value[5] = getCycleArr(rule, year + 100, false)
|
| | | } else if (rule.indexOf('/') >= 0) {
|
| | | dateArr.value[5] = getAverageArr(rule, year + 100)
|
| | | } else if (rule !== '*') {
|
| | | dateArr.value[5] = getAssignArr(rule)
|
| | | }
|
| | | }
|
| | | }
|
| | | // è·å"æ"æ°ç»
|
| | | function getMonthArr(rule) {
|
| | | dateArr.value[4] = getOrderArr(1, 12)
|
| | | if (rule.indexOf('-') >= 0) {
|
| | | dateArr.value[4] = getCycleArr(rule, 12, false)
|
| | | } else if (rule.indexOf('/') >= 0) {
|
| | | dateArr.value[4] = getAverageArr(rule, 12)
|
| | | } else if (rule !== '*') {
|
| | | dateArr.value[4] = getAssignArr(rule)
|
| | | }
|
| | | }
|
| | | // è·å"æ¥"æ°ç»-主è¦ä¸ºæ¥æè§å
|
| | | function getWeekArr(rule) {
|
| | | // åªæå½æ¥æè§åç两个å¼å为ââæ¶åè¡¨è¾¾æ¥ææ¯æé项ç
|
| | | if (dayRule.value === '' && dayRuleSup.value === '') {
|
| | | if (rule.indexOf('-') >= 0) {
|
| | | dayRule.value = 'weekDay'
|
| | | dayRuleSup.value = getCycleArr(rule, 7, false)
|
| | | } else if (rule.indexOf('#') >= 0) {
|
| | | dayRule.value = 'assWeek'
|
| | | let matchRule = rule.match(/[0-9]{1}/g)
|
| | | dayRuleSup.value = [Number(matchRule[1]), Number(matchRule[0])]
|
| | | dateArr.value[3] = [1]
|
| | | if (dayRuleSup.value[1] === 7) {
|
| | | dayRuleSup.value[1] = 0
|
| | | }
|
| | | } else if (rule.indexOf('L') >= 0) {
|
| | | dayRule.value = 'lastWeek'
|
| | | dayRuleSup.value = Number(rule.match(/[0-9]{1,2}/g)[0])
|
| | | dateArr.value[3] = [31]
|
| | | if (dayRuleSup.value === 7) {
|
| | | dayRuleSup.value = 0
|
| | | }
|
| | | } else if (rule !== '*' && rule !== '?') {
|
| | | dayRule.value = 'weekDay'
|
| | | dayRuleSup.value = getAssignArr(rule)
|
| | | }
|
| | | }
|
| | | }
|
| | | // è·å"æ¥"æ°ç»-å°éä¸ºæ¥æè§å
|
| | | function getDayArr(rule) {
|
| | | dateArr.value[3] = getOrderArr(1, 31)
|
| | | dayRule.value = ''
|
| | | dayRuleSup.value = ''
|
| | | if (rule.indexOf('-') >= 0) {
|
| | | dateArr.value[3] = getCycleArr(rule, 31, false)
|
| | | dayRuleSup.value = 'null'
|
| | | } else if (rule.indexOf('/') >= 0) {
|
| | | dateArr.value[3] = getAverageArr(rule, 31)
|
| | | dayRuleSup.value = 'null'
|
| | | } else if (rule.indexOf('W') >= 0) {
|
| | | dayRule.value = 'workDay'
|
| | | dayRuleSup.value = Number(rule.match(/[0-9]{1,2}/g)[0])
|
| | | dateArr.value[3] = [dayRuleSup.value]
|
| | | } else if (rule.indexOf('L') >= 0) {
|
| | | dayRule.value = 'lastDay'
|
| | | dayRuleSup.value = 'null'
|
| | | dateArr.value[3] = [31]
|
| | | } else if (rule !== '*' && rule !== '?') {
|
| | | dateArr.value[3] = getAssignArr(rule)
|
| | | dayRuleSup.value = 'null'
|
| | | } else if (rule === '*') {
|
| | | dayRuleSup.value = 'null'
|
| | | }
|
| | | }
|
| | | // è·å"æ¶"æ°ç»
|
| | | function getHourArr(rule) {
|
| | | dateArr.value[2] = getOrderArr(0, 23)
|
| | | if (rule.indexOf('-') >= 0) {
|
| | | dateArr.value[2] = getCycleArr(rule, 24, true)
|
| | | } else if (rule.indexOf('/') >= 0) {
|
| | | dateArr.value[2] = getAverageArr(rule, 23)
|
| | | } else if (rule !== '*') {
|
| | | dateArr.value[2] = getAssignArr(rule)
|
| | | }
|
| | | }
|
| | | // è·å"å"æ°ç»
|
| | | function getMinArr(rule) {
|
| | | dateArr.value[1] = getOrderArr(0, 59)
|
| | | if (rule.indexOf('-') >= 0) {
|
| | | dateArr.value[1] = getCycleArr(rule, 60, true)
|
| | | } else if (rule.indexOf('/') >= 0) {
|
| | | dateArr.value[1] = getAverageArr(rule, 59)
|
| | | } else if (rule !== '*') {
|
| | | dateArr.value[1] = getAssignArr(rule)
|
| | | }
|
| | | }
|
| | | // è·å"ç§"æ°ç»
|
| | | function getSecondArr(rule) {
|
| | | dateArr.value[0] = getOrderArr(0, 59)
|
| | | if (rule.indexOf('-') >= 0) {
|
| | | dateArr.value[0] = getCycleArr(rule, 60, true)
|
| | | } else if (rule.indexOf('/') >= 0) {
|
| | | dateArr.value[0] = getAverageArr(rule, 59)
|
| | | } else if (rule !== '*') {
|
| | | dateArr.value[0] = getAssignArr(rule)
|
| | | }
|
| | | }
|
| | | // æ ¹æ®ä¼ è¿æ¥çmin-maxè¿åä¸ä¸ªé¡ºåºçæ°ç»
|
| | | function getOrderArr(min, max) {
|
| | | let arr = []
|
| | | for (let i = min; i <= max; i++) {
|
| | | arr.push(i)
|
| | | }
|
| | | return arr
|
| | | }
|
| | | // æ ¹æ®è§å䏿å®çé¶æ£å¼è¿åä¸ä¸ªæ°ç»
|
| | | function getAssignArr(rule) {
|
| | | let arr = []
|
| | | let assiginArr = rule.split(',')
|
| | | for (let i = 0; i < assiginArr.length; i++) {
|
| | | arr[i] = Number(assiginArr[i])
|
| | | }
|
| | | arr.sort(compare)
|
| | | return arr
|
| | | }
|
| | | // æ ¹æ®ä¸å®ç®æ¯è§å计ç®è¿åä¸ä¸ªæ°ç»
|
| | | function getAverageArr(rule, limit) {
|
| | | let arr = []
|
| | | let agArr = rule.split('/')
|
| | | let min = Number(agArr[0])
|
| | | let step = Number(agArr[1])
|
| | | while (min <= limit) {
|
| | | arr.push(min)
|
| | | min += step
|
| | | }
|
| | | return arr
|
| | | }
|
| | | // æ ¹æ®è§åè¿åä¸ä¸ªå
·æå¨ææ§çæ°ç»
|
| | | function getCycleArr(rule, limit, status) {
|
| | | // status--表示æ¯å¦ä»0å¼å§ï¼åä»1å¼å§ï¼
|
| | | let arr = []
|
| | | let cycleArr = rule.split('-')
|
| | | let min = Number(cycleArr[0])
|
| | | let max = Number(cycleArr[1])
|
| | | if (min > max) {
|
| | | max += limit
|
| | | }
|
| | | for (let i = min; i <= max; i++) {
|
| | | let add = 0
|
| | | if (status === false && i % limit === 0) {
|
| | | add = limit
|
| | | }
|
| | | arr.push(Math.round(i % limit + add))
|
| | | }
|
| | | arr.sort(compare)
|
| | | return arr
|
| | | }
|
| | | // æ¯è¾æ°å大å°ï¼ç¨äºArray.sortï¼
|
| | | function compare(value1, value2) {
|
| | | if (value2 - value1 > 0) {
|
| | | return -1
|
| | | } else {
|
| | | return 1
|
| | | }
|
| | | }
|
| | | // æ ¼å¼åæ¥ææ ¼å¼å¦ï¼2017-9-19 18:04:33
|
| | | function formatDate(value, type) {
|
| | | // è®¡ç®æ¥æç¸å
³å¼
|
| | | let time = typeof value == 'number' ? new Date(value) : value
|
| | | let Y = time.getFullYear()
|
| | | let M = time.getMonth() + 1
|
| | | let D = time.getDate()
|
| | | let h = time.getHours()
|
| | | let m = time.getMinutes()
|
| | | let s = time.getSeconds()
|
| | | let week = time.getDay()
|
| | | // å¦æä¼ éäºtypeçè¯
|
| | | if (type === undefined) {
|
| | | return Y + '-' + (M < 10 ? '0' + M : M) + '-' + (D < 10 ? '0' + D : D) + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m) + ':' + (s < 10 ? '0' + s : s)
|
| | | } else if (type === 'week') {
|
| | | // å¨quartzä¸ 1ä¸ºæææ¥
|
| | | return week + 1
|
| | | }
|
| | | }
|
| | | // æ£æ¥æ¥ææ¯å¦åå¨
|
| | | function checkDate(value) {
|
| | | let time = new Date(value)
|
| | | let format = formatDate(time)
|
| | | return value === format
|
| | | }
|
| | | onMounted(() => {
|
| | | expressionChange()
|
| | | })
|
| | | </script> |