npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

fireworks-schedule

v2.3.12

Published

fireworks的个人课表组件 - 包含 vue2.0 和 vue3 版本

Readme

FireworksSchedule 组件使用文档

概述

FireworksSchedule 是一个基于 Vue2和vue3 的交互式课程表组件,支持课程拖拽、导出课程表为图片、清空课程表等功能。适用于课程管理、日程安排等场景。


在线预览地址

http://110.42.250.3:11103/


仓库地址

https://gitee.com/titou-annihilation/students.git

安装与引入

安装

npm install fireworks-schedule

<script>
<!-- vue2版本 -->
import FireworksSchedule from 'fireworks-schedule/vue2';
import 'fireworks-schedule/vue2/style.css';


<!-- vue3版本 -->
import FireworksSchedule from 'fireworks-schedule/vue3';
import 'fireworks-schedule/vue3/style.css';

export default {
 components: {
    FireworksSchedule
  },
  data() {
    return {
      subjects: ['数学', '英语', '语文'],
      times: ['第一节', '第二节', '第三节', '第四节', '第五节', '第六节'],
      dayslist: ['周一', '周二', '周三', '周四', '周五'],
      watermarkText: 'Fireworks的课程表组件',
      mainTitle: '课程表',
      SubjectTitle: '课程列表',
      primaryColor: '#ff4100',
      subjectListWidth: '220px',
      scheduleContainerWidth: 'auto',
      cellWidth: 'auto',
      cellHeight: '90px'
    };
  },
  methods: {
    onCourseAdded(payload) {
      console.log('课程添加成功', payload);
    },
    onCourseRemoved(payload) {
      console.log('课程移除成功', payload);
    },
    onExportComplete(image) {
      console.log('课程表导出完成', image);
    },
    onClearComplete() {
      console.log('课程表已清空');
    },
    onMoveSuccess() {
      console.log('课程移动成功');
    },
    onConfirmRemove(payload) {
      console.log('确认移除课程', payload);
    },
    onCancelRemove() {
      console.log('取消移除课程');
    },
    onDragStart(event, subject) {
      console.log('开始拖拽课程', subject);
    },
    onCellDragStart(event, row, col) {
      console.log('开始拖拽单元格', row, col);
    }
  }
};
</script>

<template>
  <div>
    <FireworksSchedule
      :subjects="subjects"
      :times="times"
      :dayslist="dayslist"
      :watermarkText="watermarkText"
      :mainTitle="mainTitle"
      :SubjectTitle="SubjectTitle"
      :primaryColor="primaryColor"
      :subjectListWidth="subjectListWidth"
      :scheduleContainerWidth="scheduleContainerWidth"
      :cellWidth="cellWidth"
      :cellHeight="cellHeight"
      @course-added="onCourseAdded"
      @course-removed="onCourseRemoved"
      @export-complete="onExportComplete"
      @clear-complete="onClearComplete"
      @move-success="onMoveSuccess"
      @confirm-remove="onConfirmRemove"
      @cancel-remove="onCancelRemove"
      @onDragStart="onDragStart"
      @onCellDragStart="onCellDragStart"
    />
  </div>
</template>

组件属性说明

| 属性名 | 类型 | 默认值 | 说明 | | --- | --- | --- | --- | | subjects | Array | ['数学', '英语', '语文'] | 课程列表 | | times | Array | ['第一节', '第二节', ..., '第六节'] | 时间表 | | dayslist | Array | ['周一', '周二', ..., '周五'] | 星期列表 | | watermarkText | String | 'Fireworks的课程表组件' | 水印文本 | | mainTitle | String | '课程表' | 主标题 | | SubjectTitle | String | '课程列表' | 课程列表标题 | | primaryColor | String | '#ff4100' | 主体颜色 | | subjectListWidth | String | '220px' | 左侧课程列表宽度 | | scheduleContainerWidth | String | 'auto' | 右侧课程表容器宽度 | | cellWidth | String | 'auto' | 右侧课程表内单元格宽度 | | cellHeight | String | '90px' | 右侧课程表内单元格高度 |


组件事件说明

| 事件名 | 说明 | | --- | --- | | course-added | 课程添加成功时触发,返回添加课程的信息({ row, col, subject }) | | course-removed | 课程移除成功时触发,返回移除课程的信息({ row, col }) | | export-complete | 课程表导出完成时触发,返回导出的图片数据(image) | | clear-complete | 课程表清空完成时触发 | | move-success | 课程移动成功时触发 | | confirm-remove | 确认移除课程时触发,返回移除课程的信息({ row, col }) | | cancel-remove | 取消移除课程时触发 | | onDragStart | 开始拖拽课程时触发,返回拖拽事件和课程名称(event, subject) | | onCellDragStart | 开始拖拽单元格时触发,返回拖拽事件和单元格的行、列索引(event, row, col) |


注意事项

1、导出图片:使用 exportAsImage 方法导出课程表为图片时,确保页面中没有跨域资源,否则可能导致导出失败。

2、颜色样式:组件中的颜色样式使用了 CSS 变量,可通过修改 primaryColor 属性来改变主体颜色。

3、动态调整:组件支持动态调整课程表大小和布局,可通过 subjectListWidth、scheduleContainerWidth 等属性自定义宽度和高度。


许可证

MIT License


贡献

欢迎提交 Issue 或 Pull Request 以改进组件功能。


作者

Fireworks


版本

2.3.2