From 729b38ccaa1439af3f23b8457a6ec2271d1e9c1a Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期四, 04 九月 2025 23:19:19 +0800 Subject: [PATCH] art: 热处理入库 --- src/views/lsw/modules/LswMaterialInboundForm.vue | 149 ++++++++++++++++++++++++++++--------------------- 1 files changed, 84 insertions(+), 65 deletions(-) diff --git a/src/views/lsw/modules/LswMaterialInboundForm.vue b/src/views/lsw/modules/LswMaterialInboundForm.vue index eb3dc18..15c5f74 100644 --- a/src/views/lsw/modules/LswMaterialInboundForm.vue +++ b/src/views/lsw/modules/LswMaterialInboundForm.vue @@ -3,40 +3,25 @@ <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"> @@ -49,15 +34,20 @@ <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> @@ -68,21 +58,11 @@ <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: { //琛ㄥ崟绂佺敤 @@ -104,12 +84,17 @@ 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' } @@ -123,17 +108,13 @@ 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', } } }, @@ -147,14 +128,20 @@ 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) { @@ -189,6 +176,38 @@ } }) + }, + 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; + } } } } -- Gitblit v1.9.3