|
|
@@ -28,18 +28,19 @@
|
|
28
|
28
|
</el-form-item>
|
|
29
|
29
|
</el-col>
|
|
30
|
30
|
<el-col :span="8">
|
|
31
|
|
- <el-form-item label="用户名称" prop="username">
|
|
32
|
|
- <el-input :disabled="formData.id" v-model="formData.username" placeholder="请输入用户名称"/>
|
|
|
31
|
+ <el-form-item label="用户名称" prop="username">
|
|
|
32
|
+ <el-input v-model="formData.username" :disabled="formData.id"
|
|
|
33
|
+ placeholder="请输入用户名称"/>
|
|
33
|
34
|
</el-form-item>
|
|
34
|
35
|
</el-col>
|
|
35
|
36
|
|
|
36
|
37
|
|
|
37
|
38
|
<el-col :span="8">
|
|
38
|
|
- <el-form-item label="用户密码" prop="password">
|
|
|
39
|
+ <el-form-item label="用户密码" prop="password">
|
|
39
|
40
|
<el-input
|
|
40
|
|
- :disabled="formData.id"
|
|
41
|
|
-
|
|
42
|
41
|
v-model="formData.password"
|
|
|
42
|
+
|
|
|
43
|
+ :disabled="formData.id"
|
|
43
|
44
|
placeholder="请输入用户密码"
|
|
44
|
45
|
show-password
|
|
45
|
46
|
type="password"
|
|
|
@@ -68,18 +69,18 @@
|
|
68
|
69
|
</el-select>
|
|
69
|
70
|
</el-form-item>
|
|
70
|
71
|
</el-col>
|
|
71
|
|
-<!-- <el-col :span="8">-->
|
|
72
|
|
-<!-- <el-form-item label="岗位" prop="postIds">-->
|
|
73
|
|
-<!-- <el-select v-model="formData.postIds" multiple placeholder="请选择">-->
|
|
74
|
|
-<!-- <el-option-->
|
|
75
|
|
-<!-- v-for="item in postList"-->
|
|
76
|
|
-<!-- :key="item.id"-->
|
|
77
|
|
-<!-- :label="item.name"-->
|
|
78
|
|
-<!-- :value="item.id!"-->
|
|
79
|
|
-<!-- />-->
|
|
80
|
|
-<!-- </el-select>-->
|
|
81
|
|
-<!-- </el-form-item>-->
|
|
82
|
|
-<!-- </el-col>-->
|
|
|
72
|
+ <!-- <el-col :span="8">-->
|
|
|
73
|
+ <!-- <el-form-item label="岗位" prop="postIds">-->
|
|
|
74
|
+ <!-- <el-select v-model="formData.postIds" multiple placeholder="请选择">-->
|
|
|
75
|
+ <!-- <el-option-->
|
|
|
76
|
+ <!-- v-for="item in postList"-->
|
|
|
77
|
+ <!-- :key="item.id"-->
|
|
|
78
|
+ <!-- :label="item.name"-->
|
|
|
79
|
+ <!-- :value="item.id!"-->
|
|
|
80
|
+ <!-- />-->
|
|
|
81
|
+ <!-- </el-select>-->
|
|
|
82
|
+ <!-- </el-form-item>-->
|
|
|
83
|
+ <!-- </el-col>-->
|
|
83
|
84
|
<el-col :span="8">
|
|
84
|
85
|
<el-form-item label="角色" prop="roleIds">
|
|
85
|
86
|
<el-select v-model="formData.roleIds" multiple placeholder="请选择">
|
|
|
@@ -95,7 +96,7 @@
|
|
95
|
96
|
|
|
96
|
97
|
|
|
97
|
98
|
<el-col :span="8">
|
|
98
|
|
- <el-form-item label="省" prop="shengCode">
|
|
|
99
|
+ <el-form-item label="省" prop="shengCode">
|
|
99
|
100
|
<el-select v-model="formData.shengCode"
|
|
100
|
101
|
clearable
|
|
101
|
102
|
placeholder="所属省份">
|
|
|
@@ -106,7 +107,7 @@
|
|
106
|
107
|
</el-form-item>
|
|
107
|
108
|
</el-col>
|
|
108
|
109
|
<el-col :span="8">
|
|
109
|
|
- <el-form-item label="市" prop="shiCode">
|
|
|
110
|
+ <el-form-item label="市" prop="shiCode">
|
|
110
|
111
|
<el-select v-model="formData.shiCode"
|
|
111
|
112
|
clearable
|
|
112
|
113
|
placeholder="所属省份">
|
|
|
@@ -116,7 +117,7 @@
|
|
116
|
117
|
</el-form-item>
|
|
117
|
118
|
</el-col>
|
|
118
|
119
|
<el-col :span="8">
|
|
119
|
|
- <el-form-item label="县" prop="xianCode">
|
|
|
120
|
+ <el-form-item label="县" prop="xianCode">
|
|
120
|
121
|
<el-select v-model="formData.xianCode"
|
|
121
|
122
|
clearable
|
|
122
|
123
|
placeholder="所属省份">
|
|
|
@@ -171,7 +172,10 @@ const formData = ref({
|
|
171
|
172
|
postIds: [],
|
|
172
|
173
|
remark: '',
|
|
173
|
174
|
status: CommonStatusEnum.ENABLE,
|
|
174
|
|
- roleIds: []
|
|
|
175
|
+ roleIds: [],
|
|
|
176
|
+ shengCode: '',
|
|
|
177
|
+ shiCode: '',
|
|
|
178
|
+ xianCode: '',
|
|
175
|
179
|
})
|
|
176
|
180
|
const formRules = reactive<FormRules>({
|
|
177
|
181
|
username: [{required: true, message: '用户名称不能为空', trigger: 'blur'}],
|
|
|
@@ -248,15 +252,13 @@ const submitForm = async () => {
|
|
248
|
252
|
formLoading.value = true
|
|
249
|
253
|
try {
|
|
250
|
254
|
const data = formData.value as unknown as UserApi.UserVO
|
|
251
|
|
- if(data.xianCode){
|
|
|
255
|
+ if (data.xianCode) {
|
|
252
|
256
|
data.areaLevel = 3
|
|
253
|
257
|
data.areaCode = data.xianCode
|
|
254
|
|
- }
|
|
255
|
|
- else if(data.shiCode){
|
|
|
258
|
+ } else if (data.shiCode) {
|
|
256
|
259
|
data.areaLevel = 2
|
|
257
|
260
|
data.areaCode = data.shiCode
|
|
258
|
|
- }
|
|
259
|
|
- else if(data.shengCode){
|
|
|
261
|
+ } else if (data.shengCode) {
|
|
260
|
262
|
data.areaLevel = 1
|
|
261
|
263
|
data.areaCode = data.shengCode
|
|
262
|
264
|
}
|
|
|
@@ -325,6 +327,24 @@ watch(() => formData.value.shiCode, async (newValue) => {
|
|
325
|
327
|
xianList.value = []
|
|
326
|
328
|
}
|
|
327
|
329
|
});
|
|
|
330
|
+watch(
|
|
|
331
|
+ () => formData.value.deptId,
|
|
|
332
|
+ async (newValue) => {
|
|
|
333
|
+ if (newValue == '112') {
|
|
|
334
|
+ // 当 deptId 为 '112' 时,shengCode 不是必填
|
|
|
335
|
+ formRules.shengCode[0].required = false;
|
|
|
336
|
+ // 清除 shengCode 的校验状态
|
|
|
337
|
+ await formRef.value?.clearValidate('shengCode');
|
|
|
338
|
+
|
|
|
339
|
+ } else {
|
|
|
340
|
+ // 否则,shengCode 是必填的
|
|
|
341
|
+ formRules.shengCode[0].required = true;
|
|
|
342
|
+ // 重新校验 shengCode 字段
|
|
|
343
|
+ await formRef.value?.validateField('shengCode');
|
|
|
344
|
+ }
|
|
|
345
|
+ },
|
|
|
346
|
+ { deep: true }
|
|
|
347
|
+);
|
|
328
|
348
|
onMounted(async () => {
|
|
329
|
349
|
|
|
330
|
350
|
})
|