Merge branch 'master' of http://222.71.245.114:9086/r/iWare_RawMaterialWarehouse
| | |
| | | handleTableHt() { |
| | | this.$nextTick(() => { |
| | | if (!this.$refs.boxOutWrap) { |
| | | console.log("没有DOM:boxOutWrap,无法自动计算表格高度") |
| | | // console.log("没有DOM:boxOutWrap,无法自动计算表格高度") |
| | | return |
| | | } |
| | | if (!this.$refs.boxForm) { |
| | | console.log("没有DOM:boxForm,无法自动计算表格高度") |
| | | // console.log("没有DOM:boxForm,无法自动计算表格高度") |
| | | return |
| | | } |
| | | if (!this.$refs.actionBar) { |
| | | console.log("没有DOM:actionBar,无法自动计算表格高度") |
| | | // console.log("没有DOM:actionBar,无法自动计算表格高度") |
| | | return |
| | | } |
| | | let mainTableHt = 0 |
| | |
| | | form: this.$form.createForm(this) |
| | | } |
| | | }, |
| | | created() { |
| | | WmsWarehousePage().then((d) => { |
| | | this.warehouseIdData = d.data.rows || [] |
| | | }).catch(() => { |
| | | }) |
| | | }, |
| | | methods: { |
| | | moment, |
| | | // 初始化方法 |
| | |
| | | }); |
| | | // const warehouseIdOption = this.$options |
| | | // this.warehouseIdData = warehouseIdOption.filters['dictData']('area_type') |
| | | WmsWarehousePage().then((d) => { |
| | | // this.selectTypeData = d.data || [] |
| | | this.warehouseIdData = d.data.rows || [] |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | |
| | | |
| | | }, |
| | | /** |
| | |
| | | <template> |
| | | <a-modal |
| | | title="编辑库区信息" |
| | | :width="900" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | @ok="handleSubmit" |
| | | <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="['areaCode', {rules: [{required: true, message: '请输入库区编码!'}]}]" /> |
| | | <a-input placeholder="请输入库区编码" |
| | | v-decorator="['areaCode', { rules: [{ required: true, message: '请输入库区编码!' }] }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="仓库编号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <!-- <a-form-item label="仓库编号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入仓库编号" v-decorator="['warehouseCode', {rules: [{required: true, message: '请输入仓库编号!'}]}]" /> |
| | | </a-form-item> |
| | | </a-form-item> --> |
| | | <a-form-item label="仓库名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入仓库名称" v-decorator="['warehouseName', {rules: [{required: true, message: '请输入仓库名称!'}]}]" /> |
| | | <a-input placeholder="请输入仓库名称" |
| | | v-decorator="['warehouseName', { rules: [{ required: true, message: '请输入仓库名称!' }] }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="库区名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入库区名称" v-decorator="['areaName', {rules: [{required: true, message: '请输入库区名称!'}]}]" /> |
| | | <a-input placeholder="请输入库区名称" |
| | | v-decorator="['areaName', { rules: [{ required: true, message: '请输入库区名称!' }] }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="库区描述" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入库区描述" v-decorator="['areaDesc']" /> |
| | | </a-form-item> |
| | | <!-- <a-form-item label="库区状态" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input-number placeholder="请输入库区状态" style="width: 100%" v-decorator="['areaStatus', {rules: [{required: true, message: '请输入库区状态!'}]}]" /> |
| | | <a-input-number placeholder="请输入库区状态" style="width: 100%" |
| | | v-decorator="['areaStatus', { rules: [{ required: true, message: '请输入库区状态!' }] }]" /> |
| | | </a-form-item> --> |
| | | <a-form-item label="ERP代码" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入ERP代码" v-decorator="['erpCode', {rules: [{required: true, message: '请输入ERP代码!'}]}]" /> |
| | | <a-input placeholder="请输入ERP代码" |
| | | v-decorator="['erpCode', { rules: [{ required: true, message: '请输入ERP代码!' }] }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="所属仓库" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
| | | <a-select style="width: 100%" placeholder="请选择所属仓库" v-decorator="['warehouseId', {rules: [{ required: true, message: '请选择所属仓库!' }]}]"> |
| | | <a-select-option v-for="(item,index) in warehouseIdData" :key="index" :value="Number(item.code)">{{ item.name }}</a-select-option> |
| | | <a-select style="width: 100%" placeholder="请选择所属仓库" |
| | | v-decorator="['warehouseId', { rules: [{ required: true, message: '请选择所属仓库!' }] }]"> |
| | | <a-select-option v-for="(item, index) in warehouseIdData" :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="['isBarcodeLevelControl',{rules: [{ required: true, message: '请选择零件级管控!' }], valuePropName: 'checked'}]" /> |
| | | <a-switch |
| | | v-decorator="['isBarcodeLevelControl', { rules: [{ required: true, message: '请选择零件级管控!' }], valuePropName: 'checked' }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="检验先进先出" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-switch v-decorator="['isFIFO',{rules: [{ required: true, message: '请选择检验先进先出!' }], valuePropName: 'checked'}]" /> |
| | | <a-switch |
| | | v-decorator="['isFIFO', { rules: [{ required: true, message: '请选择检验先进先出!' }], valuePropName: 'checked' }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="零件级管控" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-switch v-decorator="['isPartLevelControl',{rules: [{ required: true, message: '请选择零件级管控!' }], valuePropName: 'checked'}]" /> |
| | | <a-switch |
| | | v-decorator="['isPartLevelControl', { rules: [{ required: true, message: '请选择零件级管控!' }], valuePropName: 'checked' }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="允许混淆" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-switch v-decorator="['isAllowConfusion',{rules: [{ required: true, message: '请选择允许混淆!' }], valuePropName: 'checked'}]" /> |
| | | <a-switch |
| | | v-decorator="['isAllowConfusion', { rules: [{ required: true, message: '请选择允许混淆!' }], valuePropName: 'checked' }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="允许负库存" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-switch v-decorator="['isAllowNegativeInventory',{rules: [{ required: true, message: '请选择允许负库存!' }], valuePropName: 'checked'}]" /> |
| | | <a-switch |
| | | v-decorator="['isAllowNegativeInventory', { rules: [{ required: true, message: '请选择允许负库存!' }], valuePropName: 'checked' }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="是否虚拟" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-switch v-decorator="['isVirtually', { valuePropName: 'checked' }]" /> |
| | |
| | | <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> |
| | |
| | | |
| | | <script> |
| | | import moment from 'moment' |
| | | import { |
| | | import { |
| | | WmsAreaEdit |
| | | } from '@/api/modular/main/WmsBase/WmsAreaManage' |
| | | export default { |
| | | data () { |
| | | return { |
| | | Id: 0, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | } from '@/api/modular/main/WmsBase/WmsAreaManage' |
| | | import { WmsWarehousePage, WmsWarehouseDelete, WmsWarehouseToExcel } from '@/api/modular/main/WmsBase/WmsWarehouseManage' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | Id: 0, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 15 } |
| | | }, |
| | | record: {}, |
| | | warehouseIdData: [], |
| | | visible: false, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this) |
| | | } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 15 } |
| | | created() { |
| | | WmsWarehousePage().then((d) => { |
| | | this.warehouseIdData = d.data.rows || [] |
| | | }).catch(() => { |
| | | }) |
| | | }, |
| | | record: {}, |
| | | warehouseIdData: [], |
| | | 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)) |
| | | // const warehouseIdOption = this.$options |
| | | // this.warehouseIdData = warehouseIdOption.filters['dictData']('area_type') |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue( |
| | | { |
| | | ...record |
| | | } |
| | | ) |
| | | }) |
| | | }, |
| | | methods: { |
| | | moment, |
| | | // 初始化方法 |
| | | edit (record) { |
| | | this.visible = true; |
| | | this.Id = record.id; |
| | | this.$nextTick(() => { |
| | | }); |
| | | //深度拷贝 移除VUE的监听,防止INDEX页面值变动 |
| | | this.record = JSON.parse(JSON.stringify(record)) |
| | | const warehouseIdOption = this.$options |
| | | this.warehouseIdData = warehouseIdOption.filters['dictData']('area_type') |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue( |
| | | { |
| | | id: record.id, |
| | | areaCode: record.areaCode, |
| | | warehouseCode: record.warehouseCode, |
| | | warehouseName: record.warehouseName, |
| | | areaName: record.areaName, |
| | | areaDesc: record.areaDesc, |
| | | areaStatus: record.areaStatus, |
| | | erpCode: record.erpCode, |
| | | warehouseId: record.warehouseId, |
| | | isBarcodeLevelControl: record.isBarcodeLevelControl, |
| | | isFIFO: record.isFIFO, |
| | | isPartLevelControl: record.isPartLevelControl, |
| | | isAllowConfusion: record.isAllowConfusion, |
| | | isAllowNegativeInventory: record.isAllowNegativeInventory, |
| | | isVirtually: record.isVirtually, |
| | | 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] |
| | | } |
| | | ) |
| | | }) |
| | | }, |
| | | 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] |
| | | } |
| | | } |
| | | WmsAreaEdit(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) => { |
| | | } |
| | | WmsAreaEdit(this.record).then((res) => { |
| | | if (res.success) { |
| | | this.$message.success('编辑成功') |
| | | this.confirmLoading = false |
| | | }) |
| | | }else{ |
| | | this.$emit('ok', this.record) |
| | | this.handleCancel() |
| | | } else { |
| | | this.$message.error('编辑失败:' + JSON.stringify(res.message)) |
| | | } |
| | | }).finally((res) => { |
| | | this.confirmLoading = false |
| | | } |
| | | }); |
| | | }, |
| | | handleCancel () { |
| | | this.form.resetFields() |
| | | this.visible = false |
| | | } |
| | | }) |
| | | } else { |
| | | this.confirmLoading = false |
| | | } |
| | | }); |
| | | }, |
| | | handleCancel() { |
| | | this.form.resetFields() |
| | | this.visible = false |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | |
| | | } |
| | | }, |
| | | methods: { |
| | | moment, |
| | | // 初始化方法 |
| | | add(record) { |
| | | this.visible = true; |
| | | WmsContainerTypePage().then((d) => { |
| | | created() { |
| | | WmsContainerTypePage().then((d) => { |
| | | this.selectTypeData = d.data.rows || [] |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | |
| | | WmsContainerPackagingPage().then((d) => { |
| | |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | }, |
| | | methods: { |
| | | moment, |
| | | // 初始化方法 |
| | | add(record) { |
| | | this.visible = true; |
| | | this.$nextTick(() => { |
| | | |
| | | }); |
| | | }, |
| | | /** |
| | |
| | | <template> |
| | | <a-modal |
| | | title="编辑容器信息" |
| | | :width="900" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | @ok="handleSubmit" |
| | | <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="['containerCode', {rules: [{required: true, message: '请输入编号!'}]}]" /> |
| | | <a-input placeholder="请输入编号" |
| | | v-decorator="['containerCode', { rules: [{ required: true, message: '请输入编号!' }] }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入名称" v-decorator="['containerName', {rules: [{required: true, message: '请输入名称!'}]}]" /> |
| | | <a-input placeholder="请输入名称" |
| | | v-decorator="['containerName', { rules: [{ required: true, message: '请输入名称!' }] }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="类型ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入类型ID" v-decorator="['containerTypeId', {rules: [{required: true, message: '请输入类型ID!'}]}]" /> |
| | | <a-form-item label="类型" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <!-- <a-input placeholder="请输入类型" v-decorator="['containerTypeId', {rules: [{required: true, message: '请输入类型ID!'}]}]" /> --> |
| | | <a-select style="width: 100%" placeholder="请选择类型" v-decorator="['containerTypeId']"> |
| | | <a-select-option v-for="(item, index) in selectTypeData" :key="index" :value="item.typeCode">{{ |
| | | item.typeName }}</a-select-option> |
| | | </a-select> |
| | | |
| | | </a-form-item> |
| | | <a-form-item label="类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <!-- <a-form-item label="类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入类型名称" v-decorator="['containerTypeName', {rules: [{required: true, message: '请输入类型名称!'}]}]" /> |
| | | </a-form-item> |
| | | <a-form-item label="容器关系ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入容器关系ID" v-decorator="['packagingId', {rules: [{required: true, message: '请输入容器关系ID!'}]}]" /> |
| | | </a-form-item> --> |
| | | <a-form-item label="容器关系" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <!-- <a-input placeholder="请输入容器关系ID" |
| | | v-decorator="['packagingId', { rules: [{ required: true, message: '请输入容器关系ID!' }] }]" /> --> |
| | | |
| | | <a-select style="width: 100%" placeholder="请选择容器关系" v-decorator="['packagingId']"> |
| | | <a-select-option v-for="(item, index) in selectTypeData2" :key="index" :value="item.containerTypeId">{{ |
| | | item.containerTypeName }}</a-select-option> |
| | | </a-select> |
| | | |
| | | </a-form-item> |
| | | <a-form-item label="长度" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入长度" v-decorator="['specLength']" /> |
| | |
| | | <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-form-item label="父容器名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入父容器名称" v-decorator="['parentContainerName']" /> |
| | | </a-form-item> |
| | | <a-form-item label="父容器Id" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入父容器Id" v-decorator="['parentContainerId']" /> |
| | | </a-form-item> |
| | | </a-form-item> --> |
| | | <a-form-item label="是否虚拟" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input-number placeholder="请输入是否虚拟" style="width: 100%" v-decorator="['isVirtually']" /> |
| | | </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> |
| | |
| | | |
| | | <script> |
| | | import moment from 'moment' |
| | | import { |
| | | import { |
| | | WmsContainerEdit |
| | | } from '@/api/modular/main/WmsBase/WmsContainerManage' |
| | | export default { |
| | | data () { |
| | | return { |
| | | Id: 0, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | } from '@/api/modular/main/WmsBase/WmsContainerManage' |
| | | import { WmsContainerTypePage, WmsContainerTypeDelete, WmsContainerTypeToExcel } from '@/api/modular/main/WmsBase/WmsContainerTypeManage' |
| | | import { WmsContainerPackagingPage, WmsContainerPackagingDelete, WmsContainerPackagingToExcel } from '@/api/modular/main/WmsBase/WmsContainerPackagingManage' |
| | | 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) |
| | | } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 15 } |
| | | created() { |
| | | WmsContainerTypePage().then((d) => { |
| | | this.selectTypeData = d.data.rows || [] |
| | | }).catch(() => { |
| | | }) |
| | | |
| | | WmsContainerPackagingPage().then((d) => { |
| | | this.selectTypeData2 = d.data.rows || [] |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | }, |
| | | 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, |
| | | containerCode: record.containerCode, |
| | | containerName: record.containerName, |
| | | containerTypeId: record.containerTypeId, |
| | | containerTypeName: record.containerTypeName, |
| | | packagingId: record.packagingId, |
| | | specLength: record.specLength, |
| | | specWidth: record.specWidth, |
| | | specHeight: record.specHeight, |
| | | limitLength: record.limitLength, |
| | | limitWidth: record.limitWidth, |
| | | limitHeight: record.limitHeight, |
| | | maxWeight: record.maxWeight, |
| | | parentContainerName: record.parentContainerName, |
| | | parentContainerId: record.parentContainerId, |
| | | isVirtually: record.isVirtually, |
| | | isDisabled: record.isDisabled |
| | | } |
| | | ) |
| | | }) |
| | | }, |
| | | 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, |
| | | containerCode: record.containerCode, |
| | | containerName: record.containerName, |
| | | containerTypeId: record.containerTypeId, |
| | | containerTypeName: record.containerTypeName, |
| | | packagingId: record.packagingId, |
| | | specLength: record.specLength, |
| | | specWidth: record.specWidth, |
| | | specHeight: record.specHeight, |
| | | limitLength: record.limitLength, |
| | | limitWidth: record.limitWidth, |
| | | limitHeight: record.limitHeight, |
| | | maxWeight: record.maxWeight, |
| | | parentContainerName: record.parentContainerName, |
| | | parentContainerId: record.parentContainerId, |
| | | isVirtually: record.isVirtually, |
| | | 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] |
| | | } |
| | | ) |
| | | }) |
| | | }, |
| | | 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] |
| | | } |
| | | } |
| | | WmsContainerEdit(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) => { |
| | | } |
| | | WmsContainerEdit(this.record).then((res) => { |
| | | if (res.success) { |
| | | this.$message.success('编辑成功') |
| | | this.confirmLoading = false |
| | | }) |
| | | }else{ |
| | | this.$emit('ok', this.record) |
| | | this.handleCancel() |
| | | } else { |
| | | this.$message.error('编辑失败:' + JSON.stringify(res.message)) |
| | | } |
| | | }).finally((res) => { |
| | | this.confirmLoading = false |
| | | } |
| | | }); |
| | | }, |
| | | handleCancel () { |
| | | this.form.resetFields() |
| | | this.visible = false |
| | | } |
| | | }) |
| | | } else { |
| | | this.confirmLoading = false |
| | | } |
| | | }); |
| | | }, |
| | | handleCancel() { |
| | | this.form.resetFields() |
| | | this.visible = false |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | @cancel="handleCancel"> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form :form="form"> |
| | | <a-form-item label="容器类型ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入容器类型ID" v-decorator="['containerTypeId', {rules: [{required: true, message: '请输入容器类型ID!'}]}]" /> |
| | | <a-form-item label="容器类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <!-- <a-input placeholder="请输入容器类型ID" v-decorator="['containerTypeId', {rules: [{required: true, message: '请输入容器类型ID!'}]}]" /> --> |
| | | |
| | | <a-select style="width: 100%" placeholder="请选择容器类型名称" v-decorator="['containerTypeId']"> |
| | | <a-select-option v-for="(item, index) in selectTypeData" :key="index" |
| | | :value="item.typeCode">{{ item.typeName }}</a-select-option> |
| | | </a-select> |
| | | |
| | | </a-form-item> |
| | | <!-- <a-form-item label="容器类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入容器类型名称" v-decorator="['containerTypeName', {rules: [{required: true, message: '请输入容器类型名称!'}]}]" /> |
| | | </a-form-item> --> |
| | | <a-form-item label="物料类型ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入物料类型ID" v-decorator="['materialTypeId', {rules: [{required: true, message: '请输入物料类型ID!'}]}]" /> |
| | | <a-form-item label="物料类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <!-- <a-input placeholder="请输入物料类型ID" v-decorator="['materialTypeId', {rules: [{required: true, message: '请输入物料类型ID!'}]}]" /> --> |
| | | |
| | | <a-select style="width: 100%" placeholder="请选择物料类型名称" v-decorator="['materialTypeId']"> |
| | | <a-select-option v-for="(item, index) in selectTypeData2" :key="index" |
| | | :value="item.materialTypeCode">{{ item.materialTypeName }}</a-select-option> |
| | | </a-select> |
| | | |
| | | </a-form-item> |
| | | <!-- <a-form-item label="物料类型编号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入物料类型编号" v-decorator="['materialTypeCode', {rules: [{required: true, message: '请输入物料类型编号!'}]}]" /> |
| | |
| | | import { |
| | | WmsContainerPackagingAdd |
| | | } from '@/api/modular/main/WmsBase/WmsContainerPackagingManage' |
| | | |
| | | import { WmsContainerTypePage, WmsContainerTypeDelete, WmsContainerTypeToExcel } from '@/api/modular/main/WmsBase/WmsContainerTypeManage' |
| | | import { WmsMaterialTypePage,} from '@/api/modular/main/WmsBase/WmsMaterialTypeManage' |
| | | export default { |
| | | data () { |
| | | return { |
| | |
| | | form: this.$form.createForm(this) |
| | | } |
| | | }, |
| | | created() { |
| | | WmsContainerTypePage().then((d) => { |
| | | this.selectTypeData = d.data.rows || [] |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | WmsMaterialTypePage().then((d) => { |
| | | this.selectTypeData2 = d.data.rows || [] |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | }, |
| | | methods: { |
| | | moment, |
| | | // 初始化方法 |
| | |
| | | this.$nextTick(() => { |
| | | |
| | | }); |
| | | |
| | | |
| | | }, |
| | | /** |
| | | * 提交表单 |
| | |
| | | @cancel="handleCancel"> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form :form="form"> |
| | | <a-form-item label="容器类型ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入容器类型ID" v-decorator="['containerTypeId', {rules: [{required: true, message: '请输入容器类型ID!'}]}]" /> |
| | | </a-form-item> |
| | | <a-form-item label="容器类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <!-- <a-input placeholder="请输入容器类型ID" v-decorator="['containerTypeId', {rules: [{required: true, message: '请输入容器类型ID!'}]}]" /> --> |
| | | |
| | | <a-select style="width: 100%" placeholder="请选择容器类型名称" v-decorator="['containerTypeId']"> |
| | | <a-select-option v-for="(item, index) in selectTypeData" :key="index" |
| | | :value="item.typeCode">{{ item.typeName }}</a-select-option> |
| | | </a-select> |
| | | |
| | | </a-form-item> |
| | | <!-- <a-form-item label="容器类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入容器类型名称" v-decorator="['containerTypeName', {rules: [{required: true, message: '请输入容器类型名称!'}]}]" /> |
| | | </a-form-item> --> |
| | | <a-form-item label="物料类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <!-- <a-input placeholder="请输入物料类型ID" v-decorator="['materialTypeId', {rules: [{required: true, message: '请输入物料类型ID!'}]}]" /> --> |
| | | |
| | | <a-select style="width: 100%" placeholder="请选择物料类型名称" v-decorator="['materialTypeId']"> |
| | | <a-select-option v-for="(item, index) in selectTypeData2" :key="index" |
| | | :value="item.materialTypeCode">{{ item.materialTypeName }}</a-select-option> |
| | | </a-select> |
| | | |
| | | </a-form-item> |
| | | <a-form-item label="物料类型ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入物料类型ID" v-decorator="['materialTypeId', {rules: [{required: true, message: '请输入物料类型ID!'}]}]" /> |
| | | </a-form-item> |
| | | <a-form-item label="物料类型编号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <!-- <a-form-item label="物料类型编号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入物料类型编号" v-decorator="['materialTypeCode', {rules: [{required: true, message: '请输入物料类型编号!'}]}]" /> |
| | | </a-form-item> |
| | | <a-form-item label="物料类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入物料类型名称" v-decorator="['materialTypeName', {rules: [{required: true, message: '请输入物料类型名称!'}]}]" /> |
| | | </a-form-item> |
| | | </a-form-item> --> |
| | | <a-form-item label="物料容器容量" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入物料容器容量" v-decorator="['boxQty', {rules: [{required: true, message: '请输入物料容器容量!'}]}]" /> |
| | | </a-form-item> |
| | | <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item> |
| | | </a-form> |
| | | </a-spin> |
| | | </a-modal> |
| | |
| | | import { |
| | | WmsContainerPackagingEdit |
| | | } from '@/api/modular/main/WmsBase/WmsContainerPackagingManage' |
| | | |
| | | |
| | | import { WmsContainerTypePage, WmsContainerTypeDelete, WmsContainerTypeToExcel } from '@/api/modular/main/WmsBase/WmsContainerTypeManage' |
| | | import { WmsMaterialTypePage,} from '@/api/modular/main/WmsBase/WmsMaterialTypeManage' |
| | | |
| | | export default { |
| | | data () { |
| | | return { |
| | |
| | | form: this.$form.createForm(this) |
| | | } |
| | | }, |
| | | created() { |
| | | WmsContainerTypePage().then((d) => { |
| | | this.selectTypeData = d.data.rows || [] |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | WmsMaterialTypePage().then((d) => { |
| | | this.selectTypeData2 = d.data.rows || [] |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | }, |
| | | methods: { |
| | | moment, |
| | | // 初始化方法 |
| | |
| | | this.$nextTick(() => { |
| | | this.form.setFieldsValue( |
| | | { |
| | | id: record.id, |
| | | containerTypeId: record.containerTypeId, |
| | | containerTypeName: record.containerTypeName, |
| | | materialTypeId: record.materialTypeId, |
| | | materialTypeCode: record.materialTypeCode, |
| | | materialTypeName: record.materialTypeName, |
| | | boxQty: record.boxQty |
| | | ...record |
| | | } |
| | | ) |
| | | |
| | | }) |
| | | }, |
| | | handleSubmit () { |
| | |
| | | <template> |
| | | <div ref="boxOutWrap" class="boxOutWrap"> |
| | | <div ref="boxForm" class="boxForm"> |
| | | <a-card :bordered="false" :bodyStyle="tstyle"> |
| | | <div ref="boxOutWrap" class="boxOutWrap"> |
| | | <div ref="boxForm" class="boxForm"> |
| | | <a-card :bordered="false" :bodyStyle="tstyle"> |
| | | |
| | | <div class="table-page-search-wrapper" v-if="hasPerm('WmsContainerPackaging:page')"> |
| | | <a-form layout="inline"> |
| | | <a-row :gutter="48"> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="容器类型ID"> |
| | | <a-input v-model="queryParam.containerTypeId" allow-clear placeholder="请输入容器类型ID"/> |
| | | <div class="table-page-search-wrapper" v-if="hasPerm('WmsContainerPackaging:page')"> |
| | | <a-form layout="inline"> |
| | | <a-row :gutter="48"> |
| | | <!-- <a-col :md="8" :sm="24"> |
| | | <a-form-item label="容器类型"> |
| | | <a-input v-model="queryParam.containerTypeId" allow-clear placeholder="请输入容器类型"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="容器类型名称"> |
| | | <a-input v-model="queryParam.containerTypeName" allow-clear placeholder="请输入容器类型名称"/> |
| | | </a-form-item> |
| | | </a-col><template v-if="advanced"> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="物料类型ID"> |
| | | <a-input v-model="queryParam.materialTypeId" allow-clear placeholder="请输入物料类型ID"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="物料类型编号"> |
| | | <a-input v-model="queryParam.materialTypeCode" allow-clear placeholder="请输入物料类型编号"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="物料类型名称"> |
| | | <a-input v-model="queryParam.materialTypeName" allow-clear placeholder="请输入物料类型名称"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="物料容器容量"> |
| | | <a-input v-model="queryParam.boxQty" allow-clear placeholder="请输入物料容器容量"/> |
| | | </a-form-item> |
| | | </a-col> <!--年月日时分秒--> |
| | | <!--时间范围--> |
| | | </a-col> --> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="容器类型名称"> |
| | | <a-input v-model="queryParam.containerTypeName" allow-clear placeholder="请输入容器类型名称" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="物料类型"> |
| | | <a-input v-model="queryParam.materialTypeId" allow-clear placeholder="请输入物料类型" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <template v-if="advanced"> |
| | | |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="物料类型编号"> |
| | | <a-input v-model="queryParam.materialTypeCode" allow-clear |
| | | placeholder="请输入物料类型编号" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="物料类型名称"> |
| | | <a-input v-model="queryParam.materialTypeName" allow-clear |
| | | placeholder="请输入物料类型名称" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="物料容器容量"> |
| | | <a-input v-model="queryParam.boxQty" allow-clear placeholder="请输入物料容器容量" /> |
| | | </a-form-item> |
| | | </a-col> <!--年月日时分秒--> |
| | | <!--时间范围--> |
| | | |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="创建时间"> |
| | | <a-range-picker style="width: 100%" :placeholder="['开始时间', '结束时间']" :show-time="{ |
| | | format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangecreatedTime"/> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="创建时间"> |
| | | <a-range-picker style="width: 100%" :placeholder="['开始时间', '结束时间']" :show-time="{ |
| | | format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')] |
| | | }" |
| | | v-model="queryParam.createdTime" value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" @change="onChangecreatedTime" /> |
| | | |
| | | </a-form-item> |
| | | </a-col> |
| | | <!--年月日时分秒--> |
| | | <!--时间范围--> |
| | | </a-form-item> |
| | | </a-col> |
| | | <!--年月日时分秒--> |
| | | <!--时间范围--> |
| | | |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="更新时间"> |
| | | <a-range-picker style="width: 100%" :placeholder="['开始时间', '结束时间']" :show-time="{ |
| | | format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" @change="onChangeupdatedTime"/> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="更新时间"> |
| | | <a-range-picker style="width: 100%" :placeholder="['开始时间', '结束时间']" :show-time="{ |
| | | format: 'HH:mm:ss', defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')] |
| | | }" |
| | | v-model="queryParam.updatedTime" value-format="YYYY-MM-DD HH:mm:ss" |
| | | format="YYYY-MM-DD HH:mm:ss" @change="onChangeupdatedTime" /> |
| | | |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="创建者名称"> |
| | | <a-input v-model="queryParam.createdUserName" allow-clear placeholder="请输入创建者名称"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="修改者名称"> |
| | | <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="请输入修改者名称"/> |
| | | </a-form-item> |
| | | </a-col> </template> |
| | | </a-form-item> |
| | | </a-col> |
| | | |
| | | <a-col :md="8" :sm="24" > |
| | | <span class="table-page-search-submitButtons"> |
| | | <a-button type="primary" @click="$refs.table.refresh(true)" >查询</a-button> |
| | | <a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button> |
| | | <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '收起' : '展开' }} |
| | | <a-icon :type="advanced ? 'up' : 'down'"/> |
| | | </a> |
| | | </span> |
| | | </a-col> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="创建者名称"> |
| | | <a-input v-model="queryParam.createdUserName" allow-clear placeholder="请输入创建者名称" /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :md="8" :sm="24"> |
| | | <a-form-item label="修改者名称"> |
| | | <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="请输入修改者名称" /> |
| | | </a-form-item> |
| | | </a-col> </template> |
| | | |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | </a-card> |
| | | </div> |
| | | <a-card :bordered="false"> |
| | | <s-table |
| | | ref="table" |
| | | :columns="columns" |
| | | :data="loadData" |
| | | :alert="true" |
| | | @changeTablePage="pageInfo = $event" |
| | | :scroll="{x: true,y:tableHeight}" |
| | | :rowKey="(record) => record.id" |
| | | :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"> |
| | | <template class="table-operator" slot="operator" v-if="hasPerm('WmsContainerPackaging:add')" > |
| | | <div ref="actionBar" class="actionBar"> |
| | | <a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()"> |
| | | 导入 |
| | | </a-button> |
| | | <a-button type="info" v-if="hasPerm('WmsContainerPackaging:exportExcel')" icon="download" @click="WmsContainerPackagingToExcel()"> |
| | | 导出 |
| | | </a-button> |
| | | <a-button type="primary" v-if="hasPerm('WmsContainerPackaging:add')" icon="plus" @click="$refs.addForm.add()">新增容器关系</a-button> |
| | | <a-col :md="8" :sm="24"> |
| | | <span class="table-page-search-submitButtons"> |
| | | <a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button> |
| | | <a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button> |
| | | <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '收起' : '展开' }} |
| | | <a-icon :type="advanced ? 'up' : 'down'" /> |
| | | </a> |
| | | </span> |
| | | </a-col> |
| | | |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | </a-card> |
| | | </div> |
| | | </template> |
| | | <span slot="action" slot-scope="text, record"> |
| | | |
| | | <a v-if="hasPerm('WmsContainerPackaging:edit')" @click="$refs.editForm.edit(record)">编辑</a> |
| | | <a-divider type="vertical" v-if="hasPerm('WmsContainerPackaging:edit') & hasPerm('WmsContainerPackaging:delete')"/> |
| | | <a-popconfirm v-if="hasPerm('WmsContainerPackaging:delete')" placement="topRight" title="确认删除?" @confirm="() => WmsContainerPackagingDelete(record)"> |
| | | <a>删除</a> |
| | | </a-popconfirm> |
| | | </span> |
| | | </s-table> |
| | | <add-form ref="addForm" @ok="handleOk" /> |
| | | <edit-form ref="editForm" @ok="handleOk" /> |
| | | <excel-form ref="excelForm" @ok="handleOk" /> |
| | | </a-card> |
| | | </div> |
| | | <a-card :bordered="false"> |
| | | <s-table ref="table" :columns="columns" :data="loadData" :alert="true" @changeTablePage="pageInfo = $event" |
| | | :scroll="{ x: true, y: tableHeight }" :rowKey="(record) => record.id" |
| | | :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"> |
| | | <template class="table-operator" slot="operator" v-if="hasPerm('WmsContainerPackaging:add')"> |
| | | <div ref="actionBar" class="actionBar"> |
| | | <a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" |
| | | @click="$refs.excelForm.index()"> |
| | | 导入 |
| | | </a-button> |
| | | <a-button type="info" v-if="hasPerm('WmsContainerPackaging:exportExcel')" icon="download" |
| | | @click="WmsContainerPackagingToExcel()"> |
| | | 导出 |
| | | </a-button> |
| | | <a-button type="primary" v-if="hasPerm('WmsContainerPackaging:add')" icon="plus" |
| | | @click="$refs.addForm.add()">新增容器关系</a-button> |
| | | </div> |
| | | </template> |
| | | <span slot="action" slot-scope="text, record"> |
| | | |
| | | <a v-if="hasPerm('WmsContainerPackaging:edit')" @click="$refs.editForm.edit(record)">编辑</a> |
| | | <a-divider type="vertical" |
| | | v-if="hasPerm('WmsContainerPackaging:edit') & hasPerm('WmsContainerPackaging:delete')" /> |
| | | <a-popconfirm v-if="hasPerm('WmsContainerPackaging:delete')" placement="topRight" title="确认删除?" |
| | | @confirm="() => WmsContainerPackagingDelete(record)"> |
| | | <a>删除</a> |
| | | </a-popconfirm> |
| | | </span> |
| | | </s-table> |
| | | <add-form ref="addForm" @ok="handleOk" /> |
| | | <edit-form ref="editForm" @ok="handleOk" /> |
| | | <excel-form ref="excelForm" @ok="handleOk" /> |
| | | </a-card> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { STable } from '@/components' |
| | | import moment from 'moment' |
| | | import { WmsContainerPackagingPage, WmsContainerPackagingDelete, WmsContainerPackagingToExcel } from '@/api/modular/main/WmsBase/WmsContainerPackagingManage' |
| | | //自定义table高度 |
| | | import setTableHtMixin from '@/mixins/handleTableHt.js' |
| | | import addForm from './addForm.vue' |
| | | import { exportExcel } from '@/utils/exportToExcel' |
| | | import { downloadFile } from '@/utils/util' |
| | | import editForm from './editForm.vue' |
| | | import excelForm from './excelForm.vue' |
| | | export default { |
| | | import { STable } from '@/components' |
| | | import moment from 'moment' |
| | | import { WmsContainerPackagingPage, WmsContainerPackagingDelete, WmsContainerPackagingToExcel } from '@/api/modular/main/WmsBase/WmsContainerPackagingManage' |
| | | //自定义table高度 |
| | | import setTableHtMixin from '@/mixins/handleTableHt.js' |
| | | import addForm from './addForm.vue' |
| | | import { exportExcel } from '@/utils/exportToExcel' |
| | | import { downloadFile } from '@/utils/util' |
| | | import editForm from './editForm.vue' |
| | | import excelForm from './excelForm.vue' |
| | | export default { |
| | | mixins: [setTableHtMixin], |
| | | components: { |
| | | STable, |
| | | addForm, |
| | | editForm, |
| | | excelForm |
| | | STable, |
| | | addForm, |
| | | editForm, |
| | | excelForm |
| | | }, |
| | | data () { |
| | | return { |
| | | advanced: false, // 高级搜索 展开/关闭 |
| | | queryParam: {}, |
| | | pageInfo: { |
| | | current: 1, |
| | | pageSize: 10 |
| | | }, |
| | | columns: [ |
| | | { |
| | | title:'序号', |
| | | width: '60px', |
| | | align: 'center', |
| | | customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}` |
| | | data() { |
| | | return { |
| | | advanced: false, // 高级搜索 展开/关闭 |
| | | queryParam: {}, |
| | | pageInfo: { |
| | | current: 1, |
| | | pageSize: 10 |
| | | }, |
| | | columns: [ |
| | | { |
| | | title: '序号', |
| | | width: '60px', |
| | | align: 'center', |
| | | customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}` |
| | | }, |
| | | // { |
| | | // title: '容器类型Id', |
| | | // align: 'center', |
| | | // customHeaderCell: () => { |
| | | // return { |
| | | // style: { |
| | | // 'min-width': '130px'//最小列宽设置 |
| | | // } |
| | | // } |
| | | // }, |
| | | // customCell: () => { |
| | | // return { |
| | | // style: { |
| | | // 'min-width': '130px'//最小列宽设置 |
| | | // } |
| | | // } |
| | | // }, |
| | | // sorter: true, |
| | | // dataIndex: 'containerTypeId' |
| | | // }, |
| | | { |
| | | title: '容器类型名称', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'containerTypeName' |
| | | }, |
| | | // { |
| | | // title: '物料类型Id', |
| | | // align: 'center', |
| | | // customHeaderCell: () => { |
| | | // return { |
| | | // style: { |
| | | // 'min-width': '130px'//最小列宽设置 |
| | | // } |
| | | // } |
| | | // }, |
| | | // customCell: () => { |
| | | // return { |
| | | // style: { |
| | | // 'min-width': '130px'//最小列宽设置 |
| | | // } |
| | | // } |
| | | // }, |
| | | // sorter: true, |
| | | // dataIndex: 'materialTypeId' |
| | | // }, |
| | | { |
| | | title: '物料类型编号', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'materialTypeCode' |
| | | }, |
| | | { |
| | | title: '物料类型名称', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'materialTypeName' |
| | | }, |
| | | { |
| | | title: '物料容器容量', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'boxQty' |
| | | }, |
| | | { |
| | | title: '创建时间', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'createdTime' |
| | | }, |
| | | { |
| | | title: '更新时间', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'updatedTime' |
| | | }, |
| | | { |
| | | title: '创建者名称', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'createdUserName' |
| | | }, |
| | | { |
| | | title: '修改者名称', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'updatedUserName' |
| | | } |
| | | ], |
| | | tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, |
| | | // 加载数据方法 必须为 Promise 对象 |
| | | loadData: parameter => { |
| | | return WmsContainerPackagingPage(Object.assign(parameter, this.switchingDate())).then((res) => { |
| | | return res.data |
| | | }) |
| | | }, |
| | | selectedRowKeys: [], |
| | | selectedRows: [] |
| | | } |
| | | }, |
| | | { |
| | | title: '容器类型ID', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'containerTypeId' |
| | | }, |
| | | { |
| | | title: '容器类型名称', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'containerTypeName' |
| | | }, |
| | | { |
| | | title: '物料类型ID', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'materialTypeId' |
| | | }, |
| | | { |
| | | title: '物料类型编号', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'materialTypeCode' |
| | | }, |
| | | { |
| | | title: '物料类型名称', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'materialTypeName' |
| | | }, |
| | | { |
| | | title: '物料容器容量', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '130px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'boxQty' |
| | | }, |
| | | { |
| | | title: '创建时间', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'createdTime' |
| | | }, |
| | | { |
| | | title: '更新时间', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'updatedTime' |
| | | }, |
| | | { |
| | | title: '创建者名称', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'createdUserName' |
| | | }, |
| | | { |
| | | title: '修改者名称', |
| | | align: 'center', |
| | | customHeaderCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | customCell: () => { |
| | | return { |
| | | style: { |
| | | 'min-width': '120px'//最小列宽设置 |
| | | } |
| | | } |
| | | }, |
| | | sorter: true, |
| | | dataIndex: 'updatedUserName' |
| | | } |
| | | ], |
| | | tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' }, |
| | | // 加载数据方法 必须为 Promise 对象 |
| | | loadData: parameter => { |
| | | return WmsContainerPackagingPage(Object.assign(parameter, this.switchingDate())).then((res) => { |
| | | return res.data |
| | | }) |
| | | }, |
| | | selectedRowKeys: [], |
| | | selectedRows: [] |
| | | } |
| | | }, |
| | | created () { |
| | | if (this.hasPerm('WmsContainerPackaging:edit') || this.hasPerm('WmsContainerPackaging:delete')) { |
| | | this.columns.push({ |
| | | title: '操作', |
| | | width: '150px', |
| | | dataIndex: 'action', |
| | | scopedSlots: { customRender: 'action' } |
| | | }) |
| | | } |
| | | const path = this.$route.path |
| | | const columnStr = window.localStorage.getItem(path) |
| | | if(columnStr) { |
| | | var _columns = JSON.parse(columnStr) |
| | | this.columns.forEach(element => { |
| | | var fObj = _columns.find((item, index) => { |
| | | return item.dataIndex === element.dataIndex; |
| | | }) |
| | | if(fObj!=undefined && fObj!=null){ |
| | | element.checked=fObj.checked; |
| | | } |
| | | }); |
| | | } |
| | | created() { |
| | | if (this.hasPerm('WmsContainerPackaging:edit') || this.hasPerm('WmsContainerPackaging:delete')) { |
| | | this.columns.push({ |
| | | title: '操作', |
| | | width: '150px', |
| | | dataIndex: 'action', |
| | | scopedSlots: { customRender: 'action' } |
| | | }) |
| | | } |
| | | const path = this.$route.path |
| | | const columnStr = window.localStorage.getItem(path) |
| | | if (columnStr) { |
| | | var _columns = JSON.parse(columnStr) |
| | | this.columns.forEach(element => { |
| | | var fObj = _columns.find((item, index) => { |
| | | return item.dataIndex === element.dataIndex; |
| | | }) |
| | | if (fObj != undefined && fObj != null) { |
| | | element.checked = fObj.checked; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | this.handleTableHt() //设置主表表格高度 |
| | | window.addEventListener( |
| | | 'resize', |
| | | () => { |
| | | this.handleTableHt() // 监听屏幕大小改变表格高度 |
| | | }, |
| | | false |
| | | ) |
| | | |
| | | this.handleTableHt() //设置主表表格高度 |
| | | window.addEventListener( |
| | | 'resize', |
| | | () => { |
| | | this.handleTableHt() // 监听屏幕大小改变表格高度 |
| | | }, |
| | | false |
| | | ) |
| | | |
| | | }, |
| | | methods: { |
| | | moment, |
| | | /** |
| | | * 查询参数组装 |
| | | */ |
| | | switchingDate () { |
| | | const obj = JSON.parse(JSON.stringify(this.queryParam)) |
| | | return obj |
| | | }, |
| | | WmsContainerPackagingDelete (record) { |
| | | WmsContainerPackagingDelete(record).then((res) => { |
| | | if (res.success) { |
| | | this.$message.success('删除成功') |
| | | this.$refs.table.refresh() |
| | | } else { |
| | | this.$message.error('删除失败') // + res.message |
| | | } |
| | | }) |
| | | }, |
| | | moment, |
| | | /** |
| | | * 查询参数组装 |
| | | */ |
| | | switchingDate() { |
| | | const obj = JSON.parse(JSON.stringify(this.queryParam)) |
| | | return obj |
| | | }, |
| | | WmsContainerPackagingDelete(record) { |
| | | WmsContainerPackagingDelete(record).then((res) => { |
| | | if (res.success) { |
| | | this.$message.success('删除成功') |
| | | this.$refs.table.refresh() |
| | | } else { |
| | | this.$message.error('删除失败') // + res.message |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | WmsContainerPackagingToExcel() { |
| | | this.loading = true |
| | | let entozh = {}; |
| | | const path = this.$route.path; |
| | | if (window.localStorage.getItem(path)) { |
| | | JSON.parse(window.localStorage.getItem(path)).forEach(item => { |
| | | if (item.dataIndex != 'action' && item.checked) { |
| | | entozh[item.dataIndex] = item.title |
| | | } |
| | | }) |
| | | } else { //直接点导出 |
| | | this.columns.forEach(item => { |
| | | if (item.dataIndex != 'action') { |
| | | entozh[item.dataIndex] = item.title |
| | | } |
| | | }) |
| | | } |
| | | WmsContainerPackagingPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => { |
| | | this.loading = false; |
| | | //需要截取日期的字段 |
| | | var arrDataCutout = this.columns.filter(v => v.customCutout == true); |
| | | res.data.rows.forEach(item => { |
| | | var arrKeys = Object.keys(item); |
| | | arrKeys.forEach(key => { |
| | | var strFieldDic = key + 'Data'; |
| | | //枚举转值 |
| | | if (this[strFieldDic] && this[strFieldDic].length > 0) { |
| | | let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key])); |
| | | if (arrFieldDic.length > 0) { |
| | | item[key] = arrFieldDic[0]?.name || '没有枚举值'; |
| | | } |
| | | } |
| | | // 日期截取 |
| | | if (arrDataCutout.length > 0) { |
| | | arrDataCutout.forEach(itemIn => { |
| | | if (key == itemIn.dataIndex && item[key]) { |
| | | item[key] = item[key].split(" ")[0] |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | }) |
| | | exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`) |
| | | }).catch((err) => { |
| | | this.loading = false |
| | | this.$message.error('下载错误:获取文件流错误' + err) |
| | | }) |
| | | }, |
| | | WmsContainerPackagingToExcel() { |
| | | this.loading = true |
| | | let entozh = {}; |
| | | const path = this.$route.path; |
| | | if (window.localStorage.getItem(path)) { |
| | | JSON.parse(window.localStorage.getItem(path)).forEach(item => { |
| | | if (item.dataIndex != 'action' && item.checked) { |
| | | entozh[item.dataIndex] = item.title |
| | | } |
| | | }) |
| | | } else { //直接点导出 |
| | | this.columns.forEach(item => { |
| | | if (item.dataIndex != 'action') { |
| | | entozh[item.dataIndex] = item.title |
| | | } |
| | | }) |
| | | } |
| | | WmsContainerPackagingPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => { |
| | | this.loading = false; |
| | | //需要截取日期的字段 |
| | | var arrDataCutout = this.columns.filter(v => v.customCutout == true); |
| | | res.data.rows.forEach(item => { |
| | | var arrKeys = Object.keys(item); |
| | | arrKeys.forEach(key => { |
| | | var strFieldDic = key + 'Data'; |
| | | //枚举转值 |
| | | if (this[strFieldDic] && this[strFieldDic].length > 0) { |
| | | let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key])); |
| | | if (arrFieldDic.length > 0) { |
| | | item[key] = arrFieldDic[0]?.name || '没有枚举值'; |
| | | } |
| | | } |
| | | // 日期截取 |
| | | if (arrDataCutout.length > 0) { |
| | | arrDataCutout.forEach(itemIn => { |
| | | if (key == itemIn.dataIndex && item[key]) { |
| | | item[key] = item[key].split(" ")[0] |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | }) |
| | | exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`) |
| | | }).catch((err) => { |
| | | this.loading = false |
| | | this.$message.error('下载错误:获取文件流错误' + err) |
| | | }) |
| | | }, |
| | | |
| | | |
| | | toggleAdvanced () { |
| | | this.advanced = !this.advanced |
| | | this.handleTableHt() //设置主表表格高度 |
| | | }, |
| | | onChangecreatedTime(date, dateString) { |
| | | this.queryParam.createdTime = dateString |
| | | }, |
| | | onChangeupdatedTime(date, dateString) { |
| | | this.queryParam.updatedTime = dateString |
| | | }, |
| | | handleOk () { |
| | | this.$refs.table.refresh() |
| | | }, |
| | | onSelectChange (selectedRowKeys, selectedRows) { |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectedRows = selectedRows |
| | | toggleAdvanced() { |
| | | this.advanced = !this.advanced |
| | | this.handleTableHt() //设置主表表格高度 |
| | | }, |
| | | onChangecreatedTime(date, dateString) { |
| | | this.queryParam.createdTime = dateString |
| | | }, |
| | | onChangeupdatedTime(date, dateString) { |
| | | this.queryParam.updatedTime = dateString |
| | | }, |
| | | handleOk() { |
| | | this.$refs.table.refresh() |
| | | }, |
| | | onSelectChange(selectedRowKeys, selectedRows) { |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectedRows = selectedRows |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="less"> |
| | | .table-operator { |
| | | margin-bottom: 18px; |
| | | } |
| | | button { |
| | | margin-right: 8px; |
| | | } |
| | | </style> |
| | | .table-operator { |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | button { |
| | | margin-right: 8px; |
| | | }</style> |
| | |
| | | WmsWarehouseAdd |
| | | } from '@/api/modular/main/WmsBase/WmsWarehouseManage' |
| | | |
| | | import { WmsFactoryPage, WmsFactoryDelete, WmsFactoryToExcel } from '@/api/modular/main/WmsBase/WmsFactoryManage' |
| | | import { WmsFactoryPage } from '@/api/modular/main/WmsBase/WmsFactoryManage' |
| | | export default { |
| | | created() { |
| | | this.getSelectDataList() |
| | |
| | | <template> |
| | | <a-modal |
| | | title="编辑仓库信息" |
| | | :width="900" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | @ok="handleSubmit" |
| | | <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="['code', {rules: [{required: true, message: '请输入仓库编号!'}]}]" /> |
| | | <a-input placeholder="请输入仓库编号" v-decorator="['code', { rules: [{ required: true, message: '请输入仓库编号!' }] }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="仓库名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入仓库名称" v-decorator="['name', {rules: [{required: true, message: '请输入仓库名称!'}]}]" /> |
| | | <a-input placeholder="请输入仓库名称" v-decorator="['name', { rules: [{ required: true, message: '请输入仓库名称!' }] }]" /> |
| | | </a-form-item> |
| | | <a-form-item label="仓库地址" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入仓库地址" v-decorator="['address']" /> |
| | | </a-form-item> |
| | | <a-form-item label="工厂编号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入工厂编号" v-decorator="['factoryCode', {rules: [{required: true, message: '请输入工厂编号!'}]}]" /> |
| | | <a-form-item label="所属工厂" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <!-- <a-input placeholder="请选择所属工厂" v-decorator="['factoryCode', {rules: [{required: true, message: '请选择所属工厂!'}]}]" /> --> |
| | | |
| | | <a-select style="width: 100%" placeholder="请选择所属工厂" v-decorator="['factoryCode']"> |
| | | <a-select-option v-for="(item, index) in selectTypeData" :key="index" :value="item.factoryCode">{{ |
| | | item.factoryName }}</a-select-option> |
| | | </a-select> |
| | | |
| | | |
| | | </a-form-item> |
| | | <a-form-item label="长" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入长" v-decorator="['length']" /> |
| | |
| | | <a-form-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> |
| | | <a-input placeholder="请输入备注" v-decorator="['remarks']" /> |
| | | </a-form-item> |
| | | <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item> |
| | | </a-form> |
| | | </a-spin> |
| | | </a-modal> |
| | |
| | | |
| | | <script> |
| | | import moment from 'moment' |
| | | import { |
| | | import { WmsFactoryPage } from '@/api/modular/main/WmsBase/WmsFactoryManage' |
| | | import { |
| | | WmsWarehouseEdit |
| | | } from '@/api/modular/main/WmsBase/WmsWarehouseManage' |
| | | export default { |
| | | data () { |
| | | return { |
| | | Id: 0, |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | } from '@/api/modular/main/WmsBase/WmsWarehouseManage' |
| | | export default { |
| | | created() { |
| | | this.getSelectDataList() |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 15 } |
| | | 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) |
| | | } |
| | | }, |
| | | record: {}, |
| | | visible: false, |
| | | confirmLoading: false, |
| | | form: this.$form.createForm(this) |
| | | } |
| | | methods: { |
| | | moment, |
| | | getSelectDataList() { |
| | | WmsFactoryPage().then((d) => { |
| | | this.selectTypeData = d.data.rows || [] |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | }, |
| | | 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, |
| | | code: record.code, |
| | | name: record.name, |
| | | address: record.address, |
| | | factoryCode: record.factoryCode, |
| | | length: record.length, |
| | | width: record.width, |
| | | height: record.height, |
| | | baseUnit: record.baseUnit, |
| | | position: record.position, |
| | | isDisabled: record.isDisabled, |
| | | remarks: record.remarks |
| | | // 初始化方法 |
| | | 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, |
| | | code: record.code, |
| | | name: record.name, |
| | | address: record.address, |
| | | factoryCode: record.factoryCode, |
| | | length: record.length, |
| | | width: record.width, |
| | | height: record.height, |
| | | baseUnit: record.baseUnit, |
| | | position: record.position, |
| | | isDisabled: record.isDisabled, |
| | | remarks: record.remarks |
| | | } |
| | | ) |
| | | }) |
| | | }, |
| | | 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] |
| | | } |
| | | ) |
| | | }) |
| | | }, |
| | | 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] |
| | | } |
| | | } |
| | | WmsWarehouseEdit(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) => { |
| | | } |
| | | WmsWarehouseEdit(this.record).then((res) => { |
| | | if (res.success) { |
| | | this.$message.success('编辑成功') |
| | | this.confirmLoading = false |
| | | }) |
| | | }else{ |
| | | this.$emit('ok', this.record) |
| | | this.handleCancel() |
| | | } else { |
| | | this.$message.error('编辑失败:' + JSON.stringify(res.message)) |
| | | } |
| | | }).finally((res) => { |
| | | this.confirmLoading = false |
| | | } |
| | | }); |
| | | }, |
| | | handleCancel () { |
| | | this.form.resetFields() |
| | | this.visible = false |
| | | } |
| | | }) |
| | | } else { |
| | | this.confirmLoading = false |
| | | } |
| | | }); |
| | | }, |
| | | handleCancel() { |
| | | this.form.resetFields() |
| | | this.visible = false |
| | | } |
| | | } |
| | | } |
| | | </script> |