婚庆公司网站的设计与实现上海市住房和城乡建设部网站官网

bicheng/2026/1/16 5:10:05/文章来源:
婚庆公司网站的设计与实现,上海市住房和城乡建设部网站官网,合肥百度 网站建设,做微景观的网站git日历坐标系? 手动实现github活跃/贡献图 前言 在使用github或gitlab时#xff0c;我们总能发现#xff0c;我们一年内的活跃度能够通过一张图直观地展现出来#xff0c;那么你是否好奇它是如何实现的#xff0c;最近工作中也遇到这样类似的需求#xff0c;刚开始打算…git日历坐标系? 手动实现github活跃/贡献图 前言 在使用github或gitlab时我们总能发现我们一年内的活跃度能够通过一张图直观地展现出来那么你是否好奇它是如何实现的最近工作中也遇到这样类似的需求刚开始打算使用echarts的日历坐标系但demo测试下来结果不尽人意除了配置麻烦自定义自由度不够以及对于业务需求支持度也不够因此痛定思痛决定动手手写一个自由度更高的组件。而且对于后端数据结构要求很低除了能展示近一年数据还能自定义时间范围有需要的小伙伴可以直接查看源码https://gitee.com/fcli/vue-calendar-map.git 话不多说先上实现效果图 布局结构 本组件主要分为三个部分 1最左侧展示周一至周日部分,每周开始时间从周日或周一开始可自定义修改 div classweeksdiv classweek周一/divdiv classweek周二/divdiv classweek周三/divdiv classweek周四/divdiv classweek周五/divdiv classweek周六/divdiv classweek周日/div /div2每一列表示一周的始末时间使用el-tooltip悬浮展示具体时间需要的可以自定义修改展示内容和样式 div classcolumn v-for(columnData, columnIndex) in allDateData :keycolumnIndexdiv classmy-title{{ columnData.title }}/divdiv classdate-wrapper v-for(dateItem, dateIndex) in columnData.data :keydateIndex:style{ background: getColor(dateItem.number).color }:class{ hiddenDate: (columnIndex 0 dateIndex prevTodayWeek - 1), active: getColor(dateItem.number).level hoverLevel }el-tooltip classbox-item effectdark :contentdateItem.date placementtopdiv classdate/div/el-tooltip/div /div3贡献图例可自定义实现点击筛选等功能 div classoperationdiv classlegenddiv classlevel-desc少/divdiv classlevel level-1 mouseoverhoverLevel i mouseouthoverLevel 0 v-fori in 5 :keyi:class[level- i]/divdiv classlevel-desc多/div/div /div具体实现 1、首先计算和获取上一年的时间以及是星期几我这里采用dayjs来获取。计算上年今日最接近的周一的时间该时间为起始时间。 // 上年今日 let prevToday dayjs().subtract(1, year).format(YYYY-MM-DD) // 上年今日的是星期几,dayjs获取的为0-60是星期日 let prevTodayWeekNum dayjs(prevToday).format(d) || 7; prevTodayWeek.value prevTodayWeekNum; // 初始日期上年临近的星期一 let firstMondayDate prevTodayWeekNum 1? dayjs().subtract(1, year).subtract(prevTodayWeekNum - 1, days).format(YYYY-MM-DD): prevToday; 2、计算从开始时间到结束时间之间有多少个周计算列数 // 初始日期至今日的天数包括今日 let days dayjs().diff(dayjs(firstMondayDate), days) 1; // 每周天数 let columns 7; // 最大列数周数 let lineNums Math.ceil(days / columns);3、绘制图表数据判断月份需要展示的位置,可往dateData中自定义添加需要的数据字段。第一列直接根据第一天的月份之后的每列数根据上一周的最后一天减去第一天的月份如果大于1代表月份发生了改变下一列的title显示最新的月份。 // 绘制图表的源数据let dateData: any [];let monthCN [一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月];for (let i 0; i lineNums; i) {// 最近一星期不一定满的let weekColumn i lineNums - 1 ? (days % columns ? days % columns : columns) : columns;// 开始计算title月份的图例let theWeekStartMonth dayjs(firstMondayDate).add(i * 7, days).format(M);let day dayjs(firstMondayDate).add(i * 7, days).format(DD);//防止开始时月份挤在一起if (i 0 30 - day 15) {theWeekStartMonth theWeekStartMonth 1;}let theWeekEndMonth dayjs(firstMondayDate).add(i * 7 weekColumn, days).format(M);let title i 0 ? monthCN[theWeekStartMonth - 1] : ;let isSwitchMonth false;if (theWeekEndMonth - theWeekStartMonth) {isSwitchMonth true;}if (i dateData[i - 1].isSwitchMonth) {title monthCN[theWeekEndMonth - 1];}// 图表源数据格式columns列数title列标题isSwitchMonth月份是否发生改变data每格数据dateData.push({columns: weekColumn,title: title,isSwitchMonth: isSwitchMonth,data: []});for (let j 0; j dateData[i].columns; j) {let date dayjs(firstMondayDate).add(i * 7 j, days).format(YYYY-MM-DD);// 提交次数在slider范围内再进行次数赋值let number submissionRecord.value[date];// number提交次数date提交日期dateData[i].data.push({number: number,date: date});}}4根据活跃度或数据量展示不同节点的背景颜色 const getColor (number: number) {let num number / props.maxData;let level 1;if (num 0) {num 0.1;level 1} else if (num 0 num 0.3) {num 0.3;level 2} else if (num 0.3 num 0.6) {num 0.6;level 3} else if (num 0.9) {num 0.8;level 4} else {num 1;level 5}if (props.maxData 0) {num 0.1;level 1}return { color: rgba(55,126,259, num ), level }; }5监听数据的变化动态响应更新组件数据 watch(() props.timeData, (newValue) {submissionRecord.value newValue;init();}, { immediate: true, deep: true })使用示例 已经打包上传npm有需要的小伙伴可以直接安装使用如果需要自定义修改组件内容可访问git源码自行修改。git地址https://gitee.com/fcli/vue-calendar-map.git npm install fcli/vue-calendar-map --save-dev 来安装在项目中使用 import VueCalendarMap from fcli/vue-calendar-map; const appcreateApp(App) app.use(VueCalendarMap); 测试demo templatediv classcontentvue-calendar-map :timeDatatimeData :maxDatamaxData/vue-calendar-map/div /templatescript setup langts import dayjs from dayjs; import VueCalendarMap from ./plugin/index.vue; import {ref} from vue; components:{VueCalendarMap } const maxDataref(190); const timeDatarefany({}) let tempDate:any{} for(let i0;i366;i){let datedayjs().subtract(1, year).add(i, days).format(YYYY-MM-DD)tempDate[date](Math.random() * 200).toFixed(0); } timeData.valuetempDate; /script 参数说明 属性属性名称类型可选值timeData日期和数量对应对象Object{}maxData最大值Number0 最后 本人长期分享一些实用干货和学习总结之类的开源技术文章欢迎有需要的小伙伴点赞收藏和点个关注。

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

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

