Commit 1ea98a1e authored by renjintao's avatar renjintao

工艺规程&&工艺Bom......ing

parent 5d7f2c42
......@@ -102,6 +102,7 @@ export default {
userId: this.$store.state.userInfo.userId,
treeData: [], //物料数据
codeRuleData: [], //物料编码
routingHeaderData: [], //工艺规程
};
},
props: {
......@@ -276,6 +277,7 @@ export default {
//物料加载类型数据
this.getTreeData();
this.getcodeRuleData();
this.getRoutingHeaderData();
},
methods: {
//数据加载
......@@ -518,7 +520,8 @@ export default {
const tHeader = []; // 设置Excel的表格第一行的标题
const filterVal = []; //list里对象的属性
var tempCol = [];
var tempCol1 = [];
var tempCol1 = []; //存放物料相关表头
var tempCol2 = []; //存放工艺规程相关表头
var columnsCur = this.$u.clone(this.columnsCur); //导出列标题信息griddata this.$refs.grid.columnsCur
columnsCur.forEach((el) => {
if ((el.hide && el.import) || (!el.hide && el.key != "action" && el.type != "selection" && el.key != "ico")) {
......@@ -534,6 +537,13 @@ export default {
code: el.materialKey
}); //临时存放物料管理大类和子类列表
}
if (el.techKey) {
tempCol2.push({
key: el.key,
code: el.techKey
}); //临时存放工艺规程相关转换
}
tHeader.push(el.title);
filterVal.push(el.key);
}
......@@ -546,7 +556,7 @@ export default {
e[ele.key]
);
});
//导出数据增加对应的物料管理信息
//导出数据增加对应的物料管理信息 code: 1【rootCategoryId 大类】 2【categoryId 大类】 3【codeRuleId 编码名称】
tempCol1.forEach((elcol1) => {
if (elcol1.code == 1) {
e[elcol1.key] = this.getType1(e[elcol1.key])
......@@ -556,6 +566,12 @@ export default {
e[elcol1.key] = this.getType3(e[elcol1.key])
}
});
//导出工艺规程相关转换表头信息
tempCol2.forEach((elcol2) => {
if (elcol2.code == 1) {
e[elcol2.key] = this.getRoutingHeaderName(e[elcol2.key])
}
});
});
......@@ -620,6 +636,29 @@ export default {
return codeRuleName
},
//物料大类和子类的解析end
//工艺规程的解析start
//获取工艺规程名称
getRoutingHeaderData() {
let data = {
conditions: []
};
this.$api.post(`${technologyUrl}routingheader/list`, data).then((r) => {
if (r.success) {
this.routingHeaderData = r.result || []
}
});
},
getRoutingHeaderName(val) {
let routingHeaderDataList = this.$u.clone(this.routingHeaderData)
let routingHeaderName = ""
routingHeaderDataList.forEach(ele => {
if (ele.id == val) {
routingHeaderName = ele.name
}
})
return routingHeaderName
},
//工艺规程的解析end
},
computed: {
columnsNow() {
......
......@@ -331,15 +331,15 @@ export default {
code: "User.base.status",
},
],
columns3: [{
columns2: [{
key: "resourceCode",
title: this.l3("resourceId"),
title: this.l2("resourceId"),
align: "left",
easy: true,
},
{
key: "nameOfResource",
title: this.l3("nameOfResource"),
title: this.l2("nameOfResource"),
align: "left",
easy: true,
tooltip: true,
......@@ -351,56 +351,56 @@ export default {
},
{
key: "creatorUserId",
title: this.l3("creatorUserId"),
title: this.l2("creatorUserId"),
hide: false,
type: "user",
align: "left",
},
{
key: "lastModificationTime",
title: this.l3("lastModificationTime"),
title: this.l2("lastModificationTime"),
hide: true,
align: "left",
},
{
key: "lastModifierUserId",
title: this.l3("lastModifierUserId"),
title: this.l2("lastModifierUserId"),
hide: true,
align: "left",
},
{
key: "isDeleted",
title: this.l3("isDeleted"),
title: this.l2("isDeleted"),
hide: true,
align: "left",
},
{
key: "deletionTime",
title: this.l3("deletionTime"),
title: this.l2("deletionTime"),
hide: true,
align: "left",
},
{
key: "deleterUserId",
title: this.l3("deleterUserId"),
title: this.l2("deleterUserId"),
hide: true,
align: "left",
},
{
key: "totalNum",
title: this.l3("totalNum"),
title: this.l2("totalNum"),
align: "right",
easy: true,
},
{
key: "numberAvailable",
title: this.l3("numberAvailable"),
title: this.l2("numberAvailable"),
align: "right",
easy: true,
},
{
key: "measuringUnit",
title: this.l3("measuringUnit"),
title: this.l2("measuringUnit"),
align: "left",
easy: true,
high: true,
......@@ -408,7 +408,7 @@ export default {
},
{
key: "qualityCharacteristics",
title: this.l3("qualityCharacteristics"),
title: this.l2("qualityCharacteristics"),
align: "left",
easy: true,
high: true,
......@@ -416,7 +416,7 @@ export default {
},
{
key: "batchNo",
title: this.l3("batchNo"),
title: this.l2("batchNo"),
align: "left",
easy: true,
high: true,
......@@ -424,24 +424,24 @@ export default {
},
{
key: "storeId",
title: this.l3("storeId"),
title: this.l2("storeId"),
align: "left",
high: true,
hide: true,
},
{
key: "storeTitle",
title: this.l3("storeTitle"),
title: this.l2("storeTitle"),
align: "left",
},
{
key: "state",
title: this.l3("state"),
title: this.l2("state"),
align: "center",
code: "mes_xingchi_resource.resource.state",
}
],
columns4: [{
columns3: [{
key: "codeRuleType",
title: "类型",
align: "center",
......@@ -518,6 +518,226 @@ export default {
type: "user"
}
],
columns4: [{
key: "code",
title: this.l4("code"),
align: "left",
width: 200,
easy: true,
high: true
},
{
key: "name",
title: this.l4("name"),
align: "left",
easy: true,
high: true,
tooltip: true,
},
{
key: "phase",
title: this.l4("phase"),
align: "center",
high: true,
width: 100,
code: "Process.Routing.phase"
},
{
key: "versionid",
title: this.l4("version"),
align: "center",
high: true,
width: 100,
code: "Process.Routing.version"
},
{
title: this.l4("approvalStatus"),
key: "approvalStatus",
align: "center",
width: "120",
code: "process.RoutingStatus"
},
{
key: "routingType",
title: this.l4("routingType"),
align: "center",
width: 100,
high: true,
code: "Process.Routing.routingType"
},
{
key: "drawingNo",
title: this.l4("drawingNo"),
align: "left",
high: true
},
{
key: "productName",
title: this.l4("productName"),
align: "left",
high: true,
tooltip: true,
},
{
key: "productId",
title: this.l4("productId"),
align: "left",
import: true,
hide: true,
},
{
key: "productBomId",
title: this.l4("productBomId"),
align: "left",
import: true,
hide: true,
},
{
key: "departmentName",
title: this.l4("departmentName"),
width: 100,
align: "left",
high: true,
tooltip: true,
},
{
key: "departmentId",
title: this.l4("departmentId"),
align: "left",
import: true,
hide: true,
},
{
key: "isEffect",
title: this.l4("isEffect"),
align: "center",
width: 80,
high: true,
code: "Process.Status"
}
],
columns5: [{
key: "routingDetailNo",
title: this.l5("routingDetailNo"),
align: "left",
high: true,
width: 100,
sortable: true
},
{
key: "routingHeaderId",
title: this.l5("routingHeaderName"),
hide: true,
import: true,
techKey: '1',
// render: (h, params) => {
// return h(
// "span", {},
// this.getRoutingHeaderName(params.row.routingHeaderId)
// );
// }
},
{
key: "routingDetailName",
title: this.l5("routingDetailName"),
align: "left",
high: true
},
{
key: "routingDetailId",
title: this.l5("routingDetailId"),
hide: true,
import: true,
},
{
key: "quantity",
title: this.l5("quantity"),
align: "right",
high: true,
width: 80,
},
{
key: "materialType",
title: this.l5("materialType"),
align: "center",
easy: true,
high: true,
code: "mes_xingchi_resource.material.materialReType",
width: 100,
},
{
key: "materialNumber",
title: this.l5("materialNumber"),
align: "left",
easy: true,
high: true
},
{
key: "materialId",
title: this.l5("materialId"),
align: "left",
hide: true,
import: true
},
{
key: "nameMaterial",
title: this.l5("nameMaterial"),
align: "left",
easy: true,
high: true,
},
{
key: "brand",
title: this.l5("brand"),
align: "left",
easy: true,
high: true
},
{
key: "specifications",
title: this.l5("specifications"),
align: "left",
easy: true,
high: true
},
{
key: "xhgg",
title: this.l5("xhgg"),
align: "left",
easy: true,
high: true,
hide: true,
},
{
key: "texture",
title: this.l5("texture"),
align: "left",
easy: true,
high: true
},
{
key: "procurementStandards",
title: this.l5("procurementStandards"),
align: "left",
easy: true,
high: true
},
{
key: "qualityGrade",
title: this.l5("qualityGrade"),
align: "left",
easy: true,
high: true
},
{
key: "drawNum",
title: this.l5("drawNum"),
align: "left",
easy: true,
high: true
},
],
tdHeightExcel: "",
excelData: [],
excelDataBack: [], //临时存储原始数据
......@@ -540,6 +760,7 @@ export default {
//物料管理
treeData: [], //物料管理左侧类别树
codeRuleData: [], //物料编码等信息
routingHeaderData: [], //工艺规程列表信息
};
},
props: {
......@@ -561,6 +782,8 @@ export default {
//物料加载类型数据
this.getTreeData();
this.getcodeRuleData();
//获取工艺规程信息
this.getRoutingHeaderData();
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
......@@ -852,12 +1075,18 @@ export default {
case 1:
this.loadColum(this.columns1);
break;
case 2:
this.loadColum(this.columns2);
break;
case 3:
this.loadColum(this.columns3);
break;
case 4:
this.loadColum(this.columns4);
break;
case 5:
this.loadColum(this.columns5);
break;
default:
this.loadColum(this.columns0);
}
......@@ -881,12 +1110,18 @@ export default {
case 0:
this.importUser();
break;
case 3:
case 2:
this.importResource();
break;
case 4:
case 3:
this.importMateriel();
break;
case 4:
this.importRountingHeader();
break;
case 5:
this.importRountingBom();
break;
default:
//this.loadColum(this.columns1);
}
......@@ -1085,6 +1320,146 @@ export default {
},
//获取编码名称等end
//插入物料管理end
//插入工艺规程 及工艺相关start
importRountingHeader() {
let tempData = this.$u.clone(this.dataIm);
let tempList = [];
tempData.forEach((ele) => {
let obj = {
classId: null,
unicode: "",
name: ele.name ? ele.name : '',
code: ele.code ? ele.code : '',
productId: ele.productId ? ele.productId : '', //?
productName: ele.productName ? ele.productName : "", //?
productBomId: ele.productBomId ? ele.productBomId : "", //?
drawingNo: ele.drawingNo ? ele.drawingNo : "", //?
version: "",
versionid: ele.versionid ? ele.versionid : "",
author: null,
departmentId: ele.departmentId ? ele.departmentId : null, //?
departmentName: ele.departmentName ? ele.departmentName : "", //?
isMain: 1,
upId: null,
upDetailId: null,
routingType: ele.routingType ? ele.routingType : null,
status: 0,
approvalStatus: 4, //?
remark: "",
approvalStatusRemark: "",
auditUserId1: "",
auditUserId2: "",
platesnum: null,
versionnotes: "",
isSendPpm: 1,
fileId: "",
phase: ele.phase ? ele.phase : null,
isEffect: ele.isEffect ? ele.isEffect : 1
};
if (ele.name && ele.name != '') {
tempList.push(obj);
}
});
if (tempList.length == 0) {
this.$Message.error("所有导入的数据均不合法!");
} else {
let parms = {
list: tempList,
};
let url = `${technologyUrl}routingheaderimportservice/import`
this.$api.post(url, parms).then((r) => {
if (r.success) {
this.$Message.success("成功批量导入工艺规程模块 " + tempList.length + " 条数据");
this.imBtn = false;
this.cancelExcel();
} else {
this.$Message.error("批量导入失败")
}
}).catch(err => {
this.$Message.error("数据异常!");
});
}
},
//导入工艺bom
importRountingBom() {
let tempData = this.$u.clone(this.dataIm);
let tempList = [];
tempData.forEach((ele) => {
let obj = {
routingHeaderId: Number(this.getRoutingHeaderId(ele.routingHeaderId)),
routingDetailId: ele.routingDetailId ? Number(ele.routingDetailId) : null,
routingDetailNo: ele.routingDetailNo ? Number(ele.routingDetailNo) : null,
routingDetailName: ele.routingDetailName ? ele.routingDetailName : '',
routingStepId: 0,
quantity: ele.quantity ? Number(ele.quantity) : 0,
materialId: ele.materialId ? ele.materialId : '',
materialType: ele.materialType ? Number(ele.materialType) : '',
materialNumber: ele.materialNumber ? ele.materialNumber : '',
nameMaterial: ele.nameMaterial ? ele.nameMaterial : '',
brand: ele.brand ? ele.brand : '',
specifications: ele.specifications ? ele.specifications : '',
xhgg: ele.xhgg ? ele.xhgg : '',
texture: ele.texture ? ele.texture : '',
procurementStandards: ele.procurementStandards ? ele.procurementStandards : '',
qualityGrade: ele.qualityGrade ? ele.qualityGrade : '',
state: null,
extend: "",
remark: "",
drawNum: ele.drawNum ? ele.drawNum : ''
};
if (ele.routingDetailId && ele.routingDetailId != null) {
tempList.push(obj);
}
});
if (tempList.length == 0) {
this.$Message.error("所有导入的数据均不合法!");
} else {
let parms = {
list: tempList,
};
let url = `${technologyUrl}productinfoimportservice/import`
this.$api.post(url, parms).then((r) => {
if (r.success) {
this.$Message.success("成功批量导入工艺Bom模块 " + tempList.length + " 条数据");
this.imBtn = false;
this.cancelExcel();
} else {
this.$Message.error("批量导入失败")
}
}).catch(err => {
this.$Message.error("数据异常!");
});
}
},
//获取工艺规程列表
getRoutingHeaderData() {
let url = `${technologyUrl}routingheader/list`;
let data = {
conditions: []
};
this.$api.post(url, data).then((r) => {
if (r.success) {
this.routingHeaderData = r.result || []
}
});
},
//根据工艺规程ID获得name
getRoutingHeaderId(val) {
let routingHeaderDataList = this.$u.clone(this.routingHeaderData)
let routingHeaderId = 0
routingHeaderDataList.forEach(ele => {
if (ele.name == val) {
routingHeaderId = ele.id
}
})
return routingHeaderId
},
//插入工艺规程 及工艺相关end
//切换列表和excel按钮
changeExcel(val) {
......@@ -1109,10 +1484,18 @@ export default {
key = "user" + "." + key;
return this.$t(key);
},
l3(key) {
l2(key) {
key = "resource" + "." + key;
return this.$t(key);
},
l4(key) {
key = "routingHeader" + "." + key;
return this.$t(key);
},
l5(key) {
key = "routingsupporting" + "." + key;
return this.$t(key);
},
},
watch: {
eid(v) {
......
......@@ -27,4 +27,8 @@ export default {
getmaterialids(params) {
return Api.get(`${technologyUrl}productinfo/getmaterialids`, params);
},
//获取所有工艺规程
getRoutingheaderList(params) {
return Api.post(`${technologyUrl}routingheader/list`, params);
},
}
......@@ -22,7 +22,7 @@
<Modal v-model="modal" :title="title" width="1200" footer-hide>
<component :is="detail" :eid="curId" :headid="hid" :productBomId="productBomId" @on-close="cancel" @on-ok="ok" />
</Modal>
<ImportExcel ref="importExcel" @on-get-data="getData" :modalTitle="temTitle" :columns="cols" :open="ModalIm" @on-cancel="ModalImCancel" @on-ok="ok" />
<ImportExcel ref="importExcel" @on-get-data="getData" :modalTitle="temTitle" :columns="columns" :open="ModalIm" @on-cancel="ModalImCancel" @on-ok="ok" />
</div>
</template>
......@@ -58,7 +58,9 @@ export default {
detail: null,
curId: 0,
hid: 0,
columns: [{
columns: [
{
key: "routingDetailNo",
title: this.l("routingDetailNo"),
align: "left",
......@@ -66,12 +68,31 @@ export default {
width: 100,
sortable: true
},
{
key: "routingHeaderId",
title: this.l("routingHeaderName"),
hide: true,
import: true,
techKey: '1',
render: (h, params) => {
return h(
"span", {},
this.getRoutingHeaderName(params.row.routingHeaderId)
);
}
},
{
key: "routingDetailName",
title: this.l("routingDetailName"),
align: "left",
high: true
},
{
key: "routingDetailId",
title: this.l("routingDetailId"),
hide: true,
import: true,
},
{
key: "quantity",
title: this.l("quantity"),
......@@ -95,6 +116,13 @@ export default {
easy: true,
high: true
},
{
key: "materialId",
title: this.l("materialId"),
align: "left",
hide: true,
import: true
},
{
key: "nameMaterial",
title: this.l("nameMaterial"),
......@@ -233,6 +261,7 @@ export default {
productBomId: -1,
ModalIm: false,
temTitle: "工艺Bom",
routingHeaderData: [],
};
},
created() {
......@@ -247,6 +276,7 @@ export default {
},
mounted() {
console.log(this);
this.getRoutingHeaderData();
this.search();
},
async fetch({
......@@ -316,23 +346,33 @@ export default {
},
//根据页面二次处理数据
formatMethod(val) {
// alert(JSON.stringify(val))
let tempData = this.$u.clone(val);
let tempList = [];
tempData.forEach((ele) => {
let obj = {
name: ele.name ? ele.name : '',
version: ele.version ? Number(ele.version) : '',
drawing: ele.drawing ? ele.drawing : '',
description: ele.description ? ele.description : "",
code: 0,
status: this.nodeInfo.status == 1 ? 3 : 0,
codeRuleId: this.nodeInfo.codeRuleId,
categoryId: this.nodeInfo.categoryId, //左侧树点击的id
customProperties: {},
rootCategoryId: this.nodeInfo.rootCategoryId, //左侧树点击的数据的最顶层id
codeRuleType: this.nodeInfo.codeRuleType
routingHeaderId: Number(this.headerid),
routingDetailId: ele.routingDetailId ? Number(ele.routingDetailId) : null,
routingDetailNo: ele.routingDetailNo ? Number(ele.routingDetailNo) : null,
routingDetailName: ele.routingDetailName ? ele.routingDetailName : '',
routingStepId: 0,
quantity: ele.quantity ? Number(ele.quantity) : 0,
materialId: ele.materialId ? ele.materialId : '',
materialType: ele.materialType ? Number(ele.materialType) : '',
materialNumber: ele.materialNumber ? ele.materialNumber : '',
nameMaterial: ele.nameMaterial ? ele.nameMaterial : '',
brand: ele.brand ? ele.brand : '',
specifications: ele.specifications ? ele.specifications : '',
xhgg: ele.xhgg ? ele.xhgg : '',
texture: ele.texture ? ele.texture : '',
procurementStandards: ele.procurementStandards ? ele.procurementStandards : '',
qualityGrade: ele.qualityGrade ? ele.qualityGrade : '',
state: null,
extend: "",
remark: "",
drawNum: ele.drawNum ? ele.drawNum : ''
};
if (ele.name && ele.name != '') {
if (ele.routingDetailId && ele.routingDetailId != null) {
obj.ico = false
} else {
obj.ico = true
......@@ -344,6 +384,29 @@ export default {
},
//批量导入end
//工艺规程id和name之间的转换
//获取工艺规程信息
getRoutingHeaderData() {
let data = {
conditions: []
};
Api.getRoutingheaderList(data).then((r) => {
if (r.success) {
this.routingHeaderData = r.result || []
}
});
},
//根据工艺规程ID获得name
getRoutingHeaderName(val) {
let routingHeaderDataList = this.$u.clone(this.routingHeaderData)
let routingHeaderName = ""
routingHeaderDataList.forEach(ele => {
if (ele.id == Number(val)) {
routingHeaderName = ele.name
}
})
return routingHeaderName
},
l(key) {
let vkey = "routingsupporting" + "." + key;
return this.$t(vkey) || key;
......
......@@ -595,7 +595,7 @@ export default {
isSendPpm: 1,
fileId: "",
phase: ele.phase ? ele.phase : null,
isEffect: ele.phase ? ele.phase : 1
isEffect: ele.isEffect ? ele.isEffect : 1
};
if (ele.name && ele.name != '') {
obj.ico = false
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment