diff --git a/src/api/mes/prod/prodBomInfo.js b/src/api/mes/prod/prodBomInfo.js index cec3309..c935aaa 100644 --- a/src/api/mes/prod/prodBomInfo.js +++ b/src/api/mes/prod/prodBomInfo.js @@ -51,3 +51,12 @@ export function findOrderBomList(query) { params: query }) } + +// 查询生产BOM树列表 +export function productionBomTreeList(query) { + return request({ + url: '/mes/prod/prodBomInfo/productionBomTreeList', + method: 'get', + params: query + }) +} diff --git a/src/assets/images/profile.jpg b/src/assets/images/profile.jpg index b3a940b..b20e3c1 100644 Binary files a/src/assets/images/profile.jpg and b/src/assets/images/profile.jpg differ diff --git a/src/views/mes/prod/prodBomInfo/childIndex.vue b/src/views/mes/prod/prodBomInfo/childIndex.vue index 101ec70..4d06e5a 100644 --- a/src/views/mes/prod/prodBomInfo/childIndex.vue +++ b/src/views/mes/prod/prodBomInfo/childIndex.vue @@ -1,14 +1,14 @@ @@ -185,15 +209,17 @@ import { delProdBomInfo, addProdBomInfo, updateProdBomInfo, - findOrderBomList + productionBomTreeList, findOrderBomList } from '@/api/mes/prod/prodBomInfo' -import Treeselect from "@riophae/vue-treeselect"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; +import Treeselect from '@riophae/vue-treeselect' +import '@riophae/vue-treeselect/dist/vue-treeselect.css' +import addBom from '@//views/mes/prod/prodBomInfo/addBom.vue' export default { - name: "OrderBomInfo", - dicts: ['material_type', 'is_flag'], + name: 'OrderBomInfo', + dicts: ['material_subclass', 'is_flag', 'material_unit'], components: { + 'add-bom': addBom, Treeselect }, data() { @@ -207,13 +233,15 @@ export default { // 订单BOM树选项 orderBomInfoOptions: [], // 弹出层标题 - title: "", + title: '', // 是否显示弹出层 open: false, // 是否展开,默认全部展开 isExpandAll: true, // 重新渲染表格状态 refreshTable: true, + // 是否显示物料弹出层 + materialOpen: false, // 查询参数 queryParams: { bomCode: null, @@ -236,48 +264,51 @@ export default { // 表单参数 form: {}, // 表单校验 - rules: { - } - }; + rules: {} + } }, created() { - this.queryParams.ancestors = this.$route.params && this.$route.params.materialCode; - console.log( this.queryParams.ancestors) - this.getList(); + this.queryParams.objId = this.$route.params && this.$route.params.materialCode + this.getList() }, methods: { /** 查询订单BOM列表 */ getList() { - this.loading = true; - findOrderBomList(this.queryParams).then(response => { - this.orderBomInfoList = this.handleTree(response.data, "materialCode", "parentId"); - this.loading = false; - }); + this.loading = true + productionBomTreeList(this.queryParams).then(response => { + this.orderBomInfoList = this.handleTree(response.data, 'objId', 'parentId') + this.loading = false + }) }, /** 转换订单BOM数据结构 */ normalizer(node) { if (node.children && !node.children.length) { - delete node.children; + delete node.children } return { - id: node.materialCode, + id: node.objId, label: node.materialName, children: node.children - }; + } + }, + handleSelection(selection) { + this.ids = selection.map(item => item.objId) + this.single = selection.length !== 1 + this.multiple = !selection.length }, /** 查询订单BOM下拉树结构 */ getTreeselect() { findOrderBomList().then(response => { - this.orderBomInfoOptions = []; - const data = { materialCode: 0, materialName: '顶级节点', children: [] }; - data.children = this.handleTree(response.data, "materialCode", "parentId"); - this.orderBomInfoOptions.push(data); - }); + this.orderBomInfoOptions = [] + const data = { objId: 0, materialName: '顶级节点', children: [] } + data.children = this.handleTree(response.data, 'objId', 'parentId') + this.orderBomInfoOptions.push(data) + }) }, // 取消按钮 cancel() { - this.open = false; - this.reset(); + this.open = false + this.reset() }, // 表单重置 reset() { @@ -299,85 +330,101 @@ export default { vbeln: null, vbpos: null, ancestors: null - }; - this.resetForm("form"); + } + this.resetForm('form') }, /** 搜索按钮操作 */ handleQuery() { - this.getList(); + this.getList() + }, + /** 新增按钮操作 */ + handleMaterialAdd() { + this.materialOpen = true + // this.title = "添加订单BOM"; + }, + /** 提交物料信息按钮 */ + submitMaterialForm() { + let selectedRow = this.$refs.materialRef.selectedRow + // this.form.bomCode = selectedRow.bomCode; + this.form.materialCode = selectedRow.materialCode + this.form.materialName = selectedRow.materialName + this.form.factoryCode = selectedRow.factoryCode + this.form.materialType = selectedRow.materialSubclass + this.materialOpen = false }, /** 重置按钮操作 */ resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); + this.resetForm('queryForm') + this.handleQuery() }, /** 新增按钮操作 */ handleAdd(row) { - this.reset(); - this.getTreeselect(); - if (row != null && row.materialCode) { - this.form.parentId = row.materialCode; + this.reset() + this.getTreeselect() + if (row != null && row.objId) { + this.form.parentId = row.objId } else { - this.form.parentId = 0; + this.form.parentId = 0 } - this.open = true; - this.title = "添加订单BOM"; + this.open = true + this.title = '添加订单BOM' }, /** 返回按钮操作 */ handleClose() { - const obj = { path: "/base/orderBomInfo" }; - this.$tab.closeOpenPage(obj); + const obj = { path: '/prod/prodBomInfo' } + this.$tab.closeOpenPage(obj) }, /** 展开/折叠操作 */ toggleExpandAll() { - this.refreshTable = false; - this.isExpandAll = !this.isExpandAll; + this.refreshTable = false + this.isExpandAll = !this.isExpandAll this.$nextTick(() => { - this.refreshTable = true; - }); + this.refreshTable = true + }) }, /** 修改按钮操作 */ handleUpdate(row) { - this.reset(); - this.getTreeselect(); + this.reset() + this.getTreeselect() if (row != null) { - this.form.parentId = row.parentId; + this.form.parentId = row.parentId } getProdBomInfo(row.objId).then(response => { - this.form = response.data; - this.open = true; - this.title = "修改订单BOM"; - }); + this.form = response.data + this.open = true + this.title = '修改订单BOM' + }) }, /** 提交按钮 */ submitForm() { - this.$refs["form"].validate(valid => { + this.$refs['form'].validate(valid => { if (valid) { if (this.form.objId != null) { updateProdBomInfo(this.form).then(response => { - this.$modal.msgSuccess("修改成功"); - this.open = false; - this.getList(); - }); + this.$modal.msgSuccess('修改成功') + this.open = false + this.getList() + }) } else { addProdBomInfo(this.form).then(response => { - this.$modal.msgSuccess("新增成功"); - this.open = false; - this.getList(); - }); + this.$modal.msgSuccess('新增成功') + this.open = false + this.getList() + }) } } - }); + }) }, /** 删除按钮操作 */ handleDelete(row) { this.$modal.confirm('是否确认删除订单BOM编号为"' + row.objId + '"的数据项?').then(function() { - return delProdBomInfo(row.objId); + return delProdBomInfo(row.objId) }).then(() => { - this.getList(); - this.$modal.msgSuccess("删除成功"); - }).catch(() => {}); + this.getList() + this.$modal.msgSuccess('删除成功') + }).catch(() => { + }) } } -}; +} diff --git a/src/views/mes/prod/prodBomInfo/index.vue b/src/views/mes/prod/prodBomInfo/index.vue index 2159254..fa66019 100644 --- a/src/views/mes/prod/prodBomInfo/index.vue +++ b/src/views/mes/prod/prodBomInfo/index.vue @@ -94,7 +94,7 @@ @@ -107,13 +107,13 @@ - + - + + + @@ -127,7 +127,7 @@ {{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }} - +