曹睿
2025-04-24 5519cbf2e00c7ba4c650a542d98da99978124a30
src/pages/production/wire/report/wire.vue
@@ -1,29 +1,37 @@
<template>
  <view class="page pt-2">
    <CardTitle title="报工信息" :hideAction="true" @action="addReport" />
    <view class="list">
      <wd-card v-for="(item, index) in 6" type="rectangle" custom-class="round">
  <view class="list">
    <z-paging ref="pagingRef" v-model="wireReportList" :fixed="false" @query="getWireReportList">
      <template #top>
        <CardTitle title="报工信息" :hideAction="true" :full="false" @action="addReport" />
      </template>
      <wd-card
        v-for="(item, index) in wireReportList"
        :key="index"
        type="rectangle"
        custom-class="round"
      >
        <template #title>
          <view class="flex justify-between">
            <view>
              <wd-icon name="user" color="#0D867F"></wd-icon>
              <text class="text-[#0D867F] ml-2 font-medium">生产人</text>
              <text class="text-[#333333] ml-2">方兆玉</text>
              <text class="text-[#333333] ml-2">{{ item.productUser }}</text>
            </view>
            <view class="text-[#A8A8A8]" @click="toEdit">编辑</view>
          </view>
        </template>
        <ProductionCard :data="cardAttr" />
        <ProductionCard :data="cardAttr" :value="item" />
        <template #footer>
          <wd-button size="small" plain @click="toCheck(item.id)">自检</wd-button>
        </template>
      </wd-card>
      <wd-loadmore custom-class="loadmore" state="loading" />
    </view>
    </z-paging>
    <wd-popup v-model="dialog.visible" position="bottom" custom-class="yl-popup">
      <view class="action px-3">
        <wd-button type="text" @click="cancel">取消</wd-button>
        <wd-button type="text" @click="submit">确定</wd-button>
      </view>
      <WireForm />
      <WireForm ref="wireFormRef" />
    </wd-popup>
    <wd-toast />
  </view>
@@ -33,7 +41,13 @@
import WireForm from "./wireForm.vue";
import { useToast } from "wot-design-uni";
import ProductionCard from "../../components/ProductionCard.vue";
import zPaging from "@/components/z-paging/z-paging.vue";
import { onLoad } from "@dcloudio/uni-app";
import ManageApi from "@/api/product/manage";
const pagingRef = ref();
const wireFormRef = ref();
const paramsId = ref();
const toast = useToast();
const dialog = reactive({
  visible: false,
@@ -41,42 +55,40 @@
const cardAttr = ref<any[]>([
  {
    label: "合同号",
    value: "ht2921246",
    label: "领用杆号",
    prop: "poleNumber",
  },
  {
    label: "状态",
    value: "-----",
    label: "杆重(kg)",
    prop: "poleWeight",
  },
  {
    label: "客户名称",
    value: "夏志豪",
  },
  {
    label: "机台",
    value: "-----",
    label: "单丝盘号",
    prop: "monofilamentNumber",
  },
  {
    label: "规格型号",
    value: "2921246",
  },
  {
    label: "已生产数量",
    value: "0",
    prop: "model",
  },
  {
    label: "盘长(m)",
    value: "292",
    prop: "oneLength",
  },
  {
    label: "计划数量",
    value: "100",
    label: "理论重量(kg)",
    prop: "theoryWeight",
  },
  {
    label: "实际重量(kg)",
    prop: "actuallyWeight",
  },
]);
const wireReportList = ref<any[]>([]);
const toEdit = () => {
  uni.navigateTo({
    url: "/pages/production/report/wireEdit",
    url: "/pages/production/wire/report/wireEdit",
  });
};
@@ -85,29 +97,43 @@
};
const submit = () => {
  toast.show("提交");
  dialog.visible = false;
  dialog.visible = wireFormRef.value.submit();
};
const cancel = () => {
  toast.show("取消");
  dialog.visible = false;
};
const toCheck = (id: number) => {
  uni.navigateTo({
    url: `/pages/production/wire/selfInspect/index?id=${id}`,
  });
};
// 获取拉丝报工列表
const getWireReportList = async () => {
  const { data } = await ManageApi.getReportList({
    wireId: paramsId.value,
    type: "拉丝",
  });
  pagingRef.value.complete(data);
};
onLoad((options: any) => {
  paramsId.value = options.id;
});
</script>
<style lang="scss" scoped>
.page {
.list {
  height: calc(100vh - 120px);
  padding: 12px;
  background: #f3f9f8;
  .list {
    height: calc(100vh - 120px);
    margin: 12px;
    overflow: scroll;
    :deep() {
      .round {
        border-radius: 4px;
      }
  :deep() {
    .round {
      border-radius: 4px;
    }
  }
}