spring
2025-11-19 af4f45eaa2703ecf991bd10f07f6df179f2677d9
src/pages/routingInspection/list/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
<template>
  <view class="card_box">
    <z-paging
      ref="pagingRef"
      v-model="list"
      :fixed="false"
      :auto-show-back-to-top="true"
      @query="getList"
    >
      <ProductCard
        v-for="(item, index) in list"
        :key="index"
        :data="item"
        :map="map"
        @click="toDetail(item.id, item.deviceType)"
      />
    </z-paging>
    <wd-toast />
  </view>
</template>
<script setup lang="ts">
import ProductCard from "../product_card/index.vue";
import { useUserStore } from "@/store/modules/user";
import zPaging from "@/components/z-paging/z-paging.vue";
import { useToast } from "wot-design-uni";
const toast = useToast();
const userStore = useUserStore();
const userInfo: any = computed(() => userStore.userInfo);
const pagingRef = ref();
const map = reactive({
  deviceModel: "deviceModel",
  model: "model",
  firstNo: "firstNo",
  recordDate: "recordDate",
  workShift: "workShift",
  teamName: "teamName",
  poleModel: "poleModel",
  poleNumber: "poleNumber",
  outputNumber: "outputNumber",
  inspectPerson: "inspectPerson",
  status: "status",
  productType: "productType",
  recordPosition: "recordPosition",
  rejectList: [
    {
      rejectPerson: "rejectPerson",
      rejectTime: "rejectTime",
      rejectReason: {
        reason: "reason",
      },
    },
  ], // æ”¹ä¸ºå¯¹è±¡ï¼ŒåŒ…含所需的嵌套属性
});
const props = defineProps({
  api: {
    type: Function,
    default: () => {},
  },
  ProList: {
    type: Object,
    default: () => {},
  },
});
const list = ref<any[]>([]);
const toDetail = (id: number, deviceType: number) => {
  console.log("点击卡片", id, deviceType);
  if (deviceType == 1) {
    // ç»žçº¿
    uni.navigateTo({
      url: `/pages/routingInspection/detail/indexJX?id=${id}&deviceType=${deviceType}`,
    });
  } else if (deviceType == 0) {
    // æ‹‰ä¸
    uni.navigateTo({
      url: `/pages/routingInspection/detail/indexLS?id=${id}&deviceType=${deviceType}`,
    });
  }
};
const getList = async (pageNo = 1, pageSize = 10) => {
  const { code, data } = await props.api({
    deviceModel: props.ProList.deviceModel,
    status: "0",
    deviceType: props.ProList.deviceType,
    teamName: props.ProList.teamName || "", // ç­ç»„名称搜索
    current: pageNo,
    size: pageSize,
  });
  if (code == 200) {
    map.deviceModel = "deviceModel";
    map.model = "model";
    map.firstNo = "firstNo";
    map.recordDate = "recordDate";
    map.workShift = "workShift";
    map.teamName = "teamName";
    map.poleModel = "poleModel";
    map.poleNumber = "poleNumber";
    map.outputNumber = "outputNumber";
    map.inspectPerson = "inspectPerson";
    map.productType = "productType";
    map.recordPosition = "recordPosition";
    map.rejectList = [
      {
        rejectPerson: "rejectPerson",
        rejectTime: "rejectTime",
        rejectReason: {
          reason: "reason",
        },
      },
    ];
    map.status = "status";
    if (data.total == 0) {
      pagingRef.value.complete(true);
    } else {
      console.log("data.records", data.records);
      pagingRef.value.complete(data.records);
    }
  }
};
</script>
<style lang="scss" scoped>
.card_box {
  height: calc(100vh - 120px);
}
</style>