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));
|
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);
|
@Param("workPlace") String workPlace);
|
||||||
|
|
||||||
List<OaProjectReportVo> getSummaryData(@Param("start") LocalDate start, @Param("end") LocalDate end);
|
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);
|
Boolean insertReportSupplement(OaProjectReportBo bo);
|
||||||
|
|
||||||
TableDataInfo<OaProjectTravelCompareVo> getTravelCompareList(LocalDate start, LocalDate end, String nickName, String workPlace, PageQuery pageQuery);
|
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());
|
return baseMapper.selectVoByIdPlus(report.getReportId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public OaProjectReportVo getLastReport() {
|
||||||
|
Long userId = LoginHelper.getUserId();
|
||||||
|
return baseMapper.selectLastReportByUserId(userId);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean insertReportSupplement(OaProjectReportBo bo) {
|
public Boolean insertReportSupplement(OaProjectReportBo bo) {
|
||||||
//补录接口前端会传入经办人id还有报工时间也就是创建时间
|
//补录接口前端会传入经办人id还有报工时间也就是创建时间
|
||||||
|
|||||||
@@ -267,6 +267,27 @@
|
|||||||
GROUP BY u.user_id, u.nick_name, d.dept_name
|
GROUP BY u.user_id, u.nick_name, d.dept_name
|
||||||
ORDER BY u.nick_name
|
ORDER BY u.nick_name
|
||||||
</select>
|
</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 id="selectAll" resultType="com.ruoyi.oa.domain.vo.OaProjectReportVo">
|
||||||
SELECT
|
SELECT
|
||||||
opr.*,
|
opr.*,
|
||||||
|
|||||||
@@ -144,4 +144,12 @@ export function suppProjectReport (data) {
|
|||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询当前用户最近一次报工记录(用于表单记忆回填)
|
||||||
|
export function getLastReport () {
|
||||||
|
return request({
|
||||||
|
url: '/oa/projectReport/lastReport',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
}
|
}
|
||||||
@@ -167,6 +167,7 @@
|
|||||||
import {
|
import {
|
||||||
addProjectReport,
|
addProjectReport,
|
||||||
delProjectReport,
|
delProjectReport,
|
||||||
|
getLastReport,
|
||||||
getProjectReport,
|
getProjectReport,
|
||||||
getTodayProjectReport,
|
getTodayProjectReport,
|
||||||
listProjectReport,
|
listProjectReport,
|
||||||
@@ -448,6 +449,10 @@ export default {
|
|||||||
this.suppVisible = false;
|
this.suppVisible = false;
|
||||||
this.title = "添加项目报工";
|
this.title = "添加项目报工";
|
||||||
this.checkTodayReport().finally(() => {
|
this.checkTodayReport().finally(() => {
|
||||||
|
// 如果今天还没报过工,尝试加载上次报工记录回填
|
||||||
|
if (!this.hasTodayReport) {
|
||||||
|
this.loadLastReport();
|
||||||
|
}
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (!this.form.reportId) {
|
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) {
|
handleUpdate (row) {
|
||||||
this.suppVisible = false;
|
this.suppVisible = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user