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">
<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:agency:add']">新增</el-button>
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:agency:add']"
>新增</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:importStationPerson']">导入</el-button>
<el-button
type="info"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
v-hasPermi="['system:person:importStationPerson']"
>导入</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" @click="handleUpdate"
v-hasPermi="['system:agency:edit']">编辑</el-button>
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
@click="handleUpdate"
v-hasPermi="['system:agency:edit']"
>编辑</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
@ -36,7 +57,10 @@
>导出</el-button
>
</el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-row :gutter="20">
<!--部门数据-->
@ -52,27 +76,36 @@
/>
</div> -->
<div class="head-container">
<el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="true"
:filter-node-method="filterNode" ref="tree" highlight-current node-key="id" @node-click="handleNodeClick"
:render-content="renderContent" />
<el-tree
:data="deptOptions"
: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>
</el-col>
<el-col :span="18" :xs="24">
<el-descriptions title="机构信息">
<el-descriptions-item label="机构名称">{{
agencyList.agencyName
}}</el-descriptions-item>
agencyList.agencyName
}}</el-descriptions-item>
<el-descriptions-item label="机构简介">{{
agencyList.agencyRemark
}}</el-descriptions-item>
agencyList.agencyRemark
}}</el-descriptions-item>
<el-descriptions-item label="机构状态">
{{ agencyList.agencyStatus == "ON" ? "启用" : "" }}
{{
agencyList.agencyStatus == "OFF" ? "禁用" : ""
}}</el-descriptions-item>
agencyList.agencyStatus == "OFF" ? "禁用" : ""
}}</el-descriptions-item
>
<el-descriptions-item label="机构代码">{{
agencyList.agencyCode
}}</el-descriptions-item>
agencyList.agencyCode
}}</el-descriptions-item>
<el-descriptions-item label="上级机构">
{{ agencyList.parentAgencyName }}
</el-descriptions-item>
@ -91,36 +124,38 @@
{{ agencyList.nodeType == "PHARNAGY" ? "药店" : "" }} -->
{{ agencyList.nodeType == "CAMPUS" ? "院区" : "" }}
{{
agencyList.nodeType == "HOSPITAL" ? "医院" : ""
}}</el-descriptions-item>
agencyList.nodeType == "HOSPITAL" ? "医院" : ""
}}</el-descriptions-item
>
<el-descriptions-item label="组织机构代码">{{
agencyList.orgAgencyCode
}}</el-descriptions-item>
agencyList.orgAgencyCode
}}</el-descriptions-item>
<el-descriptions-item label="卫生机构类别">{{
agencyList.agencyCategoryName
}}</el-descriptions-item>
agencyList.agencyCategoryName
}}</el-descriptions-item>
<el-descriptions-item label="机构分类管理类别">
{{
agencyList.agencyCategoryManageLevel ==
"NON_PROFIT_MEDICAL_AGENCY"
? "非营利性医疗机构"
: ""
}}
agencyList.agencyCategoryManageLevel ==
"NON_PROFIT_MEDICAL_AGENCY"
? "非营利性医疗机构"
: ""
}}
{{
agencyList.agencyCategoryManageLevel ==
"FOR_PROFIT_MEDICAL_AGENCY"
? "营利性医疗机构"
: ""
}}
agencyList.agencyCategoryManageLevel ==
"FOR_PROFIT_MEDICAL_AGENCY"
? "营利性医疗机构"
: ""
}}
{{
agencyList.agencyCategoryManageLevel == "OTHER_HEALTH_AGENCY"
? "其他卫生机构"
: ""
}}</el-descriptions-item>
<el-descriptions-item label="行政区划" v-if="agencyList.provinceName">{{ agencyList.provinceName }}-{{
agencyList.cityName }}-{{
agencyList.regionName
}}-{{ agencyList.streetName }}-{{ agencyList.communityName }}
agencyList.agencyCategoryManageLevel == "OTHER_HEALTH_AGENCY"
? "其他卫生机构"
: ""
}}</el-descriptions-item
>
<el-descriptions-item label="行政区划" v-if="agencyList.provinceName"
>{{ agencyList.provinceName }}-{{ agencyList.cityName }}-{{
agencyList.regionName
}}-{{ agencyList.streetName }}-{{ agencyList.communityName }}
</el-descriptions-item>
<el-descriptions-item label="行政区划" v-else> </el-descriptions-item>
</el-descriptions>
@ -215,28 +250,89 @@
</el-row>
<!-- 添加或修改机构信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="130px" :inline="true">
<el-dialog
: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-select v-model="form.provinceName" 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
v-model="form.provinceName"
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 v-model="form.cityName" 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
v-model="form.cityName"
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 v-model="form.regionName" 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
v-model="form.regionName"
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 v-model="form.streetName" 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
v-model="form.streetName"
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 v-model="form.communityCode" 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
v-model="form.communityCode"
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-form-item>
<!-- <el-form-item label="所属机构类别id" prop="agencyCategoryId">
@ -264,33 +360,74 @@
/>
</el-form-item> -->
<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 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 label="机构代码" prop="agencyCode" v-if="disabled">
<el-input :disabled="disabled" maxlength="20" v-model="form.agencyCode" style="width: 205px"
onKeyUp="value=value.replace(/[\W]/g,'')" placeholder="请输入机构代码" />
<el-input
:disabled="disabled"
maxlength="20"
v-model="form.agencyCode"
style="width: 205px"
onKeyUp="value=value.replace(/[\W]/g,'')"
placeholder="请输入机构代码"
/>
</el-form-item>
<el-form-item label="上级机构" prop="parentAgencyName">
<el-cascader :props="{ checkStrictly: true }" :options="treeOptions" @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-cascader
:props="{ checkStrictly: true }"
:options="treeOptions"
@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 label="卫生机构类别" prop="agencyCategoryId">
<el-cascader :props="{ checkStrictly: true }" :options="treeOptionsagencyCategoryId"
@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-cascader
:props="{ checkStrictly: true }"
:options="treeOptionsagencyCategoryId"
@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 label="节点类型" prop="nodeType">
<el-select v-model="form.nodeType" placeholder="请选择" style="width: 205px" clearable>
<el-option v-for="item in nodeTypeoptions" :key="item.dictValue" :label="item.dictLabel"
:value="item.dictValue">
<el-select
v-model="form.nodeType"
placeholder="请选择"
style="width: 205px"
clearable
>
<el-option
v-for="item in nodeTypeoptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
<!-- <el-input
@ -299,12 +436,27 @@
/> -->
</el-form-item>
<el-form-item label="组织机构编码" prop="orgAgencyCode">
<el-input maxlength="30" onKeyUp="value=value.replace(/[\W]/g,'')" v-model="form.orgAgencyCode"
placeholder="请输入组织机构编码" style="width: 205px" />
<el-input
maxlength="30"
onKeyUp="value=value.replace(/[\W]/g,'')"
v-model="form.orgAgencyCode"
placeholder="请输入组织机构编码"
style="width: 205px"
/>
</el-form-item>
<el-form-item label="机构分类管理类别" prop="agencyCategoryManageLevel">
<el-select 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-select
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-select>
<!-- <el-input
@ -313,21 +465,43 @@
/> -->
</el-form-item>
<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 label="机构联系电话" prop="agencyPhone">
<el-input onkeyup="value=value.replace(/[^\-?\d.]/g,'')" maxlength="11" v-model="form.agencyPhone"
placeholder="请输入机构联系电话" />
<el-input
onkeyup="value=value.replace(/[^\-?\d.]/g,'')"
maxlength="11"
v-model="form.agencyPhone"
placeholder="请输入机构联系电话"
/>
</el-form-item>
<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 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 label="机构排序" prop="agencySort">
<el-input-number v-model="form.agencySort" controls-position="right" :min="0" :max="99999"
placeholder="请输入机构排序" style="width: 208px" />
<el-input-number
v-model="form.agencySort"
controls-position="right"
:min="0"
:max="99999"
placeholder="请输入机构排序"
style="width: 208px"
/>
</el-form-item>
<el-form-item label="机构状态" prop="agencyStatus">
<!-- <el-form-item label="是否并发" prop="concurrent"> -->
@ -346,10 +520,24 @@
</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>
<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">
将文件拖到此处
@ -357,8 +545,13 @@
</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>
<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">
@ -620,7 +813,7 @@ export default {
// children.splice(index, 1);
this.gettreelist();
})
.catch(() => { });
.catch(() => {});
},
//
gettreelist() {
@ -773,8 +966,8 @@ export default {
this.$refs.upload.clearFiles();
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
);
@ -981,7 +1174,7 @@ export default {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => { });
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {