From 735259265b19227be1001c204a684432be0897a7 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期二, 07 十一月 2023 10:02:12 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.5.5:10010/r/web/bulletin-board-style1 into dev
---
src/views/dashboard/index.vue | 79 ++++++++++++++++++++++++++-------------
1 files changed, 52 insertions(+), 27 deletions(-)
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index e1b8f18..28099f1 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -7,7 +7,7 @@
<ChannelCollapse :channels="channels"></ChannelCollapse>
</template>
<template #middleBlock1>
- <DashboardTitle></DashboardTitle>
+ <DashboardTitle @should-reload="reloadAllData"></DashboardTitle>
</template>
<template #middleBlock2>
<el-tabs v-model="activeMainTabName" class="main-info-tabs">
@@ -15,17 +15,33 @@
<ProcessingInfo style="margin-top: 6px" :task="activeTask"></ProcessingInfo>
</el-tab-pane>
<el-tab-pane label="宸ヨ壓淇℃伅" name="宸ヨ壓淇℃伅">
- <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>
+ <div style="height: 300px">
+ <el-scrollbar always class="scroller" style="height: 100%">
+ <div
+ v-infinite-scroll="craftModelStore.loadMore"
+ infinite-scroll-delay="500"
+ infinite-scroll-distance="40"
+ style="display: flex; align-items: center; flex-wrap: wrap"
+ >
+ <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">
+ <el-icon v-if="craftModelStore.loading" class="is-loading" size="30">
+ <Loading />
+ </el-icon>
+
+ <div v-if="!craftModelStore.hasMore">鍔犺浇瀹屾垚</div>
+ </div>
+ </el-scrollbar>
+ </div>
</el-tab-pane>
<el-tab-pane label="鐗╂枡娓呭崟" name="鐗╂枡娓呭崟">
<InputMaterialsList
@@ -42,7 +58,7 @@
<template #middleBlock3>
<SubTitle>浠诲姟璇︽儏</SubTitle>
<div class="task-detail">
- <TaskControl :task="activeTask" @should-reload="reloadAllData"></TaskControl>
+ <TaskControl :task="activeTask" @should-reload="reloadChannel"></TaskControl>
</div>
<ColorInfo :type="1"></ColorInfo>
<ColorInfo :type="2"></ColorInfo>
@@ -77,8 +93,9 @@
<MaterialDetails v-model="showMaterialDetail" :material="currentMaterialInfo"></MaterialDetails>
</template>
<script setup lang="ts">
-import { computed, ref, watch } from 'vue'
+import { computed, ref } from 'vue'
import ChannelCollapse from '@/views/dashboard/components/ChannelCollapse.vue'
+
import type { Worker, Order, Task, Material } from '@/api/task'
import type { CraftModel } from '@/api/craftModel'
import PersonInfo from '@/views/dashboard/components/PersonInfo.vue'
@@ -104,7 +121,9 @@
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({
name: 'DashboardView'
@@ -114,14 +133,6 @@
const taskStore = useTasksStore()
const workers = computed(() => {
return taskStore.activeTask?.Procedure?.procedure?.workers ?? []
-})
-
-const order = computed(() => {
- return {
- finishNumber: 0,
- unit: '涓�',
- amount: '10'
- } as unknown as Order
})
const taskTabsList = [
@@ -153,8 +164,12 @@
* 瀹屾垚浠诲姟鎴栬�呬笅鍙戝弬鏁版垚鍔熷悗瑕佸埛鏂伴�氶亾鏁版嵁
* @param task
*/
-function reloadAllData(task: Task) {
- tasksStore.reload(task.Channel)
+function reloadChannel(task: Task) {
+ tasksStore.reloadChannel(task.Channel)
+}
+
+function reloadAllData() {
+ tasksStore.reloadAllData()
}
// 鍚姩plc 杞
const plcStore = usePLCStore()
@@ -170,7 +185,7 @@
const showCraftModelDetail = ref(false)
// 褰撳墠瑕佸睍绀虹殑宸ヨ壓璇︽儏
const currentCraftModelInfo = ref<CraftModel>()
-const activeArr = ref([])
+const activeArr = ref<string[]>([])
function openCraftModelDetailModal(craftModel: CraftModel) {
currentCraftModelInfo.value = craftModel
showCraftModelDetail.value = true
@@ -201,7 +216,7 @@
function editActive(craftModel: CraftModel) {
for (let i in activeArr.value) {
if (activeArr.value[i] == craftModel.number) {
- activeArr.value.splice(i, 1)
+ activeArr.value.splice(Number(i), 1)
}
}
}
@@ -228,7 +243,7 @@
display: flex;
align-items: center;
justify-content: center;
- padding-top: 12px;
+ padding-top: 22px;
}
:deep(.el-tabs) {
height: 100%;
@@ -268,4 +283,14 @@
width: 100%;
font-size: 20px;
}
+.craft-loaded-tip {
+ height: 40px;
+ text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+.scroller {
+ padding: 4px 16px;
+}
</style>
--
Gitblit v1.8.0