bowen
2023-10-12 f87e07840217af1bb059200eba04100e44c5d783
chore: fix type:check error (#3139)

12个文件已修改
68 ■■■■■ 已修改文件
src/api/demo/model/tableModel.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Form/src/hooks/useForm.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Form/src/types/form.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Markdown/src/MarkdownViewer.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Table/src/components/settings/SizeSetting.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Tree/src/hooks/useTree.ts 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/demo/page/form/high/PersonTable.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/demo/table/EditRowTable.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/form-design/components/VFormCreate/index.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/form-design/hooks/useFormInstanceMethods.ts 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/form-design/hooks/useVFormMethods.ts 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
types/global.d.ts 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/demo/model/tableModel.ts
@@ -2,7 +2,7 @@
/**
 * @description: Request list interface parameters
 */
export type DemoParams = BasicPageParams;
export type DemoParams = Partial<BasicPageParams>;
export interface DemoListItem {
  id: string;
src/components/Form/src/hooks/useForm.ts
@@ -107,7 +107,7 @@
      return form.submit();
    },
    validate: async (nameList?: NamePath[] | false): Promise<Recordable> => {
    validate: async <T = Recordable>(nameList?: NamePath[] | false): Promise<T> => {
      const form = await getForm();
      return form.validate(nameList);
    },
src/components/Form/src/types/form.ts
@@ -39,7 +39,7 @@
    first?: boolean | undefined,
  ) => Promise<void>;
  validateFields: (nameList?: NamePath[]) => Promise<any>;
  validate: <T = any>(nameList?: NamePath[] | false) => Promise<T>;
  validate: <T = Recordable>(nameList?: NamePath[] | false) => Promise<T>;
  scrollToField: (name: NamePath, options?: ScrollOptions) => Promise<void>;
}
src/components/Markdown/src/MarkdownViewer.vue
@@ -3,7 +3,7 @@
</template>
<script lang="ts" setup>
  import { defineProps, onBeforeUnmount, onDeactivated, Ref, ref, unref, watch } from 'vue';
  import { onBeforeUnmount, onDeactivated, Ref, ref, unref, watch } from 'vue';
  import VditorPreview from 'vditor/dist/method.min';
  import { onMountedOrActivated } from '@vben/hooks';
  import { useRootSetting } from '/@/hooks/setting/useRootSetting';
src/components/Table/src/components/settings/SizeSetting.vue
@@ -25,7 +25,7 @@
<script lang="ts">
  import type { SizeType } from '../../types/table';
  import { defineComponent, ref } from 'vue';
  import { Tooltip, Dropdown, Menu } from 'ant-design-vue';
  import { Tooltip, Dropdown, Menu, type MenuProps } from 'ant-design-vue';
  import { ColumnHeightOutlined } from '@ant-design/icons-vue';
  import { useI18n } from '/@/hooks/web/useI18n';
  import { useTableContext } from '../../hooks/useTableContext';
