vue中时间控件

news2024/10/7 17:28:57

在这里插入图片描述

//组件
<template>
  <div class="home-time">
    <div class="tab">
      <el-radio-group v-model="radio" @change="radioChange">
        <el-radio-button label="1"></el-radio-button>
        <el-radio-button label="2"></el-radio-button>
      </el-radio-group>
    </div>
    <div class="time-left">
      <img src="@/assets/images/gasSit/syg.png" alt="" @click="daydown" />
    </div>
    <div class="time-seach">
      <div class="time-conter">
        <div class="time-conT">
          <img
            style="margin-right: 14px"
            src="@/assets/images/gasSit/sqjt.png"
            alt=""
            @click="dayup"
          />
          <img
            style="margin-right: 18px"
            src="@/assets/images/gasSit/sqjt.png"
            alt=""
            @click="hourup"
          />
        </div>
        <div class="time-conC">{{ time }}</div>
        <div class="time-conB">
          <img
            style="margin-right: 14px"
            src="@/assets/images/gasSit/xljt.png"
            alt=""
            @click="daydown"
          />
          <img
            style="margin-right: 18px"
            src="@/assets/images/gasSit/xljt.png"
            alt=""
            @click="hourdown"
          />
        </div>
      </div>
    </div>
    <div class="time-right">
      <img
        v-if="playing == false"
        style="margin-left: 5px"
        src="@/assets/images/gasSit/bf.png"
        @click="timego"
        alt=""
      />
      <img
        v-else
        style="margin-left: 5px"
        src="@/assets/images/gasSit/zt.png"
        @click="timestop"
        alt=""
      />
      <img
        style="margin-left: 5px"
        src="@/assets/images/gasSit/xyg.png"
        alt=""
        @click="dayup"
      />
    </div>
  </div>
</template>

<script>
import moment from "moment";
export default {
  data() {
    return {
      time: moment().subtract(7, "days").format("YYYY-MM-DD HH:mm"),
      playing: false,
      intervalId: null,
      pastDates: [],
      timer: null,
      radio: "2",
    };
  },
  created() {},
  methods: {
    previousDay() {
      this.time = moment(this.time).subtract(1, "day");
    },
    nextDay() {
      this.time = moment(this.time).add(1, "day");
    },
    radioChange(val) {
      switch (Number(val)) {
        case 1:
          this.isSelectShow = true;
          break;
        case 2:
          this.isSelectShow = false;
          break;
      }
    },
    timego() {
      this.playing = true;
      this.timer = setInterval(() => {
        if (moment().diff(this.time, "days") == 0) {
          clearInterval(this.timer);
          this.timer = null;
          this.playing = false;
        } else {
          this.seventime = moment(this.time)
            .add(1, "day")
            .format("YYYY-MM-DD HH:mm");
          this.time = this.seventime;
        }
      }, 1000);
    },
    timestop() {
      this.playing = false;
    },
    //时间操作
    dayup() {
      if (moment().diff(this.time, "hour") > 0) {
        this.time = moment(this.time).add(1, "day").format("YYYY-MM-DD HH:mm");
        this.$parent.timeShow(this.time);
      } else {
        this.$message("请不要选择超过现在的时间");
      }
    },
    daydown() {
      if (moment().diff(this.time, "days") <= 7) {
        this.time = moment(this.time)
          .subtract(1, "day")
          .format("YYYY-MM-DD HH:mm");
        this.$parent.timeShow(this.time);
      } else {
        this.$message("仅支持查询七天内");
      }
    },
    hourup() {
      if (moment().diff(this.time, "hour") > 0) {
        this.time = moment(this.time).add(1, "hour").format("YYYY-MM-DD HH:mm");
        this.$parent.timeShow(this.time);
      } else {
        this.$message("请不要选择超过现在的时间");
      }
    },
    hourdown() {
      if (moment().diff(this.time, "days") <= 7) {
        this.time = moment(this.time)
          .subtract(1, "hour")
          .format("YYYY-MM-DD HH:mm");
        this.$parent.timeShow(this.time);
      } else {
        this.$message("仅支持查询七天内");
      }
    },
  },
  beforeDestroy() {
    if (this.timer) {
      clearInterval(this.timer);
      this.timer = null;
    }
  },
};
</script>

