| | |
| | | <j-form-container :disabled="formDisabled"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> |
| | | <a-row> |
| | | <a-form-model-item label="产线" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId"> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-item |
| | | :labelCol="labelCol" |
| | | :wrapperCol="wrapperCol" |
| | | label="" |
| | | > |
| | | <j-select-factory |
| | | :disabled="disabled" |
| | | v-model="model.factoryId" |
| | | :multi="true" |
| | | @back="backFactoryInfo" |
| | | :backProduction="true" |
| | | :treeProductOpera="true" |
| | | ></j-select-factory> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model-item> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="库存地" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehouseId"> |
| | | <j-search-select-tag v-model="model.warehouseId" placeholder="请选择库存地" |
| | | dict="base_line_side_warehouse,warehouse_name,id"></j-search-select-tag> |
| | | <a-form-model-item label="来源编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="originalCode"> |
| | | <a-input v-model="model.originalCode" placeholder="请输入来源编码"></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="来源名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="originalName"> |
| | | <a-input v-model="model.originalName" placeholder="请输入来源名称"></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="线边库" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehouseId"> |
| | | <j-search-select-tag v-model="model.warehouseId" placeholder="请选择线边库" |
| | | :dict-options="warehouseDictOptions" @change="warehouseSelectChange"></j-search-select-tag> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="物料编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialNumber"> |
| | | <a-input v-model="model.materialNumber" placeholder="请输入物料编码"></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="物料名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialName"> |
| | | <a-input v-model="model.materialName" placeholder="请输入物料名称"></a-input> |
| | | <j-search-select-tag :dict-options="materialDictOptions" v-model="model.materialNumber" placeholder="请选择物料编码" @change="materialSelectChange"></j-search-select-tag> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | |
| | | <a-input-number v-model="model.quantity" placeholder="请输入入库数量" style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form-model> |
| | | </j-form-container> |
| | | <j-form-container disabled> |
| | | <a-form-model ref="form1" :model="model" slot="detail"> |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="接收人" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="receiver"> |
| | | <j-select-user-by-dep v-model="model.receiver" placeholder="请输入接收人"></j-select-user-by-dep> |
| | | <a-form-model-item label="物料名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="materialName"> |
| | | <a-input v-model="model.materialName"></a-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="接收时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="receiveTime"> |
| | | <j-date placeholder="请选择接收时间" v-model="model.receiveTime" :show-time="true" |
| | | date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" /> |
| | | <a-form-model-item label="入库类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inboundCategory"> |
| | | <j-search-select-tag v-model="model.inboundCategory" dict="material_inbound_category"></j-search-select-tag> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | |
| | | <script> |
| | | |
| | | import { httpAction, getAction } from '@/api/manage' |
| | | import { validateDuplicateValue } from '@/utils/util' |
| | | import JDate from '@/components/jeecg/JDate' |
| | | import pick from 'lodash.pick' |
| | | import moment from 'moment' |
| | | import { duplicateCheck } from '@/api/api'//重复校验 |
| | | import JTreeDict from '@/components/jeecg/JTreeDict'//分类字典树形下拉组件 |
| | | import JSelectFactory from '../../../../src/components/jeecgbiz/JSelectFactory.vue' |
| | | import { getAction, httpAction } from '@/api/manage' |
| | | |
| | | export default { |
| | | name: 'LswMaterialInboundForm', |
| | | components: { |
| | | JDate, |
| | | JTreeDict, |
| | | JSelectFactory |
| | | }, |
| | | props: { |
| | | //表单禁用 |
| | |
| | | sm: { span: 16 } |
| | | }, |
| | | confirmLoading: false, |
| | | warehouseDictOptions: [], |
| | | materialDictOptions: [], |
| | | validatorRules: { |
| | | factoryId: [ |
| | | { required: true, message: '产线是必选项', trigger: 'change' } |
| | | originalCode: [ |
| | | { required: true, message: '来源编码是必选项', trigger: 'change' } |
| | | ], |
| | | originalName: [ |
| | | { required: true, message: '来源名称是必选项', trigger: 'change' } |
| | | ], |
| | | warehouseId: [ |
| | | { required: true, message: '库存地是必选项', trigger: 'change' } |
| | | { required: true, message: '线边库是必选项', trigger: 'change' } |
| | | ], |
| | | materialNumber: [ |
| | | { required: true, message: '物料编码是必选项', trigger: 'change' } |
| | |
| | | quantity: [ |
| | | { required: true, message: '入库数量是必选项', trigger: 'change' } |
| | | ], |
| | | receiver: [ |
| | | { required: true, message: '接收人是必选项', trigger: 'change' } |
| | | ], |
| | | receiveTime: [ |
| | | { required: true, message: '接收时间是必选项', trigger: 'change' } |
| | | ] |
| | | }, |
| | | url: { |
| | | add: '/lswmaterialinbound/lswMaterialInbound/add', |
| | | edit: '/lswmaterialinbound/lswMaterialInbound/edit', |
| | | queryById: '/lswmaterialinbound/lswMaterialInbound/queryById' |
| | | add: '/lsw/materialInbound/add', |
| | | edit: '/lsw/materialInbound/edit', |
| | | queryById: '/lsw/materialInbound/queryById', |
| | | queryByProductionType: '/base/lineSideWarehouse/queryByProductionType', |
| | | queryByMaterialCategory: '/lsw/lswMaterial/queryByMaterialCategory', |
| | | } |
| | | } |
| | | }, |
| | |
| | | this.modelDefault = JSON.parse(JSON.stringify(this.model)) |
| | | }, |
| | | methods: { |
| | | backFactoryInfo(info) { |
| | | this.model.factoryIds = this.model.factoryId |
| | | this.nextFactoryOptions = info.map((item, index, arr) => { |
| | | let c = { label: item.text, value: item.value + '' } |
| | | return c |
| | | }) |
| | | }, |
| | | add() { |
| | | add(inboundCategory) { |
| | | this.warehouseDictOptions = []; |
| | | this.materialDictOptions = []; |
| | | if(inboundCategory === 'HEAT_TREATMENT_INBOUND') { |
| | | this.loadWarehouseDictOptions('OUTERFLANGE,INNERFLANGE'); |
| | | this.loadMaterialDictOptions('BLANK'); |
| | | }else if(inboundCategory === 'SMALL_INNER_RING') { |
| | | this.loadWarehouseDictOptions('ASSEMBLE'); |
| | | this.loadMaterialDictOptions('SMALL_INNER_RING'); |
| | | } else if(inboundCategory === 'MATERIAL_INNER_TRANSFER') { |
| | | this.loadWarehouseDictOptions('ASSEMBLE'); |
| | | this.loadMaterialDictOptions('STEEL_BALL'); |
| | | } |
| | | this.modelDefault.inboundCategory = inboundCategory; |
| | | this.edit(this.modelDefault) |
| | | }, |
| | | edit(record) { |
| | |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | loadWarehouseDictOptions(productionType) { |
| | | let params = {productionType : productionType} |
| | | getAction(this.url.queryByProductionType, params).then(res => { |
| | | if(res.success) { |
| | | this.warehouseDictOptions = res.result.map(warehouse => ({...warehouse, value : warehouse.id, text: warehouse.warehouseName + '(' + warehouse.warehouseCode+')'})); |
| | | } |
| | | }) |
| | | }, |
| | | loadMaterialDictOptions(materialCategory) { |
| | | let params = {materialCategory : materialCategory} |
| | | getAction(this.url.queryByMaterialCategory, params).then(res => { |
| | | if(res.success) { |
| | | this.materialDictOptions = res.result.map(material => ({...material, value : material.materialNumber, text: material.materialNumber})); |
| | | } |
| | | }) |
| | | }, |
| | | warehouseSelectChange(value) { |
| | | let warehouse = this.warehouseDictOptions.find(option => option.value === value) |
| | | if(warehouse) { |
| | | this.model.factoryId = warehouse.factoryId |
| | | }else { |
| | | this.model.factoryId = undefined; |
| | | } |
| | | }, |
| | | materialSelectChange(value) { |
| | | let material = this.materialDictOptions.find(option => option.value === value) |
| | | if(material) { |
| | | this.model.materialName = material.materialName |
| | | }else { |
| | | this.model.materialName = undefined; |
| | | } |
| | | } |
| | | } |
| | | } |