初始代码如下
string = ‘let orderNumComp = this.findComponentById(\"#orderNum\");\nlet matCodeComp = this.findComponentById(\"#matCode\");\nlet matTextComp = this.findComponentById(\"#matText\");\nlet packageComp = this.findComponentById(\"#package\");\nlet spComp = this.findComponentById(\"#specification\");\nlet factoryComp = this.findComponentById(\"#factory\");\nlet approvalComp = this.findComponentById(\"#approval\");\nlet genDateComp = this.findComponentById(\"#genDate\");\nlet batchComp = this.findComponentById(\"#batch\");\nlet expireComp = this.findComponentById(\"#expire\");\nlet binComp = this.findComponentById(\"#bin\");\nlet numComp = this.findComponentById(\"#num\");\n\nlet map = this.$store.getters.dataBetweenPage;\n\nthis.setDropDownData = function () {\n let matCodeArray = []\n this.listData.forEach((element,index) => {\n let obj = {}\n obj.matCode = element.matCode\n obj.matText = element.matText\n obj.batchNum = element.batchNum\n matCodeArray.push(obj)\n });\n matCodeArray.sort(function (a,b) {\n return a.matCode.localeCompare(b.matCode)\n })\n matCodeComp.setDropData(matCodeArray)\n matCodeComp.dropHeader=[\"商品编码\",\"商品名称\",\"批次\"]\n let that = this;\n matCodeComp.onSelectItem = function (data) {\n this.content = data.matCode\n for (const ele of that.listData) {\n if (data.matCode == ele.matCode) {\n that.curData = ele;\n that.setInputData(ele);\n binComp.setFocus();\n break;\n }\n }\n }\n}\n\nthis.curData = null;\nthis.detailList = [];\nthis.listData = [];\nthis.curOrderNum=\"\";\n\nlet dList = map.get(\"detailList\")\nlet lData = map.get(\"listData\");\nlet curNum = map.get(\"orderNum\");\nif(dList && dList.length!= 0){\n this.detailList = dList;\n}\nif(lData && lData.length!= 0){\n this.listData = lData\n this.setDropDownData();\n}\n\nif(curNum){\n this.curOrderNum = curNum\n orderNumComp.setData(curNum);\n}\n\n\nthis.setInputData = function (data) {\n orderNumComp.setData(data.orderNum);\n matCodeComp.setData(data.matCode);\n matTextComp.setData(data.matText);\n packageComp.setData(data.packFormat);\n spComp.setData(data.intoOrderStr8);\n factoryComp.setData(data.ownerCode);\n approvalComp.setData(data.intoOrderStr7);\n genDateComp.setData(data.dateGen);\n batchComp.setData(data.batchNum);\n expireComp.setData(data.dateExpire);\n numComp.setData(data.matQty)\n};\nthis.onHookSuccess = function (eventsData, result, api) {\n if (api == \"findMaterialByCode\") {\n let matCode = result.data.data[0].matCode;\n this.listData.forEach(ele => {\n if (matCode == ele.matCode) {\n this.curData = ele; this.setInputData(ele);\n }\n });\n matCodeComp.setData(matCode)\n }else if(api == \"findOrderDetail\"){\n this.listData = result.data.data\n this.$store.dispatch(\"setDataBetweenPage\", { pageId: \"listData\", data: this.listData });\n orderNumComp.setData(this.listData[0].orderNum);\n matCodeComp.setFocus()\n this.setDropDownData()\n }\n else {\n this.detailList = [];\n }\n};\nthis.clearInput = function () {\n matCodeComp.setData(\"\");\n matTextComp.setData(\"\");\n packageComp.setData(\"\");\n spComp.setData(\"\");\n factoryComp.setData(\"\");\n approvalComp.setData(\"\");\n genDateComp.setData(\"\");\n batchComp.setData(\"\");\n expireComp.setData(\"\");\n numComp.setData(\"\");\n binComp.setData(\"\");\n matCodeComp.setFocus();\n};\n//点击事件\nthis.hookBeforeClick = function (eventsData, element) {\n //确定按钮\n if (element.propsValue.refName == \"#confirm\") {\n if (!matCodeComp.getContent()) {\n this.$notify.error({\n title: \"提示\",\n message: \"商品编号不能为空!\",\n position: \"bottom-right\"\n });\n matCodeComp.setFocus(); throw {}\n } else if (!binComp.getContent()) {\n this.$notify.error({\n title: \"提示\",\n message: \"仓位编号不能为空!\",\n position: \"bottom-right\"\n });\n binComp.setFocus(); throw {}\n } else if (!numComp.getContent()) {\n this.$notify.error({\n title: \"提示\",\n message: \"数量不能为空!\",\n position: \"bottom-right\"\n });\n numComp.setFocus(); throw {}\n } if (!this.curData) {\n return\n }\n let foundList = this.detailList.filter(ele => {\n return ele.binCode == binComp.getContent() && ele.matCode == matCodeComp.getContent()\n });\n if (foundList.length == 1) {\n foundList[0].updateQty += numComp.getContent()\n }\n else {\n this.curData.binCode = binComp.getContent();\n this.curData.matCode = matCodeComp.getContent();\n this.curData.matText = matTextComp.getContent();\n this.curData.updateQty = numComp.getContent();\n this.detailList.push({ ...this.curData });\n }\n this.clearInput();\n }\n else if (element.propsValue.refName == \"#detail\") {\n this.$store.dispatch(\"setDataBetweenPage\", { pageId: \"listData\", data: this.listData });\n this.$store.dispatch(\"setDataBetweenPage\", { pageId: \"detailList\", data: this.detailList });\n this.$store.dispatch(\"setDataBetweenPage\", { pageId: \"orderNum\", data: orderNumComp.getContent() });\n this.$store.dispatch(\"setDataBetweenPage\", { pageId: \"updateDetail\", data: orderNumComp.getContent() });\n this[\"_event_jumpPage\"](\"\", { events: [{ url: \"updateDetail\" }] }, this)\n }else if(element.propsValue.refName ==\"#part\"){\n this.$store.dispatch(\"setDataBetweenPage\", { pageId: \"listData\", data: this.listData });\n this.$store.dispatch(\"setDataBetweenPage\", { pageId: \"detailList\", data: this.detailList });\n this.$store.dispatch(\"setDataBetweenPage\", { pageId: \"orderNum\", data: orderNumComp.getContent() });\n this.$store.dispatch(\"setDataBetweenPage\", { pageId: \"partList\", data: orderNumComp.getContent() });\n this[\"_event_jumpPage\"](\"\", { events: [{ url: \"partList\" }] }, this)\n }\n};//执行上架\nthis.interceptParam = function (param, element, eventsData) {\n if (eventsData.request.api == \"updateIntoStock\") {\n if (!window.localStorage.globalWbCode) {\n this.$store.dispatch(\"showMassage\", { type: \"error\", message: \"请设置工位编号!\", });\n throw {}\n } if (this.detailList.length == 0) {\n this.$store.dispatch(\"showMassage\", { type: \"error\", message: \"上架详情列表为空!\", });\n throw {}\n }\n param.data = [];\n this.detailList.forEach(ele => {\n let item = {};\n item.binCode = ele.binCode;\n item.matCode = ele.matCode;\n item.ownerCode = ele.ownerCode;\n item.matQty = ele.updateQty;\n item.orderItem = ele.orderItem;\n item.orderType = ele.orderType;\n item.orderKeyThird = ele.orderKeyThird;\n item.batchNum = ele.batchNum;\n item.batchAttr07 = ele.batchAttr07;\n item.batchAttr08 = ele.batchAttr08;\n item.orderNum = ele.orderNum;\n item.traceCode = ele.traceCode;\n item.ptlBin = ele.ptlBin;\n item.traceHeight = ele.traceHeight;\n item.boxCodes = ele.boxCodes;\n item.containerTypeCode = ele.containerTypeCode;\n param.data.push(item);\n param.podCode = item.binCode.substring(0, 6);\n param.dirCode = item.binCode.substring(8, 9);\n });\n param.avgLeaveFlag = \"1\"\n }\n return param\n};’
需要转换成 下面这样的代码
let orderNumComp = this.findComponentById("#orderNum");
let matCodeComp = this.findComponentById("#matCode");
let matTextComp = this.findComponentById("#matText");
let packageComp = this.findComponentById("#package");
let spComp = this.findComponentById("#specification");
let factoryComp = this.findComponentById("#factory");
let approvalComp = this.findComponentById("#approval");
let genDateComp = this.findComponentById("#genDate");
let batchComp = this.findComponentById("#batch");
let expireComp = this.findComponentById("#expire");
let binComp = this.findComponentById("#bin");
let numComp = this.findComponentById("#num");
let map = this.$store.getters.dataBetweenPage;
this.setDropDownData = function () {
let matCodeArray = []
}
this.listData.forEach((element, index) => {
let obj = {}
obj.matCode = element.matCode
obj.matText = element.matText
obj.batchNum = element.batchNum
matCodeArray.push(obj)
});
matCodeArray.sort(function (a, b) {
return a.matCode.localeCompare(b.matCode)
})
matCodeComp.setDropData(matCodeArray)
matCodeComp.dropHeader = ["商品编码", "商品名称", "批次"]
let that = this;
matCodeComp.onSelectItem = function (data) {
this.content = data.matCode
for (const ele of that.listData) {
if (data.matCode == ele.matCode) {
that.curData = ele;
that.setInputData(ele);
binComp.setFocus();
break;
}
}
}
this.curData = null;
this.detailList = [];
this.listData = [];
this.curOrderNum = "";
let dList = map.get("detailList")
let lData = map.get("listData");
let curNum = map.get("orderNum");
if (dList && dList.length != 0) {
this.detailList = dList;
}
if (lData && lData.length != 0) {
this.listData = lData
this.setDropDownData();
}
if (curNum) {
this.curOrderNum = curNumorderNumComp.setData(curNum);
}
this.setInputData = function (data) {
orderNumComp.setData(data.orderNum);
matCodeComp.setData(data.matCode);
matTextComp.setData(data.matText);
packageComp.setData(data.packFormat);
spComp.setData(data.intoOrderStr8);
factoryComp.setData(data.ownerCode);
approvalComp.setData(data.intoOrderStr7);
genDateComp.setData(data.dateGen);
batchComp.setData(data.batchNum);
expireComp.setData(data.dateExpire);
numComp.setData(data.matQty)
};
this.onHookSuccess = function (eventsData, result, api) {
if (api == "findMaterialByCode") {
let matCode = result.data.data[0].matCode;
this.listData.forEach(ele => {
if (matCode == ele.matCode) {
this.curData = ele;
}
this.setInputData(ele);
matCodeComp.setData(matCode);
};
}
else if (api == "findOrderDetail") {
this.listData = result.data.data
this.$store.dispatch("setDataBetweenPage", {pageId: "listData", data: this.listData});
orderNumComp.setData(this.listData[0].orderNum);
matCodeComp.setFocus();
this.setDropDownData();
}
else {
this.detailList = [];
}
}
this.clearInput = function () {
matCodeComp.setData("");
matTextComp.setData("");
packageComp.setData("");
spComp.setData("");
factoryComp.setData("");
approvalComp.setData("");
genDateComp.setData("");
batchComp.setData("");
expireComp.setData("");
numComp.setData("");
binComp.setData("");
matCodeComp.setFocus()
};
//点击事件'
this.hookBeforeClick = function (eventsData, element) { //确定按钮
if (element.propsValue.refName == "#confirm") {
if (!matCodeComp.getContent()) {
this.$notify.error(
{
title: "提示",
message: "商品编号不能为空!",
position: "bottom-right"
});
matCodeComp.setFocus();
throw {}
}
else if (!binComp.getContent()) {
this.$notify.error(
{
title: "提示", message: "仓位编号不能为空!", position: "bottom-right"
});
binComp.setFocus();
throw {}
} else if (!numComp.getContent()) {
this.$notify.error({
title: "提示", message: "数量不能为空!", position: "bottom-right"
});
numComp.setFocus();
throw {}
}
if (!this.curData) {
return
}
let foundList = this.detailList.filter(ele => {
return ele.binCode == binComp.getContent() && ele.matCode == matCodeComp.getContent()
});
if (foundList.length == 1) {
foundList[0].updateQty += numComp.getContent()
}
else {
this.curData.binCode = binComp.getContent();
this.curData.matCode = matCodeComp.getContent();
this.curData.matText = matTextComp.getContent();
this.curData.updateQty = numComp.getContent();
this.detailList.push({...this.curData});
}
this.clearInput();
}
else if (element.propsValue.refName == "#detail") {
this.$store.dispatch("setDataBetweenPage",
{pageId: "listData", data: this.listData});
this.$store.dispatch("setDataBetweenPage", {pageId: "detailList", data: this.detailList});
this.$store.dispatch("setDataBetweenPage", {pageId: "orderNum", data: orderNumComp.getContent()});
this.$store.dispatch("setDataBetweenPage", {pageId: "updateDetail", data: orderNumComp.getContent()});
this["_event_jumpPage"]("", {events: [{url: "updateDetail"}]}, this)
}
else if (element.propsValue.refName == "#part") {
this.$store.dispatch("setDataBetweenPage", {pageId: "listData", data: this.listData});
this.$store.dispatch("setDataBetweenPage", {pageId: "detailList", data: this.detailList});
this.$store.dispatch("setDataBetweenPage", {pageId: "orderNum", data: orderNumComp.getContent()});
this.$store.dispatch("setDataBetweenPage", {pageId: "partList", data: orderNumComp.getContent()});
this["_event_jumpPage"]("", {events: [{url: "partList"}]}, this)
}
}
//执行上架
this.interceptParam = function (param, element, eventsData) {
if (eventsData.request.api == "updateIntoStock") {
if (!window.localStorage.globalWbCode) {
this.$store.dispatch("showMassage",
{type: "error", message: "请设置工位编号!",});
throw {}
}
if (this.detailList.length == 0) {
this.$store.dispatch("showMassage", {type: "error", message: "上架详情列表为空!",});
}
throw {}
}
param.data = [];
this.detailList.forEach(ele => {
let item = {};
item.binCode = ele.binCode;
item.matCode = ele.matCode;
item.ownerCode = ele.ownerCode;
item.matQty = ele.updateQty;
item.orderItem = ele.orderItem;
item.orderType = ele.orderType;
item.orderKeyThird = ele.orderKeyThird;
item.batchNum = ele.batchNum;
item.batchAttr07 = ele.batchAttr07;
item.batchAttr08 = ele.batchAttr08;
item.orderNum = ele.orderNum;
item.traceCode = ele.traceCode;
item.ptlBin = ele.ptlBin;
item.traceHeight = ele.traceHeight;
item.boxCodes = ele.boxCodes;
item.containerTypeCode = ele.containerTypeCode;
param.data.push(item);
param.podCode = item.binCode.substring(0, 6);
param.dirCode = item.binCode.substring(8, 9);
});
param.avgLeaveFlag = "1"
return param
};
主要是中间的/n 和“‘’” 的字符会混淆 网上自带的 json 转换 也不行
代码实现或者网络工具能转化均采纳