38-Vue之cron表达式组件使用

news2024/11/23 10:10:54

cron表达式组件使用

      • 前言
      • vue-cron-editor-buefy
        • 1. 安装vue-cron-editor-buefy包
        • 2. 使用
        • 3. 配置路由
        • 4. 运行并查看效果
      • vcrontab
        • 1. 安装vcrontab包
        • 2. 使用
        • 3. 配置路由
        • 4. 运行并查看


前言

  • 本篇来学习下vue中如何生成cron表达式的两个包

vue-cron-editor-buefy

1. 安装vue-cron-editor-buefy包

npm install vue-cron-editor-buefy -S
npm install cronstrue -S

2. 使用

  • 在src/views下 新建cronTest.vue.vue文件,内容如下
<template>
    <div id="app">
      <!-- 输入框   -->
      <el-form :model="form" label-position="left">     
        <el-form-item label="cron表达式" :label-width="formLabelWidth">
          <el-input v-model="form.cron_rule" autocomplete="off" placeholder="请输入定时cron表达式" disabled>
            <template slot="append">
              <el-button type="primary" @click="creatCron">
                生成表达式
                <i class="el-icon-time el-icon--right"></i>
              </el-button>
            </template>
          </el-input>
        </el-form-item>

        <!-- cron dialog -->
        <el-dialog title="生成 cron" :visible.sync="showCron">
            <VueCronEditorBuefy v-model="expression"/>
            <div style="color:#2496FF">
                <h5>预览cron表达式: {{ expression }}</h5>
                <h5>cron表达式解释: {{ explainAddCron }}</h5>
            </div>
            <el-button type="primary" size="medium" @click="cronConfirm" style="margin-left: 88%;">确定
            </el-button>
        </el-dialog>
       
      </el-form>
    </div>
  </template>
  <script>
  import VueCronEditorBuefy from 'vue-cron-editor-buefy';
  import cronstrue from "cronstrue/i18n";
  export default {
      components: { cronstrue,VueCronEditorBuefy, },
      data() {
          return {
              input: "",
              expression: "",
              showCron: false,
              cronExpression: "*/1 * * * *",
              form:{},
              formLabelWidth: '120px',
              showCron: false
          };
      },
      computed: {
       explainAddCron() {
        if(this.expression){
        // use24HourTimeFormat : 使用24小时制, 默认false 12小时制
          return cronstrue.toString(this.expression, { locale: "zh_CN",use24HourTimeFormat:true});
        }
        
      }
    },
      methods: {
          creatCron(){
            // 生成表达式
            this.expression = this.cronExpression 
            this.showCron = true
          },        
        cronConfirm() {
            // 生成表达式确定按钮
            this.showCron = false
            this.form.cron_rule = this.expression

            },
          
      }
  };
  </script>  

3. 配置路由

  • 在router.js中添加如下内容
{
    path: '/cron',
    component: Layout,
    children: [
      {
        path: 'cron',
        name: 'cron',
        component: () => import('@/views/cronTest.vue'),
        meta: { title: 'cron', icon: 'form' }
      }
    ]
  }

在这里插入图片描述

4. 运行并查看效果

在这里插入图片描述

vcrontab

1. 安装vcrontab包

npm install  vcrontab -S

2. 使用

  • 在src/views下 新建cronTest.vue.vue文件,内容如下
<template>
    <div id="app">
      <div class="box">
          <el-input v-model="input" placeholder class="inp"></el-input>
          <el-button type="primary" @click="showDialog">生成 cron</el-button>
      </div>
      <el-dialog title="生成 cron" :visible.sync="showCron">
          <vcrontab @hide="showCron=false" @fill="crontabFill" :expression="expression"></vcrontab>
      </el-dialog>
    </div>
  </template>
  <script>
  import vcrontab from 'vcrontab'

  export default {
      components: {vcrontab},
      data() {
          return {
              input: "",
              expression: "",
              showCron: false,
              cronExpression: "*/1 * * * *",
              form:{},
              formLabelWidth: '120px',
              showCron: false
          };
      },
      methods: {
          crontabFill(value) {
              //确定后回传的值
              this.input = value;
          },
          showDialog() {
              this.expression = this.input;//传入的 cron 表达式,可以反解析到 UI 上
              this.showCron = true;
          }
          
      }
  };
  </script>
  

