<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="['placeCode', { rules: [{ required: true, message: '请输入库位编码!' }] }]" />
|
</a-form-item>
|
<a-form-item label="库位名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库位名称"
|
v-decorator="['placeName', { rules: [{ required: true, message: '请输入库位名称!' }] }]" />
|
</a-form-item>
|
<a-form-item label="库位别名" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库位别名" v-decorator="['placeAlias']" />
|
</a-form-item>
|
<a-form-item label="库位类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-select style="width: 100%" placeholder="请选择库位类型"
|
v-decorator="['placeType', { rules: [{ required: true, message: '请选择库位类型!' }] }]">
|
<a-select-option v-for="(item, index) in placeTypeData" :key="index" :value="item.code">{{ item.name
|
}}</a-select-option>
|
</a-select>
|
</a-form-item>
|
<!-- <a-form-item label="库位类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库位类型名称" v-decorator="['placeTypeName', {rules: [{required: true, message: '请输入库位类型名称!'}]}]" />
|
</a-form-item> -->
|
<a-form-item label="库位属性" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-select style="width: 100%" placeholder="请选择库位属性"
|
v-decorator="['placeStatus', { rules: [{ required: true, message: '请选择库位属性!' }] }]">
|
<a-select-option v-for="(item, index) in placeStatusData" :key="index" :value="item.code">{{ item.name
|
}}</a-select-option>
|
</a-select>
|
</a-form-item>
|
<a-form-item label="是否堆垛机库位" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-switch v-decorator="['isSrmPlace', { valuePropName: 'checked' }]" />
|
</a-form-item>
|
<a-form-item label="堆垛机库位号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入堆垛机库位号" v-decorator="['srmPlaceNo']" />
|
</a-form-item>
|
<a-form-item label="是否RGV库位" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-switch v-decorator="['isRgvPlace', { valuePropName: 'checked' }]" />
|
</a-form-item>
|
<a-form-item label="RGV库位号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入RGV库位号" v-decorator="['rgvPlaceNo']" />
|
</a-form-item>
|
<a-form-item label="是否AGV库位" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-switch v-decorator="['isAgvPlace', { valuePropName: 'checked' }]" />
|
</a-form-item>
|
<a-form-item label="AGV库位号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入AGV库位号" v-decorator="['agvPlaceNo']" />
|
</a-form-item>
|
<a-form-item label="是否输送线库位" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-switch v-decorator="['isTransPlace', { valuePropName: 'checked' }]" />
|
</a-form-item>
|
<a-form-item label="输送线库位号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入输送线库位号" v-decorator="['transPlaceNo']" />
|
</a-form-item>
|
<a-form-item label="是否激活与任务调度" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-switch v-decorator="['isActivateWCS', { valuePropName: 'checked' }]" />
|
</a-form-item>
|
<a-form-item label="库存环境" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库存环境" v-decorator="['environment']" />
|
</a-form-item>
|
<a-form-item label="库区编号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库区编号" v-decorator="['areaCode']" />
|
</a-form-item>
|
<a-form-item label="所在库区" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-select style="width: 100%" placeholder="请选择所在库区"
|
v-decorator="['areaid', { rules: [{ required: true, message: '请选择所在库区!' }] }]">
|
<a-select-option v-for="(item, index) in WmsAreaData" :key="index" :value="item.areaCode">{{ item.areaName
|
}}</a-select-option>
|
</a-select>
|
<!-- <a-input placeholder="请输入所在库区" v-decorator="['areaId', {rules: [{required: true, message: '请输入所在库区!'}]}]" /> -->
|
|
|
</a-form-item>
|
<!-- <a-form-item label="库区名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库区名称" v-decorator="['areaName']" />
|
</a-form-item> -->
|
<a-form-item label="检验码" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入检验码" v-decorator="['verificationCode']" />
|
</a-form-item>
|
<a-form-item label="排" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input-number placeholder="请输入排" style="width: 100%" v-decorator="['rowNo']" />
|
</a-form-item>
|
<a-form-item label="列" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input-number placeholder="请输入列" style="width: 100%" v-decorator="['columnNo']" />
|
</a-form-item>
|
<a-form-item label="层" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input-number placeholder="请输入层" style="width: 100%" v-decorator="['layerNo']" />
|
</a-form-item>
|
<a-form-item label="巷道" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input-number placeholder="请输入巷道" style="width: 100%" v-decorator="['laneNo']" />
|
</a-form-item>
|
<a-form-item label="库位X坐标" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库位X坐标" v-decorator="['xzb']" />
|
</a-form-item>
|
<a-form-item label="库位Y坐标" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库位Y坐标" v-decorator="['yzb']" />
|
</a-form-item>
|
<a-form-item label="库位Z坐标" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库位Z坐标" v-decorator="['zzb']" />
|
</a-form-item>
|
<a-form-item label="库位长度" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库位长度" v-decorator="['length']" />
|
</a-form-item>
|
<a-form-item label="库位宽度" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库位宽度" v-decorator="['width']" />
|
</a-form-item>
|
<a-form-item label="库位高度" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入库位高度" v-decorator="['height']" />
|
</a-form-item>
|
<a-form-item label="最大承重" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input placeholder="请输入最大承重" v-decorator="['maxWeight']" />
|
</a-form-item>
|
<a-form-item label="入库顺序" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input-number placeholder="请输入入库顺序" style="width: 100%" v-decorator="['inSequence']" />
|
</a-form-item>
|
<a-form-item label="出库顺序" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-input-number placeholder="请输入出库顺序" style="width: 100%" v-decorator="['outSequence']" />
|
</a-form-item>
|
<a-form-item label="是否虚拟" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
<a-switch v-decorator="['isVirtually', { valuePropName: 'checked' }]" />
|
</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>
|
</a-spin>
|
</a-modal>
|
</template>
|
|
<script>
|
import moment from 'moment'
|
import {
|
WmsPlaceAdd
|
} from '@/api/modular/main/WmsBase/WmsPlaceManage'
|
import { WmsAreaPage, WmsAreaDelete, WmsAreaToExcel } from '@/api/modular/main/WmsBase/WmsAreaManage'
|
export default {
|
data() {
|
return {
|
labelCol: {
|
xs: { span: 24 },
|
sm: { span: 5 }
|
},
|
wrapperCol: {
|
xs: { span: 24 },
|
sm: { span: 15 }
|
},
|
placeTypeData: [],
|
placeStatusData: [],
|
visible: false,
|
confirmLoading: false,
|
form: this.$form.createForm(this),
|
WmsAreaData: [],
|
}
|
},
|
methods: {
|
moment,
|
// 初始化方法
|
add(record) {
|
this.visible = true
|
this.$nextTick(() => {
|
|
});
|
const placeTypeOption = this.$options
|
this.placeTypeData = placeTypeOption.filters['dictData']('place_type')
|
const placeStatusOption = this.$options
|
this.placeStatusData = placeStatusOption.filters['dictData']('place_status')
|
|
WmsAreaPage().then(res => {
|
this.WmsAreaData = res.data.rows
|
})
|
},
|
/**
|
* 提交表单
|
*/
|
handleSubmit() {
|
const { form: { validateFields } } = this
|
this.confirmLoading = true
|
validateFields((errors, values) => {
|
if (!errors) {
|
for (const key in values) {
|
if (typeof (values[key]) === 'object') {
|
values[key] = JSON.stringify(values[key])
|
}
|
}
|
WmsPlaceAdd(values).then((res) => {
|
if (res.success) {
|
this.$message.success('新增成功')
|
this.confirmLoading = false
|
this.$emit('ok', values)
|
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>
|