华信实习任务-主页面
主页面显示
2024年7月25日22:05:06
author:方圆
任务:主页面的编写和数据显示,前后端
五个模块,分别对应表头、近半年工时情况、一周项目动态、资料上传情况、日程安排
前端:引入自定义组件,去传递每个组件需要的数值
1 | <general-dashboard |
日程安排的组件,新建了一个数据库表单和视图
后端公共方法:获取用户权限和权限内用户项目数量
1 |
|
1表头数据
后端逻辑
:格式化日期,满足要求的count++
注意:String类型的值比较用Stringutils工具类的equals方法,我直接用equals比较结果不对
1 | /** |
前端逻辑
:api.js中配置后端请求方法的url,vue页面中引入然后在methods中,调用方法将值传递进去
1 | import request from '@/utils/request'; |
1 |
|
2.表头点击事件
前端
:配置好了路由routeName,在点击事件的方法中,配置跳转就行
1 | generalHeaderData: [ |
1 | handleHeadClick(item){ |
3.近半年工时情况
后端逻辑
:
1.先查询当前人权限内的项目信息
2.按月度查询权限内所有项目的工时数量之和
遇到的问题
1 | 1.我开始的做法是,根据ID列表查出表中所有月份和工时数量字段,` |
定义:实体类,返回给前端的JSON数据格式
1 |
|
1 | /** |
1 | /** |
xml
1 | <select id="selectByYearMonthAndManhour" resultType="java.lang.Double"> |
前端逻辑
:api配置和script方法引入就不说了,调用方法传值
1 | getLeLeftCenterData(){ |
4.资料上传情况
后端逻辑:
将查到的projectName和fileNum放在一个map集合中,返回给前端
1 | /** |
xml
1 | <select id="selectAddFileNums" resultType="int"> |
前端逻辑
:
注意:
因为我们前端要求的数据格式为
"data": [
{
"name": "竣工",
"value": 2,
"labelColor": "#B5A77F",
"backgroundColor": "#D8C9B5"
},
{
"name": "试运行",
"value": 2,
"labelColor": "#B57F7F",
"backgroundColor": "#D8B5B5"
},
]
而我们后端查到的只有name和value,而背景颜色什么的要在前端赋值
对filenum进行排序,按从大到小排序展示,然后取前七个元素
并且为了美观,不让项目名称太长导致展示到第二行影响展示效果
对姓名字段进行截取前七个字符
然后依次赋值将剩下两个颜色字段补上,赋值给Data就行
笨办法赋值,因为每次赋值的颜色字段都不一样,所以...
1 | getLeftBottomRightData() { |
5.一周项目动态
前端需要数据格式
1 | { |
后端逻辑
:封装在jar包中 ,只读,组长说直接用已有查出来的,前端再做数据处理,不用自己写
1 | <select id="queryPersonalWork" resultType="com.hii.datateam.wbs.task.model.WbsTaskInfo" databaseId="oracle"> |
前端逻辑
:先过滤得到任务层级,再去获取当前时间一周内的时间戳,
根据字段的项目结束时间和开始时间去判断本周内的项目状态,逾期,已完成,未完成等
然后再去配置点击事件的路由routeName等等
1 | /** |
1 | getLeftBottomLeftData() { |
6.项目动态点击事件
路由配置为:
1 | { |
上面项目动态的路由配置为
1 | routeName: "WBSTaskEdit?appId=" + item.rootWbsTaskId + "&focusMessage=false", |
本地访问地址:
1 | http://localhost:8081/#/wbs/edit?appId=7&focusMessage=false |
点击方法
1 | handleLeftBottomLeftClick(item) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 方圆的博客!