hookehuyr

feat(打卡): 添加补录作业状态支持

在打卡功能中增加补录作业状态标识,修改任务选择逻辑以支持补录作业显示和处理。调整API调用参数以获取补录相关信息,并在界面中区分显示补录任务。
......@@ -24,6 +24,7 @@ export function useCheckin() {
const subTaskId = ref('') // 当前选中的任务ID
const selectedTaskText = ref('') // 选中的任务文本
const selectedTaskValue = ref([]) // 选中的任务值(Picker使用)
const isMakeup = ref(false) // 是否为补录作业
const maxCount = ref(5)
// 打卡类型
......@@ -292,7 +293,7 @@ export function useCheckin() {
note: message.value,
file_type: activeType.value,
meta_id: [],
makeup_time: route.query.is_patch ? route.query.date : '',
makeup_time: isMakeup.value ? route.query.date : '',
...extraData
}
......@@ -423,7 +424,6 @@ export function useCheckin() {
}
return {
// 状态
uploading,
loading,
message,
......@@ -432,6 +432,7 @@ export function useCheckin() {
subTaskId,
selectedTaskText,
selectedTaskValue,
isMakeup,
maxCount,
canSubmit,
......
......@@ -208,6 +208,7 @@ const {
subTaskId,
selectedTaskText,
selectedTaskValue,
isMakeup,
maxCount,
canSubmit,
beforeRead,
......@@ -263,6 +264,7 @@ const onConfirmTask = ({ selectedOptions }) => {
const option = selectedOptions[0]
selectedTaskText.value = option.text
selectedTaskValue.value = [option.value]
isMakeup.value = !!option.is_makeup
showTaskPicker.value = false
// 如果是计数打卡,根据选中的作业ID查询计数对象
......@@ -800,11 +802,12 @@ onMounted(async () => {
selectedTaskValue.value = [+route.query.subtask_id]
// 获取小作业列表
const subtask_list = await getSubtaskListAPI({ task_id: route.query.id })
const subtask_list = await getSubtaskListAPI({ task_id: route.query.id, date: current_date })
if (subtask_list.code) {
taskOptions.value = [...subtask_list.data.map(item => ({
text: item.title,
value: item.id
text: item.is_makeup ? '补卡:' + item.title : item.title,
value: item.id,
is_makeup: item.is_makeup, // 是否为补录
}))
]
}
......@@ -814,6 +817,7 @@ onMounted(async () => {
const option = taskOptions.value.find(o => o.value === selectedTaskValue.value[0])
if (option) {
selectedTaskText.value = option.text
isMakeup.value = !!option.is_makeup
}
}
......