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

This commit is contained in:
2024-08-01 16:18:24 +08:00
commit 2ce10b2e36
3 changed files with 33 additions and 266 deletions

View File

@ -4,7 +4,7 @@
<div :class="isshow ? 'left' : 'noleft'"> <div :class="isshow ? 'left' : 'noleft'">
<el-tabs v-model="activeName" @tab-click="handleClick" v-if="isshow"> <el-tabs v-model="activeName" @tab-click="handleClick" v-if="isshow">
<el-tab-pane <el-tab-pane
label="详情" label="任务详情"
name="four" name="four"
v-if="$route.query.taskNodeType == 'PHONE_OUTBOUND'" v-if="$route.query.taskNodeType == 'PHONE_OUTBOUND'"
> >
@ -92,8 +92,7 @@
<div <div
class="right" class="right"
v-if=" v-if="
$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE' && $route.query.taskNodeType == 'QUESTIONNAIRE_SCALE'
$route.query.dataile == 'handel'
" "
> >
<div <div
@ -231,152 +230,6 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 问卷详情 -->
<div
class="right"
v-if="
$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE' &&
$route.query.dataile == 'dataile'
"
>
<div
class="sport"
v-if="$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE'"
>
问卷模板: Barthel指数评定问卷
</div>
<div
class="words"
v-if="$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE'"
>
您好!本问卷用于评估日常生活能力请根据自身日常实际表现选择合适的选项
</div>
<div
class="words"
v-for="(item, index) in questiondata.subjectResultList"
: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="item.checked"
class="custom-radio-group"
>
<el-radio
disabled
class="custom"
v-for="(aitem, aindex) in item.optionResults"
:key="aindex"
:label="aitem.id"
@change="radioChange($event, aitem, index)"
>{{ aitem.optionName }}</el-radio
>
</el-radio-group>
<!-- 多选组合多选 -->
<el-checkbox-group
v-model="checkeddata"
v-if="
item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'
"
>
<el-checkbox
disabled
v-for="(aitem, aindex) in item.optionResults"
: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
disabled
v-model="item.fillBlanksAnswer"
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
disabled
@change="timepicker($event, index)"
clearable
v-model="item.fillBlanksAnswer"
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
disabled
@change="timepickerselect($event, index)"
clearable
v-model="item.fillBlanksAnswer"
:picker-options="{
start: '08:30',
step: '00:30',
end: '23:30',
}"
placeholder="选择时间"
>
</el-time-select>
</div>
</div>
</div>
<!-- 电话外呼 --> <!-- 电话外呼 -->
<div class="right" v-if="$route.query.taskNodeType == 'PHONE_OUTBOUND'"> <div class="right" v-if="$route.query.taskNodeType == 'PHONE_OUTBOUND'">
<div class="sport"> <div class="sport">
@ -413,21 +266,16 @@
ref="questiondata" ref="questiondata"
v-if="$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE'" v-if="$route.query.taskNodeType == 'QUESTIONNAIRE_SCALE'"
> >
<el-form-item label="任务处理信息" prop="routeHandleRemark" v-if="$route.query.dataile == 'handel'"> <el-form-item
label="任务处理信息"
prop="routeHandleRemark"
>
<el-input <el-input
type="textarea" type="textarea"
placeholder="请输入任务处理信息" placeholder="请输入任务处理信息"
v-model="questiondata.routeHandleRemark" v-model="questiondata.routeHandleRemark"
/> />
</el-form-item> </el-form-item>
<el-form-item label="任务处理信息" v-if="$route.query.dataile == 'dataile'">
<el-input
disabled
type="textarea"
placeholder="请输入任务处理信息"
v-model="questiondata.routeHandleRemark"
/>
</el-form-item>
</el-form> </el-form>
<!-- 话术 --> <!-- 话术 -->
<el-form <el-form
@ -439,25 +287,23 @@
v-if="$route.query.taskNodeType == 'PHONE_OUTBOUND'" v-if="$route.query.taskNodeType == 'PHONE_OUTBOUND'"
> >
<el-form-item label="是否接通" prop="phone"> <el-form-item label="是否接通" prop="phone">
<el-radio v-model="formlist.phoneConnectStatus" label="CONNECTED" <el-radio
:disabled="$route.query.dataile == 'dataile'">已接通</el-radio v-model="formlist.phoneConnectStatus"
label="CONNECTED"
>已接通</el-radio
> >
<el-radio v-model="formlist.phoneConnectStatus" label="NOTCONNECTED" <el-radio
:disabled="$route.query.dataile == 'dataile'" >未接通</el-radio v-model="formlist.phoneConnectStatus"
label="NOTCONNECTED"
>未接通</el-radio
> >
</el-form-item> </el-form-item>
<el-form-item label="任务处理信息" prop="" v-if="$route.query.dataile == 'dataile'">
<el-form-item
label="任务处理信息"
prop="routeHandleRemark"
>
<el-input <el-input
disabled
type="textarea"
placeholder="请输入任务处理信息"
v-model="formlist.routeHandleRemark"
/>
</el-form-item>
<el-form-item label="任务处理信息" prop="routeHandleRemark" v-if="$route.query.dataile == 'handel'">
<el-input
type="textarea" type="textarea"
placeholder="请输入任务处理信息" placeholder="请输入任务处理信息"
v-model="formlist.routeHandleRemark" v-model="formlist.routeHandleRemark"
@ -570,11 +416,7 @@ export default {
this.infolistword(); this.infolistword();
if (this.$route.query.taskNodeType == "QUESTIONNAIRE_SCALE") { if (this.$route.query.taskNodeType == "QUESTIONNAIRE_SCALE") {
this.activeName = "first" this.activeName = "first"
if (this.$route.query.dataile == 'handel') {
this.questioninfo(); this.questioninfo();
} else if (this.$route.query.dataile == 'dataile') {
this.selectlist();
}
} else if (this.$route.query.taskNodeType == "PHONE_OUTBOUND") { } else if (this.$route.query.taskNodeType == "PHONE_OUTBOUND") {
this.activeName = "four" this.activeName = "four"
selectPhonePush(this.$route.query.manageRouteNodeId).then((response) => { selectPhonePush(this.$route.query.manageRouteNodeId).then((response) => {
@ -696,44 +538,6 @@ export default {
this.list = res.data; this.list = res.data;
}); });
}, },
//
selectlist() {
selectPatientQuestionSubmit(this.$route.query.taskExecuteRecordId).then(
(res) => {
this.questiondata = res.data;
if (this.$route.query.routeHandleRemark) {
this.questiondata.routeHandleRemark =
this.$route.query.routeHandleRemark;
}
this.questiondata.subjectResultList.forEach((e) => {
e.optionResults.forEach((el) => {
if (
(el.optionChooseSign == "0" &&
e.questionType == "MULTIPLE_CHOICE") ||
e.questionType == "COMBINATION_RADIO_SUBJECT"
) {
e.checked = el.id;
} else if (
el.optionChooseSign == "0" &&
e.questionType == "MULTIPLE_CHOICE_QUESTIONS"
) {
this.checkeddata.push(el.id);
} else if (
el.optionChooseSign == "0" &&
e.questionType == "SCORING_QUESTIONS"
) {
e.checked = el.id;
} else if (
e.questionType == "COMBINATION_MULTIPLE_SUBJECT" &&
el.optionChooseSign == "0"
) {
this.checkeddata.push(el.id);
}
});
});
}
);
},
// //
questioninfo() { questioninfo() {
question(this.$route.query.templateId).then((res) => { question(this.$route.query.templateId).then((res) => {
@ -935,7 +739,6 @@ export default {
} }
::v-deep .custom-radio-group { ::v-deep .custom-radio-group {
width: 25%; width: 25%;
// background: red;
} }
::v-deep .el-checkbox { ::v-deep .el-checkbox {
width: 25%; width: 25%;
@ -954,6 +757,9 @@ export default {
color: #606266; color: #606266;
background: #fff; background: #fff;
} }
::v-deep .el-textarea .el-textarea__inner {
height: 100px;
}
.tk { .tk {
::v-deep .el-textarea__inner { ::v-deep .el-textarea__inner {
@ -977,7 +783,6 @@ export default {
padding: 10px 0 10px 0px; padding: 10px 0 10px 0px;
// padding: 10px; // padding: 10px;
} }
.custom-radio-group { .custom-radio-group {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -987,45 +792,6 @@ export default {
padding: 10px 0 10px 10px; padding: 10px 0 10px 10px;
} }
} }
.bodytop {
position: relative;
top: 20px;
// height: 500px;
width: 400px;
margin: 0 auto;
// background: red;f
overflow: auto;
border: 1px solid #e2e2e2;
.titledata {
margin: 30px 0px 15px 30px;
top: 14px;
font-size: 20px;
}
.audiotop {
margin: 10px 0px 10px 30px;
}
img {
// width: 362px;
// height: 127px;
margin: 0px 0px 0px 30px;
}
.know {
margin: 11px 0px 10px 30px;
font-size: 20px;
font-weight: 550;
}
.knowlist {
margin: 10px 0px 10px 30px;
font-size: 16px;
}
}
.right { .right {
width: 100%; width: 100%;
padding-bottom: 50px; padding-bottom: 50px;
@ -1050,9 +816,6 @@ export default {
::v-deep .el-tabs__header { ::v-deep .el-tabs__header {
margin: 0 !important; margin: 0 !important;
width: 100%; width: 100%;
// overflow: auto;
// height: 500px;
// background: red;
} }
// //
.left { .left {
@ -1060,10 +823,15 @@ export default {
// overflow-y: auto; // overflow-y: auto;
width: 25%; width: 25%;
margin-top: 20px; margin-top: 20px;
::v-deep .el-tabs__nav-wrap::after {
height: 0px;
}
} }
.noleft { .noleft {
// height: calc(100vh - 212px); ::v-deep .el-tabs__nav-wrap::after {
// overflow-y: auto; height: 0px;
}
width: 0%; width: 0%;
margin-top: 20px; margin-top: 20px;
} }
@ -1072,9 +840,7 @@ export default {
height: calc(100vh - 212px); height: calc(100vh - 212px);
overflow-y: auto; overflow-y: auto;
width: 100%; width: 100%;
// height: 65vh;
background-color: #fff; background-color: #fff;
// margin: 10px auto;
padding: 10px 20px; padding: 10px 20px;
.sport { .sport {
@ -1082,9 +848,7 @@ export default {
font-size: 20px; font-size: 20px;
font-weight: 600; font-weight: 600;
.hamburger-container { .hamburger-container {
// line-height: 46px;
height: 100%; height: 100%;
// float: left;
cursor: pointer; cursor: pointer;
transition: background 0.3s; transition: background 0.3s;
-webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent;

View File

@ -425,6 +425,9 @@ export default {
id: "", id: "",
// //
rules: { rules: {
nodeType:[
{ required: true, message: "节点类型不能为空", trigger: "blur" },
],
hospitalAgencyName: [ hospitalAgencyName: [
{ required: true, message: "所属机构不能为空", trigger: "blur" }, { required: true, message: "所属机构不能为空", trigger: "blur" },
], ],

View File

@ -70,7 +70,7 @@
</keep-alive> </keep-alive>
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
label="任务待办详情" label="任务详情"
name="six" name="six"
v-if="$route.query.dataile == 'dataile'" v-if="$route.query.dataile == 'dataile'"
> >