<style lang="scss" scoped>
.home-time {
  position: absolute;
  height: 70px;
  width: 330px;
  bottom: 20px;
  left: 305px;
  z-index: 99;
  background-color: white;
  padding: 10px;
  border-radius: 6px;
  display: flex;
  .time-left {
    height: 100%;
    width: 28px;
    padding: 12px 0;
  }
  .time-seach {
    height: 50px;
    width: 146px;
    border: 1px solid #70707084;
    border-radius: 4px;
    .time-conter {
      text-align: right;
      .time-conT {
        height: 15px;
        line-height: 10px;
        img {
          height: 100%;
          width: 20px;
        }
      }
      .time-conC {
        text-align: center;
        height: calc(100% - 20px);
      }
      .time-conB {
        height: 15px;
        line-height: 10px;
        img {
          height: 100%;
          width: 20px;
        }
      }
    }
  }
  .time-right {
    height: 100%;
    width: 68px;
    padding: 12px 0;
  }
}
.tab {
  width: 80px;
  padding: 8px 0;
}
::v-deep .el-radio-button__inner {
  padding: 10px;
}
</style>

import Time from "./components/Time.vue";
<Time />

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蕉下冲锋衣:过冬利器还是昙花一现?

“双11”前夕&#xff0c;靠防晒单品小黑伞起家的蕉下上新“过冬”产品冲锋衣。 此前&#xff0c;蕉下于2022年4月和10月分别向港交所递交招股书&#xff0c;拟冲刺“中国城市户外第一股”&#xff1b;截止目前&#xff0c;其IPO申请状态已转为“失效”。 「不二研究」据蕉下…

记一次 .Net+SqlSugar 查询超时的问题排查过程

环境和版本&#xff1a;.Net 6 SqlSuger 5.1.4.* &#xff0c;数据库是mysql 5.7 &#xff0c;数据量在2000多条左右 业务是一个非常简单的查询&#xff0c;代码如下&#xff1a; var list _dbClient.Queryable<tb_name>().ToList(); tb_name 下配置了一对多的关系…

Calibre软件学习

Mentor calibre 软件 版图物理验证主要包括&#xff1a; ①设计规则检查&#xff08; DRC &#xff09; ②电学规则检查&#xff08; ERC &#xff09; ③版图与电路图一致性检查 ( LVS) LVS 版图与电路图一致性检查 ( Layout Versus Schematic, LVS) 的目的在于检查人工…

echarts案例之日历

一、此案例基于Vue3ts&#xff0c;效果展示&#xff1a; 二、单个属性的值&#xff1a; 1、visualMap.pieces 根据值自定义每个小块的颜色 pieces: [ { min: 0, // 最小值 max: 20, // 最大值 label: 未统计, color: rgba(27, 61, 71,1), }, { min: 20, max: 50, label: 优, …

机器学习第一周

一、概述 机器学习大致会被划分为两类&#xff1a;监督学习&#xff0c;无监督学习 1.1 监督学习 监督学习其实就是&#xff0c;给计算机一些输入x和正确的输出y&#xff08;训练数据集&#xff09;&#xff0c;让他总结x->y的映射关系&#xff0c;从而给他其他的输入x&a…

linux套接字选项API

获取套接字的选项值(getsockopt) 【头文件】 #include <sys/types.h> #include <sys/socket.h> 【函数原型】 int getsockopt(int sockfd, int level, int optname,void *optval, socklen_t *optlen); 【函数功能】 用于获取一个套接字的选项 【参数含义】 […

视图,触发器与存储过程

python操作MySQL SQL的由来: MySQL本身就是一款C/S架构&#xff0c;有服务端、有客户端&#xff0c;自身带了有客户端&#xff1a;mysql.exe python这门语言成为了MySQL的客户端(对于一个服务端来说&#xff0c;客户端可以有很多) 操作步骤&#xff1a; 1. 先链接MySQL …

Compose横向列表和网格列表

