diff --git a/src/api/mes/mesLine.js b/src/api/mes/mesLine.js
index 8ca0eabc..9a771669 100644
--- a/src/api/mes/mesLine.js
+++ b/src/api/mes/mesLine.js
@@ -43,10 +43,18 @@ export function delMesLine(id) {
});
}
//线体获取
-export function getLineBodyList(query) {
+export function selectLineBody(query) {
return request({
url: '/mes/mesLine/selectLineBody',
method: 'get',
params: query
});
}
+
+export function getProductListBom(query) {
+ return request({
+ url: '/mes/mesLine/getProductListBom',
+ method: 'get',
+ params: query
+ });
+}
diff --git a/src/views/mes/mesLine/index.vue b/src/views/mes/mesLine/index.vue
index be30dbcb..814911f3 100644
--- a/src/views/mes/mesLine/index.vue
+++ b/src/views/mes/mesLine/index.vue
@@ -63,7 +63,7 @@
plain
icon="el-icon-plus"
size="mini"
- @click="handleAddLineBody"
+ @click="handleAdd"
v-hasPermi="['mes:mesLine:add']"
>新增
@@ -120,6 +120,7 @@
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -190,6 +206,38 @@
+
+
+
+ 选择产品
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
-
-
+
@@ -209,18 +259,21 @@ import {
delMesLine,
addMesLine,
updateMesLine,
+ selectLineBody
} from "@/api/mes/mesLine";
-import SelectMesLine from "./selectMesLine";
+import ItemSelectMaterial from "@/views/mes/mesLine/selectMaterial";
export default {
name: "MesLine",
- components: {SelectMesLine,},
+ components: {ItemSelectMaterial,},
data() {
return {
// 遮罩层
loading: true,
+ proloading: false,
// 选中数组
ids: [],
+ codes: [],
// 非单个禁用
single: true,
// 非多个禁用
@@ -229,6 +282,7 @@ export default {
showSearch: true,
// 总条数
total: 0,
+ lineBodys: [],
// 线体管理表格数据
mesLineList: [],
// 弹出层标题
@@ -269,6 +323,7 @@ export default {
},
created() {
this.getList();
+ this.getLineBody();
},
methods: {
/** 查询线体管理列表 */
@@ -280,6 +335,14 @@ export default {
this.loading = false;
});
},
+ getLineBody() {
+ selectLineBody(this.queryParams).then((response) => {
+ this.lineBodys = response.rows;
+ });
+ },
+ selectChange(lineCode) {
+ this.form.lineName = this.lineBodys.find(item => item.lineCode === lineCode).lineName;
+ },
// 取消按钮
cancel() {
this.open = false;
@@ -291,6 +354,7 @@ export default {
id: null,
lineCode: null,
lineName: null,
+ productList: [],
useMan: null,
efficiency: null,
attr1: null,
@@ -332,6 +396,10 @@ export default {
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
+ // 产品绑定
+ productSelectionChange(selection) {
+ this.codes = selection.map((item) => item.productCode);
+ },
/** 新增按钮操作 */
handleAdd() {
this.reset();
@@ -360,13 +428,16 @@ export default {
},
/** 提交按钮 */
submitForm() {
+
this.$refs["form"].validate((valid) => {
if (valid) {
+ this.form.processList = [];
+ this.form.qualityList = [];
+ this.form.processItems?.forEach((item,index) => {
+ this.form.processList[index] = item.value;
+ this.form.qualityList[index] = item.quality;
+ });
if (this.form.id != null) {
- this.form.processItems?.forEach(item => {
- this.form.processList.push(item.value);
- this.form.qualityList.push(item.quality);
- });
updateMesLine(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
@@ -374,6 +445,11 @@ export default {
});
} else {
addMesLine(this.form).then((response) => {
+ if(response.code == 200) {
+ this.$modal.msgSuccess("添加成功");
+ }else {
+ this.$modal.msgError(response.msg);
+ }
this.open = false;
this.getList();
});
@@ -405,21 +481,39 @@ export default {
`mesLine_${new Date().getTime()}.xlsx`
);
},
- handleAddLineBody() {
- this.$refs.selectMesLine.showFlag = true;
+ //物料选择确认
+ onSelectMaterial(obj) {
+ obj.map(item => {
+ if(item.productCode) {
+ if(this.form.productList.some(e => e.productCode === item.productCode)) {
+ this.$modal.msgError("该物料已存在");
+ return;
+ }
+ this.form.productList.push(item);
+ }
+ })
+ console.log(this.form.productList);
+ },
+ deleteProduct(row) {
+ const productCode = row.productCode;
+ this.$modal
+ .confirm('是否确认删除线体编号为"' + productCode + '"的数据项?')
+ .then(() => {
+ this.form.productList = this.form.productList.filter(item => item.productCode !== productCode);
+ })
+ .then(() => {
+ this.$modal.msgSuccess("删除成功");
+ })
+ .catch(() => {});
+ },
+ handleSelectProduct() {
+ this.$refs.itemSelectMaterial.showFlag = true;
},
onSelectLineBody(obj) {
console.log(obj);
this.form.lineCode = obj.code;
this.form.lineName = obj.name;
- addMesLine(this.form).then((response) => {
- if(response.code == 200) {
- this.$modal.msgSuccess("添加成功");
- }else {
- this.$modal.msgError(response.msg);
- }
- this.getList();
- });
+
},
//添加工艺项
addProcessItem() {
@@ -438,6 +532,17 @@ export default {
}
this.form.processItems = this.processItems;
},
+ formatProductNames(row, column, cellValue) {
+ // cellValue 是当前列对应的值,即 productList 数组
+ if (Array.isArray(cellValue)) {
+ // 使用 map 获取所有 productName 并用 join 方法以逗号连接
+ return cellValue.map(item => item.productName).join(', ');
+ } else {
+ // 如果不是数组,可以返回一个默认值或者处理错误信息
+ return '';
+ }
+ },
+
},
};
diff --git a/src/views/mes/mesLine/selectMaterial.vue b/src/views/mes/mesLine/selectMaterial.vue
new file mode 100644
index 00000000..e326fc78
--- /dev/null
+++ b/src/views/mes/mesLine/selectMaterial.vue
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mes/mesLine/selectMesLine.vue b/src/views/mes/mesLine/selectMesLine.vue
index 71e0f2a3..4a57ace6 100644
--- a/src/views/mes/mesLine/selectMesLine.vue
+++ b/src/views/mes/mesLine/selectMesLine.vue
@@ -58,7 +58,7 @@