123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- const { formatTime } = require('../../utils/util')
- Component({
-
- properties: {
-
- type: {
- type: String,
- value: ''
- },
-
- placeholder: {
- type: Array,
- value: ['请选择']
- },
-
- list: {
- type: Array,
- value: []
- },
-
- rangeKey: {
- type: String,
- value: ''
- },
-
- index: {
- value: null
- },
-
- dateTime: {
- type: String,
- value: null
- },
- delay: {
- type: Number,
- value: null
- },
- isAudit:{
- type:Boolean,
- value:false
- }
- },
-
- data: {
- index: null,
- date: null,
- time: null,
- },
-
- lifetimes: {
- attached: function() {
- if(this.data.type === 'date-time' && this.data.dateTime === null) {
- this.getTime()
- }
- },
- detached: function() {
-
- },
- },
- observers:{
- "dateTime": function(dateTime) {
- if(this.data.type === 'date-time') {
- this.getTime()
- }
- }
- },
- methods: {
-
- getTime() {
- var { date, time, dateTime, delay } = this.data;
- var newDateTime = null;
- if (dateTime) {
- newDateTime = dateTime.replaceAll('-', '/');
- } else if(delay != null) {
- var nowDateTime = (Date.now()+delay);
- newDateTime = nowDateTime;
- } else {
- return
- }
- date = formatTime(newDateTime, 'YYYY-MM-DD');
- time = formatTime(newDateTime, 'HH:NN');
- this.setData({ date, time });
- if (date && time) {
- this.triggerEvent('change', (date+' '+time+':00'))
- }
- },
-
- chooseItem(e) {
- var { index } = this.data;
- index = e.detail.value
- this.setData({ index });
- this.triggerEvent('change', this.data.list[index] )
- },
-
- chooseDateTime(e) {
- var { date, time } = this.data
- switch (e.currentTarget.dataset.type) {
- case 'date':
- date = e.detail.value
- this.setData({ date })
- break;
- case 'time':
- time = e.detail.value
- this.setData({ time })
- break;
- default:
- break;
- };
- if (date && time) {
- this.triggerEvent('change', (date+' '+time+':00'))
- }
- }
- }
- })
|