Commit a044e2c3 by ‘巴博尔’

医院

parent 420a520a
{ {
"name": "陪诊", "name": "ruoyi-vue-plus",
"version": "4.8.0", "version": "4.8.0",
"description": "陪诊后台管理系统", "description": "陪诊后台管理系统",
"author": "LionLi", "author": "LionLi",
......
/*
* @Author: ‘巴博尔’ 2164119982@qq.com
* @Date: 2023-09-07 16:09:29
* @LastEditors: ‘巴博尔’ 2164119982@qq.com
* @LastEditTime: 2023-09-08 13:23:17
* @FilePath: \peizhen-vue\src\api\hispotalManage\doctor.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import request from '@/utils/request' import request from '@/utils/request'
// 查询医生列表 // 查询医生列表
...@@ -9,6 +17,15 @@ export function listDoctor(query) { ...@@ -9,6 +17,15 @@ export function listDoctor(query) {
}) })
} }
// 查询医院列表
export function listHospital(query) {
return request({
url: '/system/hospital/list',
method: 'get',
params: query
})
}
// 查询医生详细 // 查询医生详细
export function getDoctor(id) { export function getDoctor(id) {
return request({ return request({
......
...@@ -42,3 +42,30 @@ export function delHospital(id) { ...@@ -42,3 +42,30 @@ export function delHospital(id) {
method: 'delete' method: 'delete'
}) })
} }
// 医院等级列表
export function hospitalLevelListGET(query) {
return request({
url: '/system/common/hospitalLevelList',
method: 'get',
params: query
})
}
// 医院类别列表
export function hospitalTypeListGET(query) {
return request({
url: '/system/common/hospitalTypeList',
method: 'get',
params: query
})
}
// 城市列表
export function cityVoListGET(query) {
return request({
url: '/system/common/cityVoList',
method: 'get',
params: query
})
}
\ No newline at end of file
...@@ -120,8 +120,8 @@ ...@@ -120,8 +120,8 @@
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" /> <el-table-column label="ID" align="center" prop="id" />
<el-table-column label="姓名" align="center" prop="name" /> <el-table-column label="姓名" align="center" prop="name" />
<el-table-column label="所属医院" align="center" prop="hid" /> <el-table-column label="所属医院" align="center" prop="hname" />
<el-table-column label="所属科室" align="center" prop="did" /> <el-table-column label="所属科室" align="center" prop="dname" />
<el-table-column label="职级" align="center" prop="rank" /> <el-table-column label="职级" align="center" prop="rank" />
<el-table-column label="学位" align="center" prop="degree" /> <el-table-column label="学位" align="center" prop="degree" />
<el-table-column <el-table-column
...@@ -172,10 +172,10 @@ ...@@ -172,10 +172,10 @@
filterable filterable
> >
<el-option <el-option
v-for="item in []" v-for="item in hidList"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option> </el-option>
</el-select> </el-select>
...@@ -187,6 +187,7 @@ ...@@ -187,6 +187,7 @@
:show-count="true" :show-count="true"
placeholder="请选择所属科室" placeholder="请选择所属科室"
searchable searchable
clearable
/> />
</el-form-item> </el-form-item>
<el-form-item label="职级" prop="rank"> <el-form-item label="职级" prop="rank">
...@@ -213,6 +214,7 @@ import { ...@@ -213,6 +214,7 @@ import {
delDoctor, delDoctor,
addDoctor, addDoctor,
updateDoctor, updateDoctor,
listHospital,
} from "@/api/hispotalManage/doctor"; } from "@/api/hispotalManage/doctor";
import { listDepartment } from "@/api/hispotalManage/office"; import { listDepartment } from "@/api/hispotalManage/office";
import { deptTreeSelect } from "@/api/system/user"; import { deptTreeSelect } from "@/api/system/user";
...@@ -264,9 +266,17 @@ export default { ...@@ -264,9 +266,17 @@ export default {
}, },
created() { created() {
this.getList(); this.getList();
this.getDeptTree();
}, },
methods: { methods: {
getListT() {
this.loading = true;
listHospital({
pageNum: 1,
pageSize: 999999,
}).then((response) => {
this.hidList = response.rows;
});
},
/** 查询部门下拉树结构 */ /** 查询部门下拉树结构 */
getDeptTree() { getDeptTree() {
listDepartment().then((response) => { listDepartment().then((response) => {
...@@ -307,11 +317,11 @@ export default { ...@@ -307,11 +317,11 @@ export default {
did: undefined, did: undefined,
rank: undefined, rank: undefined,
degree: undefined, degree: undefined,
createBy: undefined, // createBy: undefined,
createTime: undefined, // createTime: undefined,
updateBy: undefined, // updateBy: undefined,
updateTime: undefined, // updateTime: undefined,
delFlag: undefined, // delFlag: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -336,14 +346,16 @@ export default { ...@@ -336,14 +346,16 @@ export default {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加医生"; this.title = "添加医生";
this.getListT();
this.getDeptTree(); this.getDeptTree();
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.getListT();
this.getDeptTree();
this.loading = true; this.loading = true;
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
this.getDeptTree();
getDoctor(id).then((response) => { getDoctor(id).then((response) => {
this.loading = false; this.loading = false;
this.form = response.data; this.form = response.data;
......
<!--
* @Author: ‘巴博尔’ 2164119982@qq.com
* @Date: 2023-09-07 16:09:29
* @LastEditors: ‘巴博尔’ 2164119982@qq.com
* @LastEditTime: 2023-09-08 11:51:43
* @FilePath: \peizhen-vue\src\views\hispotalManage\hospital\index.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form
...@@ -156,11 +164,24 @@ ...@@ -156,11 +164,24 @@
<el-table-column label="ID" align="center" prop="id" /> <el-table-column label="ID" align="center" prop="id" />
<el-table-column label="医院名称" align="center" prop="name" /> <el-table-column label="医院名称" align="center" prop="name" />
<el-table-column label="Logo" align="center" prop="logo" /> <el-table-column label="Logo" align="center" prop="logo" />
<el-table-column label="等级" align="center" prop="level" /> <el-table-column label="等级" align="center" prop="levelName" />
<el-table-column label="类别" align="center" prop="lng" /> <el-table-column label="类别" align="center" prop="categoryName" />
<el-table-column label="城市" align="center" prop="cityId" /> <el-table-column label="城市" align="center" prop="cityId" />
<el-table-column label="介绍" align="center" prop="cityId" /> <el-table-column label="介绍" align="center" prop="introduce">
<el-table-column label="科室" align="center" prop="departments" /> <template slot-scope="scope">
{{ scope.row.introduce ? "已设置" : "未设置" }}
</template>
</el-table-column>
<el-table-column label="科室" align="center" prop="departmentVoList">
<template slot-scope="scope">
<el-tag
v-for="(item, index) in scope.row.departmentVoList"
:key="index"
style="margin-right: 8px"
>{{ item.title }}</el-tag
>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status" /> <el-table-column label="状态" align="center" prop="status" />
<!-- <el-table-column label="经度" align="center" prop="lng" /> <!-- <el-table-column label="经度" align="center" prop="lng" />
<el-table-column label="纬度" align="center" prop="lat" /> <el-table-column label="纬度" align="center" prop="lat" />
...@@ -210,16 +231,12 @@ ...@@ -210,16 +231,12 @@
<imageUpload v-model="form.logo" /> <imageUpload v-model="form.logo" />
</el-form-item> </el-form-item>
<el-form-item label="等级" prop="level"> <el-form-item label="等级" prop="level">
<el-select <el-select v-model="form.level" placeholder="请选择等级" clearable="">
v-model="form.level"
placeholder="请选择等级"
clearable=""
>
<el-option <el-option
v-for="item in []" v-for="item in hospitalLevelList"
:key="item.value" :key="item.code"
:label="item.label" :label="item.name"
:value="item.value" :value="item.code"
> >
</el-option> </el-option>
</el-select> </el-select>
...@@ -232,10 +249,10 @@ ...@@ -232,10 +249,10 @@
filterable filterable
> >
<el-option <el-option
v-for="item in []" v-for="item in cityVoList"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option> </el-option>
</el-select> </el-select>
...@@ -253,10 +270,10 @@ ...@@ -253,10 +270,10 @@
clearable="" clearable=""
> >
<el-option <el-option
v-for="item in []" v-for="item in hospitalTypeList"
:key="item.value" :key="item.code"
:label="item.label" :label="item.name"
:value="item.value" :value="item.code"
> >
</el-option> </el-option>
</el-select> </el-select>
...@@ -271,11 +288,14 @@ ...@@ -271,11 +288,14 @@
:show-count="true" :show-count="true"
placeholder="请选择科室" placeholder="请选择科室"
searchable searchable
multiple
clearable
flat
/> />
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="departments"> <el-form-item label="状态" prop="status">
<el-radio v-model="form.departments" label="1">禁用</el-radio> <el-radio v-model="form.status" :label="0">禁用</el-radio>
<el-radio v-model="form.departments" label="2">启用</el-radio> <el-radio v-model="form.status" :label="1">启用</el-radio>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -295,6 +315,9 @@ import { ...@@ -295,6 +315,9 @@ import {
delHospital, delHospital,
addHospital, addHospital,
updateHospital, updateHospital,
hospitalLevelListGET,
hospitalTypeListGET,
cityVoListGET,
} from "@/api/hispotalManage/hospital"; } from "@/api/hispotalManage/hospital";
import { listDepartment } from "@/api/hispotalManage/office"; import { listDepartment } from "@/api/hispotalManage/office";
import { deptTreeSelect } from "@/api/system/user"; import { deptTreeSelect } from "@/api/system/user";
...@@ -306,6 +329,9 @@ export default { ...@@ -306,6 +329,9 @@ export default {
components: { Treeselect }, components: { Treeselect },
data() { data() {
return { return {
hospitalLevelList: [],
hospitalTypeList: [],
cityVoList: [],
// 部门树选项 // 部门树选项
deptOptions: undefined, deptOptions: undefined,
// 按钮loading // 按钮loading
...@@ -346,7 +372,9 @@ export default { ...@@ -346,7 +372,9 @@ export default {
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
rules: {}, rules: {
cityId: [{ required: true, message: "请选择城市", trigger: "change" }],
},
}; };
}, },
created() { created() {
...@@ -397,13 +425,14 @@ export default { ...@@ -397,13 +425,14 @@ export default {
lat: undefined, lat: undefined,
category: undefined, category: undefined,
introduce: undefined, introduce: undefined,
departments: undefined, departments: [],
status: undefined, status: undefined,
createBy: undefined, createBy: undefined,
createTime: undefined, createTime: undefined,
updateBy: undefined, updateBy: undefined,
updateTime: undefined, updateTime: undefined,
delFlag: undefined, delFlag: undefined,
status: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -428,21 +457,50 @@ export default { ...@@ -428,21 +457,50 @@ export default {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加医院"; this.title = "添加医院";
this.hospitalLevelListAxios();
this.hospitalTypeListAxios();
this.cityVoListAxios();
},
async hospitalLevelListAxios() {
const data_back = await hospitalLevelListGET();
const { code, data } = data_back;
if (code === 200) {
this.hospitalLevelList = data;
}
},
async hospitalTypeListAxios() {
const data_back = await hospitalTypeListGET();
const { code, data } = data_back;
if (code === 200) {
this.hospitalTypeList = data;
}
},
async cityVoListAxios() {
const data_back = await cityVoListGET();
const { code, data } = data_back;
if (code === 200) {
this.cityVoList = data;
}
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.hospitalLevelListAxios();
this.hospitalTypeListAxios();
this.cityVoListAxios();
this.loading = true; this.loading = true;
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
getHospital(id).then((response) => { getHospital(id).then((response) => {
this.loading = false; this.loading = false;
this.form = response.data; this.form = response.data;
this.$set(this.form, "departments", this.form.ids);
this.open = true; this.open = true;
this.title = "修改医院"; this.title = "修改医院";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
console.log(this.form, "===submitForm");
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
this.buttonLoading = true; this.buttonLoading = true;
......
...@@ -175,14 +175,21 @@ ...@@ -175,14 +175,21 @@
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="上级科室" prop="parentId"> <el-form-item label="上级科室" prop="parentId">
<el-input v-model="form.parentId" placeholder="请输入上级科室" /> <treeselect
v-model="form.parentId"
:options="departmentList"
:show-count="true"
placeholder="请输入上级科室"
searchable
clearable
/>
</el-form-item> </el-form-item>
<el-form-item label="名称" prop="title"> <el-form-item label="名称" prop="title">
<el-input v-model="form.title" placeholder="请输入名称" /> <el-input v-model="form.title" placeholder="请输入名称" />
</el-form-item> </el-form-item>
<el-form-item label="排序" prop="order"> <el-form-item label="排序" prop="sortord">
<el-input-number <el-input-number
v-model="form.order" v-model="form.sortord"
:min="0" :min="0"
:precision="0" :precision="0"
label="请输入排序" label="请输入排序"
...@@ -207,11 +214,15 @@ import { ...@@ -207,11 +214,15 @@ import {
addDepartment, addDepartment,
updateDepartment, updateDepartment,
} from "@/api/hispotalManage/office"; } from "@/api/hispotalManage/office";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default { export default {
name: "Department", name: "Department",
components: { Treeselect },
data() { data() {
return { return {
deptOptions: [],
// 是否展开,默认全部折叠 // 是否展开,默认全部折叠
isExpandAll: false, isExpandAll: false,
// 重新渲染表格状态 // 重新渲染表格状态
...@@ -273,7 +284,7 @@ export default { ...@@ -273,7 +284,7 @@ export default {
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
this.refreshTable = true; this.refreshTable = true;
this.deptOptions = this.treeChange(this.deptOptions); this.departmentList = this.treeChange(this.departmentList);
}); });
}, },
treeChange(arr) { treeChange(arr) {
...@@ -296,13 +307,14 @@ export default { ...@@ -296,13 +307,14 @@ export default {
this.form = { this.form = {
id: undefined, id: undefined,
parentId: undefined, parentId: undefined,
order: undefined, // order: undefined,
title: undefined, title: undefined,
createBy: undefined, // createBy: undefined,
createTime: undefined, // createTime: undefined,
updateBy: undefined, // updateBy: undefined,
updateTime: undefined, // updateTime: undefined,
delFlag: undefined, // delFlag: undefined,
sortord: undefined,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -327,9 +339,11 @@ export default { ...@@ -327,9 +339,11 @@ export default {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加科室"; this.title = "添加科室";
this.getList();
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(node, row) { handleUpdate(node, row) {
this.getList();
this.loading = true; this.loading = true;
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
......
...@@ -620,6 +620,7 @@ export default { ...@@ -620,6 +620,7 @@ export default {
// phonenumber: undefined, // phonenumber: undefined,
// status: undefined, // status: undefined,
// deptId: undefined // deptId: undefined
userType: 'sys_user'
}, },
// 列信息 // 列信息
columns: [ columns: [
......
...@@ -37,6 +37,7 @@ module.exports = { ...@@ -37,6 +37,7 @@ module.exports = {
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
// target: `http://localhost:8080`, // target: `http://localhost:8080`,
target: `http://192.168.0.169:8089`, target: `http://192.168.0.169:8089`,
// target: `http://192.168.0.124:8089`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment