diff --git a/src/assets/images/knowledge/mp4.svg b/src/assets/images/knowledge/mp4.svg
new file mode 100644
index 0000000..4fde575
--- /dev/null
+++ b/src/assets/images/knowledge/mp4.svg
@@ -0,0 +1,2 @@
+
\ No newline at end of file
diff --git a/src/assets/images/knowledge/pdf.svg b/src/assets/images/knowledge/pdf.svg
new file mode 100644
index 0000000..0ee8057
--- /dev/null
+++ b/src/assets/images/knowledge/pdf.svg
@@ -0,0 +1,2 @@
+
\ No newline at end of file
diff --git a/src/views/knowledge/index.vue b/src/views/knowledge/index.vue
index e5543f5..eee54f1 100644
--- a/src/views/knowledge/index.vue
+++ b/src/views/knowledge/index.vue
@@ -75,14 +75,14 @@
{{ parseTime(scope.row.create_time) }}上传
@@ -120,7 +121,7 @@
label="文件大小"
align="center"
prop="file_size"
- width="120"
+ width="100"
>
{{ formatfile_size(scope.row.file_size) }}
@@ -129,8 +130,8 @@
- 分享
+
- 修改
+
- 删除
+
@@ -175,7 +176,7 @@
-
-
视频文件(MP4)
+
-
-
PDF 文件
+
@@ -660,12 +659,12 @@ export default {
if (!file) return;
// 文件名校验
- const validateResult = this.validateFileName(file.name);
- if (!validateResult.valid) {
- this.$modal.msgError(validateResult.message);
- event.target.value = "";
- return;
- }
+ // const validateResult = this.validateFileName(file.name);
+ // if (!validateResult.valid) {
+ // this.$modal.msgError(validateResult.message);
+ // event.target.value = "";
+ // return;
+ // }
// 文件大小校验(可选,根据需求启用)
// const sizeResult = this.validateFileSize(file.size);
@@ -698,7 +697,10 @@ export default {
// 2. 检查文件名长度(不含扩展名最多20字符)
const nameWithoutExt = fileName.replace(/\.[^/.]+$/, "");
if (nameWithoutExt.length > 20) {
- return { valid: false, message: "文件名(不含扩展名)不能超过20个字符" };
+ return {
+ valid: false,
+ message: "文件名(不含扩展名)不能超过20个字符",
+ };
}
// 3. 检查是否以数字开头
@@ -715,7 +717,10 @@ export default {
// 5. 检查是否包含特殊字符(Windows文件名限制)
const invalidChars = /[\\/:*?"<>|]/;
if (invalidChars.test(fileName)) {
- return { valid: false, message: "文件名不能包含 \\ / : * ? \" < > | 等特殊字符" };
+ return {
+ valid: false,
+ message: '文件名不能包含 \\ / : * ? " < > | 等特殊字符',
+ };
}
return { valid: true, message: "" };
@@ -725,7 +730,13 @@ export default {
// 例如:限制最大100MB
const maxSize = 100 * 1024 * 1024;
if (size > maxSize) {
- return { valid: false, message: `文件大小不能超过100MB,当前文件大小:${(size / (1024 * 1024)).toFixed(2)}MB` };
+ return {
+ valid: false,
+ message: `文件大小不能超过100MB,当前文件大小:${(
+ size /
+ (1024 * 1024)
+ ).toFixed(2)}MB`,
+ };
}
return { valid: true, message: "" };
},
@@ -914,8 +925,7 @@ export default {
// 资源缩略图
.resource-thumb {
- width: 230px;
- height: 80px;
+ height: 62px;
border-radius: 4px;
cursor: pointer;
display: flex;
@@ -930,29 +940,35 @@ export default {
.upload-type-box {
display: flex;
- justify-content: space-around;
- padding: 20px 0;
+ justify-content: center;
+ gap: 40px;
+ padding: 25px 0;
.type-item {
- width: 120px;
- height: 120px;
- border: 1px dashed #ccc;
- border-radius: 8px;
+ width: 90px;
+ height: 90px;
+ background: #009696;
+ border-radius: 12px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
cursor: pointer;
+ transition: transform 0.2s ease;
- i {
- font-size: 40px;
- color: #409eff;
+ img {
+ width: 70px;
+ height: 70px;
margin-bottom: 10px;
}
+ span {
+ color: #fff;
+ font-size: 14px;
+ }
+
&:hover {
- border-color: #409eff;
- background: #f5f7fa;
+ transform: scale(1.05);
}
}
}