From 39864dcc835f1e75efd3f20a99d50a7edae4a94f Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期一, 06 十一月 2023 17:59:51 +0800 Subject: [PATCH] Merge branch 'wn' of http://192.168.5.5:10010/r/web/bulletin-board-style1 into dev --- src/views/dashboard/index.vue | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 50 insertions(+), 3 deletions(-) diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 49b5c8e..4b3975b 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -26,8 +26,11 @@ <ProcessInfo v-for="item in craftModelStore.craftModelList" :key="item.ID" + :task="activeTask" + :active-arr="activeArr" :craft-model="item" @detail="openCraftModelDetailModal" + @update="updateCraft" ></ProcessInfo> </div> <div class="craft-loaded-tip"> @@ -80,13 +83,21 @@ <BigButton class="btn" bg-color="red">绾㈢伅鍛煎彨</BigButton> </template> </DashboardLayout> - <CraftDetailModal v-model="showCraftModelDetail" @close="showCraftModelDetail = false"></CraftDetailModal> + <CraftDetailModal + v-model="showCraftModelDetail" + :active-arr="activeArr" + :craft-model="currentCraftModelInfo" + @renew="updateCraft" + @close="showCraftModelDetail = false" + ></CraftDetailModal> <MaterialDetails v-model="showMaterialDetail" :material="currentMaterialInfo"></MaterialDetails> </template> <script setup lang="ts"> import { computed, ref } from 'vue' import ChannelCollapse from '@/views/dashboard/components/ChannelCollapse.vue' -import type { Task, Material } from '@/api/task' + +import type { Worker, Order, Task, Material } from '@/api/task' +import type { CraftModel } from '@/api/craftModel' import PersonInfo from '@/views/dashboard/components/PersonInfo.vue' import ProcessInfo from '@/views/dashboard/components/ProcessInfo.vue' import ColorInfo from '@/views/dashboard/components/ColorInfo.vue' @@ -110,6 +121,8 @@ import { useCraftModelStore } from '@/stores/craftModel' import CraftDetailModal from '@/views/dashboard/components/CraftDetailModal.vue' import MaterialDetails from '@/views/dashboard/components/MaterialDetails.vue' + +import { updateCraftParams } from '@/api' import { Loading } from '@element-plus/icons-vue' defineOptions({ @@ -170,9 +183,43 @@ craftModelStore.getCraftModelList() const showCraftModelDetail = ref(false) -function openCraftModelDetailModal() { +// 褰撳墠瑕佸睍绀虹殑宸ヨ壓璇︽儏 +const currentCraftModelInfo = ref<CraftModel>() +const activeArr = ref([]) +function openCraftModelDetailModal(craftModel: CraftModel) { + currentCraftModelInfo.value = craftModel showCraftModelDetail.value = true } +// 鏇存柊宸ヨ壓 +function updateCraft(craftModel: CraftModel) { + if (activeTask?.value?.Procedure?.ID) { + activeArr.value.push(craftModel.number) + updateCraftParams({ procedureId: activeTask!.value.Procedure.ID }).then( + (res) => { + if (res.code == 200) { + editActive(craftModel) + ElMessage({ + message: '鏇存柊鎴愬姛锛�', + type: 'success' + }) + } + }, + (err) => { + console.error(err, '----err') + setTimeout(() => { + editActive(craftModel) + }, 500) + } + ) + } +} +function editActive(craftModel: CraftModel) { + for (let i in activeArr.value) { + if (activeArr.value[i] == craftModel.number) { + activeArr.value.splice(i, 1) + } + } +} // 鏄惁灞曠ず鐗╂枡璇︽儏寮圭獥 const showMaterialDetail = ref(false) -- Gitblit v1.8.0