| | |
| | | <ProductionCard :data="cardAttr" :value="item" color="#0D867F" /> |
| | | </wd-card> |
| | | </z-paging> |
| | | </view> |
| | | <wd-popup v-model="dialog.visible" position="bottom" custom-class="yl-popup"> |
| | | <wd-popup v-model="addDialog.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> |
| | | <wd-button type="text" @click="cancelAdd">取消</wd-button> |
| | | <wd-button type="text" @click="submitAdd">确定</wd-button> |
| | | </view> |
| | | <SteelCore ref="steelCoreRef" @refresh="reloadList" /> |
| | | <SteelCore ref="addFormRef" mode="add" @refresh="reloadList" /> |
| | | </wd-popup> |
| | | <wd-popup v-model="editDialog.visible" position="bottom" custom-class="yl-popup"> |
| | | <view class="action px-3"> |
| | | <wd-button type="text" @click="cancelEdit">取消</wd-button> |
| | | <wd-button type="text" @click="submitEdit">确定</wd-button> |
| | | </view> |
| | | <SteelCore |
| | | ref="editFormRef" |
| | | mode="edit" |
| | | :editData="editDialog.currentItem" |
| | | @refresh="reloadList" |
| | | /> |
| | | </wd-popup> |
| | | <wd-toast /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | |
| | | import ProductionCard from "../../../components/ProductionCard.vue"; |
| | | import { useToast } from "wot-design-uni"; |
| | | import SteelCore from "./form.vue"; |
| | | import { onLoad, onShow } from "@dcloudio/uni-app"; |
| | | import { onLoad } from "@dcloudio/uni-app"; |
| | | import ManageApi from "@/api/product/manage"; |
| | | import zPaging from "@/components/z-paging/z-paging.vue"; |
| | | |
| | | const paramsId = ref(); |
| | | const pagingRef = ref(); |
| | | const steelCoreRef = ref(); |
| | | const addFormRef = ref(); |
| | | const editFormRef = ref(); |
| | | const toast = useToast(); |
| | | const dialog = reactive({ |
| | | const addDialog = reactive({ |
| | | visible: false, |
| | | }); |
| | | const editDialog = reactive({ |
| | | visible: false, |
| | | currentItem: null as any, |
| | | editId: undefined as number | undefined, |
| | | }); |
| | | const cardList = ref<any[]>([]); |
| | | const needRefresh = ref(false); // 标记是否需要刷新 |
| | | |
| | | const cardAttr = ref<any[]>([ |
| | | { |
| | |
| | | ]); |
| | | |
| | | const toEdit = (id: number) => { |
| | | needRefresh.value = true; // 标记需要刷新 |
| | | |
| | | // 确保 cardList 是数组 |
| | | const listData = Array.isArray(cardList.value) ? cardList.value : []; |
| | | console.log("toEdit - 传递的列表数据:", listData, "编辑ID:", id); |
| | | |
| | | uni.navigateTo({ |
| | | url: `/pages/production/twist/receive/steelCore/edit?id=${id}`, |
| | | success: () => { |
| | | // 页面跳转成功后发送事件传递完整列表数据和当前编辑ID |
| | | uni.$emit("steelCoreEditData", { |
| | | list: listData, |
| | | editId: id, |
| | | }); |
| | | }, |
| | | }); |
| | | }; |
| | | |
| | | const addReport = () => { |
| | | dialog.visible = true; |
| | | }; |
| | | |
| | | const submit = async () => { |
| | | const success = await steelCoreRef.value.submit(); |
| | | if (success) { |
| | | dialog.visible = false; |
| | | const itemToEdit = cardList.value.find((item) => item.id === id); |
| | | if (itemToEdit) { |
| | | editDialog.currentItem = itemToEdit; |
| | | editDialog.editId = id; |
| | | editDialog.visible = true; |
| | | } |
| | | }; |
| | | |
| | | const cancel = () => { |
| | | const addReport = () => { |
| | | if (addFormRef.value) { |
| | | addFormRef.value.resetFormData(); |
| | | } |
| | | addDialog.visible = true; |
| | | }; |
| | | |
| | | const submitAdd = async () => { |
| | | const success = await addFormRef.value.submit(); |
| | | if (success) { |
| | | addDialog.visible = false; |
| | | } |
| | | }; |
| | | |
| | | const cancelAdd = () => { |
| | | toast.show("取消"); |
| | | dialog.visible = false; |
| | | addDialog.visible = false; |
| | | }; |
| | | |
| | | const submitEdit = async () => { |
| | | const success = await editFormRef.value.submitEdit(cardList.value, editDialog.editId); |
| | | if (success) { |
| | | editDialog.visible = false; |
| | | reloadList(); |
| | | } |
| | | }; |
| | | |
| | | const cancelEdit = () => { |
| | | toast.show("取消"); |
| | | editDialog.visible = false; |
| | | }; |
| | | |
| | | const getList = async () => { |
| | |
| | | |
| | | onLoad((options: any) => { |
| | | paramsId.value = options.id; |
| | | }); |
| | | |
| | | onShow(() => { |
| | | // 从编辑页返回时刷新列表 |
| | | if (needRefresh.value) { |
| | | reloadList(); |
| | | needRefresh.value = false; |
| | | } |
| | | }); |
| | | </script> |
| | | |