Browse Source

2025-04-18

Bom复制优化
java8
fengyuan_yang 9 months ago
parent
commit
81c78caa78
  1. 4
      src/views/modules/part/bomManagement.vue
  2. 4
      src/views/modules/part/bom_create.vue
  3. 4
      src/views/modules/part/copy_bom_modal.vue
  4. 161
      src/views/modules/part/routing_create.vue

4
src/views/modules/part/bomManagement.vue

@ -2144,10 +2144,10 @@ export default {
batchComponentPartModelFlag: false,
batchOperationModelFlag: false,
// ======== ========
productionDataFamily: ['RFID003', 'RFID004', 'RFID005', 'RFID006', 'RFID007', 'RFID008', 'RFID009', 'RFID012', 'RFID023', 'RFID024', 'RFID025', 'RFID027'],
productionDataFamily: ['RFID003', 'RFID004', 'RFID005', 'RFID006', 'RFID007', 'RFID008', 'RFID009', 'RFID012', 'RFID023', 'RFID024', 'RFID025', 'RFID026', 'RFID027'],
materialDataFamily: ['RFID011', 'RFID020', 'RFID021', 'RFID022'],
finishedProductDataFamily: ['RFID020', 'RFID021', 'RFID022'],
consumptionLossFamily: ['RFID001', 'RFID002', 'RFID014', 'RFID015', 'RFID016', 'RFID017', 'RFID018', 'RFID019'],
consumptionLossFamily: ['RFID001', 'RFID002', 'RFID011', 'RFID014', 'RFID015', 'RFID016', 'RFID017', 'RFID018', 'RFID019'],
coatingLengthFamily: ['RFID013'],
glueWeightFamily: ['RFID013'],
materialWidthFamily: ['RFID014', 'RFID015'],

4
src/views/modules/part/bom_create.vue

@ -1399,10 +1399,10 @@ export default {
operationModelFlag: false,
batchOperationModelFlag: false,
// ======== ========
productionDataFamily: ['RFID003', 'RFID004', 'RFID005', 'RFID006', 'RFID007', 'RFID008', 'RFID009', 'RFID012', 'RFID023', 'RFID024', 'RFID025', 'RFID027'],
productionDataFamily: ['RFID003', 'RFID004', 'RFID005', 'RFID006', 'RFID007', 'RFID008', 'RFID009', 'RFID012', 'RFID023', 'RFID024', 'RFID025', 'RFID026', 'RFID027'],
materialDataFamily: ['RFID011', 'RFID020', 'RFID021', 'RFID022'],
finishedProductDataFamily: ['RFID020', 'RFID021', 'RFID022'],
consumptionLossFamily: ['RFID001', 'RFID002', 'RFID014', 'RFID015', 'RFID016', 'RFID017', 'RFID018', 'RFID019'],
consumptionLossFamily: ['RFID001', 'RFID002', 'RFID011', 'RFID014', 'RFID015', 'RFID016', 'RFID017', 'RFID018', 'RFID019'],
coatingLengthFamily: ['RFID013'],
glueWeightFamily: ['RFID013'],
materialWidthFamily: ['RFID014', 'RFID015'],

4
src/views/modules/part/copy_bom_modal.vue

@ -1567,10 +1567,10 @@ export default {
standardOperationModal: false,
computeLoading: false,
// ======== ========
productionDataFamily: ['RFID003', 'RFID004', 'RFID005', 'RFID006', 'RFID007', 'RFID008', 'RFID009', 'RFID012', 'RFID023', 'RFID024', 'RFID025', 'RFID027'],
productionDataFamily: ['RFID003', 'RFID004', 'RFID005', 'RFID006', 'RFID007', 'RFID008', 'RFID009', 'RFID012', 'RFID023', 'RFID024', 'RFID025', 'RFID026', 'RFID027'],
materialDataFamily: ['RFID011', 'RFID020', 'RFID021', 'RFID022'],
finishedProductDataFamily: ['RFID020', 'RFID021', 'RFID022'],
consumptionLossFamily: ['RFID001', 'RFID002', 'RFID014', 'RFID015', 'RFID016', 'RFID017', 'RFID018', 'RFID019'],
consumptionLossFamily: ['RFID001', 'RFID002', 'RFID011', 'RFID014', 'RFID015', 'RFID016', 'RFID017', 'RFID018', 'RFID019'],
coatingLengthFamily: ['RFID013'],
glueWeightFamily: ['RFID013'],
materialWidthFamily: ['RFID014', 'RFID015'],

161
src/views/modules/part/routing_create.vue

@ -265,36 +265,92 @@
<!-- 标准工序 -->
<el-dialog title="标准工序" top="20vh" :close-on-click-modal="false" v-drag :visible.sync="standardOperationModal" width="1000px">
<el-table
:height="350"
:data="standardOperationList"
ref="standardOperationTable"
@row-click="standardOperationClickRow"
@selection-change="selectionStandardOperation"
border
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
v-for="(item,index) in standardOperationColumnList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
<div class="rq ">
<el-table
:height="350"
:data="standardOperationList"
ref="standardOperationTable"
@selection-change="selectionStandardOperation"
border
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
v-for="(item,index) in standardOperationColumnList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column
prop=""
header-align="center"
align="right"
min-width="100"
label="生产过程人数">
<template slot-scope="scope">
<el-input-number :controls="false" :step="0" :ref="`crewSize${scope.$index}`" v-model="scope.row.crewSize" @keyup.enter.native="focusNextInput(scope.$index, 'crewSize')" style="height: 11px; width: 98%"></el-input-number>
</template>
</el-table-column>
<el-table-column
prop=""
header-align="center"
align="right"
min-width="80"
label="速度">
<template slot-scope="scope">
<el-input-number :controls="false" :step="0" :ref="`refSpeed${scope.$index}`" v-model="scope.row.refSpeed" @keyup.enter.native="focusNextInput(scope.$index, 'refSpeed')" style="height: 11px; width: 98%"></el-input-number>
</template>
</el-table-column>
<el-table-column
prop=""
header-align="center"
align="right"
min-width="80"
label="时间">
<template slot-scope="scope">
<el-input-number :controls="false" :step="0" :ref="`refTime${scope.$index}`" v-model="scope.row.refTime" @keyup.enter.native="focusNextInput(scope.$index, 'refTime')" style="height: 11px; width: 98%"></el-input-number>
</template>
</el-table-column>
<el-table-column
prop=""
header-align="center"
align="right"
min-width="80"
label="效率">
<template slot-scope="scope">
<el-input-number :controls="false" :step="0" :ref="`refEfficiency${scope.$index}`" v-model="scope.row.refEfficiency" @keyup.enter.native="focusNextInput(scope.$index, 'refEfficiency')" style="height: 11px; width: 98%"></el-input-number>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in standardOperationColumnList2" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
</div>
<el-footer style="height:35px;margin-top:10px;text-align:center">
<el-button type="primary" @click="calculationTime">计算工时</el-button>
<el-button type="primary" @click="saveStandardOperation">保存</el-button>
@ -349,8 +405,8 @@ export default {
return {
//
exportData: [],
exportName: 'routing物料列表' + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ['routing物料列表'],
exportName: 'Routing物料列表' + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ['Routing物料列表'],
exportFooter: [],
resultList: [],
userBuList: [],
@ -1332,38 +1388,29 @@ export default {
fixed: '',
columnWidth: 100
},
{
columnProp: 'crewSize',
headerAlign: "center",
align: "right",
columnLabel: '生产过程中人数',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 100
},
],
standardOperationColumnList2: [
{
columnProp: 'laborClassNo',
headerAlign: "center",
align: "center",
align: "left",
columnLabel: '人员等级编码',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 120
columnWidth: 100
},
{
columnProp: 'laborClassDesc',
headerAlign: "center",
align: "center",
align: "left",
columnLabel: '人员等级描述',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 120
columnWidth: 150
},
{
columnProp: 'laborCycleTime',
@ -1390,7 +1437,7 @@ export default {
{
columnProp: 'workCenterNo',
headerAlign: "center",
align: "center",
align: "left",
columnLabel: '加工中心编码',
columnHidden: false,
columnImage: false,
@ -1401,7 +1448,7 @@ export default {
{
columnProp: 'workCenterDesc',
headerAlign: "center",
align: "center",
align: "left",
columnLabel: '加工中心描述',
columnHidden: false,
columnImage: false,
@ -1412,7 +1459,7 @@ export default {
{
columnProp: 'conditionDesc',
headerAlign: 'center',
align: 'center',
align: 'left',
columnLabel: '条件描述',
columnHidden: false,
columnImage: false,
@ -1964,9 +2011,17 @@ export default {
})
},
//
standardOperationClickRow (row) {
this.$refs.standardOperationTable.toggleRowSelection(row)
//
focusNextInput (index, type) {
let aaa = ''
if (this.standardOperationList.length - 1 === index) {
aaa = `${type}0`
} else {
aaa = `${type}${index + 1}`
}
this.$nextTick(() => {
this.$refs[aaa].focus()
})
},
//

Loading…
Cancel
Save