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

This commit is contained in:
2024-04-09 16:40:19 +08:00
commit a6d593cb63
13 changed files with 580 additions and 126 deletions

View File

@ -0,0 +1,22 @@
import request from '@/utils/request'
export function selectFollowPatientInfo(id) {
return request({
url: '/manage/signroute/selectFollowPatientInfo/'+id,
method: 'get',
})
}
// 问卷量表
export function question(id) {
return request({
url: '/system/question/'+id,
method: 'get',
})
}
//保存
export function addPatientQuestionResult(data) {
return request({
url: '/manage/signroute/addPatientQuestionResult',
method: 'post',
data: data
})
}

View File

@ -1,5 +1,6 @@
import { login, logout, getInfo } from '@/api/login'
import { getToken, setToken, removeToken } from '@/utils/auth'
import Cookies from 'js-cookie'
const user = {
state: {
@ -51,6 +52,11 @@ 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))
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组

View File

@ -324,7 +324,11 @@
/>
</el-form-item>
<el-form-item label="项目编码" prop="projectCode">
<el-input v-model="form.projectCode" placeholder="请输入项目编码" />
<el-input
v-model="form.projectCode"
placeholder="请输入项目编码"
onKeyUp="value=value.replace(/[\W]/g,'')"
/>
</el-form-item>
<el-form-item label="项目别名" prop="projectAlias">
<el-input

View File

@ -244,7 +244,9 @@
<el-input v-model="form.deviceName" placeholder="请输入设备名称" />
</el-form-item>
<el-form-item label="设备编码" prop="deviceCode">
<el-input v-model="form.deviceCode" placeholder="请输入设备编码" />
<el-input v-model="form.deviceCode" placeholder="请输入设备编码"
onKeyUp="value=value.replace(/[\W]/g,'')"
/>
</el-form-item>
<el-form-item label="设备类型" prop="deviceType">
<el-select

View File

@ -180,6 +180,7 @@
:prop="`list.${index}.groupCode`"
>
<el-input
onKeyUp="value=value.replace(/[\W]/g,'')"
maxlength="100"
v-model="aitem.groupCode"
placeholder="请输入分组编码"

View File

