feat: add last report memory for work report form
This commit is contained in:
@@ -201,6 +201,14 @@ public class OaProjectReportController extends BaseController {
|
||||
return R.ok(iOaProjectReportService.getSummaryData(start,end));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前用户最近一次报工记录(用于表单记忆回填)
|
||||
*/
|
||||
@GetMapping("/lastReport")
|
||||
public R<OaProjectReportVo> getLastReport() {
|
||||
return R.ok(iOaProjectReportService.getLastReport());
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前登录用户今日的报工记录
|
||||
*/
|
||||
|
||||
@@ -59,4 +59,9 @@ public interface OaProjectReportMapper extends BaseMapperPlus<OaProjectReportMap
|
||||
@Param("workPlace") String workPlace);
|
||||
|
||||
List<OaProjectReportVo> getSummaryData(@Param("start") LocalDate start, @Param("end") LocalDate end);
|
||||
|
||||
/**
|
||||
* 查询当前用户最近一次报工记录(含项目信息,用于表单记忆回填)
|
||||
*/
|
||||
OaProjectReportVo selectLastReportByUserId(@Param("userId") Long userId);
|
||||
}
|
||||
|
||||
@@ -45,4 +45,9 @@ public interface IOaProjectReportService {
|
||||
Boolean insertReportSupplement(OaProjectReportBo bo);
|
||||
|
||||
TableDataInfo<OaProjectTravelCompareVo> getTravelCompareList(LocalDate start, LocalDate end, String nickName, String workPlace, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 获取当前用户最近一次报工记录(用于表单记忆回填)
|
||||
*/
|
||||
OaProjectReportVo getLastReport();
|
||||
}
|
||||
|
||||
@@ -370,6 +370,12 @@ public class OaProjectReportServiceImpl implements IOaProjectReportService {
|
||||
return baseMapper.selectVoByIdPlus(report.getReportId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public OaProjectReportVo getLastReport() {
|
||||
Long userId = LoginHelper.getUserId();
|
||||
return baseMapper.selectLastReportByUserId(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean insertReportSupplement(OaProjectReportBo bo) {
|
||||
//补录接口前端会传入经办人id还有报工时间也就是创建时间
|
||||
|
||||
@@ -267,6 +267,27 @@
|
||||
GROUP BY u.user_id, u.nick_name, d.dept_name
|
||||
ORDER BY u.nick_name
|
||||
</select>
|
||||
<!-- 查询当前用户最近一次报工记录(用于表单记忆回填) -->
|
||||
<select id="selectLastReportByUserId" resultType="com.ruoyi.oa.domain.vo.OaProjectReportVo">
|
||||
SELECT opr.report_id,
|
||||
opr.user_id,
|
||||
opr.work_place,
|
||||
opr.project_id,
|
||||
opr.content,
|
||||
opr.remark,
|
||||
opr.is_trip,
|
||||
opr.work_type,
|
||||
op.project_name,
|
||||
op.project_num,
|
||||
op.project_code
|
||||
FROM oa_project_report opr
|
||||
LEFT JOIN sys_oa_project op ON opr.project_id = op.project_id
|
||||
WHERE opr.user_id = #{userId}
|
||||
AND opr.del_flag = 0
|
||||
ORDER BY opr.create_time DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="selectAll" resultType="com.ruoyi.oa.domain.vo.OaProjectReportVo">
|
||||
SELECT
|
||||
opr.*,
|
||||
|
||||
@@ -144,4 +144,12 @@ export function suppProjectReport (data) {
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询当前用户最近一次报工记录(用于表单记忆回填)
|
||||
export function getLastReport () {
|
||||
return request({
|
||||
url: '/oa/projectReport/lastReport',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -167,6 +167,7 @@
|
||||
import {
|
||||
addProjectReport,
|
||||
delProjectReport,
|
||||
getLastReport,
|
||||
getProjectReport,
|
||||
getTodayProjectReport,
|
||||
listProjectReport,
|
||||
@@ -448,6 +449,10 @@ export default {
|
||||
this.suppVisible = false;
|
||||
this.title = "添加项目报工";
|
||||
this.checkTodayReport().finally(() => {
|
||||
// 如果今天还没报过工,尝试加载上次报工记录回填
|
||||
if (!this.hasTodayReport) {
|
||||
this.loadLastReport();
|
||||
}
|
||||
this.open = true;
|
||||
this.$nextTick(() => {
|
||||
if (!this.form.reportId) {
|
||||
@@ -456,6 +461,22 @@ export default {
|
||||
});
|
||||
});
|
||||
},
|
||||
/** 加载上次报工记录,回填表单关键字段(项目、工作地点、是否出差等) */
|
||||
loadLastReport () {
|
||||
getLastReport().then(response => {
|
||||
if (response.data && response.data.projectId) {
|
||||
this.form = {
|
||||
...this.form,
|
||||
projectId: response.data.projectId,
|
||||
workPlace: response.data.workPlace || this.form.workPlace,
|
||||
isTrip: response.data.isTrip,
|
||||
workType: response.data.workType,
|
||||
};
|
||||
}
|
||||
}).catch(() => {
|
||||
// 加载失败不影响正常使用
|
||||
});
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate (row) {
|
||||
this.suppVisible = false;
|
||||
|
||||
Reference in New Issue
Block a user