From f28a91969acd2c48423acc01973d4cf70e4f8d8c Mon Sep 17 00:00:00 2001
From: fuzui <73400@163.com>
Date: 星期二, 30 十一月 2021 02:08:08 +0800
Subject: [PATCH] fix: crontab组件中规范数据范围、冗余代码去除以及部分通配符说明
---
ruoyi-ui/src/components/Crontab/week.vue | 10 +-
ruoyi-ui/src/components/Crontab/min.vue | 26 +++---
ruoyi-ui/src/components/Crontab/year.vue | 28 +++---
ruoyi-ui/src/components/Crontab/second.vue | 41 +++-------
ruoyi-ui/src/components/Crontab/hour.vue | 26 +++---
ruoyi-ui/src/components/Crontab/month.vue | 26 +++---
ruoyi-ui/src/components/Crontab/day.vue | 47 ++++-------
7 files changed, 91 insertions(+), 113 deletions(-)
diff --git a/ruoyi-ui/src/components/Crontab/day.vue b/ruoyi-ui/src/components/Crontab/day.vue
index bccd1d7..fe3eaf0 100644
--- a/ruoyi-ui/src/components/Crontab/day.vue
+++ b/ruoyi-ui/src/components/Crontab/day.vue
@@ -2,7 +2,7 @@
<el-form size="small">
<el-form-item>
<el-radio v-model='radioValue' :label="1">
- 鏃ワ紝鍏佽鐨勯�氶厤绗, - * / L M]
+ 鏃ワ紝鍏佽鐨勯�氶厤绗, - * ? / L W]
</el-radio>
</el-form-item>
@@ -15,23 +15,23 @@
<el-form-item>
<el-radio v-model='radioValue' :label="3">
鍛ㄦ湡浠�
- <el-input-number v-model='cycle01' :min="0" :max="31" /> -
- <el-input-number v-model='cycle02' :min="0" :max="31" /> 鏃�
+ <el-input-number v-model='cycle01' :min="1" :max="30" /> -
+ <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 2" :max="31" /> 鏃�
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="4">
浠�
- <el-input-number v-model='average01' :min="0" :max="31" /> 鍙峰紑濮嬶紝姣�
- <el-input-number v-model='average02' :min="0" :max="31" /> 鏃ユ墽琛屼竴娆�
+ <el-input-number v-model='average01' :min="1" :max="30" /> 鍙峰紑濮嬶紝姣�
+ <el-input-number v-model='average02' :min="1" :max="31 - average01 || 1" /> 鏃ユ墽琛屼竴娆�
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="5">
姣忔湀
- <el-input-number v-model='workday' :min="0" :max="31" /> 鍙锋渶杩戠殑閭d釜宸ヤ綔鏃�
+ <el-input-number v-model='workday' :min="1" :max="31" /> 鍙锋渶杩戠殑閭d釜宸ヤ綔鏃�
</el-radio>
</el-form-item>
@@ -84,10 +84,10 @@
this.$emit('update', 'day', '?');
break;
case 3:
- this.$emit('update', 'day', this.cycle01 + '-' + this.cycle02);
+ this.$emit('update', 'day', this.cycleTotal);
break;
case 4:
- this.$emit('update', 'day', this.average01 + '/' + this.average02);
+ this.$emit('update', 'day', this.averageTotal);
break;
case 5:
this.$emit('update', 'day', this.workday + 'W');
@@ -116,7 +116,7 @@
// 鏈�杩戝伐浣滄棩鍊煎彉鍖栨椂
workdayChange() {
if (this.radioValue == '5') {
- this.$emit('update', 'day', this.workday + 'W');
+ this.$emit('update', 'day', this.workdayCheck + 'W');
}
},
// checkbox鍊煎彉鍖栨椂
@@ -124,19 +124,10 @@
if (this.radioValue == '7') {
this.$emit('update', 'day', this.checkboxString);
}
- },
- // 鐖剁粍浠朵紶閫掔殑week鍙戠敓鍙樺寲瑙﹀彂
- weekChange() {
- //鍒ゆ柇week鍊间笌day涓嶈兘鍚屾椂涓衡��?鈥�
- if (this.cron.week == '?' && this.radioValue == '2') {
- this.radioValue = '1';
- } else if (this.cron.week !== '?' && this.radioValue != '2') {
- this.radioValue = '2';
- }
- },
+ }
},
watch: {
- "radioValue": "radioChange",
+ 'radioValue': 'radioChange',
'cycleTotal': 'cycleChange',
'averageTotal': 'averageChange',
'workdayCheck': 'workdayChange',
@@ -145,20 +136,20 @@
computed: {
// 璁$畻涓や釜鍛ㄦ湡鍊�
cycleTotal: function () {
- this.cycle01 = this.checkNum(this.cycle01, 1, 31)
- this.cycle02 = this.checkNum(this.cycle02, 1, 31)
- return this.cycle01 + '-' + this.cycle02;
+ const cycle01 = this.checkNum(this.cycle01, 1, 30)
+ const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 2, 31, 31)
+ return cycle01 + '-' + cycle02;
},
// 璁$畻骞冲潎鐢ㄥ埌鐨勫��
averageTotal: function () {
- this.average01 = this.checkNum(this.average01, 1, 31)
- this.average02 = this.checkNum(this.average02, 1, 31)
- return this.average01 + '/' + this.average02;
+ const average01 = this.checkNum(this.average01, 1, 30)
+ const average02 = this.checkNum(this.average02, 1, 31 - average01 || 0)
+ return average01 + '/' + average02;
},
// 璁$畻宸ヤ綔鏃ユ牸寮�
workdayCheck: function () {
- this.workday = this.checkNum(this.workday, 1, 31)
- return this.workday;
+ const workday = this.checkNum(this.workday, 1, 31)
+ return workday;
},
// 璁$畻鍕鹃�夌殑checkbox鍊煎悎闆�
checkboxString: function () {
diff --git a/ruoyi-ui/src/components/Crontab/hour.vue b/ruoyi-ui/src/components/Crontab/hour.vue
index 131edc9..29b8891 100644
--- a/ruoyi-ui/src/components/Crontab/hour.vue
+++ b/ruoyi-ui/src/components/Crontab/hour.vue
@@ -9,16 +9,16 @@
<el-form-item>
<el-radio v-model='radioValue' :label="2">
鍛ㄦ湡浠�
- <el-input-number v-model='cycle01' :min="0" :max="60" /> -
- <el-input-number v-model='cycle02' :min="0" :max="60" /> 灏忔椂
+ <el-input-number v-model='cycle01' :min="0" :max="22" /> -
+ <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="23" /> 灏忔椂
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="3">
浠�
- <el-input-number v-model='average01' :min="0" :max="60" /> 灏忔椂寮�濮嬶紝姣�
- <el-input-number v-model='average02' :min="0" :max="60" /> 灏忔椂鎵ц涓�娆�
+ <el-input-number v-model='average01' :min="0" :max="22" /> 灏忔椂寮�濮嬶紝姣�
+ <el-input-number v-model='average02' :min="1" :max="23 - average01 || 0" /> 灏忔椂鎵ц涓�娆�
</el-radio>
</el-form-item>
@@ -56,10 +56,10 @@
this.$emit('update', 'hour', '*')
break;
case 2:
- this.$emit('update', 'hour', this.cycle01 + '-' + this.cycle02);
+ this.$emit('update', 'hour', this.cycleTotal);
break;
case 3:
- this.$emit('update', 'hour', this.average01 + '/' + this.average02);
+ this.$emit('update', 'hour', this.averageTotal);
break;
case 4:
this.$emit('update', 'hour', this.checkboxString);
@@ -86,7 +86,7 @@
}
},
watch: {
- "radioValue": "radioChange",
+ 'radioValue': 'radioChange',
'cycleTotal': 'cycleChange',
'averageTotal': 'averageChange',
'checkboxString': 'checkboxChange'
@@ -94,15 +94,15 @@
computed: {
// 璁$畻涓や釜鍛ㄦ湡鍊�
cycleTotal: function () {
- this.cycle01 = this.checkNum(this.cycle01, 0, 23)
- this.cycle02 = this.checkNum(this.cycle02, 0, 23)
- return this.cycle01 + '-' + this.cycle02;
+ const cycle01 = this.checkNum(this.cycle01, 0, 22)
+ const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 1, 23)
+ return cycle01 + '-' + cycle02;
},
// 璁$畻骞冲潎鐢ㄥ埌鐨勫��
averageTotal: function () {
- this.average01 = this.checkNum(this.average01, 0, 23)
- this.average02 = this.checkNum(this.average02, 1, 23)
- return this.average01 + '/' + this.average02;
+ const average01 = this.checkNum(this.average01, 0, 22)
+ const average02 = this.checkNum(this.average02, 1, 23 - average01 || 0)
+ return average01 + '/' + average02;
},
// 璁$畻鍕鹃�夌殑checkbox鍊煎悎闆�
checkboxString: function () {
diff --git a/ruoyi-ui/src/components/Crontab/min.vue b/ruoyi-ui/src/components/Crontab/min.vue
index 79e435b..0a106ce 100644
--- a/ruoyi-ui/src/components/Crontab/min.vue
+++ b/ruoyi-ui/src/components/Crontab/min.vue
@@ -9,16 +9,16 @@
<el-form-item>
<el-radio v-model='radioValue' :label="2">
鍛ㄦ湡浠�
- <el-input-number v-model='cycle01' :min="0" :max="60" /> -
- <el-input-number v-model='cycle02' :min="0" :max="60" /> 鍒嗛挓
+ <el-input-number v-model='cycle01' :min="0" :max="58" /> -
+ <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="59" /> 鍒嗛挓
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="3">
浠�
- <el-input-number v-model='average01' :min="0" :max="60" /> 鍒嗛挓寮�濮嬶紝姣�
- <el-input-number v-model='average02' :min="0" :max="60" /> 鍒嗛挓鎵ц涓�娆�
+ <el-input-number v-model='average01' :min="0" :max="58" /> 鍒嗛挓寮�濮嬶紝姣�
+ <el-input-number v-model='average02' :min="1" :max="59 - average01 || 0" /> 鍒嗛挓鎵ц涓�娆�
</el-radio>
</el-form-item>
@@ -57,10 +57,10 @@
this.$emit('update', 'min', '*', 'min');
break;
case 2:
- this.$emit('update', 'min', this.cycle01 + '-' + this.cycle02, 'min');
+ this.$emit('update', 'min', this.cycleTotal, 'min');
break;
case 3:
- this.$emit('update', 'min', this.average01 + '/' + this.average02, 'min');
+ this.$emit('update', 'min', this.averageTotal, 'min');
break;
case 4:
this.$emit('update', 'min', this.checkboxString, 'min');
@@ -88,7 +88,7 @@
},
watch: {
- "radioValue": "radioChange",
+ 'radioValue': 'radioChange',
'cycleTotal': 'cycleChange',
'averageTotal': 'averageChange',
'checkboxString': 'checkboxChange',
@@ -96,15 +96,15 @@
computed: {
// 璁$畻涓や釜鍛ㄦ湡鍊�
cycleTotal: function () {
- this.cycle01 = this.checkNum(this.cycle01, 0, 59)
- this.cycle02 = this.checkNum(this.cycle02, 0, 59)
- return this.cycle01 + '-' + this.cycle02;
+ const cycle01 = this.checkNum(this.cycle01, 0, 58)
+ const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 1, 59)
+ return cycle01 + '-' + cycle02;
},
// 璁$畻骞冲潎鐢ㄥ埌鐨勫��
averageTotal: function () {
- this.average01 = this.checkNum(this.average01, 0, 59)
- this.average02 = this.checkNum(this.average02, 1, 59)
- return this.average01 + '/' + this.average02;
+ const average01 = this.checkNum(this.average01, 0, 58)
+ const average02 = this.checkNum(this.average02, 1, 59 - average01 || 0)
+ return average01 + '/' + average02;
},
// 璁$畻鍕鹃�夌殑checkbox鍊煎悎闆�
checkboxString: function () {
diff --git a/ruoyi-ui/src/components/Crontab/month.vue b/ruoyi-ui/src/components/Crontab/month.vue
index a7e52e1..fd0ac38 100644
--- a/ruoyi-ui/src/components/Crontab/month.vue
+++ b/ruoyi-ui/src/components/Crontab/month.vue
@@ -9,16 +9,16 @@
<el-form-item>
<el-radio v-model='radioValue' :label="2">
鍛ㄦ湡浠�
- <el-input-number v-model='cycle01' :min="1" :max="12" /> -
- <el-input-number v-model='cycle02' :min="1" :max="12" /> 鏈�
+ <el-input-number v-model='cycle01' :min="1" :max="11" /> -
+ <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 2" :max="12" /> 鏈�
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="3">
浠�
- <el-input-number v-model='average01' :min="1" :max="12" /> 鏈堝紑濮嬶紝姣�
- <el-input-number v-model='average02' :min="1" :max="12" /> 鏈堟湀鎵ц涓�娆�
+ <el-input-number v-model='average01' :min="1" :max="11" /> 鏈堝紑濮嬶紝姣�
+ <el-input-number v-model='average02' :min="1" :max="12 - average01 || 0" /> 鏈堟湀鎵ц涓�娆�
</el-radio>
</el-form-item>
@@ -56,10 +56,10 @@
this.$emit('update', 'month', '*');
break;
case 2:
- this.$emit('update', 'month', this.cycle01 + '-' + this.cycle02);
+ this.$emit('update', 'month', this.cycleTotal);
break;
case 3:
- this.$emit('update', 'month', this.average01 + '/' + this.average02);
+ this.$emit('update', 'month', this.averageTotal);
break;
case 4:
this.$emit('update', 'month', this.checkboxString);
@@ -86,7 +86,7 @@
}
},
watch: {
- "radioValue": "radioChange",
+ 'radioValue': 'radioChange',
'cycleTotal': 'cycleChange',
'averageTotal': 'averageChange',
'checkboxString': 'checkboxChange'
@@ -94,15 +94,15 @@
computed: {
// 璁$畻涓や釜鍛ㄦ湡鍊�
cycleTotal: function () {
- this.cycle01 = this.checkNum(this.cycle01, 1, 12)
- this.cycle02 = this.checkNum(this.cycle02, 1, 12)
- return this.cycle01 + '-' + this.cycle02;
+ const cycle01 = this.checkNum(this.cycle01, 1, 11)
+ const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 2, 12)
+ return cycle01 + '-' + cycle02;
},
// 璁$畻骞冲潎鐢ㄥ埌鐨勫��
averageTotal: function () {
- this.average01 = this.checkNum(this.average01, 1, 12)
- this.average02 = this.checkNum(this.average02, 1, 12)
- return this.average01 + '/' + this.average02;
+ const average01 = this.checkNum(this.average01, 1, 11)
+ const average02 = this.checkNum(this.average02, 1, 12 - average01 || 0)
+ return average01 + '/' + average02;
},
// 璁$畻鍕鹃�夌殑checkbox鍊煎悎闆�
checkboxString: function () {
diff --git a/ruoyi-ui/src/components/Crontab/second.vue b/ruoyi-ui/src/components/Crontab/second.vue
index 40815fb..e7b7761 100644
--- a/ruoyi-ui/src/components/Crontab/second.vue
+++ b/ruoyi-ui/src/components/Crontab/second.vue
@@ -9,16 +9,16 @@
<el-form-item>
<el-radio v-model='radioValue' :label="2">
鍛ㄦ湡浠�
- <el-input-number v-model='cycle01' :min="0" :max="60" /> -
- <el-input-number v-model='cycle02' :min="0" :max="60" /> 绉�
+ <el-input-number v-model='cycle01' :min="0" :max="58" /> -
+ <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : 1" :max="59" /> 绉�
</el-radio>
</el-form-item>
<el-form-item>
<el-radio v-model='radioValue' :label="3">
浠�
- <el-input-number v-model='average01' :min="0" :max="60" /> 绉掑紑濮嬶紝姣�
- <el-input-number v-model='average02' :min="0" :max="60" /> 绉掓墽琛屼竴娆�
+ <el-input-number v-model='average01' :min="0" :max="58" /> 绉掑紑濮嬶紝姣�
+ <el-input-number v-model='average02' :min="1" :max="59 - average01 || 0" /> 绉掓墽琛屼竴娆�
</el-radio>
</el-form-item>
@@ -56,10 +56,10 @@
this.$emit('update', 'second', '*', 'second');
break;
case 2:
- this.$emit('update', 'second', this.cycle01 + '-' + this.cycle02);
+ this.$emit('update', 'second', this.cycleTotal);
break;
case 3:
- this.$emit('update', 'second', this.average01 + '/' + this.average02);
+ this.$emit('update', 'second', this.averageTotal);
break;
case 4:
this.$emit('update', 'second', this.checkboxString);
@@ -83,25 +83,10 @@
if (this.radioValue == '4') {
this.$emit('update', 'second', this.checkboxString);
}
- },
- othChange() {
- // 鍙嶈В鏋�
- let ins = this.cron.second
- ('鍙嶈В鏋� second', ins);
- if (ins === '*') {
- this.radioValue = 1;
- } else if (ins.indexOf('-') > -1) {
- this.radioValue = 2
- } else if (ins.indexOf('/') > -1) {
- this.radioValue = 3
- } else {
- this.radioValue = 4
- this.checkboxList = ins.split(',')
- }
}
},
watch: {
- "radioValue": "radioChange",
+ 'radioValue': 'radioChange',
'cycleTotal': 'cycleChange',
'averageTotal': 'averageChange',
'checkboxString': 'checkboxChange',
@@ -112,15 +97,15 @@
computed: {
// 璁$畻涓や釜鍛ㄦ湡鍊�
cycleTotal: function () {
- this.cycle01 = this.checkNum(this.cycle01, 0, 59)
- this.cycle02 = this.checkNum(this.cycle02, 0, 59)
- return this.cycle01 + '-' + this.cycle02;
+ const cycle01 = this.checkNum(this.cycle01, 0, 58)
+ const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : 1, 59)
+ return cycle01 + '-' + cycle02;
},
// 璁$畻骞冲潎鐢ㄥ埌鐨勫��
averageTotal: function () {
- this.average01 = this.checkNum(this.average01, 0, 59)
- this.average02 = this.checkNum(this.average02, 1, 59)
- return this.average01 + '/' + this.average02;
+ const average01 = this.checkNum(this.average01, 0, 58)
+ const average02 = this.checkNum(this.average02, 1, 59 - average01 || 0)
+ return average01 + '/' + average02;
},
// 璁$畻鍕鹃�夌殑checkbox鍊煎悎闆�
checkboxString: function () {
diff --git a/ruoyi-ui/src/components/Crontab/week.vue b/ruoyi-ui/src/components/Crontab/week.vue
index 4485bc4..ae389a7 100644
--- a/ruoyi-ui/src/components/Crontab/week.vue
+++ b/ruoyi-ui/src/components/Crontab/week.vue
@@ -2,7 +2,7 @@
<el-form size='small'>
<el-form-item>
<el-radio v-model='radioValue' :label="1">
- 鍛紝鍏佽鐨勯�氶厤绗, - * / L #]
+ 鍛紝鍏佽鐨勯�氶厤绗, - * ? / L #]
</el-radio>
</el-form-item>
@@ -128,13 +128,13 @@
this.$emit('update', 'week', '?');
break;
case 3:
- this.$emit('update', 'week', this.cycle01 + '-' + this.cycle02);
+ this.$emit('update', 'week', this.cycleTotal);
break;
case 4:
- this.$emit('update', 'week', this.average02 + '#' + this.average01);
+ this.$emit('update', 'week', this.averageTotal);
break;
case 5:
- this.$emit('update', 'week', this.weekday + 'L');
+ this.$emit('update', 'week', this.weekdayCheck + 'L');
break;
case 6:
this.$emit('update', 'week', this.checkboxString);
@@ -168,7 +168,7 @@
},
},
watch: {
- "radioValue": "radioChange",
+ 'radioValue': 'radioChange',
'cycleTotal': 'cycleChange',
'averageTotal': 'averageChange',
'weekdayCheck': 'weekdayChange',
diff --git a/ruoyi-ui/src/components/Crontab/year.vue b/ruoyi-ui/src/components/Crontab/year.vue
index 16a2b04..5487a6c 100644
--- a/ruoyi-ui/src/components/Crontab/year.vue
+++ b/ruoyi-ui/src/components/Crontab/year.vue
@@ -15,16 +15,16 @@
<el-form-item>
<el-radio :label="3" v-model='radioValue'>
鍛ㄦ湡浠�
- <el-input-number v-model='cycle01' :min='fullYear' /> -
- <el-input-number v-model='cycle02' :min='fullYear' />
+ <el-input-number v-model='cycle01' :min='fullYear' :max="2098" /> -
+ <el-input-number v-model='cycle02' :min="cycle01 ? cycle01 + 1 : fullYear + 1" :max="2099" />
</el-radio>
</el-form-item>
<el-form-item>
<el-radio :label="4" v-model='radioValue'>
浠�
- <el-input-number v-model='average01' :min='fullYear' /> 骞村紑濮嬶紝姣�
- <el-input-number v-model='average02' :min='fullYear' /> 骞存墽琛屼竴娆�
+ <el-input-number v-model='average01' :min='fullYear' :max="2098"/> 骞村紑濮嬶紝姣�
+ <el-input-number v-model='average02' :min="1" :max="2099 - average01 || fullYear" /> 骞存墽琛屼竴娆�
</el-radio>
</el-form-item>
@@ -67,10 +67,10 @@
this.$emit('update', 'year', '*');
break;
case 3:
- this.$emit('update', 'year', this.cycle01 + '-' + this.cycle02);
+ this.$emit('update', 'year', this.cycleTotal);
break;
case 4:
- this.$emit('update', 'year', this.average01 + '/' + this.average02);
+ this.$emit('update', 'year', this.averageTotal);
break;
case 5:
this.$emit('update', 'year', this.checkboxString);
@@ -97,7 +97,7 @@
}
},
watch: {
- "radioValue": "radioChange",
+ 'radioValue': 'radioChange',
'cycleTotal': 'cycleChange',
'averageTotal': 'averageChange',
'checkboxString': 'checkboxChange'
@@ -105,15 +105,15 @@
computed: {
// 璁$畻涓や釜鍛ㄦ湡鍊�
cycleTotal: function () {
- this.cycle01 = this.checkNum(this.cycle01, this.fullYear, this.fullYear + 100)
- this.cycle02 = this.checkNum(this.cycle02, this.fullYear + 1, this.fullYear + 101)
- return this.cycle01 + '-' + this.cycle02;
+ const cycle01 = this.checkNum(this.cycle01, this.fullYear, 2098)
+ const cycle02 = this.checkNum(this.cycle02, cycle01 ? cycle01 + 1 : this.fullYear + 1, 2099)
+ return cycle01 + '-' + cycle02;
},
// 璁$畻骞冲潎鐢ㄥ埌鐨勫��
averageTotal: function () {
- this.average01 = this.checkNum(this.average01, this.fullYear, this.fullYear + 100)
- this.average02 = this.checkNum(this.average02, 1, 10)
- return this.average01 + '/' + this.average02;
+ const average01 = this.checkNum(this.average01, this.fullYear, 2098)
+ const average02 = this.checkNum(this.average02, 1, 2099 - average01 || this.fullYear)
+ return average01 + '/' + average02;
},
// 璁$畻鍕鹃�夌殑checkbox鍊煎悎闆�
checkboxString: function () {
@@ -124,6 +124,8 @@
mounted: function () {
// 浠呰幏鍙栧綋鍓嶅勾浠�
this.fullYear = Number(new Date().getFullYear());
+ this.cycle01 = this.fullYear
+ this.average01 = this.fullYear
}
}
</script>
--
Gitblit v1.9.3