From 8795da10933225d84cabf067d2d2263fe0e3d463 Mon Sep 17 00:00:00 2001 From: njdaoyehu Date: Thu, 17 Apr 2025 18:01:14 +0800 Subject: [PATCH] fixed --- package.json | 3 + src/views/data/task/index.vue | 70 ++++++++++++---------- src/views/data/task/result.vue | 105 ++++++++++++++++++++++++++++----- src/views/data/task/schema.ts | 9 +++ 4 files changed, 142 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index 4da972a..fad88b4 100644 --- a/package.json +++ b/package.json @@ -80,6 +80,8 @@ "crypto-js": "^4.1.1", "dayjs": "^1.11.9", "echarts": "^5.4.2", + "exceljs": "^4.4.0", + "file-saver": "^2.0.5", "lodash-es": "^4.17.21", "lodash.get": "^4.4.2", "mockjs": "^1.1.0", @@ -109,6 +111,7 @@ "@purge-icons/generated": "^0.9.0", "@types/codemirror": "^5.60.8", "@types/crypto-js": "^4.1.1", + "@types/file-saver": "^2.0.7", "@types/intro.js": "^5.1.1", "@types/lodash-es": "^4.17.7", "@types/lodash.get": "^4.4.7", diff --git a/src/views/data/task/index.vue b/src/views/data/task/index.vue index 8a510bc..9ad1bb5 100644 --- a/src/views/data/task/index.vue +++ b/src/views/data/task/index.vue @@ -217,38 +217,48 @@ reload(); }; - const handleView = (record: any) => { + const getCode = (code1: string, code2: string) => { + const hasPt = code1.indexOf("PT") !== -1; + if (hasPt) { + let code = code1.split("PT")[0] + "PT"; + for (let i = 0; i < code1.split("PT")[1].length - code2.length; i++) { + code += "0"; + } + code += code2; + return code + } else { + return code2 + } + }; + + const getResults = (record: any) => { const params = JSON.parse(record.paramJson); - const result = JSON.parse(record.resultJson); - if (record.resultJson === undefined || record.resultJson === null) - return; - result.forEach((items: any) => { - items.forEach((d: any) => { - params[d.code - 1].x1 = d.x1; - params[d.code - 1].x2 = d.x2; - params[d.code - 1].x3 = d.x3; - params[d.code - 1].x4 = d.x4; - params[d.code - 1].y1 = d.y1; - params[d.code - 1].y2 = d.y2; - params[d.code - 1].y3 = d.y3; - params[d.code - 1].y4 = d.y4; - params[d.code - 1].w = d.w; - params[d.code - 1].h = d.h; - params[d.code - 1].status = d.status; - }) + if (record.results === undefined || record.results === null) + return undefined; + const results = JSON.parse(record.results); + params.forEach((param: any) => { + const l = results.filter((d: any) => param["code"] === getCode(param["code"], d["code"]+'')); + if (l.length > 0) { + param["x1"] = l[0]["x1"]; + param["y1"] = l[0]["y1"]; + param["x2"] = l[0]["x2"]; + param["y2"] = l[0]["y2"]; + param["x3"] = l[0]["x3"]; + param["y3"] = l[0]["y3"]; + param["x4"] = l[0]["x4"]; + param["y4"] = l[0]["y4"]; + param["base"] = l[0]["base"]; + param["actual_value"] = l[0]["actual_value"]; + param["status"] = l[0]["status"]; + } }); - // params.forEach((d) => { - // const r = Math.ceil(Math.random() * 10) - 3; - // d.l1 = r + parseInt(d.w); - // d.l2 = r + parseInt(d.h); - // d.l3 = r + parseInt(d.w); - // d.l4 = r + parseInt(d.h); - // const x = parseInt(d.x) + d.l1 / 2; - // const y = parseInt(d.y) + d.l2 / 2; - // d.c = x + ' , ' + y; - // d.result = r >= -2 && r <= 5 ? 'OK' : 'NG'; - // }); - record.resultJson1 = JSON.stringify(params); + return params; + } + + const handleView = (record: any) => { + const results = getResults(record); + if (!results) return; + record.resultJson1 = JSON.stringify(results); openModal(true, { record }); }; diff --git a/src/views/data/task/result.vue b/src/views/data/task/result.vue index 7c508c4..8ea19b8 100644 --- a/src/views/data/task/result.vue +++ b/src/views/data/task/result.vue @@ -1,6 +1,15 @@