引入各类字典,屏蔽一些前端必填校验

pull/480/head
lizilong 2024-06-12 00:43:22 +08:00
parent 88b86b0f2c
commit 82dbe45662
2 changed files with 37 additions and 25 deletions

View File

@ -16,10 +16,10 @@
<el-form-item label="项目负责人" prop="projectLeader"> <el-form-item label="项目负责人" prop="projectLeader">
<el-input v-model="formData.projectLeader" placeholder="请输入项目负责人" /> <el-input v-model="formData.projectLeader" placeholder="请输入项目负责人" />
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="项目负责人Id" prop="projectLeaderId"> <el-form-item label="项目负责人Id" prop="projectLeaderId">
<el-input v-model="formData.projectLeaderId" placeholder="请输入项目负责人Id" /> <el-input v-model="formData.projectLeaderId" placeholder="请输入项目负责人Id" />
</el-form-item></el-col> </el-form-item></el-col>-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="项目编号" prop="projectCode"> <el-form-item label="项目编号" prop="projectCode">
<el-input v-model="formData.projectCode" placeholder="请输入项目编号" /> <el-input v-model="formData.projectCode" placeholder="请输入项目编号" />
@ -50,17 +50,20 @@
:value="dict.value" /> :value="dict.value" />
</el-select> </el-select>
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="计划Id" prop="planId"> <el-form-item label="计划Id" prop="planId">
<el-input v-model="formData.planId" placeholder="请输入计划Id" /> <el-input v-model="formData.planId" placeholder="请输入计划Id" />
</el-form-item></el-col> </el-form-item></el-col>-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="课题实施所需的其他配套条件" prop="supportingCondition"> <el-form-item label="课题实施所需的其他配套条件" prop="supportingCondition">
<el-input v-model="formData.supportingCondition" placeholder="请输入课题实施所需的其他配套条件" /> <el-input v-model="formData.supportingCondition" placeholder="请输入课题实施所需的其他配套条件" />
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="性别" prop="gender"> <el-form-item label="性别" prop="gender">
<el-input v-model="formData.gender" placeholder="请输入性别" /> <el-select v-model="formData.gender" placeholder="请选择性别">
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.SYSTEM_USER_SEX)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年龄" prop="age"> <el-form-item label="年龄" prop="age">
@ -68,15 +71,24 @@
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学历" prop="education"> <el-form-item label="学历" prop="education">
<el-input v-model="formData.education" placeholder="请输入学历" /> <el-select v-model="formData.education" placeholder="请选择学历">
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.SYSTEM_EDUCATION)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所学专业" prop="major"> <el-form-item label="所学专业" prop="major">
<el-input v-model="formData.major" placeholder="请输入所学专业" /> <el-select v-model="formData.major" placeholder="请选择所学专业">
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.SYSTEM_MAJOR)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="从事专业" prop="engagMajor"> <el-form-item label="从事专业" prop="engagMajor">
<el-input v-model="formData.engagMajor" placeholder="请输入从事专业" /> <el-select v-model="formData.engagMajor" placeholder="请选择从事专业">
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.SYSTEM_MAJOR)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="职务(职称)" prop="position"> <el-form-item label="职务(职称)" prop="position">
@ -106,19 +118,19 @@
<el-form-item label="主要业绩" prop="achievement"> <el-form-item label="主要业绩" prop="achievement">
<el-input v-model="formData.achievement" placeholder="请输入主要业绩" /> <el-input v-model="formData.achievement" placeholder="请输入主要业绩" />
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="主管部门ID" prop="competentDeptId"> <el-form-item label="主管部门ID" prop="competentDeptId">
<el-input v-model="formData.competentDeptId" placeholder="请输入主管部门ID" /> <el-input v-model="formData.competentDeptId" placeholder="请输入主管部门ID" />
</el-form-item></el-col> </el-form-item></el-col>-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="主管部门" prop="competentDeptName"> <el-form-item label="主管部门" prop="competentDeptName">
<el-input v-model="formData.competentDeptName" placeholder="请输入主管部门" /> <el-input v-model="formData.competentDeptName" placeholder="请输入主管部门" />
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="主管工程师ID" prop="managerId"> <el-form-item label="主管工程师ID" prop="managerId">
<el-input v-model="formData.managerId" placeholder="请输入主管工程师ID" /> <el-input v-model="formData.managerId" placeholder="请输入主管工程师ID" />
</el-form-item> </el-form-item>
</el-col> </el-col>-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="主管工程师" prop="managerName"> <el-form-item label="主管工程师" prop="managerName">
<el-input v-model="formData.managerName" placeholder="请输入主管工程师" /> <el-input v-model="formData.managerName" placeholder="请输入主管工程师" />
@ -127,16 +139,16 @@
<el-form-item label="维护单位名称" prop="maintenanceUnitName"> <el-form-item label="维护单位名称" prop="maintenanceUnitName">
<el-input v-model="formData.maintenanceUnitName" placeholder="请输入维护单位名称" /> <el-input v-model="formData.maintenanceUnitName" placeholder="请输入维护单位名称" />
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="维护单位ID" prop="maintenanceUnitId"> <el-form-item label="维护单位ID" prop="maintenanceUnitId">
<el-input v-model="formData.maintenanceUnitId" placeholder="请输入维护单位ID" /> <el-input v-model="formData.maintenanceUnitId" placeholder="请输入维护单位ID" />
</el-form-item> </el-form-item>
</el-col> </el-col>-->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="承担单位名称" prop="undertakingUnitName"> <el-form-item label="承担单位名称" prop="undertakingUnitName">
<el-input v-model="formData.undertakingUnitName" placeholder="请输入承担单位名称" /> <el-input v-model="formData.undertakingUnitName" placeholder="请输入承担单位名称" />
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="承担单位ID" prop="undertakingUnitId"> <el-form-item label="承担单位ID" prop="undertakingUnitId">
<el-input v-model="formData.undertakingUnitId" placeholder="请输入承担单位ID" /> <el-input v-model="formData.undertakingUnitId" placeholder="请输入承担单位ID" />
</el-form-item> </el-form-item>
@ -153,7 +165,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="状态" prop="state"> <el-form-item label="状态" prop="state">
<el-input v-model="formData.state" placeholder="请输入状态" /> <el-input v-model="formData.state" placeholder="请输入状态" />
</el-form-item></el-col> </el-form-item></el-col>-->
</el-row> </el-row>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
@ -250,14 +262,14 @@ const formData = ref({
const formRules = reactive({ const formRules = reactive({
projectName: [{ required: true, message: '项目名称不能为空', trigger: 'blur' }], projectName: [{ required: true, message: '项目名称不能为空', trigger: 'blur' }],
projectLeader: [{ required: true, message: '项目负责人不能为空', trigger: 'blur' }], projectLeader: [{ required: true, message: '项目负责人不能为空', trigger: 'blur' }],
projectLeaderId: [{ required: true, message: '项目负责人Id不能为空', trigger: 'blur' }], //projectLeaderId: [{ required: true, message: 'Id', trigger: 'blur' }],
projectCode: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }], projectCode: [{ required: true, message: '项目编号不能为空', trigger: 'blur' }],
technicalField: [{ required: true, message: '所属技术领域不能为空', trigger: 'change' }], technicalField: [{ required: true, message: '所属技术领域不能为空', trigger: 'change' }],
year: [{ required: true, message: '年度不能为空', trigger: 'blur' }], year: [{ required: true, message: '年度不能为空', trigger: 'blur' }],
beginDate: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }], beginDate: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }],
endDate: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }], endDate: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }],
planName: [{ required: true, message: '计划类型不能为空', trigger: 'change' }], planName: [{ required: true, message: '计划类型不能为空', trigger: 'change' }],
planId: [{ required: true, message: '计划Id不能为空', trigger: 'blur' }], //planId: [{ required: true, message: 'Id', trigger: 'blur' }],
supportingCondition: [{ required: true, message: '课题实施所需的其他配套条件不能为空', trigger: 'blur' }], supportingCondition: [{ required: true, message: '课题实施所需的其他配套条件不能为空', trigger: 'blur' }],
gender: [{ required: true, message: '性别不能为空', trigger: 'blur' }], gender: [{ required: true, message: '性别不能为空', trigger: 'blur' }],
age: [{ required: true, message: '年龄不能为空', trigger: 'blur' }], age: [{ required: true, message: '年龄不能为空', trigger: 'blur' }],
@ -267,11 +279,11 @@ const formRules = reactive({
position: [{ required: true, message: '职务(职称)不能为空', trigger: 'blur' }], position: [{ required: true, message: '职务(职称)不能为空', trigger: 'blur' }],
phoneNo: [{ required: true, message: '电话不能为空', trigger: 'blur' }], phoneNo: [{ required: true, message: '电话不能为空', trigger: 'blur' }],
email: [{ required: true, message: '邮箱不能为空', trigger: 'blur' }], email: [{ required: true, message: '邮箱不能为空', trigger: 'blur' }],
fax: [{ required: true, message: '传真不能为空', trigger: 'blur' }], //fax: [{ required: true, message: '', trigger: 'blur' }],
postalCode: [{ required: true, message: '邮编不能为空', trigger: 'blur' }], postalCode: [{ required: true, message: '邮编不能为空', trigger: 'blur' }],
address: [{ required: true, message: '通讯地址不能为空', trigger: 'blur' }], address: [{ required: true, message: '通讯地址不能为空', trigger: 'blur' }],
achievement: [{ required: true, message: '主要业绩不能为空', trigger: 'blur' }], achievement: [{ required: true, message: '主要业绩不能为空', trigger: 'blur' }],
competentDeptId: [{ required: true, message: '主管部门ID不能为空', trigger: 'blur' }], /* competentDeptId: [{ required: true, message: 'ID', trigger: 'blur' }],
competentDeptName: [{ required: true, message: '主管部门不能为空', trigger: 'blur' }], competentDeptName: [{ required: true, message: '主管部门不能为空', trigger: 'blur' }],
managerId: [{ required: true, message: '主管工程师ID不能为空', trigger: 'blur' }], managerId: [{ required: true, message: '主管工程师ID不能为空', trigger: 'blur' }],
managerName: [{ required: true, message: '主管工程师不能为空', trigger: 'blur' }], managerName: [{ required: true, message: '主管工程师不能为空', trigger: 'blur' }],
@ -280,7 +292,7 @@ const formRules = reactive({
undertakingUnitName: [{ required: true, message: '承担单位名称不能为空', trigger: 'blur' }], undertakingUnitName: [{ required: true, message: '承担单位名称不能为空', trigger: 'blur' }],
undertakingUnitId: [{ required: true, message: '承担单位ID不能为空', trigger: 'blur' }], undertakingUnitId: [{ required: true, message: '承担单位ID不能为空', trigger: 'blur' }],
reviewUnitName: [{ required: true, message: '审核单位名称不能为空', trigger: 'blur' }], reviewUnitName: [{ required: true, message: '审核单位名称不能为空', trigger: 'blur' }],
reviewUnitId: [{ required: true, message: '审核单位ID不能为空', trigger: 'blur' }], reviewUnitId: [{ required: true, message: '审核单位ID不能为空', trigger: 'blur' }],*/
}) })
const formRef = ref() // Ref const formRef = ref() // Ref

