Kaynağa Gözat

入库申请明细添加收货人字段

chensibo 2 gün önce
ebeveyn
işleme
017729c14a

+ 48 - 2
src/views/rtkwms/inrequest/InRequestForm.vue

@@ -255,6 +255,25 @@
                 </el-select>
               </el-form-item>
             </el-col>
+            <el-col :span="12">
+              <el-form-item label="收货人" prop="receivePerson">
+                <el-select
+                  v-model="formData.receivePerson"
+                  filterable
+                  :disabled="isFormDisabled || !formData.businessType"
+                  placeholder="请输入收货人"
+                  clearable
+                  style="width: 100%"
+                >
+                  <el-option
+                    v-for="item in users"
+                    :key="parseInt(item.id)"
+                    :label="item.nickname"
+                    :value="parseInt(item.id)"
+                  />
+                </el-select>
+              </el-form-item>
+            </el-col>
             <el-col :span="8" class="text-right">
               <el-button
                 type="primary"
@@ -428,6 +447,7 @@
             formData.bpmInstanceId !== undefined
           "
           :id="formData.bpmInstanceId"
+          :receive-person="formData.receivePerson"
         />
         <div v-else class="isNotApproval">暂未开启工作流</div>
       </el-tab-pane>
@@ -443,8 +463,9 @@ import * as InRequestApi from "@/api/wms/output/inrequest";
 import DepartMentSelect from "./components/DepartMentSelect.vue";
 import AttachmentUpload from "../../wms/incoming/register/components/AttachmentUpload.vue";
 // 审批任务
-import ApprovalTask from "../../wms/quality/iqcInspection/components/ApprovalTaskNew.vue";
+import ApprovalTask from "../../wms/quality/iqcInspection/components/ApprovalTaskNew2.vue";
 import { getFilesById } from "@/api/wms/incoming/register";
