tongshangming hace 3 años
padre
commit
e3455da11a

+ 0 - 43
src/components.d.ts

@@ -10,54 +10,14 @@ declare module '@vue/runtime-core' {
     AdvancedForm: typeof import('./components/form/AdvancedForm.vue')['default']
     BasicForm: typeof import('./components/form/BasicForm.vue')['default']
     DialogForm: typeof import('./components/form/DialogForm.vue')['default']
-    ElAside: typeof import('element-plus/es')['ElAside']
-    ElAvatar: typeof import('element-plus/es')['ElAvatar']
-    ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
-    ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
-    ElButton: typeof import('element-plus/es')['ElButton']
-    ElCard: typeof import('element-plus/es')['ElCard']
-    ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
-    ElCol: typeof import('element-plus/es')['ElCol']
-    ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
-    ElContainer: typeof import('element-plus/es')['ElContainer']
-    ElDialog: typeof import('element-plus/es')['ElDialog']
-    ElDivider: typeof import('element-plus/es')['ElDivider']
-    ElDrawer: typeof import('element-plus/es')['ElDrawer']
-    ElDropdown: typeof import('element-plus/es')['ElDropdown']
-    ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
-    ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
     ElEditor: typeof import('./components/ElEditor.vue')['default']
-    ElForm: typeof import('element-plus/es')['ElForm']
-    ElFormItem: typeof import('element-plus/es')['ElFormItem']
-    ElHeader: typeof import('element-plus/es')['ElHeader']
-    ElIcon: typeof import('element-plus/es')['ElIcon']
-    ElInput: typeof import('element-plus/es')['ElInput']
-    ElMain: typeof import('element-plus/es')['ElMain']
-    ElMenu: typeof import('element-plus/es')['ElMenu']
-    ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
-    ElOption: typeof import('element-plus/es')['ElOption']
-    ElPagination: typeof import('element-plus/es')['ElPagination']
-    ElRadio: typeof import('element-plus/es')['ElRadio']
-    ElRow: typeof import('element-plus/es')['ElRow']
-    ElSpace: typeof import('element-plus/es')['ElSpace']
-    ElSwitch: typeof import('element-plus/es')['ElSwitch']
-    ElTable: typeof import('element-plus/es')['ElTable']
-    ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
-    ElTabPane: typeof import('element-plus/es')['ElTabPane']
-    ElTabs: typeof import('element-plus/es')['ElTabs']
     Exception: typeof import('./components/Exception.vue')['default']
     FormComp: typeof import('./components/form/FormComp.vue')['default']
-    FormItem: typeof import('./components/form/FormItem.vue')['default']
     GlobalFooter: typeof import('./components/GlobalFooter.vue')['default']
     GlobalHeader: typeof import('./components/GlobalHeader.vue')['default']
     GlobalMenu: typeof import('./components/GlobalMenu.vue')['default']
     GlobalSetting: typeof import('./components/GlobalSetting.vue')['default']
     GlobalTabs: typeof import('./components/GlobalTabs.vue')['default']
-    IEpArrowDown: typeof import('~icons/ep/arrow-down')['default']
-    IEpLock: typeof import('~icons/ep/lock')['default']
-    IEpRefresh: typeof import('~icons/ep/refresh')['default']
-    IEpSearch: typeof import('~icons/ep/search')['default']
-    IEpUser: typeof import('~icons/ep/user')['default']
     OrgLayout: typeof import('./components/org/OrgLayout.vue')['default']
     OrgList: typeof import('./components/org/OrgList.vue')['default']
     ProForm: typeof import('./components/form/ProForm.vue')['default']
@@ -66,7 +26,4 @@ declare module '@vue/runtime-core' {
     RouterView: typeof import('vue-router')['RouterView']
     SvgIcon: typeof import('./components/SvgIcon.vue')['default']
   }
-  export interface ComponentCustomProperties {
-    vLoading: typeof import('element-plus/es')['ElLoadingDirective']
-  }
 }

+ 2 - 10
src/components/ProTable.vue

