刘磊
2025-06-09 dabbcafc629ef87d11ba55ef8cc1cdc776c047d8
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
<template>
  <vol-box v-model="show" title="组盘" :width="800" :height="600">
    <template #content>
      <el-form :model="formData" label-width="100px">
        <!-- <el-form-item label="输入项"> -->
        <el-form-item label="料箱号/托盘号" style="width: 50%">
          <el-input type="text" v-model="this.palletCode" placeholder="请扫码条码"> </el-input>
        </el-form-item>
        <el-form-item v-for="(item, index) in formData.items" :key="index" style="width: 70%">
          <el-select size="mini" clearable  v-model="item.MaterilName" placeholder="请选择">
            <el-option v-for="item in GetMatetils()" :value="item.value" :label="item.text"
              :key="item.value"></el-option>
          </el-select>
          <!-- <el-input v-model="item.MaterilName" placeholder="请输入物料名称" style="width: 50%"></el-input> -->
          <el-input v-model="item.num" placeholder="请输入数量" style="width: 70%"></el-input>
          <el-button v-if="index > 0" type="danger" @click="removeItem(index)">X</el-button>
        </el-form-item>
        <!-- </el-form-item> -->
      </el-form>
      <el-button type="primary" @click="addItem">
        添加输入框
      </el-button>
    </template>
 
    <template #footer>
      <span class="dialog-footer">
        <el-button @click="show = false">取消</el-button>
        <el-button type="primary" @click="submitForm">确认</el-button>
      </span>
    </template>
  </vol-box>
</template>
 
<script>
import VolBox from "@/components/basic/VolBox.vue";
export default {
  components: {
    "vol-box": VolBox,
  },
  data() {
    return {
      formData: {
        items: [{ MaterilName: '' }, { num: '' }],
      },
      index: 1,
      palletCode: "",
      show: false,
      MatetilList: []
    };
  },
  methods: {
    addItem() {
      this.formData.items.push([{ MaterilName: '' }, { num: '' }]);
    },
    removeItem(index) {
      this.formData.items.splice(index, 1);
    },
 
    //获取物料信息
    GetMatetils() {
      var data = [];
      this.MatetilList.forEach((t) => {
        data.push(t);
      });
      return data;
    },
 
    submitForm() {
      if (
        !this.palletCode ||
        this.palletCode == ""
      ) {
        this.$message.error("请扫码");
        return;
      }
 
      var params = {
        MainData: {
          jsonData: JSON.parse(JSON.stringify(this.formData.items)),
          palletCode: this.palletCode,
        }
 
      };
 
 
      this.http.post("/api/BoxingInfo/AddBoxingInfo", params, true).then((x) => {
        if (!x.status) {
          this.$message.error(x.message);
        } else {
          this.$Message.success("成功");
          this.palletCode = '';
          this.formData.items = [];
          this.show = false;
          $vue.refresh();
        }
      });
    },
  },
 
};
</script>
 
<style scoped>
.container {
  font-family: 'Inter', system-ui, sans-serif;
}
</style>