相关文章

网站建设范文h5开发游戏

Docker 一、Docker 简介1.1 Docker 概述1.2 Docker1.3 Docker 受欢迎的原因1.4 Docker 与 openstack(虚拟机) 的区别1.5 Docker核心概念 二、安装 Docker三、Docker 命令四、Docker 镜像操作五、Docker 容器操作 一、Docker 简介 1.1 Docker 概述 Dock…

dreamware做网站seo诊断的网络问题

目录 问:uni-app 组件库的解决方案?(xx 分钟) 必答​ 加分​ 深入​ 再深入​ 参考链接​ 问:在 uni-app 中,如何进行全局状态管理?请介绍一下你对 Vuex 和 Pinia 的了解。​ 必答​ 加…

原平的旅游网站怎么做的广开街网站建设公司

10月23日,上海外国语大学团委书记、创新创业与实践教育学院执行院长廖文其、俄罗斯东欧中亚学院党总支副书记郝佳、辅导员石朝天及学生代表等一行15人参观访问G60科创走廊俄罗斯院士创新基地(下简称:创新基地)。创新基地主任赵磊、俄罗斯中小企业联合会华…

html5网站模板免费下载wordpress视频插件有哪些

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。 如果…

网站icp备案咋做百度导航如何设置公司地址

SpringCloud openFeign 之 获取被调用服务名 一. 概述 低版本 feign 只能获取到被调用方法的信息。 只有高版本 feign 才支持获取到被调用服务的信息。 二. 代码实现 package com.zxguan.springcloud2.template.user;import com.zxguan.springcloud2.template.user.config…

国外企业网站建设模型新网站建设运营年计划

目录 pnpm 创建一个 Vue.js 项目 前提准备: 运行创建命令: 选择项目配置:(按需选择) cd 项目名:(进入项目终端) 安装项目依赖: 运行项目: pnpm 创建一…

上海做网站需要多少钱做网站怎么切psd图

//获取主机名 QString localHost QHostInfo::localHostName(); 转载于:https://www.cnblogs.com/amwuau/p/8021758.html

做问卷网站好做海外推广的公司

在Python中实现文件的批量分发通常涉及到文件的读取、网络通信以及目标系统上的文件写入。这里有几种方法来实现这一功能,但最常见的方法之一是使用FTP(文件传输协议)或SSH(安全外壳协议)。以下是使用Python通过SSH进行文件批量分发的一个基本示例。这里使用了paramiko库,…

