<!-- * @Description: 考核等级管理新建/编辑/详情页面 * @Author: 李亚光 * @Date: 2023-09-14 --> <script lang="ts" setup name="RuleGradeHandler"> import type { FormInstance, FormRules, UploadUserFile } from 'element-plus' import ruleTable from './ruleTable.vue' const $route = useRoute() const $router = useRouter() // 对话框类型:create,update const dialogStatus = ref('create') // 显示标题 const textMap: { [key: string]: string } = { update: '编辑', create: '新增', detail: '详情', } // 表单对象 const ruleForm = ref({ }) // 表单验证规则 const rules = ref<FormRules>({ reason: [{ required: true, message: '送检原因必填', trigger: ['blur', 'change'] }], }) // 表单实例对象 const ruleFormRef = ref() // 等级评定规则表格实例对象 const ruleTableRef = ref() </script> <template> <app-container style="overflow: hidden;"> <detail-page class="base-info-device" :title="`考核等级评定-${textMap[dialogStatus]}`"> <template #btns> <el-button type="primary"> 保存 </el-button> <el-button type="info" @click="$router.go(-1)"> 关闭 </el-button> </template> </detail-page> <detail-block-com> <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-position="right" label-width="110px" class="form" :class="[$route.path.includes('detail') ? 'isDetail' : '']" :disabled="$route.path.includes('detail')" > <el-row :gutter="24" class="marg"> <el-col :span="5" /> <el-col :span="14"> <el-form-item label="等级评定名称" prop="approvalNo"> <el-input v-model.trim="ruleForm.approvalNo" placeholder="等级评定名称" /> </el-form-item> </el-col> <el-col :span="5" /> </el-row> <el-row :gutter="24" class="marg"> <el-col :span="5" /> <el-col :span="14"> <el-form-item label="等级评定描述" prop="approvalName"> <el-input v-model.trim="ruleForm.approvalName" type="textarea" placeholder="等级评定描述" :rows="3" maxlength="50" show-word-limit /> </el-form-item> </el-col> <el-col :span="5" /> </el-row> <el-row :gutter="24" class="marg"> <el-col :span="5" /> <el-col :span="14"> <!-- 等级评定规则表格 --> <el-form-item label="等级评定规则"> <rule-table ref="ruleTableRef" :data="[]" /> </el-form-item> </el-col> <el-col :span="5" /> </el-row> <el-row :gutter="24" class="marg"> <el-col :span="5" /> <el-col :span="14"> <el-form-item label="备注" prop="approvalName"> <el-input v-model.trim="ruleForm.approvalName" type="textarea" placeholder="备注" :rows="4" maxlength="100" show-word-limit /> </el-form-item> </el-col> <el-col :span="5" /> </el-row> </el-form> </detail-block-com> </app-container> </template> <style lang="scss" scoped> .isDetail { ::v-deep { .el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before, .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label::before { content: ""; display: none; } } } </style>