<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="zoneCode">
<a-select
show-search
placeholder="请选择库区"
option-filter-prop="children"
@change="getPortList"
v-model="model.zoneCode">
<a-select-option v-for="item in zoneList" :key="item.name" :value="item.code">{{
item.name
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="出库口" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="toPortCode">
<a-select
show-search
placeholder="请选择出库口"
option-filter-prop="children"
v-model="model.toPortCode">
<a-select-option v-for="item in portList" :key="item.name" :value="item.code">{{
item.name
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="number">
<a-input v-model="model.number" 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 {
batchCreateEmptyOut,
createEmptyOut,
getCompanyList, getCustomerList,
getShipmentTypeList,
getZoneList,
selectEmptyOutPort
} from '@/api/api'
import {selectOutPort} from '@/api/api'
import JSelectMultiEmptyContainer from "@comp/jeecgbiz/JSelectMultiEmptyContainer";
export default {
name: "BatchEmptyOutTaskModal",
components: {JSelectMultiEmptyContainer},
data() {
return {
title: "操作",
width: 500,
portList: [],
zoneList: [],
querySource: {},
visible: false,
model: {},
labelCol: {
xs: {span: 24},
sm: {span: 5},
},
wrapperCol: {
xs: {span: 24},
sm: {span: 16},
},
confirmLoading: false,
validatorRules: {
containerCode: [
{required: true, message: '请输入容器编码!'},
],
toPortCode: [
{required: true, message: '请选择出库口!'},
],
},
url: {
add: "/task/taskHeader/createEmptyOut",
}
}
},
created() {
//备份model原始值
this.modelDefault = JSON.parse(JSON.stringify(this.model));
this.loadFrom();
},
methods: {
add() {
// $("select").change(function() { alert("选项已被改变"); console.log($('select').val());});
this.edit(this.modelDefault);
},
edit() {
// this.getPortList();
// this.model = Object.assign({}, record);
this.visible = true;
},
loadFrom() {
getZoneList().then((res) => {
if (res.success) {
this.zoneList = res.result
}
});
},
close() {
this.$emit('close');
this.visible = false;
this.$refs.form.clearValidate();
},
getPortList() {
this.querySource.zoneCode = this.model.zoneCode;
selectEmptyOutPort(this.querySource).then((res) => {
if (res.success) {
this.portList = res.result;
this.visible = true;
}
});
},
handleOk() {
const that = this;
// 触发表单验证
this.$refs.form.validate(valid => {
if (valid) {
that.confirmLoading = true;
batchCreateEmptyOut(this.model).then((res) => {
if (res.success) {
that.$message.success(res.message);
that.$emit('ok');
that.model.containerCode = '';
that.model.toPortCode = '';
} else {
that.$message.warning(res.message);
}
}).finally(() => {
that.confirmLoading = false;
that.close();
})
} else {
return false
}
})
},
handleCancel() {
this.close()
},
}
}
</script>