This commit is contained in:
闫晓茹 2024-08-13 09:10:33 +08:00
parent f4f5313701
commit b7f1e353a3

View File

@ -2,16 +2,37 @@
<div class="app-container"> <div class="app-container">
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" <el-button
v-hasPermi="['system:agency:add']">新增</el-button> type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:agency:add']"
>新增</el-button
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" <el-button
v-hasPermi="['system:person:importStationPerson']">导入</el-button> type="info"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
v-hasPermi="['system:person:importStationPerson']"
>导入</el-button
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" @click="handleUpdate" <el-button
v-hasPermi="['system:agency:edit']">编辑</el-button> type="success"
plain
icon="el-icon-edit"
size="mini"
@click="handleUpdate"
v-hasPermi="['system:agency:edit']"
>编辑</el-button
>
</el-col> </el-col>
<!-- <el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button <el-button
@ -36,7 +57,10 @@
>导出</el-button >导出</el-button
> >
</el-col> --> </el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<!--部门数据--> <!--部门数据-->
@ -52,9 +76,17 @@
/> />
</div> --> </div> -->
<div class="head-container"> <div class="head-container">
<el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="true" <el-tree
:filter-node-method="filterNode" ref="tree" highlight-current node-key="id" @node-click="handleNodeClick" :data="deptOptions"
:render-content="renderContent" /> :props="defaultProps"
:filter-node-method="filterNode"
ref="tree"
highlight-current
node-key="id"
@node-click="handleNodeClick"
:expand-on-click-node="false"
:render-content="renderContent"
/>
</div> </div>
</el-col> </el-col>
<el-col :span="18" :xs="24"> <el-col :span="18" :xs="24">
@ -69,7 +101,8 @@
{{ agencyList.agencyStatus == "ON" ? "启用" : "" }} {{ agencyList.agencyStatus == "ON" ? "启用" : "" }}
{{ {{
agencyList.agencyStatus == "OFF" ? "禁用" : "" agencyList.agencyStatus == "OFF" ? "禁用" : ""
}}</el-descriptions-item> }}</el-descriptions-item
>
<el-descriptions-item label="机构代码">{{ <el-descriptions-item label="机构代码">{{
agencyList.agencyCode agencyList.agencyCode
}}</el-descriptions-item> }}</el-descriptions-item>
@ -92,7 +125,8 @@
{{ agencyList.nodeType == "CAMPUS" ? "院区" : "" }} {{ agencyList.nodeType == "CAMPUS" ? "院区" : "" }}
{{ {{
agencyList.nodeType == "HOSPITAL" ? "医院" : "" agencyList.nodeType == "HOSPITAL" ? "医院" : ""
}}</el-descriptions-item> }}</el-descriptions-item
>
<el-descriptions-item label="组织机构代码">{{ <el-descriptions-item label="组织机构代码">{{
agencyList.orgAgencyCode agencyList.orgAgencyCode
}}</el-descriptions-item> }}</el-descriptions-item>
@ -116,9 +150,10 @@
agencyList.agencyCategoryManageLevel == "OTHER_HEALTH_AGENCY" agencyList.agencyCategoryManageLevel == "OTHER_HEALTH_AGENCY"
? "其他卫生机构" ? "其他卫生机构"
: "" : ""
}}</el-descriptions-item> }}</el-descriptions-item
<el-descriptions-item label="行政区划" v-if="agencyList.provinceName">{{ agencyList.provinceName }}-{{ >
agencyList.cityName }}-{{ <el-descriptions-item label="行政区划" v-if="agencyList.provinceName"
>{{ agencyList.provinceName }}-{{ agencyList.cityName }}-{{
agencyList.regionName agencyList.regionName
}}-{{ agencyList.streetName }}-{{ agencyList.communityName }} }}-{{ agencyList.streetName }}-{{ agencyList.communityName }}
</el-descriptions-item> </el-descriptions-item>
@ -215,28 +250,89 @@
</el-row> </el-row>
<!-- 添加或修改机构信息对话框 --> <!-- 添加或修改机构信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> <el-dialog
<el-form ref="form" :model="form" :rules="rules" label-width="130px" :inline="true"> :title="title"
:visible.sync="open"
width="1000px"
append-to-body
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="130px"
:inline="true"
>
<el-form-item label="行政区划" prop="areaCode"> <el-form-item label="行政区划" prop="areaCode">
<el-select v-model="form.provinceName" clearable placeholder="请选择省" style="width: 129px"> <el-select
<el-option v-for="item in provincelist" :key="item.areaCode" :label="item.areaName" :value="item.areaCode" v-model="form.provinceName"
@click.native="province(item)"></el-option> clearable
placeholder="请选择省"
style="width: 129px"
>
<el-option
v-for="item in provincelist"
:key="item.areaCode"
:label="item.areaName"
:value="item.areaCode"
@click.native="province(item)"
></el-option>
</el-select> </el-select>
<el-select v-model="form.cityName" clearable placeholder="请选择市" style="width: 129px; margin-left: 10px"> <el-select
<el-option v-for="item in citylist" :key="item.areaCode" :label="item.areaName" :value="item.areaCode" v-model="form.cityName"
@click.native="clickcity(item)"></el-option> clearable
placeholder="请选择市"
style="width: 129px; margin-left: 10px"
>
<el-option
v-for="item in citylist"
:key="item.areaCode"
:label="item.areaName"
:value="item.areaCode"
@click.native="clickcity(item)"
></el-option>
</el-select> </el-select>
<el-select v-model="form.regionName" clearable placeholder="请选择区" style="width: 129px; margin-left: 10px"> <el-select
<el-option v-for="item in arealist" :key="item.areaCode" :label="item.areaName" :value="item.areaCode" v-model="form.regionName"
@click.native="clickarea(item)"></el-option> clearable
placeholder="请选择区"
style="width: 129px; margin-left: 10px"
>
<el-option
v-for="item in arealist"
:key="item.areaCode"
:label="item.areaName"
:value="item.areaCode"
@click.native="clickarea(item)"
></el-option>
</el-select> </el-select>
<el-select v-model="form.streetName" clearable placeholder="请选择街道" style="width: 129px; margin-left: 10px"> <el-select
<el-option v-for="item in streetlist" :key="item.areaCode" :label="item.areaName" :value="item.areaCode" v-model="form.streetName"
@click.native="clickstreet(item)"></el-option> clearable
placeholder="请选择街道"
style="width: 129px; margin-left: 10px"
>
<el-option
v-for="item in streetlist"
:key="item.areaCode"
:label="item.areaName"
:value="item.areaCode"
@click.native="clickstreet(item)"
></el-option>
</el-select> </el-select>
<el-select v-model="form.communityCode" clearable placeholder="请选择社区" style="width: 129px; margin-left: 10px"> <el-select
<el-option v-for="item in streetlists" :key="item.areaCode" :label="item.areaName" :value="item.areaCode" v-model="form.communityCode"
@click.native="clickstreetlist(item)"></el-option> clearable
placeholder="请选择社区"
style="width: 129px; margin-left: 10px"
>
<el-option
v-for="item in streetlists"
:key="item.areaCode"
:label="item.areaName"
:value="item.areaCode"
@click.native="clickstreetlist(item)"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="所属机构类别id" prop="agencyCategoryId"> <!-- <el-form-item label="所属机构类别id" prop="agencyCategoryId">
@ -264,33 +360,74 @@
/> />
</el-form-item> --> </el-form-item> -->
<el-form-item label="机构名称" prop="agencyName"> <el-form-item label="机构名称" prop="agencyName">
<el-input v-model="form.agencyName" maxlength="100" placeholder="请输入机构名称" /> <el-input
v-model="form.agencyName"
maxlength="100"
placeholder="请输入机构名称"
/>
</el-form-item> </el-form-item>
<el-form-item label="机构简称" prop="agencyAbbreviation"> <el-form-item label="机构简称" prop="agencyAbbreviation">
<el-input maxlength="100" v-model="form.agencyAbbreviation" placeholder="请输入机构简称" /> <el-input
maxlength="100"
v-model="form.agencyAbbreviation"
placeholder="请输入机构简称"
/>
</el-form-item> </el-form-item>
<el-form-item label="机构代码" prop="agencyCode" v-if="disabled"> <el-form-item label="机构代码" prop="agencyCode" v-if="disabled">
<el-input :disabled="disabled" maxlength="20" v-model="form.agencyCode" style="width: 205px" <el-input
onKeyUp="value=value.replace(/[\W]/g,'')" placeholder="请输入机构代码" /> :disabled="disabled"
maxlength="20"
v-model="form.agencyCode"
style="width: 205px"
onKeyUp="value=value.replace(/[\W]/g,'')"
placeholder="请输入机构代码"
/>
</el-form-item> </el-form-item>
<el-form-item label="上级机构" prop="parentAgencyName"> <el-form-item label="上级机构" prop="parentAgencyName">
<el-cascader :props="{ checkStrictly: true }" :options="treeOptions" @change="change($event)" <el-cascader
style="width: 205px" v-model="form.parentId" :show-all-levels="false" :props="{ checkStrictly: true }"
:placeholder="form.parentAgencyName ? form.parentAgencyName : ''" clearable ref="cascader" :options="treeOptions"
:key="isResouceShow"></el-cascader> @change="change($event)"
style="width: 205px"
v-model="form.parentId"
:show-all-levels="false"
:placeholder="form.parentAgencyName ? form.parentAgencyName : ''"
clearable
ref="cascader"
:key="isResouceShow"
></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="卫生机构类别" prop="agencyCategoryId"> <el-form-item label="卫生机构类别" prop="agencyCategoryId">
<el-cascader :props="{ checkStrictly: true }" :options="treeOptionsagencyCategoryId" <el-cascader
@change="changeagencyCategoryId($event)" style="width: 205px" :placeholder="form.agencyCategoryName ? form.agencyCategoryName : '' :props="{ checkStrictly: true }"
" v-model="form.agencyCategoryId" :show-all-levels="false" ref="cascader" :key="isResouceShows" :options="treeOptionsagencyCategoryId"
clearable></el-cascader> @change="changeagencyCategoryId($event)"
style="width: 205px"
:placeholder="
form.agencyCategoryName ? form.agencyCategoryName : ''
"
v-model="form.agencyCategoryId"
:show-all-levels="false"
ref="cascader"
:key="isResouceShows"
clearable
></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="节点类型" prop="nodeType"> <el-form-item label="节点类型" prop="nodeType">
<el-select v-model="form.nodeType" placeholder="请选择" style="width: 205px" clearable> <el-select
<el-option v-for="item in nodeTypeoptions" :key="item.dictValue" :label="item.dictLabel" v-model="form.nodeType"
:value="item.dictValue"> placeholder="请选择"
style="width: 205px"
clearable
>
<el-option
v-for="item in nodeTypeoptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
<!-- <el-input <!-- <el-input
@ -299,12 +436,27 @@
/> --> /> -->
</el-form-item> </el-form-item>
<el-form-item label="组织机构编码" prop="orgAgencyCode"> <el-form-item label="组织机构编码" prop="orgAgencyCode">
<el-input maxlength="30" onKeyUp="value=value.replace(/[\W]/g,'')" v-model="form.orgAgencyCode" <el-input
placeholder="请输入组织机构编码" style="width: 205px" /> maxlength="30"
onKeyUp="value=value.replace(/[\W]/g,'')"
v-model="form.orgAgencyCode"
placeholder="请输入组织机构编码"
style="width: 205px"
/>
</el-form-item> </el-form-item>
<el-form-item label="机构分类管理类别" prop="agencyCategoryManageLevel"> <el-form-item label="机构分类管理类别" prop="agencyCategoryManageLevel">
<el-select v-model="form.agencyCategoryManageLevel" placeholder="请选择" style="width: 205px" clearable> <el-select
<el-option v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue"> v-model="form.agencyCategoryManageLevel"
placeholder="请选择"
style="width: 205px"
clearable
>
<el-option
v-for="item in options"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option> </el-option>
</el-select> </el-select>
<!-- <el-input <!-- <el-input
@ -313,21 +465,43 @@
/> --> /> -->
</el-form-item> </el-form-item>
<el-form-item label="机构联系人" prop="agencyContacts"> <el-form-item label="机构联系人" prop="agencyContacts">
<el-input maxlength="20" v-model="form.agencyContacts" placeholder="请输入机构联系人" /> <el-input
maxlength="20"
v-model="form.agencyContacts"
placeholder="请输入机构联系人"
/>
</el-form-item> </el-form-item>
<el-form-item label="机构联系电话" prop="agencyPhone"> <el-form-item label="机构联系电话" prop="agencyPhone">
<el-input onkeyup="value=value.replace(/[^\-?\d.]/g,'')" maxlength="11" v-model="form.agencyPhone" <el-input
placeholder="请输入机构联系电话" /> onkeyup="value=value.replace(/[^\-?\d.]/g,'')"
maxlength="11"
v-model="form.agencyPhone"
placeholder="请输入机构联系电话"
/>
</el-form-item> </el-form-item>
<el-form-item label="机构详细地址" prop="agencyAddress"> <el-form-item label="机构详细地址" prop="agencyAddress">
<el-input maxlength="200" v-model="form.agencyAddress" placeholder="请输入机构详细地址" /> <el-input
maxlength="200"
v-model="form.agencyAddress"
placeholder="请输入机构详细地址"
/>
</el-form-item> </el-form-item>
<el-form-item label="机构概述" prop="agencyRemark"> <el-form-item label="机构概述" prop="agencyRemark">
<el-input v-model="form.agencyRemark" maxlength="100" placeholder="请输入机构概述" /> <el-input
v-model="form.agencyRemark"
maxlength="100"
placeholder="请输入机构概述"
/>
</el-form-item> </el-form-item>
<el-form-item label="机构排序" prop="agencySort"> <el-form-item label="机构排序" prop="agencySort">
<el-input-number v-model="form.agencySort" controls-position="right" :min="0" :max="99999" <el-input-number
placeholder="请输入机构排序" style="width: 208px" /> v-model="form.agencySort"
controls-position="right"
:min="0"
:max="99999"
placeholder="请输入机构排序"
style="width: 208px"
/>
</el-form-item> </el-form-item>
<el-form-item label="机构状态" prop="agencyStatus"> <el-form-item label="机构状态" prop="agencyStatus">
<!-- <el-form-item label="是否并发" prop="concurrent"> --> <!-- <el-form-item label="是否并发" prop="concurrent"> -->
@ -346,10 +520,24 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 导入 --> <!-- 导入 -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> <el-dialog
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url" :title="upload.title"
:disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :visible.sync="upload.open"
:auto-upload="false" drag> 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> <i class="el-icon-upload"></i>
<div class="el-upload__text"> <div class="el-upload__text">
将文件拖到此处 将文件拖到此处
@ -357,8 +545,13 @@
</div> </div>
<div class="el-upload__tip text-center" slot="tip"> <div class="el-upload__tip text-center" slot="tip">
<span>仅允许导入xlsxlsx格式文件</span> <span>仅允许导入xlsxlsx格式文件</span>
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline" <el-link
@click="importTemplate">下载模板</el-link> type="primary"
:underline="false"
style="font-size: 12px; vertical-align: baseline"
@click="importTemplate"
>下载模板</el-link
>
</div> </div>
</el-upload> </el-upload>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">