曹睿
2025-04-22 ab51397933873c718ffd808b5f380e46ebb42a09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<template>
  <view class="page pt-2">
    <z-paging ref="pagingRef" v-model="twistReportList" class="list" @query="getTwistReportList">
      <template #top>
        <CardTitle title="报工信息" :hideAction="true" :full="false" @action="addReport" />
      </template>
      <wd-card v-for="(item, index) in twistReportList" 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>
            </view>
            <view class="text-[#A8A8A8]" @click="toEdit">编辑</view>
          </view>
        </template>
        <ProductionCard :data="cardAttr" :value="item" />
        <template #footer>
          <wd-button size="small" plain @click="toCheck">自检</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>
      <TwistForm />
    </wd-popup>
    <wd-toast />
  </view>
</template>
<script setup lang="ts">
import CardTitle from "@/components/card-title/index.vue";
import TwistForm from "./form.vue";
import { useToast } from "wot-design-uni";
import ProductionCard from "../../components/ProductionCard.vue";
import { onLoad } from "@dcloudio/uni-app";
import ManageApi from "@/api/product/manage";
 
const pagingRef = ref();
const paramsId = ref();
const toast = useToast();
const dialog = reactive({
  visible: false,
});
 
const cardAttr = ref<any[]>([
  {
    label: "领用杆号",
    prop: "poleNumber",
  },
  {
    label: "杆重(kg)",
    prop: "poleWeight",
  },
  {
    label: "单丝盘号",
    prop: "monofilamentNumber",
  },
  {
    label: "规格型号",
    prop: "model",
  },
  {
    label: "盘长(m)",
    prop: "ontLength",
  },
  {
    label: "理论重量(kg)",
    prop: "theoryWeight",
  },
  {
    label: "实际重量(kg)",
    prop: "actuallyWeight",
  },
]);
 
const twistReportList = ref<any[]>([]);
 
const toEdit = () => {
  uni.navigateTo({
    url: "/pages/production/twist/report/edit",
  });
};
 
const addReport = () => {
  dialog.visible = true;
};
 
const submit = () => {
  toast.show("提交");
  dialog.visible = false;
};
 
const cancel = () => {
  toast.show("取消");
  dialog.visible = false;
};
 
const toCheck = () => {
  uni.navigateTo({
    url: "/pages/production/twist/selfInspect/index",
  });
};
 
// 获取拉丝报工列表
const getTwistReportList = 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 {
  background: #f3f9f8;
 
  .list {
    margin: 12px;
 
    :deep() {
      .round {
        border-radius: 4px;
      }
    }
  }
}
 
.action {
  display: flex;
  justify-content: space-between;
}
</style>