'新增页面'

This commit is contained in:
esacpe
2025-09-22 17:16:08 +08:00
parent 4f4f93383b
commit dcf0a74a06
12 changed files with 913 additions and 45 deletions

View File

@ -1,9 +1,9 @@
<template>
<el-dialog class="dialogWerapper" v-model="modelValue" :title="title" @close="handleClose">
<form-message ref="FormRef" v-model="formData" :rules="rules" :formList="formList" />
<form-message ref="FormRef" :disabled="disabled" v-model="formData" :rules="rules" :formList="formList" />
<template #footer>
<el-button type="primary" :loading="loading" @click="handleSubmit">确定</el-button>
<el-button type="primary" v-if="!disabled" :loading="loading" @click="handleSubmit">确定</el-button>
<el-button @click="handleClose">取消</el-button>
</template>
</el-dialog>
@ -14,10 +14,6 @@ import { computed, ref, reactive } from 'vue';
import FormMessage from '@/components/aboutTable/FormMessage.vue'
const props = defineProps({
title: {
type: String,
default: '上传成绩'
},
modelValue: {
type: Boolean,
default: false
@ -35,7 +31,9 @@ const visible = computed({
}
})
const title = ref('上传成绩')
const loading = ref(false)
const disabled = ref(false)
const FormRef = ref(null)
const formData = ref({})
@ -44,13 +42,26 @@ const formList = reactive([
{ label: "成绩", prop: "cj", type: "input" },
],
[
{ label: "卷面", prop: "ssbmdm", type: "upload", limit: 1 },
{ label: "卷面", prop: "jm", type: "upload", limit: 1 },
],
])
const rules = {
cj: [{ required: true, message: "请输入考试成绩", trigger: "change" }],
sfzh: [{ required: true, message: "请输入证件号码", trigger: "change" }],
jm: [{ required: true, message: "请输上传卷面", trigger: "change" }],
}
const open = (row = {}, type = 'updata') => {
FormRef.value?.reset()
visible.value = true
disabled.value = false
formData.value = { ...row }
if (type === 'updata') {
title.value = '上传成绩'
} else {
disabled.value = true
title.value = '查看成绩'
}
}
const handleClose = () => {
@ -70,14 +81,6 @@ const handleSubmit = () => {
loading.value = false
}
}
</script>
<style lang="scss" scoped>
::v-deep {
.dialogWerapper {
.el-dialog__header {
background: none !important;
}
}
}
</style>
defineExpose({ open })
</script>