This commit is contained in:
2024-04-09 14:59:14 +08:00
parent e991163b87
commit 810532a948

View File

@ -2,7 +2,7 @@
<div>
<div class="title">
<div slot="footer" class="dialog-footer">
<el-button type="primary">执行</el-button>
<el-button type="primary" @click="upload">执行</el-button>
</div>
<el-descriptions title="手动创建任务">
</el-descriptions>
@ -31,7 +31,7 @@
:color="listindex == index ? '#409EFF' : ''" @click.native='clicktimelineitem(item, index)'>
<div class="top">
<div class="toptop">
<el-select style="width:87px" v-model="item.routeNodeName">
<el-select style="width:90px" v-model="item.routeNodeName">
<el-option label="出院后" value="AFTER_DISCHARGE" />
<el-option label="入院后" value="AFTER_ADMISSION" />
<el-option label="就诊后" value="AFTER_CONSULTATION" />
@ -39,7 +39,7 @@
<el-option label="术前" value="PREOPERATIVE" />
<el-option label="术后" value="POSTOPERATIVE" />
</el-select>
<el-input style="width: 50px;" v-model="item.routeNodeDay"></el-input>
<el-input style="width: 70px;" v-model="item.routeNodeDay"></el-input>
<span></span>
</div>
<div>
@ -59,48 +59,72 @@
</el-timeline>
</div>
<div class="nodetexts">
<el-form :model="formInline" class="demo-form-inline">
<el-form-item label="任务内容">
<el-radio-group v-model="formInline.taskType">
<el-radio label="PHONE_OUTBOUND">电话外呼</el-radio>
<el-radio label="QUESTIONNAIRE_SCALE">问卷量表</el-radio>
<el-radio label="PROPAGANDA_ARTICLE">宣教文案</el-radio>
<el-radio label="TEXT_REMIND">文字提醒</el-radio>
<el-radio label="ARTIFICIAL_FOLLOW_UP">人工随访</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="电话模板" v-if="formInline.taskType == 'PHONE_OUTBOUND'">
<scriptphone @on-template="scriptphoneontemplate"></scriptphone>
</el-form-item>
<el-form-item label="宣教模板" v-if="formInline.taskType == 'PROPAGANDA_ARTICLE'">
</el-form-item>
<el-form-item label="提醒内容" v-if="formInline.taskType == 'TEXT_REMIND'">
<el-input type="textarea" :rows="2" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="人工随访模板" v-if="formInline.taskType == 'ARTIFICIAL_FOLLOW_UP'">
</el-form-item>
</el-form>
<el-form :model="formInline" class="demo-form-inline" :inline="true"
v-if="formInline.taskType == 'QUESTIONNAIRE_SCALE'">
<el-form-item label="问卷模板">
<question @on-template="questionontemplate"></question>
</el-form-item>
<el-form-item label="问卷有效期">
<el-input-number v-model="formInline.questionExpirationDate" :min="1" :max="99"
label="描述文字"></el-input-number>
</el-form-item>
</el-form>
<div style=" background-color: #fff; border-radius: 10px;padding:20px;height:160px">
<el-form :model="formInline" class="demo-form-inline">
<el-form-item label="任务内容">
<el-radio-group v-model="formInline.taskType">
<el-radio label="PHONE_OUTBOUND">电话外呼</el-radio>
<el-radio label="QUESTIONNAIRE_SCALE">问卷量表</el-radio>
<el-radio label="PROPAGANDA_ARTICLE">宣教文案</el-radio>
<el-radio label="TEXT_REMIND">文字提醒</el-radio>
<el-radio label="ARTIFICIAL_FOLLOW_UP">人工随访</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="电话模板" v-if="formInline.taskType == 'PHONE_OUTBOUND'">
<scriptphone @on-template="scriptphoneontemplate"></scriptphone>
</el-form-item>
<el-form-item label="宣教模板" v-if="formInline.taskType == 'PROPAGANDA_ARTICLE'">
<propaganda @on-template="propagandaontemplate"></propaganda>
</el-form-item>
<el-form-item label="提醒内容" v-if="formInline.taskType == 'TEXT_REMIND'">
<el-input type="textarea" v-model="formInline.textRemindContent" :rows="6"
placeholder="请输入内容" />
</el-form-item>
<el-form-item label="人工随访模板" v-if="formInline.taskType == 'ARTIFICIAL_FOLLOW_UP'">
<question @on-template="questionontemplate"></question>
</el-form-item>
</el-form>
<el-form :model="formInline" class="demo-form-inline" :inline="true"
v-if="formInline.taskType == 'QUESTIONNAIRE_SCALE'">
<el-form-item label="问卷模板">
<question @on-template="questionontemplate"></question>
</el-form-item>
<el-form-item label="问卷有效期">
<el-input-number v-model="formInline.questionExpirationDate" :min="1" :max="99"
label="描述文字"></el-input-number>
</el-form-item>
</el-form>
</div>
<div class="PushMethod">
<span>推送方式短信</span>
<el-switch v-model="formInline.messagePushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
</el-switch>
</div>
<div class="PushMethod">
<span>推送方式公众号</span>
<el-switch v-model="formInline.officialPushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
</el-switch>
</div>
<div class="PushMethod">
<span>推送方式小程序</span>
<el-switch v-model="formInline.appletPushSign" active-color="#13ce66" active-value="1"
inactive-value="0">
</el-switch>
</div>
</div>
</div>
</div>
</template>
<script>
import propaganda from '../components/propaganda.vue'
import scriptphone from '../components/script.vue'
import question from '../components/question.vue'
export default {
components: { scriptphone, question },
components: { scriptphone, question, propaganda },
name: "ManuallyCreatingTasks",
data() {
return {
@ -112,22 +136,34 @@ export default {
routeNodeDay: '',
taskType: '',
routeNodeName: '',
questionExpirationDate: "",
questionExpirationDate: 7,
questionInfoId: "",
questionnaireName: "",
phoneTemplateId: "",
phoneTemplateName: "",
propagandaInfoId: '',
propagandaTitle: "",
textRemindContent: '',
officialPushSign: '0',
messagePushSign: '0',
appletPushSign: '0',
},
list: [
{
routeNodeDay: '',
taskType: '',
routeNodeName: '',
questionExpirationDate: "",
questionExpirationDate: 7,
questionInfoId: "",
questionnaireName: "",
phoneTemplateId: "",
phoneTemplateName: "",
propagandaInfoId: '',
propagandaTitle: "",
textRemindContent: '',
officialPushSign: '0',
messagePushSign: '0',
appletPushSign: '0',
}
],
listindex: 0,
@ -137,6 +173,11 @@ export default {
this.formInline = this.list[0]
},
methods: {
//
propagandaontemplate(item) {
this.formInline.propagandaInfoId = item.templateId
this.formInline.propagandaTitle = item.templateName
},
//
questionontemplate(item) {
this.formInline.questionInfoId = item.templateId
@ -156,20 +197,41 @@ export default {
routeNodeDay: '',
taskType: '',
routeNodeName: '',
questionExpirationDate: "",
questionExpirationDate: 7,
questionInfoId: "",
questionnaireName: "",
phoneTemplateId: "",
phoneTemplateName: "",
propagandaInfoId: '',
propagandaTitle: "",
textRemindContent: '',
officialPushSign: '0',
messagePushSign: '0',
appletPushSign: '0',
})
},
delitem(item, index) {
this.list.splice(index, 1)
},
upload() {
console.log(this.list)
},
}
};
</script>
<style lang="scss" scoped>
.PushMethod {
height: 100px;
padding: 20px;
line-height: 60px;
margin-top: 10px;
border-radius: 10px;
background-color: #fff;
display: flex;
justify-content: space-between;
align-items: center;
}
.title {
padding: 20px;
}
@ -206,9 +268,7 @@ export default {
.nodetexts {
border-radius: 10px;
width: 70%;
background-color: #fff;
height: 700px;
padding: 20px;
}
}