diff --git a/package-lock.json b/package-lock.json index 7465b13..e9b1a23 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1710,6 +1710,12 @@ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, + "@types/raf": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/@types/raf/-/raf-3.4.3.tgz", + "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==", + "optional": true + }, "@types/range-parser": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", @@ -3089,8 +3095,7 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "autoprefixer": { "version": "9.8.8", @@ -3277,6 +3282,11 @@ "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", "dev": true }, + "base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==" + }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -3590,6 +3600,11 @@ "update-browserslist-db": "^1.0.5" } }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" + }, "buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", @@ -3804,6 +3819,22 @@ "integrity": "sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==", "dev": true }, + "canvg": { + "version": "3.0.11", + "resolved": "https://registry.npmmirror.com/canvg/-/canvg-3.0.11.tgz", + "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==", + "optional": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + } + }, "case-sensitive-paths-webpack-plugin": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", @@ -4863,6 +4894,14 @@ } } }, + "css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "requires": { + "utrie": "^1.0.2" + } + }, "css-loader": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", @@ -5606,8 +5645,7 @@ "dompurify": { "version": "2.3.10", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.10.tgz", - "integrity": "sha512-o7Fg/AgC7p/XpKjf/+RC3Ok6k4St5F7Q6q6+Nnm3p2zGWioAY6dh0CbbuwOhH2UcSzKsdniE/YnE2/92JcsA+g==", - "dev": true + "integrity": "sha512-o7Fg/AgC7p/XpKjf/+RC3Ok6k4St5F7Q6q6+Nnm3p2zGWioAY6dh0CbbuwOhH2UcSzKsdniE/YnE2/92JcsA+g==" }, "domready": { "version": "1.0.8", @@ -6888,6 +6926,11 @@ "websocket-driver": ">=0.5.1" } }, + "fflate": { + "version": "0.4.8", + "resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.4.8.tgz", + "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==" + }, "figgy-pudding": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", @@ -7876,6 +7919,15 @@ } } }, + "html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "requires": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + } + }, "htmlparser2": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", @@ -8937,6 +8989,21 @@ "graceful-fs": "^4.1.6" } }, + "jspdf": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/jspdf/-/jspdf-2.5.1.tgz", + "integrity": "sha512-hXObxz7ZqoyhxET78+XR34Xu2qFGrJJ2I2bE5w4SM8eFaFEkW2xcGRVUss360fYelwRSid/jT078kbNvmoW0QA==", + "requires": { + "@babel/runtime": "^7.14.0", + "atob": "^2.1.2", + "btoa": "^1.2.1", + "canvg": "^3.0.6", + "core-js": "^3.6.0", + "dompurify": "^2.2.0", + "fflate": "^0.4.8", + "html2canvas": "^1.0.0-rc.5" + } + }, "jsprim": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", @@ -10798,8 +10865,7 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "picocolors": { "version": "1.0.0", @@ -12418,6 +12484,15 @@ "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "optional": true, + "requires": { + "performance-now": "^2.1.0" + } + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -12845,6 +12920,12 @@ "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==", "dev": true }, + "rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "optional": true + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -13747,6 +13828,12 @@ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "dev": true }, + "stackblur-canvas": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz", + "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==", + "optional": true + }, "stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", @@ -14249,6 +14336,12 @@ } } }, + "svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "optional": true + }, "svg-sprite-loader": { "version": "6.0.11", "resolved": "https://registry.npmjs.org/svg-sprite-loader/-/svg-sprite-loader-6.0.11.tgz", @@ -14510,6 +14603,14 @@ "resolved": "https://registry.npmjs.org/tesseract.js-core/-/tesseract.js-core-6.0.0.tgz", "integrity": "sha512-1Qncm/9oKM7xgrQXZXNB+NRh19qiXGhxlrR8EwFbK5SaUbPZnS5OMtP/ghtqfd23hsr1ZvZbZjeuAGcMxd/ooA==" }, + "text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "requires": { + "utrie": "^1.0.2" + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -15126,6 +15227,14 @@ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true }, + "utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "requires": { + "base64-arraybuffer": "^1.0.2" + } + }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", diff --git a/package.json b/package.json index 10b1f1c..038ff8b 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,9 @@ "file-saver": "^2.0.5", "fzui-fengqun-vue": "^1.0.1", "gifler": "^0.1.0", + "html2canvas": "^1.4.1", "image-compressor.js": "^1.1.4", + "jspdf": "^2.5.1", "lodash": "^4.17.21", "mitt": "^3.0.0", "moment": "^2.30.1", diff --git a/src/api/semanticAnalysis.js b/src/api/semanticAnalysis.js new file mode 100644 index 0000000..b09a1c5 --- /dev/null +++ b/src/api/semanticAnalysis.js @@ -0,0 +1,135 @@ +import request from "@/utils/request"; +const api = "/mosty-api/mosty-gsxt"; +const v1 = "/v1" + +/** + * 警情列分页查询 + * @param {*} params + * @returns + */ +export const lzJcjPjdbSelectPage = (params) => { + return request({ + url: api + "/lzJcjPjdb/selectPage", + method: "GET", + params + }); +}; +// +/** + * 语义分析分页查询 + * @param {*} params + * @returns + */ +export const yyfxSelectPage = (params) => { + return request({ + url: api + "/yyfx/selectPage", + method: "GET", + params + }); +}; +/** + * 身份标签 + * @param {*} params + * @returns + */ +export const tbGsxtBqglSelect = (params) => { + return request({ + url: api + "/tbGsxtBqgl/selectList", + method: "GET", + params + }); +}; +/** + * 新增 + * @param {*} params + * @returns + */ +export const yyfxAdd = (data) => { + return request({ + url: api + "/yyfx/add", + method: "POST", + data + }); +}; +export const completions = (data) => { + return request({ + url: v1 + "/completions", + method: "POST", + data + }); +}; +// / +// 分析报告-地域维度统计 +export const fxbgDywdtj = (params) => { + return request({ + url: api + "/lzJcjPjdb/fxbgDywdtj", + method: "GET", + params + }); +}; +// 警情类别接口 +export const getDictItem = (params) => { + return request({ + url: api + "/lzJcjPjdb/getDictItem", + method: "GET", + params + }); +} +// 分析报告 - 警情类型统计 +export const fxbgJqlxtj = (params) => { + return request({ + url: api + "/lzJcjPjdb/fxbgJqlxtj", + method: "GET", + params + }); +} +// 警情来源统计 + +export const fxbgJqlytj = (params) => { + return request({ + url: api + "/lzJcjPjdb/fxbgJqlytj", + method: "GET", + params + }); +} +// 分析报告 +export const fxbgTj = (params) => { + return request({ + url: api + "/lzJcjPjdb/fxbgTj", + method: "GET", + params + }); +} +// 分析报告-时间维度-月分析 +export const fxbgYdfx = (params) => { + return request({ + url: api + "/lzJcjPjdb/fxbgYdfx", + method: "GET", + params + }); +} +// 分析报告-时间维度-24小时分析 +export const fxbgXsfx = (params) => { + return request({ + url: api + "/lzJcjPjdb/fxbgXsfx", + method: "GET", + params + }); +} +// 分析报告 - 处理结果分析 +export const fxgbCljgf = (params) => { + return request({ + url: api + "/lzJcjPjdb/fxgbCljgfx", + method: "GET", + params + }); +} +// 分析报告-处置率分析 +export const fxgbCzlfx = (params) => { + return request({ + url: api + "/lzJcjPjdb/fxgbCzlfx", + method: "GET", + params + }); +} + diff --git a/src/api/spl.js b/src/api/spl.js index 563fcc8..5061247 100644 --- a/src/api/spl.js +++ b/src/api/spl.js @@ -2,6 +2,8 @@ import request from "@/utils/request"; import axios from "axios"; import qs from 'qs'; // 或者使用 URLSearchParams const api = "/bpm"; +const flowApproval = "/flowApproval"; +const orgOrganization = '/orgOrganization' // 解析数据 export function ParsingText(data, fun) { axios({ @@ -16,6 +18,7 @@ export function ParsingText(data, fun) { //get 请求 + export const splFlvGet = (params = {}, url) => { return request({ url: url, @@ -53,6 +56,7 @@ export const splPut = (data = {}, url) => { //put 请求 export const splDelete = (data = {}, url) => { return request({ + url: api + url, method: "delete", data @@ -96,5 +100,35 @@ export const queryProcess = (data) => { }); }; +export const queryUserListByRule = (params) => { + return request({ + url: flowApproval + '/queryUserListByRule', + method: 'get', + params + }); +}; +export const queryListByEntity = (params) => { + return request({ + url: orgOrganization + '/queryListByEntity', + method: 'get', + params + }); +}; +export const querysingleByEntity = (params) => { + return request({ + url: orgOrganization + '/querySingleByEntity', + method: 'get', + params + }); +}; + +export const queryUporgsByEntity = (params) => { + return request({ + url: orgOrganization + '/queryUpOrgsByEntity', + method: 'get', + params + }); +}; + diff --git a/src/assets/css/layout.scss b/src/assets/css/layout.scss index bc46a34..988376f 100644 --- a/src/assets/css/layout.scss +++ b/src/assets/css/layout.scss @@ -5,17 +5,19 @@ header { display: flex; justify-content: space-between; align-items: center; - .logo{ + + .logo { white-space: nowrap; - padding-left: 8px; - font-size:55px; + padding-left: 8px; + font-size: 55px; letter-spacing: 1px; font-family: "YSBTH"; background: linear-gradient(180deg, #FFFFFF 52.4658203125%, #89AFCF 100%); -webkit-background-clip: text; - -webkit-text-fill-color:transparent ; - text-shadow: 4px 4px 4px rgba(255,255,255,0.15); + -webkit-text-fill-color: transparent; + text-shadow: 4px 4px 4px rgba(255, 255, 255, 0.15); } + .right { display: flex; height: 100%; @@ -23,9 +25,11 @@ header { z-index: 1999; position: relative; padding-right: 10px; + .detail { display: flex; cursor: pointer; + .hd { white-space: nowrap; color: #ffffff; @@ -102,6 +106,7 @@ header { color: #333; padding: 20px; box-sizing: border-box; + .head_box { height: 48px; border-bottom: 1px solid #F1F4F8; @@ -109,10 +114,12 @@ header { display: flex; justify-content: space-between; align-items: center; - .title{ + + .title { position: relative; padding-left: 10px; - &::before{ + + &::before { position: absolute; content: ''; top: 0; @@ -125,7 +132,7 @@ header { } } - .form_cnt{ + .form_cnt { padding-top: 10px; box-sizing: border-box; height: calc(100vh - 223px); @@ -161,7 +168,7 @@ header { height: 7.5em; border: 1px solid #F1F4F8; } - + } .searchBox { @@ -180,6 +187,10 @@ header { box-sizing: border-box; background: #e9edf6; + .tabDataBox { + border-radius: 4px; + } + .titleBox { height: 50px; display: flex; @@ -192,7 +203,7 @@ header { box-sizing: border-box; border-radius: 4px; margin: 5px 0; - + .title { height: 60px; line-height: 60px; @@ -211,6 +222,7 @@ header { background: #fff; border-radius: 4px; height: calc(100vh - 327px); + .el-table--fit { width: calc(100% - 20px) !important; position: absolute; @@ -220,6 +232,7 @@ header { height: calc(100% - 100px); overflow: auto; } + .fenye { background: #fff; border-width: 0 1px 1px 1px; @@ -227,7 +240,8 @@ header { right: 0px; left: 0px; padding-right: 10px; - .el-pagination{ + + .el-pagination { display: flex; align-items: center; justify-content: flex-end; @@ -275,22 +289,27 @@ header { } } -.content-box-sun{ +.content-box-sun { display: flex; - .org-box{ + + .org-box { flex: 1; + .org-content-box { width: 95%; + .org-search-box { display: flex; } - .tree-box{ + + .tree-box { height: 750px; overflow: auto; } } } - .right-box-sun{ + + .right-box-sun { flex: 4; } } @@ -301,6 +320,7 @@ header { justify-content: space-between; position: relative; z-index: 2; + .title { height: 60px; line-height: 60px; @@ -311,4 +331,4 @@ header { .btnBox { margin-top: 14px; } -} +} \ No newline at end of file diff --git a/src/assets/images/icon/1.png b/src/assets/images/icon/1.png new file mode 100644 index 0000000..92acd47 Binary files /dev/null and b/src/assets/images/icon/1.png differ diff --git a/src/assets/images/icon/2.png b/src/assets/images/icon/2.png new file mode 100644 index 0000000..33aa834 Binary files /dev/null and b/src/assets/images/icon/2.png differ diff --git a/src/assets/images/icon/3.png b/src/assets/images/icon/3.png new file mode 100644 index 0000000..3cbff3d Binary files /dev/null and b/src/assets/images/icon/3.png differ diff --git a/src/assets/images/icon/4.png b/src/assets/images/icon/4.png new file mode 100644 index 0000000..b5b9dd1 Binary files /dev/null and b/src/assets/images/icon/4.png differ diff --git a/src/components/ExtractionText/index.vue b/src/components/ExtractionText/index.vue index 71607cf..da5ecc9 100644 --- a/src/components/ExtractionText/index.vue +++ b/src/components/ExtractionText/index.vue @@ -12,15 +12,15 @@
上传文件提取文本内容(支持 .txt, .pdf, .docx, mp4 , mp3, wav)
- +{{ fileText }}