spring
8 天以前 78c565e37520fad100693c4e298e30e7c916d1bb
src/pages/production/twist/report/index.vue
@@ -4,7 +4,7 @@
      <template #top>
        <CardTitle title="报工信息" :hideAction="true" :full="false" @action="addReport" />
      </template>
      <wd-card v-for="(item, index) in twistReportList" type="rectangle" custom-class="round">
      <wd-card v-for="item in twistReportList" :key="item.id" type="rectangle" custom-class="round">
        <template #title>
          <view class="flex justify-between">
            <view>
@@ -17,7 +17,10 @@
        </template>
        <ProductionCard :data="cardAttr" :value="item" />
        <template #footer>
          <wd-button size="small" plain @click="toCheck(item.id)">自检</wd-button>
          <wd-button size="small" plain style="margin-right: 10px" @click="toAttachment(item)">
            附件
          </wd-button>
          <wd-button size="small" plain @click="handleSelfCheck(item.id)">自检</wd-button>
        </template>
      </wd-card>
    </z-paging>
@@ -29,6 +32,15 @@
      </view>
      <TwistForm ref="twistFormRef" />
    </wd-popup>
    <wd-popup v-model="drawFormRef.visible" position="bottom" custom-class="yl-popup">
      <Draw
        :single-regulation-info-array="drawData.singleRegulationInfoArray"
        :steel-regulation-info="drawData.steelRegulationInfo"
        :reel-tooling-info="drawData.reelToolingInfo"
        :wire-id="drawData.wireId"
        @close="handleDrawClose"
      />
    </wd-popup>
    <wd-toast />
  </view>
</template>
@@ -38,14 +50,47 @@
import { useToast } from "wot-design-uni";
import ProductionCard from "../../components/ProductionCard.vue";
import { onLoad } from "@dcloudio/uni-app";
import { ref, reactive } from "vue";
import ManageApi from "@/api/product/manage";
import TwistApi from "@/api/product/twist";
import Draw from "./draw.vue";
const drawFormRef = reactive({
  visible: false,
});
// 处理draw组件关闭事件
const handleDrawClose = () => {
  // 确保弹窗被正确关闭
  drawFormRef.visible = false;
};
const pagingRef = ref();
const paramsId = ref();
const twistFormRef = ref();
const toast = useToast();
const dialog = reactive({
  visible: false,
});
const drawData = ref({
  singleRegulationInfoArray: [],
  steelRegulationInfo: {
    model: "",
    twistedDirection: "",
    outerDiameter: "",
    scratch: "",
    oilStain: "",
  },
  reelToolingInfo: {
    nutFixed: "",
    sidePlateFlat: "",
    centerPlateFlat: "",
    paintQuality: "",
    burrCrack: "",
    edgeBlunt: "",
    woodMold: "",
    weldQuality: "",
  },
  wireId: "",
});
const cardAttr = ref<any[]>([
@@ -87,12 +132,19 @@
  });
};
const addReport = () => {
const addReport = async () => {
  dialog.visible = true;
  // 打开新增弹窗时自动执行
  // await showDrawPopup();
};
const submit = () => {
  dialog.visible = twistFormRef.value.submit();
const submit = async () => {
  const isSuccess = await twistFormRef.value.submit();
  dialog.visible = !isSuccess; // 如果提交成功,关闭弹窗
  if (isSuccess) {
    // 提交成功后执行
    // showDrawPopup();
  }
};
const cancel = () => {
@@ -100,11 +152,55 @@
  dialog.visible = false;
};
const toCheck = (id: number) => {
const toAttachment = (item: any) => {
  uni.navigateTo({
    url: `/pages/production/twist/selfInspect/index?id=${id}`,
    url: "/pages/production/twist/attachment/index",
    success: () => {
      // 页面跳转成功后发送事件传递数据
      uni.$emit("detailData", item);
    },
  });
};
const showDrawPopup = async () => {
  try {
    const { data } = await TwistApi.querySingleDishInspection({
      id: paramsId.value,
    });
    // 适配不同的数据结构返回格式
    const responseData = data.data || data;
    if (responseData && responseData.singleWirePrePareInfoVo) {
      const info = responseData.singleWirePrePareInfoVo;
      drawData.value = {
        singleRegulationInfoArray: info.singleRegulationInfoArray || [],
        steelRegulationInfo: info.steelRegulationInfo || {},
        reelToolingInfo: info.reelToolingInfo || {},
        wireId: paramsId.value,
      };
      // 显示Draw弹窗
      drawFormRef.visible = true;
      toast.success("请填写领用信息!");
    } else {
      // toast.error("已存在领用信息,无需填报!");
    }
  } catch (error) {
    console.error("获取领用信息失败:", error);
    toast.error("获取信息失败,请重试");
  }
};
const handleSelfCheck = (id: string) => {
  console.log("执行自检操作,ID:", id);
  uni.showToast({
    title: "自检功能开发中",
    icon: "none",
  });
};
// 保留原有的confirm函数,用于其他地方调用
// const confirm = async () => {
//   await showDrawPopup();
// };
// 获取拉丝报工列表
const getTwistReportList = async () => {
@@ -117,6 +213,7 @@
onLoad((options: any) => {
  paramsId.value = options.id;
  showDrawPopup();
});
</script>