From b57ff65d5d5f5ed26065b834739852852f8fbb2d Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 23 六月 2025 10:19:31 +0800
Subject: [PATCH] 1.首页样式修改
---
src/views/archiveManagement/mould/archiveDialog.vue | 113 ++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 77 insertions(+), 36 deletions(-)
diff --git a/src/views/archiveManagement/mould/archiveDialog.vue b/src/views/archiveManagement/mould/archiveDialog.vue
index c976722..793d222 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,39 @@
</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
+ ref="fileUploadRef"
+ :fileSize="1024"
+ :fileType="['pdf', 'docx', 'txt', 'xlsx', 'pptx....']"
+ :limit="10"
+ :drag="false"
+ v-model:modelValue="modelValue"
+ />
</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";
+import { ElMessage } from "element-plus";
const centerDialogVisible = defineModel("centerDialogVisible", {
type: Boolean,
@@ -60,60 +75,86 @@
name: "",
type: "",
status: "",
+ storageBlobDTO: [], // 纭繚 storageBlobDTO 鏄竴涓暟缁�
};
};
// 鍒濆鍖栬〃鍗曟暟鎹�
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 fileUploadRef = ref(null);
+const initForm = () => {
+ ruleForm.value = {};
+ fileUploadRef.value.init();
+};
+const editForm = (val) => {
+ ruleForm.value = copyForm.value;
+ nextTick(() => {
+ fileUploadRef.value.editInit(val);
+ });
+};
+defineExpose({
+ initForm,
+ editForm,
+});
const options = [
{ value: "鏈夋晥", label: "鏈夋晥" },
{ value: "鏃犳晥", label: "鏃犳晥" },
{ value: "浣滃簾", label: "浣滃簾" },
];
-const emit = defineEmits(["submitForm"]);
+const emit = defineEmits(["submitForm", "update:modelValue"]);
+const modelValue = ref([]);
const submit = async () => {
// 楠岃瘉琛ㄥ崟
if (!ruleFormRef.value) return;
-
+
try {
const valid = await ruleFormRef.value.validate();
if (!valid) {
return;
}
-
+ ruleForm.value.storageBlobDTO = modelValue.value; // 纭繚 ruleForm 鏄渶鏂扮殑
// 璋冪敤 API
- let res = await addOrEditArchive(ruleForm.value);
- console.log("API 鍝嶅簲:", res);
-
+ try {
+ const res = await addOrEditArchive(ruleForm.value);
+ ElMessage({
+ type: "success",
+ message: res.msg || "鎿嶄綔鎴愬姛",
+ });
+ emit("submitForm", res);
+ } catch (error) {
+ ElMessage({
+ type: "error",
+ message: error.msg || "鎿嶄綔澶辫触",
+ });
+ return;
+ }
// 鍙戦�� emit 浜嬩欢
- emit("submitForm", res);
- console.log("emit submitForm 宸插彂閫�");
-
+
// 鍏抽棴瀵硅瘽妗�
centerDialogVisible.value = false;
} catch (error) {
- console.error("琛ㄥ崟楠岃瘉澶辫触鎴朅PI璋冪敤澶辫触:", error);
+ ElMessage({
+ type: "error",
+ message: error.msg || "鎿嶄綔澶辫触",
+ });
}
-}
+};
</script>
<style lang="less" scoped></style>
--
Gitblit v1.9.3