Browse Source

将动态路由数据设置为空

newMaster
1747191978@qq.com 4 months ago
parent
commit
ca0b0bcd73
  1. 2
      acupuncture-前台/src/assets/styles/common.css
  2. 4
      acupuncture-前台/src/store/modules/permission.js
  3. 441
      acupuncture-前台/src/views/patientFile/index.vue

2
acupuncture-前台/src/assets/styles/common.css

@ -73,7 +73,7 @@
display: none; display: none;
} }
>>>.el-dialog__body{ >>>.el-dialog__body{
padding: 0px 20px 0px 20px; padding: 20px;
} }
/* .popup >>> .popupAdd2 .popupleft { /* .popup >>> .popupAdd2 .popupleft {
width: 55px; width: 55px;

4
acupuncture-前台/src/store/modules/permission.js

@ -34,8 +34,8 @@ const permission = {
return new Promise((resolve) => { return new Promise((resolve) => {
// 向后端请求路由数据 // 向后端请求路由数据
getRouters().then((res) => { getRouters().then((res) => {
const sdata = JSON.parse(JSON.stringify(res.data)); const sdata = JSON.parse(JSON.stringify([]));
const rdata = JSON.parse(JSON.stringify(res.data)); const rdata = JSON.parse(JSON.stringify([]));
const sidebarRoutes = filterAsyncRouter(sdata); const sidebarRoutes = filterAsyncRouter(sdata);
const rewriteRoutes = filterAsyncRouter(rdata, false, true); const rewriteRoutes = filterAsyncRouter(rdata, false, true);
const asyncRoutes = filterDynamicRoutes(dynamicRoutes); const asyncRoutes = filterDynamicRoutes(dynamicRoutes);

441
acupuncture-前台/src/views/patientFile/index.vue

@ -1,36 +1,18 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
:model="queryParams" label-width="68px">
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="" prop="noticeTitle"> <el-form-item label="" prop="noticeTitle">
<el-input <el-input v-model="queryParams.param.keywords" placeholder="支持姓名、全拼、简拼、手机号吗、证件号码" clearable
v-model="queryParams.param.keywords" @keyup.enter.native="handleQuery" />
placeholder="支持姓名、全拼、简拼、手机号吗、证件号码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="年龄范围" prop="createBy"> <el-form-item label="年龄范围" prop="createBy">
<div class="form-item-age"> <div class="form-item-age">
<el-input <el-input v-model="queryParams.param.startAge" placeholder="最小年龄" clearable
v-model="queryParams.param.startAge" @keyup.enter.native="handleQuery" />
placeholder="最小年龄"
clearable
@keyup.enter.native="handleQuery"
/>
<span></span> <span></span>
<el-input <el-input v-model="queryParams.param.endAge" placeholder="最大年龄" clearable
v-model="queryParams.param.endAge" @keyup.enter.native="handleQuery" />
placeholder="最大年龄"
clearable
@keyup.enter.native="handleQuery"
/>
</div> </div>
</el-form-item> </el-form-item>
<!-- <el-form-item label="建档组织" prop="tenantId"> <!-- <el-form-item label="建档组织" prop="tenantId">
@ -43,24 +25,14 @@
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="数据来源" prop="sourceId"> <el-form-item label="数据来源" prop="sourceId">
<el-select <el-select v-model="queryParams.param.sourceId" placeholder="请选择" clearable>
v-model="queryParams.param.sourceId"
placeholder="请选择"
clearable
>
<el-option label="筛查" :value="0" /> <el-option label="筛查" :value="0" />
<el-option label="录入" :value="1" /> <el-option label="录入" :value="1" />
<el-option label="HIS" :value="2" /> <el-option label="HIS" :value="2" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</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 icon="el-icon-refresh" size="mini" @click="resetQuery">
重置 重置
</el-button> </el-button>
@ -69,147 +41,48 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple"
type="danger" @click="handleDelete">删除</el-button>
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
>删除</el-button
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="info" plain icon="el-icon-bottom" size="mini" :disabled="multiple"
type="info" @click="handleDownload">下载模版</el-button>
plain
icon="el-icon-bottom"
size="mini"
:disabled="multiple"
@click="handleDownload"
>下载模版</el-button
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="warning" plain icon="el-icon-upload2" size="mini" @click="handleImport">导入</el-button>
type="warning"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
>导入</el-button
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button
>
</el-col> </el-col>
<right-toolbar <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row> </el-row>
<el-table <el-table v-loading="loading" :data="listDat" @selection-change="handleSelectionChange" max-height="600">
v-loading="loading"
:data="listDat"
@selection-change="handleSelectionChange"
max-height="600"
>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="姓名" align="center" prop="name" width="100" fixed /> <el-table-column label="姓名" align="center" prop="name" width="100" fixed />
<el-table-column <el-table-column label="性别" align="center" prop="gender" show-overflow-tooltip width="100" fixed>
label="性别"
align="center"
prop="gender"
show-overflow-tooltip
width="100"
fixed
>
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.gender == 0"></span> <span v-if="scope.row.gender == 0"></span>
<span v-if="scope.row.gender == 1"></span> <span v-if="scope.row.gender == 1"></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="出生日期" align="center" prop="birthDate" show-overflow-tooltip width="150" fixed />
label="出生日期" <el-table-column label="民族" align="center" prop="ethnicity" show-overflow-tooltip width="100" />
align="center" <el-table-column label="受教育年限" align="center" prop="educationYears" show-overflow-tooltip width="100" />
prop="birthDate" <el-table-column label="手机号码" align="center" prop="phone" show-overflow-tooltip width="150" />
show-overflow-tooltip <el-table-column label="证件类型" align="center" prop="idCardType" show-overflow-tooltip width="200">
width="150"
fixed
/>
<el-table-column
label="民族"
align="center"
prop="ethnicity"
show-overflow-tooltip
width="100"
/>
<el-table-column
label="受教育年限"
align="center"
prop="educationYears"
show-overflow-tooltip
width="100"
/>
<el-table-column
label="手机号码"
align="center"
prop="phone"
show-overflow-tooltip
width="150"
/>
<el-table-column
label="证件类型"
align="center"
prop="idCardType"
show-overflow-tooltip
width="200"
>
<template slot-scope="scope"> <template slot-scope="scope">
{{ idCardTypeValue[scope.row.idCardType] }} {{ idCardTypeValue[scope.row.idCardType] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="证件号码" align="center" prop="idCard" show-overflow-tooltip width="180" />
label="证件号码"
align="center"
prop="idCard"
show-overflow-tooltip
width="180"
/>
<el-table-column <el-table-column label="建档人" align="center" prop="createBy" show-overflow-tooltip width="100" />
label="建档人" <el-table-column label="建档组织(医院名称)" align="center" prop="tenantName" show-overflow-tooltip width="150" />
align="center"
prop="createBy"
show-overflow-tooltip
width="100"
/>
<el-table-column
label="建档组织(医院名称)"
align="center"
prop="tenantName"
show-overflow-tooltip
width="150"
/>
<el-table-column label="建档日期" align="center" width="140"> <el-table-column label="建档日期" align="center" width="140">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ <span>{{
@ -217,14 +90,7 @@
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column fixed="right" label="来源" align="center" prop="source" show-overflow-tooltip width="100">
fixed="right"
label="来源"
align="center"
prop="source"
show-overflow-tooltip
width="100"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.source == 0">筛查</span> <span v-if="scope.row.source == 0">筛查</span>
<span v-if="scope.row.source == 1">录入</span> <span v-if="scope.row.source == 1">录入</span>
@ -233,67 +99,26 @@
</el-table-column> </el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="150"> <el-table-column fixed="right" label="操作" align="center" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button size="mini" type="text" icon="el-icon-edit"
size="mini" @click="handleUpdate(scope.row)">修改</el-button>
type="text" <el-button size="mini" type="text" icon="el-icon-delete"
icon="el-icon-edit" @click="handleDelete(scope.row)">删除</el-button>
@click="handleUpdate(scope.row)" <el-button size="mini" type="text" icon="el-icon-tickets"
>修改</el-button @click="handleDetails(scope.row)">详情</el-button>
> <el-button size="mini" type="text" icon="el-icon-notebook-2"
<el-button @click="handleArchives(scope.row)">诊疗档案</el-button>
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-tickets"
@click="handleDetails(scope.row)"
>详情</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-notebook-2"
@click="handleArchives(scope.row)"
>诊疗档案</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
v-show="total > 0" :limit.sync="queryParams.pageSize" @pagination="getList" />
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改公告对话框 --> <!-- 添加或修改公告对话框 -->
<el-dialog <el-dialog class="popup" :title="title" :visible.sync="open" width="780px" append-to-body>
class="popup" <el-form class="formStep" ref="form" :model="form" :rules="rules" label-width="100px">
:title="title"
:visible.sync="open"
width="780px"
append-to-body
>
<el-form
class="formStep"
ref="form"
:model="form"
:rules="rules"
label-width="100px"
>
<el-form-item label="姓名" prop="name"> <el-form-item label="姓名" prop="name">
<el-input <el-input v-model="form.name" :disabled="formDisabled" placeholder="请输入" />
v-model="form.name"
:disabled="formDisabled"
placeholder="请输入"
/>
</el-form-item> </el-form-item>
<el-form-item label="性别" prop="gender"> <el-form-item label="性别" prop="gender">
<el-radio-group v-model="form.gender" :disabled="formDisabled"> <el-radio-group v-model="form.gender" :disabled="formDisabled">
@ -302,72 +127,34 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="出生日期" prop="birthDate"> <el-form-item label="出生日期" prop="birthDate">
<el-date-picker <el-date-picker :disabled="formDisabled" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
:disabled="formDisabled" v-model="form.birthDate" type="date" placeholder="选择日期">
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
v-model="form.birthDate"
type="date"
placeholder="选择日期"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="民族" prop="ethnicity"> <el-form-item label="民族" prop="ethnicity">
<el-input <el-input v-model="form.ethnicity" placeholder="请输入" :disabled="formDisabled" />
v-model="form.ethnicity"
placeholder="请输入"
:disabled="formDisabled"
/>
</el-form-item> </el-form-item>
<el-form-item label="受教育年限" prop="educationYears"> <el-form-item label="受教育年限" prop="educationYears">
<el-input <el-input v-model="form.educationYears" placeholder="请输入" :disabled="formDisabled" />
v-model="form.educationYears"
placeholder="请输入"
:disabled="formDisabled"
/>
</el-form-item> </el-form-item>
<el-form-item label="手机号码" prop="phone"> <el-form-item label="手机号码" prop="phone">
<el-input <el-input v-model="form.phone" placeholder="请输入" :disabled="formDisabled" />
v-model="form.phone"
placeholder="请输入"
:disabled="formDisabled"
/>
</el-form-item> </el-form-item>
<el-form-item label="证件类型" prop="idCardType"> <el-form-item label="证件类型" prop="idCardType">
<el-select <el-select v-model="form.idCardType" placeholder="请选择" :disabled="formDisabled">
v-model="form.idCardType" <el-option v-for="item in idCardType" :key="item.value" :label="item.label" :value="item.value">
placeholder="请选择"
:disabled="formDisabled"
>
<el-option
v-for="item in idCardType"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="证件号码" prop="idCard"> <el-form-item label="证件号码" prop="idCard">
<el-input <el-input v-model="form.idCard" placeholder="请输入" :disabled="formDisabled" />
v-model="form.idCard"
placeholder="请输入"
:disabled="formDisabled"
/>
</el-form-item> </el-form-item>
<el-form-item label="现病史" prop="currentIllnessHistory"> <el-form-item label="现病史" prop="currentIllnessHistory">
<el-checkbox-group <el-checkbox-group v-model="form.currentIllnessHistory" :disabled="formDisabled">
v-model="form.currentIllnessHistory"
:disabled="formDisabled"
>
<el-checkbox v-for="(item, index) in medicalHistory" :label="item"> <el-checkbox v-for="(item, index) in medicalHistory" :label="item">
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
<el-input <el-input v-model="form.currentIllnessHistoryQt" placeholder="其他" :disabled="formDisabled" />
v-model="form.currentIllnessHistoryQt"
placeholder="其他"
:disabled="formDisabled"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -376,25 +163,12 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 导入患者信息 --> <!-- 导入患者信息 -->
<el-dialog <el-dialog title="导入患者档案" :visible.sync="importOpen" width="640px" append-to-body>
title="导入患者档案"
:visible.sync="importOpen"
width="640px"
append-to-body
>
<el-form ref="form" :model="importform"> <el-form ref="form" :model="importform">
<el-form-item prop="accessUrl"> <el-form-item prop="accessUrl">
<el-upload <el-upload :limit="1" class="avatar-uploader wj-uploader" :headers="headers"
:limit="1" :action="uploadFileUrl1" accept=".xlsx, .xls" :before-upload="handleBeforePdfUpload1"
class="avatar-uploader wj-uploader" :on-success="handleUploadPdfAdd1" :file-list="fileList" :show-file-list="true">
:headers="headers"
:action="uploadFileUrl1"
accept=".xlsx, .xls"
:before-upload="handleBeforePdfUpload1"
:on-success="handleUploadPdfAdd1"
:file-list="fileList"
:show-file-list="true"
>
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text"> <div class="el-upload__text">
将文件拖到此处 将文件拖到此处
@ -408,7 +182,9 @@
</template> </template>
<script> <script>
import { getToken } from "@/utils/auth"; import {
getToken
} from "@/utils/auth";
import { import {
queryPatient, queryPatient,
patientAdd, patientAdd,
@ -447,8 +223,7 @@ export default {
"肾炎、肾病", "肾炎、肾病",
"高脂血症", "高脂血症",
], ],
idCardType: [ idCardType: [{
{
label: "身份证", label: "身份证",
value: 0, value: 0,
}, },
@ -465,8 +240,8 @@ export default {
value: 3, value: 3,
}, },
{ {
label: "台湾居民来往大陆通行证", label: "其他",
value: 3, value: 4,
}, },
], ],
idCardTypeValue: { idCardTypeValue: {
@ -505,37 +280,51 @@ export default {
form: {}, form: {},
// //
rules: { rules: {
name: [ name: [{
{ required: true, message: "患者姓名不能为空", trigger: "blur" }, required: true,
], message: "患者姓名不能为空",
gender: [ trigger: "blur"
{ required: true, message: "性别不能为空", trigger: "change" }, }, ],
], gender: [{
birthDate: [ required: true,
{ required: true, message: "出生日期不能为空", trigger: "change" }, message: "性别不能为空",
], trigger: "change"
phone: [ }, ],
{ required: true, message: "手机号码不能为空", trigger: "blur" }, birthDate: [{
], required: true,
ethnicity: [ message: "出生日期不能为空",
{ required: true, message: "民族不能为空", trigger: "blur" }, trigger: "change"
], }, ],
idCardType: [ phone: [{
{ required: true, message: "证件类型不能为空", trigger: "blur" }, required: true,
], message: "手机号码不能为空",
idCard: [ trigger: "blur"
{ required: true, message: "证件号码不能为空", trigger: "blur" }, }, ],
], ethnicity: [{
educationYears: [ required: true,
{ required: true, message: "受教育年限不能为空", trigger: "blur" }, message: "民族不能为空",
], trigger: "blur"
currentIllnessHistory: [ }, ],
{ idCardType: [{
required: true,
message: "证件类型不能为空",
trigger: "blur"
}, ],
idCard: [{
required: true,
message: "证件号码不能为空",
trigger: "blur"
}, ],
educationYears: [{
required: true,
message: "受教育年限不能为空",
trigger: "blur"
}, ],
currentIllnessHistory: [{
required: true, required: true,
message: "现病史不能为空", message: "现病史不能为空",
trigger: "blur", trigger: "blur",
}, }, ],
],
}, },
}; };
}, },
@ -546,7 +335,7 @@ export default {
// - pdg // - pdg
handleUploadPdfAdd1(res) { handleUploadPdfAdd1(res) {
if (res.code == 200) { if (res.code == 200) {
this.physicaOpen = false; this.importOpen = false;
this.getList(); this.getList();
this.$modal.msgSuccess("导入成功"); this.$modal.msgSuccess("导入成功");
} else { } else {
@ -668,7 +457,9 @@ export default {
this.$modal this.$modal
.confirm("是否确认删除当前选择的数据?") .confirm("是否确认删除当前选择的数据?")
.then(function() { .then(function() {
return patientDel({ idList: idList }); return patientDel({
idList: idList
});
}) })
.then(() => { .then(() => {
this.getList(); this.getList();
@ -679,8 +470,7 @@ export default {
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download1( this.download1(
"/patient/export", "/patient/export", {
{
...this.queryParams.params, ...this.queryParams.params,
}, },
`患者档案.xlsx` `患者档案.xlsx`
@ -689,17 +479,14 @@ export default {
/** 下载按钮操作 */ /** 下载按钮操作 */
handleDownload() { handleDownload() {
this.download1( this.download1(
"/patient/export", "/patient/export", {},
{ `患者档案导入模版.xlsx`
...this.queryParams.params,
},
`患者档案.xlsx`
); );
}, },
/** 导入按钮操作 */ /** 导入按钮操作 */
handleImport() { handleImport() {
this.upload.title = "用户导入"; this.fileList = []
this.upload.open = true; this.importOpen = true;
}, },
}, },
}; };
@ -710,9 +497,11 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.form-item-age span { .form-item-age span {
margin: 0 10px; margin: 0 10px;
} }
.form-item-age>>>.el-input { .form-item-age>>>.el-input {
width: 100px; width: 100px;
} }

Loading…
Cancel
Save