子路径修改
This commit is contained in:
parent
c513c64546
commit
354dbeb91a
@ -7,23 +7,50 @@
|
||||
<div class="nodes">
|
||||
<!-- 一级 -->
|
||||
<div class="node" v-if="updata">
|
||||
<el-select v-model="updata.triggerConditionCode" style="width: 120px" disabled
|
||||
@change="changetriggerConditionName($event, index)">
|
||||
<el-option v-for="item in optionsname" :key="item.value" :label="item.label" :value="item.value">
|
||||
<el-select
|
||||
v-model="updata.triggerConditionCode"
|
||||
style="width: 120px"
|
||||
disabled
|
||||
@change="changetriggerConditionName($event, index)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionsname"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-select disabled v-model="updata.triggerConditionOperator" style="width: 100px"
|
||||
@change="changetriggerLogic($event, index)">
|
||||
<el-option v-for="item in optionstriggerConditionOperator" :key="item.value" :label="item.label"
|
||||
:value="item.value">
|
||||
<el-select
|
||||
disabled
|
||||
v-model="updata.triggerConditionOperator"
|
||||
style="width: 100px"
|
||||
@change="changetriggerLogic($event, index)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionstriggerConditionOperator"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<el-input disabled v-if="updata.triggerConditionCode != 'DRESSING_CHANGE_DATE'"
|
||||
v-model="updata.triggerConditionValue" style="width: 300px"></el-input>
|
||||
<el-date-picker disabled v-if="updata.triggerConditionCode == 'DRESSING_CHANGE_DATE'"
|
||||
v-model="updata.triggerConditionValue" style="width: 300px" type="date" placeholder="选择日期时间"
|
||||
value-format="yyyy-MM-dd">
|
||||
<el-input
|
||||
disabled
|
||||
v-if="updata.triggerConditionCode != 'DRESSING_CHANGE_DATE'"
|
||||
v-model="updata.triggerConditionValue"
|
||||
style="width: 300px"
|
||||
></el-input>
|
||||
<el-date-picker
|
||||
disabled
|
||||
v-if="updata.triggerConditionCode == 'DRESSING_CHANGE_DATE'"
|
||||
v-model="updata.triggerConditionValue"
|
||||
style="width: 300px"
|
||||
type="date"
|
||||
placeholder="选择日期时间"
|
||||
value-format="yyyy-MM-dd"
|
||||
>
|
||||
</el-date-picker>
|
||||
<!-- <span class="icon"> -->
|
||||
<!-- <el-button
|
||||
@ -58,35 +85,73 @@
|
||||
<!-- 二级 -->
|
||||
<div v-show="show3 == true">
|
||||
<div class="node" v-for="(item, index) in updatalist" :key="index">
|
||||
<div style="width: 60px; position: absolute; top: 8%" v-if="updatalist.length == 2">
|
||||
<div
|
||||
style="width: 60px; position: absolute; top: 8%"
|
||||
v-if="updatalist.length == 2"
|
||||
>
|
||||
<img src="@/assets/images/images.png" class="login-code-img" />
|
||||
<div class="selectname">
|
||||
<el-select disabled v-model="item.triggerLogic" style="width: 60px"
|
||||
@change="changetriggerLogicsname($event, index)">
|
||||
<el-option v-for="item in optionslistS" :key="item.dictValue" :label="item.dictLabel"
|
||||
:value="item.dictValue">
|
||||
<el-select
|
||||
disabled
|
||||
v-model="item.triggerLogic"
|
||||
style="width: 60px"
|
||||
@change="changetriggerLogicsname($event, index)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionslistS"
|
||||
:key="item.dictValue"
|
||||
:label="item.dictLabel"
|
||||
:value="item.dictValue"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<el-select v-model="item.triggerConditionCode" style="width: 120px" disabled
|
||||
@change="changetriggerConditionName($event, index)">
|
||||
<el-option v-for="item in optionsname" :key="item.value" :label="item.label" :value="item.value">
|
||||
<el-select
|
||||
v-model="item.triggerConditionCode"
|
||||
style="width: 120px"
|
||||
disabled
|
||||
@change="changetriggerConditionName($event, index)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionsname"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-select disabled v-model="item.triggerConditionOperator" style="width: 100px"
|
||||
@change="changetriggerLogic($event, index)">
|
||||
<el-option v-for="item in optionstriggerConditionOperator" :key="item.value" :label="item.label"
|
||||
:value="item.value">
|
||||
<el-select
|
||||
disabled
|
||||
v-model="item.triggerConditionOperator"
|
||||
style="width: 100px"
|
||||
@change="changetriggerLogic($event, index)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionstriggerConditionOperator"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<el-input v-if="item.triggerConditionCode != 'DRESSING_CHANGE_DATE'" v-model="item.triggerConditionValue"
|
||||
style="width: 300px" disabled></el-input>
|
||||
<el-date-picker disabled v-if="item.triggerConditionCode == 'DRESSING_CHANGE_DATE'"
|
||||
v-model="item.triggerConditionValue" style="width: 300px" type="date" placeholder="选择日期时间"
|
||||
value-format="yyyy-MM-dd">
|
||||
<el-input
|
||||
v-if="item.triggerConditionCode != 'DRESSING_CHANGE_DATE'"
|
||||
v-model="item.triggerConditionValue"
|
||||
style="width: 300px"
|
||||
disabled
|
||||
></el-input>
|
||||
<el-date-picker
|
||||
disabled
|
||||
v-if="item.triggerConditionCode == 'DRESSING_CHANGE_DATE'"
|
||||
v-model="item.triggerConditionValue"
|
||||
style="width: 300px"
|
||||
type="date"
|
||||
placeholder="选择日期时间"
|
||||
value-format="yyyy-MM-dd"
|
||||
>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
@ -95,15 +160,29 @@
|
||||
|
||||
<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>
|
||||
<div class="addlistname">
|
||||
<i @click="edit()" class="el-icon-edit">编辑</i>
|
||||
<span v-if="updatalist.length > 0">
|
||||
<i @click="addlistname()" class="el-icon-arrow-down" v-if="show3 == false">展开</i>
|
||||
<i
|
||||
@click="addlistname()"
|
||||
class="el-icon-arrow-down"
|
||||
v-if="show3 == false"
|
||||
>展开</i
|
||||
>
|
||||
<i @click="addlistname()" class="el-icon-arrow-up" v-else>关闭</i>
|
||||
</span>
|
||||
<!-- <i
|
||||
@ -122,30 +201,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="delitemh(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>
|
||||
@ -155,49 +263,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: 100px">
|
||||
<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">
|
||||
推送方式:
|
||||
@ -205,11 +366,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>
|
||||
@ -222,7 +391,10 @@
|
||||
></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">
|
||||
推送方式:
|
||||
@ -231,13 +403,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>
|
||||
@ -251,7 +431,10 @@
|
||||
></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">
|
||||
推送方式:
|
||||
@ -260,13 +443,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>
|
||||
@ -289,7 +480,11 @@
|
||||
></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">
|
||||
推送方式:
|
||||
@ -297,11 +492,19 @@
|
||||
</div>
|
||||
<div class="pushMethod">
|
||||
模板:
|
||||
<scripts @on-template="messageontemplateword" :templateId="form.phoneTemplateId"
|
||||
:templateName="form.phoneTemplateName"></scripts>
|
||||
<scripts
|
||||
@on-template="messageontemplateword"
|
||||
:templateId="form.phoneTemplateId"
|
||||
:templateName="form.phoneTemplateName"
|
||||
></scripts>
|
||||
</div>
|
||||
<div class="pushMethod">
|
||||
<el-switch v-model="form.phonePushSign" active-color="#13ce66" active-value="1" inactive-value="0">
|
||||
<el-switch
|
||||
v-model="form.phonePushSign"
|
||||
active-color="#13ce66"
|
||||
active-value="1"
|
||||
inactive-value="0"
|
||||
>
|
||||
</el-switch>
|
||||
</div>
|
||||
</div>
|
||||
@ -309,9 +512,16 @@
|
||||
<div class="pushMethod">
|
||||
重播次数:
|
||||
<span>
|
||||
<el-select v-model="form.phoneRedialTimes" style="width: 100px">
|
||||
<el-option v-for="item in optionslistSname" :key="item.dictValue" :label="item.dictLabel"
|
||||
:value="item.dictValue">
|
||||
<el-select
|
||||
v-model="form.phoneRedialTimes"
|
||||
style="width: 100px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionslistSname"
|
||||
:key="item.dictValue"
|
||||
:label="item.dictLabel"
|
||||
:value="item.dictValue"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</span>
|
||||
@ -319,8 +529,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"
|
||||
@ -333,21 +546,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>
|
||||
@ -356,54 +587,122 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 添加触发条件 -->
|
||||
<el-dialog title="添加触发条件" :visible.sync="open" width="800px" append-to-body>
|
||||
<el-form ref="openlist" :model="openlist" :rules="rules" label-width="80px">
|
||||
<!-- 编辑触发条件 -->
|
||||
<el-dialog
|
||||
title="添加触发条件"
|
||||
:visible.sync="open"
|
||||
width="800px"
|
||||
append-to-body
|
||||
>
|
||||
<el-form
|
||||
ref="openlist"
|
||||
:model="openlist"
|
||||
:rules="rules"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-form-item label="适用范围:">
|
||||
<el-select v-model="openlist.suitRange" @change="changeoptions" style="width: 200px">
|
||||
<el-option v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
<el-select
|
||||
v-model="openlist.suitRange"
|
||||
@change="changeoptions"
|
||||
style="width: 200px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.dictValue"
|
||||
:label="item.dictLabel"
|
||||
:value="item.dictValue"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-descriptions title="触发条件"> </el-descriptions>
|
||||
<div class="nodesname">
|
||||
<div class="node" v-for="(item, index) in openlist.triggerConditionList" :key="index">
|
||||
<div style="width: 60px; position: absolute; left: 2%; top: 57%"
|
||||
v-if="openlist.triggerConditionList.length === 3">
|
||||
<div
|
||||
class="node"
|
||||
v-for="(item, index) in openlist.triggerConditionList"
|
||||
:key="index"
|
||||
>
|
||||
<div
|
||||
style="width: 60px; position: absolute; left: 2%; top: 57%"
|
||||
v-if="openlist.triggerConditionList.length === 3"
|
||||
>
|
||||
<img src="@/assets/images/images.png" class="login-code" />
|
||||
<div class="selectnamelist">
|
||||
<el-select v-model="item.triggerLogic" style="width: 60px" placeholder=""
|
||||
@change="changetriggerLogicsname($event, index)">
|
||||
<el-option v-for="item in optionslistS" :key="item.dictValue" :label="item.dictLabel"
|
||||
:value="item.dictValue">
|
||||
<el-select
|
||||
v-model="item.triggerLogic"
|
||||
style="width: 60px"
|
||||
placeholder=""
|
||||
@change="changetriggerLogicsname($event, index)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionslistS"
|
||||
:key="item.dictValue"
|
||||
:label="item.dictLabel"
|
||||
:value="item.dictValue"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<el-select v-model="item.triggerConditionCode" style="width: 120px"
|
||||
@change="changetriggerConditionName($event, index)">
|
||||
<el-option v-for="item in optionsname" :key="item.value" :label="item.label" :value="item.value">
|
||||
<el-select
|
||||
v-model="item.triggerConditionCode"
|
||||
style="width: 120px"
|
||||
@change="changetriggerConditionName($event, index)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionsname"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-select v-model="item.triggerConditionOperator" style="width: 100px"
|
||||
@change="changetriggerLogic($event, index)">
|
||||
<el-option v-for="item in optionstriggerConditionOperator" :key="item.value" :label="item.label"
|
||||
:value="item.value">
|
||||
<el-select
|
||||
v-model="item.triggerConditionOperator"
|
||||
style="width: 100px"
|
||||
@change="changetriggerLogic($event, index)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionstriggerConditionOperator"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<el-input v-if="item.triggerConditionCode != 'DRESSING_CHANGE_DATE'" v-model="item.triggerConditionValue"
|
||||
style="width: 300px" placeholder="请输入触发条件"></el-input>
|
||||
<el-date-picker v-if="item.triggerConditionCode == 'DRESSING_CHANGE_DATE'"
|
||||
v-model="item.triggerConditionValue" style="width: 300px" type="date" placeholder="选择日期时间"
|
||||
value-format="yyyy-MM-dd">
|
||||
<el-input
|
||||
v-if="item.triggerConditionCode != 'DRESSING_CHANGE_DATE'"
|
||||
v-model="item.triggerConditionValue"
|
||||
style="width: 300px"
|
||||
placeholder="请输入触发条件"
|
||||
></el-input>
|
||||
<el-date-picker
|
||||
v-if="item.triggerConditionCode == 'DRESSING_CHANGE_DATE'"
|
||||
v-model="item.triggerConditionValue"
|
||||
style="width: 300px"
|
||||
type="date"
|
||||
placeholder="选择日期时间"
|
||||
value-format="yyyy-MM-dd"
|
||||
>
|
||||
</el-date-picker>
|
||||
<span class="icon">
|
||||
<el-button type="danger" class="el-icon-remove-outline" plain @click="delitemlistname(index)"
|
||||
v-if="index != 0"></el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
class="el-icon-remove-outline"
|
||||
plain
|
||||
@click="delitemlistname(index)"
|
||||
v-if="index != 0"
|
||||
></el-button>
|
||||
|
||||
<el-button type="primary" plain class="el-icon-circle-plus-outline" @click="addtriggerCondition(index)"
|
||||
v-if="index == 0">添加属性</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
class="el-icon-circle-plus-outline"
|
||||
@click="addtriggerCondition(index)"
|
||||
v-if="index == 0"
|
||||
>添加属性</el-button
|
||||
>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -414,14 +713,33 @@
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 提交审核 -->
|
||||
<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>
|
||||
@ -432,9 +750,13 @@
|
||||
</el-dialog>
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
@ -593,7 +915,7 @@ export default {
|
||||
this.infolistMESSAGE();
|
||||
this.infolistword();
|
||||
},
|
||||
beforeDestroy() { },
|
||||
beforeDestroy() {},
|
||||
watch: {
|
||||
"form.phoneMessageRemind": {
|
||||
handler(newValue, oldValue) {
|
||||
@ -637,7 +959,6 @@ export default {
|
||||
e.routeId = this.$route.query.id;
|
||||
e.routeName = this.$route.query.routeName;
|
||||
});
|
||||
|
||||
triggerCondition(this.openlist).then((res) => {
|
||||
loading.close();
|
||||
this.$notify({
|
||||
@ -885,6 +1206,7 @@ export default {
|
||||
changetriggerLogic(e, index) {
|
||||
this.openlist.triggerConditionList[index].triggerConditionOperatorName =
|
||||
this.optionstriggerConditionOperator.find((el) => el.value == e).label;
|
||||
this.openlist.triggerConditionList[index].triggerConditionValue = null;
|
||||
},
|
||||
// 诊断
|
||||
changetriggerConditionName(e, index) {
|
||||
@ -915,6 +1237,7 @@ export default {
|
||||
|
||||
if (res.data.length == 1) {
|
||||
this.updata = res.data[0];
|
||||
// this.$set(this.openlist, "triggerConditionName", this.$route.query.suitRange);
|
||||
} else {
|
||||
this.updata = res.data[0];
|
||||
res.data.splice(0, 1);
|
||||
@ -973,6 +1296,7 @@ export default {
|
||||
this.form.officialTemplateName = item.templateName;
|
||||
this.form.officialRemindContent = item.templateContent;
|
||||
},
|
||||
// 暂存
|
||||
TemporaryStorage() {
|
||||
if (
|
||||
this.form.taskSubdivisiontemplateType != "QUESTIONNAIRE" &&
|
||||
@ -998,10 +1322,10 @@ export default {
|
||||
this.lists.forEach((e) => {
|
||||
e.list.length > 0
|
||||
? e.list.forEach((el) => {
|
||||
el.routeNodeDay = e.routeNodeDay;
|
||||
el.routeNodeName = e.routeNodeName;
|
||||
this.itemlist.specialDiseaseNodeList.push(el);
|
||||
})
|
||||
el.routeNodeDay = e.routeNodeDay;
|
||||
el.routeNodeName = e.routeNodeName;
|
||||
this.itemlist.specialDiseaseNodeList.push(el);
|
||||
})
|
||||
: "";
|
||||
});
|
||||
// this.updata.specialDiseaseNodeList =
|
||||
@ -1163,7 +1487,7 @@ export default {
|
||||
},
|
||||
// 添加节点
|
||||
additem(item) {
|
||||
console.log(item)
|
||||
console.log(item);
|
||||
item.list.push({
|
||||
nodeContent: "<p></p>",
|
||||
templateId: "",
|
||||
@ -1358,7 +1682,7 @@ export default {
|
||||
.routeCheckStatus {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 73px;
|
||||
top: 30px;
|
||||
}
|
||||
|
||||
.topform {
|
||||
|
||||
@ -47,10 +47,10 @@
|
||||
multiple
|
||||
>
|
||||
<el-option
|
||||
v-for="item in addpackagelist"
|
||||
:key="item.id"
|
||||
:label="item.packageName"
|
||||
:value="item.id"
|
||||
v-for="itemp in addpackagelist"
|
||||
:key="itemp.id"
|
||||
:label="itemp.packageName"
|
||||
:value="itemp.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -90,13 +90,13 @@
|
||||
</div>
|
||||
<div
|
||||
class="item"
|
||||
v-for="item in list.childrenRouteList"
|
||||
:key="item.specialDiseaseRouteId"
|
||||
v-for="(uitem, uindex) in list.childrenRouteList"
|
||||
:key="uitem.specialDiseaseRouteId"
|
||||
>
|
||||
<div class="title">
|
||||
<el-tag type="success">触发条件</el-tag>
|
||||
<span>
|
||||
{{ item.routeName }}
|
||||
{{ uitem.routeName }}
|
||||
</span>
|
||||
|
||||
<!-- {{ item.triggerConditionName == "DIAGNOSIS" ? "诊断" : "" }}
|
||||
@ -127,18 +127,18 @@
|
||||
<el-progress
|
||||
:text-inside="true"
|
||||
:stroke-width="13"
|
||||
:percentage="item.percentage"
|
||||
:percentage="uitem.percentage"
|
||||
></el-progress>
|
||||
<span>{{ item.agreeNumber + " / " + item.totalNumber }}</span>
|
||||
<span>{{ uitem.agreeNumber + " / " + uitem.totalNumber }}</span>
|
||||
</div>
|
||||
<div class="title" style="width: 240px">
|
||||
<span>适用范围:</span>
|
||||
<span>
|
||||
{{ item.suitRange == "IN_THE_HOSPITAL" ? "在院" : "" }}
|
||||
{{ item.suitRange == "DISCHARGE" ? "出院" : "" }}
|
||||
{{ item.suitRange == "OUTPATIENT_SERVICE" ? "门诊" : "" }}
|
||||
{{ uitem.suitRange == "IN_THE_HOSPITAL" ? "在院" : "" }}
|
||||
{{ uitem.suitRange == "DISCHARGE" ? "出院" : "" }}
|
||||
{{ uitem.suitRange == "OUTPATIENT_SERVICE" ? "门诊" : "" }}
|
||||
{{
|
||||
item.suitRange == "OUTPATIENT_SERVICE_DISCHARGE"
|
||||
uitem.suitRange == "OUTPATIENT_SERVICE_DISCHARGE"
|
||||
? "门诊+出院"
|
||||
: ""
|
||||
}}
|
||||
@ -146,8 +146,8 @@
|
||||
</div>
|
||||
<div>
|
||||
<!-- @click.stop="goManageNodeInformation" -->
|
||||
<i class="el-icon-edit" @click="triggerConditionedit(item)"></i>
|
||||
<i class="el-icon-delete" @click="deltriggerCondition(item)"></i>
|
||||
<i class="el-icon-edit" @click="triggerConditionedit(uitem)"></i>
|
||||
<i class="el-icon-delete" @click="deltriggerCondition(uitem)"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -166,10 +166,10 @@
|
||||
style="width: 200px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.dictValue"
|
||||
:label="item.dictLabel"
|
||||
:value="item.dictValue"
|
||||
v-for="xitem in options"
|
||||
:key="xitem.dictValue"
|
||||
:label="xitem.dictLabel"
|
||||
:value="xitem.dictValue"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -193,10 +193,10 @@
|
||||
@change="changetriggerLogicsname($event, index)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionslistS"
|
||||
:key="item.dictValue"
|
||||
:label="item.dictLabel"
|
||||
:value="item.dictValue"
|
||||
v-for="itemh in optionslistS"
|
||||
:key="itemh.dictValue"
|
||||
:label="itemh.dictLabel"
|
||||
:value="itemh.dictValue"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -207,10 +207,10 @@
|
||||
@change="changetriggerConditionName($event, index)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionsname"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
v-for="itemq in optionsname"
|
||||
:key="itemq.value"
|
||||
:label="itemq.label"
|
||||
:value="itemq.value"
|
||||
>
|
||||
</el-option>
|
||||
<!-- <el-option label="诊断" value="DIAGNOSIS" />
|
||||
@ -225,10 +225,10 @@
|
||||
@change="changetriggerLogic($event, index)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionstriggerConditionOperator"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
v-for="itemr in optionstriggerConditionOperator"
|
||||
:key="itemr.value"
|
||||
:label="itemr.label"
|
||||
:value="itemr.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -290,14 +290,13 @@
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 修改触发条件 -->
|
||||
<el-dialog
|
||||
<!-- <el-dialog
|
||||
title="修改触发条件"
|
||||
:visible.sync="editopen"
|
||||
width="900px"
|
||||
append-to-body
|
||||
>
|
||||
<!-- <el-button type="primary" plain size="mini" @click="addtriggerCondition"
|
||||
style="float: right;">添加触发条件</el-button> -->
|
||||
|
||||
<el-descriptions title="触发条件"> </el-descriptions>
|
||||
<el-form
|
||||
ref="updataform"
|
||||
@ -324,12 +323,7 @@
|
||||
<el-option label="等于" value="EQUAL_TO" />
|
||||
<el-option label="不等于" value="NOT_EQUAL_TO" />
|
||||
</el-select>
|
||||
<!-- <el-select v-model="updataform.suitRange" style="width: 120px;">
|
||||
<el-option label="在院" value="IN_THE_HOSPITAL" />
|
||||
<el-option label="出院" value="DISCHARGE" />
|
||||
<el-option label="门诊" value="OUTPATIENT_SERVICE" />
|
||||
<el-option label="门诊+出院" value="OUTPATIENT_SERVICE_DISCHARGE" />
|
||||
</el-select> -->
|
||||
|
||||
<el-input
|
||||
v-model="updataform.triggerConditionValue"
|
||||
style="width: 300px"
|
||||
@ -340,7 +334,7 @@
|
||||
<el-button type="primary" @click="editupload">确 定</el-button>
|
||||
<el-button @click="editopenfalse">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</el-dialog> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -468,6 +462,8 @@ export default {
|
||||
// console.log(e,index,'index')
|
||||
this.updata.triggerConditionList[index].triggerConditionOperatorName =
|
||||
this.optionstriggerConditionOperator.find((el) => el.value == e).label;
|
||||
this.updata.triggerConditionList[index].triggerConditionValue = null;
|
||||
|
||||
// console.log( this.updata.triggerConditionList[index].triggerConditionOperatorName,"this.updata.triggerConditionList[index].triggerConditionOperatorName");
|
||||
},
|
||||
// 诊断
|
||||
@ -475,6 +471,8 @@ export default {
|
||||
// console.log(e,index, "eeeeeeeee");
|
||||
this.updata.triggerConditionList[index].triggerConditionName =
|
||||
this.optionsname.find((el) => el.value == e).label;
|
||||
this.updata.triggerConditionList[index].triggerConditionOperator = null;
|
||||
this.updata.triggerConditionList[index].triggerConditionValue = null;
|
||||
// console.log(this.updata.triggerConditionList[index].triggerConditionName, " this.form.triggerConditionName");
|
||||
},
|
||||
changeoptions() {},
|
||||
@ -508,9 +506,19 @@ export default {
|
||||
info() {
|
||||
getById(this.$route.query.id).then((res) => {
|
||||
this.list = res.data;
|
||||
console.log(this.list, "this.list");
|
||||
this.list.percentage =
|
||||
(this.list.agreeNumber / this.list.totalNumber) * 100;
|
||||
if (this.list.totalNumber == 0) {
|
||||
this.list.percentage = 0;
|
||||
} else {
|
||||
this.list.percentage =
|
||||
(this.list.agreeNumber / this.list.totalNumber) * 100;
|
||||
}
|
||||
this.list.childrenRouteList.forEach((e) => {
|
||||
if (e.totalNumber == 0) {
|
||||
e.percentage = 0;
|
||||
} else {
|
||||
e.percentage = (e.agreeNumber / e.totalNumber) * 100;
|
||||
}
|
||||
});
|
||||
res.data.routePackageList?.forEach((e) => {
|
||||
e.servicePackageId
|
||||
? this.form.servicePackageId.push(e.servicePackageId)
|
||||
@ -698,14 +706,14 @@ export default {
|
||||
});
|
||||
},
|
||||
//触发条件修改详情
|
||||
triggerConditionedit(item) {
|
||||
console.log(item, "item");
|
||||
triggerConditionedit(uitem) {
|
||||
console.log(uitem, "uitem");
|
||||
this.$router.push({
|
||||
path: "/specialdisease/ManageNodeInformation",
|
||||
query: {
|
||||
suitRange: item.suitRange,
|
||||
id: item.specialDiseaseRouteId,
|
||||
routeName: item.routeName,
|
||||
suitRange: uitem.suitRange,
|
||||
id: uitem.specialDiseaseRouteId,
|
||||
routeName: uitem.routeName,
|
||||
},
|
||||
});
|
||||
// const loading = this.$loading({
|
||||
@ -725,14 +733,14 @@ export default {
|
||||
// });
|
||||
},
|
||||
//删除触发条件
|
||||
deltriggerCondition(item) {
|
||||
console.log(item, "item");
|
||||
deltriggerCondition(uitem) {
|
||||
console.log(uitem, "uitem");
|
||||
|
||||
this.$confirm("确定删除此触发条件吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
}).then(() => {
|
||||
triggerConditiondel([item.specialDiseaseRouteId]).then((res) => {
|
||||
triggerConditiondel([uitem.specialDiseaseRouteId]).then((res) => {
|
||||
this.$notify({
|
||||
type: "success",
|
||||
title: "提示",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user