3. 配置路由

  • 同上

4. 运行并查看

在这里插入图片描述

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

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

相关文章

先认识浏览器和 dom

先认识浏览器和 dom 认识浏览器使用控制台(console)初识 dom获取浏览器可见区域高度简单的操作一下 dom向页面添加一个元素innerHTML认识块模式认识坐标与定位小结认识浏览器 我们先创建一个文本文件,然后将其扩展名改成 html,或者直接创建一个 html 文档。嗯,空白的,里…

『pyqt5 从0基础开始项目实战』08. 本地数据配置文件的保存与读取之SMTP邮件报警(保姆级图文)

目录导包和框架代码简化说明绑定鼠标事件编写弹窗UI和读取配置保存配置功能读取本地配置文件编写UI界面保存设置main.py中启动弹窗UI完整代码main.pythreads.pydialog.py总结欢迎关注 『pyqt5 从0基础开始项目实战』 专栏&#xff0c;持续更新中 欢迎关注 『pyqt5 从0基础开始项…

什么是MVVM?

MVVM 是 Model-View-ViewModel 的缩写&#xff0c;是M-V-VM三部分组成。它本质上就是MVC的改进版。 M&#xff1a;Model 代表数据模型&#xff0c;也可以在Model中定义数据修改和操作的业务逻辑。 V&#xff1a;View 代表视图UI&#xff0c;它负责将数据模型转化成UI 展现出来。…

OpenResty+OpenWAF的WEB防护实战

OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台&#xff0c;其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。本文介绍通过OpenRestyOpenWAF来搭建软WAF的应用&#xff…

【Linux】多线程协同

目录 生产消费模型 BlockQueue阻塞队列模型 BlockQueue.hp Task.hpp mypc.cc RingQueue循环队列模型 POSIX信号量 RingQueue.hpp Task.hpp main.cc 生产消费模型 生产者与生产者之间关系&#xff1a;互斥&#xff08;竞争&#xff09; 消费者与消费者之间关系&…

偏向锁到轻量级锁的升级过程(耗资源)

目录 上原理&#xff1a; 细说原理&#xff1a; 什么是锁记录呢&#xff1f; 什么是Mark Word 呢&#xff1f; 上图解&#xff1a; 上原理&#xff1a; 偏向锁使⽤了⼀种等到竞争出现才释放锁的机制&#xff0c;所以当其他线程尝试竞争偏向锁时&#xff0c; 持有偏向锁的…

nssctf web 入门(3)

目录 [NISACTF 2022]easyssrf [SWPUCTF 2021 新生赛]ez_unserialize [SWPUCTF 2021 新生赛]no_wakeup 这里通过nssctf的题单web安全入门来写&#xff0c;会按照题单详细解释每题。题单在NSSCTF中。 想入门ctfweb的可以看这个系列&#xff0c;之后会一直出这个题单的解析&…

FLStudio21中文版本好不好用?值不值得下载

FLStudio中文21最新版本以其使用速度而闻名&#xff0c;是一个高度复杂的音乐制作环境。现代的DAW是一种非凡的野兽。首先&#xff0c;它在很大程度上把自己放在了(几乎)每个人记录过程的核心。其次&#xff0c;通过在价格适中的软件中模拟完整的工作室体验&#xff0c;它在音乐…

国内版的ChatGPT弯道超车的机会在哪里?

前言 从去年11月最后一天ChatGPT诞生&#xff0c;截至目前&#xff0c;ChatGPT的热度可谓是爆了。众所周知&#xff0c;ChatGPT是美国“开放人工智能研究中心”研发的聊天机器人程序&#xff0c;它是一个人工智能技术驱动的自然语言处理工具&#xff0c;它能够通过学习和理解人…

