From 7c86b549b27bd54f6bd5de81c13f8242f91c87ff Mon Sep 17 00:00:00 2001
From: 张诺 <zhang_12370@163.com>
Date: 星期一, 16 六月 2025 18:03:27 +0800
Subject: [PATCH] 优化文件上传组件及表格显示
---
src/views/archiveManagement/mould/archiveDialog.vue | 68 +++++++++++++++++++--------------
1 files changed, 39 insertions(+), 29 deletions(-)
diff --git a/src/views/archiveManagement/mould/archiveDialog.vue b/src/views/archiveManagement/mould/archiveDialog.vue
index c976722..521ae1a 100644
--- a/src/views/archiveManagement/mould/archiveDialog.vue
+++ b/src/views/archiveManagement/mould/archiveDialog.vue
@@ -1,5 +1,5 @@
<template>
- <el-dialog v-model="centerDialogVisible" title="Warning" width="500" center>
+ <el-dialog v-model="centerDialogVisible" title="鏂囨。绠$悊" width="500" center>
<el-form
ref="ruleFormRef"
style="max-width: 600px"
@@ -8,7 +8,7 @@
label-width="auto"
>
<el-form-item label="鍚嶇О" prop="name">
- <el-input v-model="ruleForm.name" placeholder="璇疯緭鍏ユ枃妗e悕绉�"/>
+ <el-input v-model="ruleForm.name" placeholder="璇疯緭鍏ユ枃妗e悕绉�" />
</el-form-item>
<el-form-item label="璇疯緭鍏ユ枃妗g被鍨�" prop="type">
<el-select v-model="ruleForm.type" placeholder="璇疯緭鍏ユ枃妗g被鍨�">
@@ -18,24 +18,36 @@
</el-form-item>
<el-form-item label="璇疯緭鍏ユ枃妗g姸鎬�" prop="status">
<el-select v-model="ruleForm.status" placeholder="璇疯緭鍏ユ枃妗g姸鎬�">
- <el-option v-for="option in options" :key="option.value" :label="option.label" :value="option.value" />
+ <el-option
+ v-for="option in options"
+ :key="option.value"
+ :label="option.label"
+ :value="option.value"
+ />
</el-select>
</el-form-item>
</el-form>
<template #footer>
- <div class="dialog-footer">
- <el-button @click="centerDialogVisible = false">Cancel</el-button>
- <el-button type="primary" @click="submit">
- Confirm
- </el-button>
- </div>
+ <el-row>
+ <el-col :span="24" style="text-align: right">
+ <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submit"> 纭� 瀹� </el-button>
+ </el-col>
+ </el-row>
</template>
+ <fileUpload
+ v-model="ruleForm.file"
+ :fileSize="1024"
+ :fileType="['pdf', 'docx', 'txt', 'xlsx', 'pptx....']"
+ :limit="10"
+ />
</el-dialog>
</template>
<script setup>
import { ref, watch } from "vue";
-import { addOrEditArchive } from "@/api/archiveManagement"
+import { addOrEditArchive } from "@/api/archiveManagement";
+import fileUpload from "@/components/FileUpload/index.vue";
const centerDialogVisible = defineModel("centerDialogVisible", {
type: Boolean,
@@ -66,22 +78,20 @@
// 鍒濆鍖栬〃鍗曟暟鎹�
const ruleFormRef = ref(null);
const ruleForm = ref(initFormData(props.row));
-const copyForm = ref()
+const copyForm = ref();
// 鐩戝惉 row 鐨勫彉鍖栵紝鏇存柊 ruleForm
-watch(() => props.row, (newRow) => {
- copyForm.value = initFormData(newRow);
- ruleForm.value = JSON.parse(JSON.stringify(copyForm.value));
-}, { deep: true });
+watch(
+ () => props.row,
+ (newRow) => {
+ copyForm.value = initFormData(newRow);
+ ruleForm.value = JSON.parse(JSON.stringify(copyForm.value));
+ },
+ { deep: true }
+);
const rules = {
- name: [
- { required: true, message: "Please input activity name", trigger: "blur" },
- ],
- type: [
- { required: true, message: "Please select activity zone", trigger: "change" },
- ],
- status: [
- { required: true, message: "Please select activity count", trigger: "change" },
- ],
+ name: [{ required: true, message: "璇疯緭鍏ユ枃妗e悕绉�", trigger: "blur" }],
+ type: [{ required: true, message: "璇烽�夋嫨鏂囨。绫诲瀷", trigger: "blur" }],
+ status: [{ required: true, message: "璇烽�夋嫨鏂囨。鐘舵��", trigger: "blur" }],
};
const options = [
@@ -93,27 +103,27 @@
const submit = async () => {
// 楠岃瘉琛ㄥ崟
if (!ruleFormRef.value) return;
-
+
try {
const valid = await ruleFormRef.value.validate();
if (!valid) {
return;
}
-
+
// 璋冪敤 API
let res = await addOrEditArchive(ruleForm.value);
console.log("API 鍝嶅簲:", res);
-
+
// 鍙戦�� emit 浜嬩欢
emit("submitForm", res);
console.log("emit submitForm 宸插彂閫�");
-
+
// 鍏抽棴瀵硅瘽妗�
centerDialogVisible.value = false;
} catch (error) {
console.error("琛ㄥ崟楠岃瘉澶辫触鎴朅PI璋冪敤澶辫触:", error);
}
-}
+};
</script>
<style lang="less" scoped></style>
--
Gitblit v1.9.3