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

This commit is contained in:
shidongli 2024-07-04 14:22:47 +08:00
commit 76b89d3fc1
12 changed files with 531 additions and 233 deletions

View File

@ -0,0 +1,121 @@
<template>
<div class="left">
<div class="name">科室名称</div>
<div>
<el-input v-model="querydepartmen.departmentName" placeholder="请输入科室名称" clearable
@keyup.enter.native="Departmentlist" />
</div>
<div class="listitem">
<div :class="itemid == null ? 'allactive' : 'all'" @click="itemdata()">
全部
</div>
<span class="count">{{ count }}</span>
</div>
<div class="listitem" v-for="(item, index) in DepartmentoList" :key="index" @click="itemdata(item)">
<div :class="itemid == item.id ? 'allactive' : 'all'">
{{ item.departmentName }}
</div>
<span class="count">{{ item.countNum }}</span>
</div>
</div>
</template>
<script>
import { listOperationNum } from "@/api/operationInfo/operationInfo";
export default {
name: "DepartmentList",
data() {
return {
//
itemid: null,
//
DepartmentoList: [],
count: '',
//
querydepartmen: {
departmentName: "",
},
};
},
created() {
this.Departmentlist();
},
watch: {
name(val) {
this.querydepartmen.departmentName = val
this.Departmentlist();
},
},
mounted() {
},
methods: {
//
itemdata(item) {
if (item) {
this.itemid = item.id
} else {
this.itemid = null
}
},
//
Departmentlist() {
listOperationNum(this.querydepartmen).then(response => {
this.DepartmentoList = response.data;
let sum = 0;
this.DepartmentoList.forEach((item) => {
if (item.countNum != null) {
sum += item.countNum;
}
this.count = sum;
});
});
},
}
};
</script>
<style lang="scss" scoped>
::v-deep .el-input-number .el-input__inner {
text-align: left;
}
.left {
// height: calc(100vh - 119px);
height: 100%;
overflow: auto;
.name {
font-weight: 700;
margin-bottom: 10px;
}
.listitem {
width: 100%;
height: 50px;
border-bottom: 1px solid #dcdfe6;
.count {
display: inline-block;
position: relative;
// right: -172px;
left: 210px;
color: #a4a6aa;
top: -35px;
font-size: 13px;
}
.all {
height: 50px;
line-height: 50px;
padding-left: 13px;
}
.allactive {
background: #e8f4ff;
height: 50px;
line-height: 50px;
padding-left: 13px;
border-left: 3px solid #4d9de7;
}
}
}
</style>

View File