企业网站建设服务网站建设中数据字典

目录 一、NoSQL介绍 1.1什么是NoSQL 1.2为什么会出现NoSQL技术 1.3NoSQL的类别 1.4传统的ACID是什么 1.5 CAP 1.5.1 经典CAP图 1.5.4 什么是BASE 二、Redis概述 2.1 什么是Redis 2.2 Redis能干什么 2.3 Redis的特点 2.4 Redis与memcached对比 2.5 Redis的安装 2.6 Docker安装 三…

广州市省建设厅网站wordpress 加入 swf

房屋租赁系统在设计与实施时,采取了模块性的设计理念,把相似的系统的功能整合到一个模组中,以增强内部的功能,减少各组件之间的联系,从而达到减少相互影响的目的。如房源信息、预约信息、求租信息模块等[12]。 管理员后…

网站如何布局设计微信小程序开发制作公司

拓扑图 由于IS-IS是直接运行在数据链路层上的协议,并且最早设计是给CLNP使用的,IS-IS邻居关系的形成与IP地址无关。但在实际的实现中,由于只在IP上运行IS-IS,所以是要检查对方的IP地址的。如果接口配置了从IP,那么只要…

安丘网站建设佛山家居企业网站建设

1 LocalStorage 2 SessionStorage 3 正则表达式的使用 4 正则表达式常见规则 5 正则练习-歌词解析 6 正则练习-日期格式化 Storage-Storage的基本操作 // storage基本使用// 1.token的操作let token localStorage.getItem("token")if (!token) {console.log(&q…

江油市建设局网站wordpress 主题 使用

ElasticSearch: 项目实战 (1) 需求&#xff1a; 新增文章审核通过后同步数据到es索引库 1、文章服务中添加消息发送方法 在service层文章新增成功后&#xff0c;将数据通过kafka消息同步发送到搜索服务 Autowiredprivate KafkaTemplate<String,String> kafkaTemplate;/…

怎么做微信领券网站株洲在线网站的目标客户

AttributeError: str object has no attribute items python manage.py celery worker --loglevelinfo 查了好久发现原来是因为以前下的redis版本过高&#xff08; 3.0.1 &#xff09;&#xff0c;重装redis pip install redis2.10.6

邯郸网站制作多少钱自己做的网站如何调入dede

Java中文乱码浅析及解决方案 1. 介绍2. 原因分析3. 解决方案4. 环境配置5. 测试 1. 介绍 Java中文乱码通常发生在字符串在不同编码之间转换时&#xff0c;导致编码与解码使用的字符集不一致&#xff0c;或者是平台默认编码与数据的实际编码不一致&#xff0c;这可能在文件读写…

北网站建设二手房网站谁做的更好

原文来自互联网&#xff0c;由长沙DotNET技术社区编译。 .NET中的内存管理资源分配Microsoft .NET公共语言运行时要求从托管堆分配所有资源。当应用程序不再需要对象时&#xff0c;它们将自动释放。初始化进程后&#xff0c;运行时将保留地址空间的连续区域&#xff0c;该区域最…

吴中快速建设网站价格福清市建设局网站

题目大意 给你一棵树&#xff0c;距离为2的两个点代价为wi∗wjw_i*w_jwi​∗wj​&#xff0c;问你最小代价和代价之和 解题思路 搜索这棵树&#xff0c;每次拿父亲和子节点一起计算即可 代码 #include<cstdio> #include<cstring> #include<algorithm> #de…

为什么要建设医院网站丝绸之路网站建设意义

文章目录 构建带maven环境的jenkins 镜像安装jenkinsjenkins yaml 文件安装插件jenkins 配置k8s创建用户凭证 构建带maven环境的jenkins 镜像 # 构建带 maven 环境的 jenkins 镜像 docker build -t 192.168.113.122:8858/library/jenkins-maven:jdk-11 .# 登录 harbor docker …

初学者想学网站建设wordpress自带jquery

算术运算符 算术运算符主要是针对数值类型和长整型&#xff1b;包括有加法、减法、乘法、除法、自增、自减等运算 加法&#xff08;&#xff09; let x:number1let y:number 2console.log(xy)减法&#xff08;-&#xff09; let x:number1let y:number 2console.log(y-x)乘法…

企业网站建设与网页设计学什么的公司内部网络怎么建立

目录 硬件检查 软件检查 调试步骤 硬件检查 硬件工程师检查原理图和PCB&#xff0c;核查RGMII线路连接是否正确&#xff0c;PHY的 TX连接对端 RX&#xff0c;PHY的RX连接对端TX&#xff0c;原理图上以引脚序号引脚名 引脚类型(输入还是输出)逐一核查RGMII接口各个网络&#…