Browse Source

2024.9.21 一、物料成本信息维护(第二版)

二、加工中心功能改造
三、标准工序(第三版)
四、商品组 - 标准工序(第三版)
五、商品组 - Process Time Matrix(第二版)
java8
yuejiayang 1 year ago
parent
commit
dc19c57da7
  1. 300
      src/views/modules/part/partProductGroupInformation.vue

300
src/views/modules/part/partProductGroupInformation.vue

@ -287,12 +287,22 @@
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<div v-if="item.columnProp !== 'textValue' && item.columnProp !== 'numValue'">
<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>
<div v-if="item.columnProp === 'valueType'">
<span v-if="scope.row.valueType === 'text'">
文本
</span>
<span v-else-if="scope.row.valueType === 'num'">
数字
</span>
</div>
<div v-else>
{{scope.row.textValue?scope.row.textValue:scope.row.numValue}}
<div v-if="item.columnProp !== 'textValue' && item.columnProp !== 'numValue'">
<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>
</div>
<div v-else>
{{ scope.row.textValue ? scope.row.textValue : scope.row.numValue }}
</div>
</div>
</template>
</el-table-column>
@ -301,7 +311,7 @@
<el-tab-pane label="工序Process Time" name="second">
<el-button type="primary" @click="updatePtmConditionProcessModal" style="margin-top: 5px">编辑</el-button>
<el-table
:height="height - 300"
:height="height - 369"
:data="productGroupPtmConditionProcessList"
border
style="width: 100%;">
@ -329,7 +339,7 @@
</el-footer>
</el-dialog>
<el-dialog title="Process Time Matrix - 新增" :close-on-click-modal="false" v-drag :visible.sync="ptmSaveFlag" @close="closeProductGroupPtmDialog" width="444px">
<el-dialog title="Process Time Matrix - 新增" :close-on-click-modal="false" v-drag :visible.sync="ptmSaveFlag" @close="closeProductGroupPtmSaveDialog" width="444px">
<el-form :inline="true" label-position="top" :model="ptmModalData" :rules="rules" style="margin-top: -5px;">
<el-form-item label="序号" prop="seqNo" :rules="rules.seqNo">
<el-input v-model="ptmModalData.seqNo" disabled style="width: 100px"></el-input>
@ -349,9 +359,9 @@
</el-footer>
</el-dialog>
<el-dialog title="属性值编辑" :close-on-click-modal="false" v-drag :visible.sync="ptmConditionItemUpdateFlag" @close="closePtmConditionItemUpdateDialog" width="444px">
<el-dialog title="属性值编辑" :close-on-click-modal="false" v-drag :visible.sync="ptmConditionItemUpdateFlag" @close="closePtmConditionItemUpdateDialog" width="888px">
<el-table
:height="height - 310"
:height="height - 149"
:data="copyItemAttributeList"
border
style="width: 100%">
@ -367,22 +377,32 @@
:label="item.columnLabel"
>
<template slot-scope="scope">
<div v-if="item.columnProp !== 'textValue' && item.columnProp !== 'numValue'">
<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>
<div v-if="item.columnProp === 'valueType'">
<span v-if="scope.row.valueType === 'text'">
文本
</span>
<span v-else-if="scope.row.valueType === 'num'">
数字
</span>
</div>
<div v-else>
<div v-if="scope.row.valueChooseFlag !== 'Y'">
<el-input-number v-model="scope.row.numValue" style="padding: 0;width: 100%" v-if="scope.row.valueType === 'num'" :controls="false"></el-input-number>
<el-input v-model="scope.row.textValue" v-else></el-input>
<div v-if="item.columnProp !== 'textValue' && item.columnProp !== 'numValue'">
<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>
</div>
<div v-else>
<el-select style="width: 100%;" v-if="scope.row.valueType === 'text'" v-model="scope.row.textValue">
<el-option :value="i.availableValue" :label="i.availableValue" v-for="(i,key) in scope.row.availableValueList" :key="key"></el-option>
</el-select>
<el-select style="width: 100%;" v-else v-model="scope.row.numValue">
<el-option :value="i.availableValue" :label="i.availableValue" v-for="(i,key) in scope.row.availableValueList" :key="key"></el-option>
</el-select>
<div v-if="scope.row.valueChooseFlag !== 'Y'">
<el-input-number v-model="scope.row.numValue" style="padding: 0;width: 100%" v-if="scope.row.valueType === 'num'" :controls="false"></el-input-number>
<el-input v-model="scope.row.textValue" v-else></el-input>
</div>
<div v-else>
<el-select style="width: 100%;" v-if="scope.row.valueType === 'text'" v-model="scope.row.textValue">
<el-option :value="i.availableValue" :label="i.availableValue" v-for="(i,key) in scope.row.availableValueList" :key="key"></el-option>
</el-select>
<el-select style="width: 100%;" v-else v-model="scope.row.numValue">
<el-option :value="i.availableValue" :label="i.availableValue" v-for="(i,key) in scope.row.availableValueList" :key="key"></el-option>
</el-select>
</div>
</div>
</div>
</template>
@ -394,15 +414,15 @@
</el-footer>
</el-dialog>
<el-dialog title="工序Process Time编辑" :close-on-click-modal="false" v-drag :visible.sync="ptmConditionProcessUpdateFlag" @close="closePtmConditionProcessUpdateDialog" width="1073px">
<el-dialog title="工序Process Time编辑" :close-on-click-modal="false" v-drag :visible.sync="ptmConditionProcessUpdateFlag" @close="closePtmConditionProcessUpdateDialog" width="888px">
<el-table
:height="height - 300"
:height="height - 350"
:data="copyProcessAttributeList"
border
style="width: 100%">
<el-table-column
v-for="(item,index) in stdProcessColumnList" :key="index"
v-if="item.isVisible === true ?item.isVisible:isVisible1"
v-for="(item,index) in stdProcessColumnList1" :key="index"
v-if="item.isVisible === true ? item.isVisible : isVisible1"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
@ -417,10 +437,10 @@
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</div>
<div v-else>
<el-input v-model="scope.row.machCycleTime" v-if="item.columnProp === 'machCycleTime'" @change="changeMachCycleTime(scope.row)"></el-input>
<el-input v-model="scope.row.laborCycleTime" v-if="item.columnProp === 'laborCycleTime'" @change="changeLaborCycleTime(scope.row)"></el-input>
<el-input v-model="scope.row.machRunFactor" v-if="item.columnProp === 'machRunFactor'" @change="changeMachRunFactor(scope.row)"></el-input>
<el-input v-model="scope.row.laborRunFactor" v-if="item.columnProp === 'laborRunFactor'"></el-input>
<el-input v-model="scope.row.machCycleTime" v-if="item.columnProp === 'machCycleTime'" @change="changeMachCycleTime(scope.row)" class="inlineNumber numInput"></el-input>
<el-input v-model="scope.row.laborCycleTime" v-if="item.columnProp === 'laborCycleTime'" @change="changeLaborCycleTime(scope.row)" class="inlineNumber numInput"></el-input>
<el-input v-model="scope.row.machRunFactor" v-if="item.columnProp === 'machRunFactor'" @change="changeMachRunFactor(scope.row)" class="inlineNumber numInput"></el-input>
<el-input v-model="scope.row.laborRunFactor" v-if="item.columnProp === 'laborRunFactor'" class="inlineNumber numInput"></el-input>
</div>
</template>
</el-table-column>
@ -753,7 +773,7 @@ export default {
tableName: "标准工序表",
columnProp: 'operationNo',
headerAlign: "center",
align: "left",
align: "center",
columnLabel: '工序号',
columnHidden: false,
columnImage: false,
@ -772,7 +792,7 @@ export default {
tableName: "标准工序表",
columnProp: 'operationName',
headerAlign: "center",
align: "center",
align: "left",
columnLabel: '工序名称',
columnHidden: false,
columnImage: false,
@ -1010,6 +1030,215 @@ export default {
isVisible: true //
},
],
stdProcessColumnList1: [
{
userId: this.$store.state.user.name,
functionId: 601006,
serialNumber: '601006Table2BuDesc',
tableId: "601006Table2",
tableName: "标准工序表",
columnProp: 'buDesc',
headerAlign: "center",
align: "center",
columnLabel: 'BU',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60,
isVisible: true //
},
{
userId: this.$store.state.user.name,
functionId: 601006,
serialNumber: '601006Table2OperationNo',
tableId: "601006Table2",
tableName: "标准工序表",
columnProp: 'operationNo',
headerAlign: "center",
align: "center",
columnLabel: '工序号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 50,
isVisible: true //
},
{
userId: this.$store.state.user.name,
functionId: 601006,
serialNumber: '601006Table2OperationName',
tableId: "601006Table2",
tableName: "标准工序表",
columnProp: 'operationName',
headerAlign: "center",
align: "left",
columnLabel: '工序名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 170,
isVisible: true //
},
{
functionId: 601006,
serialNumber: '601006Table2WorkCenterNo',
tableId: '601006Table2',
tableName: '标准工序表',
columnProp: 'workCenterNo',
headerAlign: 'center',
align: 'left',
columnLabel: '加工中心编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
isVisible: true //
},
{
functionId: 601006,
serialNumber: '601006Table2WorkCenterDesc',
tableId: '601006Table2',
tableName: '标准工序表',
columnProp: 'workCenterDesc',
headerAlign: 'center',
align: 'left',
columnLabel: '加工中心名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 170,
isVisible: true //
},
{
userId: this.$store.state.user.name,
functionId: 601006,
serialNumber: '601006Table2LaborClassDesc',
tableId: "601006Table2",
tableName: "标准工序表",
columnProp: 'laborClassDesc',
headerAlign: "center",
align: "left",
columnLabel: '人员等级',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
isVisible: true //
},
{
userId: this.$store.state.user.name,
functionId: 601006,
serialNumber: '601006Table2SetupLaborClassDesc',
tableId: "601006Table2",
tableName: "标准工序表",
columnProp: 'setupLaborClassDesc',
headerAlign: "center",
align: "left",
columnLabel: '调机时人员等级',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
isVisible: true //
},
{
userId: this.$store.state.user.name,
functionId: 601006,
serialNumber: '601006Table2MachCycleTime',
tableId: "601006Table2",
tableName: "标准工序表",
columnProp: 'machCycleTime',
headerAlign: "center",
align: "right",
columnLabel: '机器处理时间',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
isVisible: false //
},
{
userId: this.$store.state.user.name,
functionId: 601006,
serialNumber: '601006Table2LaborCycleTime',
tableId: "601006Table2",
tableName: "标准工序表",
columnProp: 'laborCycleTime',
headerAlign: "center",
align: "right",
columnLabel: '人工处理时间',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
isVisible: false //
},
{
userId: this.$store.state.user.name,
functionId: 601006,
serialNumber: '601006Table2MachRunFactor',
tableId: "601006Table2",
tableName: "标准工序表",
columnProp: 'machRunFactor',
headerAlign: "center",
align: "right",
columnLabel: '机器单位产出',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
isVisible: false //
},
{
userId: this.$store.state.user.name,
functionId: 601006,
serialNumber: '601006Table2LaborRunFactor',
tableId: "601006Table2",
tableName: "标准工序表",
columnProp: 'laborRunFactor',
headerAlign: "center",
align: "right",
columnLabel: '人工单位产出',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
isVisible: false //
},
],
columnItemList: [
{
userId: this.$store.state.user.name,
@ -1700,7 +1929,15 @@ export default {
})
},
closeProductGroupPtmDialog () {
closeProductGroupPtmDialog (){
this.productGroupPtmConditionList = []
this.productGroupPtmConditionItemList = []
this.productGroupPtmConditionProcessList = []
this.productGroupPtmFlag = false
this.activeName = 'first'
},
closeProductGroupPtmSaveDialog () {
this.ptmModalData = {
conditionDesc: '',
itemNo: '',
@ -1755,6 +1992,7 @@ export default {
updatePtmConditionProcessValue () {
let tempData = {
updateBy: this.$store.state.user.name,
ptmProcessAddList: JSON.parse(JSON.stringify(this.copyProcessAttributeList))
}
updatePtmConditionProcessValue(tempData).then(({data}) => {

Loading…
Cancel
Save