<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>
|