NurseStationUI/src/views/system/person/index.vue

908 lines
26 KiB
Vue
Raw Normal View History

<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
2022-11-08 15:05:26 +08:00
<el-form-item
label="护理站"
prop="nurseStationId"
>
<el-select
v-model="queryParams.nurseStationId"
placeholder="请选择护理站"
@keyup.enter.native="handleQuery"
>
<el-option
2022-11-17 10:37:35 +08:00
v-for="item in handstationlist"
:key="item.id"
:label="item.nurseStationName"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
2022-11-08 15:05:26 +08:00
<el-form-item
label="所属科室"
prop="departmentName"
style="margin-left: 25px"
>
<el-input
v-model="queryParams.departmentName"
placeholder="请输入所属科室"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="姓名" prop="nursePersonName">
<el-input
v-model="queryParams.nursePersonName"
2022-11-08 16:37:41 +08:00
placeholder="请输入姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:person:add']"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:person:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:person:remove']"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
v-hasPermi="['system:person:export']"
>导入</el-button
>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="nurseStationPersonList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
2022-09-20 17:51:42 +08:00
<el-table-column
label="护理站名称"
align="center"
prop="nurseStationName"
2022-10-31 16:46:09 +08:00
:show-overflow-tooltip="true"
/>
<el-table-column label="科室名称" align="center" prop="departmentName" />
<el-table-column label="姓名" align="center" prop="nursePersonName" />
<el-table-column label="性别" align="center" prop="sex">
<template slot-scope="scope">
{{ scope.row.sex == "MALE" ? "男" : "" }}
{{ scope.row.sex == "FEMALE" ? "女" : "" }}
</template>
</el-table-column>
<el-table-column label="联系电话" align="center" prop="phone" />
2022-11-08 15:05:26 +08:00
<el-table-column
label="居住地址"
align="center"
prop="address"
:show-overflow-tooltip="true"
/>
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:person:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:person:remove']"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加护理站人员信息对话框 -->
<el-dialog
:title="title"
:visible.sync="open2"
width="1048px"
append-to-body
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="80px"
:inline="true"
>
<div
v-for="(item, index) in form.nurseStationPersonList"
:key="index"
style="margin-top: 10px"
>
<el-form-item
label="所属护理站"
label-width="120px"
:rules="rules.nurseStationPersonList.nurseStationId"
:prop="`nurseStationPersonList.${index}.nurseStationId`"
>
<el-button
type=""
@click="clickinnerVisible(item, index)"
2022-11-14 09:41:47 +08:00
v-if="item.nurseStationName == '请选择所属护理站'"
style="
width: 200px;
text-align: left;
height: 36px;
color: #c0c4cc;
2022-10-31 16:46:09 +08:00
overflow: hidden;
"
>{{ item.nurseStationName }}</el-button
>
<el-button
type=""
@click="clickinnerVisible(item, index)"
v-else
style="
width: 200px;
text-align: left;
height: 36px;
padding-left: -10px;
2022-10-31 16:46:09 +08:00
overflow: hidden;
"
>{{ item.nurseStationName }}</el-button
>
</el-form-item>
<el-form-item
label="所属科室"
label-width="120px"
2022-11-15 09:57:26 +08:00
:rules="rules.nurseStationPersonList.departmentCode"
:prop="`nurseStationPersonList.${index}.departmentCode`"
>
<el-button
type=""
@click="departclick(item, index)"
v-if="item.departmentName == '请选择所属科室'"
style="
width: 200px;
text-align: left;
height: 36px;
color: #c0c4cc;
"
>{{ item.departmentName }}</el-button
>
<el-button
type=""
@click="departclick(item, index)"
v-else
style="
width: 200px;
text-align: left;
height: 36px;
padding-left: -10px;
"
>{{ item.departmentName }}</el-button
>
</el-form-item>
<el-form-item
label="护理人姓名"
label-width="120px"
:rules="rules.nurseStationPersonList.nursePersonName"
:prop="`nurseStationPersonList.${index}.nursePersonName`"
>
<el-input
maxlength="15"
v-model="item.nursePersonName"
placeholder="请输入护理人姓名"
/>
</el-form-item>
<el-form-item
label="护理人职称"
label-width="120px"
:rules="rules.nurseStationPersonList.nursePersonType"
:prop="`nurseStationPersonList.${index}.nursePersonType`"
>
<el-select
v-model="item.nursePersonType"
clearable
placeholder="请选择"
style="width: 200px"
>
<el-option
v-for="item in nursePersonTypes"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label="性别"
style="margin-left: 42px"
:rules="rules.nurseStationPersonList.sex"
:prop="`nurseStationPersonList.${index}.sex`"
>
<el-select
v-model="item.sex"
clearable
placeholder="请选择"
style="width: 200px"
>
<el-option
v-for="item in sexs"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label="联系电话"
label-width="120px"
:rules="rules.nurseStationPersonList.phone"
:prop="`nurseStationPersonList.${index}.phone`"
>
<el-input
v-model="item.phone"
placeholder="请输入联系电话"
maxlength="11"
/>
</el-form-item>
<el-form-item
label="居住地址"
label-width="120px"
:rules="rules.nurseStationPersonList.address"
:prop="`nurseStationPersonList.${index}.address`"
>
<el-input
v-model="item.address"
placeholder="请输入居住地址"
maxlength="50"
2022-10-08 09:44:12 +08:00
style="width: 200px"
/>
</el-form-item>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
2022-09-22 14:19:06 +08:00
<!-- 新增护理站名称弹框 -->
<el-dialog
:title="title2"
:visible.sync="innerVisible"
width="1000px"
append-to-body
2022-11-14 09:41:47 +08:00
:before-close="addcancel"
>
<el-form
ref="queryForm"
2022-11-14 09:41:47 +08:00
:model="nurseStationqueryParams"
:rules="rules"
label-width="80px"
:inline="true"
>
<el-form-item
label="护理站编码"
prop="nurseStationCode"
label-width="120"
>
<el-input
2022-11-14 09:41:47 +08:00
v-model="nurseStationqueryParams.nurseStationCode"
placeholder="请输入护理站编码"
clearable
/>
</el-form-item>
<el-form-item
label="护理站名称"
prop="nurseStationName"
label-width="120"
>
<el-input
2022-11-14 09:41:47 +08:00
v-model="nurseStationqueryParams.nurseStationName"
placeholder="请输入护理站名称"
clearable
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery2"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery2"
>重置</el-button
>
</el-form-item>
</el-form>
2022-11-17 10:37:35 +08:00
<el-table
:data="nurseStationlist"
@cell-dblclick="nurseclick"
v-loading="loading"
>
2022-11-14 09:41:47 +08:00
<el-table-column label="请选择" width="100" align="center">
<template slot-scope="scope">
<el-button
type="primary"
style="width: 15px; height: 15px"
v-if="stationid == scope.row.id"
circle
@click="nurseclick(scope.row)"
></el-button>
<el-button
v-else
style="width: 15px; height: 15px"
circle
@click="nurseclick(scope.row)"
></el-button>
</template>
</el-table-column>
<el-table-column
property="nurseStationCode"
label="护理站编码"
align="center"
>
</el-table-column>
<el-table-column
property="nurseStationName"
label="护理站名称"
align="center"
2022-10-31 16:46:09 +08:00
:show-overflow-tooltip="true"
>
</el-table-column>
2022-11-14 09:41:47 +08:00
<el-table-column property="phone" label="联系电话" align="center">
</el-table-column>
<el-table-column
property="address"
2022-11-14 09:41:47 +08:00
label="护理站地址"
align="center"
2022-10-31 16:46:09 +08:00
:show-overflow-tooltip="true"
>
</el-table-column>
</el-table>
<pagination
2022-11-14 09:41:47 +08:00
v-show="nursetotal > 0"
:total="nursetotal"
:page.sync="nurseStationqueryParams.pageNum"
:limit.sync="nurseStationqueryParams.pageSize"
@pagination="info"
/>
</el-dialog>
2022-09-22 14:19:06 +08:00
<!-- 修改护理站名称弹框 -->
<el-dialog
:title="title2"
:visible.sync="innerVisiblexg"
width="1000px"
append-to-body
2022-11-14 09:41:47 +08:00
:before-close="addcancel"
2022-09-22 14:19:06 +08:00
>
<el-form
ref="queryForm"
2022-11-14 09:41:47 +08:00
:model="nurseStationqueryParams"
2022-09-22 14:19:06 +08:00
:rules="rules"
label-width="80px"
:inline="true"
>
<el-form-item
label="护理站编码"
prop="nurseStationCode"
label-width="120"
>
<el-input
2022-11-14 09:41:47 +08:00
v-model="nurseStationqueryParams.nurseStationCode"
2022-09-22 14:19:06 +08:00
placeholder="请输入护理站编码"
clearable
/>
</el-form-item>
<el-form-item
label="护理站名称"
prop="nurseStationName"
label-width="120"
>
<el-input
2022-11-14 09:41:47 +08:00
v-model="nurseStationqueryParams.nurseStationName"
2022-09-22 14:19:06 +08:00
placeholder="请输入护理站名称"
clearable
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
2022-11-14 09:41:47 +08:00
@click="handleQuery4"
2022-09-22 14:19:06 +08:00
>搜索</el-button
>
2022-11-14 09:41:47 +08:00
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery4"
2022-09-22 14:19:06 +08:00
>重置</el-button
>
</el-form-item>
</el-form>
2022-11-14 09:41:47 +08:00
<el-table :data="nurseStationlist" @cell-dblclick="nurseclick2">
<el-table-column label="请选择" width="100" align="center">
2022-09-22 14:19:06 +08:00
<template slot-scope="scope">
<el-button
type="primary"
style="width: 15px; height: 15px"
v-if="stationid2 == scope.row.id"
circle
@click="nurseclick2(scope.row)"
></el-button>
<el-button
v-else
style="width: 15px; height: 15px"
circle
@click="nurseclick2(scope.row)"
></el-button>
</template>
</el-table-column>
<el-table-column
property="nurseStationCode"
label="护理站编码"
align="center"
>
</el-table-column>
<el-table-column
property="nurseStationName"
label="护理站名称"
2022-11-11 18:01:12 +08:00
align="center"
>
2022-09-22 14:19:06 +08:00
</el-table-column>
2022-11-14 09:41:47 +08:00
<el-table-column property="phone" label="联系电话" align="center">
2022-11-11 18:01:12 +08:00
</el-table-column>
2022-11-14 09:41:47 +08:00
<el-table-column property="address" label="护理站地址" align="center">
2022-09-22 14:19:06 +08:00
</el-table-column>
</el-table>
<pagination
2022-11-14 09:41:47 +08:00
v-show="nursetotal > 0"
:total="nursetotal"
:page.sync="nurseStationqueryParams.pageNum"
:limit.sync="nurseStationqueryParams.pageSize"
@pagination="info"
2022-09-22 14:19:06 +08:00
/>
</el-dialog>
<!-- 所属科室弹框 -->
<el-dialog
:title="title3"
:visible.sync="innerVisible2"
width="1000px"
append-to-body
2022-11-14 09:41:47 +08:00
:before-close="departcancel"
>
<el-form
ref="queryForm"
:model="queryParams3"
:rules="rules"
label-width="80px"
:inline="true"
>
<el-form-item label="科室编码" prop="departmentCode" label-width="120">
<el-input
v-model="queryParams3.departmentCode"
placeholder="请输入科室编码"
clearable
/>
</el-form-item>
2022-09-21 14:54:17 +08:00
<el-form-item label="科室名称" prop="" label-width="120">
<el-input
v-model="queryParams3.departmentName"
placeholder="请输入科室名称"
clearable
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery3"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery3"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table
:data="StationDepartmentLists"
@cell-dblclick="StationDepartmentclick"
>
2022-11-14 09:41:47 +08:00
<el-table-column label="请选择" width="100" align="center">
<template slot-scope="scope">
<el-button
type="primary"
2022-11-08 15:05:26 +08:00
style="width: 15px; height: 15px; overflow: hidden"
2022-09-22 14:19:06 +08:00
v-if="departid == scope.row.departmentCode"
circle
@click="StationDepartmentclick(scope.row)"
></el-button>
<el-button
v-else
2022-11-08 15:05:26 +08:00
style="width: 15px; height: 15px; overflow: hidden"
circle
@click="StationDepartmentclick(scope.row)"
></el-button>
</template>
2022-11-14 09:41:47 +08:00
</el-table-column>
2022-11-14 13:55:58 +08:00
<el-table-column
2022-11-14 09:41:47 +08:00
property="nurseStationName"
label="护理站名称"
align="center"
>
</el-table-column>
<el-table-column
property="departmentCode"
label="科室编码"
align="center"
>
</el-table-column>
<el-table-column
property="departmentName"
label="科室名称"
align="center"
>
</el-table-column>
<el-table-column
property="departmentPerson"
label="科室负责人"
align="center"
>
</el-table-column>
2022-11-14 09:41:47 +08:00
<el-table-column property="phone" label="联系电话" align="center">
</el-table-column>
</el-table>
<pagination
2022-11-14 09:41:47 +08:00
v-show="departtotal > 0"
:total="departtotal"
:page.sync="queryParams3.pageNum"
:limit.sync="queryParams3.pageSize"
2022-11-14 09:41:47 +08:00
@pagination="getList3"
/>
</el-dialog>
2022-09-22 14:19:06 +08:00
<!-- 修改所属科室弹框 -->
<el-dialog
:title="title3"
:visible.sync="innerVisiblexg2"
width="1000px"
append-to-body
2022-11-14 09:41:47 +08:00
:before-close="departcancel"
2022-09-22 14:19:06 +08:00
>
<el-form
ref="queryForm"
:model="queryParams3"
:rules="rules"
label-width="80px"
:inline="true"
>
<el-form-item label="科室编码" prop="departmentCode" label-width="120">
<el-input
2022-09-22 14:19:06 +08:00
v-model="queryParams3.departmentCode"
placeholder="请输入科室编码"
clearable
/>
</el-form-item>
2022-09-22 14:19:06 +08:00
<el-form-item label="科室名称" prop="" label-width="120">
<el-input
2022-09-22 14:19:06 +08:00
v-model="queryParams3.departmentName"
placeholder="请输入科室名称"
2022-09-22 14:19:06 +08:00
clearable
/>
</el-form-item>
2022-09-22 14:19:06 +08:00
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery3"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery3"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table
:data="StationDepartmentLists"
@cell-dblclick="StationDepartmentclick2"
>
2022-11-14 09:41:47 +08:00
<el-table-column label="请选择" width="100" align="center">
2022-09-22 14:19:06 +08:00
<template slot-scope="scope">
<el-button
type="primary"
style="width: 15px; height: 15px"
v-if="departid2 == scope.row.departmentCode"
circle
@click="StationDepartmentclick2(scope.row)"
></el-button>
<el-button
v-else
style="width: 15px; height: 15px"
circle
@click="StationDepartmentclick2(scope.row)"
></el-button>
</template>
</el-table-column>
2022-11-14 13:55:58 +08:00
<el-table-column
property="nurseStationName"
label="护理站名称"
align="center"
>
</el-table-column>
2022-09-22 14:19:06 +08:00
<el-table-column
property="departmentCode"
label="科室编码"
align="center"
>
</el-table-column>
<el-table-column
property="departmentName"
label="科室名称"
align="center"
>
</el-table-column>
<el-table-column
property="departmentPerson"
label="科室负责人"
align="center"
>
</el-table-column>
2022-11-14 09:41:47 +08:00
<el-table-column property="phone" label="联系电话" align="center">
2022-09-22 14:19:06 +08:00
</el-table-column>
</el-table>
<pagination
2022-11-14 09:41:47 +08:00
v-show="departtotal > 0"
:total="departtotal"
2022-09-22 14:19:06 +08:00
:page.sync="queryParams3.pageNum"
:limit.sync="queryParams3.pageSize"
2022-11-14 09:41:47 +08:00
@pagination="getList3"
2022-09-22 14:19:06 +08:00
/>
</el-dialog>
<!-- 修改 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item
label="所属护理站"
label-width="120px"
prop="nurseStationId"
style="margin-left: -20px"
>
<el-button
type=""
2022-11-14 09:41:47 +08:00
@click="departclickxg"
v-if="nurseStationName == '请选择所属护理站'"
2022-09-22 14:19:06 +08:00
style="width: 362px; text-align: left; height: 36px; color: #c0c4cc"
>{{ nurseStationName }}</el-button
>
<el-button
type=""
2022-11-14 09:41:47 +08:00
@click="departclickxg()"
2022-09-22 14:19:06 +08:00
v-else
style="
width: 362px;
text-align: left;
height: 36px;
padding-left: -10px;
"
>{{ nurseStationName }}</el-button
>
</el-form-item>
<el-form-item
label="所属科室"
label-width="120px"
style="margin-left: -20px"
prop="departmentName"
>
<el-button
type=""
@click="departclick2"
v-if="departmentName == '请选择所属科室'"
style="width: 362px; text-align: left; height: 36px; color: #c0c4cc"
>{{ departmentName }}</el-button
>
<el-button
type=""
@click="departclick2()"
v-else
style="
width: 362px;
text-align: left;
height: 36px;
padding-left: -10px;
"
>{{ departmentName }}</el-button
>
</el-form-item>
2022-11-14 09:41:47 +08:00
<el-form-item label="姓名" prop="nursePersonName">
2022-11-08 15:05:26 +08:00
<el-input
maxlength="15"
v-model="form.nursePersonName"
placeholder="请输入姓名"
/>
</el-form-item>
2022-11-14 09:41:47 +08:00
<el-form-item label="护理人职称" prop="nursePersonType">
<el-select
v-model="form.nursePersonType"
clearable
placeholder="请选择"
style="width: 363px"
>
<el-option
v-for="item in nursePersonTypes"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="性别" prop="sex">
<el-select
v-model="form.sex"
clearable
placeholder="请选择"
style="width: 363px"
>
<el-option
v-for="item in sexs"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input
v-model="form.phone"
placeholder="请输入联系电话"
maxlength="11"
/>
</el-form-item>
<el-form-item label="居住地址" prop="address">
<el-input
v-model="form.address"
placeholder="请输入居住地址"
maxlength="50"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 导入 -->
<el-dialog
:title="upload.title"
:visible.sync="upload.open"
width="400px"
append-to-body
>
<el-upload
ref="upload"
:limit="1"
accept=".xlsx, .xls"
:headers="upload.headers"
:action="upload.url"
:disabled="upload.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false"
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip">
<span>仅允许导入xlsxlsx格式文件</span>
<el-link
type="primary"
:underline="false"
style="font-size: 12px; vertical-align: baseline"
@click="importTemplate"
>下载模板</el-link
>
</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm"> </el-button>
<el-button @click="upload.open = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
2022-11-17 17:28:02 +08:00
import personjs from './personjs'
export default personjs
</script>