修改高度

This commit is contained in:
闫晓茹 2024-07-01 10:21:01 +08:00
parent faf455c369
commit 2a7e7ad2d5
7 changed files with 884 additions and 429 deletions

View File

@ -306,7 +306,7 @@
</el-select>
</el-form-item>
<el-form-item label="任务状态" prop="">
<el-select v-model="form.taskStatus" style="width: 100px">
<el-select v-model="form.taskStatus" style="width: 150px">
<el-option
v-for="item in taskStatusDictList"
:key="item.id"
@ -361,7 +361,7 @@
style="width: 100%"
:nodeContent="form.nodeContent"
@on-nodeContent="onNodeContent"
v-show="
v-if="
form.taskSubdivisiontemplateType != 'QUESTIONNAIRE' &&
form.taskSubdivisiontemplateType != 'PROPAGANDA' &&
form.taskSubdivisiontemplateType != 'SCRIPT'
@ -370,7 +370,7 @@
/>
<div
class="card"
v-show="form.taskSubdivisiontemplateType != 'SCRIPT'"
v-if="form.taskSubdivisiontemplateType != 'SCRIPT'"
>
<div class="flex">
<div class="pushMethod">
@ -398,7 +398,7 @@
</div>
<div
class="card"
v-show="form.taskSubdivisiontemplateType != 'SCRIPT'"
v-if="form.taskSubdivisiontemplateType != 'SCRIPT'"
>
<div class="flex">
<div class="pushMethod">
@ -429,7 +429,7 @@
</div>
<div
class="card"
v-show="form.taskSubdivisiontemplateType != 'SCRIPT'"
v-if="form.taskSubdivisiontemplateType != 'SCRIPT'"
>
<div class="flex">
<div class="pushMethod">
@ -461,7 +461,7 @@
<div
class="card"
style="height: 250px"
v-show="form.taskSubdivisiontemplateType == 'SCRIPT'"
v-if="form.taskSubdivisiontemplateType == 'SCRIPT'"
>
<div class="flex">
<div class="pushMethod">
@ -968,7 +968,8 @@ export default indexjs;
.topform {
padding: 15px 0 0 15px;
height: 150px;
// height: 150px;
background: #fff;
.form {
::v-deep .el-input__inner {
@ -1004,7 +1005,7 @@ export default indexjs;
.title {
display: flex;
margin-left: 100px;
height: 7vh;
// height: 6vh;
.select {
font-weight: 550;
// margin-left: 10%;
@ -1024,7 +1025,7 @@ export default indexjs;
// padding: 20px;
// }
.listment {
margin: 12px auto;
margin: 6px auto;
width: 100%;
// height: 60vh;
// height: calc(100% - 220px);
@ -1037,7 +1038,7 @@ export default indexjs;
width: 25%;
background-color: #fff;
padding: 0 20px 20px;
height: calc(100vh - 350px);
height: calc(100vh - 347px);
overflow: scroll;
@ -1056,16 +1057,16 @@ export default indexjs;
.texts {
width: 73%;
height: calc(100vh - 350px);
height: calc(100vh - 347px);
overflow: scroll;
background-color: #fff;
}
}
.list {
// margin: 12px auto;
margin: 6px auto;
width: 100%;
height: 69vh;
// height: 70vh;
// height: calc(100% - 80px);
background-color: #f2f4f5;
display: flex;
@ -1076,7 +1077,7 @@ export default indexjs;
width: 25%;
background-color: #fff;
padding: 0 20px 20px;
// height: calc(100vh - 350px);
height: calc(100vh - 273px);
overflow: scroll;
@ -1095,7 +1096,7 @@ export default indexjs;
.texts {
width: 73%;
// height: calc(100vh - 350px);
height: calc(100vh - 273px);
overflow: scroll;
background-color: #fff;

View File

@ -1,25 +1,53 @@
<template>
<div class="app-container">
<el-button size="small" @click="classificationOpen = true"
style="width: 200px;font-size:14px;text-align:left;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;"
:style="handleselectName ? 'color:black' : 'color:#C0C4CC'">{{ handleselectName ? handleselectName : '选择短信模板'
}}</el-button>
<el-dialog title="短信库模板选择" :visible.sync="classificationOpen" width="70%" :before-close="classificationOpenfalse">
<el-button
size="small"
@click="classificationOpen = true"
style="
width: 200px;
font-size: 14px;
text-align: left;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
"
:style="handleselectName ? 'color:black' : 'color:#C0C4CC'"
>{{ handleselectName ? handleselectName : "选择短信模板" }}</el-button
>
<el-dialog
title="短信库模板选择"
:visible.sync="classificationOpen"
width="70%"
:before-close="classificationOpenfalse"
>
<el-row :gutter="20">
<!--部门数据-->
<el-col :span="6" :xs="24">
<div class="leftmessage" ref="box">
<div class="name">科室名称</div>
<div>
<el-input v-model="name" placeholder="请输入科室名称" clearable @keyup.enter.native="handleQuery" />
<el-input
v-model="name"
placeholder="请输入科室名称"
clearable
@keyup.enter.native="handleQuery"
/>
</div>
<div class="listitem">
<div :class="itemname == null ? 'allactive' : 'all'" @click="itemdata()">
<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="listitem"
v-for="(item, index) in DepartmentoList"
:key="index"
@click="itemdata(item)"
>
<div :class="itemname == item.id ? 'allactive' : 'all'">
{{ item.departmentName }}
</div>
@ -29,84 +57,182 @@
</el-col>
<!--用户数据-->
<el-col :span="18" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="短信模板名称" prop="textMessageName" label-width="100px">
<el-input v-model="queryParams.textMessageName" placeholder="请输入模版名称" clearable
@keyup.enter.native="handleQuery" />
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item
label="短信模板名称"
prop="textMessageName"
label-width="100px"
>
<el-input
v-model="queryParams.textMessageName"
placeholder="请输入模版名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="模板ID" prop="textMessageId">
<el-input v-model="queryParams.textMessageId" placeholder="请输入模板ID" clearable
@keyup.enter.native="handleQuery" />
<el-input
v-model="queryParams.textMessageId"
placeholder="请输入模板ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="templateList" @row-dblclick="handleselect">
<el-table-column type="index" width="55" align="center" label="序号" />
<el-table-column label="短信模板名称" align="center" prop="textMessageName" :show-overflow-tooltip="true" />
<el-table-column label="短信ID" align="center" prop="textMessageId" />
<el-table-column label="短信内容" align="center" prop="textMessageContent" :show-overflow-tooltip="true" />
<el-table-column :show-overflow-tooltip="true" label="适用任务类型" align="center" prop="suitTaskTypeName">
<el-table
v-loading="loading"
:data="templateList"
@row-dblclick="handleselect"
>
<el-table-column
type="index"
width="55"
align="center"
label="序号"
/>
<el-table-column
label="短信模板名称"
align="center"
prop="textMessageName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="短信ID"
align="center"
prop="textMessageId"
/>
<el-table-column
label="短信内容"
align="center"
prop="textMessageContent"
:show-overflow-tooltip="true"
/>
<el-table-column
:show-overflow-tooltip="true"
label="适用任务类型"
align="center"
prop="suitTaskTypeName"
>
<template slot-scope="scope">
{{ scope.row.suitTaskTypeName != "null" ? scope.row.suitTaskTypeName : '' }}
{{
scope.row.suitTaskTypeName != "null"
? scope.row.suitTaskTypeName
: ""
}}
</template>
</el-table-column>
<el-table-column label="短信通道" align="center" prop="textMessageChannel">
<el-table-column
label="短信通道"
align="center"
prop="textMessageChannel"
>
<template slot-scope="scope">
{{ scope.row.textMessageChannel == "WATER_DROPLET_PLATFORM" ? "水滴平台" : "" }}
{{
scope.row.textMessageChannel == "WATER_DROPLET_PLATFORM"
? "水滴平台"
: ""
}}
</template>
</el-table-column>
<el-table-column label="病种名称" align="center" prop="diseaseTypeName" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column
label="病种名称"
align="center"
prop="diseaseTypeName"
/>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button size="mini" type="text" @click="handleselect(scope.row)"
v-if="handleselectId != scope.row.id">选择</el-button>
<el-button size="mini" type="text" @click="nohandleselect(scope.row)"
v-if="handleselectId == scope.row.id">取消选择</el-button>
<el-button
size="mini"
type="text"
@click="handleselect(scope.row)"
v-if="handleselectId != scope.row.id"
>选择</el-button
>
<el-button
size="mini"
type="text"
@click="nohandleselect(scope.row)"
v-if="handleselectId == scope.row.id"
>取消选择</el-button
>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-dialog>
</div>
</template>
<script>
import { listMessage, getMessage, delMessage, addMessage, updateMessage, listMessageNum } from "@/api/manage/message";
import {
listMessage,
getMessage,
delMessage,
addMessage,
updateMessage,
listMessageNum,
} from "@/api/manage/message";
import { typelist } from "@/api/manage/template";
import { department, listDisease } from "@/api/manage/script";
export default {
props: ['templateId', 'templateName'],
props: ["templateId", "templateName"],
name: "Template",
data() {
return {
handleselectName: '',
handleselectId: '',
handleselectName: "",
handleselectId: "",
classificationOpen: false,
itemname: null,
departmentName: null,
diseaseTypeName: null,
name: '',
name: "",
departmentId: null,
count: '',//
DepartmentoList: [],//
count: "", //
DepartmentoList: [], //
//
querydepartmen: {
departmentName: "",
// pageNum: 1,
// pageSize: 10,
},
options: [{
value: 'WATER_DROPLET_PLATFORM',
label: '水滴平台'
},],
options: [
{
value: "WATER_DROPLET_PLATFORM",
label: "水滴平台",
},
],
//
loading: false,
//
@ -143,7 +269,7 @@ export default {
},
watch: {
name(val) {
this.querydepartmen.departmentName = val
this.querydepartmen.departmentName = val;
this.Departmentlist();
},
templateId(newValue, oldValue) {
@ -151,7 +277,7 @@ export default {
},
templateName(newValue, oldValue) {
this.handleselectName = newValue;
}
},
},
mounted() {
this.handleselectId = this.templateId;
@ -162,27 +288,34 @@ export default {
this.Departmentlist();
},
methods: {
nohandleselect() {
this.handleselectId = ''
this.handleselectName = ''
this.$emit("on-template", { templateId: '', templateName: '', templateContent: "" });
this.handleselectId = "";
this.handleselectName = "";
this.$emit("on-template", {
templateId: "",
templateName: "",
templateContent: "",
});
},
handleselect(item) {
console.log(item.id, 'id')
this.handleselectId = item.id
this.handleselectName = item.textMessageName
this.$emit("on-template", { templateId: item.id, templateName: item.textMessageName, templateContent: item.templateContent });
this.classificationOpen = false
console.log(item.id, "id");
this.handleselectId = item.id;
this.handleselectName = item.textMessageName;
this.$emit("on-template", {
templateId: item.id,
templateName: item.textMessageName,
templateContent: item.templateContent,
});
this.classificationOpen = false;
},
classificationOpenfalse() {
this.classificationOpen = false
this.classificationOpen = false;
},
/** 查询微信模板信息列表 */
getList() {
this.loading = true;
this.queryParams.textMessageStatus = "GROUNDING"
listMessage(this.queryParams).then(response => {
this.queryParams.textMessageStatus = "GROUNDING";
listMessage(this.queryParams).then((response) => {
this.templateList = response.rows;
this.total = response.total;
this.loading = false;
@ -191,8 +324,8 @@ export default {
//
Departmentlist() {
this.loading = true;
this.querydepartmen.textMessageStatus = "GROUNDING"
listMessageNum(this.querydepartmen).then(response => {
this.querydepartmen.textMessageStatus = "GROUNDING";
listMessageNum(this.querydepartmen).then((response) => {
this.DepartmentoList = response.data;
let sum = 0;
this.DepartmentoList.forEach((item) => {
@ -207,15 +340,15 @@ export default {
//
itemdata(item) {
if (item) {
this.itemname = item.id
this.departmentName = item.departmentName
this.itemname = item.id;
this.departmentName = item.departmentName;
this.loading = true;
this.queryParams.departmentId = item.id
this.getList()
this.queryParams.departmentId = item.id;
this.getList();
} else {
this.queryParams.departmentId = ''
this.itemname = null
this.getList()
this.queryParams.departmentId = "";
this.itemname = null;
this.getList();
}
},
/** 搜索按钮操作 */
@ -230,13 +363,14 @@ export default {
this.resetForm("queryForm");
this.handleQuery();
},
}
},
};
</script>
<style lang="scss" scoped>
.app-container {
display: inline-block;
padding: 0 !important;
height: 42px;
}
::v-deep .el-dialog__body {

View File

@ -1,294 +1,414 @@
<template>
<div class="app-container">
<el-button size="small" @click="classificationOpen = true"
style="width: 200px;font-size:14px;text-align:left;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;"
:style="handleselectName ? 'color:black' : 'color:#C0C4CC'">{{ handleselectName ? handleselectName :
'选择公众号模板' }}</el-button>
<el-dialog title="公众号模板选择" :visible.sync="classificationOpen" width="70%"
:before-close="classificationOpenfalse">
<el-row :gutter="20">
<!--部门数据-->
<el-col :span="6" :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>
</el-col>
<!--用户数据-->
<el-col :span="18" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="微信模版名称" prop="wechatTemplateName" label-width="100px">
<el-input v-model="queryParams.wechatTemplateName" placeholder="请输入模版名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="模板ID" prop="templateId">
<el-input v-model="queryParams.templateId" placeholder="请输入模板ID" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini"
@click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="templateList" @row-dblclick="handleselect">
<el-table-column type="index" width="55" align="center" label="序号" />
<el-table-column label="微信模版名称" align="center" prop="wechatTemplateName" />
<el-table-column label="模板ID" align="center" prop="templateId" />
<el-table-column label="模板来源" align="center" prop="templateSource">
<template slot-scope="scope">
{{ scope.row.templateSource == "WE_CHAT_APPLET" ? "小程序" : "" }}
{{ scope.row.templateSource == "WE_CHAT_OFFICIAL_ACCOUNT" ? "公众号" : "" }}
</template>
</el-table-column>
<el-table-column label="适用任务类型" align="center" prop="suitTaskTypeName"
:show-overflow-tooltip="true" />
<el-table-column label="病种名称" align="center" prop="diseaseTypeName" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="handleselect(scope.row)"
v-if="handleselectId != scope.row.templateId">选择</el-button>
<el-button size="mini" type="text" @click="nohandleselect(scope.row)"
v-if="handleselectId == scope.row.templateId">取消选择</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</el-dialog>
</div>
<div class="app-container">
<el-button
size="small"
@click="classificationOpen = true"
style="
width: 200px;
font-size: 14px;
text-align: left;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
"
:style="handleselectName ? 'color:black' : 'color:#C0C4CC'"
>{{ handleselectName ? handleselectName : "选择公众号模板" }}</el-button
>
<el-dialog
title="公众号模板选择"
:visible.sync="classificationOpen"
width="70%"
:before-close="classificationOpenfalse"
>
<el-row :gutter="20">
<!--部门数据-->
<el-col :span="6" :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>
</el-col>
<!--用户数据-->
<el-col :span="18" :xs="24">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item
label="微信模版名称"
prop="wechatTemplateName"
label-width="100px"
>
<el-input
v-model="queryParams.wechatTemplateName"
placeholder="请输入模版名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="模板ID" prop="templateId">
<el-input
v-model="queryParams.templateId"
placeholder="请输入模板ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="templateList"
@row-dblclick="handleselect"
>
<el-table-column
type="index"
width="55"
align="center"
label="序号"
/>
<el-table-column
label="微信模版名称"
align="center"
prop="wechatTemplateName"
/>
<el-table-column label="模板ID" align="center" prop="templateId" />
<el-table-column
label="模板来源"
align="center"
prop="templateSource"
>
<template slot-scope="scope">
{{
scope.row.templateSource == "WE_CHAT_APPLET" ? "小程序" : ""
}}
{{
scope.row.templateSource == "WE_CHAT_OFFICIAL_ACCOUNT"
? "公众号"
: ""
}}
</template>
</el-table-column>
<el-table-column
label="适用任务类型"
align="center"
prop="suitTaskTypeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="病种名称"
align="center"
prop="diseaseTypeName"
/>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="handleselect(scope.row)"
v-if="handleselectId != scope.row.templateId"
>选择</el-button
>
<el-button
size="mini"
type="text"
@click="nohandleselect(scope.row)"
v-if="handleselectId == scope.row.templateId"
>取消选择</el-button
>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-dialog>
</div>
</template>
<script>
import { listTemplate, getTemplate, delTemplate, addTemplate, updateTemplate, listWechatTemplateNum, typelist } from "@/api/manage/template";
import {
listTemplate,
getTemplate,
delTemplate,
addTemplate,
updateTemplate,
listWechatTemplateNum,
typelist,
} from "@/api/manage/template";
export default {
props: ['templateId', 'templateName'],
name: "miniProgram",
data() {
return {
handleselectName: '',
handleselectId: '',
classificationOpen: false,
count: '',//
itemname: null,
departmentName: null,
diseaseTypeName: null,
name: '',
departmentId: null,
DepartmentoList: [],//
//
querydepartmen: {
departmentName: "",
},
options: [{
value: 'WE_CHAT_APPLET',
label: '小程序'
}, {
value: 'WE_CHAT_OFFICIAL_ACCOUNT',
label: '公众号'
},],
//
loading: false,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
templateList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
wechatTemplateName: null,
departmentId: null,
departmentName: null,
diseaseTypeId: null,
diseaseTypeName: null,
templateId: null,
templateContent: null,
templateSource: null,
templateSort: null,
templateRemark: null,
},
};
},
watch: {
name(val) {
this.querydepartmen.departmentName = val
this.Departmentlist();
props: ["templateId", "templateName"],
name: "miniProgram",
data() {
return {
handleselectName: "",
handleselectId: "",
classificationOpen: false,
count: "", //
itemname: null,
departmentName: null,
diseaseTypeName: null,
name: "",
departmentId: null,
DepartmentoList: [], //
//
querydepartmen: {
departmentName: "",
},
options: [
{
value: "WE_CHAT_APPLET",
label: "小程序",
},
templateId(newValue, oldValue) {
this.handleselectId = newValue;
{
value: "WE_CHAT_OFFICIAL_ACCOUNT",
label: "公众号",
},
templateName(newValue, oldValue) {
this.handleselectName = newValue;
}
],
//
loading: false,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
templateList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
wechatTemplateName: null,
departmentId: null,
departmentName: null,
diseaseTypeId: null,
diseaseTypeName: null,
templateId: null,
templateContent: null,
templateSource: null,
templateSort: null,
templateRemark: null,
},
};
},
watch: {
name(val) {
this.querydepartmen.departmentName = val;
this.Departmentlist();
},
mounted() {
this.handleselectId = this.templateId;
this.handleselectName = this.templateName;
templateId(newValue, oldValue) {
this.handleselectId = newValue;
},
created() {
templateName(newValue, oldValue) {
this.handleselectName = newValue;
},
},
mounted() {
this.handleselectId = this.templateId;
this.handleselectName = this.templateName;
},
created() {
this.getList();
this.Departmentlist();
},
methods: {
classificationOpenfalse() {
this.classificationOpen = false;
},
nohandleselect() {
this.handleselectId = "";
this.handleselectName = "";
this.$emit("on-template", {
templateId: "",
templateName: "",
templateContent: "",
});
},
handleselect(item) {
this.handleselectId = item.id;
this.handleselectName = item.wechatTemplateName;
this.$emit("on-template", {
templateId: item.id,
templateName: item.wechatTemplateName,
templateContent: item.textMessageContent,
});
this.classificationOpen = false;
},
/** 查询微信模板信息列表 */
getList() {
this.loading = true;
this.queryParams.templateSource = "WE_CHAT_APPLET";
listTemplate(this.queryParams).then((response) => {
this.templateList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
Departmentlist() {
this.loading = true;
this.querydepartmen.templateSource = "WE_CHAT_APPLET";
listWechatTemplateNum(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;
});
this.loading = false;
});
},
//
itemdata(item) {
if (item) {
this.itemname = item.id;
this.departmentName = item.departmentName;
this.loading = true;
this.queryParams.departmentId = item.id;
this.getList();
this.Departmentlist();
} else {
this.queryParams.departmentId = "";
this.itemname = null;
this.getList();
}
},
methods: {
classificationOpenfalse() {
this.classificationOpen = false
},
nohandleselect() {
this.handleselectId = ''
this.handleselectName = ''
this.$emit("on-template", { templateId: '', templateName: '', templateContent: "" });
},
handleselect(item) {
this.handleselectId = item.id
this.handleselectName = item.wechatTemplateName
this.$emit("on-template", { templateId: item.id, templateName: item.wechatTemplateName, templateContent: item.textMessageContent });
this.classificationOpen = false
},
/** 查询微信模板信息列表 */
getList() {
this.loading = true;
this.queryParams.templateSource = "WE_CHAT_APPLET"
listTemplate(this.queryParams).then(response => {
this.templateList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
Departmentlist() {
this.loading = true;
this.querydepartmen.templateSource = "WE_CHAT_APPLET"
listWechatTemplateNum(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;
});
this.loading = false;
});
},
//
itemdata(item) {
if (item) {
this.itemname = item.id
this.departmentName = item.departmentName
this.loading = true;
this.queryParams.departmentId = item.id
this.getList()
} else {
this.queryParams.departmentId = ''
this.itemname = null
this.getList()
}
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.departmentId = null;
this.itemname = null;
this.resetForm("queryForm");
this.handleQuery();
},
}
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.departmentId = null;
this.itemname = null;
this.resetForm("queryForm");
this.handleQuery();
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-input-number .el-input__inner {
text-align: left;
text-align: left;
}
::v-deep .el-dialog__body {
padding-bottom: 60px;
padding-bottom: 60px;
}
.app-container {
display: inline-block;
padding: 0 !important;
display: inline-block;
padding: 0 !important;
height: 42px;
}
.left {
height: 530px;
overflow: auto;
height: 530px;
overflow: auto;
.name {
font-weight: 700;
margin-bottom: 10px;
.name {
font-weight: 700;
margin-bottom: 10px;
}
.listitem {
width: 100%;
height: 50px;
border-bottom: 1px solid #dcdfe6;
position: relative;
.count {
display: inline-block;
position: absolute;
left: 210px;
color: #a4a6aa;
top: 10px;
font-size: 13px;
}
.listitem {
width: 100%;
height: 50px;
border-bottom: 1px solid #dcdfe6;
position: relative;
.count {
display: inline-block;
position: absolute;
left: 210px;
color: #a4a6aa;
top: 10px;
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;
}
.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;
}
}
}
.button {
display: inline-block;
position: relative;
left: 20px;
top: -11px;
display: inline-block;
position: relative;
left: 20px;
top: -11px;
}
</style>

View File

@ -243,6 +243,7 @@ export default {
.app-container {
display: inline-block;
padding: 0 !important;
height: 42px;
}
.left {

View File

@ -208,6 +208,8 @@ export default {
.app-container {
padding: 0 !important;
display: inline-block;
// background: red;
height: 42px;
}
.left {

View File

@ -282,6 +282,8 @@ export default {
.app-container {
display: inline-block;
padding: 0 !important;
// background: red;
height: 42px;
}
::v-deep .el-textarea__inner {

View File

@ -8,8 +8,17 @@
</div>
<div class="select">
<span> 适用范围 </span>
<el-select v-model="updata.suitRange" placeholder="请选择" @change="changeoptions">
<el-option v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
<el-select
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-select>
</div>
@ -21,30 +30,59 @@
<i class="el-icon-circle-plus-outline" @click="addlist"></i>
</div>
<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="toptop">
<el-select v-model="item.routeNodeName" style="width: 100px">
<el-option v-for="item in parentDictCodelist" :key="item.dictValue" :label="item.dictLabel"
:value="item.dictValue">
<el-option
v-for="item in parentDictCodelist"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</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>
</div>
<div>
<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>
<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)"
:class="listindex == index && itemindex == uindex ? 'cards' : ''">
:class="listindex == index && itemindex == uindex ? 'cards' : ''"
>
<h3 style="height: 20px">{{ uitem.taskTypeName }}</h3>
<el-tag v-if="uitem.routeCheckStatus == 'AGREE'" class="routeCheckStatus">已审核</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>
<el-tag
v-if="uitem.routeCheckStatus == 'AGREE'"
class="routeCheckStatus"
>已审核</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>
</el-card>
</el-timeline-item>
@ -54,49 +92,102 @@
<div class="topform">
<el-form ref="form" :inline="true" :model="form" class="form">
<el-form-item label="任务类型" prop="">
<el-select v-model="form.taskType" style="width: 110px" @change="changeTaskType">
<el-option v-for="item in selectTaskTypeList" :key="item.taskTypeCode" :label="item.taskTypeName"
:value="item.taskTypeCode">
<el-select
v-model="form.taskType"
style="width: 110px"
@change="changeTaskType"
>
<el-option
v-for="item in selectTaskTypeList"
:key="item.taskTypeCode"
:label="item.taskTypeName"
:value="item.taskTypeCode"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务细分" prop="">
<el-select v-model="form.taskSubdivision" style="width: 110px" @change="changetaskSubdivision">
<el-option v-for="item in taskPartitionList" :key="item.taskPartitionCode"
:label="item.taskPartitionName" :value="item.taskPartitionCode">
<el-select
v-model="form.taskSubdivision"
style="width: 110px"
@change="changetaskSubdivision"
>
<el-option
v-for="item in taskPartitionList"
:key="item.taskPartitionCode"
:label="item.taskPartitionName"
:value="item.taskPartitionCode"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务状态" prop="">
<el-select v-model="form.taskStatus" style="width: 110px">
<el-option v-for="item in taskStatusDictList" :key="item.id" :label="item.taskStatusName"
:value="item.taskStatusCode">
<el-option
v-for="item in taskStatusDictList"
:key="item.id"
:label="item.taskStatusName"
:value="item.taskStatusCode"
>
</el-option>
</el-select>
</el-form-item>
<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 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-form-item>
<el-form-item label="问卷库模板选择" prop="" v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE'">
<question @on-template="questionontemplate" :templateId="form.templateId"
:templateName="form.templateName"></question>
<el-form-item
label="问卷库模板选择"
prop=""
v-if="form.taskSubdivisiontemplateType == 'QUESTIONNAIRE'"
>
<question
@on-template="questionontemplate"
:templateId="form.templateId"
:templateName="form.templateName"
></question>
</el-form-item>
<el-form-item label="宣教库模板选择" prop="" v-if="form.taskSubdivisiontemplateType == 'PROPAGANDA'">
<propaganda @on-template="propagandaontemplate" :templateId="form.templateId"
:templateName="form.templateName"></propaganda>
<el-form-item
label="宣教库模板选择"
prop=""
v-if="form.taskSubdivisiontemplateType == 'PROPAGANDA'"
>
<propaganda
@on-template="propagandaontemplate"
:templateId="form.templateId"
:templateName="form.templateName"
></propaganda>
</el-form-item>
</el-form>
</div>
<div class="bottomform">
<wangeditor style="width: 100%" :nodeContent="form.nodeContent" @on-nodeContent="onNodeContent" v-show="form.taskSubdivisiontemplateType != 'QUESTIONNAIRE' &&
form.taskSubdivisiontemplateType != 'PROPAGANDA' &&
form.taskSubdivisiontemplateType != 'SCRIPT'
" ref="wangeditor" />
<div class="card" v-show="form.taskSubdivisiontemplateType != 'SCRIPT'">
<wangeditor
style="width: 100%"
:nodeContent="form.nodeContent"
@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">
推送方式
@ -104,11 +195,19 @@
</div>
<div class="pushMethod">
模板
<message @on-template="messageontemplate" :templateId="form.messageTemplateId"
:templateName="form.messageTemplateName"></message>
<message
@on-template="messageontemplate"
:templateId="form.messageTemplateId"
:templateName="form.messageTemplateName"
></message>
</div>
<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>
</div>
</div>
@ -117,7 +216,10 @@
<el-input class="textarea" v-model="form.messagePreview" disabled></el-input>
</div> -->
</div>
<div class="card" v-show="form.taskSubdivisiontemplateType != 'SCRIPT'">
<div
class="card"
v-show="form.taskSubdivisiontemplateType != 'SCRIPT'"
>
<div class="flex">
<div class="pushMethod">
推送方式
@ -126,13 +228,21 @@
<div class="pushMethod">
模板
<span>
<officialAccount @on-template="officialAccountontemplate" :templateId="form.officialTemplateId"
:templateName="form.officialTemplateName">
<officialAccount
@on-template="officialAccountontemplate"
:templateId="form.officialTemplateId"
:templateName="form.officialTemplateName"
>
</officialAccount>
</span>
</div>
<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>
</div>
</div>
@ -141,7 +251,10 @@
<el-input v-model="form.officialRemindContent" class="textarea" disabled></el-input>
</div> -->
</div>
<div class="card" v-show="form.taskSubdivisiontemplateType != 'SCRIPT'">
<div
class="card"
v-show="form.taskSubdivisiontemplateType != 'SCRIPT'"
>
<div class="flex">
<div class="pushMethod">
推送方式
@ -150,13 +263,21 @@
<div class="pushMethod">
模板
<span>
<miniProgram @on-template="miniProgramtemplate" :templateId="form.appletTemplateId"
:templateName="form.appletTemplateName">
<miniProgram
@on-template="miniProgramtemplate"
:templateId="form.appletTemplateId"
:templateName="form.appletTemplateName"
>
</miniProgram>
</span>
</div>
<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>
</div>
</div>
@ -169,7 +290,11 @@
<el-input v-model="form.appletPromptDescription" class="textarea" disabled></el-input>
</div> -->
</div>
<div class="card" style="height: 250px" v-show="form.taskSubdivisiontemplateType == 'SCRIPT'">
<div
class="card"
style="height: 250px"
v-show="form.taskSubdivisiontemplateType == 'SCRIPT'"
>
<div class="flex">
<div class="pushMethod">
推送方式
@ -183,27 +308,47 @@
<div class="pushMethod">
话术模板
<span class="spanname" v-if="form.templateId">
<scripts @on-template="messageontemplateword" :templateId="form.phoneTemplateId"
:templateName="form.phoneTemplateName"></scripts>
<scripts
@on-template="messageontemplateword"
:templateId="form.phoneTemplateId"
:templateName="form.phoneTemplateName"
></scripts>
</span>
<span v-else>
<scripts @on-template="messageontemplateword" :templateId="form.phoneTemplateId"
:templateName="form.phoneTemplateName"></scripts>
<scripts
@on-template="messageontemplateword"
:templateId="form.phoneTemplateId"
:templateName="form.phoneTemplateName"
></scripts>
</span>
</div>
<div class="pushMethod" v-if="form.phoneDialMethod == 'COMMON' || !form.phoneDialMethod">
<div
class="pushMethod"
v-if="form.phoneDialMethod == 'COMMON' || !form.phoneDialMethod"
>
问卷模板
<span class="spanname" v-if="form.phoneTemplateId">
<question @on-template="questionontemplate" :templateId="form.templateId"
:templateName="form.templateName"></question>
<question
@on-template="questionontemplate"
:templateId="form.templateId"
:templateName="form.templateName"
></question>
</span>
<span v-else>
<question @on-template="questionontemplate" :templateId="form.templateId"
:templateName="form.templateName"></question>
<question
@on-template="questionontemplate"
:templateId="form.templateId"
:templateName="form.templateName"
></question>
</span>
</div>
<div class="pushMethod">
<el-switch v-model="form.phonePushSign" active-color="#13ce66" active-value="1" inactive-value="0">
<el-switch
v-model="form.phonePushSign"
active-color="#13ce66"
active-value="1"
inactive-value="0"
>
</el-switch>
</div>
</div>
@ -211,9 +356,16 @@
<div class="pushMethod">
重播次数
<span>
<el-select v-model="form.phoneRedialTimes" style="width: 100px">
<el-option v-for="item in optionslistS" :key="item.dictValue" :label="item.dictLabel"
:value="item.dictValue">
<el-select
v-model="form.phoneRedialTimes"
style="width: 100px"
>
<el-option
v-for="item in optionslistS"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</span>
@ -221,8 +373,11 @@
<div class="pushMethod">
时间间隔:
<span>
<el-input v-model.number="form.phoneTimeInterval" oninput="value=value.replace(/[^\d]/g,'')"
style="width: 100px">
<el-input
v-model.number="form.phoneTimeInterval"
oninput="value=value.replace(/[^\d]/g,'')"
style="width: 100px"
>
<!-- <el-option
v-for="item in optionslistS"
:key="item.dictValue"
@ -235,21 +390,39 @@
</div>
<div class="pushMethod">
短信提醒
<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-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>
</div>
<div class="pushMethod">
短信模板
<span class="spanname" v-if="form.phoneMessageRemind == 'NOT_SEND_MESSAGE'">
<message style="width: 200px" @on-template="messageontemplateMESSAGE"
:templateId="form.phoneMessageTemplateId" :templateName="form.phoneMessageTemplateName"></message>
<span
class="spanname"
v-if="form.phoneMessageRemind == 'NOT_SEND_MESSAGE'"
>
<message
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>
<message
style="width: 200px"
@on-template="messageontemplateMESSAGE"
:templateId="form.phoneMessageTemplateId"
:templateName="form.phoneMessageTemplateName"
></message>
</span>
</div>
</div>
@ -259,18 +432,41 @@
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="TemporaryStorage"> </el-button>
<el-button type="primary" @click="dialogVisible = true" v-if="form.specialDiseaseNodeId">审核完成 {{ agreeNumber ?
agreeNumber : "0" }} /
{{ totalNumber ? totalNumber : "0" }}</el-button>
<el-button
type="primary"
@click="dialogVisible = true"
v-if="form.specialDiseaseNodeId"
>审核完成 {{ agreeNumber ? agreeNumber : "0" }} /
{{ totalNumber ? totalNumber : "0" }}</el-button
>
</div>
<el-dialog title="提交审核完成" :visible.sync="dialogVisible" width="30%" :before-close="handleClose">
<el-form ref="routeform" :model="routeform" label-width="120px" :rules="rules">
<el-dialog
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-radio v-model="routeform.routeCheckStatus" label="AGREE">同意</el-radio>
<el-radio v-model="routeform.routeCheckStatus" label="DISAGREE">不同意</el-radio>
<el-radio v-model="routeform.routeCheckStatus" label="AGREE"
>同意</el-radio
>
<el-radio v-model="routeform.routeCheckStatus" label="DISAGREE"
>不同意</el-radio
>
</el-form-item>
<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-form-item>
</el-form>
@ -376,7 +572,7 @@ export default {
this.infolistword();
this.infolistMESSAGE();
},
beforeDestroy() { },
beforeDestroy() {},
watch: {
"form.phoneMessageRemind": {
handler(newValue, oldValue) {
@ -398,7 +594,7 @@ export default {
// phoneTemplateId
},
},
mounted() { },
mounted() {},
methods: {
infolistword() {
var dictType = "text_message_remind";
@ -610,10 +806,10 @@ export default {
this.lists.forEach((e) => {
e.list.length > 0
? e.list.forEach((el) => {
el.routeNodeDay = e.routeNodeDay;
el.routeNodeName = e.routeNodeName;
this.updata.specialDiseaseNodeList.push(el);
})
el.routeNodeDay = e.routeNodeDay;
el.routeNodeName = e.routeNodeName;
this.updata.specialDiseaseNodeList.push(el);
})
: "";
});
// this.updata.specialDiseaseNodeList =
@ -962,7 +1158,6 @@ export default {
.topform {
padding: 15px 0 0 15px;
height: 200px;
.form {
::v-deep .el-input__inner {