{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Mobile\\components\\VanDatePicker.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Mobile\\components\\VanDatePicker.vue","mtime":1687169259507},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-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//\n//\n//\n//\n//\n//\n\r\nimport Vue from 'vue'\r\nimport {Field, Picker, Popup} from 'vant'\r\nVue.use(Field)\r\n .use(Picker)\r\n .use(Popup)\r\n\r\nexport default {\r\n name: 'VanDatePicker',\r\n props: {\r\n value: {\r\n type: Date,\r\n default: () => new Date()\r\n },\r\n minDate: {\r\n type: Date,\r\n default: () => new Date(new Date().getFullYear() - 5, 0, 1)\r\n },\r\n maxDate: {\r\n type: Date,\r\n default: () => new Date(new Date().getFullYear() + 5, 0, 1)\r\n },\r\n showToolbar: {\r\n type: Boolean,\r\n default: () => false\r\n },\r\n title: {\r\n type: String,\r\n default: () => ''\r\n },\r\n confirmButtonText: {\r\n type: String,\r\n default: () => '确认'\r\n },\r\n cancelButtonText: {\r\n type: String,\r\n default: () => '取消'\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: () => false\r\n },\r\n readonly: {\r\n type: Boolean,\r\n default: () => false\r\n },\r\n itemHeight: {\r\n type: Number || String,\r\n default: () => 44\r\n },\r\n visibleItemCount: {\r\n type: Number || String,\r\n default: () => 6\r\n },\r\n swipeDuration: {\r\n type: Number || String,\r\n default: () => 1000\r\n }\r\n },\r\n data() {\r\n return {\r\n monthArr: [\r\n '01',\r\n '02',\r\n '03',\r\n '04',\r\n '05',\r\n '06',\r\n '07',\r\n '08',\r\n '09',\r\n '10',\r\n '11',\r\n '12'\r\n ]\r\n // dayArr: [\r\n // '01',\r\n // '02',\r\n // '03',\r\n // '04',\r\n // '05',\r\n // '06',\r\n // '07',\r\n // '08',\r\n // '09',\r\n // '10',\r\n // '11',\r\n // '12',\r\n // '13',\r\n // '14',\r\n // '15',\r\n // '16',\r\n // '17',\r\n // '18',\r\n // '19',\r\n // '20',\r\n // '21',\r\n // '22',\r\n // '23',\r\n // '24',\r\n // '25',\r\n // '26',\r\n // '27',\r\n // '28',\r\n // '29',\r\n // '30',\r\n // '31'\r\n // ]\r\n }\r\n },\r\n\r\n computed: {\r\n columns: function() {\r\n let minYear = this.minDate.getFullYear()\r\n let maxYear = this.maxDate.getFullYear()\r\n let year = this.value.getFullYear()\r\n let month = this.value.getMonth()\r\n let day = this.value.getDate()\r\n let yearArr = []\r\n let i = 0\r\n while (i < maxYear - minYear + 1) {\r\n yearArr.unshift(maxYear - i + '')\r\n i++\r\n }\r\n let columns = [\r\n {\r\n values: yearArr,\r\n defaultIndex: Math.floor(year) - minYear\r\n },\r\n {\r\n values: this.monthArr,\r\n defaultIndex: Math.floor(month)\r\n },\r\n // {\r\n // values: this.dayArr,\r\n // defaultIndex: Math.floor(day - 1)\r\n // },\r\n {\r\n values: ['-']\r\n },\r\n {\r\n values: yearArr,\r\n defaultIndex: Math.floor(year) - minYear\r\n },\r\n {\r\n values: this.monthArr,\r\n defaultIndex: Math.floor(month)\r\n }\r\n // {\r\n // values: this.dayArr,\r\n // defaultIndex: Math.floor(day - 1)\r\n // }\r\n ]\r\n return columns\r\n }\r\n },\r\n\r\n watch: {},\r\n\r\n methods: {\r\n onConfirm(value, index) {\r\n // console.log(`当前值:${value}, 当前索引:${index}`);\r\n this.$emit('confirm', value, index)\r\n },\r\n onChange(picker, value, index) {\r\n // console.log(`当前值:${value}, 当前索引:${index}`);\r\n let _this = this\r\n\r\n let minMonth = this.minDate.getMonth()\r\n let minDay = this.minDate.getDate()\r\n let maxMonth = this.maxDate.getMonth()\r\n let maxDay = this.maxDate.getDate()\r\n let d = new Date(value[0], value[1], 0)\r\n\r\n setDate(0)\r\n setDate(4)\r\n function setDate(i) {\r\n //最小年份\r\n if (value[i] - 0 === _this.minDate.getFullYear()) {\r\n picker.setColumnValues(i + 1, _this.monthArr.slice(minMonth))\r\n let strMinM = ''\r\n if (minMonth < 9) {\r\n strMinM = '0' + (minMonth + 1)\r\n } else {\r\n strMinM = strMinM + 1 + ''\r\n }\r\n picker.setColumnValue(\r\n i + 1,\r\n value[i + 1] - 1 < minMonth ? strMinM : value[i + 1]\r\n )\r\n\r\n if (index === i && value[i + 1] - 1 < minMonth) {\r\n // picker.setColumnValues(\r\n // i + 2,\r\n // _this.dayArr.slice(minDay - 1, d.getDate())\r\n // )\r\n picker.setColumnValue(\r\n i + 2,\r\n value[i + 2] < minDay ? minDay.toString() : value[i + 2]\r\n )\r\n } else {\r\n if (value[i + 1] - 1 === _this.minDate.getMonth()) {\r\n // picker.setColumnValues(\r\n // i + 2,\r\n // _this.dayArr.slice(minDay - 1, d.getDate())\r\n // )\r\n picker.setColumnValue(\r\n i + 2,\r\n value[i + 2] < minDay ? minDay.toString() : value[i + 2]\r\n )\r\n } else {\r\n // picker.setColumnValues(i + 2, _this.dayArr.slice(0, d.getDate()))\r\n picker.setColumnValue(\r\n i + 2,\r\n value[i + 2] > d.getDate()\r\n ? d.getDate().toString()\r\n : value[i + 2]\r\n )\r\n }\r\n }\r\n }\r\n //最大年份\r\n else if (value[i] - 0 === _this.maxDate.getFullYear()) {\r\n picker.setColumnValues(i + 1, _this.monthArr.slice(0, maxMonth + 1))\r\n let strManM = ''\r\n if (maxMonth < 9) {\r\n strManM = '0' + (maxMonth + 1)\r\n } else {\r\n strManM = maxMonth + 1 + ''\r\n }\r\n picker.setColumnValue(\r\n i + 1,\r\n value[i + 1] - 1 > maxMonth ? strManM : value[i + 1]\r\n )\r\n if (index === i && value[i + 1] - 1 > maxMonth) {\r\n // picker.setColumnValues(i + 2, _this.dayArr.slice(0, maxDay))\r\n picker.setColumnValue(\r\n i + 2,\r\n value[i + 2] > maxDay ? maxDay.toString() : value[i + 2]\r\n )\r\n } else {\r\n if (value[i + 1] - 1 === _this.maxDate.getMonth()) {\r\n // picker.setColumnValues(i + 2, _this.dayArr.slice(0, maxDay))\r\n picker.setColumnValue(\r\n i + 2,\r\n value[i + 2] > maxDay ? maxDay.toString() : value[i + 2]\r\n )\r\n } else {\r\n // picker.setColumnValues(i + 2, _this.dayArr.slice(0, d.getDate()))\r\n picker.setColumnValue(\r\n i + 2,\r\n value[i + 2] > d.getDate()\r\n ? d.getDate().toString()\r\n : value[i + 2]\r\n )\r\n }\r\n }\r\n }\r\n //其他年份\r\n else {\r\n picker.setColumnValues(i + 1, _this.monthArr)\r\n picker.setColumnValue(i + 1, value[i + 1])\r\n // picker.setColumnValues(i + 2, _this.dayArr.slice(0, d.getDate()))\r\n picker.setColumnValue(\r\n i + 2,\r\n value[i + 2] > d.getDate() ? d.getDate().toString() : value[i + 2]\r\n )\r\n }\r\n }\r\n\r\n let finallyVal = picker.getValues()\r\n let len = Math.floor(finallyVal.length / 2)\r\n //开始时间不大于结束时间\r\n if (\r\n finallyVal.slice(0, len).join('') > finallyVal.slice(len + 1).join('')\r\n ) {\r\n picker.setValues([\r\n ...finallyVal.slice(0, len),\r\n '-',\r\n ...finallyVal.slice(0, len)\r\n ])\r\n if (\r\n new Date(\r\n finallyVal.slice(0, len).join('-') + ' 00:00:00'\r\n ).getTime() === this.maxDate.getTime()\r\n ) {\r\n console.log(111)\r\n picker.setColumnValues(5, _this.monthArr.slice(0, maxMonth + 1))\r\n // picker.setColumnValues(6, _this.dayArr.slice(0, maxDay))\r\n }\r\n }\r\n\r\n this.$emit('change', picker, finallyVal, index)\r\n },\r\n onCancel() {\r\n // console.log('取消');\r\n this.$emit('cancel')\r\n }\r\n }\r\n}\r\n",null]}