123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- const App = getApp();
- const dateTimePicker = require('../../utils/datePicker.js')
- Component({
- options: {
- addGlobalClass: true,
- },
- /**
- * 组件的属性列表
- */
- properties: {
- params: {
- type: Object,
- value:{
- placeholder: '请选择时间',
- startDateTime: '',
- endDateTime: '',
- pText: ''
- }
- },
- },
- /**
- * 组件的初始数据
- */
- data: {
- dateTimeArray: null,
- dateTime: null,
- startDateTime: '',
- endDateTime: '',
- dateTimeWhole: '',
- },
- lifetimes: {
- attached: function () {
- this.setData({
- startDateTime: this.data.params.startDateTime,
- endDateTime: this.data.params.endDateTime
- })
- this.initData()
- }
- },
- pageLifetimes: {
- show: function() {
- this.setData({
- startDateTime: this.data.params.startDateTime,
- endDateTime: this.data.params.endDateTime
- })
- this.initData()
- },
- hide: function() {
- // 页面被隐藏
- },
- resize: function(size) {
- // 页面尺寸变化
- }
- },
- /**
- * 组件的方法列表
- */
- methods: {
- initData(date) {
- // 获取完整的年月日 时分秒,以及默认显示的数组
- this.data.unit = ['年', '月', '日', '时', '分']
- this.data.dateTimePicker = dateTimePicker.newDateTimePicker(this.data.startDateTime, this.data.endDateTime, this.data.params.pText)
- let obj = this.data.dateTimePicker.render();
- let lastArray = obj.dateTimeArray;
- let lastTime = obj.dateTime;
- for (let i = 0; i < lastArray.length; i++) {
- lastArray[i] = lastArray[i].map(m => m + this.data.unit[i])
- }
- this.data.dateTimeArray = lastArray
- this.data.dateTime = lastTime
- this.setData({
- dateTimeArray: this.data.dateTimeArray,
- dateTime: this.data.dateTime
- })
- },
- changeDateTime(e) {
- if(!e){
- this.setData({
- dateTimeWhole: '',
- "params.pText":''
- })
- this.triggerEvent('getDateString', this.data.dateTimeWhole)
- return;
- }
- this.data.dateTime = e.detail.value
- const year = this.data.dateTimeArray[0][this.data.dateTime[0]].replace(/年/, '')
- const month = this.data.dateTimeArray[1][this.data.dateTime[1]].replace(/月/, '')
- const day = this.data.dateTimeArray[2][this.data.dateTime[2]].replace(/日/, '')
- const hour = this.data.dateTimeArray[3][this.data.dateTime[3]].replace(/时/, '')
- const minute = this.data.dateTimeArray[4][this.data.dateTime[4]].replace(/分/, '')
- // const second = this.data.dateTimeArray[5][this.data.dateTime[4]].replace(/秒/, '')
- this.data.dateTimeWhole = `${year}-${month}-${day} ${hour}:${minute}`
- // this.data.dateTimeWhole = `${year}-${month}-${day}`
- this.setData({
- dateTimeWhole: this.data.dateTimeWhole,
- })
- // console.log(this.data.dateTimeWhole)
- this.triggerEvent('getDateString', this.data.dateTimeWhole)
- },
- changeDateTimeColumn(e) {
- const { column, value } = e.detail
- // this.$set(this.data.dateTime, column, value)
- let dateTimeTemp = 'dateTime['+column+']'
- this.setData({
- [dateTimeTemp]: value
- })
- this.data.dateTimePicker.setValue({ dateTimeArray: this.data.dateTimeArray, dateTime: this.data.dateTime })
- for (let i = 1; i < this.data.dateTime.length; i++) {
- if (column == i - 1) {
- for (let j = i; j < this.data.dateTime.length; j++) {
- // this.$set(this.data.dateTime, j, 0)
- let temp = 'dateTime['+j+']'
- this.setData({
- [temp]: 0
- })
- }
- }
- let arr = this.data.dateTimePicker.dispatch(i).map(m => m + this.data.unit[i])
- // this.$set(this.data.dateTimeArray, i, arr)
- let temp1 = 'dateTimeArray['+i+']'
- this.setData({
- [temp1]: arr
- })
- }
- this.setData({
- dateTimeArray: this.data.dateTimeArray,
- dateTime: this.data.dateTime
- })
- },
- }
- })
|