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
  6. 4
      src/views/system/project/index.vue

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

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

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

@ -1,46 +1,44 @@ @@ -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 {isDef} from '/@/utils/is';
import {listToTree} from '/@/utils/helper/treeHelper';
const prefix = '/system_proxy/system';
enum Api {
QueryById = '/address/query',
List = '/address/list',
QueryByParentIds = '/address/queryByParentIds',
Add = '/address/add',
Update = '/address/update',
Remove = '/address/remove'
get = '/system_proxy/system/address',
QueryById = '/system_proxy/system/address/query',
list = '/system_proxy/system/address/list',
QueryByParentIds = '/system_proxy/system/address/queryByParentIds',
add = '/system_proxy/system/address/add',
edit = '/system_proxy/system/address/update',
del = '/system_proxy/system/address/remove'
}
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) => {
return defHttp.get({url: prefix + Api.List, params}).then(data =>{
return listToTree(data, {
id: 'code',
parentId: 'parentId'
});
});
};
export const treeList = (params: AddressParams) => defHttp.get({url: Api.list, params});
export const list = (params: AddressParams) =>
defHttp.get({url: prefix + Api.List, params});
export const listAddr = (params?: Partial<AddressParams>) =>
defHttp.get({url: Api.list, 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 addAddr = (params: Partial<AddressItem>) =>
defHttp.post({url:Api.add, data: params});
export const remove = (params: {ids: String}) =>
defHttp.delete<boolean>({url: prefix + Api.Remove + `/${params.ids}`});
/**修改地址 */
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 @@ @@ -1,26 +1,26 @@
// 引入基础包
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 = {
parentId?: string;
code?: string;
level?:string;
name?: string;
beginTime?: string;
endTime?: string;
} & Page;
export type AddressParams =AddressItem & 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;
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 @@ -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;
search.beginTime = '';
search.endTime = '';

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

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

4
src/views/system/project/index.vue

@ -4,8 +4,8 @@ @@ -4,8 +4,8 @@
<BasicTable @register="registerTable">
<template #toolbar>
<a-button
type="primary"
@click="handleAdd()"
type="primary"
@click="handleAdd()"
>新增项目</a-button>
<a-button type="default"
@click="expandAll"

Loading…
Cancel
Save