会员导出一周功能

2024-09-17 23:42:40 浏览数 (1)

# 会员导出一周功能

# 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 '"这句话提出外面,但是当时忘记了,就算了。

工作心得

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

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

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

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

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

    ‍

0 人点赞