From 6bbceeae0a692ef60f429dbca889752fcb09ec9a Mon Sep 17 00:00:00 2001 From: houshuai <17802598606@163.com> Date: 星期四, 03 七月 2025 19:42:01 +0800 Subject: [PATCH] 线边库和订单 基本页面搭建 --- src/views/lsw/modules/LswMaterialInboundForm.vue | 237 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 144 insertions(+), 93 deletions(-) diff --git a/src/views/lsw/modules/LswMaterialInboundForm.vue b/src/views/lsw/modules/LswMaterialInboundForm.vue index 80c577d..eb3dc18 100644 --- a/src/views/lsw/modules/LswMaterialInboundForm.vue +++ b/src/views/lsw/modules/LswMaterialInboundForm.vue @@ -3,34 +3,45 @@ <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="delFlag"> - <a-input-number v-model="model.delFlag" placeholder="璇疯緭鍏ュ垹闄ゆ爣璁�" style="width: 100%" /> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="浜х嚎ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryId"> - <a-input v-model="model.factoryId" placeholder="璇疯緭鍏ヤ骇绾縄D" ></a-input> - </a-form-model-item> - </a-col> - <a-col :span="12"> - <a-form-model-item label="搴撳瓨鍦癐D" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="warehouseId"> - <a-input v-model="model.warehouseId" placeholder="璇疯緭鍏ュ簱瀛樺湴ID" ></a-input> + <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> </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-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> + <a-input v-model="model.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"></a-input> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="鎵规鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="batchNumber"> - <a-input v-model="model.batchNumber" placeholder="璇疯緭鍏ユ壒娆″彿" ></a-input> + <a-input v-model="model.batchNumber" placeholder="璇疯緭鍏ユ壒娆″彿"></a-input> </a-form-model-item> </a-col> <a-col :span="12"> @@ -40,12 +51,13 @@ </a-col> <a-col :span="12"> <a-form-model-item label="鎺ユ敹浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="receiver"> - <a-input v-model="model.receiver" placeholder="璇疯緭鍏ユ帴鏀朵汉" ></a-input> + <j-select-user-by-dep v-model="model.receiver" placeholder="璇疯緭鍏ユ帴鏀朵汉"></j-select-user-by-dep> </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%" /> + <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> </a-col> </a-row> @@ -56,89 +68,128 @@ <script> - import { httpAction, getAction } from '@/api/manage' - import { validateDuplicateValue } from '@/utils/util' +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' - export default { - name: 'LswMaterialInboundForm', - components: { - }, - props: { - //琛ㄥ崟绂佺敤 - disabled: { - type: Boolean, - default: false, - required: false +export default { + name: 'LswMaterialInboundForm', + components: { + JDate, + JTreeDict, + JSelectFactory + }, + props: { + //琛ㄥ崟绂佺敤 + disabled: { + type: Boolean, + default: false, + required: false + } + }, + data() { + return { + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 } + }, + confirmLoading: false, + validatorRules: { + factoryId: [ + { required: true, message: '浜х嚎鏄繀閫夐」', trigger: 'change' } + ], + warehouseId: [ + { required: true, message: '搴撳瓨鍦版槸蹇呴�夐」', trigger: 'change' } + ], + materialNumber: [ + { required: true, message: '鐗╂枡缂栫爜鏄繀閫夐」', trigger: 'change' } + ], + materialName: [ + { required: true, message: '鐗╂枡鍚嶇О鏄繀閫夐」', trigger: 'change' } + ], + batchNumber: [ + { 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' } + } + }, + computed: { + formDisabled() { + return this.disabled + } + }, + created() { + //澶囦唤model鍘熷鍊� + 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 + }) }, - data () { - return { - model:{ - }, - labelCol: { - xs: { span: 24 }, - sm: { span: 5 }, - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 }, - }, - confirmLoading: false, - validatorRules: { - }, - url: { - add: "/lswmaterialinbound/lswMaterialInbound/add", - edit: "/lswmaterialinbound/lswMaterialInbound/edit", - queryById: "/lswmaterialinbound/lswMaterialInbound/queryById" - } - } + add() { + this.edit(this.modelDefault) }, - computed: { - formDisabled(){ - return this.disabled - }, + edit(record) { + this.model = Object.assign({}, record) + this.visible = true }, - created () { - //澶囦唤model鍘熷鍊� - this.modelDefault = JSON.parse(JSON.stringify(this.model)); - }, - methods: { - add () { - this.edit(this.modelDefault); - }, - edit (record) { - this.model = Object.assign({}, record); - this.visible = true; - }, - submitForm () { - const that = this; - // 瑙﹀彂琛ㄥ崟楠岃瘉 - this.$refs.form.validate(valid => { - if (valid) { - that.confirmLoading = true; - let httpurl = ''; - let method = ''; - if(!this.model.id){ - httpurl+=this.url.add; - method = 'post'; - }else{ - httpurl+=this.url.edit; - method = 'put'; - } - httpAction(httpurl,this.model,method).then((res)=>{ - if(res.success){ - that.$message.success(res.message); - that.$emit('ok'); - }else{ - that.$message.warning(res.message); - } - }).finally(() => { - that.confirmLoading = false; - }) + submitForm() { + const that = this + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true + let httpurl = '' + let method = '' + if (!this.model.id) { + httpurl += this.url.add + method = 'post' + } else { + httpurl += this.url.edit + method = 'put' } + httpAction(httpurl, this.model, method).then((res) => { + if (res.success) { + that.$message.success(res.message) + that.$emit('ok') + } else { + that.$message.warning(res.message) + } + }).finally(() => { + that.confirmLoading = false + }) + } - }) - }, + }) } } +} </script> \ No newline at end of file -- Gitblit v1.9.3