|  |  |  | 
|---|
|  |  |  | :label="item.label || '选择日期'"> | 
|---|
|  |  |  | <el-date-picker v-model="searchForm[item.filed]" format="yyyy-MM-dd HH:mm:ss" | 
|---|
|  |  |  | value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" | 
|---|
|  |  |  | :default-time="['00:00:00', '23:59:59']" | 
|---|
|  |  |  | :picker-options="item.pickerOptions || pickerOptions" range-separator="至" | 
|---|
|  |  |  | :clearable="(item.clearable !== null && item.clearable !== undefined && item.clearable !== '') ? item.clearable : true" | 
|---|
|  |  |  | :start-placeholder="item.start || '开始时间'" :end-placeholder="item.end || '结束时间'" class="w400" | 
|---|
|  |  |  | 
|---|
|  |  |  | default: () => { } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | data () { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | showZk: false, | 
|---|
|  |  |  | pickerOptions: { | 
|---|
|  |  |  | shortcuts: [{ | 
|---|
|  |  |  | text: '近7天', | 
|---|
|  |  |  | onClick(picker) { | 
|---|
|  |  |  | onClick (picker) { | 
|---|
|  |  |  | const end = new Date() | 
|---|
|  |  |  | const start = new Date() | 
|---|
|  |  |  | start.setTime(end.getTime() - 3600 * 1000 * 24 * 6) | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | text: '近30天', | 
|---|
|  |  |  | onClick(picker) { | 
|---|
|  |  |  | onClick (picker) { | 
|---|
|  |  |  | const end = new Date() | 
|---|
|  |  |  | const start = new Date() | 
|---|
|  |  |  | start.setTime(end.getTime() - 3600 * 1000 * 24 * 29) | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | text: '近60天', | 
|---|
|  |  |  | onClick(picker) { | 
|---|
|  |  |  | onClick (picker) { | 
|---|
|  |  |  | const end = new Date() | 
|---|
|  |  |  | const start = new Date() | 
|---|
|  |  |  | start.setTime(end.getTime() - 3600 * 1000 * 24 * 59) | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | text: '近90天', | 
|---|
|  |  |  | onClick(picker) { | 
|---|
|  |  |  | onClick (picker) { | 
|---|
|  |  |  | const end = new Date() | 
|---|
|  |  |  | const start = new Date() | 
|---|
|  |  |  | start.setTime(end.getTime() - 3600 * 1000 * 24 * 89) | 
|---|
|  |  |  | picker.$emit('pick', [start, end]) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }], | 
|---|
|  |  |  | disabledDate(time) { | 
|---|
|  |  |  | disabledDate (time) { | 
|---|
|  |  |  | var curDate = new Date(new Date().toLocaleDateString()).getTime() | 
|---|
|  |  |  | var preDate = new Date(curDate + 24 * 60 * 60 * 1000 - 1) | 
|---|
|  |  |  | return time.getTime() > preDate | 
|---|
|  |  |  | 
|---|
|  |  |  | emits: ['input', 'handleQuery', 'clear'], | 
|---|
|  |  |  | computed: { | 
|---|
|  |  |  | searchForm: { | 
|---|
|  |  |  | get() { | 
|---|
|  |  |  | get () { | 
|---|
|  |  |  | return this.value | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | set(value) { | 
|---|
|  |  |  | set (value) { | 
|---|
|  |  |  | this.$emit('input', value) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | handleQuery() { | 
|---|
|  |  |  | handleQuery () { | 
|---|
|  |  |  | this.$emit('handleQuery') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | handlekeyup(pd) { | 
|---|
|  |  |  | handlekeyup (pd) { | 
|---|
|  |  |  | if (pd) { | 
|---|
|  |  |  | this.$emit('handleQuery') | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeForm(filed) { | 
|---|
|  |  |  | changeForm (filed) { | 
|---|
|  |  |  | this.$emit('changeForm', filed) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | zkBtn() { | 
|---|
|  |  |  | zkBtn () { | 
|---|
|  |  |  | this.showZk = !this.showZk | 
|---|
|  |  |  | this.$emit('zkBtn', this.zk) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | clear() { | 
|---|
|  |  |  | clear () { | 
|---|
|  |  |  | this.$emit('clear') | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | border-bottom: 10px solid #f7f8f9; | 
|---|
|  |  |  | margin: 0 -30px; | 
|---|
|  |  |  | padding: 0 0 0 30px; | 
|---|
|  |  |  | margin: 0 -20px; | 
|---|
|  |  |  | padding: 0 0 0 20px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .el-input, | 
|---|
|  |  |  | .el-select { | 
|---|