From d517e5eacb38b075ae7cdffc011fc84401e587a8 Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期三, 08 十一月 2023 10:12:50 +0800 Subject: [PATCH] feat: 添加报工输入弹窗 --- src/views/dashboard/components/TaskControl.vue | 27 +++++++++++++++++++-------- 1 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/views/dashboard/components/TaskControl.vue b/src/views/dashboard/components/TaskControl.vue index 47b9945..6791ac2 100644 --- a/src/views/dashboard/components/TaskControl.vue +++ b/src/views/dashboard/components/TaskControl.vue @@ -22,7 +22,7 @@ </BigButton> <template v-if="task?.Procedure.Status === 2 || task?.Procedure.Status === 3"> <BigButton class="btn" bg-color="#ff9933">鎵撳嵃</BigButton> - <BigButton class="btn" bg-color="#00cc33">鎶ュ伐</BigButton> + <BigButton class="btn" bg-color="#00cc33" @click="openReportModal">鎶ュ伐</BigButton> <el-popconfirm width="340" confirm-button-text="纭畾" @@ -42,11 +42,12 @@ </template> </div> </div> - <TaskControlModal - v-model="showTaskControlModal" - :task="task" - @produce-start="emit('shouldReload', task)" - ></TaskControlModal> + <TaskControlModal v-model="showTaskControlModal" :task="task" @produce-start="onProduceStart"></TaskControlModal> + <ReportProductionModal + v-model="showReportModal" + @close="showReportModal = false" + @submit="showReportModal = false" + ></ReportProductionModal> </template> <script setup lang="ts"> import type { Task } from '@/api/task' @@ -57,6 +58,7 @@ import { CircleCloseFilled } from '@element-plus/icons-vue' import { finishTask } from '@/api' import { ElMessage } from 'element-plus' +import ReportProductionModal from '@/views/dashboard/components/ReportProductionModal.vue' const props = defineProps<{ task?: Task @@ -80,14 +82,14 @@ * 瀹屾垚浠诲姟 */ function finishTaskProduce() { - if (task?.value?.Procedure?.ID) { + if (task?.value && task.value?.Procedure?.ID) { finishTask({ id: task!.value.Procedure.ID }).then( (res) => { ElMessage({ message: '鎿嶄綔鎴愬姛锛�', type: 'success' }) - emit('shouldReload', task.value) + emit('shouldReload', task.value as Task) }, (err) => { console.error(err) @@ -105,6 +107,10 @@ } } +function onProduceStart() { + emit('shouldReload', task!.value as Task) +} + /** * 鏍煎紡鍖栨椂闂存埑 * @param timestamp 鍚庣杩旂殑10浣嶆椂闂存埑 @@ -116,6 +122,11 @@ const time = useDateFormat(timestamp * 1000, 'YYYY-MM-DD', { locales: 'zh-cn' }) return time.value } +// 鎶ュ伐 +const showReportModal = ref(false) +function openReportModal() { + showReportModal.value = true +} </script> <style scoped lang="scss"> $title-text-color: #9599af; -- Gitblit v1.8.0