@@ -7,23 +7,15 @@ export default {
 <script setup lang="ts">
 import router from '@/router'
 import { ElMessage, ElMessageBox, type DialogProps } from 'element-plus'
-import type { AdvancedForm, BasicForm } from '@/types/form'
+import type { AdvancedForm, BasicForm, ICRUD } from '@/types/form'
 
-interface CRUD {
-  create: Function
-  update: Function
-  delete: Function
-  deleteBatch?: Function
-  getList: Function
-  getRecord?: Function
-}
 interface CustomTable {
   showOperate?: boolean
   operateWidth?: number
 }
 
 interface Props {
-  crud: CRUD
+  crud: ICRUD
   pageSize?: number
   selection?: boolean
   formConfig: BasicForm | AdvancedForm

+ 8 - 0
src/components/index.ts

@@ -0,0 +1,8 @@
+import type { App } from 'vue'
+import ElEditor from './ElEditor.vue'
+
+function registerCopmponent(app: App): void {
+  app.component('ElEditor', ElEditor)
+}
+
+export default registerCopmponent

+ 2 - 2
src/main.ts

@@ -7,7 +7,7 @@ import ElementPlus from 'element-plus'
 import 'element-plus/dist/index.css'
 import * as ElementPlusIconsVue from '@element-plus/icons-vue'
 
-import editor from '@/components/ElEditor.vue'
+import registerCopmponent from '@/components/index'
 
 import { install } from '@icon-park/vue-next/es/all'
 
@@ -22,7 +22,7 @@ const app = createApp(App)
 app.use(createPinia())
 app.use(router)
 app.use(ElementPlus)
-app.component('ElEditor', editor)
+registerCopmponent(app)
 
 for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
   app.component(key, component)

+ 9 - 0
src/types/form.ts

@@ -35,3 +35,12 @@ export type BasicForm = Form & {
 export type AdvancedForm = Form & {
   formItems: AdvancedFormItem[]
 }
+
+export interface ICRUD {
+  create: Function
+  update: Function
+  delete: Function
+  deleteBatch?: Function
+  getList: Function
+  getRecord?: Function
+}

+ 9 - 6
src/views/miniprogram/Banner.vue

@@ -1,15 +1,18 @@
 <script setup lang="ts">
-import type { BasicForm } from '@/types/form'
+import type { BasicForm, ICRUD } from '@/types/form'
 
-const CRUD = {
-  create() {
-    return Promise.resolve()
+const CRUD: ICRUD = {
+  create(data: any) {
+    return Promise.resolve(data)
   },
-  update() {
-    return Promise.resolve()
+  update(data: any) {
+    return Promise.resolve(data)
   },
   getList() {
     return Promise.resolve()
+  },
+  delete(data: any) {
+    return Promise.resolve(data)
   }
 }
 

+ 10 - 14
src/views/miniprogram/Feedback.vue

@@ -1,22 +1,18 @@
 <script setup lang="ts">
-import type { BasicForm } from '@/types/form'
+import type { BasicForm, ICRUD } from '@/types/form'
 
-const CRUD = {
-  create() {
-    return Promise.resolve()
+const CRUD: ICRUD = {
+  create(data: any) {
+    return Promise.resolve(data)
   },
-  update() {
-    return Promise.resolve()
+  update(data: any) {
+    return Promise.resolve(data)
   },
   getList() {
-    return Promise.resolve({
-      data: [
-        {
-          content: 'dfdf'
-        }
-      ],
-      total: 1
-    })
+    return Promise.resolve()
+  },
+  delete(data: any) {
+    return Promise.resolve(data)
   }
 }
 

+ 9 - 6
src/views/miniprogram/Question.vue

@@ -1,15 +1,18 @@
 <script setup lang="ts">
-import type { BasicForm } from '@/types/form'
+import type { BasicForm, ICRUD } from '@/types/form'
 
-const CRUD = {
-  create() {
-    return Promise.resolve()
+const CRUD: ICRUD = {
+  create(data: any) {
+    return Promise.resolve(data)
   },
-  update() {
-    return Promise.resolve()
+  update(data: any) {
+    return Promise.resolve(data)
   },
   getList() {
     return Promise.resolve()
+  },
+  delete(data: any) {
+    return Promise.resolve(data)
   }
 }
 

+ 9 - 6
src/views/miniprogram/Version.vue

@@ -1,15 +1,18 @@
 <script setup lang="ts">
-import type { BasicForm } from '@/types/form'
+import type { BasicForm, ICRUD } from '@/types/form'
 
-const CRUD = {
-  create() {
-    return Promise.resolve()
+const CRUD: ICRUD = {
+  create(data: any) {
+    return Promise.resolve(data)
   },
-  update() {
-    return Promise.resolve()
+  update(data: any) {
+    return Promise.resolve(data)
   },
   getList() {
     return Promise.resolve()
+  },
+  delete(data: any) {
+    return Promise.resolve(data)
   }
 }
 

+ 3 - 3
src/views/system/Dict.vue

@@ -1,8 +1,8 @@
 <script setup lang="ts">
-import type { BasicForm } from '@/types/form'
+import type { BasicForm, ICRUD } from '@/types/form'
 import { getDictList, getDictValue, saveDict, deleteDict, saveDictValue, deleteDictValue } from '@/api/dict'
 
-const CRUD = {
+const CRUD: ICRUD = {
   create(data: any) {
     return saveDict(data)
   },
@@ -28,7 +28,7 @@ const CRUD = {
   }
 }
 
-const itemCRUD = {
+const itemCRUD: ICRUD = {
   create(data: any) {
     data.dictTypeId = curRow.value.id
     return saveDictValue(data)

+ 9 - 6
src/views/system/Role.vue

@@ -1,12 +1,12 @@
 <script setup lang="ts">
-import type { BasicForm } from '@/types/form'
+import type { BasicForm, ICRUD } from '@/types/form'
 
-const CRUD = {
-  create() {
-    return Promise.resolve()
+const CRUD: ICRUD = {
+  create(data: any) {
+    return Promise.resolve(data)
   },
-  update() {
-    return Promise.resolve()
+  update(data: any) {
+    return Promise.resolve(data)
   },
   getList() {
     return new Promise(resolve => {
@@ -20,6 +20,9 @@ const CRUD = {
         total: 1
       })
     })
+  },
+  delete(data: any) {
+    return Promise.resolve(data)
   }
 }
 

+ 9 - 6
src/views/system/User.vue

@@ -1,12 +1,12 @@
 <script setup lang="ts">
-import type { BasicForm } from '@/types/form'
+import type { BasicForm, ICRUD } from '@/types/form'
 
-const CRUD = {
-  create() {
-    return Promise.resolve()
+const CRUD: ICRUD = {
+  create(data: any) {
+    return Promise.resolve(data)
   },
-  update() {
-    return Promise.resolve()
+  update(data: any) {
+    return Promise.resolve(data)
   },
   getList() {
     return new Promise(resolve => {
@@ -23,6 +23,9 @@ const CRUD = {
         total: 1
       })
     })
+  },
+  delete(data: any) {
+    return Promise.resolve(data)
   }
 }
 

+ 3 - 2
vite.config.ts

@@ -1,7 +1,7 @@
 import { fileURLToPath, URL } from 'node:url'
 import path from 'path'
 
-import { defineConfig, loadEnv } from 'vite'
+import { defineConfig, loadEnv, splitVendorChunkPlugin } from 'vite'
 import vue from '@vitejs/plugin-vue'
 import vueJsx from '@vitejs/plugin-vue-jsx'
 import AutoImport from 'unplugin-auto-import/vite'
@@ -30,7 +30,8 @@ export default defineConfig(({ mode }) => {
       createSvgIconsPlugin({
         iconDirs: [path.resolve(process.cwd(), 'src/assets/svg')],
         symbolId: 'icon-[dir]-[name]'
-      })
+      }),
+      splitVendorChunkPlugin()
     ],
     resolve: {
       alias: {