123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398 |
- <template>
- <div>
- <!-- <div class="calendar">
- <div class="arrow">
- <i class="el-icon-arrow-left" @click="arrow('left')"></i>
- <i class="el-icon-arrow-right" @click="arrow('right')"></i>
- </div>
- <el-calendar v-model="value" :range="dateRange"></el-calendar>
- </div> -->
- <!-- 下面的日历 -->
- <div class="date">
- <div class="arrow0">
- <i class="el-icon-arrow-left" @click="weekPre"></i>
- <i class="el-icon-arrow-right" @click="weekNext"></i>
- </div>
- <!-- 年份 月份 -->
- <div class="month">
- <p>{{ currentYear }}年{{ currentMonth }}月</p>
- </div>
- <!-- 星期 -->
- <ul class="weekdays">
- <li>一</li>
- <li>二</li>
- <li>三</li>
- <li>四</li>
- <li>五</li>
- <li>六</li>
- <li>日</li>
- </ul>
- <!-- 日期 -->
- <ul class="days">
- <li @click="pick(day)" v-for="(day, index) in days" :key="index">
- <!--本月-->
- <span v-if="day.getMonth() + 1 != currentMonth" class="other-month">{{ day.getDate() }}</span>
- <span v-else>
- <!--今天-->
- <span
- v-if="day.getFullYear() == new Date().getFullYear() && day.getMonth() == new Date().getMonth() && day.getDate() == new Date().getDate()"
- class="active">{{ day.getDate() }}</span>
- <span v-else>{{ day.getDate() }}</span>
- </span>
- </li>
- </ul>
- <el-table v-loading="loading" :data="tableData" style="width: 100%">
- <el-table-column prop="date" label="日期" width="180">
- </el-table-column>
- <el-table-column prop="name" label="姓名" width="180">
- </el-table-column>
- <el-table-column prop="address" label="地址">
- </el-table-column>
- </el-table>
- <el-pagination @current-change="currchange" :current-page="page" :page-size="size"
- layout="total,prev, pager, next" :total="total">
- </el-pagination>
- </div>
- </div>
- </template>
-
- <script>
- export default {
- data() {
- return {
- // 上
- value: "",
- endDate: "",
- dateRange: [],
- dateNum: 0,
- // 下
- currentYear: "", // 年份
- currentMonth: "", // 月份
- currentDay: "", // 日期
- currentWeek: "", // 星期
- days: [],
- tableData: [{
- date: '2016-05-02',
- name: '王小虎',
- address: '上海市普陀区金沙江路 1518 弄'
- }, {
- date: '2016-05-04',
- name: '王小虎',
- address: '上海市普陀区金沙江路 1517 弄'
- }, {
- date: '2016-05-01',
- name: '王小虎',
- address: '上海市普陀区金沙江路 1519 弄'
- }, {
- date: '2016-05-03',
- name: '王小虎',
- address: '上海市普陀区金沙江路 1516 弄'
- }],
- loading:false,
- params: {},
- page: 1, //第几页
- size: 10, //一页多少条
- total: 50, //总条目数
- }
- },
- created() {
- // 上面的日历
- this.dateList(this.dateNum);
- console.log(this.dateRange);
- // 下面的日历
- this.initData();
- this.getlist();
- },
- methods: {
- currchange(val) {
- console.log("翻页,当前为第几页", val);
- this.page = val;
- this.getlist(this.params, this.page);
- },
- getlist(v, n) {
- this.loading=true
- this.$http({
- url: "/market/waf/queryTodoBase",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- page: '{"pageNo":"' + n + '","pageSize":"10"}',
- },
- data: { tableName: 'fxfk_process', },
- }).then((res) => {
- this.loading=false
- this.tableData = res.data.data;
- this.total = res.data.totalRecord;
- });
- },
- // 上面的日历
- // 获取当前时间的周一
- getMonday(date) {
- var day = date.getDay();
- var deltaDay;
- if (day == 0) {
- deltaDay = 6;
- } else {
- deltaDay = day - 1;
- }
- var monday = new Date(date.getTime() - deltaDay * 24 * 60 * 60 * 1000);
- monday.setHours(0);
- monday.setMinutes(0);
- monday.setSeconds(0);
- return monday; //返回选定时间的周一的0时0分0秒
- },
- getDateNew(time) {
- console.log(time);
- let times = new Date(time);
- let year = times.getFullYear();
- let month = times.getMonth() + 1 < 10 ? "0" + (times.getMonth() * 1 + 1) : times.getMonth() * 1 + 1;
- let day = times.getDate() < 10 ? "0" + times.getDate() * 1 : times.getDate() * 1;
- return year + "-" + month + "-" + day;
- },
- dateList(delta) {
- //将时间对象转换为时间戳并加几天后转换为时间对象
- var DateNews = this.getMonday(
- new Date((new Date().getTime() / 1000 + 86400 * 7 * delta) * 1000)
- );
- let startDate = this.getDateNew(DateNews, delta);
- this.endDate = this.getDateNew(
- new Date((DateNews.getTime() / 1000 + 6 * 86400) * 1000)
- );
- this.dateRange = [startDate, this.endDate];
- },
- arrow(arrow) {
- if (arrow == "left") {
- this.dateNum--;
- this.dateList(this.dateNum);
- } else if (arrow == "right") {
- this.dateNum++;
- this.dateList(this.dateNum);
- }
- },
- // 下面的日历
- formatDate(year, month, day) {
- const y = year
- let m = month
- if (m < 10) m = `0${m}`
- let d = day
- if (d < 10) d = `0${d}`
- return `${y}-${m}-${d}`
- },
- initData(cur) {
- let date = ''
- if (cur) {
- date = new Date(cur)
- } else {
- date = new Date()
- }
- this.currentDay = date.getDate() // 今日日期 几号
- this.currentYear = date.getFullYear() // 当前年份
- this.currentMonth = date.getMonth() + 1 // 当前月份
- this.currentWeek = date.getDay() // 1...6,0 // 星期几
- if (this.currentWeek === 0) {
- this.currentWeek = 7
- }
- const str = this.formatDate(this.currentYear, this.currentMonth, this.currentDay) // 今日日期 年-月-日
- this.days.length = 0
- // 今天是周日,放在第一行第7个位置,前面6个 这里默认显示一周,如果需要显示一个月,则第二个循环为 i<= 35- this.currentWeek
- /* eslint-disabled */
- for (let i = this.currentWeek - 1; i >= 0; i -= 1) {
- const d = new Date(str)
- d.setDate(d.getDate() - i)
- // console.log(y:" + d.getDate())
- this.days.push(d)
- }
- for (let i = 1; i <= 7 - this.currentWeek; i += 1) {
- const d = new Date(str)
- d.setDate(d.getDate() + i)
- this.days.push(d)
- }
- },
- // 上个星期
- weekPre() {
- const d = this.days[0] // 如果当期日期是7号或者小于7号
- d.setDate(d.getDate() - 7)
- this.initData(d)
- },
- // 下个星期
- weekNext() {
- const d = this.days[6] // 如果当期日期是7号或者小于7号
- d.setDate(d.getDate() + 7)
- this.initData(d)
- },
- // 上一個月 传入当前年份和月份
- pickPre(year, month) {
- const d = new Date(this.formatDate(year, month, 1))
- d.setDate(0)
- this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
- },
- // 下一個月 传入当前年份和月份
- pickNext(year, month) {
- const d = new Date(this.formatDate(year, month, 1))
- d.setDate(35)
- this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
- },
- // 当前选择日期
- pick(date) {
- alert(this.formatDate(date.getFullYear(), date.getMonth() + 1, date.getDate()))
- },
- },
- };
- </script>
-
- <style lang="scss" scoped>
- ul {
- padding: 0;
- }
- li {
- list-style-type: none;
- }
- /* 上面的日历 */
- .calendar {
- position: relative;
- width: 100%;
- background: #fff;
- margin-top: 20px;
- margin-left: 20px;
- }
- .el-calendar__header {
- display: block;
- }
- .el-calendar-table .el-calendar-day {
- height: auto;
- text-align: center;
- }
- .el-calendar-table td.is-selected {
- background-color: #24b18d;
- color: #fff;
- }
- .el-calendar-table .el-calendar-day:hover {
- background-color: #24b18d;
- color: #fff;
- }
- .el-calendar-table {
- border-bottom: 1px solid #e4e4e4;
- padding-bottom: 15px;
- }
- .el-calendar-table .next {
- color: rgb(143, 143, 143);
- }
- .el-calendar__title,
- .el-calendar__button-group {
- text-align: center;
- }
- .arrow {
- width: 100%;
- max-height: 46px;
- position: absolute;
- top: 15px;
- text-align: center;
- }
- .arrow i {
- font-size: 20px;
- cursor: pointer;
- }
- .arrow i:nth-child(1) {
- margin-right: 10%;
- text-align: left;
- }
- .arrow i:nth-child(2) {
- margin-left: 10%;
- text-align: right;
- }
- /* 下面的日历 */
- .date {
- position: relative;
- margin-top: 20px;
- padding: 10px 20px;
- background-color: #D3D3D3;
- }
- .arrow0 {
- width: 100%;
- max-height: 46px;
- position: absolute;
- top: 27px;
- left: 0px;
- text-align: center;
- }
- .arrow0 i {
- font-size: 20px;
- cursor: pointer;
- }
- .arrow0 i:nth-child(1) {
- margin-right: 10%;
- text-align: left;
- }
- .arrow0 i:nth-child(2) {
- margin-left: 10%;
- text-align: right;
- }
- .month {
- text-align: center;
- }
- .weekdays {
- display: flex;
- }
- .weekdays li {
- flex: 1;
- text-align: center;
- }
- .days {
- display: flex;
- }
- .days li {
- flex: 1;
- text-align: center;
- cursor: pointer;
- }
- .days li span {
- display: inline-block;
- width: 22px;
- height: 22px;
- }
- .days li span:hover {
- color: #fff;
- background-color: #409EFF;
- border-radius: 50%;
- }
- .active {
- display: inline-block;
- color: #fff;
- border-radius: 50%;
- background-color: #fa6854 !important;
- }
- .other-month {
- color: #e4393c;
- }
- </style>
|