From b1ce70777fb52ba986b6a8cf1b00cce93c2e84be Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 14 十一月 2025 17:46:47 +0800
Subject: [PATCH] 1. 修改巡查单据的下载功能(待完成)
---
src/utils/doc.js | 127 ++++
package-lock.json | 908 +++++++++++++++++++++++++++++++++++
src/api/fysp/domainApi.js | 30 +
package.json | 2
src/views/fysp/config/DomainCatalog.vue | 235 +++++++++
src/constants/menu.js | 5
src/views/fysp/scene/SceneInspectFile.vue | 173 ++++--
src/router/index.js | 7
8 files changed, 1,401 insertions(+), 86 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index b3f4309..be9e772 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -28,8 +28,10 @@
"jszip-utils": "^0.1.0",
"md5": "^2.3.0",
"open-docxtemplater-image-module": "^1.0.3",
+ "pdfmake": "^0.2.20",
"pinia": "^2.0.26",
"pizzip": "^3.1.7",
+ "print-js": "^1.6.0",
"vue": "^3.2.45",
"vue-demi": "^0.14.6",
"vue-i18n": "^9.8.0",
@@ -1955,6 +1957,52 @@
"@floating-ui/core": "^1.0.4"
}
},
+ "node_modules/@foliojs-fork/fontkit": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmmirror.com/@foliojs-fork/fontkit/-/fontkit-1.9.2.tgz",
+ "integrity": "sha512-IfB5EiIb+GZk+77TRB86AHroVaqfq8JRFlUbz0WEwsInyCG0epX2tCPOy+UfaWPju30DeVoUAXfzWXmhn753KA==",
+ "dependencies": {
+ "@foliojs-fork/restructure": "^2.0.2",
+ "brotli": "^1.2.0",
+ "clone": "^1.0.4",
+ "deep-equal": "^1.0.0",
+ "dfa": "^1.2.0",
+ "tiny-inflate": "^1.0.2",
+ "unicode-properties": "^1.2.2",
+ "unicode-trie": "^2.0.0"
+ }
+ },
+ "node_modules/@foliojs-fork/linebreak": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/@foliojs-fork/linebreak/-/linebreak-1.1.2.tgz",
+ "integrity": "sha512-ZPohpxxbuKNE0l/5iBJnOAfUaMACwvUIKCvqtWGKIMv1lPYoNjYXRfhi9FeeV9McBkBLxsMFWTVVhHJA8cyzvg==",
+ "dependencies": {
+ "base64-js": "1.3.1",
+ "unicode-trie": "^2.0.0"
+ }
+ },
+ "node_modules/@foliojs-fork/linebreak/node_modules/base64-js": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.3.1.tgz",
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
+ },
+ "node_modules/@foliojs-fork/pdfkit": {
+ "version": "0.15.3",
+ "resolved": "https://registry.npmmirror.com/@foliojs-fork/pdfkit/-/pdfkit-0.15.3.tgz",
+ "integrity": "sha512-Obc0Wmy3bm7BINFVvPhcl2rnSSK61DQrlHU8aXnAqDk9LCjWdUOPwhgD8Ywz5VtuFjRxmVOM/kQ/XLIBjDvltw==",
+ "dependencies": {
+ "@foliojs-fork/fontkit": "^1.9.2",
+ "@foliojs-fork/linebreak": "^1.1.1",
+ "crypto-js": "^4.2.0",
+ "jpeg-exif": "^1.1.4",
+ "png-js": "^1.0.0"
+ }
+ },
+ "node_modules/@foliojs-fork/restructure": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/@foliojs-fork/restructure/-/restructure-2.0.2.tgz",
+ "integrity": "sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA=="
+ },
"node_modules/@hapi/hoek": {
"version": "9.3.0",
"dev": true,
@@ -3312,6 +3360,14 @@
"node": ">=8"
}
},
+ "node_modules/brotli": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmmirror.com/brotli/-/brotli-1.3.3.tgz",
+ "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==",
+ "dependencies": {
+ "base64-js": "^1.1.2"
+ }
+ },
"node_modules/browserslist": {
"version": "4.21.4",
"dev": true,
@@ -3396,6 +3452,50 @@
"license": "MIT",
"engines": {
"node": ">=6"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.8.tgz",
+ "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/callsites": {
@@ -3618,6 +3718,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
"node_modules/codepage": {
"version": "1.15.0",
"resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
@@ -3766,6 +3874,11 @@
"engines": {
"node": "*"
}
+ },
+ "node_modules/crypto-js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz",
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
},
"node_modules/cssesc": {
"version": "3.0.0",
@@ -3920,10 +4033,61 @@
"node": ">=6"
}
},
+ "node_modules/deep-equal": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/deep-equal/-/deep-equal-1.1.2.tgz",
+ "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==",
+ "dependencies": {
+ "is-arguments": "^1.1.1",
+ "is-date-object": "^1.0.5",
+ "is-regex": "^1.1.4",
+ "object-is": "^1.1.5",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.5.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/deep-is": {
"version": "0.1.4",
"dev": true,
"license": "MIT"
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/delayed-stream": {
"version": "1.0.0",
@@ -3931,6 +4095,11 @@
"engines": {
"node": ">=0.4.0"
}
+ },
+ "node_modules/dfa": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/dfa/-/dfa-1.2.0.tgz",
+ "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q=="
},
"node_modules/dir-glob": {
"version": "3.0.1",
@@ -4000,6 +4169,19 @@
},
"engines": {
"node": ">=12"
+ }
+ },
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/duplexer": {
@@ -4164,11 +4346,38 @@
"errno": "cli.js"
}
},
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-module-lexer": {
"version": "0.9.3",
"dev": true,
"license": "MIT",
"peer": true
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
},
"node_modules/esbuild": {
"version": "0.15.18",
@@ -4934,9 +5143,20 @@
}
},
"node_modules/function-bind": {
- "version": "1.1.1",
- "dev": true,
- "license": "MIT"
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/gensync": {
"version": "1.0.0-beta.2",
@@ -4952,6 +5172,41 @@
"license": "MIT",
"engines": {
"node": "*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/get-stream": {
@@ -5073,6 +5328,17 @@
"node": ">=8"
}
},
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/graceful-fs": {
"version": "4.2.10",
"license": "ISC"
@@ -5105,6 +5371,53 @@
"license": "MIT",
"engines": {
"node": ">=8"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/html-encoding-sniffer": {
@@ -5166,7 +5479,6 @@
},
"node_modules/iconv-lite": {
"version": "0.6.3",
- "dev": true,
"license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
@@ -5274,6 +5586,21 @@
"node": ">=10"
}
},
+ "node_modules/is-arguments": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.2.0.tgz",
+ "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-binary-path": {
"version": "2.1.0",
"dev": true,
@@ -5307,6 +5634,21 @@
"license": "MIT",
"dependencies": {
"has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.1.0.tgz",
+ "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -5374,6 +5716,23 @@
"version": "1.0.1",
"dev": true,
"license": "MIT"
+ },
+ "node_modules/is-regex": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/is-stream": {
"version": "2.0.1",
@@ -5447,6 +5806,11 @@
"@sideway/formula": "^3.0.0",
"@sideway/pinpoint": "^2.0.0"
}
+ },
+ "node_modules/jpeg-exif": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmmirror.com/jpeg-exif/-/jpeg-exif-1.1.4.tgz",
+ "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ=="
},
"node_modules/js-base64": {
"version": "3.7.5",
@@ -6077,6 +6441,14 @@
"version": "0.1.0",
"dev": true
},
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/md5": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz",
@@ -6284,6 +6656,29 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/object-is": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmmirror.com/object-is/-/object-is-1.1.6.tgz",
+ "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/once": {
"version": "1.4.0",
"license": "ISC",
@@ -6467,6 +6862,20 @@
"through": "~2.3"
}
},
+ "node_modules/pdfmake": {
+ "version": "0.2.20",
+ "resolved": "https://registry.npmmirror.com/pdfmake/-/pdfmake-0.2.20.tgz",
+ "integrity": "sha512-bGbxbGFP5p8PWNT3Phsu1ZcRLnRfF6jmnuKTkgmt6i5PZzSdX6JaB+NeTz9q+aocfW8SE9GUjL3o/5GroBqGcQ==",
+ "dependencies": {
+ "@foliojs-fork/linebreak": "^1.1.2",
+ "@foliojs-fork/pdfkit": "^0.15.3",
+ "iconv-lite": "^0.6.3",
+ "xmldoc": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/pend": {
"version": "1.2.0",
"dev": true,
@@ -6537,6 +6946,11 @@
"resolved": "https://registry.npmmirror.com/pako/-/pako-2.1.0.tgz",
"integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug=="
},
+ "node_modules/png-js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/png-js/-/png-js-1.0.0.tgz",
+ "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g=="
+ },
"node_modules/postcss": {
"version": "8.4.20",
"funding": [
@@ -6606,6 +7020,11 @@
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
+ },
+ "node_modules/print-js": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmmirror.com/print-js/-/print-js-1.6.0.tgz",
+ "integrity": "sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg=="
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
@@ -6778,6 +7197,25 @@
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.8.4"
+ }
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
+ "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "set-function-name": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/regexpp": {
@@ -6970,7 +7408,6 @@
},
"node_modules/safer-buffer": {
"version": "2.1.2",
- "dev": true,
"license": "MIT"
},
"node_modules/sass": {
@@ -6991,9 +7428,7 @@
},
"node_modules/sax": {
"version": "1.2.4",
- "dev": true,
- "license": "ISC",
- "optional": true
+ "license": "ISC"
},
"node_modules/saxes": {
"version": "6.0.0",
@@ -7045,6 +7480,36 @@
"peer": true,
"dependencies": {
"randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/setimmediate": {
@@ -7437,6 +7902,11 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/tiny-inflate": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
+ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
+ },
"node_modules/tinybench": {
"version": "2.3.1",
"dev": true,
@@ -7613,6 +8083,15 @@
"node": ">=4"
}
},
+ "node_modules/unicode-properties": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmmirror.com/unicode-properties/-/unicode-properties-1.4.1.tgz",
+ "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==",
+ "dependencies": {
+ "base64-js": "^1.3.0",
+ "unicode-trie": "^2.0.0"
+ }
+ },
"node_modules/unicode-property-aliases-ecmascript": {
"version": "2.1.0",
"dev": true,
@@ -7620,6 +8099,20 @@
"engines": {
"node": ">=4"
}
+ },
+ "node_modules/unicode-trie": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/unicode-trie/-/unicode-trie-2.0.0.tgz",
+ "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==",
+ "dependencies": {
+ "pako": "^0.2.5",
+ "tiny-inflate": "^1.0.0"
+ }
+ },
+ "node_modules/unicode-trie/node_modules/pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmmirror.com/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="
},
"node_modules/universalify": {
"version": "2.0.0",
@@ -8437,6 +8930,17 @@
"node_modules/xmlchars": {
"version": "2.2.0",
"license": "MIT"
+ },
+ "node_modules/xmldoc": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/xmldoc/-/xmldoc-2.0.2.tgz",
+ "integrity": "sha512-UiRwoSStEXS3R+YE8OqYv3jebza8cBBAI2y8g3B15XFkn3SbEOyyLnmPHjLBPZANrPJKEzxxB7A3XwcLikQVlQ==",
+ "dependencies": {
+ "sax": "^1.2.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
},
"node_modules/xmldom": {
"version": "0.1.31",
@@ -9707,6 +10211,54 @@
"@floating-ui/core": "^1.0.4"
}
},
+ "@foliojs-fork/fontkit": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmmirror.com/@foliojs-fork/fontkit/-/fontkit-1.9.2.tgz",
+ "integrity": "sha512-IfB5EiIb+GZk+77TRB86AHroVaqfq8JRFlUbz0WEwsInyCG0epX2tCPOy+UfaWPju30DeVoUAXfzWXmhn753KA==",
+ "requires": {
+ "@foliojs-fork/restructure": "^2.0.2",
+ "brotli": "^1.2.0",
+ "clone": "^1.0.4",
+ "deep-equal": "^1.0.0",
+ "dfa": "^1.2.0",
+ "tiny-inflate": "^1.0.2",
+ "unicode-properties": "^1.2.2",
+ "unicode-trie": "^2.0.0"
+ }
+ },
+ "@foliojs-fork/linebreak": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/@foliojs-fork/linebreak/-/linebreak-1.1.2.tgz",
+ "integrity": "sha512-ZPohpxxbuKNE0l/5iBJnOAfUaMACwvUIKCvqtWGKIMv1lPYoNjYXRfhi9FeeV9McBkBLxsMFWTVVhHJA8cyzvg==",
+ "requires": {
+ "base64-js": "1.3.1",
+ "unicode-trie": "^2.0.0"
+ },
+ "dependencies": {
+ "base64-js": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.3.1.tgz",
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
+ }
+ }
+ },
+ "@foliojs-fork/pdfkit": {
+ "version": "0.15.3",
+ "resolved": "https://registry.npmmirror.com/@foliojs-fork/pdfkit/-/pdfkit-0.15.3.tgz",
+ "integrity": "sha512-Obc0Wmy3bm7BINFVvPhcl2rnSSK61DQrlHU8aXnAqDk9LCjWdUOPwhgD8Ywz5VtuFjRxmVOM/kQ/XLIBjDvltw==",
+ "requires": {
+ "@foliojs-fork/fontkit": "^1.9.2",
+ "@foliojs-fork/linebreak": "^1.1.1",
+ "crypto-js": "^4.2.0",
+ "jpeg-exif": "^1.1.4",
+ "png-js": "^1.0.0"
+ }
+ },
+ "@foliojs-fork/restructure": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/@foliojs-fork/restructure/-/restructure-2.0.2.tgz",
+ "integrity": "sha512-59SgoZ3EXbkfSX7b63tsou/SDGzwUEK6MuB5sKqgVK1/XE0fxmpsOb9DQI8LXW3KfGnAjImCGhhEb7uPPAUVNA=="
+ },
"@hapi/hoek": {
"version": "9.3.0",
"dev": true
@@ -10662,6 +11214,14 @@
"fill-range": "^7.0.1"
}
},
+ "brotli": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmmirror.com/brotli/-/brotli-1.3.3.tgz",
+ "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==",
+ "requires": {
+ "base64-js": "^1.1.2"
+ }
+ },
"browserslist": {
"version": "4.21.4",
"dev": true,
@@ -10700,6 +11260,35 @@
"cachedir": {
"version": "2.3.0",
"dev": true
+ },
+ "call-bind": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.8.tgz",
+ "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.2"
+ }
+ },
+ "call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "requires": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ }
+ },
+ "call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ }
},
"callsites": {
"version": "3.1.0",
@@ -10832,6 +11421,11 @@
"string-width": "^4.2.0"
}
},
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="
+ },
"codepage": {
"version": "1.15.0",
"resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
@@ -10928,6 +11522,11 @@
"version": "0.0.2",
"resolved": "https://registry.npmmirror.com/crypt/-/crypt-0.0.2.tgz",
"integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow=="
+ },
+ "crypto-js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz",
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
},
"cssesc": {
"version": "3.0.0",
@@ -11040,12 +11639,50 @@
"type-detect": "^4.0.0"
}
},
+ "deep-equal": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/deep-equal/-/deep-equal-1.1.2.tgz",
+ "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==",
+ "requires": {
+ "is-arguments": "^1.1.1",
+ "is-date-object": "^1.0.5",
+ "is-regex": "^1.1.4",
+ "object-is": "^1.1.5",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.5.1"
+ }
+ },
"deep-is": {
"version": "0.1.4",
"dev": true
},
+ "define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "requires": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ }
+ },
+ "define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "requires": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ }
+ },
"delayed-stream": {
"version": "1.0.0"
+ },
+ "dfa": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/dfa/-/dfa-1.2.0.tgz",
+ "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q=="
},
"dir-glob": {
"version": "3.0.1",
@@ -11100,6 +11737,16 @@
"dev": true,
"requires": {
"webidl-conversions": "^7.0.0"
+ }
+ },
+ "dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
}
},
"duplexer": {
@@ -11238,10 +11885,28 @@
"prr": "~1.0.1"
}
},
+ "es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="
+ },
+ "es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
+ },
"es-module-lexer": {
"version": "0.9.3",
"dev": true,
"peer": true
+ },
+ "es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "requires": {
+ "es-errors": "^1.3.0"
+ }
},
"esbuild": {
"version": "0.15.18",
@@ -11743,8 +12408,14 @@
}
},
"function-bind": {
- "version": "1.1.1",
- "dev": true
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
+ },
+ "functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
},
"gensync": {
"version": "1.0.0-beta.2",
@@ -11753,6 +12424,32 @@
"get-func-name": {
"version": "2.0.0",
"dev": true
+ },
+ "get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ }
+ },
+ "get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "requires": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ }
},
"get-stream": {
"version": "5.2.0",
@@ -11834,6 +12531,11 @@
}
}
},
+ "gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="
+ },
"graceful-fs": {
"version": "4.2.10"
},
@@ -11857,6 +12559,35 @@
"has-flag": {
"version": "4.0.0",
"dev": true
+ },
+ "has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "requires": {
+ "es-define-property": "^1.0.0"
+ }
+ },
+ "has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="
+ },
+ "has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "requires": {
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "requires": {
+ "function-bind": "^1.1.2"
+ }
},
"html-encoding-sniffer": {
"version": "3.0.0",
@@ -11897,7 +12628,6 @@
},
"iconv-lite": {
"version": "0.6.3",
- "dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
}
@@ -11953,6 +12683,15 @@
"version": "2.0.0",
"dev": true
},
+ "is-arguments": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.2.0.tgz",
+ "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==",
+ "requires": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
+ }
+ },
"is-binary-path": {
"version": "2.1.0",
"dev": true,
@@ -11977,6 +12716,15 @@
"dev": true,
"requires": {
"has": "^1.0.3"
+ }
+ },
+ "is-date-object": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.1.0.tgz",
+ "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
+ "requires": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
}
},
"is-extglob": {
@@ -12013,6 +12761,17 @@
"is-potential-custom-element-name": {
"version": "1.0.1",
"dev": true
+ },
+ "is-regex": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
+ "requires": {
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ }
},
"is-stream": {
"version": "2.0.1",
@@ -12063,6 +12822,11 @@
"@sideway/formula": "^3.0.0",
"@sideway/pinpoint": "^2.0.0"
}
+ },
+ "jpeg-exif": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmmirror.com/jpeg-exif/-/jpeg-exif-1.1.4.tgz",
+ "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ=="
},
"js-base64": {
"version": "3.7.5",
@@ -12523,6 +13287,11 @@
"version": "0.1.0",
"dev": true
},
+ "math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="
+ },
"md5": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz",
@@ -12655,6 +13424,20 @@
"version": "2.2.2",
"dev": true
},
+ "object-is": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmmirror.com/object-is/-/object-is-1.1.6.tgz",
+ "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
+ "requires": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
+ }
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+ },
"once": {
"version": "1.4.0",
"requires": {
@@ -12768,6 +13551,17 @@
"through": "~2.3"
}
},
+ "pdfmake": {
+ "version": "0.2.20",
+ "resolved": "https://registry.npmmirror.com/pdfmake/-/pdfmake-0.2.20.tgz",
+ "integrity": "sha512-bGbxbGFP5p8PWNT3Phsu1ZcRLnRfF6jmnuKTkgmt6i5PZzSdX6JaB+NeTz9q+aocfW8SE9GUjL3o/5GroBqGcQ==",
+ "requires": {
+ "@foliojs-fork/linebreak": "^1.1.2",
+ "@foliojs-fork/pdfkit": "^0.15.3",
+ "iconv-lite": "^0.6.3",
+ "xmldoc": "^2.0.1"
+ }
+ },
"pend": {
"version": "1.2.0",
"dev": true
@@ -12809,6 +13603,11 @@
}
}
},
+ "png-js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/png-js/-/png-js-1.0.0.tgz",
+ "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g=="
+ },
"postcss": {
"version": "8.4.20",
"requires": {
@@ -12842,6 +13641,11 @@
"pretty-bytes": {
"version": "5.6.0",
"dev": true
+ },
+ "print-js": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmmirror.com/print-js/-/print-js-1.6.0.tgz",
+ "integrity": "sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg=="
},
"process-nextick-args": {
"version": "2.0.1",
@@ -12965,6 +13769,19 @@
"@babel/runtime": "^7.8.4"
}
},
+ "regexp.prototype.flags": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
+ "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
+ "requires": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "set-function-name": "^2.0.2"
+ }
+ },
"regexpp": {
"version": "3.2.0",
"dev": true
@@ -13069,8 +13886,7 @@
"version": "5.2.1"
},
"safer-buffer": {
- "version": "2.1.2",
- "dev": true
+ "version": "2.1.2"
},
"sass": {
"version": "1.56.2",
@@ -13082,9 +13898,7 @@
}
},
"sax": {
- "version": "1.2.4",
- "dev": true,
- "optional": true
+ "version": "1.2.4"
},
"saxes": {
"version": "6.0.0",
@@ -13116,6 +13930,30 @@
"peer": true,
"requires": {
"randombytes": "^2.1.0"
+ }
+ },
+ "set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ }
+ },
+ "set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "requires": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
}
},
"setimmediate": {
@@ -13362,6 +14200,11 @@
"version": "2.3.8",
"dev": true
},
+ "tiny-inflate": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
+ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
+ },
"tinybench": {
"version": "2.3.1",
"dev": true
@@ -13464,9 +14307,34 @@
"version": "2.1.0",
"dev": true
},
+ "unicode-properties": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmmirror.com/unicode-properties/-/unicode-properties-1.4.1.tgz",
+ "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==",
+ "requires": {
+ "base64-js": "^1.3.0",
+ "unicode-trie": "^2.0.0"
+ }
+ },
"unicode-property-aliases-ecmascript": {
"version": "2.1.0",
"dev": true
+ },
+ "unicode-trie": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/unicode-trie/-/unicode-trie-2.0.0.tgz",
+ "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==",
+ "requires": {
+ "pako": "^0.2.5",
+ "tiny-inflate": "^1.0.0"
+ },
+ "dependencies": {
+ "pako": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmmirror.com/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="
+ }
+ }
},
"universalify": {
"version": "2.0.0",
@@ -13956,6 +14824,14 @@
"xmlchars": {
"version": "2.2.0"
},
+ "xmldoc": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/xmldoc/-/xmldoc-2.0.2.tgz",
+ "integrity": "sha512-UiRwoSStEXS3R+YE8OqYv3jebza8cBBAI2y8g3B15XFkn3SbEOyyLnmPHjLBPZANrPJKEzxxB7A3XwcLikQVlQ==",
+ "requires": {
+ "sax": "^1.2.4"
+ }
+ },
"xmldom": {
"version": "0.1.31",
"resolved": "https://registry.npmmirror.com/xmldom/-/xmldom-0.1.31.tgz",
diff --git a/package.json b/package.json
index c219580..98ad790 100644
--- a/package.json
+++ b/package.json
@@ -33,8 +33,10 @@
"jszip-utils": "^0.1.0",
"md5": "^2.3.0",
"open-docxtemplater-image-module": "^1.0.3",
+ "pdfmake": "^0.2.20",
"pinia": "^2.0.26",
"pizzip": "^3.1.7",
+ "print-js": "^1.6.0",
"vue": "^3.2.45",
"vue-demi": "^0.14.6",
"vue-i18n": "^9.8.0",
diff --git a/src/api/fysp/domainApi.js b/src/api/fysp/domainApi.js
index 02985b1..856c053 100644
--- a/src/api/fysp/domainApi.js
+++ b/src/api/fysp/domainApi.js
@@ -1,6 +1,20 @@
import { $fysp } from '../index';
export default {
+ // 鑾峰彇鍏ㄩ儴鍊煎煙鐩綍
+ fetchDomainCatalog() {
+ return $fysp.get(`domaincatalog`).then((res) => res.data);
+ },
+ // 鏂板鍊煎煙鐩綍
+ putDomainCatalog(catalog) {
+ return $fysp.put(`domaincatalog`, catalog).then((res) => res.data);
+ },
+ // 鏇存柊鍊煎煙鐩綍
+ updateDomainCatalog(catalog) {
+ return $fysp.post(`domaincatalog`, catalog).then((res) => res.data);
+ },
+
+
// 鑾峰彇宸℃煡浠诲姟绫诲瀷
fetchTaskType() {
return $fysp.get(`domainitem/taskType`).then((res) => res.data);
@@ -21,5 +35,19 @@
return $fysp
.get(`domainitem/mediaFileType`, { params: { sceneType } })
.then((res) => res.data);
- }
+ },
+
+ // 鑾峰彇鎸囧畾鍊煎煙鐩綍涓嬬殑鎵�鏈夊�煎煙椤�
+ fetchItemByCatalogId(catalogId) {
+ return $fysp.get(`domainitem/catalogId`, { params: { catalogId } }).then((res) => res.data);
+ },
+
+ // 鏂板鍊煎煙椤�
+ putDomainItem(item) {
+ return $fysp.put(`domainitem`, item).then((res) => res.data);
+ },
+ // 鏇存柊鍊煎煙椤�
+ updateDomainItem(item) {
+ return $fysp.post(`domainitem`, item).then((res) => res.data);
+ },
};
diff --git a/src/constants/menu.js b/src/constants/menu.js
index b2d9a36..64ea2ac 100644
--- a/src/constants/menu.js
+++ b/src/constants/menu.js
@@ -161,6 +161,11 @@
// icon: 'List',
// name: '璇勪及瑙勫垯'
// }
+ {
+ path: '/fysp/config/domainCatalog',
+ icon: 'List',
+ name: '鍊煎煙鐩綍'
+ }
]
},
{
diff --git a/src/router/index.js b/src/router/index.js
index 1fed002..920fc00 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -296,6 +296,13 @@
path: 'evalutationRule',
component: () =>
import('@/views/fysp/config/EvalutationRule.vue')
+ },
+ {
+ //鍊煎煙琛ㄧ鐞�
+ name: 'domaincatalog',
+ path: 'domaincatalog',
+ component: () =>
+ import('@/views/fysp/config/DomainCatalog.vue')
}
]
},
diff --git a/src/utils/doc.js b/src/utils/doc.js
index a757cfc..35f3b88 100644
--- a/src/utils/doc.js
+++ b/src/utils/doc.js
@@ -4,6 +4,9 @@
import ImageModule from 'docxtemplater-image-module-free';
import Pizzip from 'pizzip';
import FileSaver from 'file-saver';
+import { renderAsync } from 'docx-preview';
+import printJS from 'print-js';
+import pdfMake from 'pdfmake';
/**
* 绛夋瘮渚嬬缉鏀惧浘鐗�
@@ -146,7 +149,7 @@
};
}
-export const exportDocx = (tempDocpath, data, zipName, imageSize) => {
+function prepareDocxtemplater(tempDocpath, data, imageSize) {
return new Promise((resolve, reject) => {
JSZipUtils.getBinaryContent(tempDocpath, (error, content) => {
if (error) {
@@ -164,20 +167,116 @@
}
doc.compile();
doc.resolveData(data).then(() => {
- try {
- doc.render();
- } catch (error) {
- console.log(error);
- throw error;
- }
- const out = doc.getZip().generate({
- type: 'blob',
- mimeType:
- 'application/vnd.openxmlformats-officedocumnet.wordprocessingml.document'
- });
- FileSaver.saveAs(out, zipName);
- resolve();
+ resolve(doc);
});
});
});
+}
+
+/**
+ * 鍑嗗docx鏂囨。锛岃繑鍥瀊lob瀵硅薄
+ * @param {*} tempDocpath 妯℃澘docx鏂囦欢璺緞
+ * @param {*} data 鏁版嵁瀵硅薄
+ * @param {*} zipName 鍘嬬缉鍖呭悕绉�
+ * @param {*} imageSize 鍥剧墖澶у皬閰嶇疆瀵硅薄
+ * @returns
+ */
+function prepareDocxBlob(tempDocpath, data, imageSize) {
+ return prepareDocxtemplater(tempDocpath, data, imageSize).then((doc) => {
+ try {
+ doc.render();
+ } catch (error) {
+ console.log(error);
+ throw error;
+ }
+ const out = doc.getZip().generate({
+ type: 'blob',
+ mimeType:
+ 'application/vnd.openxmlformats-officedocumnet.wordprocessingml.document'
+ });
+ return out;
+ });
+}
+
+function prepareDocxStr(tempDocpath, data, imageSize) {
+ return prepareDocxtemplater(tempDocpath, data, imageSize).then((doc) => {
+ try {
+ return doc.render();
+ } catch (error) {
+ console.log(error);
+ throw error;
+ }
+ });
+}
+
+function preparePdf(tempDocpath, data, imageSize) {
+ return prepareDocxStr(tempDocpath, data, imageSize).then( (res) => {
+ // 灏� Word 鏂囨。杞崲涓� PDF 鏍煎紡骞朵繚瀛樺埌鏂囦欢
+ console.log(pdfMake);
+
+ // const printer = new pdfMake.PdfPrinter();
+ const docDefinition = {
+ content: [
+ {
+ text: res.toString('utf8')
+ }
+ ]
+ };
+ const pdfDoc = pdfMake.createPdf(docDefinition);
+ // const pdfBuffer = await pdfDoc.getBuffer();
+ // return new Blob([pdfBuffer], { type: 'application/pdf' });
+ return pdfDoc;
+ });
+}
+
+function exportDocx(tempDocpath, data, zipName, imageSize) {
+ return prepareDocxBlob(tempDocpath, data, zipName, imageSize).then((blob) => {
+ FileSaver.saveAs(blob, zipName);
+ });
+}
+
+function previewDocx(blob, ref) {
+ return renderAsync(blob, ref);
+}
+
+function downloadDocx(blob, zipName) {
+ FileSaver.saveAs(blob, zipName);
+}
+
+function print(
+ ref,
+ title,
+ style,
+ type,
+ jsonData,
+ borderHeadStyle,
+ gridStyle,
+ css
+) {
+ printJS({
+ printable: ref,
+ header: title || null,
+ type: type || 'html',
+ headerStyle:
+ 'font-size:6px;font-weight:600;text-align:center;padding:15px 0 10px 0;', //鏍囬璁剧疆
+ properties: jsonData || [], //json鏁版嵁鍏�
+ gridHeaderStyle:
+ borderHeadStyle ||
+ 'font-size:6px;font-weight:400;height:40px;line-height:40px;border: 1px solid #ccc;padding:3px 5px 3px 5px;text-align:center;', //json鏍煎紡琛ㄥご鏍峰紡
+ gridStyle:
+ gridStyle ||
+ 'font-size:1px;font-weight:200;border: 1px solid #ccc;padding:3px 5px 3px 5px;text-align:center;', //json鍚勫紡琛ㄥ摜澶
+ scanStyles: false, //涓嶉�傜敤榛樿鏍峰紡
+ repeatTableHeader: false, //鎵撳嵃json琛ㄥご鍙樉绀哄湪绗竴椤�
+ style: style || '@page{size:auto;margin: 0cm 1cm 0cm 1cm;}', //鍘婚櫎椤电湁椤佃剼
+ css: css || null //css url
+ });
+}
+export {
+ exportDocx,
+ prepareDocxBlob,
+ preparePdf,
+ previewDocx,
+ downloadDocx,
+ print
};
diff --git a/src/views/fysp/config/DomainCatalog.vue b/src/views/fysp/config/DomainCatalog.vue
new file mode 100644
index 0000000..3c9151e
--- /dev/null
+++ b/src/views/fysp/config/DomainCatalog.vue
@@ -0,0 +1,235 @@
+<template>
+ <BaseContentLayout>
+ <template #header> </template>
+ <template #aside>
+ <SideList
+ :items="domainCatalog"
+ :loading="sideLoading"
+ @item-click="chooseCatalog"
+ ></SideList>
+ </template>
+ <template #main>
+ <!-- <FormCol> -->
+ <el-table
+ :data="domainItems"
+ v-loading="loading"
+ :height="contentHeight + 'px'"
+ table-layout="fixed"
+ :show-overflow-tooltip="true"
+ size="small"
+ style="z-index: 20"
+ border
+ >
+ <el-table-column fixed="left" prop="index" label="缂栧彿" width="50">
+ <template #default="{ row }">
+ <el-input
+ v-if="row._isAdd || row._isEdit"
+ size="small"
+ v-model="row.index"
+ />
+ <span v-else>{{ row.index }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="catelogname"
+ label="绫诲埆"
+ :show-overflow-tooltip="true"
+ width="180"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="text"
+ label="鍊煎煙椤�"
+ :show-overflow-tooltip="true"
+ min-width="200"
+ >
+ <template #default="{ row }">
+ <el-input
+ v-if="row._isAdd || row._isEdit"
+ size="small"
+ v-model="row.text"
+ />
+ <span v-else>{{ row.text }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="value"
+ label="鍊煎煙鍊�"
+ :formatter="timeFormat"
+ width="90"
+ >
+ <template #default="{ row }">
+ <el-input
+ v-if="row._isAdd || row._isEdit"
+ size="small"
+ v-model="row.value"
+ />
+ <span v-else>{{ row.value }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="remark" label="鐗堟湰" width="80" />
+ <el-table-column
+ prop="guid"
+ label="ID"
+ :show-overflow-tooltip="true"
+ width="150"
+ >
+ </el-table-column>
+ <el-table-column fixed="right" label="鎿嶄綔" width="160">
+ <template #default="scope">
+ <el-button
+ v-if="scope.row._isAdd"
+ type="primary"
+ size="small"
+ icon="Select"
+ @click="savePut(scope)"
+ >鏂板</el-button
+ >
+ <el-button
+ v-else-if="scope.row._isEdit"
+ type="success"
+ size="small"
+ icon="Select"
+ @click="saveUpdate(scope)"
+ >淇敼</el-button
+ >
+ <el-button-group v-else>
+ <el-button
+ type="default"
+ size="small"
+ icon="Edit"
+ @click="itemEdit(scope)"
+ ></el-button>
+ <el-button
+ :loading="scope.row.loadingDelete"
+ type="danger"
+ size="small"
+ icon="Delete"
+ @click="itemDelete(scope)"
+ ></el-button>
+ </el-button-group>
+ <el-button
+ v-if="scope.row._isEdit || scope.row._isAdd"
+ type="default"
+ size="small"
+ icon="CloseBold"
+ @click="cancelEdit(scope)"
+ >鍙栨秷</el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-row justify="center" style="margin-top: -2px">
+ <el-button type="default" icon="Plus" @click="itemAdd"
+ >鏂板鍊煎煙椤�</el-button
+ >
+ </el-row>
+ <!-- </FormCol> -->
+ </template>
+ </BaseContentLayout>
+</template>
+<script setup>
+import { onMounted, ref } from 'vue';
+import domainApi from '@/api/fysp/domainApi';
+import { ElMessage } from 'element-plus';
+
+const loading = ref(false);
+const domainCatalog = ref([]);
+const selectedCatalog = ref(null);
+const domainItems = ref([]);
+
+// 閫夋嫨鍊煎煙鐩綍
+const chooseCatalog = (catalog) => {
+ selectedCatalog.value = catalog.data;
+ loading.value = true;
+ domainApi
+ .fetchItemByCatalogId(catalog.data.guid)
+ .then((res) => {
+ domainItems.value = res.data;
+ })
+ .finally(() => {
+ loading.value = false;
+ });
+};
+
+// 娣诲姞鍊煎煙椤�
+const itemAdd = () => {
+ const lastOne = domainItems.value[domainItems.value.length - 1];
+ domainItems.value.push({
+ index: lastOne ? lastOne.index + 1 : 0,
+ catelogname: selectedCatalog.value.name,
+ dcguid: selectedCatalog.value.guid,
+ text: '',
+ value: '',
+ remark: '0',
+ _isAdd: true
+ });
+};
+
+function itemEdit(scope) {
+ scope.row._isEdit = true;
+ console.log(scope);
+}
+
+function itemDelete(scope) {
+ scope.row.loadingDelete = true;
+ setTimeout(() => {
+ domainItems.value.splice(scope.$index, 1);
+ scope.row.loadingDelete = false;
+ }, 1000);
+}
+
+function savePut(scope) {
+ if (_validate(scope.row)) {
+ scope.row._isAdd = false;
+ domainApi.putDomainItem(scope.row).then((res) => {
+ scope.row.guid = res.guid;
+ ElMessage.success('鏂板鎴愬姛');
+ });
+ } else {
+ ElMessage.error('璇峰~鍐欏畬鏁翠俊鎭�');
+ }
+}
+
+function saveUpdate(scope) {
+ if (_validate(scope.row)) {
+ scope.row._isEdit = false;
+ domainApi.updateDomainItem(scope.row).then((res) => {
+ ElMessage.success('淇敼鎴愬姛');
+ });
+ } else {
+ ElMessage.error('璇峰~鍐欏畬鏁翠俊鎭�');
+ }
+}
+
+// 鍙栨秷缂栬緫
+function cancelEdit(scope) {
+ scope.row._isAdd = false;
+ scope.row._isEdit = false;
+ domainItems.value.splice(scope.$index, 1);
+}
+
+
+
+function _validate(row) {
+ return (
+ row.index !== undefined &&
+ row.index !== '' &&
+ row.text !== undefined &&
+ row.text !== '' &&
+ row.value !== undefined &&
+ row.value !== ''
+ );
+}
+
+onMounted(() => {
+ domainApi.fetchDomainCatalog().then((res) => {
+ domainCatalog.value = res.map((item) => ({
+ title: item.name,
+ categoly: '绯荤粺閰嶇疆椤�',
+ data: item
+ }));
+ chooseCatalog(domainCatalog.value[0]);
+ });
+});
+</script>
diff --git a/src/views/fysp/scene/SceneInspectFile.vue b/src/views/fysp/scene/SceneInspectFile.vue
index 2f0e860..ddeaeb4 100644
--- a/src/views/fysp/scene/SceneInspectFile.vue
+++ b/src/views/fysp/scene/SceneInspectFile.vue
@@ -28,21 +28,26 @@
'鍦板潃锛�' + item.scense.location
}}</el-text>
</div>
- <el-space class="m-t-4">
- <el-tag>
- {{
- item.scense.cityname +
- item.scense.districtname +
- item.scense.townname
- }}
- <!-- {{ item.scense.districtname }}
- {{ item.scense.townname }} -->
- </el-tag>
- <el-tag>{{ item.scense.type }}</el-tag>
-
- <!-- {{ item.scense.contacts }}
- {{ item.scense.contactst }} -->
- </el-space>
+ <el-row justify="space-between">
+ <el-space class="m-t-4">
+ <el-tag>
+ {{
+ item.scense.cityname +
+ item.scense.districtname +
+ item.scense.townname
+ }}
+ </el-tag>
+ <el-tag>{{ item.scense.type }}</el-tag>
+ </el-space>
+ <el-button
+ type="default"
+ size="small"
+ class="m-t-4"
+ @click="handlePreview(item)"
+ >
+ 棰勮
+ </el-button>
+ </el-row>
</el-checkbox>
</el-space>
</el-checkbox-group>
@@ -53,11 +58,28 @@
<el-button type="primary" :loading="docLoading" @click="handelDownload">
涓嬭浇
</el-button>
- <!-- <el-button type="default" :loading="docLoading" @click="handelPrint">
+ <el-button type="default" :loading="docLoading" @click="handelPrint">
鎵撳嵃
- </el-button> -->
+ </el-button>
</div>
</template>
+ </el-dialog>
+ <el-dialog v-model="previewVisible" :show-close="false" fullscreen>
+ <template #header="{ close, titleId, titleClass }">
+ <el-row justify="end">
+ <el-button type="danger" @click="close" icon="CircleCloseFilled">
+ 鍏抽棴
+ </el-button>
+ <el-button
+ type="primary"
+ @click="handelPrint(refWord)"
+ icon="PrintFilled"
+ >
+ 鎵撳嵃
+ </el-button>
+ </el-row>
+ </template>
+ <div ref="refWord"></div>
</el-dialog>
</template>
<script setup>
@@ -65,23 +87,36 @@
* 鍦烘櫙宸℃煡鍗曟嵁鑷姩涓嬭浇
*/
import { ref, watch } from 'vue';
-import { exportDocx } from '@/utils/doc';
+import {
+ exportDocx,
+ prepareDocxBlob,
+ preparePdf,
+ previewDocx,
+ downloadDocx,
+ print
+} from '@/utils/doc';
import sceneApi from '@/api/fysp/sceneApi';
const props = defineProps({
// 瀵硅瘽妗嗗紑鍏�
modelValue: Boolean,
// 鍦烘櫙鍩虹淇℃伅鏁扮粍
- value: Array
+ value: Array,
+ previewElement: String
});
const emits = defineEmits(['update:modelValue']);
+
+const refWord = ref(null);
const loading = ref(false);
const scrollbarRef = ref();
const sceneInfoList = ref([]);
const checkList = ref([]);
const docLoading = ref(false);
+
+// 棰勮瀵硅瘽妗嗗紑鍏�
+const previewVisible = ref(false);
watch(
() => [props.modelValue, props.value],
@@ -139,10 +174,12 @@
}
// 鏍煎紡鍖栧満鏅俊鎭紝鐢熸垚鍙傛暟缁撴瀯
-function parseParam() {
- const selected = sceneInfoList.value.filter((v, i) => {
- return checkList.value.indexOf(i) != -1;
- });
+function parseParam(item) {
+ const selected = item
+ ? [item]
+ : sceneInfoList.value.filter((v, i) => {
+ return checkList.value.indexOf(i) != -1;
+ });
const param = selected.map((v) => {
switch (v.scense.typeid) {
// 宸ュ湴
@@ -187,22 +224,12 @@
}
});
- // param.forEach((p) => {
- // for (const key in p.params) {
- // let value = p.params[key];
- // if (value == undefined) {
- // // 鑻ュ睘鎬х己澶憋紝鍒欐敼涓�20涓┖鏍肩锛屽搴攚ord涓�10涓腑鏂囧瓧绗︾殑闀垮害
- // p.params[key] = ' ';
- // }
- // }
- // });
-
return param;
}
// 鏍规嵁鍦烘櫙绫诲瀷锛岀敓鎴愬搴旂殑word鏂囨。
-function generateDoc(param) {
- param.forEach((p) => {
+function generateDoc(param, callback) {
+ param.map((p) => {
let template, _param;
switch (p.type) {
// 宸ュ湴
@@ -218,39 +245,72 @@
default:
break;
}
-
- exportDocx(template, _param, `${_param.name}宸℃煡鍗曟嵁.docx`).finally(
- () => (docLoading.value = false)
- );
+ prepareDocxBlob(template, _param).then((blob) => {
+ callback(blob, `${_param.name}宸℃煡鍗曟嵁.docx`);
+ });
});
}
-// 涓嬭浇word鏂囨。
-function download(file) {}
+function generatePdf(param, callback) {
+ param.map((p) => {
+ let template, _param;
+ switch (p.type) {
+ // 宸ュ湴
+ case 1:
+ template = '/宸ュ湴宸℃煡鍗曟嵁妯℃澘.docx';
+ _param = p.params;
+ break;
+ // 椁愰ギ
+ case 5:
+ template = '/椁愰ギ宸℃煡鍗曟嵁妯℃澘.docx';
+ _param = p.params;
+ break;
+ default:
+ break;
+ }
+ preparePdf(template, _param).then((blob) => {
+ callback(blob, `${_param.name}宸℃煡鍗曟嵁.pdf`);
+ });
+ });
+}
-// 鎵撳嵃word鏂囨。
-function print(file) {}
-
-function filePrepare() {
+function filePrepare(callback) {
const param = parseParam();
if (param) {
- return generateDoc(param);
+ return generateDoc(param, callback);
}
}
-// 鐐瑰嚮涓嬭浇鎸夐挳鎿嶄綔
+// 鐐瑰嚮涓嬭浇鎸夐挳鎿嶄綔, 涓嬭浇word鏂囨。
function handelDownload() {
- const file = filePrepare();
- if (file) {
- download(file);
- }
+ filePrepare((blob, name) => {
+ downloadDocx(blob, name);
+ });
}
// 鐐瑰嚮鎵撳嵃鎸夐挳鎿嶄綔
-function handelPrint() {
- const file = filePrepare();
- if (file) {
- print(file);
+function handelPrint(ref) {
+ if (ref) {
+ print(ref);
+ }
+ // const file = filePrepare();
+ // if (file) {
+ // previewDocx(file.blob, refWord.value);
+ // }
+}
+
+function handlePreview(item) {
+ const param = parseParam(item);
+ if (param) {
+ generatePdf(param, (blob, name) => {
+ blob.getBuffer((buffer) => {
+ previewDocx(buffer, refWord.value);
+ });
+ previewVisible.value = true;
+ // setTimeout(() => {
+ // previewDocx(blob, refWord.value);
+ // }, 200);
+ });
}
}
@@ -271,4 +331,7 @@
:deep(.el-checkbox) {
height: auto;
}
+:deep(.el-checkbox__label) {
+ width: 100%;
+}
</style>
--
Gitblit v1.9.3