feat(打卡): 添加补录作业状态支持
在打卡功能中增加补录作业状态标识,修改任务选择逻辑以支持补录作业显示和处理。调整API调用参数以获取补录相关信息,并在界面中区分显示补录任务。
Showing
2 changed files
with
10 additions
and
5 deletions
| ... | @@ -24,6 +24,7 @@ export function useCheckin() { | ... | @@ -24,6 +24,7 @@ export function useCheckin() { |
| 24 | const subTaskId = ref('') // 当前选中的任务ID | 24 | const subTaskId = ref('') // 当前选中的任务ID |
| 25 | const selectedTaskText = ref('') // 选中的任务文本 | 25 | const selectedTaskText = ref('') // 选中的任务文本 |
| 26 | const selectedTaskValue = ref([]) // 选中的任务值(Picker使用) | 26 | const selectedTaskValue = ref([]) // 选中的任务值(Picker使用) |
| 27 | + const isMakeup = ref(false) // 是否为补录作业 | ||
| 27 | const maxCount = ref(5) | 28 | const maxCount = ref(5) |
| 28 | 29 | ||
| 29 | // 打卡类型 | 30 | // 打卡类型 |
| ... | @@ -292,7 +293,7 @@ export function useCheckin() { | ... | @@ -292,7 +293,7 @@ export function useCheckin() { |
| 292 | note: message.value, | 293 | note: message.value, |
| 293 | file_type: activeType.value, | 294 | file_type: activeType.value, |
| 294 | meta_id: [], | 295 | meta_id: [], |
| 295 | - makeup_time: route.query.is_patch ? route.query.date : '', | 296 | + makeup_time: isMakeup.value ? route.query.date : '', |
| 296 | ...extraData | 297 | ...extraData |
| 297 | } | 298 | } |
| 298 | 299 | ||
| ... | @@ -423,7 +424,6 @@ export function useCheckin() { | ... | @@ -423,7 +424,6 @@ export function useCheckin() { |
| 423 | } | 424 | } |
| 424 | 425 | ||
| 425 | return { | 426 | return { |
| 426 | - // 状态 | ||
| 427 | uploading, | 427 | uploading, |
| 428 | loading, | 428 | loading, |
| 429 | message, | 429 | message, |
| ... | @@ -432,6 +432,7 @@ export function useCheckin() { | ... | @@ -432,6 +432,7 @@ export function useCheckin() { |
| 432 | subTaskId, | 432 | subTaskId, |
| 433 | selectedTaskText, | 433 | selectedTaskText, |
| 434 | selectedTaskValue, | 434 | selectedTaskValue, |
| 435 | + isMakeup, | ||
| 435 | maxCount, | 436 | maxCount, |
| 436 | canSubmit, | 437 | canSubmit, |
| 437 | 438 | ... | ... |
| ... | @@ -208,6 +208,7 @@ const { | ... | @@ -208,6 +208,7 @@ const { |
| 208 | subTaskId, | 208 | subTaskId, |
| 209 | selectedTaskText, | 209 | selectedTaskText, |
| 210 | selectedTaskValue, | 210 | selectedTaskValue, |
| 211 | + isMakeup, | ||
| 211 | maxCount, | 212 | maxCount, |
| 212 | canSubmit, | 213 | canSubmit, |
| 213 | beforeRead, | 214 | beforeRead, |
| ... | @@ -263,6 +264,7 @@ const onConfirmTask = ({ selectedOptions }) => { | ... | @@ -263,6 +264,7 @@ const onConfirmTask = ({ selectedOptions }) => { |
| 263 | const option = selectedOptions[0] | 264 | const option = selectedOptions[0] |
| 264 | selectedTaskText.value = option.text | 265 | selectedTaskText.value = option.text |
| 265 | selectedTaskValue.value = [option.value] | 266 | selectedTaskValue.value = [option.value] |
| 267 | + isMakeup.value = !!option.is_makeup | ||
| 266 | showTaskPicker.value = false | 268 | showTaskPicker.value = false |
| 267 | 269 | ||
| 268 | // 如果是计数打卡,根据选中的作业ID查询计数对象 | 270 | // 如果是计数打卡,根据选中的作业ID查询计数对象 |
| ... | @@ -800,11 +802,12 @@ onMounted(async () => { | ... | @@ -800,11 +802,12 @@ onMounted(async () => { |
| 800 | selectedTaskValue.value = [+route.query.subtask_id] | 802 | selectedTaskValue.value = [+route.query.subtask_id] |
| 801 | 803 | ||
| 802 | // 获取小作业列表 | 804 | // 获取小作业列表 |
| 803 | - const subtask_list = await getSubtaskListAPI({ task_id: route.query.id }) | 805 | + const subtask_list = await getSubtaskListAPI({ task_id: route.query.id, date: current_date }) |
| 804 | if (subtask_list.code) { | 806 | if (subtask_list.code) { |
| 805 | taskOptions.value = [...subtask_list.data.map(item => ({ | 807 | taskOptions.value = [...subtask_list.data.map(item => ({ |
| 806 | - text: item.title, | 808 | + text: item.is_makeup ? '补卡:' + item.title : item.title, |
| 807 | - value: item.id | 809 | + value: item.id, |
| 810 | + is_makeup: item.is_makeup, // 是否为补录 | ||
| 808 | })) | 811 | })) |
| 809 | ] | 812 | ] |
| 810 | } | 813 | } |
| ... | @@ -814,6 +817,7 @@ onMounted(async () => { | ... | @@ -814,6 +817,7 @@ onMounted(async () => { |
| 814 | const option = taskOptions.value.find(o => o.value === selectedTaskValue.value[0]) | 817 | const option = taskOptions.value.find(o => o.value === selectedTaskValue.value[0]) |
| 815 | if (option) { | 818 | if (option) { |
| 816 | selectedTaskText.value = option.text | 819 | selectedTaskText.value = option.text |
| 820 | + isMakeup.value = !!option.is_makeup | ||
| 817 | } | 821 | } |
| 818 | } | 822 | } |
| 819 | 823 | ... | ... |
-
Please register or login to post a comment