|
|
|
@ -68,7 +68,7 @@
|
|
|
|
|
<!-- 子表单区域 --> |
|
|
|
|
<a-tabs v-model="activeKey" @change="handleChangeTabs" style="background-color: #dcdcdc;margin-top: 20px;padding: 0px 10px"> |
|
|
|
|
<a-tab-pane tab="物资调拨流程调拨清单" :key="refKeys[0]" :forceRender="true"> |
|
|
|
|
<p-editable-table |
|
|
|
|
<d-editable-table |
|
|
|
|
ref="processMaterialsAllotList" |
|
|
|
|
:loading="processMaterialsAllotListTable.loading" |
|
|
|
|
:columns="processMaterialsAllotListTable.columns" |
|
|
|
@ -93,7 +93,7 @@
|
|
|
|
|
</a-tooltip> |
|
|
|
|
<!-- <a-button @click="chaKan(props)">查看</a-button>--> |
|
|
|
|
</template> |
|
|
|
|
</p-editable-table> |
|
|
|
|
</d-editable-table> |
|
|
|
|
</a-tab-pane> |
|
|
|
|
</a-tabs> |
|
|
|
|
<!-- <j-form-container > |
|
|
|
@ -136,6 +136,7 @@
|
|
|
|
|
import JSelectDepart from '@/components/jeecgbiz/JSelectDepart' |
|
|
|
|
import JSelectUserByDep from '@/components/jeecgbiz/JSelectUserByDep' |
|
|
|
|
import JDictSelectTag from '@/components/dict/JDictSelectTag' |
|
|
|
|
import DEditableTable from '@comp/jeecg/DEditableTable' |
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
|
name: 'ProcessMaterialsAllotForm', |
|
|
|
@ -147,7 +148,8 @@
|
|
|
|
|
JSelectDepart, |
|
|
|
|
JSelectUserByDep, |
|
|
|
|
JDictSelectTag, |
|
|
|
|
JSelectCompany |
|
|
|
|
JSelectCompany, |
|
|
|
|
DEditableTable |
|
|
|
|
}, |
|
|
|
|
data() { |
|
|
|
|
return { |
|
|
|
@ -230,12 +232,12 @@
|
|
|
|
|
{ |
|
|
|
|
title: '物料名称及规格型号', |
|
|
|
|
key: 'materialName', |
|
|
|
|
type: FormTypes.input, |
|
|
|
|
type: FormTypes.sel_search, |
|
|
|
|
dictCode: '', |
|
|
|
|
width: '200px', |
|
|
|
|
placeholder: '请输入${title}', |
|
|
|
|
disabled: this.disabled, |
|
|
|
|
defaultValue: '' |
|
|
|
|
options: [] |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
title: '单位', |
|
|
|
@ -457,10 +459,7 @@
|
|
|
|
|
} |
|
|
|
|
return true |
|
|
|
|
} |
|
|
|
|
// console.log("this.hieg",this.hieg); |
|
|
|
|
// console.log("this.disabled",this.disabled); |
|
|
|
|
// console.log("this.heid",this.heid); |
|
|
|
|
this.heid = this.hieg; |
|
|
|
|
this.isabled = this.hieg; |
|
|
|
|
// console.log("this.allotNumber====",this.allotShuNumber); |
|
|
|
|
return this.disabled |
|
|
|
|
}, |
|
|
|
@ -517,13 +516,13 @@
|
|
|
|
|
{ |
|
|
|
|
rowKey: record.row.id, |
|
|
|
|
values: { |
|
|
|
|
'equipment': '', |
|
|
|
|
'materialGroup':'', |
|
|
|
|
'materialName': '', |
|
|
|
|
'equipment': undefined, |
|
|
|
|
'materialGroup':undefined, |
|
|
|
|
'materialName': undefined, |
|
|
|
|
'materialUnit': '', |
|
|
|
|
'supplierId': '', |
|
|
|
|
'materialPrice': '', |
|
|
|
|
// 'number': '', |
|
|
|
|
// 'number': undefined, |
|
|
|
|
'allotNumber': '', |
|
|
|
|
'materialAmount': '' |
|
|
|
|
} |
|
|
|
@ -535,85 +534,179 @@
|
|
|
|
|
this.materialGroupId = record.row.materialGroup |
|
|
|
|
isDB = false |
|
|
|
|
} |
|
|
|
|
// let a = await this.getUniter(); |
|
|
|
|
// console.log(a,"21354234"); |
|
|
|
|
if(record.column.key == 'materialName' && !record.row.allotNumber && isDB && this.materialGroupId !== record.row.equipment && !!record.row.id |
|
|
|
|
|| record.column.key == 'equipment' && !record.row.allotNumber && isDB && this.materialGroupId !== record.row.equipment && !!record.row.id |
|
|
|
|
){ |
|
|
|
|
// console.log("111111111",record.value); |
|
|
|
|
let cf = false; |
|
|
|
|
this.$refs.processMaterialsAllotList.getValues((a, b, c) => { |
|
|
|
|
|
|
|
|
|
if (!!record.row.equipment && !record.row.allotNumber && isDB && this.materialGroupId !== record.row.materialGroup) { |
|
|
|
|
// console.log("执行materialNumber") |
|
|
|
|
|
|
|
|
|
await this.$refs.processMaterialsAllotList.getValues((a, b, c) => { |
|
|
|
|
// console.log("bbbbbbbbbbbbbb",b) |
|
|
|
|
b.forEach(item => { |
|
|
|
|
if (item.equipment === record.row.equipment && !!item.materialGroup && !record.row.materialGroup) { |
|
|
|
|
let values = [ |
|
|
|
|
{ |
|
|
|
|
rowKey: record.row.id, |
|
|
|
|
values: { |
|
|
|
|
'equipment': '', |
|
|
|
|
'materialGroup': '', |
|
|
|
|
'materialName': '', |
|
|
|
|
'materialUnit': '', |
|
|
|
|
'supplierId': '', |
|
|
|
|
'materialPrice': '', |
|
|
|
|
'allotNumber': '', |
|
|
|
|
'materialAmount': '' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
// console.log("sadf1111") |
|
|
|
|
this.$refs.processMaterialsAllotList.setValues(values) |
|
|
|
|
return ; |
|
|
|
|
|
|
|
|
|
// console.log("bbbb11111b",item.equipment,record.row.equipment,item.materialGroup) |
|
|
|
|
if (item.equipment === record.value && !!item.materialGroup && !cf) { |
|
|
|
|
cf = true; |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
let materialName = {} |
|
|
|
|
this.bigIdMerchandiseNewsList.forEach(item => { |
|
|
|
|
if (item.merchandiseNewsId === record.row.equipment) { |
|
|
|
|
materialName = { |
|
|
|
|
name: item.merchandiseName, |
|
|
|
|
unit: item.materialsUnit, |
|
|
|
|
materialGroup: item.materialClassify, |
|
|
|
|
supplierName: item.supplierId, |
|
|
|
|
price: item.materialPrice, |
|
|
|
|
descriptionId: item.descriptionId, |
|
|
|
|
// number : item.residueNumber === undefined ? 0 : item.residueNumber, |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
if(Object.keys(materialName).length > 0){ |
|
|
|
|
this.processMaterialsAllotListTable.columns[0].options.push({ |
|
|
|
|
title: materialName.materialGroup, |
|
|
|
|
value: materialName.descriptionId |
|
|
|
|
}) |
|
|
|
|
await this.fetchMerchandiseNews(record.value); |
|
|
|
|
// console.log("2222222222"); |
|
|
|
|
if(cf){ |
|
|
|
|
let values = [ |
|
|
|
|
{ |
|
|
|
|
rowKey: record.row.id, |
|
|
|
|
values: { |
|
|
|
|
'equipment': record.row.equipment, |
|
|
|
|
'materialGroup': materialName.descriptionId, |
|
|
|
|
'materialName': materialName.name, |
|
|
|
|
'materialUnit': materialName.unit, |
|
|
|
|
'supplierId': materialName.supplierName, |
|
|
|
|
'materialPrice': materialName.price, |
|
|
|
|
// 'number': materialName.number, |
|
|
|
|
'materialAmount': 0 |
|
|
|
|
'equipment': undefined, |
|
|
|
|
'materialGroup': undefined, |
|
|
|
|
'materialName': undefined, |
|
|
|
|
'materialUnit': '', |
|
|
|
|
'supplierId': '', |
|
|
|
|
'materialPrice': '', |
|
|
|
|
'allotNumber': '', |
|
|
|
|
'materialAmount': '' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
this.$refs.processMaterialsAllotList.setValues(values) |
|
|
|
|
}else{ |
|
|
|
|
let materialName = {} |
|
|
|
|
if(this.bigIdMerchandiseNewsList.length > 0){ |
|
|
|
|
this.bigIdMerchandiseNewsList.forEach(item => { |
|
|
|
|
// console.log("-=-=-=123123",item,record.value) |
|
|
|
|
if (item.merchandiseNewsId === record.value) { |
|
|
|
|
materialName = { |
|
|
|
|
name: item.merchandiseName, |
|
|
|
|
unit: item.materialsUnit, |
|
|
|
|
materialGroup: item.materialClassify, |
|
|
|
|
supplierName: item.supplierId, |
|
|
|
|
price: item.materialPrice, |
|
|
|
|
materialsNumber: item.materialsNumber, |
|
|
|
|
equipment: item.merchandiseNewsId, |
|
|
|
|
descriptionId: item.descriptionId, |
|
|
|
|
// number : item.residueNumber === undefined ? 0 : item.residueNumber, |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
if(Object.keys(materialName).length > 0){ |
|
|
|
|
this.processMaterialsAllotListTable.columns[0].options.push({ |
|
|
|
|
title: materialName.materialGroup, |
|
|
|
|
value: materialName.descriptionId |
|
|
|
|
}) |
|
|
|
|
let values = [ |
|
|
|
|
{ |
|
|
|
|
rowKey: record.row.id, |
|
|
|
|
values: { |
|
|
|
|
'equipment': materialName.equipment, |
|
|
|
|
'materialGroup': materialName.descriptionId, |
|
|
|
|
'materialName': materialName.name, |
|
|
|
|
'materialUnit': materialName.unit, |
|
|
|
|
'supplierId': materialName.supplierName, |
|
|
|
|
'materialPrice': materialName.price, |
|
|
|
|
// 'number': materialName.number, |
|
|
|
|
'materialAmount': 0 |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
this.materialGroupId = materialName.materialsNumber; |
|
|
|
|
this.$refs.processMaterialsAllotList.setValues(values) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
// console.log("000000",record.column.key,record.row.id) |
|
|
|
|
// if (!!record.row.equipment && !record.row.allotNumber && isDB && this.materialGroupId !== record.row.materialGroup) { |
|
|
|
|
// console.log("执行materialNumber",record.row) |
|
|
|
|
// this.$refs.processMaterialsAllotList.getValues((a, b, c) => { |
|
|
|
|
// b.forEach(item => { |
|
|
|
|
// if (item.equipment === record.row.equipment && !!item.materialGroup && !record.row.materialGroup) { |
|
|
|
|
// let values = [ |
|
|
|
|
// { |
|
|
|
|
// rowKey: record.row.id, |
|
|
|
|
// values: { |
|
|
|
|
// 'equipment': '', |
|
|
|
|
// 'materialGroup': '', |
|
|
|
|
// 'materialName': '', |
|
|
|
|
// 'materialUnit': '', |
|
|
|
|
// 'supplierId': '', |
|
|
|
|
// 'materialPrice': '', |
|
|
|
|
// 'allotNumber': '', |
|
|
|
|
// 'materialAmount': '' |
|
|
|
|
// } |
|
|
|
|
// } |
|
|
|
|
// ] |
|
|
|
|
// this.$refs.processMaterialsAllotList.setValues(values) |
|
|
|
|
// return; |
|
|
|
|
// } |
|
|
|
|
// }) |
|
|
|
|
// |
|
|
|
|
// }) |
|
|
|
|
// // if(record.column.key != 'equipment' ){ |
|
|
|
|
// // await this.fetchMerchandiseNews(record.value); |
|
|
|
|
// // } |
|
|
|
|
// let materialName = {} |
|
|
|
|
// this.bigIdMerchandiseNewsList.forEach(item => { |
|
|
|
|
// if (item.merchandiseNewsId === record.row.equipment) { |
|
|
|
|
// materialName = { |
|
|
|
|
// name: item.merchandiseName, |
|
|
|
|
// unit: item.materialsUnit, |
|
|
|
|
// materialGroup: item.materialClassify, |
|
|
|
|
// supplierName: item.supplierId, |
|
|
|
|
// price: item.materialPrice, |
|
|
|
|
// materialsNumber: item.materialsNumber, |
|
|
|
|
// equipment: item.merchandiseNewsId, |
|
|
|
|
// descriptionId: item.descriptionId, |
|
|
|
|
// // number : item.residueNumber === undefined ? 0 : item.residueNumber, |
|
|
|
|
// } |
|
|
|
|
// } |
|
|
|
|
// }) |
|
|
|
|
// if(Object.keys(materialName).length > 0){ |
|
|
|
|
// this.processMaterialsAllotListTable.columns[0].options.push({ |
|
|
|
|
// title: materialName.materialGroup, |
|
|
|
|
// value: materialName.descriptionId |
|
|
|
|
// }) |
|
|
|
|
// if(record.column.key == 'materialName' ){ |
|
|
|
|
// this.processMaterialsAllotListTable.columns[1].options.push({ |
|
|
|
|
// title: materialName.materialsNumber, |
|
|
|
|
// value: materialName.equipment |
|
|
|
|
// }) |
|
|
|
|
// } |
|
|
|
|
// let values = [ |
|
|
|
|
// { |
|
|
|
|
// rowKey: record.row.id, |
|
|
|
|
// values: { |
|
|
|
|
// 'equipment': record.row.equipment, |
|
|
|
|
// 'materialGroup': materialName.descriptionId, |
|
|
|
|
// 'materialName': materialName.name, |
|
|
|
|
// 'materialUnit': materialName.unit, |
|
|
|
|
// 'supplierId': materialName.supplierName, |
|
|
|
|
// 'materialPrice': materialName.price, |
|
|
|
|
// // 'number': materialName.number, |
|
|
|
|
// 'materialAmount': 0 |
|
|
|
|
// } |
|
|
|
|
// } |
|
|
|
|
// ] |
|
|
|
|
// this.materialGroupId = record.row.equipment; |
|
|
|
|
// this.$refs.processMaterialsAllotList.setValues(values) |
|
|
|
|
// } |
|
|
|
|
// } |
|
|
|
|
//计算实发数 |
|
|
|
|
if(record.column.key == 'allotSendNumber'){ |
|
|
|
|
this.shiyan.forEach( item =>{ |
|
|
|
|
// console.log(item); |
|
|
|
|
// console.log(record); |
|
|
|
|
if(parseInt( record.value) > parseInt(item.materialQuantity )){ |
|
|
|
|
if(!!record.value && parseInt( record.value) < 1){ |
|
|
|
|
this.$message.warning("实发数大于0"); |
|
|
|
|
record.row.allotSendNumber = null ; |
|
|
|
|
} |
|
|
|
|
if(!!record.value && parseInt( record.value) > 0){ |
|
|
|
|
this.shiyan.forEach( item =>{ |
|
|
|
|
if(parseInt( record.value) > parseInt(item.materialQuantity )){ |
|
|
|
|
this.$message.warning("实发数大于库存数"); |
|
|
|
|
record.row.allotSendNumber = !record.value ? 0 : item.materialQuantity ; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
record.row.allotSendNumber = !record.value ? 1 : item.materialQuantity ; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
// 根据请发数量计算 |
|
|
|
|
if (!!record.row.allotNumber && isDB) { |
|
|
|
@ -660,8 +753,6 @@
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
fetchMerchandiseNews(value) { //查询物料清单信息 |
|
|
|
|
// console.log("this.form=============================") |
|
|
|
|
// console.log(this.form) |
|
|
|
|
//查询大品类数据 |
|
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
|
|
|
|
|
@ -670,6 +761,9 @@
|
|
|
|
|
departId: this.libraryInvisible, |
|
|
|
|
materialType: this.materialTypeRecord |
|
|
|
|
} |
|
|
|
|
if(!!value){ |
|
|
|
|
par.merchandiseNewsId = value; |
|
|
|
|
} |
|
|
|
|
this.bigIdMerchandiseNewsList = [] |
|
|
|
|
let qc = [] |
|
|
|
|
let numberList = [] |
|
|
|
@ -715,8 +809,9 @@
|
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
// console.log(this.processUdgetPlanMaterialTable.columns[1].options); |
|
|
|
|
resolve(this.bigIdMerchandiseNewsList = res.result) |
|
|
|
|
this.bigIdMerchandiseNewsList = res.result; |
|
|
|
|
// console.log("this.processUdgetPlanMaterialTable.columns[1].options"); |
|
|
|
|
resolve() |
|
|
|
|
// return |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
@ -752,7 +847,7 @@
|
|
|
|
|
this.materialTypeRecord = val; |
|
|
|
|
this.qeihuan = val; |
|
|
|
|
if (!!val && !!this.libraryInvisible ) { |
|
|
|
|
this.heid = false |
|
|
|
|
this.isabled = false; |
|
|
|
|
this.descriptionFetchData(val,this.libraryInvisible) |
|
|
|
|
this.fetchMerchandiseNews() |
|
|
|
|
} |
|
|
|
@ -846,14 +941,18 @@
|
|
|
|
|
let method = 'put' |
|
|
|
|
httpAction(this.url.edit, formData, method).then((res) => { |
|
|
|
|
if (res.success) { |
|
|
|
|
this.$emit('passTask') |
|
|
|
|
} |
|
|
|
|
}).finally(() => { |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
this.$emit('passTask') |
|
|
|
|
} |
|
|
|
|
this.$emit('passTask') |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
/*驳回审批*/ |
|
|
|
|
backTask() { |
|
|
|
@ -1170,7 +1269,7 @@
|
|
|
|
|
this.$message.error(msg) |
|
|
|
|
}, |
|
|
|
|
Department(value) { |
|
|
|
|
if (value !== null || value !== '' || value !== undefined) { |
|
|
|
|
if (!!value) { |
|
|
|
|
let params = {} |
|
|
|
|
params.unit = value |
|
|
|
|
this.libraryInvisible = value; |
|
|
|
@ -1179,12 +1278,12 @@
|
|
|
|
|
this.libraryAssociationIdInvisible = value; |
|
|
|
|
this.qeihuan = value; |
|
|
|
|
if(!!this.materialTypeRecord){ |
|
|
|
|
this.heid = false; |
|
|
|
|
this.isabled = false; |
|
|
|
|
this.descriptionFetchData(this.materialTypeRecord,value); |
|
|
|
|
} |
|
|
|
|
}else { |
|
|
|
|
this.$message.error("请选择正确项目部!") |
|
|
|
|
this.heid = true; |
|
|
|
|
this.isabled = true; |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|