payne
2024-04-24 751a8ee4490aaeab911f5e1ff60bbba40c104613
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
<template>
  <a-modal
    title="编辑控制属性规则明细"
    :width="900"
    :visible="visible"
    :confirmLoading="confirmLoading"
    @ok="handleSubmit"
    @cancel="handleCancel">
    <a-spin :spinning="confirmLoading">
      <a-form :form="form">
        <a-form-item label="控制属性规则编号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入控制属性规则编号" v-decorator="['ruleCode', {rules: [{required: true, message: '请输入控制属性规则编号!'}]}]" />
        </a-form-item>
        <a-form-item label="最高库存" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入最高库存" v-decorator="['maxImumqty']" />
        </a-form-item>
        <a-form-item label="最低库存" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入最低库存" v-decorator="['minImumqty']" />
        </a-form-item>
        <a-form-item label="安全库存" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入安全库存" v-decorator="['safeImumqty']" />
        </a-form-item>
        <a-form-item label="最小库龄" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入最小库龄" v-decorator="['minStorageAge']" />
        </a-form-item>
        <a-form-item label="最大库龄" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入最大库龄" v-decorator="['maxStorageAge']" />
        </a-form-item>
        <a-form-item label="是否免检" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-switch v-decorator="['isNotChek', { valuePropName: 'checked' }]" />
        </a-form-item>
        <a-form-item label="保质期天数" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-input placeholder="请输入保质期天数" v-decorator="['shelfLifeDays']" />
        </a-form-item>
        <a-form-item label="是否禁用" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
        </a-form-item>
        <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
      </a-form>
    </a-spin>
  </a-modal>
</template>
 
<script>
import moment from 'moment'
  import {
  WmsControlRuleDetailEdit
  } from '@/api/modular/main/WmsBase/WmsControlRuleDetailManage'
  export default {
  data () {
  return {
  Id: 0,
  labelCol: {
  xs: { span: 24 },
  sm: { span: 5 }
  },
  wrapperCol: {
  xs: { span: 24 },
  sm: { span: 15 }
  },
  record: {},
        visible: false,
        confirmLoading: false,
        form: this.$form.createForm(this)
      }
    },
    methods: {
    moment,
      // 初始化方法
      edit (record) {
        this.visible = true;
        this.Id = record.id;
        this.$nextTick(() => {
        });
        //深度拷贝 移除VUE的监听,防止INDEX页面值变动
        this.record = JSON.parse(JSON.stringify(record))
        this.$nextTick(() => {
          this.form.setFieldsValue(
            {
              id: record.id,
              ruleCode: record.ruleCode,
              maxImumqty: record.maxImumqty,
              minImumqty: record.minImumqty,
              safeImumqty: record.safeImumqty,
              minStorageAge: record.minStorageAge,
              maxStorageAge: record.maxStorageAge,
              isNotChek: record.isNotChek,
              shelfLifeDays: record.shelfLifeDays,
              isDisabled: record.isDisabled
            }
          )
        })
      },
      handleSubmit () {
        const { form: { validateFields } } = this
        this.confirmLoading = true
        validateFields((errors, values) => {
          if (!errors) {
            for (const key in values) {
              if (values[key] == null) continue
              if (typeof (values[key]) === 'object') {
                values[key] = JSON.stringify(values[key])
                 this.record[key] = values[key]
              } else {
                 this.record[key] = values[key]
              }
            }
            WmsControlRuleDetailEdit(this.record).then((res) => {
              if (res.success) {
                this.$message.success('编辑成功')
                this.confirmLoading = false
                this.$emit('ok', this.record)
                this.handleCancel()
              } else {
                this.$message.error('编辑失败:' + JSON.stringify(res.message))
              }
            }).finally((res) => {
              this.confirmLoading = false
            })
          }else{
            this.confirmLoading = false
          } 
        });
      },
      handleCancel () {
        this.form.resetFields()
        this.visible = false
      }
    }
  }
</script>