From 9b44842740704b1e0fe6774b1a48565874a05dfa Mon Sep 17 00:00:00 2001 From: 91zhangliying <1663782157@qq.com> Date: Sat, 30 Jul 2022 21:25:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=9A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/dept.ts | 50 ++++++ src/components/QuickCrud/index.vue | 11 +- src/components/QuickForm/index.vue | 13 ++ src/layout/index.vue | 2 +- src/types/dept.ts | 6 + src/types/options.ts | 8 +- src/types/table.ts | 2 +- src/types/tree.ts | 5 + src/utils/index.ts | 44 ++++- src/utils/request.ts | 6 +- src/views/dept/index.vue | 277 +++++++++++++++++++++++++++++ src/views/dictionary/index.vue | 8 +- 12 files changed, 415 insertions(+), 17 deletions(-) create mode 100644 src/api/dept.ts create mode 100644 src/types/dept.ts create mode 100644 src/views/dept/index.vue diff --git a/src/api/dept.ts b/src/api/dept.ts new file mode 100644 index 0000000..840e939 --- /dev/null +++ b/src/api/dept.ts @@ -0,0 +1,50 @@ +import { Dept } from '../types/dept' +import request, { QuickResponseData } from '../utils/request' + +const Api = { + list_pid: '/api/dept/getListByPId', + list: '/api/dept/getList', + add: '/api/dept/add', + update: '/api/dept/update', + delete: '/api/dept/delete', +} +export const getDeptListByPId = ( + pId: number +): Promise>> => { + return request>>({ + url: Api.list_pid, + method: 'GET', + params: { + pId, + }, + }) +} +export const getDeptList = (): Promise>> => { + return request>>({ + url: Api.list, + method: 'GET', + }) +} +export const addDept = (data: Dept) => { + return request({ + url: Api.add, + method: 'POST', + data, + }) +} +export const updateDept = (data: Dept) => { + return request({ + url: Api.update, + method: 'POST', + data, + }) +} +export const deleteDept = (id: string) => { + return request({ + url: Api.delete, + method: 'POST', + data: { + id, + }, + }) +} diff --git a/src/components/QuickCrud/index.vue b/src/components/QuickCrud/index.vue index 5e5444f..988e241 100644 --- a/src/components/QuickCrud/index.vue +++ b/src/components/QuickCrud/index.vue @@ -214,6 +214,12 @@ const handleEdit = (row: any) => { Object.keys(formModel.value).forEach((key) => { formModel.value[key] = row[key] }) + emits('onEdit', formModel.value, (data: any) => { + Object.keys(formModel.value).forEach((key) => { + formModel.value[key] = data[key] + }) + dialogFormVisible.value = true + }) dialogFormVisible.value = true } const handleDelete = (row: any) => { @@ -247,10 +253,8 @@ const handleSubmit = (formRef: FormInstance | undefined) => { if (!formRef) return formRef.validate((valid) => { if (!valid) { - console.log('error submit!') return false } - console.log('submit!') emits('onFormSubmit', formModel.value, () => { dialogFormVisible.value = false load() @@ -271,12 +275,13 @@ const handleAdd = () => { } Object.keys(formModel.value).forEach((key) => { const index = formItems.value.findIndex( - (x) => x.vModel === key && x.type === 'select' + (x) => x.vModel === key && (x.type === 'select' || x.type === 'tree') ) if (index !== -1) { formModel.value[key] = selectTree.value.id } }) + dialogFormType.value = 'add' formTitle.add = dialogTitle.value ? dialogTitle.value.add : formTitle.add title.value = formTitle.add diff --git a/src/components/QuickForm/index.vue b/src/components/QuickForm/index.vue index 29f9373..6795b5a 100644 --- a/src/components/QuickForm/index.vue +++ b/src/components/QuickForm/index.vue @@ -174,6 +174,19 @@ defineExpose({ handleSubmit }) +