修改宣教预览

This commit is contained in:
闫晓茹 2024-07-04 11:14:38 +08:00
parent 3323c79826
commit 56b0f452cc
2 changed files with 259 additions and 152 deletions

View File

@ -278,7 +278,7 @@
<el-form-item label="任务类型" prop=""> <el-form-item label="任务类型" prop="">
<el-select <el-select
v-model="form.taskType" v-model="form.taskType"
style="width: 130px" style="width: 150px"
@change="changeTaskType" @change="changeTaskType"
> >
<el-option <el-option
@ -293,7 +293,7 @@
<el-form-item label="任务细分" prop=""> <el-form-item label="任务细分" prop="">
<el-select <el-select
v-model="form.taskSubdivision" v-model="form.taskSubdivision"
style="width: 130px" style="width: 150px"
@change="changetaskSubdivision" @change="changetaskSubdivision"
> >
<el-option <el-option
@ -370,8 +370,8 @@
form.templateId form.templateId
" "
> >
<el-button @click="imagepreviews">预览</el-button> </span <el-button @click="imagepreviews">预览</el-button>
> </span>
</el-form> </el-form>
</div> </div>
<!-- 宣教 --> <!-- 宣教 -->
@ -544,8 +544,8 @@
</span> </span>
</div> </div>
</div> </div>
<div class="flex"> <div class="flexs">
<div class="pushMethod"> <div class="pushMethods">
话术模板 话术模板
<span <span
class="spanname" class="spanname"
@ -910,18 +910,10 @@ import indexjs from "./indexjs.js";
export default indexjs; export default indexjs;
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.righttextarea {
padding: 10px;
border: 1.5px solid #c7c7c7;
border-radius: 5px;
}
::v-deep iframe { ::v-deep iframe {
width: 100%; width: 100%;
height: 500px; height: 500px;
} }
.imageScriptpreview {
margin-top: 20px;
}
.imageScriptpreviews { .imageScriptpreviews {
margin: 0 auto; margin: 0 auto;
@ -1064,44 +1056,53 @@ export default indexjs;
height: 130px; height: 130px;
margin: 20px 0 0; margin: 20px 0 0;
padding: 20px 50px 0px 20px; padding: 20px 50px 0px 20px;
.flexs {
.flextwo { display: flex;
// display: flex; width: 100%;
// align-items: center; .pushMethod {
margin-top: 20px; height: 30px;
margin-top: 30px;
.text { margin-left: 67px;
line-height: 37px;
font-size: 14px; font-size: 14px;
color: #64666a; color: #64666a;
}
.textarea { .spanname {
width: 90%; pointer-events: none;
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;
} }
::v-deep .el-input__inner { ::v-deep .el-input__inner {
color: black; color: black;
font-size: 14px; 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 { .flex {
display: flex; display: flex;
width: 100%; width: 100%;
@ -1131,6 +1132,7 @@ export default indexjs;
} }
} }
} }
} }
} }

View File

@ -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,30 +30,59 @@
<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-select> </el-select>
<el-input v-model="item.routeNodeDay" type="number" style="width:70px" :min="0"></el-input> <el-input
v-model="item.routeNodeDay"
type="number"
style="width: 70px"
: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, item)" @click.native="bottomclickevent(uitem, index, uindex, item)"
: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>
@ -54,28 +92,52 @@
<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: 150px"
@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: 150px"
@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: 150px">
<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 <el-time-select
@ -124,8 +186,8 @@
form.templateId form.templateId
" "
> >
<el-button @click="imagepreviews">预览</el-button> </span <el-button @click="imagepreviews">预览</el-button>
> </span>
</el-form> </el-form>
</div> </div>
<!-- 宣教 --> <!-- 宣教 -->
@ -313,8 +375,8 @@
</span> </span>
</div> </div>
</div> </div>
<div class="flex"> <div class="flexs">
<div class="pushMethod"> <div class="pushMethods">
话术模板 话术模板
<span <span
class="spanname" class="spanname"
@ -676,7 +738,7 @@ export default {
}, },
// //
imagepreviews() { imagepreviews() {
this.imageScriptpreviews=true this.imageScriptpreviews = true;
}, },
// //
look() { look() {
@ -783,7 +845,10 @@ export default {
getPropaganda(this.form.templateId).then((response) => { getPropaganda(this.form.templateId).then((response) => {
this.formview = response.data; this.formview = response.data;
}); });
} else if (this.form.templateType == "QUESTIONNAIRE" || this.form.templateType == "SCRIPT" && this.form.templateId) { } else if (
this.form.templateType == "QUESTIONNAIRE" ||
(this.form.templateType == "SCRIPT" && this.form.templateId)
) {
// //
questionname(this.form.templateId).then((res) => { questionname(this.form.templateId).then((res) => {
this.lookitemnew = res.data; this.lookitemnew = res.data;
@ -982,8 +1047,8 @@ export default {
}, },
// //
dialogVisibletrue() { dialogVisibletrue() {
this.form.routeNodeDay = Number(this.lists[this.listindex].routeNodeDay) this.form.routeNodeDay = Number(this.lists[this.listindex].routeNodeDay);
this.dialogVisible = true this.dialogVisible = true;
}, },
// //
bottomclickevent(uitem, index, uindex) { bottomclickevent(uitem, index, uindex) {
@ -998,11 +1063,16 @@ export default {
setTimeout(() => { setTimeout(() => {
this.form = uitem; 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) => { // getPropaganda(this.form.templateId).then((response) => {
//
this.formview = response.data; this.formview = response.data;
}); });
} else if (this.form.templateType == "QUESTIONNAIRE" && this.form.templateId) { } else if (
questionname(this.form.templateId).then((res) => { // this.form.templateType == "QUESTIONNAIRE" &&
this.form.templateId
) {
questionname(this.form.templateId).then((res) => {
//
this.lookitemnew = res.data; this.lookitemnew = res.data;
}); });
} else if (this.form.templateType == "SCRIPT" && this.form.flowScheme) { } else if (this.form.templateType == "SCRIPT" && this.form.flowScheme) {
@ -1161,7 +1231,10 @@ export default {
spinner: "el-icon-loading", spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)", background: "rgba(0, 0, 0, 0.7)",
}); });
if (Number(this.form.routeNodeDay) != 0 && Number(this.form.routeNodeDay) < 0) { if (
Number(this.form.routeNodeDay) != 0 &&
Number(this.form.routeNodeDay) < 0
) {
this.$message.error("请输入节点时间段天数"); this.$message.error("请输入节点时间段天数");
return loading.close(); return loading.close();
} }
@ -1201,22 +1274,13 @@ export default {
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.righttextarea {
padding: 10px;
border: 1.5px solid #c7c7c7;
border-radius: 5px;
}
::v-deep iframe { ::v-deep iframe {
width: 100%; width: 100%;
height: 500px; height: 500px;
} }
.imageScriptpreview {
width: 100%;
margin-top: 20px;
}
.imageScriptpreviews { .imageScriptpreviews {
margin: 0 auto; margin: 0 auto;
width: 90%; width: 90%;
@ -1295,11 +1359,6 @@ export default {
.card { .card {
background-color: #fff; background-color: #fff;
// width: 100%;
// height: 200px;
// margin: 20px 0 0;
// padding: 20px 50px 0px 20px;
// background-color: #fff;
width: 100%; width: 100%;
height: 130px; height: 130px;
margin: 20px 0 0; margin: 20px 0 0;
@ -1344,7 +1403,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 { .flex {
display: flex; display: flex;
width: 100%; width: 100%;