<template>
|
<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">{{ item.productUser }}</text>
|
</view>
|
<!-- <view class="text-[#A8A8A8]" @click="toEdit">编辑</view> -->
|
</view>
|
</template>
|
<ProductionCard :data="cardAttr" :value="item" />
|
<template #footer>
|
<wd-button size="small" plain style="margin-right: 10px" @click="toAttachment(item)">
|
附件
|
</wd-button>
|
<wd-button size="small" plain @click="toCheck(item.id)">自检</wd-button>
|
</template>
|
</wd-card>
|
</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 ref="wireFormRef" />
|
</wd-popup>
|
<wd-popup v-model="drawFormRef.visible" position="bottom" custom-class="yl-popup">
|
<Draw
|
:wire-id="drawData.wireId"
|
:pole-number="drawData.poleNumber"
|
@close="handleDrawClose"
|
/>
|
</wd-popup>
|
<wd-toast />
|
</view>
|
</template>
|
<script setup lang="ts">
|
import CardTitle from "@/components/card-title/index.vue";
|
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";
|
import Draw from "./rawMaterial.vue";
|
|
const pagingRef = ref();
|
const wireFormRef = ref();
|
const paramsId = ref();
|
const toast = useToast();
|
const dialog = reactive({
|
visible: false,
|
});
|
|
const drawFormRef = reactive({
|
visible: false,
|
});
|
// 处理draw组件关闭事件
|
const handleDrawClose = () => {
|
// 确保弹窗被正确关闭
|
drawFormRef.visible = false;
|
};
|
const drawData = ref({
|
wireId: "",
|
poleNumber: "",
|
});
|
|
const showDrawPopup = async () => {
|
console.log("进入该方法!");
|
try {
|
const { data } = await ManageApi.queryWireRawMaterialInspect({
|
wireId: paramsId.value,
|
poleNumber: drawData.value.poleNumber,
|
});
|
console.log("data", data);
|
// 适配不同的数据结构返回格式
|
if (data == null) {
|
drawData.value = {
|
wireId: paramsId.value,
|
poleNumber: drawData.value.poleNumber,
|
};
|
// 显示Draw弹窗
|
drawFormRef.visible = true;
|
toast.success("请填写领用信息!");
|
} else {
|
toast.error("已存在领用信息,无需填报!");
|
}
|
} catch (error) {
|
console.error("获取领用信息失败:", error);
|
toast.error("获取信息失败,请重试");
|
}
|
};
|
|
const cardAttr = ref<any[]>([
|
{
|
label: "领用杆号",
|
prop: "poleNumber",
|
span: 24,
|
},
|
{
|
label: "单丝盘号",
|
prop: "monofilamentNumber",
|
span: 24,
|
},
|
{
|
label: "杆型号",
|
prop: "poleModel",
|
},
|
{
|
label: "杆包号",
|
prop: "polePackageNumber",
|
},
|
{
|
label: "杆重(kg)",
|
prop: "poleWeight",
|
},
|
{
|
label: "规格型号",
|
prop: "model",
|
},
|
{
|
label: "盘型号",
|
prop: "dishModel",
|
},
|
{
|
label: "盘长(m)",
|
prop: "oneLength",
|
},
|
{
|
label: "实际长度",
|
prop: "actuallyLength",
|
},
|
{
|
label: "实际重量(kg)",
|
prop: "actuallyWeight",
|
},
|
]);
|
|
const wireReportList = ref<any[]>([]);
|
|
// const toEdit = () => {
|
// uni.navigateTo({
|
// url: "/pages/production/wire/report/wireEdit",
|
// });
|
// };
|
|
const addReport = () => {
|
dialog.visible = true;
|
};
|
|
const submit = async () => {
|
const result = await wireFormRef.value.submit();
|
dialog.visible = !result.success;
|
// 设置poleNumber到drawData中
|
if (result.success) {
|
drawData.value.poleNumber = result.poleNumber;
|
showDrawPopup();
|
}
|
pagingRef.value.reload();
|
};
|
|
const cancel = () => {
|
toast.show("取消");
|
dialog.visible = false;
|
};
|
|
const toAttachment = (item: any) => {
|
uni.navigateTo({
|
url: "/pages/production/wire/attachment/index",
|
success: () => {
|
// 页面跳转成功后发送事件传递数据
|
uni.$emit("detailData", item);
|
},
|
});
|
};
|
|
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>
|
.list {
|
height: calc(100vh - 30px);
|
padding: 12px;
|
background: #f3f9f8;
|
|
:deep() {
|
.round {
|
border-radius: 4px;
|
}
|
}
|
}
|
|
.action {
|
display: flex;
|
justify-content: space-between;
|
}
|
</style>
|