console
const mapWeeksOfyear = ({ year } = {}) => {
const nowYear = year ? year : moment().year();
const timestamp = (new Date()).valueOf()
let handleYear = moment(new Date(String(nowYear)));
const totalWeeks = handleYear.endOf('year').isoWeek();
const arryWeek = [];
let currentWeek = null;
for (let i = 1; i <= totalWeeks; i++) {
let startOf = handleYear.week(i).startOf('week').format('MM-DD');
let endOf = handleYear.week(i).endOf('week').format('MM-DD');
let ednyear = handleYear.week(i).endOf('week').format('YYYY');
let startValue = handleYear.week(i).startOf('week').valueOf();
let endValue = handleYear.week(i).endOf('week').valueOf();
if (startValue <= timestamp && endValue >= timestamp) {
currentWeek = i
}
arryWeek.push({
value: i,
name: `第${i}周 ${ednyear > nowYear ? nowYear + "-" + startOf : startOf} 至 ${ednyear > nowYear ? ednyear + "-" + endOf : endOf}`,
startTime: handleYear.week(i).startOf('week').format('YYYY-MM-DD'),
endTime: handleYear.week(i).endOf('week').format('YYYY-MM-DD'),
})
}
return { arryWeek, currentWeek }
}
var Main = {
data() {
return {
editRuleForm: {
manufacture_date:null,
},
editRules: {
manufacture_date: [
{required: true, message: "请输入生产日期", trigger: "blur"},
],
expire_date: [
{required: true, message: "请输入失效日期", trigger: "blur"},
],
}
}},
created() {
let weekdate = moment().startOf('week')
let start2 = moment(weekdate).subtract(7, 'days').format('YYYY-MM-DD')
let end2 = moment(weekdate).subtract(1, 'days').format('YYYY-MM-DD')
console.log(start2,end2);
console.log(this.venumerateDaysBetweenDates(start2, end2));
},
computed: {
},
methods: {
add() {
console.log("dddd");
let abc = mapWeeksOfyear();
console.log((abc))
},
venumerateDaysBetweenDates(startDate, endDate) {
var dates = [];
var currDate = moment(startDate).startOf('day');
dates.push(currDate.toDate());
var lastDate = moment(endDate).startOf('day');
while (currDate.add(1, 'days').diff(lastDate) < 0) {
dates.push(currDate.clone().toDate());
}
dates.push(lastDate.toDate());
return dates;
}
}
};
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
<script src="//unpkg.com/vue@2.6.14/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@2.15.7/lib/index.js"></script>
<script src="https://cdn.jsdelivr.net/npm/moment@2.29.1/moment.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/moment@2.29.1/locale/zh-cn.js"></script>
<div id="app">
<template>
<div>
<el-form>
<el-form-item label="生产日期" prop="manufacture_date"
:rules="editRuleForm.manufacture_date === null">
<el-date-picker
v-model="editRuleForm.manufacture_date"
type="date"
:value-format="'yyyy-MM-dd'"
placeholder="生产日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="失效日期" prop="expire_date"
:rules="editRuleForm.expire_date === null">
<el-date-picker
v-model="editRuleForm.expire_date"
type="date"
:value-format="'yyyy-MM-dd'"
placeholder="失效日期">
</el-date-picker>
</el-form-item>
</el-form>
</div>
</template>
</div>
@import url("//unpkg.com/element-ui@2.15.0/lib/theme-chalk/index.css");
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}