Commit 355b5860 authored by wangdanlei's avatar wangdanlei

Merge branch 'dev' of http://94.191.100.41/tfmom/tf-mom-web into dev

parents 6d513986 34a24f53
...@@ -212,19 +212,20 @@ export default { ...@@ -212,19 +212,20 @@ export default {
operateType: null operateType: null
} }
}, },
computed: {}, computed: {
},
watch: { watch: {
// 'form.resCode': { // 'form.resCode': {
// handler: function(v) { // handler: function(v) {
// this.resetMaterial(v) // this.resetMaterial(v)
// } // }
// } // }
'basicData': { // 'basicData': {
handler: function(v) { // handler: function(v) {
console.log('vvv', v) // console.log('vvv', v)
}, // },
deep: true // deep: true
} // },
}, },
created() { created() {
// 初始化数据 // 初始化数据
...@@ -235,20 +236,36 @@ export default { ...@@ -235,20 +236,36 @@ export default {
}, },
methods: { methods: {
handleOpen(type, basicData, row) { handleOpen(type, basicData, row) {
console.log('basicData', this.parentId)
this.basicData = basicData this.basicData = basicData
this.form = { 'reqAmount': 1 } this.form = { 'reqAmount': 1 }
this.dialogVisible = true this.dialogVisible = true
this.operateType = type this.operateType = type
this.getBasicData() this.getBasicData()
this.resetForm()
if (type === 'NEW') { if (type === 'NEW') {
this.$set(this.form, 'operator', 'ADD') this.$set(this.form, 'operator', 'ADD')
} else if (type === 'ADD') { } else if (type === 'ADD') {
this.parentId = row.rowId this.parentId = row.id ? row.id : ''
this.parentRowId = row.rowId ? row.rowId : row.id
this.$set(this.form, 'operator', 'ADD') this.$set(this.form, 'operator', 'ADD')
delete row.id
this.form = row
this.$set(this.form, 'supplier', row.extDxSipplier.supplierFullName || '')
this.$set(this.form, 'withProductMaterial', Array.isArray(row.withProductMaterial) ? row.withProductMaterial : row.withProductMaterial.split(';'))
this.resetMaterial(row.extMaterial.resCode)
this.changeMaterial(row.extMaterial.resCode)
this.$set(this.form, 'resCode', '')
this.$set(this.form, 'resName', '')
this.$set(this.form, 'reqUnit', '')
this.$set(this.form, 'modelNo', '')
} else if (type === 'MODIFY') { } else if (type === 'MODIFY') {
console.log('row', row) this.dispalyData(row)
console.log('this.basicData', this.basicData.operator) }
this.resetForm()
console.log('this.o', this.form)
},
// 回显数据
dispalyData(row) {
this.form = row this.form = row
this.$set(this.form, 'operator', row.id && this.basicData.operator !== 'ADD' ? 'MODIFY' : 'ADD') this.$set(this.form, 'operator', row.id && this.basicData.operator !== 'ADD' ? 'MODIFY' : 'ADD')
row.billType === 'AirEquipment' && this.$set(this.form, 'reqAmount', 1) row.billType === 'AirEquipment' && this.$set(this.form, 'reqAmount', 1)
...@@ -261,7 +278,6 @@ export default { ...@@ -261,7 +278,6 @@ export default {
this.$set(this.form, 'withProductMaterial', Array.isArray(row.withProductMaterial) ? row.withProductMaterial : row.withProductMaterial.split(';')) this.$set(this.form, 'withProductMaterial', Array.isArray(row.withProductMaterial) ? row.withProductMaterial : row.withProductMaterial.split(';'))
this.resetMaterial(row.extMaterial.resCode) this.resetMaterial(row.extMaterial.resCode)
this.changeMaterial(row.extMaterial.resCode) this.changeMaterial(row.extMaterial.resCode)
}
}, },
handleClose() { handleClose() {
this.dialogVisible = false this.dialogVisible = false
...@@ -295,6 +311,7 @@ export default { ...@@ -295,6 +311,7 @@ export default {
if (!this.header) return if (!this.header) return
this.$set(this.form, 'supplier', this.header.supplierFullName.label || '') this.$set(this.form, 'supplier', this.header.supplierFullName.label || '')
this.$set(this.form, 'arrivalDate', this.header.arrivalDate) this.$set(this.form, 'arrivalDate', this.header.arrivalDate)
const childrenAddOrEdit = this.operateType === 'ADD' || (this.operateType === 'MODIFY' && !this.form.isRoot)
switch (this.header.billType) { switch (this.header.billType) {
case '器材': case '器材':
case 'Material': case 'Material':
...@@ -711,6 +728,7 @@ export default { ...@@ -711,6 +728,7 @@ export default {
component: { component: {
clearable: true, clearable: true,
name: 'el-input', name: 'el-input',
disabled: childrenAddOrEdit,
placeholder: '请输入系列号' placeholder: '请输入系列号'
} }
}, },
...@@ -719,6 +737,7 @@ export default { ...@@ -719,6 +737,7 @@ export default {
key: 'airModel', key: 'airModel',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-select', name: 'el-select',
placeholder: '请输入机型', placeholder: '请输入机型',
options: [] options: []
...@@ -732,6 +751,7 @@ export default { ...@@ -732,6 +751,7 @@ export default {
key: 'sorties', key: 'sorties',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-select', name: 'el-select',
placeholder: '请输入架次', placeholder: '请输入架次',
options: [] options: []
...@@ -744,11 +764,14 @@ export default { ...@@ -744,11 +764,14 @@ export default {
clearable: true, clearable: true,
name: 'el-input-number', name: 'el-input-number',
min: 1, min: 1,
disabled: true, disabled: false,
placeholder: '请输入入库数量' placeholder: '请输入入库数量'
}, },
handler: { handler: {
change: () => this.changeComputed() change: (v) => {
console.log('123', v)
this.changeComputed()
}
} }
}, },
{ {
...@@ -781,6 +804,7 @@ export default { ...@@ -781,6 +804,7 @@ export default {
key: 'manufacturer', key: 'manufacturer',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入制造商' placeholder: '请输入制造商'
} }
...@@ -802,6 +826,7 @@ export default { ...@@ -802,6 +826,7 @@ export default {
key: 'producedTime', key: 'producedTime',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-date-picker', name: 'el-date-picker',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd',
valueFormat: 'yyyy-MM-dd hh:mm:ss', valueFormat: 'yyyy-MM-dd hh:mm:ss',
...@@ -813,6 +838,7 @@ export default { ...@@ -813,6 +838,7 @@ export default {
key: 'productDwawVer', key: 'productDwawVer',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入产品图号/版本' placeholder: '请输入产品图号/版本'
} }
...@@ -822,6 +848,7 @@ export default { ...@@ -822,6 +848,7 @@ export default {
key: 'atpName', key: 'atpName',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入ATP名称' placeholder: '请输入ATP名称'
} }
...@@ -831,6 +858,7 @@ export default { ...@@ -831,6 +858,7 @@ export default {
key: 'atpNo', key: 'atpNo',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入ATP编号及版次' placeholder: '请输入ATP编号及版次'
} }
...@@ -840,6 +868,7 @@ export default { ...@@ -840,6 +868,7 @@ export default {
key: 'softConfPieceNo', key: 'softConfPieceNo',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入软件构型件号/版次', placeholder: '请输入软件构型件号/版次',
type: 'textarea', type: 'textarea',
...@@ -851,6 +880,7 @@ export default { ...@@ -851,6 +880,7 @@ export default {
key: 'elecHardwareConfPieceNo', key: 'elecHardwareConfPieceNo',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入电子硬件构型件号/版本', placeholder: '请输入电子硬件构型件号/版本',
type: 'textarea', type: 'textarea',
...@@ -862,6 +892,7 @@ export default { ...@@ -862,6 +892,7 @@ export default {
key: 'approvalCert', key: 'approvalCert',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入适航批准标签/批准放行证书' placeholder: '请输入适航批准标签/批准放行证书'
} }
...@@ -871,6 +902,7 @@ export default { ...@@ -871,6 +902,7 @@ export default {
key: 'withProductMaterial', key: 'withProductMaterial',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-select', name: 'el-select',
multiple: true, multiple: true,
placeholder: '请选择随产品资料', placeholder: '请选择随产品资料',
...@@ -882,6 +914,7 @@ export default { ...@@ -882,6 +914,7 @@ export default {
key: 'urgency', key: 'urgency',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-select', name: 'el-select',
placeholder: '请选择紧急程度', placeholder: '请选择紧急程度',
options: [ options: [
...@@ -895,6 +928,7 @@ export default { ...@@ -895,6 +928,7 @@ export default {
key: 'isNewlyProduct', key: 'isNewlyProduct',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-select', name: 'el-select',
placeholder: '请选择是否新研产品', placeholder: '请选择是否新研产品',
options: [ options: [
...@@ -918,6 +952,7 @@ export default { ...@@ -918,6 +952,7 @@ export default {
key: 'taxRate', key: 'taxRate',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input-number', name: 'el-input-number',
min: 0, min: 0,
placeholder: '请输入税率' placeholder: '请输入税率'
...@@ -941,6 +976,7 @@ export default { ...@@ -941,6 +976,7 @@ export default {
key: 'taxUnitPrice', key: 'taxUnitPrice',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input-number', name: 'el-input-number',
placeholder: '请输入含税单价' placeholder: '请输入含税单价'
}, },
...@@ -964,6 +1000,7 @@ export default { ...@@ -964,6 +1000,7 @@ export default {
key: 'storageZone', key: 'storageZone',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-select', name: 'el-select',
placeholder: '请输入接收仓库', placeholder: '请输入接收仓库',
options: [] options: []
...@@ -983,6 +1020,7 @@ export default { ...@@ -983,6 +1020,7 @@ export default {
key: 'contractNo', key: 'contractNo',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入合同号/框架协议号' placeholder: '请输入合同号/框架协议号'
} }
...@@ -993,6 +1031,7 @@ export default { ...@@ -993,6 +1031,7 @@ export default {
key: 'remark', key: 'remark',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入备注' placeholder: '请输入备注'
} }
...@@ -1069,6 +1108,7 @@ export default { ...@@ -1069,6 +1108,7 @@ export default {
key: 'serialNo', key: 'serialNo',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入生产序列号' placeholder: '请输入生产序列号'
} }
...@@ -1078,6 +1118,7 @@ export default { ...@@ -1078,6 +1118,7 @@ export default {
key: 'airModel', key: 'airModel',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-select', name: 'el-select',
placeholder: '请输入机型', placeholder: '请输入机型',
options: [] options: []
...@@ -1091,6 +1132,7 @@ export default { ...@@ -1091,6 +1132,7 @@ export default {
key: 'sorties', key: 'sorties',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-select', name: 'el-select',
placeholder: '请输入架次', placeholder: '请输入架次',
options: [] options: []
...@@ -1101,6 +1143,7 @@ export default { ...@@ -1101,6 +1143,7 @@ export default {
key: 'reqAmount', key: 'reqAmount',
component: { component: {
name: 'el-input-number', name: 'el-input-number',
disabled: childrenAddOrEdit,
min: 0, min: 0,
placeholder: '请输入入库数量' placeholder: '请输入入库数量'
}, },
...@@ -1138,6 +1181,7 @@ export default { ...@@ -1138,6 +1181,7 @@ export default {
key: 'manufacturer', key: 'manufacturer',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入制造商' placeholder: '请输入制造商'
} }
...@@ -1159,6 +1203,7 @@ export default { ...@@ -1159,6 +1203,7 @@ export default {
key: 'producedTime', key: 'producedTime',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-date-picker', name: 'el-date-picker',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd',
valueFormat: 'yyyy-MM-dd hh:mm:ss', valueFormat: 'yyyy-MM-dd hh:mm:ss',
...@@ -1170,6 +1215,7 @@ export default { ...@@ -1170,6 +1215,7 @@ export default {
key: 'arrivedDrawNo', key: 'arrivedDrawNo',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入到货图号' placeholder: '请输入到货图号'
} }
...@@ -1179,6 +1225,7 @@ export default { ...@@ -1179,6 +1225,7 @@ export default {
key: 'arrivalVer', key: 'arrivalVer',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入到货版次' placeholder: '请输入到货版次'
} }
...@@ -1188,6 +1235,7 @@ export default { ...@@ -1188,6 +1235,7 @@ export default {
key: 'deliverySpec', key: 'deliverySpec',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入交付规范及版次' placeholder: '请输入交付规范及版次'
} }
...@@ -1197,6 +1245,7 @@ export default { ...@@ -1197,6 +1245,7 @@ export default {
key: 'approvalCert', key: 'approvalCert',
component: { component: {
name: 'el-input', name: 'el-input',
disabled: childrenAddOrEdit,
placeholder: '请输入适航批准标签/批准放行证书' placeholder: '请输入适航批准标签/批准放行证书'
} }
}, },
...@@ -1205,6 +1254,7 @@ export default { ...@@ -1205,6 +1254,7 @@ export default {
key: 'withProductMaterial', key: 'withProductMaterial',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-select', name: 'el-select',
multiple: true, multiple: true,
placeholder: '请选择随产品资料', placeholder: '请选择随产品资料',
...@@ -1216,6 +1266,7 @@ export default { ...@@ -1216,6 +1266,7 @@ export default {
key: 'urgency', key: 'urgency',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-select', name: 'el-select',
placeholder: '请选择紧急程度', placeholder: '请选择紧急程度',
options: [ options: [
...@@ -1239,6 +1290,7 @@ export default { ...@@ -1239,6 +1290,7 @@ export default {
key: 'taxRate', key: 'taxRate',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input-number', name: 'el-input-number',
min: 0, min: 0,
placeholder: '请输入税率' placeholder: '请输入税率'
...@@ -1262,6 +1314,7 @@ export default { ...@@ -1262,6 +1314,7 @@ export default {
key: 'taxUnitPrice', key: 'taxUnitPrice',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input-number', name: 'el-input-number',
placeholder: '请输入含税单价' placeholder: '请输入含税单价'
}, },
...@@ -1285,6 +1338,7 @@ export default { ...@@ -1285,6 +1338,7 @@ export default {
key: 'storageZone', key: 'storageZone',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-select', name: 'el-select',
placeholder: '请输入接收仓库', placeholder: '请输入接收仓库',
options: [] options: []
...@@ -1304,6 +1358,7 @@ export default { ...@@ -1304,6 +1358,7 @@ export default {
key: 'contractNo', key: 'contractNo',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入合同号' placeholder: '请输入合同号'
} }
...@@ -1314,6 +1369,7 @@ export default { ...@@ -1314,6 +1369,7 @@ export default {
key: 'remark', key: 'remark',
component: { component: {
clearable: true, clearable: true,
disabled: childrenAddOrEdit,
name: 'el-input', name: 'el-input',
placeholder: '请输入备注' placeholder: '请输入备注'
} }
...@@ -1323,6 +1379,19 @@ export default { ...@@ -1323,6 +1379,19 @@ export default {
default: default:
break break
} }
if (childrenAddOrEdit) {
this.formFileds[0].data.push(
{
title: '批次号',
key: 'lotNo',
component: {
clearable: true,
name: 'el-input',
placeholder: '请输入批次号'
}
},
)
}
// 设置物料类型下拉 // 设置物料类型下拉
this.resetMaterial() this.resetMaterial()
// 设置带出接收仓库 // 设置带出接收仓库
...@@ -1442,6 +1511,17 @@ export default { ...@@ -1442,6 +1511,17 @@ export default {
this.material = res.items.content this.material = res.items.content
this.formFileds[0].data[0].component.options = res.items.content.map( this.formFileds[0].data[0].component.options = res.items.content.map(
(item) => { (item) => {
// 新增或编辑子产品时和父产品物料类型不能一致
if (((this.operateType === 'MODIFY' && !this.form.isRoot) || this.operateType === 'ADD') && item.resCode === this.form.extMaterial.resCode) {
return {
label: `${item.resName ? item.resName + '/' : ''}${item.modelNo ? item.modelNo + '/' : ''
}${item.techSpec ? item.techSpec + '/' : ''}${item.spec ? item.spec + '/' : ''
}${item.supplyStatus ? item.supplyStatus + '/' : ''}${item.supplierName ? item.supplierName + '/' : ''
}`,
value: item.resCode,
disabled: true
}
} else {
return { return {
label: `${item.resName ? item.resName + '/' : ''}${item.modelNo ? item.modelNo + '/' : '' label: `${item.resName ? item.resName + '/' : ''}${item.modelNo ? item.modelNo + '/' : ''
}${item.techSpec ? item.techSpec + '/' : ''}${item.spec ? item.spec + '/' : '' }${item.techSpec ? item.techSpec + '/' : ''}${item.spec ? item.spec + '/' : ''
...@@ -1450,6 +1530,7 @@ export default { ...@@ -1450,6 +1530,7 @@ export default {
value: item.resCode value: item.resCode
} }
} }
}
) )
}) })
.catch((err) => { .catch((err) => {
...@@ -1713,19 +1794,19 @@ export default { ...@@ -1713,19 +1794,19 @@ export default {
}, },
save() { save() {
this.$refs.form.validate((isok) => { this.$refs.form.validate((isok) => {
console.log('validate', this.form)
if (isok) { if (isok) {
console.log('this.form.operator', this.form.operator)
// 校验通过 // 校验通过
const newTableData = { const newTableData = {
...this.form, ...this.form,
'operator': this.form.operator, 'operator': this.form.operator,
'subTypeName': 'InStoragePurchaseItem', 'subTypeName': 'InStoragePurchaseItem',
'rowId': this.form.rowId ? this.form.rowId : this.generateUUID(), 'rowId': this.operateType !== 'MODIFY' ? this.generateUUID() : this.form.id,
'parentId': this.form.parentId ? this.form.parentId : this.parentId, 'parentId': this.form.parentId ? this.form.parentId : this.parentId,
'hasParent': this.form.hasParent ? this.form.hasParent : !!this.parentId, 'parentRowId': this.parentRowId,
'extMaterialId': this.extMaterialId ? this.extMaterialId : this.form.extMaterialId, 'extMaterialId': this.extMaterialId ? this.extMaterialId : this.form.extMaterialId,
'extMaterialIdType': 'ExtDxProcessMaterial', 'extMaterialIdType': 'ExtDxProcessMaterial',
'materialTypeName': this.basicData.materialType.typeName || (this.basicData.materialTypeName || {}).label, 'materialTypeName': this.basicData.materialTypeName.label,
'purchaseUnitId': this.extUnitId, 'purchaseUnitId': this.extUnitId,
'purchaseUnitIdType': 'ExtUnit', 'purchaseUnitIdType': 'ExtUnit',
'lotNo': this.form.lotNo, 'lotNo': this.form.lotNo,
...@@ -1753,7 +1834,7 @@ export default { ...@@ -1753,7 +1834,7 @@ export default {
'inventoryReqId': this.basicData.id, 'inventoryReqId': this.basicData.id,
'inventoryReqIdType': 'InventoryRequest', 'inventoryReqIdType': 'InventoryRequest',
'contractNo': this.form.contractNo, 'contractNo': this.form.contractNo,
'isRoot': true, 'isRoot': this.operateType !== 'ADD' || (this.operateType === 'MODIFY' && !this.form.isRoot),
'subEquipment': this.form.subEquipment, 'subEquipment': this.form.subEquipment,
'productDwawVer': this.form.productDwawVer, 'productDwawVer': this.form.productDwawVer,
'atpName': this.form.atpName, 'atpName': this.form.atpName,
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
*/ */
<template> <template>
<div class="className"> <div class="className">
<dee-tools :tools="topTools" mode="normal" style="justify-content: end;" /> <!-- <dee-tools :tools="topTools" mode="normal" style="justify-content: end;" /> -->
<dee-form <dee-form
ref="form" ref="form"
label-width="120" label-width="120"
...@@ -17,7 +17,14 @@ ...@@ -17,7 +17,14 @@
@on-cancel="cancel" @on-cancel="cancel"
/> />
<div class="sub-title"> 采购入库申请明细 </div> <div class="sub-title"> 采购入库申请明细 </div>
<dee-table :data="tableData" :columns="columns" :options="optionsTree" :index-row="{ title: '序号', width: '70' }"> <dee-table
ref="treeTable"
:key="symbolKey"
:data="tableData"
:columns="columns"
:options="optionsTree"
:index-row="{ title: '序号', width: '70' , align: 'center'}"
>
<div slot="header" class="table-title-wrap"> <div slot="header" class="table-title-wrap">
<dee-tools :tools="tools" mode="normal" /> <dee-tools :tools="tools" mode="normal" />
</div> </div>
...@@ -235,9 +242,8 @@ export default { ...@@ -235,9 +242,8 @@ export default {
} }
], ],
optionsTree: { optionsTree: {
'row-key': 'rowId', // value值需为可以标识该对象唯一的值 rowKey: 'rowId',
lazy: false, 'tree-props': { children: 'children' }
'tree-props': { children: 'children', hasChildren: 'hasParent' }
}, },
columns: [ columns: [
{ {
...@@ -254,7 +260,7 @@ export default { ...@@ -254,7 +260,7 @@ export default {
icon: '/icons/components/new/add.png', icon: '/icons/components/new/add.png',
showFun: (row) => { showFun: (row) => {
const value = row.extMaterial ? row.extMaterial.resType2.typeName : '' const value = row.extMaterial ? row.extMaterial.resType2.typeName : ''
if (!row.isRoot || row.parentId || value !== '外购成品') { if (!row.isRoot || value !== '外购成品') {
return false return false
} }
return true return true
...@@ -325,7 +331,7 @@ export default { ...@@ -325,7 +331,7 @@ export default {
}, },
{ {
title: '编码', key: 'typeCode', headerAlign: 'center', formatter: (row, column, cellValue, index) => { title: '编码', key: 'typeCode', headerAlign: 'center', formatter: (row, column, cellValue, index) => {
const value = row.extMaterial ? row.extMaterial.resCode : row.resCode const value = row.resCode ? row.resCode : row.extMaterial ? row.extMaterial.resCode : ''
return value return value
} }
}, },
...@@ -333,8 +339,7 @@ export default { ...@@ -333,8 +339,7 @@ export default {
{ title: '架次', key: 'sorties', headerAlign: 'center' }, { title: '架次', key: 'sorties', headerAlign: 'center' },
{ {
title: '计量单位', key: 'unitName', headerAlign: 'center', formatter: (row, column, cellValue, index) => { title: '计量单位', key: 'unitName', headerAlign: 'center', formatter: (row, column, cellValue, index) => {
console.log('2123123123', { ...row }) const value = row.reqUnit ? row.reqUnit : row.extMaterial ? row.extMaterial.extUnit.unitName : ''
const value = row.extMaterial ? row.extMaterial.extUnit.unitName : row.reqUnit
return value return value
} }
}, },
...@@ -373,7 +378,10 @@ export default { ...@@ -373,7 +378,10 @@ export default {
{ title: '创建时间', key: 'createTime', headerAlign: 'center' } { title: '创建时间', key: 'createTime', headerAlign: 'center' }
], ],
tableData: [], tableData: [],
operator: null tableParam: [],
operator: null,
addData: {},
symbolKey: ''
} }
}, },
computed: { computed: {
...@@ -414,7 +422,8 @@ export default { ...@@ -414,7 +422,8 @@ export default {
}, },
methods: { methods: {
back() { back() {
this.$router.push({ this.$store.dispatch('tagsView/delView', this.$route)
this.$router.replace({
path: '/page/86a5fa19-e245-4732-aff6-c48b18e2b5c7', path: '/page/86a5fa19-e245-4732-aff6-c48b18e2b5c7',
query: { title: '采购入库', menuRootAppId: '1626781924331' } query: { title: '采购入库', menuRootAppId: '1626781924331' }
}) })
...@@ -545,6 +554,7 @@ export default { ...@@ -545,6 +554,7 @@ export default {
// 编辑采购入库明细查询InStorageRequestItem/search // 编辑采购入库明细查询InStorageRequestItem/search
searchInStorageRequestItem() { searchInStorageRequestItem() {
const param = { const param = {
'rootCondition': {
'pageFrom': 1, 'pageFrom': 1,
'pageSize': 10, 'pageSize': 10,
'searchItems': { 'searchItems': {
...@@ -560,12 +570,23 @@ export default { ...@@ -560,12 +570,23 @@ export default {
'fieldName': 'isRoot', 'fieldName': 'isRoot',
'operator': 'EQ', 'operator': 'EQ',
'value': 'true' 'value': 'true'
},
{
'fieldName': 'parentId',
'operator': 'ISNULL'
},
{
'fieldName': 'state',
'operator': 'EQ',
'value': 'Apply'
} }
], ],
'operator': 'AND' 'operator': 'AND'
} }
], ],
'items': [] 'items': [
]
}, },
'openProps': [{ 'name': 'extMaterial', 'openProps': [{ 'name': 'resType2' }, { 'name': 'extUnit' }] }, { 'name': 'extDxSipplier' }, { 'name': 'storageZone' }], 'openProps': [{ 'name': 'extMaterial', 'openProps': [{ 'name': 'resType2' }, { 'name': 'extUnit' }] }, { 'name': 'extDxSipplier' }, { 'name': 'storageZone' }],
'sortItem': [ 'sortItem': [
...@@ -575,15 +596,25 @@ export default { ...@@ -575,15 +596,25 @@ export default {
} }
] ]
} }
}
post('InStorageRequestItem/search', param).then(res => { post('InStorageRequestItem/treeSearch', param).then(res => {
console.log('res.items.content', res.items.content) const data = res.items.map(item => {
const data = res.items.content.map(item => {
return { return {
...item, ...item,
operator: 'NO_CHANGE',
rowId: item.id,
// hasChildren: item.children.length > 0,
children: item.children && item.children.map(child => {
return {
...child,
operator: 'NO_CHANGE' operator: 'NO_CHANGE'
// hasChildren: false
}
})
} }
}) })
console.log('res.items', { ...data[0] })
if (data.length > 0) { if (data.length > 0) {
this.formData[0].data.forEach(item => { this.formData[0].data.forEach(item => {
item.component.disabled = true item.component.disabled = true
...@@ -596,64 +627,52 @@ export default { ...@@ -596,64 +627,52 @@ export default {
}, },
// 组装表格数据 // 组装表格数据
addTableData(formData) { addTableData(formData) {
const tableData = Array.from(this.tableData)
this.tableData = []
console.log('ffff', { ...formData })
this.addData = formData
console.log('formData', formData) console.log('formData', formData)
const tableDataItem = { const tableDataItem = {
...formData, ...formData,
subEquipment: formData.materialTypeName,
// extMaterial: {
// resType2: {
// typeCode: formData.materialTypeName,
// typeName: formData.materialTypeName
// }
// },
// purchaseUnit: { unitName: formData.reqUnit },
// extDxSipplier: {
// supplierFullName: formData.supplier
// },
// inventory: {
// applyUserName: formData.supplier
// },
// storageZone: {
// extname: formData.storageZone
// },
children: [] children: []
} }
// 根据父子关系添加数据 // 根据父子关系添加数据
if (tableDataItem.operateType === 'ADD') { if (tableDataItem.operateType === 'ADD') {
for (let i = 0; i < this.tableData.length; i++) { for (let i = 0; i < tableData.length; i++) {
const item = this.tableData[i] const item = tableData[i]
if (tableDataItem.hasParent && !item.children) { if (item.rowId === tableDataItem.parentRowId) {
item.children = [] // item.hasChildren = true
}
if (item.rowId === tableDataItem.parentId) {
item.children.push(tableDataItem) item.children.push(tableDataItem)
break break
} }
} }
} }
if (tableDataItem.operateType === 'MODIFY') { if (tableDataItem.operateType === 'MODIFY') {
for (const item of this.tableData) { for (const item of tableData) {
// 父类修改 // 父类修改
if (item.id === tableDataItem.id) { if (item.id === tableDataItem.id) {
// console.log('item', tableDataItem) // console.log('item', tableDataItem)
this.tableData.splice(this.tableData.indexOf(item), 1, tableDataItem) tableData.splice(tableData.indexOf(item), 1, tableDataItem)
break break
} }
// 子类修改 // 子类修改
for (const child of item.children) { for (const child of item.children) {
if (child.id === tableDataItem.id) { if (child.id === tableDataItem.id) {
this.tableData[this.tableData.indexOf(item)].children.splice(item.children.indexOf(child), 1, tableDataItem) tableData[tableData.indexOf(item)].children.splice(item.children.indexOf(child), 1, tableDataItem)
break break
} }
} }
} }
} }
if (tableDataItem.operateType === 'NEW') { if (tableDataItem.operateType === 'NEW') {
this.tableData.push(tableDataItem) tableData.push(tableDataItem)
} }
console.log('tableData', tableData)
console.log('this.tableData', this.tableData) tableData.forEach(item => {
this.tableData.push(item)
})
this.symbolKey = Symbol(new Date().toString())
console.log('this.symbolKey', this.symbolKey)
}, },
submit() { submit() {
const tableData = this.tableData.slice() const tableData = this.tableData.slice()
...@@ -663,29 +682,36 @@ export default { ...@@ -663,29 +682,36 @@ export default {
delete tableData[i][key] delete tableData[i][key]
} }
} }
if (obj.children.length > 0) {
obj.children.forEach((child, j) => {
for (const ckey in child) {
if (ckey === 'storageZone') {
delete tableData[i]['children'][j][ckey]
}
}
})
}
}) })
console.log('tableData', tableData)
const param = { const param = {
...this.form,
'operator': this.operator, 'operator': this.operator,
'billType': this.form.billType,
'arrivalDate': this.form.arrivalDate,
'materialTypeIdType': 'ExtDxProcessResourceType', 'materialTypeIdType': 'ExtDxProcessResourceType',
'extDxProductAreaIdType': 'ExtDxProductArea', 'extDxProductAreaIdType': 'ExtDxProductArea',
'extDxSipplierIdType': 'ExtDxSipplier', 'extDxSipplierIdType': 'ExtDxSipplier',
'subTypeName': 'InStoragePurchase', 'subTypeName': 'InStoragePurchase',
'reqStatus': 'Apply', 'reqStatus': 'Apply',
'extDxProductAreaId': this.form.extDxProductAreaId,
'extDxSipplierId': this.form.extDxSipplierId,
'materialTypeId': this.form.materialTypeId,
'inStorageRequestItems': tableData 'inStorageRequestItems': tableData
} }
if (this.operator === 'MODIFY') {
// const paramTableData = [] param.id = this.form.id
// this.tableData.map(item => { }
// for (const key in item) {
// if (typeof item[key] !== 'object' && item[key] !== null) {
// item[key]
// }
// }
// })
post('/InventoryRequest/batch/recursionAdd', param).then(res => { post('/InventoryRequest/batch/recursionAdd', param).then(res => {
this.$utils.showMessageSuccess('保存成功') this.$utils.showMessageSuccess('保存成功')
this.back()
}).catch((err) => { }).catch((err) => {
console.log(err) console.log(err)
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment