Commit b5b9f575 by lanyulei Committed by GitHub

Merge pull request #77 from lanyulei/dev

feat: 添加流程节点邮件抄送功能。
parents 51324228 2b80405d
...@@ -6,12 +6,14 @@ ...@@ -6,12 +6,14 @@
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
:disabled="readOnly" :disabled="readOnly"
:value="model.label" :value="model.label"
size="small"
@input="(value) => {onChange('label', value)}" @input="(value) => {onChange('label', value)}"
/> />
</div> </div>
<div class="panelRow"> <div class="panelRow">
<div><span style="color: red">*</span> 顺序:</div> <div><span style="color: red">*</span> 顺序:</div>
<el-input <el-input
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
:disabled="readOnly" :disabled="readOnly"
:value="model.sort" :value="model.sort"
...@@ -20,11 +22,13 @@ ...@@ -20,11 +22,13 @@
</div> </div>
<div class="panelRow"> <div class="panelRow">
<el-checkbox <el-checkbox
size="small"
:disabled="readOnly" :disabled="readOnly"
:value="!!model.isHideNode" :value="!!model.isHideNode"
@change="(value) => onChange('isHideNode', value)" @change="(value) => onChange('isHideNode', value)"
>隐藏节点</el-checkbox> >隐藏节点</el-checkbox>
<el-checkbox <el-checkbox
size="small"
:disabled="readOnly" :disabled="readOnly"
:value="!!model.hideIcon" :value="!!model.hideIcon"
@change="(value) => onChange('hideIcon', value)" @change="(value) => onChange('hideIcon', value)"
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<div class="panelRow"> <div class="panelRow">
<div>之后任务:</div> <div>之后任务:</div>
<el-select <el-select
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
placeholder="选择任务" placeholder="选择任务"
:disabled="readOnly" :disabled="readOnly"
...@@ -25,6 +26,7 @@ ...@@ -25,6 +26,7 @@
:templates-base="templatesBase" :templates-base="templatesBase"
:write-preview="false" :write-preview="false"
:readonly-preview="false" :readonly-preview="false"
:cc-preview="false"
/> />
</div> </div>
</div> </div>
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<div class="panelRow"> <div class="panelRow">
<div>之后任务:</div> <div>之后任务:</div>
<el-select <el-select
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
placeholder="选择任务" placeholder="选择任务"
:disabled="readOnly" :disabled="readOnly"
...@@ -20,6 +21,7 @@ ...@@ -20,6 +21,7 @@
<div class="panelRow"> <div class="panelRow">
<div><span style="color: red">*</span> {{ i18n['handleNode.assignType'] }}</div> <div><span style="color: red">*</span> {{ i18n['handleNode.assignType'] }}</div>
<el-select <el-select
size="small"
style="width:90%; font-size: 12px" style="width:90%; font-size: 12px"
:placeholder="i18n['handleNode.assignType.placeholder']" :placeholder="i18n['handleNode.assignType.placeholder']"
:value="model.assignType" :value="model.assignType"
...@@ -36,6 +38,7 @@ ...@@ -36,6 +38,7 @@
<div v-if="model.assignType === 'person'" class="panelRow"> <div v-if="model.assignType === 'person'" class="panelRow">
<div><span style="color: red">*</span> {{ i18n['handleNode.assignType.person.title'] }}</div> <div><span style="color: red">*</span> {{ i18n['handleNode.assignType.person.title'] }}</div>
<el-select <el-select
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
:placeholder="i18n['handleNode.assignType.person.placeholder']" :placeholder="i18n['handleNode.assignType.person.placeholder']"
:disabled="readOnly" :disabled="readOnly"
...@@ -51,6 +54,7 @@ ...@@ -51,6 +54,7 @@
<div><span style="color: red">*</span> {{ i18n['userTask.assignType.role.title'] }}</div> <div><span style="color: red">*</span> {{ i18n['userTask.assignType.role.title'] }}</div>
<el-select <el-select
v-model.number="model.assignValue" v-model.number="model.assignValue"
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
:placeholder="i18n['userTask.assignType.role.placeholder']" :placeholder="i18n['userTask.assignType.role.placeholder']"
:disabled="readOnly" :disabled="readOnly"
...@@ -77,6 +81,7 @@ ...@@ -77,6 +81,7 @@
<div v-else-if="model.assignType === 'department'" class="panelRow"> <div v-else-if="model.assignType === 'department'" class="panelRow">
<div><span style="color: red">*</span> {{ i18n['userTask.assignType.department.title'] }}</div> <div><span style="color: red">*</span> {{ i18n['userTask.assignType.department.title'] }}</div>
<el-select <el-select
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
:placeholder="i18n['userTask.assignType.department.placeholder']" :placeholder="i18n['userTask.assignType.department.placeholder']"
:value="model.assignValue" :value="model.assignValue"
...@@ -92,6 +97,7 @@ ...@@ -92,6 +97,7 @@
<div><span style="color: red">*</span> {{ i18n['handleNode.assignType.variable.title'] }}</div> <div><span style="color: red">*</span> {{ i18n['handleNode.assignType.variable.title'] }}</div>
<el-select <el-select
v-model.number="model.assignValue" v-model.number="model.assignValue"
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
:placeholder="i18n['handleNode.assignType.variable.placeholder']" :placeholder="i18n['handleNode.assignType.variable.placeholder']"
:disabled="readOnly" :disabled="readOnly"
...@@ -104,6 +110,7 @@ ...@@ -104,6 +110,7 @@
</div> </div>
<div class="panelRow"> <div class="panelRow">
<el-checkbox <el-checkbox
size="small"
:disabled="model.assignType !== 'role' && model.assignType !== 'department' && ( :disabled="model.assignType !== 'role' && model.assignType !== 'department' && (
model.assignValue===undefined || model.assignValue===undefined ||
model.assignValue===null || model.assignValue===null ||
...@@ -114,6 +121,7 @@ ...@@ -114,6 +121,7 @@
@change="(e) => { onChange('isCounterSign', e); initCounterSign(e) }" @change="(e) => { onChange('isCounterSign', e); initCounterSign(e) }"
>{{ i18n['handleNode.counterSign'] }}</el-checkbox> >{{ i18n['handleNode.counterSign'] }}</el-checkbox>
<el-checkbox <el-checkbox
size="small"
:disabled=" :disabled="
model.assignValue===undefined|| model.assignValue===undefined||
model.assignValue===null|| model.assignValue===null||
...@@ -129,6 +137,7 @@ ...@@ -129,6 +137,7 @@
model.assignValue!==null && model.assignValue!==null &&
model.assignValue.length >= 1 && model.assignValue.length >= 1 &&
model.isCounterSign" model.isCounterSign"
size="small"
:value="model.fullHandle" :value="model.fullHandle"
@change="(value) => onChange('fullHandle', value)" @change="(value) => onChange('fullHandle', value)"
>{{ i18n['userTask.fullHandle'] }}</el-checkbox> >{{ i18n['userTask.fullHandle'] }}</el-checkbox>
...@@ -140,6 +149,7 @@ ...@@ -140,6 +149,7 @@
:templates="templates" :templates="templates"
:templates-base="templatesBase" :templates-base="templatesBase"
:readonly-preview="false" :readonly-preview="false"
:users="users"
/> />
</div> </div>
</div> </div>
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
:value="model.writeTpls" :value="model.writeTpls"
:multiple="true" :multiple="true"
:filterable="true" :filterable="true"
size="small"
@change="(e) => onChange('writeTpls', e)" @change="(e) => onChange('writeTpls', e)"
> >
<template v-for="(templateValue, templateIndex) in templatesBase"> <template v-for="(templateValue, templateIndex) in templatesBase">
...@@ -25,6 +26,7 @@ ...@@ -25,6 +26,7 @@
:value="model.readonlyTpls" :value="model.readonlyTpls"
:multiple="true" :multiple="true"
:filterable="true" :filterable="true"
size="small"
@change="(e) => onChange('readonlyTpls', e)" @change="(e) => onChange('readonlyTpls', e)"
> >
<template v-for="(templateValue, templateIndex) in templatesBase"> <template v-for="(templateValue, templateIndex) in templatesBase">
...@@ -41,6 +43,7 @@ ...@@ -41,6 +43,7 @@
:value="model.hideTpls" :value="model.hideTpls"
:multiple="true" :multiple="true"
:filterable="true" :filterable="true"
size="small"
@change="(e) => onChange('hideTpls', e)" @change="(e) => onChange('hideTpls', e)"
> >
<template v-for="(templateValue, templateIndex) in templatesBase"> <template v-for="(templateValue, templateIndex) in templatesBase">
...@@ -48,6 +51,20 @@ ...@@ -48,6 +51,20 @@
</template> </template>
</el-select> </el-select>
</div> </div>
<div v-if="ccPreview" class="panelRow">
<div>抄送邮件:</div>
<el-select
size="small"
style="width:90%; font-size:12px"
placeholder="请选择抄送人"
:value="model.cc"
:multiple="true"
:filterable="true"
@change="(e) => { onChange('cc', e); getPersons(e) }"
>
<el-option v-for="user in users" :key="user.userId" :label="user.nickName===''?user.username:user.nickName" :value="user.userId" />
</el-select>
</div>
</div> </div>
</template> </template>
<script> <script>
...@@ -81,6 +98,14 @@ export default { ...@@ -81,6 +98,14 @@ export default {
readonlyPreview: { readonlyPreview: {
type: Boolean, type: Boolean,
default: true default: true
},
ccPreview: {
type: Boolean,
default: true
},
users: {
type: Array,
default: () => ([])
} }
} }
} }
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
:value="model.task" :value="model.task"
:multiple="true" :multiple="true"
:filterable="true" :filterable="true"
size="small"
@change="(e) => onChange('task', e)" @change="(e) => onChange('task', e)"
> >
<el-option v-for="(taskValue, taskIndex) in tasks" :key="taskIndex" :label="taskValue.name" :value="taskValue.full_name" /> <el-option v-for="(taskValue, taskIndex) in tasks" :key="taskIndex" :label="taskValue.name" :value="taskValue.full_name" />
...@@ -24,6 +25,7 @@ ...@@ -24,6 +25,7 @@
:templates="templates" :templates="templates"
:templates-base="templatesBase" :templates-base="templatesBase"
:write-preview="false" :write-preview="false"
:users="users"
/> />
</div> </div>
</div> </div>
...@@ -61,6 +63,10 @@ export default { ...@@ -61,6 +63,10 @@ export default {
templatesBase: { templatesBase: {
type: Array, type: Array,
default: () => ([]) default: () => ([])
},
users: {
type: Array,
default: () => ([])
} }
} }
} }
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<div class="panelRow"> <div class="panelRow">
<div>之后任务:</div> <div>之后任务:</div>
<el-select <el-select
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
placeholder="选择任务" placeholder="选择任务"
:disabled="readOnly" :disabled="readOnly"
...@@ -20,6 +21,7 @@ ...@@ -20,6 +21,7 @@
<div class="panelRow"> <div class="panelRow">
<div><span style="color: red">*</span> {{ i18n['userTask.assignType'] }}</div> <div><span style="color: red">*</span> {{ i18n['userTask.assignType'] }}</div>
<el-select <el-select
size="small"
style="width:90%; font-size: 12px" style="width:90%; font-size: 12px"
:placeholder="i18n['userTask.assignType.placeholder']" :placeholder="i18n['userTask.assignType.placeholder']"
:value="model.assignType" :value="model.assignType"
...@@ -36,6 +38,7 @@ ...@@ -36,6 +38,7 @@
<div v-if="model.assignType === 'person'" class="panelRow"> <div v-if="model.assignType === 'person'" class="panelRow">
<div><span style="color: red">*</span> {{ i18n['userTask.assignType.person.title'] }}</div> <div><span style="color: red">*</span> {{ i18n['userTask.assignType.person.title'] }}</div>
<el-select <el-select
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
:placeholder="i18n['userTask.assignType.person.placeholder']" :placeholder="i18n['userTask.assignType.person.placeholder']"
:disabled="readOnly" :disabled="readOnly"
...@@ -51,6 +54,7 @@ ...@@ -51,6 +54,7 @@
<div><span style="color: red">*</span> {{ i18n['userTask.assignType.role.title'] }}</div> <div><span style="color: red">*</span> {{ i18n['userTask.assignType.role.title'] }}</div>
<el-select <el-select
v-model.number="model.assignValue" v-model.number="model.assignValue"
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
:placeholder="i18n['userTask.assignType.role.placeholder']" :placeholder="i18n['userTask.assignType.role.placeholder']"
:disabled="readOnly" :disabled="readOnly"
...@@ -77,6 +81,7 @@ ...@@ -77,6 +81,7 @@
<div v-else-if="model.assignType === 'department'" class="panelRow"> <div v-else-if="model.assignType === 'department'" class="panelRow">
<div><span style="color: red">*</span> {{ i18n['userTask.assignType.department.title'] }}</div> <div><span style="color: red">*</span> {{ i18n['userTask.assignType.department.title'] }}</div>
<el-select <el-select
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
:placeholder="i18n['userTask.assignType.department.placeholder']" :placeholder="i18n['userTask.assignType.department.placeholder']"
:value="model.assignValue" :value="model.assignValue"
...@@ -92,6 +97,7 @@ ...@@ -92,6 +97,7 @@
<div><span style="color: red">*</span> {{ i18n['userTask.assignType.variable.title'] }}</div> <div><span style="color: red">*</span> {{ i18n['userTask.assignType.variable.title'] }}</div>
<el-select <el-select
v-model.number="model.assignValue" v-model.number="model.assignValue"
size="small"
style="width:90%; font-size:12px" style="width:90%; font-size:12px"
:placeholder="i18n['userTask.assignType.variable.placeholder']" :placeholder="i18n['userTask.assignType.variable.placeholder']"
:disabled="readOnly" :disabled="readOnly"
...@@ -104,6 +110,7 @@ ...@@ -104,6 +110,7 @@
</div> </div>
<div class="panelRow"> <div class="panelRow">
<el-checkbox <el-checkbox
size="small"
:disabled="model.assignType !== 'role' && model.assignType !== 'department' && ( :disabled="model.assignType !== 'role' && model.assignType !== 'department' && (
model.assignValue===undefined || model.assignValue===undefined ||
model.assignValue===null || model.assignValue===null ||
...@@ -114,6 +121,7 @@ ...@@ -114,6 +121,7 @@
@change="(e) => { onChange('isCounterSign', e); initCounterSign(e) }" @change="(e) => { onChange('isCounterSign', e); initCounterSign(e) }"
>{{ i18n['userTask.counterSign'] }}</el-checkbox> >{{ i18n['userTask.counterSign'] }}</el-checkbox>
<el-checkbox <el-checkbox
size="small"
:disabled=" :disabled="
model.assignValue===undefined|| model.assignValue===undefined||
model.assignValue===null|| model.assignValue===null||
...@@ -129,6 +137,7 @@ ...@@ -129,6 +137,7 @@
model.assignValue!==null && model.assignValue!==null &&
model.assignValue.length >= 1 && model.assignValue.length >= 1 &&
model.isCounterSign" model.isCounterSign"
size="small"
:value="model.fullHandle" :value="model.fullHandle"
@change="(value) => onChange('fullHandle', value)" @change="(value) => onChange('fullHandle', value)"
>{{ i18n['userTask.fullHandle'] }}</el-checkbox> >{{ i18n['userTask.fullHandle'] }}</el-checkbox>
...@@ -140,6 +149,7 @@ ...@@ -140,6 +149,7 @@
:templates="templates" :templates="templates"
:templates-base="templatesBase" :templates-base="templatesBase"
:readonly-preview="false" :readonly-preview="false"
:users="users"
/> />
</div> </div>
</div> </div>
......
<template> <template>
<div class="detailPanel" :style="{'height':height+'px'}"> <div class="detailPanel" :style="{'height':height+'px'}" style="overflow-y: scroll; padding-bottom: 10px;">
<UserTaskDetail <UserTaskDetail
v-if="model.clazz === 'userTask'" v-if="model.clazz === 'userTask'"
:model="model" :model="model"
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
<StartEventDetail <StartEventDetail
v-else-if="model.clazz === 'start'" v-else-if="model.clazz === 'start'"
:model="model" :model="model"
:users="users"
:on-change="onChange" :on-change="onChange"
:read-only="readOnly" :read-only="readOnly"
:tasks="tasks" :tasks="tasks"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment