Commit b705226a authored by jingnan's avatar jingnan 👀

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

parents 161bb470 803e3f05
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -123,6 +123,7 @@ ...@@ -123,6 +123,7 @@
<el-form-item label-width="100px" label="不合格数" prop="noPassAmount"> <el-form-item label-width="100px" label="不合格数" prop="noPassAmount">
<el-input-number <el-input-number
v-model="form.noPassAmount" v-model="form.noPassAmount"
style="width: 120px"
clearable clearable
:min="0" :min="0"
placeholder="不合格数" placeholder="不合格数"
...@@ -369,11 +370,11 @@ export default { ...@@ -369,11 +370,11 @@ export default {
<style lang='scss'> <style lang='scss'>
.equipmen-checkNo { .equipmen-checkNo {
.el-select { .el-select {
width: 220px // width: 220px
} }
.el-input { .el-input {
width: 220px // width: 220px
} }
} }
</style> </style>
...@@ -948,11 +948,11 @@ export default { ...@@ -948,11 +948,11 @@ export default {
</script> </script>
<style lang='scss'> <style lang='scss'>
.material-checkNo { .material-checkNo {
.el-select { // .el-select {
width: 220px // width: 220px
} // }
.el-input { // .el-input {
width: 220px // width: 220px
} // }
} }
</style> </style>
...@@ -338,11 +338,11 @@ export default { ...@@ -338,11 +338,11 @@ export default {
</script> </script>
<style lang='scss'> <style lang='scss'>
.outSource-checkNo{ .outSource-checkNo{
.el-select { // .el-select {
width: 220px // width: 220px
} // }
.el-input { // .el-input {
width: 220px // width: 220px
} // }
} }
</style> </style>
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
layKey: 'table', layKey: 'table',
}" }"
@selectionChange="jobResponseSelectionChange" @selectionChange="jobResponseSelectionChange"
@requestSuccess="onRequestSuccess"
/> />
</div> </div>
</template> </template>
...@@ -55,7 +56,8 @@ export default { ...@@ -55,7 +56,8 @@ export default {
data() { data() {
return { return {
infoSelection: [], infoSelection: [],
jobResponseSelection: [] jobResponseSelection: [],
isRefresh: false
} }
}, },
computed: {}, computed: {},
...@@ -107,8 +109,16 @@ export default { ...@@ -107,8 +109,16 @@ export default {
} }
}, },
refeach() { refeach() {
this.isRefresh = true
this.$refs.adjustOccupyInfo.$refs.asCom.getData() this.$refs.adjustOccupyInfo.$refs.asCom.getData()
this.$refs.adjustOccupyjobResponse.$refs.asCom.getData() this.$refs.adjustOccupyjobResponse.$refs.asCom.getData()
},
onRequestSuccess(res) {
if (this.isRefresh) {
const inventoryJobResponses = res.items.content || []
this.$emit('refreshResponses', { inventoryJobResponses })
}
this.isRefresh = false
} }
} }
} }
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<addOutStorageOfferDetailDialog ref="addOffer" :basic-data="form" @submitEvent="addData" /> <addOutStorageOfferDetailDialog ref="addOffer" :basic-data="form" @submitEvent="addData" />
</dee-dialog> </dee-dialog>
<dee-dialog width="70%" title="调整占用" :visible.sync="aoDialogVisible" @on-cancel="aoCancel"> <dee-dialog width="70%" title="调整占用" :visible.sync="aoDialogVisible" @on-cancel="aoCancel">
<OutStorageOfferAdjustOccupy ref="adjustOffer" :select-datas="selectTableData" :form="form" @submitEvent="addData" /> <OutStorageOfferAdjustOccupy ref="adjustOffer" :select-datas="selectTableData" :form="form" @submitEvent="addData" @refreshResponses="refreshResponses" />
</dee-dialog> </dee-dialog>
<dee-dialog width="70%" title="查看占用" :visible.sync="viewVisible" @on-cancel="viewCancel"> <dee-dialog width="70%" title="查看占用" :visible.sync="viewVisible" @on-cancel="viewCancel">
<dee-as-com <dee-as-com
...@@ -167,7 +167,8 @@ export default { ...@@ -167,7 +167,8 @@ export default {
param: {}, param: {},
aoDialogVisible: false, aoDialogVisible: false,
selectTableData: [], selectTableData: [],
viewVisible: false viewVisible: false,
applyId: null
} }
}, },
computed: { computed: {
...@@ -223,7 +224,13 @@ export default { ...@@ -223,7 +224,13 @@ export default {
subTypeName: 'OutStorageOut', subTypeName: 'OutStorageOut',
operator: 'ADD' operator: 'ADD'
} }
if (this.applyId) {
param.operator = 'MODIFY'
param.id = this.applyId
}
post('OutStorageRequest/outStorageOut/saveAndTake', param).then(res => { post('OutStorageRequest/outStorageOut/saveAndTake', param).then(res => {
this.$utils.findForm(this).applyId = res.items.id
this.applyId = res.items.id
this.$utils.showMessageSuccess('占用成功!') this.$utils.showMessageSuccess('占用成功!')
const data = res.items.inStorageRequestItems const data = res.items.inStorageRequestItems
const tableData = [...this.tableData] const tableData = [...this.tableData]
...@@ -265,45 +272,13 @@ export default { ...@@ -265,45 +272,13 @@ export default {
}) })
}, },
getEditData() { getEditData() {
this.tableData.push(...this.basicData.inStorageRequestItems) const data = this.basicData.inStorageRequestItems
// const param = { data.forEach(item => {
// 'searchItems': { if (item.inventoryJobResponses) {
// 'items': [ item.allocatedAmount = this.sumArray(item.inventoryJobResponses, 'allocatedAmount')
// { 'fieldName': 'subTypeName', 'operator': 'EQ', 'value': 'OutStorageOut' }, }
// { 'fieldName': 'id', 'operator': 'EQ', 'value': id } })
// ] this.tableData = data
// },
// openProps: [{
// 'name': 'inStorageRequestItems',
// 'openProps': [{
// 'name': 'extMaterial',
// 'openProps': [{
// 'name': 'resType2'
// }, {
// 'name': 'extUnit'
// }]
// }, {
// 'name': 'extDxSipplier'
// }, {
// 'name': 'creator'
// }, {
// 'name': 'storageZone'
// },
// {
// 'name': 'inventoryJobResponses'
// }]
// }]
// }
// post('OutStorageRequest/search', param).then(res => {
// console.log('res', res)
// const data = res.items.content[0].inStorageRequestItems
// data.forEach(item => {
// item.allocatedAmount = this.sumArray(item.inventoryJobResponses, 'allocatedAmount')
// })
// this.tableData = data
// }).catch((err) => {
// console.log(err)
// })
}, },
sumArray(array, key) { sumArray(array, key) {
let sum = 0 let sum = 0
...@@ -311,6 +286,9 @@ export default { ...@@ -311,6 +286,9 @@ export default {
sum += Number(array[i][key]) sum += Number(array[i][key])
} }
return sum return sum
},
refreshResponses({ inventoryJobResponses }) {
this.selectTableData[0].allocatedAmount = this.$utils.sumArray(inventoryJobResponses, 'allocatedAmount')
} }
} }
} }
......
...@@ -65,10 +65,10 @@ export default { ...@@ -65,10 +65,10 @@ export default {
// { title: '是否合格供应商', key: 'extDxSipplier.isValid', headerAlign: 'center' }, // { title: '是否合格供应商', key: 'extDxSipplier.isValid', headerAlign: 'center' },
{ title: '制造商', key: 'manufacturer', align: 'center', headerAlign: 'center' }, { title: '制造商', key: 'manufacturer', align: 'center', headerAlign: 'center' },
{ title: '到货日期', key: 'arrivalDate', align: 'center', headerAlign: 'center', width: '120', formatter: (row, column, cellValue, index) => { { title: '到货日期', key: 'arrivalDate', align: 'center', headerAlign: 'center', width: '120', formatter: (row, column, cellValue, index) => {
return row.arrivalDate.split(' ')[0] return row.arrivalDate && row.arrivalDate.split(' ')[0]
} }, } },
{ title: '生产日期', key: 'producedTime', align: 'center', headerAlign: 'center', width: '120', formatter: (row, column, cellValue, index) => { { title: '生产日期', key: 'producedTime', align: 'center', headerAlign: 'center', width: '120', formatter: (row, column, cellValue, index) => {
return row.producedTime.split(' ')[0] return row.producedTime && row.producedTime.split(' ')[0]
} }, } },
{ {
title: '随产品资料', key: 'withProductMaterial', align: 'center', headerAlign: 'center', width: '120', formatter: (row, column, cellValue, index) => { title: '随产品资料', key: 'withProductMaterial', align: 'center', headerAlign: 'center', width: '120', formatter: (row, column, cellValue, index) => {
...@@ -92,7 +92,7 @@ export default { ...@@ -92,7 +92,7 @@ export default {
{ title: '备注', key: 'remark', align: 'center', headerAlign: 'center' }, { title: '备注', key: 'remark', align: 'center', headerAlign: 'center' },
{ title: '状态', key: 'state', align: 'center', headerAlign: 'center' }, { title: '状态', key: 'state', align: 'center', headerAlign: 'center' },
{ title: '创建时间', key: 'createTime', align: 'center', headerAlign: 'center', width: '120', formatter: (row, column, cellValue, index) => { { title: '创建时间', key: 'createTime', align: 'center', headerAlign: 'center', width: '120', formatter: (row, column, cellValue, index) => {
return row.createTime.split(' ')[0] return row.createTime && row.createTime.split(' ')[0]
} } } }
], ],
optionsTree: { optionsTree: {
...@@ -122,10 +122,7 @@ export default { ...@@ -122,10 +122,7 @@ export default {
// this.timerId = null // this.timerId = null
// } // }
// }, 200) // }, 200)
if (this.basicData.subTypeName === 'InStoragePurchase' || if (this.basicData.subTypeName === 'InStoragePurchase') {
this.basicData.subTypeName === 'InStorageExpire' ||
this.basicData.subTypeName === 'InStorageRecall'
) {
this.$nextTick(() => { this.$nextTick(() => {
if (this.basicData.inStorageRequestItems[0]) { if (this.basicData.inStorageRequestItems[0]) {
this.searchInStorageRequestItem(this.basicData.inStorageRequestItems[0].inventoryReqId, 'inventoryReq.id') this.searchInStorageRequestItem(this.basicData.inStorageRequestItems[0].inventoryReqId, 'inventoryReq.id')
......
...@@ -76,6 +76,7 @@ export default { ...@@ -76,6 +76,7 @@ export default {
} }
}, },
created() { created() {
this.$emit('input', this.form)
this.getModelData() this.getModelData()
this.getSortiesList() this.getSortiesList()
}, },
...@@ -83,7 +84,6 @@ export default { ...@@ -83,7 +84,6 @@ export default {
// 组件方法 // 组件方法
methods: { methods: {
changeFrom(val) { changeFrom(val) {
console.log(this.form)
this.$emit('input', val) this.$emit('input', val)
}, },
getStation(val) { getStation(val) {
...@@ -107,6 +107,7 @@ export default { ...@@ -107,6 +107,7 @@ export default {
}) })
this.$set(this.form, 'postion', this.postionList[0].value) this.$set(this.form, 'postion', this.postionList[0].value)
this.$set(this.form, 'postionName', this.postionList[0].label) this.$set(this.form, 'postionName', this.postionList[0].label)
this.$bus.$emit('getTableData', this.form)
} }
}) })
} }
......
...@@ -420,7 +420,7 @@ export default { ...@@ -420,7 +420,7 @@ export default {
this.$utils.showMessageWarning('打印标签需要先选择库位') this.$utils.showMessageWarning('打印标签需要先选择库位')
return return
} }
JobResponseInStorageEntryId = this.extWorkUnitName JobResponseInStorageEntryId = row.extWorkUnit.extcode
this.printConfig = Object.assign({}, this.printConfig, { this.printConfig = Object.assign({}, this.printConfig, {
visible: true visible: true
}) })
......
<template> <template>
<div class="show-page-com stationPlan-maintenance-page"> <div class="stationPlan-maintenance-page">
<dee-tab :tabs="tabItems" :show-swipe="false" :is-detail="false"> <dee-tab :tabs="tabItems" :show-swipe="false" :is-detail="false">
<div slot="0" style="height:100%;box-sizing:border-box"> <div slot="0" style="height:100%;box-sizing:border-box">
<split-pane <split-pane
:min-percent="18" :min-percent="18"
:default-percent="80" :default-percent="78"
split="vertical" split="vertical"
class="detail-pane" class="detail-pane"
> >
<template slot="paneL"> <template slot="paneL">
<div class="three-member-wrap"> <div class="three-member-wrap">
<dee-as-com <dee-as-com
ref="detailCom"
:key="layConfig.typeName" :key="layConfig.typeName"
:lay-config="layConfig" :lay-config="layConfig"
@row-click="rowClick" @row-click="rowClick"
...@@ -19,7 +20,7 @@ ...@@ -19,7 +20,7 @@
</template> </template>
<template slot="paneR"> <template slot="paneR">
<div class="resourceTable-wrap"> <div class="resourceTable-wrap">
<missingParts /> <missingParts :info="missInfo" />
</div> </div>
</template> </template>
</split-pane> </split-pane>
...@@ -34,6 +35,7 @@ ...@@ -34,6 +35,7 @@
</template> </template>
<script> <script>
import { post } from '@/utils/http'
import searchBar from './searchBar.vue' import searchBar from './searchBar.vue'
import station from './station.vue' import station from './station.vue'
import gantt from './gantt.vue' import gantt from './gantt.vue'
...@@ -48,7 +50,9 @@ export default { ...@@ -48,7 +50,9 @@ export default {
form: {}, form: {},
stateOptions: [], stateOptions: [],
headerShow: true, headerShow: true,
basicData: {} basicData: {},
missInfo: {},
rowData: {}
} }
}, },
computed: { computed: {
...@@ -72,12 +76,146 @@ export default { ...@@ -72,12 +76,146 @@ export default {
} }
}, },
mounted() { mounted() {
this.$bus.$on('getTableData', (data) => {
this.$nextTick(() => {
const formData = {
items: [],
operator: 'AND'
}
for (const i in data) {
formData.items.push({
fieldName: i,
value: data[i]
})
}
this.$refs.detailCom.$children[0].searchFormData = formData
this.$refs.detailCom.$children[0].getData()
})
})
this.getStateOptions() this.getStateOptions()
}, },
methods: { methods: {
rowClick(data) { rowClick(data) {
this.$emit('rowClick', data.row) this.rowData = data
this.getLeftCount(data.row.extProcessPlan)
this.getRightCount(data.row.extProcessPlan)
this.getMissInfo(data.row.extProcessPlan)
// this.$emit('rowClick', data.row)
},
// getPageData(val) {
// this.getMissInfo(this.rowData.row, val)
// },
getLeftCount(obj) {
const params = {
'operator': 'AND',
'items': [
{
'fieldName': 'extProcessPlan.sorties',
'operator': 'EQ',
'value': obj.sorties
},
{
'fieldName': 'extProcessPlan.positionNumber',
'operator': 'EQ',
'value': obj.positionNumber
},
{
'fieldName': 'extProcessPlan.subTypeName',
'operator': 'IN',
'value': [
'ExtProcessPlanAssembly',
'ExtProcessPlanAOR'
]
},
{
'fieldName': 'fitRates',
'operator': 'EQ',
'value': '1'
}
]
}
post(`/ExtSupporting/count`, params).then(res => {
if (res.items) {
this.$set(this.missInfo, 'leftItem', res.items)
// this.missInfo.leftItem = res.items
}
}).finally(() => {
})
},
getRightCount(obj) {
const params = {
'operator': 'AND',
'items': [
{
'fieldName': 'sorties',
'operator': 'EQ',
'value': obj.sorties
},
{
'fieldName': 'positionNumber',
'operator': 'EQ',
'value': obj.positionNumber
},
{
'fieldName': 'subTypeName',
'operator': 'IN',
'value': [
'ExtProcessPlanAssembly',
'ExtProcessPlanAOR'
]
}
]
}
post(`/ExtProcessPlan/count`, params).then(res => {
if (res.items) {
this.$set(this.missInfo, 'rightItem', res.items)
}
}).finally(() => {
})
},
getMissInfo(obj) {
const params = {
'pageFrom': 1,
'pageSize': 200,
'searchItems': {
'children': [
{
'items': [
{
'fieldName': 'extSupporting.extProcessPlanId',
'operator': 'EQ',
'value': obj.id
}
],
'operator': 'AND'
}
],
'items': [],
'operator': 'AND'
},
'openProps': [
{
'name': 'extMaterial'
},
{
'name': 'productWorkCenter'
}
],
'sortItem': [
{
'fieldName': 'modifyTime',
'sortOrder': 'desc'
}
]
}
post(`/ExtSupportingItem/supportingItemAoId`, params).then(res => {
if (res.items) {
this.$set(this.missInfo, 'missList', res.items)
}
}).finally(() => {
})
}, },
getStateOptions() { getStateOptions() {
this.$utils.getDicListByCode('PlanState').then(res => { this.$utils.getDicListByCode('PlanState').then(res => {
...@@ -105,16 +243,13 @@ export default { ...@@ -105,16 +243,13 @@ export default {
margin: 4px; margin: 4px;
margin-top: 0px; margin-top: 0px;
padding: 8px; padding: 8px;
height: calc(100% - 20px); height: 100%;
width: calc(100% - 24px); width: 100%;
background-color: #fff; background-color: #fff;
.detail-pane { .detail-pane {
width: 100%; width: 100%;
height: calc(100% - 6px); height: calc(100% - 6px);
} }
// .splitter-pane{
// height: calc(100% - 6px);
// }
.splitter-pane-resizer.vertical { .splitter-pane-resizer.vertical {
opacity: 1; opacity: 1;
background-color: #F1F4F5; background-color: #F1F4F5;
...@@ -124,7 +259,6 @@ export default { ...@@ -124,7 +259,6 @@ export default {
} }
.three-member-wrap{ .three-member-wrap{
height: 100%; height: 100%;
overflow: auto;
.dee-form2{ .dee-form2{
margin-top:6px; margin-top:6px;
.el-form-item{ .el-form-item{
...@@ -134,15 +268,11 @@ export default { ...@@ -134,15 +268,11 @@ export default {
} }
.resourceTable-wrap { .resourceTable-wrap {
height: 100%; height: 100%;
overflow: auto;
padding: 0 10px; padding: 0 10px;
box-sizing: border-box; box-sizing: border-box;
} }
.dee-panel{ .dee-panel{
height: 100%; height: 100% !important;
}
.el-tab-pane{
height: calc(100% - 10px);
} }
.color{ .color{
&.Not{ &.Not{
......
...@@ -3,47 +3,57 @@ ...@@ -3,47 +3,57 @@
<div class="missing-parts"> <div class="missing-parts">
<div class="search-box"> <div class="search-box">
<div class="title">生产准备符合项</div> <div class="title">生产准备符合项</div>
<div class="num">127/72</div> <div class="num">{{ detailInfo.leftItem }}/<span class="blue">{{ detailInfo.rightItem }} </span></div>
</div> </div>
<div class=""> <div class="">
<h4>缺件信息列表</h4> <h4>缺件信息列表</h4>
<el-table <el-table
:data="standData" :data="detailInfo.missList && detailInfo.missList.content"
border border
size="mini" size="mini"
align="center" align="center"
:height="420"
> >
<el-table-column <el-table-column
prop="serialNumber" prop="extMaterial.resName"
label="物料名称" label="物料名称"
width="60" width="60"
align="center" align="center"
/> />
<el-table-column <el-table-column
prop="serialNumber" prop="reqAmount"
label="需求数" label="需求数"
min-width="50" min-width="50"
align="center" align="center"
/> />
<el-table-column <el-table-column
prop="serialNumber" prop="unableAmount"
label="库存可用数" label="库存可用数"
min-width="50" min-width="50"
align="center" align="center"
/> />
<el-table-column <el-table-column
prop="serialNumber" prop="takeAmount"
label="库存占用数量" label="库存占用数量"
width="60" width="60"
align="center" align="center"
/> />
<el-table-column <el-table-column
prop="serialNumber" prop="lostAmount"
label="缺件数" label="缺件数"
min-width="50" min-width="50"
align="center" align="center"
/> />
</el-table> </el-table>
<!-- <el-pagination
v-if="detailInfo.missList && detailInfo.missList.totalElements>0"
small
:current-page="page"
:page-size="1"
layout="total, prev, pager, next, jumper"
:total="detailInfo.missList && detailInfo.missList.totalElements"
@current-change="handleCurrentChange"
/> -->
</div> </div>
</div> </div>
</template> </template>
...@@ -52,11 +62,27 @@ ...@@ -52,11 +62,27 @@
// import { post } from '@/utils/http' // import { post } from '@/utils/http'
export default { export default {
name: 'MissingParts', name: 'MissingParts',
props: {
info: {
type: Object,
default: () => ({})
}
},
data() { data() {
return { return {
standData: [{ detailInfo: {},
serialNumber: 1 page: 1,
}] pageSize: 20
}
},
watch: {
info: {
deep: true,
immediate: true,
handler(val) {
console.log(1212, val)
this.detailInfo = val
}
} }
}, },
created() { created() {
...@@ -65,6 +91,9 @@ export default { ...@@ -65,6 +91,9 @@ export default {
}, },
methods: { methods: {
handleCurrentChange(val) {
this.$emit('getInfo', val)
}
} }
} }
</script> </script>
...@@ -89,6 +118,9 @@ export default { ...@@ -89,6 +118,9 @@ export default {
text-align: center; text-align: center;
font-size:20px; font-size:20px;
margin: 10px 0; margin: 10px 0;
.blue{
color:#59c4e6;
}
} }
} }
} }
......
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