forked from ccsens_fe/tall-mui-3
12 changed files with 836 additions and 102 deletions
@ -1,140 +1,141 @@ |
|||
# 0.1.0 (2021-08-03) |
|||
# 0.1.0 (2021-08-04) |
|||
|
|||
### 🌟 新功能 |
|||
范围|描述|commitId |
|||
--|--|-- |
|||
- | db store | 6414c4f |
|||
- | indexedDB | 687394e |
|||
pinch | alloy finger实现图片的pinch放大缩小 | de01343 |
|||
plugin | 插件添加了token及param参数 | aeb0292 |
|||
- | post 封装 | da52e94 |
|||
- | tall插件封装 | 1bcb920 |
|||
- | ws storage | 21b3a06 |
|||
- | 全局插件及默认插件位置修改 | 6c80d08 |
|||
- | 字体大小更改 | 82cfdd4 |
|||
- | 存token | b8a178d |
|||
- | 定期任务面板骨架屏添加 | b2698c0 |
|||
富文本插件 | 富文本插件demo测试 | ed3d644 |
|||
- | 引入dayjs | 29b8b93 |
|||
- | 提交到本地 | 9cbe411 |
|||
- | 插件参数处理调整 | a3e68d3 |
|||
- | 插件数据获取 | 5b91bdc |
|||
- | 日常任务插件调整 | c1881f9 |
|||
- | 时间基准线,默认插件 | a33ba1e |
|||
- | 时间轴修改状态时提示框增加 | e841392 |
|||
- | 时间轴界面 | 33927e9 |
|||
- | 标题栏变化 | 3898cfe |
|||
- | 标题栏变化 | c0fcd9d |
|||
- | 标题栏角色栏全局任务组件新建 | 0500cb4 |
|||
- | 模拟接口测试 | 69e7931 |
|||
- | 添加时间轴上下滚动 | 2b81bbc |
|||
- | 角色栏实现 | 94cd671 |
|||
- | 距调整pc端 | 5069aa1 |
|||
- | 配置默认插件接口 | f0c177d |
|||
plugin | 插件添加了token及param参数 | [aeb0292](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/aeb0292) |
|||
- | 标题栏变化 | [3898cfe](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/3898cfe) |
|||
- | 标题栏变化 | [c0fcd9d](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/c0fcd9d) |
|||
- | 标题栏角色栏全局任务组件新建 | [0500cb4](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/0500cb4) |
|||
- | 插件参数处理调整 | [a3e68d3](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/a3e68d3) |
|||
- | 插件数据获取 | [5b91bdc](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/5b91bdc) |
|||
- | 存token | [b8a178d](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/b8a178d) |
|||
- | 定期任务面板骨架屏添加 | [b2698c0](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/b2698c0) |
|||
- | 角色栏实现 | [94cd671](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/94cd671) |
|||
- | 距调整pc端 | [5069aa1](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/5069aa1) |
|||
- | 模拟接口测试 | [69e7931](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/69e7931) |
|||
- | 配置默认插件接口 | [f0c177d](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/f0c177d) |
|||
- | 全局插件及默认插件位置修改 | [6c80d08](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/6c80d08) |
|||
- | 日常任务插件调整 | [c1881f9](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/c1881f9) |
|||
- | 时间基准线,默认插件 | [a33ba1e](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/a33ba1e) |
|||
- | 时间轴界面 | [33927e9](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/33927e9) |
|||
- | 时间轴修改状态时提示框增加 | [e841392](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/e841392) |
|||
- | 提交到本地 | [9cbe411](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/9cbe411) |
|||
- | 添加时间轴上下滚动 | [2b81bbc](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/2b81bbc) |
|||
- | 引入dayjs | [29b8b93](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/29b8b93) |
|||
- | 字体大小更改 | [82cfdd4](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/82cfdd4) |
|||
- | db store | [6414c4f](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/6414c4f) |
|||
- | indexedDB | [687394e](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/687394e) |
|||
- | post 封装 | [da52e94](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/da52e94) |
|||
- | tall插件封装 | [1bcb920](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/1bcb920) |
|||
- | ws storage | [21b3a06](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/21b3a06) |
|||
富文本插件 | 富文本插件demo测试 | [ed3d644](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/ed3d644) |
|||
pinch | alloy finger实现图片的pinch放大缩小 | [de01343](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/de01343) |
|||
|
|||
|
|||
### 🎨 代码样式 |
|||
范围|描述|commitId |
|||
--|--|-- |
|||
- | 代码格式细节调整 | cb2532b |
|||
- | 任务快捷方式图标增加 | 4aba872 |
|||
- | 修改角色样式 | 73e268e |
|||
- | 删除多余字段 | 5ae3973 |
|||
- | 删除插件携带的多余文件 | 0f392bb |
|||
- | 图标修改 | 54bca09 |
|||
- | 无基本变化 | 21ac4bb |
|||
- | 日常任务修改 | dfa7ee2 |
|||
- | 更新代码 | 8c27e68 |
|||
- | 更新代码 | 1f40a76 |
|||
- | 格式细节调整 | b907a03 |
|||
- | 添加插件数据 | 2f11b42 |
|||
- | 组件新建 | 89c0035 |
|||
- | 代码格式细节调整 | [cb2532b](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/cb2532b) |
|||
- | 格式细节调整 | [b907a03](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/b907a03) |
|||
- | 更新代码 | [8c27e68](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/8c27e68) |
|||
- | 更新代码 | [1f40a76](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/1f40a76) |
|||
- | 任务快捷方式图标增加 | [4aba872](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/4aba872) |
|||
- | 日常任务修改 | [dfa7ee2](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/dfa7ee2) |
|||
- | 删除插件携带的多余文件 | [0f392bb](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/0f392bb) |
|||
- | 删除多余字段 | [5ae3973](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/5ae3973) |
|||
- | 添加插件数据 | [2f11b42](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/2f11b42) |
|||
- | 图标修改 | [54bca09](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/54bca09) |
|||
- | 无基本变化 | [21ac4bb](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/21ac4bb) |
|||
- | 修改角色样式 | [73e268e](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/73e268e) |
|||
- | 组件新建 | [89c0035](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/89c0035) |
|||
|
|||
|
|||
### 🐛 Bug 修复 |
|||
范围|描述|commitId |
|||
--|--|-- |
|||
ID1000343 | 解决向下预加载查询参数时间没+1颗粒度;以及滚动加载颗粒度写死的问题 | 940603a, closes #ID1000343 |
|||
plugin | 插件解析机制完善 | 0f5a27d |
|||
project title | 项目标题修改; 切换角色移除script | 5c20017 |
|||
roles | 修复默认显示不是我的角色的问题 | b69f94f |
|||
role | 切换角色的逻辑修正完善 | 4ae534f |
|||
task任务逻辑完善 | 减少初始global及regular的不必要请求 | bd4bd38 |
|||
- | 上下滑动加载定期任务 | 4090d89 |
|||
- | 上下滚动时间轴 | d533a01 |
|||
- | 下拉加载定期任务传参,时间格式化修改 | 0b95a0e |
|||
- | 任务开始时间延迟插件 | 992a313 |
|||
- | 修改main | 749ae9a |
|||
- | 修改报错 | 531c14d |
|||
- | 修改角色栏组件 | a54c601 |
|||
- | 定期任务接口 | aa4981c |
|||
- | 定期任务插件 | 92b3254 |
|||
- | 提示信息显示bug及日常任务收缩问题 | f2f06c5 |
|||
- | 插件bug解决 | 41257eb |
|||
- | 日常任务html数据查验 | 880ce5c |
|||
- | 日常任务插件遍历时的key值修改 | cd26285 |
|||
- | 日常任务插件面板高度修改 | 249f9e4 |
|||
- | 时间轴上下滑动 | 4d0ae46 |
|||
- | 时间轴上下滚动数据加载bug修改 | e82ede4 |
|||
- | 时间轴插件 | 225d3cc |
|||
- | 时间轴骨架屏修改 | ca78d02 |
|||
- | 角色栏修改 | 19228d6 |
|||
- | 解决时间轴报错 | da1eece |
|||
- | 骨架屏替换 | e9fdd71 |
|||
ID1000343 | 解决向下预加载查询参数时间没+1颗粒度;以及滚动加载颗粒度写死的问题 | [940603a](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/940603a), closes [#ID1000343](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/issues/ID1000343) |
|||
plugin | 插件解析机制完善 | [0f5a27d](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/0f5a27d) |
|||
project title | 项目标题修改; 切换角色移除script | [5c20017](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/5c20017) |
|||
role | 切换角色的逻辑修正完善 | [4ae534f](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/4ae534f) |
|||
roles | 修复默认显示不是我的角色的问题 | [b69f94f](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/b69f94f) |
|||
task任务逻辑完善 | 减少初始global及regular的不必要请求 | [bd4bd38](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/bd4bd38) |
|||
- | 插件bug解决 | [41257eb](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/41257eb) |
|||
- | 定期任务插件 | [92b3254](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/92b3254) |
|||
- | 定期任务接口 | [aa4981c](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/aa4981c) |
|||
- | 骨架屏替换 | [e9fdd71](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/e9fdd71) |
|||
- | 角色栏修改 | [19228d6](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/19228d6) |
|||
- | 解决时间轴报错 | [da1eece](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/da1eece) |
|||
- | 任务开始时间延迟插件 | [992a313](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/992a313) |
|||
- | 日常任务插件遍历时的key值修改 | [cd26285](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/cd26285) |
|||
- | 日常任务插件面板高度修改 | [249f9e4](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/249f9e4) |
|||
- | 日常任务html数据查验 | [880ce5c](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/880ce5c) |
|||
- | 上下滚动时间轴 | [d533a01](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/d533a01) |
|||
- | 上下滑动加载定期任务 | [4090d89](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/4090d89) |
|||
- | 时间轴插件 | [225d3cc](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/225d3cc) |
|||
- | 时间轴骨架屏修改 | [ca78d02](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/ca78d02) |
|||
- | 时间轴上下滚动数据加载bug修改 | [e82ede4](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/e82ede4) |
|||
- | 时间轴上下滑动 | [4d0ae46](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/4d0ae46) |
|||
- | 提示信息显示bug及日常任务收缩问题 | [f2f06c5](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/f2f06c5) |
|||
- | 下拉加载定期任务传参,时间格式化修改 | [0b95a0e](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/0b95a0e) |
|||
- | 修改报错 | [531c14d](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/531c14d) |
|||
- | 修改角色栏组件 | [a54c601](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/a54c601) |
|||
- | 修改main | [749ae9a](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/749ae9a) |
|||
|
|||
|
|||
### 📝 文档 |
|||
范围|描述|commitId |
|||
--|--|-- |
|||
- | README.md | ab0eb05 |
|||
- | README.md | [ab0eb05](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/ab0eb05) |
|||
|
|||
|
|||
### 🔨 代码重构 |
|||
范围|描述|commitId |
|||
--|--|-- |
|||
- | project 代码健壮性完善 | a3202c5 |
|||
store/home | 删除store/home | db8a3b4 |
|||
task beginTime | 格式化任务开始时间 | fbc0301 |
|||
template | eslint prettier sass uview tailwindcss | 9c966a1 |
|||
tip | 任务状态显示及tip组件数据的重构 | 78a5750 |
|||
- | 下滑时间轴添加备注 | 4fd20e3 |
|||
- | 任务状态重构 | 4693655 |
|||
- | 删除多余的技术验证界面 | 542ae5b |
|||
- | 界面样式调整 | 4367249 |
|||
- | 重构store分层 | 5f6fff8 |
|||
store/home | 删除store/home | [db8a3b4](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/db8a3b4) |
|||
task beginTime | 格式化任务开始时间 | [fbc0301](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/fbc0301) |
|||
tip | 任务状态显示及tip组件数据的重构 | [78a5750](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/78a5750) |
|||
tips | 修改任务状态方法重构 | [b57d3ac](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/b57d3ac) |
|||
- | 界面样式调整 | [4367249](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/4367249) |
|||
- | 任务状态重构 | [4693655](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/4693655) |
|||
- | 删除多余的技术验证界面 | [542ae5b](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/542ae5b) |
|||
- | 下滑时间轴添加备注 | [4fd20e3](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/4fd20e3) |
|||
- | 重构store分层 | [5f6fff8](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/5f6fff8) |
|||
- | project 代码健壮性完善 | [a3202c5](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/a3202c5) |
|||
template | eslint prettier sass uview tailwindcss | [9c966a1](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/9c966a1) |
|||
|
|||
|
|||
### 🚀 性能优化 |
|||
范围|描述|commitId |
|||
--|--|-- |
|||
- | 插件查询及展示 | 4dba770 |
|||
- | 测试接口 | 215e074 |
|||
- | 组件文件夹新建 | 22bfe7b |
|||
- | 组件文件夹新建 | 17bb8c9 |
|||
- | 组件文件夹新建 | 1421504 |
|||
- | 角色栏文字颜色修改 | 215c6b3 |
|||
- | 解决警告 | c932b09 |
|||
- | 测试接口 | [215e074](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/215e074) |
|||
- | 插件查询及展示 | [4dba770](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/4dba770) |
|||
- | 角色栏文字颜色修改 | [215c6b3](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/215c6b3) |
|||
- | 解决警告 | [c932b09](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/c932b09) |
|||
- | 组件文件夹新建 | [22bfe7b](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/22bfe7b) |
|||
- | 组件文件夹新建 | [17bb8c9](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/17bb8c9) |
|||
- | 组件文件夹新建 | [1421504](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/1421504) |
|||
|
|||
|
|||
### chore |
|||
范围|描述|commitId |
|||
--|--|-- |
|||
- | api 封装 | 8dcb8a2 |
|||
- | env host修改 | a79a4a5 |
|||
- | merge globals | b0957cc |
|||
- | merge wrr | 5ccc7a5 |
|||
- | mock | 51c24a5 |
|||
package manifest | 去掉了摇树 | f7c1dd4 |
|||
pwa 小程序 | 移除了pwa,alloyFinger添加平台判断 | 875fab4 |
|||
- | uview-ui | a9ea34b |
|||
信息配置 | 配置eslint等配置 | 7421443 |
|||
- | 修复不能build的问题 | 0b7b91e |
|||
- | 删除多余的构建的命令 | 3f4eb2f |
|||
- | 删除多余的构建的命令 | [3f4eb2f](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/3f4eb2f) |
|||
- | 修复不能build的问题 | [0b7b91e](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/0b7b91e) |
|||
- | api 封装 | [8dcb8a2](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/8dcb8a2) |
|||
- | env host修改 | [a79a4a5](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/a79a4a5) |
|||
- | merge globals | [b0957cc](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/b0957cc) |
|||
- | merge wrr | [5ccc7a5](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/5ccc7a5) |
|||
package manifest | 去掉了摇树 | [f7c1dd4](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/f7c1dd4) |
|||
- | mock | [51c24a5](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/51c24a5) |
|||
信息配置 | 配置eslint等配置 | [7421443](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/7421443) |
|||
pwa 小程序 | 移除了pwa,alloyFinger添加平台判断 | [875fab4](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/875fab4) |
|||
- | uview-ui | [a9ea34b](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/a9ea34b) |
|||
|
|||
|
|||
范围|描述|commitId |
|||
--|--|-- |
|||
- | style:index | 978f272 |
|||
- | !2 基础模板v1.1.0 | f5e61dd |
|||
- | init | c0f1deb |
|||
- | style:index | [978f272](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/978f272) |
|||
- | !2 基础模板v1.1.0 | [f5e61dd](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/f5e61dd) |
|||
- | init | [c0f1deb](https://dd.tall.wiki/gitea/wally/TALL-MUI-3/commits/c0f1deb) |
|||
|
|||
|
@ -0,0 +1,442 @@ |
|||
<template> |
|||
<view class="zzx-calendar"> |
|||
<view class="calendar-heander"> |
|||
{{ timeStr }} |
|||
</view> |
|||
<view class="calendar-weeks"> |
|||
<view class="calendar-week" v-for="(week, index) in weeks" :key="index"> |
|||
{{ week }} |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="calendar-content"> |
|||
<swiper |
|||
class="calendar-swiper" |
|||
:style="{ |
|||
width: '100%', |
|||
height: sheight, |
|||
}" |
|||
:indicator-dots="false" |
|||
:autoplay="false" |
|||
:duration="duration" |
|||
:current="current" |
|||
@change="changeSwp" |
|||
:circular="true" |
|||
> |
|||
<swiper-item class="calendar-item" v-for="sitem in swiper" :key="sitem"> |
|||
<view class="calendar-days"> |
|||
<template v-if="sitem === current"> |
|||
<view |
|||
class="calendar-day" |
|||
v-for="(item, index) in days" |
|||
:key="index" |
|||
:class="{ |
|||
'day-hidden': !item.show, |
|||
}" |
|||
@click="clickItem(item)" |
|||
> |
|||
<view class="date" :class="[item.isToday ? todayClass : '', item.fullDate === selectedDate ? checkedClass : '']"> |
|||
{{ item.time.getDate() }} |
|||
</view> |
|||
<view class="dot-show" v-if="item.info" :style="dotStyle"> </view> |
|||
</view> |
|||
</template> |
|||
<template v-else> |
|||
<template v-if="current - sitem === 1 || current - sitem === -2"> |
|||
<view |
|||
class="calendar-day" |
|||
v-for="(item, index) in predays" |
|||
:key="index" |
|||
:class="{ |
|||
'day-hidden': !item.show, |
|||
}" |
|||
> |
|||
<view class="date" :class="[item.isToday ? todayClass : '']"> |
|||
{{ item.time.getDate() }} |
|||
</view> |
|||
</view> |
|||
</template> |
|||
<template v-else> |
|||
<view |
|||
class="calendar-day" |
|||
v-for="(item, index) in nextdays" |
|||
:key="index" |
|||
:class="{ |
|||
'day-hidden': !item.show, |
|||
}" |
|||
> |
|||
<view class="date" :class="[item.isToday ? todayClass : '']"> |
|||
{{ item.time.getDate() }} |
|||
</view> |
|||
</view> |
|||
</template> |
|||
</template> |
|||
</view> |
|||
</swiper-item> |
|||
</swiper> |
|||
<view class="mode-change" @click="changeMode"> |
|||
<view :class="weekMode ? 'mode-arrow-bottom' : 'mode-arrow-top'"> </view> |
|||
</view> |
|||
</view> |
|||
<view class="back-today" @click="goback" v-if="showBack"> 今日 </view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import { gegerateDates, dateEqual, formatDate } from './generateDates.js'; |
|||
|
|||
export default { |
|||
props: { |
|||
duration: { |
|||
type: Number, |
|||
default: 500, |
|||
}, |
|||
dotList: { |
|||
type: Array, /// 打点日期列表 |
|||
default() { |
|||
return []; |
|||
}, |
|||
}, |
|||
showBack: { |
|||
type: Boolean, // 是否返回今日 |
|||
default: false, |
|||
}, |
|||
todayClass: { |
|||
type: String, // 今日的自定义样式class |
|||
default: 'is-today', |
|||
}, |
|||
checkedClass: { |
|||
type: String, // 选中日期的样式class |
|||
default: 'is-checked', |
|||
}, |
|||
dotStyle: { |
|||
type: Object, // 打点日期的自定义样式 |
|||
default() { |
|||
return { background: '#FF0000' }; |
|||
}, |
|||
}, |
|||
}, |
|||
watch: { |
|||
dotList: function (newvalue) { |
|||
const days = this.days.slice(0); |
|||
newvalue.forEach(item => { |
|||
const index = days.findIndex(ditem => ditem.fullDate === item.date); |
|||
if (index > 0) { |
|||
days[index].info = item; |
|||
} |
|||
}); |
|||
this.days = days; |
|||
console.log(days); |
|||
}, |
|||
}, |
|||
computed: { |
|||
sheight() { |
|||
// 根据年月判断有多少行 |
|||
// 判断该月有多少天 |
|||
let h = '70rpx'; |
|||
if (!this.weekMode) { |
|||
const d = new Date(this.currentYear, this.currentMonth, 0); |
|||
const days = d.getDate(); // 判断本月有多少天 |
|||
let day = new Date(d.setDate(1)).getDay(); |
|||
if (day === 0) { |
|||
day = 7; |
|||
} |
|||
const pre = 8 - day; |
|||
const rows = Math.ceil((days - pre) / 7) + 1; |
|||
h = 70 * rows + 'rpx'; |
|||
} |
|||
return h; |
|||
}, |
|||
timeStr() { |
|||
let str = ''; |
|||
const d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
const y = d.getFullYear(); |
|||
const m = d.getMonth() + 1 <= 9 ? `0${d.getMonth() + 1}` : d.getMonth() + 1; |
|||
str = `${y}年${m}月`; |
|||
return str; |
|||
}, |
|||
predays() { |
|||
let pres = []; |
|||
if (this.weekMode) { |
|||
const d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
d.setDate(d.getDate() - 7); |
|||
pres = gegerateDates(d, 'week'); |
|||
} else { |
|||
const d = new Date(this.currentYear, this.currentMonth - 2, 1); |
|||
pres = gegerateDates(d, 'month'); |
|||
} |
|||
return pres; |
|||
}, |
|||
nextdays() { |
|||
let nexts = []; |
|||
if (this.weekMode) { |
|||
const d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
d.setDate(d.getDate() + 7); |
|||
nexts = gegerateDates(d, 'week'); |
|||
} else { |
|||
const d = new Date(this.currentYear, this.currentMonth, 1); |
|||
nexts = gegerateDates(d, 'month'); |
|||
} |
|||
return nexts; |
|||
}, |
|||
}, |
|||
data() { |
|||
return { |
|||
weeks: ['一', '二', '三', '四', '五', '六', '日'], |
|||
current: 1, |
|||
currentYear: '', |
|||
currentMonth: '', |
|||
currentDate: '', |
|||
days: [], |
|||
weekMode: true, |
|||
swiper: [0, 1, 2], |
|||
// dotList: [], // 打点的日期列表 |
|||
selectedDate: formatDate(new Date(), 'yyyy-MM-dd'), |
|||
}; |
|||
}, |
|||
methods: { |
|||
changeSwp(e) { |
|||
// console.log(e); |
|||
const pre = this.current; |
|||
const current = e.target.current; |
|||
/* 根据前一个减去目前的值我们可以判断是下一个月/周还是上一个月/周 |
|||
*current - pre === 1, -2时是下一个月/周 |
|||
*current -pre === -1, 2时是上一个月或者上一周 |
|||
*/ |
|||
this.current = current; |
|||
if (current - pre === 1 || current - pre === -2) { |
|||
this.daysNext(); |
|||
} else { |
|||
this.daysPre(); |
|||
} |
|||
}, |
|||
// 初始化日历的方法 |
|||
initDate(cur) { |
|||
let date = ''; |
|||
if (cur) { |
|||
date = new Date(cur); |
|||
} else { |
|||
date = new Date(); |
|||
} |
|||
this.currentDate = date.getDate(); // 今日日期 几号 |
|||
this.currentYear = date.getFullYear(); // 当前年份 |
|||
this.currentMonth = date.getMonth() + 1; // 当前月份 |
|||
this.currentWeek = date.getDay() === 0 ? 7 : date.getDay(); // 1...6,0 // 星期几 |
|||
// const nowY = new Date().getFullYear(); // 当前年份 |
|||
// const nowM = new Date().getMonth() + 1; |
|||
// const nowD = new Date().getDate(); // 今日日期 几号 |
|||
// const nowW = new Date().getDay(); |
|||
// this.selectedDate = formatDate(new Date(), 'yyyy-MM-dd') |
|||
this.days = []; |
|||
let days = []; |
|||
if (this.weekMode) { |
|||
days = gegerateDates(date, 'week'); |
|||
// this.selectedDate = days[0].fullDate; |
|||
} else { |
|||
days = gegerateDates(date, 'month'); |
|||
// const sel = new Date(this.selectedDate.replace('-', '/').replace('-', '/')); |
|||
// const isMonth = sel.getFullYear() === this.currentYear && (sel.getMonth() + 1) === this.currentMonth; |
|||
// if(!isMonth) { |
|||
// this.selectedDate = formatDate(new Date(this.currentYear, this.currentMonth-1,1), 'yyyy-MM-dd') |
|||
// } |
|||
} |
|||
days.forEach(day => { |
|||
const dot = this.dotList.find(item => { |
|||
return dateEqual(item.date, day.fullDate); |
|||
}); |
|||
if (dot) { |
|||
day.info = dot; |
|||
} |
|||
}); |
|||
this.days = days; |
|||
// 派发事件,时间发生改变 |
|||
let obj = { |
|||
start: '', |
|||
end: '', |
|||
}; |
|||
if (this.weekMode) { |
|||
obj.start = this.days[0].time; |
|||
obj.end = this.days[6].time; |
|||
} else { |
|||
const start = new Date(this.currentYear, this.currentMonth - 1, 1); |
|||
const end = new Date(this.currentYear, this.currentMonth, 0); |
|||
obj.start = start; |
|||
obj.end = end; |
|||
} |
|||
this.$emit('days-change', obj); |
|||
}, |
|||
// 上一个 |
|||
daysPre() { |
|||
if (this.weekMode) { |
|||
const d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
d.setDate(d.getDate() - 7); |
|||
this.initDate(d); |
|||
} else { |
|||
const d = new Date(this.currentYear, this.currentMonth - 2, 1); |
|||
this.initDate(d); |
|||
} |
|||
}, |
|||
// 下一个 |
|||
daysNext() { |
|||
if (this.weekMode) { |
|||
const d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
d.setDate(d.getDate() + 7); |
|||
this.initDate(d); |
|||
} else { |
|||
const d = new Date(this.currentYear, this.currentMonth, 1); |
|||
this.initDate(d); |
|||
} |
|||
}, |
|||
changeMode() { |
|||
const premode = this.weekMode; |
|||
let isweek = false; |
|||
if (premode) { |
|||
isweek = !!this.days.find(item => item.fullDate === this.selectedDate); |
|||
} |
|||
this.weekMode = !this.weekMode; |
|||
let d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
const sel = new Date(this.selectedDate.replace('-', '/').replace('-', '/')); |
|||
const isMonth = sel.getFullYear() === this.currentYear && sel.getMonth() + 1 === this.currentMonth; |
|||
if ((this.selectedDate && isMonth) || isweek) { |
|||
d = new Date(this.selectedDate.replace('-', '/').replace('-', '/')); |
|||
} |
|||
this.initDate(d); |
|||
}, |
|||
// 点击日期 |
|||
clickItem(e) { |
|||
this.selectedDate = e.fullDate; |
|||
this.$emit('selected-change', e); |
|||
}, |
|||
goback() { |
|||
const d = new Date(); |
|||
this.initDate(d); |
|||
}, |
|||
}, |
|||
created() { |
|||
this.initDate(); |
|||
}, |
|||
mounted() {}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.zzx-calendar { |
|||
width: 100%; |
|||
height: auto; |
|||
.calendar-heander { |
|||
text-align: center; |
|||
height: 60upx; |
|||
line-height: 60upx; |
|||
position: relative; |
|||
font-size: 30upx; |
|||
} |
|||
.calendar-weeks { |
|||
width: 100%; |
|||
display: flex; |
|||
flex-flow: row nowrap; |
|||
height: 60upx; |
|||
line-height: 60upx; |
|||
justify-content: center; |
|||
align-items: center; |
|||
font-size: 30upx; |
|||
.calendar-week { |
|||
width: calc(100% / 7); |
|||
height: 100%; |
|||
text-align: center; |
|||
} |
|||
} |
|||
swiper { |
|||
width: 100%; |
|||
height: 60upx; |
|||
} |
|||
.calendar-content { |
|||
min-height: 60upx; |
|||
} |
|||
.calendar-swiper { |
|||
min-height: 70upx; |
|||
transition: height ease-out 0.3s; |
|||
} |
|||
.calendar-item { |
|||
margin: 0; |
|||
padding: 0; |
|||
height: 100%; |
|||
} |
|||
.calendar-days { |
|||
display: flex; |
|||
flex-flow: row wrap; |
|||
width: 100%; |
|||
height: 100%; |
|||
overflow: hidden; |
|||
font-size: 28upx; |
|||
.calendar-day { |
|||
width: calc(100% / 7); |
|||
height: 70upx; |
|||
text-align: center; |
|||
display: flex; |
|||
flex-flow: column nowrap; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
position: relative; |
|||
} |
|||
} |
|||
.day-hidden { |
|||
visibility: hidden; |
|||
} |
|||
.mode-change { |
|||
display: flex; |
|||
justify-content: center; |
|||
margin-top: 10upx; |
|||
.mode-arrow-top { |
|||
width: 0; |
|||
height: 0; |
|||
border-left: 12upx solid transparent; |
|||
border-right: 12upx solid transparent; |
|||
border-bottom: 10upx solid #ff6633; |
|||
} |
|||
.mode-arrow-bottom { |
|||
width: 0; |
|||
height: 0; |
|||
border-left: 12upx solid transparent; |
|||
border-right: 12upx solid transparent; |
|||
border-top: 10upx solid #ff6633; |
|||
} |
|||
} |
|||
.is-today { |
|||
background: #ffffff; |
|||
// border: 1upx solid #FF6633; |
|||
border-radius: 50%; |
|||
color: #ff6633; |
|||
} |
|||
.is-checked { |
|||
background: #ff6633; |
|||
color: #ffffff; |
|||
} |
|||
.date { |
|||
width: 50upx; |
|||
height: 50upx; |
|||
line-height: 50upx; |
|||
margin: 0 auto; |
|||
border-radius: 50upx; |
|||
} |
|||
.dot-show { |
|||
width: 8px; |
|||
height: 8px; |
|||
// background: red; |
|||
border-radius: 10upx; |
|||
position: absolute; |
|||
top: 2px; |
|||
right: 10px; |
|||
} |
|||
.back-today { |
|||
// position: absolute; |
|||
line-height: 30upx; |
|||
font-size: 20px; |
|||
top: 15upx; |
|||
// border-radius: 15upx 0 0 15upx; |
|||
color: #24abf1; |
|||
position: relative; |
|||
left: 39%; |
|||
margin: 5%; |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,130 @@ |
|||
/* |
|||
*此函数的作用是根据传入的一个日期,返回这一周的日期或者这一个月的日期, |
|||
* 如果是月的话注意还包含上个月和下个月的日期,月的话总共数据有 6 * 7 = 42个 |
|||
* |
|||
*/ |
|||
/* |
|||
* 时间格式化函数 |
|||
* 重要提示,微信小程序new Date('2020-04-16')在ios中无法获取时间对象 |
|||
* 解决方式: 建议将时间都格式化成'2020/04/16 00:00:00'的格式 |
|||
* 函数示例: formatDate(new Date(), 'YYYY/MM/dd hh:mm:ss') |
|||
*/ |
|||
export const formatDate = (date, fmt) => { |
|||
if (/(y+)/.test(fmt)) { |
|||
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); |
|||
} |
|||
let o = { |
|||
'M+': date.getMonth() + 1, |
|||
'd+': date.getDate(), |
|||
'h+': date.getHours(), |
|||
'm+': date.getMinutes(), |
|||
's+': date.getSeconds(), |
|||
}; |
|||
for (let k in o) { |
|||
if (new RegExp(`(${k})`).test(fmt)) { |
|||
let str = o[k] + ''; |
|||
fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str)); |
|||
} |
|||
} |
|||
return fmt; |
|||
}; |
|||
const padLeftZero = str => { |
|||
return ('00' + str).substr(str.length); |
|||
}; |
|||
export const judgeType = s => { |
|||
// 函数返回数据的具体类型
|
|||
return Object.prototype.toString.call(s).slice(8, -1); |
|||
}; |
|||
export const equalDate = (d1, d2) => { |
|||
let result = false; |
|||
if (d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate()) { |
|||
result = true; |
|||
} |
|||
return result; |
|||
}; |
|||
/* 比较时间,时间格式为2020-04-04 |
|||
*/ |
|||
export const dateEqual = (before, after) => { |
|||
before = new Date(before.replace('-', '/').replace('-', '/')); |
|||
after = new Date(after.replace('-', '/').replace('-', '/')); |
|||
if (before.getTime() - after.getTime() === 0) { |
|||
return true; |
|||
} else { |
|||
return false; |
|||
} |
|||
}; |
|||
|
|||
export const gegerateDates = (date = new Date(), type = 'week') => { |
|||
const result = []; |
|||
if (judgeType(date) === 'Date') { |
|||
// 年,月,日
|
|||
const y = date.getFullYear(); |
|||
const m = date.getMonth(); |
|||
const d = date.getDate(); |
|||
const days = new Date(y, m + 1, 0).getDate(); |
|||
// 获取日期是星期几
|
|||
let weekIndex = date.getDay() === 0 ? 7 : date.getDay(); |
|||
if (type === 'month') { |
|||
const dobj = new Date(y, m, 1); |
|||
weekIndex = dobj.getDay() === 0 ? 7 : dobj.getDay(); |
|||
} |
|||
if (type === 'week') { |
|||
for (let i = weekIndex - 1; i > 0; i--) { |
|||
const dtemp = new Date(y, m, d); |
|||
dtemp.setDate(dtemp.getDate() - i); |
|||
result.push({ |
|||
time: dtemp, |
|||
show: true, |
|||
fullDate: formatDate(dtemp, 'yyyy-MM-dd'), |
|||
isToday: equalDate(new Date(), dtemp), |
|||
}); |
|||
} |
|||
for (let i = 0; i <= 7 - weekIndex; i++) { |
|||
const dtemp = new Date(y, m, d); |
|||
dtemp.setDate(dtemp.getDate() + i); |
|||
result.push({ |
|||
time: dtemp, |
|||
show: true, |
|||
fullDate: formatDate(dtemp, 'yyyy-MM-dd'), |
|||
isToday: equalDate(new Date(), dtemp), |
|||
}); |
|||
} |
|||
} else if (type === 'month') { |
|||
// 上个月
|
|||
for (let i = weekIndex - 1; i > 0; i--) { |
|||
const dtemp = new Date(y, m, 1); |
|||
dtemp.setDate(dtemp.getDate() - i); |
|||
result.push({ |
|||
time: dtemp, |
|||
show: false, |
|||
fullDate: formatDate(dtemp, 'yyyy-MM-dd'), |
|||
isToday: equalDate(new Date(), dtemp), |
|||
}); |
|||
} |
|||
// 这个月的日期
|
|||
for (let i = 0; i < days; i++) { |
|||
const dtemp = new Date(y, m, 1); |
|||
dtemp.setDate(dtemp.getDate() + i); |
|||
result.push({ |
|||
time: dtemp, |
|||
show: true, |
|||
fullDate: formatDate(dtemp, 'yyyy-MM-dd'), |
|||
isToday: equalDate(new Date(), dtemp), |
|||
}); |
|||
} |
|||
const len = 42 - result.length; |
|||
// 下个月的日期
|
|||
for (let i = 1; i <= len; i++) { |
|||
const dtemp = new Date(y, m + 1, 0); |
|||
dtemp.setDate(dtemp.getDate() + i); |
|||
result.push({ |
|||
time: dtemp, |
|||
show: false, |
|||
fullDate: formatDate(dtemp, 'yyyy-MM-dd'), |
|||
isToday: equalDate(new Date(), dtemp), |
|||
}); |
|||
} |
|||
} |
|||
} |
|||
return result; |
|||
}; |
@ -0,0 +1,90 @@ |
|||
<template> |
|||
<view> |
|||
<view class=""> |
|||
<view class="flex items-center m-2"> |
|||
<image class="bg-yellow-700 w-8 h-8 rounded-full ml-1 mr-4" src="../../static/local_play1.png"></image> |
|||
<view class="text-sm font-semibold">我的LWBS</view> |
|||
</view> |
|||
<view class="task flex items-center justify-between p-2" v-for="(task, index) in tasks" :key="index"> |
|||
<view class="flex items-center"> |
|||
<view class="bg-blue-300 w-8 h-8 rounded-full ml-1 mr-2"> |
|||
<view class="w-8 h-8 flex items-center justify-center">{{ index + 1 }}</view> |
|||
</view> |
|||
<view> |
|||
<view class="flex items-center"> |
|||
<view class="text-sm font-semibold">{{ task.taskName }}</view> |
|||
<view class="rounded-full pl-2 pr-2 bg-green-200 text-green-500">{{ task.state }}</view> |
|||
</view> |
|||
<view class="flex items-center text-gray-400"> |
|||
<view class="pr-2">{{ task.time }}</view> |
|||
<view>时长:{{ task.duration }}</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<u-icon name="arrow-right" size="28"></u-icon> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
data() { |
|||
return { |
|||
isrotate: -1, |
|||
tasks: [ |
|||
{ |
|||
taskName: '山西省三大中心建设', |
|||
state: '正在进行', |
|||
time: '05月31日 00:00', |
|||
duration: '365天', |
|||
}, |
|||
{ |
|||
taskName: '1号康复室', |
|||
state: '正在进行', |
|||
time: '01月31日 00:00', |
|||
duration: '727天', |
|||
}, |
|||
{ |
|||
taskName: '盐湖医院远程康复', |
|||
state: '正在进行', |
|||
time: '05月31日 00:00', |
|||
duration: '65天', |
|||
}, |
|||
{ |
|||
taskName: '山西省三大中心建设', |
|||
state: '正在进行', |
|||
time: '05月31日 00:00', |
|||
duration: '365天', |
|||
}, |
|||
{ |
|||
taskName: '1号康复室', |
|||
state: '正在进行', |
|||
time: '01月31日 00:00', |
|||
duration: '727天', |
|||
}, |
|||
{ |
|||
taskName: '盐湖医院远程康复', |
|||
state: '正在进行', |
|||
time: '05月31日 00:00', |
|||
duration: '65天', |
|||
}, |
|||
], |
|||
}; |
|||
}, |
|||
methods: { |
|||
// 展开子项目 |
|||
openProjectItem(index) { |
|||
if (this.isrotate === -1) { |
|||
this.isrotate = index; |
|||
} else { |
|||
this.isrotate = -1; |
|||
} |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
<style lang="scss"> |
|||
.task { |
|||
border-bottom: 1px solid #c0b9b9; |
|||
} |
|||
</style> |
@ -0,0 +1 @@ |
|||
Subproject commit 2603a0bc8b5036c399a5f28b93586072c4850c4b |
@ -0,0 +1,27 @@ |
|||
<template> |
|||
<view> |
|||
<view class="upload mx-4"> |
|||
<u-icon name="plus" color="#ffffff" size="48" class="flex justify-center h-10 w-10 bg-blue-500 rounded-full"></u-icon> |
|||
<u-input type="textarea" placeholder="" class="inputUpload" /> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
data() { |
|||
return {}; |
|||
}, |
|||
methods: {}, |
|||
}; |
|||
</script> |
|||
<style lang="scss"> |
|||
.upload { |
|||
display: flex; |
|||
flex-direction: row-reverse; |
|||
} |
|||
.inputUpload { |
|||
position: relative; |
|||
left: 85%; |
|||
right: 5%; |
|||
} |
|||
</style> |
@ -0,0 +1,32 @@ |
|||
<template> |
|||
<view> |
|||
<Calendar @selected-change="datechange" :showBack="true" :dot-list="dayss"></Calendar> |
|||
<!-- <button @click="changeList">改变</button> --> |
|||
<Upload /> |
|||
<Projects /> |
|||
</view> |
|||
</template> |
|||
<script> |
|||
export default { |
|||
data() { |
|||
return { |
|||
dayss: [ |
|||
{ date: '2020-08-14' }, |
|||
{ date: '2020-08-27' }, |
|||
{ date: '2020-08-09' }, |
|||
// {date: '2020-08-16'} |
|||
], |
|||
}; |
|||
}, |
|||
|
|||
methods: { |
|||
changeList() { |
|||
this.dayss = [{ date: '2021-08-03' }, { date: '2021-08-04' }, { date: '2021-08-06' }]; |
|||
}, |
|||
|
|||
datechange(e) { |
|||
console.log(e); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
After Width: | Height: | Size: 853 B |
Loading…
Reference in new issue