Commit 0593e83b authored by xioln's avatar xioln

召回出库

parent 6a2797e0
/**
* @Description: 新增表单
* @author xioln
* @date 2023-06-16
* @FilePath: applications/dee-mes/src/privateComponents/components/addDisplayForm/index.vue
*/
<template>
<div class="className" />
</template>
<script>
export default {
name: '', // name写在组件的最前方,自定义组件为必填
components: {},
data() {
return {
}
},
computed: {},
created() {
// 初始化数据
},
methods: {
}
}
</script>
<style lang='scss'>
</style>
/**
* @Description: 召回出库添加明细
* @author xioln
* @date 2023-08-01
* @FilePath: applications/dee-mes/src/privateComponents/components/AddOutStorageCallbackDetailDialog/index.vue
*/
<template>
<div class="addOutStorageCallbackDetail-dialog">
<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: 'AddOutStorageCallbackDetailDialog',
props: {
basicData: {
type: Object,
default: () => { }
}
},
data() {
return {
selection: [],
defaultData: {}
}
},
computed: {},
created() {
// 初始化数据
},
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.extWorkCeter && this.basicData.extWorkCeter.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)
},
selectionChange(val) {
this.selection = val
},
submitEvent() {
console.log('this.basicData', this.basicData)
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': 'OutStorageRecall',
'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'>
.addOutStorageCallbackDetail-dialog {
.list-table {
height: 510px !important;
}
.foot-btn-box {
display: flex;
margin-top: 10px;
justify-content: center;
align-content: center;
}
}
</style>
......@@ -116,14 +116,13 @@ export default {
// 初始化数据
},
mounted() {
console.log('this.basicData', { ...this.basicData })
this.timerId = setInterval(() => {
if (this.basicData.id) {
clearInterval(this.timerId)
this.timerId = null
// this.timerId = setInterval(() => {
// if (this.basicData.id) {
// clearInterval(this.timerId)
// this.timerId = null
// }
// }, 200)
this.searchInStorageRequestItem(this.basicData.id)
}
}, 200)
},
methods: {
// 编辑采购入库明细查询InStorageRequestItem/search
......
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