@ -83,13 +83,11 @@
:filter-node-method="filterNode"
ref="tree"
highlight-current
node-key="id"
@node-click="handleNodeClick"
:render-content="renderContent"
/>
</div>
<!-- :default-expanded-keys="checkDefault" -->
</el-col>
<el-col :span="18" :xs="24">
<el-descriptions title="机构信息">
@ -154,14 +152,12 @@
: ""
}}</el-descriptions-item
>
<el-descriptions-item label="行政区划"
v-if="agencyList.provinceName" >{{ agencyList.provinceName }}-{{ agencyList.cityName }}-{{
<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-item label="行政区划" v-else> </el-descriptions-item>
</el-descriptions>
<!-- <div class="information">机构信息</div>
<div style="width: 1000px; height: 200px">
@ -444,6 +440,7 @@
<el-form-item label="组织机构编码" prop="orgAgencyCode">
<el-input
maxlength="30"
onKeyUp="value=value.replace(/[\W]/g,'')"
v-model="form.orgAgencyCode"
placeholder="请输入组织机构编码"
style="width: 205px"
@ -478,6 +475,8 @@
</el-form-item>
<el-form-item label="机构联系电话" prop="agencyPhone">
<el-input
onkeyup="value=value.replace(/[^\-?\d.]/g,'')"
maxlength="11"
v-model="form.agencyPhone"
placeholder="请输入机构联系电话"
@ -498,10 +497,12 @@
/>
</el-form-item>
<el-form-item label="机构排序" prop="agencySort">
<el-input
<el-input-number
v-model="form.agencySort"
maxlength="8"
controls-position="right"
:min="0"
placeholder="请输入机构排序"
style="width: 208px"
/>
</el-form-item>
<el-form-item label="机构状态" prop="agencyStatus">
@ -583,7 +584,6 @@ export default {
name: "Agency",
data() {
return {
checkDefault: [],
arealist: [],
citylist: [],
arealists: [],
@ -714,7 +714,7 @@ export default {
agencyPhone: null,
agencyAddress: null,
agencyRemark: null,
agencySort: null,
agencySort: undefined,
},
//
form: {},
@ -734,7 +734,7 @@ export default {
agencyPhone: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机码",
message: "请输入正确的手机码",
trigger: "blur",
},
],
@ -743,19 +743,19 @@ export default {
treeOptions: [],
};
},
//
watch: {
deptOptions: {
//
watch: {
deptOptions: {
handler(val) {
if(val) {
if (val) {
this.$nextTick(() => {
document.querySelector('.el-tree-node__content').click()
})
document.querySelector(".el-tree-node__content").click();
});
}
},
immediate: true
immediate: true,
},
},
},
created() {
this.getaddress();
// this.getTreeselect();
@ -1054,10 +1054,10 @@ watch: {
//
reset() {
this.form = {
cityName:null,
regionName:null,
provinceName:null,
streetCode:null,
cityName: null,
regionName: null,
provinceName: null,
streetCode: null,
id: null,
parentId: null,
communityCode: null,
@ -1076,7 +1076,7 @@ watch: {
agencyPhone: null,
agencyAddress: null,
agencyRemark: null,
agencySort: null,
agencySort: undefined,
createBy: null,
createTime: null,
updateBy: null,

View File

@ -27,6 +27,7 @@
<el-form-item label="类别编码" prop="categoryCode">
<el-input
v-model="queryParams.categoryCode"
onKeyUp="value=value.replace(/[\W]/g,'')"
placeholder="请输入类别编码"
clearable
@keyup.enter.native="handleQuery"
@ -201,6 +202,7 @@
<el-form-item label="类别编码" prop="categoryCode">
<el-input
maxlength="50"
onKeyUp="value=value.replace(/[\W]/g,'')"
v-model="form.categoryCode"
style="width: 250px"
placeholder="请输入类别编码"
@ -222,11 +224,12 @@
</el-select>
</el-form-item> -->
<el-form-item label="类别排序" prop="categorySort">
<el-input
maxlength="8"
<el-input-number
v-model="form.categorySort"
style="width: 250px"
controls-position="right"
:min="0"
placeholder="请输入类别排序"
style="width: 250px"
/>
</el-form-item>
<el-form-item label="类别概述" prop="categoryRemark">
@ -358,7 +361,7 @@ export default {
categoryName: null,
categoryCode: null,
categoryLevel: null,
categorySort: null,
categorySort: undefined,
categoryRemark: null,
createBy: null,
createTime: null,
@ -452,6 +455,6 @@ export default {
</script>
<style lang="scss" scoped>
.el-cascader .el-input input::-webkit-input-placeholder {
color: #CCCFD6;
color: #cccfd6;
}
</style>

View File

@ -179,10 +179,16 @@
<el-input v-model="form.normCompareName" maxlength="100" placeholder="请输入标准对照名称" />
</el-form-item>
<el-form-item label="标准对照编码" prop="normCompareCode">
<el-input v-model="form.normCompareCode" maxlength="20" placeholder="请输入标准对照编码" />
<el-input v-model="form.normCompareCode" maxlength="20" placeholder="请输入标准对照编码" onKeyUp="value=value.replace(/[\W]/g,'')" />
</el-form-item>
<el-form-item label="标准对照排序" prop="normCompareSort">
<el-input v-model="form.normCompareSort" maxlength="8" placeholder="请输入标准对照排序" />
<el-input-number
v-model="form.normCompareSort"
controls-position="right"
:min="0"
placeholder="请输入标准对照排序"
/>
<!-- <el-input v-model="form.normCompareSort" maxlength="8" placeholder="请输入标准对照排序" /> -->
</el-form-item>
<el-form-item label="标准对照概述" prop="normCompareRemark">
<el-input v-model="form.normCompareRemark" maxlength="100" placeholder="请输入标准对照概述" />
@ -398,7 +404,7 @@ export default {
departmentName: null,
normCompareName: null,
normCompareCode: null,
normCompareSort: null,
normCompareSort: undefined,
normCompareRemark: null,
createBy: null,
createTime: null,

View File

@ -19,7 +19,6 @@
:expand-on-click-node="false"
:filter-node-method="filterNode"
ref="tree"
default-expand-all
highlight-current
@node-click="handleNodeClick"
/>
@ -418,7 +417,7 @@
v-model="form.agencyId"
:show-all-levels="false"
:placeholder="
form.agencyName ? form.agencyName : '请选择上级机构'
form.agencyName ? form.agencyName : '请选择所属机构'
"
ref="cascader"
:key="isResouceShow"
@ -477,10 +476,11 @@
</el-form-item>
<el-form-item label="细分类别" prop="subdivisionCategoryId">
<el-select
v-model="form.subdivisionCategoryId"
v-model="form.subdivisionCategoryName"
placeholder="请选择"
style="width: 205px"
clearable
@change="optionsubdivision"
>
<el-option
v-for="item in optionsubdivisionCategory"
@ -526,6 +526,7 @@
<el-form-item label="编制床位数" prop="prepareBedsCount">
<el-input
maxlength="8"
onKeyUp="value=value.replace(/[\W]/g,'')"
v-model="form.prepareBedsCount"
placeholder="请输入编制床位数"
/>
@ -533,6 +534,7 @@
<el-form-item label="科室电话" prop="departmentPhone">
<el-input
maxlength="12"
onKeyUp="value=value.replace(/[\W]/g,'')"
v-model="form.departmentPhone"
placeholder="请输入科室电话"
/>
@ -721,6 +723,9 @@ export default {
id: "",
//
rules: {
agencyName: [
{ required: true, message: "所属机构不能为空", trigger: "blur" },
],
departmentName: [
{ required: true, message: "科室名称不能为空", trigger: "blur" },
],
@ -744,6 +749,19 @@ export default {
},
};
},
//
watch: {
deptOptions: {
handler(val) {
if (val) {
this.$nextTick(() => {
document.querySelector(".el-tree-node__content").click();
});
}
},
immediate: true,
},
},
created() {
this.getList();
this.gettreelist();
@ -755,6 +773,14 @@ export default {
this.infocompare();
},
methods: {
optionsubdivision(e) {
console.log(e);
// this.form.subdivisionCategoryId = this.optionsubdivisionCategory.find(
// (e) => e.id == this.form.subdivisionCategoryId
// ).subdivisionCategoryName;
// console.log(this.form.subdivisionCategoryName)
},
//
changeparentDepartment(e) {
this.form.parentDepartmentId = e;
@ -968,23 +994,30 @@ export default {
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateDepartment(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addDepartment(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
let reg = new RegExp("-", "g");
if (this.form.establishDate && this.form.revokeDate && new Date(this.form.establishDate.replace(reg, "/")) >
new Date(this.form.revokeDate.replace(reg, "/"))) {
this.$message.error("撤销日期要大于成立日期");
}
});
else {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateDepartment(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addDepartment(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
}
},
/** 删除按钮操作 */
handleDelete(row) {

View File

@ -128,13 +128,21 @@
v-model="queryParams.visitMethod"
placeholder="请选择就诊类型"
clearable
@change="change"
>
<el-option
v-for="item in visitoptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
<!-- <el-option
v-for="dict in dict.type.visit_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
/> -->
</el-select>
</el-form-item>
<el-form-item label="就诊流水号" prop="visitSerialNumber">
@ -148,7 +156,7 @@
<el-form-item label="门诊/出院时间" prop="intentionalTimeStart">
<el-date-picker
@change="mzchange"
@change="mzchange"
v-model="mzTime"
type="daterange"
range-separator="至"
@ -256,11 +264,12 @@
align="center"
prop="attendingPhysicianName"
/>
<el-table-column label="就诊类型" align="center" prop="visitMethod">
<el-table-column label="就诊类型" align="center" prop="suitRange">
<template slot-scope="scope">
<span
>{{ scope.row.visitMethod == "OUTPATIENT_SERVICE" ? "门诊" : "" }}
{{ scope.row.visitMethod == "BE_IN_HOSPITAL" ? "住院" : "" }}
>{{ scope.row.suitRange == "OUTPATIENT_SERVICE" ? "门诊" : "" }}
{{ scope.row.suitRange == "IN_THE_HOSPITAL" ? "在院" : "" }}
{{ scope.row.suitRange == "DISCHARGE" ? "出院" : "" }}
</span>
</template></el-table-column
>
@ -327,7 +336,7 @@
/>
</div>
</template>
<script>
import { manualFollowUpList } from "@/api/system/followup"
@ -412,6 +421,18 @@ export default {
},
//
form: {},
visitoptions: [
{
value: 'IN_THE_HOSPITAL',
label: '在院'
}, {
value: 'OUTPATIENT_SERVICE',
label: '门诊'
}, {
value: 'DISCHARGE',
label: '出院'
},
],
//
// rules: {
// patientId: [
@ -425,6 +446,29 @@ export default {
this.selectAgencyinfo();
},
methods: {
change(e) {
if (e == 'DISCHARGE') {
this.queryParams.clinicalStartTime = null
this.queryParams.clinicalEndTime = null
} else if (e == 'OUTPATIENT_SERVICE') {
this.queryParams.dischargeStartTime = null
this.queryParams.dischargeEndTime = null
}else{
this.queryParams.dischargeStartTime = null
this.queryParams.dischargeEndTime = null
this.queryParams.clinicalStartTime = null
this.queryParams.clinicalEndTime = null
}
console.log(e)
// DISCHARGE
//
// OUTPATIENT
//
},
//
usergetListinfo() {
usergetList({
@ -571,23 +615,47 @@ export default {
this.queryParams.followEndTime = null
} else {
this.queryParams.followStartTime = this.intentionalTime[0]
this.queryParams.followEndTime = this.intentionalTime[1]
this.queryParams.followEndTime = this.intentionalTime[1]
}
},
//
mzchange(){
mzchange() {
if (this.mzTime == null) {
this.mzTime = [];
this.queryParams.clinicalStartTime = null
this.queryParams.clinicalEndTime = null
} else {
this.queryParams.clinicalStartTime = this.mzTime[0]
this.queryParams.clinicalEndTime = this.mzTime[1]
console.log(this.queryParams, '-----')
if (!this.queryParams.visitMethod || this.queryParams.visitMethod=='IN_THE_HOSPITAL') {
this.queryParams.clinicalStartTime = this.mzTime[0]
this.queryParams.clinicalEndTime = this.mzTime[1]
this.queryParams.dischargeStartTime = this.queryParams.clinicalStartTime
this.queryParams.dischargeEndTime = this.queryParams.clinicalEndTime
} else if (this.queryParams.visitMethod == 'DISCHARGE') {
this.queryParams.dischargeStartTime = this.mzTime[0]
this.queryParams.dischargeEndTime = this.mzTime[1]
this.queryParams.clinicalStartTime = null
this.queryParams.clinicalEndTime = null
} else if (this.queryParams.visitMethod == 'OUTPATIENT_SERVICE') {
this.queryParams.dischargeStartTime = null
this.queryParams.dischargeEndTime = null
this.queryParams.clinicalStartTime = this.mzTime[0]
this.queryParams.clinicalEndTime = this.mzTime[1]
}
}
},
//
rychange(){
rychange() {
if (this.ryTime == null) {
this.ryTime = [];
this.queryParams.admissionStartTime = null
@ -606,7 +674,7 @@ export default {
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams= {
this.queryParams = {
pageNum: 1,
pageSize: 10,
followStartTime: null,
@ -638,7 +706,7 @@ export default {
departmentId: null,
wardId: null,
},
this.handleQuery();
this.handleQuery();
this.intentionalTime = [];
this.mzTime = [];
this.ryTime = [];
@ -662,9 +730,12 @@ export default {
path: "/task/followupsee",
query: {
patientId: row.patientId,
taskContent: row.taskContent,
taskType: row.taskType,
templateId: row.templateId,
cardNo: row.cardNo,
patientName: row.patientName,
manageRouteName: row.manageRouteName,
manageRouteNodeName:row.routeNodeName,
patientPhone: row.patientPhone,
sex: row.sex,
birthDate: row.birthDate,
@ -673,6 +744,8 @@ export default {
patientSource: row.patientSource,
createTime: row.createTime,
age: row.birthDate ? getAge(row.birthDate) : "",
manageRouteId: row.manageRouteId,
manageRouteNodeId: row.manageRouteNodeId,
},
});
@ -735,4 +808,3 @@ export default {
},
};
</script>

View File

@ -24,8 +24,12 @@
{{ list.age }}
</div>
<div class="source">
<div class="item" @click="submit"><el-button plain>保存</el-button></div>
<div class="item" @click="cencal"><el-button plain>取消</el-button></div>
<div class="item" @click="submit">
<el-button plain>保存</el-button>
</div>
<div class="item" @click="cencal">
<el-button plain>取消</el-button>
</div>
</div>
</div>
<div class="information">
@ -42,34 +46,167 @@
</div>
</div>
<div class="bottomheader">
<div style="display: flex">
<!-- 问卷模板 -->
<div
class="right"
v-if="$route.query.taskContent == 'QUESTIONNAIRE_SCALE'"
v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE'"
>
<div style="float: right; margin-top: 20px">
<el-form
:inline="true"
class="demo-form-inline"
:model="questiondata"
:rules="rules"
ref="questiondata"
>
<el-form-item label="任务处理信息" prop="routeHandleRemark">
<el-input
type="textarea"
placeholder="请输入任务处理信息"
v-model="questiondata.routeHandleRemark"
/>
</el-form-item>
</el-form>
</div>
<div class="sport">问卷模板: Barthel指数评定问卷</div>
<div class="words">
您好!本问卷用于评估日常生活能力请根据自身日常实际表现选择合适的选项
</div>
<div class="words">
1.进食单选题
<el-radio-group v-model="radio" class="custom-radio-group">
<el-radio label="1" class="custom">备选项</el-radio>
<el-radio label="2" class="custom">备选项</el-radio>
<el-radio label="3" class="custom">备选项</el-radio>
<div
class="words"
v-for="(item, index) in questiondata.questionSubjectList"
:key="index"
>
{{ index + 1 }}.{{ item.questionName }}
<span v-if="item.questionType == 'MULTIPLE_CHOICE'"
>单选题</span
>
<span v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS'"
>多选题</span
>
<span v-if="item.questionType == 'SCORING_QUESTIONS'"
>打分题</span
>
<span v-if="item.questionType == 'COMBINATION_RADIO_SUBJECT'"
>组合单选题</span
>
<span v-if="item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'"
>组合多选题</span
>
<span v-if="item.questionType == 'COMBINATION_BLANKS_SUBJECT'"
>组合填空题</span
>
<span v-if="item.questionType == 'FILL_IN_THE_BLANKS'"
>填空题</span
>
<span v-if="item.questionType == 'COMBINATION_SCORING_SUBJECT'"
>组合打分题</span
>
<span v-if="item.questionType == 'DATE_BLANKS_SUBJECT'"
>日期填空题</span
>
<span v-if="item.questionType == 'TIME_BLANKS_SUBJECT'"
>时间填空题</span
>
<el-radio-group
v-if="
item.questionType == 'MULTIPLE_CHOICE' ||
item.questionType == 'COMBINATION_RADIO_SUBJECT' ||
item.questionType == 'SCORING_QUESTIONS' ||
item.questionType == 'COMBINATION_SCORING_SUBJECT'
"
v-model="questiondata[index]"
class="custom-radio-group"
@change="radioGroupChange($event, item)"
>
<el-radio
class="custom"
v-for="(aitem, aindex) in item.questionSubjectOptionList"
:key="aindex"
:label="aitem.id"
@change="radioChange($event, aitem, index)"
>{{ aitem.optionName }}</el-radio
>
</el-radio-group>
<!-- 多选组合多选 -->
<el-checkbox-group
v-model="checkeddata"
@change="radioGroupChange($event, item, 'checkbox')"
v-if="
item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'
"
>
<el-checkbox
v-for="(aitem, aindex) in item.questionSubjectOptionList"
:key="aindex"
:label="aitem.id"
@change="radioChangecheck($event, aitem, index, aindex)"
>{{ aitem.optionName }}</el-checkbox
>
</el-checkbox-group>
<!-- 填空题组合填空 -->
<div
v-if="
item.questionType == 'FILL_IN_THE_BLANKS' ||
item.questionType == 'COMBINATION_BLANKS_SUBJECT'
"
class="tk"
>
<el-input
v-model="item.optionAnswer"
placeholder="请输入答案"
type="textarea"
/>
<!-- <el-input></el-input> -->
</div>
<!-- 日期填空题 -->
<div
v-if="item.questionType == 'DATE_BLANKS_SUBJECT'"
style="margin: 20px 0 10px 30px"
>
<el-date-picker
@change="timepicker($event,index)"
clearable
v-model="item.optionAnswer"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</div>
<!-- 时间填空题 -->
<div
style="margin: 20px 0 10px 30px"
v-if="item.questionType == 'TIME_BLANKS_SUBJECT'"
>
<el-time-select
@change="timepickerselect($event,index)"
clearable
v-model="item.optionAnswer"
:picker-options="{
start: '08:30',
step: '00:30',
end: '23:30',
}"
placeholder="选择时间"
>
</el-time-select>
</div>
</div>
</div>
<!-- 电话外呼 -->
<div v-if="$route.query.taskContent == 'PHONE_OUTBOUND'">
<div class="sport">电话外呼</div>
<div class="nexttime">话术名称</div>
</div>
<div v-if="$route.query.taskType == 'PHONE_OUTBOUND'">
<div class="sport">电话外呼</div>
<div class="nexttime">话术名称</div>
</div>
<!-- 人工随访 -->
<div class="right" v-if="$route.query.taskContent == 'ARTIFICIAL_FOLLOW_UP'">
<div
class="right"
v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'"
>
<div class="sport">人工随访模板: 神经内科人工随访</div>
<div class="words">**您好!</div>
<div class="words">
@ -78,13 +215,20 @@
<div class="words">
1.进食单选题
<el-radio-group v-model="radio" class="custom-radio-group">
<el-radio label="1" class="custom">备选项</el-radio>
<el-radio
v-for="item in options"
:key="item.id"
:label="item.value"
>
{{ item.label }}
</el-radio>
<!-- <el-radio label="1" class="custom">备选项</el-radio>
<el-radio label="2" class="custom">备选项</el-radio>
<el-radio label="3" class="custom">备选项</el-radio>
<el-radio label="3" class="custom">备选项</el-radio> -->
</el-radio-group>
</div>
</div>
<!-- <div v-if="$route.query.taskContent == 'ARTIFICIAL_FOLLOW_UP'">
<!-- <div v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'">
<div class="sport">人工随访模板:</div>
<div class="sport">人工随访模板内容:</div>
</div> -->
@ -92,42 +236,183 @@
</div>
</div>
</template>
<script>
import { selectVisitRecord } from "@/api/system/taskExecuteRecord";
import { selectFollowPatientInfo, question, addPatientQuestionResult } from "@/api/system/followupsee";
import Cookies from 'js-cookie'
export default {
name: "patientdetails",
data() {
return {
radio: "1",
activeName: "first",
obj: {},
checkList: [],
checked: false,
rules: {
routeHandleRemark: [
{ required: true, message: '请输入任务处理信息', trigger: 'change' }
],
},
options: [
{ id: 1, value: 'A', label: '选项A' },
{ id: 2, value: 'B', label: '选项B', show: 'true' },
{ id: 3, value: 'C', label: '选项C' }
],
radio: "B",
id: "",
list: [],
type: '',
checkeddata: [],
questiondata: {
totalScore: 0, //
routeHandlePerson: null,
routeHandleId: null,
},
};
},
created() {
console.log(this.$route.query);
this.id = this.$route.query.patientId;
this.id = this.$route.query.manageRouteId;
this.info();
this.questioninfo();
},
methods: {
//
timepicker(e,index){
this.questiondata.questionSubjectList[index].optionAnswer=e
},
//
timepickerselect(e,index){
console.log(e)
this.questiondata.questionSubjectList[index].optionAnswer=e
},
radioGroupChange(e, item) {
},
// radio
radioChange(e, item, index) {
console.log(e, item, index, '选中某个单选框时')
this.questiondata.questionSubjectList[index].questionSubjectOptionList.forEach(el => {
if (el.id == item.id) {
el.optionChooseSign = '0'
}
else {
el.optionChooseSign = '1'
}
})
},
//
radioChangecheck(e, item, index, aindex) {
console.log(e, item, index, '选中某个复选框时')
if (e == true) {
this.questiondata.questionSubjectList[index].questionSubjectOptionList[aindex].optionChooseSign = '0'
} else {
this.questiondata.questionSubjectList[index].questionSubjectOptionList[aindex].optionChooseSign = '1'
}
console.log(this.questiondata, '11111111复选框')
},
info() {
selectVisitRecord(this.id).then((res) => {
console.log(res);
selectFollowPatientInfo(this.id).then((res) => {
this.list = res.data;
});
},
questioninfo() {
question(this.$route.query.templateId).then((res) => {
this.questiondata = res.data;
this.questiondata.questionInfoId = res.data.id;
this.questiondata.routeHandlePerson = Cookies.get('userName')
this.questiondata.routeHandleId = Cookies.get('userId')
this.questiondata.patientId = this.$route.query.patientId
this.questiondata.manageRouteId = this.$route.query.manageRouteId
this.questiondata.manageRouteNodeId = this.$route.query.manageRouteNodeId
this.questiondata.patientName = this.$route.query.patientName
this.questiondata.manageRouteName = this.$route.query.manageRouteName
this.questiondata.manageRouteNodeName = this.$route.query.manageRouteNodeName
this.questiondata.totalScore = 0
this.questiondata.questionSubjectList.forEach(e => {
e.questionSubjectOptionList.forEach(el => {
if (e.questionType == 'MULTIPLE_CHOICE_QUESTIONS' || e.questionType == 'COMBINATION_MULTIPLE_SUBJECT') {
el.optionChooseSign = '1'
}
})
})
});
},
//
submit(){},
//
cencal(){
this.$router.push({
path: "/task/followup",
/** 提交按钮 */
submit() {
var score = 0
//
this.questiondata.questionSubjectList.forEach(e => {
if (e.questionSubjectOptionList?.length > 0) {
e.questionSubjectOptionList.forEach(el => {
if (e.questionType == 'MULTIPLE_CHOICE' || e.questionType == 'MULTIPLE_CHOICE_QUESTIONS' || e.questionType == 'SCORING_QUESTIONS') {
if(el.optionChooseSign=='0'){
score += el.optionScore
}
}
})
console.log(score,'score')
this.questiondata.totalScore=score
});
}
})
console.log(this.questiondata, 'questiondata')
// .=.
this.questiondata.subjectResultDTOList = this.questiondata.questionSubjectList
this.obj = JSON.parse(JSON.stringify(this.questiondata))
delete this.obj.questionSubjectList;
this.obj.subjectResultDTOList.forEach(e => {
e.optionResultList = e.questionSubjectOptionList
// console.log(e.optionResultList, 'e.optionResultList')
if (e.optionResultList.optionSubmitAnswer) {
e.optionResultList.optionSubmitAnswer = e.optionResultList.optionSubmitAnswer
}
this.$delete(this.obj, '0', '')
// this.obj.splice(index, 1)
delete e.questionSubjectOptionList;
});
console.log(this.obj, 'obj')
// console.log(this.questiondata, 'questiondata')
this.$refs["questiondata"].validate(valid => {
if (valid) {
addPatientQuestionResult(this.obj).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
});
},
//
cencal() {
this.$router.push({
path: "/task/followup",
});
},
handleClick(tab, event) {
console.log(tab, event);
},
@ -135,6 +420,24 @@ export default {
};
</script>
<style lang="scss" scoped>
.tk {
::v-deep .el-textarea__inner {
margin: 20px 0 10px 30px;
}
}
::v-deep .el-radio {
padding: 10px;
}
::v-deep .el-checkbox-group {
display: flex;
flex-direction: column;
padding: 10px 0px 10px 24px;
}
::v-deep .el-checkbox {
padding: 10px 0 10px 0px;
// padding: 10px;
}
.custom-radio-group {
display: flex;
flex-direction: column;
@ -176,7 +479,7 @@ export default {
}
}
.right {
width: 70%;
width: 100%;
height: 500px;
// background: yellow;
}
@ -193,6 +496,7 @@ export default {
}
.bottomheader {
overflow: auto;
width: 99%;
background-color: #fff;
margin: 10px auto;
@ -295,10 +599,10 @@ export default {
display: flex;
position: relative;
right: 59px;
position: absolute;
.item{
margin-left: 20px;
}
position: absolute;
.item {
margin-left: 20px;
}
}
.name {
@ -323,4 +627,3 @@ export default {
}
}
</style>

View File

@ -171,6 +171,7 @@
<el-form-item label="细分类别编码" prop="subdivisionCategoryCode">
<el-input
maxlength="20"
onKeyUp="value=value.replace(/[\W]/g,'')"
v-model="form.subdivisionCategoryCode"
placeholder="请输入细分类别编码"
/>

View File

@ -398,6 +398,23 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="角色">
<el-select
v-model="form.roleIds"
multiple
placeholder="请选择角色"
>
<el-option
v-for="item in roleOptions"
:key="item.roleId"
:label="item.roleName"
:value="item.roleId"
:disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="账号类型" prop="email">
<el-input
style="width: 220px"
@ -406,7 +423,7 @@
maxlength="50"
/>
</el-form-item>
</el-col>
</el-col> -->
</el-row>
</div>
<el-row>
@ -464,23 +481,7 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="角色">
<el-select
v-model="form.roleIds"
multiple
placeholder="请选择角色"
>
<el-option
v-for="item in roleOptions"
:key="item.roleId"
:label="item.roleName"
:value="item.roleId"
:disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>