From 8779375b26e23113ebfa5940e4e5dbe696980f53 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 07 一月 2025 18:46:29 +0800
Subject: [PATCH] 流程设计-任务配置-人员类型组件重构:todo角色组件分页回显问题

---
 src/components/Process/panel/PropertiesPanel.vue               |    1 
 src/views/index.vue                                            |    1 
 src/views/projectManage/plan/planInfo.vue                      |    1 
 src/components/Process/panel/TaskConfPanel.vue                 |  547 ++++++++++++++++++++++++++++++++++++++++++
 src/components/flow/Role/MyRole.vue                            |   81 +----
 src/components/flow/Dept/MyDept.vue                            |    2 
 src/components/flow/User/SingleUser.vue                        |   18 
 src/views/function/api/purchase.js                             |    3 
 src/views/todo/processTask.vue                                 |    3 
 src/views/flowable/task/myProcess/send/index.vue               |    9 
 src/components/flow/Expression/index.vue                       |    8 
 src/components/flow/User/index.vue                             |    2 
 src/views/todo/api/myTodoList.js                               |    4 
 src/views/function/leaveApply.vue                              |    5 
 src/components/Process/designer.vue                            |    9 
 src/views/flowable/definition/model.vue                        |    1 
 src/views/projectEngineering/projectLibrary/projectDetails.vue |    1 
 src/views/projectProcess/detail/index.vue                      |    3 
 src/components/Process/panel/formPanel.vue                     |    5 
 src/views/projectProcess/index.vue                             |    1 
 src/components/flow/User/MultUser.vue                          |   63 +---
 src/views/todo/api/allTodoList.js                              |    4 
 22 files changed, 619 insertions(+), 153 deletions(-)

diff --git a/src/components/Process/designer.vue b/src/components/Process/designer.vue
index 5fb87e9..5687849 100644
--- a/src/components/Process/designer.vue
+++ b/src/components/Process/designer.vue
@@ -66,7 +66,7 @@
 import TaskListener from './panel/taskListener'
 import MultiInstance from './panel/multiInstance'
 import CommonPanel from './panel/commonPanel'
-import UserTaskPanel from './panel/taskPanel'
+import UserTaskPanel from './panel/TaskConfPanel'
 import ConditionPanel from './panel/conditionPanel'
 import FormPanel from './panel/formPanel'
 import OtherPanel from './panel/otherPanel'
