{"remainingRequest":"D:\\jenkins\\workspace\\bbsl-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bbsl-fvue\\src\\views\\stManager\\components\\components\\dataMoutnDay.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bbsl-fvue\\src\\views\\stManager\\components\\components\\dataMoutnDay.vue","mtime":1684458239606},{"path":"D:\\jenkins\\workspace\\bbsl-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\bbsl-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bbsl-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport moment from 'moment' // 导入日期插件\r\nexport default {\r\n props: {\r\n // 默认值\r\n dateDefault: {\r\n type: String\r\n },\r\n // 居中排列\r\n placeholder: {\r\n type: String,\r\n default: '选择日期'\r\n },\r\n // 默认年份,闰年\r\n year: {\r\n type: String,\r\n default: '2020'\r\n },\r\n // 宽度\r\n width: {\r\n type: String,\r\n default: ''\r\n },\r\n },\r\n data() {\r\n return {\r\n visible: false,\r\n monthShow: false,\r\n monthFormat: {\r\n 1: '一月',\r\n 2: '二月',\r\n 3: '三月',\r\n 4: '四月',\r\n 5: '五月',\r\n 6: '六月',\r\n 7: '七月',\r\n 8: '八月',\r\n 9: '九月',\r\n 10: '十月',\r\n 11: '十一月',\r\n 12: '十二月',\r\n },\r\n dateVal: '',\r\n monthVal: '',\r\n dayVal: ''\r\n }\r\n },\r\n computed: {\r\n getMonthFormat() {\r\n return this.monthVal ? this.monthFormat[Number(this.monthVal)] : ''\r\n },\r\n // 默认选中天\r\n activeDay() {\r\n return function (item) {\r\n return Number(this.dayVal) == item ? 'active' : ''\r\n }\r\n },\r\n // 默认选中月\r\n activeMonth() {\r\n return function (item) {\r\n return this.monthVal == item ? 'active' : ''\r\n }\r\n },\r\n // 获取当前月的天数\r\n getDays() {\r\n let days = 30\r\n const bigMonth = [1,3,5,7,8,10,12]\r\n if (this.monthVal && bigMonth.includes(Number(this.monthVal))) {\r\n days = 31\r\n } else if (this.monthVal && Number(this.monthVal) == 2) {\r\n days = 28\r\n if (Number(this.year) % 4 === 0) {\r\n \tdays = 29\r\n }\r\n }\r\n return days\r\n },\r\n // 获取月份\r\n getMonths() {\r\n let mon = []\r\n for(let m in this.monthFormat){\r\n mon.push({\r\n key: m < 10 ? '0' + m : '' + m,\r\n value: this.monthFormat[m]\r\n })\r\n }\r\n return mon\r\n }\r\n },\r\n watch: {\r\n dateDefault: {\r\n handler: function(newVal, oldVal) {\r\n if (newVal) {\r\n const defaultDate = this.year + '-' + this.dateDefault\r\n this.dateVal = moment(defaultDate).format('MM-DD')\r\n this.monthVal = moment(defaultDate).format('MM')\r\n this.dayVal = moment(defaultDate).format('DD')\r\n } else {\r\n this.dateVal = moment().format('MM-DD')\r\n this.monthVal = moment().format('MM')\r\n this.dayVal = moment().format('DD')\r\n this.$emit('update:date', this.dateVal)\r\n }\r\n },\r\n immediate: true // immediate选项可以开启首次赋值监听\r\n },\r\n visible: {\r\n handler: function(newVal, oldVal) {\r\n if (newVal) {\r\n if (this.dateDefault) {\r\n // 按照闰年来算,防止出现29号,算到1号\r\n const defaultDate = this.year + '-' + this.dateDefault\r\n this.dateVal = moment(defaultDate).format('MM-DD')\r\n this.monthVal = moment(defaultDate).format('MM')\r\n this.dayVal = moment(defaultDate).format('DD')\r\n } else {\r\n this.dateVal = moment().format('MM-DD')\r\n this.monthVal = moment().format('MM')\r\n this.dayVal = moment().format('DD')\r\n this.$emit('update:date', this.dateVal)\r\n }\r\n } else {\r\n this.monthShow = false\r\n }\r\n },\r\n immediate: true // immediate选项可以开启首次赋值监听\r\n }\r\n },\r\n methods: {\r\n dirClick(type) {\r\n if (type == 'left') {\r\n if (Number(this.monthVal) == 1) {\r\n this.monthVal = '12'\r\n } else {\r\n this.monthVal = moment(this.monthVal).subtract(1, 'M').format('MM')\r\n }\r\n }\r\n if (type == 'right') {\r\n if (Number(this.monthVal) == 12) {\r\n this.monthVal = '01'\r\n } else {\r\n this.monthVal = moment(this.monthVal).add(1, 'M').format('MM')\r\n }\r\n }\r\n\r\n // 默认选中\r\n let month = moment().format('MM'),day = moment().format('DD')\r\n if (this.dateDefault) {\r\n console.log(this.dateDefault)\r\n month = moment(this.dateDefault).format('MM')\r\n day = moment(this.dateDefault).format('DD')\r\n }\r\n if (month == this.monthVal) {\r\n this.dayVal = Number(day)\r\n } else {\r\n this.dayVal = ''\r\n }\r\n },\r\n monthTile() {\r\n this.monthShow = true\r\n },\r\n monthClick(month) {\r\n this.monthVal = month.key\r\n this.dirClick()\r\n this.monthShow = false\r\n },\r\n dayClick(item) {\r\n this.dayVal = item\r\n const day = this.dayVal < 10 ? '0' + this.dayVal : '' + this.dayVal\r\n const val = {\r\n day: day,\r\n month: this.monthVal,\r\n date: this.monthVal + '-' + day,\r\n }\r\n this.$emit('update:date', val.date)\r\n this.$emit('changeDay', val)\r\n this.visible = false\r\n }\r\n }\r\n}\r\n",null]}