贴代码框架PasteForm特性介绍之datetime,daterange

简介

PasteForm是贴代码推出的 "新一代CRUD" ,基于ABPvNext,目的是通过对Dto的特性的标注,从而实现管理端的统一UI,借助于配套的PasteBuilder代码生成器,你可以快速的为自己的项目构建后台管理端!目前管理端只有Html+js版本的,后续将支持小程序,Vue等

案例源码

案例源码在

复制代码
https://gitee.com/pastecode/paste-template

不定期升级

AllInDto!

通过引入PasteForm,一个项目哪怕100个数据表,一般的管理页面也才不到10个,除非有非常多的特殊功能,否则都能用PasteForm中的表格和表单来实现!

datetime daterange

日期输入和显示,在表单中使用频率非常高,又由于格式问题,让这个具有更多可能!

特性信息

datetime

默认的yyyy-MM-dd HH:mm:ss的格式

字段 类型 示例 说明
args1 字符 yyyy-MM-dd HH:mm:ss 表示时间使用的格式

daterange

主字段需要设置为daterange,其他字段需要设置hidden,在最后组合数据的时候,会基于参数生成对应的,应该要设置为可null格式

字段 类型 示例 说明
args1 字符 sdate 表示开始时间,最后会传送yyyy-MM-dd 00:00:00的格式数据
args2 字符 edate 表示结束时间,如果你选择2024-08-31,最后上送的会是2024-08-31 00:00:00
args3 字符 yyyy-MM-dd 00:00:00 表示时间的格式化,默认使用yyyy-MM-dd 00:00:00

案例UI

其中daterange比较特殊,如下图,其实是使用2个时间字段承载,所以第二个字段会配置为hidden,由第一个字段配置,默认2个字段为sdate和edate,你也可以自定义他,示例中的 [PasteDaterange("date3","date4")]

就是说开始时间的值放置于date3这个字段,至于结束时间则置于date4。

上图中,datetime使用得是WdatePicker,可以基于Dto的配置做一些修改

提交信息

上面的UI中,我们是随便填写点东西后,提交,看到的提交信息如下

这里要注意,如果比如age这个字段没有填写,留空,由于字段类型为int[],则这个时候回传为null,也就是提交的信息中没有age这个字段!

注意看上图的回传的数据类型各不同,这个是由Dto决定的!

Dto内容

csharp 复制代码
    /// <summary>
    /// 时间案例
    /// </summary>
    public class DateTimeDto
    {
        ///<summary>
        ///时间1 默认为datetiem,yyyy-MM-dd HH:mm:ss格式
        ///</summary>
        public DateTime date1 { get; set; }

        ///<summary>
        ///时间2 给定一个默认值
        ///</summary>
        public DateTime date5 { get; set; } = DateTime.Now.AddMinutes(-5);

        ///<summary>
        ///时间3 设置为可不填
        ///</summary>
        public DateTime ? date6 { get; set; }

        ///<summary>
        ///时间4 使用了format的时间,最好设置为string格式
        ///</summary>
        [ColumnDataType("datetime","yyyy-MM-dd HH")]
        public string date2 { get; set; }

        ///<summary>
        ///时间区间 时间区间,一般由2个字段承载,所以尾巴字段得隐藏,默认为sdate和edate搭配
        ///</summary>
        [PasteDaterange("date3","date4")]
        public DateTime ? date3 { get; set; }

        /// <summary>
        /// 由于3设置了,所以这里不显示,只是作为接收使用
        /// </summary>
        [PasteHidden]
        public DateTime ? date4 { get; set; }
    }

datetime主要在于返回的信息,如果是空值,PasteForm会转化为null,如果说不是使用DateTime?的,则为必传!

如果在小程序端,还支持dateplan,就是上班的排班,比如早班,晚班等!这个后续考虑是否在HTML中也支持!

更多特性见

贴代码PasteForm专题介绍

我们下期见!

相关推荐
木斯佳25 分钟前
前端八股文面经大全:bilibili生态技术方向二面 (2026-03-25)·面经深度解析
前端·ai·ssd·sse·rag
不会写DN36 分钟前
Gin 日志体系详解
前端·javascript·gin
冬夜戏雪1 小时前
实习面经记录(十)
java·前端·javascript
爱学习的程序媛2 小时前
【Web前端】JavaScript设计模式全解析
前端·javascript·设计模式·web
小码哥_常2 小时前
从SharedPreferences到DataStore:Android存储进化之路
前端
老黑3 小时前
开源工具 AIDA:给 AI 辅助开发加一个数据采集层,让 AI 从错误中自动学习(Glama 3A 认证)
前端·react.js·ai·nodejs·cursor·vibe coding·claude code
jessecyj3 小时前
Spring boot整合quartz方法
java·前端·spring boot
苦瓜小生3 小时前
【前端】|【js手撕】经典高频面试题:手写实现function.call、apply、bind
java·前端·javascript
天若有情6733 小时前
前端HTML精讲03:页面性能优化+懒加载,搞定首屏加速
前端·性能优化·html
踩着两条虫3 小时前
AI驱动的Vue3应用开发平台深入探究(十):物料系统之内置组件库
android·前端·vue.js·人工智能·低代码·系统架构·rxjava