云
3 天以前 a241b66efcc41e973290a6722fb7a4d79b833ea1
src/adapter/form.ts
@@ -1,13 +1,17 @@
import type {
  VbenFormProps as FormProps,
  VbenFormSchema as FormSchema,
} from '..\packages\effects\common-ui\src';
} from '@vben/common-ui';
import type { ComponentPropsMap, ComponentType } from './component';
import { setupVbenForm, useVbenForm as useForm, z } from '..\packages\effects\common-ui\src';
import { $t } from '..\packages\locales\src';
import { isMobile } from '..\packages\utils\src';
import { setupVbenForm, useVbenForm as useForm, z } from '@vben/common-ui';
import { $t } from '@vben/locales';
import { isMobile } from '@vben/utils';
import { watch } from 'vue';
import { automaticApproval } from '#/store/audit-policy';
import { isAuditField } from '#/utils/audit-ui-policy';
async function initSetupVbenForm() {
  setupVbenForm<ComponentType>({
@@ -61,7 +65,16 @@
  });
}
const useVbenForm = useForm<ComponentType, ComponentPropsMap>;
const useVbenForm = (options: FormProps<ComponentType, ComponentPropsMap>) => {
  const result = useForm<ComponentType, ComponentPropsMap>(options);
  const schema = options.schema;
  if (schema) {
    watch(automaticApproval, () => {
      result[1].setState({ schema: schema.filter((item) => !automaticApproval.value || !isAuditField(item)) });
    }, { immediate: true });
  }
  return result;
};
export { initSetupVbenForm, useVbenForm, z };