提交 e9d2ce1d authored 作者: leon's avatar leon

医院管理详情

上级 598210e4
......@@ -7,7 +7,7 @@
:label="p.title"
:span="['avatar'].includes(p.name) ? 3 : 1"
>
<span v-if="p.key === 'avatar'">
<span v-if="p.key === 'licensePic'">
<img :src="p.value" style="width: 120px; height: 120px" />
</span>
<template v-else>
......
......@@ -43,6 +43,12 @@
onClick: handleEdit.bind(null, record),
ifShow: hasPermission('AUTH_SYSTEM_HOSPITAL:EDIT'),
},
{
tooltip: '详情',
icon: 'ant-design:eye-outlined',
onClick: handleView.bind(null, record),
// ifShow: hasPermission('AUTH_SYSTEM_HOSPITAL:DETAIL'),
},
{
tooltip: '删除',
icon: 'ant-design:delete-outlined',
......@@ -62,28 +68,28 @@
</div>
</template>
<script lang="ts" setup name="DeviceIndex">
import { ref } from 'vue'
import { useGo } from '/@/hooks/web/usePage'
import { usePermission } from '/@/hooks/web/usePermission'
import { BasicTable, useTable, TableAction } from '/@/components/Table'
import { isObject } from '/@/utils/is'
import moment from 'moment'
import * as HospitalApi from '/@/api/system/hospitalApi'
import { useDrawer } from '/@/components/Drawer'
import componentSetting from '/@/settings/componentSetting'
import HospitalDrawer from './drawer.vue'
import { columns, searchFormSchema } from './schema'
import { ref } from 'vue';
import { useGo } from '/@/hooks/web/usePage';
import { usePermission } from '/@/hooks/web/usePermission';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { isObject } from '/@/utils/is';
import moment from 'moment';
import * as HospitalApi from '/@/api/system/hospitalApi';
import { useDrawer } from '/@/components/Drawer';
import componentSetting from '/@/settings/componentSetting';
import HospitalDrawer from './drawer.vue';
import { columns, searchFormSchema } from './schema';
const { hasPermission } = usePermission()
const go = useGo()
const { formConfig, showTableSetting, bordered, showIndexColumn } = componentSetting.table
const { hasPermission } = usePermission();
const go = useGo();
const { formConfig, showTableSetting, bordered, showIndexColumn } = componentSetting.table;
const checkedKeys = ref<Array<string | number>>([])
const checkedKeys = ref<Array<string | number>>([]);
const onSelectChange = (selectedRowKeys: (string | number)[]) => {
checkedKeys.value = selectedRowKeys
}
checkedKeys.value = selectedRowKeys;
};
const [registerDrawer, { openDrawer }] = useDrawer()
const [registerDrawer, { openDrawer }] = useDrawer();
const [registerTable, { reload }] = useTable({
title: '医院管理',
api: (params) => HospitalApi.search(handleParams(params)),
......@@ -105,71 +111,71 @@
canResize: false,
rowKey: (record: any) => record.id,
actionColumn: {
width: 80,
width: 120,
title: '操作',
dataIndex: 'action',
fixed: 'right',
},
})
});
const handleParams = (params) => {
const { pageNum, pageSize } = params
const handledParams: any = { pageNum, pageSize }
const { pageNum, pageSize } = params;
const handledParams: any = { pageNum, pageSize };
Object.keys(params).forEach((key) => {
const schema = searchFormSchema.find((item) => item.field === key)
const value = params[key]
const schema = searchFormSchema.find((item) => item.field === key);
const value = params[key];
if (schema && value !== undefined && value !== '') {
if (schema.component === 'Input') {
handledParams[key] = `%${value.trim()}%`
handledParams[key] = `%${value.trim()}%`;
} else if (['Select', 'ApiSelect'].includes(schema.component)) {
handledParams[key] = isObject(value) ? value.value : value
handledParams[key] = isObject(value) ? value.value : value;
} else if (schema.component === 'RangePicker') {
handledParams[`${key}From`] = moment(value[0]).startOf('d').format('YYYY-MM-DD HH:mm:ss')
handledParams[`${key}To`] = moment(value[1]).endOf('d').format('YYYY-MM-DD HH:mm:ss')
handledParams[`${key}From`] = moment(value[0]).startOf('d').format('YYYY-MM-DD HH:mm:ss');
handledParams[`${key}To`] = moment(value[1]).endOf('d').format('YYYY-MM-DD HH:mm:ss');
} else if (schema.component === 'DatePicker') {
handledParams[key] = moment(value).format((schema.componentProps as any).format || 'YYYY-MM-DD')
handledParams[key] = moment(value).format((schema.componentProps as any).format || 'YYYY-MM-DD');
} else {
handledParams[key] = value
handledParams[key] = value;
}
}
})
return handledParams
}
});
return handledParams;
};
//todo 批量导入医院
const handleImport = () => {}
const handleImport = () => {};
const handleCreate = () => {
openDrawer(true, {
isUpdate: false,
})
}
});
};
const handleEdit = (record: Recordable) => {
openDrawer(true, {
record,
isUpdate: true,
})
}
});
};
const handleDelete = (record: Recordable) => {
HospitalApi.remove(record.id).then((_) => {
reload()
})
}
reload();
});
};
const handleBatchDelete = () => {
HospitalApi.batchRemove(checkedKeys.value).then((_) => {
reload()
})
}
reload();
});
};
const handleSuccess = () => {
reload()
}
reload();
};
const handleView = (record) => {
go('/system/hospital/' + record.id)
}
go('/main/system/hospital/' + record.id);
};
</script>
......@@ -30,16 +30,16 @@ export const schema = {
properties: [
{
field: 'id',
label: 'ID系统自动生成',
label: 'ID',
defaultValue: undefined,
form: {
componentProps: {
allowClear: false,
placeholder: 'ID系统自动生成',
placeholder: 'ID',
},
colProps,
component: 'InputNumber',
rules: [{ required: true, message: '请输入ID系统自动生成!' }],
rules: [{ required: true, message: '请输入ID!' }],
},
table: {},
},
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论