Procházet zdrojové kódy

refactor(用户表单): 重构教育身份相关字段的条件渲染逻辑

根据教育身份动态显示学生或员工相关字段,提升表单的清晰度和用户体验
tanshanming před 6 měsíci
rodič
revize
1624e11b05
1 změnil soubory, kde provedl 22 přidání a 21 odebrání
  1. 22 21
      src/views/sys/user/form.vue

+ 22 - 21
src/views/sys/user/form.vue

@@ -52,14 +52,24 @@
 								<a-date-picker v-model:value="formData.birthday" value-format="YYYY-MM-DD" style="width: 100%" />
 							</a-form-item>
 						</a-col>
-						<a-col :span="12" v-if="formData.eduIdentity === '2'">
-							<a-form-item label="学号:" name="studentNum">
-								<a-input v-model:value="formData.studentNum" placeholder="请输入学号" allow-clear />
+						<a-col :span="12">
+							<a-form-item label="选择教育身份:" name="eduIdentity">
+								<a-select
+									v-model:value="formData.eduIdentity"
+									placeholder="请选择选择项类型"
+									:options="eduIdentityOptions"
+									allow-clear
+								/>
 							</a-form-item>
 						</a-col>
 					</a-row>
 					<a-row :gutter="16">
-						<a-col :span="8">
+						<a-col :span="8" v-if="formData.eduIdentity === '2'">
+							<a-form-item label="学号:" name="studentNum">
+								<a-input v-model:value="formData.studentNum" placeholder="请输入学号" allow-clear />
+							</a-form-item>
+						</a-col>
+						<a-col :span="8" v-if="formData.eduIdentity === '2'">
 							<a-form-item label="所属院系:" name="collegeId">
 								<a-select
 									v-model:value="formData.collegeId"
@@ -71,7 +81,7 @@
 								/>
 							</a-form-item>
 						</a-col>
-						<a-col :span="8">
+						<a-col :span="8" v-if="formData.eduIdentity === '2'">
 							<a-form-item label="专业:" name="majorId">
 								<a-select
 									v-model:value="formData.majorId"
@@ -83,6 +93,8 @@
 								/>
 							</a-form-item>
 						</a-col>
+					</a-row>
+					<a-row :gutter="16" v-if="formData.eduIdentity === '2'">
 						<a-col :span="8">
 							<a-form-item label="班级:" name="gradesId">
 								<a-select
@@ -94,8 +106,6 @@
 								/>
 							</a-form-item>
 						</a-col>
-					</a-row>
-					<a-row :gutter="16">
 						<a-col :span="8">
 							<a-form-item label="学届:" name="fallDue">
 								<a-date-picker
@@ -108,7 +118,7 @@
 						</a-col>
 					</a-row>
 					<a-row :gutter="16">
-						<a-col :span="8">
+						<a-col :span="8" v-if="formData.eduIdentity !== '2'">
 							<a-form-item label="选择组织:" name="orgId">
 								<a-tree-select
 									v-model:value="formData.orgId"
@@ -128,7 +138,7 @@
 								/>
 							</a-form-item>
 						</a-col>
-						<a-col :span="8">
+						<a-col :span="8" v-if="formData.eduIdentity !== '2'">
 							<a-form-item label="选择职位:" name="positionId">
 								<xn-page-select
 									ref="xnPositionPageSelectRef"
@@ -140,16 +150,7 @@
 								/>
 							</a-form-item>
 						</a-col>
-						<a-col :span="8">
-							<a-form-item label="选择教育身份:" name="eduIdentity">
-								<a-select
-									v-model:value="formData.eduIdentity"
-									placeholder="请选择选择项类型"
-									:options="eduIdentityOptions"
-								/>
-							</a-form-item>
-						</a-col>
-						<a-col :span="8">
+						<a-col :span="8" v-if="formData.eduIdentity !== '2'">
 							<a-form-item label="选择主管:" name="directorId">
 								<xn-page-select
 									ref="xnUserPageSelectRef"
@@ -162,7 +163,7 @@
 							</a-form-item>
 						</a-col>
 					</a-row>
-					<a-row :gutter="16">
+					<a-row :gutter="16" v-if="formData.eduIdentity !== '2'">
 						<a-col :span="8">
 							<a-form-item label="员工编号:" name="empNo">
 								<a-input v-model:value="formData.empNo" placeholder="请输入员工编号" allow-clear />
@@ -180,7 +181,7 @@
 						</a-col>
 					</a-row>
 
-					<a-form-item label="任职信息" name="positionJson">
+					<a-form-item label="任职信息" name="positionJson" v-if="formData.eduIdentity !== '2'">
 						<a-button type="primary" class="childAddButton" @click="addDomains()">
 							<PlusOutlined />
 							增加任职