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