| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 |
- /*******************************************************************************
- * Copyright(c) 2022 dongke All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:
- * 2.功能描述:一览界面日期下拉组件
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * admin 2021-5-5 1.00 新建
- *******************************************************************************/
- const util = require('../../../utils/util.js')
- const Constant = require('../../../utils/Constants.js')
- Component({
- /**
- * 组件的属性列表
- */
- properties: {
- //默认值
- defaultValue: {
- type: String,
- default: '-1',
- },
- // 是否有
- blankFlag: {
- type: Boolean,
- default: true
- },
- // 该组件的编码名称(唯一)
- code:{
- type:String,
- default:''
- }
- },
- /**
- * 组件的初始数据
- */
- data: {
- show: false,
- active: null,
- dateDefault: {},
- dateTypeList: [],
- dateSearch: [new Date().getTime() + 100, new Date().getTime() + 100],
- // 往组件外返回值
- dataDefaultSearch: [],
- createTimeType: { text: '时间', value: -1 },
- },
- lifetimes: {
- attached: function () {
- this.init()
- },
- detached: function () {
- // 在组件实例被从页面节点树移除时执行
- },
- },
- /**
- * 组件的方法列表
- */
- methods: {
- init() {
- let dateTypeList = []
- if (this.data.blankFlag) {
- dateTypeList.push(this.data.createTimeType)
- }
- dateTypeList = dateTypeList.concat(Constant.searchDateSource);
- let dateDefault = {}
- let date = []
- // 默认值
- if (dateTypeList != null) {
- dateTypeList.forEach(item => {
- if (item.value + '' === this.data.defaultValue + '') {
- dateDefault.value = item.value
- dateDefault.text = item.text
- if (item.value + '' == '1') {
- date = [util.formatDayTime(new Date()).substring(0, 10), util.formatDayTime(new Date()).substring(0, 10)]
- }
- else if (item.value + '' == '2') {
- date = [util.formatDayTime(util.getCurrentWeek(0)).substring(0, 10), util.formatDayTime(util.getCurrentWeek(-6)).substring(0, 10)]
- }
- else if (item.value + '' == '3') {
- date = util.getCurrentMonth();
- }
- else if (item.value + '' == '6') {
- date = util.timeForMat(7)
- }
- else if (item.value + '' == '5') {
- date = util.timeForMat(30)
- }
- else if (item.value + '' == '-2') {
- date = [util.formatDayTime(new Date(this.data.dateSearch[0])).substring(0, 10),
- util.formatDayTime(new Date(this.data.dateSearch[1])).substring(0, 10)]
- }
- }
- })
- }
- this.setData({
- dateTypeList: dateTypeList,
- dateDefault: dateDefault,
- dataDefaultSearch: date,
- dateSearch: [new Date(this.data.dateSearch[0]).getTime(), new Date(this.data.dateSearch[1]).getTime()]
- })
- // 如果有默认值 ,需要传递出去
- if(this.data.defaultValue){
- this.chooseDefault();
- }
- },
- /**
- * 日期变化 查询
- * @param {*} e
- */
- choose(e) {
- let _this = this
- let item = e.currentTarget.dataset.item
- if (item.value == -2) {
- _this.setData({
- show: true
- })
- setTimeout(function () {
- _this.setData({
- active: 0
- })
- }, 100)
- } else {
- _this.setData({
- dateDefault: item
- })
- let date = []
- if (item.value == 1) {
- date = [util.formatDataTime(new Date()).substring(0, 10), util.formatDataTime(new Date()).substring(0, 10)]
- }
- else if (item.value == 2) {
- date = [util.formatDataTime(util.getCurrentWeek(0)).substring(0, 10), util.formatDataTime(util.getCurrentWeek(-6)).substring(0, 10)]
- }
- else if (item.value == 3) {
- date = util.getCurrentMonth();
- } else if (item.value == 4) {
- let startYear = util.getYear("s", 0)
- let endYear = util.getYear("e", 0)
- //本年
- date = [util.formatDataTime(new Date(startYear)).substring(0, 10),
- util.formatDataTime(new Date(endYear)).substring(0, 10)]
- }
- else if (item.value == 6) {
- //近30天
- date = util.timeForMat(7)
- }
- else if (item.value == 5) {
- //近30天
- date = util.timeForMat(30)
- }
- this.setData({
- dataDefaultSearch: date
- })
- this.triggerEvent('dateCommit', {code:this.data.code, date: date, dateDefault: this.data.dateDefault })
- }
- },
- /**
- * @desc : 设置默认值
- * @author : 周兴
- * @date : 2024/1/26 11:46
- */
- chooseDefault(){
- let defVal = this.data.defaultValue
- if (defVal != -2) {
- let date = []
- if (defVal == 1) {
- date = [util.formatDayTime(new Date()).substring(0, 10), util.formatDayTime(new Date()).substring(0, 10)]
- }
- else if (defVal == 2) {
- date = [util.formatDayTime(util.getCurrentWeek(0)).substring(0, 10), util.formatDayTime(util.getCurrentWeek(-6)).substring(0, 10)]
- }
- else if (defVal == 3) {
- date = util.getCurrentMonth();
- } else if (defVal == 4) {
- let startYear = util.getYear("s", 0)
- let endYear = util.getYear("e", 0)
- //本年
- date = [util.formatDayTime(new Date(startYear)).substring(0, 10),
- util.formatDayTime(new Date(endYear)).substring(0, 10)]
- }
- else if (defVal == 6) {
- //近7天
- date = util.timeForMat(7)
- }
- else if (defVal == 5) {
- //近30天
- date = util.timeForMat(30)
- }
- let filters = Constant.searchDateSource.filter(it=>it.value == defVal);
- if(filters && filters.length > 0){
- this.setData({
- dateDefault:filters[0]
- })
- this.triggerEvent('dateCommit', {code:this.data.code, date: date, dateDefault: this.data.dateDefault,initFlag:true })
- }
- }
- },
- /**
- * @desc : 设置默认值
- * @author : 王英杰
- * @date : 2024/1/26 11:46
- */
- setChooseDefault(defaultValue){
- let defVal = defaultValue
- if (defVal != -2) {
- let date = []
- if (defVal == 1) {
- date = [util.formatDayTime(new Date()).substring(0, 10), util.formatDayTime(new Date()).substring(0, 10)]
- }
- else if (defVal == 2) {
- date = [util.formatDayTime(util.getCurrentWeek(0)).substring(0, 10), util.formatDayTime(util.getCurrentWeek(-6)).substring(0, 10)]
- }
- else if (defVal == 3) {
- date = util.getCurrentMonth();
- } else if (defVal == 4) {
- let startYear = util.getYear("s", 0)
- let endYear = util.getYear("e", 0)
- //本年
- date = [util.formatDayTime(new Date(startYear)).substring(0, 10),
- util.formatDayTime(new Date(endYear)).substring(0, 10)]
- }
- else if (defVal == 6) {
- //近7天
- date = util.timeForMat(7)
- }
- else if (defVal == 5) {
- //近30天
- date = util.timeForMat(30)
- }
- let filters = Constant.searchDateSource.filter(it=>it.value == defVal);
- if(filters && filters.length > 0){
- this.setData({
- dateDefault:filters[0]
- })
- this.triggerEvent('dateCommit', {code:this.data.code, date: date, dateDefault: this.data.dateDefault,initFlag:true })
- }
- }
- },
- /**
- * 日期变化 查询数据
- * @param {*} e
- */
- changeDate(e) {
- let dateSearch = this.data.dateSearch;
- dateSearch[e.currentTarget.dataset.index] = e.detail
- this.setData({
- dateSearch: dateSearch
- })
- },
- /**
- * 日期变化 查询数据
- * @param {*} e
- */
- onCloseChooseDate() {
- this.setData({
- show: false
- })
- this.setData({
- dateSearch: [new Date().getTime(), new Date().getTime()],
- })
- },
- /**
- * 日期变化 查询
- * @param {*} e
- */
- onConfirmChooseDate() {
- this.setData({
- show: false,
- dateDefault: this.data.dateTypeList[this.data.dateTypeList.length - 1]
- })
- let date = [util.formatDayTime(new Date(this.data.dateSearch[0])).substring(0, 10),
- util.formatDayTime(new Date(this.data.dateSearch[1])).substring(0, 10)]
- this.setData({
- dataDefaultSearch: date
- })
- this.triggerEvent('dateCommit', {code:this.data.code, date: date, dateDefault: this.data.dateDefault })
- },
- }
- })
|