前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >会员导出一周功能

会员导出一周功能

原创
作者头像
会洗碗的CV工程师
发布2024-09-17 23:42:40
770
发布2024-09-17 23:42:40
举报
文章被收录于专栏:Python

# 会员导出一周功能

# 1. 前端模块修改

  1. 先确定要添加的按钮,以及对应要展示的信息。
  2. 然后去首页那里找了上一周以及下一周的按钮以及中间的toolTips信息
  3. 再从菜单管理,找到对应的组件位置,copy过来到指定的位置,然后再把相关的属性也一并paste过来。

**注意:新增的属性以及方法要放到原本对应位置的后面,方便后续修改调试。以及与自己******要使用到的参数尽量要从新定义,不与别人的参数进行复用。****

  1. 就是根据是否点击导出,将起止时间与对应的参数进行绑定,然后直接添加一个按钮触发函数onClick,并在里面完成增就是从xxxx-M/M-d/d 的格式转换成YYYY-MM-DD的格式;就是如下函数:

    `html

oneClickWeek() {

      this.$parent.one_click = 1

      this.$parent.one_clickWeek = 1

      var startStr = this.weekDayArr0.adate.substring(0, this.weekDayArr0.adate.length - 4)

      var endStr = this.weekDayArr6.adate.substring(0, this.weekDayArr6.adate.length - 4)

      // var startTime = "2024年10月10日"

      // console.log(startTime);

      // console.log(endTime);

      startStr = startStr.replace(/(\d{4})年(\d{1,2})月(\d{1,2})日/g, (_, year, month, day) => {  

        // 使用模板字符串和逻辑或操作符来补齐月份和日期的前导零  

        return ${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')};  

      });

      endStr = endStr.replace(/(\d{4})年(\d{1,2})月(\d{1,2})日/g, (_, year, month, day) => {  

        // 使用模板字符串和逻辑或操作符来补齐月份和日期的前导零  

        return ${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')};  

      });

      // console.log(startTime);

      // console.log(endTime);

      this.query.one_week_time0 = new Date(startStr)

      this.query.one_week_time1 = new Date(endStr)

      console.log("ee", endStr);

      this.$parent.toDownload()

    },

    `

    因为本来已经有了一个导出本月会员的功能,因此我也是直接调用了,这里只是对起止日期参数进行格式化。

  1. 最后有一个关键的参数就是one_clickWeek,就是如果点击了该按钮,将该参数的值设置为1,并将该参数也传入后端,然后多传入两个参数给后端进行SQL查询,判断如下:

    `html

    this.params'one_clickWeek' = this.one_clickWeek  

    if (this.one_clickWeek) {    

        this.params'week_start_time' = moment(one_week_time0).format('YYYY-MM-DD HH:mm:ss')

        this.params'week_end_time' = moment(one_week_time1).format('YYYY-MM-DD') + " 23:59:59"

     }

    `

**其实这里有个问题,在方法内定义的const类型参数,为什么要用this指向他才可以获取,否则会提示未定义(undefined)。**

  1. 最后将参数传入之后,在finally语句块中再将相关参数进行初始化

# 2. 后端模块修改

  1. 这里直接根据导出功能所在的api接口去修改。可以f12查看调用了哪个接口,然后再在idea中**ctrl+shif+r进行全局搜索**,这下就可以快速查找出来api所在的文件。
  2. 找到之后梳理代码逻辑。最终添加了获取新传过来的参数,确定是否要进行导出一周操作,还是导出一个月的操作,判断语句如下即可:代码如下:

    `python

                one_click_week = params.get("one_clickWeek", 0)  # 是否导出一周 1:是   0:否

if int(one_click_week) == 1:

print("one_click_week")

                    where += 'AND u.date_joined between %s and %s '

                    week_start_time = params.get('week_start_time', None)

                    week_end_time = params.get('week_end_time', None)

                    where_params.append(week_start_time)

                    where_params.append(week_end_time)

else:

print("one_click_mouth")

                    now_time = datetime.now()

                    month_start = datetime(now_time.year, now_time.month, 1)

                    where += 'AND u.date_joined between %s and %s '

                    where_params.append(month_start)

                    where_params.append(now_time)

    `

    其实这里都可以把"where += 'AND u.date_joined between %s and %s '"这句话提出外面,但是当时忘记了,就算了。

工作心得

转眼间,我在这家公司已经度过了数个春秋,每一天都像是与时间赛跑,既忙碌又充实。回望这段旅程,我深刻体会到,工作不仅仅是为了生计,更是一场自我提升与实现的征途。

初入职场时,我满怀激情却也不乏迷茫。面对复杂多变的业务环境和层出不穷的新任务,我常常感到力不从心。但正是这些挑战,激发了我不断学习的动力。我开始主动加班加点,利用业余时间钻研业务知识,参加各种培训和学习交流会,不断提升自己的专业素养和综合能力。

随着时间的推移,我逐渐适应了工作的节奏,也开始在工作中找到属于自己的位置。我发现,工作不仅仅是对专业技能的考验,更是对心态和意志的磨砺。每当遇到困难和挫折时,我都会提醒自己保持冷静和乐观,积极寻找解决问题的办法。这种积极向上的心态,让我在工作中更加从容不迫,也赢得了同事和领导的信任和认可。

更重要的是,我深刻体会到了团队合作的力量。在团队中,我们共同面对挑战、分享成功、互相学习、共同成长。每当我遇到难题时,总会有同事伸出援手;每当我取得成绩时,也会得到团队的热烈祝贺。这种温暖和谐的氛围,让我更加热爱这份工作,也更加珍惜与同事们的深厚情谊。

展望未来,我深知前方还有更多的挑战和机遇等待着我。但我相信,只要保持一颗学习的心、一份坚韧的意志、一份积极的态度和一份团队的精神,我就一定能够在工作中不断取得新的成绩和突破。我相信,未来的我一定会感谢现在努力奋斗的自己。

    ‍

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工作心得
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档