luohairen
2024-12-31 7cc473413471b45daa1c3b90a1ab34398a793b49
src/views/flowable/task/myProcess/send/index.vue
@@ -83,7 +83,7 @@
          </el-alert>
          <el-form-item label="用户类型" prop="peopleType">
            <el-select v-model="delegationForm.peopleType" @change="peopleTypeChange" placeholder="请选择用户类型">
              <el-option label="指定人员" disabled value="FIX_USER"></el-option>
              <el-option label="指定人员" value="FIX_USER"></el-option>
              <el-option label="候选用户" disabled value="USER"></el-option>
              <el-option label="候选部门" value="DEPT"></el-option>
              <el-option label="候选角色" disabled  value="ROLE"></el-option>
@@ -94,6 +94,13 @@
            <div style="display: flex;align-items: center">
              <div>{{deptNames}}</div>
              <el-button style="margin-left: 8px" type="text" @click="editDept">编辑</el-button>
            </div>
          </el-form-item>
          <el-form-item v-if="delegationForm.peopleType === 'FIX_USER'" label="指定用户" prop="targetId">
            <single-user ref="singleUser" :select-user="delegationForm.targetId" :show="singleUserShow" @close="closeUser" @submit="getSingleUserSelect"/>
            <div style="display: flex;align-items: center">
              <div>{{delegationUserSelect.map(item => item.nickName).join(',')}}</div>
              <el-button style="margin-left: 8px" type="text" @click="editUser">编辑</el-button>
            </div>
          </el-form-item>
        </el-form>
@@ -110,6 +117,7 @@
import {definitionStart, flowXmlAndNode} from "@/api/flowable/definition";
import BpmnViewer from '@/components/Process/viewer';
import Dept from '@/components/flow/Dept'
import SingleUser from '@/components/flow/User/SingleUser'
import {completeSubmitFormTask} from "@/api/flowable/process";
import { flowTaskForm } from "@/api/flowable/todo";
import {getNextFlowNodeByStart} from "@/api/flowable/todo";
@@ -125,10 +133,13 @@
    FlowUser,
    FlowRole,
    Dept,
    SingleUser,
  },
  props: {},
  data() {
    return {
      singleUserShow: false, // 指定用户显示
      delegationUserSelect: [], // 选中的用户
      deptShow: false, // 部门显示
      deptNames: '', // 选中的部门名称
      delegationDeptSelect: [], // 选中部门
@@ -194,6 +205,8 @@
  },
  methods: {
    delegation() {
      this.$refs['delegationForm'].validate((valid) => {
        if (valid) {
      this.$confirm(`确定要将此任务交由【${this.deptNames}】处理吗?`, '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
@@ -209,6 +222,11 @@
          message: '已取消转办操作'
        });
      });
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    },
    peopleTypeChange(val) {
      if (val === 'DEPT') {
@@ -216,6 +234,8 @@
          this.$refs.dept.setCheckList(this.delegationDeptSelect)
        })
        this.deptShow = true
      } else if (val === 'FIX_USER') {
        this.singleUserShow = true
      }
    },
    editDept() {
@@ -223,6 +243,12 @@
        this.$refs.dept.setCheckList(this.delegationDeptSelect)
      })
      this.deptShow = true
    },
    editUser() {
      this.$nextTick(() => {
        this.$refs.singleUser.setChecked(this.delegationForm.targetId)
      })
      this.singleUserShow = true
    },
    getDeptSelect(list, names) {
      console.log(list, names)
@@ -233,10 +259,22 @@
      }
      this.deptShow = false
    },
    getSingleUserSelect(user) {
      if (user) {
        this.delegationForm.targetId = user.userId
        this.delegationUserSelect = [user]
      } else {
        this.delegationForm.targetId = ''
        this.delegationUserSelect = []
      }
      this.singleUserShow = false
    },
    closeDept() {
      console.log(this.deptNames)
      this.deptShow = false
    },
    closeUser() {
      this.singleUserShow = false
    },
    openDelegation(taskName) {
      this.delegationForm.taskName = taskName
      this.delegationForm.taskId = this.taskId