|
|
@@ -28,7 +28,7 @@ const getTitle = computed(() => {
|
|
|
});
|
|
|
|
|
|
const [Form, formApi] = useVbenForm({
|
|
|
- schema: useUserFormSchema(),
|
|
|
+ schema: useUserFormSchema('add'),
|
|
|
showDefaultActions: false,
|
|
|
});
|
|
|
|
|
|
@@ -43,6 +43,9 @@ const [Modal, modalApi] = useVbenModal({
|
|
|
if (valid) {
|
|
|
modalApi.lock();
|
|
|
const data = await formApi.getValues();
|
|
|
+ if (formData.value?.id && !data.password) {
|
|
|
+ delete data.password;
|
|
|
+ }
|
|
|
try {
|
|
|
await edit.send({ ...formData.value, ...data });
|
|
|
await modalApi.close();
|
|
|
@@ -55,15 +58,9 @@ const [Modal, modalApi] = useVbenModal({
|
|
|
if (isOpen) {
|
|
|
const data = modalApi.getData<SystemModel.User>();
|
|
|
if (data) {
|
|
|
- if (data.id) {
|
|
|
- formApi.setState((prev) => {
|
|
|
- const schema =
|
|
|
- prev.schema?.filter(
|
|
|
- (schema) => schema.fieldName !== 'password',
|
|
|
- ) ?? [];
|
|
|
- return { schema };
|
|
|
- });
|
|
|
- }
|
|
|
+ formApi.setState({
|
|
|
+ schema: useUserFormSchema(data.id ? 'edit' : 'add'),
|
|
|
+ });
|
|
|
formData.value = data;
|
|
|
formData.value.roles = data.roles?.map((role) =>
|
|
|
typeof role === 'string' ? role : role.id,
|