Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
闫晓茹 2024-07-05 16:09:51 +08:00
commit c9e6ec2645
10 changed files with 197 additions and 103 deletions

View File

@ -1,6 +1,49 @@
<template>
<div class="app-container">
<div class="header">
<div class="topheader">
<div class="user">
<img
class="headsculpture"
src="../../../assets/manage/touxiang.png"
alt=""
v-if="this.$route.query.sex == 'MALE'"
/>
<img
class="headsculpture"
src="../../../assets/manage/nvtouxiang.png"
alt=""
v-if="this.$route.query.sex == 'FEMALE'"
/>
<div class="name">
{{ this.$route.query.patientName }}
</div>
<div class="gender">
性别
{{ this.$route.query.sex == "MALE" ? "男" : this.$route.query.sex == "FEMALE" ? "女" : "" }}
</div>
<div class="gender">
年龄
{{ this.$route.query.age }}
</div>
<div class="gender">
出生日期
{{ this.$route.query.birthDate }}
</div>
<div class="gender">
医院{{this.$route.query.hospitalAgencyName}}
</div>
<div class="gender">
诊断{{this.$route.query.mainDiagnosis}}
</div>
</div>
</div>
<div class="list">
<div class="timelist">
<div class="left" ref="box">
<div class="name">画像分组</div>
@ -33,8 +76,9 @@
"
>
{{ ulitem.taskTypeName
}}<span class="spanitme" v-if="ulitem.taskTypeName">~</span
}}<span class="spanitme" v-if="ulitem.taskTypeName">-</span
>{{ ulitem.taskPartitionDictName }}
<span class="count" v-if="ulitem.fieldSort">{{ulitem.fieldSort}}</span>
</div>
</div>
</div>
@ -43,7 +87,7 @@
<div class="topform">
<div style="margin-bottom: 20px">
<div v-for="(aitem, aindex) in getParamslistData" :key="aindex">
<div style="margin-left: 80px;">
<div style="margin-left: 80px">
<!-- {{aitem}} -->
<div class="toptitle">{{ aitem.taskPartitionDictName }}</div>
<div
@ -105,7 +149,7 @@ export default {
DepartmentoList: [],
//
querydepartmen: {
// patientId: this.$route.query.patientId,
patientId: this.$route.query.patientId,
taskPartitionDictName: "",
},
itemdata: {},
@ -276,13 +320,13 @@ export default {
padding: 2px 44px 0;
text-align: right;
position: relative;
bottom: 66px;
bottom: 90px;
}
.texts {
// overflow-y: scroll;
overflow-x: hidden;
width: 72%;
height: calc(100vh - 157px);
height: calc(100vh - 246px);
background-color: #fff;
.topform {
width: 100%;
@ -331,30 +375,60 @@ export default {
}
}
}
.app-container{
padding: 0px 0 10px 0px;
height: calc(100vh - 46px);
}
.header {
// background-color: #f2f4f5;
// padding-top: 10px;
height: calc(100vh - 84px);
padding: 0px 10px 10px 0px;
// height: calc(100vh - 46px);
.topheader{
width: 99%;
height: 80px;
margin: 0 auto;
.user {
// background: #fff;
width: 100%;
padding: 0 20px;
display: flex;
height: 80px;
align-items: center;
line-height: 80px;
.name {
font-size: 20px;
padding-left: 12px;
}
.gender {
padding-left: 40px;
}
.headsculpture {
border-radius: 50%;
width: 40px;
height: 40px;
}
}
}
}
.list {
margin: 0 auto;
width: 100%;
height: calc(100% - 11px);
height: calc(100% - 40px);
background-color: #f2f4f5;
display: flex;
padding-top: 15px;
padding-top: 9px;
justify-content: space-evenly;
::v-deep .el-card {
margin-top: 20px !important;
}
.timelist {
width: 25%;
width: 27%;
overflow: hidden;
.left {
width: 100%;
background-color: #fff;
padding: 17px 20px;
height: calc(100vh - 156px);
background-color: #fff;
padding: 17px 20px;
height: calc(100vh - 243px);
overflow-y: auto;
.name {
font-weight: 700;
@ -362,7 +436,7 @@ export default {
}
.listitem {
width: 100%;
// width: 100%;
height: 50px;
border-bottom: 1px solid #dcdfe6;
.spanitme {
@ -371,12 +445,10 @@ export default {
}
.count {
display: inline-block;
position: relative;
// right: -172px;
left: 210px;
float: right;
right: 20px;
margin-right: 30px;
color: #a4a6aa;
top: -35px;
font-size: 13px;
}
@ -395,14 +467,6 @@ export default {
}
}
}
.timetitle {
height: 60px;
display: flex;
align-items: center;
justify-content: space-between;
}
::v-deep .el-timeline {
width: 100%;
padding: 15px 0 0 !important;
@ -413,35 +477,10 @@ export default {
border: 1px solid #409eff;
border-left: 5px solid #409eff;
}
.top {
display: flex;
justify-content: space-between;
align-items: center;
.toptop {
display: flex;
align-items: center;
}
span {
padding: 0 4px;
}
i {
font-size: 17px;
}
i:nth-child(2) {
padding-left: 12px;
}
}
::v-deep .el-timeline-item__timestamp {
margin: 0 !important;
padding: 0 !important;
}
::v-deep .el-timeline-item__wrapper {
padding-left: 14px !important;
}

View File

@ -156,7 +156,7 @@ import specialDiseaseRoute from '../components/specialDiseaseRoute'
export default {
dicts: ['hardware_type'],
components: { specialDiseaseRoute },
name: "newSigning",
name: "ContinueSigning",
data() {
return {
signPackage: {

View File

@ -23,19 +23,18 @@
:data="item.taskPartitionDictList"
style="width: 100%"
:show-header="false"
:row-style="{ height: '35px' }" :cell-style="{ padding: '0px' }"
>
<el-table-column prop="" label="">
<template slot-scope="scope">
<!-- <div
class="zljcard"
v-for="(aitem, aindex) in scope.row.items"
:key="aindex"
> -->
<div
@click="clickitem(scope.row)"
:class="itemid == scope.row.id ? 'allactive' : 'collitem'"
>
{{ scope.row.taskPartitionName }}
<span class="count" v-if="scope.row.taskPartitionRemark">{{scope.row.taskPartitionRemark}}</span>
</div>
<!-- </div> -->
</template>
@ -150,14 +149,15 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="字段名称" align="center" prop="fieldName" />
<el-table-column label="字段编码" align="center" prop="fieldCode" />
<el-table-column
label="任务细分"
align="center"
prop="taskPartitionDictName"
:show-overflow-tooltip="true"
/>
<el-table-column label="字段名称" align="center" prop="fieldName" />
<el-table-column label="字段编码" align="center" prop="fieldCode" />
<el-table-column label="字段类型" align="center" prop="fieldType">
<template slot-scope="scope">
{{ scope.row.fieldType == "STRING" ? "默认字符串" : "" }}
@ -1366,7 +1366,7 @@ export default {
// }
::v-deep .el-collapse-item__header {
font-size: 15px;
font-weight: 600;
// font-weight: 600;
}
::v-deep .el-collapse-item__wrap {
border-bottom: none;
@ -1380,38 +1380,47 @@ export default {
height: calc(100vh - 119px);
overflow-y: auto;
overflow-x: hidden;
::v-deep .el-collapse-item__content{
padding-bottom: 0px;
}
.count {
float: right;
margin-right: 50px;
color: #a4a6aa;
font-size: 13px;
}
::v-deep table td.el-table__cell:last-child {
// border-bottom: 1px solid #dfe6ec;
border-bottom: none;
// border-bottom: none;
}
.clickall {
// width: 167px;
width: 167px;
height: 48px;
line-height: 48px;
background: #e8f4ff;
/* background: red; */
font-size: 15px;
font-weight: 600;
// font-weight: 600;
}
.all {
// width: 167px;
height: 48px;
line-height: 48px;
/* background: red; */
font-size: 15px;
font-weight: 600;
// font-weight: 600;
}
.collitem {
// width: 100%;
// height: 45px;
// padding: 10px;
margin-left: 15px;
width: 110%;
height: 35px;
line-height: 35px;
padding-left: 10px;
margin-left: -10px;
}
.allactive {
width: 100%;
height: 45px;
padding: 10px;
width: 110%;
height: 35px;
line-height: 35px;
padding-left: 10px;
margin-left: -10px;
background: #e8f4ff;
}
}

View File

@ -148,7 +148,7 @@ import { usergetList } from "@/api/unitconfig/patientConfiguration";
export default {
components: { specialDiseaseRoute },
dicts: ['hardware_type'],
name: "newSigning",
name: "NewSigning",
data() {
return {
signPackage: {

View File

@ -284,6 +284,8 @@ export default {
address: row.address,
patientSource: row.patientSource,
createTime: row.createTime,
hospitalAgencyName:row.hospitalAgencyName,
mainDiagnosis:row.mainDiagnosis,
age: row.birthDate ? getAge(row.birthDate) : '',
},
});

View File

@ -297,7 +297,7 @@
format='yyyy-MM-dd HH:mm' placeholder="请选择门诊时间" style="width:200px">
</el-date-picker>
</el-form-item>
<el-form-item label="入院时间" prop="admissionTime" v-show="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-form-item label="入院时间" prop="admissionTime" v-if="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-date-picker clearable v-model="form.admissionTime" type="datetime" value-format="yyyy-MM-dd HH:mm"
format='yyyy-MM-dd HH:mm' style="width:200px" placeholder="请选择入院时间">
</el-date-picker>
@ -825,7 +825,10 @@ export default {
if (this.form.attendingPhysicianId && this.form_attendingPhysicianlist?.length > 0) {
this.form.attendingPhysicianName = this.form_attendingPhysicianlist.find(e => e.userId == this.form.attendingPhysicianId)?.nickName
}
this.$refs["form"].validate(valid => {
if(this.form.visitMethod == 'OUTPATIENT_SERVICE'){
this.form.admissionTime = ''
}
this.$refs["openform"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updatePatientInfo(this.form).then(response => {

View File

@ -260,7 +260,7 @@ import { servicepackageinfo } from "@/api/manage/signRecord.js";
import { getAgencytype } from "@/api/system/agency";
export default {
name: "editorialSpecialization",
name: "EditorialSpecialization",
data() {
return {
options: [],

View File

@ -6,7 +6,7 @@
</el-tabs>
<div ref="topform" class="form">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="随访时间" prop="startDate">
<el-form-item label="执行时间" prop="startDate">
<el-date-picker v-model="intentionalTime" type="daterange" range-separator="" start-placeholder="开始日期"
style="width: 300px" value-format="yyyy-MM-dd" end-placeholder="结束日期" @change="chooseTime">
</el-date-picker>
@ -25,26 +25,31 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="就诊类型" prop="suitRange">
<el-form-item label="就诊方式" prop="visitMethod">
<el-select v-model="queryParams.visitMethod" placeholder="请选择就诊方式" clearable>
<el-option v-for="dict in dict.type.visit_method" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<!-- <el-form-item label="就诊类型" prop="suitRange">
<el-select v-model="queryParams.suitRange" placeholder="请选择就诊类型" clearable @change="change">
<el-option v-for="item in visitoptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="就诊流水号" prop="visitSerialNumber">
<el-input v-model="queryParams.visitSerialNumber" placeholder="请输入就诊流水号" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="门诊/出院时间" prop="intentionalTimeStart">
<!-- <el-form-item label="门诊/出院时间" prop="intentionalTimeStart">
<el-date-picker @change="mzchange" v-model="mzTime" type="daterange" range-separator=""
start-placeholder="开始日期" style="width: 300px" value-format="yyyy-MM-dd" end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="入院时间" prop="intentionalTimeStart">
</el-form-item> -->
<!-- <el-form-item label="入院时间" prop="intentionalTimeStart">
<el-date-picker v-model="ryTime" type="daterange" range-separator="" start-placeholder="开始日期"
style="width: 300px" value-format="yyyy-MM-dd" end-placeholder="结束日期" @change="rychange">
</el-date-picker>
</el-form-item>
</el-form-item> -->
<el-form-item label="诊断" prop="mainDiagnosis">
<el-input v-model="queryParams.mainDiagnosis" placeholder="请选择诊断" clearable
@keyup.enter.native="handleQuery" />
@ -77,6 +82,10 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务名称" prop="manageRouteName">
<el-input v-model="queryParams.manageRouteName" placeholder="请输入任务名称" clearable style="width: 200px"
@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>
@ -106,33 +115,64 @@
<el-table-column label="诊断" align="center" prop="mainDiagnosis" width="120" :show-overflow-tooltip="true" />
<el-table-column label="手术名称" align="center" prop="surgicalName" />
<el-table-column label="主治医生" align="center" prop="attendingPhysicianName" width="80" />
<el-table-column label="就诊类型" align="center" prop="suitRange" width="80">
<el-table-column label="就诊方式" align="center" prop="visitMethod">
<template slot-scope="scope">
<span>{{ scope.row.visitMethod == "OUTPATIENT_SERVICE" ? "门诊" : "" }}
{{ scope.row.visitMethod == "BE_IN_HOSPITAL" ? "住院" : "" }}
</span>
</template></el-table-column>
<!-- <el-table-column label="就诊类型" align="center" prop="suitRange" width="80">
<template slot-scope="scope">
<span>
{{ scope.row.suitRange == "OUTPATIENT_SERVICE" ? "门诊" : "" }}
{{ scope.row.suitRange == "IN_THE_HOSPITAL" ? "在院" : "" }}
{{ scope.row.suitRange == "DISCHARGE" ? "出院" : "" }}
</span>
</template></el-table-column>
</template></el-table-column> -->
<el-table-column label="入院时间" align="center" prop="admissionTime" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.admissionTime, "{y}-{m}-{d}") }}</span>
{{scope.row.visitMethod == "BE_IN_HOSPITAL"? parseTime(scope.row.admissionTime, "{y}-{m}-{d}"):'' }}
<!-- <span>{{ parseTime(scope.row.admissionTime, "{y}-{m}-{d}") }}</span> -->
</template>
</el-table-column>
<el-table-column label="门诊/出院时间" align="center" prop="visitOrDischargeTime" width="105">
<el-table-column label="门诊/出院时间" align="center" prop="visitTime" width="105">
<template slot-scope="scope">
<span>
{{ parseTime(scope.row.visitOrDischargeTime, "{y}-{m}-{d}") }}
{{scope.row.visitMethod == "OUTPATIENT_SERVICE"? parseTime(scope.row.visitTime, "{y}-{m}-{d}"):'' }}
{{scope.row.visitMethod == "BE_IN_HOSPITAL"? parseTime(scope.row.dischargeTime, "{y}-{m}-{d}"):'' }}
</span>
</template>
</el-table-column>
<el-table-column label="随访时间" align="center" prop="executeTime" width="80">
<el-table-column label="任务名称" align="center" prop="manageRouteName" width="110">
</el-table-column>
<el-table-column label="任务节点名称" align="center" prop="routeNodeName" width="110">
<template slot-scope="scope">
<span v-if="scope.row.routeNodeName == 'AFTER_DISCHARGE'">出院后<span v-if="scope.row.routeNodeDay">{{scope.row.routeNodeDay}}</span></span>
<span v-if="scope.row.routeNodeName == 'AFTER_ADMISSION'">入院后<span v-if="scope.row.routeNodeDay">{{scope.row.routeNodeDay}}</span></span>
<span v-if="scope.row.routeNodeName == 'AFTER_CONSULTATION'">就诊后<span v-if="scope.row.routeNodeDay">{{scope.row.routeNodeDay}}</span></span>
<span v-if=" scope.row.routeNodeName == 'AFTER_VISIT_DISCHARGE'">就诊/出院后<span v-if="scope.row.routeNodeDay">{{scope.row.routeNodeDay}}</span></span>
<span v-if="scope.row.routeNodeName == 'PREOPERATIVE'">术前<span v-if="scope.row.routeNodeDay">{{scope.row.routeNodeDay}}</span></span>
<span v-if=" scope.row.routeNodeName == 'POSTOPERATIVE'">术后<span v-if="scope.row.routeNodeDay">{{scope.row.routeNodeDay}}</span></span>
</template>
</el-table-column>
<el-table-column label="任务内容" align="center" prop="taskType" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>
{{ scope.row.taskType == "PHONE_OUTBOUND" ? "电话外呼" : "" }}
{{ scope.row.taskType == "QUESTIONNAIRE_SCALE" ? "问卷量表" : "" }}
{{ scope.row.taskType == "PROPAGANDA_ARTICLE" ? "宣教文章" : "" }}
{{ scope.row.taskType == "TEXT_REMIND" ? "文字提醒" : "" }}
{{ scope.row.taskType == "ARTIFICIAL_FOLLOW_UP" ? "人工随访" : "" }}
</span>
</template>
</el-table-column>
<el-table-column label="执行时间" align="center" prop="executeTime" width="80">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.executeTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="随访模板" align="center" prop="templateName" width="110">
</el-table-column>
<!-- <el-table-column label="随访模板" align="center" prop="templateName" width="110">
</el-table-column> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button v-if="queryParams.nodeExecuteStatus == 'UNEXECUTED'" size="mini" type="text"
@ -158,7 +198,8 @@ import {
} from "@/api/manage/selectAgencyList";
export default {
name: "Followup22",
dicts: ["visit_type"],
dicts: ["visit_method"],
data() {
return {
maxTableHeight: undefined,

View File

@ -636,7 +636,7 @@ export default {
questionopennew,
Editorxj,
},
name: "specialDiseaseNode",
name: "SpecialDiseaseNode",
data() {
return {
formview: {},

View File

@ -18,7 +18,7 @@
</el-form-item>
<el-form-item label="就诊方式" prop="visitMethod">
<el-select v-model="queryParams.visitMethod" placeholder="请选择就诊方式" clearable>
<el-option v-for="dict in dict.type.visit_type" :key="dict.value" :label="dict.label" :value="dict.value" />
<el-option v-for="dict in dict.type.visit_method" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="就诊流水号" prop="visitSerialNumber">
@ -84,7 +84,7 @@
<el-table-column label="就诊方式" align="center" prop="visitMethod">
<template slot-scope="scope">
<span>{{ scope.row.visitMethod == "OUTPATIENT_SERVICE" ? "门诊" : "" }}
{{ scope.row.visitMethod == "BE_HOSPITALIZED" ? "住院" : "" }}
{{ scope.row.visitMethod == "BE_IN_HOSPITAL" ? "住院" : "" }}
</span>
</template></el-table-column>
<el-table-column label="任务名称" align="center" prop="manageRouteName" />
@ -144,7 +144,7 @@ import { getAge } from "@/utils/age";
import { selectAgencyList } from "@/api/manage/selectAgencyList";
export default {
name: "TaskExecuteRecord",
dicts: ["visit_type"],
dicts: ["visit_method"],
data() {
return {
maxTableHeight: undefined,