zhangherong
14 小时以前 3cbfbac2def7eba8a8a7f07aa0ec4426799e8d2a
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
<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="12">
            <a-form-model-item label="拉动单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="requestCode">
              <a-input v-model="model.requestCode" placeholder="拉动单号自动生成" readOnly></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="起始库存地点" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="originalWarehouseId">
              <j-dict-select-tag type="list" v-model="model.originalWarehouseId" dictCode="original_warehouse_list" placeholder="请选择起始库存地点" />
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="任务号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workOrderId">
              <a-input v-model="model.workOrderId" placeholder="请输入工单ID"  ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="目标库存地点" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="targetWarehouseId">
              <a-input v-model="model.targetWarehouseId" placeholder="自动获取" readOnly ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="拉动类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialTransferCategory">
              <j-dict-select-tag type="list" v-model="model.materialTransferCategory" dictCode="material_transfer_category" placeholder="请选择拉动类型" />
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="最晚配送时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="latestDeliveryTime">
              <j-date placeholder="请选择最晚配送时间"  v-model="model.latestDeliveryTime" :show-time="false" date-format="YYYY-MM-DD" style="width: 100%" />
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="拉动物料" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialNumber">
              <j-dict-select-tag type="list" v-model="model.materialNumber" dictCode="priority" placeholder="请选择拉动物料" />
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="拉动数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="specifiedQuantity">
              <a-input-number v-model="model.specifiedQuantity" placeholder="请输入拉动数量" style="width: 100%" />
            </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: 'MesMaterialTransferRequestForm',
    components: {
    },
    props: {
      //表单禁用
      disabled: {
        type: Boolean,
        default: false,
        required: false
      }
    },
    data () {
      return {
        model:{
         },
        labelCol: {
          xs: { span: 24 },
          sm: { span: 6 },
        },
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 16 },
        },
        confirmLoading: false,
        validatorRules: {
          originalWarehouseId: [
            { required: true, message: '起始库存地点必选', trigger: 'change' }
          ],
          workOrderId: [
            { required: true, message: '任务号必选', trigger: 'change' }
          ],
          materialNumber: [
            { required: true, message: '拉动物料必选', trigger: 'change' }
          ],
          specifiedQuantity: [
            { required: true, message: '拉动数量必填', trigger: 'change' }
          ],
          materialTransferCategory: [
            { required: true, message: '拉动类型必选', trigger: 'change' }
          ],
        },
        url: {
          add: "/mes/mesMaterialTransferRequest/add",
          edit: "/mes/mesMaterialTransferRequest/edit",
          queryById: "/mes/mesMaterialTransferRequest/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>