feat(hjgl): 完善图纸识别与材料管段信息管理
扩展图纸识别结果模型和保存流程,按管线及页码替换识别明细, 避免重复导入造成数据累积;同时自动补充材料编码库数据, 新增材料总览、管段长度总览及 PDF 焊口标记功能,提升识别数据 的查询、复核和后续使用效率。
This commit is contained in:
@@ -15,12 +15,14 @@
|
||||
<link rel="stylesheet" crossorigin="" href="./assets/main-DSskaVYi.css">--%>
|
||||
|
||||
|
||||
<script type="module" crossorigin src="./assets/main-BUyRx63y.js"></script>
|
||||
<script type="module" crossorigin src="./assets/main-mwM84Mwh.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="./assets/pdf-lib-AfLQbX6n.js">
|
||||
<link rel="modulepreload" crossorigin href="./assets/pdfjs-DXqArq6h.js">
|
||||
<link rel="modulepreload" crossorigin href="./assets/styles-BZJ2tAi6.js">
|
||||
<link rel="stylesheet" crossorigin href="./assets/styles-DNToM_5G.css">
|
||||
<link rel="stylesheet" crossorigin href="./assets/main-C8AfvBIm.css">
|
||||
<link rel="modulepreload" crossorigin href="./assets/styles-YQqUhjjA.js">
|
||||
<link rel="stylesheet" crossorigin href="./assets/styles-DYHYQLTQ.css">
|
||||
<link rel="stylesheet" crossorigin href="./assets/main-xlut82Hd.css">
|
||||
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
.f-grid-row.red {
|
||||
@@ -36,8 +38,9 @@
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<input id="hdpdfurl" type="hidden" value="<%=URL %>"/>
|
||||
<input id="hdjoinInfo" type="hidden" runat="server"/>
|
||||
<input id="hdjoinInfo" type="hidden" runat="server"/>
|
||||
<input id="hdworkRecord" type="hidden" runat="server"/>
|
||||
<input id="annotionData" type="hidden" runat="server"/>
|
||||
<input id="imgurl1" type="hidden" value="">
|
||||
<input id="imgurl2"type="hidden" value="">
|
||||
|
||||
|
||||
@@ -77,7 +77,10 @@ namespace FineUIPro.Web.HJGL.JoinMarking
|
||||
ISO_ID = Request.Params["ISO_ID"];
|
||||
FileId = Request.Params["FileId"];
|
||||
URL = Funs.SGGLUrl + Request.Params["pdfurl"];
|
||||
this.IsPDMS = "0";
|
||||
//hdjoinInfo.Value = "{\r\n \"version\": \"1.0\",\r\n \"exportDate\": \"2026-07-14T08:14:00.657Z\",\r\n \"sourceFile\": \"12026071310111.pdf\",\r\n \"globalSettings\": {\r\n \"startNumber\": 1,\r\n \"increment\": 1,\r\n \"prefix\": \"\",\r\n \"suffix\": \"\",\r\n \"fontSize\": 10,\r\n \"borderStyle\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n },\r\n \"annotations\": {\r\n \"1\": [\r\n {\r\n \"x\": 383.8159484863281,\r\n \"y\": 306.50694274902344,\r\n \"x2\": 333.8159484863281,\r\n \"y2\": 356.50694274902344,\r\n \"displayValue\": 1,\r\n \"label\": \"1\",\r\n \"style\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n },\r\n {\r\n \"x\": 424.8159484863281,\r\n \"y\": 324.50694274902344,\r\n \"x2\": 374.8159484863281,\r\n \"y2\": 374.50694274902344,\r\n \"displayValue\": 2,\r\n \"label\": \"2\",\r\n \"style\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n },\r\n {\r\n \"x\": 483.8159484863281,\r\n \"y\": 358.50694274902344,\r\n \"x2\": 433.8159484863281,\r\n \"y2\": 408.50694274902344,\r\n \"displayValue\": 3,\r\n \"label\": \"3\",\r\n \"style\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n }\r\n ]\r\n }\r\n}";
|
||||
//hdworkRecord.Value = "{\r\n \"version\": \"1.0\",\r\n \"exportDate\": \"2026-07-14T08:14:00.657Z\",\r\n \"sourceFile\": \"12026071310111.pdf\",\r\n \"globalSettings\": {\r\n \"startNumber\": 1,\r\n \"increment\": 1,\r\n \"prefix\": \"\",\r\n \"suffix\": \"\",\r\n \"fontSize\": 10,\r\n \"borderStyle\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n },\r\n \"annotations\": {\r\n \"1\": [\r\n {\r\n \"x\": 383.8159484863281,\r\n \"y\": 306.50694274902344,\r\n \"x2\": 333.8159484863281,\r\n \"y2\": 356.50694274902344,\r\n \"displayValue\": 1,\r\n \"label\": \"1\",\r\n \"style\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n },\r\n {\r\n \"x\": 424.8159484863281,\r\n \"y\": 324.50694274902344,\r\n \"x2\": 374.8159484863281,\r\n \"y2\": 374.50694274902344,\r\n \"displayValue\": 2,\r\n \"label\": \"2\",\r\n \"style\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n },\r\n {\r\n \"x\": 483.8159484863281,\r\n \"y\": 358.50694274902344,\r\n \"x2\": 433.8159484863281,\r\n \"y2\": 408.50694274902344,\r\n \"displayValue\": 3,\r\n \"label\": \"3\",\r\n \"style\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n }\r\n ]\r\n }\r\n}";
|
||||
//annotionData.Value = "{\r\n \"version\": \"1.0\",\r\n \"exportDate\": \"2026-07-14T08:14:00.657Z\",\r\n \"sourceFile\": \"12026071310111.pdf\",\r\n \"globalSettings\": {\r\n \"startNumber\": 1,\r\n \"increment\": 1,\r\n \"prefix\": \"\",\r\n \"suffix\": \"\",\r\n \"fontSize\": 10,\r\n \"borderStyle\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n },\r\n \"annotations\": {\r\n \"1\": [\r\n {\r\n \"x\": 383.8159484863281,\r\n \"y\": 306.50694274902344,\r\n \"x2\": 333.8159484863281,\r\n \"y2\": 356.50694274902344,\r\n \"displayValue\": 1,\r\n \"label\": \"1\",\r\n \"style\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n },\r\n {\r\n \"x\": 424.8159484863281,\r\n \"y\": 324.50694274902344,\r\n \"x2\": 374.8159484863281,\r\n \"y2\": 374.50694274902344,\r\n \"displayValue\": 2,\r\n \"label\": \"2\",\r\n \"style\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n },\r\n {\r\n \"x\": 483.8159484863281,\r\n \"y\": 358.50694274902344,\r\n \"x2\": 433.8159484863281,\r\n \"y2\": 408.50694274902344,\r\n \"displayValue\": 3,\r\n \"label\": \"3\",\r\n \"style\": \"none\",\r\n \"annotationStyle\": \"circle-outline\"\r\n }\r\n ]\r\n }\r\n}";
|
||||
this.IsPDMS = "0";
|
||||
if (!WeldJointlist.ContainsKey(CurrUser.PersonId))
|
||||
{
|
||||
WeldJointlist.Add(CurrUser.PersonId, new List<Model.HJGL_WeldJoint>());
|
||||
|
||||
@@ -41,6 +41,15 @@ namespace FineUIPro.Web.HJGL.JoinMarking
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlInputHidden hdworkRecord;
|
||||
|
||||
/// <summary>
|
||||
/// annotionData 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlInputHidden annotionData;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
.menu-item[data-v-af288edf]:hover{background-color:#f3f4f6!important}.annotation-detail-panel[data-v-af288edf]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:hidden}.panel-header[data-v-af288edf]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#334155;color:#fff}.close-btn[data-v-af288edf]{background:transparent;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.close-btn[data-v-af288edf]:hover{color:#fca5a5}.detail-content[data-v-af288edf]{padding:12px}.detail-row[data-v-af288edf]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.detail-row label[data-v-af288edf]{min-width:70px;font-size:12px;color:#64748b}.detail-row.readonly[data-v-af288edf]{color:#94a3b8;font-size:12px}.detail-row.readonly span[data-v-af288edf]{color:#475569}.label-preview[data-v-af288edf]{flex:1;padding:6px 10px;background:#1e293b;color:#f1f5f9;border-radius:4px;font-family:monospace;font-size:13px;text-align:center}.detail-input[data-v-af288edf]{flex:1;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px}.detail-input[data-v-af288edf]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.detail-textarea[data-v-af288edf]{flex:1;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px;min-height:60px;resize:vertical;font-family:inherit}.detail-textarea[data-v-af288edf]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.detail-divider[data-v-af288edf]{height:1px;background:#e2e8f0;margin:12px 0}.detail-actions[data-v-af288edf]{display:flex;gap:8px;margin-top:12px}.detail-actions .btn-primary[data-v-af288edf]{flex:1;padding:8px;background:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.detail-actions .btn-primary[data-v-af288edf]:hover{background:#2563eb}.detail-actions .btn-danger[data-v-af288edf]{padding:8px 12px;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:4px;cursor:pointer;font-size:12px}.detail-actions .btn-danger[data-v-af288edf]:hover{background:#fecaca}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,229 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Vue PDF Viewer</title>
|
||||
<script type="module" crossorigin src="/assets/main-mwM84Mwh.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/pdf-lib-AfLQbX6n.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/pdfjs-DXqArq6h.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/styles-YQqUhjjA.js">
|
||||
<link rel="stylesheet" crossorigin href="/assets/styles-DYHYQLTQ.css">
|
||||
<link rel="stylesheet" crossorigin href="/assets/main-xlut82Hd.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<!-- <input id="hdpdfurl" value="https://equipmentcheck.oss-cn-beijing.aliyuncs.com/03DR-003A-12-C1R_Sht_1.PDF">
|
||||
<input id="imgurl1" value="https://equipmentcheck.oss-cn-beijing.aliyuncs.com/Screenshots/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202026-01-12%20110935.png">
|
||||
<input id="imgurl2" value="https://equipmentcheck.oss-cn-beijing.aliyuncs.com/Screenshots/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202026-02-08%20132814.png"> -->
|
||||
<!--
|
||||
<input id="annotionData" value='{
|
||||
"version": "1.0",
|
||||
"exportDate": "2026-07-14T09:15:11.489Z",
|
||||
"sourceFile": "03DR-003A-12-C1R_Sht_1.pdf",
|
||||
"globalSettings": {
|
||||
"startNumber": 1,
|
||||
"increment": 1,
|
||||
"prefix": "",
|
||||
"suffix": "",
|
||||
"fontSize": 10,
|
||||
"borderStyle": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
"annotations": {
|
||||
"1": [
|
||||
{
|
||||
"x": 202,
|
||||
"y": 115,
|
||||
"x2": 152,
|
||||
"y2": 165,
|
||||
"displayValue": 1,
|
||||
"label": "1",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 215,
|
||||
"y": 339,
|
||||
"x2": 165,
|
||||
"y2": 389,
|
||||
"displayValue": 2,
|
||||
"label": "2",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 361,
|
||||
"y": 231,
|
||||
"x2": 311,
|
||||
"y2": 281,
|
||||
"displayValue": 3,
|
||||
"label": "3",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 190,
|
||||
"y": 254,
|
||||
"x2": 140,
|
||||
"y2": 304,
|
||||
"displayValue": 4,
|
||||
"label": "4",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 327,
|
||||
"y": 357,
|
||||
"x2": 277,
|
||||
"y2": 407,
|
||||
"displayValue": 5,
|
||||
"label": "5",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 451,
|
||||
"y": 291,
|
||||
"x2": 401,
|
||||
"y2": 341,
|
||||
"displayValue": 6,
|
||||
"label": "6",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 370,
|
||||
"y": 176,
|
||||
"x2": 320,
|
||||
"y2": 226,
|
||||
"displayValue": 7,
|
||||
"label": "7",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 380,
|
||||
"y": 119,
|
||||
"x2": 330,
|
||||
"y2": 169,
|
||||
"displayValue": 8,
|
||||
"label": "8",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 307,
|
||||
"y": 237,
|
||||
"x2": 257,
|
||||
"y2": 287,
|
||||
"displayValue": 9,
|
||||
"label": "9",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 327,
|
||||
"y": 298,
|
||||
"x2": 277,
|
||||
"y2": 348,
|
||||
"displayValue": 10,
|
||||
"label": "10",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 323,
|
||||
"y": 167,
|
||||
"x2": 273,
|
||||
"y2": 217,
|
||||
"displayValue": 11,
|
||||
"label": "11",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 358,
|
||||
"y": 55,
|
||||
"x2": 308,
|
||||
"y2": 105,
|
||||
"displayValue": 12,
|
||||
"label": "12",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 299,
|
||||
"y": 111,
|
||||
"x2": 249,
|
||||
"y2": 161,
|
||||
"displayValue": 13,
|
||||
"label": "13",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 293,
|
||||
"y": 71,
|
||||
"x2": 243,
|
||||
"y2": 121,
|
||||
"displayValue": 14,
|
||||
"label": "14",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 275,
|
||||
"y": 180,
|
||||
"x2": 225,
|
||||
"y2": 230,
|
||||
"displayValue": 15,
|
||||
"label": "15",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 179,
|
||||
"y": 157,
|
||||
"x2": 129,
|
||||
"y2": 207,
|
||||
"displayValue": 16,
|
||||
"label": "16",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 189,
|
||||
"y": 59,
|
||||
"x2": 139,
|
||||
"y2": 109,
|
||||
"displayValue": 17,
|
||||
"label": "17",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 293,
|
||||
"y": 39,
|
||||
"x2": 243,
|
||||
"y2": 89,
|
||||
"displayValue": 18,
|
||||
"label": "18",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
},
|
||||
{
|
||||
"x": 209,
|
||||
"y": 72,
|
||||
"x2": 159,
|
||||
"y2": 122,
|
||||
"displayValue": 19,
|
||||
"label": "19",
|
||||
"style": "none",
|
||||
"annotationStyle": "circle-outline"
|
||||
}
|
||||
]
|
||||
}
|
||||
}'> -->
|
||||
|
||||
</body>
|
||||
@@ -0,0 +1,23 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>PDF 预览</title>
|
||||
<script type="module" crossorigin src="/assets/viewer-DS99NKTs.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/pdf-lib-AfLQbX6n.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/pdfjs-DXqArq6h.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/styles-YQqUhjjA.js">
|
||||
<link rel="stylesheet" crossorigin href="/assets/styles-DYHYQLTQ.css">
|
||||
<link rel="stylesheet" crossorigin href="/assets/viewer-BilNgxa5.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<input id="hdpdfurl" value="https://equipmentcheck.oss-cn-beijing.aliyuncs.com/03DR-003A-12-C1R_Sht_1.PDF">
|
||||
<input id="imgurl1" value="https://equipmentcheck.oss-cn-beijing.aliyuncs.com/Screenshots/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202026-01-12%20110935.png">
|
||||
<input id="imgurl2" value="https://equipmentcheck.oss-cn-beijing.aliyuncs.com/Screenshots/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202026-02-08%20132814.png">
|
||||
<input id="orgname" value="中石化十六有限公司">
|
||||
|
||||
<input id="annotionData" value='[{"JOT_ID":"a1b2c3d4-1111-4000-a000-000000000001","JOT_JointNo":"GB1XX","WED_Code":"W001","JOT_Location":"1G","JOT_WeldDate":"2026-02-01","DetectionTypeCode":"RT","IsRepair":"否","IsHotProcess":"否","x":"50","y":"159.67","x2":"235","y2":"134.67","JOT_JointStatus":"正常"},{"JOT_ID":"a1b2c3d4-2222-4000-a000-000000000002","JOT_JointNo":"GB2XX","WED_Code":"W001","JOT_Location":"2G","JOT_WeldDate":"2026-02-02","DetectionTypeCode":"UT","IsRepair":"否","IsHotProcess":"是","x":"78","y":"203.67","x2":"248","y2":"159.67","JOT_JointStatus":"正常"},{"JOT_ID":"a1b2c3d4-3333-4000-a000-000000000003","JOT_JointNo":"GB3XX","WED_Code":"W002","JOT_Location":"5G","JOT_WeldDate":"2026-02-03","DetectionTypeCode":"RT","IsRepair":"是","IsHotProcess":"否","x":"67","y":"273.67","x2":"290","y2":"203.67","JOT_JointStatus":"返修"},{"JOT_ID":"a1b2c3d4-4444-4000-a000-000000000004","JOT_JointNo":"GB4XX","WED_Code":"W002","JOT_Location":"6G","JOT_WeldDate":"2026-02-03","DetectionTypeCode":"MT","IsRepair":"否","IsHotProcess":"是","x":"91","y":"346.67","x2":"302","y2":"246.67","JOT_JointStatus":"正常"},{"JOT_ID":"a1b2c3d4-5555-4000-a000-000000000005","JOT_JointNo":"GB5XX","WED_Code":"W003","JOT_Location":"1G","JOT_WeldDate":"2026-02-04","DetectionTypeCode":"RT","IsRepair":"是","IsHotProcess":"否","x":"86","y":"411.67","x2":"303","y2":"321.67","JOT_JointStatus":"返修"},{"JOT_ID":"a1b2c3d4-6666-4000-a000-000000000006","JOT_JointNo":"GB6XX","WED_Code":"W003","JOT_Location":"2G","JOT_WeldDate":"2026-02-05","DetectionTypeCode":"UT","IsRepair":"否","IsHotProcess":"否","x":"98","y":"492.67","x2":"302","y2":"405.67","JOT_JointStatus":"正常"},{"JOT_ID":"a1b2c3d4-7777-4000-a000-000000000007","JOT_JointNo":"GB7XX","WED_Code":"W004","JOT_Location":"5G","JOT_WeldDate":"2026-02-06","DetectionTypeCode":"PT","IsRepair":"是","IsHotProcess":"是","x":"139","y":"563.67","x2":"399","y2":"415.67","JOT_JointStatus":"返修"},{"JOT_ID":"a1b2c3d4-8888-4000-a000-000000000008","JOT_JointNo":"GB8XX","WED_Code":"W004","JOT_Location":"6G","JOT_WeldDate":"2026-02-07","DetectionTypeCode":"RT","IsRepair":"否","IsHotProcess":"否","x":"195","y":"599.67","x2":"439","y2":"459.67","JOT_JointStatus":"正常"}]' >
|
||||
|
||||
</body>
|
||||
Reference in New Issue
Block a user