ReceiptPurchaseForm.vue 9.5 KB
<template>
  <a-spin :spinning="confirmLoading">
    <j-form-container :disabled="formDisabled">
      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
        <a-row>
          <a-col :span="24">
            <a-form-model-item label="供应商" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lifnr">
              <a-input v-model="model.lifnr" placeholder="请输入供应商"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="供应商名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name1">
              <a-input v-model="model.name1" placeholder="请输入供应商名称"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="制造商" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name2">
              <a-input v-model="model.name2" placeholder="请输入制造商"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="项目机组" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xmjz">
              <a-input v-model="model.xmjz" placeholder="请输入项目机组"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="入库单" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sldbh">
              <a-input v-model="model.sldbh" placeholder="请输入入库单"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="总批次数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zxm">
              <a-input v-model="model.zxm" placeholder="请输入总批次数"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="行号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zfphh">
              <a-input v-model="model.zfphh" placeholder="请输入行号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="物料号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="matnr">
              <a-input v-model="model.matnr" placeholder="请输入物料号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="物料描述" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tdline">
              <a-input v-model="model.tdline" placeholder="请输入物料描述"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="meins">
              <a-input v-model="model.meins" placeholder="请输入单位"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="申请数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zfpsqsl">
              <a-input v-model="model.zfpsqsl" placeholder="请输入申请数量"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="令号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zlh">
              <a-input v-model="model.zlh" placeholder="请输入令号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="炉批号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zfplph">
              <a-input v-model="model.zfplph" placeholder="请输入炉批号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="采购规程" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zfpbz">
              <a-input v-model="model.zfpbz" placeholder="请输入采购规程"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="采购图" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zcgt">
              <a-input v-model="model.zcgt" placeholder="请输入采购图"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="验收规范" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zysgf">
              <a-input v-model="model.zysgf" placeholder="请输入验收规范"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="质量/安全等级" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zfpzldj">
              <a-input v-model="model.zfpzldj" placeholder="请输入质量/安全等级"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="质保书号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zfpzbsh">
              <a-input v-model="model.zfpzbsh" placeholder="请输入质保书号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="尺寸支数" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zcczs">
              <a-input v-model="model.zcczs" placeholder="请输入尺寸支数"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="厂家牌号/焊材" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zcjph">
              <a-input v-model="model.zcjph" placeholder="请输入厂家牌号/焊材"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="采购员备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="beizu">
              <a-input v-model="model.beizu" placeholder="请输入采购员备注"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="上传附件" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="scfj">
              <j-upload v-model="model.scfj"   ></j-upload>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="boknr">
              <a-input v-model="model.boknr" placeholder="请输入编号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="锻件编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zdjbh">
              <a-input v-model="model.zdjbh" placeholder="请输入锻件编号"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="是否有见证号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zisjzjString">
              <j-switch v-model="model.zisjzj"  ></j-switch>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="见证件备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zjzjbz">
              <a-input v-model="model.zjzjbz" placeholder="请输入见证件备注"  ></a-input>
            </a-form-model-item>
          </a-col>
        </a-row>
      </a-form-model>
    </j-form-container>
  </a-spin>
</template>

<script>

  import { httpAction, getAction } from '@/api/manage'
  import { validateDuplicateValue } from '@/utils/util'

  export default {
    name: 'ReceiptPurchaseForm',
    components: {
    },
    props: {
      //表单禁用
      disabled: {
        type: Boolean,
        default: false,
        required: false
      }
    },
    data () {
      return {
        model:{
         },
        labelCol: {
          xs: { span: 24 },
          sm: { span: 5 },
        },
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 16 },
        },
        confirmLoading: false,
validatorRules: {
},
        url: {
          add: "/system/receipt/purchase/add",
          edit: "/system/receipt/purchase/edit",
          queryById: "/system/receipt/purchase/queryById"
        }
      }
    },
    computed: {
      formDisabled(){
        return this.disabled
      },
    },
    created () {
       //备份model原始值
      this.modelDefault = JSON.parse(JSON.stringify(this.model));
    },
    methods: {
      add () {
        this.edit(this.modelDefault);
      },
      edit (record) {
        this.model = Object.assign({}, record);
        this.visible = true;
      },
      submitForm () {
        const that = this;
        // 触发表单验证
        this.$refs.form.validate(valid => {
          if (valid) {
            that.confirmLoading = true;
            let httpurl = '';
            let method = '';
            if(!this.model.id){
              httpurl+=this.url.add;
              method = 'post';
            }else{
              httpurl+=this.url.edit;
               method = 'put';
            }
            httpAction(httpurl,this.model,method).then((res)=>{
              if(res.success){
                that.$message.success(res.message);
                that.$emit('ok');
              }else{
                that.$message.warning(res.message);
              }
            }).finally(() => {
              that.confirmLoading = false;
            })
          }
         
        })
      },
    }
  }
</script>