EmptyInTaskModal.vue 4.25 KB
<template>
  <j-modal
    :title="title"
    :width="width"
    :visible="visible"
    :confirmLoading="confirmLoading"
    switchFullscreen
    @ok="handleOk"
    @cancel="handleCancel"
    cancelText="关闭">
    <a-spin :spinning="confirmLoading">
      <a-form-model ref="form" :model="model" :rules="validatorRules">
        <a-row>
          <a-col :span="24">
<!--            <a-form-model-item label="起始站台" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fromPortCode">-->
<!--              <j-search-select-tag-->
<!--                placeholder="请选择起始站台"-->
<!--                v-model="model.fromPortCode"-->
<!--                dict="port,name,code,type='1'&&zone_code='C'"-->
<!--                :pageSize="10"-->
<!--                :async="true">-->
<!--              </j-search-select-tag>-->
<!--            </a-form-model-item>-->
            <a-form-model-item label="起始站台" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fromPortCode">
              <j-checkbox
                v-model="model.fromPortCode"
                :options="jCheckboxOptions"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="多选组合" :labelCol="labelCol" :wrapperCol="wrapperCol">
              {{ model.fromPortCode }}
            </a-form-model-item>
          </a-col>
<!--          <a-col :span="24">-->
<!--            <a-form-model-item label="容器编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="containerCode">-->
<!--              <a-input v-model="model.containerCode" placeholder="请输入容器编码"></a-input>-->
<!--            </a-form-model-item>-->
<!--          </a-col>-->
<!--          <a-col :span="24">-->
<!--            <a-form-model-item v-has="'taskHeader:hasToLocation'" label="目标库位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="toLocationCode">-->
<!--              <a-input  v-model="model.toLocationCode" placeholder="请输入目标库位"></a-input>-->
<!--            </a-form-model-item>-->
<!--          </a-col>-->
        </a-row>
      </a-form-model>
    </a-spin>
  </j-modal>
</template>

<script>

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

export default {
  name: "EmptyInTaskModal",
  components: {},
  data() {
    return {
      title: "操作",
      width: 500,
      visible: false,
      model: {},
      labelCol: {
        xs: {span: 24},
        sm: {span: 5},
      },
      wrapperCol: {
        xs: {span: 24},
        sm: {span: 16},
      },
      jCheckboxOptions: [
        {label: '站台一', value: 'P31041'},
        {label: '站台二', value: 'P31042'},
        {label: '站台三', value: 'P31043'},
        {label: '站台四', value: 'P31044'},
        {label: '站台五', value: 'P31045'}
      ],
      confirmLoading: false,
      validatorRules: {
        fromPortCode: [
          {required: true, message: '请输入起始站台!'},
        ],
        containerCode: [
          {required: true, message: '请输入容器编码!'},
        ],
      },
      url: {
        add: "/task/taskHeader/createEmptyIn",
      }

    }
  },
  created() {
    //备份model原始值
    this.modelDefault = JSON.parse(JSON.stringify(this.model));
  },
  methods: {
    add() {
      this.edit(this.modelDefault);
    },
    edit() {
      this.visible = true;
    },
    close() {
      this.$emit('close');
      this.visible = false;
      this.$refs.form.clearValidate();
    },
    handleOk() {
      const that = this;
      // 触发表单验证
      this.$refs.form.validate(valid => {
        if (valid) {
          that.confirmLoading = true;
          createEmptyIn(this.model).then((res) => {
            if (res.success) {
              that.$message.success(res.message);
              that.$emit('ok');
              that.model.containerCode = '';
              that.model.toLocationCode = '';
            } else {
              that.$message.warning(res.message);
            }
          }).finally(() => {
            that.confirmLoading = false;
            that.close();
          })
        } else {
          return false
        }
      })
    },
    handleCancel() {
      this.close()
    },


  }
}
</script>