View File

@ -45,7 +45,7 @@ const formLoading = ref(false) // 表单的加载中
const formData = ref([]) const formData = ref([])
const formRules = reactive({ const formRules = reactive({
contractId: [{ required: true, message: '任务书ID不能为空', trigger: 'blur' }], contractId: [{ required: true, message: '任务书ID不能为空', trigger: 'blur' }],
purposeSignificance: [{ required: true, message: '项目目的与意义不能为空', trigger: 'blur' }], /* purposeSignificance: [{ required: true, message: '', trigger: 'blur' }],
currentSituation: [{ required: true, message: '项目所属领域国内外产业、技术的现状和发展趋势不能为空', trigger: 'blur' }], currentSituation: [{ required: true, message: '项目所属领域国内外产业、技术的现状和发展趋势不能为空', trigger: 'blur' }],
workFoundation: [{ required: true, message: '项目现有工作基础不能为空', trigger: 'blur' }], workFoundation: [{ required: true, message: '项目现有工作基础不能为空', trigger: 'blur' }],
projectAccording: [{ required: true, message: '项目实施目标及考核指标-考核指标依据不能为空', trigger: 'blur' }], projectAccording: [{ required: true, message: '项目实施目标及考核指标-考核指标依据不能为空', trigger: 'blur' }],
@ -53,7 +53,7 @@ const formRules = reactive({
researchRoadmap: [{ required: true, message: '主要研究开发内容-技术路线不能为空', trigger: 'blur' }], researchRoadmap: [{ required: true, message: '主要研究开发内容-技术路线不能为空', trigger: 'blur' }],
researchInnovation: [{ required: true, message: '主要研究开发内容-创新性不能为空', trigger: 'blur' }], researchInnovation: [{ required: true, message: '主要研究开发内容-创新性不能为空', trigger: 'blur' }],
riskAnalysis: [{ required: true, message: '课题实施的风险分析不能为空', trigger: 'blur' }], riskAnalysis: [{ required: true, message: '课题实施的风险分析不能为空', trigger: 'blur' }],
projectAchie: [{ required: true, message: '预期主要成果形式、知识产权归属不能为空', trigger: 'blur' }], projectAchie: [{ required: true, message: '预期主要成果形式、知识产权归属不能为空', trigger: 'blur' }],*/
}) })
const formRef = ref() // Ref const formRef = ref() // Ref