曹睿
2025-04-24 5519cbf2e00c7ba4c650a542d98da99978124a30
src/pages/production/twist/receive/plate/index.vue
@@ -1,26 +1,34 @@
<template>
  <view class="page pt-2">
    <CardTitle title="盘具领用" :hideAction="true" @action="addReport" />
    <view class="list">
      <wd-card v-for="(item, index) in 2" :key="index" type="rectangle" custom-class="round">
  <view class="list">
    <z-paging
      ref="pagingRef"
      v-model="cardList"
      :fixed="false"
      :auto-show-back-to-top="true"
      @query="getList"
    >
      <template #top>
        <CardTitle title="盘具领用" :hideAction="true" :full="false" @action="addReport" />
      </template>
      <wd-card v-for="(item, index) in cardList" :key="index" type="rectangle" custom-class="round">
        <template #title>
          <view class="flex justify-between">
            <view>
              <wd-icon name="a-rootlist" color="#0D867F"></wd-icon>
              <text class="text-[#252525] ml-2 font-medium">铁木盘</text>
              <text class="text-[#252525] ml-2 font-medium">{{ item.diskMaterial }}</text>
            </view>
            <view class="text-[#A8A8A8]" @click="toEdit">编辑</view>
            <view class="text-[#A8A8A8]" @click="toEdit(item.id)">编辑</view>
          </view>
        </template>
        <ProductionCard :data="cardAttr" color="#0D867F" />
        <ProductionCard :data="cardAttr" :value="item" color="#0D867F" />
      </wd-card>
    </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>
      <PlateForm />
      <PlateForm ref="plateFormRef" @refresh="reloadList" />
    </wd-popup>
    <wd-toast />
  </view>
@@ -31,26 +39,44 @@
import ProductionCard from "../../../components/ProductionCard.vue";
import { useToast } from "wot-design-uni";
import PlateForm from "./form.vue";
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 plateFormRef = ref();
const toast = useToast();
const dialog = reactive({
  visible: false,
});
const cardList = ref<any[]>([]);
const cardAttr = ref<any[]>([
  {
    label: "尺寸",
    value: "10m",
    prop: "model",
  },
  {
    label: "重量",
    value: "46kg",
    prop: "weight",
    unit: "kg",
  },
  {
    label: "数量",
    prop: "amount",
  },
  {},
  {
    label: "厂家",
    prop: "supplier",
    span: 14,
  },
]);
const toEdit = () => {
const toEdit = (id: number) => {
  uni.navigateTo({
    url: "/pages/production/twist/receive/plate/edit",
    url: `/pages/production/twist/receive/plate/edit?id=${id}`,
  });
};
@@ -58,29 +84,43 @@
  dialog.visible = true;
};
const submit = () => {
const submit = async () => {
  toast.show("提交");
  dialog.visible = false;
  dialog.visible = !(await plateFormRef.value.submit());
};
const cancel = () => {
  toast.show("取消");
  dialog.visible = false;
};
const reloadList = () => {
  pagingRef.value.refresh();
};
const getList = async () => {
  const { code, data } = await ManageApi.getStrandedWireDish({
    wireId: paramsId.value,
    type: "盘具",
  });
  if (code == 200) {
    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;
    }
  }
}