|
- const imgurl = require("../../utils/imgurl");
- const util = require("../../utils/util");
- const Http = require("../../utils/HttpBasics");
- const config = require("../../config/config");
- Component({
- /**
- * 组件的属性列表
- */
- properties: {
- activityStyle: String,
- allFlag: Boolean,
- childUrl: String,
- },
- /**
- * 组件的初始数据
- */
- data: {
- week: ['日', '一', '二', '三', '四', '五', '六'],
- dateLsit: [],
- year: new Date().getFullYear(),
- month: new Date().getMonth() + 1,
- yearFlgh: new Date().getFullYear(), //当前年
- monthFlgh: new Date().getMonth() + 1, //当前月
- dey: new Date().getDate(),
- thendata: [], //当前这一周的数组
- xiala: imgurl.concealBnt.url,
- xiangshang: imgurl.xiangshang.url,
- switchFlag: true,
- activityDateList: [],
- activiyFalg:"",
- context: -1 ,//-1表示取一周下标 1表示取一个月的下标
- },
-
- /**
- * 组件的方法列表
- */
- methods: {
- itiActivityLst() { //初始哈活动列表
- let tempDateLsit = this.data.dateLsit
- let tempThenData = this.data.thendata
- this.data.activityDateList.map(item0 => { //初始化当月 标记
- tempDateLsit.map(item1 => {
- if (item0.yyyy == item1.y && item0.mm == item1.m && item0.dd == item1.value) {
- item1.act = 1
- }
- })
- })
- this.data.activityDateList.map(item0 => { //初始化 当周标记
- tempThenData.map(item1 => {
- if (item0.yyyy == item1.y && item0.mm == item1.m && item0.dd == item1.value) {
- item1.act = 1
- }
- })
- })
- this.setData({
- dateLsit: tempDateLsit,
- thendata: tempThenData
- })
- this.setThenDye(0)
- },
-
- getDey() { //查询当月标记日期
- let tempMonth = this.data.month
- let tempDey = this.getDays(this.data.year, this.data.month) //获取每月有多少天
- if (tempMonth < 10) {
- tempMonth = '0' + (tempMonth + '')
- }
- let param = {
- startDate: this.data.year + '-' + tempMonth + "-01" + " 00:00:00",
- endDate: this.data.year + "-" + tempMonth + "-" + tempDey + " 23:59:59"
- }
- Http.get({
- url: this.data.childUrl,
- data: param
- }).then(res => {
- let {
- code,
- data
- } = res
- if (code == 200) {
- this.setData({
- activityDateList: data
- })
- this.showDate(this.data.year, this.data.month)
- }
- })
- },
- switchs() {
- let temp = this.data.switchFlag
- this.setData({
- switchFlag: !temp
- })
- if(this.data.switchFlag){
- this.setData({
- context:-1
- })
- this.setThenDye()
- }else{
- this.setData({
- context: 1
- })
- this.setThenDye()
- }
- // console.log(this.data.switchFlag)
- },
- showDate(year, month) { //刷新日历
- let thenDey = this.getThenWeek(year, month) //每个月第一天星期几
- let thenMonth = this.getDays(year, month) //获取每月有多少天
- let lastMonth = this.getLastMonth(year, month) //上月最后一天是多少天
- let tempDey = []
- let tmepArr = []
- for (let i = 0; i < 42; i++) { //初始化日历数组
- tempDey.splice(i, 0, "")
- }
- for (let i = 0; i < thenMonth; i++) { //获取当前选中月份天数
- tmepArr.splice(i, 0, {
- style: "0",
- value: i + 1,
- y: year,
- m: month
- })
- }
- tempDey.splice(thenDey, thenMonth, ...tmepArr)
- for (let i = 0; i < thenDey; i++) { //添加上一个月的天数
- tempDey.splice(i, 1, {
- style: "1",
- value: lastMonth - (thenDey - 1),
- y: year,
- m: month==1?12:month-1
- })
- lastMonth++
- }
- for (let i = 0; i < 42 - (thenDey + thenMonth); i++) { //设置下一个月
- tempDey.splice(thenDey + thenMonth + i, 1, {
- style: "2",
- value: i + 1,
- y: year,
- m: month == 12 ? 1 : month + 1
- })
- }
- this.setData({
- dateLsit: tempDey
- })
- this.itiActivityLst()
- this.setThenDye()
-
- },
-
- setThenDye(){//设置当天index
- if (this.data.context==-1){//-1表示一周
- console.log(this.data.thendata,this.data.dey,this.data.monthFlgh,this.data.yearFlgh,"this.data.thendata")
- let index_ = ""
- this.data.thendata.map((item,index)=>{
- if(item.value == this.data.dey && this.data.monthFlgh == item.m && item.y == this.data.yearFlgh){
- index_ = index
- this.setData({
- activiyFalg: index_
- })
- return
- }
- })
- }else{
- let index_ = ""
- if(this.data.year==this.data.yearFlgh&&this.data.month==this.data.monthFlgh){
- this.data.dateLsit.map((item, index) => {
- if (item.value == this.data.dey && this.data.monthFlgh == item.m && item.y == this.data.yearFlgh) {
- console.log(index, "index")
- index_ = index
- this.setData({
- activiyFalg: index_
- })
- return
- }
- })
- }else{
- this.setData({
- activiyFalg: -1
- })
- }
-
- }
- },
- handle(e) { //点击号数
- let item = e.currentTarget.dataset.item
- let index = e.currentTarget.dataset.index
- if (this.data.allFlag){
- this.setData({
- activiyFalg:index
- })
- }
- if (item.style==0){
- this.triggerEvent("setDate", {
- y: this.data.year,
- m: this.data.month,
- value: item.value
- })
- }else{
- return
- }
- },
- getDays(year, month) { //获取每月有多少天
- let tempDateArr = []
- let thenDate = new Date(year, month, 0).getDate()
- return thenDate
- },
- getLastMonth(year, month) { //上一个月最后一天是多少号
- if (month == 1) {
- month = 12
- year = year - 1
- } else {
- month = month - 1
- }
- let tempDateArr = []
- let thenDate = new Date(year, month, 0).getDate()
- return thenDate
- },
- getThenWeek(year, month) { //获取每个月第一天是星期几
- if (month == 1) {
- month = 12
- year = year - 1
- } else {
- month = month - 1
- }
- let date = new Date()
- date.setFullYear(year)
- date.setMonth(month)
- date.setDate(1)
- return date.getDay()
- },
- getactivityDate(year, month, mode) { //mode == 0 查询当月 mode == 1 查询当天
- let tempMonth = month
- let tempDey = this.getDays(year, month) //获取每月有多少天
- if (tempMonth < 10) {
- tempMonth = '0' + (tempMonth + '')
- }
- let param = {
- startDate: year + '-' + tempMonth + "-01" + " 00:00:00",
- endDate: year + "-" + tempMonth + "-" + tempDey + " 23:59:59"
- }
- Http.get({
- url: this.data.childUrl,
- data: param
- }).then(res => {
- let {
- code,
- data
- } = res
- if (code == 200) {
- this.setData({
- activityDateList: data
- })
- }
- })
- },
- front() { //前面
- this.setData({
- context:1
- })
- if (this.data.month == 1) {
- let temp = this.data.switchFlag
- this.setData({
- switchFlag: false
- })
- this.setData({
- year: this.data.year - 1,
- month: 12
- })
- } else {
- this.setData({
- month: this.data.month - 1
- })
- }
- this.triggerEvent("setDate", {
- y: this.data.year,
- m: this.data.month
- }) //第一个是自定义事件名,第二个是要传递的值(可以为空)
- this.getDey()
-
-
- },
-
- behind() { //后面
- this.setData({
- context: 1
- })
- let temp = this.data.switchFlag
- this.setData({
- switchFlag: false
- })
- if (this.data.month == 12) {
- this.setData({
- year: this.data.year + 1,
- month: 1
- })
- this.showDate(this.data.year, this.data.month)
- } else {
- this.setData({
- month: this.data.month + 1
- })
- this.showDate(this.data.year, this.data.month)
- }
- this.getDey()
- this.triggerEvent("setDate", {
- y: this.data.year,
- m: this.data.month
- })
-
- },
-
- },
- lifetimes: {
- attached: function() {
- this.getDey() //查询当月活动
- // 设置单周数组
- let thenDey = new Date().getDay() //今天是周几
- let thenDate = new Date().getDate() //今天是多少号
- let tempArr = []
- if (thenDey == 0) {
- for (let i = 0; i < 7; i++) {
- tempArr.splice(i, 1, {
- thenFalg: "1",
- value: thenDate,
- style: "0",
- y: this.data.year,
- m: this.data.month
- })
- thenDate++
- }
- } else {
- let temp = new Date().getDay() //今天是周几
- let tmpeDey = new Date().getDate() //今天是多少号
- for (let i = 0; i <= temp; i++) {
- tempArr.splice(i, 0, {
- style: "0",
- value: thenDate - thenDey,
- y: this.data.year,
- m: this.data.month
- })
- thenDey--
- }
- for (let i = temp + 1; i < 7; i++) {
- tmpeDey++
- tempArr.splice(i, 0, {
- style: "0",
- value: tmpeDey,
- y: this.data.year,
- m: this.data.month
- })
- }
- }
- this.setData({
- thendata: tempArr,
- context:this.data.allFlag ? -1 : 1
- })
-
- // 设置单周数组
- // setTimeout(() => {
- // this.showDate(this.data.year, this.data.month)
- // }, 300)
-
- },
- detached: function() {
- // 在组件实例被从页面节点树移除时执行
- },
- },
- })
|