修改专病路径
This commit is contained in:
parent
bd016ace81
commit
23496791a5
@ -317,6 +317,7 @@ Boot.registerPlugin(withAttachment)
|
|||||||
function renderAttachment(elem, children, editor) { // JS 语法
|
function renderAttachment(elem, children, editor) { // JS 语法
|
||||||
// 获取“附件”的数据,参考上文 myResume 数据结构
|
// 获取“附件”的数据,参考上文 myResume 数据结构
|
||||||
const { fileName = '', link = '', fileSpan = '', fieldMark = '' } = elem
|
const { fileName = '', link = '', fileSpan = '', fieldMark = '' } = elem
|
||||||
|
// const { add=[]}
|
||||||
// 附件 icon 图标 vnode
|
// 附件 icon 图标 vnode
|
||||||
const iconVnode = h(
|
const iconVnode = h(
|
||||||
// HTML tag
|
// HTML tag
|
||||||
@ -359,7 +360,7 @@ function renderAttachment(elem, children, editor) {
|
|||||||
on: { click() { }, /* 其他... */ }
|
on: { click() { }, /* 其他... */ }
|
||||||
},
|
},
|
||||||
// img 没有子节点,所以第三个参数不用写
|
// img 没有子节点,所以第三个参数不用写
|
||||||
[fileSpan]
|
[add]
|
||||||
)
|
)
|
||||||
const nameVnode = h(
|
const nameVnode = h(
|
||||||
// HTML tag
|
// HTML tag
|
||||||
@ -367,7 +368,7 @@ function renderAttachment(elem, children, editor) {
|
|||||||
// HTML 属性
|
// HTML 属性
|
||||||
{
|
{
|
||||||
props: { contentEditable: false }, // HTML 属性,驼峰式写法
|
props: { contentEditable: false }, // HTML 属性,驼峰式写法
|
||||||
style: { color: '#fff', background: '#009A82', padding: '5px 10px' /* 其他... */ }, // style ,驼峰式写法
|
style: { color: '#fff', background: 'red', padding: '5px 10px' /* 其他... */ }, // style ,驼峰式写法
|
||||||
on: { click() { }, /* 其他... */ }
|
on: { click() { }, /* 其他... */ }
|
||||||
},
|
},
|
||||||
// img 没有子节点,所以第三个参数不用写
|
// img 没有子节点,所以第三个参数不用写
|
||||||
|
|||||||
@ -161,6 +161,9 @@ export default {
|
|||||||
this.Departmentlist();
|
this.Departmentlist();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
listDisease(){
|
||||||
|
this.$emit("on-template", { templateId: '', templateName: '', templateContent: '' });
|
||||||
|
},
|
||||||
nohandleselect() {
|
nohandleselect() {
|
||||||
this.handleselectId = ''
|
this.handleselectId = ''
|
||||||
this.handleselectName = ''
|
this.handleselectName = ''
|
||||||
|
|||||||
@ -2,8 +2,18 @@
|
|||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="topheader">
|
<div class="topheader">
|
||||||
<div class="user">
|
<div class="user">
|
||||||
<img class="headsculpture" src="../../../assets/manage/touxiang.png" alt="" v-if="list.sex == 'MALE'" />
|
<img
|
||||||
<img class="headsculpture" src="../../../assets/manage/nvtouxiang.png" alt="" v-if="list.sex == 'FEMALE'" />
|
class="headsculpture"
|
||||||
|
src="../../../assets/manage/touxiang.png"
|
||||||
|
alt=""
|
||||||
|
v-if="list.sex == 'MALE'"
|
||||||
|
/>
|
||||||
|
<img
|
||||||
|
class="headsculpture"
|
||||||
|
src="../../../assets/manage/nvtouxiang.png"
|
||||||
|
alt=""
|
||||||
|
v-if="list.sex == 'FEMALE'"
|
||||||
|
/>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
{{ list.patientName }}
|
{{ list.patientName }}
|
||||||
</div>
|
</div>
|
||||||
@ -37,83 +47,187 @@
|
|||||||
<div class="bottomheader">
|
<div class="bottomheader">
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
<!-- 问卷模板 -->
|
<!-- 问卷模板 -->
|
||||||
<div class="right" v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE' ||
|
<div
|
||||||
$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'
|
class="right"
|
||||||
">
|
v-if="
|
||||||
<div style="float: right; margin-top: 20px" v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE' ||
|
$route.query.taskType == 'QUESTIONNAIRE_SCALE' ||
|
||||||
$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'
|
$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'
|
||||||
">
|
"
|
||||||
<el-form :inline="true" class="demo-form-inline" :model="questiondata" :rules="rules" ref="questiondata">
|
>
|
||||||
|
<div
|
||||||
|
style="float: right; margin-top: 20px"
|
||||||
|
v-if="
|
||||||
|
$route.query.taskType == 'QUESTIONNAIRE_SCALE' ||
|
||||||
|
$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-form
|
||||||
|
:inline="true"
|
||||||
|
class="demo-form-inline"
|
||||||
|
:model="questiondata"
|
||||||
|
:rules="rules"
|
||||||
|
ref="questiondata"
|
||||||
|
>
|
||||||
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
||||||
<el-input type="textarea" placeholder="请输入任务处理信息" v-model="questiondata.routeHandleRemark" />
|
<el-input
|
||||||
|
type="textarea"
|
||||||
|
placeholder="请输入任务处理信息"
|
||||||
|
v-model="questiondata.routeHandleRemark"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="sport" v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE'">
|
<div
|
||||||
|
class="sport"
|
||||||
|
v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE'"
|
||||||
|
>
|
||||||
问卷模板: Barthel指数评定问卷
|
问卷模板: Barthel指数评定问卷
|
||||||
</div>
|
</div>
|
||||||
<div class="words" v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE'">
|
<div
|
||||||
|
class="words"
|
||||||
|
v-if="$route.query.taskType == 'QUESTIONNAIRE_SCALE'"
|
||||||
|
>
|
||||||
您好!本问卷用于评估日常生活能力,请根据自身日常实际表现选择合适的选项。
|
您好!本问卷用于评估日常生活能力,请根据自身日常实际表现选择合适的选项。
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sport" v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'">
|
<div
|
||||||
|
class="sport"
|
||||||
|
v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'"
|
||||||
|
>
|
||||||
人工随访模板: 神经内科人工随访
|
人工随访模板: 神经内科人工随访
|
||||||
</div>
|
</div>
|
||||||
<div class="words" v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'">
|
<div
|
||||||
|
class="words"
|
||||||
|
v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'"
|
||||||
|
>
|
||||||
**您好!
|
**您好!
|
||||||
</div>
|
</div>
|
||||||
<div class="words" v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'">
|
<div
|
||||||
|
class="words"
|
||||||
|
v-if="$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP'"
|
||||||
|
>
|
||||||
我是✕✕医院的工作人员,今天给您打电话想要了解一下您的恢复情况。
|
我是✕✕医院的工作人员,今天给您打电话想要了解一下您的恢复情况。
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="words" v-for="(item, index) in questiondata.questionSubjectList" :key="index">
|
<div
|
||||||
|
class="words"
|
||||||
|
v-for="(item, index) in questiondata.questionSubjectList"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
{{ index + 1 }}.{{ item.questionName }}
|
{{ index + 1 }}.{{ item.questionName }}
|
||||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE'">(单选题)</span>
|
<span v-if="item.questionType == 'MULTIPLE_CHOICE'"
|
||||||
<span v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS'">(多选题)</span>
|
>(单选题)</span
|
||||||
<span v-if="item.questionType == 'SCORING_QUESTIONS'">(打分题)</span>
|
>
|
||||||
<span v-if="item.questionType == 'COMBINATION_RADIO_SUBJECT'">(组合单选题)</span>
|
<span v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS'"
|
||||||
<span v-if="item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'">(组合多选题)</span>
|
>(多选题)</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 == 'SCORING_QUESTIONS'"
|
||||||
<span v-if="item.questionType == 'COMBINATION_SCORING_SUBJECT'">(组合打分题)</span>
|
>(打分题)</span
|
||||||
<span v-if="item.questionType == 'DATE_BLANKS_SUBJECT'">(日期填空题)</span>
|
>
|
||||||
<span v-if="item.questionType == 'TIME_BLANKS_SUBJECT'">(时间填空题)</span>
|
<span v-if="item.questionType == 'COMBINATION_RADIO_SUBJECT'"
|
||||||
<el-radio-group v-if="item.questionType == 'MULTIPLE_CHOICE' ||
|
>(组合单选题)</span
|
||||||
item.questionType == 'COMBINATION_RADIO_SUBJECT' ||
|
>
|
||||||
item.questionType == 'SCORING_QUESTIONS' ||
|
<span v-if="item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'"
|
||||||
item.questionType == 'COMBINATION_SCORING_SUBJECT'
|
>(组合多选题)</span
|
||||||
" 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"
|
<span v-if="item.questionType == 'COMBINATION_BLANKS_SUBJECT'"
|
||||||
:label="aitem.id" @change="radioChange($event, aitem, index)">{{ aitem.optionName }}</el-radio>
|
>(组合填空题)</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-radio-group>
|
||||||
<!-- 多选、组合多选 -->
|
<!-- 多选、组合多选 -->
|
||||||
<el-checkbox-group v-model="checkeddata" @change="radioGroupChange($event, item, 'checkbox')" v-if="item.questionType == 'MULTIPLE_CHOICE_QUESTIONS' ||
|
<el-checkbox-group
|
||||||
item.questionType == 'COMBINATION_MULTIPLE_SUBJECT'
|
v-model="checkeddata"
|
||||||
">
|
@change="radioGroupChange($event, item, 'checkbox')"
|
||||||
<el-checkbox v-for="(aitem, aindex) in item.questionSubjectOptionList" :key="aindex" :label="aitem.id"
|
v-if="
|
||||||
@change="radioChangecheck($event, aitem, index, aindex)">{{ aitem.optionName }}</el-checkbox>
|
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>
|
</el-checkbox-group>
|
||||||
<!-- 填空题、组合填空 -->
|
<!-- 填空题、组合填空 -->
|
||||||
<div v-if="item.questionType == 'FILL_IN_THE_BLANKS' ||
|
<div
|
||||||
item.questionType == 'COMBINATION_BLANKS_SUBJECT'
|
v-if="
|
||||||
" class="tk">
|
item.questionType == 'FILL_IN_THE_BLANKS' ||
|
||||||
<el-input v-model="item.fillBlanksAnswer" placeholder="请输入答案" type="textarea" />
|
item.questionType == 'COMBINATION_BLANKS_SUBJECT'
|
||||||
|
"
|
||||||
|
class="tk"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="item.fillBlanksAnswer"
|
||||||
|
placeholder="请输入答案"
|
||||||
|
type="textarea"
|
||||||
|
/>
|
||||||
<!-- <el-input></el-input> -->
|
<!-- <el-input></el-input> -->
|
||||||
</div>
|
</div>
|
||||||
<!-- 日期填空题、 -->
|
<!-- 日期填空题、 -->
|
||||||
<div v-if="item.questionType == 'DATE_BLANKS_SUBJECT'" style="margin: 20px 0 10px 30px">
|
<div
|
||||||
<el-date-picker @change="timepicker($event, index)" clearable v-model="item.fillBlanksAnswer" type="date"
|
v-if="item.questionType == 'DATE_BLANKS_SUBJECT'"
|
||||||
value-format="yyyy-MM-dd" placeholder="选择日期">
|
style="margin: 20px 0 10px 30px"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
@change="timepicker($event, index)"
|
||||||
|
clearable
|
||||||
|
v-model="item.fillBlanksAnswer"
|
||||||
|
type="date"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
placeholder="选择日期"
|
||||||
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
</div>
|
||||||
<!-- 时间填空题 -->
|
<!-- 时间填空题 -->
|
||||||
<div style="margin: 20px 0 10px 30px" v-if="item.questionType == 'TIME_BLANKS_SUBJECT'">
|
<div
|
||||||
<el-time-select @change="timepickerselect($event, index)" clearable v-model="item.fillBlanksAnswer"
|
style="margin: 20px 0 10px 30px"
|
||||||
|
v-if="item.questionType == 'TIME_BLANKS_SUBJECT'"
|
||||||
|
>
|
||||||
|
<el-time-select
|
||||||
|
@change="timepickerselect($event, index)"
|
||||||
|
clearable
|
||||||
|
v-model="item.fillBlanksAnswer"
|
||||||
:picker-options="{
|
:picker-options="{
|
||||||
start: '08:30',
|
start: '08:30',
|
||||||
step: '00:30',
|
step: '00:30',
|
||||||
end: '23:30',
|
end: '23:30',
|
||||||
}" placeholder="选择时间">
|
}"
|
||||||
|
placeholder="选择时间"
|
||||||
|
>
|
||||||
</el-time-select>
|
</el-time-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -123,22 +237,42 @@
|
|||||||
<div class="sport">电话外呼</div>
|
<div class="sport">电话外呼</div>
|
||||||
|
|
||||||
<div class="nexttime">
|
<div class="nexttime">
|
||||||
<el-form ref="formlist" :model="formlist" label-width="110px" :inline="true" :rules="rulesphone">
|
<el-form
|
||||||
|
ref="formlist"
|
||||||
|
:model="formlist"
|
||||||
|
label-width="110px"
|
||||||
|
:inline="true"
|
||||||
|
:rules="rulesphone"
|
||||||
|
>
|
||||||
<el-form-item label="话术名称" prop="scriptName">
|
<el-form-item label="话术名称" prop="scriptName">
|
||||||
<el-input disabled v-model="formlist.scriptName" placeholder="请输入话术名称" />
|
<el-radio v-model="radio" label="1">备选项</el-radio>
|
||||||
|
<el-radio v-model="radio" label="2">备选项</el-radio>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br />
|
<br />
|
||||||
<el-form-item label="通用话术名称" prop="commonScriptName">
|
<el-form-item label="通用话术名称" prop="commonScriptName">
|
||||||
<el-input disabled v-model="formlist.commonScriptName" placeholder="请输入通用话术名称" />
|
<el-input
|
||||||
|
disabled
|
||||||
|
v-model="formlist.commonScriptName"
|
||||||
|
placeholder="请输入通用话术名称"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br />
|
<br />
|
||||||
<el-form-item label="话术简介" prop="scriptIntroduction">
|
<el-form-item label="话术简介" prop="scriptIntroduction">
|
||||||
<el-input disabled type="textarea" v-model="formlist.scriptIntroduction" placeholder="请输入话术简介" />
|
<el-input
|
||||||
|
disabled
|
||||||
|
type="textarea"
|
||||||
|
v-model="formlist.scriptIntroduction"
|
||||||
|
placeholder="请输入话术简介"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
<el-form-item label="任务处理信息" prop="routeHandleRemark">
|
||||||
<el-input type="textarea" v-model="formlist.routeHandleRemark" placeholder="请输入任务处理信息" />
|
<el-input
|
||||||
|
type="textarea"
|
||||||
|
v-model="formlist.routeHandleRemark"
|
||||||
|
placeholder="请输入任务处理信息"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@ -148,22 +282,27 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { selectFollowPatientInfo, question, addPatientQuestionResult } from "@/api/system/followupsee";
|
import {
|
||||||
|
selectFollowPatientInfo,
|
||||||
|
question,
|
||||||
|
addPatientQuestionResult,
|
||||||
|
} from "@/api/system/followupsee";
|
||||||
import { getScript } from "@/api/manage/script";
|
import { getScript } from "@/api/manage/script";
|
||||||
import Cookies from 'js-cookie'
|
import Cookies from "js-cookie";
|
||||||
export default {
|
export default {
|
||||||
name: "patientdetails",
|
name: "patientdetails",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
obj: {},
|
obj: {},
|
||||||
|
radio: "1",
|
||||||
checkList: [],
|
checkList: [],
|
||||||
checked: false,
|
checked: false,
|
||||||
formlist: {},
|
formlist: {},
|
||||||
form: {
|
form: {
|
||||||
taskType: this.$route.query.taskType,
|
taskType: this.$route.query.taskType,
|
||||||
routeHandleId: Cookies.get('userId'),
|
routeHandleId: Cookies.get("userId"),
|
||||||
routeHandlePerson: Cookies.get('userName'),
|
routeHandlePerson: Cookies.get("userName"),
|
||||||
routeHandleRemark: null,
|
routeHandleRemark: null,
|
||||||
patientId: this.$route.query.patientId,
|
patientId: this.$route.query.patientId,
|
||||||
manageRouteId: this.$route.query.manageRouteId,
|
manageRouteId: this.$route.query.manageRouteId,
|
||||||
@ -178,36 +317,36 @@ export default {
|
|||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
routeHandleRemark: [
|
routeHandleRemark: [
|
||||||
{ required: true, message: '请输入任务处理信息', trigger: 'change' }
|
{ required: true, message: "请输入任务处理信息", trigger: "change" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
rulesphone: {
|
rulesphone: {
|
||||||
routeHandleRemark: [
|
routeHandleRemark: [
|
||||||
{ required: true, message: '请输入任务处理信息', trigger: 'change' }
|
{ required: true, message: "请输入任务处理信息", trigger: "change" },
|
||||||
],
|
],
|
||||||
|
|
||||||
},
|
},
|
||||||
radio: "B",
|
radio: "B",
|
||||||
id: "",
|
id: "",
|
||||||
list: [],
|
list: [],
|
||||||
type: '',
|
type: "",
|
||||||
checkeddata: [],
|
checkeddata: [],
|
||||||
questiondata: {
|
questiondata: {
|
||||||
totalScore: 0, //总分
|
totalScore: 0, //总分
|
||||||
routeHandlePerson: null,
|
routeHandlePerson: null,
|
||||||
routeHandleId: null,
|
routeHandleId: null,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.id = this.$route.query.manageRouteId;
|
this.id = this.$route.query.manageRouteId;
|
||||||
this.info();
|
this.info();
|
||||||
if (this.$route.query.taskType == 'QUESTIONNAIRE_SCALE' || this.$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP') {
|
if (
|
||||||
|
this.$route.query.taskType == "QUESTIONNAIRE_SCALE" ||
|
||||||
|
this.$route.query.taskType == "ARTIFICIAL_FOLLOW_UP"
|
||||||
|
) {
|
||||||
this.questioninfo();
|
this.questioninfo();
|
||||||
} else {
|
} else {
|
||||||
|
getScript(this.$route.query.templateId).then((response) => {
|
||||||
getScript(this.$route.query.templateId).then(response => {
|
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
this.formlist = response.data;
|
this.formlist = response.data;
|
||||||
}
|
}
|
||||||
@ -217,200 +356,222 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
// 日期填空题
|
// 日期填空题
|
||||||
timepicker(e, index) {
|
timepicker(e, index) {
|
||||||
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e
|
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e;
|
||||||
|
|
||||||
},
|
},
|
||||||
// 时间填空题
|
// 时间填空题
|
||||||
timepickerselect(e, index) {
|
timepickerselect(e, index) {
|
||||||
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e
|
this.questiondata.questionSubjectList[index].fillBlanksAnswer = e;
|
||||||
},
|
|
||||||
radioGroupChange(e, item) {
|
|
||||||
},
|
},
|
||||||
|
radioGroupChange(e, item) {},
|
||||||
// 选中某个单选框时,由radio时触发
|
// 选中某个单选框时,由radio时触发
|
||||||
radioChange(e, item, index) {
|
radioChange(e, item, index) {
|
||||||
console.log(e, item, index, '选中某个单选框时')
|
console.log(e, item, index, "选中某个单选框时");
|
||||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList.forEach(el => {
|
this.questiondata.questionSubjectList[
|
||||||
|
index
|
||||||
|
].questionSubjectOptionList.forEach((el) => {
|
||||||
if (el.id == item.id) {
|
if (el.id == item.id) {
|
||||||
el.optionChooseSign = '0'
|
el.optionChooseSign = "0";
|
||||||
|
} else {
|
||||||
|
el.optionChooseSign = "1";
|
||||||
}
|
}
|
||||||
else {
|
});
|
||||||
el.optionChooseSign = '1'
|
console.log(this.questiondata, "this.questiondata");
|
||||||
}
|
this.questiondata;
|
||||||
})
|
|
||||||
console.log(this.questiondata, 'this.questiondata')
|
|
||||||
this.questiondata
|
|
||||||
},
|
},
|
||||||
// 复选框
|
// 复选框
|
||||||
radioChangecheck(e, item, index, aindex) {
|
radioChangecheck(e, item, index, aindex) {
|
||||||
console.log(e, item, index, '选中某个复选框时')
|
console.log(e, item, index, "选中某个复选框时");
|
||||||
if (e == true) {
|
if (e == true) {
|
||||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[aindex].optionChooseSign = '0'
|
this.questiondata.questionSubjectList[index].questionSubjectOptionList[
|
||||||
|
aindex
|
||||||
|
].optionChooseSign = "0";
|
||||||
} else {
|
} else {
|
||||||
this.questiondata.questionSubjectList[index].questionSubjectOptionList[aindex].optionChooseSign = '1'
|
this.questiondata.questionSubjectList[index].questionSubjectOptionList[
|
||||||
|
aindex
|
||||||
|
].optionChooseSign = "1";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
info() {
|
info() {
|
||||||
selectFollowPatientInfo(this.id).then((res) => {
|
selectFollowPatientInfo(this.id).then((res) => {
|
||||||
this.list = res.data;
|
this.list = res.data;
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
questioninfo() {
|
questioninfo() {
|
||||||
question(this.$route.query.templateId).then((res) => {
|
question(this.$route.query.templateId).then((res) => {
|
||||||
this.questiondata = res.data;
|
this.questiondata = res.data;
|
||||||
this.questiondata.questionInfoId = res.data.id;
|
this.questiondata.questionInfoId = res.data.id;
|
||||||
this.questiondata.routeHandlePerson = Cookies.get('userName')
|
this.questiondata.routeHandlePerson = Cookies.get("userName");
|
||||||
this.questiondata.routeHandleId = Cookies.get('userId')
|
this.questiondata.routeHandleId = Cookies.get("userId");
|
||||||
this.questiondata.patientId = this.$route.query.patientId
|
this.questiondata.patientId = this.$route.query.patientId;
|
||||||
this.questiondata.manageRouteId = this.$route.query.manageRouteId
|
this.questiondata.manageRouteId = this.$route.query.manageRouteId;
|
||||||
this.questiondata.manageRouteNodeId = this.$route.query.manageRouteNodeId
|
this.questiondata.manageRouteNodeId =
|
||||||
this.questiondata.patientName = this.$route.query.patientName
|
this.$route.query.manageRouteNodeId;
|
||||||
this.questiondata.manageRouteName = this.$route.query.manageRouteName
|
this.questiondata.patientName = this.$route.query.patientName;
|
||||||
this.questiondata.manageRouteNodeName = this.$route.query.manageRouteNodeName
|
this.questiondata.manageRouteName = this.$route.query.manageRouteName;
|
||||||
this.questiondata.taskType = this.$route.query.taskType
|
this.questiondata.manageRouteNodeName =
|
||||||
this.questiondata.visitRecordId = this.$route.query.visitRecordId
|
this.$route.query.manageRouteNodeName;
|
||||||
this.questiondata.totalScore = 0
|
this.questiondata.taskType = this.$route.query.taskType;
|
||||||
this.questiondata.questionSubjectList.forEach(e => {
|
this.questiondata.visitRecordId = this.$route.query.visitRecordId;
|
||||||
if (e.questionType == 'MULTIPLE_CHOICE' || e.questionType == 'MULTIPLE_CHOICE_QUESTIONS' || e.questionType == 'SCORING_QUESTIONS' || e.questionType == 'COMBINATION_RADIO_SUBJECT' || e.questionType == 'COMBINATION_MULTIPLE_SUBJECT' || e.questionType == 'COMBINATION_SCORING_SUBJECT') {
|
this.questiondata.totalScore = 0;
|
||||||
e.whetherScore = '1'
|
this.questiondata.questionSubjectList.forEach((e) => {
|
||||||
|
if (
|
||||||
|
e.questionType == "MULTIPLE_CHOICE" ||
|
||||||
|
e.questionType == "MULTIPLE_CHOICE_QUESTIONS" ||
|
||||||
|
e.questionType == "SCORING_QUESTIONS" ||
|
||||||
|
e.questionType == "COMBINATION_RADIO_SUBJECT" ||
|
||||||
|
e.questionType == "COMBINATION_MULTIPLE_SUBJECT" ||
|
||||||
|
e.questionType == "COMBINATION_SCORING_SUBJECT"
|
||||||
|
) {
|
||||||
|
e.whetherScore = "1";
|
||||||
} else {
|
} else {
|
||||||
e.whetherScore = '0'
|
e.whetherScore = "0";
|
||||||
}
|
}
|
||||||
e.questionSubjectOptionList.forEach(el => {
|
e.questionSubjectOptionList.forEach((el) => {
|
||||||
el.questionNumber = e.questionNumber
|
el.questionNumber = e.questionNumber;
|
||||||
if (e.questionType == 'MULTIPLE_CHOICE_QUESTIONS' || e.questionType == 'COMBINATION_MULTIPLE_SUBJECT') {
|
if (
|
||||||
el.optionChooseSign = '1'
|
e.questionType == "MULTIPLE_CHOICE_QUESTIONS" ||
|
||||||
|
e.questionType == "COMBINATION_MULTIPLE_SUBJECT"
|
||||||
|
) {
|
||||||
|
el.optionChooseSign = "1";
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
// 保存
|
// 保存
|
||||||
|
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
submit() {
|
submit() {
|
||||||
if (this.$route.query.taskType == 'QUESTIONNAIRE_SCALE') {
|
if (this.$route.query.taskType == "QUESTIONNAIRE_SCALE") {
|
||||||
// 对象.新名字=对象.原数组
|
// 对象.新名字=对象.原数组
|
||||||
this.$delete(this.questiondata, 'updateBy',)
|
this.$delete(this.questiondata, "updateBy");
|
||||||
this.$delete(this.questiondata, 'updateTime',)
|
this.$delete(this.questiondata, "updateTime");
|
||||||
var score = 0
|
var score = 0;
|
||||||
// 单选、多选、打分分值
|
// 单选、多选、打分分值
|
||||||
this.questiondata.questionSubjectList.forEach(e => {
|
this.questiondata.questionSubjectList.forEach((e) => {
|
||||||
if (e.questionSubjectOptionList?.length > 0) {
|
if (e.questionSubjectOptionList?.length > 0) {
|
||||||
e.questionSubjectOptionList.forEach(el => {
|
e.questionSubjectOptionList.forEach((el) => {
|
||||||
if (e.questionType == 'MULTIPLE_CHOICE' || e.questionType == 'MULTIPLE_CHOICE_QUESTIONS' || e.questionType == 'SCORING_QUESTIONS' || e.questionType == 'COMBINATION_RADIO_SUBJECT' || e.questionType == 'COMBINATION_MULTIPLE_SUBJECT' || e.questionType == 'COMBINATION_SCORING_SUBJECT') {
|
if (
|
||||||
if (el.optionChooseSign == '0') {
|
e.questionType == "MULTIPLE_CHOICE" ||
|
||||||
score += el.optionScore
|
e.questionType == "MULTIPLE_CHOICE_QUESTIONS" ||
|
||||||
|
e.questionType == "SCORING_QUESTIONS" ||
|
||||||
|
e.questionType == "COMBINATION_RADIO_SUBJECT" ||
|
||||||
|
e.questionType == "COMBINATION_MULTIPLE_SUBJECT" ||
|
||||||
|
e.questionType == "COMBINATION_SCORING_SUBJECT"
|
||||||
|
) {
|
||||||
|
if (el.optionChooseSign == "0") {
|
||||||
|
score += el.optionScore;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
// console.log(score, 'score')
|
// console.log(score, 'score')
|
||||||
this.questiondata.totalScore = score
|
this.questiondata.totalScore = score;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
})
|
this.questiondata.subjectResultDTOList =
|
||||||
this.questiondata.subjectResultDTOList = this.questiondata.questionSubjectList
|
this.questiondata.questionSubjectList;
|
||||||
this.obj = JSON.parse(JSON.stringify(this.questiondata))
|
this.obj = JSON.parse(JSON.stringify(this.questiondata));
|
||||||
delete this.obj.questionSubjectList;
|
delete this.obj.questionSubjectList;
|
||||||
this.obj.subjectResultDTOList.forEach(e => {
|
this.obj.subjectResultDTOList.forEach((e) => {
|
||||||
e.optionResultList = e.questionSubjectOptionList
|
e.optionResultList = e.questionSubjectOptionList;
|
||||||
if (e.optionResultList.optionSubmitAnswer) {
|
if (e.optionResultList.optionSubmitAnswer) {
|
||||||
e.optionResultList.optionSubmitAnswer = e.optionResultList.optionSubmitAnswer
|
e.optionResultList.optionSubmitAnswer =
|
||||||
|
e.optionResultList.optionSubmitAnswer;
|
||||||
}
|
}
|
||||||
// this.$delete(this.obj, '0', '')
|
// this.$delete(this.obj, '0', '')
|
||||||
delete e.questionSubjectOptionList;
|
delete e.questionSubjectOptionList;
|
||||||
});
|
});
|
||||||
// console.log(this.obj, 'obj')
|
// console.log(this.obj, 'obj')
|
||||||
|
} else if (this.$route.query.taskType == "ARTIFICIAL_FOLLOW_UP") {
|
||||||
|
console.log(this.questiondata, "questiondata");
|
||||||
} else if (this.$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP') {
|
|
||||||
console.log(this.questiondata, 'questiondata')
|
|
||||||
// 对象.新名字=对象.原数组
|
// 对象.新名字=对象.原数组
|
||||||
this.$delete(this.questiondata, 'updateBy',)
|
this.$delete(this.questiondata, "updateBy");
|
||||||
this.$delete(this.questiondata, 'updateTime',)
|
this.$delete(this.questiondata, "updateTime");
|
||||||
this.questiondata.subjectResultDTOList = this.questiondata.questionSubjectList
|
this.questiondata.subjectResultDTOList =
|
||||||
this.obj = JSON.parse(JSON.stringify(this.questiondata))
|
this.questiondata.questionSubjectList;
|
||||||
|
this.obj = JSON.parse(JSON.stringify(this.questiondata));
|
||||||
delete this.obj.questionSubjectList;
|
delete this.obj.questionSubjectList;
|
||||||
this.obj.subjectResultDTOList.forEach(e => {
|
this.obj.subjectResultDTOList.forEach((e) => {
|
||||||
e.optionResultList = e.questionSubjectOptionList
|
e.optionResultList = e.questionSubjectOptionList;
|
||||||
if (e.optionResultList.optionSubmitAnswer) {
|
if (e.optionResultList.optionSubmitAnswer) {
|
||||||
e.optionResultList.optionSubmitAnswer = e.optionResultList.optionSubmitAnswer
|
e.optionResultList.optionSubmitAnswer =
|
||||||
|
e.optionResultList.optionSubmitAnswer;
|
||||||
}
|
}
|
||||||
// this.$delete(this.obj, '0', '')
|
// this.$delete(this.obj, '0', '')
|
||||||
delete e.questionSubjectOptionList;
|
delete e.questionSubjectOptionList;
|
||||||
});
|
});
|
||||||
// this.$delete(this.obj, 'totalScore',)
|
// this.$delete(this.obj, 'totalScore',)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// 问卷、随访
|
// 问卷、随访
|
||||||
if (this.$route.query.taskType == 'QUESTIONNAIRE_SCALE' || this.$route.query.taskType == 'ARTIFICIAL_FOLLOW_UP') {
|
if (
|
||||||
|
this.$route.query.taskType == "QUESTIONNAIRE_SCALE" ||
|
||||||
|
this.$route.query.taskType == "ARTIFICIAL_FOLLOW_UP"
|
||||||
|
) {
|
||||||
// console.log(this.obj, 'objobj')
|
// console.log(this.obj, 'objobj')
|
||||||
// return
|
// return
|
||||||
this.$refs["questiondata"].validate(valid => {
|
this.$refs["questiondata"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
addPatientQuestionResult(this.obj).then(response => {
|
addPatientQuestionResult(this.obj).then((response) => {
|
||||||
this.$confirm('保存成功, 是否返回上一页?', '提示', {
|
this.$confirm("保存成功, 是否返回上一页?", "提示", {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: "取消",
|
||||||
type: 'success'
|
type: "success",
|
||||||
}).then(() => {
|
})
|
||||||
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
.then(() => {
|
||||||
this.$router.push({
|
this.$store
|
||||||
path: "/task/followup",
|
.dispatch("tagsView/delView", this.$route)
|
||||||
});
|
.then(({ visitedViews }) => {
|
||||||
})
|
this.$router.push({
|
||||||
}).catch(() => {
|
path: "/task/followup",
|
||||||
this.$modal.msgSuccess("保存成功");
|
});
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else if (this.$route.query.taskType == 'PHONE_OUTBOUND') {
|
|
||||||
// console.log(this.form, '话术')
|
|
||||||
// return
|
|
||||||
this.$refs["formlist"].validate(valid => {
|
|
||||||
if (valid) {
|
|
||||||
this.form.departmentId = this.formlist.departmentId,
|
|
||||||
this.form.departmentName = this.formlist.departmentName,
|
|
||||||
this.form.diseaseTypeId = this.formlist.diseaseTypeId,
|
|
||||||
this.form.diseaseTypeName = this.formlist.diseaseTypeName,
|
|
||||||
this.form.routeHandleRemark = this.formlist.routeHandleRemark
|
|
||||||
this.form.visitRecordId = this.$route.query.visitRecordId,
|
|
||||||
// console.log(this.form, 'this.form')
|
|
||||||
// return
|
|
||||||
addPatientQuestionResult(this.form).then(response => {
|
|
||||||
this.$confirm('保存成功, 是否返回上一页?', '提示', {
|
|
||||||
confirmButtonText: '确定',
|
|
||||||
cancelButtonText: '取消',
|
|
||||||
type: 'success'
|
|
||||||
}).then(() => {
|
|
||||||
this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => {
|
|
||||||
this.$router.push({
|
|
||||||
path: "/task/followup",
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}).catch(() => {
|
.catch(() => {
|
||||||
this.$modal.msgSuccess("保存成功");
|
this.$modal.msgSuccess("保存成功");
|
||||||
});
|
});
|
||||||
|
});
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
} else if (this.$route.query.taskType == "PHONE_OUTBOUND") {
|
||||||
|
// console.log(this.form, '话术')
|
||||||
|
// return
|
||||||
|
this.$refs["formlist"].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
(this.form.departmentId = this.formlist.departmentId),
|
||||||
|
(this.form.departmentName = this.formlist.departmentName),
|
||||||
|
(this.form.diseaseTypeId = this.formlist.diseaseTypeId),
|
||||||
|
(this.form.diseaseTypeName = this.formlist.diseaseTypeName),
|
||||||
|
(this.form.routeHandleRemark = this.formlist.routeHandleRemark);
|
||||||
|
(this.form.visitRecordId = this.$route.query.visitRecordId),
|
||||||
|
// console.log(this.form, 'this.form')
|
||||||
|
// return
|
||||||
|
addPatientQuestionResult(this.form).then((response) => {
|
||||||
|
this.$confirm("保存成功, 是否返回上一页?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "success",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$store
|
||||||
|
.dispatch("tagsView/delView", this.$route)
|
||||||
|
.then(({ visitedViews }) => {
|
||||||
|
this.$router.push({
|
||||||
|
path: "/task/followup",
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.$modal.msgSuccess("保存成功");
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 取消
|
// 取消
|
||||||
cencal() {
|
cencal() {
|
||||||
|
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: "/task/followup",
|
path: "/task/followup",
|
||||||
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleClick(tab, event) {
|
handleClick(tab, event) {
|
||||||
@ -419,17 +580,15 @@ export default {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
::v-deep .el-input.is-disabled .el-input__inner {
|
::v-deep .el-input.is-disabled .el-input__inner {
|
||||||
background: #fff !important;
|
background: #fff !important;
|
||||||
color: #606266;
|
color: #606266;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-textarea.is-disabled .el-textarea__inner {
|
::v-deep .el-textarea.is-disabled .el-textarea__inner {
|
||||||
color: #606266;
|
color: #606266;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tk {
|
.tk {
|
||||||
::v-deep .el-textarea__inner {
|
::v-deep .el-textarea__inner {
|
||||||
margin: 20px 0 10px 30px;
|
margin: 20px 0 10px 30px;
|
||||||
@ -439,28 +598,23 @@ export default {
|
|||||||
::v-deep .el-radio {
|
::v-deep .el-radio {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-checkbox-group {
|
::v-deep .el-checkbox-group {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
padding: 10px 0px 10px 24px;
|
padding: 10px 0px 10px 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-checkbox {
|
::v-deep .el-checkbox {
|
||||||
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;
|
||||||
padding: 10px 0 10px 10px;
|
padding: 10px 0 10px 10px;
|
||||||
|
|
||||||
.custom {
|
.custom {
|
||||||
padding: 10px 0 10px 10px;
|
padding: 10px 0 10px 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bodytop {
|
.bodytop {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 20px;
|
top: 20px;
|
||||||
@ -470,41 +624,34 @@ export default {
|
|||||||
// background: red;f
|
// background: red;f
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
border: 1px solid #e2e2e2;
|
border: 1px solid #e2e2e2;
|
||||||
|
|
||||||
.titledata {
|
.titledata {
|
||||||
margin: 30px 0px 15px 30px;
|
margin: 30px 0px 15px 30px;
|
||||||
top: 14px;
|
top: 14px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.audiotop {
|
.audiotop {
|
||||||
margin: 10px 0px 10px 30px;
|
margin: 10px 0px 10px 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
// width: 362px;
|
// width: 362px;
|
||||||
// height: 127px;
|
// height: 127px;
|
||||||
margin: 0px 0px 0px 30px;
|
margin: 0px 0px 0px 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.know {
|
.know {
|
||||||
margin: 11px 0px 10px 30px;
|
margin: 11px 0px 10px 30px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-weight: 550;
|
font-weight: 550;
|
||||||
}
|
}
|
||||||
|
|
||||||
.knowlist {
|
.knowlist {
|
||||||
margin: 10px 0px 10px 30px;
|
margin: 10px 0px 10px 30px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.right {
|
.right {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 500px;
|
height: 500px;
|
||||||
// background: yellow;
|
// background: yellow;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
background-color: #f1f3f5;
|
background-color: #f1f3f5;
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
@ -523,18 +670,15 @@ export default {
|
|||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
margin: 10px auto;
|
margin: 10px auto;
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
|
|
||||||
.sport {
|
.sport {
|
||||||
padding: 10px 50px 10px 10px;
|
padding: 10px 50px 10px 10px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.words {
|
.words {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
padding: 10px 50px 10px 10px;
|
padding: 10px 50px 10px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sports {
|
.sports {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
@ -542,25 +686,21 @@ export default {
|
|||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.word {
|
.word {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 550;
|
font-weight: 550;
|
||||||
padding: 50px 50px 10px 10px;
|
padding: 50px 50px 10px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.videoleft {
|
.videoleft {
|
||||||
width: 40%;
|
width: 40%;
|
||||||
height: 200px;
|
height: 200px;
|
||||||
background: red;
|
background: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
.time {
|
.time {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-weight: 550;
|
font-weight: 550;
|
||||||
padding: 10px 50px 10px 10px;
|
padding: 10px 50px 10px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.number {
|
.number {
|
||||||
width: 25px;
|
width: 25px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
@ -570,25 +710,21 @@ export default {
|
|||||||
background: blue;
|
background: blue;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nexttime {
|
.nexttime {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
padding: 10px 50px 10px 10px;
|
padding: 10px 50px 10px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.images {
|
.images {
|
||||||
width: 53%;
|
width: 53%;
|
||||||
height: 241px;
|
height: 241px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
background: red;
|
background: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
.attention {
|
.attention {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 550;
|
font-weight: 550;
|
||||||
padding: 10px 50px 10px 10px;
|
padding: 10px 50px 10px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .videobottom
|
// .videobottom
|
||||||
// {
|
// {
|
||||||
// font-size: 14px;
|
// font-size: 14px;
|
||||||
@ -603,7 +739,6 @@ export default {
|
|||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
|
||||||
.information {
|
.information {
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
@ -634,7 +769,6 @@ export default {
|
|||||||
position: relative;
|
position: relative;
|
||||||
right: 59px;
|
right: 59px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,8 +8,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<span> 适用范围 </span>
|
<span> 适用范围 </span>
|
||||||
<el-select v-model="updata.suitRange" placeholder="请选择" @change="changeoptions">
|
<el-select
|
||||||
<el-option v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
v-model="updata.suitRange"
|
||||||
|
placeholder="请选择"
|
||||||
|
@change="changeoptions"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in options"
|
||||||
|
:key="item.dictValue"
|
||||||
|
:label="item.dictLabel"
|
||||||
|
:value="item.dictValue"
|
||||||
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
@ -21,12 +30,20 @@
|
|||||||
<i class="el-icon-circle-plus-outline" @click="addlist"></i>
|
<i class="el-icon-circle-plus-outline" @click="addlist"></i>
|
||||||
</div>
|
</div>
|
||||||
<el-timeline>
|
<el-timeline>
|
||||||
<el-timeline-item v-for="(item, index) in lists" :key="index" :color="listindex == index ? '#409EFF' : ''">
|
<el-timeline-item
|
||||||
|
v-for="(item, index) in lists"
|
||||||
|
:key="index"
|
||||||
|
:color="listindex == index ? '#409EFF' : ''"
|
||||||
|
>
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="toptop">
|
<div class="toptop">
|
||||||
<el-select v-model="item.routeNodeName" style="width: 100px">
|
<el-select v-model="item.routeNodeName" style="width: 100px">
|
||||||
<el-option v-for="item in parentDictCodelist" :key="item.dictValue" :label="item.dictLabel"
|
<el-option
|
||||||
:value="item.dictValue">
|
v-for="item in parentDictCodelist"
|
||||||
|
:key="item.dictValue"
|
||||||
|
:label="item.dictLabel"
|
||||||
|
:value="item.dictValue"
|
||||||
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
<!-- <el-option label="出院后" value="AFTER_DISCHARGE" />
|
<!-- <el-option label="出院后" value="AFTER_DISCHARGE" />
|
||||||
<el-option label="入院后" value="AFTER_ADMISSION" />
|
<el-option label="入院后" value="AFTER_ADMISSION" />
|
||||||
@ -38,22 +55,43 @@
|
|||||||
<el-option label="术前" value="PREOPERATIVE" />
|
<el-option label="术前" value="PREOPERATIVE" />
|
||||||
<el-option label="术后" value="POSTOPERATIVE" /> -->
|
<el-option label="术后" value="POSTOPERATIVE" /> -->
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-input v-model="item.routeNodeDay" style="width: 70px" type="number" :min="0"></el-input>
|
<el-input
|
||||||
|
v-model="item.routeNodeDay"
|
||||||
|
style="width: 70px"
|
||||||
|
type="number"
|
||||||
|
:min="0"
|
||||||
|
></el-input>
|
||||||
<span>天</span>
|
<span>天</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<i class="el-icon-delete" @click="delitem(item, index)"></i>
|
<i class="el-icon-delete" @click="delitem(item, index)"></i>
|
||||||
<i class="el-icon-circle-plus-outline" @click="additem(item)"></i>
|
<i
|
||||||
|
class="el-icon-circle-plus-outline"
|
||||||
|
@click="additem(item)"
|
||||||
|
></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-card v-for="(uitem, uindex) in item.list" :key="uitem.id"
|
<el-card
|
||||||
|
v-for="(uitem, uindex) in item.list"
|
||||||
|
:key="uitem.id"
|
||||||
@click.native="bottomclickevent(uitem, index, uindex)"
|
@click.native="bottomclickevent(uitem, index, uindex)"
|
||||||
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
|
:class="listindex == index && itemindex == uindex ? 'cards' : ''"
|
||||||
|
>
|
||||||
<h3 style="height: 20px">{{ uitem.taskTypeName }}</h3>
|
<h3 style="height: 20px">{{ uitem.taskTypeName }}</h3>
|
||||||
<el-tag v-if="uitem.routeCheckStatus == 'AGREE'" class="routeCheckStatus">已审核</el-tag>
|
<el-tag
|
||||||
<el-tag v-else-if="uitem.routeCheckStatus == 'DISAGREE'" type="danger"
|
v-if="uitem.routeCheckStatus == 'AGREE'"
|
||||||
class="routeCheckStatus">不同意</el-tag>
|
class="routeCheckStatus"
|
||||||
<el-tag v-else type="warning" class="routeCheckStatus">未审核</el-tag>
|
>已审核</el-tag
|
||||||
|
>
|
||||||
|
<el-tag
|
||||||
|
v-else-if="uitem.routeCheckStatus == 'DISAGREE'"
|
||||||
|
type="danger"
|
||||||
|
class="routeCheckStatus"
|
||||||
|
>不同意</el-tag
|
||||||
|
>
|
||||||
|
<el-tag v-else type="warning" class="routeCheckStatus"
|
||||||
|
>未审核</el-tag
|
||||||
|
>
|
||||||
<p style="height: 16px">{{ uitem.taskSubdivisionName }}</p>
|
<p style="height: 16px">{{ uitem.taskSubdivisionName }}</p>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-timeline-item>
|
</el-timeline-item>
|
||||||
@ -63,48 +101,165 @@
|
|||||||
<div class="topform">
|
<div class="topform">
|
||||||
<el-form ref="form" :inline="true" :model="form" class="form">
|
<el-form ref="form" :inline="true" :model="form" class="form">
|
||||||
<el-form-item label="任务类型" prop="">
|
<el-form-item label="任务类型" prop="">
|
||||||
<el-select v-model="form.taskType" style="width: 110px" @change="changeTaskType">
|
<el-select
|
||||||
<el-option v-for="item in selectTaskTypeList" :key="item.taskTypeCode" :label="item.taskTypeName"
|
v-model="form.taskType"
|
||||||
:value="item.taskTypeCode">
|
style="width: 110px"
|
||||||
|
@change="changeTaskType"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in selectTaskTypeList"
|
||||||
|
:key="item.taskTypeCode"
|
||||||
|
:label="item.taskTypeName"
|
||||||
|
:value="item.taskTypeCode"
|
||||||
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="任务细分" prop="">
|
<el-form-item label="任务细分" prop="">
|
||||||
<el-select v-model="form.taskSubdivision" style="width: 110px" @change="changetaskSubdivision">
|
<el-select
|
||||||
<el-option v-for="item in taskPartitionList" :key="item.taskPartitionCode"
|
v-model="form.taskSubdivision"
|
||||||
:label="item.taskPartitionName" :value="item.taskPartitionCode">
|
style="width: 110px"
|
||||||
|
@change="changetaskSubdivision"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in taskPartitionList"
|
||||||
|
:key="item.taskPartitionCode"
|
||||||
|
:label="item.taskPartitionName"
|
||||||
|
:value="item.taskPartitionCode"
|
||||||
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="任务状态" prop="">
|
<el-form-item label="任务状态" prop="">
|
||||||
<el-select v-model="form.taskStatus" style="width: 110px">
|
<el-select v-model="form.taskStatus" style="width: 110px">
|
||||||
<el-option v-for="item in taskStatusDictList" :key="item.id" :label="item.taskStatusName"
|
<el-option
|
||||||
:value="item.taskStatusCode">
|
v-for="item in taskStatusDictList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.taskStatusName"
|
||||||
|
:value="item.taskStatusCode"
|
||||||
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="二级分类描述" prop="">
|
<el-form-item label="二级分类描述" prop="">
|
||||||
<el-input v-model="form.secondClassifyDescribe" style="width: 110px" disabled></el-input>
|
<el-input
|
||||||
|
v-model="form.secondClassifyDescribe"
|
||||||
|
style="width: 110px"
|
||||||
|
disabled
|
||||||
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="执行时间" prop="">
|
<el-form-item label="执行时间" prop="">
|
||||||
<el-time-select v-model="form.executionTime" style="width: 120px" placeholder="选择时间" disabled>
|
<el-time-select
|
||||||
|
v-model="form.executionTime"
|
||||||
|
style="width: 120px"
|
||||||
|
placeholder="选择时间"
|
||||||
|
disabled
|
||||||
|
>
|
||||||
</el-time-select>
|
</el-time-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="问卷库模板选择" prop="" v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE'">
|
<el-form-item
|
||||||
<question @on-template="questionontemplate" :templateId="form.templateId"
|
label="问卷库模板选择"
|
||||||
:templateName="form.templateName"></question>
|
prop=""
|
||||||
|
v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE'"
|
||||||
|
>
|
||||||
|
<question
|
||||||
|
@on-template="questionontemplate"
|
||||||
|
:templateId="form.templateId"
|
||||||
|
:templateName="form.templateName"
|
||||||
|
></question>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="宣教库模板选择" prop="" v-if="form.taskSubdivisiontemplateType == 'PROPAGANDA'">
|
<el-form-item
|
||||||
<propaganda @on-template="propagandaontemplate" :templateId="form.templateId"
|
label="宣教库模板选择"
|
||||||
:templateName="form.templateName"></propaganda>
|
prop=""
|
||||||
|
v-if="form.taskSubdivisiontemplateType == 'PROPAGANDA'"
|
||||||
|
>
|
||||||
|
<propaganda
|
||||||
|
@on-template="propagandaontemplate"
|
||||||
|
:templateId="form.templateId"
|
||||||
|
:templateName="form.templateName"
|
||||||
|
></propaganda>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomform">
|
<div class="bottomform">
|
||||||
<wangeditor style="width: 100%" :nodeContent="form.nodeContent" @on-nodeContent="onNodeContent"
|
<wangeditor
|
||||||
v-show="form.taskSubdivisiontemplateType != 'QUESTIONNAIRE' && form.taskSubdivisiontemplateType != 'PROPAGANDA'"
|
style="width: 100%"
|
||||||
ref="wangeditor" />
|
:nodeContent="form.nodeContent"
|
||||||
<div class="card">
|
@on-nodeContent="onNodeContent"
|
||||||
|
v-show="
|
||||||
|
form.taskSubdivisiontemplateType != 'QUESTIONNAIRE' &&
|
||||||
|
form.taskSubdivisiontemplateType != 'PROPAGANDA' &&
|
||||||
|
form.taskSubdivisiontemplateType != 'SCRIPT'
|
||||||
|
"
|
||||||
|
ref="wangeditor"
|
||||||
|
/>
|
||||||
|
<!-- <div
|
||||||
|
class="card"
|
||||||
|
v-show="form.taskSubdivisiontemplateType == 'SCRIPT'"
|
||||||
|
> -->
|
||||||
|
<!-- <div class="flex">
|
||||||
|
<div class="pushMethod">
|
||||||
|
推送方式:
|
||||||
|
<span> 人工电话 </span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
短信提醒:
|
||||||
|
<span>
|
||||||
|
<el-select
|
||||||
|
v-model="form.phoneMessageRemind"
|
||||||
|
style="width: 150px"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in optionslist"
|
||||||
|
:key="item.dictValue"
|
||||||
|
:label="item.dictLabel"
|
||||||
|
:value="item.dictValue"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
重拨次数:
|
||||||
|
<span>
|
||||||
|
<el-select v-model="form.redialTimes" style="width: 150px">
|
||||||
|
<el-option
|
||||||
|
v-for="item in optionslistS"
|
||||||
|
:key="item.dictValue"
|
||||||
|
:label="item.dictLabel"
|
||||||
|
:value="item.dictValue"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="pushMethod">
|
||||||
|
模板:
|
||||||
|
<scripts
|
||||||
|
@on-template="messageontemplateword"
|
||||||
|
:templateId="form.phoneTemplateId"
|
||||||
|
:templateName="form.phoneTemplateName"
|
||||||
|
></scripts>
|
||||||
|
</div>
|
||||||
|
<div class="pushMethod">
|
||||||
|
<el-switch
|
||||||
|
v-model="form.phonePushsign"
|
||||||
|
active-color="#13ce66"
|
||||||
|
active-value="1"
|
||||||
|
inactive-value="0"
|
||||||
|
>
|
||||||
|
</el-switch>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<!-- <div class="flextwo">
|
||||||
|
<div class="text">短信预览:</div>
|
||||||
|
<el-input class="textarea" v-model="form.messagePreview" disabled></el-input>
|
||||||
|
</div> -->
|
||||||
|
<!-- </div> -->
|
||||||
|
<div
|
||||||
|
class="card"
|
||||||
|
v-show="form.taskSubdivisiontemplateType != 'SCRIPT'"
|
||||||
|
>
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div class="pushMethod">
|
<div class="pushMethod">
|
||||||
推送方式:
|
推送方式:
|
||||||
@ -112,11 +267,19 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="pushMethod">
|
<div class="pushMethod">
|
||||||
模板:
|
模板:
|
||||||
<message @on-template="messageontemplate" :templateId="form.messageTemplateId"
|
<message
|
||||||
:templateName="form.messageTemplateName"></message>
|
@on-template="messageontemplate"
|
||||||
|
:templateId="form.messageTemplateId"
|
||||||
|
:templateName="form.messageTemplateName"
|
||||||
|
></message>
|
||||||
</div>
|
</div>
|
||||||
<div class="pushMethod">
|
<div class="pushMethod">
|
||||||
<el-switch v-model="form.messagePushSign" active-color="#13ce66" active-value="1" inactive-value="0">
|
<el-switch
|
||||||
|
v-model="form.messagePushSign"
|
||||||
|
active-color="#13ce66"
|
||||||
|
active-value="1"
|
||||||
|
inactive-value="0"
|
||||||
|
>
|
||||||
</el-switch>
|
</el-switch>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -125,7 +288,10 @@
|
|||||||
<el-input class="textarea" v-model="form.messagePreview" disabled></el-input>
|
<el-input class="textarea" v-model="form.messagePreview" disabled></el-input>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div
|
||||||
|
class="card"
|
||||||
|
v-show="form.taskSubdivisiontemplateType != 'SCRIPT'"
|
||||||
|
>
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div class="pushMethod">
|
<div class="pushMethod">
|
||||||
推送方式:
|
推送方式:
|
||||||
@ -134,13 +300,21 @@
|
|||||||
<div class="pushMethod">
|
<div class="pushMethod">
|
||||||
模板:
|
模板:
|
||||||
<span>
|
<span>
|
||||||
<officialAccount @on-template="officialAccountontemplate" :templateId="form.officialTemplateId"
|
<officialAccount
|
||||||
:templateName="form.officialTemplateName">
|
@on-template="officialAccountontemplate"
|
||||||
|
:templateId="form.officialTemplateId"
|
||||||
|
:templateName="form.officialTemplateName"
|
||||||
|
>
|
||||||
</officialAccount>
|
</officialAccount>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="pushMethod">
|
<div class="pushMethod">
|
||||||
<el-switch v-model="form.officialPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
|
<el-switch
|
||||||
|
v-model="form.officialPushSign"
|
||||||
|
active-color="#13ce66"
|
||||||
|
active-value="1"
|
||||||
|
inactive-value="0"
|
||||||
|
>
|
||||||
</el-switch>
|
</el-switch>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -149,7 +323,10 @@
|
|||||||
<el-input v-model="form.officialRemindContent" class="textarea" disabled></el-input>
|
<el-input v-model="form.officialRemindContent" class="textarea" disabled></el-input>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div
|
||||||
|
class="card"
|
||||||
|
v-show="form.taskSubdivisiontemplateType != 'SCRIPT'"
|
||||||
|
>
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div class="pushMethod">
|
<div class="pushMethod">
|
||||||
推送方式:
|
推送方式:
|
||||||
@ -158,13 +335,21 @@
|
|||||||
<div class="pushMethod">
|
<div class="pushMethod">
|
||||||
模板:
|
模板:
|
||||||
<span>
|
<span>
|
||||||
<miniProgram @on-template="miniProgramtemplate" :templateId="form.appletTemplateId"
|
<miniProgram
|
||||||
:templateName="form.appletTemplateName">
|
@on-template="miniProgramtemplate"
|
||||||
|
:templateId="form.appletTemplateId"
|
||||||
|
:templateName="form.appletTemplateName"
|
||||||
|
>
|
||||||
</miniProgram>
|
</miniProgram>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="pushMethod">
|
<div class="pushMethod">
|
||||||
<el-switch v-model="form.appletPushSign" active-color="#13ce66" active-value="1" inactive-value="0">
|
<el-switch
|
||||||
|
v-model="form.appletPushSign"
|
||||||
|
active-color="#13ce66"
|
||||||
|
active-value="1"
|
||||||
|
inactive-value="0"
|
||||||
|
>
|
||||||
</el-switch>
|
</el-switch>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -177,88 +362,151 @@
|
|||||||
<el-input v-model="form.appletPromptDescription" class="textarea" disabled></el-input>
|
<el-input v-model="form.appletPromptDescription" class="textarea" disabled></el-input>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="card" style="height: 250px;">
|
<div
|
||||||
<div class="flex">
|
class="card"
|
||||||
<div class="pushMethod">
|
style="height: 250px"
|
||||||
推送方式:
|
v-show="form.taskSubdivisiontemplateType == 'SCRIPT'"
|
||||||
<span>
|
>
|
||||||
AI电话
|
<div class="flex">
|
||||||
</span>
|
<div class="pushMethod">
|
||||||
</div>
|
推送方式:
|
||||||
<div class="pushMethod">
|
<span> AI电话 </span>
|
||||||
模板:
|
</div>
|
||||||
<span>
|
<div class="pushMethod">
|
||||||
<el-select v-model="value" style="width:200px;">
|
模板:
|
||||||
<el-option v-for="item in taskStatusDictList" :key="item.id" style="color:black"
|
<scripts
|
||||||
:label="item.taskStatusName" :value="item.id">
|
@on-template="messageontemplateword"
|
||||||
</el-option>
|
:templateId="form.phoneTemplateId"
|
||||||
</el-select>
|
:templateName="form.phoneTemplateName"
|
||||||
</span>
|
></scripts>
|
||||||
</div>
|
</div>
|
||||||
<div class="pushMethod">
|
<div class="pushMethod">
|
||||||
<el-switch v-model="form.value" active-color="#13ce66" active-value="1"
|
<el-switch
|
||||||
inactive-value="0">
|
v-model="form.phonePushSign"
|
||||||
</el-switch>
|
active-color="#13ce66"
|
||||||
</div>
|
active-value="1"
|
||||||
</div>
|
inactive-value="0"
|
||||||
<div class="flextwo">
|
>
|
||||||
<div class="text">
|
</el-switch>
|
||||||
机构名称:
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="text">
|
<div class="flex">
|
||||||
我是
|
<div class="pushMethod">
|
||||||
</div>
|
重播次数:
|
||||||
<el-input v-model="form.input" placeholder="" style="width:150px;padding:0 10px"></el-input>
|
<span>
|
||||||
<div class="text">
|
<el-select
|
||||||
的工作人员
|
v-model="form.phoneRedialTimes"
|
||||||
</div>
|
style="width: 100px"
|
||||||
</div>
|
>
|
||||||
<div class="flextwo">
|
<el-option
|
||||||
<div class="text">
|
v-for="item in optionslistS"
|
||||||
重播次数:
|
:key="item.dictValue"
|
||||||
</div>
|
:label="item.dictLabel"
|
||||||
<el-input v-model="form.input" placeholder="" style="width:200px;"></el-input>
|
:value="item.dictValue"
|
||||||
<div class="text" style="padding-left: 100px;">
|
>
|
||||||
时间间隔:
|
</el-option>
|
||||||
</div>
|
</el-select>
|
||||||
<el-input v-model="form.input" placeholder="" style="width:200px;"></el-input>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flextwo">
|
<div class="pushMethod">
|
||||||
<div class="text">
|
时间间隔:
|
||||||
短信提醒:
|
<span>
|
||||||
</div>
|
<el-input
|
||||||
<el-select v-model="value" style="width:200px;">
|
v-model.number="form.phoneTimeInterval"
|
||||||
<el-option v-for="item in taskStatusDictList" :key="item.id" style="color:black"
|
oninput="value=value.replace(/[^\d]/g,'')"
|
||||||
:label="item.taskStatusName" :value="item.id">
|
style="width: 100px"
|
||||||
</el-option>
|
>
|
||||||
</el-select>
|
<!-- <el-option
|
||||||
<div class="text" style="padding-left: 100px;">
|
v-for="item in optionslistS"
|
||||||
短信模板:
|
:key="item.dictValue"
|
||||||
</div>
|
:label="item.dictLabel"
|
||||||
<el-select v-model="value" style="width:200px;">
|
:value="item.dictValue"
|
||||||
<el-option v-for="item in taskStatusDictList" :key="item.id" style="color:black"
|
>
|
||||||
:label="item.taskStatusName" :value="item.id">
|
</el-option> -->
|
||||||
</el-option>
|
</el-input>
|
||||||
</el-select>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
<div class="pushMethod">
|
||||||
|
短信提醒:
|
||||||
|
<el-select
|
||||||
|
v-model="form.phoneMessageRemind"
|
||||||
|
style="width: 150px"
|
||||||
|
@change="changelist"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in optionslist"
|
||||||
|
:key="item.dictValue"
|
||||||
|
:label="item.dictLabel"
|
||||||
|
:value="item.dictValue"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
<div class="pushMethod">
|
||||||
|
短信模板:
|
||||||
|
<span
|
||||||
|
class="spanname"
|
||||||
|
v-if="form.phoneMessageRemind == 'NOT_SEND_MESSAGE'"
|
||||||
|
>
|
||||||
|
<message
|
||||||
|
ref="refname"
|
||||||
|
style="width: 200px"
|
||||||
|
@on-template="messageontemplateMESSAGE"
|
||||||
|
:templateId="form.phoneMessageTemplateId"
|
||||||
|
:templateName="form.phoneMessageTemplateName"
|
||||||
|
></message>
|
||||||
|
</span>
|
||||||
|
<span v-else>
|
||||||
|
<message
|
||||||
|
style="width: 200px"
|
||||||
|
@on-template="messageontemplateMESSAGE"
|
||||||
|
:templateId="form.phoneMessageTemplateId"
|
||||||
|
:templateName="form.phoneMessageTemplateName"
|
||||||
|
></message>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button @click="TemporaryStorage">暂 存</el-button>
|
<el-button @click="TemporaryStorage">暂 存</el-button>
|
||||||
<el-button type="primary" @click="dialogVisible = true" v-if="form.specialDiseaseNodeId">审核完成 {{ agreeNumber ?
|
<el-button
|
||||||
agreeNumber : "0" }} /
|
type="primary"
|
||||||
{{ totalNumber ? totalNumber : "0" }}</el-button>
|
@click="dialogVisible = true"
|
||||||
|
v-if="form.specialDiseaseNodeId"
|
||||||
|
>审核完成 {{ agreeNumber ? agreeNumber : "0" }} /
|
||||||
|
{{ totalNumber ? totalNumber : "0" }}</el-button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<el-dialog title="提交审核完成" :visible.sync="dialogVisible" width="30%" :before-close="handleClose">
|
<el-dialog
|
||||||
<el-form ref="routeform" :model="routeform" label-width="120px" :rules="rules">
|
title="提交审核完成"
|
||||||
|
:visible.sync="dialogVisible"
|
||||||
|
width="30%"
|
||||||
|
:before-close="handleClose"
|
||||||
|
>
|
||||||
|
<el-form
|
||||||
|
ref="routeform"
|
||||||
|
:model="routeform"
|
||||||
|
label-width="120px"
|
||||||
|
:rules="rules"
|
||||||
|
>
|
||||||
<el-form-item label="节点审核状态" prop="routeCheckStatus">
|
<el-form-item label="节点审核状态" prop="routeCheckStatus">
|
||||||
<el-radio v-model="routeform.routeCheckStatus" label="AGREE">同意</el-radio>
|
<el-radio v-model="routeform.routeCheckStatus" label="AGREE"
|
||||||
<el-radio v-model="routeform.routeCheckStatus" label="DISAGREE">不同意</el-radio>
|
>同意</el-radio
|
||||||
|
>
|
||||||
|
<el-radio v-model="routeform.routeCheckStatus" label="DISAGREE"
|
||||||
|
>不同意</el-radio
|
||||||
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="节点审核备注">
|
<el-form-item label="节点审核备注">
|
||||||
<el-input type="textarea" :rows="2" placeholder="请输入节点审核备注" v-model="routeform.routeCheckRemark">
|
<el-input
|
||||||
|
type="textarea"
|
||||||
|
:rows="2"
|
||||||
|
placeholder="请输入节点审核备注"
|
||||||
|
v-model="routeform.routeCheckRemark"
|
||||||
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@ -274,6 +522,8 @@
|
|||||||
import wangeditor from "../components/wangEditor.vue";
|
import wangeditor from "../components/wangEditor.vue";
|
||||||
import question from "../components/question.vue";
|
import question from "../components/question.vue";
|
||||||
import message from "../components/message.vue";
|
import message from "../components/message.vue";
|
||||||
|
import scripts from "../components/script.vue";
|
||||||
|
|
||||||
import propaganda from "../components/propaganda.vue";
|
import propaganda from "../components/propaganda.vue";
|
||||||
import officialAccount from "../components/officialAccount.vue";
|
import officialAccount from "../components/officialAccount.vue";
|
||||||
import miniProgram from "../components/miniProgram.vue";
|
import miniProgram from "../components/miniProgram.vue";
|
||||||
@ -294,12 +544,16 @@ export default {
|
|||||||
question,
|
question,
|
||||||
propaganda,
|
propaganda,
|
||||||
message,
|
message,
|
||||||
|
scripts,
|
||||||
officialAccount,
|
officialAccount,
|
||||||
miniProgram,
|
miniProgram,
|
||||||
},
|
},
|
||||||
name: "specialDiseaseNode",
|
name: "specialDiseaseNode",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
optionslist: [],
|
||||||
|
optionslistS: [],
|
||||||
|
value: "",
|
||||||
options: [],
|
options: [],
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
routeform: {
|
routeform: {
|
||||||
@ -355,11 +609,43 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.infolist();
|
this.infolist();
|
||||||
|
this.infolistword();
|
||||||
|
this.infolistMESSAGE();
|
||||||
},
|
},
|
||||||
beforeDestroy() { },
|
beforeDestroy() {},
|
||||||
watch: {},
|
watch: {},
|
||||||
mounted() { },
|
mounted() {},
|
||||||
methods: {
|
methods: {
|
||||||
|
changelist(e) {
|
||||||
|
console.log(e, "e");
|
||||||
|
if (e == "NOT_SEND_MESSAGE ") {
|
||||||
|
console.log(this.form,'this.form')
|
||||||
|
this.$refs.refname.listDisease()
|
||||||
|
// this.form.phoneMessageTemplateId
|
||||||
|
// this.form.phoneMessageTemplateId = "";
|
||||||
|
// this.form.phoneMessageTemplateName = "";
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
listDisease(){
|
||||||
|
this.form.phoneMessageTemplateId = "";
|
||||||
|
this.form.phoneMessageTemplateName = "";
|
||||||
|
},
|
||||||
|
infolistword() {
|
||||||
|
var dictType = "text_message_remind";
|
||||||
|
getAgencytype(dictType).then((res) => {
|
||||||
|
this.optionslist = res.data;
|
||||||
|
// this.taskinfo();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
infolistMESSAGE() {
|
||||||
|
var dictType = "redial_times";
|
||||||
|
getAgencytype(dictType).then((res) => {
|
||||||
|
this.optionslistS = res.data;
|
||||||
|
// this.taskinfo();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
changeoptions(e) {
|
changeoptions(e) {
|
||||||
this.parentDictCode = this.options.find(
|
this.parentDictCode = this.options.find(
|
||||||
(el) => el.dictValue == e
|
(el) => el.dictValue == e
|
||||||
@ -427,6 +713,15 @@ export default {
|
|||||||
taskSubdivision: "",
|
taskSubdivision: "",
|
||||||
taskSubdivisionName: "",
|
taskSubdivisionName: "",
|
||||||
taskStatus: "",
|
taskStatus: "",
|
||||||
|
phoneAgencyName: null,
|
||||||
|
phoneRedialTimes: null,
|
||||||
|
phoneTimeInterval: null,
|
||||||
|
phoneMessageRemind: null,
|
||||||
|
phoneMessageTemplateId: null,
|
||||||
|
phoneMessageTemplateName: null,
|
||||||
|
phonePushSign: "0",
|
||||||
|
phoneTemplateId: "",
|
||||||
|
phoneTemplateName: "",
|
||||||
secondClassifyDescribe: "",
|
secondClassifyDescribe: "",
|
||||||
executionTime: "",
|
executionTime: "",
|
||||||
appletPushSign: "0",
|
appletPushSign: "0",
|
||||||
@ -441,8 +736,10 @@ export default {
|
|||||||
],
|
],
|
||||||
});
|
});
|
||||||
this.form = this.lists[0].list[0];
|
this.form = this.lists[0].list[0];
|
||||||
|
console.log(this.form, "6555555555555555");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
handleData(list, key, keytwo) {
|
handleData(list, key, keytwo) {
|
||||||
//得到数据的主键列表
|
//得到数据的主键列表
|
||||||
let keysArr = list.map((item) => {
|
let keysArr = list.map((item) => {
|
||||||
@ -483,7 +780,7 @@ export default {
|
|||||||
},
|
},
|
||||||
//wangeditor传值
|
//wangeditor传值
|
||||||
onNodeContent(item) {
|
onNodeContent(item) {
|
||||||
console.log(item, 'itemfu')
|
console.log(item, "itemfu");
|
||||||
this.form.nodeContent = item.nodeContent;
|
this.form.nodeContent = item.nodeContent;
|
||||||
},
|
},
|
||||||
//小程序传值
|
//小程序传值
|
||||||
@ -498,6 +795,19 @@ export default {
|
|||||||
this.form.messageTemplateName = item.templateName;
|
this.form.messageTemplateName = item.templateName;
|
||||||
this.form.messagePreview = item.templateContent;
|
this.form.messagePreview = item.templateContent;
|
||||||
},
|
},
|
||||||
|
// 短信
|
||||||
|
messageontemplateMESSAGE(item) {
|
||||||
|
console.log(item, "2222222");
|
||||||
|
this.form.phoneMessageTemplateId = item.templateId;
|
||||||
|
this.form.phoneMessageTemplateName = item.templateName;
|
||||||
|
this.form.messagePreview = item.templateContent;
|
||||||
|
},
|
||||||
|
// 话术
|
||||||
|
messageontemplateword(item) {
|
||||||
|
this.form.phoneTemplateId = item.templateId;
|
||||||
|
this.form.phoneTemplateName = item.templateName;
|
||||||
|
this.form.messagePreview = item.templateContent;
|
||||||
|
},
|
||||||
//公众号传值
|
//公众号传值
|
||||||
officialAccountontemplate(item) {
|
officialAccountontemplate(item) {
|
||||||
this.form.officialTemplateId = item.templateId;
|
this.form.officialTemplateId = item.templateId;
|
||||||
@ -506,7 +816,10 @@ export default {
|
|||||||
},
|
},
|
||||||
//暂存
|
//暂存
|
||||||
TemporaryStorage() {
|
TemporaryStorage() {
|
||||||
if (this.form.taskSubdivisiontemplateType != 'QUESTIONNAIRE' && this.form.taskSubdivisiontemplateType != 'PROPAGANDA') {
|
if (
|
||||||
|
this.form.taskSubdivisiontemplateType != "QUESTIONNAIRE" &&
|
||||||
|
this.form.taskSubdivisiontemplateType != "PROPAGANDA"
|
||||||
|
) {
|
||||||
this.$refs.wangeditor.emit();
|
this.$refs.wangeditor.emit();
|
||||||
}
|
}
|
||||||
this.$confirm(
|
this.$confirm(
|
||||||
@ -527,10 +840,10 @@ export default {
|
|||||||
this.lists.forEach((e) => {
|
this.lists.forEach((e) => {
|
||||||
e.list.length > 0
|
e.list.length > 0
|
||||||
? e.list.forEach((el) => {
|
? e.list.forEach((el) => {
|
||||||
el.routeNodeDay = e.routeNodeDay;
|
el.routeNodeDay = e.routeNodeDay;
|
||||||
el.routeNodeName = e.routeNodeName;
|
el.routeNodeName = e.routeNodeName;
|
||||||
this.updata.specialDiseaseNodeList.push(el);
|
this.updata.specialDiseaseNodeList.push(el);
|
||||||
})
|
})
|
||||||
: "";
|
: "";
|
||||||
});
|
});
|
||||||
this.updata.specialDiseaseNodeList =
|
this.updata.specialDiseaseNodeList =
|
||||||
@ -546,6 +859,7 @@ export default {
|
|||||||
this.info();
|
this.info();
|
||||||
loading.close();
|
loading.close();
|
||||||
this.$modal.msgSuccess("暂存成功!");
|
this.$modal.msgSuccess("暂存成功!");
|
||||||
|
console.log(this.form, "666666666");
|
||||||
});
|
});
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
loading.close();
|
loading.close();
|
||||||
@ -563,7 +877,10 @@ export default {
|
|||||||
this.form.templateName = item.templateName;
|
this.form.templateName = item.templateName;
|
||||||
},
|
},
|
||||||
bottomclickevent(uitem, index, uindex) {
|
bottomclickevent(uitem, index, uindex) {
|
||||||
if (this.form.taskSubdivisiontemplateType != 'QUESTIONNAIRE' && this.form.taskSubdivisiontemplateType != 'PROPAGANDA') {
|
if (
|
||||||
|
this.form.taskSubdivisiontemplateType != "QUESTIONNAIRE" &&
|
||||||
|
this.form.taskSubdivisiontemplateType != "PROPAGANDA"
|
||||||
|
) {
|
||||||
this.$refs.wangeditor.emit();
|
this.$refs.wangeditor.emit();
|
||||||
}
|
}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@ -586,6 +903,11 @@ export default {
|
|||||||
this.info();
|
this.info();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
// 短信提醒
|
||||||
|
changephoneMessageRemind(e) {
|
||||||
|
console.log(e, "e");
|
||||||
|
// if
|
||||||
|
},
|
||||||
//任务类型
|
//任务类型
|
||||||
changeTaskType(code, taskSubdivision) {
|
changeTaskType(code, taskSubdivision) {
|
||||||
let id = this.selectTaskTypeList?.find((e) => e.taskTypeCode == code)?.id;
|
let id = this.selectTaskTypeList?.find((e) => e.taskTypeCode == code)?.id;
|
||||||
@ -785,8 +1107,6 @@ export default {
|
|||||||
padding: 20px 50px 0px 20px;
|
padding: 20px 50px 0px 20px;
|
||||||
|
|
||||||
.flextwo {
|
.flextwo {
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
@ -828,15 +1148,19 @@ export default {
|
|||||||
|
|
||||||
.flex {
|
.flex {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.pushMethod {
|
.pushMethod {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
|
margin-top: 30px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #64666a;
|
color: #64666a;
|
||||||
|
.spanname {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
::v-deep .el-input__inner {
|
::v-deep .el-input__inner {
|
||||||
color: black;
|
color: black;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
@ -972,7 +1296,6 @@ export default {
|
|||||||
::v-deep .el-card {
|
::v-deep .el-card {
|
||||||
margin-top: 20px !important;
|
margin-top: 20px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user