'新增页面'

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>

View File

@ -8,7 +8,8 @@
</div>
</div>
<div class="cntinfo">
<el-descriptions column="2" border>
<template v-if="visible">
<el-descriptions column="2" border>
<el-descriptions-item label="培训项目名称">{{ formData.xm }}</el-descriptions-item>
<el-descriptions-item label="考试时间">{{ formData.sfzh }}</el-descriptions-item>
<el-descriptions-item label="考试辖区">{{ formData.lxdh }}</el-descriptions-item>
@ -16,6 +17,7 @@
<el-descriptions-item label="监考民警">{{ formData.rzsj }}</el-descriptions-item>
<el-descriptions-item label="考试方式">{{ formData.ssbmdm }}</el-descriptions-item>
</el-descriptions>
</template>
<!-- <el-descriptions title="考试人员" column="2" border class="mt20"> -->
<div class="label">考试人员</div>
@ -24,13 +26,16 @@
>
<!-- 操作 -->
<template #controls="{ row }">
<el-link type="primary" @click="addEdit('updata', row)">上传成绩</el-link>
<el-link type="primary" @click="addEdit('view', row)">查看成绩</el-link>
<el-link v-if="!visible">申请证件</el-link>
<template v-else>
<el-link type="primary" @click="addEdit('updata', row)">上传成绩</el-link>
<el-link type="primary" @click="addEdit('view', row)">查看成绩</el-link>
</template>
</template>
</MyTable>
<!-- </el-descriptions> -->
<view-and-upload-dialog v-model="viewAndUploadVisible" />
<view-and-upload-dialog ref="viewAndUploadRef" v-model="viewAndUploadVisible" />
</div>
</div>
</template>
@ -46,7 +51,9 @@ const title = ref('保安线下考试详情')
const loading = ref(false)
const disabled = ref(false)
const FormRef = ref(null)
const viewAndUploadVisible = ref(true)
const visible = ref(true)
const viewAndUploadRef = ref(null)
const viewAndUploadVisible = ref(false)
const props = defineProps({
modelValue: {
@ -104,13 +111,12 @@ const open = (row = {}, type = 'add') => {
disabled.value = false
dialogVisible.value = true
formData.value = { ...row }
if (type === 'add') {
title.value = '新增从业人员'
if (type === 'view') {
title.value = '保安线下考试详情'
visible.value = true
} else if (type === 'edit') {
title.value = '编辑从业人员'
} else {
disabled.value = true
title.value = '查看详情'
title.value = '保安证申请'
visible.value = false
}
}
@ -129,6 +135,10 @@ const save = () => {
});
}
const addEdit = (type, row) => {
viewAndUploadRef.value?.open(row, type)
}
defineExpose({ open })
</script>