需求:根据开始时间,通过填写阶段时长,自动填写结束时间,同时开始时间和节数时间可以手动输入

代码如下:

 <el-form ref="ruleForm2" :rules="rules2" :model="formData" inline label-position="right" label-width="120px"> <el-form-item label="开始时间" prop="beginTime"><el-date-pickerv-model="formData.beginTime"v-elDateFormateditablevalue-format="timestamp"type="date"placeholder="请选择日期"clearablestyle="width: 180px"@change="changeEndTime"/></el-form-item><!-- 添加一个阶段时长 --><el-form-item label="阶段时长" prop="stageDuration"><el-input v-model="formData.stageDuration" style="width: 180px"  @blur="stageDurationBlur" /><span class="span_style">(最小单位半月)</span></el-form-item><el-form-item label="结束时间" prop="endTime"><el-date-pickerv-model="formData.endTime"v-elDateFormateditablevalue-format="timestamp"type="date"placeholder="请选择日期"clearablestyle="width: 180px"/></el-form-item>
</el-form>

 

    changeEndTime(time) {
//这里是项目的一个判断 与主体逻辑无关if (this.formData.stageNature == 'point') {// this.formData.endTime = this.timestampToYYYYMMDD(time)this.formData.endTime = time} else {this.calculateEndDate()}},stageDurationBlur(e) {if (this.formData.stageNature !== 'point' && this.formData.beginTime &&             e.target.value) {this.calculateEndDate()}},calculateEndDate() {if (this.formData.beginTime && this.formData.stageDuration) {const beginTime = new Date(this.formData.beginTime)const duration = parseFloat(this.formData.stageDuration)if (!isNaN(duration) && duration > 0) {const daysToAdd = Math.floor(duration * 15) // 将输入的值乘以15天const endTime = new Date(beginTime)endTime.setDate(beginTime.getDate() + daysToAdd)this.formData.endTime = endTime.getTime()} else {this.formData.endTime = ''}}},

 

手动输入日期,默认回显日期功能,我这边后端参数需要的是时间戳,使用时需要看清楚后端需要的数据类型

  watch: {formData: {handler(newValue, oldValue) {if (newValue.beginTime && newValue.beginTime != '') {// 判断有没有横杠  输入的日期 格式是 2024-07-15的,或者是20240715这种 if (typeof newValue.beginTime === 'string' && newValue.beginTime.indexOf('-') == -1) {let str = newValue.beginTimeconst positions = [4, 6]const char = '-'for (let i = positions.length - 1; i >= 0; i--) {const position = positions[i]str = str.substring(0, position) + char + str.substring(position)}this.formData.beginTime = str}} else {this.formData.beginTime = ''}},immediate: true,deep: true}},

效果图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/45496.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/45496.shtml
英文地址,请注明出处:http://en.pswp.cn/web/45496.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

B树与B+树的区别

B树和B树都是用于数据库和文件系统的平衡树数据结构&#xff0c;但它们有一些显著的区别&#xff1a; 节点结构&#xff1a; B树&#xff1a;每个节点存储数据和指向子节点的指针。叶子节点也包含数据。 B树&#xff1a;内部节点只存储索引值&#xff0c;不存储实际数据。所有…

yolov5 上手

0 介绍 YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型&#xff0c;由华盛顿大学的约瑟夫-雷德蒙&#xff08;Joseph Redmon&#xff09;和阿里-法哈迪&#xff08;Ali Farhadi&#xff09;开发。YOLO 于 2015 年推出&#xff0c;因其高速度和高精确度而迅速受到…

人工智能算法工程师(中级)课程13-神经网络的优化与设计之梯度问题及优化与代码详解

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能算法工程师(中级)课程13-神经网络的优化与设计之梯度问题及优化与代码详解。 文章目录 一、引言二、梯度问题1. 梯度爆炸梯度爆炸的概念梯度爆炸的原因梯度爆炸的解决方案 2. 梯度消失梯度消失的概念梯度…

vue2中父组件向子组件传值不更新视图问题解决

1. 由于父组件更新了props里面的值, 但是子组件第一次接收后再修改没有监听到. 父组件修改值的时候使用this$set解决问题. 在 Vue 2 中&#xff0c;this.$set 通常用于更新数组中的特定元素。如果你想更新整个数组&#xff0c;可以直接赋值一个新的数组&#xff0c;或者你可以…

powerdesigner导出表数据库设计文档excel

1、连接数据库&#xff0c;导出表结构的sql脚本 2、打开powerdesigner&#xff0c;生成项目空间表 sql脚本用第一步的脚本 3、用script脚本生成excel 脚本信息 Option Explicit Dim rowsNum rowsNum 0 -------------------------------------------------------------…

CV12_ONNX转RKNN模型(谛听盒子)

暂时简单整理一下&#xff1a; 1.在边缘设备上配置相关环境。 2.配置完成后&#xff0c;获取模型中间的输入输出结果&#xff0c;保存为npy格式。 3.将onnx格式的模型&#xff0c;以及中间输入输出文件传送到边缘设备上。 4.编写一个python文件用于转换模型格式&#xff0c…

Git---git本地配置commit_template提交模板,规范开发

如何在Git中配置Commit Template以规范开发 在软件开发过程中&#xff0c;规范化的提交信息&#xff08;commit messages&#xff09;对于项目的可维护性和协作效率至关重要。Git 提供了配置 commit template 的功能&#xff0c;允许开发者预设一个模板&#xff0c;用于在提交…

[iOS]内存分区

[iOS]内存分区 文章目录 [iOS]内存分区五大分区栈区堆区全局区常量区代码区验证内存使用注意事项总结 函数栈堆栈溢出栈的作用 参考博客 在iOS中&#xff0c;内存主要分为栈区、堆区、全局区、常量区、代码区五大区域 还记得OC是C的超类 所以C的内存分区也是一样的 iOS系统中&a…

51单片机STC89C52RC——19.1 SG90舵机(伺服电机)

目的/效果 独立按键K1&#xff0c;K2 实现加舵机减角度增减&#xff0c;LCD1602显示舵机转角度数&#xff08;上电默认90度&#xff09; 一&#xff0c;STC单片机模块 二&#xff0c;SG90舵机 2.1 简介 舵机只是我们通俗的叫法&#xff0c;它的本质是一个伺服电机&#xf…

react 案例的实现

先看一下如下效果 效果 这是一个 简单的 效果 左边是用户名进行登录 右边是一个答题还有遮罩 相信大家还有刚刚创建好的 react 脚手架了&#xff0c;没有的话可以运行以下命令 creact-react-app 项目名称 把项目名称四个字 改成 自己想要的一个名字 最好是英文的在 App.js中去…

python xpath常用代码功能

1、从文件中读取html内容&#xff0c;然后xpath加载 with open(FilePath, r,encodingutf8) as file:html file.read() tree etree.HTML(html) 2、基本定位语法 / 从根节点开始选取 /html/div/span // 从任意节点开始选取 //input . 选取当前节点 .…

Web开发:<br>标签的作用

br作用 介绍基本用法常见用途注意事项使用CSS替代 介绍 在Web开发中&#xff0c;<br> 标签是一个用于插入换行符的HTML标签。它是“break”的缩写&#xff0c;常用于需要在文本中强制换行的地方。<br> 标签是一个空标签&#xff0c;这意味着它没有结束标签。 基本…

Python小工具—txt转excel和word

1.txt转excel import openpyxl# 创建一个新的Excel工作簿 wb = openpyxl.Workbook() sheet = wb.active# 题干和答案的标题 sheet[A1] = 题干 sheet[B1] = 答案# 打开txt文件并读取内容 with open(xiti.txt, r, encoding=utf-8) as file:lines = file.readlines()# 初始变量 c…

VisualTreeHelper.GetChildrenCount

在WPF&#xff08;Windows Presentation Foundation&#xff09;中&#xff0c;VisualTreeHelper.GetChildrenCount 是一个非常有用的方法&#xff0c;用于获取指定视觉对象的子元素数量。这对于遍历复杂的用户界面树结构以进行查找、操作或检查特定元素是非常有帮助的。 Visu…

【java深入学习第7章】用 Spring Boot 和 Java Mail 轻松实现邮件发送功能

引言 在现代的企业应用中&#xff0c;邮件发送是一个非常常见的功能。无论是用户注册后的验证邮件&#xff0c;还是系统通知邮件&#xff0c;邮件服务都扮演着重要的角色。本文将介绍如何在Spring Boot项目中整合Java Mail&#xff0c;实现发送邮件的功能。 一、准备工作 在…

【Ubuntu】安装使用pyenv - Python版本管理

当我们在Ubuntu上使用Python进行开发的时候&#xff0c;可能会遇到版本不兼容的问题&#xff0c;当然你可以选择使用apt的方式安装不同版本的python环境 但是存在一定的问题&#xff1a;安装不同版本的Python通常不会改变默认的python3命令指向的版本&#xff0c;而且就算你进行…

分布式对象存储minio

本教程minio 版本&#xff1a;RELEASE.2021-07-*及以上 1. 分布式文件系统应用场景 互联网海量非结构化数据的存储需求 电商网站&#xff1a;海量商品图片视频网站&#xff1a;海量视频文件网盘 : 海量文件社交网站&#xff1a;海量图片 1.1 Minio介绍 MinIO 是一个基于Ap…

ubuntu服务器部署vue springboot前后端分离项目

上传构建好的vue前端文件 vscode构建vue项目&#xff0c;会生成dist目录 npm run build在服务器root目录新建/projects/www目录&#xff0c;把dist目录下的所有文件&#xff0c;上传到此目录中 上传ssl证书 上传ssl证书到/projects目录中 配置nginx 编辑 /etc/nginx/site…

微服务边界守卫:Eureka中服务隔离策略的实现

微服务边界守卫&#xff1a;Eureka中服务隔离策略的实现 在微服务架构中&#xff0c;服务隔离是一项关键策略&#xff0c;用于确保服务之间的故障不会相互影响&#xff0c;同时提供更加安全和稳定的运行环境。Eureka作为Netflix开源的服务发现框架&#xff0c;提供了一些机制来…

Java 网络协议面试题答案整理,最新面试题

TCP和UDP的主要区别是什么? TCP(传输控制协议)和UDP(用户数据报协议)的主要区别在于TCP是面向连接的协议,而UDP是无连接的协议。这导致了它们在数据传输方式、可靠性、速度和使用场景方面的不同。 1、连接方式: TCP是面向连接的协议,数据传输前需要三次握手建立连接。U…