横向列表LazyRow LazyRow和LazyColumn使用类似。 /*** 横向列表LazyRow*/ Composable fun LazyRowTest() {val context LocalContext.currentval dataList arrayListOf<Int>()for (index in 1..50) {dataList.add(index)}LazyRow {items(dataList) { data ->Box(mo…

大数据可视化BI分析工具Apache Superset实现公网远程访问

大数据可视化BI分析工具Apache Superset实现公网远程访问 文章目录 大数据可视化BI分析工具Apache Superset实现公网远程访问前言1. 使用Docker部署Apache Superset1.1 第一步安装docker 、docker compose1.2 克隆superset代码到本地并使用docker compose启动 2. 安装cpolar内网…

CentOS 安装 tomcat 并设置 开机自启动

CentOS 安装 tomcat 并设置 开机自启动 下载jdk和tomcat curl https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz curl https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.15/bin/apache-tomcat-10.1.15.tar.gz解压jdk和tomcat并修改目录名称 tar -z…

Linux下利用Docker快速部署Kafka

1.摘要 在本文中,介绍了利用Docker安装Kafka的基础环境要求; 利用Docker安装zookeeper过程; 利用Docker安装Kafka过程;进入容器配置生产者和消费者过程; 演示生产者和消费者通讯; 故障排查方法。 2.基础环境准备 提前准备一台安装Linux系统的主机或虚拟机,我这里安装的是Ubu…

Photoshop使用笔记总目录

Photoshop基础学习之工具学习 一、【Photoshop界面认识】 二、【 Photoshop常用快捷键】 三、【色彩模式与颜色填充】 四、【选区】 五、【视图】 六、【常用工具组】 七、【套索工具组】 八、【快速选择工具组】 九、【裁剪工具组】 十、【图框工具组】 十一、【吸取…

二叉树中的topk问题(带图详解)

&#x1f5e1;CSDN主页&#xff1a;d1ff1cult.&#x1f5e1; &#x1f5e1;代码云仓库&#xff1a;d1ff1cult.&#x1f5e1; &#x1f5e1;文章栏目&#xff1a;数据结构专栏&#x1f5e1; TopK问题 在给定的n的数据中&#xff0c;求出这n个数据中最大的k个数字 TopK的代码&a…

C++通过指针获取类的私有成员

前言 C并没有类似java的反射机制&#xff0c;可以暴力获取类的私有成员。然而C因程序员自行管理内存&#xff0c;所以可以通过指针干任何事情。当然&#xff01;操作指针是非常危险的&#xff0c;谨慎操作&#xff01; // dome.cpp : 此文件包含 "main" 函数。程序执…

HackTheBox-Starting Point--Tier 0---Redeemer

文章目录 一 题目二 实验过程 一 题目 Tags Redis、Vulnerability Assessment、Databases、Reconnaissance、Anonymous/Guest Access译文&#xff1a;redis、漏洞评估、数据库、侦察、匿名/访客访问Connect To attack the target machine, you must be on the same network.…

微信智能对话初体验:5分钟搭建免费专属的智能对话机器人

写在前面 投入AI创业几个月了&#xff0c;AI小程序快要上线了&#xff0c;已经在备案审批中&#xff0c;想一起AI搞事情的可以联系我看是否有合作机会。昨天刷X时&#xff0c;看到有人说微信新上线了这个平台&#xff1a;https://chatbot.weixin.qq.com/&#xff0c;赶紧试试&…

VulnHub metasploitable-1

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

科技联众,互利共赢 | 卡驰科技(深圳)有限公司CEO张倍铭博士到访拓世科技集团,共探跨境电商,海外拓展无限可能

在创新的浪潮中&#xff0c;人工智能以其强大的能量持续推动着各行各业的进步&#xff0c;拓世科技集团作为人工智能领域的引领者&#xff0c;通过不断合作和交流&#xff0c;与众多领域的佼佼者共同探讨数字时代的无限可能。卡驰科技&#xff08;深圳&#xff09;有限公司作为…

跨境商城开发:10个关键步骤带你实现全球销售

在数字化时代&#xff0c;跨境电商成为企业扩大市场规模的重要策略之一。本文将揭示为何跨境商城开发是实现全球销售的绝佳途径&#xff0c;以及为什么你应该专注于跨境商城的开发与建设。 十个必备步骤&#xff0c;助你成功搭建跨境商城 第一步&#xff1a;市场研究与目标定…

pdf转jpg的方法【ps和工具方法】

pdf转jpg的方法&#xff1a; 1.photoshop办法&#xff1a; pdf直接拖入ps中&#xff0c;另存为*.Jpg文件即可 另外注意的时候&#xff0c;有时候别人给你pdf文件中包含你需要的jpg文件&#xff0c;千万不要截图进入ps中&#xff0c;直接把文件拖入ps中&#xff0c;这样的文件…