haoxuan
2023-11-06 75c41cc8a2f25cff74e976cdc7851cbaddd97b3f
src/views/dashboard/index.vue
@@ -15,14 +15,30 @@
          <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"
              @detail="openCraftModelDetailModal"
            ></ProcessInfo>
          </el-scrollbar>
          <div style="height: 300px">
            <el-scrollbar always 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"
                  :craft-model="item"
                  @detail="openCraftModelDetailModal"
                ></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
@@ -68,9 +84,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 { Task, Material } from '@/api/task'
import PersonInfo from '@/views/dashboard/components/PersonInfo.vue'
import ProcessInfo from '@/views/dashboard/components/ProcessInfo.vue'
import ColorInfo from '@/views/dashboard/components/ColorInfo.vue'
@@ -94,6 +110,7 @@
import { useCraftModelStore } from '@/stores/craftModel'
import CraftDetailModal from '@/views/dashboard/components/CraftDetailModal.vue'
import MaterialDetails from '@/views/dashboard/components/MaterialDetails.vue'
import { Loading } from '@element-plus/icons-vue'
defineOptions({
  name: 'DashboardView'
@@ -103,14 +120,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 = [
@@ -187,7 +196,7 @@
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 12px;
  padding-top: 22px;
}
:deep(.el-tabs) {
  height: 100%;
@@ -227,4 +236,11 @@
  width: 100%;
  font-size: 20px;
}
.craft-loaded-tip {
  height: 40px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
</style>