首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >与 DeepSeek 共创页面:时间范围控制功能的合作与实现

与 DeepSeek 共创页面:时间范围控制功能的合作与实现

原创
作者头像
肥晨
发布2025-03-14 11:40:16
发布2025-03-14 11:40:16
4720
举报

与 DeepSeek 共创页面:时间范围控制功能的合作与实现 🚀

本文将分享我与 DeepSeek 合作,如何在 Vue 项目中使用 Element Plusel-date-picker 组件实现时间范围选择,并结合“日”、“月”、“年”按钮动态控制时间范围的全过程。通过我们的合作,最终完成了一个高效、美观的时间范围控制功能。一起来看看吧!💡


1. 合作模式 🤝

1.1 分工明确
  • :负责页面结构设计、HTML 和 CSS 实现,以及部分 JavaScript 逻辑。
  • DeepSeek:提供核心 JavaScript 逻辑支持,优化时间范围计算的算法,并协助调试。
1.2 协作流程
  1. 需求分析:明确需要实现的功能,包括时间选择器、按钮切换和动态绑定。
  2. 代码实现:我完成 HTML 和 CSS 部分,DeepSeek 提供 JavaScript 逻辑。
  3. 联调测试:共同调试,确保功能完整性和用户体验。
  4. 优化迭代:根据反馈优化代码和样式。

2. 实现效果 🎨

  • 时间选择器:用户可以选择自定义日期范围。
  • 按钮切换:点击“日”、“月”、“年”按钮,时间选择器会自动更新为对应范围。
  • 样式交互:选中按钮高亮显示,提升用户体验。
时间范围控制功能演示
时间范围控制功能演示

3. 代码实现 🛠️

3.1 HTML 部分 📝

以下是时间选择器及相关按钮的 HTML 结构:

代码语言:html
复制
<template>
  <div class="dataPanel-energyManagement-title-right">
    <!-- 时间选择器 -->
    <el-date-picker
      v-model="value1"
      type="daterange"
      range-separator="-"
      start-placeholder="开始时间"
      end-placeholder="结束时间"
      :size="size"
    />
    <!-- 时间范围按钮 -->
    <div
      class="picker-but"
      :class="{ active: selectedTimeRange === 'day' }"
      @click="selectTimeRange('day')"
    >
      日
    </div>
    <div
      class="picker-but"
      :class="{ active: selectedTimeRange === 'month' }"
      @click="selectTimeRange('month')"
    >
      月
    </div>
    <div
      class="picker-but"
      :class="{ active: selectedTimeRange === 'year' }"
      @click="selectTimeRange('year')"
    >
      年
    </div>
  </div>
</template>
  • el-date-picker:用于选择日期范围,v-model 绑定到 value1
  • picker-but:三个按钮分别对应“日”、“月”、“年”,点击后调用 selectTimeRange 方法。

3.2 JavaScript 部分 📝

以下是时间范围控制的 JavaScript 逻辑,由 DeepSeek 提供支持:

代码语言:javascript
复制
<script>
export default {
  data() {
    return {
      value1: [], // 绑定日期范围
      selectedTimeRange: 'day', // 当前选择的时间范围
      size: 'default', // 组件大小
    };
  },
  methods: {
    // 根据选择的时间范围设置日期
    selectTimeRange(range) {
      this.selectedTimeRange = range;
      const now = new Date();

      switch (range) {
        case 'day': // 选择“日”
          this.value1 = [new Date(now), new Date(now)];
          break;
        case 'month': // 选择“月”
          const startOfMonth = new Date(now.getFullYear(), now.getMonth(), 1);
          const endOfMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0);
          this.value1 = [startOfMonth, endOfMonth];
          break;
        case 'year': // 选择“年”
          const startOfYear = new Date(now.getFullYear(), 0, 1);
          const endOfYear = new Date(now.getFullYear(), 11, 31);
          this.value1 = [startOfYear, endOfYear];
          break;
        default:
          this.value1 = [];
      }
    },
  },
  mounted() {
    // 默认选择“日”范围
    this.selectTimeRange('day');
  },
};
</script>
  • value1:绑定到 el-date-picker 的日期范围。
  • selectTimeRange 方法:根据用户选择的“日”、“月”、“年”动态设置日期范围。
    • 日范围:设置为当天。
    • 月范围:设置为当前月的第一天和最后一天。
    • 年范围:设置为当前年的第一天和最后一天。
  • mounted 钩子:默认加载“日”范围。

3.3 CSS 部分 📝

以下是时间选择器和按钮的样式设计,由我完成:

代码语言:css
复制
<style scoped>
.dataPanel-energyManagement-title-right {
  display: flex;
  align-items: center;
}

.picker-but {
  margin-left: 10px;
  cursor: pointer;
  padding: 5px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  color: #000;
  text-align: center;
  line-height: 32px;
}

.picker-but:hover {
  background-color: #ecf5ff;
}

.picker-but.active {
  background-color: #409eff;
  color: white;
  border-color: #409eff;
}
</style>
  • picker-but:按钮的基础样式。
  • active:高亮显示当前选中的按钮。
  • hover 效果:鼠标悬停时改变背景色。

4. 合作总结 📝

通过与 DeepSeek 的合作,我们高效地完成了时间范围控制功能的开发。以下是我们的合作亮点:

  1. 分工明确:我负责页面结构和样式,DeepSeek 提供核心逻辑支持。
  2. 高效沟通:通过实时讨论和代码共享,快速解决问题。
  3. 持续优化:根据用户反馈,不断优化功能和体验。

5. 小提示 💡

如果你觉得按钮样式不够酷炫,可以尝试以下优化:

  • 添加动画效果,让按钮点击更生动。
  • 使用图标代替文字,提升视觉效果。
  • 结合主题色,让界面更统一。

感谢阅读! 如果你对本文内容有任何疑问或建议,欢迎留言讨论。也欢迎关注我的博客,获取更多前端开发技巧和实战经验!🎉

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 与 DeepSeek 共创页面:时间范围控制功能的合作与实现 🚀
  • 1. 合作模式 🤝
    • 1.1 分工明确
    • 1.2 协作流程
  • 2. 实现效果 🎨
  • 3. 代码实现 🛠️
    • 3.1 HTML 部分 📝
    • 3.2 JavaScript 部分 📝
    • 3.3 CSS 部分 📝
  • 4. 合作总结 📝
  • 5. 小提示 💡
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档