@@ -139,11 +139,9 @@
       });
       // 鐩戝惉閫夋嫨浜嬩欢锛屼慨鏀瑰綋鍓嶆縺娲荤殑鍏冪礌浠ュ強琛ㄥ崟
       this.modelerStore.modeler.on("selection.changed", ({newSelection}) => {
-        console.log("鏁版嵁鏀瑰彉1", newSelection)
         this.initFormOnChanged(newSelection[0] || null);
       });
       this.modelerStore.modeler.on("element.changed", ({element}) => {
-        console.log("鏁版嵁鏀瑰彉2")
         // 淇濊瘉 淇敼 "榛樿娴佽浆璺緞" 绫讳技闇�瑕佷慨鏀瑰涓厓绱犵殑浜嬩欢鍙戠敓鐨勬椂鍊欙紝鏇存柊琛ㄥ崟鐨勫厓绱犱笌鍘熼�変腑鍏冪礌涓嶄竴鑷淬��
         if (element && element.id === this.elementId) {
           this.initFormOnChanged(element);
@@ -153,24 +151,19 @@
 
     // 鍒濆鍖栨暟鎹�
     initFormOnChanged(element) {
-      console.log(element, "鑺傜偣鏁版嵁")
       let activatedElement = element;
       if (!activatedElement) {
-        console.log(1)
         activatedElement =
           this.modelerStore.elRegistry.find(el => el.type === "bpmn:Process") ??
           this.modelerStore.elRegistry.find(el => el.type === "bpmn:Collaboration");
       }
       if (!activatedElement) return;
-      console.log(2, activatedElement)
       this.modelerStore.element = activatedElement;
       this.elementId = activatedElement.id;
       // 纭繚elementId鍊兼病鍙樹篃瑕佹洿鏂癴orm缁勪欢閫変腑鐨勫��
       if (this.formVisible) {
-        console.log(this.modelerStore.element.businessObject.formKey, "鏂扮殑鍊�")
         this.$refs.formSelect.init()
       }
-      console.log(3, this.elementId)
       this.elementType = activatedElement.type.split(":")[1] || "";
       this.conditionVisible = !!(
         this.elementType === "SequenceFlow" &&
diff --git a/src/components/Process/panel/PropertiesPanel.vue b/src/components/Process/panel/PropertiesPanel.vue
index 959fc1a..6042067 100644
--- a/src/components/Process/panel/PropertiesPanel.vue
+++ b/src/components/Process/panel/PropertiesPanel.vue
@@ -107,7 +107,6 @@
 
         }
       })
-      console.log(this.canConfigPropertyList, "杩欐槸浠�涔堥")
       this.elementPropertyList = JSON.parse(JSON.stringify(this.bpmnElementPropertyList ?? []));
     },
     openAttributesForm(attr, index) {
diff --git a/src/components/Process/panel/TaskConfPanel.vue b/src/components/Process/panel/TaskConfPanel.vue
new file mode 100644
index 0000000..88718ff
--- /dev/null
+++ b/src/components/Process/panel/TaskConfPanel.vue
@@ -0,0 +1,547 @@
+<template>
+  <div>
+    <el-form label-width="80px" size="small">
+      <el-form-item label="寮傛">
+        <el-switch v-model="bpmnFormData.async" active-text="鏄�" inactive-text="鍚�" @change="updateElementTask('async')"/>
+      </el-form-item>
+      <el-form-item label="鐢ㄦ埛绫诲瀷">
+        <el-select v-model="bpmnFormData.userType" placeholder="鐢ㄦ埛绫诲瀷" @change="updateUserType">
+          <el-option
+            v-for="item in userTypeOption"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="鎸囧畾浜哄憳" v-if="bpmnFormData.userType === 'assignee'">
+        <single-user ref="singleUser" :select-user="delegationUserSelect && delegationUserSelect.length > 0 ? delegationUserSelect[0].userId : null" :show="singleUserShow" @close="closeSingleUser" @submit="getSingleUserSelect" :key="singleUserKey"/>
+        <div v-if="expSelect">
+          <el-tag class="select-tag" :key="expSelect.id + 'kfc'" type="info" closable @close="removeExp">{{expSelect.expression}}</el-tag>
+        </div>
+        <div v-else>
+          <el-tag class="select-tag" v-for="user in delegationUserSelect" :key="user.userId + 'abc'" type="info" closable @close="removeSingleUser(user)">{{user.nickName}}</el-tag>
+        </div>
+        <el-button-group class="ml-4" style="margin-top: 4px">
+          <!--鎸囧畾浜哄憳-->
+          <el-tooltip class="box-item" effect="dark" content="鎸囧畾浜哄憳" :disabled="typeButDisable" placement="bottom">
+            <el-button size="mini" type="primary" icon="el-icon-user" :disabled="typeButDisable" @click="editSingleUser"/>
+          </el-tooltip>
+          <!--閫夋嫨琛ㄨ揪寮�-->
+          <el-tooltip class="box-item" effect="dark" content="閫夋嫨琛ㄨ揪寮�" :disabled="expButDisable" placement="bottom">
+            <el-button size="mini" type="warning" icon="el-icon-postcard" :disabled="expButDisable" @click="editExp"/>
+          </el-tooltip>
+        </el-button-group>
+      </el-form-item>
+
+      <el-form-item label="鍊欓�変汉鍛�" v-else-if="bpmnFormData.userType === 'candidateUsers'">
+        <mult-user ref="multUser" :select-user="delegationUserSelect" :show="multUserShow" @close="closeMultUser" @submit="getMultUserSelect" :key="multUserKey"/>
+        <div v-if="expSelect">
+          <el-tag class="select-tag" :key="expSelect.id + 'kfc'" type="info" closable @close="removeExp">{{expSelect.expression}}</el-tag>
+        </div>
+        <div v-else>
+          <el-tag class="select-tag" v-for="user in delegationUserSelect" :key="user.userId + 'qwe'" type="info" closable @close="removeMultUser(user)">{{user.nickName}}</el-tag>
+        </div>
+        <el-button-group class="ml-4" style="margin-top: 4px">
+          <!--鍊欓�変汉鍛�-->
+          <el-tooltip class="box-item" effect="dark" content="鍊欓�変汉鍛�" :disabled="typeButDisable" placement="bottom">
+            <el-button size="mini" type="primary" icon="el-icon-user" :disabled="typeButDisable" @click="editMultUser"/>
+          </el-tooltip>
+          <!--閫夋嫨琛ㄨ揪寮�-->
+          <el-tooltip class="box-item" effect="dark" content="閫夋嫨琛ㄨ揪寮�" :disabled="expButDisable" placement="bottom">
+            <el-button size="mini" type="warning" icon="el-icon-postcard" :disabled="expButDisable" @click="editExp"/>
+          </el-tooltip>
+        </el-button-group>
+      </el-form-item>
+
+      <el-form-item label="鍊欓�夎鑹�" v-else-if="bpmnFormData.userType === 'candidateGroups'">
+        <my-role ref="role" :select-values="delegationRoleSelect" :show="roleShow" @close="closeRole" @submit="getRoleSelect" :key="roleKey"/>
+        <div v-if="expSelect">
+          <el-tag class="select-tag" :key="expSelect.id + 'kfc'" type="info" closable @close="removeExp">{{expSelect.expression}}</el-tag>
+        </div>
+        <div v-else>
+          <el-tag class="select-tag" v-for="role in delegationRoleSelect" :key="role.roleId + 'rty'" type="info" closable @close="removeRole(role)">{{role.roleName}}</el-tag>
+        </div>
+        <el-button-group class="ml-4" style="margin-top: 4px">
+          <!--鍊欓�夎鑹�-->
+          <el-tooltip class="box-item" effect="dark" content="鍊欓�夎鑹�" :disabled="typeButDisable" placement="bottom">
+            <el-button size="mini" type="primary" icon="el-icon-user" :disabled="typeButDisable"  @click="editRole"/>
+          </el-tooltip>
+          <!--閫夋嫨琛ㄨ揪寮�-->
+          <el-tooltip class="box-item" effect="dark" content="閫夋嫨琛ㄨ揪寮�" :disabled="expButDisable" placement="bottom">
+            <el-button size="mini" type="warning" icon="el-icon-postcard" :disabled="expButDisable" @click="editExp"/>
+          </el-tooltip>
+        </el-button-group>
+      </el-form-item>
+
+      <el-form-item label="鍊欓�夐儴闂�" v-else>
+        <MyDept ref="dept" :checkeds="delegationDeptSelect" :show="deptShow" @close="closeDept" @submit="getDeptSelect" :key="deptKey"/>
+        <div v-if="expSelect">
+          <el-tag class="select-tag" :key="expSelect.id + 'kfc'" type="info" closable @close="removeExp">{{expSelect.expression}}</el-tag>
+        </div>
+        <div v-else>
+          <el-tag class="select-tag" v-for="dept in delegationDeptSelect" :key="dept.id + 'zxc'" type="info" closable @close="removeDept(dept)">{{dept.label}}</el-tag>
+        </div>
+        <el-button-group class="ml-4" style="margin-top: 4px">
+          <!--鍊欓�夐儴闂�-->
+          <el-tooltip class="box-item" effect="dark" content="鍊欓�夐儴闂�" :disabled="typeButDisable" placement="bottom">
+            <el-button size="mini" type="primary" icon="el-icon-user" :disabled="typeButDisable" @click="editDept"/>
+          </el-tooltip>
+          <!--閫夋嫨琛ㄨ揪寮�-->
+          <el-tooltip class="box-item" effect="dark" content="閫夋嫨琛ㄨ揪寮�" :disabled="expButDisable" placement="bottom">
+            <el-button size="mini" type="warning" icon="el-icon-postcard" :disabled="expButDisable" @click="editExp"/>
+          </el-tooltip>
+        </el-button-group>
+      </el-form-item>
+
+      <el-form-item label="浼樺厛绾�">
+        <el-input v-model="bpmnFormData.priority" @change="updateElementTask('priority')"/>
+      </el-form-item>
+      <el-form-item label="鍒版湡鏃堕棿">
+        <el-input v-model="bpmnFormData.dueDate" @change="updateElementTask('dueDate')"/>
+      </el-form-item>
+    </el-form>
+
+    <!--閫夋嫨琛ㄨ揪寮�-->
+    <el-dialog
+      title="閫夋嫨琛ㄨ揪寮�"
+      :visible.sync="expVisible"
+      width="60%"
+      :close-on-press-escape="false"
+      :destroy-on-close="true"
+      @close="closeExp"
+    >
+      <flow-exp :selectValues="expSelect" @handleSingleExpSelect="getExpSelect"></flow-exp>
+      <div slot="footer" class="dialog-footer">
+        <el-button size="small" type="primary" @click="checkExpComplete">纭� 瀹�</el-button>
+      </div>
+    </el-dialog>
+
+
+  </div>
+</template>
+
+<script>
+import FlowExp from '@/components/flow/Expression'
+import {StrUtil} from '@/utils/StrUtil'
+import MyDept from '@/components/flow/Dept/MyDept'
+import SingleUser from '@/components/flow/User/SingleUser'
+import MultUser from '@/components/flow/User/MultUser'
+import MyRole from '@/components/flow/Role/MyRole'
+
+
+export default {
+  name: "TaskConfPanel",
+  components: {
+    FlowExp,
+    MyRole,
+    MyDept,
+    SingleUser,
+    MultUser,
+  },
+  /** 缁勪欢浼犲��  */
+  props : {
+    id: {
+      type: String,
+      required: true
+    },
+  },
+  data() {
+    return {
+      typeButDisable: false, // 鐢ㄦ埛绫诲瀷閫夋嫨鎸夐挳鏄惁绂佺敤
+      expButDisable: false, // 鐢ㄦ埛绫诲瀷閫夋嫨鎸夐挳鏄惁绂佺敤
+      roleKey: 'role',
+      deptKey: 'dept',
+      multUserKey: 0,
+      singleUserKey: 'single',
+      roleShow: false, // 瑙掕壊缁勬樉绀�
+      delegationRoleSelect: [], // 閫変腑瑙掕壊
+      multUserShow: false, // 鐢ㄦ埛缁勬樉绀�
+      singleUserShow: false, // 鎸囧畾鐢ㄦ埛鏄剧ず
+      delegationUserSelect: [], // 閫変腑鐨勭敤鎴�
+      deptShow: false, // 閮ㄩ棬缁勬樉绀�
+      delegationDeptSelect: [], // 閫変腑閮ㄩ棬
+      expSelect: null,  // 閫変腑琛ㄨ揪寮�
+      num: 0, // 鐢ㄤ簬瑙﹀彂鐢ㄦ埛閫夋嫨鏇存柊
+      expVisible: false,
+      isIndeterminate: true,
+      checkType: 'single', // 閫夌被
+      userType: '',
+      userTypeOption: [
+        {label: '鎸囧畾浜哄憳', value: 'assignee'},
+        {label: '鍊欓�変汉鍛�', value: 'candidateUsers'},
+        {label: '鍊欓�夎鑹�', value: 'candidateGroups'},
+        {label: '鍊欓�夐儴闂�', value: 'candidateDeptGroups'},
+      ],
+      checkAll: false,
+      bpmnFormData: {
+        userType: "candidateDeptGroups",
+        assignee: "",
+        candidateUsers: "",
+        candidateGroups: "",
+        dueDate: "",
+        priority: "",
+        dataType: "",
+        expId: "",
+      },
+      // 鏁版嵁鍥炴樉
+      selectData: {
+        assignee: null,
+        candidateUsers: null,
+        candidateGroups: [],  // 瑙掕壊
+        candidateDeptGroups: [], // 閮ㄩ棬
+        exp: null,
+      },
+      otherExtensionList:[],
+    }
+  },
+
+  /** 浼犲�肩洃鍚� */
+  watch: {
+    id: {
+      handler(newVal) {
+        if (StrUtil.isNotBlank(newVal)) {
+          this.resetTaskForm();
+        }
+      },
+      immediate: true, // 绔嬪嵆鐢熸晥
+    },
+  },
+  created() {
+
+  },
+  methods: {
+    removeExp() {
+      this.getExpSelect(null)
+    },
+    removeDept(dept) {
+      let index = this.delegationDeptSelect.indexOf(dept);
+      if (index !== -1) {
+        this.delegationDeptSelect.splice(index, 1);
+      }
+      this.getDeptSelect(this.delegationDeptSelect)
+    },
+    removeRole(role) {
+      let index = this.delegationRoleSelect.indexOf(role);
+      if (index !== -1) {
+        this.delegationRoleSelect.splice(index, 1);
+      }
+      this.getRoleSelect(this.delegationRoleSelect)
+    },
+    removeMultUser(user) {
+      let index = this.delegationUserSelect.indexOf(user);
+      if (index !== -1) {
+        this.delegationUserSelect.splice(index, 1);
+      }
+      this.getMultUserSelect(this.delegationUserSelect)
+    },
+    removeSingleUser(user) {
+      // 鍥犱负鍙兘閫変竴涓敤鎴凤紝鎵�浠ュ垹浜嗗氨娌′簡
+      this.getSingleUserSelect(null)
+    },
+    editDept() {
+      this.$nextTick(() => {
+        this.$refs.dept.setCheckList(this.delegationDeptSelect)
+      })
+      this.deptShow = true
+    },
+    editSingleUser() {
+      if (this.delegationUserSelect && this.delegationUserSelect.length > 0) {
+        this.$nextTick(() => {
+          this.$refs.singleUser.setChecked(this.delegationUserSelect[0])
+        })
+      }
+      this.singleUserShow = true
+    },
+    editRole() {
+      if (this.delegationRoleSelect && this.delegationRoleSelect.length > 0) {
+        this.$nextTick(() => {
+          this.$refs.role.setChecked(this.delegationRoleSelect)
+        })
+      }
+      this.roleShow = true
+    },
+    editMultUser() {
+      if (this.delegationUserSelect && this.delegationUserSelect.length > 0) {
+        this.multUserKey += '1'
+        this.$nextTick(() => {
+          this.$refs.multUser.setChecked(this.delegationUserSelect)
+        })
+      }
+      this.multUserShow = true
+    },
+    editExp() {
+      this.expVisible = true;
+    },
+    getDeptSelect(deptList) {
+      if (deptList && deptList.length > 0) {
+        this.deleteFlowAttar();
+        this.updateCustomElement('dataType', 'fixed');
+        this.updateCustomElement("candidateGroups", deptList.map(item => item.id).join(","));
+        this.delegationDeptSelect = deptList
+        this.expButDisable = true
+      } else {
+        this.delegationDeptSelect = []
+        this.expButDisable = false
+      }
+      this.deptShow = false
+      this.deptKey += '1'
+    },
+    getMultUserSelect(userList) {
+      if (userList && userList.length > 0) {
+        this.deleteFlowAttar();
+        this.updateCustomElement('dataType', 'fixed');
+        this.updateCustomElement(this.bpmnFormData.userType, userList.map(item => item.userId).join(","));
+        this.delegationUserSelect = userList
+        this.expButDisable = true
+      } else {
+        this.delegationUserSelect = []
+        this.expButDisable = false
+      }
+      this.multUserShow = false
+      this.multUserKey += 1;
+    },
+    getRoleSelect(roleList) {
+      if (roleList && roleList.length > 0) {
+        this.deleteFlowAttar();
+        this.updateCustomElement('dataType', 'fixed');
+        // userType = candidateGroups
+        this.updateCustomElement(this.bpmnFormData.userType, roleList.map(item => item.roleId).join(","));
+        this.delegationRoleSelect = roleList
+        this.expButDisable = true
+      } else {
+        this.delegationRoleSelect = []
+        this.expButDisable = false
+      }
+      this.roleShow = false
+      this.roleKey += '1'
+    },
+    getSingleUserSelect(user) {
+      if (user) {
+        this.deleteFlowAttar();
+        this.updateCustomElement('dataType', 'fixed');
+        this.updateCustomElement(this.bpmnFormData.userType, user.userId);
+        this.delegationUserSelect = [user]
+        this.expButDisable = true
+      } else {
+        this.delegationUserSelect = []
+        this.expButDisable = false
+        this.deleteFlowAttar();
+      }
+      this.singleUserShow = false
+      this.singleUserKey += '1'
+    },
+    getExpSelect(selection) {
+      console.log(selection, "閫変腑鐨勮〃杈惧紡")
+      if (selection) {
+        this.expSelect = selection
+        this.deleteFlowAttar();
+        this.bpmnFormData[this.bpmnFormData.userType] = selection.name;
+        this.updateCustomElement('dataType', selection.dataType);
+        this.updateCustomElement('expId', selection.id.toString());
+        const userType = this.bpmnFormData.userType === "candidateDeptGroups" ? "candidateGroups" : this.bpmnFormData.userType
+        this.updateCustomElement(userType, selection.expression);
+        this.handleSelectData("exp", selection.id);
+        this.typeButDisable = true
+      } else {
+        this.expSelect = null
+        this.typeButDisable = false
+        this.deleteFlowAttar();
+      }
+    },
+    closeExp() {
+      this.expVisible = false
+    },
+    closeDept() {
+      this.deptShow = false
+      this.deptKey += '1'
+    },
+    closeSingleUser() {
+      this.singleUserShow = false
+      this.singleUserKey += '1'
+    },
+    closeRole() {
+      this.roleShow = false
+      this.roleKey += '1'
+    },
+    closeMultUser() {
+      this.multUserShow = false
+      this.multUserKey += 1;
+    },
+
+    // 鍒濆鍖栬〃鍗�
+    resetTaskForm() {
+      // 鍒濆鍖栬涓虹┖鍊�
+      this.bpmnFormData = {
+        userType: "candidateDeptGroups",
+        assignee: "",
+        candidateUsers: "",
+        candidateGroups: "",
+        dueDate: "",
+        priority: "",
+        dataType: "",
+        expId: "",
+      }
+      this.selectData = {
+        assignee: null,
+        candidateUsers: null,
+        candidateGroups: null,
+        exp: null,
+      }
+      // 娴佺▼鑺傜偣淇℃伅涓婂彇鍊�
+      for (let key in this.bpmnFormData) {
+        const value = this.modelerStore.element?.businessObject[key] || this.bpmnFormData[key];
+        this.$set(this.bpmnFormData, key, value);
+      }
+      console.log(this.bpmnFormData, "鍒濆鍖栨暟鎹�")
+      // 浜哄憳銆佽鑹层�侀儴闂ㄤ俊鎭洖鏄�
+      this.checkValuesEcho(this.bpmnFormData);
+    },
+
+    // 鏇存柊鑺傜偣淇℃伅
+    updateElementTask(key) {
+      const taskAttr = Object.create(null);
+      taskAttr[key] = this.bpmnFormData[key] || "";
+      this.modelerStore.modeling.updateProperties(this.modelerStore.element, taskAttr);
+    },
+
+    // 鏇存柊鑷畾涔夋祦绋嬭妭鐐�/鍙傛暟淇℃伅
+    updateCustomElement(key, value) {
+      const taskAttr = Object.create(null);
+      taskAttr[key] = value;
+      this.modelerStore.modeling.updateProperties(this.modelerStore.element, taskAttr);
+    },
+
+    // 鏇存柊浜哄憳绫诲瀷
+    updateUserType(val) {
+      console.log(val, "浜哄憳绫诲瀷")
+      // 鍒犻櫎xml涓凡閫夋嫨鏁版嵁绫诲瀷鑺傜偣
+      this.deleteFlowAttar();
+      // 娓呴櫎宸查�変汉鍛樻暟鎹�
+      if (val === "candidateDeptGroups") {
+        val = "candidateGroups"
+        this.delegationDeptSelect = []  // 閮ㄩ棬
+      } else if (val === "candidateGroups") {
+        this.delegationRoleSelect = []  // 瑙掕壊
+      } else if (val === "assignee" || val === "candidateUsers") {
+        this.delegationUserSelect = []   // 鎸囧畾鐢ㄦ埛/鍊欓�夌敤鎴�
+      }
+      this.expSelect = null  // 琛ㄨ揪寮忛噸缃负绌�
+      this.selectData = {
+        assignee: null,
+        candidateUsers: null,
+        candidateGroups: null,
+        exp: null,
+      }
+      this.typeButDisable = false
+      this.expButDisable = false
+      // 鍐欏叆userType鑺傜偣淇℃伅鍒皒ml
+      this.updateCustomElement('userType', val);
+    },
+
+    // 璁捐鍣ㄥ彸渚ц〃鍗曟暟鎹洖鏄�
+    checkValuesEcho(formData) {
+      if (formData.expId) {
+        this.getExpList(formData.expId);
+        this.typeButDisable = true
+        this.expButDisable = false
+      } else {
+        this.typeButDisable = false
+        this.expSelect = null
+        if ("candidateGroups" === formData.userType || "candidateDeptGroups" === formData.userType) {
+          this.getRoleOrDeptReview(formData.candidateGroups)
+        } else {
+          this.getUserList(formData[formData.userType], formData.userType);
+        }
+      }
+    },
+
+    // 鑾峰彇琛ㄨ揪寮忎俊鎭�
+    getExpList(expId) {
+      this.expSelect = this.modelerStore.expList?.find(item => item.id.toString() === expId);
+    },
+
+    // 鑾峰彇浜哄憳淇℃伅
+    getUserList(val, key) {
+      if (StrUtil.isNotBlank(val)) {
+        this.expButDisable = true
+        this.typeButDisable = false
+        if ('assignee' === key) {
+          const uList = this.modelerStore.userList.filter(item => item.userId == val);
+          this.delegationUserSelect = uList
+        } else {
+          const newArr = this.modelerStore.userList?.filter(i => val.split(',').includes(i.userId.toString()))
+          this.delegationUserSelect = newArr
+        }
+      } else {
+        this.expButDisable = false
+        this.delegationUserSelect = []
+      }
+    },
+
+    // 鑾峰彇瑙掕壊淇℃伅
+    getRoleOrDeptReview(ids) {
+      this.delegationDeptSelect = []
+      this.delegationRoleSelect = []
+      if (StrUtil.isNotBlank(ids)) {
+        this.expButDisable = true
+        this.typeButDisable = false
+        // 鏍规嵁id绛涢�夊嚭鏄鑹茶繕鏄儴闂�
+        const roleAndDeptIds = ids.split(",");
+        const deptIds = roleAndDeptIds.filter(item => item.includes("dept"));
+        const roleIds = roleAndDeptIds.filter(item => !item.includes("dept"));
+
+        if (roleIds && roleIds.length > 0) {  // 瑙掕壊
+          const targetRoleList = this.modelerStore.roleList?.filter(i => roleIds.includes(i.roleId.toString()))
+          this.delegationRoleSelect = targetRoleList;
+          this.bpmnFormData.userType = "candidateGroups"
+        }
+        if (deptIds && deptIds.length > 0){ // 閮ㄩ棬
+          const targetDeptList = this.modelerStore.deptList?.filter(i => deptIds.includes(i.id))
+          this.delegationDeptSelect = targetDeptList
+          this.bpmnFormData.userType = "candidateDeptGroups"
+        }
+      } else {
+        this.expButDisable = false
+        this.delegationDeptSelect = []
+        this.delegationRoleSelect = []
+      }
+    },
+
+    // ------ 娴佺▼瀹℃壒浜哄憳淇℃伅寮瑰嚭妗� start---------
+
+
+    // 澶勭悊浜哄憳鍥炴樉
+    handleSelectData(key, value) {
+      for (let oldKey in this.selectData) {
+        if (key !== oldKey) {
+          this.$set(this.selectData, oldKey, null);
+        } else {
+          this.$set(this.selectData, oldKey, value);
+        }
+      }
+    },
+
+    /*琛ㄨ揪寮忛�変腑璧嬪��*/
+    checkExpComplete() {
+      this.expVisible = false;
+    },
+
+    // 鍒犻櫎鑺傜偣
+    deleteFlowAttar() {
+      delete this.modelerStore.element.businessObject[`dataType`]
+      delete this.modelerStore.element.businessObject[`expId`]
+      delete this.modelerStore.element.businessObject[`assignee`]
+      delete this.modelerStore.element.businessObject[`candidateUsers`]
+      delete this.modelerStore.element.businessObject[`candidateGroups`]
+    },
+
+  }
+}
+</script>
+<style scoped>
+.select-tag {
+  margin-right: 3px;
+}
+</style>
diff --git a/src/components/Process/panel/formPanel.vue b/src/components/Process/panel/formPanel.vue
index c1d4f14..d5016c2 100644
--- a/src/components/Process/panel/formPanel.vue
+++ b/src/components/Process/panel/formPanel.vue
@@ -39,7 +39,6 @@
   watch: {
     id: {
       handler(newVal) {
-        console.log("鏂扮殑id鍊硷細", newVal)
         if (StrUtil.isNotBlank(newVal)) {
           this.init()
         }
@@ -59,12 +58,9 @@
     // 鏂规硶鍖�
     resetFlowForm() {
       this.bpmnFormData.formKey = this.modelerStore.element.businessObject.formKey;
-      console.log(this.bpmnFormData.formKey, "formKey!!")
     },
 
     updateElementFormKey(val) {
-      console.log(val, "鏁版嵁鏀瑰彉")
-      console.log(this.bpmnFormData.formKey, "鏁版嵁鏀瑰彉")
       this.init()
       if (StrUtil.isBlank(val)) {
         delete this.modelerStore.element.businessObject[`formKey`]
@@ -80,7 +76,6 @@
           item.formId = item.formId.toString();
         })
         this.formList = res.data;
-        console.log("琛ㄥ崟淇℃伅锛�", this.formList)
       })
     }
   }
diff --git a/src/components/flow/Dept/MyDept.vue b/src/components/flow/Dept/MyDept.vue
index ea0b709..c74ced8 100644
--- a/src/components/flow/Dept/MyDept.vue
+++ b/src/components/flow/Dept/MyDept.vue
@@ -82,7 +82,7 @@
     },
     handleCheckChange(data, checked, indeterminate) {
       if (checked) {
-        if (this.checkList.indexOf(data) === -1) {
+        if (this.checkList.every(item => item.id !== data.id)) {
           this.checkList.push(data)
         }
       } else {
diff --git a/src/components/flow/Expression/index.vue b/src/components/flow/Expression/index.vue
index 7c9776c..973e5cb 100644
--- a/src/components/flow/Expression/index.vue
+++ b/src/components/flow/Expression/index.vue
@@ -54,7 +54,7 @@
   props: {
     // 鍥炴樉鏁版嵁浼犲��
     selectValues: {
-      type: Number | String,
+      type: Object,
       default: null,
       required: false
     }
@@ -93,8 +93,10 @@
   watch: {
     selectValues: {
       handler(newVal) {
-        if (StrUtil.isNotBlank(newVal)) {
-          this.radioSelected = newVal
+        if (newVal) {
+          this.radioSelected = newVal.id
+        } else {
+          this.radioSelected = null
         }
       },
       immediate: true,
diff --git a/src/components/flow/Role/MyRole.vue b/src/components/flow/Role/MyRole.vue
index f2027a0..dfa4e74 100644
--- a/src/components/flow/Role/MyRole.vue
+++ b/src/components/flow/Role/MyRole.vue
@@ -24,13 +24,13 @@
         </el-form-item>
       </el-form>
 
-      <el-table ref="dataTable"  v-loading="loading" :data="roleList" @selection-change="handleMultipleRoleSelect">
+      <el-table ref="dataTable"  v-loading="loading"  :data="roleList" @selection-change="handleMultipleRoleSelect">
         <el-table-column type="selection" width="50" align="center" />
-        <el-table-column label="瑙掕壊缂栧彿" prop="roleId" width="120" />
-        <el-table-column label="瑙掕壊鍚嶇О" prop="roleName" :show-overflow-tooltip="true" width="150" />
-        <el-table-column label="鏉冮檺瀛楃" prop="roleKey" :show-overflow-tooltip="true" width="150" />
-        <el-table-column label="鏄剧ず椤哄簭" prop="roleSort" width="100" />
-        <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180">
+        <el-table-column label="瑙掕壊缂栧彿" prop="roleId"/>
+        <el-table-column label="瑙掕壊鍚嶇О" prop="roleName" :show-overflow-tooltip="true"/>
+        <el-table-column label="鏉冮檺瀛楃" prop="roleKey" :show-overflow-tooltip="true"/>
+        <el-table-column label="鏄剧ず椤哄簭" prop="roleSort"/>
+        <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime">
           <template slot-scope="scope">
             <span>{{ parseTime(scope.row.createTime) }}</span>
           </template>
@@ -110,65 +110,24 @@
     };
   },
   watch: {
-    selectValues: {
-      deep: true,
-      handler(newVal) {
-        if (newVal && newVal.length > 0) {
-          this.$nextTick(() => {
-            this.$refs.dataTable.clearSelection();
-            this.selectRoleList = []
-            newVal.forEach(item => {
-              this.roleList.forEach(role => {
-                if (item.roleId === role.roleId) {
-                  this.selectRoleList.push(role)
-                  this.$refs.dataTable.toggleRowSelection(role)
-                }
-              })
-            });
-          })
-        } else {
-          this.selectRoleList = []
-        }
-      }
-    },
-    roleList: {
-      deep: true,
-      handler(newVal) {
-        if (newVal && newVal.length > 0) {
-          this.$nextTick(() => {
-            this.$refs.dataTable.clearSelection();
-            this.selectValues.forEach(item => {
-              newVal.forEach(role => {
-                if (item.roleId === role.roleId) {
-                  this.$refs.dataTable.toggleRowSelection(role)
-                }
-              })
-            });
-          })
-        }
-      }
-    }
   },
   mounted() {
+    console.log("鎴戝鍦ㄤ簡")
     this.getList();
   },
   methods: {
+    // 淇濆瓨閫変腑鐨勬暟鎹甶d,row-key灏辨槸瑕佹寚瀹氫竴涓猭ey鏍囪瘑杩欎竴琛岀殑鏁版嵁
+    getRowKey (row) {
+      return row.roleId
+    },
     setChecked(val) {
-      if (val && val.length > 0) {
-        this.$nextTick(() => {
-          this.$refs.dataTable.clearSelection();
-          this.selectRoleList = val
-          val.forEach(check => {
-            this.roleList.forEach(item => {
-              if (check.roleId === item.roleId) {
-                this.$refs.dataTable.toggleRowSelection(item)
-              }
-            })
-          })
-        });
-      } else {
-        this.selectRoleList = []
-      }
+      console.log("鎺ユ敹鍒扮殑鏁版嵁", val)
+      this.selectRoleList = val
+      this.$nextTick(() => {
+        val.forEach(check => {
+          this.$refs.dataTable.toggleRowSelection(check, true)
+        })
+      });
     },
     close() {
       this.$emit("close")
@@ -187,8 +146,8 @@
       );
     },
     // 澶氶�夋閫変腑鏁版嵁
-    handleMultipleRoleSelect(selection) {
-      this.selectRoleList = selection
+    handleMultipleRoleSelect(rows) {
+      this.selectRoleList = rows
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
diff --git a/src/components/flow/User/MultUser.vue b/src/components/flow/User/MultUser.vue
index c4e18b7..8e1f059 100644
--- a/src/components/flow/User/MultUser.vue
+++ b/src/components/flow/User/MultUser.vue
@@ -6,6 +6,7 @@
       width="65%"
       :destroy-on-close="true"
       :close-on-click-modal="false"
+      :modal-append-to-body="false"
       :modal="false"
       :before-close="close">
       <el-row :gutter="20">
@@ -53,7 +54,7 @@
             </el-form-item>
           </el-form>
           <el-table ref="dataTable" v-loading="loading" :row-key="getRowKey" :data="userList" @selection-change="handleUserSelect">
-            <el-table-column type="selection" align="center" />
+            <el-table-column type="selection" align="center" :reserve-selection="true"/>
             <el-table-column label="鐢ㄦ埛缂栧彿" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
             <el-table-column label="鐧诲綍璐﹀彿" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
             <el-table-column label="鐢ㄦ埛濮撳悕" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
@@ -96,7 +97,7 @@
     },
     // 鍥炴樉鏁版嵁浼犲��
     selectUserList: {
-      type: Number,
+      type: Array,
       default: null,
       required: false
     },
@@ -104,9 +105,9 @@
   },
   data() {
     return {
-      innerSelected: [],
+      innerSelected: [], // 閫変腑
       // 閬僵灞�
-      loading: true,
+      loading: false,
       // 閫変腑鏁扮粍
       ids: [],
       // 鏄剧ず鎼滅储鏉′欢
@@ -148,7 +149,6 @@
         { key: 5, label: `鐘舵�乣, visible: true },
         { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }
       ],
-      radioSelected: 0, // 鍗曢�夋浼犲��
     };
   },
   watch: {
@@ -156,46 +156,23 @@
     deptName(val) {
       this.$refs.tree.filter(val);
     },
-    selectUserList: {
-      deep: true,
-      handler(newVal) {
-        console.log(this.selectValues, "浼犲叆鐨勫�兼槸")
-        this.setChecked(newVal)
-      },
-    },
-    userList: {
-      deep: true,
-      handler(newVal) {
-        this.$nextTick(() => {
-          this.$refs.dataTable.clearSelection();
-          this.innerSelected.forEach(check => {
-            newVal.forEach(item => {
-              if (check.userId === item.userId) {
-                this.$refs.dataTable.toggleRowSelection(item)
-              }
-            })
-          })
-        });
-      },
-    },
   },
   mounted() {
-    this.getList();
     this.getDeptTree();
+    this.getList();
   },
   methods: {
+    getRowKeys(row) {
+      return row.userId
+    },
     setChecked(val) {
+      this.innerSelected = val
       this.$nextTick(() => {
-        this.$refs.dataTable.clearSelection();
-        this.innerSelected = val
         val.forEach(check => {
-          this.userList.forEach(item => {
-            if (check.userId === item.userId) {
-              this.$refs.dataTable.toggleRowSelection(item)
-            }
-          })
+          this.$refs.dataTable.toggleRowSelection(check, true)
         })
       });
+
     },
     /** 鏌ヨ鐢ㄦ埛鍒楄〃 */
     getList() {
@@ -215,7 +192,7 @@
     },
     // 淇濆瓨閫変腑鐨勬暟鎹甶d,row-key灏辨槸瑕佹寚瀹氫竴涓猭ey鏍囪瘑杩欎竴琛岀殑鏁版嵁
     getRowKey (row) {
-      return row.id
+      return row.userId
     },
     // 绛涢�夎妭鐐�
     filterNode(value, data) {
@@ -229,11 +206,17 @@
     },
     // 浼犻�掗�変腑鍊�
     handleUserSelect(selectionList) {
-      console.log("閫変腑鍊�", selectionList)
-      this.innerSelected = selectionList
+
+      console.log("鍘熷厛鍊�", this.innerSelected)
+      this.innerSelected = [...new Set(selectionList)]
+      console.log("閫変腑鍊�", this.innerSelected)
     },
     getSelected() {
       this.$emit('submit', this.innerSelected);
+
+    },
+    close() {
+      this.$emit("close")
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
@@ -248,9 +231,7 @@
       this.$refs.tree.setCurrentKey(null);
       this.handleQuery();
     },
-    close() {
-      this.$emit("close")
-    },
+
   }
 };
 </script>
diff --git a/src/components/flow/User/SingleUser.vue b/src/components/flow/User/SingleUser.vue
index e8cf64d..ff2cf26 100644
--- a/src/components/flow/User/SingleUser.vue
+++ b/src/components/flow/User/SingleUser.vue
@@ -147,7 +147,6 @@
         { key: 5, label: `鐘舵�乣, visible: true },
         { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }
       ],
-      radioSelected: 0, // 鍗曢�夋浼犲��
       selectUserList: [] // 鍥炴樉鏁版嵁浼犲��
     };
   },
@@ -179,14 +178,15 @@
       handler(newVal) {
         if (newVal) {
           this.$nextTick(() => {
-            this.$refs.dataTable.clearSelection();
-            if (! this.innerSelected) {
-              newVal.forEach(item => {
-                if (this.innerSelected.userId === item.userId) {
-                  this.innerSelected = item
-                  this.$refs.dataTable.toggleRowSelection(item)
-                }
-              })
+            if (this.$refs.dataTable) {
+              if (! this.innerSelected) {
+                newVal.forEach(item => {
+                  if (this.innerSelected.userId === item.userId) {
+                    this.innerSelected = item
+                    this.$refs.dataTable.toggleRowSelection(item)
+                  }
+                })
+              }
             }
           });
         } else {
diff --git a/src/components/flow/User/index.vue b/src/components/flow/User/index.vue
index 33dcb57..5109608 100644
--- a/src/components/flow/User/index.vue
+++ b/src/components/flow/User/index.vue
@@ -245,8 +245,6 @@
         this.$nextTick(() => {
           this.$refs.dataTable.clearSelection();
           this.userList.forEach(item => {
-            console.log("鍗曢�夊�硷細", this.radioSelected)
-            console.log(parseInt(this.radioSelected) === item.userId)
             if (parseInt(this.radioSelected) === item.userId) {
               this.$refs.dataTable.toggleRowSelection(item)
             }
diff --git a/src/views/flowable/definition/model.vue b/src/views/flowable/definition/model.vue
index bead3c6..3ef28fd 100644
--- a/src/views/flowable/definition/model.vue
+++ b/src/views/flowable/definition/model.vue
@@ -104,7 +104,6 @@
     /** 鎸囧畾娴佺▼鍔炵悊浜哄憳鍒楄〃 */
     getDataList() {
       userList().then(res => {
-        console.log(this.modelerStore, "dhg")
         this.modelerStore.userList = res.data;
       })
       roleList().then(res => {
diff --git a/src/views/flowable/task/myProcess/send/index.vue b/src/views/flowable/task/myProcess/send/index.vue
index ff75151..e87f061 100644
--- a/src/views/flowable/task/myProcess/send/index.vue
+++ b/src/views/flowable/task/myProcess/send/index.vue
@@ -84,7 +84,7 @@
           <el-form-item label="鐢ㄦ埛绫诲瀷" prop="peopleType">
             <el-select v-model="delegationForm.peopleType" @change="peopleTypeChange" placeholder="璇烽�夋嫨鐢ㄦ埛绫诲瀷">
               <el-option label="鎸囧畾浜哄憳" value="FIX_USER"></el-option>
-              <el-option label="鍊欓�夌敤鎴�" value="USER"></el-option>
+              <el-option label="鍊欓�変汉鍛�" value="USER"></el-option>
               <el-option label="鍊欓�夐儴闂�" value="DEPT"></el-option>
               <el-option label="鍊欓�夎鑹�" value="ROLE"></el-option>
             </el-select>
@@ -98,7 +98,7 @@
               <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">
+          <el-form-item v-if="delegationForm.peopleType === 'FIX_USER'" label="鎸囧畾浜哄憳" prop="targetId">
             <single-user ref="singleUser" :select-user="delegationForm.targetId" :show="singleUserShow" @close="closeSingleUser" @submit="getSingleUserSelect"/>
             <div style="display: flex;align-items: center">
               <div>
@@ -107,7 +107,7 @@
               <el-button style="margin-left: 8px" type="text" @click="editSingleUser">閫夋嫨</el-button>
             </div>
           </el-form-item>
-          <el-form-item v-if="delegationForm.peopleType === 'USER'" label="鍊欓�夌敤鎴�" prop="targetId">
+          <el-form-item v-if="delegationForm.peopleType === 'USER'" label="鍊欓�変汉鍛�" prop="targetId">
             <mult-user ref="multUser" :select-user="delegationUserSelect" :show="multUserShow" @close="closeMultUser" @submit="getMultUserSelect"/>
             <div style="display: flex;align-items: center">
               <div>
@@ -339,6 +339,8 @@
       if (deptList && deptList.length > 0) {
         this.delegationForm.targetId = deptList.map(item => item.id).join(",")
         this.delegationDeptSelect = deptList
+      } else {
+        this.delegationDeptSelect = []
       }
       this.deptShow = false
     },
@@ -446,7 +448,6 @@
         //   })
         // }
       }).catch(res => {
-        console.log("鎶ラ敊浜嗭細", res)
         this.goBack();
       })
     },
diff --git a/src/views/function/api/purchase.js b/src/views/function/api/purchase.js
index 1ef3bc0..34c094e 100644
--- a/src/views/function/api/purchase.js
+++ b/src/views/function/api/purchase.js
@@ -5,7 +5,6 @@
 
 export const getPurchaseApplyList = data => {
     const queryString = commonUtil.objectToQueryStr(data);
-    console.log("aaaaaaaaaaaaaaaaaaaaaaa2", queryString);
     return request({
         url: '/purchase/list',
         method: 'post',
@@ -47,4 +46,4 @@
         method: 'post',
         data: fd
     });
-}
\ No newline at end of file
+}
diff --git a/src/views/function/leaveApply.vue b/src/views/function/leaveApply.vue
index 15b9672..f93d294 100644
--- a/src/views/function/leaveApply.vue
+++ b/src/views/function/leaveApply.vue
@@ -100,7 +100,7 @@
                 <el-form-item label="閮ㄩ棬棰嗗">
                     <el-select v-model="form.deptleader">
                         <el-option
-                            v-for="(user, i) in userList" 
+                            v-for="(user, i) in userList"
                             :key="i"
                             :label="user.userName"
                             :value="user.userName"
@@ -170,7 +170,6 @@
     mounted() {
         this.getLeaveApplyListAndRender(this.searchParams)
         listUser().then(res => {
-            console.log("鑾峰彇鐢ㄦ埛", res);
             this.userList = res.rows;
         });
     },
@@ -184,7 +183,7 @@
                 const ids = this.selectionIds.join(",");
                 this.deleteByIdsAndRender(ids);
             });
-           
+
         },
         handleExport() {
             this.$confirm('纭畾瀵煎嚭鎵�鏈夋暟鎹悧锛�', {
diff --git a/src/views/index.vue b/src/views/index.vue
index 42b2dd7..513d018 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -208,7 +208,6 @@
             this.queryParams.endTime = this.timeMerge[1];
         },
         handleQuery() {
-            console.log(this.queryParams);
             const obj = {
                 startDate: this.queryParams.startTime,
                 endDate: this.queryParams.endTime,
diff --git a/src/views/projectEngineering/projectLibrary/projectDetails.vue b/src/views/projectEngineering/projectLibrary/projectDetails.vue
index 6204cbf..9332ed8 100644
--- a/src/views/projectEngineering/projectLibrary/projectDetails.vue
+++ b/src/views/projectEngineering/projectLibrary/projectDetails.vue
@@ -131,7 +131,6 @@
     },
     handleClick(tabTarget) {
       this.componentName = this.TABS_DATA[tabTarget.index].componentName;
-      console.log(this.projectForm);
     },
     changeTable(index) {
       this.componentName = this.TABS_DATA[index].componentName;
diff --git a/src/views/projectManage/plan/planInfo.vue b/src/views/projectManage/plan/planInfo.vue
index b7cabf3..789eaf3 100644
--- a/src/views/projectManage/plan/planInfo.vue
+++ b/src/views/projectManage/plan/planInfo.vue
@@ -193,7 +193,6 @@
     // 淇濆瓨褰撳墠琛屾暟鎹�
     handleSave(index) {
       this.tableData[index].projectPlanRecordId = this.projectInfoData.id;
-      console.log(this.tableData[index])
       savePlanInfo(this.tableData[index], this.planInfoData.id).then(response => {
         this.$message.success('淇濆瓨鎴愬姛');
       });
diff --git a/src/views/projectProcess/detail/index.vue b/src/views/projectProcess/detail/index.vue
index 6c17627..207b6a4 100644
--- a/src/views/projectProcess/detail/index.vue
+++ b/src/views/projectProcess/detail/index.vue
@@ -232,13 +232,16 @@
     },
     search() {
       this.queryParams.currentPage = 1;
+      this.tableLoading = true
       this.getList()
     },
     sizeChange(pageSize) {
+      this.tableLoading = true
       this.queryParams.pageSize = pageSize;
       this.getList()
     },
     pageChange(pageNum) {
+      this.tableLoading = true
       this.queryParams.currentPage = pageNum;
       this.getList()
     },
diff --git a/src/views/projectProcess/index.vue b/src/views/projectProcess/index.vue
index 9838167..a71814a 100644
--- a/src/views/projectProcess/index.vue
+++ b/src/views/projectProcess/index.vue
@@ -393,7 +393,6 @@
   methods: {
     // 鏌ョ湅璇︽儏
     lookProcessDetail(row) {
-      console.log(row.processDefId)
       this.$router.push({
         path: '/projectFlow/detail',
         query: {
diff --git a/src/views/todo/api/allTodoList.js b/src/views/todo/api/allTodoList.js
index 3f9cb28..b0d011a 100644
--- a/src/views/todo/api/allTodoList.js
+++ b/src/views/todo/api/allTodoList.js
@@ -3,9 +3,7 @@
 
 // 鑾峰彇鎴戠殑寰呭姙
 export const getAllTodoList = data => {
-    console.log("aaaaaaaaaaaaaaaaaaaaaaa1");
     const queryString = commonUtil.objectToQueryStr(data);
-    console.log("aaaaaaaaaaaaaaaaaaaaaaa2", queryString);
     return request({
         url: '/task/manage/alllist',
         method: 'post',
@@ -14,4 +12,4 @@
             'Content-Type': 'application/x-www-form-urlencoded'
         },
     });
-}
\ No newline at end of file
+}
diff --git a/src/views/todo/api/myTodoList.js b/src/views/todo/api/myTodoList.js
index d8d2bdd..2189cd3 100644
--- a/src/views/todo/api/myTodoList.js
+++ b/src/views/todo/api/myTodoList.js
@@ -3,9 +3,7 @@
 
 // 鑾峰彇鎴戠殑寰呭姙
 export const getMyTodoList = data => {
-    console.log("aaaaaaaaaaaaaaaaaaaaaaa1");
     const queryString = commonUtil.objectToQueryStr(data);
-    console.log("aaaaaaaaaaaaaaaaaaaaaaa2", queryString);
     return request({
         url: '/task/manage/mylist',
         method: 'post',
@@ -101,4 +99,4 @@
         url: url + `?taskid=${taksId}`,
         method: 'get',
     });
-}
\ No newline at end of file
+}
diff --git a/src/views/todo/processTask.vue b/src/views/todo/processTask.vue
index 4ad1076..8504a5a 100644
--- a/src/views/todo/processTask.vue
+++ b/src/views/todo/processTask.vue
@@ -109,7 +109,6 @@
                 if (this.step === "input") {
                     const id = this.$route.query.id;
                     const {content} = data;
-                    console.log(id);
                     fillMeetingRecord({
                         id,
                         content
@@ -118,7 +117,7 @@
                     });
                 }
             }
-     
+
             if (this.taskType === "leaveapply") {
                 if (
                     this.step === "destroyapply"

--
Gitblit v1.8.0