Quellcode durchsuchen

fix: 解决类型检测报错

kailong321200875 vor 1 Jahr
Ursprung
Commit
28bf8bee45

+ 1 - 0
src/components/Form/src/types/index.ts

@@ -620,6 +620,7 @@ export interface FormSchema {
     | InputPasswordComponentProps
     | TreeSelectComponentProps
     | UploadComponentProps
+    | any
 
   /**
    * formItem组件属性,具体可以查看element-plus文档

+ 2 - 2
src/components/Infotip/src/Infotip.vue

@@ -3,7 +3,7 @@ import { PropType } from 'vue'
 import { Highlight } from '@/components/Highlight'
 import { useDesign } from '@/hooks/web/useDesign'
 import { propTypes } from '@/utils/propTypes'
-import { TipSchema } from '@/types/infoTip'
+import { InfoTipSchema } from './types'
 
 const { getPrefixCls } = useDesign()
 
@@ -12,7 +12,7 @@ const prefixCls = getPrefixCls('infotip')
 defineProps({
   title: propTypes.string.def(''),
   schema: {
-    type: Array as PropType<Array<string | TipSchema>>,
+    type: Array as PropType<Array<string | InfoTipSchema>>,
     required: true,
     default: () => []
   },

+ 71 - 70
src/views/Authorization/Role.vue

@@ -1,84 +1,85 @@
 <script setup lang="ts">
-import { ContentWrap } from '@/components/ContentWrap'
-import { useI18n } from '@/hooks/web/useI18n'
-import { Table } from '@/components/Table'
-import { getUserListApi } from '@/api/login'
-import { UserType } from '@/api/login/types'
-import { ref, h } from 'vue'
-import { ElButton } from 'element-plus'
-import { TableColumn, TableSlotDefault } from '@/types/table'
+// import { ContentWrap } from '@/components/ContentWrap'
+// import { useI18n } from '@/hooks/web/useI18n'
+// import { Table } from '@/components/Table'
+// import { getUserListApi } from '@/api/login'
+// import { UserType } from '@/api/login/types'
+// import { ref, h } from 'vue'
+// import { ElButton } from 'element-plus'
+// import { TableColumn, TableSlotDefault } from '@/types/table'
 
-interface Params {
-  pageIndex?: number
-  pageSize?: number
-}
+// interface Params {
+//   pageIndex?: number
+//   pageSize?: number
+// }
 
-const { t } = useI18n()
+// const { t } = useI18n()
 
-const columns: TableColumn[] = [
-  {
-    field: 'index',
-    label: t('userDemo.index'),
-    type: 'index'
-  },
-  {
-    field: 'username',
-    label: t('userDemo.username')
-  },
-  {
-    field: 'password',
-    label: t('userDemo.password')
-  },
-  {
-    field: 'role',
-    label: t('userDemo.role')
-  },
-  {
-    field: 'remark',
-    label: t('userDemo.remark'),
-    formatter: (row: UserType) => {
-      return h(
-        'span',
-        row.username === 'admin' ? t('userDemo.remarkMessage1') : t('userDemo.remarkMessage2')
-      )
-    }
-  },
-  {
-    field: 'action',
-    label: t('userDemo.action')
-  }
-]
+// const columns: TableColumn[] = [
+//   {
+//     field: 'index',
+//     label: t('userDemo.index'),
+//     type: 'index'
+//   },
+//   {
+//     field: 'username',
+//     label: t('userDemo.username')
+//   },
+//   {
+//     field: 'password',
+//     label: t('userDemo.password')
+//   },
+//   {
+//     field: 'role',
+//     label: t('userDemo.role')
+//   },
+//   {
+//     field: 'remark',
+//     label: t('userDemo.remark'),
+//     formatter: (row: UserType) => {
+//       return h(
+//         'span',
+//         row.username === 'admin' ? t('userDemo.remarkMessage1') : t('userDemo.remarkMessage2')
+//       )
+//     }
+//   },
+//   {
+//     field: 'action',
+//     label: t('userDemo.action')
+//   }
+// ]
 
-const loading = ref(true)
+// const loading = ref(true)
 
-let tableDataList = ref<UserType[]>([])
+// let tableDataList = ref<UserType[]>([])
 
-const getTableList = async (params?: Params) => {
-  const res = await getUserListApi({
-    params: params || {
-      pageIndex: 1,
-      pageSize: 10
-    }
-  })
-  // .catch(() => {})
-  // .finally(() => {
-  //   loading.value = false
-  // })
-  if (res) {
-    tableDataList.value = res.data.list
-    loading.value = false
-  }
-}
+// const getTableList = async (params?: Params) => {
+//   const res = await getUserListApi({
+//     params: params || {
+//       pageIndex: 1,
+//       pageSize: 10
+//     }
+//   })
+//   // .catch(() => {})
+//   // .finally(() => {
+//   //   loading.value = false
+//   // })
+//   if (res) {
+//     tableDataList.value = res.data.list
+//     loading.value = false
+//   }
+// }
 
-getTableList()
+// getTableList()
 
-const actionFn = (data: TableSlotDefault) => {
-  console.log(data)
-}
+// const actionFn = (data: TableSlotDefault) => {
+//   console.log(data)
+// }
 </script>
 
 <template>
-  <ContentWrap :title="t('userDemo.title')" :message="t('userDemo.message')">
+  <div>role</div>
+  <!-- <ContentWrap :title="t('userDemo.title')" :message="t('userDemo.message')">
     <Table :columns="columns" :data="tableDataList" :loading="loading" :selection="false">
       <template #action="data">
         <ElButton type="primary" @click="actionFn(data as TableSlotDefault)">
@@ -86,5 +87,5 @@ const actionFn = (data: TableSlotDefault) => {
         </ElButton>
       </template>
     </Table>
-  </ContentWrap>
+  </ContentWrap> -->
 </template>

+ 1 - 3
src/views/Components/Table/TreeTable.vue

@@ -7,7 +7,7 @@ import { reactive, unref } from 'vue'
 import { ElTag, ElButton } from 'element-plus'
 import { useTable } from '@/hooks/web/useTable'
 
-const { tableRegister, tableState, tableMethods } = useTable({
+const { tableRegister, tableState } = useTable({
   fetchDataApi: async () => {
     const { currentPage, pageSize } = tableState
     const res = await getTreeTableListApi({
@@ -21,7 +21,6 @@ const { tableRegister, tableState, tableMethods } = useTable({
   }
 })
 const { loading, dataList, total, currentPage, pageSize } = tableState
-const { sortableChange } = tableMethods
 
 const { t } = useI18n()
 
@@ -106,7 +105,6 @@ const actionFn = (data: TableSlotDefault) => {
         total: total
       }"
       @register="tableRegister"
-      @sortable-change="sortableChange"
     />
   </ContentWrap>
 </template>

+ 184 - 184
src/views/hooks/useCrudSchemas.vue

@@ -1,200 +1,200 @@
 <script setup lang="ts">
-import { ContentWrap } from '@/components/ContentWrap'
-import { Search } from '@/components/Search'
-import { useI18n } from '@/hooks/web/useI18n'
-import { ElButton, ElTag } from 'element-plus'
-import { Table } from '@/components/Table'
-import { getTableListApi, delTableListApi } from '@/api/table'
-import { useTable } from '@/hooks/web/useTable'
-import { TableData } from '@/api/table/types'
-import { h, ref, reactive } from 'vue'
-import { CrudSchema, useCrudSchemas } from '@/hooks/web/useCrudSchemas'
-import { useDictStore } from '@/store/modules/dict'
-import { getDictOneApi } from '@/api/common'
-import { TableColumn } from '@/types/table'
+// import { ContentWrap } from '@/components/ContentWrap'
+// import { Search } from '@/components/Search'
+// import { useI18n } from '@/hooks/web/useI18n'
+// import { ElButton, ElTag } from 'element-plus'
+// import { Table } from '@/components/Table'
+// import { getTableListApi, delTableListApi } from '@/api/table'
+// import { useTable } from '@/hooks/web/useTable'
+// import { TableData } from '@/api/table/types'
+// import { h, ref, reactive } from 'vue'
+// import { CrudSchema, useCrudSchemas } from '@/hooks/web/useCrudSchemas'
+// import { useDictStore } from '@/store/modules/dict'
+// import { getDictOneApi } from '@/api/common'
+// import { TableColumn } from '@/types/table'
 
-const dictStore = useDictStore()
+// const dictStore = useDictStore()
 
-const { register, tableObject, methods } = useTable<TableData>({
-  getListApi: getTableListApi,
-  delListApi: delTableListApi,
-  response: {
-    list: 'list',
-    total: 'total'
-  }
-})
+// const { register, tableObject, methods } = useTable<TableData>({
+//   getListApi: getTableListApi,
+//   delListApi: delTableListApi,
+//   response: {
+//     list: 'list',
+//     total: 'total'
+//   }
+// })
 
-const { getList, setSearchParams } = methods
+// const { getList, setSearchParams } = methods
 
-getList()
+// getList()
 
-const { t } = useI18n()
+// const { t } = useI18n()
 
-const crudSchemas = reactive<CrudSchema[]>([
-  {
-    field: 'index',
-    label: t('tableDemo.index'),
-    type: 'index',
-    form: {
-      show: false
-    },
-    detail: {
-      show: false
-    }
-  },
-  {
-    field: 'title',
-    label: t('tableDemo.title'),
-    search: {
-      show: true
-    },
-    form: {
-      colProps: {
-        span: 24
-      }
-    },
-    detail: {
-      span: 24
-    }
-  },
-  {
-    field: 'author',
-    label: t('tableDemo.author')
-  },
-  {
-    field: 'display_time',
-    label: t('tableDemo.displayTime'),
-    form: {
-      component: 'DatePicker',
-      componentProps: {
-        type: 'datetime',
-        valueFormat: 'YYYY-MM-DD HH:mm:ss'
-      }
-    }
-  },
-  {
-    field: 'importance',
-    label: t('tableDemo.importance'),
-    formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
-      return h(
-        ElTag,
-        {
-          type: cellValue === 1 ? 'success' : cellValue === 2 ? 'warning' : 'danger'
-        },
-        () =>
-          cellValue === 1
-            ? t('tableDemo.important')
-            : cellValue === 2
-            ? t('tableDemo.good')
-            : t('tableDemo.commonly')
-      )
-    },
-    search: {
-      show: true,
-      component: 'Select',
-      componentProps: {
-        options: dictStore.getDictObj.importance
-      }
-    },
-    form: {
-      component: 'Select',
-      componentProps: {
-        options: [
-          {
-            label: '重要',
-            value: 3
-          },
-          {
-            label: '良好',
-            value: 2
-          },
-          {
-            label: '一般',
-            value: 1
-          }
-        ]
-      }
-    }
-  },
-  {
-    field: 'importance2',
-    label: `${t('tableDemo.importance')}2`,
-    search: {
-      show: true,
-      component: 'Select',
-      dictName: 'importance'
-    }
-  },
-  {
-    field: 'importance3',
-    label: `${t('tableDemo.importance')}3`,
-    search: {
-      show: true,
-      component: 'Select',
-      api: async () => {
-        const res = await getDictOneApi()
-        return res.data
-      }
-    }
-  },
-  {
-    field: 'pageviews',
-    label: t('tableDemo.pageviews'),
-    form: {
-      component: 'InputNumber',
-      value: 0
-    }
-  },
-  {
-    field: 'content',
-    label: t('exampleDemo.content'),
-    table: {
-      show: false
-    },
-    form: {
-      component: 'Editor',
-      colProps: {
-        span: 24
-      }
-    },
-    detail: {
-      span: 24
-    }
-  },
-  {
-    field: 'action',
-    width: '260px',
-    label: t('tableDemo.action'),
-    form: {
-      show: false
-    },
-    detail: {
-      show: false
-    }
-  }
-])
+// const crudSchemas = reactive<CrudSchema[]>([
+//   {
+//     field: 'index',
+//     label: t('tableDemo.index'),
+//     type: 'index',
+//     form: {
+//       show: false
+//     },
+//     detail: {
+//       show: false
+//     }
+//   },
+//   {
+//     field: 'title',
+//     label: t('tableDemo.title'),
+//     search: {
+//       show: true
+//     },
+//     form: {
+//       colProps: {
+//         span: 24
+//       }
+//     },
+//     detail: {
+//       span: 24
+//     }
+//   },
+//   {
+//     field: 'author',
+//     label: t('tableDemo.author')
+//   },
+//   {
+//     field: 'display_time',
+//     label: t('tableDemo.displayTime'),
+//     form: {
+//       component: 'DatePicker',
+//       componentProps: {
+//         type: 'datetime',
+//         valueFormat: 'YYYY-MM-DD HH:mm:ss'
+//       }
+//     }
+//   },
+//   {
+//     field: 'importance',
+//     label: t('tableDemo.importance'),
+//     formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
+//       return h(
+//         ElTag,
+//         {
+//           type: cellValue === 1 ? 'success' : cellValue === 2 ? 'warning' : 'danger'
+//         },
+//         () =>
+//           cellValue === 1
+//             ? t('tableDemo.important')
+//             : cellValue === 2
+//             ? t('tableDemo.good')
+//             : t('tableDemo.commonly')
+//       )
+//     },
+//     search: {
+//       show: true,
+//       component: 'Select',
+//       componentProps: {
+//         options: dictStore.getDictObj.importance
+//       }
+//     },
+//     form: {
+//       component: 'Select',
+//       componentProps: {
+//         options: [
+//           {
+//             label: '重要',
+//             value: 3
+//           },
+//           {
+//             label: '良好',
+//             value: 2
+//           },
+//           {
+//             label: '一般',
+//             value: 1
+//           }
+//         ]
+//       }
+//     }
+//   },
+//   {
+//     field: 'importance2',
+//     label: `${t('tableDemo.importance')}2`,
+//     search: {
+//       show: true,
+//       component: 'Select',
+//       dictName: 'importance'
+//     }
+//   },
+//   {
+//     field: 'importance3',
+//     label: `${t('tableDemo.importance')}3`,
+//     search: {
+//       show: true,
+//       component: 'Select',
+//       api: async () => {
+//         const res = await getDictOneApi()
+//         return res.data
+//       }
+//     }
+//   },
+//   {
+//     field: 'pageviews',
+//     label: t('tableDemo.pageviews'),
+//     form: {
+//       component: 'InputNumber',
+//       value: 0
+//     }
+//   },
+//   {
+//     field: 'content',
+//     label: t('exampleDemo.content'),
+//     table: {
+//       show: false
+//     },
+//     form: {
+//       component: 'Editor',
+//       colProps: {
+//         span: 24
+//       }
+//     },
+//     detail: {
+//       span: 24
+//     }
+//   },
+//   {
+//     field: 'action',
+//     width: '260px',
+//     label: t('tableDemo.action'),
+//     form: {
+//       show: false
+//     },
+//     detail: {
+//       show: false
+//     }
+//   }
+// ])
 
-const { allSchemas } = useCrudSchemas(crudSchemas)
+// const { allSchemas } = useCrudSchemas(crudSchemas)
 
-const delLoading = ref(false)
+// const delLoading = ref(false)
 
-const delData = async (row: TableData | null, multiple: boolean) => {
-  tableObject.currentRow = row
-  const { delList, getSelections } = methods
-  const selections = await getSelections()
-  delLoading.value = true
-  await delList(
-    multiple ? selections.map((v) => v.id) : [tableObject.currentRow?.id as string],
-    multiple
-  ).finally(() => {
-    delLoading.value = false
-  })
-}
+// const delData = async (row: TableData | null, multiple: boolean) => {
+//   tableObject.currentRow = row
+//   const { delList, getSelections } = methods
+//   const selections = await getSelections()
+//   delLoading.value = true
+//   await delList(
+//     multiple ? selections.map((v) => v.id) : [tableObject.currentRow?.id as string],
+//     multiple
+//   ).finally(() => {
+//     delLoading.value = false
+//   })
+// }
 </script>
 
 <template>
   <ContentWrap>
-    <Search :schema="allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
+    <!-- <Search :schema="allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
 
     <div class="mb-10px">
       <ElButton :loading="delLoading" type="danger" @click="delData(null, true)">
@@ -218,6 +218,6 @@ const delData = async (row: TableData | null, multiple: boolean) => {
           {{ t('exampleDemo.del') }}
         </ElButton>
       </template>
-    </Table>
+    </Table> -->
   </ContentWrap>
 </template>