|
|
@@ -56,7 +56,7 @@
|
|
|
v-if="modelId"
|
|
|
label="操作"
|
|
|
align="center"
|
|
|
- width="80"
|
|
|
+ width="250"
|
|
|
fixed="right"
|
|
|
>
|
|
|
<template v-slot="scope">
|
|
|
@@ -65,19 +65,21 @@
|
|
|
type="text"
|
|
|
icon="el-icon-edit"
|
|
|
@click="handleUpdateTaskAssignRule(scope.row)"
|
|
|
- >修改</el-button
|
|
|
+ >修改任务规则</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="ccHandleUpdateTaskAssignRule(scope.row)"
|
|
|
+ >修改抄送规则</el-button
|
|
|
>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</el-dialog>
|
|
|
<!-- 添加/修改弹窗 -->
|
|
|
- <el-dialog
|
|
|
- title="修改任务规则"
|
|
|
- :visible.sync="open"
|
|
|
- width="500px"
|
|
|
- append-to-body
|
|
|
- >
|
|
|
+ <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
|
<el-form
|
|
|
ref="taskAssignRuleForm"
|
|
|
:model="form"
|
|
|
@@ -92,7 +94,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="规则类型" prop="type">
|
|
|
<el-select
|
|
|
- v-model="form.type"
|
|
|
+ v-model="form.typeS"
|
|
|
clearable
|
|
|
style="width: 100%"
|
|
|
@change="emptyingRules"
|
|
|
@@ -107,7 +109,7 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="form.type === 10" label="指定角色" prop="roleIds">
|
|
|
+ <el-form-item v-if="form.typeS === 10" label="指定角色" prop="roleIds">
|
|
|
<el-select
|
|
|
v-model="form.roleIds"
|
|
|
multiple
|
|
|
@@ -123,7 +125,7 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
|
- v-if="form.type === 20 || form.type === 21"
|
|
|
+ v-if="form.typeS === 20 || form.typeS === 21"
|
|
|
label="指定部门"
|
|
|
prop="deptIds"
|
|
|
>
|
|
|
@@ -138,7 +140,7 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
|
- v-if="form.type === 22"
|
|
|
+ v-if="form.typeS === 22"
|
|
|
label="指定工种"
|
|
|
prop="workTypeIds"
|
|
|
>
|
|
|
@@ -157,7 +159,7 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
|
- v-if="form.type === 30 || form.type === 31 || form.type === 32"
|
|
|
+ v-if="form.typeS === 30 || form.typeS === 31 || form.typeS === 32"
|
|
|
label="指定用户"
|
|
|
prop="userIds"
|
|
|
>
|
|
|
@@ -195,7 +197,7 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="form.type === 50" label="指定脚本" prop="scripts">
|
|
|
+ <el-form-item v-if="form.typeS === 50" label="指定脚本" prop="scripts">
|
|
|
<el-select
|
|
|
v-model="form.scripts"
|
|
|
multiple
|
|
|
@@ -212,33 +214,41 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="form.type === 70" label="审核方向" prop="direction">
|
|
|
+ <el-form-item
|
|
|
+ v-if="form.typeS === 70 && title != '修改抄送规则'"
|
|
|
+ label="审核方向"
|
|
|
+ prop="direction"
|
|
|
+ >
|
|
|
<el-select
|
|
|
v-model="form.direction"
|
|
|
clearable
|
|
|
style="width: 100%"
|
|
|
@change="handleChangeDirection"
|
|
|
>
|
|
|
- <el-option key="0" label="从下到上" value="0"/>
|
|
|
- <el-option key="1" label="从上到下" value="1"/>
|
|
|
+ <el-option key="0" label="从下到上" value="0" />
|
|
|
+ <el-option key="1" label="从上到下" value="1" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="form.type === 70" label="指定部门负责人" prop="topLevel">
|
|
|
+ <el-form-item
|
|
|
+ v-if="form.typeS === 70 && title != '修改抄送规则'"
|
|
|
+ label="指定部门负责人"
|
|
|
+ prop="topLevel"
|
|
|
+ >
|
|
|
<el-select
|
|
|
- v-if="form.direction==0"
|
|
|
+ v-if="form.direction == 0"
|
|
|
v-model="form.topLevel"
|
|
|
clearable
|
|
|
style="width: 100%"
|
|
|
>
|
|
|
- <el-option key="1" label="直接部门负责人" value="1"/>
|
|
|
- <el-option key="2" label="上二级部门负责人" value="2"/>
|
|
|
- <el-option key="3" label="上三级部门负责人" value="3"/>
|
|
|
- <el-option key="4" label="上四级部门负责人" value="4"/>
|
|
|
- <el-option key="5" label="上五级部门负责人" value="5"/>
|
|
|
- <el-option key="6" label="上六级部门负责人" value="6"/>
|
|
|
- <el-option key="7" label="上七级部门负责人" value="7"/>
|
|
|
- <el-option key="8" label="上八级部门负责人" value="8"/>
|
|
|
- <el-option key="9" label="上九级部门负责人" value="9"/>
|
|
|
+ <el-option key="1" label="直接部门负责人" value="1" />
|
|
|
+ <el-option key="2" label="上二级部门负责人" value="2" />
|
|
|
+ <el-option key="3" label="上三级部门负责人" value="3" />
|
|
|
+ <el-option key="4" label="上四级部门负责人" value="4" />
|
|
|
+ <el-option key="5" label="上五级部门负责人" value="5" />
|
|
|
+ <el-option key="6" label="上六级部门负责人" value="6" />
|
|
|
+ <el-option key="7" label="上七级部门负责人" value="7" />
|
|
|
+ <el-option key="8" label="上八级部门负责人" value="8" />
|
|
|
+ <el-option key="9" label="上九级部门负责人" value="9" />
|
|
|
</el-select>
|
|
|
<el-select
|
|
|
v-else
|
|
|
@@ -246,19 +256,19 @@
|
|
|
clearable
|
|
|
style="width: 100%"
|
|
|
>
|
|
|
- <el-option key="99" label="最高级部门负责人" value="99"/>
|
|
|
- <el-option key="2" label="第二层部门负责人" value="2"/>
|
|
|
- <el-option key="3" label="第三层部门负责人" value="3"/>
|
|
|
- <el-option key="4" label="第四层部门负责人" value="4"/>
|
|
|
- <el-option key="5" label="第五层部门负责人" value="5"/>
|
|
|
- <el-option key="6" label="第六层部门负责人" value="6"/>
|
|
|
- <el-option key="7" label="第七层部门负责人" value="7"/>
|
|
|
- <el-option key="8" label="第八层部门负责人" value="8"/>
|
|
|
- <el-option key="9" label="第九层部门负责人" value="9"/>
|
|
|
+ <el-option key="99" label="最高级部门负责人" value="99" />
|
|
|
+ <el-option key="2" label="第二层部门负责人" value="2" />
|
|
|
+ <el-option key="3" label="第三层部门负责人" value="3" />
|
|
|
+ <el-option key="4" label="第四层部门负责人" value="4" />
|
|
|
+ <el-option key="5" label="第五层部门负责人" value="5" />
|
|
|
+ <el-option key="6" label="第六层部门负责人" value="6" />
|
|
|
+ <el-option key="7" label="第七层部门负责人" value="7" />
|
|
|
+ <el-option key="8" label="第八层部门负责人" value="8" />
|
|
|
+ <el-option key="9" label="第九层部门负责人" value="9" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
|
- v-if="form.type === 60"
|
|
|
+ v-if="form.typeS === 60"
|
|
|
label="自定义变量"
|
|
|
prop="variableName"
|
|
|
>
|
|
|
@@ -271,9 +281,19 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="submitAssignRuleForm"
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="submitAssignRuleForm"
|
|
|
+ v-if="title == '修改任务规则'"
|
|
|
>确 定</el-button
|
|
|
>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="ccSubmitAssignRuleForm"
|
|
|
+ v-if="title == '修改抄送规则'"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+
|
|
|
<el-button @click="cancelAssignRuleForm">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
@@ -318,7 +338,7 @@
|
|
|
modelId: undefined, // 流程模型的编号。如果 modelId 非空,则用于流程模型的查看与配置
|
|
|
processDefinitionId: undefined, // 流程定义的编号。如果 processDefinitionId 非空,则用于流程定义的查看,不支持配置
|
|
|
visible: false,
|
|
|
-
|
|
|
+ title: '',
|
|
|
// 任务分配规则表单
|
|
|
row: undefined, // 选中的流程模型
|
|
|
list: [], // 选中流程模型的任务分配规则们
|
|
|
@@ -410,8 +430,8 @@
|
|
|
// 获得岗位列表 暂无岗位概念
|
|
|
this.postOptions = [];
|
|
|
/*listSimplePosts().then(response => {
|
|
|
- this.postOptions.push(...response.data);
|
|
|
- });*/
|
|
|
+ this.postOptions.push(...response.data);
|
|
|
+ });*/
|
|
|
// 获得用户列表
|
|
|
this.userOptions = [];
|
|
|
listAllUserBind().then((data) => {
|
|
|
@@ -474,23 +494,66 @@
|
|
|
|
|
|
// 选择规则清空上一次选择内容
|
|
|
emptyingRules(val) {
|
|
|
- this.form.options = [];
|
|
|
+ if (this.title == '修改任务规则') {
|
|
|
+ this.form.options = [];
|
|
|
+ this.form.variableName = '';
|
|
|
+ this.$set(this.form, 'direction', val == '70' ? '0' : '');
|
|
|
+ this.$set(this.form, 'topLevel', val == '70' ? '1' : '');
|
|
|
+ } else {
|
|
|
+ this.form.ccOptions = [];
|
|
|
+ this.form.ccVariableName = '';
|
|
|
+ }
|
|
|
this.form.roleIds = [];
|
|
|
this.form.deptIds = [];
|
|
|
this.form.workTypeIds = [];
|
|
|
this.form.userIds = [];
|
|
|
this.form.userGroupIds = [];
|
|
|
this.form.scripts = [];
|
|
|
- this.form.variableName = '';
|
|
|
- this.$set(this.form,'direction',val=='70'?'0':'')
|
|
|
- this.$set(this.form,'topLevel',val=='70'?'1':'')
|
|
|
},
|
|
|
// 选择规则清空上一次选择内容
|
|
|
handleChangeDirection(val) {
|
|
|
- this.$set(this.form,'topLevel',val=='0'?'1':'99')
|
|
|
+ this.$set(this.form, 'topLevel', val == '0' ? '1' : '99');
|
|
|
+ },
|
|
|
+ /** 处理修改抄送 分配规则的按钮操作 */
|
|
|
+ ccHandleUpdateTaskAssignRule(row) {
|
|
|
+ this.title = '修改抄送规则';
|
|
|
+ // 先重置标识
|
|
|
+ this.resetAssignRuleForm();
|
|
|
+ // 设置表单
|
|
|
+ this.form = {
|
|
|
+ ...row,
|
|
|
+ ccOptions: [],
|
|
|
+ roleIds: [],
|
|
|
+ deptIds: [],
|
|
|
+ workTypeIds: [],
|
|
|
+ userIds: [],
|
|
|
+ userGroupIds: [],
|
|
|
+ scripts: []
|
|
|
+ };
|
|
|
+ this.$set(this.form, 'typeS', row.ccType);
|
|
|
+ // 将 options 赋值到对应的 roleIds 等选项
|
|
|
+ if (row.ccType === 10) {
|
|
|
+ this.form.roleIds.push(...row.ccOptions);
|
|
|
+ } else if (row.ccType === 20 || row.ccType === 21) {
|
|
|
+ this.form.deptIds.push(...row.ccOptions);
|
|
|
+ } else if (row.ccType === 22) {
|
|
|
+ this.form.workTypeIds.push(...row.ccOptions);
|
|
|
+ } else if (
|
|
|
+ row.ccType === 30 ||
|
|
|
+ row.ccType === 31 ||
|
|
|
+ row.ccType === 32
|
|
|
+ ) {
|
|
|
+ this.form.userIds.push(...row.ccOptions);
|
|
|
+ } else if (row.ccType === 40) {
|
|
|
+ this.form.userGroupIds.push(...row.ccOptions);
|
|
|
+ } else if (row.ccType === 50) {
|
|
|
+ this.form.scripts.push(...row.ccOptions);
|
|
|
+ }
|
|
|
+ this.open = true;
|
|
|
},
|
|
|
/** 处理修改任务分配规则的按钮操作 */
|
|
|
handleUpdateTaskAssignRule(row) {
|
|
|
+ this.title = '修改任务规则';
|
|
|
// 先重置标识
|
|
|
this.resetAssignRuleForm();
|
|
|
// 设置表单
|
|
|
@@ -504,6 +567,7 @@
|
|
|
userGroupIds: [],
|
|
|
scripts: []
|
|
|
};
|
|
|
+ this.$set(this.form, 'typeS', row.type);
|
|
|
// 将 options 赋值到对应的 roleIds 等选项
|
|
|
if (row.type === 10) {
|
|
|
this.form.roleIds.push(...row.options);
|
|
|
@@ -517,10 +581,10 @@
|
|
|
this.form.userGroupIds.push(...row.options);
|
|
|
} else if (row.type === 50) {
|
|
|
this.form.scripts.push(...row.options);
|
|
|
- }else if (row.type === 70) {
|
|
|
+ } else if (row.type === 70) {
|
|
|
let res = JSON.parse(row.variableName);
|
|
|
- this.$set(this.form,'direction',res.direction)
|
|
|
- this.$set(this.form,'topLevel',res.topLevel)
|
|
|
+ this.$set(this.form, 'direction', res.direction);
|
|
|
+ this.$set(this.form, 'topLevel', res.topLevel);
|
|
|
}
|
|
|
this.open = true;
|
|
|
},
|
|
|
@@ -529,6 +593,7 @@
|
|
|
this.$refs['taskAssignRuleForm'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
// 构建表单
|
|
|
+ this.form.type = this.form.typeS;
|
|
|
let form = {
|
|
|
...this.form,
|
|
|
taskDefinitionName: undefined
|
|
|
@@ -552,9 +617,69 @@
|
|
|
form.options = form.scripts;
|
|
|
} else if (form.type === 70) {
|
|
|
form.variableName = JSON.stringify({
|
|
|
- direction:form.direction,
|
|
|
- topLevel:form.topLevel
|
|
|
- })
|
|
|
+ direction: form.direction,
|
|
|
+ topLevel: form.topLevel
|
|
|
+ });
|
|
|
+ }
|
|
|
+ form.roleIds = undefined;
|
|
|
+ form.deptIds = undefined;
|
|
|
+ form.workTypeIds = undefined;
|
|
|
+ form.userIds = undefined;
|
|
|
+ form.userGroupIds = undefined;
|
|
|
+ form.scripts = undefined;
|
|
|
+ form.direction = undefined;
|
|
|
+ form.topLevel = undefined;
|
|
|
+ // 新增
|
|
|
+ if (!form.id) {
|
|
|
+ form.modelId = this.modelId; // 模型编号
|
|
|
+ createTaskAssignRule(form).then((response) => {
|
|
|
+ this.$message.success('修改成功');
|
|
|
+ this.open = false;
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ // 修改
|
|
|
+ } else {
|
|
|
+ form.taskDefinitionKey = undefined; // 无法修改
|
|
|
+ updateTaskAssignRule(form).then((response) => {
|
|
|
+ this.$message.success('修改成功');
|
|
|
+ this.open = false;
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 提交任务分配规则的表单 */
|
|
|
+ ccSubmitAssignRuleForm() {
|
|
|
+ this.$refs['taskAssignRuleForm'].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ // 构建表单
|
|
|
+ this.form.ccType = this.form.typeS;
|
|
|
+
|
|
|
+ let form = {
|
|
|
+ ...this.form,
|
|
|
+ taskDefinitionName: undefined
|
|
|
+ };
|
|
|
+
|
|
|
+ // 将 roleIds 等选项赋值到 options 中
|
|
|
+ if (form.ccType === 10) {
|
|
|
+ form.ccOptions = form.roleIds;
|
|
|
+ console.log( form.ccOptions)
|
|
|
+
|
|
|
+ } else if (form.ccType === 20 || form.ccType === 21) {
|
|
|
+ form.ccOptions = form.deptIds;
|
|
|
+ } else if (form.ccType === 22) {
|
|
|
+ form.ccOptions = form.workTypeIds;
|
|
|
+ } else if (
|
|
|
+ form.ccType === 30 ||
|
|
|
+ form.ccType === 31 ||
|
|
|
+ form.ccType === 32
|
|
|
+ ) {
|
|
|
+ form.ccOptions = form.userIds;
|
|
|
+ } else if (form.ccType === 40) {
|
|
|
+ form.ccOptions = form.userGroupIds;
|
|
|
+ } else if (form.ccType === 50) {
|
|
|
+ form.ccOptions = form.scripts;
|
|
|
}
|
|
|
form.roleIds = undefined;
|
|
|
form.deptIds = undefined;
|
|
|
@@ -564,6 +689,7 @@
|
|
|
form.scripts = undefined;
|
|
|
form.direction = undefined;
|
|
|
form.topLevel = undefined;
|
|
|
+ console.log( form)
|
|
|
// 新增
|
|
|
if (!form.id) {
|
|
|
form.modelId = this.modelId; // 模型编号
|