|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <div class="content"> | 
|---|
|  |  |  | <div :class="{ 'content_top': status }" class="content_search"> | 
|---|
|  |  |  | <v-Search @searchInput="searchInput" @submit="submit" :isShow="false" placeholder="搜索物料名称/编码/工序名称"> | 
|---|
|  |  |  | </v-Search> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <van-pull-refresh v-model="refreshing" @refresh="onRefresh"> | 
|---|
|  |  |  | <van-list | 
|---|
|  |  |  | v-model:loading="loading" | 
|---|
|  |  |  | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script setup lang="ts"> | 
|---|
|  |  |  | import { reactive, ref, onBeforeUnmount, getCurrentInstance } from "vue" | 
|---|
|  |  |  | import { reactive, ref, onBeforeUnmount, getCurrentInstance, onMounted } from "vue" | 
|---|
|  |  |  | import { useRouter, useRoute } from "vue-router" | 
|---|
|  |  |  | import { getList } from "@/apis/PlanningAPI" | 
|---|
|  |  |  | import { judgmentPlatform } from '@/utils/utils' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const route = useRoute() | 
|---|
|  |  |  | const router = useRouter() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let status = ref<boolean>(false)    // 根据平台是否需要设置top | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { $Bus }  = getCurrentInstance().appContext.config.globalProperties | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | const pageData = reactive({ | 
|---|
|  |  |  | capacity: 10, | 
|---|
|  |  |  | page: 0, | 
|---|
|  |  |  | total: 0 | 
|---|
|  |  |  | total: 0, | 
|---|
|  |  |  | name: '' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 列表数据 | 
|---|
|  |  |  | 
|---|
|  |  |  | router.go(-1) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 搜索提交 | 
|---|
|  |  |  | const submit = (): void => { | 
|---|
|  |  |  | pageData.page = 0 | 
|---|
|  |  |  | finished.value = false | 
|---|
|  |  |  | listData.value = [] | 
|---|
|  |  |  | onLoad() | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 搜索框 | 
|---|
|  |  |  | const searchInput = (data: any) => { | 
|---|
|  |  |  | pageData.name = data | 
|---|
|  |  |  | pageData.page = 0 | 
|---|
|  |  |  | finished.value = false | 
|---|
|  |  |  | listData.value = [] | 
|---|
|  |  |  | onLoad() | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 列表 | 
|---|
|  |  |  | const onLoad = () => { | 
|---|
|  |  |  | if (!finished.value) { | 
|---|
|  |  |  | 
|---|
|  |  |  | capacity: pageData.capacity, | 
|---|
|  |  |  | page: pageData.page, | 
|---|
|  |  |  | model: { | 
|---|
|  |  |  | mixParam: pageData.name, | 
|---|
|  |  |  | statusList: [1, 4], | 
|---|
|  |  |  | paused: 0 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | onBeforeUnmount(() => { | 
|---|
|  |  |  | $Bus.all.delete("changeOdr") | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | onMounted(() => { | 
|---|
|  |  |  | status.value = judgmentPlatform() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | 
|---|
|  |  |  | // height: 100%; | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | background: #F7F7F7; | 
|---|
|  |  |  | .content_top { | 
|---|
|  |  |  | top: 0 !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .content_search { | 
|---|
|  |  |  | padding: 30px; | 
|---|
|  |  |  | background: white; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | position: sticky; | 
|---|
|  |  |  | top: 88px; | 
|---|
|  |  |  | z-index: 9; | 
|---|
|  |  |  | .Search_item { | 
|---|
|  |  |  | margin-bottom: 40px; | 
|---|
|  |  |  | .Search_item_label { | 
|---|
|  |  |  | font-size: 30px; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .Search_item_content { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | margin-top: 30px; | 
|---|
|  |  |  | .tag { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex-wrap: wrap; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | .tag_active { | 
|---|
|  |  |  | background: $nav-color !important; | 
|---|
|  |  |  | color: #ffffff !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .tag_item { | 
|---|
|  |  |  | width: 156px; | 
|---|
|  |  |  | height: 70px; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | background: #F2F2F2; | 
|---|
|  |  |  | border-radius: 8px; | 
|---|
|  |  |  | font-size: 26px; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #333333; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | margin-right: 22px; | 
|---|
|  |  |  | margin-bottom: 22px; | 
|---|
|  |  |  | &:nth-child(4n) { | 
|---|
|  |  |  | margin-right: 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | span { | 
|---|
|  |  |  | font-size: 26px; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #333333; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .Search_item_content_a { | 
|---|
|  |  |  | width: 308px; | 
|---|
|  |  |  | height: 70px; | 
|---|
|  |  |  | background: #F7F7F7; | 
|---|
|  |  |  | border-radius: 8px; | 
|---|
|  |  |  | border: 1px solid #EEEEEE; | 
|---|
|  |  |  | font-size: 26px; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #B2B2B2; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .content_search_x { | 
|---|
|  |  |  | height: 24px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .content_list { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100%; | 
|---|