| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 |
- /*******************************************************************************
- * Copyright(c) 2022 dongke All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:
- * 2.功能描述:一览界面日期下拉组件
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * admin 2021-5-5 1.00 新建
- *******************************************************************************/
- const util = require('../../../utils/util.js')
- Component({
- /**
- * 组件的属性列表
- */
- properties: {
- //类型
- dateType: {
- type: String,
- default: 'createtime'
- },
- //默认值
- defaultValue: {
- type: String,
- default: '-1'
- },
- // 是否有
- blankFlag: {
- type: Boolean,
- default: true
- }
- },
- /**
- * 组件的初始数据
- */
- data: {
- show: false,
- active: null,
- dateDefault: {},
- dateTypeList: [],
- dateSearch: [new Date().getTime() + 100, new Date().getTime() + 100],
- // 往组件外返回值
- dataDefaultSearch: [],
- createTimeType: { text: '时间', value: -1 },
- createTimeTypeList: [
- { text: '本日', value: 1 },
- { text: '本周', value: 2 },
- { text: '本月', value: 3 },
- { text: '本年', value: 4 },
- { text: '近7天', value: 6 },
- { text: '近30天', value: 5 },
- { text: '自定义', value: -2 },
- ],
- accountTimeType: { text: '时间', value: -1 },
- accountTimeTypeList: [
- { text: '本日', value: 1 },
- { text: '本周', value: 2 },
- { text: '本月', value: 3 },
- { text: '自定义', value: -2 },
- ],
- deliveryDateType: { text: '时间', value: -1 },
- deliveryDateTypeList: [
- { text: '本日', value: 1 },
- { text: '本周', value: 2 },
- { text: '本月', value: 3 },
- { text: '自定义', value: -2 },
- ],
- installDateType: { text: '时间', value: -1 },
- installDateTypeList: [
- { text: '本日', value: 1 },
- { text: '本周', value: 2 },
- { text: '本月', value: 3 },
- { text: '自定义', value: -2 },
- ],
- repairDateType: { text: '时间', value: -1 },
- repairDateTypeList: [
- { text: '本日', value: 1 },
- { text: '本周', value: 2 },
- { text: '本月', value: 3 },
- { text: '自定义', value: -2 },
- ],
- presaleDateType: { text: '时间', value: -1 },
- presaleDateTypeList: [
- { text: '本日', value: 1 },
- { text: '本周', value: 2 },
- { text: '本月', value: 3 },
- { text: '自定义', value: -2 },
- ],
- customDateType: { text: '时间', value: -1 },
- customDateTypeList: [
- { text: '本日', value: 1 },
- { text: '本周', value: 2 },
- { text: '本月', value: 3 },
- { text: '自定义', value: -2 },
- ],
- },
- lifetimes: {
- attached: function () {
- this.init()
- },
- detached: function () {
- // 在组件实例被从页面节点树移除时执行
- },
- },
- /**
- * 组件的方法列表
- */
- methods: {
- init() {
- let dateTypeList = []
- let dateType = this.data.dateType
- // 创建日期
- if (dateType === 'createtime') {
- if (this.data.blankFlag) {
- dateTypeList.push(this.data.createTimeType)
- }
- dateTypeList = dateTypeList.concat(this.data.createTimeTypeList)
- }
- // 账务日期
- else if (dateType === 'accountdate') {
- // dateTypeList = this.data.accountTimeTypeList
- if (this.data.blankFlag) {
- dateTypeList.push(this.data.accountTimeType)
- }
- dateTypeList = dateTypeList.concat(this.data.accountTimeTypeList)
- }
- // 送货日期
- else if (dateType === 'deliverydate') {
- if (this.data.blankFlag) {
- dateTypeList.push(this.data.deliveryDateType)
- }
- dateTypeList = dateTypeList.concat(this.data.deliveryDateTypeList)
- }
- // 安装日期
- else if (dateType === 'installdate') {
- if (this.data.blankFlag) {
- dateTypeList.push(this.data.installDateType)
- }
- dateTypeList = dateTypeList.concat(this.data.installDateTypeList)
- }
- // 维修日期
- else if (dateType === 'repairdate') {
- if (this.data.blankFlag) {
- dateTypeList.push(this.data.installDateType)
- }
- dateTypeList = dateTypeList.concat(this.data.presaleDateTypeList)
- }
- else if (dateType === 'presaledate') {
- if (this.data.blankFlag) {
- dateTypeList.push(this.data.presaleDateType)
- }
- dateTypeList = dateTypeList.concat(this.data.presaleDateTypeList)
- }
- else if (dateType === 'customdate') {
- if (this.data.blankFlag) {
- dateTypeList.push(this.data.customDateType)
- }
- dateTypeList = dateTypeList.concat(this.data.customDateTypeList)
- }
- let dateDefault = {}
- let date = []
- // debugger
- // 默认值
- if (dateTypeList != null) {
- dateTypeList.forEach(item => {
- if (item.value + '' === this.data.defaultValue + '') {
- dateDefault.value = item.value
- dateDefault.text = item.text
- console.log('item', item)
- if (item.value + '' == '1') {
- date = [util.formatTime(new Date()).substring(0, 10), util.formatTime(new Date()).substring(0, 10)]
- }
- else if (item.value + '' == '2') {
- date = [util.formatTime(util.getCurrentWeek(0)).substring(0, 10), util.formatTime(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.formatTime(new Date(this.data.dateSearch[0])).substring(0, 10),
- util.formatTime(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()]
- }) },
- /**
- * 日期变化 查询
- * @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.formatTime(new Date()).substring(0, 10), util.formatTime(new Date()).substring(0, 10)]
- }
- else if (item.value == 2) {
- date = [util.formatTime(util.getCurrentWeek(0)).substring(0, 10), util.formatTime(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.formatTime(new Date(startYear)).substring(0, 10),
- util.formatTime(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', { date: date, dateType: this.data.dateType, dateDefault: this.data.dateDefault })
- }
- },
- /**
- * 日期变化 查询数据
- * @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.formatTime(new Date(this.data.dateSearch[0])).substring(0, 10),
- util.formatTime(new Date(this.data.dateSearch[1])).substring(0, 10)]
- this.setData({
- dataDefaultSearch: date
- })
- this.triggerEvent('dateCommit', { date: date, dateType: this.data.dateType, dateDefault: this.data.dateDefault })
- },
- }
- })
|