Browse Source

区域管理

master
lizhi 3 years ago
parent
commit
19addc62e0
  1. 1
      src/api/common/data/entity/index.ts
  2. 62
      src/api/platform/system/controller/address.ts
  3. 28
      src/api/platform/system/entity/addressModel.ts
  4. 2
      src/utils/dateUtil.ts
  5. 11
      src/views/institution/hospital/HospitalModal.vue

1
src/api/common/data/entity/index.ts

@ -27,6 +27,7 @@ export interface CommonEntity {
/** 树结构模型 */ /** 树结构模型 */
export interface TreeEntity<T = any> { export interface TreeEntity<T = any> {
id:string;
parentId: string; parentId: string;
name: string; name: string;
sort: number; sort: number;

62
src/api/platform/system/controller/address.ts

@ -1,46 +1,44 @@
import {AddressParams,AddressItem,AddressItemListResult} from '/@/api/platform/system/entity/addressModel'; /**
* api模板规范代码参考,
* Copyright © 2020-2022 <a href="http://www.entfrm.com/">entfrm</a> All rights reserved.
* author entfrm开发团队-
*/
import {AddressParams,AddressItem} from '/@/api/platform/system/entity/addressModel';
import { defHttp } from '/@/utils/http/axios'; import { defHttp } from '/@/utils/http/axios';
import {isDef} from '/@/utils/is';
import {listToTree} from '/@/utils/helper/treeHelper';
const prefix = '/system_proxy/system';
enum Api { enum Api {
QueryById = '/address/query', get = '/system_proxy/system/address',
List = '/address/list', QueryById = '/system_proxy/system/address/query',
QueryByParentIds = '/address/queryByParentIds', list = '/system_proxy/system/address/list',
Add = '/address/add', QueryByParentIds = '/system_proxy/system/address/queryByParentIds',
Update = '/address/update', add = '/system_proxy/system/address/add',
Remove = '/address/remove' edit = '/system_proxy/system/address/update',
del = '/system_proxy/system/address/remove'
} }
export const queryById = (params: { id: String }) => export const queryById = (params: { id: String }) =>
defHttp.get<AddressItem>({url: prefix + Api.QueryById + `/${params.id}`}); defHttp.get<AddressItem>({url: Api.QueryById + `/${params.id}`});
export const treeList = (params: AddressParams) => { export const treeList = (params: AddressParams) => defHttp.get({url: Api.list, params});
return defHttp.get({url: prefix + Api.List, params}).then(data =>{
return listToTree(data, {
id: 'code',
parentId: 'parentId'
});
});
};
export const list = (params: AddressParams) => export const listAddr = (params?: Partial<AddressParams>) =>
defHttp.get({url: prefix + Api.List, params}); defHttp.get({url: Api.list, params});
export const queryByParentIds = (params) => export const queryByParentIds = (params) =>
defHttp.get({url: prefix + Api.QueryByParentIds + `/${params}`}); defHttp.get({url: Api.QueryByParentIds + `/${params}`});
export const set = (params: AddressItem) => {
if (isDef(params.code)){
defHttp.put<AddressItem>({url: prefix + Api.Update, params});
}else {
defHttp.post<AddressItem>({url: prefix + Api.Add, params});
}
};
export const remove = (params: {ids: String}) => /**新增地址 */
defHttp.delete<boolean>({url: prefix + Api.Remove + `/${params.ids}`}); export const addAddr = (params: Partial<AddressItem>) =>
defHttp.post({url:Api.add, data: params});
/**修改地址 */
export const editAddr=(params: Partial<AddressItem>)=>
defHttp.put({url: Api.edit,data:params});
/**查询详细 */
export const getAddr = (id: string) =>defHttp.get<AddressItem>({url:`${Api.get}/${id}`});
/**删除 */
export const delAddr =(id: string)=>
defHttp.delete({url:`${Api.del}/${id}`});

28
src/api/platform/system/entity/addressModel.ts

@ -1,26 +1,26 @@
// 引入基础包 // 引入基础包
import type { R } from '/#/axios'; import type { R } from '/#/axios';
import type { TreeEntity,Page } from '/@/api/common/data/entity'; import type { CommonEntity,Page } from '/@/api/common/data/entity';
export type AddressParams = { export type AddressParams =AddressItem & Page;
parentId?: string;
code?: string;
level?:string;
name?: string;
beginTime?: string;
endTime?: string;
} & Page;
export interface AddressItem extends TreeEntity{ export interface AddressItem extends CommonEntity{
id: string;
parentId: string;
//level?:string;
sort: number;
name: string;
// beginTime?: string;
// endTime?: string;
code: string; code: string;
level: number; // level: number;
lastLevel: boolean; // lastLevel: boolean;
[key: string]: any
} }
export type AddressItemListResult = R<AddressItem>; export type AddressItemListResult = R<AddressItem[]>;

2
src/utils/dateUtil.ts

@ -22,7 +22,7 @@ export function formatToDate(date: moment.MomentInput = undefined, format = DATE
} }
/** 添加日期范围 */ /** 添加日期范围 */
export function convertDateRange(params: Recordable, dateRange: string[]): Recordable { export function convertDateRange(params: Recordable, dateRange: string): Recordable {
const search = params; const search = params;
search.beginTime = ''; search.beginTime = '';
search.endTime = ''; search.endTime = '';

11
src/views/institution/hospital/HospitalModal.vue

@ -1,5 +1,8 @@
<template> <template>
<BasicModal v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit"> <BasicModal v-bind="$attrs"
:title="getTitle"
@register="registerModal"
@ok="handleSubmit">
<BasicForm @register="registerForm"/> <BasicForm @register="registerForm"/>
</BasicModal> </BasicModal>
</template> </template>
@ -10,7 +13,7 @@ import {BasicModal, useModalInner} from '/@/components/Modal';
import {hospitalFormSchema} from './hospital.data'; import {hospitalFormSchema} from './hospital.data';
import {BasicForm, useForm} from '/@/components/Form'; import {BasicForm, useForm} from '/@/components/Form';
import {set} from '/@/api/platform/system/controller/hospital'; import {set} from '/@/api/platform/system/controller/hospital';
import {HospitalItem} from "/@/api/platform/system/entity/hospitalModel"; import {HospitalItem} from '/@/api/platform/system/entity/hospitalModel';
const isUpdate = ref(true); const isUpdate = ref(true);
// emit // emit
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
@ -33,9 +36,9 @@ const [registerModal, {setModalProps, closeModal}] = useModalInner( (data) => {
setModalProps({confirmLoading: false}); setModalProps({confirmLoading: false});
isUpdate.value = !!data?.isUpdate; isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) { if (unref(isUpdate)) {
if(typeof data.record.addressIds == "string"){ if(typeof data.record.addressIds == 'string'){
let addressIdsStr: string = data.record.addressIds; let addressIdsStr: string = data.record.addressIds;
const addressIds:String[] = addressIdsStr.split(","); const addressIds:String[] = addressIdsStr.split(',');
data.record.addressIds = addressIds; data.record.addressIds = addressIds;
} }
setFieldsValue({ setFieldsValue({

Loading…
Cancel
Save