haoxuan
2023-11-03 1b1953b435e3187243102c794d29b56acb0dba5a
Merge branch 'dev' of http://192.168.5.5:10010/r/web/bulletin-board-style1 into wn
4个文件已修改
61 ■■■■ 已修改文件
src/api/index.ts 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/stores/craftModel.ts 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/DeviceStatusInfo.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/index.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/index.ts
@@ -112,7 +112,6 @@
  procedureId: number
  page: number
  pageSize: number
  number: string
}
/**
src/stores/craftModel.ts
@@ -1,8 +1,10 @@
import { ref, computed } from 'vue'
import { ref, watch } from 'vue'
import { defineStore } from 'pinia'
import type { CraftModel } from '@/api/craftModel'
import { apiGetCraftModelList } from '@/api'
import { useTasksStore } from '@/stores/tasks'
const watcher = ref()
export const useCraftModelStore = defineStore('craftModel', () => {
  const craftModelList = ref<CraftModel[]>()
@@ -12,13 +14,21 @@
      apiGetCraftModelList({
        procedureId: taskStore.activeTask?.Procedure.ID,
        page: 1,
        pageSize: 999,
        number: taskStore.activeTask?.Procedure?.processModelNumber
        pageSize: 999
      }).then((res) => {
        craftModelList.value = res.data ?? []
      })
    }
  }
  if (!watcher.value) {
    watch(
      () => taskStore.activeTask,
      () => {
        getCraftModelList()
      }
    )
  }
  return { craftModelList, getCraftModelList }
})
src/views/dashboard/components/DeviceStatusInfo.vue
@@ -73,6 +73,7 @@
import type { PLCResponse } from '@/api/plc'
import { useTasksStore } from '@/stores/tasks'
import { storeToRefs } from 'pinia'
import type { TasksGroupByChannel } from '@/api/task'
export interface DeviceStatusInfoProps {
  plc?: PLCResponse
@@ -143,11 +144,31 @@
  return `${days}天${hours}时${m}分`
}
/**
 * 获取某任务所在通道的运行中的任务
 * @param channelMap
 * @param channelNumber
 */
function getChannelRunningTask(channelMap?: TasksGroupByChannel, channelNumber?: number) {
  if (!channelMap || !channelNumber) {
    return
  }
  const channel = channelMap[channelNumber]
  if (channel) {
    const taskList = channel?.Tasks ?? []
    return taskList.find((ele) => ele.Procedure.Status === 2)
  }
}
// 工序运行时间
const taskStore = useTasksStore()
const { activeTask } = storeToRefs(taskStore)
const { activeTask, channels } = storeToRefs(taskStore)
// 工序运行时间: 使用当前选中任务所在通道的正处于运行中的任务来展示
const runningTime = computed(() => {
  return getTaskRunningTime(activeTask?.value?.Procedure?.realStartTime, activeTask?.value?.Procedure?.realEndTime)
  const runningTask = getChannelRunningTask(channels?.value, activeTask?.value?.Channel)
  return getTaskRunningTime(runningTask?.Procedure?.realStartTime, runningTask?.Procedure?.realEndTime)
})
</script>
src/views/dashboard/index.vue
@@ -15,12 +15,14 @@
          <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"
              @detail="openCraftModelDetailModal"
            ></ProcessInfo>
          </el-scrollbar>
        </el-tab-pane>
        <el-tab-pane label="物料清单" name="物料清单">
          <InputMaterialsList
@@ -152,13 +154,10 @@
// 切换任务时获取对应任务的工艺模型信息
const craftModelStore = useCraftModelStore()
watch(activeTask, () => {
  craftModelStore.getCraftModelList()
})
craftModelStore.getCraftModelList()
const showCraftModelDetail = ref(false)
function openCraftModelDetailModal() {
  console.log(1)
  showCraftModelDetail.value = true
}