|
|
@ -10,6 +10,9 @@ |
|
|
<el-form-item label="PLM物料编码"> |
|
|
<el-form-item label="PLM物料编码"> |
|
|
<el-input v-model="searchData.plmPartNo" clearable placeholder="请输入PLM物料编码" style="width: 140px"></el-input> |
|
|
<el-input v-model="searchData.plmPartNo" clearable placeholder="请输入PLM物料编码" style="width: 140px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="编码"> |
|
|
|
|
|
<el-input v-model="searchData.drawingNo" clearable placeholder="请输入编码" style="width: 140px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
<el-form-item label="物料名称"> |
|
|
<el-form-item label="物料名称"> |
|
|
<el-input v-model="searchData.partDesc" clearable placeholder="请输入物料名称" style="width: 140px"></el-input> |
|
|
<el-input v-model="searchData.partDesc" clearable placeholder="请输入物料名称" style="width: 140px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
@ -69,12 +72,13 @@ |
|
|
fixed="right" |
|
|
fixed="right" |
|
|
header-align="center" |
|
|
header-align="center" |
|
|
align="center" |
|
|
align="center" |
|
|
width="100" |
|
|
|
|
|
|
|
|
width="160" |
|
|
label="操作"> |
|
|
label="操作"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-link style="cursor: pointer" @click="updateModal(scope.row)">编辑</el-link> |
|
|
<el-link style="cursor: pointer" @click="updateModal(scope.row)">编辑</el-link> |
|
|
<el-link style="cursor: pointer" @click="deleteModal(scope.row)">删除</el-link> |
|
|
<el-link style="cursor: pointer" @click="deleteModal(scope.row)">删除</el-link> |
|
|
<el-link style="cursor: pointer" @click="copyProjectPartModal(scope.row)">复制</el-link> |
|
|
<el-link style="cursor: pointer" @click="copyProjectPartModal(scope.row)">复制</el-link> |
|
|
|
|
|
<el-link v-if="scope.row.drawingNo" style="cursor: pointer" @click="handlePartDrawingDetail(scope.row)">编码详情</el-link> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
@ -95,20 +99,26 @@ |
|
|
<el-dialog :title="modalData.title" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" @close="handleDialogClose" width="1000px"> |
|
|
<el-dialog :title="modalData.title" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" @close="handleDialogClose" width="1000px"> |
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;"> |
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-top: -5px;"> |
|
|
<el-form-item label="Site"> |
|
|
<el-form-item label="Site"> |
|
|
<el-input v-model="modalData.site" disabled style="width: 60px"></el-input> |
|
|
|
|
|
|
|
|
<el-input v-model="modalData.site" disabled style="width: 50px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="物料编码 / Part No." prop="partNo" :rules="rules.partNo" style="margin-left: -10px"> |
|
|
<el-form-item label="物料编码 / Part No." prop="partNo" :rules="rules.partNo" style="margin-left: -10px"> |
|
|
<el-input v-model="modalData.partNo" disabled style="width: 128px"></el-input> |
|
|
|
|
|
|
|
|
<el-input v-model="modalData.partNo" disabled style="width: 120px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="物料名称 / Part Desc." prop="partDesc" :rules="rules.partDesc" style="margin-left: -10px"> |
|
|
<el-form-item label="物料名称 / Part Desc." prop="partDesc" :rules="rules.partDesc" style="margin-left: -10px"> |
|
|
<el-input v-model="modalData.partDesc" clearable style="width: 347px"></el-input> |
|
|
|
|
|
|
|
|
<el-input v-model="modalData.partDesc" clearable style="width: 300px"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item v-if="modalData.flag === '2'" label="编码"> |
|
|
|
|
|
<el-input v-model="modalData.drawingNo" readonly style="width: 150px" placeholder="获取编码后填入"></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item v-if="modalData.flag === '2'" :label="' '"> |
|
|
|
|
|
<el-button type="primary" @click="drawingNoDialogVisible = true">获取编码</el-button> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="客户料号" prop="customerPartNo" :rules="rules.customerPartNo"> |
|
|
<el-form-item label="客户料号" prop="customerPartNo" :rules="rules.customerPartNo"> |
|
|
<el-input v-model="modalData.customerPartNo" clearable style="width: 140px"></el-input> |
|
|
|
|
|
|
|
|
<el-input v-model="modalData.customerPartNo" clearable style="width: 120px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item prop="buDesc" :rules="rules.buDesc"> |
|
|
<el-form-item prop="buDesc" :rules="rules.buDesc"> |
|
|
<span slot="label" style="" @click="getBaseList(106,1)"><a herf="#">BU</a></span> |
|
|
|
|
|
<el-input v-model="modalData.buDesc" readonly ></el-input> |
|
|
|
|
|
|
|
|
<span slot="label" @click="getBaseList(106,1)"><a herf="#">BU</a></span> |
|
|
|
|
|
<el-input v-model="modalData.buDesc" readonly style="width: 80px"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-tabs v-model="inventoryPartTable" style="width: 100%;height: 465px;" type="border-card" @tab-click="inventoryPartClick"> |
|
|
<el-tabs v-model="inventoryPartTable" style="width: 100%;height: 465px;" type="border-card" @tab-click="inventoryPartClick"> |
|
|
<el-tab-pane label="General" name="General"> |
|
|
<el-tab-pane label="General" name="General"> |
|
|
@ -964,6 +974,26 @@ |
|
|
<project-part-upload ref="projectPartUpload" @refreshPageTables="searchTable" v-drag></project-part-upload> |
|
|
<project-part-upload ref="projectPartUpload" @refreshPageTables="searchTable" v-drag></project-part-upload> |
|
|
|
|
|
|
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 获取编码对话框 --> |
|
|
|
|
|
<el-dialog title="获取编码" :close-on-click-modal="false" top="5vh" v-drag :visible.sync="drawingNoDialogVisible" width="1100px" @close="drawingNoDialogVisible = false"> |
|
|
|
|
|
<code-generation :dialog-mode="true" @code-saved="handleCodeGenerated"></code-generation> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 编码详情对话框 --> |
|
|
|
|
|
<el-dialog title="编码详情" :close-on-click-modal="false" v-drag :visible.sync="partDrawingDetailDialogVisible" v-loading="partDrawingDetailLoading"> |
|
|
|
|
|
<el-table :data="partDrawingDetailList" height="400" border style="width: 100%"> |
|
|
|
|
|
<el-table-column prop="itemNo" header-align="center" width="140" align="right" label="序号"></el-table-column> |
|
|
|
|
|
<el-table-column prop="itemDesc" header-align="center" width="140" align="left" label="描述"></el-table-column> |
|
|
|
|
|
<el-table-column prop="itemName" header-align="center" width="140" align="left" label="元素名称"></el-table-column> |
|
|
|
|
|
<el-table-column prop="itemType" show-overflow-tooltip header-align="center" align="left" label="类型"></el-table-column> |
|
|
|
|
|
<el-table-column prop="itemLabel" show-overflow-tooltip header-align="center" align="left" label="选中项描述"></el-table-column> |
|
|
|
|
|
<el-table-column prop="itemValue" show-overflow-tooltip header-align="center" align="left" label="选中项值"></el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
<el-footer style="height:30px;margin-top:10px;text-align:center"> |
|
|
|
|
|
<el-button type="primary" @click="partDrawingDetailDialogVisible = false">关闭</el-button> |
|
|
|
|
|
</el-footer> |
|
|
|
|
|
</el-dialog> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
@ -1007,12 +1037,15 @@ import { |
|
|
import DictDataSelect from "../../sys/dict-data-select.vue" |
|
|
import DictDataSelect from "../../sys/dict-data-select.vue" |
|
|
import ProjectPartUpload from "./project_part_upload.vue"; |
|
|
import ProjectPartUpload from "./project_part_upload.vue"; |
|
|
import {downLoadFile, queryFileId, readPartFromFile} from "../../../../api/part/partInformation"; |
|
|
import {downLoadFile, queryFileId, readPartFromFile} from "../../../../api/part/partInformation"; |
|
|
|
|
|
import {searchDrawingDetailList} from "../../../../api/code/codeDrawing"; |
|
|
|
|
|
import CodeGeneration from "../../code/generation.vue"; |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
components: { |
|
|
components: { |
|
|
ProjectPartUpload, |
|
|
ProjectPartUpload, |
|
|
DictDataSelect, |
|
|
DictDataSelect, |
|
|
Chooselist, |
|
|
Chooselist, |
|
|
|
|
|
CodeGeneration, |
|
|
}, |
|
|
}, |
|
|
watch: { |
|
|
watch: { |
|
|
modalData: { |
|
|
modalData: { |
|
|
@ -1077,6 +1110,7 @@ import {downLoadFile, queryFileId, readPartFromFile} from "../../../../api/part/ |
|
|
plmPartNo: '', |
|
|
plmPartNo: '', |
|
|
finalPartNo: '', |
|
|
finalPartNo: '', |
|
|
customerPartNo: '', |
|
|
customerPartNo: '', |
|
|
|
|
|
drawingNo: '', |
|
|
page: 1, |
|
|
page: 1, |
|
|
limit: 10, |
|
|
limit: 10, |
|
|
page2: 1, |
|
|
page2: 1, |
|
|
@ -1156,6 +1190,22 @@ import {downLoadFile, queryFileId, readPartFromFile} from "../../../../api/part/ |
|
|
fixed: '', |
|
|
fixed: '', |
|
|
columnWidth: 120 |
|
|
columnWidth: 120 |
|
|
}, |
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
userId: this.$store.state.user.name, |
|
|
|
|
|
functionId: 101002001, |
|
|
|
|
|
serialNumber: '101002001Table4DrawingNo', |
|
|
|
|
|
tableId: "101002001Table4", |
|
|
|
|
|
tableName: "项目物料", |
|
|
|
|
|
columnProp: "drawingNo", |
|
|
|
|
|
headerAlign: "center", |
|
|
|
|
|
align: "left", |
|
|
|
|
|
columnLabel: "编码", |
|
|
|
|
|
columnHidden: false, |
|
|
|
|
|
columnImage: false, |
|
|
|
|
|
status: true, |
|
|
|
|
|
fixed: '', |
|
|
|
|
|
columnWidth: 130 |
|
|
|
|
|
}, |
|
|
{ |
|
|
{ |
|
|
userId: this.$store.state.user.name, |
|
|
userId: this.$store.state.user.name, |
|
|
functionId: 101002001, |
|
|
functionId: 101002001, |
|
|
@ -1532,6 +1582,10 @@ import {downLoadFile, queryFileId, readPartFromFile} from "../../../../api/part/ |
|
|
}, |
|
|
}, |
|
|
modalFlag: false, |
|
|
modalFlag: false, |
|
|
modalDisableFlag: false, |
|
|
modalDisableFlag: false, |
|
|
|
|
|
drawingNoDialogVisible: false, |
|
|
|
|
|
partDrawingDetailList: [], |
|
|
|
|
|
partDrawingDetailDialogVisible: false, |
|
|
|
|
|
partDrawingDetailLoading: false, |
|
|
rules: { |
|
|
rules: { |
|
|
partNo: [ |
|
|
partNo: [ |
|
|
{ |
|
|
{ |
|
|
@ -2107,6 +2161,7 @@ import {downLoadFile, queryFileId, readPartFromFile} from "../../../../api/part/ |
|
|
this.searchData.finalPartNo = '' |
|
|
this.searchData.finalPartNo = '' |
|
|
this.searchData.customerPartNo = '' |
|
|
this.searchData.customerPartNo = '' |
|
|
this.searchData.partDesc = '' |
|
|
this.searchData.partDesc = '' |
|
|
|
|
|
this.searchData.drawingNo = '' |
|
|
this.pageIndex2 = 1 |
|
|
this.pageIndex2 = 1 |
|
|
this.searchTable() |
|
|
this.searchTable() |
|
|
}, |
|
|
}, |
|
|
@ -2382,7 +2437,8 @@ import {downLoadFile, queryFileId, readPartFromFile} from "../../../../api/part/ |
|
|
costsInfoFlag: false, // costs标识 |
|
|
costsInfoFlag: false, // costs标识 |
|
|
manufacturingInfoFlag: false, // Manufacturing标识 |
|
|
manufacturingInfoFlag: false, // Manufacturing标识 |
|
|
planningInfoFlag: false, // planning标识 |
|
|
planningInfoFlag: false, // planning标识 |
|
|
partItemInfoFlag: false // 属性信息标识 |
|
|
|
|
|
|
|
|
partItemInfoFlag: false, // 属性信息标识 |
|
|
|
|
|
drawingNo: data.rows.drawingNo || '' |
|
|
} |
|
|
} |
|
|
this.resetFlags() // 重置标识 |
|
|
this.resetFlags() // 重置标识 |
|
|
this.setupWatchers() // 设置监听 |
|
|
this.setupWatchers() // 设置监听 |
|
|
@ -3778,6 +3834,28 @@ import {downLoadFile, queryFileId, readPartFromFile} from "../../../../api/part/ |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
handleCodeGenerated(drawingNo) { |
|
|
|
|
|
this.modalData.drawingNo = drawingNo; |
|
|
|
|
|
this.drawingNoDialogVisible = false; |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
handlePartDrawingDetail(row) { |
|
|
|
|
|
this.partDrawingDetailLoading = true; |
|
|
|
|
|
this.partDrawingDetailList = []; |
|
|
|
|
|
this.partDrawingDetailDialogVisible = true; |
|
|
|
|
|
searchDrawingDetailList({ drawingNo: row.drawingNo }).then(({data}) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
this.partDrawingDetailList = data.rows; |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$message.warning(data.msg); |
|
|
|
|
|
} |
|
|
|
|
|
this.partDrawingDetailLoading = false; |
|
|
|
|
|
}).catch((error) => { |
|
|
|
|
|
this.$message.error(error); |
|
|
|
|
|
this.partDrawingDetailLoading = false; |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
}, |
|
|
}, |
|
|
} |
|
|
} |
|
|
</script> |
|
|
</script> |
|
|
|