+import { listSimpleUsers } from "@/api/system/user";
 export default {
   name: "InRequestForm",
   components: {
@@ -461,6 +482,7 @@ export default {
       businessDescribeList: [],
       warehouseList: [],
       uploadFiles: [], // 上传的文件
+      users: [],
       loading: false,
       // 页面标题
       dialogTitle: "",
@@ -521,6 +543,13 @@ export default {
         expectedTime: [
           { required: true, message: "预计入库时间不能为空", trigger: "blur" },
         ],
+        receivePerson: [
+          {
+            required: true,
+            message: "收货人不能为空",
+            trigger: "blur",
+          },
+        ],
       },
     };
   },
@@ -572,11 +601,12 @@ export default {
     },
     // 动态生成表单验证规则
     dynamicFormRules() {
-      // 从原始规则中只保留业务类型、优先级、预计出入库时间
+      // 从原始规则中只保留业务类型、优先级、预计出入库时间、收货人
       const baseRules = {
         businessType: this.formRules.businessType,
         priority: this.formRules.priority,
         expectedTime: this.formRules.expectedTime,
+        receivePerson: this.formRules.receivePerson,
       };
 
       const rules = { ...baseRules };
@@ -657,6 +687,9 @@ export default {
   created() {
     // 从路由参数获取ID
     const id = this.$route.query.id;
+    listSimpleUsers().then((response) => {
+      this.users = response.data;
+    });
     if (id) {
       this.dialogTitle = "修改";
       // this.initData(id)
@@ -865,6 +898,9 @@ export default {
           ? res.data.priority.toString()
           : "0";
         res.data.status = res.data.status ? res.data.status.toString() : "0";
+        res.data.receivePerson = res.data.receivePerson
+          ? Number(res.data.receivePerson)
+          : null;
         // res.data.list = res.data.list || [];
         this.formData = res.data;
         // 附件列表
@@ -879,6 +915,11 @@ export default {
       await this.$refs["formRef"].validate();
       this.formLoading = true;
       try {
+        // /* 1. 深拷贝一份,避免污染页面数据 */
+        // const data = JSON.parse(JSON.stringify(this.formData));
+        // /* 2. 把收货人转回字符串 */
+        // data.receivePerson =
+        //   data.receivePerson != null ? String(data.receivePerson) : "";
         const data = this.formData;
         data.list = data.list
           .filter((v) => v.nowDeliveredQty)
@@ -924,6 +965,11 @@ export default {
     },
     /** 提交按钮 */
     async commit() {
+      console.log("打印一下收货人信息", this.formData.receivePerson);
+      if (!this.formData.receivePerson) {
+        this.$modal.msgWarning("请先添加收货人");
+        return;
+      }
       const menuId = this.$route.meta.id;
 
       // 只提取需要的字段

+ 22 - 6
src/views/wms/quality/iqcInspection/components/ApprovalTaskNew.vue

@@ -167,7 +167,8 @@
         :rules="updateAssignee.rules"
         label-width="110px"
       >
-        <el-form-item label="新审批人" prop="assigneeUserId">
+        <!-- 数据多的时候采用实时搜索 -->
+        <!-- <el-form-item label="新审批人" prop="assigneeUserId">
           <el-select
             v-model="updateAssignee.form.assigneeUserId"
             filterable
@@ -182,6 +183,21 @@
               :value="parseInt(item.id)"
             />
           </el-select>
+        </el-form-item> -->
+        <el-form-item label="新审批人" prop="assigneeUserId">
+          <el-select
+            v-model="updateAssignee.form.assigneeUserId"
+            filterable
+            clearable
+            style="width: 100%"
+          >
+            <el-option
+              v-for="item in userOptions"
+              :key="parseInt(item.id)"
+              :label="item.nickname"
+              :value="parseInt(item.id)"
+            />
+          </el-select>
         </el-form-item>
         <el-form-item label="转办原因" prop="reason">
           <el-input
@@ -413,7 +429,7 @@ export default {
             }
             if (!task.assigneeUser || task.assigneeUser.id !== userId) {
               // 自己不是处理人
-              console.log('待审批人',task.assigneeUser);
+              console.log("待审批人", task.assigneeUser);
               return;
             }
             this.runningTasks.push({ ...task });
@@ -547,8 +563,8 @@ export default {
           reason: this.auditForms[index].reason,
           status: pass,
         };
-        //通过
-        if(pass === 2){
+        // 通过
+        if (pass === 2) {
           approveTask(data).then((response) => {
             this.$modal.msgSuccess("审批通过成功!");
             this.getDetail(); // 获得最新详情
@@ -557,8 +573,8 @@ export default {
             this.$router.go(-1);
           });
         }
-        //不通过
-        else{
+        // 不通过
+        else {
           rejectTask(data).then((response) => {
             this.$modal.msgSuccess("审批驳回成功!");
             this.getDetail(); // 获得最新详情

+ 640 - 0
src/views/wms/quality/iqcInspection/components/ApprovalTaskNew2.vue

@@ -0,0 +1,640 @@
+<template>
+  <div class="app-container">
+    <el-row>
+      <el-col :span="12">
+        <!-- 审批信息 -->
+        <el-card
+          v-for="(item, index) in runningTasks"
+          :key="index"
+          v-loading="processInstanceLoading"
+          class="box-card"
+        >
+          <div slot="header" class="clearfix">
+            <span class="el-icon-picture-outline"
+              >审批任务【{{ item.name }}】</span
+            >
+          </div>
+          <el-col :span="16" :offset="6">
+            <el-form
+              :ref="'form' + index"
+              :model="auditForms[index]"
+              :rules="auditRule"
+              label-width="100px"
+            >
+              <el-form-item
+                v-if="processInstance && processInstance.name"
+                label="流程名"
+              >
+                {{ processInstance.name }}
+              </el-form-item>
+              <el-form-item
+                v-if="processInstance && processInstance.startUser"
+                label="流程发起人"
+              >
+                {{ processInstance.startUser.nickname }}
+                <el-tag type="info" size="mini">{{
+                  processInstance.startUser.deptName
+                }}</el-tag>
+              </el-form-item>
+              <el-form-item label="审批建议" prop="reason">
+                <el-input
+                  v-model="auditForms[index].reason"
+                  type="textarea"
+                  placeholder="请输入审批建议"
+                />
+              </el-form-item>
+            </el-form>
+            <div style="margin-left: 10%; margin-bottom: 20px; font-size: 14px">
+              <el-button
+                icon="el-icon-edit-outline"
+                type="success"
+                size="mini"
+                @click="handleAudit(item, 2)"
+                >通过</el-button
+              >
+              <el-button
+                icon="el-icon-circle-close"
+                type="danger"
+                size="mini"
+                @click="handleAudit(item, 3)"
+                >不通过</el-button
+              >
+              <el-button
+                icon="el-icon-edit-outline"
+                type="primary"
+                size="mini"
+                @click="handleUpdateAssignee(item)"
+                >转办</el-button
+              >
+            </div>
+          </el-col>
+        </el-card>
+        <!-- 审批记录 -->
+        <el-card v-loading="tasksLoad" class="box-card">
+          <div slot="header" class="clearfix">
+            <span class="el-icon-picture-outline">审批记录</span>
+          </div>
+          <el-col :span="16" :offset="4">
+            <div class="block">
+              <el-timeline>
+                <el-timeline-item
+                  v-for="(item, index) in tasks"
+                  :key="index"
+                  :icon="getTimelineItemIcon(item)"
+                  :type="getTimelineItemType(item)"
+                >
+                  <p style="font-weight: 700">任务:{{ item.name }}</p>
+                  <el-card :body-style="{ padding: '10px' }">
+                    <label
+                      v-if="item.assigneeUser"
+                      style="font-weight: normal; margin-right: 30px"
+                    >
+                      审批人:{{ item.assigneeUser.nickname }}
+                      <el-tag type="info" size="mini">{{
+                        item.assigneeUser.deptName
+                      }}</el-tag>
+                    </label>
+                    <label v-if="item.createTime" style="font-weight: normal"
+                      >创建时间:</label
+                    >
+                    <label style="color: #8a909c; font-weight: normal">{{
+                      parseTime(item.createTime)
+                    }}</label>
+                    <label
+                      v-if="item.endTime"
+                      style="margin-left: 30px; font-weight: normal"
+                      >审批时间:</label
+                    >
+                    <label
+                      v-if="item.endTime"
+                      style="color: #8a909c; font-weight: normal"
+                    >
+                      {{ parseTime(item.endTime) }}</label
+                    >
+                    <label
+                      v-if="item.durationInMillis"
+                      style="margin-left: 30px; font-weight: normal"
+                      >耗时:</label
+                    >
+                    <label
+                      v-if="item.durationInMillis"
+                      style="color: #8a909c; font-weight: normal"
+                    >
+                      {{ getDateStar(item.durationInMillis) }}
+                    </label>
+                    <p v-if="item.reason">
+                      <el-tag :type="getTimelineItemType(item)">{{
+                        item.status === 2 ? "通过" : "不通过"
+                      }}</el-tag>
+                      <span :type="getTimelineItemType(item)">{{
+                        item.reason
+                      }}</span>
+                    </p>
+                  </el-card>
+                </el-timeline-item>
+              </el-timeline>
+            </div>
+          </el-col>
+        </el-card></el-col
+      >
+      <el-col :span="12">
+        <!-- 高亮流程图 -->
+        <el-card v-loading="processInstanceLoading" class="box-card">
+          <div slot="header" class="clearfix">
+            <span class="el-icon-picture-outline">流程图</span>
+          </div>
+          <my-process-viewer
+            key="designer"
+            v-model="bpmnXML"
+            v-bind="bpmnControlForm"
+            :activity-data="activityList"
+            :process-instance-data="processInstance"
+            :task-data="tasks"
+          /> </el-card
+      ></el-col>
+    </el-row>
+
+    <!-- 对话框(转派审批人) -->
+    <el-dialog
+      title="转派审批人"
+      :visible.sync="updateAssignee.open"
+      width="500px"
+      append-to-body
+    >
+      <el-form
+        ref="updateAssigneeForm"
+        :model="updateAssignee.form"
+        :rules="updateAssignee.rules"
+        label-width="110px"
+      >
+        <!-- 数据多的时候采用实时搜索 -->
+        <!-- <el-form-item label="新审批人" prop="assigneeUserId">
+          <el-select
+            v-model="updateAssignee.form.assigneeUserId"
+            filterable
+            :filter-method="filterValue"
+            clearable
+            style="width: 100%"
+          >
+            <el-option
+              v-for="item in userOptions"
+              :key="parseInt(item.id)"
+              :label="item.nickname"
+              :value="parseInt(item.id)"
+            />
+          </el-select>
+        </el-form-item> -->
+        <el-form-item label="新审批人" prop="assigneeUserId">
+          <el-select
+            v-model="updateAssignee.form.assigneeUserId"
+            filterable
+            clearable
+            style="width: 100%"
+          >
+            <el-option
+              v-for="item in userOptions"
+              :key="parseInt(item.id)"
+              :label="item.nickname"
+              :value="parseInt(item.id)"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="转办原因" prop="reason">
+          <el-input
+            v-model="updateAssignee.form.reason"
+            type="textarea"
+            :rows="3"
+            clearable
+            placeholder="请输入转办理由"
+          />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitUpdateAssigneeForm"
+          >确 定</el-button
+        >
+        <el-button @click="cancelUpdateAssigneeForm">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { getProcessDefinitionBpmnXML } from "@/api/bpm/definition";
+import { DICT_TYPE, getDictDatas } from "@/utils/dict";
+import store from "@/store";
+import { decodeFields } from "@/utils/formGenerator";
+import { getProcessInstance } from "@/api/bpm/processInstance";
+import {
+  approveTask,
+  rejectTask,
+  getTaskListByProcessInstanceId,
+  updateTaskAssignee,
+} from "@/api/bpm/task";
+import { getDate } from "@/utils/dateUtils";
+import { listSimpleUsers } from "@/api/system/user";
+import { getActivityList } from "@/api/bpm/activity";
+import { getUserProfile } from "@/api/system/user";
+
+// 流程实例的详情页,可用于审批
+export default {
+  name: "ApprovalTask",
+  components: {},
+  props: {
+    id: {
+      type: [String, Number],
+      default: "",
+    },
+    receivePerson: {
+      type: [String, Number],
+      default: null,
+    },
+  },
+  data() {
+    return {
+      // 遮罩层
+      processInstanceLoading: false,
+      // 流程实例
+      // id: undefined, // 流程实例的编号
+      processInstance: {},
+
+      // 流程表单详情
+      detailForm: {
+        fields: [],
+      },
+
+      // BPMN 数据
+      bpmnXML: null,
+      bpmnControlForm: {
+        prefix: "flowable",
+      },
+      activityList: [],
+
+      // 审批记录
+      tasksLoad: false,
+      tasks: [],
+      firstUserTaskKey: null,
+
+      // 审批表单
+      runningTasks: [],
+      auditForms: [],
+      auditRule: {
+        reason: [
+          { required: true, message: "审批建议不能为空", trigger: "blur" },
+        ],
+      },
+
+      // 转派审批人
+      userOptions: [],
+      updateAssignee: {
+        open: false,
+        form: {
+          assigneeUserId: undefined,
+          reason: undefined,
+        },
+        rules: {
+          assigneeUserId: [
+            { required: true, message: "新审批人不能为空", trigger: "change" },
+          ],
+          reason: [
+            { required: true, message: "转办原因不能为空", trigger: "change" },
+          ],
+        },
+      },
+
+      // 数据字典
+      categoryDictDatas: getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY),
+    };
+  },
+  watch: {
+    id: {
+      handler() {
+        if (!this.id) {
+          this.$message.error("未传递id参数,无法查看流程信息");
+          return;
+        }
+        this.getDetail();
+      },
+      immediate: true,
+    },
+  },
+  created() {
+    this.getUserList();
+    // this.getUser(); // 获取当前用户信息用来校验用户id是否与父组件传递的收货人id一致
+  },
+  methods: {
+    // 查询用户列表
+    getUserList(nickname) {
+      // 获得用户列表
+      this.userOptions = [];
+      const params = {
+        nickname,
+      };
+      listSimpleUsers(params).then((response) => {
+        this.userOptions.push(...response.data);
+      });
+    },
+    // 模糊搜索用户
+    filterValue(v) {
+      this.getUserList(v);
+    },
+    /** 获得流程实例 */
+    getDetail() {
+      // 获得流程实例相关
+      this.processInstanceLoading = true;
+      getProcessInstance(this.id)
+        .then((response) => {
+          if (!response.data) {
+            this.$message.error("查询不到流程信息!");
+            return;
+          }
+          // 设置流程信息
+          this.processInstance = response.data;
+
+          // 设置表单信息
+          if (this.processInstance.processDefinition.formType === 10) {
+            this.detailForm = {
+              ...JSON.parse(this.processInstance.processDefinition.formConf),
+              disabled: true, // 表单禁用
+              formBtns: false, // 按钮隐藏
+              fields: decodeFields(
+                this.processInstance.processDefinition.formFields
+              ),
+            };
+            // 设置表单的值
+            this.detailForm.fields.forEach((item) => {
+              if (
+                this.processInstance !== null &&
+                typeof this.processInstance !== "undefined" &&
+                this.processInstance.formVariables !== null &&
+                typeof this.processInstance.formVariables !== "undefined"
+              ) {
+                const val = this.processInstance.formVariables[item.__vModel__];
+                if (val) {
+                  item.__config__.defaultValue = val;
+                }
+              }
+            });
+          }
+
+          // 加载流程图
+          // getProcessDefinitionBpmnXML(
+          //   this.processInstance.processDefinition.id
+          // ).then((response) => {
+          //   this.bpmnXML = response.data.bpmnXml;
+          // });
+          getProcessDefinitionBpmnXML(
+            this.processInstance.processDefinition.id
+          ).then(({ data }) => {
+            this.bpmnXML = data.bpmnXml;
+            // 简单解析:把 <userTask id="xxx" ...> 的第一个 id 拿出来
+            const match = data.bpmnXml.match(/<userTask[^>]+id="([^"]+)"/);
+            this.firstUserTaskKey = match ? match[1] : null;
+          });
+          // 加载活动列表
+          getActivityList({
+            processInstanceId: this.processInstance.id,
+          })
+            .then((response) => {
+              this.activityList = response.data;
+            })
+            .finally(() => {
+              this.processInstanceLoading = false;
+            });
+        })
+        .finally(() => {
+          this.processInstanceLoading = false;
+        });
+
+      // 获得流程任务列表(审批记录)
+      this.tasksLoad = true;
+      this.runningTasks = [];
+      this.auditForms = [];
+      getTaskListByProcessInstanceId(this.id)
+        .then((response) => {
+          // 审批记录
+          this.tasks = [];
+          // 移除已取消的审批
+          response.data.forEach((task) => {
+            if (task.status !== 4) {
+              this.tasks.push(task);
+            }
+          });
+          // 排序,将未完成的排在前面,已完成的排在后面;
+          this.tasks.sort((a, b) => {
+            // 有已完成的情况,按照完成时间倒序
+            if (a.endTime && b.endTime) {
+              return b.endTime - a.endTime;
+            } else if (a.endTime) {
+              return 1;
+            } else if (b.endTime) {
+              return -1;
+              // 都是未完成,按照创建时间倒序
+            } else {
+              return b.createTime - a.createTime;
+            }
+          });
+
+          // 需要审核的记录
+          const userId = store.getters.userId;
+          this.tasks.forEach((task) => {
+            if (task.status !== 1) {
+              // 只有待处理才需要
+              return;
+            }
+            if (!task.assigneeUser || task.assigneeUser.id !== userId) {
+              // 自己不是处理人
+              console.log("待审批人", task.assigneeUser);
+              return;
+            }
+            this.runningTasks.push({ ...task });
+            this.auditForms.push({
+              reason: "同意",
+            });
+          });
+
+          // 取消加载中
+          this.tasksLoad = false;
+        })
+        .finally(() => {
+          this.loading = false;
+          this.tasksLoad = false;
+        });
+    },
+    /** 处理选择流程的按钮操作 **/
+    handleSelect(row) {
+      // 设置选择的流程
+      this.selectProcessInstance = row;
+
+      // 流程表单
+      if (row.formId) {
+        // 设置对应的表单
+        this.detailForm = {
+          ...JSON.parse(row.formConf),
+          fields: decodeFields(row.formFields),
+        };
+      } else if (row.formCustomCreatePath) {
+        this.$router.push({ path: row.formCustomCreatePath });
+        // 这里暂时无需加载流程图,因为跳出到另外个 Tab;
+      }
+    },
+    getDateStar(ms) {
+      return getDate(ms);
+    },
+    getTimelineItemIcon(item) {
+      if (item.status === 1) {
+        return "el-icon-time";
+      }
+      if (item.status === 2) {
+        return "el-icon-check";
+      }
+      if (item.status === 3) {
+        return "el-icon-close";
+      }
+      if (item.status === 4) {
+        return "el-icon-remove-outline";
+      }
+      return "";
+    },
+    getTimelineItemType(item) {
+      if (item.status === 1) {
+        return "primary";
+      }
+      if (item.status === 2) {
+        return "success";
+      }
+      if (item.status === 3) {
+        return "danger";
+      }
+      if (item.status === 4) {
+        return "info";
+      }
+      return "";
+    },
+    /** 处理转派审批人 */
+    handleUpdateAssignee(task) {
+      // 校验是否是收货人
+      // if (!this.checkReceiver(task)) {
+      //   this.$modal.msgError("不是收货人,不能审批");
+      //   return;
+      // }
+      // 设置表单
+      this.resetUpdateAssigneeForm();
+      this.updateAssignee.form.id = task.id;
+      // 设置为打开
+      this.updateAssignee.open = true;
+    },
+    /** 提交转派审批人 */
+    submitUpdateAssigneeForm() {
+      this.$refs["updateAssigneeForm"].validate((valid) => {
+        if (!valid) {
+          return;
+        }
+        updateTaskAssignee(this.updateAssignee.form)
+          .then((response) => {
+            this.$modal.msgSuccess("转派任务成功!");
+            this.updateAssignee.open = false;
+            this.getDetail(); // 获得最新详情
+          })
+          .finally(() => {
+            this.loading = false;
+          });
+      });
+    },
+    /** 取消转派审批人 */
+    cancelUpdateAssigneeForm() {
+      this.updateAssignee.open = false;
+      this.resetUpdateAssigneeForm();
+    },
+    /** 重置转派审批人 */
+    resetUpdateAssigneeForm() {
+      this.updateAssignee.form = {
+        id: undefined,
+        assigneeUserId: undefined,
+      };
+      this.resetForm("updateAssigneeForm");
+    },
+    /** 处理审批退回的操作 */
+    handleDelegate(task) {
+      this.$modal.msgError("暂不支持【委派】功能,可以使用【转派】替代!");
+    },
+    /** 处理审批退回的操作 */
+    handleBack(task) {
+      this.$modal.msgError("暂不支持【退回】功能!");
+      // 可参考 http://blog.wya1.com/article/636697030/details/7296
+      // const data = {
+      //   id: task.id,
+      //   assigneeUserId: 1
+      // }
+      // backTask(data).then(response => {
+      //   this.$modal.msgSuccess("回退成功!");
+      //   this.getDetail(); // 获得最新详情
+      // });
+    },
+    /** 统一校验收货人(仅第一个节点) */
+    // checkReceiver(task) {
+    //   if (task.taskDefinitionKey !== this.firstUserTaskKey) {
+    //     return true;
+    //   }
+    //   const userId = store.getters.userId;
+    //   return Number(userId) === Number(this.receivePerson);
+    // },
+    /** 处理审批通过和不通过的操作 */
+    handleAudit(task, pass) {
+      // 校验是否是收货人
+      // if (!this.checkReceiver(task)) {
+      //   this.$modal.msgError("不是收货人,不能审批");
+      //   return;
+      // }
+      const index = this.runningTasks.indexOf(task);
+      this.$refs["form" + index][0].validate((valid) => {
+        if (!valid) {
+          return;
+        }
+        const data = {
+          id: task.id,
+          reason: this.auditForms[index].reason,
+          status: pass,
+        };
+        // 通过
+        if (pass === 2) {
+          approveTask(data).then((response) => {
+            this.$modal.msgSuccess("审批通过成功!");
+            this.getDetail(); // 获得最新详情
+            // 关闭当前窗口
+            this.$tab.closeOpenPage();
+            this.$router.go(-1);
+          });
+        }
+        // 不通过
+        else {
+          rejectTask(data).then((response) => {
+            this.$modal.msgSuccess("审批驳回成功!");
+            this.getDetail(); // 获得最新详情
+            // 关闭当前窗口
+            this.$tab.closeOpenPage();
+            this.$router.go(-1);
+          });
+        }
+      });
+    },
+    // // 获取当前用户信息
+    // getUser() {
+    //   getUserProfile().then((response) => {
+    //     this.user = response.data;
+    //   });
+    // },
+  },
+};
+</script>
+
+<style lang="scss">
+.my-process-designer {
+  height: calc(100vh - 200px);
+}
+
+.box-card {
+  width: 100%;
+  margin-bottom: 20px;
+}
+</style>