保存进度
This commit is contained in:
@@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
* @Author: Kane Wang <wangkane@qq.com>
|
||||||
|
* @Date: 2026-02-07 21:36:35
|
||||||
|
* @LastEditors: Kane Wang
|
||||||
|
* @LastModified: 2026-02-07 21:36:35
|
||||||
|
* @FilePath: src/main/java/com/cpic/xim/utils/utils.java
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2025 by Kane All rights reserved
|
||||||
|
*/
|
||||||
|
package com.cpic.xim.utils;
|
||||||
|
|
||||||
|
public class utils
|
||||||
|
{
|
||||||
|
public static String encodeURL( String urlString )
|
||||||
|
{
|
||||||
|
StringBuilder encodedURLString = new StringBuilder( urlString.length() * 3 );
|
||||||
|
char[] charArray = urlString.toCharArray();
|
||||||
|
|
||||||
|
for ( char c : charArray )
|
||||||
|
{
|
||||||
|
switch ( c )
|
||||||
|
{
|
||||||
|
case '%':
|
||||||
|
encodedURLString.append( PERCENT );
|
||||||
|
break;
|
||||||
|
case ' ':
|
||||||
|
encodedURLString.append( SPACING );
|
||||||
|
break;
|
||||||
|
case '+':
|
||||||
|
encodedURLString.append( PLUS );
|
||||||
|
break;
|
||||||
|
case '/':
|
||||||
|
encodedURLString.append( FORWARD_SLASH );
|
||||||
|
break;
|
||||||
|
case '?':
|
||||||
|
encodedURLString.append( QUESTION_MASK );
|
||||||
|
break;
|
||||||
|
case '&':
|
||||||
|
encodedURLString.append( AMPERSAND );
|
||||||
|
break;
|
||||||
|
case '#':
|
||||||
|
encodedURLString.append( SHARP );
|
||||||
|
break;
|
||||||
|
case '=':
|
||||||
|
encodedURLString.append( PLUS );
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
encodedURLString.append( c );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return encodedURLString.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
static final String SHARP = "%23";
|
||||||
|
static final String PLUS = "%2B";
|
||||||
|
static final String FORWARD_SLASH = "%2F";
|
||||||
|
static final String QUESTION_MASK = "%3F";
|
||||||
|
static final String SPACING = "%20";
|
||||||
|
static final String EQUAL = "%3D";
|
||||||
|
static final String PERCENT = "%25";
|
||||||
|
static final String AMPERSAND = "%26";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1983,6 +1983,7 @@
|
|||||||
"integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
|
"integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/lodash": "*"
|
"@types/lodash": "*"
|
||||||
}
|
}
|
||||||
@@ -1993,6 +1994,7 @@
|
|||||||
"integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==",
|
"integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~7.16.0"
|
"undici-types": "~7.16.0"
|
||||||
}
|
}
|
||||||
@@ -2039,6 +2041,7 @@
|
|||||||
"integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==",
|
"integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.54.0",
|
"@typescript-eslint/scope-manager": "8.54.0",
|
||||||
"@typescript-eslint/types": "8.54.0",
|
"@typescript-eslint/types": "8.54.0",
|
||||||
@@ -2576,6 +2579,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
||||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"acorn": "bin/acorn"
|
"acorn": "bin/acorn"
|
||||||
},
|
},
|
||||||
@@ -3116,6 +3120,7 @@
|
|||||||
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
|
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.8.0",
|
"@eslint-community/eslint-utils": "^4.8.0",
|
||||||
"@eslint-community/regexpp": "^4.12.1",
|
"@eslint-community/regexpp": "^4.12.1",
|
||||||
@@ -3796,6 +3801,7 @@
|
|||||||
"integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
|
"integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"jiti": "lib/jiti-cli.mjs"
|
"jiti": "lib/jiti-cli.mjs"
|
||||||
}
|
}
|
||||||
@@ -3920,14 +3926,16 @@
|
|||||||
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.23.tgz",
|
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.23.tgz",
|
||||||
"integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
|
"integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT",
|
||||||
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/lodash-es": {
|
"node_modules/lodash-es": {
|
||||||
"version": "4.17.23",
|
"version": "4.17.23",
|
||||||
"resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.23.tgz",
|
"resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.23.tgz",
|
||||||
"integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==",
|
"integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT",
|
||||||
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/lodash-unified": {
|
"node_modules/lodash-unified": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
@@ -4499,6 +4507,7 @@
|
|||||||
"integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==",
|
"integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chokidar": "^4.0.0",
|
"chokidar": "^4.0.0",
|
||||||
"immutable": "^5.0.2",
|
"immutable": "^5.0.2",
|
||||||
@@ -4685,6 +4694,7 @@
|
|||||||
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
|
"peer": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
"tsserver": "bin/tsserver"
|
"tsserver": "bin/tsserver"
|
||||||
@@ -4793,6 +4803,7 @@
|
|||||||
"integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
|
"integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.27.0",
|
"esbuild": "^0.27.0",
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
@@ -4874,6 +4885,7 @@
|
|||||||
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.27.tgz",
|
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.27.tgz",
|
||||||
"integrity": "sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==",
|
"integrity": "sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-dom": "3.5.27",
|
"@vue/compiler-dom": "3.5.27",
|
||||||
"@vue/compiler-sfc": "3.5.27",
|
"@vue/compiler-sfc": "3.5.27",
|
||||||
@@ -4897,6 +4909,7 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"vue-demi-fix": "bin/vue-demi-fix.js",
|
"vue-demi-fix": "bin/vue-demi-fix.js",
|
||||||
"vue-demi-switch": "bin/vue-demi-switch.js"
|
"vue-demi-switch": "bin/vue-demi-switch.js"
|
||||||
@@ -4923,6 +4936,7 @@
|
|||||||
"integrity": "sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==",
|
"integrity": "sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"debug": "^4.4.0",
|
"debug": "^4.4.0",
|
||||||
"eslint-scope": "^8.2.0",
|
"eslint-scope": "^8.2.0",
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ interface AddNewRegulatoryResponse
|
|||||||
interface Render {
|
interface Render {
|
||||||
( resonse: AddNewRegulatoryResponse ) :void, }
|
( resonse: AddNewRegulatoryResponse ) :void, }
|
||||||
|
|
||||||
|
type CallBackRender = ( response: AddNewRegulatoryResponse ) => void;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param regulatory RegulatoryData类型制度对象,用于发送请求。
|
* @param regulatory RegulatoryData类型制度对象,用于发送请求。
|
||||||
@@ -68,5 +69,6 @@ function addNewRegulatory( regulatory: RegulatoryData, render: Render ): void
|
|||||||
export {
|
export {
|
||||||
addNewRegulatory,
|
addNewRegulatory,
|
||||||
type AddNewRegulatoryResponse,
|
type AddNewRegulatoryResponse,
|
||||||
type Render
|
type Render,
|
||||||
|
type CallBackRender
|
||||||
};
|
};
|
||||||
@@ -53,4 +53,35 @@ function getFileType( filePath: string ): string
|
|||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
export { getFileType };
|
/**
|
||||||
|
* 检查文件名中是否有无法使用的字符。
|
||||||
|
* @param filename 文件名字符串。
|
||||||
|
* @returns 检查结果。true 无问题;false表示文件名含有不合适的字符。
|
||||||
|
*/
|
||||||
|
function checkFileName( filename: string ): boolean
|
||||||
|
{
|
||||||
|
let result = true;
|
||||||
|
|
||||||
|
for ( const c of filename )
|
||||||
|
{
|
||||||
|
switch ( c )
|
||||||
|
{
|
||||||
|
case "%":
|
||||||
|
case " ":
|
||||||
|
case "+":
|
||||||
|
case "/":
|
||||||
|
case "?":
|
||||||
|
case "&":
|
||||||
|
case "#":
|
||||||
|
case "=":
|
||||||
|
result = false;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
export { getFileType, checkFileName };
|
||||||
@@ -137,6 +137,7 @@ Copyright © CPIC All rights reserved
|
|||||||
:show-file-list="false"
|
:show-file-list="false"
|
||||||
:data="ui.uploadParameters"
|
:data="ui.uploadParameters"
|
||||||
:on-success="onUploadSuccess"
|
:on-success="onUploadSuccess"
|
||||||
|
:before-upload="onBeforeUpload"
|
||||||
>
|
>
|
||||||
<el-icon class="el-icon--upload">
|
<el-icon class="el-icon--upload">
|
||||||
<upload-filled />
|
<upload-filled />
|
||||||
@@ -304,14 +305,12 @@ export default {
|
|||||||
ui.newRegulatory.regulatory_files?.splice( rowId, 1 );
|
ui.newRegulatory.regulatory_files?.splice( rowId, 1 );
|
||||||
})
|
})
|
||||||
.catch(()=>{});
|
.catch(()=>{});
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const onPreviewUploadedFile = ( rowId: number ): void =>
|
const onPreviewUploadedFile = ( rowId: number ): void =>
|
||||||
{
|
{
|
||||||
// ui.showPreviewDialog = true;
|
// ui.showPreviewDialog = true;
|
||||||
ui.fileURL = ui.newRegulatory.regulatory_files[rowId]?.file_url + "/" + ui.newRegulatory.regulatory_files[rowId]?.regulatory_file_name;
|
ui.fileURL = encodeURI( ui.newRegulatory.regulatory_files[rowId]?.file_url + "/" + ui.newRegulatory.regulatory_files[rowId]?.regulatory_file_name );
|
||||||
|
|
||||||
console.log( "完整路径:", ui.fileURL );
|
console.log( "完整路径:", ui.fileURL );
|
||||||
|
|
||||||
@@ -356,7 +355,7 @@ export default {
|
|||||||
*/
|
*/
|
||||||
const onUploadSuccess: UploadProps["onSuccess"] = ( response: UploadFileResponse, uploadFile: UploadFile, uploadFiles: UploadFiles ): void =>
|
const onUploadSuccess: UploadProps["onSuccess"] = ( response: UploadFileResponse, uploadFile: UploadFile, uploadFiles: UploadFiles ): void =>
|
||||||
{
|
{
|
||||||
console.log( `上传制度文件响应:${response}` );
|
console.log( "上传制度文件响应:", response.fileList );
|
||||||
console.log( `上传文件:${uploadFile}` );
|
console.log( `上传文件:${uploadFile}` );
|
||||||
console.log( `上传多文件:${uploadFiles}` );
|
console.log( `上传多文件:${uploadFiles}` );
|
||||||
|
|
||||||
@@ -410,6 +409,15 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const onBeforeUpload = ( uploadFile: UploadFile ): boolean =>
|
||||||
|
{
|
||||||
|
let result = true;
|
||||||
|
|
||||||
|
console.log( "上传的文件名", uploadFile.name );
|
||||||
|
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
const errorHandle = ()=>
|
const errorHandle = ()=>
|
||||||
{
|
{
|
||||||
ElMessage.error( "渲染文档出错!" );
|
ElMessage.error( "渲染文档出错!" );
|
||||||
@@ -442,6 +450,7 @@ export default {
|
|||||||
onDeleteUploadedFile,
|
onDeleteUploadedFile,
|
||||||
onPreviewUploadedFile,
|
onPreviewUploadedFile,
|
||||||
onCreateNewRegulatory,
|
onCreateNewRegulatory,
|
||||||
|
onBeforeUpload,
|
||||||
errorHandle,
|
errorHandle,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user