Browse Source

诊疗档案下载模板按钮点击无效

newMaster
1747191978@qq.com 4 months ago
parent
commit
c53558168c
  1. 694
      acupuncture-前台/src/views/followFile/subjects.vue
  2. 4
      acupuncture-前台/src/views/medicalFile/index.vue

694
acupuncture-前台/src/views/followFile/subjects.vue

@ -1,418 +1,314 @@
<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" <el-form-item label="随访队列" prop="queueId">
size="small" <el-select v-model="queryParams.param.queueId" clearable placeholder="请选择">
:inline="true" <el-option v-for="item in followupList" :key="item.id" :label="item.name" :value="item.id">
v-show="showSearch" </el-option>
label-width="68px" </el-select>
> </el-form-item>
<el-form-item label="随访队列" prop="queueId"> <el-form-item>
<el-select v-model="queryParams.param.queueId" clearable placeholder="请选择"> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-option <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">
v-for="item in followupList" 重置
:key="item.id" </el-button>
:label="item.name" </el-form-item>
:value="item.id" </el-form>
>
</el-option>
</el-select>
</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-row :gutter="10" class="mb8">
<right-toolbar <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
:showSearch.sync="showSearch" </el-row>
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table <el-table v-loading="loading" :data="listDat" @selection-change="handleSelectionChange" max-height="600">
v-loading="loading" <el-table-column type="selection" width="55" align="center" />
:data="listDat" <el-table-column label="姓名" align="center" prop="name" width="100" fixed />
@selection-change="handleSelectionChange" <el-table-column fixed label="性别" align="center" prop="gender" show-overflow-tooltip min-width="100">
max-height="600" <template slot-scope="scope">
> <span v-if="scope.row.gender == 0"></span>
<el-table-column type="selection" width="55" align="center" /> <span v-if="scope.row.gender == 1"></span>
<el-table-column label="姓名" align="center" prop="name" width="100" fixed/> </template>
<el-table-column </el-table-column>
fixed
label="性别"
align="center"
prop="gender"
show-overflow-tooltip
min-width="100"
>
<template slot-scope="scope">
<span v-if="scope.row.gender == 0"></span>
<span v-if="scope.row.gender == 1"></span>
</template>
</el-table-column>
<el-table-column <el-table-column fixed label="出生日期" align="center" prop="birthDate" show-overflow-tooltip min-width="150">
fixed <template slot-scope="scope">
label="出生日期" {{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}
align="center" </template>
prop="birthDate" </el-table-column>
show-overflow-tooltip <el-table-column label="民族" align="center" prop="ethnicity" show-overflow-tooltip min-width="100" />
min-width="150" <el-table-column label="受教育年限" align="center" prop="educationYears" show-overflow-tooltip min-width="100" />
> <el-table-column label="手机号码" align="center" prop="phone" show-overflow-tooltip min-width="150" />
<template slot-scope="scope"> <el-table-column label="证件类型" align="center" prop="idCardType" show-overflow-tooltip min-width="200">
{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }} <template slot-scope="scope">
</template> {{ idCardTypeValue[scope.row.idCardType] }}
</el-table-column> </template>
<el-table-column </el-table-column>
label="民族" <el-table-column label="证件号码" align="center" prop="idCard" show-overflow-tooltip min-width="180" />
align="center" <el-table-column fixed="right" label="随访队列" align="center" prop="queueList" show-overflow-tooltip
prop="ethnicity" min-width="180">
show-overflow-tooltip <template slot-scope="scope">
min-width="100" <div v-if="scope.row.queueList && scope.row.queueList.length">
/> {{ scope.row.queueList.map((i) => i.queueName).join(",") }}
<el-table-column </div>
label="受教育年限" </template>
align="center" </el-table-column>
prop="educationYears" <el-table-column label="创建人/创建时间" align="center" width="140" fixed="right">
show-overflow-tooltip <template slot-scope="scope">
min-width="100" <div>{{ scope.row.createBy }}</div>
/> <span>{{
<el-table-column
label="手机号码"
align="center"
prop="phone"
show-overflow-tooltip
min-width="150"
/>
<el-table-column
label="证件类型"
align="center"
prop="idCardType"
show-overflow-tooltip
min-width="200"
>
<template slot-scope="scope">
{{ idCardTypeValue[scope.row.idCardType] }}
</template>
</el-table-column>
<el-table-column
label="证件号码"
align="center"
prop="idCard"
show-overflow-tooltip
min-width="180"
/>
<el-table-column
fixed="right"
label="随访队列"
align="center"
prop="queueList"
show-overflow-tooltip
min-width="180"
>
<template slot-scope="scope">
<div v-if="scope.row.queueList && scope.row.queueList.length">
{{ scope.row.queueList.map((i) => i.queueName).join(",") }}
</div>
</template>
</el-table-column>
<el-table-column
label="创建人/创建时间"
align="center"
width="140"
fixed="right"
>
<template slot-scope="scope">
<div>{{ scope.row.createBy }}</div>
<span>{{
parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}") parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}")
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="200"> <el-table-column fixed="right" label="操作" align="center" width="200">
<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-tickets"
icon="el-icon-edit" @click="handlePatient(scope.row)">患者档案</el-button>
@click="handleUpdate(scope.row)" <el-button size="mini" type="text" icon="el-icon-notebook-2"
>队列管理</el-button @click="handleMedical(scope.row)">诊疗档案</el-button>
> </template>
<el-button </el-table-column>
size="mini" </el-table>
type="text"
icon="el-icon-tickets"
@click="handlePatient(scope.row)"
>患者档案</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-notebook-2"
@click="handleMedical(scope.row)"
>诊疗档案</el-button
>
</template>
</el-table-column>
</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="90px">
:title="title" <el-form-item label="随访队列" prop="queueIdList">
:visible.sync="open" <el-select v-model="form.queueIdList" multiple placeholder="请选择">
width="780px" <el-option v-for="item in followupList" :key="item.id" :label="item.name" :value="item.id">
append-to-body </el-option>
> </el-select>
<el-form </el-form-item>
class="formStep" </el-form>
ref="form" <div slot="footer" class="dialog-footer">
:model="form" <el-button type="primary" @click="submitForm"> </el-button>
:rules="rules" <el-button @click="cancel"> </el-button>
label-width="90px" </div>
> </el-dialog>
<el-form-item label="随访队列" prop="queueIdList"> </div>
<el-select v-model="form.queueIdList" multiple placeholder="请选择">
<el-option
v-for="item in followupList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</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>
</div>
</template> </template>
<script> <script>
import { queryPatient, followupQuery, updPatient } from "@/api/followupFile"; import {
export default { queryPatient,
name: "Notice", followupQuery,
data() { updPatient
return { } from "@/api/followupFile";
fileList: [], export default {
idCardType: [{ name: "Notice",
label: "身份证", data() {
value: 0, return {
}, fileList: [],
{ idCardType: [{
label: "护照或外国人永居证", label: "身份证",
value: 1, value: 0,
}, },
{ {
label: "港澳居民来往内地通行", label: "护照或外国人永居证",
value: 2, value: 1,
}, },
{ {
label: "台湾居民来往大陆通行证", label: "港澳居民来往内地通行",
value: 3, value: 2,
}, },
{ {
label: "其他", label: "台湾居民来往大陆通行证",
value: 4, value: 3,
}, },
], {
idCardTypeValue: { label: "其他",
0: "身份证", value: 4,
1: "护照或外国人永居证", },
2: "港澳居民来往内地通行", ],
3: "台湾居民来往大陆通行证", idCardTypeValue: {
4: "其他", 0: "身份证",
}, 1: "护照或外国人永居证",
loading: false, // 2: "港澳居民来往内地通行",
ids: [], // 3: "台湾居民来往大陆通行证",
single: true, // 4: "其他",
multiple: true, // },
showSearch: true, // loading: false, //
total: 0, // ids: [], //
listDat: [{}], // single: true, //
title: "", // multiple: true, //
open: false, // showSearch: true, //
importOpen: false, // total: 0, //
// listDat: [{}], //
queryParams: { title: "", //
pageNum: 1, open: false, //
pageSize: 10, importOpen: false, //
param: {}, //
}, queryParams: {
formDisabled: false, pageNum: 1,
importform: {}, pageSize: 10,
// param: {},
form: {}, },
// formDisabled: false,
rules: { importform: {},
queueIdList: [ //
{ required: true, message: "随访队列不能为空", trigger: "change" }, form: {},
], //
}, rules: {
followupList: [], // 访 queueIdList: [{
}; required: true,
}, message: "随访队列不能为空",
created() { trigger: "change"
this.getList(); }, ],
this.getFollowupQuery(); },
}, followupList: [], // 访
methods: { };
// 访 },
getFollowupQuery() { created() {
followupQuery({ this.getList();
pageNum: -1, this.getFollowupQuery();
param: { },
status:1 methods: {
}, // 访
}).then((res) => { getFollowupQuery() {
this.followupList = res.data.list; followupQuery({
let commonQueue = JSON.parse(localStorage.getItem('commonQueue')) pageNum: -1,
commonQueue?.forEach(i=>{ param: {
this.followupList.unshift(i) status: 1
}) },
}); }).then((res) => {
}, this.followupList = res.data.list;
let commonQueue = JSON.parse(localStorage.getItem('commonQueue'))
commonQueue?.forEach(i => {
this.followupList.unshift(i)
})
});
},
/** 查询公告列表 */ /** 查询公告列表 */
getList() { getList() {
this.loading = true; this.loading = true;
queryPatient(this.queryParams).then((res) => { queryPatient(this.queryParams).then((res) => {
this.listDat = res.data.list; this.listDat = res.data.list;
this.total = res.data.total; this.total = res.data.total;
this.loading = false; this.loading = false;
}); });
}, },
// //
cancel() { cancel() {
this.open = false; this.open = false;
this.reset(); this.reset();
}, },
// //
reset() { reset() {
this.form = {}; this.form = {};
this.resetForm("form"); this.resetForm("form");
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
this.getList(); this.getList();
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.resetForm("queryForm"); this.queryParams = {
this.handleQuery(); param: {
}, queueId: ''
// },
handleSelectionChange(selection) { },
this.ids = selection.map((item) => item.id); this.handleQuery();
this.single = selection.length != 1; },
this.multiple = !selection.length; //
}, handleSelectionChange(selection) {
/** 修改按钮操作 */ this.ids = selection.map((item) => item.id);
handleUpdate(row) { this.single = selection.length != 1;
this.open = true; this.multiple = !selection.length;
this.title = "队列管理"; },
let queueList = row.queueList.map((item) => item.queueId); /** 修改按钮操作 */
this.form = JSON.parse( handleUpdate(row) {
JSON.stringify({ this.open = true;
...row, this.title = "队列管理";
patientId: row.id, let queueList = row.queueList.map((item) => item.queueId);
queueIdList: queueList, this.form = JSON.parse(
}) JSON.stringify({
); ...row,
}, patientId: row.id,
/** 跳转患者档案 */ queueIdList: queueList,
handlePatient(row) { })
this.$router.push({ );
path:`/patientIndex?idCard=${row.idCard}` },
}) /** 跳转患者档案 */
}, handlePatient(row) {
/** 诊疗档案 */ this.$router.push({
handleMedical(row) { path: `/patientIndex?idCard=${row.idCard}`
this.$router.push({ })
path:`/medicalIndex?idCard=${row.idCard}` },
}) /** 诊疗档案 */
}, handleMedical(row) {
/** 提交按钮 */ this.$router.push({
submitForm: function () { path: `/medicalIndex?idCard=${row.idCard}`
this.$refs["form"].validate((valid) => { })
if (valid) { },
updPatient(this.form).then((response) => { /** 提交按钮 */
this.$modal.msgSuccess("修改成功"); submitForm: function() {
this.open = false; this.$refs["form"].validate((valid) => {
this.getList(); if (valid) {
}); updPatient(this.form).then((response) => {
} this.$modal.msgSuccess("修改成功");
}); this.open = false;
}, this.getList();
});
}
});
},
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const idList = row.id ? [row.id] : this.ids; const idList = row.id ? [row.id] : this.ids;
this.$modal this.$modal
.confirm("是否确认删除当前选择的数据?") .confirm("是否确认删除当前选择的数据?")
.then(function () { .then(function() {
return patientDel({ idList: idList }); return patientDel({
}) idList: idList
.then(() => { });
this.getList(); })
this.$modal.msgSuccess("删除成功"); .then(() => {
}) this.getList();
.catch(() => {}); this.$modal.msgSuccess("删除成功");
}, })
/** 导出按钮操作 */ .catch(() => {});
handleExport() { },
this.download( /** 导出按钮操作 */
"system/user/export", handleExport() {
{ this.download(
...this.queryParams.params, "system/user/export", {
}, ...this.queryParams.params,
`患者档案.xlsx` },
); `患者档案.xlsx`
}, );
/** 导入按钮操作 */ },
handleImport() { /** 导入按钮操作 */
this.upload.title = "用户导入"; handleImport() {
this.upload.open = true; this.upload.title = "用户导入";
}, this.upload.open = true;
}, },
}; },
};
</script> </script>
<style scoped src="@/assets/styles/common.css"></style> <style scoped src="@/assets/styles/common.css"></style>
<style scoped> <style scoped>
.form-item-age { .form-item-age {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.form-item-age span {
margin: 0 10px; .form-item-age span {
} margin: 0 10px;
.form-item-age >>> .el-input { }
width: 100px;
} .form-item-age>>>.el-input {
width: 100px;
}
</style> </style>
<!-- >>> .el-input__inner { <!-- >>> .el-input__inner {
padding: 0 15px !important; padding: 0 15px !important;
} --> } -->

4
acupuncture-前台/src/views/medicalFile/index.vue

@ -119,7 +119,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="责任医生" align="center" prop="doctor" show-overflow-tooltip min-width="100" /> <el-table-column label="责任医生" align="center" prop="doctor" show-overflow-tooltip min-width="100" />
<el-table-column label="主要诊断" align="center" prop="diagnosisName" show-overflow-tooltip min-width="100" /> <el-table-column label="主要诊断" align="center" prop="diagnosisName" show-overflow-tooltip min-width="200" />
<el-table-column label="建档人" align="center" prop="createBy" show-overflow-tooltip min-width="100" /> <el-table-column label="建档人" align="center" prop="createBy" show-overflow-tooltip min-width="100" />
<el-table-column label="建档时间" align="center" min-width="140"> <el-table-column label="建档时间" align="center" min-width="140">
<template slot-scope="scope"> <template slot-scope="scope">
@ -134,7 +134,7 @@
<span>{{ status[scope.row.status] }}</span> <span>{{ status[scope.row.status] }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="随访队列" align="center" prop="" show-overflow-tooltip width="150"> <el-table-column label="随访队列" align="center" prop="" show-overflow-tooltip width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.queueVoList && scope.row.queueVoList.length"> <div v-if="scope.row.queueVoList && scope.row.queueVoList.length">
{{ scope.row.queueVoList.map((i) => i.queueName).join(",") }} {{ scope.row.queueVoList.map((i) => i.queueName).join(",") }}

Loading…
Cancel
Save