|
@@ -1,12 +1,13 @@
|
|
|
<template>
|
|
|
<a-modal
|
|
|
- title="corn表达式"
|
|
|
- :width="modalWidth"
|
|
|
- :visible="visible"
|
|
|
- :confirmLoading="confirmLoading"
|
|
|
- @ok="handleSubmit"
|
|
|
- @cancel="close"
|
|
|
- cancelText="关闭">
|
|
|
+ title="corn表达式"
|
|
|
+ :width="modalWidth"
|
|
|
+ :visible="visible"
|
|
|
+ :confirmLoading="confirmLoading"
|
|
|
+ @ok="handleSubmit"
|
|
|
+ @cancel="close"
|
|
|
+ cancelText="关闭"
|
|
|
+ >
|
|
|
<div class="card-container">
|
|
|
<a-tabs type="card">
|
|
|
<a-tab-pane key="1" type="card">
|
|
@@ -16,8 +17,14 @@
|
|
|
<a-radio value="1">每一秒钟</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="2">每隔
|
|
|
- <a-input-number size="small" v-model="result.second.incrementIncrement" :min="1" :max="59"></a-input-number>
|
|
|
+ <a-radio value="2"
|
|
|
+ >每隔
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.second.incrementIncrement"
|
|
|
+ :min="1"
|
|
|
+ :max="59"
|
|
|
+ ></a-input-number>
|
|
|
秒执行 从
|
|
|
<a-input-number size="small" v-model="result.second.incrementStart" :min="0" :max="59"></a-input-number>
|
|
|
秒开始
|
|
@@ -25,12 +32,13 @@
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
<a-radio value="3">具体秒数(可多选)</a-radio>
|
|
|
- <a-select style="width:354px;" size="small" mode="multiple" v-model="result.second.specificSpecific">
|
|
|
- <a-select-option v-for="(val,index) in 60" :key="index" :value="index">{{ index }}</a-select-option>
|
|
|
+ <a-select style="width: 354px" size="small" mode="multiple" v-model="result.second.specificSpecific">
|
|
|
+ <a-select-option v-for="(val, index) in 60" :key="index" :value="index">{{ index }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="4">周期从
|
|
|
+ <a-radio value="4"
|
|
|
+ >周期从
|
|
|
<a-input-number size="small" v-model="result.second.rangeStart" :min="1" :max="59"></a-input-number>
|
|
|
到
|
|
|
<a-input-number size="small" v-model="result.second.rangeEnd" :min="0" :max="59"></a-input-number>
|
|
@@ -47,21 +55,35 @@
|
|
|
<a-radio value="1">每一分钟</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="2">每隔
|
|
|
- <a-input-number size="small" v-model="result.minute.incrementIncrement" :min="1" :max="60"></a-input-number>
|
|
|
+ <a-radio value="2"
|
|
|
+ >每隔
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.minute.incrementIncrement"
|
|
|
+ :min="1"
|
|
|
+ :max="60"
|
|
|
+ ></a-input-number>
|
|
|
分执行 从
|
|
|
- <a-input-number size="small" v-model="result.minute.incrementStart" :min="0" :max="59"></a-input-number>
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.minute.incrementStart"
|
|
|
+ :min="0"
|
|
|
+ :max="59"
|
|
|
+ ></a-input-number>
|
|
|
分开始
|
|
|
</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
<a-radio value="3">具体分钟数(可多选)</a-radio>
|
|
|
- <a-select style="width:340px;" size="small" mode="multiple" v-model="result.minute.specificSpecific">
|
|
|
- <a-select-option v-for="(val,index) in Array(60)" :key="index" :value="index"> {{ index }}</a-select-option>
|
|
|
+ <a-select style="width: 340px" size="small" mode="multiple" v-model="result.minute.specificSpecific">
|
|
|
+ <a-select-option v-for="(val, index) in Array(60)" :key="index" :value="index">
|
|
|
+ {{ index }}</a-select-option
|
|
|
+ >
|
|
|
</a-select>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="4">周期从
|
|
|
+ <a-radio value="4"
|
|
|
+ >周期从
|
|
|
<a-input-number size="small" v-model="result.minute.rangeStart" :min="1" :max="60"></a-input-number>
|
|
|
到
|
|
|
<a-input-number size="small" v-model="result.minute.rangeEnd" :min="0" :max="59"></a-input-number>
|
|
@@ -79,8 +101,14 @@
|
|
|
<a-radio value="1">每一小时</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="2">每隔
|
|
|
- <a-input-number size="small" v-model="result.hour.incrementIncrement" :min="0" :max="23"></a-input-number>
|
|
|
+ <a-radio value="2"
|
|
|
+ >每隔
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.hour.incrementIncrement"
|
|
|
+ :min="0"
|
|
|
+ :max="23"
|
|
|
+ ></a-input-number>
|
|
|
小时执行 从
|
|
|
<a-input-number size="small" v-model="result.hour.incrementStart" :min="0" :max="23"></a-input-number>
|
|
|
小时开始
|
|
@@ -88,12 +116,13 @@
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
<a-radio class="long" value="3">具体小时数(可多选)</a-radio>
|
|
|
- <a-select style="width:340px;" size="small" mode="multiple" v-model="result.hour.specificSpecific">
|
|
|
- <a-select-option v-for="(val,index) in Array(24)" :key="index" >{{ index }}</a-select-option>
|
|
|
+ <a-select style="width: 340px" size="small" mode="multiple" v-model="result.hour.specificSpecific">
|
|
|
+ <a-select-option v-for="(val, index) in Array(24)" :key="index">{{ index }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="4">周期从
|
|
|
+ <a-radio value="4"
|
|
|
+ >周期从
|
|
|
<a-input-number size="small" v-model="result.hour.rangeStart" :min="0" :max="23"></a-input-number>
|
|
|
到
|
|
|
<a-input-number size="small" v-model="result.hour.rangeEnd" :min="0" :max="23"></a-input-number>
|
|
@@ -104,25 +133,39 @@
|
|
|
</div>
|
|
|
</a-tab-pane>
|
|
|
<a-tab-pane key="4">
|
|
|
- <span slot="tab"><a-icon type="schedule" /> 天</span>
|
|
|
+ <span slot="tab"><a-icon type="schedule" /> 天</span>
|
|
|
<div class="tabBody">
|
|
|
<a-radio-group v-model="result.day.cronEvery">
|
|
|
<a-row>
|
|
|
<a-radio value="1">每一天</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="2">每隔
|
|
|
- <a-input-number size="small" v-model="result.week.incrementIncrement" :min="1" :max="7"></a-input-number>
|
|
|
+ <a-radio value="2"
|
|
|
+ >每隔
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.week.incrementIncrement"
|
|
|
+ :min="1"
|
|
|
+ :max="7"
|
|
|
+ ></a-input-number>
|
|
|
周执行 从
|
|
|
<a-select size="small" v-model="result.week.incrementStart">
|
|
|
- <a-select-option v-for="(val,index) in Array(7)" :key="index" :value="index+1">{{ weekDays[index] }}</a-select-option>
|
|
|
+ <a-select-option v-for="(val, index) in Array(7)" :key="index" :value="index + 1">{{
|
|
|
+ weekDays[index]
|
|
|
+ }}</a-select-option>
|
|
|
</a-select>
|
|
|
开始
|
|
|
</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="3">每隔
|
|
|
- <a-input-number size="small" v-model="result.day.incrementIncrement" :min="1" :max="31"></a-input-number>
|
|
|
+ <a-radio value="3"
|
|
|
+ >每隔
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.day.incrementIncrement"
|
|
|
+ :min="1"
|
|
|
+ :max="31"
|
|
|
+ ></a-input-number>
|
|
|
天执行 从
|
|
|
<a-input-number size="small" v-model="result.day.incrementStart" :min="1" :max="31"></a-input-number>
|
|
|
天开始
|
|
@@ -130,14 +173,18 @@
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
<a-radio class="long" value="4">具体星期几(可多选)</a-radio>
|
|
|
- <a-select style="width:340px;" size="small" mode="multiple" v-model="result.week.specificSpecific">
|
|
|
- <a-select-option v-for="(val,index) in Array(7)" :key="index" :value="index+1">{{ weekDays[index] }}</a-select-option>
|
|
|
+ <a-select style="width: 340px" size="small" mode="multiple" v-model="result.week.specificSpecific">
|
|
|
+ <a-select-option v-for="(val, index) in Array(7)" :key="index" :value="index + 1">{{
|
|
|
+ weekDays[index]
|
|
|
+ }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
<a-radio class="long" value="5">具体天数(可多选)</a-radio>
|
|
|
- <a-select style="width:354px;" size="small" mode="multiple" v-model="result.day.specificSpecific">
|
|
|
- <a-select-option v-for="(val,index) in Array(31)" :key="index" :value="index+1">{{ index+1 }}</a-select-option>
|
|
|
+ <a-select style="width: 354px" size="small" mode="multiple" v-model="result.day.specificSpecific">
|
|
|
+ <a-select-option v-for="(val, index) in Array(31)" :key="index" :value="index + 1">{{
|
|
|
+ index + 1
|
|
|
+ }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
@@ -147,33 +194,49 @@
|
|
|
<a-radio value="7">在这个月的最后一个工作日</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="8">在这个月的最后一个
|
|
|
+ <a-radio value="8"
|
|
|
+ >在这个月的最后一个
|
|
|
<a-select size="small" v-model="result.day.cronLastSpecificDomDay">
|
|
|
- <a-select-option v-for="(val,index) in Array(7)" :key="index" :value="index+1">{{ weekDays[index] }}</a-select-option>
|
|
|
+ <a-select-option v-for="(val, index) in Array(7)" :key="index" :value="index + 1">{{
|
|
|
+ weekDays[index]
|
|
|
+ }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
<a-radio value="9">
|
|
|
在本月底前
|
|
|
- <a-input-number size="small" v-model="result.day.cronDaysBeforeEomMinus" :min="1" :max="31"></a-input-number>
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.day.cronDaysBeforeEomMinus"
|
|
|
+ :min="1"
|
|
|
+ :max="31"
|
|
|
+ ></a-input-number>
|
|
|
天
|
|
|
</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="10">最近的工作日(周一至周五)至本月
|
|
|
- <a-input-number size="small" v-model="result.day.cronDaysNearestWeekday" :min="1" :max="31"></a-input-number>
|
|
|
+ <a-radio value="10"
|
|
|
+ >最近的工作日(周一至周五)至本月
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.day.cronDaysNearestWeekday"
|
|
|
+ :min="1"
|
|
|
+ :max="31"
|
|
|
+ ></a-input-number>
|
|
|
日
|
|
|
</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="11">在这个月的第
|
|
|
+ <a-radio value="11"
|
|
|
+ >在这个月的第
|
|
|
<a-input-number size="small" v-model="result.week.cronNthDayNth" :min="1" :max="5"></a-input-number>
|
|
|
个
|
|
|
<a-select size="small" v-model="result.week.cronNthDayDay">
|
|
|
- <a-select-option v-for="(val,index) in Array(7)" :key="index" :value="index+1">{{ weekDays[index] }}</a-select-option>
|
|
|
+ <a-select-option v-for="(val, index) in Array(7)" :key="index" :value="index + 1">{{
|
|
|
+ weekDays[index]
|
|
|
+ }}</a-select-option>
|
|
|
</a-select>
|
|
|
-
|
|
|
</a-radio>
|
|
|
</a-row>
|
|
|
</a-radio-group>
|
|
@@ -187,21 +250,41 @@
|
|
|
<a-radio value="1">每一月</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="2">每隔
|
|
|
- <a-input-number size="small" v-model="result.month.incrementIncrement" :min="0" :max="12"></a-input-number>
|
|
|
+ <a-radio value="2"
|
|
|
+ >每隔
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.month.incrementIncrement"
|
|
|
+ :min="0"
|
|
|
+ :max="12"
|
|
|
+ ></a-input-number>
|
|
|
月执行 从
|
|
|
- <a-input-number size="small" v-model="result.month.incrementStart" :min="0" :max="12"></a-input-number>
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.month.incrementStart"
|
|
|
+ :min="0"
|
|
|
+ :max="12"
|
|
|
+ ></a-input-number>
|
|
|
月开始
|
|
|
</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
<a-radio class="long" value="3">具体月数(可多选)</a-radio>
|
|
|
- <a-select style="width:354px;" size="small" filterable mode="multiple" v-model="result.month.specificSpecific">
|
|
|
- <a-select-option v-for="(val,index) in Array(12)" :key="index" :value="index+1">{{ index+1 }}</a-select-option>
|
|
|
+ <a-select
|
|
|
+ style="width: 354px"
|
|
|
+ size="small"
|
|
|
+ filterable
|
|
|
+ mode="multiple"
|
|
|
+ v-model="result.month.specificSpecific"
|
|
|
+ >
|
|
|
+ <a-select-option v-for="(val, index) in Array(12)" :key="index" :value="index + 1">{{
|
|
|
+ index + 1
|
|
|
+ }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="4">从
|
|
|
+ <a-radio value="4"
|
|
|
+ >从
|
|
|
<a-input-number size="small" v-model="result.month.rangeStart" :min="1" :max="12"></a-input-number>
|
|
|
到
|
|
|
<a-input-number size="small" v-model="result.month.rangeEnd" :min="1" :max="12"></a-input-number>
|
|
@@ -219,22 +302,47 @@
|
|
|
<a-radio value="1">每一年</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="2">每隔
|
|
|
- <a-input-number size="small" v-model="result.year.incrementIncrement" :min="1" :max="99"></a-input-number>
|
|
|
+ <a-radio value="2"
|
|
|
+ >每隔
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.year.incrementIncrement"
|
|
|
+ :min="1"
|
|
|
+ :max="99"
|
|
|
+ ></a-input-number>
|
|
|
年执行 从
|
|
|
- <a-input-number size="small" v-model="result.year.incrementStart" :min="2019" :max="2119"></a-input-number>
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.year.incrementStart"
|
|
|
+ :min="2019"
|
|
|
+ :max="2119"
|
|
|
+ ></a-input-number>
|
|
|
年开始
|
|
|
</a-radio>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
<a-radio class="long" value="3">具体年份(可多选)</a-radio>
|
|
|
- <a-select style="width:354px;" size="small" filterable mode="multiple" v-model="result.year.specificSpecific">
|
|
|
- <a-select-option v-for="(val,index) in Array(100)" :key="index" :value="2019+index">{{ 2019+index }}</a-select-option>
|
|
|
+ <a-select
|
|
|
+ style="width: 354px"
|
|
|
+ size="small"
|
|
|
+ filterable
|
|
|
+ mode="multiple"
|
|
|
+ v-model="result.year.specificSpecific"
|
|
|
+ >
|
|
|
+ <a-select-option v-for="(val, index) in Array(100)" :key="index" :value="2019 + index">{{
|
|
|
+ 2019 + index
|
|
|
+ }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
- <a-radio value="4">从
|
|
|
- <a-input-number size="small" v-model="result.year.rangeStart" :min="2019" :max="2119"></a-input-number>
|
|
|
+ <a-radio value="4"
|
|
|
+ >从
|
|
|
+ <a-input-number
|
|
|
+ size="small"
|
|
|
+ v-model="result.year.rangeStart"
|
|
|
+ :min="2019"
|
|
|
+ :max="2119"
|
|
|
+ ></a-input-number>
|
|
|
到
|
|
|
<a-input-number size="small" v-model="result.year.rangeEnd" :min="2019" :max="2119"></a-input-number>
|
|
|
年之间的每一年
|
|
@@ -245,684 +353,685 @@
|
|
|
</a-tab-pane>
|
|
|
</a-tabs>
|
|
|
<div class="bottom">
|
|
|
- <span class="value">{{this.cron }}</span>
|
|
|
+ <span class="value">{{ this.cron }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</a-modal>
|
|
|
</template>
|
|
|
<script>
|
|
|
- export default {
|
|
|
- name:'VueCron',
|
|
|
- props:['data'],
|
|
|
- data(){
|
|
|
- return {
|
|
|
- visible: false,
|
|
|
- confirmLoading:false,
|
|
|
- size:'large',
|
|
|
- weekDays:['天','一','二','三','四','五','六'].map(val=>'星期'+val),
|
|
|
- result: {
|
|
|
- second:{},
|
|
|
- minute:{},
|
|
|
- hour:{},
|
|
|
- day:{},
|
|
|
- week:{},
|
|
|
- month:{},
|
|
|
- year:{}
|
|
|
+export default {
|
|
|
+ name: 'VueCron',
|
|
|
+ props: ['data'],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ visible: false,
|
|
|
+ confirmLoading: false,
|
|
|
+ size: 'large',
|
|
|
+ weekDays: ['天', '一', '二', '三', '四', '五', '六'].map((val) => '星期' + val),
|
|
|
+ result: {
|
|
|
+ second: {},
|
|
|
+ minute: {},
|
|
|
+ hour: {},
|
|
|
+ day: {},
|
|
|
+ week: {},
|
|
|
+ month: {},
|
|
|
+ year: {},
|
|
|
+ },
|
|
|
+ defaultValue: {
|
|
|
+ second: {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 3,
|
|
|
+ incrementIncrement: 5,
|
|
|
+ rangeStart: 1,
|
|
|
+ rangeEnd: 0,
|
|
|
+ specificSpecific: [],
|
|
|
},
|
|
|
- defaultValue: {
|
|
|
- second:{
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:3,
|
|
|
- incrementIncrement:5,
|
|
|
- rangeStart:1,
|
|
|
- rangeEnd:0,
|
|
|
- specificSpecific:[],
|
|
|
- },
|
|
|
- minute:{
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:3,
|
|
|
- incrementIncrement:5,
|
|
|
- rangeStart:1,
|
|
|
- rangeEnd:'0',
|
|
|
- specificSpecific:[],
|
|
|
- },
|
|
|
- hour:{
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:3,
|
|
|
- incrementIncrement:5,
|
|
|
- rangeStart:'0',
|
|
|
- rangeEnd:'0',
|
|
|
- specificSpecific:[],
|
|
|
- },
|
|
|
- day:{
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:1,
|
|
|
- incrementIncrement:'1',
|
|
|
- rangeStart:'',
|
|
|
- rangeEnd:'',
|
|
|
- specificSpecific:[],
|
|
|
- cronLastSpecificDomDay:1,
|
|
|
- cronDaysBeforeEomMinus:1,
|
|
|
- cronDaysNearestWeekday:1,
|
|
|
- },
|
|
|
- week:{
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:1,
|
|
|
- incrementIncrement:1,
|
|
|
- specificSpecific:[],
|
|
|
- cronNthDayDay:1,
|
|
|
- cronNthDayNth:1,
|
|
|
- },
|
|
|
- month:{
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:3,
|
|
|
- incrementIncrement:5,
|
|
|
- rangeStart:1,
|
|
|
- rangeEnd:1,
|
|
|
- specificSpecific:[],
|
|
|
- },
|
|
|
- year:{
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:2017,
|
|
|
- incrementIncrement:1,
|
|
|
- rangeStart:2019,
|
|
|
- rangeEnd: 2019,
|
|
|
- specificSpecific:[],
|
|
|
- },
|
|
|
- label:''
|
|
|
- }
|
|
|
+ minute: {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 3,
|
|
|
+ incrementIncrement: 5,
|
|
|
+ rangeStart: 1,
|
|
|
+ rangeEnd: '0',
|
|
|
+ specificSpecific: [],
|
|
|
+ },
|
|
|
+ hour: {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 3,
|
|
|
+ incrementIncrement: 5,
|
|
|
+ rangeStart: '0',
|
|
|
+ rangeEnd: '0',
|
|
|
+ specificSpecific: [],
|
|
|
+ },
|
|
|
+ day: {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 1,
|
|
|
+ incrementIncrement: '1',
|
|
|
+ rangeStart: '',
|
|
|
+ rangeEnd: '',
|
|
|
+ specificSpecific: [],
|
|
|
+ cronLastSpecificDomDay: 1,
|
|
|
+ cronDaysBeforeEomMinus: 1,
|
|
|
+ cronDaysNearestWeekday: 1,
|
|
|
+ },
|
|
|
+ week: {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 1,
|
|
|
+ incrementIncrement: 1,
|
|
|
+ specificSpecific: [],
|
|
|
+ cronNthDayDay: 1,
|
|
|
+ cronNthDayNth: 1,
|
|
|
+ },
|
|
|
+ month: {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 3,
|
|
|
+ incrementIncrement: 5,
|
|
|
+ rangeStart: 1,
|
|
|
+ rangeEnd: 1,
|
|
|
+ specificSpecific: [],
|
|
|
+ },
|
|
|
+ year: {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 2017,
|
|
|
+ incrementIncrement: 1,
|
|
|
+ rangeStart: 2019,
|
|
|
+ rangeEnd: 2019,
|
|
|
+ specificSpecific: [],
|
|
|
+ },
|
|
|
+ label: '',
|
|
|
+ },
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ modalWidth() {
|
|
|
+ return 608
|
|
|
+ },
|
|
|
+ secondsText() {
|
|
|
+ let seconds = ''
|
|
|
+ let cronEvery = this.result.second.cronEvery || ''
|
|
|
+ switch (cronEvery.toString()) {
|
|
|
+ case '1':
|
|
|
+ seconds = '*'
|
|
|
+ break
|
|
|
+ case '2':
|
|
|
+ seconds = this.result.second.incrementStart + '/' + this.result.second.incrementIncrement
|
|
|
+ break
|
|
|
+ case '3':
|
|
|
+ this.result.second.specificSpecific.map((val) => {
|
|
|
+ seconds += val + ','
|
|
|
+ })
|
|
|
+ seconds = seconds.slice(0, -1)
|
|
|
+ break
|
|
|
+ case '4':
|
|
|
+ seconds = this.result.second.rangeStart + '-' + this.result.second.rangeEnd
|
|
|
+ break
|
|
|
}
|
|
|
+ return seconds
|
|
|
},
|
|
|
- computed: {
|
|
|
- modalWidth(){
|
|
|
- return 608;
|
|
|
- },
|
|
|
- secondsText() {
|
|
|
- let seconds = '';
|
|
|
- let cronEvery=this.result.second.cronEvery||'';
|
|
|
- switch (cronEvery.toString()){
|
|
|
- case '1':
|
|
|
- seconds = '*';
|
|
|
- break;
|
|
|
- case '2':
|
|
|
- seconds = this.result.second.incrementStart+'/'+this.result.second.incrementIncrement;
|
|
|
- break;
|
|
|
- case '3':
|
|
|
- this.result.second.specificSpecific.map(val=> {seconds += val+','});
|
|
|
- seconds = seconds.slice(0, -1);
|
|
|
- break;
|
|
|
- case '4':
|
|
|
- seconds = this.result.second.rangeStart+'-'+this.result.second.rangeEnd;
|
|
|
- break;
|
|
|
- }
|
|
|
- return seconds;
|
|
|
- },
|
|
|
- minutesText() {
|
|
|
- let minutes = '';
|
|
|
- let cronEvery=this.result.minute.cronEvery||'';
|
|
|
- switch (cronEvery.toString()){
|
|
|
- case '1':
|
|
|
- minutes = '*';
|
|
|
- break;
|
|
|
- case '2':
|
|
|
- minutes = this.result.minute.incrementStart+'/'+this.result.minute.incrementIncrement;
|
|
|
- break;
|
|
|
- case '3':
|
|
|
- this.result.minute.specificSpecific.map(val=> {
|
|
|
- minutes += val+','
|
|
|
- });
|
|
|
- minutes = minutes.slice(0, -1);
|
|
|
- break;
|
|
|
- case '4':
|
|
|
- minutes = this.result.minute.rangeStart+'-'+this.result.minute.rangeEnd;
|
|
|
- break;
|
|
|
- }
|
|
|
- return minutes;
|
|
|
- },
|
|
|
- hoursText() {
|
|
|
- let hours = '';
|
|
|
- let cronEvery=this.result.hour.cronEvery||'';
|
|
|
- switch (cronEvery.toString()){
|
|
|
- case '1':
|
|
|
- hours = '*';
|
|
|
- break;
|
|
|
- case '2':
|
|
|
- hours = this.result.hour.incrementStart+'/'+this.result.hour.incrementIncrement;
|
|
|
- break;
|
|
|
- case '3':
|
|
|
- this.result.hour.specificSpecific.map(val=> {
|
|
|
- hours += val+','
|
|
|
- });
|
|
|
- hours = hours.slice(0, -1);
|
|
|
- break;
|
|
|
- case '4':
|
|
|
- hours = this.result.hour.rangeStart+'-'+this.result.hour.rangeEnd;
|
|
|
- break;
|
|
|
- }
|
|
|
- return hours;
|
|
|
- },
|
|
|
- daysText() {
|
|
|
- let days='';
|
|
|
- let cronEvery=this.result.day.cronEvery||'';
|
|
|
- switch (cronEvery.toString()){
|
|
|
- case '1':
|
|
|
- break;
|
|
|
- case '2':
|
|
|
- case '4':
|
|
|
- case '11':
|
|
|
- days = '?';
|
|
|
- break;
|
|
|
- case '3':
|
|
|
- days = this.result.day.incrementStart+'/'+this.result.day.incrementIncrement;
|
|
|
- break;
|
|
|
- case '5':
|
|
|
- this.result.day.specificSpecific.map(val=> {
|
|
|
- days += val+','
|
|
|
- });
|
|
|
- days = days.slice(0, -1);
|
|
|
- break;
|
|
|
- case '6':
|
|
|
- days = "L";
|
|
|
- break;
|
|
|
- case '7':
|
|
|
- days = "LW";
|
|
|
- break;
|
|
|
- case '8':
|
|
|
- days = this.result.day.cronLastSpecificDomDay + 'L';
|
|
|
- break;
|
|
|
- case '9':
|
|
|
- days = 'L-' + this.result.day.cronDaysBeforeEomMinus;
|
|
|
- break;
|
|
|
- case '10':
|
|
|
- days = this.result.day.cronDaysNearestWeekday+"W";
|
|
|
- break
|
|
|
- }
|
|
|
- return days;
|
|
|
- },
|
|
|
- weeksText() {
|
|
|
- let weeks = '';
|
|
|
- let cronEvery=this.result.day.cronEvery||'';
|
|
|
- switch (cronEvery.toString()){
|
|
|
- case '1':
|
|
|
- case '3':
|
|
|
- case '5':
|
|
|
- weeks = '?';
|
|
|
- break;
|
|
|
- case '2':
|
|
|
- weeks = this.result.week.incrementStart+'/'+this.result.week.incrementIncrement;
|
|
|
- break;
|
|
|
- case '4':
|
|
|
- this.result.week.specificSpecific.map(val=> {
|
|
|
- weeks += val+','
|
|
|
- });
|
|
|
- weeks = weeks.slice(0, -1);
|
|
|
- break;
|
|
|
- case '6':
|
|
|
- case '7':
|
|
|
- case '8':
|
|
|
- case '9':
|
|
|
- case '10':
|
|
|
- weeks = "?";
|
|
|
- break;
|
|
|
- case '11':
|
|
|
- weeks = this.result.week.cronNthDayDay+"#"+this.result.week.cronNthDayNth;
|
|
|
- break;
|
|
|
- }
|
|
|
- return weeks;
|
|
|
- },
|
|
|
- monthsText() {
|
|
|
- let months = '';
|
|
|
- let cronEvery=this.result.month.cronEvery||'';
|
|
|
- switch (cronEvery.toString()){
|
|
|
- case '1':
|
|
|
- months = '*';
|
|
|
- break;
|
|
|
- case '2':
|
|
|
- months = this.result.month.incrementStart+'/'+this.result.month.incrementIncrement;
|
|
|
- break;
|
|
|
- case '3':
|
|
|
- this.result.month.specificSpecific.map(val=> {
|
|
|
- months += val+','
|
|
|
- });
|
|
|
- months = months.slice(0, -1);
|
|
|
- break;
|
|
|
- case '4':
|
|
|
- months = this.result.month.rangeStart+'-'+this.result.month.rangeEnd;
|
|
|
- break;
|
|
|
- }
|
|
|
- return months;
|
|
|
- },
|
|
|
- yearsText() {
|
|
|
- let years = '';
|
|
|
- let cronEvery=this.result.year.cronEvery||'';
|
|
|
- switch (cronEvery.toString()){
|
|
|
- case '1':
|
|
|
- years = '*';
|
|
|
- break;
|
|
|
- case '2':
|
|
|
- years = this.result.year.incrementStart+'/'+this.result.year.incrementIncrement;
|
|
|
- break;
|
|
|
- case '3':
|
|
|
- this.result.year.specificSpecific.map(val=> {
|
|
|
- years += val+','
|
|
|
- });
|
|
|
- years = years.slice(0, -1);
|
|
|
- break;
|
|
|
- case '4':
|
|
|
- years = this.result.year.rangeStart+'-'+this.result.year.rangeEnd;
|
|
|
- break;
|
|
|
- }
|
|
|
- return years;
|
|
|
- },
|
|
|
- cron(){
|
|
|
- return `${this.secondsText||'*'} ${this.minutesText||'*'} ${this.hoursText||'*'} ${this.daysText||'*'} ${this.monthsText||'*'} ${this.weeksText||'?'} ${this.yearsText||'*'}`
|
|
|
- },
|
|
|
+ minutesText() {
|
|
|
+ let minutes = ''
|
|
|
+ let cronEvery = this.result.minute.cronEvery || ''
|
|
|
+ switch (cronEvery.toString()) {
|
|
|
+ case '1':
|
|
|
+ minutes = '*'
|
|
|
+ break
|
|
|
+ case '2':
|
|
|
+ minutes = this.result.minute.incrementStart + '/' + this.result.minute.incrementIncrement
|
|
|
+ break
|
|
|
+ case '3':
|
|
|
+ this.result.minute.specificSpecific.map((val) => {
|
|
|
+ minutes += val + ','
|
|
|
+ })
|
|
|
+ minutes = minutes.slice(0, -1)
|
|
|
+ break
|
|
|
+ case '4':
|
|
|
+ minutes = this.result.minute.rangeStart + '-' + this.result.minute.rangeEnd
|
|
|
+ break
|
|
|
+ }
|
|
|
+ return minutes
|
|
|
},
|
|
|
- watch:{
|
|
|
- visible:{
|
|
|
- handler() {
|
|
|
- // if(this.data){
|
|
|
- // //this. result = Object.keys(this.data.value).length>0?this.deepCopy(this.data.value):this.deepCopy(this.defaultValue);
|
|
|
- // //this.result = Object.keys(this.data.value).length>0?clone(this.data.value):clone(this.defaultValue);
|
|
|
- // //this.result = Object.keys(this.data.value).length>0?clone(JSON.parse(this.data.value)):clone(this.defaultValue);
|
|
|
- // this.result = Object.keys(this.data.value).length>0?JSON.parse(this.data.value):JSON.parse(JSON.stringify(this.defaultValue));
|
|
|
- // }else{
|
|
|
- // //this.result = this.deepCopy(this.defaultValue);
|
|
|
- // //this.result = clone(this.defaultValue);
|
|
|
- // this.result = JSON.parse(JSON.stringify(this.defaultValue));
|
|
|
- // }
|
|
|
- let label = this.data;
|
|
|
- if(label){
|
|
|
- this.secondsReverseExp(label)
|
|
|
- this.minutesReverseExp(label);
|
|
|
- this.hoursReverseExp(label);
|
|
|
- this.daysReverseExp(label);
|
|
|
- this.daysReverseExp(label);
|
|
|
- this.monthsReverseExp(label);
|
|
|
- this.yearReverseExp(label);
|
|
|
- JSON.parse(JSON.stringify(label));
|
|
|
- }else {
|
|
|
- this.result = JSON.parse(JSON.stringify(this.defaultValue));
|
|
|
- }
|
|
|
- }
|
|
|
+ hoursText() {
|
|
|
+ let hours = ''
|
|
|
+ let cronEvery = this.result.hour.cronEvery || ''
|
|
|
+ switch (cronEvery.toString()) {
|
|
|
+ case '1':
|
|
|
+ hours = '*'
|
|
|
+ break
|
|
|
+ case '2':
|
|
|
+ hours = this.result.hour.incrementStart + '/' + this.result.hour.incrementIncrement
|
|
|
+ break
|
|
|
+ case '3':
|
|
|
+ this.result.hour.specificSpecific.map((val) => {
|
|
|
+ hours += val + ','
|
|
|
+ })
|
|
|
+ hours = hours.slice(0, -1)
|
|
|
+ break
|
|
|
+ case '4':
|
|
|
+ hours = this.result.hour.rangeStart + '-' + this.result.hour.rangeEnd
|
|
|
+ break
|
|
|
}
|
|
|
+ return hours
|
|
|
},
|
|
|
- methods: {
|
|
|
- show(){
|
|
|
- this.visible = true;
|
|
|
- // console.log('secondsReverseExp',this.secondsReverseExp(this.data));
|
|
|
- // console.log('minutesReverseExp',this.minutesReverseExp(this.data));
|
|
|
- // console.log('hoursReverseExp',this.hoursReverseExp(this.data));
|
|
|
- // console.log('daysReverseExp',this.daysReverseExp(this.data));
|
|
|
- // console.log('monthsReverseExp',this.monthsReverseExp(this.data));
|
|
|
- // console.log('yearReverseExp',this.yearReverseExp(this.data));
|
|
|
-
|
|
|
- },
|
|
|
- handleSubmit(){
|
|
|
- this.$emit('ok',this.cron);
|
|
|
- this.close();
|
|
|
- this.visible = false;
|
|
|
- },
|
|
|
- close(){
|
|
|
- this.visible = false;
|
|
|
- },
|
|
|
- secondsReverseExp(seconds) {
|
|
|
- let val = seconds.split(" ")[0];
|
|
|
- //alert(val);
|
|
|
- let second = {
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:3,
|
|
|
- incrementIncrement:5,
|
|
|
- rangeStart:1,
|
|
|
- rangeEnd:0,
|
|
|
- specificSpecific:[]
|
|
|
- };
|
|
|
- switch (true) {
|
|
|
- case val.includes('*'):
|
|
|
- second.cronEvery = '1';
|
|
|
- break;
|
|
|
- case val.includes('/'):
|
|
|
- second.cronEvery = '2';
|
|
|
- second.incrementStart = val.split('/')[0];
|
|
|
- second.incrementIncrement = val.split('/')[1];
|
|
|
- break;
|
|
|
- case val.includes(','):
|
|
|
- second.cronEvery = '3';
|
|
|
- second.specificSpecific = val.split(',').map(Number).sort();
|
|
|
- break;
|
|
|
- case val.includes('-'):
|
|
|
- second.cronEvery = '4';
|
|
|
- second.rangeStart = val.split('-')[0];
|
|
|
- second.rangeEnd = val.split('-')[1];
|
|
|
- break;
|
|
|
- default:
|
|
|
- second.cronEvery = '1';
|
|
|
+ daysText() {
|
|
|
+ let days = ''
|
|
|
+ let cronEvery = this.result.day.cronEvery || ''
|
|
|
+ switch (cronEvery.toString()) {
|
|
|
+ case '1':
|
|
|
+ break
|
|
|
+ case '2':
|
|
|
+ case '4':
|
|
|
+ case '11':
|
|
|
+ days = '?'
|
|
|
+ break
|
|
|
+ case '3':
|
|
|
+ days = this.result.day.incrementStart + '/' + this.result.day.incrementIncrement
|
|
|
+ break
|
|
|
+ case '5':
|
|
|
+ this.result.day.specificSpecific.map((val) => {
|
|
|
+ days += val + ','
|
|
|
+ })
|
|
|
+ days = days.slice(0, -1)
|
|
|
+ break
|
|
|
+ case '6':
|
|
|
+ days = 'L'
|
|
|
+ break
|
|
|
+ case '7':
|
|
|
+ days = 'LW'
|
|
|
+ break
|
|
|
+ case '8':
|
|
|
+ days = this.result.day.cronLastSpecificDomDay + 'L'
|
|
|
+ break
|
|
|
+ case '9':
|
|
|
+ days = 'L-' + this.result.day.cronDaysBeforeEomMinus
|
|
|
+ break
|
|
|
+ case '10':
|
|
|
+ days = this.result.day.cronDaysNearestWeekday + 'W'
|
|
|
+ break
|
|
|
+ }
|
|
|
+ return days
|
|
|
+ },
|
|
|
+ weeksText() {
|
|
|
+ let weeks = ''
|
|
|
+ let cronEvery = this.result.day.cronEvery || ''
|
|
|
+ switch (cronEvery.toString()) {
|
|
|
+ case '1':
|
|
|
+ case '3':
|
|
|
+ case '5':
|
|
|
+ weeks = '?'
|
|
|
+ break
|
|
|
+ case '2':
|
|
|
+ weeks = this.result.week.incrementStart + '/' + this.result.week.incrementIncrement
|
|
|
+ break
|
|
|
+ case '4':
|
|
|
+ this.result.week.specificSpecific.map((val) => {
|
|
|
+ weeks += val + ','
|
|
|
+ })
|
|
|
+ weeks = weeks.slice(0, -1)
|
|
|
+ break
|
|
|
+ case '6':
|
|
|
+ case '7':
|
|
|
+ case '8':
|
|
|
+ case '9':
|
|
|
+ case '10':
|
|
|
+ weeks = '?'
|
|
|
+ break
|
|
|
+ case '11':
|
|
|
+ weeks = this.result.week.cronNthDayDay + '#' + this.result.week.cronNthDayNth
|
|
|
+ break
|
|
|
+ }
|
|
|
+ return weeks
|
|
|
+ },
|
|
|
+ monthsText() {
|
|
|
+ let months = ''
|
|
|
+ let cronEvery = this.result.month.cronEvery || ''
|
|
|
+ switch (cronEvery.toString()) {
|
|
|
+ case '1':
|
|
|
+ months = '*'
|
|
|
+ break
|
|
|
+ case '2':
|
|
|
+ months = this.result.month.incrementStart + '/' + this.result.month.incrementIncrement
|
|
|
+ break
|
|
|
+ case '3':
|
|
|
+ this.result.month.specificSpecific.map((val) => {
|
|
|
+ months += val + ','
|
|
|
+ })
|
|
|
+ months = months.slice(0, -1)
|
|
|
+ break
|
|
|
+ case '4':
|
|
|
+ months = this.result.month.rangeStart + '-' + this.result.month.rangeEnd
|
|
|
+ break
|
|
|
+ }
|
|
|
+ return months
|
|
|
+ },
|
|
|
+ yearsText() {
|
|
|
+ let years = ''
|
|
|
+ let cronEvery = this.result.year.cronEvery || ''
|
|
|
+ switch (cronEvery.toString()) {
|
|
|
+ case '1':
|
|
|
+ years = '*'
|
|
|
+ break
|
|
|
+ case '2':
|
|
|
+ years = this.result.year.incrementStart + '/' + this.result.year.incrementIncrement
|
|
|
+ break
|
|
|
+ case '3':
|
|
|
+ this.result.year.specificSpecific.map((val) => {
|
|
|
+ years += val + ','
|
|
|
+ })
|
|
|
+ years = years.slice(0, -1)
|
|
|
+ break
|
|
|
+ case '4':
|
|
|
+ years = this.result.year.rangeStart + '-' + this.result.year.rangeEnd
|
|
|
+ break
|
|
|
+ }
|
|
|
+ return years
|
|
|
+ },
|
|
|
+ cron() {
|
|
|
+ return `${this.secondsText || '*'} ${this.minutesText || '*'} ${this.hoursText || '*'} ${this.daysText || '*'} ${
|
|
|
+ this.monthsText || '*'
|
|
|
+ } ${this.weeksText || '?'} ${this.yearsText || '*'}`
|
|
|
+ },
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ visible: {
|
|
|
+ handler() {
|
|
|
+ // if(this.data){
|
|
|
+ // //this. result = Object.keys(this.data.value).length>0?this.deepCopy(this.data.value):this.deepCopy(this.defaultValue);
|
|
|
+ // //this.result = Object.keys(this.data.value).length>0?clone(this.data.value):clone(this.defaultValue);
|
|
|
+ // //this.result = Object.keys(this.data.value).length>0?clone(JSON.parse(this.data.value)):clone(this.defaultValue);
|
|
|
+ // this.result = Object.keys(this.data.value).length>0?JSON.parse(this.data.value):JSON.parse(JSON.stringify(this.defaultValue));
|
|
|
+ // }else{
|
|
|
+ // //this.result = this.deepCopy(this.defaultValue);
|
|
|
+ // //this.result = clone(this.defaultValue);
|
|
|
+ // this.result = JSON.parse(JSON.stringify(this.defaultValue));
|
|
|
+ // }
|
|
|
+ let label = this.data
|
|
|
+ if (label) {
|
|
|
+ this.secondsReverseExp(label)
|
|
|
+ this.minutesReverseExp(label)
|
|
|
+ this.hoursReverseExp(label)
|
|
|
+ this.daysReverseExp(label)
|
|
|
+ this.daysReverseExp(label)
|
|
|
+ this.monthsReverseExp(label)
|
|
|
+ this.yearReverseExp(label)
|
|
|
+ JSON.parse(JSON.stringify(label))
|
|
|
+ } else {
|
|
|
+ this.result = JSON.parse(JSON.stringify(this.defaultValue))
|
|
|
}
|
|
|
- this.result.second = second;
|
|
|
},
|
|
|
- minutesReverseExp(minutes) {
|
|
|
- let val = minutes.split(" ")[1];
|
|
|
- let minute = {
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:3,
|
|
|
- incrementIncrement:5,
|
|
|
- rangeStart:1,
|
|
|
- rangeEnd:0,
|
|
|
- specificSpecific:[],
|
|
|
- }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ show() {
|
|
|
+ this.visible = true
|
|
|
+ // console.log('secondsReverseExp',this.secondsReverseExp(this.data));
|
|
|
+ // console.log('minutesReverseExp',this.minutesReverseExp(this.data));
|
|
|
+ // console.log('hoursReverseExp',this.hoursReverseExp(this.data));
|
|
|
+ // console.log('daysReverseExp',this.daysReverseExp(this.data));
|
|
|
+ // console.log('monthsReverseExp',this.monthsReverseExp(this.data));
|
|
|
+ // console.log('yearReverseExp',this.yearReverseExp(this.data));
|
|
|
+ },
|
|
|
+ handleSubmit() {
|
|
|
+ this.$emit('ok', this.cron)
|
|
|
+ this.close()
|
|
|
+ this.visible = false
|
|
|
+ },
|
|
|
+ close() {
|
|
|
+ this.visible = false
|
|
|
+ },
|
|
|
+ secondsReverseExp(seconds) {
|
|
|
+ let val = seconds.split(' ')[0]
|
|
|
+ //alert(val);
|
|
|
+ let second = {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 3,
|
|
|
+ incrementIncrement: 5,
|
|
|
+ rangeStart: 1,
|
|
|
+ rangeEnd: 0,
|
|
|
+ specificSpecific: [],
|
|
|
+ }
|
|
|
+ switch (true) {
|
|
|
+ case val.includes('*'):
|
|
|
+ second.cronEvery = '1'
|
|
|
+ break
|
|
|
+ case val.includes('/'):
|
|
|
+ second.cronEvery = '2'
|
|
|
+ second.incrementStart = val.split('/')[0]
|
|
|
+ second.incrementIncrement = val.split('/')[1]
|
|
|
+ break
|
|
|
+ case val.includes(','):
|
|
|
+ second.cronEvery = '3'
|
|
|
+ second.specificSpecific = val.split(',').map(Number).sort()
|
|
|
+ break
|
|
|
+ case val.includes('-'):
|
|
|
+ second.cronEvery = '4'
|
|
|
+ second.rangeStart = val.split('-')[0]
|
|
|
+ second.rangeEnd = val.split('-')[1]
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ second.cronEvery = '1'
|
|
|
+ }
|
|
|
+ this.result.second = second
|
|
|
+ },
|
|
|
+ minutesReverseExp(minutes) {
|
|
|
+ let val = minutes.split(' ')[1]
|
|
|
+ let minute = {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 3,
|
|
|
+ incrementIncrement: 5,
|
|
|
+ rangeStart: 1,
|
|
|
+ rangeEnd: 0,
|
|
|
+ specificSpecific: [],
|
|
|
+ }
|
|
|
+ switch (true) {
|
|
|
+ case val.includes('*'):
|
|
|
+ minute.cronEvery = '1'
|
|
|
+ break
|
|
|
+ case val.includes('/'):
|
|
|
+ minute.cronEvery = '2'
|
|
|
+ minute.incrementStart = val.split('/')[0]
|
|
|
+ minute.incrementIncrement = val.split('/')[1]
|
|
|
+ break
|
|
|
+ case val.includes(','):
|
|
|
+ minute.cronEvery = '3'
|
|
|
+ minute.specificSpecific = val.split(',').map(Number).sort()
|
|
|
+ break
|
|
|
+ case val.includes('-'):
|
|
|
+ minute.cronEvery = '4'
|
|
|
+ minute.rangeStart = val.split('-')[0]
|
|
|
+ minute.rangeEnd = val.split('-')[1]
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ minute.cronEvery = '1'
|
|
|
+ }
|
|
|
+ this.result.minute = minute
|
|
|
+ },
|
|
|
+ hoursReverseExp(hours) {
|
|
|
+ let val = hours.split(' ')[2]
|
|
|
+ let hour = {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 3,
|
|
|
+ incrementIncrement: 5,
|
|
|
+ rangeStart: 1,
|
|
|
+ rangeEnd: '0',
|
|
|
+ specificSpecific: [],
|
|
|
+ }
|
|
|
+ switch (true) {
|
|
|
+ case val.includes('*'):
|
|
|
+ hour.cronEvery = '1'
|
|
|
+ break
|
|
|
+ case val.includes('/'):
|
|
|
+ hour.cronEvery = '2'
|
|
|
+ hour.incrementStart = val.split('/')[0]
|
|
|
+ hour.incrementIncrement = val.split('/')[1]
|
|
|
+ break
|
|
|
+ case val.includes(','):
|
|
|
+ hour.cronEvery = '3'
|
|
|
+ hour.specificSpecific = val.split(',').map(Number).sort()
|
|
|
+ break
|
|
|
+ case val.includes('-'):
|
|
|
+ hour.cronEvery = '4'
|
|
|
+ hour.rangeStart = val.split('-')[0]
|
|
|
+ hour.rangeEnd = val.split('-')[1]
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ hour.cronEvery = '1'
|
|
|
+ }
|
|
|
+ this.result.hour = hour
|
|
|
+ },
|
|
|
+ daysReverseExp(cron) {
|
|
|
+ let days = cron.split(' ')[3]
|
|
|
+ let weeks = cron.split(' ')[5]
|
|
|
+ let day = {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 1,
|
|
|
+ incrementIncrement: 1,
|
|
|
+ rangeStart: 1,
|
|
|
+ rangeEnd: 1,
|
|
|
+ specificSpecific: [],
|
|
|
+ cronLastSpecificDomDay: 1,
|
|
|
+ cronDaysBeforeEomMinus: 1,
|
|
|
+ cronDaysNearestWeekday: 1,
|
|
|
+ }
|
|
|
+ let week = {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 1,
|
|
|
+ incrementIncrement: 1,
|
|
|
+ specificSpecific: [],
|
|
|
+ cronNthDayDay: 1,
|
|
|
+ cronNthDayNth: '1',
|
|
|
+ }
|
|
|
+ if (!days.includes('?')) {
|
|
|
switch (true) {
|
|
|
- case val.includes('*'):
|
|
|
- minute.cronEvery = '1';
|
|
|
- break;
|
|
|
- case val.includes('/'):
|
|
|
- minute.cronEvery = '2';
|
|
|
- minute.incrementStart = val.split('/')[0];
|
|
|
- minute.incrementIncrement = val.split('/')[1];
|
|
|
- break;
|
|
|
- case val.includes(','):
|
|
|
- minute.cronEvery = '3';
|
|
|
- minute.specificSpecific = val.split(',').map(Number).sort();
|
|
|
- break;
|
|
|
- case val.includes('-'):
|
|
|
- minute.cronEvery = '4';
|
|
|
- minute.rangeStart = val.split('-')[0];
|
|
|
- minute.rangeEnd = val.split('-')[1];
|
|
|
- break;
|
|
|
+ case days.includes('*'):
|
|
|
+ day.cronEvery = '1'
|
|
|
+ break
|
|
|
+ case days.includes('?'):
|
|
|
+ // 2、4、11
|
|
|
+ break
|
|
|
+ case days.includes('/'):
|
|
|
+ day.cronEvery = '3'
|
|
|
+ day.incrementStart = days.split('/')[0]
|
|
|
+ day.incrementIncrement = days.split('/')[1]
|
|
|
+ break
|
|
|
+ case days.includes(','):
|
|
|
+ day.cronEvery = '5'
|
|
|
+ day.specificSpecific = days.split(',').map(Number).sort()
|
|
|
+ // day.specificSpecific.forEach(function (value, index) {
|
|
|
+ // day.specificSpecific[index] = value -1;
|
|
|
+ // });
|
|
|
+ break
|
|
|
+ case days.includes('LW'):
|
|
|
+ day.cronEvery = '7'
|
|
|
+ break
|
|
|
+ case days.includes('L-'):
|
|
|
+ day.cronEvery = '9'
|
|
|
+ day.cronDaysBeforeEomMinus = days.split('L-')[1]
|
|
|
+ break
|
|
|
+ case days.includes('L'):
|
|
|
+ //alert(days);
|
|
|
+ if (days.len == 1) {
|
|
|
+ day.cronEvery = '6'
|
|
|
+ day.cronLastSpecificDomDay = '1'
|
|
|
+ } else {
|
|
|
+ day.cronEvery = '8'
|
|
|
+ day.cronLastSpecificDomDay = Number(days.split('L')[0])
|
|
|
+ }
|
|
|
+ break
|
|
|
+ case days.includes('W'):
|
|
|
+ day.cronEvery = '10'
|
|
|
+ day.cronDaysNearestWeekday = days.split('W')[0]
|
|
|
+ break
|
|
|
default:
|
|
|
- minute.cronEvery = '1';
|
|
|
+ day.cronEvery = '1'
|
|
|
}
|
|
|
- this.result.minute = minute;
|
|
|
- },
|
|
|
- hoursReverseExp(hours) {
|
|
|
- let val = hours.split(" ")[2];
|
|
|
- let hour ={
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:3,
|
|
|
- incrementIncrement:5,
|
|
|
- rangeStart:1,
|
|
|
- rangeEnd:'0',
|
|
|
- specificSpecific:[],
|
|
|
- };
|
|
|
+ } else {
|
|
|
switch (true) {
|
|
|
- case val.includes('*'):
|
|
|
- hour.cronEvery = '1';
|
|
|
- break;
|
|
|
- case val.includes('/'):
|
|
|
- hour.cronEvery = '2';
|
|
|
- hour.incrementStart = val.split('/')[0];
|
|
|
- hour.incrementIncrement = val.split('/')[1];
|
|
|
- break;
|
|
|
- case val.includes(','):
|
|
|
- hour.cronEvery = '3';
|
|
|
- hour.specificSpecific = val.split(',').map(Number).sort();
|
|
|
- break;
|
|
|
- case val.includes('-'):
|
|
|
- hour.cronEvery = '4';
|
|
|
- hour.rangeStart = val.split('-')[0];
|
|
|
- hour.rangeEnd = val.split('-')[1];
|
|
|
- break;
|
|
|
- default:
|
|
|
- hour.cronEvery = '1';
|
|
|
- }
|
|
|
- this.result.hour = hour;
|
|
|
- },
|
|
|
- daysReverseExp(cron) {
|
|
|
- let days = cron.split(" ")[3];
|
|
|
- let weeks = cron.split(" ")[5];
|
|
|
- let day ={
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:1,
|
|
|
- incrementIncrement:1,
|
|
|
- rangeStart:1,
|
|
|
- rangeEnd:1,
|
|
|
- specificSpecific:[],
|
|
|
- cronLastSpecificDomDay:1,
|
|
|
- cronDaysBeforeEomMinus:1,
|
|
|
- cronDaysNearestWeekday:1,
|
|
|
- };
|
|
|
- let week = {
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:1,
|
|
|
- incrementIncrement:1,
|
|
|
- specificSpecific:[],
|
|
|
- cronNthDayDay:1,
|
|
|
- cronNthDayNth:'1',
|
|
|
- };
|
|
|
- if (!days.includes('?')) {
|
|
|
- switch (true) {
|
|
|
- case days.includes('*'):
|
|
|
- day.cronEvery = '1';
|
|
|
- break;
|
|
|
- case days.includes('?'):
|
|
|
- // 2、4、11
|
|
|
- break;
|
|
|
- case days.includes('/'):
|
|
|
- day.cronEvery = '3';
|
|
|
- day.incrementStart = days.split('/')[0];
|
|
|
- day.incrementIncrement = days.split('/')[1];
|
|
|
- break;
|
|
|
- case days.includes(','):
|
|
|
- day.cronEvery = '5';
|
|
|
- day.specificSpecific = days.split(',').map(Number).sort();
|
|
|
- // day.specificSpecific.forEach(function (value, index) {
|
|
|
- // day.specificSpecific[index] = value -1;
|
|
|
- // });
|
|
|
- break;
|
|
|
- case days.includes('LW'):
|
|
|
- day.cronEvery = '7';
|
|
|
- break;
|
|
|
- case days.includes('L-'):
|
|
|
- day.cronEvery = '9';
|
|
|
- day.cronDaysBeforeEomMinus = days.split('L-')[1];
|
|
|
- break;
|
|
|
- case days.includes('L'):
|
|
|
-
|
|
|
- //alert(days);
|
|
|
- if(days.len == 1){
|
|
|
- day.cronEvery = '6';
|
|
|
- day.cronLastSpecificDomDay = '1';
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- day.cronEvery = '8';
|
|
|
- day.cronLastSpecificDomDay = Number(days.split('L')[0]);
|
|
|
- }
|
|
|
- break;
|
|
|
- case days.includes('W'):
|
|
|
- day.cronEvery = '10';
|
|
|
- day.cronDaysNearestWeekday = days.split('W')[0];
|
|
|
- break;
|
|
|
- default:
|
|
|
- day.cronEvery = '1';
|
|
|
- }
|
|
|
- }else {
|
|
|
- switch (true){
|
|
|
- case weeks.includes('/'):
|
|
|
- day.cronEvery = '2';
|
|
|
- week.incrementStart = weeks.split("/")[0];
|
|
|
- week.incrementIncrement = weeks.split("/")[1];
|
|
|
- break;
|
|
|
- case weeks.includes(','):
|
|
|
- day.cronEvery = '4';
|
|
|
- week.specificSpecific = weeks.split(',').map(Number).sort();
|
|
|
- break;
|
|
|
- case '#':
|
|
|
- day.cronEvery = '11';
|
|
|
- week.cronNthDayDay = weeks.split("#")[0];
|
|
|
- week.cronNthDayNth = weeks.split("#")[1];
|
|
|
- break;
|
|
|
- default:
|
|
|
- day.cronEvery = '1';
|
|
|
- week.cronEvery = '1';
|
|
|
- }
|
|
|
- }
|
|
|
- this.result.day = day;
|
|
|
- this.result.week = week;
|
|
|
- },
|
|
|
- monthsReverseExp(cron) {
|
|
|
- let months = cron.split(" ")[4];
|
|
|
- let month = {
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:3,
|
|
|
- incrementIncrement:5,
|
|
|
- rangeStart:1,
|
|
|
- rangeEnd:1,
|
|
|
- specificSpecific:[],
|
|
|
- };
|
|
|
- switch (true){
|
|
|
- case months.includes('*'):
|
|
|
- month.cronEvery = '1';
|
|
|
- break;
|
|
|
- case months.includes('/'):
|
|
|
- month.cronEvery = '2';
|
|
|
- month.incrementStart = months.split('/')[0];
|
|
|
- month.incrementIncrement = months.split('/')[1];
|
|
|
- break;
|
|
|
- case months.includes(','):
|
|
|
- month.cronEvery = '3';
|
|
|
- month.specificSpecific = months.split(',').map(Number).sort();
|
|
|
- break;
|
|
|
- case months.includes('-'):
|
|
|
- month.cronEvery = '4';
|
|
|
- month.rangeStart = months.split('-')[0];
|
|
|
- month.rangeEnd = months.split('-')[1];
|
|
|
- break;
|
|
|
- default:
|
|
|
- month.cronEvery = '1';
|
|
|
- }
|
|
|
- this.result.month = month;
|
|
|
- },
|
|
|
- yearReverseExp(cron) {
|
|
|
- let years = cron.split(" ")[6];
|
|
|
- let year = {
|
|
|
- cronEvery:'',
|
|
|
- incrementStart:3,
|
|
|
- incrementIncrement:5,
|
|
|
- rangeStart:2019,
|
|
|
- rangeEnd:2019,
|
|
|
- specificSpecific:[],
|
|
|
- };
|
|
|
- switch (true){
|
|
|
- case years.includes('*'):
|
|
|
- year.cronEvery = '1';
|
|
|
- break;
|
|
|
- case years.includes('/'):
|
|
|
- year.cronEvery = '2';
|
|
|
- year.incrementStart = years.split('/')[0];
|
|
|
- year.incrementIncrement = years.split('/')[1];
|
|
|
- break;
|
|
|
- case years.includes(','):
|
|
|
- year.cronEvery = '3';
|
|
|
- year.specificSpecific = years.split(',').map(Number).sort();
|
|
|
- break;
|
|
|
- case years.includes('-'):
|
|
|
- year.cronEvery = '4';
|
|
|
- year.rangeStart = years.split('-')[0];
|
|
|
- year.rangeEnd = years.split('-')[1];
|
|
|
- break;
|
|
|
+ case weeks.includes('/'):
|
|
|
+ day.cronEvery = '2'
|
|
|
+ week.incrementStart = weeks.split('/')[0]
|
|
|
+ week.incrementIncrement = weeks.split('/')[1]
|
|
|
+ break
|
|
|
+ case weeks.includes(','):
|
|
|
+ day.cronEvery = '4'
|
|
|
+ week.specificSpecific = weeks.split(',').map(Number).sort()
|
|
|
+ break
|
|
|
+ case '#':
|
|
|
+ day.cronEvery = '11'
|
|
|
+ week.cronNthDayDay = weeks.split('#')[0]
|
|
|
+ week.cronNthDayNth = weeks.split('#')[1]
|
|
|
+ break
|
|
|
default:
|
|
|
- year.cronEvery = '1';
|
|
|
+ day.cronEvery = '1'
|
|
|
+ week.cronEvery = '1'
|
|
|
}
|
|
|
- this.result.year = year;
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
+ this.result.day = day
|
|
|
+ this.result.week = week
|
|
|
+ },
|
|
|
+ monthsReverseExp(cron) {
|
|
|
+ let months = cron.split(' ')[4]
|
|
|
+ let month = {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 3,
|
|
|
+ incrementIncrement: 5,
|
|
|
+ rangeStart: 1,
|
|
|
+ rangeEnd: 1,
|
|
|
+ specificSpecific: [],
|
|
|
+ }
|
|
|
+ switch (true) {
|
|
|
+ case months.includes('*'):
|
|
|
+ month.cronEvery = '1'
|
|
|
+ break
|
|
|
+ case months.includes('/'):
|
|
|
+ month.cronEvery = '2'
|
|
|
+ month.incrementStart = months.split('/')[0]
|
|
|
+ month.incrementIncrement = months.split('/')[1]
|
|
|
+ break
|
|
|
+ case months.includes(','):
|
|
|
+ month.cronEvery = '3'
|
|
|
+ month.specificSpecific = months.split(',').map(Number).sort()
|
|
|
+ break
|
|
|
+ case months.includes('-'):
|
|
|
+ month.cronEvery = '4'
|
|
|
+ month.rangeStart = months.split('-')[0]
|
|
|
+ month.rangeEnd = months.split('-')[1]
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ month.cronEvery = '1'
|
|
|
+ }
|
|
|
+ this.result.month = month
|
|
|
+ },
|
|
|
+ yearReverseExp(cron) {
|
|
|
+ let years = cron.split(' ')[6]
|
|
|
+ let year = {
|
|
|
+ cronEvery: '',
|
|
|
+ incrementStart: 3,
|
|
|
+ incrementIncrement: 5,
|
|
|
+ rangeStart: 2019,
|
|
|
+ rangeEnd: 2019,
|
|
|
+ specificSpecific: [],
|
|
|
+ }
|
|
|
+ switch (true) {
|
|
|
+ case years.includes('*'):
|
|
|
+ year.cronEvery = '1'
|
|
|
+ break
|
|
|
+ case years.includes('/'):
|
|
|
+ year.cronEvery = '2'
|
|
|
+ year.incrementStart = years.split('/')[0]
|
|
|
+ year.incrementIncrement = years.split('/')[1]
|
|
|
+ break
|
|
|
+ case years.includes(','):
|
|
|
+ year.cronEvery = '3'
|
|
|
+ year.specificSpecific = years.split(',').map(Number).sort()
|
|
|
+ break
|
|
|
+ case years.includes('-'):
|
|
|
+ year.cronEvery = '4'
|
|
|
+ year.rangeStart = years.split('-')[0]
|
|
|
+ year.rangeEnd = years.split('-')[1]
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ year.cronEvery = '1'
|
|
|
+ }
|
|
|
+ this.result.year = year
|
|
|
+ },
|
|
|
+ },
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style lang="less">
|
|
|
- .card-container {
|
|
|
- background: #fff;
|
|
|
- overflow: hidden;
|
|
|
- padding: 12px;
|
|
|
- position: relative;
|
|
|
- width: 100%;
|
|
|
- .ant-tabs{
|
|
|
- border:1px solid #e6ebf5;
|
|
|
- padding: 0;
|
|
|
- .ant-tabs-bar {
|
|
|
+.card-container {
|
|
|
+ background: #fff;
|
|
|
+ overflow: hidden;
|
|
|
+ padding: 12px;
|
|
|
+ position: relative;
|
|
|
+ width: 100%;
|
|
|
+ .ant-tabs {
|
|
|
+ border: 1px solid #e6ebf5;
|
|
|
+ padding: 0;
|
|
|
+ .ant-tabs-bar {
|
|
|
+ margin: 0;
|
|
|
+ outline: none;
|
|
|
+ border-bottom: none;
|
|
|
+ .ant-tabs-nav-container {
|
|
|
margin: 0;
|
|
|
- outline: none;
|
|
|
- border-bottom: none;
|
|
|
- .ant-tabs-nav-container{
|
|
|
- margin: 0;
|
|
|
- .ant-tabs-tab {
|
|
|
- padding: 0 24px!important;
|
|
|
- background-color: #f5f7fa!important;
|
|
|
- margin-right: 0px!important;
|
|
|
- border-radius: 0;
|
|
|
- line-height: 38px;
|
|
|
- border: 1px solid transparent!important;
|
|
|
- border-bottom: 1px solid #e6ebf5!important;
|
|
|
- }
|
|
|
- .ant-tabs-tab-active.ant-tabs-tab{
|
|
|
- color: #409eff;
|
|
|
- background-color: #fff!important;
|
|
|
- border-right:1px solid #e6ebf5!important;
|
|
|
- border-left:1px solid #e6ebf5!important;
|
|
|
- border-bottom:1px solid #fff!important;
|
|
|
- font-weight: normal;
|
|
|
- transition:none!important;
|
|
|
- }
|
|
|
+ .ant-tabs-tab {
|
|
|
+ padding: 0 24px !important;
|
|
|
+ background-color: #f5f7fa !important;
|
|
|
+ margin-right: 0px !important;
|
|
|
+ border-radius: 0;
|
|
|
+ line-height: 38px;
|
|
|
+ border: 1px solid transparent !important;
|
|
|
+ border-bottom: 1px solid #e6ebf5 !important;
|
|
|
}
|
|
|
- }
|
|
|
- .ant-tabs-tabpane{
|
|
|
- padding: 15px;
|
|
|
- .ant-row{
|
|
|
- margin: 10px 0;
|
|
|
- }
|
|
|
- .ant-select,.ant-input-number{
|
|
|
- width: 100px;
|
|
|
+ .ant-tabs-tab-active.ant-tabs-tab {
|
|
|
+ color: #409eff;
|
|
|
+ background-color: #fff !important;
|
|
|
+ border-right: 1px solid #e6ebf5 !important;
|
|
|
+ border-left: 1px solid #e6ebf5 !important;
|
|
|
+ border-bottom: 1px solid #fff !important;
|
|
|
+ font-weight: normal;
|
|
|
+ transition: none !important;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ .ant-tabs-tabpane {
|
|
|
+ padding: 15px;
|
|
|
+ .ant-row {
|
|
|
+ margin: 10px 0;
|
|
|
+ }
|
|
|
+ .ant-select,
|
|
|
+ .ant-input-number {
|
|
|
+ width: 100px;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+}
|
|
|
</style>
|
|
|
<style lang="less" scoped>
|
|
|
- .container-widthEn{
|
|
|
- width: 755px;
|
|
|
- }
|
|
|
- .container-widthCn{
|
|
|
- width: 608px;
|
|
|
- }
|
|
|
- .language{
|
|
|
- text-align: center;
|
|
|
- position: absolute;
|
|
|
- right: 13px;
|
|
|
- top: 13px;
|
|
|
- border: 1px solid transparent;
|
|
|
- height: 40px;
|
|
|
- line-height: 38px;
|
|
|
- font-size: 16px;
|
|
|
- color: #409eff;
|
|
|
- z-index: 1;
|
|
|
- background: #f5f7fa;
|
|
|
- outline: none;
|
|
|
- width: 47px;
|
|
|
- border-bottom: 1px solid #e6ebf5;
|
|
|
- border-radius: 0;
|
|
|
- }
|
|
|
- .card-container{
|
|
|
- .bottom{
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- padding: 10px 0 0 0;
|
|
|
- .cronButton{
|
|
|
- margin: 0 10px;
|
|
|
- line-height: 40px;
|
|
|
- }
|
|
|
+.container-widthEn {
|
|
|
+ width: 755px;
|
|
|
+}
|
|
|
+.container-widthCn {
|
|
|
+ width: 608px;
|
|
|
+}
|
|
|
+.language {
|
|
|
+ text-align: center;
|
|
|
+ position: absolute;
|
|
|
+ right: 13px;
|
|
|
+ top: 13px;
|
|
|
+ border: 1px solid transparent;
|
|
|
+ height: 40px;
|
|
|
+ line-height: 38px;
|
|
|
+ font-size: 16px;
|
|
|
+ color: #409eff;
|
|
|
+ z-index: 1;
|
|
|
+ background: #f5f7fa;
|
|
|
+ outline: none;
|
|
|
+ width: 47px;
|
|
|
+ border-bottom: 1px solid #e6ebf5;
|
|
|
+ border-radius: 0;
|
|
|
+}
|
|
|
+.card-container {
|
|
|
+ .bottom {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ padding: 10px 0 0 0;
|
|
|
+ .cronButton {
|
|
|
+ margin: 0 10px;
|
|
|
+ line-height: 40px;
|
|
|
}
|
|
|
}
|
|
|
- .tabBody{
|
|
|
- .a-row{
|
|
|
- margin: 10px 0;
|
|
|
- .long{
|
|
|
- .a-select{
|
|
|
- width:354px;
|
|
|
- }
|
|
|
- }
|
|
|
- .a-input-number{
|
|
|
- width: 110px;
|
|
|
+}
|
|
|
+.tabBody {
|
|
|
+ .a-row {
|
|
|
+ margin: 10px 0;
|
|
|
+ .long {
|
|
|
+ .a-select {
|
|
|
+ width: 354px;
|
|
|
}
|
|
|
}
|
|
|
+ .a-input-number {
|
|
|
+ width: 110px;
|
|
|
+ }
|
|
|
}
|
|
|
+}
|
|
|
</style>
|