@ -412,6 +412,9 @@ export default {
this.queryParams.departmentId = null
this.queryParams.wardId = null
this.queryParams.attendingPhysicianId = null
setTimeout(() => {
this.attendingPhysicianlist = []
}, 1000);
},
//
clearcampusAgency() {

View File

@ -83,8 +83,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="开证医生" prop="certificateIssuingDoctor">
<el-select v-model="queryParams.certificateIssuingDoctorId" filterable placeholder="请选择主治医生"
<el-form-item label="开证医生" prop="certificateIssuingDoctorId">
<el-select v-model="queryParams.certificateIssuingDoctorId" filterable placeholder="请选择开证医生"
style="width: 200px" clearable>
<el-option v-for="item in attendingPhysicianlist" :key="item.userId" :label="item.nickName"
:value="item.userId">
@ -262,8 +262,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="开证医生" prop="certificateIssuingDoctor" v-if="form.hospitalAgencyId">
<el-select v-model="form.certificateIssuingDoctorId" filterable placeholder="请选择主治医生" style="width: 200px"
<el-form-item label="开证医生" prop="certificateIssuingDoctorId" v-if="form.hospitalAgencyId">
<el-select v-model="form.certificateIssuingDoctorId" filterable placeholder="请选择开证医生" style="width: 200px"
clearable>
<el-option v-for="item in form_attendingPhysicianlist" :key="item.userId" :label="item.nickName"
:value="item.userId">
@ -523,6 +523,7 @@ export default {
//
appointmentDate: [],
queryParams: {
certificateIssuingDoctorId: undefined,
pageNum: 1,
pageSize: 10,
appointmentDateStart: '',
@ -708,7 +709,7 @@ export default {
sex: null,
address: null,
patientType: 'PRE_HOSPITALIZED_PATIENT',
certificateIssuingDoctor: null,
certificateIssuingDoctorId: null,
mainDiagnosis: null,
hospitalAgencyId: null,
campusAgencyId: null,
@ -725,6 +726,7 @@ export default {
},
resetHospital() {
this.formHospital = {
attendingPhysicianId: undefined,
patientName: null,
patientPhone: null,
familyMemberPhone: null,
@ -737,7 +739,6 @@ export default {
certificateIssuingDoctor: null,
visitMethod: 'BE_IN_HOSPITAL',
mainDiagnosis: null,
attendingPhysicianId: null,
hospitalAgencyId: null,
campusAgencyId: null,
departmentId: null,
@ -1013,8 +1014,6 @@ export default {
// }
// getDepartmentList(query).then(res => {
if (type) {
if (!typetwo) {
this.formHospital.departmentId = null
this.formHospital.wardId = null
@ -1036,8 +1035,6 @@ export default {
// }
// getDepartmentList(query).then(res => {
if (type) {
if (!typetwo) {
this.formHospital.wardId = null
this.form.wardId = null
@ -1053,13 +1050,19 @@ export default {
this.form.campusAgencyId = null
this.form.departmentId = null
this.form.wardId = null
this.form.attendingPhysicianId = null
this.formHospital.campusAgencyId = null
this.formHospital.departmentId = null
this.formHospital.wardId = null
this.formHospital.attendingPhysicianId = null
} else {
this.queryParams.campusAgencyId = null
this.queryParams.departmentId = null
this.queryParams.wardId = null
this.queryParams.attendingPhysicianId = null
setTimeout(() => {
this.attendingPhysicianlist = []
}, 1000);
}
},
//
@ -1137,6 +1140,10 @@ export default {
window.removeEventListener('resize', this.getMaxTableHeight, true)
})
},
changecertificateIssuingDoctor(e) {
console.log(e)
console.log(this.queryParams)
},
}
};
</script>

View File

@ -149,6 +149,7 @@
prop="templateContent"
label="模板内容"
align="center"
:show-overflow-tooltip="true"
>
</el-table-column>

View File

@ -92,7 +92,7 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="主治医生" prop="attendingPhysician">
<el-form-item label="主治医生" prop="attendingPhysicianId">
<el-select v-model="queryParams.attendingPhysicianId" filterable placeholder="请选择主治医生" style="width: 200px"
clearable>
<el-option v-for="item in attendingPhysicianlist" :key="item.userId" :label="item.nickName"
@ -1089,13 +1089,19 @@ export default {
this.form.campusAgencyId = null
this.form.departmentId = null
this.form.wardId = null
this.form.attendingPhysicianId = null
this.formHospital.campusAgencyId = null
this.formHospital.departmentId = null
this.formHospital.wardId = null
this.formHospital.attendingPhysicianId = null
} else {
this.queryParams.campusAgencyId = null
this.queryParams.departmentId = null
this.queryParams.wardId = null
this.queryParams.attendingPhysicianId = null
setTimeout(() => {
this.attendingPhysicianlist = []
}, 1000);
}
},
//

View File

@ -69,7 +69,7 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="主治医生" prop="attendingPhysician">
<el-form-item label="主治医生" prop="attendingPhysicianId">
<el-select v-model="queryParams.attendingPhysicianId" filterable placeholder="请选择主治医生" style="width:200px"
clearable>
<el-option v-for="item in attendingPhysicianlist" :key="item.userId" :label="item.nickName"
@ -202,8 +202,8 @@
<myPagination v-show="total > 0" :total="total" :pageSize="queryParams.pageSize"
:indexFromWrap="queryParams.pageNum" @updateCPage="updateCPage"></myPagination>
<!-- 添加或修改患者信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true">
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :before-close="handleClose">
<el-form ref="openform" :model="form" :rules="rules" label-width="100px" :inline="true">
<div class="title">基本信息</div>
<el-form-item label="患者姓名" prop="patientName">
<el-input v-model="form.patientName" placeholder="请输入患者姓名" style="width:200px" />
@ -251,58 +251,58 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="院区" prop="campusAgencyId" v-if="form.hospitalAgencyId">
<el-form-item label="院区" prop="campusAgencyId" v-show="form.hospitalAgencyId">
<el-select v-model="form.campusAgencyId" filterable placeholder="请选择院区" style="width:200px" clearable
@clear="clearcampusAgency(1)" @change="changecampusAgency($event, 1)">
<el-option v-for="item in form_campusAgencylist" :key="item.id" :label="item.agencyName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="科室名称" prop="departmentId" v-if="form.hospitalAgencyId">
<el-form-item label="科室名称" prop="departmentId" v-show="form.hospitalAgencyId">
<el-select v-model="form.departmentId" filterable placeholder="请选择科室" style="width:200px" clearable
@clear="cleardepartment(1)" @change="changedepartment($event, 1)">
<el-option v-for="item in form_departmentlist" :key="item.id" :label="item.departmentName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="预约病区" prop="wardId" v-if="form.hospitalAgencyId">
<el-form-item label="预约病区" prop="wardId" v-show="form.hospitalAgencyId">
<el-select v-model="form.wardId" filterable placeholder="请选择病区" style="width:200px" clearable>
<el-option v-for="item in form_wardlist" :key="item.id" :label="item.departmentName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="主治医生" prop="attendingPhysician" v-if="form.hospitalAgencyId">
<el-form-item label="主治医生" prop="attendingPhysician" v-show="form.hospitalAgencyId">
<el-select v-model="form.attendingPhysicianId" filterable placeholder="请选择主治医生" style="width:200px" clearable>
<el-option v-for="item in form_attendingPhysicianlist" :key="item.userId" :label="item.nickName"
:value="item.userId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="门诊号" prop="inHospitalNumber" v-if="form.visitMethod == 'OUTPATIENT_SERVICE'">
<el-form-item label="门诊号" prop="inHospitalNumber" v-show="form.visitMethod == 'OUTPATIENT_SERVICE'">
<el-input v-model="form.inHospitalNumber" placeholder="请输入门诊号" style="width:200px"
onKeyUp="value=value.replace(/[\W]/g,'')" />
</el-form-item>
<el-form-item label="住院号" prop="inHospitalNumber" v-if="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-form-item label="住院号" prop="inHospitalNumber" v-show="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-input v-model="form.inHospitalNumber" placeholder="请输入住院号" style="width:200px"
onKeyUp="value=value.replace(/[\W]/g,'')" />
</el-form-item>
<el-form-item label="责任护士" prop="responsibleNurse" v-if="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-form-item label="责任护士" prop="responsibleNurse" v-show="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-input v-model="form.responsibleNurse" placeholder="请输入责任护士" style="width:200px" />
</el-form-item>
<el-form-item label="就诊流水号" prop="visitSerialNumber">
<el-input v-model="form.visitSerialNumber" placeholder="请输入就诊流水号" style="width:200px" />
</el-form-item>
<el-form-item label="门诊时间" prop="dischargeTime" v-if="form.visitMethod == 'OUTPATIENT_SERVICE'">
<el-form-item label="门诊时间" prop="dischargeTime" v-show="form.visitMethod == 'OUTPATIENT_SERVICE'">
<el-date-picker clearable v-model="form.dischargeTime" type="datetime" value-format="yyyy-MM-dd HH:mm"
format='yyyy-MM-dd HH:mm' placeholder="请选择门诊时间" style="width:200px">
</el-date-picker>
</el-form-item>
<el-form-item label="入院时间" prop="admissionTime" v-if="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-form-item label="入院时间" prop="admissionTime" v-show="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-date-picker clearable v-model="form.admissionTime" type="datetime" value-format="yyyy-MM-dd HH:mm"
format='yyyy-MM-dd HH:mm' style="width:200px" placeholder="请选择入院时间">
</el-date-picker>
</el-form-item>
<el-form-item label="出院时间" prop="dischargeTime" v-if="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-form-item label="出院时间" prop="dischargeTime" v-show="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-date-picker clearable v-model="form.dischargeTime" type="datetime" value-format="yyyy-MM-dd HH:mm"
format='yyyy-MM-dd HH:mm' :picker-options="pickerOptions" style="width:200px" placeholder="请选择出院时间">
</el-date-picker>
@ -310,13 +310,13 @@
<el-form-item label="手术名称" prop="surgicalName">
<el-input v-model="form.surgicalName" placeholder="请输入手术名称" style="width:200px" />
</el-form-item>
<el-form-item label="手术记录" prop="surgicalRecord" v-if="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-form-item label="手术记录" prop="surgicalRecord" v-show="form.visitMethod == 'BE_IN_HOSPITAL'">
<editor v-model="form.surgicalRecord" :min-height="192" style="width:838px" />
</el-form-item>
<el-form-item label="入院病历">
<editor v-model="form.inHospitalInfo" :min-height="192" style="width:838px" />
</el-form-item>
<el-form-item label="出院病历" v-if="form.visitMethod == 'BE_IN_HOSPITAL'">
<el-form-item label="出院病历" v-show="form.visitMethod == 'BE_IN_HOSPITAL'">
<editor v-model="form.outHospitalInfo" :min-height="192" style="width:838px" />
</el-form-item>
<!-- <el-form-item label="患者来源" prop="patientSource">
@ -743,7 +743,7 @@ export default {
patientSource: null,
delFlag: null,
};
this.resetForm("form");
this.resetForm("openform");
},
/** 搜索按钮操作 */
handleQuery() {
@ -782,6 +782,7 @@ export default {
handleUpdate(row) {
this.reset();
const id = row.patientVisitRecordId || this.patientVisitRecordIds
console.log(id)
getPatientInfo(id).then(response => {
this.form = response.data;
this.form = response.data;
@ -798,6 +799,10 @@ export default {
this.title = "修改患者信息";
});
},
handleClose() {
this.form = {}
this.open = false
},
/** 提交按钮 */
submitForm() {
if (this.form.visitMethod == 'BE_IN_HOSPITAL') {
@ -1003,10 +1008,15 @@ export default {
this.form.campusAgencyId = null
this.form.departmentId = null
this.form.wardId = null
this.form.attendingPhysicianId = null
} else {
this.queryParams.campusAgencyId = null
this.queryParams.departmentId = null
this.queryParams.wardId = null
this.queryParams.attendingPhysicianId = null
setTimeout(() => {
this.attendingPhysicianlist = []
}, 1000);
}
},
//

View File

@ -2,24 +2,7 @@
<div class="app-container" ref="layout">
<el-row :gutter="20">
<el-col :span="5" :xs="24">
<div class="left" ref="box">
<div class="name">科室名称</div>
<div>
<el-input v-model="name" placeholder="请输入科室名称" clearable @keyup.enter.native="handleQuery" />
</div>
<div class="listitem">
<div :class="itemname == null ? 'allactive' : 'all'" @click="itemdata()">
全部
</div>
<span class="count">{{ count }}</span>
</div>
<div class="listitem" v-for="(item, index) in DepartmentoList" :key="index" @click="itemdata(item)">
<div :class="itemname == item.id ? 'allactive' : 'all'">
{{ item.departmentName }}
</div>
<span class="count">{{ item.countNum }}</span>
</div>
</div>
<DepartmentList ref="DepartmentList"></DepartmentList>
</el-col>
<el-col :span="19" :xs="24">
<div ref="topform" class="form">
@ -145,7 +128,11 @@
<script>
import { listOperationInfo, getOperationInfo, delOperationInfo, addOperationInfo, updateOperationInfo, listOperationNum } from "@/api/operationInfo/operationInfo";
import { department, listDisease } from "@/api/manage/script";
import DepartmentList from '../../components/DepartmentList.vue'
export default {
components: {
DepartmentList,
},
name: "OperationInfo",
data() {
return {
@ -157,8 +144,6 @@ export default {
name: '',
departmentId: null,
count: '',
innerVisibleshow: false, //
//
informationqueryParams: {
@ -168,7 +153,6 @@ export default {
},
infolist: [],
totaldepartment: 0,
//
loading: true,
//
@ -266,7 +250,7 @@ export default {
mounted() {
this.getMaxTableHeight()
this.screenChange()
// this.$refs.box.addEventListener('scroll', this.lazyLoading) //
// this.$refs.DepartmentList.addEventListener('scroll', this.lazyLoading) //
},
methods: {
//

View File

@ -278,7 +278,7 @@
<el-form-item label="任务类型" prop="">
<el-select
v-model="form.taskType"
style="width: 130px"
style="width: 150px"
@change="changeTaskType"
>
<el-option
@ -293,7 +293,7 @@
<el-form-item label="任务细分" prop="">
<el-select
v-model="form.taskSubdivision"
style="width: 130px"
style="width: 150px"
@change="changetaskSubdivision"
>
<el-option
@ -343,6 +343,15 @@
:templateName="form.templateName"
></question>
</el-form-item>
<span
style="display: inline-block; width: 10px"
v-if="
form.taskSubdivisiontemplateType == 'QUESTIONNAIRE' &&
form.templateId
"
>
<el-button @click="looklist">预览</el-button>
</span>
<el-form-item
label="宣教库模板选择"
prop=""
@ -354,42 +363,66 @@
:templateName="form.templateName"
></propaganda>
</el-form-item>
<span
style="display: inline-block; width: 10px"
v-if="
form.taskSubdivisiontemplateType == 'PROPAGANDA' &&
form.templateId
"
>
<el-button @click="imagepreviews">预览</el-button>
</span>
</el-form>
</div>
<!-- 宣教 -->
<div
class="imageScriptpreviews"
v-if="
formview &&
form.taskSubdivisiontemplateType == 'PROPAGANDA' &&
form.templateId
"
<el-dialog
title="宣教预览"
:visible.sync="imageScriptpreviews"
width="60%"
>
<div class="bodytop">
<div class="titledata">{{ formview.propagandaTitle }}</div>
<div>
<img :src="baseUrl + formview.propagandaCoverPath" alt="" />
<div class="know">知识卡片</div>
<div class="knowlist">
<Editorxj
v-model="formview.propagandaContent"
:min-height="192"
/>
<div
class="imageScriptpreviews"
v-if="
formview &&
form.taskSubdivisiontemplateType == 'PROPAGANDA' &&
form.templateId
"
>
<div class="titletop">文章模板:{{ formview.propagandaTitle }}</div>
<div class="bodytop">
<div class="titledata">{{ formview.propagandaTitle }}</div>
<div>
<img :src="baseUrl + formview.propagandaCoverPath" alt="" />
<div class="know">知识卡片</div>
<div class="knowlist">
<Editorxj
v-model="formview.propagandaContent"
:min-height="192"
/>
</div>
</div>
</div>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="imageScriptpreviews = false"
>关闭</el-button
>
</span>
</el-dialog>
<!-- 问卷 -->
<div
class="righttextarea"
v-if="
form.taskSubdivisiontemplateType == 'QUESTIONNAIRE' &&
form.templateId
"
<el-dialog
title="问卷预览"
:visible.sync="lookquestionlist"
width="40%"
>
<questionopennew :lookitemnew="lookitemnew"></questionopennew>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="lookquestionlist = false"
>关闭</el-button
>
</span>
</el-dialog>
<div class="bottomform">
<wangeditor
style="width: 100%"
@ -510,7 +543,9 @@
</el-radio-group>
</span>
</div>
<div class="pushMethod">
</div>
<div class="flexs">
<div class="pushMethods">
话术模板
<span
class="spanname"
@ -529,6 +564,12 @@
:templateName="form.phoneTemplateName"
></scripts>
</span>
<span
style="display: inline-block; width: 10px"
v-if="form.phoneTemplateId"
>
<el-button @click="look">预览</el-button>
</span>
</div>
<div
class="pushMethod"
@ -549,6 +590,12 @@
:templateName="form.templateName"
></question>
</span>
<span
style="display: inline-block; width: 10px"
v-if="form.templateId"
>
<el-button @click="lookquestion">预览</el-button>
</span>
</div>
<!-- <div class="pushMethod">
<el-switch
@ -628,21 +675,33 @@
</div>
</div>
<!-- 话术模板内容 -->
<div
class="imageScriptpreview"
v-if="phoneNodeContent "
<el-dialog
title="话术预览"
:visible.sync="lookNodeContent"
width="90%"
>
<Scriptpreview
:phoneNodeContent="phoneNodeContent"
></Scriptpreview>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="lookNodeContent = false"
>关闭</el-button
>
</span>
</el-dialog>
<!-- 问卷模板内容 -->
<div
class="imageScriptpreview"
v-if="lookitemnew"
<el-dialog
title="问卷预览"
:visible.sync="lookquestionname"
width="40%"
>
<questionopennew :lookitemnew="lookitemnew"></questionopennew>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="lookquestionname = false"
>关闭</el-button
>
</span>
</el-dialog>
</div>
</div>
</div>
@ -851,18 +910,10 @@ import indexjs from "./indexjs.js";
export default indexjs;
</script>
<style scoped lang="scss">
.righttextarea {
padding: 10px;
border: 1.5px solid #c7c7c7;
border-radius: 5px;
}
::v-deep iframe {
width: 100%;
height: 500px;
}
.imageScriptpreview {
margin-top: 20px;
}
.imageScriptpreviews {
margin: 0 auto;
@ -1005,44 +1056,53 @@ export default indexjs;
height: 130px;
margin: 20px 0 0;
padding: 20px 50px 0px 20px;
.flextwo {
// display: flex;
// align-items: center;
margin-top: 20px;
.text {
.flexs {
display: flex;
width: 100%;
.pushMethod {
height: 30px;
margin-top: 30px;
margin-left: 67px;
line-height: 37px;
font-size: 14px;
color: #64666a;
}
.textarea {
width: 90%;
padding: 0 10px;
height: 50px;
line-height: 50px;
// border: 1px solid #dcdfe6;
border-radius: 5px;
display: flex;
align-items: center;
::v-deep .el-input {
padding: 0 10px;
width: 50%;
color: black;
font-size: 14px;
height: 40px;
line-height: 40px;
.spanname {
pointer-events: none;
}
::v-deep .el-input__inner {
color: black;
font-size: 14px;
cursor: default !important;
}
span {
color: black;
font-size: 14px;
}
}
.pushMethods {
height: 30px;
margin-top: 30px;
line-height: 37px;
font-size: 14px;
color: #64666a;
.spanname {
pointer-events: none;
}
::v-deep .el-input__inner {
color: black;
font-size: 14px;
}
span {
color: black;
font-size: 14px;
}
}
}
.flex {
display: flex;
width: 100%;

View File

@ -46,6 +46,10 @@ export default {
name: "specialDiseaseNode",
data() {
return {
lookNodeContent: false,
lookquestionname: false,
lookquestionlist: false,//问卷
imageScriptpreviews: false,//宣教
formview: {},
lookitemnew: {},
baseUrl: process.env.VUE_APP_BASE_API,
@ -157,9 +161,6 @@ export default {
},
},
mounted() {
// this.form = this.lists[0].list[0];
},
methods: {
// 短信提醒
infolistword() {
@ -353,7 +354,6 @@ export default {
if (e.templateType == 'SCRIPT' && e.flowScheme) {
this.phoneNodeContent = e.flowScheme
console.log(this.phoneNodeContent, 'this.phoneNodeContent')
}
@ -622,14 +622,29 @@ export default {
},
// 话术
messageontemplateword(item) {
console.log(item, 'item')
this.form.phoneTemplateId = item.templateId;
this.form.phoneTemplateName = item.templateName;
this.phoneNodeContent = item.phoneNodeContent;
},
// 预览话术图
look() {
this.lookNodeContent = true
},
// 预览问卷
lookquestion() {
this.lookquestionname = true
},
// 宣教预览
imagepreviews() {
this.imageScriptpreviews = true
},
// 问卷库模板选择
looklist() {
this.lookquestionlist = true
},
// 切换人工电话和自动外呼
changephoneDialMethod(e) {
console.log(e)
// console.log(e)
if (e == 'AI') {
// this.form.templateId=''
// 清空问卷id和名字
@ -638,21 +653,15 @@ export default {
// 清空话术和问卷
this.phoneNodeContent = ''
this.lookitemnew = ''
} else if (e == 'COMMON') {
// 清空问卷id话术id和对应名字
this.form.templateId = ''
this.form.templateName = ''
this.form.phoneTemplateId = ''
this.form.phoneTemplateName = ''
// 清空话术和问卷
this.phoneNodeContent = ''
this.lookitemnew = ''
}
},
//短信传值
@ -727,8 +736,6 @@ export default {
// !e.taskStatus
// );
// return
specialDiseaseNode(this.itemlist).then((res) => {
this.info();
loading.close();
@ -741,7 +748,7 @@ export default {
},
//问卷传值
questionontemplate(item) {
console.log(item, 'iten')
// console.log(item, 'iten')
this.form.templateId = item.templateId;
this.form.templateName = item.templateName;
this.lookitemnew = item.lookitemnew
@ -766,33 +773,20 @@ export default {
}
setTimeout(() => {
this.form = uitem;
// console.log( this.form,'this.form')
// console.log(this.form, ' this.form')
this.$forceUpdate()
if (this.form.templateType == "PROPAGANDA" && this.form.templateId) {
getPropaganda(this.form.templateId).then((response) => {
// console.log(response.data, 'this.formview')
this.formview = response.data;
});
} else if (this.form.templateType == "QUESTIONNAIRE" && this.form.templateId) {
questionname(this.form.templateId).then((res) => {
// console.log(res, "res");
this.lookitemnew = res.data;
});
// this.loading=true
} else if (this.form.templateType == 'SCRIPT' && this.form.flowScheme) {
this.phoneNodeContent = this.form.flowScheme
console.log(this.phoneNodeContent, 'this.phoneNodeContent11')
}
this.taskPartitionList = [];
if (this.form.taskType) {
this.changeTaskType(this.form.taskType, this.form.taskSubdivision);

View File

@ -267,7 +267,7 @@ export default {
this.showquestion = true;
questionname(row.id).then((res) => {
console.log(res, "res");
// console.log(res, "res");
this.lookitemnew = res.data;
});
},

View File

@ -79,7 +79,6 @@ export default {
},
watch: {
lookitemnew(newValue, oldValue) {
console.log(newValue, 'newValue111')
if (newValue) {
this.questiondata = newValue;
}

View File

@ -48,8 +48,8 @@
</el-select>
<el-input
v-model="item.routeNodeDay"
style="width: 70px"
type="number"
style="width: 70px"
:min="0"
></el-input>
<span></span>
@ -65,7 +65,7 @@
<el-card
v-for="(uitem, uindex) in item.list"
:key="uitem.id"
@click.native="bottomclickevent(uitem, index, uindex)"
@click.native="bottomclickevent(uitem, index, uindex, item)"
:class="listindex == index && itemindex == uindex ? 'cards' : ''"
>
<h3 style="height: 20px">{{ uitem.taskTypeName }}</h3>
@ -94,7 +94,7 @@
<el-form-item label="任务类型" prop="">
<el-select
v-model="form.taskType"
style="width: 110px"
style="width: 150px"
@change="changeTaskType"
>
<el-option
@ -109,7 +109,7 @@
<el-form-item label="任务细分" prop="">
<el-select
v-model="form.taskSubdivision"
style="width: 110px"
style="width: 150px"
@change="changetaskSubdivision"
>
<el-option
@ -122,7 +122,7 @@
</el-select>
</el-form-item>
<el-form-item label="任务状态" prop="">
<el-select v-model="form.taskStatus" style="width: 110px">
<el-select v-model="form.taskStatus" style="width: 150px">
<el-option
v-for="item in taskStatusDictList"
:key="item.id"
@ -159,6 +159,15 @@
:templateName="form.templateName"
></question>
</el-form-item>
<span
style="display: inline-block; width: 10px"
v-if="
form.taskSubdivisiontemplateType == 'QUESTIONNAIRE' &&
form.templateId
"
>
<el-button @click="looklist">预览</el-button>
</span>
<el-form-item
label="宣教库模板选择"
prop=""
@ -170,42 +179,66 @@
:templateName="form.templateName"
></propaganda>
</el-form-item>
<span
style="display: inline-block; width: 10px"
v-if="
form.taskSubdivisiontemplateType == 'PROPAGANDA' &&
form.templateId
"
>
<el-button @click="imagepreviews">预览</el-button>
</span>
</el-form>
</div>
<!-- 宣教 -->
<div
class="imageScriptpreviews"
v-if="
formview &&
form.taskSubdivisiontemplateType == 'PROPAGANDA' &&
form.templateId
"
<el-dialog
title="宣教预览"
:visible.sync="imageScriptpreviews"
width="60%"
>
<div class="bodytop">
<div class="titledata">{{ formview.propagandaTitle }}</div>
<div
class="imageScriptpreviews"
v-if="
formview &&
form.taskSubdivisiontemplateType == 'PROPAGANDA' &&
form.templateId
"
>
<div class="titletop">文章模板:{{ formview.propagandaTitle }}</div>
<div class="bodytop">
<div class="titledata">{{ formview.propagandaTitle }}</div>
<div>
<img :src="baseUrl + formview.propagandaCoverPath" alt="" />
<div class="know">知识卡片</div>
<div class="knowlist">
<Editorxj
v-model="formview.propagandaContent"
:min-height="192"
/>
<div>
<img :src="baseUrl + formview.propagandaCoverPath" alt="" />
<div class="know">知识卡片</div>
<div class="knowlist">
<Editorxj
v-model="formview.propagandaContent"
:min-height="192"
/>
</div>
</div>
</div>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="imageScriptpreviews = false"
>关闭</el-button
>
</span>
</el-dialog>
<!-- 问卷 -->
<div
class="righttextarea"
v-show="
form.taskSubdivisiontemplateType == 'QUESTIONNAIRE' &&
form.templateId
"
<el-dialog
title="问卷预览"
:visible.sync="lookquestionlist"
width="40%"
>
<questionopennew :lookitemnew="lookitemnew"></questionopennew>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="lookquestionlist = false"
>关闭</el-button
>
</span>
</el-dialog>
<div class="bottomform">
<wangeditor
style="width: 100%"
@ -342,7 +375,9 @@
</el-radio-group>
</span>
</div>
<div class="pushMethod">
</div>
<div class="flexs">
<div class="pushMethods">
话术模板
<span
class="spanname"
@ -361,6 +396,13 @@
:templateName="form.phoneTemplateName"
></scripts>
</span>
<span
style="display: inline-block; width: 10px"
v-if="form.phoneTemplateId"
>
<el-button @click="look">预览</el-button>
</span>
<!-- <br/> -->
</div>
<div
class="pushMethod"
@ -381,6 +423,12 @@
:templateName="form.templateName"
></question>
</span>
<span
style="display: inline-block; width: 10px"
v-if="form.templateId"
>
<el-button @click="lookquestion">预览</el-button>
</span>
</div>
<!-- <div class="pushMethod">
<el-switch
@ -467,20 +515,33 @@
</div>
</div>
<!-- 话术模板内容 -->
<div
class="imageScriptpreview"
v-if="
phoneNodeContent && form.templateType == 'SCRIPT'
"
<el-dialog
title="话术预览"
:visible.sync="lookNodeContent"
width="90%"
>
<Scriptpreview
:phoneNodeContent="phoneNodeContent"
></Scriptpreview>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="lookNodeContent = false"
>关闭</el-button
>
</span>
</el-dialog>
<!-- 问卷模板内容 -->
<div class="imageScriptpreview" v-else-if="lookitemnew && form.templateType == 'QUESTIONNAIRE'">
<el-dialog
title="问卷预览"
:visible.sync="lookquestionname"
width="40%"
>
<questionopennew :lookitemnew="lookitemnew"></questionopennew>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="lookquestionname = false"
>关闭</el-button
>
</span>
</el-dialog>
</div>
</div>
</div>
@ -575,11 +636,14 @@ export default {
data() {
return {
formview: {},
lookquestionname: false,
lookquestionlist: false,
lookNodeContent: false,
imageScriptpreviews: false,
lookitemnew: {},
baseUrl: process.env.VUE_APP_BASE_API,
showquestion: false,
phoneNodeContent: "",
optionslist: [],
optionslistS: [],
value: "",
@ -665,26 +729,40 @@ export default {
},
mounted() {},
methods: {
//
looklist() {
this.lookquestionlist = true;
},
//
lookquestion() {
this.lookquestionname = true;
},
//
imagepreviews() {
this.imageScriptpreviews = true;
},
//
look() {
this.lookNodeContent = true;
},
//
changephoneDialMethod(e) {
console.log(e);
if (e == "AI") {
// this.form.templateId=''
// id
this.form.phoneTemplateId = "";
this.form.phoneTemplateName = "";
//
this.phoneNodeContent = "";
// this.phoneNodeContent = "";
this.lookitemnew = "";
} else if (e == "COMMON") {
// idid
this.form.templateId = "";
this.form.templateName = "";
this.form.phoneTemplateId = "";
this.form.phoneTemplateName = "";
//
this.phoneNodeContent = "";
// this.phoneNodeContent = "";
this.lookitemnew = "";
}
},
@ -702,7 +780,6 @@ export default {
// this.taskinfo();
});
},
changeoptions(e) {
this.parentDictCode = this.options.find(
(el) => el.dictValue == e
@ -744,7 +821,6 @@ export default {
res.data.specialDiseaseNodeList.forEach((e) => {
if (e.templateType == "SCRIPT" && e.flowScheme) {
this.phoneNodeContent = e.flowScheme;
console.log(this.phoneNodeContent, "this.phoneNodeContent");
}
if (e.messagePushSign) {
e.messagePushSign = "" + e.messagePushSign;
@ -765,17 +841,15 @@ export default {
"routeNodeName"
);
this.form = this.lists[0].list[0];
console.log(this.form, "this,form");
//
if (this.form.templateType == "PROPAGANDA"&&this.form.templateId) {
if (this.form.templateType == "PROPAGANDA" && this.form.templateId) {
getPropaganda(this.form.templateId).then((response) => {
console.log(response, " this.formview ");
this.formview = response.data;
});
} else if (this.form.templateType == "QUESTIONNAIRE"||this.form.templateType == "SCRIPT"&&this.form.templateId) {
console.log(this.form.templateId,'this.form.templateId5555555555')
} else if (
this.form.templateType == "QUESTIONNAIRE" ||
(this.form.templateType == "SCRIPT" && this.form.templateId)
) {
//
questionname(this.form.templateId).then((res) => {
this.lookitemnew = res.data;
@ -949,7 +1023,6 @@ export default {
// !e.taskSubdivision &&
// !e.taskStatus
// );
// console.log(this.updata,'this.updata')
// return
specialDiseaseNode(this.updata).then((res) => {
this.info();
@ -963,19 +1036,21 @@ export default {
},
//
questionontemplate(item) {
console.log(item, "iten");
this.form.templateId = item.templateId;
this.form.templateName = item.templateName;
this.lookitemnew = item.lookitemnew;
},
//
propagandaontemplate(item) {
console.log(item, "iten");
this.form.templateId = item.templateId;
this.form.templateName = item.templateName;
this.formview = item.formview;
},
//
dialogVisibletrue() {
this.form.routeNodeDay = Number(this.lists[this.listindex].routeNodeDay);
this.dialogVisible = true;
},
//
bottomclickevent(uitem, index, uindex) {
// this.phoneNodeContent = "";
@ -988,24 +1063,22 @@ export default {
}
setTimeout(() => {
this.form = uitem;
if (this.form.templateType == "PROPAGANDA"&&this.form.templateId) {
//
if (this.form.templateType == "PROPAGANDA" && this.form.templateId) {
getPropaganda(this.form.templateId).then((response) => {
//
this.formview = response.data;
});
} else if (this.form.templateType == "QUESTIONNAIRE"&&this.form.templateId) {
console.log(this.form.templateId,'this.form.templateId')
} else if (
this.form.templateType == "QUESTIONNAIRE" &&
this.form.templateId
) {
questionname(this.form.templateId).then((res) => {
//
console.log(res, "res");
this.lookitemnew = res.data;
});
// this.loading=true
} else if (this.form.templateType == "SCRIPT" && this.form.flowScheme) {
//
this.phoneNodeContent = this.form.flowScheme;
console.log(this.phoneNodeContent, "this.phoneNodeContent11");
}
this.taskPartitionList = [];
if (this.form.taskType) {
@ -1159,7 +1232,10 @@ export default {
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
if (!this.form.routeNodeDay) {
if (
Number(this.form.routeNodeDay) != 0 &&
Number(this.form.routeNodeDay) < 0
) {
this.$message.error("请输入节点时间段天数");
return loading.close();
}
@ -1199,22 +1275,17 @@ export default {
};
</script>
<style scoped lang="scss">
.righttextarea {
padding: 10px;
border: 1.5px solid #c7c7c7;
border-radius: 5px;
}
::v-deep iframe {
width: 100%;
height: 500px;
}
.imageScriptpreview {
width: 100%;
margin-top: 20px;
}
.imageScriptpreviews {
margin: 0 auto;
width: 90%;
// height: 300px;
.titletop {
font-size: 16px;
@ -1256,6 +1327,7 @@ export default {
}
}
}
::v-deep .el-input.is-disabled .el-input__inner {
background-color: #fff !important;
color: #606266 !important;
@ -1288,11 +1360,6 @@ export default {
.card {
background-color: #fff;
// width: 100%;
// height: 200px;
// margin: 20px 0 0;
// padding: 20px 50px 0px 20px;
// background-color: #fff;
width: 100%;
height: 130px;
margin: 20px 0 0;
@ -1337,7 +1404,53 @@ export default {
}
}
}
.flexs {
display: flex;
width: 100%;
.pushMethod {
height: 30px;
margin-top: 30px;
margin-left: 67px;
line-height: 37px;
font-size: 14px;
color: #64666a;
.spanname {
pointer-events: none;
}
::v-deep .el-input__inner {
color: black;
font-size: 14px;
}
span {
color: black;
font-size: 14px;
}
}
.pushMethods {
height: 30px;
margin-top: 30px;
line-height: 37px;
font-size: 14px;
color: #64666a;
.spanname {
pointer-events: none;
}
::v-deep .el-input__inner {
color: black;
font-size: 14px;
}
span {
color: black;
font-size: 14px;
}
}
}
.flex {
display: flex;
width: 100%;