From a4d4745e68664a5f5b82700a95019f1febd09d19 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期一, 06 十一月 2023 17:44:34 +0800 Subject: [PATCH] 工艺列表的是否显示当前使用的标志判断修改 --- src/views/dashboard/index.vue | 104 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 83 insertions(+), 21 deletions(-) diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 815948f..e1b8f18 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -15,16 +15,27 @@ <ProcessingInfo style="margin-top: 6px" :task="activeTask"></ProcessingInfo> </el-tab-pane> <el-tab-pane label="宸ヨ壓淇℃伅" name="宸ヨ壓淇℃伅"> - <ProcessInfo - v-for="item in craftModelStore.craftModelList" - :key="item.ID" - :craft-model="item" - @detail="openCraftModelDetailModal" - ></ProcessInfo> + <el-scrollbar always> + <ProcessInfo + v-for="item in craftModelStore.craftModelList" + :key="item.ID" + :craft-model="item" + :task="activeTask" + :active-arr="activeArr" + @detail="openCraftModelDetailModal" + @update="updateCraft" + ></ProcessInfo> + </el-scrollbar> </el-tab-pane> <el-tab-pane label="鐗╂枡娓呭崟" name="鐗╂枡娓呭崟"> - <InputMaterialsList></InputMaterialsList> - <OutputMaterialsList></OutputMaterialsList> + <InputMaterialsList + :material-list="activeTask?.Procedure.procedure.inputMaterials" + @detail-click="showMaterialDetailModal" + ></InputMaterialsList> + <OutputMaterialsList + :material-list="activeTask?.Procedure.procedure.outputMaterials" + @detail-click="showMaterialDetailModal" + ></OutputMaterialsList> </el-tab-pane> </el-tabs> </template> @@ -33,8 +44,8 @@ <div class="task-detail"> <TaskControl :task="activeTask" @should-reload="reloadAllData"></TaskControl> </div> - <ColorInfo :order="order" :type="1"></ColorInfo> - <ColorInfo :order="order" :type="2"></ColorInfo> + <ColorInfo :type="1"></ColorInfo> + <ColorInfo :type="2"></ColorInfo> </template> <template #middleBlock4> <SubTitle>浜哄憳淇℃伅</SubTitle> @@ -56,12 +67,20 @@ <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, watch } from 'vue' import ChannelCollapse from '@/views/dashboard/components/ChannelCollapse.vue' -import type { Worker, Order, Task } 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' @@ -84,6 +103,8 @@ import { useDevicesStore } from '@/stores/devices' 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' defineOptions({ name: 'DashboardView' @@ -93,10 +114,6 @@ const taskStore = useTasksStore() const workers = computed(() => { return taskStore.activeTask?.Procedure?.procedure?.workers ?? [] -}) - -const process = computed(() => { - return { product: '浜у搧鍚嶇О', number: '111', procedure: '宸ヨ壓鍚嶇О', isUpdate: true } as any }) const order = computed(() => { @@ -148,15 +165,60 @@ // 鍒囨崲浠诲姟鏃惰幏鍙栧搴斾换鍔$殑宸ヨ壓妯″瀷淇℃伅 const craftModelStore = useCraftModelStore() -watch(activeTask, () => { - craftModelStore.getCraftModelList() -}) +craftModelStore.getCraftModelList() const showCraftModelDetail = ref(false) -function openCraftModelDetailModal() { - console.log(1) +// 褰撳墠瑕佸睍绀虹殑宸ヨ壓璇︽儏 +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) +// 褰撳墠瑕佸睍绀虹殑鐗╂枡璇︽儏 +const currentMaterialInfo = ref<Material>() + +/** + * 鏄剧ず鐗╂枡璇︽儏寮圭獥 + * @param material + */ +function showMaterialDetailModal(material: Material) { + currentMaterialInfo.value = material + showMaterialDetail.value = true +} </script> <style scoped lang="scss"> -- Gitblit v1.8.0