Commit 74527a0a authored by xioln's avatar xioln

报废出库

parent 1cf2449a
/**
* @Description:添加报废出库物料明细弹框
* @author xioln
* @date 2023/09/18
*/
<template>
<div class="AddOutStorageScrappedDetail-diloag">
<dee-as-com
ref="materielSearch"
:lay-config="{ typeName: 'Inventory', layKey: 'search_sanqichukuwuliaomingxi'}"
:basic-data="defaultData"
@searchEvent="searchEvent"
/>
<dee-as-com
ref="materielTable"
class="list-table"
:lay-config="{ typeName: 'Inventory', layKey: 'table_sanqichukuwuliaomingxi'}"
@selectionChange="selectionChange"
/>
<div slot="footer" class="foot-btn-box">
<el-button type="primary" @click="submitEvent">确认</el-button>
<el-button @click="cancelEvent">取消</el-button>
</div>
</div>
</template>
<script>
export default {
componentName: '添加报废出库物料明细弹框',
name: 'AddOutStorageScrappedDetailDialog',
components: {},
props: {
basicData: {
type: Object,
default: () => {}
}
},
data() {
return {
selection: [],
defaultData: {}
}
},
computed: {},
mounted() {
},
methods: {
searchEvent(val) {
// const materialType = this.findByNameVnode(this, 'DeeAsForm').form.materialType
val.items.push({ fieldName: 'subTypeName', operator: 'EQ', value: 'Inventory' }/*, { fieldName: 'inventory.materialType', operator: 'EQ', value: materialType }*/)
val.items.push({ fieldName: 'status', operator: 'EQ', value: 'disposed' })
val.items.push({ fieldName: 'usableAmount', operator: 'GT', value: 0 })
val.items.push({ fieldName: 'disposeDes', operator: 'LIKE', value: '三期' })
const extWorkCenterName = this.basicData.extWorkCenteName || (this.basicData.extWorkCenter && this.basicData.extWorkCenter.extname)
if (extWorkCenterName) {
val.items.push({ fieldName: 'workcenter', operator: 'EQ', value: extWorkCenterName })
}
const el = this.$refs['materielTable']
el.$refs.asCom.getData(val.items, val.items)
},
findByNameVnode(obj, targetName) {
if (obj && obj.$vnode && obj.$vnode.tag && obj.$vnode.tag.includes(targetName)) {
return obj
} else {
return this.findByNameVnode(obj.$parent, targetName)
}
},
selectionChange(val) {
this.selection = val
},
submitEvent() {
const selection = this.selection.filter(r => {
if (!this.basicData.inStorageRequestItems) {
return true
}
return !this.basicData.inStorageRequestItems.find(item => r.id === item.inventoryId)
})
if (selection.length) {
const data = selection.map(r => {
return {
'subTypeName': 'OutStorageScrapItem',
'reqStatus': 'Apply',
'outStorageId': r.jobResponseId,
'outStorageIdType': r.jobResponseIdType,
// inventory: { amount: r.amount },
'inventoryId': r.id,
'inventoryIdType': this.$utils.getModelName4dxClassName(r),
'purchaseUnitId': r.jobResponse.jobOrder.extMaterial.extUnitId,
'purchaseUnitIdType': r.jobResponse.jobOrder.extMaterial.extUnitIdType,
'extDxSipplierId': r.jobResponse.jobOrder.extDxSipplierId,
'extDxSipplierIdType': r.jobResponse.jobOrder.extDxSipplierIdType,
extDxSipplier: r.jobResponse.jobOrder.extDxSipplier,
extMaterial: r.jobResponse.jobOrder.extMaterial,
storageZone: r.jobResponse.jobOrder.storageZone,
storageCondition: r.jobResponse.jobOrder.storageCondition,
'extMaterialId': r.jobResponse.jobOrder.extMaterialId,
'extMaterialIdType': r.jobResponse.jobOrder.extMaterialIdType,
'arrivalDate': r.jobResponse.jobOrder.arrivalDate,
'reqAmount': r.usableAmount,
'airModel': r.jobResponse.jobOrder.airModel,
'sorties': r.jobResponse.jobOrder.sorties,
'manufacturer': r.jobResponse.jobOrder.manufacturer,
'contractNo': r.jobResponse.jobOrder.contractNo,
'stockPrice': r.jobResponse.jobOrder.stockPrice,
'lotNo': r.jobResponse.jobOrder.lotNo,
'taxRate': r.jobResponse.jobOrder.taxRate,
'taxUnitPrice': r.jobResponse.jobOrder.taxUnitPrice,
'taxPrice': r.jobResponse.jobOrder.taxPrice,
'stockUnitPrice': r.jobResponse.jobOrder.stockUnitPrice,
'purchaseOrderNo': r.jobResponse.jobOrder.purchaseOrderNo,
'operator': 'ADD',
remark: r.jobResponse.jobOrder.remark,
'isRoot': r.jobResponse.jobOrder.isRoot
}
})
this.$emit('submitEvent', { formData: data })
}
},
cancelEvent() {
this.$emit('cancel')
}
}
}
</script>
<style lang='scss'>
.AddOutStorageScrappedDetail-diloag{
.list-table{
height: 510px!important;
}
.foot-btn-box{
display: flex;
margin-top: 10px;
justify-content: center;
align-content: center;
}
}
</style>
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