houshuai
2025-07-03 6bbceeae0a692ef60f429dbca889752fcb09ec9a
src/views/lsw/modules/LswMaterialOutboundForm.vue
@@ -3,11 +3,26 @@
    <j-form-container :disabled="formDisabled">
      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
        <a-row>
          <a-col :span="12">
            <a-form-model-item label="删除标记" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag">
              <a-input-number v-model="model.delFlag" placeholder="请输入删除标记" style="width: 100%" />
            </a-form-model-item>
          <a-form-model-item label="产线" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId">
            <a-row :gutter="24">
              <a-col :span="24">
                <a-form-item
                  :labelCol="labelCol"
                  :wrapperCol="wrapperCol"
                  label=""
                >
                  <j-select-factory
                    :disabled="disabled"
                    v-model="model.factoryId"
                    :multi="true"
                    @back="backFactoryInfo"
                    :backProduction="true"
                    :treeProductOpera="true"
                  ></j-select-factory>
                </a-form-item>
          </a-col>
            </a-row>
          </a-form-model-item>
          <a-col :span="12">
            <a-form-model-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialNumber">
              <a-input v-model="model.materialNumber" placeholder="请输入物料编码"  ></a-input>
@@ -19,18 +34,13 @@
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="产线ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId">
              <a-input v-model="model.factoryId" placeholder="请输入产线ID"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="批次号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="batchNumber">
              <a-input v-model="model.batchNumber" placeholder="请输入批次号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="出库人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="outboundStaff">
              <a-input v-model="model.outboundStaff" placeholder="请输入出库人"  ></a-input>
              <j-select-user-by-dep v-model="model.outboundStaff" placeholder="请输入出库人"  ></j-select-user-by-dep>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
@@ -40,7 +50,7 @@
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="出库数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="quantity">
              <a-input v-model="model.quantity" placeholder="请输入出库数量"  ></a-input>
              <a-input-number v-model="model.quantity" placeholder="请输入出库数量"  ></a-input-number>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
@@ -58,10 +68,16 @@
  import { httpAction, getAction } from '@/api/manage'
  import { validateDuplicateValue } from '@/utils/util'
  import JTreeDict from '@/components/jeecg/JTreeDict'//分类字典树形下拉组件
  import JSelectFactory from '../../../../src/components/jeecgbiz/JSelectFactory.vue'
  import JDate from '@/components/jeecg/JDate'
  export default {
    name: 'LswMaterialOutboundForm',
    components: {
      JDate,
      JTreeDict,
      JSelectFactory
    },
    props: {
      //表单禁用
@@ -85,6 +101,30 @@
        },
        confirmLoading: false,
        validatorRules: {
          factoryId: [
            { required: true, message: '产线是必选项', trigger: 'change' }
          ],
          materialNumber: [
            { required: true, message: '物料编码是必选项', trigger: 'change' }
          ],
          materialName: [
            { required: true, message: '物料名称是必选项', trigger: 'change' }
          ],
          batchNumber: [
            { required: true, message: '批次号是必选项', trigger: 'change' }
          ],
          quantity: [
            { required: true, message: '出库数量是必选项', trigger: 'change' }
          ],
          outboundStaff: [
            { required: true, message: '出库人是必选项', trigger: 'change' }
          ],
          outboundTime: [
            { required: true, message: '出库时间是必选项', trigger: 'change' }
          ],
          workOrderId:[
            { required: true, message: '工单是必选项', trigger: 'change' }
          ],
        },
        url: {
          add: "/lswmaterialoutbound/lswMaterialOutbound/add",
@@ -103,6 +143,13 @@
      this.modelDefault = JSON.parse(JSON.stringify(this.model));
    },
    methods: {
      backFactoryInfo(info) {
        this.model.factoryIds = this.model.factoryId
        this.nextFactoryOptions = info.map((item, index, arr) => {
          let c = { label: item.text, value: item.value + '' }
          return c
        })
      },
      add () {
        this.edit(this.modelDefault);
      },