From ffceff32d09ca4aa21c1ff85734c2b92cbc13bdc Mon Sep 17 00:00:00 2001 From: liuying <1427574514@qq.com> Date: 周四, 25 4月 2024 16:44:39 +0800 Subject: [PATCH] 1 --- iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue | 361 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 228 insertions(+), 133 deletions(-) diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue index fb67c03..eede413 100644 --- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue +++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue @@ -1,52 +1,55 @@ <template> - <a-modal - title="鏂板鐗╂枡淇℃伅" - :width="900" - :visible="visible" - :confirmLoading="confirmLoading" - @ok="handleSubmit" - @cancel="handleCancel" - > + <a-modal :title="title" :width="1300" :visible="visible" :confirmLoading="confirmLoading" @ok="handleSubmit" + @cancel="handleCancel"> <a-spin :spinning="confirmLoading"> <!-- tab --> <a-tabs default-active-key="1" @change="callbacktab"> <a-tab-pane key="1" tab="鍩烘湰淇℃伅"> <!-- <add-form ref="addFormRef" @ok="handleOk" /> --> - - <!-- 鍩烘湰淇℃伅 --> + <!-- 鍩烘湰淇℃伅 layout="inline" layout="vertical" --> <a-form :form="form"> <a-form-item label="鐗╂枡鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> - <a-input - placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" - v-decorator="['materialName', { rules: [{ required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒' }] }]" - /> + <a-input placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" + v-decorator="['materialName', { rules: [{ required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒' }] }]" /> </a-form-item> <a-form-item label="鐗╂枡缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> - <a-input - placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" - v-decorator="['materialCode', { rules: [{ required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒' }] }]" - /> + <a-input placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" + v-decorator="['materialCode', { rules: [{ required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒' }] }]" /> </a-form-item> <a-form-item label="ERP缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏RP缂栧彿" v-decorator="['erpCode']" /> </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="['materialTypeName']" /> </a-form-item> <a-form-item label="鐗╂枡绫诲瀷鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏ョ墿鏂欑被鍨嬫弿杩�" v-decorator="['materialTypeDescr']" /> + </a-form-item> --> + + <a-form-item label="鐗╂枡绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-select style="width: 100%" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷" v-decorator="['materialType']"> + <a-select-option v-for="(item, index) in materialTypeData" :key="index" :value="item.id">{{ + item.materialTypeName }}</a-select-option> + </a-select> </a-form-item> - <a-form-item label="鐗╂枡绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> - <a-input-number placeholder="璇疯緭鍏ョ墿鏂欑被鍨�" style="width: 100%" v-decorator="['materialType']" /> - </a-form-item> + <a-form-item label="鐗╂枡缁�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏ョ墿鏂欑粍" v-decorator="['materialGroup']" /> </a-form-item> - <a-form-item label="ABC鍒嗙被鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> + <!-- <a-form-item label="ABC鍒嗙被鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏BC鍒嗙被鍚嶇О" v-decorator="['aBCClassName']" /> - </a-form-item> + </a-form-item> --> <a-form-item label="ABC鍒嗙被" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> - <a-input-number placeholder="璇疯緭鍏BC鍒嗙被" style="width: 100%" v-decorator="['aBCClass']" /> + <!-- <a-input-number placeholder="璇疯緭鍏BC鍒嗙被" style="width: 100%" v-decorator="['aBCClass']" /> --> + + <a-select style="width: 100%" placeholder="璇烽�夋嫨ABC鍒嗙被" v-decorator="['abcClass']"> + <a-select-option v-for="(item, index) in materialTypeData2" :key="index" :value="Number(item.code)">{{ + item.name }}</a-select-option> + </a-select> + + + </a-form-item> <a-form-item label="鐗╂枡瑙勬牸" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏ョ墿鏂欒鏍�" v-decorator="['materialSpec']" /> @@ -55,10 +58,24 @@ <a-input placeholder="璇疯緭鍏ラ粯璁ゅ叆搴撳簱浣�" v-decorator="['inPlaceCode']" /> </a-form-item> <a-form-item label="搴撳瓨鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> - <a-input placeholder="璇疯緭鍏ュ簱瀛樺崟浣�" v-decorator="['materialUnit']" /> + <!-- <a-input placeholder="璇疯緭鍏ュ簱瀛樺崟浣�" v-decorator="['materialUnit']" /> --> + + <a-select style="width: 100%" placeholder="璇烽�夋嫨搴撳瓨鍗曚綅" v-decorator="['materialUnit']"> + <a-select-option v-for="(item, index) in selectTypeData1" :key="index" :value="item.unitName">{{ + item.unitName }}</a-select-option> + </a-select> + + </a-form-item> <a-form-item label="閲囪喘鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> - <a-input placeholder="璇疯緭鍏ラ噰璐崟浣�" v-decorator="['pOUnit']" /> + <!-- <a-input placeholder="璇疯緭鍏ラ噰璐崟浣�" v-decorator="['pOUnit']" /> --> + + <a-select style="width: 100%" placeholder="璇烽�夋嫨閲囪喘鍗曚綅" v-decorator="['pOUnit']"> + <a-select-option v-for="(item, index) in selectTypeData2" :key="index" :value="item.unitName">{{ + item.unitName }}</a-select-option> + </a-select> + + </a-form-item> <a-form-item label="棰滆壊" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏ラ鑹�" v-decorator="['color']" /> @@ -72,12 +89,12 @@ <a-form-item label="鎹㈢畻鐜�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏ユ崲绠楃巼" v-decorator="['translateRate']" /> </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="['batchRuleId']" /> </a-form-item> <a-form-item label="鎺у埗灞炴�ц鍒�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-input placeholder="璇疯緭鍏ユ帶鍒跺睘鎬ц鍒�" v-decorator="['controlRuleId']" /> - </a-form-item> + </a-form-item> --> <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" /> </a-form-item> @@ -87,34 +104,37 @@ </a-form> </a-tab-pane> <a-tab-pane key="2" tab="鎺у埗灞炴��" force-render> - <add-control-rule ref="WmsControlRule" @ok="handleOk" /> + <add-control-rule v-if="visible" ref="WmsControlRuleRef" /> </a-tab-pane> <a-tab-pane key="3" tab="鎵规灞炴��"> 闇�姹傚緟瀹� </a-tab-pane> <a-tab-pane key="4" tab="鏇夸唬鍝佺鐞�"> - <add-form-sub ref="addFormWmsSubstituteGood" @ok="handleOk" /> + <add-form-sub v-if="visible" ref="addFormWmsSubstituteGoodRef" /> </a-tab-pane> <a-tab-pane key="5" tab="瀹㈡埛"> - <add-form-base-customer ref="addFormBaseCustomer" @ok="handleOk" /> + <add-form-base-customer v-if="visible" ref="addFormBaseCustomer" /> </a-tab-pane> - <a-tab-pane key="6" tab="鍖呰鍏崇郴"> + <!-- <a-tab-pane key="6" tab="鍖呰鍏崇郴"> <add-form-container-packaging ref="addFormContainerPackagingRef" @ok="handleOk" /> - </a-tab-pane> + </a-tab-pane> --> </a-tabs> </a-spin> </a-modal> </template> <script> -import { WmsMaterialAdd, GetAreas, GetStations } from '@/api/modular/main/WmsMaterialManage' + +import { + WmsMaterialAdd, WmsMaterialEdit, WmsMaterialDetailList, materialTypeDataList +} from '@/api/modular/main/WmsBase/WmsMaterialManage' import addForm from './tabItem/addForm.vue' import addFormBaseCustomer from './tabItem/addFormBaseCustomer/addFormBaseCustomer.vue' import addFormContainerPackaging from './tabItem/WmsContainerPackaging/addFormContainerPackaging.vue' import addFormSub from './tabItem/WmsSubstituteGood/addFormWmsSubstituteGood.vue' -import addControlRule from './tabItem/WmsControlRule/index.vue' - +import addControlRule from './tabItem/WmsControlRule/addForm.vue' +import { WmsUnitPage } from '@/api/modular/main/WmsBase/WmsUnitManage' export default { components: { addForm, @@ -123,8 +143,14 @@ addFormSub, addControlRule }, + created() { + this.materialTypeDataList() + const materialTypeOption = this.$options + this.materialTypeData2 = materialTypeOption.filters['dictData']('abc_class_type') + }, data() { return { + title: '', labelCol: { // xs: { span: 24 }, // sm: { span: 5 } @@ -141,72 +167,97 @@ stationNameParameterData: [], visible: false, confirmLoading: false, - form: this.$form.createForm(this) + form: this.$form.createForm(this), + materialTypeData2: [], + selectTypeData2: [], + selectTypeData1: [] } }, methods: { + // 鐗╂枡绫诲瀷 + materialTypeDataList() { + materialTypeDataList().then((d) => { + this.materialTypeData = d.data || [] + }).catch(() => { + + }) + // 搴撳瓨鍗曚綅 + WmsUnitPage().then((d) => { + this.selectTypeData1 = d.data.rows || [] + }).catch(() => { + + }) + + // 閲囪喘鍗曚綅 + WmsUnitPage().then((d) => { + this.selectTypeData2 = d.data.rows || [] + }).catch(() => { + + }) + + }, callbacktab(e) { - if (e == 6) { + + //鍖呰鍏崇郴 + // if (e == 6) { + // this.$nextTick(() => { + // let materialType = this.form.getFieldValue('materialType'); + // // 璋冩帴鍙� 浼犵墿鏂欑被鍨� + // this.$refs.addFormContainerPackagingRef.initShow(materialType) + // }) + // } + // 鏇夸唬鍝� + if (e == 4) { this.$nextTick(() => { - // 璋冩帴鍙� 浼犵墿鏂欑被鍨� - console.log(99999999999999) - console.log(this.data) - const { - form: { validateFields } - } = this - this.confirmLoading = true - validateFields((errors, values) => { - if (!errors) { - for (const key in values) { - if (typeof values[key] === 'object') { - values[key] = JSON.stringify(values[key]) - } - } - console.log(22222222222222222) - console.log(values) - this.confirmLoading = false - - // var res1 = this.$refs.addFormRef.handleSubmit2() - // console.log("5555555") - // console.log( res1 ) - - // console.log(this.$refs.addFormRef.data) - // console.log(this.$refs.addFormRef.form.materialType) - - this.$refs.addFormContainerPackagingRef.initShow(values.materialType) - - // WmsMaterialAdd(values).then((res) => { - // if (res.success) { - // this.$message.success('鏂板鎴愬姛') - // this.confirmLoading = false - // this.$emit('ok', values) - // this.handleCancel() - // } else { - // this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message)) - // } - // }).finally((res) => { - // this.confirmLoading = false - // }) - - // return values - } else { - this.confirmLoading = false - } - }) + // let materialCode = this.form.getFieldValue('materialCode'); + // let materialName = this.form.getFieldValue('materialName'); + this.$refs.addFormWmsSubstituteGoodRef.initShowSubstituteGood() }) } }, - handleOk() {}, + handleOk() { }, // 鍒濆鍖栨柟娉� - add(record) { + add(record, type) { this.visible = true - this.$nextTick(() => { - this.getSelects() - }) - const materialTypeOption = this.$options - this.materialTypeData = materialTypeOption.filters['dictData']('material_type') - const inspectionMethodOption = this.$options - this.inspectionMethodData = inspectionMethodOption.filters['dictData']('material_inspection') + if (record) {//缂栬緫 + if (type == '璇︽儏') { + this.title = '璇︽儏鐗╂枡淇℃伅璇︽儏';// 璇︽儏 + } else { + this.title = '缂栬緫鍩虹鐗╂枡淇℃伅'; + } + this.$nextTick(() => { + this.form.setFieldsValue({ + ...record + }) + }) + WmsMaterialDetailList({ + id: record.id + }) + .then(res => { + if (res.success) { + + console.log(res) + this.$nextTick(() => { + if (res.data.controlRuleDetailList && res.data.controlRuleDetailList.length > 0) { + this.$refs.WmsControlRuleRef.form.setFieldsValue({ + ...res.data.controlRuleDetailList[0] + }) + } + this.$refs.addFormWmsSubstituteGoodRef.list = res.data.substituteGoodList || [] + this.$refs.addFormBaseCustomer.list = res.data.baseCustomerList || [] + }) + + } else { + this.$message.error('璇︽儏澶辫触锛�' + JSON.stringify(res.message)) + } + }) + .finally(res => { + this.confirmLoading = false + }) + + } else { + this.title = '鏂板鍩虹鐗╂枡淇℃伅';// 鏂板 + } }, getSelects() { if (this.areaNameParameterData.length <= 0 || this.stationNameParameterData.length <= 0) { @@ -229,58 +280,91 @@ const { form: { validateFields } } = this - this.confirmLoading = true + validateFields((errors, values) => { if (!errors) { - if (this.$getObjectType(values.areas) === 'array') { - values.areaIds = values.areas.join(',') - values.areaNameParameterArr = values.areas.map(val => { - return this.parseSelectName(val, 'areaId', 'areaName', 'areaNameParameterData') - }) - values.areaNameParameter = values.areaNameParameterArr.join(',') - } - if (this.$getObjectType(values.stations) === 'array') { - values.stationIds = values.stations.join(',') - values.stationNameParameterArr = values.stations.map(val => { - return this.parseSelectName(val, 'stationId', 'stationName', 'stationNameParameterData') - }) - values.stationNameParameter = values.stationNameParameterArr.join(',') - } - + // if (this.$getObjectType(values.areas) === 'array') { + // values.areaIds = values.areas.join(',') + // values.areaNameParameterArr = values.areas.map(val => { + // return this.parseSelectName(val, 'areaId', 'areaName', 'areaNameParameterData') + // }) + // values.areaNameParameter = values.areaNameParameterArr.join(',') + // } + // if (this.$getObjectType(values.stations) === 'array') { + // values.stationIds = values.stations.join(',') + // values.stationNameParameterArr = values.stations.map(val => { + // return this.parseSelectName(val, 'stationId', 'stationName', 'stationNameParameterData') + // }) + // values.stationNameParameter = values.stationNameParameterArr.join(',') + // } + console.log(6666666666666 + '鎺у埗灞炴��') - console.log(this.$refs.WmsControlRule.selectedRows) - var ControlRuleld = this.$refs.WmsControlRule.selectedRows[0].id + var ControlRuleld = this.$refs.WmsControlRuleRef.form.getFieldValue('id') || '' + let SubstituteGoodList = [] + if (this.$refs.addFormWmsSubstituteGoodRef && this.$refs.addFormWmsSubstituteGoodRef.list.length > 0) { + SubstituteGoodList = this.$refs.addFormWmsSubstituteGoodRef.list + SubstituteGoodList.forEach(item => { + item.materialName = this.form.getFieldValue('materialName') + item.materialCode = this.form.getFieldValue('materialCode') + }) + } console.log(6666666666666 + '鏇夸唬鍝�') - console.log(this.$refs.addFormWmsSubstituteGood.list) - - console.log(6666666666666 + '瀹㈡埛妗f闆嗗悎') - console.log(this.$refs.addFormBaseCustomer.list) - console.log(6666666666666 + '鍖呰鍏崇郴') - console.log(this.$refs.addFormContainerPackagingRef.list) + let BaseCustomerList = []; + if (this.$refs.addFormBaseCustomer && this.$refs.addFormBaseCustomer.list.length > 0) { + BaseCustomerList = this.$refs.addFormBaseCustomer.list + + } + console.log(6666666666666 + '寰�鏉ュ叧绯婚泦鍚�') + + // console.log(6666666666666 + '鍖呰鍏崇郴') + // console.log(this.$refs.addFormContainerPackagingRef.list) + var a1 = [] + BaseCustomerList.forEach((item)=>{ + a1.push(item.id) + }) var param = { MaterialInput: values, ControlRuleld: ControlRuleld, //鎺у埗灞炴�� - SubstituteGoodLis: this.$refs.addFormWmsSubstituteGood.list, //鏇夸唬鍝� - BaseCustomerList: this.$refs.addFormBaseCustomer.list, //瀹㈡埛妗f闆嗗悎 - ContainerPackagingList: this.$refs.addFormContainerPackagingRef.list //鍖呰鍏崇郴 + SubstituteGoodList: SubstituteGoodList, //鏇夸唬鍝� + BaseCustomerList: a1, //寰�鏉ュ叧绯婚泦鍚� + // ContainerPackagingList: this.$refs.addFormContainerPackagingRef.list //鍖呰鍏崇郴 } - WmsMaterialAdd(param) - .then(res => { - if (res.success) { - this.$message.success('鏂板鎴愬姛') + this.confirmLoading = true + if (this.title == '鏂板鍩虹鐗╂枡淇℃伅') { + WmsMaterialAdd(param) + .then(res => { + if (res.success) { + this.$message.success('鏂板鎴愬姛') + this.confirmLoading = false + this.$emit('ok', values) + this.handleCancel() + } else { + this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message)) + } + }) + .finally(res => { this.confirmLoading = false - this.$emit('ok', values) - this.handleCancel() - } else { - this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message)) - } - }) - .finally(res => { - this.confirmLoading = false - }) + }) + } else { + WmsMaterialEdit(param) + .then(res => { + if (res.success) { + this.$message.success('缂栬緫鎴愬姛') + this.confirmLoading = false + this.$emit('ok', values) + this.handleCancel() + } else { + this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message)) + } + }) + .finally(res => { + this.confirmLoading = false + }) + } + } else { this.confirmLoading = false } @@ -299,7 +383,18 @@ handleCancel() { this.form.resetFields() this.visible = false + // this.$refs.WmsControlRule.form.resetFields() + // this.$refs.addFormWmsSubstituteGoodRef.list =[] + // this.$refs.addFormWmsSubstituteGoodRef.list =[] + } } } </script> + +<style lang="less" scoped> +.ant-row.ant-form-item { + width: 50% !important; + display: inline-block; +} +</style> -- Gitblit v1.9.3