首页 > 其他分享 >222

222

时间:2023-08-20 23:13:22浏览次数:28  
标签:const dayjs defaultVal time date 222 dateTemp

import dayjs from 'dayjs';
import { nextTick } from 'vue';
import { useDictStore } from '/@/store/modules/dict';
import { useI18n } from '/@/hooks/web/useI18n';

const dictStore = useDictStore();
const { t } = useI18n();

export type Dimension = 'year' | 'month' | 'date' | 'time';

export const defaultValueMap = {
year: dayjs(),
month: dayjs(),
date: dayjs(),
time: dayjs(),
};

export const defaultFormatMap = {
year: 'YYYY',
month: 'YYYY-MM',
date: 'YYYY-MM-DD',
time: 'YYYY-MM-DD HH',
};

/**
* @description: 维度操作方法
* @param {Dimension} defaultVal 默认维度
* @param {string} field rangePicker 字段ID
* @param {any} formActionType 表单操作
* @return {*}
*/
export const dimensionAction = (defaultVal: Dimension, field: string, formActionType: any) => {
const { updateSchema, setFieldsValue } = formActionType;

let hackValue: any = undefined;

let dateTemp: any = defaultValueMap[defaultVal];
let format: any = defaultFormatMap[defaultVal];

//日期选择修改后
const calendarChange = (date) => {
dateTemp = date;
};

const openChange = (open: boolean) => {
if (open) {
hackValue = '';
dateTemp = '';
} else {
hackValue = undefined;
}

setFieldsValue({
[field]: hackValue || dateTemp,
});
};

nextTick(() => {
setFieldsValue({
[field]: hackValue || dateTemp,
});
});

return {
options: dictStore.getTimeRange.map((item) => ({
label: t(`common.${item}`),
value: item,
})),
placeholder: `${t('common.chooseText')}${t('energy-balance.queryTime')}`,
useSearch: true,
onChange: (queryType) => {
dateTemp = defaultValueMap[queryType];
format = defaultFormatMap[queryType];

setFieldsValue({
timeRange: hackValue || dateTemp,
});

updateSchema({
field,
componentProps: {
format: format,
showTime: queryType === 'time',
picker: queryType === 'time' ? 'date' : queryType,
onCalendarChange: calendarChange, //待选日期发生变化的回调
onOpenChange: openChange, //弹出日历和关闭日历的回调
},
});
},
};
};

/**
* @description: 重置维度和时间范围
* @return {*}
*/
export const resetPicker = (
defaultVal: Dimension,
dimensionField: string,
timeRangeField: string,
formActionType: any,
) => {
const { updateSchema, setFieldsValue } = formActionType;

updateSchema({
field: timeRangeField,
componentProps: {
format: defaultFormatMap[defaultVal],
showTime: defaultVal === 'time', //当为time时,日期可以选择时间(时分秒)
picker: defaultVal === 'time' ? 'date' : defaultVal,
},
});

setFieldsValue({
[dimensionField]: defaultVal,
[timeRangeField]: defaultValueMap[defaultVal],
});
};

标签:const,dayjs,defaultVal,time,date,222,dateTemp
From: https://www.cnblogs.com/zhangyuanbi/p/17644838.html

相关文章

  • 代码随想录算法训练营第十六天| 104.二叉树的最大深度 111.二叉树的最小深度 222.
      104.二叉树的最大深度 (优先掌握递归)    卡哥建议:什么是深度,什么是高度,如何求深度,如何求高度,这里有关系到二叉树的遍历方式。大家要先看视频讲解,就知道以上我说的内容了,很多录友刷过这道题,但理解的还不够。   题目链接/文章讲解/视频讲解:https://programmerc......
  • 222
    ACM程序设计实验室2023年度招新一:ACM简介  ACM-ICPC是由美国计算机协会主办的面向大学生的国际程序设计竞赛,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过近30多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影......
  • CVE-2021-22204 GitLab RCE之exiftool代码执行漏洞深入分析(二)
    文章写于2022-01-19,首发在天融信阿尔法实验室目标导读1前言2前置知识2.1JPEG文件格式2.2Perl模式匹配3exiftool源码调试到漏洞分析3.1环境搭建3.2漏洞简介3.3exiftool是如何解析嵌入的0xc51b标签3.4exiftool是如何调用parseAnt函数3.5parseAnt函数分......
  • CVE-2021-22205 GitLab RCE之未授权访问深入分析(一)
    文章写于2021-11-29,首发在天融信阿尔法实验室前言安全研究员vakzz于4月7日在hackerone上提交了一个关于gitlab的RCE漏洞,在当时并没有提及是否需要登录gitlab进行授权利用,在10月25日该漏洞被国外安全公司通过日志分析发现未授权的在野利用,并发现了新的利用方式。根据官方漏洞通......
  • 极具性价比的步进电机驱动芯片-TMC2226/TMC2209使用小结
    TMC2226/2209相对于TMC2660C、TMC5160来说,价格低了很多,同时功能并没有太多阉割。对比TMC5160,少了内部加减速曲线,电流足够(Ipeak=2.8A),相对5160而言功能也很足够,所以毫无疑问TMC2226是极具性价比的步进驱动芯片。让我们一起看看TMC2226/TMC2209的一些特点:1、配置接......
  • 222
    2023-07-2610:56:49.908StreamPark[streampark-build-pipeline-executor-18]ERRORo.a.s.c.c.w.WebSocketEndpoint:86-Nosuitableencoderfoundjavax.websocket.EncodeException:Nosuitableencoderfoundatio.undertow.websockets.jsr.WebSocketSessionRe......
  • 题解 P2229 【[HNOI2002]沙漠寻宝】
    postedon2021-06-0112:15:15|under题解|source这题一看就知道是个模拟。做模拟题的时候,一定要先确保你的程序能跑出正确的结果,再去想优化时间。这道题还是很简单的,让我们开始吧:读入我们把输入离线,拿string存起来。如果不离线,那loop就会很难处理,加大难度。intn;......
  • USG6395恢复登录密码和FC交换机2224console登录用户及密码
    一、USG6395恢复登录密码 CTRL+B以后需要输入的密码是Admin@huawei,password恢复出厂以后,reboot,进入console界面可以修改admin的密码,再次重启以后就可以正常网页登录了。二、FC交换机2224console的默认用户是root密码为Huawei12#$......
  • 【网络流,dp】Gym102220A Apple Business
    ProblemLink有一棵\(n\)个点的完全二叉树(点\(i\)的父亲是\(\lfloori/2\rfloor\)),第\(i\)个点有\(a_i\)个苹果。现在有\(m\)个订单,每个订单只接受\(u_i\)到\(v_i\)路径上的苹果,保证\(u_i\)是\(v_i\)的父亲,并且最多只接受\(c_i\)个苹果,单价为\(w_i\)。你可......
  • [LeetCode] 2222. Number of Ways to Select Buildings
    Youaregivena 0-indexed binarystring s whichrepresentsthetypesofbuildingsalongastreetwhere:s[i]='0' denotesthatthe ith buildingisanofficeands[i]='1' denotesthatthe ith buildingisarestaurant.Asacityoff......