Browse Source

2024-09-11

RFQ更新
java8
fengyuan_yang 1 year ago
parent
commit
8fa5d6d2f5
  1. 8
      src/api/part/bomManagement.js
  2. 7
      src/api/part/routingManagement.js
  3. 9
      src/views/modules/part/bomManagement.vue
  4. 245
      src/views/modules/part/partInformation.vue
  5. 197
      src/views/modules/part/routingManagement.vue

8
src/api/part/bomManagement.js

@ -162,4 +162,12 @@ export const queryPartListBom = data => createAPI(`/part/bomManagement/queryPart
*/
export const getBomEngChgLevel = data => createAPI(`/part/bomManagement/getBomEngChgLevel`,'post',data)
/**
* 查出所有类型的物料
* @param data
* @returns {*}
*/
export const queryPartListAll = data => createAPI(`/part/bomManagement/queryPartListAll`,'post',data)

7
src/api/part/routingManagement.js

@ -146,3 +146,10 @@ export const updateAlternativeStatus = data => createAPI(`/part/routingManagemen
* @returns {*}
*/
export const queryPartListRouting = data => createAPI(`/part/routingManagement/queryPartListRouting`,'post',data)
/**
* 根据物料的商品组1查维护的标准工序
* @param data
* @returns {*}
*/
export const getStandardOperations = data => createAPI(`/part/routingManagement/getStandardOperations`,'post',data)

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

@ -772,6 +772,7 @@ import {
copyAlternative, // alternative,
queryBomComponentTable, //
getBomEngChgLevel, // BOM
queryPartListAll, // Purchase(Raw)
} from '@/api/part/bomManagement.js'
import {getSiteAndBuByUserName} from "@/api/eam/eam.js"
import {getTableDefaultListLanguage, getTableUserListLanguage} from "@/api/table.js"
@ -2823,7 +2824,7 @@ export default {
this.componentPartData.site = this.modalData.site
this.componentPartData.buNo = this.modalData.buNo
//
queryPartList(this.componentPartData).then(({data}) => {
queryPartListAll(this.componentPartData).then(({data}) => {
if (data && data.code === 0) {
this.componentPartList = data.page.list
this.pageIndex3 = data.page.currPage
@ -2909,7 +2910,7 @@ export default {
this.componentPartData.site = this.modalData.site
this.componentPartData.buNo = this.modalData.buNo
this.componentPartData.partNo = this.componentData.componentPart
queryPartList(this.componentPartData).then(({data}) => {
queryPartListAll(this.componentPartData).then(({data}) => {
if (data && data.code === 0) {
if (data.page.list.length === 1) {
this.componentData.componentPartDesc = data.page.list[0].partDesc
@ -2938,7 +2939,7 @@ export default {
if (data.page.list.length === 1) {
this.copyBomData.partDesc = data.page.list[0].partDesc
} else {
this.$message.warning('该物料不存在!')
this.$message.warning('该物料编码不存在或制造类型不合规!')
this.copyBomData.partDesc = ''
}
}
@ -2954,7 +2955,7 @@ export default {
if (data.page.list.length === 1) {
this.copyAlternativeData.partDesc = data.page.list[0].partDesc
} else {
this.$message.warning('该物料不存在!')
this.$message.warning('该物料编码不存在或制造类型不合规!')
this.copyAlternativeData.partDesc = ''
}
}

245
src/views/modules/part/partInformation.vue

@ -128,15 +128,15 @@
<el-input v-model="modalData.partNo" style="width: 128px"></el-input>
</el-form-item>
<el-form-item label="物料描述" prop="partDesc" style="margin-left: -10px">
<el-input v-model="modalData.partDesc" clearable style="width: 330px"></el-input>
<el-input v-model="modalData.partDesc" clearable style="width: 346px"></el-input>
</el-form-item>
<el-form-item label="物料描述(英文)">
<el-input v-model="modalData.partDesceEn" style="width: 330px"></el-input>
<el-input v-model="modalData.partDesceEn" style="width: 477px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;">
<el-form-item prop="spec" label="规格">
<el-input v-model="modalData.spec" style="width: 463px"></el-input>
<el-input v-model="modalData.spec" style="width: 477px"></el-input>
</el-form-item>
<el-form-item label="BU" prop="bu">
<el-select v-model="modalData.bu" placeholder="请选择" :disabled="modalDisableFlag" style="width: 216px">
@ -163,8 +163,17 @@
<el-tabs v-model="inventoryPartTable" style="width: 100%;height: 345px;" type="border-card" @tab-click="inventoryPartClick">
<el-tab-pane label="General" name="General">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;">
<el-form-item label="PN">
<el-input v-model="modalData.cinvSourceCode" style="width: 144px"></el-input>
</el-form-item>
<el-form-item label="SKU">
<el-input v-model="modalData.sku" style="width: 144px"></el-input>
</el-form-item>
<el-form-item label="cinvcname">
<el-input v-model="modalData.cinvcname" style="width: 145px"></el-input>
</el-form-item>
<el-form-item label="Part Type">
<el-select v-model="modalData.partType" style="width: 224px">
<el-select v-model="modalData.partType" style="width: 160px">
<el-option label="Manufactured" value="Manufactured"></el-option>
<el-option label="Manufactured Recipe" value="Manufactured Recipe"></el-option>
<el-option label="Purchased (raw)" value="Purchased (raw)"></el-option>
@ -172,26 +181,10 @@
</el-select>
</el-form-item>
<el-form-item label="物料类别">
<el-input v-model="modalData.invdefinetype" style="width: 224px"></el-input>
</el-form-item>
<el-form-item prop="umId">
<span style="cursor: pointer" slot="label" @click="getBaseList(510)"><a herf="#">计量单位 / Inventory UoM</a></span>
<el-input v-model="modalData.umId" @blur="umIdBlur(510)" style="width: 128px"></el-input>
<el-input v-model="modalData.umName" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;">
<el-form-item label="PN">
<el-input v-model="modalData.cinvSourceCode" style="width: 224px"></el-input>
</el-form-item>
<el-form-item label="SKU">
<el-input v-model="modalData.sku" style="width: 224px"></el-input>
</el-form-item>
<el-form-item label="cinvcname">
<el-input v-model="modalData.cinvcname" style="width: 224px"></el-input>
<el-input v-model="modalData.invdefinetype" style="width: 174px"></el-input>
</el-form-item>
<el-form-item prop="controlMes" label="controlMes">
<el-select v-model="modalData.controlMes" style="width: 224px">
<el-select v-model="modalData.controlMes" style="width: 100px">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
@ -207,17 +200,17 @@
<el-form-item label="Standard Box Qty">
<el-input v-model="modalData.standardBoxQty" style="width: 145px"></el-input>
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(511)"><a herf="#">默认仓库</a></span>
<el-input v-model="modalData.defaultWarehouseID" @blur="defaultWarehouseBlur(511)" style="width: 128px"></el-input>
<el-input v-model="modalData.defaultWarehouseName" disabled style="width: 330px"></el-input>
<el-form-item prop="umId">
<span style="cursor: pointer" slot="label" @click="getBaseList(510)"><a herf="#">计量单位 / Inventory UoM</a></span>
<el-input v-model="modalData.umId" @blur="umIdBlur(510)" style="width: 128px"></el-input>
<el-input v-model="modalData.umName" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;">
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(214)"><a herf="#">物料分类</a></span>
<el-input v-model="modalData.familyID" @blur="partFamilyBlur(214)" style="width: 128px"></el-input>
<el-input v-model="modalData.familyName" disabled style="width: 330px"></el-input>
<span style="cursor: pointer" slot="label" @click="getBaseList(511)"><a herf="#">默认仓库</a></span>
<el-input v-model="modalData.defaultWarehouseID" @blur="defaultWarehouseBlur(511)" style="width: 128px"></el-input>
<el-input v-model="modalData.defaultWarehouseName" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(211)"><a herf="#">商品组1</a></span>
@ -226,11 +219,23 @@
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;">
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(214)"><a herf="#">物料分类</a></span>
<el-input v-model="modalData.familyID" @blur="partFamilyBlur(214)" style="width: 128px"></el-input>
<el-input v-model="modalData.familyName" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(212)"><a herf="#">商品组2</a></span>
<el-input v-model="modalData.otherGroup2" @blur="productGroupId2Blur(212)" style="width: 128px"></el-input>
<el-input v-model="modalData.otherGroupName2" disabled style="width: 330px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;">
<el-form-item prop="codeNo" :rules="rules.codeNo">
<span style="cursor: pointer" slot="label" @click="getBaseList(219)"><a herf="#">属性模板</a></span>
<el-input v-model="modalData.codeNo" @blur="modelBlur(219)" style="width: 128px"></el-input>
<el-input v-model="modalData.codeDesc" disabled style="width: 330px"></el-input>
</el-form-item>
<el-form-item>
<span style="cursor: pointer" slot="label" @click="getBaseList(213)"><a herf="#">商品组3</a></span>
<el-input v-model="modalData.otherGroup3" @blur="productGroupId3Blur(213)" style="width: 128px"></el-input>
@ -276,80 +281,80 @@
<!-- 页签 -->
<el-tabs v-model="activeTable" style="width: 100%" :style="{height: secondHeight + 'px'}" type="border-card" @tab-click="tabClick" class="customer-tab">
<!-- &lt;!&ndash; 物料属性页签 &ndash;&gt;-->
<!-- <el-tab-pane label="物料属性" name="part_item">-->
<!-- <el-form label-position="top" style="margin-top: 2px; margin-left: 2px;">-->
<!-- <el-button type="primary" @click="addOrDelItem">新增</el-button>-->
<!-- <el-button type="primary" :loading="loading" @click="clickSave">{{ attributeDialog?'编辑':'保存' }}</el-button>-->
<!-- </el-form>-->
<!-- <div class="rq " v-if="attributeDialog">-->
<!-- <el-table-->
<!-- :data="partItemList"-->
<!-- :height="secondHeight - 50"-->
<!-- border-->
<!-- style="width: 100%;">-->
<!-- <el-table-column-->
<!-- v-for="(item,index) in columnItemList" :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">-->
<!-- <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>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<!-- </div>-->
<!-- <div class="rq " v-else>-->
<!-- <el-table-->
<!-- :data="copyAttributeList"-->
<!-- :height="secondHeight - 60"-->
<!-- border-->
<!-- style="width: 100%">-->
<!-- <el-table-column-->
<!-- v-for="(item,index) in columnItemList" :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">-->
<!-- <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>-->
<!-- <div v-if="scope.row.valueChooseFlag !== 'Y'">-->
<!-- <el-input-number v-model="scope.row.numValue" style="padding: 0;width: 100%" v-if="scope.row.valueTypeDb === 'N'" :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.valueTypeDb === 'T'" v-model="scope.row.textValue">-->
<!-- <el-option :value="i.availableValue" :label="i.availableValue" v-for="(i,key) in scope.row.list" :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.list" :key="key"></el-option>-->
<!-- </el-select>-->
<!-- </div>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<!-- </div>-->
<!-- </el-tab-pane>-->
<!-- 物料属性页签 -->
<el-tab-pane label="物料属性" name="part_item">
<el-form label-position="top" style="margin-top: 2px; margin-left: 2px;">
<el-button type="primary" @click="addOrDelItem">新增</el-button>
<el-button type="primary" :loading="loading" @click="clickSave">{{ attributeDialog?'编辑':'保存' }}</el-button>
</el-form>
<div class="rq " v-if="attributeDialog">
<el-table
:data="partItemList"
:height="secondHeight - 50"
border
style="width: 100%;">
<el-table-column
v-for="(item,index) in columnItemList" :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">
<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>
</template>
</el-table-column>
</el-table>
</div>
<div class="rq " v-else>
<el-table
:data="copyAttributeList"
:height="secondHeight - 60"
border
style="width: 100%">
<el-table-column
v-for="(item,index) in columnItemList" :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">
<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>
<div v-if="scope.row.valueChooseFlag !== 'Y'">
<el-input-number v-model="scope.row.numValue" style="padding: 0;width: 100%" v-if="scope.row.valueTypeDb === 'N'" :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.valueTypeDb === 'T'" v-model="scope.row.textValue">
<el-option :value="i.availableValue" :label="i.availableValue" v-for="(i,key) in scope.row.list" :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.list" :key="key"></el-option>
</el-select>
</div>
</div>
</template>
</el-table-column>
</el-table>
</div>
</el-tab-pane>
<!-- 代理商页签 -->
<el-tab-pane label="代理商" name="part_agent">
@ -1124,7 +1129,7 @@
//
loading: false,
//
activeTable: 'part_agent',
activeTable: 'part_item',
inventoryPartTable: 'General',
// ======== ========
modalData: {
@ -1540,7 +1545,7 @@
columnProp: 'textValue',
headerAlign: "center",
align: "left",
columnLabel: '实测值',
columnLabel: '属性值',
columnHidden: false,
columnImage: false,
status: true,
@ -2223,6 +2228,7 @@
this.itemData.itemDesc = ''
let tempData = {
site: this.partCurrentRow.site,
buNo: this.partCurrentRow.buNo,
partNo: this.partCurrentRow.partNo,
codeNo: this.partCurrentRow.codeNo,
recordType: 'IP'
@ -2259,7 +2265,8 @@
return
}
let inData = {
site: this.$store.state.user.site,
site: this.partCurrentRow.site,
buNo: this.partCurrentRow.buNo,
partNo: this.partCurrentRow.partNo,
codeNo: this.partCurrentRow.codeNo,
codeDesc: this.partCurrentRow.codeDesc,
@ -2291,7 +2298,8 @@
return false
}
let inData = {
site: this.$store.state.user.site,
site: this.partCurrentRow.site,
buNo: this.partCurrentRow.buNo,
partNo: this.partCurrentRow.partNo,
codeNo: this.partCurrentRow.codeNo,
codeDesc: this.partCurrentRow.codeDesc,
@ -2431,7 +2439,8 @@
*/
getPartItem () {
let tempData = {
site: this.$store.state.user.site,
site: this.partCurrentRow.site,
buNo: this.partCurrentRow.buNo,
partNo: this.partCurrentRow.partNo,
codeNo: this.partCurrentRow.codeNo,
recordType: 'IP'
@ -2512,15 +2521,17 @@
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
this.totalPage = data.page.totalCount
this.$refs.selectDiv.setLengthAll( this.dataList.length)
this.$refs.selectDiv.setLengthAll(this.dataList.length)
//
if (this.totalPage > 0) {
if (this.dataList.length > 0) {
//
this.$refs.partTable.setCurrentRow(this.dataList[0])
// table
this.refreshCurrentTabTable()
this.partClickRow(this.dataList[0])
} else {
this.partCurrentRow = {}
}
// table
this.refreshCurrentTabTable()
}
})
},
@ -3486,6 +3497,8 @@
strVal = this.modalData.defaultWarehouseID
} else if (val === 214) {
strVal = this.modalData.familyID
} else if (val === 219) {
strVal = this.modalData.codeNo
}
this.$refs.baseList.init(val, strVal)
})
@ -3513,16 +3526,16 @@
} else if (this.tagNo === 214) {
this.modalData.familyID = val.family_id
this.modalData.familyName = val.family_name
} else if (this.tagNo === 20) {
} else if (this.tagNo === 219) {
if (this.modalData.flag === '2') {
if (val.Code_no != this.tempCodeNo) {
if (val.code_no != this.tempCodeNo) {
this.$confirm(`更换属性模板将替换下方物料属性数据,请确认?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.modalData.codeNo = val.Code_no
this.$set(this.modalData, 'codeDesc', val.Code_desc)
this.modalData.codeNo = val.code_no
this.$set(this.modalData, 'codeDesc', val.code_desc)
}).catch(() => {
})
}

197
src/views/modules/part/routingManagement.vue

@ -179,6 +179,7 @@
<el-button v-if="modalData.flag === '2'" type="primary" @click="copyRoutingAlternative">Copy</el-button>
<el-button v-if="detailData.status === 'Tentative' || detailData.status === 'Obsolete'" type="primary" @click="updateStatusToBuildable">Build</el-button>
<el-button v-if="detailData.status === 'Buildable' && (modalData.effPhaseOutDate == null || modalData.effPhaseOutDate === '')" type="primary" @click="updateStatusToObsolete">Retire</el-button>
<el-button type="primary" @click="createByStandardOperation">基于标准工序快速创建</el-button>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="detailData" :rules="rules" style="margin-left: 7px">
@ -374,6 +375,14 @@
<el-input-number :controls="false" :step="0" v-model="componentData.setupCrewSize" style="width: 221px"></el-input-number>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules" style="margin-left: 5px">
<el-form-item :label="'机器处理时间'">
<el-input-number :controls="false" :step="0" v-model="componentData.machCycleTime" @change="changeMachCycleTime" style="width: 221px"></el-input-number>
</el-form-item>
<el-form-item :label="'人工处理时间'">
<el-input-number :controls="false" :step="0" v-model="componentData.laborCycleTime" style="width: 221px"></el-input-number>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" :rules="componentRules" style="margin-left: 5px">
<el-form-item :label="'机器单位产出'" prop="machRunFactor">
<el-input-number :controls="false" :step="0" v-model="componentData.machRunFactor" @change="changeMachRunFactor" style="width: 221px"></el-input-number>
@ -638,6 +647,35 @@
</el-footer>
</el-dialog>
<!-- 标准工序 -->
<el-dialog title="标准工序" top="20vh" :close-on-click-modal="false" v-drag :visible.sync="standardOperationModal" width="700px">
<el-table
:height="250"
:data="standardOperationList"
border
style="width: 100%;">
<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>
<el-footer style="height:35px;margin-top:10px;text-align:center">
<el-button type="primary" @click="saveStandardOperation">保存</el-button>
<el-button type="primary" @click="standardOperationModal = false">关闭</el-button>
</el-footer>
</el-dialog>
<!-- chooseList模态框 -->
<ChooseList ref="baseList" @getBaseData="getBaseData"></ChooseList>
</div>
@ -666,6 +704,7 @@ import {
copyRouting, // routing
copyAlternative, // alternative
queryMaxOperationNo, //
getStandardOperations, // 1
} from '@/api/part/routingManagement.js'
import {verifyData} from '@/api/part/partInformation.js'
import {getSiteAndBuByUserName} from "@/api/eam/eam.js"
@ -819,6 +858,8 @@ export default {
efficiencyFactor: '',
machRunFactor: '',
machSetupTime: '',
machCycleTime: '',
laborCycleTime: '',
runTimeCode: '',
laborRunFactor: '',
laborSetupTime: '',
@ -935,6 +976,7 @@ export default {
checkedTool: [],
alternativeList: [],
copyPartList: [],
standardOperationList: [],
// ======== ========
columnList: [
{
@ -1187,7 +1229,7 @@ export default {
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1223,7 +1265,7 @@ export default {
sortLv: 0,
status: true,
fixed: '',
columnWidth: 60
columnWidth: 80
},
{
userId: this.$store.state.user.name,
@ -1241,7 +1283,7 @@ export default {
sortLv: 0,
status: true,
fixed: '',
columnWidth: 85
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1259,7 +1301,7 @@ export default {
sortLv: 0,
status: true,
fixed: '',
columnWidth: 85
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1277,7 +1319,43 @@ export default {
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 601003,
serialNumber: '104003Table2MachCycleTime',
tableId: '104003Table2',
tableName: 'Routing工序表',
columnProp: 'machCycleTime',
headerAlign: 'center',
align: 'right',
columnLabel: '机器处理时间',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 601003,
serialNumber: '104003Table2LaborCycleTime',
tableId: '104003Table2',
tableName: 'Routing工序表',
columnProp: 'laborCycleTime',
headerAlign: 'center',
align: 'right',
columnLabel: '人工处理时间',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1295,7 +1373,7 @@ export default {
sortLv: 0,
status: true,
fixed: '',
columnWidth: 85
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1313,7 +1391,7 @@ export default {
sortLv: 0,
status: true,
fixed: '',
columnWidth: 85
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1331,7 +1409,7 @@ export default {
sortLv: 0,
status: true,
fixed: '',
columnWidth: 85
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1349,7 +1427,7 @@ export default {
sortLv: 0,
status: true,
fixed: '',
columnWidth: 85
columnWidth: 100
},
{
userId: this.$store.state.user.name,
@ -1542,6 +1620,74 @@ export default {
fixed: '',
}
],
standardOperationColumnList: [
{
columnProp: 'operationNo',
headerAlign: "center",
align: "center",
columnLabel: '工序编码',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 100
},
{
columnProp: 'operationName',
headerAlign: "center",
align: "left",
columnLabel: '工序描述',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 200
},
{
columnProp: 'workCenterNo',
headerAlign: "center",
align: "center",
columnLabel: '加工中心编码',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 120
},
{
columnProp: 'workCenterDesc',
headerAlign: "center",
align: "left",
columnLabel: '加工中心描述',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 200
},
{
columnProp: 'laborClassNo',
headerAlign: "center",
align: "center",
columnLabel: '人员等级编码',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 120
},
{
columnProp: 'laborClassDesc',
headerAlign: "center",
align: "left",
columnLabel: '人员等级描述',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 200
},
],
// ======== ========
rules: {
partNo: [
@ -1715,6 +1861,7 @@ export default {
headerSaveFlag: false,
menuId: this.$route.meta.menuId,
copyPartModelFlag: false,
standardOperationModal: false
}
},
@ -2160,6 +2307,29 @@ export default {
})
},
//
createByStandardOperation () {
getStandardOperations(this.modalData).then(({data}) => {
if (data && data.code === 0) {
this.standardOperationList = data.rows
this.standardOperationModal = true
} else {
this.$alert(data.msg, '提示', {
confirmButtonText: '确定'
})
}
})
},
// Routing
saveStandardOperation () {
if (this.standardOperationList.length === 0) {
this.$message.warning('请维护商品组的标准工序!')
return
}
},
/**
* 新增子明细模态框
*/
@ -2201,6 +2371,8 @@ export default {
setupLaborClassDesc: '',
noteText: '',
createBy: this.$store.state.user.name,
machCycleTime: '',
laborCycleTime: ''
}
this.queryMaxOperationNo()
this.componentDisableFlag = false
@ -2253,6 +2425,8 @@ export default {
setupLaborClassDesc: row.setupLaborClassDesc,
noteText: row.noteText,
updateBy: this.$store.state.user.name,
machCycleTime: row.machCycleTime,
laborCycleTime: row.laborCycleTime
}
this.componentDisableFlag = true
this.componentSaveModal = true
@ -3146,6 +3320,11 @@ export default {
this.componentData.laborRunFactor = this.componentData.machRunFactor
},
//
changeMachCycleTime () {
this.componentData.laborCycleTime = this.componentData.machCycleTime
},
//
workCenterBlur (tagNo) {
if (this.componentData.workCenterNo != null && this.componentData.workCenterNo !== '') {

Loading…
Cancel
Save