diff --git a/src/api/platform/system/controller/doctor.ts b/src/api/platform/system/controller/doctor.ts index d5656f2..3ce25bf 100644 --- a/src/api/platform/system/controller/doctor.ts +++ b/src/api/platform/system/controller/doctor.ts @@ -17,17 +17,17 @@ enum Api { export const queryById = (params: { id: String }) => defHttp.get({url: Api.QueryById + `/${params.id}`}); -/** 查询客户端列表 */ +/** 查询医生列表 */ export const listDoctor = (params?: Partial) => defHttp.get({ url: Api.list, params }, { isReturnResultResponse: true }); -/** 新增客户端 */ +/** 新增医生*/ export const addDoctor = (params: Partial) => defHttp.post({ url: Api.add, data: params }); -/** 修改客户端 */ +/** 修改医生 */ export const editDoctor = (params: Partial) => defHttp.put({ url: Api.edit, data: params }); -/** 查询客户端详细 */ +/** 查询医生详细 */ export const getDoctor = (id: string) => defHttp.get({ url: `${Api.get}/${id}` }); -/** 删除客户端 */ +/** 删除医生 */ export const delDoctor = (id: string) => defHttp.delete({ url: `${Api.del}/${id}` }); \ No newline at end of file diff --git a/src/api/platform/system/controller/hospital.ts b/src/api/platform/system/controller/hospital.ts index 5898cc8..5990ffd 100644 --- a/src/api/platform/system/controller/hospital.ts +++ b/src/api/platform/system/controller/hospital.ts @@ -2,29 +2,45 @@ import {HospitalParams,HospitalItem,HospitalItemListResult} from '/@/api/platfor import { defHttp } from '/@/utils/http/axios'; import {isDef} from '/@/utils/is'; -const prefix = '/system_proxy/system'; + enum Api { - QueryById = '/hospital/query', - List = '/hospital/list', - Add = '/hospital/add', - Update = '/hospital/update', - Remove = '/hospital/remove' + QueryById = '/system_proxy/system/hospital/query', + list = '/system_proxy/system/hospital/list', + add = '/system_proxy/system/hospital/add', + edit = '/system_proxy/system/hospital/update', + del = '/system_proxy/system/hospital/remove', + get = '/system_proxy/system/hospital' } -export const queryById = (params: { id: String }) => - defHttp.get({url: prefix + Api.QueryById, params}); +// export const queryById = (params: { id: String }) => +// defHttp.get({url: Api.QueryById, params}); +// +// export const list = (params: HospitalParams) => +// defHttp.get({url: Api.list, params}); +// +// export const set = (params: HospitalItem) => { +// if (isDef(params.id)){ +// defHttp.put({url: Api.edit, params}); +// }else { +// defHttp.post({url: Api.add, params}); +// } +// }; +// export const remove = (params: {ids: String}) => +// defHttp.delete({url: Api.Remove + `/${params.ids}`}); +// export const remove = (id: string) => defHttp.delete({ url: `${Api.del}/${id}` }); +export const queryById = (params: { id: String }) => + defHttp.get({url: Api.QueryById, params}); +/** 查询医院列表*/ export const list = (params: HospitalParams) => - defHttp.get({url: prefix + Api.List, params}); - -export const set = (params: HospitalItem) => { - if (isDef(params.id)){ - defHttp.put({url: prefix + Api.Update, params}); - }else { - defHttp.post({url: prefix + Api.Add, params}); - } -}; - -export const remove = (params: {ids: String}) => - defHttp.delete({url: prefix + Api.Remove + `/${params.ids}`}); \ No newline at end of file + defHttp.get({url: Api.list, params}); +// export const list = (params?:Partial) =>defHttp.get({url: Api.list, params},{isReturnResultResponse: true}); +/** 新增医院*/ +export const addHospital = (params: Partial)=> defHttp.post({url: Api.add ,data: params}); +/** 修改医院*/ +export const editHospital = (params: Partial) => defHttp.put({url: Api.edit, data: params}); +/** 查询医院详细*/ +export const getHospital = (id: string) => defHttp.get({url: `${Api.get}/${id}` }); +/** 删除项目 */ +export const delHospital = (id: string) => defHttp.delete({ url: `${Api.del}/${id}` }); \ No newline at end of file diff --git a/src/api/platform/system/controller/institution.ts b/src/api/platform/system/controller/institution.ts index ddf2d50..e15b384 100644 --- a/src/api/platform/system/controller/institution.ts +++ b/src/api/platform/system/controller/institution.ts @@ -3,29 +3,50 @@ import {InstitutionParams,InstitutionItem,InstitutionItemListResult} from '/@/ap import { defHttp } from '/@/utils/http/axios'; import {isDef} from '/@/utils/is'; -const prefix = '/system_proxy/system'; + + enum Api { - QueryById = '/institution/query', - List = '/institution/list', - Add = '/institution/add', - Update = '/institution/update', - Remove = '/institution/remove' + QueryById = '/system_proxy/system/institution/query', + list = '/system_proxy/system/institution/list', + add = '/system_proxy/system/institution/add', + edit = '/system_proxy/system/institution/update', + del = '/system_proxy/system/institution/remove', + get = '/system_proxy/system/institution' } +// export const queryById = (params: { id: String }) => +// defHttp.get({url: prefix + Api.QueryById, params}); +// +// export const list = (params: InstitutionParams) => +// defHttp.get({url: prefix + Api.List, params}); +// +// export const set = (params: InstitutionItem) => { +// if (isDef(params.id)){ +// defHttp.put({url: prefix + Api.Update, params}); +// }else { +// defHttp.post({url: prefix + Api.Add, params}); +// } +// }; +// +// export const remove = (params: {ids: String}) => +// defHttp.delete({url: prefix + Api.Remove + `/${params.ids}`}); + export const queryById = (params: { id: String }) => - defHttp.get({url: prefix + Api.QueryById, params}); + defHttp.get({url: Api.QueryById + `/${params.id}`}); +/** 查询机构列表 */ +// export const list = (params?: Partial) => defHttp.get({ url: Api.list, params }, { isReturnResultResponse: true }); export const list = (params: InstitutionParams) => - defHttp.get({url: prefix + Api.List, params}); - -export const set = (params: InstitutionItem) => { - if (isDef(params.id)){ - defHttp.put({url: prefix + Api.Update, params}); - }else { - defHttp.post({url: prefix + Api.Add, params}); - } -}; - -export const remove = (params: {ids: String}) => - defHttp.delete({url: prefix + Api.Remove + `/${params.ids}`}); \ No newline at end of file + defHttp.get({url: Api.list, params}); +/** 新增机构*/ +export const addInstitution = (params: Partial) => defHttp.post({ url: Api.add, data: params }); + +/** 修改机构 */ +export const editInstitution = (params: Partial) => defHttp.put({ url: Api.edit, data: params }); + +/** 查询机构详细 */ +export const getInstitution = (id: string) => defHttp.get({ url: `${Api.get}/${id}` }); + +/** 删除机构 */ +export const delInstitution= (id: string) => defHttp.delete({ url: `${Api.del}/${id}` }); \ No newline at end of file diff --git a/src/api/platform/system/controller/office.ts b/src/api/platform/system/controller/office.ts index 997c3f2..1f83613 100644 --- a/src/api/platform/system/controller/office.ts +++ b/src/api/platform/system/controller/office.ts @@ -1,30 +1,50 @@ import {OfficeParams,OfficeItem,OfficeItemListResult} from '/@/api/platform/system/entity/officeModel'; import { defHttp } from '/@/utils/http/axios'; import {isDef} from '/@/utils/is'; +import {HospitalItemListResult, HospitalParams} from "/@/api/platform/system/entity/hospitalModel"; + -const prefix = '/system_proxy/system'; enum Api { - QueryById = '/office/getById', - List = '/office/list', - Add = '/office/add', - Update = '/office/update', - Remove = '/office/remove' + QueryById = '/system_proxy/system/office/getById', + list = '/system_proxy/system/office/list', + add = '/system_proxy/system/office/add', + edit = '/system_proxy/system/office/update', + del = '/system_proxy/system/office/remove', + get = '/system_proxy/system/office' } - +// +// export const queryById = (params: { id: String }) => +// defHttp.get({url:Api.QueryById, params}); +// +// export const list = (params: OfficeParams) => +// defHttp.get({url: Api.List, params}); +// +// export const set = (params: OfficeItem) => { +// if (isDef(params.id)){ +// defHttp.put({url:Api.Update, params}); +// }else { +// defHttp.post({url: Api.Add, params}); +// } +// }; +// +// export const remove = (params: {ids: String}) => +// defHttp.delete({url:Api.Remove + `/${params.ids}`}); export const queryById = (params: { id: String }) => - defHttp.get({url: prefix + Api.QueryById, params}); + defHttp.get({url: Api.QueryById + `/${params.id}`}); + +/** 查询科室列表 */ +// export const listOffice = (params?: Partial) => defHttp.get({ url: Api.list, params }, { isReturnResultResponse: true }); +export const listOffice = (params: OfficeItem) => + defHttp.get({url: Api.list, params}); +/** 新增科室*/ +export const addOffice = (params: Partial) => defHttp.post({ url: Api.add, data: params }); -export const list = (params: OfficeParams) => - defHttp.get({url: prefix + Api.List, params}); +/** 修改科室 */ +export const editOffice = (params: Partial) => defHttp.put({ url: Api.edit, data: params }); -export const set = (params: OfficeItem) => { - if (isDef(params.id)){ - defHttp.put({url: prefix + Api.Update, params}); - }else { - defHttp.post({url: prefix + Api.Add, params}); - } -}; +/** 查询科室详细 */ +export const getOffice = (id: string) => defHttp.get({ url: `${Api.get}/${id}` }); -export const remove = (params: {ids: String}) => - defHttp.delete({url: prefix + Api.Remove + `/${params.ids}`}); \ No newline at end of file +/** 删除科室 */ +export const delOffice = (id: string) => defHttp.delete({ url: `${Api.del}/${id}` }); \ No newline at end of file diff --git a/src/views/institution/address/AddressModal.vue b/src/views/institution/address/AddressModal.vue index ae0d354..b6d3cf0 100644 --- a/src/views/institution/address/AddressModal.vue +++ b/src/views/institution/address/AddressModal.vue @@ -20,6 +20,7 @@ import { BasicModal, ModalProps, useModalInner } from '/@/components/Modal'; import { listAddr, addAddr, editAddr, getAddr} from '/@/api/platform/system/controller/address'; import { listToTree } from '/@/utils/helper/treeHelper'; + import {isEmpty} from '/@/utils/is'; /** 通用变量统一声明区域 */ const tag = ref>(''); @@ -45,6 +46,13 @@ treeData: [topAddr] } }); + await updateSchema({ + field: 'id', + componentProps: { + disabled: tag.value == 'edit' + }, + }); + const addrId = data.record?.id; const props: Partial = { confirmLoading: false }; // 采用tag标签区分操作 diff --git a/src/views/institution/address/address.data.ts b/src/views/institution/address/address.data.ts index 670520b..4496068 100644 --- a/src/views/institution/address/address.data.ts +++ b/src/views/institution/address/address.data.ts @@ -7,7 +7,7 @@ import {Tag} from 'ant-design-vue'; export const columns: BasicColumn[] = [ { - title: '区域ID', + title: '区域编码', dataIndex: 'code', width: 50, }, @@ -41,10 +41,10 @@ export const searchFormSchema: FormSchema[] = [ }, { field:'code', - label:'区域ID', + label:'区域编码', component:'Input', componentProps:{ - placeholder:'请输入区域ID', + placeholder:'请输入区域编码', }, colProps:{span:5} }, @@ -100,12 +100,19 @@ export const addressFormSchema: FormSchema[] = [ } }, { - field: 'code', + field: 'id', label: '区域ID', component: 'Input', helpMessage: ['区域ID'], required: true }, + { + field: 'code', + label: '区域代码', + component: 'Input', + required: true, + + }, { field:'sort', label:'排序', diff --git a/src/views/institution/doctor/doctor.data.ts b/src/views/institution/doctor/doctor.data.ts index ea751f6..86d0b94 100644 --- a/src/views/institution/doctor/doctor.data.ts +++ b/src/views/institution/doctor/doctor.data.ts @@ -3,9 +3,9 @@ import { FormSchema } from '/@/components/Table'; import {h, watch, watchEffect, watchSyncEffect} from 'vue'; import {Tag} from 'ant-design-vue'; import { list as hospitalList } from '/@/api/platform/system/controller/hospital'; -import {list as institutionList, list as institutalList} from '/@/api/platform/system/controller/institution'; -import { list as officeList } from '/@/api/platform/system/controller/office'; -import {deepMerge} from "/@/utils"; +import {list as institutionList} from '/@/api/platform/system/controller/institution'; +import { listOffice as officeList } from '/@/api/platform/system/controller/office'; +import {deepMerge} from '/@/utils'; export const columns: BasicColumn[] = [ @@ -118,17 +118,16 @@ export const searchFormSchema: FormSchema[] = [ colProps: { span: 5 }, }, { - field: 'beginTime', - label: '起始时间', - component: 'DatePicker', - colProps: { span: 5 }, - }, - { - field: 'endTime', - label: '截止时间', - component: 'DatePicker', - colProps: { span: 5 }, - }, + field: 'dateRange', + label: '创建时间', + component: 'RangePicker', + componentProps: { + style: { width:'100%' }, + valueFormat: 'YYYY-MM-DD', + placeholder: ['开始日期','结束日期'] + }, + colProps: { span: 8 } + } ]; export const doctorFormSchema: FormSchema[] = [ @@ -148,7 +147,7 @@ export const doctorFormSchema: FormSchema[] = [ field: 'title', label: '医生职称', component: 'Input', - required: false, + required: true, }, { field: 'sex', @@ -167,7 +166,14 @@ export const doctorFormSchema: FormSchema[] = [ field: 'phone', label: '医生电话', component: 'Input', - required: false, + rules: [ + { + pattern: new RegExp('^1[3|4|5|6|7|8|9][0-9]\\d{8}$'), + message: '请输入正确的手机号', + validateTrigger: 'change', + required: true + } + ], }, { field: 'email', @@ -201,18 +207,18 @@ export const doctorFormSchema: FormSchema[] = [ renderComponentContent: ({ schema, values, model, field }) => { const organType = model.organType; watch(organType, - () => { - const dataApi = organType=='1' ? hospitalList : institutionList; - console.log(schema); - schema.componentProps = deepMerge({ - api: dataApi, - labelField: 'name', - valueField: 'id' - }); - }, - { - immediate: true, - } + () => { + const dataApi = organType=='1' ? hospitalList : institutionList; + console.log(schema); + schema.componentProps = deepMerge({ + api: dataApi, + labelField: 'name', + valueField: 'id' + }); + }, + { + immediate: true, + } ); } }, @@ -220,7 +226,13 @@ export const doctorFormSchema: FormSchema[] = [ // field: 'officeId', // label: '所属科室', // component: 'ApiSelect', - // required: true, + // componentProps: { + // mode: 'multiple', + // resultField: 'list', + // labelField: 'name', + // valueField: 'id', + // api: officeList, + // }, // }, { field: 'status', @@ -239,4 +251,4 @@ export const doctorFormSchema: FormSchema[] = [ field: 'remarks', component: 'InputTextArea', } -]; +]; \ No newline at end of file diff --git a/src/views/institution/hospital/HospitalModal.vue b/src/views/institution/hospital/HospitalModal.vue index 59445b4..b24a919 100644 --- a/src/views/institution/hospital/HospitalModal.vue +++ b/src/views/institution/hospital/HospitalModal.vue @@ -1,65 +1,79 @@ - \ No newline at end of file + diff --git a/src/views/institution/hospital/hospital.data.ts b/src/views/institution/hospital/hospital.data.ts index 909ce75..c1abb1c 100644 --- a/src/views/institution/hospital/hospital.data.ts +++ b/src/views/institution/hospital/hospital.data.ts @@ -111,17 +111,41 @@ export const searchFormSchema: FormSchema[] = [ colProps: { span: 5 }, }, { - field: 'beginTime', - label: '起始时间', - component: 'DatePicker', - colProps: { span: 5 }, + field: 'type', + label: '医院类型', + component: 'Select', + + componentProps: { + options: [ + {label: '合作医院',value: '1'}, + {label: '其他医院',value: '0'}, + ] + }, + colProps: {span: 7} }, { - field: 'endTime', - label: '截止时间', - component: 'DatePicker', - colProps: { span: 5 }, - }, + field: 'dateRange', + label: '创建时间', + component: 'RangePicker', + componentProps: { + style: { width:'100%' }, + valueFormat: 'YYYY-MM-DD', + placeholder: ['开始日期','结束日期'] + }, + colProps: { span: 8 } + } + // { + // field: 'beginTime', + // label: '起始时间', + // component: 'DatePicker', + // colProps: { span: 5 }, + // }, + // { + // field: 'endTime', + // label: '截止时间', + // component: 'DatePicker', + // colProps: { span: 5 }, + // }, ]; export const hospitalFormSchema: FormSchema[] = [ @@ -160,7 +184,14 @@ export const hospitalFormSchema: FormSchema[] = [ field: 'contactsTel', label: '联系人电话', component: 'Input', - required: true + rules: [ + { + pattern: new RegExp('^1[3|4|5|6|7|8|9][0-9]\\d{8}$'), + message: '请输入正确的手机号', + validateTrigger: 'change', + required: true + } + ], }, { field: 'contactsTitle', @@ -219,8 +250,10 @@ export const hospitalFormSchema: FormSchema[] = [ labelField: 'name', valueField: 'id', api: institutionList, - } + }, + required:true }, + { label: '备注', field: 'remarks', diff --git a/src/views/institution/hospital/index.vue b/src/views/institution/hospital/index.vue index ab2cd6f..665010c 100644 --- a/src/views/institution/hospital/index.vue +++ b/src/views/institution/hospital/index.vue @@ -1,94 +1,136 @@ \ No newline at end of file + diff --git a/src/views/institution/institution/InstitutionModal.vue b/src/views/institution/institution/InstitutionModal.vue index b26fa17..1ae7617 100644 --- a/src/views/institution/institution/InstitutionModal.vue +++ b/src/views/institution/institution/InstitutionModal.vue @@ -1,57 +1,79 @@ - \ No newline at end of file + diff --git a/src/views/institution/institution/index.vue b/src/views/institution/institution/index.vue index a6aec8e..b0d724a 100644 --- a/src/views/institution/institution/index.vue +++ b/src/views/institution/institution/index.vue @@ -1,94 +1,136 @@ \ No newline at end of file + diff --git a/src/views/institution/institution/institution.data.ts b/src/views/institution/institution/institution.data.ts index 9fc2b93..ae67bcf 100644 --- a/src/views/institution/institution/institution.data.ts +++ b/src/views/institution/institution/institution.data.ts @@ -100,6 +100,20 @@ export const searchFormSchema: FormSchema[] = [ }, colProps: { span: 5 }, }, + { + field: 'type', + label: '机构类型', + component: 'Select', + + componentProps: { + options: [ + {label: '医检机构',value: '1'}, + {label: '三甲机构',value: '2'}, + {label: '其他机构',value: '0'}, + ] + }, + colProps: {span: 5} + }, { field: 'dateRange', label: '创建时间', diff --git a/src/views/institution/office/OfficeModal.vue b/src/views/institution/office/OfficeModal.vue index da9c2e0..32c6d2c 100644 --- a/src/views/institution/office/OfficeModal.vue +++ b/src/views/institution/office/OfficeModal.vue @@ -1,58 +1,79 @@ - \ No newline at end of file + diff --git a/src/views/institution/office/index.vue b/src/views/institution/office/index.vue index 6e1b56c..ea69dcd 100644 --- a/src/views/institution/office/index.vue +++ b/src/views/institution/office/index.vue @@ -1,95 +1,136 @@ \ No newline at end of file + diff --git a/src/views/institution/office/office.data.ts b/src/views/institution/office/office.data.ts index e3d15f1..9eea258 100644 --- a/src/views/institution/office/office.data.ts +++ b/src/views/institution/office/office.data.ts @@ -4,7 +4,7 @@ import {h, watch} from 'vue'; import {Tag} from 'ant-design-vue'; import { list as hospitalList } from '/@/api/platform/system/controller/hospital'; import { list as institutionList } from '/@/api/platform/system/controller/institution'; -import {deepMerge} from "/@/utils"; +import {deepMerge} from '/@/utils'; export const columns: BasicColumn[] = [ @@ -98,17 +98,16 @@ export const searchFormSchema: FormSchema[] = [ colProps: { span: 5 }, }, { - field: 'beginTime', - label: '起始时间', - component: 'DatePicker', - colProps: { span: 5 }, - }, - { - field: 'endTime', - label: '截止时间', - component: 'DatePicker', - colProps: { span: 5 }, - }, + field: 'dateRange', + label: '创建时间', + component: 'RangePicker', + componentProps: { + style: { width:'100%' }, + valueFormat: 'YYYY-MM-DD', + placeholder: ['开始日期','结束日期'] + }, + colProps: { span: 8 } + } ]; export const officeFormSchema: FormSchema[] = [ @@ -160,17 +159,25 @@ export const officeFormSchema: FormSchema[] = [ }, }, { - field: 'directorName', - label: '主任名称', + field: 'directorTel', + label: '主任电话', component: 'Input', - required: false + rules: [ + { + pattern: new RegExp('^1[3|4|5|6|7|8|9][0-9]\\d{8}$'), + message: '请输入正确的手机号', + validateTrigger: 'change', + required: true + } + ], }, { - field: 'directorTel', - label: '主任电话', + field: 'directorName', + label: '主任名称', component: 'Input', required: false }, + { field: 'detailAddress', label: '科室地址',