【数据分析】— 特征工程、特征设计、特征选择、特征评价、特征学习

【数据分析】— 特征工程特征工程是什么&#xff1f; (Feature Engineering)特征工程的意义特征工程的流程特征的设计从原始数据中如何设计特征&#xff1f;基本特征的提取创建新的特征函数变换特征独热特征表示 One-hot Representation数据的统计特征TF-IDF&#xff08;词频-逆…

「Cpolar」看我如何实现公网远程控制Mac OS【使用mac自带VNC】

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后端的开发语言A…

探寻人工智能前沿 迎接AIGC时代——CSIG企业行(附一些好玩的创新点)

上周我有幸参加了由中国图像图形学会和合合信息共同举办的CSIG企业行活动。这次活动邀请了多位来自图像描述与视觉问答、图文公式识别、自然语言处理、生成式视觉等领域的学者&#xff0c;他们分享了各自的研究成果和经验&#xff0c;并与现场观众进行了深入的交流和探讨。干货…

重感知还是重地图?其实无需选择

近来&#xff0c;关于自动驾驶应该重感知还是重地图是个热点话题&#xff0c;很多重量级车厂、自动驾驶供应商都开始提出重感知轻地图的方案&#xff0c;并承诺很快能发布出对应的产品。业界也出现了高精地图已“死”等类似的言论。 一时之间&#xff0c;似乎轻地图已经成为了…

三种实现模型可视化的方式(print, torchinfo, tensorboard)

记录一下自己使用的三种模型可视化的方式&#xff0c;从简单到难 Print 最简单的是print&#xff0c;就不用多说了。 Torchinfo from torchinfo import summary import torch model (...) summary(model, (1,3,128,128))即可按照像文档路径一样的方式输出结构&#xff0c;…

算法模板(2):数据结构(5)做题积累

数据结构&#xff08;3&#xff09; 一、并查集 238. 银河英雄传说 有 NNN 艘战舰&#xff0c;也依次编号为 1,2,...,N1,2,...,N1,2,...,N&#xff0c;其中第 iii 号战舰处于第 iii 列。有 TTT 条指令&#xff0c;每条指令格式为以下两种之一&#xff1a;M i j&#xff0c;表…

Linux lvm管理讲解及命令

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 前言 目录 一、lvm管理 1.Logical Volume Manager,逻…

【运维笔记】VM centos 环境安装

镜像选择 阿里镜像源 注意在安装时&#xff0c;安装非图形化界面选择minimal版本安装。&#xff08;笔者在安装时选择了erverything和DVD&#xff0c;发现都是图形界面hhh&#xff0c;浪费了一早上时间&#xff09; 翻阅百度垃圾堆&#xff0c;版本号都推荐7.6-7.9&#xff…

图解国家网信办《生成式人工智能服务管理办法(征)》| 附下载

伴随ChatGPT兴起&#xff0c;生成式人工智能技术正作为一种创造性应用&#xff0c;牵引场景创新&#xff0c;推动新技术迭代升级和产业快速增长。由于生成式人工智能处于发展初期&#xff0c;技术成熟度、政策合规性等发展不足&#xff0c;导致其极易面临非法获取数据、个人隐私…

基于差分进化算法的含DG配电网无功优化模型

目录 1 主要内容 目标函数 算法流程 2 部分程序 3 程序结果 4 程序链接 1 主要内容 该程序参考《自适应多目标差分进化算法在计及电压稳定性的无功优化中的应用》&#xff0c;以网损和电压偏差为目标&#xff0c;考虑DG无功出力和电容器组&#xff0c;建立多目标无功优化…

OpenAI-ChatGPT最新官方接口《文本交互》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(一)(附源码)

Text completion 文本交互前言Introduction 导言Prompt design 提示设计Basics基础知识TroubleshootingClassificationImproving the classifiers efficiency 提高分类器的效率Generation 总结Conversation 对话Transformation 变化Translation 翻译Conversion 转化Summarizati…