diff --git a/src/api/dept.ts b/src/api/dept.ts new file mode 100644 index 0000000000000000000000000000000000000000..840e9390949a4a78aa50398790c7a4d92af85bb8 --- /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 5e5444f6905d34a874cb6a1216dff0dfdb4ce914..988e241ab046d5051f6460681b4a355ec78099de 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 29f9373eaf1054f502355d68d02c37616e858e0e..6795b5a51ce7674e7907e98f019bd3290a6e33e3 100644 --- a/src/components/QuickForm/index.vue +++ b/src/components/QuickForm/index.vue @@ -174,6 +174,19 @@ defineExpose({ handleSubmit }) +