Browse Source

2025/7/15

master
Aoi_Tori 6 months ago
parent
commit
53873518cd
  1. 4
      src/views/modules/oss/ossComponents.vue
  2. 189
      src/views/modules/part/bomManagement.vue
  3. 6
      src/views/modules/sampleManagement/technicalSpecificationList.vue

4
src/views/modules/oss/ossComponents.vue

@ -283,8 +283,8 @@ export default {
<template> <template>
<div> <div>
<template v-show="saveVisible&&effectiveVisibleFlag&&!readonly">
<el-button type="primary" v-if="this.orderRef1 && this.orderRef2 && !disabled" @click="handleUpload">上传附件</el-button>
<template v-show="saveVisible&&effectiveVisibleFlag">
<el-button type="primary" v-if="this.orderRef1 && this.orderRef2 && !disabled&&!readonly" @click="handleUpload">上传附件</el-button>
</template> </template>
<template v-if="downloadVisible&&!readonly"> <template v-if="downloadVisible&&!readonly">
<el-button type="primary" @click="handleDownload">下载</el-button> <el-button type="primary" @click="handleDownload">下载</el-button>

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

@ -563,7 +563,7 @@
<!-- 子物料页签 --> <!-- 子物料页签 -->
<el-tabs v-model="componentTable" style="width: 100%;height: 300px" type="border-card" @tab-click="tabClick" class="sub_detail-tab"> <el-tabs v-model="componentTable" style="width: 100%;height: 300px" type="border-card" @tab-click="tabClick" class="sub_detail-tab">
<!-- 子物料BOM --> <!-- 子物料BOM -->
<el-tab-pane label="产品BOM" name="component_part_bom">
<el-tab-pane label="产品BOM" v-if="componentPartCurrentRow.ifHasBom==='Y'" name="component_part_bom">
<el-table <el-table
:data="componentPartBomList" :data="componentPartBomList"
height="250px" height="250px"
@ -586,29 +586,29 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<!-- <el-tab-pane label="配方BOM" name="component_part_recipe">-->
<!-- <el-table-->
<!-- :data="componentPartRecipeList"-->
<!-- height="250px"-->
<!-- border-->
<!-- style="width: 100%;">-->
<!-- <el-table-column-->
<!-- v-for="(item,index) in columnComponentPartList" :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-tab-pane>-->
<el-tab-pane label="配方BOM" v-if="componentPartCurrentRow.ifHasPeifang==='Y'" name="component_part_recipe">
<el-table
:data="componentPartRecipeList"
height="250px"
border
style="width: 100%;">
<el-table-column
v-for="(item,index) in columnComponentPartList" :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-tab-pane>
</el-tabs> </el-tabs>
<el-footer style="height:35px;margin-top:10px;text-align:center"> <el-footer style="height:35px;margin-top:10px;text-align:center">
<el-button type="primary" @click="componentPartModelFlag = false">关闭</el-button> <el-button type="primary" @click="componentPartModelFlag = false">关闭</el-button>
@ -1138,7 +1138,11 @@ import ChooseList from '@/views/modules/common/Chooselist'
import {isAuth} from "../../../utils"; import {isAuth} from "../../../utils";
import FilterSearch from "../../common/filterSearch.vue"; import FilterSearch from "../../common/filterSearch.vue";
import {partAllInfoSearchAny} from "../../../api/part/partAllInfoSearch"; import {partAllInfoSearchAny} from "../../../api/part/partAllInfoSearch";
import {bomManagementSearchAny, queryProductGroupId4} from "../../../api/part/bomManagement";
import {
bomManagementSearchAny,
queryComponentPartRecipeList,
queryProductGroupId4
} from "../../../api/part/bomManagement";
import {queryWorkCenterList} from "../../../api/part/workCenter"; import {queryWorkCenterList} from "../../../api/part/workCenter";
import {queryWorkerLevelList} from "../../../api/base/laborClass"; import {queryWorkerLevelList} from "../../../api/base/laborClass";
@ -1192,6 +1196,12 @@ export default {
this.partData.partNo = this.partData.partNo.toUpperCase() this.partData.partNo = this.partData.partNo.toUpperCase()
} }
}, },
componentPartModelFlag: {
deep: true,
handler: function (newV, oldV) {
this.componentPartCurrentRow = {}
}
},
'componentPartProductGroupId4Data.productGroupId4': { 'componentPartProductGroupId4Data.productGroupId4': {
deep: true, deep: true,
handler: function (newV, oldV) { handler: function (newV, oldV) {
@ -1203,6 +1213,17 @@ export default {
handler: function (newV, oldV) { handler: function (newV, oldV) {
this.partData.productGroupId4 = this.componentPartProductGroupId4SaveData.productGroupId4 this.partData.productGroupId4 = this.componentPartProductGroupId4SaveData.productGroupId4
} }
},
componentPartCurrentRow: {
handler: function (newV, oldV) {
if (newV.ifHasBom==='Y'||newV.ifHasPeifang==='Y'){
if (newV.ifHasBom==='Y'){
this.componentTable = 'component_part_bom'
} else {
this.componentTable = 'component_part_recipe'
}
}
}
} }
}, },
@ -2873,6 +2894,96 @@ export default {
columnWidth: 80 columnWidth: 80
}, },
], ],
columnComponentPartList1: [
{
columnProp: 'engChgLevel',
headerAlign: "center",
align: "center",
columnLabel: 'BOM版本号',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 60
},
{
columnProp: 'bomType',
headerAlign: "center",
align: "center",
columnLabel: '制造类型',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 100
},
{
columnProp: 'alternativeNo',
headerAlign: "center",
align: "center",
columnLabel: '替代编码',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 80
},
{
columnProp: 'alternativeDescription',
headerAlign: "center",
align: "left",
columnLabel: '替代名称',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 100
},
{
columnProp: 'componentPart',
headerAlign: "center",
align: "left",
columnLabel: '子物料编码',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 100
},
{
columnProp: 'weightShare',
headerAlign: "center",
align: "left",
columnLabel: '重量分配',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 200
},
{
columnProp: 'partsByWeight',
headerAlign: "center",
align: "right",
columnLabel: '零件-按重量',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 140
},
{
columnProp: 'qtyUom',
headerAlign: "center",
align: "left",
columnLabel: '数量计量单位',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 80
},
],
productGroupId4ColumnList: [ productGroupId4ColumnList: [
{ {
columnProp: 'productGroupId4', columnProp: 'productGroupId4',
@ -3920,6 +4031,15 @@ export default {
this.pageIndex3 = data.page.currPage this.pageIndex3 = data.page.currPage
this.pageSize3 = data.page.pageSize this.pageSize3 = data.page.pageSize
this.totalPage3 = data.page.totalCount this.totalPage3 = data.page.totalCount
if (data.page.list.length > 0){
this.componentPartCurrentRow = JSON.parse(JSON.stringify(this.componentPartList[0]))
if (this.componentPartCurrentRow.ifHasPeifang==='Y'){
this.queryComponentPartRecipeList()
}
if (this.componentPartCurrentRow.ifHasBom==='Y'){
this.queryComponentPartBomList()
}
}
this.componentPartModelFlag = true this.componentPartModelFlag = true
} else { } else {
this.$alert(data.msg, '错误', { this.$alert(data.msg, '错误', {
@ -3931,9 +4051,9 @@ export default {
// table // table
tabClick () { tabClick () {
if (this.componentTable === 'component_part_bom') {
this.queryComponentPartBomList()
}
// if (this.componentTable === 'component_part_bom') {
// this.queryComponentPartBomList()
// }
}, },
// Bom // Bom
@ -3973,10 +4093,10 @@ export default {
// //
componentPartClickRow (row, column) { componentPartClickRow (row, column) {
this.componentPartCurrentRow = JSON.parse(JSON.stringify(row)) this.componentPartCurrentRow = JSON.parse(JSON.stringify(row))
if (this.componentPartCurrentRow.ifHasPeifang){
if (this.componentPartCurrentRow.ifHasPeifang==='Y'){
this.queryComponentPartRecipeList() this.queryComponentPartRecipeList()
} }
if (this.componentPartCurrentRow.ifHasBom){
if (this.componentPartCurrentRow.ifHasBom==='Y'){
this.queryComponentPartBomList() this.queryComponentPartBomList()
} }
}, },
@ -4021,6 +4141,15 @@ export default {
this.pageIndex3 = data.page.currPage this.pageIndex3 = data.page.currPage
this.pageSize3 = data.page.pageSize this.pageSize3 = data.page.pageSize
this.totalPage3 = data.page.totalCount this.totalPage3 = data.page.totalCount
if (data.page.list.length > 0){
this.componentPartCurrentRow = JSON.parse(JSON.stringify(this.componentPartList[0]))
if (this.componentPartCurrentRow.ifHasPeifang==='Y'){
this.queryComponentPartRecipeList()
}
if (this.componentPartCurrentRow.ifHasBom==='Y'){
this.queryComponentPartBomList()
}
}
} else { } else {
this.componentPartList = [] this.componentPartList = []
} }

6
src/views/modules/sampleManagement/technicalSpecificationList.vue

@ -117,12 +117,12 @@
<!-- <a type="text" size="small" @click="addRevModel(scope.row)" v-if="scope.row.statusDesc!=='已完成'">升版</a>--> <!-- <a type="text" size="small" @click="addRevModel(scope.row)" v-if="scope.row.statusDesc!=='已完成'">升版</a>-->
<!-- <a type="text" size="small" @click="addOrUpdateHandle(scope.row.id)" v-if="scope.row.statusDesc!=='已完成'">修改</a>--> <!-- <a type="text" size="small" @click="addOrUpdateHandle(scope.row.id)" v-if="scope.row.statusDesc!=='已完成'">修改</a>-->
<!-- <a type="text" size="small" v-if="scope.row.statusDesc!=='已升版'" @click="copyBM(scope.row)">拷贝</a>--> <!-- <a type="text" size="small" v-if="scope.row.statusDesc!=='已升版'" @click="copyBM(scope.row)">拷贝</a>-->
<template v-if="isAuth('103002:details')">
<el-link style="cursor: pointer" @click="detail(scope.row)">详情</el-link>
</template>
<template v-if="isAuth('103002:revise')"> <template v-if="isAuth('103002:revise')">
<el-link style="cursor: pointer" v-if="scope.row.statusDesc !== '已完成' && scope.row.statusDesc !== '已升版' && scope.row.statusDesc !== 'Dead'" @click="jumpDetail(scope.row)">修改</el-link> <el-link style="cursor: pointer" v-if="scope.row.statusDesc !== '已完成' && scope.row.statusDesc !== '已升版' && scope.row.statusDesc !== 'Dead'" @click="jumpDetail(scope.row)">修改</el-link>
</template> </template>
<template v-if="isAuth('103002:details')">
<el-link style="cursor: pointer" @click="detail(scope.row)">详情</el-link>
</template>
<template v-if="isAuth('103002:remove')"> <template v-if="isAuth('103002:remove')">
<el-link style="cursor: pointer" v-if="scope.row.status === 'cg'" @click="deleteData(scope.row)" >删除</el-link> <el-link style="cursor: pointer" v-if="scope.row.status === 'cg'" @click="deleteData(scope.row)" >删除</el-link>
</template> </template>

Loading…
Cancel
Save