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

This commit is contained in:
闫晓茹 2024-04-10 14:33:03 +08:00
commit a793c9ad1c
12 changed files with 511 additions and 76 deletions

View File

@ -0,0 +1,11 @@
import request from '@/utils/request'
// 查询患者列表
export function tasklist(query) {
return request({
url: '/manage/signnode/tasklist',
method: 'get',
params: query
})
}

View File

@ -12,7 +12,7 @@ export function listVisitRecord(query) {
// 查询患者就诊记录基本信息详细
export function getVisitRecord(id) {
return request({
url: '/manage/visitRecord/' + id,
url: '/manage/patientInfo/' + id,
method: 'get'
})
}

View File

@ -52,10 +52,8 @@ const user = {
return new Promise((resolve, reject) => {
getInfo().then(res => {
const user = res.user
console.log(user,'user')
Cookies.set("userId",user.userId)
Cookies.set("userName",user.userName)
// localStorage.setItem("userId",user.userId);
const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
localStorage.setItem('user', JSON.stringify(user))

View File

@ -1,6 +1,6 @@
<template>
<div class="header">
<div class="leftheader">
<div class="leftheader" v-if="categorylist.length > 0">
<div class="item" v-for="(item, index) in categorylist" :key="item.id" @click="clickcategory(item, index)"
:class="index == categoryindex ? 'selectitem' : ''">
<div class="name">
@ -8,36 +8,11 @@
</div>
</div>
</div>
<div class="rightheader">
<div class="rightheader" v-if="categorylist.length > 0">
<div class="richtext">
饮食种类宣教知多少
00:00:00
00:02:26
1 普通饮食
①适用范围:病情较轻或疾病恢复期无消化道疾患不必限制饮食的病人
②饮食要求:一般易消化无刺激性食物均可大多数疾病恢复期的病人需要补充蛋白质热量和多种维生素故可多合动物理白加H内难内マ向饮食种类宣教知多少
00:00:00
00:02:26
1 普通饮食
①适用范围:病情较轻或疾病恢复期无消化道疾患不必限制饮食的病人
②饮食要求:一般易消化无刺激性食物均可大多数疾病恢复期的病人需要补充蛋白质热量和多种维生素故可多合动物理白加H内难内マ向饮食种类宣教知多少
00:00:00
00:02:26
1 普通饮食
①适用范围:病情较轻或疾病恢复期无消化道疾患不必限制饮食的病人
②饮食要求:一般易消化无刺激性食物均可大多数疾病恢复期的病人需要补充蛋白质热量和多种维生素故可多合动物理白加H内难内マ向饮食种类宣教知多少
00:00:00
00:02:26
1 普通饮食
①适用范围:病情较轻或疾病恢复期无消化道疾患不必限制饮食的病人
②饮食要求:一般易消化无刺激性食物均可大多数疾病恢复期的病人需要补充蛋白质热量和多种维生素故可多合动物理白加H内难内マ向饮食种类宣教知多少
00:00:00
00:02:26
1 普通饮食
①适用范围:病情较轻或疾病恢复期无消化道疾患不必限制饮食的病人
②饮食要求:一般易消化无刺激性食物均可大多数疾病恢复期的病人需要补充蛋白质热量和多种维生素故可多合动物理白加H内难内マ向
</div>
</div>
<el-empty description="暂无" style="width: 100%;" v-else></el-empty>
</div>
</template>
<script>
@ -128,5 +103,4 @@ export default {
}
}
}
</style>
</style>

View File

@ -1,6 +1,6 @@
<template>
<div class="header">
<div class="leftheader">
<div class="leftheader" v-if="categorylist.length > 0">
<div class="item" v-for="(item, index) in categorylist" :key="item.id" @click="clickcategory(item, index)"
:class="index == categoryindex ? 'selectitem' : ''">
<div class="time">{{ item.signTime }}
@ -11,7 +11,7 @@
<!-- <el-tag class="type" size="mini" type="success">门诊</el-tag> -->
</div>
</div>
<div class="rightheader">
<div class="rightheader" v-if="categorylist.length > 0">
<div class="richtext">
<el-descriptions title="基本信息" style="margin-top: 20px;">
<el-descriptions-item label="医院">{{ ByRecord.hospitalAgencyName }}</el-descriptions-item>
@ -24,7 +24,7 @@
<el-descriptions title="签约信息" style="margin-top: 40px;">
<el-descriptions-item label="服务包">{{ ByRecord.packageName }}</el-descriptions-item>
<el-descriptions-item label="服务包缴费状态">{{ ByRecord.packagePaymentStatus == 'PAID' ? '已缴费' :
ByRecord.packagePaymentStatus == 'UNPAID_FEES' ? '未缴费' : '' }}</el-descriptions-item>
ByRecord.packagePaymentStatus == 'UNPAID_FEES' ? '未缴费' : '' }}</el-descriptions-item>
<el-descriptions-item label="到期时间">{{ ByRecord.serviceEndTime }}</el-descriptions-item>
<el-descriptions-item label="服务包价格">{{ ByRecord.packagePrice }}</el-descriptions-item>
<el-descriptions-item label="服务时间">{{ ByRecord.serviceStartTime }}</el-descriptions-item>
@ -57,6 +57,7 @@
</el-descriptions>
</div>
</div>
<el-empty description="暂无" v-else style="width: 100%;"></el-empty>
</div>
</template>
<script>

View File

@ -40,7 +40,7 @@
</el-descriptions>
<el-descriptions title="健康管理师信息" style="padding:20px 30px 10px" class="descriptions">
</el-descriptions>
<el-form :model="signPackage" :rules="rules" ref="signPackage" label-width="100px" class="demo-ruleForm"
<el-form :model="signPackage" :rules="rules" ref="signPackage" label-width="110px" class="demo-ruleForm"
:inline="true" style="padding-left:40px">
<el-form-item label="健康管理师" prop="healthManageId">
<el-select v-model="signPackage.healthManageId" filterable placeholder="请选择健康管理师"
@ -53,7 +53,7 @@
</el-form>
<el-descriptions title="服务包信息" style="padding:20px 30px 10px" class="descriptions">
</el-descriptions>
<el-form :model="signPackage" :rules="rules" ref="signPackage" label-width="100px" class="demo-ruleForm"
<el-form :model="signPackage" :rules="rules" ref="signPackage" label-width="110px" class="demo-ruleForm"
:inline="true" style="padding-left:40px">
<el-form-item label="选择服务包" prop="packageName">
<el-input v-model="signPackage.packageName" disabled></el-input>
@ -69,7 +69,7 @@
</el-form>
<el-form :model="signPackage" :rules="rules" ref="signPackage" label-width="80px" class="demo-ruleForm"
:inline="true" style="padding-left:40px">
<el-form-item label="签约期限" prop="" label-width="100px">
<el-form-item label="签约期限" prop="" label-width="110px">
<div>
<el-input v-model="signPackage.packageTerm" style="width:130px" disabled
placeholder="请输入签约周期"></el-input>
@ -97,7 +97,7 @@
</el-form>
<el-descriptions title="专病管理信息" style="padding:20px 30px 10px" class="descriptions">
</el-descriptions>
<el-form :model="signPackage" :rules="rules" ref="signPackage" label-width="100px" class="demo-ruleForm"
<el-form :model="signPackage" :rules="rules" ref="signPackage" label-width="110px" class="demo-ruleForm"
:inline="true" style="padding-left:40px">
<el-form-item label="专病管理路径" prop="routeId">
<specialDiseaseRoute @on-template="onroute" :routeId="signPackage.routeId"
@ -107,7 +107,7 @@
</el-form>
<el-descriptions title="硬件信息" style="padding:20px 30px 10px" class="descriptions">
</el-descriptions>
<el-form :model="form" :rules="rules" ref="form" label-width="100px" class="demo-ruleForm" :inline="true"
<el-form :model="form" :rules="rules" ref="form" label-width="110px" class="demo-ruleForm" :inline="true"
style="padding-left:40px">
<div v-for="(item, index) in form.devices" :key="index">
<el-form-item label="硬件类型" :prop="`devices[${index}].hardwareType`"
@ -165,7 +165,10 @@ export default {
serviceStartTime: undefined,
serviceEndTime: '',
healthManageId: "",
healthManageName: "",
packagePaymentStatus: '',
routeId: '',
routeName: '',
},
pickerOptions: {
disabledDate: (time) => {
@ -190,6 +193,12 @@ export default {
informeds: []
},
rules: {
routeId: [
{ required: true, message: '请选择专病管理路径', trigger: 'change' }
],
healthManageId: [
{ required: true, message: '请选择健康管理师', trigger: 'change' }
],
packageName: [
{ required: true, message: '请选择服务包', trigger: 'change' }
],
@ -243,6 +252,10 @@ export default {
getByRecordId(this.$route.query.patientSignRecordId).then(res => {
this.list = res.data
this.signPackage.packagePaymentStatus = res.data.packagePaymentStatus
this.signPackage.healthManageId = res.data.healthManageId
this.signPackage.healthManageName = res.data.healthManageName
this.signPackage.routeId = res.data.routeId
this.signPackage.routeName = res.data.routeName
// this.signPackage.packageName = this.list.packageName
// this.signPackage.packageId = this.list.servicePackageId
// this.signPackage.serviceCycle = this.list.serviceCycle

View File

@ -3,7 +3,8 @@
<div class="topheader">
<div class="user">
<img class="headsculpture" src="../../../assets/manage/touxiang.png" alt="" v-if="$route.query.sex == 'MALE'">
<img class="headsculpture" src="../../../assets/manage/nvtouxiang.png" alt="" v-if="$route.query.sex == 'FEMALE'">
<img class="headsculpture" src="../../../assets/manage/nvtouxiang.png" alt=""
v-if="$route.query.sex == 'FEMALE'">
<div class="name">
{{ $route.query.patientName }}
</div>
@ -28,7 +29,8 @@
小程序
</div>
</div>
<div class="item" style="color:#F4881F;border-color:#F4881F" v-if="$route.query.patientSource == 'MANAGE_END'">
<div class="item" style="color:#F4881F;border-color:#F4881F"
v-if="$route.query.patientSource == 'MANAGE_END'">
<img src="../../../assets/manage/gld.png" alt="">
<div>
管理端
@ -54,7 +56,9 @@
<el-tab-pane label="就诊记录" name="first">
<visitRecords></visitRecords>
</el-tab-pane>
<el-tab-pane label="康复计划及记录" name="second">康复计划及记录</el-tab-pane>
<el-tab-pane label="康复计划及记录" name="second">
<el-empty description="暂无" style="width: 100%;"></el-empty>
</el-tab-pane>
<el-tab-pane label="健康宣教" name="third">
<healthEducation v-if="activeName == 'third'"></healthEducation>
</el-tab-pane>
@ -68,7 +72,7 @@
</div>
</div>
</template>
<script>
import visitRecords from '../components/visitRecords.vue';
import healthEducation from '../components/healthEducation.vue';
@ -192,5 +196,4 @@ export default {
}
}
}
</style>
</style>

View File

@ -0,0 +1,361 @@
<template>
<div class="app-container">
<el-tabs v-model="queryParams.routeCheckStatustwo" @tab-click="handleClick">
<el-tab-pane label="未审核" name="routeCheckStatustwo"></el-tab-pane>
<el-tab-pane label="已审核" name="AGREE"></el-tab-pane>
<el-tab-pane label="已忽略" name="DISAGREE"></el-tab-pane>
</el-tabs>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="80px">
<el-form-item label="患者姓名" prop="patientName">
<el-input v-model="queryParams.patientName" placeholder="请输入患者姓名" clearable
@keyup.enter.native="handleQuery" style="width:200px" />
</el-form-item>
<el-form-item label="患者电话" prop="patientPhone">
<el-input v-model="queryParams.patientPhone" placeholder="请输入患者电话" clearable
@keyup.enter.native="handleQuery" style="width:200px" />
</el-form-item>
<el-form-item label="出院/就诊时间" prop="dischargeTimeStart">
<el-date-picker v-model="dischargeTime" 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="mainDiagnosis">
<el-input v-model="queryParams.mainDiagnosis" placeholder="请选择诊断" clearable style="width:200px"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="患者来源" prop="patientSource">
<el-select v-model="queryParams.patientSource" placeholder="请选择患者来源" clearable style="width:200px">
<el-option v-for="dict in dict.type.patient_source" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="医院" prop="hospitalAgencyId">
<el-select v-model="queryParams.hospitalAgencyId" filterable placeholder="请选择医院" style="width:200px"
clearable @clear="clearhospitalAgency" @change="changehospitalAgency">
<el-option v-for="item in hospitalAgencylist" :key="item.id" :label="item.agencyName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="院区" prop="campusAgencyId" v-if="queryParams.hospitalAgencyId">
<el-select v-model="queryParams.campusAgencyId" filterable placeholder="请选择院区" style="width:200px"
clearable @clear="clearcampusAgency" @change="changecampusAgency">
<el-option v-for="item in campusAgencylist" :key="item.id" :label="item.agencyName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="科室" prop="departmentId" v-if="queryParams.hospitalAgencyId">
<el-select v-model="queryParams.departmentId" filterable placeholder="请选择科室" style="width:200px"
clearable @clear="cleardepartment" @change="changedepartment">
<el-option v-for="item in departmentlist" :key="item.id" :label="item.departmentName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="病区" prop="wardId" v-if="queryParams.hospitalAgencyId">
<el-select v-model="queryParams.wardId" filterable placeholder="请选择病区" style="width:200px" clearable>
<el-option v-for="item in wardlist" :key="item.id" :label="item.departmentName" :value="item.id">
</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-table v-loading="loading" :data="patientInfoList">
<el-table-column label="序号" type="index" width="55" align="center" />
<el-table-column label="患者姓名" align="center" prop="patientName" />
<el-table-column label="患者电话" align="center" prop="patientPhone" width='120' />
<el-table-column label="性别" align="center" prop="sex">
<template slot-scope="scope">
{{ scope.row.sex == 'MALE' ? '男' : '' }}
{{ scope.row.sex == 'FEMALE' ? '女' : '' }}
</template>
</el-table-column>
<el-table-column label="年龄" align="center" prop="age" />
<el-table-column label="出生日期" align="center" prop="birthDate" width='130' />
<el-table-column label="医院" align="center" prop="hospitalAgencyName" width='130' />
<el-table-column label="院区" align="center" prop="campusAgencyName" width='130' />
<el-table-column label="科室名称" align="center" prop="departmentName" width='130' />
<el-table-column label="病区名称" align="center" prop="wardName" width='130' />
<el-table-column label="住院/门诊号" align="center" prop="inHospitalNumber" width='130' />
<el-table-column label="患者来源" align="center" prop="patientSource">
<template slot-scope="scope">
<dict-tag :options="dict.type.patient_source" :value="scope.row.patientSource" />
</template>
</el-table-column>
<el-table-column label="医生" align="center" prop="attendingPhysicianName" />
<el-table-column label="诊断" align="center" prop="mainDiagnosis" />
<el-table-column label="手术名称" align="center" prop="surgicalName" />
<el-table-column label="出院/就诊时间" align="center" prop="dischargeTime" width='130'>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.dischargeTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="就诊方式" align="center" prop="visitMethod">
<template slot-scope="scope">
<dict-tag :options="dict.type.visit_method" :value="scope.row.visitMethod" />
</template>
</el-table-column>
<el-table-column label="住址" align="center" prop="address" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="handleAuthRole(scope.row)"
v-if="queryParams.routeCheckStatustwo == 'routeCheckStatustwo'">审核</el-button>
<el-button size="mini" type="text" @click="handleLook(scope.row)"
v-if="queryParams.routeCheckStatustwo != 'routeCheckStatustwo'">查看</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</div>
</template>
<script>
import { tasklist } from "@/api/manage/manualReview";
import { getAge } from "@/utils/age";
import { selectAgencyList, getDepartmentList, getAgencyList } from "@/api/manage/selectAgencyList";
import { usergetList } from "@/api/unitconfig/patientConfiguration";
export default {
name: "manualReview",
dicts: ['patient_type', 'visit_method', 'sign_status', 'patient_source'],
data() {
return {
attendingPhysicianlist: [],
//
loading: true,
//
total: 0,
//
patientInfoList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
patientName: null,
patientPhone: null,
birthDate: null,
patientType: null,
visitMethod: null,
mainDiagnosis: null,
attendingPhysicianId: null,
hospitalAgencyId: null,
hospitalAgencyName: null,
campusAgencyId: null,
campusAgencyName: null,
departmentId: null,
departmentName: null,
wardId: null,
wardName: null,
surgicalName: null,
admissionTimeStart: null,
admissionTimeEnd: null,
outpatientNumber: null,
dischargeTimeStart: null,
dischargeTimeEnd: null,
dischargeMethod: null,
patientSource: null,
routeCheckStatus: '',
routeCheckStatustwo: 'routeCheckStatustwo',
},
dischargeTime: [],
admissionTime: [],
//list
hospitalAgencylist: [],
// list
campusAgencylist: [],
//list
departmentlist: [],
//list
wardlist: [],
};
},
created() {
this.getList();
this.selectAgencyinfo();
},
methods: {
handleClick(tab, event) {
this.dischargeTime = []
this.queryParams.dischargeTimeStart = null
this.queryParams.dischargeTimeEnd = null
this.admissionTime = []
this.queryParams.admissionTimeStart = null
this.queryParams.admissionTimeEnd = null
this.queryParams.pageNum = 1
if (tab.index == '0') {
this.queryParams.routeCheckStatus = ''
} else if (tab.index == '1') {
this.queryParams.routeCheckStatus = 'AGREE'
} else if (tab.index == '2') {
this.queryParams.routeCheckStatus = 'DISAGREE'
}
this.getList();
},
//
usergetListinfo() {
usergetList({
agencyId: this.queryParams.hospitalAgencyId,
postName: 'DOCTOR'
}).then(res => {
this.attendingPhysicianlist = res.data
})
},
//
handleLook(row) {
},
/** 审核操作 */
handleAuthRole(row) {
// this.$router.push({
// path: "/patient/patientdetails",
// query: {
// patientId: row.id,
// cardNo: row.cardNo,
// patientName: row.patientName,
// patientPhone: row.patientPhone,
// sex: row.sex,
// birthDate: row.birthDate,
// familyMemberPhone: row.familyMemberPhone,
// address: row.address,
// patientSource: row.patientSource,
// createTime: row.createTime,
// age: row.birthDate ? getAge(row.birthDate) : ''
// },
// });
},
/** 查询患者信息列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
tasklist(this.queryParams).then(response => {
response.rows.forEach(e => {
e.birthDate ? e.age = getAge(e.birthDate) : ''
})
this.patientInfoList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
if (this.dischargeTime?.length > 0) {
this.queryParams.dischargeTimeStart = this.dischargeTime[0]
this.queryParams.dischargeTimeEnd = this.dischargeTime[1]
}
if (this.admissionTime?.length > 0) {
this.queryParams.admissionTimeStart = this.admissionTime[0]
this.queryParams.admissionTimeEnd = this.admissionTime[1]
}
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.admissionTime = [];
this.queryParams.admissionTimeStart = null
this.queryParams.admissionTimeEnd = null
this.dischargeTime = []
this.queryParams.dischargeTimeStart = null
this.queryParams.dischargeTimeEnd = null
this.resetForm("queryForm");
this.handleQuery();
},
selectAgencyinfo() {
let query = {
agencyStatus: 'ON',
nodeType: 'HOSPITAL',
}
selectAgencyList(query).then(res => {
this.hospitalAgencylist = res.data
})
},
//
getAgencyListinfo(nodeType, id) {
let query = {
nodeType: nodeType,
}
if (nodeType == 'HOSPITAL') {
query.hospitalId = id
} else if (nodeType == 'CAMPUS') {
query.campusId = id
} else if (nodeType == 'DEPARTMENT') {
query.departmentId = id
}
getAgencyList(query).then(res => {
if (nodeType == 'HOSPITAL') {
this.campusAgencylist = res.data.campusList
this.departmentlist = res.data.departmentList
} else if (nodeType == 'CAMPUS') {
this.departmentlist = res.data.departmentList
}
this.wardlist = res.data.wardList
})
},
//
changehospitalAgency(id) {
this.getAgencyListinfo('HOSPITAL', id)
// let query = {
// agencyStatus: 'ON',
// nodeType: 'CAMPUS',
// parentId: id,
// }
// selectAgencyList(query).then(res => {
// this.campusAgencylist = res.data
this.queryParams.campusAgencyId = null
this.queryParams.departmentId = null
this.queryParams.wardId = null
this.queryParams.attendingPhysicianId = null
// })
//
this.usergetListinfo();
},
//
changecampusAgency(id) {
this.getAgencyListinfo('CAMPUS', id)
// let query = {
// nodeType: 'DEPARTMENT',
// agencyId: id,
// }
// getDepartmentList(query).then(res => {
// this.departmentlist = res.data
this.queryParams.departmentId = null
this.queryParams.wardId = null
// })
},
//
changedepartment(id) {
this.getAgencyListinfo('DEPARTMENT', id)
// let query = {
// nodeType: 'WARD',
// parentDepartmentId: id,
// }
// getDepartmentList(query).then(res => {
// this.wardlist = res.data
this.queryParams.wardId = null
// })
},
//
clearhospitalAgency() {
this.queryParams.campusAgencyId = null
this.queryParams.departmentId = null
this.queryParams.wardId = null
this.queryParams.attendingPhysicianId = null
},
//
clearcampusAgency() {
this.queryParams.departmentId = null
this.queryParams.wardId = null
this.getAgencyListinfo('HOSPITAL', this.queryParams.hospitalAgencyId)
},
//
cleardepartment() {
this.queryParams.wardId = null
this.getAgencyListinfo('CAMPUS', this.queryParams.campusAgencyId)
},
}
};
</script>

View File

@ -89,8 +89,11 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<!-- <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5" v-if="queryParams.serviceStatus == 'SERVICE_CENTER'">
<el-button type="primary" plain size="mini" @click="addTask">手动创建任务</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['manage:signRecord:add']">新增</el-button>
</el-col>
@ -105,9 +108,9 @@
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['manage:signRecord:export']">导出</el-button>
</el-col>
</el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> -->
</el-row>
<div v-if="queryParams.serviceStatus == 'INTENTIONAL_SIGNING'">
<el-table v-loading="loading" :data="signRecordList" @selection-change="handleSelectionChange">
<el-table-column label="序号" type="index" width="55" align="center" />
@ -164,7 +167,8 @@
</el-table>
</div>
<div v-if="queryParams.serviceStatus == 'SERVICE_CENTER'">
<el-table v-loading="loading" :data="signRecordList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="signRecordList" highlight-current-row @current-change="singleElection"
@selection-change="handleSelectionChange">
<el-table-column label="序号" type="index" width="55" align="center" />
<el-table-column label="姓名" align="center" prop="patientName" />
<el-table-column label="电话" align="center" prop="patientPhone" width="130" />
@ -333,7 +337,8 @@ export default {
patientId: [
{ required: true, message: "患者信息表id不能为空", trigger: "blur" }
],
}
},
addTaskitem: {},
};
},
created() {
@ -431,6 +436,29 @@ export default {
this.resetForm("queryForm");
this.handleQuery();
},
//
singleElection(item) {
this.addTaskitem = item
},
//
addTask() {
if (this.addTaskitem) {
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
this.$router.push({
path: "/patient/ManuallyCreatingTasks",
query: {
signPatientRecordId: this.addTaskitem.id,
patientId: this.addTaskitem.patientId,
patientName: this.addTaskitem.patientName,
departmentId: this.addTaskitem.departmentId,
departmentName: this.addTaskitem.departmentName,
},
});
})
} else {
this.$message.error('请先选择一名签约服务中患者');
}
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
@ -480,6 +508,7 @@ export default {
this.queryParams.intentionalTimeStart = null
this.queryParams.intentionalTimeEnd = null
this.signTime = []
this.queryParams.pageNum = 1;
this.queryParams.signTimeStart = null
this.queryParams.signTimeEnd = null
this.getList();
@ -692,3 +721,13 @@ export default {
}
};
</script>
<style lang="scss" scoped>
::v-deep .el-table__body tr.current-row>td.el-table__cell {
background-color: #409EFF;
color: #fff;
.el-button {
color: #fff;
}
}
</style>>

View File

@ -2,7 +2,7 @@
<div>
<div class="title">
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="upload">执行</el-button>
<el-button type="primary" @click="upload">保存</el-button>
</div>
<el-descriptions title="手动创建任务">
</el-descriptions>
@ -84,7 +84,8 @@
</el-timeline>
</div>
<div class="nodetexts">
<div style=" background-color: #fff; border-radius: 10px;padding:20px;height:160px">
<div style=" background-color: #fff; border-radius: 10px;padding:20px;"
:style="formInline.taskType == 'TEXT_REMIND' ? '' : 'height:160px'">
<el-form :model="formInline" class="demo-form-inline">
<el-form-item label="任务内容">
<el-radio-group v-model="formInline.taskType">
@ -121,21 +122,30 @@
</el-form-item>
</el-form>
</div>
<div class="PushMethod">
<span>推送方式短信</span>
<el-switch v-model="formInline.messagePushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
</el-switch>
<div
v-if="formInline.taskType == 'TEXT_REMIND' || formInline.taskType == 'PROPAGANDA_ARTICLE' || formInline.taskType == 'QUESTIONNAIRE_SCALE'">
<div class="PushMethod">
<span>推送方式短信</span>
<el-switch v-model="formInline.messagePushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
</el-switch>
</div>
<div class="PushMethod">
<span>推送方式公众号</span>
<el-switch v-model="formInline.officialPushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
</el-switch>
</div>
<div class="PushMethod">
<span>推送方式小程序</span>
<el-switch v-model="formInline.appletPushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
</el-switch>
</div>
</div>
<div class="PushMethod">
<span>推送方式公众号</span>
<el-switch v-model="formInline.officialPushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
</el-switch>
</div>
<div class="PushMethod">
<span>推送方式小程序</span>
<el-switch v-model="formInline.appletPushSign" active-color="#13ce66" active-value="1"
<div class="PushMethod" v-if="formInline.taskType == 'PHONE_OUTBOUND'">
<span>推送方式人工电话</span>
<el-switch v-model="formInline.phonePushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
</el-switch>
</div>
@ -157,6 +167,11 @@ export default {
data() {
return {
updata: {
signPatientRecordId: '',
patientId: '',
patientName: '',
departmentId: '',
departmentName: '',
routeName: '',
suitRange: '',
routeNodeList: [],
@ -183,6 +198,7 @@ export default {
officialPushSign: '0',
messagePushSign: '0',
appletPushSign: '0',
phonePushSign: '0',
},
list: [
{
@ -200,6 +216,7 @@ export default {
officialPushSign: '0',
messagePushSign: '0',
appletPushSign: '0',
phonePushSign: '0',
}
],
listindex: 0,
@ -207,6 +224,11 @@ export default {
},
created() {
this.formInline = this.list[0]
this.updata.signPatientRecordId = this.$route.query.signPatientRecordId
this.updata.patientId = this.$route.query.patientId
this.updata.patientName = this.$route.query.patientName
this.updata.departmentId = this.$route.query.departmentId
this.updata.departmentName = this.$route.query.departmentName
},
methods: {
addtriggerCondition() {
@ -253,6 +275,7 @@ export default {
officialPushSign: '0',
messagePushSign: '0',
appletPushSign: '0',
phonePushSign: '0',
})
},
delitem(item, index) {
@ -261,7 +284,19 @@ export default {
upload() {
this.updata.routeNodeList = this.list
signrouteadd(this.updata).then(res => {
this.$notify({
type: 'success',
title: '提示',
message: '保存成功,即将返回签约患者列表',
duration: 3000
});
setTimeout(() => {
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
this.$router.push({
path: "/patient/signRecord",
});
})
}, 3000);
})
},
}

View File

@ -164,7 +164,7 @@ export default {
handleselect(item) {
this.handleselectId = item.id
this.handleselectName = item.commonScriptName
this.$emit("on-template", { templateId: item.id, templateName: item.commonScriptName });
this.$emit("on-template", { templateId: item.id, templateName: item.commonScriptName, templateContent: item.scriptIntroduction });
this.classificationOpen = false
},
classificationOpenfalse() {

View File

@ -163,9 +163,9 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="pat_id" prop="patientId">
<!-- <el-form-item label="pat_id" prop="patientId">
<el-input v-model="form.patientId" placeholder="" disabled />
</el-form-item>
</el-form-item> -->
<el-form-item label="地址" prop="address">
<el-input v-model="form.address" placeholder="请输入地址" />
</el-form-item>
@ -242,9 +242,9 @@ export default {
cardNo: [
{ required: true, message: "身份证号不能为空", trigger: "blur" }
],
patientId: [
{ required: true, message: "患者表id不能为空", trigger: "blur" }
],
// patientId: [
// { required: true, message: "id", trigger: "blur" }
// ],
}
};
},