@@ -46,12 +46,12 @@
      const selectedKeysRef = ref<SizeType[]>([table.getSize()]);
      function handleTitleClick({ key }: { key: SizeType }) {
        selectedKeysRef.value = [key];
      const handleTitleClick: MenuProps['onClick'] = ({ key }) => {
        selectedKeysRef.value = [key as SizeType];
        table.setProps({
          size: key,
          size: key as SizeType,
        });
      }
      };
      return {
        handleTitleClick,
src/components/Tree/src/hooks/useTree.ts
@@ -65,7 +65,7 @@
  }
  // Update node
  function updateNodeByKey(key: string, node: TreeDataItem, list?: TreeDataItem[]) {
  function updateNodeByKey(key: string, node: Omit<TreeDataItem, 'key'>, list?: TreeDataItem[]) {
    if (!key) return;
    const treeData = list || unref(treeDataRef);
    const { key: keyField, children: childrenField } = unref(getFieldNames);
@@ -184,7 +184,7 @@
    if (!key && key !== 0) return null;
    const treeData = list || unref(treeDataRef);
    const { key: keyField, children: childrenField } = unref(getFieldNames);
    if (!keyField) return;
    if (!keyField) return null;
    treeData.forEach((item) => {
      if (selectedNode?.key || selectedNode?.key === 0) return selectedNode;
      if (item[keyField] === key) {
src/views/demo/page/form/high/PersonTable.vue
@@ -3,7 +3,7 @@
    <BasicTable @register="registerTable" @edit-change="handleEditChange">
      <template #bodyCell="{ column, record }">
        <template v-if="column.key === 'action'">
          <TableAction :actions="createActions(record, column)" />
          <TableAction :actions="createActions(record)" />
        </template>
      </template>
    </BasicTable>
@@ -107,7 +107,7 @@
        data.push(addRow);
      }
      function createActions(record: EditRecordRow, column: BasicColumn): ActionItem[] {
      function createActions(record: EditRecordRow): ActionItem[] {
        if (!record.editable) {
          return [
            {
@@ -122,13 +122,13 @@
        return [
          {
            label: '保存',
            onClick: handleSave.bind(null, record, column),
            onClick: handleSave.bind(null, record),
          },
          {
            label: '取消',
            popConfirm: {
              title: '是否取消编辑',
              confirm: handleCancel.bind(null, record, column),
              confirm: handleCancel.bind(null, record),
            },
          },
        ];
src/views/demo/table/EditRowTable.vue
@@ -3,7 +3,7 @@
    <BasicTable @register="registerTable" @edit-change="onEditChange">
      <template #bodyCell="{ column, record }">
        <template v-if="column.key === 'action'">
          <TableAction :actions="createActions(record, column)" />
          <TableAction :actions="createActions(record)" />
        </template>
      </template>
    </BasicTable>
@@ -278,7 +278,7 @@
        }
      }
      function createActions(record: EditRecordRow, column: BasicColumn): ActionItem[] {
      function createActions(record: EditRecordRow): ActionItem[] {
        if (!record.editable) {
          return [
            {
@@ -291,13 +291,13 @@
        return [
          {
            label: '保存',
            onClick: handleSave.bind(null, record, column),
            onClick: handleSave.bind(null, record),
          },
          {
            label: '取消',
            popConfirm: {
              title: '是否取消编辑',
              confirm: handleCancel.bind(null, record, column),
              confirm: handleCancel.bind(null, record),
            },
          },
        ];
src/views/form-design/components/VFormCreate/index.vue
@@ -78,9 +78,16 @@
      const fApi = useVModel(props, 'fApi', emit);
      const { submit, validate, clearValidate, resetFields, validateField } =
        useFormInstanceMethods(props, formModelNew, context, eFormModel);
        useFormInstanceMethods<['submit', 'change', 'update:fApi', 'update:formModel']>(
          props,
          formModelNew,
          context,
          eFormModel,
        );
      const { linkOn, ...methods } = useVFormMethods(
      const { linkOn, ...methods } = useVFormMethods<
        ['submit', 'change', 'update:fApi', 'update:formModel']
      >(
        { formConfig: props.formConfig, formData: props.formModel } as unknown as IProps,
        context,
        eFormModel,
src/views/form-design/hooks/useFormInstanceMethods.ts
@@ -1,13 +1,13 @@
import { IAnyObject } from '../typings/base-type';
import { Ref, SetupContext, getCurrentInstance, toRaw } from 'vue';
import { Ref, SetupContext, getCurrentInstance, toRaw, type EmitsOptions } from 'vue';
import { cloneDeep, forOwn, isFunction } from 'lodash-es';
import { AForm, IVFormComponent } from '../typings/v-form-component';
import { Form } from 'ant-design-vue';
export function useFormInstanceMethods(
export function useFormInstanceMethods<E extends EmitsOptions = EmitsOptions>(
  props: IAnyObject,
  formdata,
  context: Partial<SetupContext>,
  context: SetupContext<E>,
  _formInstance: Ref<AForm | null>,
) {
  /**
src/views/form-design/hooks/useVFormMethods.ts
@@ -1,4 +1,4 @@
import { Ref, SetupContext } from 'vue';
import { Ref, SetupContext, type EmitsOptions } from 'vue';
import { IVFormComponent, IFormConfig, AForm } from '../typings/v-form-component';
import { findFormItem, formItemsForEach } from '../utils';
import { cloneDeep, isFunction } from 'lodash-es';
@@ -52,9 +52,9 @@
  getData: IGetData;
  disable: IDisable;
}
export function useVFormMethods(
export function useVFormMethods<E extends EmitsOptions = EmitsOptions>(
  props: IProps,
  _context: Partial<SetupContext>,
  _context: SetupContext<E>,
  formInstance: Ref<AForm | null>,
  formInstanceMethods: Partial<IFormInstanceMethods>,
): IVFormMethods {
types/global.d.ts
@@ -22,6 +22,13 @@
  //   __APP__: App<Element>;
  // }
  // fix FullScreen type error
  interface Document {
    mozFullScreenElement?: Element;
    msFullscreenElement?: Element;
    webkitFullscreenElement?: Element;
  }
  // vue
  declare type PropType<T> = VuePropType<T>;
  declare type VueNode = VNodeChild | JSX.Element;