spring
3 天以前 7aaff69bb11a4d75882d25bd1bc8e9748c2bd609
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
<template>
  <!-- 报工 -->
  <div class="page">
    <u-form :model="form" ref="uForm" :label-width="200" :rules="rules" :error-type="['toast']">
      <u-form-item label="车间" :border-bottom="false" prop="value0">
        <u-radio-group v-model="form.value0">
          <u-radio name="导体">导体</u-radio>
          <u-radio name="铜杆">铜杆</u-radio>
        </u-radio-group>
      </u-form-item>
      <u-form-item label="报工单号" :border-bottom="false" prop="value1">
        <u-input v-model="form.value1" type="select" placeholder="请扫描报工单号" @click="open" />
      </u-form-item>
      <u-form-item label="工序" :border-bottom="false" prop="value2">
        <u-input v-model="form.value2" type="select" placeholder="请扫描报工单号" />
      </u-form-item>
      <u-form-item label="订单号" :border-bottom="false" prop="value3">
        <u-input v-model="form.value3" type="select" placeholder="点击选择" @click="openList" />
      </u-form-item>
      <u-form-item label="零件号" :border-bottom="false" prop="value4">
        <u-input v-model="form.value4" placeholder="" disabled />
      </u-form-item>
      <u-form-item label="零件描述" :border-bottom="false" prop="value5">
        <u-input v-model="form.value5" placeholder="" disabled />
      </u-form-item>
      <u-form-item label="批量大小" :border-bottom="false" prop="value6">
        <u-input v-model="form.value6" placeholder="" disabled />
      </u-form-item>
      <u-form-item label="剩余数量" :border-bottom="false" prop="value7">
        <u-input v-model="form.value7" placeholder="" disabled />
      </u-form-item>
      <u-form-item label="库位" :border-bottom="false" prop="value8">
        <u-input v-model="form.value8" placeholder="" disabled />
      </u-form-item>
      <u-form-item label="报工类型" prop="value9">
        <u-radio-group v-model="form.value9">
          <u-radio name="下机报工">下机报工</u-radio>
          <u-radio name="未下机报工">未下机报工</u-radio>
        </u-radio-group>
      </u-form-item>
      <u-form-item label="接收零件" prop="value10">
        <u-radio-group v-model="form.value10">
          <u-radio name="车间订单">车间订单</u-radio>
          <u-radio name="替代零件">替代零件</u-radio>
        </u-radio-group>
      </u-form-item>
      <u-form-item label="物料和工序" prop="value11">
        <u-checkbox-group>
          <u-checkbox :name="item.name" v-for="(item, index) in checkboxList" :key="index" v-model="item.value"
            @change="changeCheckbox">
            {{ item.name }}
          </u-checkbox>
        </u-checkbox-group>
      </u-form-item>
      <u-form-item label="库存接收" :border-bottom="false" prop="value12"></u-form-item>
    </u-form>
    <!-- 填写报工单 -->
    <modalBg ref="modalBg" :confirm="confirm">
      <u-field v-model="form.value1" label="报工单号" placeholder="请输入" :border-bottom="false">
      </u-field>
    </modalBg>
    <saveForm ref="saveForm" />
  </div>
</template>
 
<script>
import modalBg from '@/components/modal/modal-bg.vue'
import saveForm from './components/saveForm.vue'
export default {
  components: { modalBg, saveForm },
  data() {
    return {
      checkboxList: [
        {
          name: '倒冲',
          value: false
        },
        {
          name: '工序的自动报告',
          value: false
        },
        {
          name: '简化物料检查',
          value: false
        }
      ],
      form: {
        value0: '',
        value1: '',
        value2: '',
        value3: '',
        value4: '',
        value5: '',
        value6: '',
        value7: '',
        value8: '',
        value9: '下机报工',
        value10: '车间订单',
        value11: [], // 复选框组的值
        value12: ''
      },
      rules: {
        value0: [
          {
            required: true,
            message: '请选择车间',
            trigger: ['change']
          }
        ],
        value1: [
          {
            required: true,
            message: '请选择报工单号',
            trigger: ['change', 'blur']
          }
        ],
        value2: [
          {
            required: true,
            message: '请选择工序',
            trigger: ['change', 'blur']
          }
        ],
        value3: [
          {
            required: true,
            message: '请选择订单号',
            trigger: ['change', 'blur']
          }
        ],
        value9: [
          {
            required: true,
            message: '请选择报工类型',
            trigger: ['change']
          }
        ],
        value10: [
          {
            required: true,
            message: '请选择接收零件类型',
            trigger: ['change']
          }
        ],
        value11: [
          {
            type: 'array',
            required: true,
            message: '请至少选择一个物料和工序选项',
            trigger: ['change']
          }
        ]
      },
      showSave: false,
    }
  },
  // 点击提交按钮的事件处理函数
  onNavigationBarButtonTap() {
    this.form.value11 = this.checkboxList.filter(item => item.value).map(item => item.name);
    this.$refs.uForm.validate(valid => {
      if (valid) {
        console.log('验证通过');
        // 处理提交逻辑
        this.$refs.saveForm.open();
      } else {
        console.log('验证失败');
        // 可以获取具体的错误信息
        const errors = this.$refs.uForm.getError();
        console.log('错误信息:', errors);
      }
    });
  },
  onReady() {
    this.$refs.uForm.setRules(this.rules);
  },
  methods: {
    // 多选处理
    changeCheckbox(val) {
      if (val.name === '倒冲') {
        this.checkboxList[2].value = false
      }
      if (val.name === '简化物料检查') {
        this.checkboxList[0].value = false
      }
    },
    // 打开弹框--后面还需要监听扫码枪扫码结果,赋值给报工单号字段,然后打开弹框选择订单号等操作
    open() {
      this.$refs.modalBg.open();
    },
    // 弹框保存
    confirm() {
      console.log('保存', this.form.value1);
      // 请求接口,根据工单号查询其他信息并赋值
    },
    // 选择订单号
    openList() {
      if (this.form.value1 === '') {
        uni.showToast({
          title: '请先扫描或输入报工单号',
          icon: 'none'
        })
        return
      }
      uni.navigateTo({
        url: '/pages/product/report/orderList'
      })
    },
    setNo(val) {
      this.form.value3 = val
    }
  }
}
</script>
 
<style lang="scss">
@import 'index.scss';
</style>