基于jeecgboot-vue3的Flowable流程--增加我的抄送

news2024/11/25 22:25:42
因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。

1、前端我的抄送界面代码

<template>
  <div class="p-2">
    <!--查询区域-->
    <div class="jeecg-basic-table-form-container">
      <a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
        <a-row :gutter="24">
          <a-col :lg="6">
            <a-form-item name="title">
              <template #label><span title="抄送标题">抄送标题</span></template>
              <a-input placeholder="请输入抄送标题" v-model:value="queryParam.title"></a-input>
            </a-form-item>
          </a-col>
          <a-col :lg="6">
            <a-form-item name="flowName">
              <template #label><span title="流程名称">流程名称</span></template>
              <a-input placeholder="请输入流程名称" v-model:value="queryParam.flowName"></a-input>
            </a-form-item>
          </a-col>
          <template v-if="toggleSearchStatus">
            <a-col :lg="6">
              <a-form-item name="category">
                <template #label><span title="流程分类">流程分类</span></template>
                <a-input placeholder="请输入流程分类" v-model:value="queryParam.category"></a-input>
              </a-form-item>
            </a-col>
            <a-col :lg="6">
              <a-form-item name="initiatorRealname">
                <template #label><span title="发起人姓名">发起人姓</span></template>
                <a-input placeholder="请输入发起人姓名" v-model:value="queryParam.initiatorRealname"></a-input>
              </a-form-item>
            </a-col>
            <a-col :lg="6">
              <a-form-item name="createTime">
                <template #label><span title="创建日期">创建日期</span></template>
                <a-date-picker showTime valueFormat="YYYY-MM-DD HH:mm:ss" placeholder="请选择创建日期" v-model:value="queryParam.createTime" />
              </a-form-item>
            </a-col>
          </template>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
              <a-col :lg="6">
                <a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
                <a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
                <a @click="toggleSearchStatus = !toggleSearchStatus" style="margin-left: 8px">
                  {{ toggleSearchStatus ? '收起' : '展开' }}
                  <Icon :icon="toggleSearchStatus ? 'ant-design:up-outlined' : 'ant-design:down-outlined'" />
                </a>
              </a-col>
            </span>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!--引用表格-->
    <BasicTable @register="registerTable" :rowSelection="rowSelection">
      <!--插槽:table标题-->
      <template #tableTitle>
        <a-button  type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
        <a-dropdown v-if="selectedRowKeys.length > 0">
          <template #overlay>
            <a-menu>
              <a-menu-item key="1" @click="batchHandleDelete">
                <Icon icon="ant-design:delete-outlined"></Icon>
                删除
              </a-menu-item>
            </a-menu>
          </template>
          <a-button>批量操作
            <Icon icon="mdi:chevron-down"></Icon>
          </a-button>
        </a-dropdown>
        <!-- 高级查询 -->
        <super-query :config="superQueryConfig" @search="handleSuperQuery" />
      </template>
      <!--操作栏-->
      <template #action="{ record }">
        <TableAction :actions="getTableAction(record)"/>
      </template>
      <template v-slot:bodyCell="{ column, record, index, text }">
      </template>
    </BasicTable>
    <!-- 表单区域 -->
    <FlowCcModal ref="registerModal" @success="handleSuccess"></FlowCcModal>
  </div>
</template>

</script>

<style lang="less" scoped>
  .jeecg-basic-table-form-container {
    padding: 0;
    .table-page-search-submitButtons {
      display: block;
      margin-bottom: 24px;
      white-space: nowrap;
    }
    .query-group-cust{
      min-width: 100px !important;
    }
    .query-group-split-cust{
      width: 30px;
      display: inline-block;
      text-align: center
    }
  }
</style>

2、我的详情

<script lang="ts" name="MyCc" setup>
  import { ref, reactive } from 'vue';
  import { useRouter, useRoute } from 'vue-router';
  import { BasicTable, useTable, TableAction } from '/@/components/Table';
  import { useListPage } from '/@/hooks/system/useListPage';
  import { columns, superQuerySchema } from './MyCc.data';
  import { myList, deleteOne, batchDelete, getImportUrl, getExportUrl } from './MyCc.api';
  import { downloadFile } from '/@/utils/common/renderUtils';
  import MyCcModal from './components/MyCcModal.vue'
  import { useUserStore } from '/@/store/modules/user';
  import { useMessage } from '/@/hooks/web/useMessage';

  const formRef = ref();
  const queryParam = reactive<any>({});
  const toggleSearchStatus = ref<boolean>(false);
  const registerModal = ref();
  const userStore = useUserStore();
  const { createMessage, createConfirm } = useMessage();
  // 获取路由器对象 href跳转用到
  const router = useRouter();
  const route = useRoute();
  //注册table数据
  const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
    tableProps: {
      title: 'Mycc',
      api: myList,
      columns,
      canResize:false,
      useSearchForm: false,
      actionColumn: {
        width: 120,
        fixed: 'right',
      },
      beforeFetch: (params) => {
        return Object.assign(params, queryParam);
      },
    },
    exportConfig: {
      name: "flow_cc",
      url: getExportUrl,
      params: queryParam,
    },
	  importConfig: {
	    url: getImportUrl,
	    success: handleSuccess
	  },
  });
  const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext;
  const labelCol = reactive({
    xs:24,
    sm:4,
    xl:6,
    xxl:4
  });
  const wrapperCol = reactive({
    xs: 24,
    sm: 20,
  });

  // 高级查询配置
  const superQueryConfig = reactive(superQuerySchema);

  /**
   * 高级查询事件
   */
  function handleSuperQuery(params) {
    Object.keys(params).map((k) => {
      queryParam[k] = params[k];
    });
    searchQuery();
  }

  /**
   * 新增事件
   */
  function handleAdd() {
    registerModal.value.disableSubmit = false;
    registerModal.value.add();
  }
  
  /**
   * 编辑事件
   */
  function handleEdit(record: Recordable) {
    registerModal.value.disableSubmit = false;
    registerModal.value.edit(record);
  }
   
  /**
   * 详情
   */
  function handleDetail(record: Recordable) {
    console.log("handleFlowRecord record=",record);
    router.push({ path: '/flowable/task/record/index',
      query: {
        procInsId: record.instanceId,
        deployId: record.deploymentId,
        taskId: record.taskId,
        businessKey: record.businessKey,
        category: record.category,
        appType: record.appType,
        finished: false
    }})
  }
   
  /**
   * 删除事件
   */
  async function handleDelete(record) {
    await deleteOne({ id: record.id }, handleSuccess);
  }
   
  /**
   * 批量删除事件
   */
  async function batchHandleDelete() {
    await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
  }
   
  /**
   * 成功回调
   */
  function handleSuccess() {
    (selectedRowKeys.value = []) && reload();
  }
   
  /**
   * 操作栏
   */
  function getTableAction(record) {
    return [
      {
        label: '详情',
        onClick: handleDetail.bind(null, record),
      },
    ];
  }
   
  /**
   * 查询
   */
  function searchQuery() {
    reload();
  }
  
  /**
   * 重置
   */
  function searchReset() {
    formRef.value.resetFields();
    selectedRowKeys.value = [];
    //刷新数据
    reload();
  }
  

3、界面如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1832807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

身为小白,浅浅聊一聊容器化部署

作为一个萌新小白&#xff0c;常常听人说起容器化部署某某程序……这时候我只能装作波澜不惊的样子&#xff0c;然后回去狠狠补课。 今天就来浅浅聊一下我对容器化部署的理解吧&#xff0c;为和我一样的萌新做个简单的科普&#xff0c;有什么不对的地方也请各位大佬友好交流。 …

EIQ-ABC 分析法在配送中心储位分配中的应用

配送中心运作效率的高低主要取决于仓储业务流程的作业效率&#xff0c;在配送作业流程中&#xff0c;储位分配的是否合理性成为影响配送运作效率的重要因素。为实现储位的合理分配&#xff0c;提出通过对订单信息的分析&#xff0c;并应用 EIQ-ABC 分析法&#xff0c;以此实现缩…

Linux操作系统以及一些操作命令、安装教程

Web课程完结啦&#xff0c;这是Web第一天的课程大家有兴趣可以传送过去学习 http://t.csdnimg.cn/K547r Linux-Day01 课程内容 Linux简介 Linux安装 Linux常用命令 1. 前言 1.1 什么是Linux Linux是一套免费使用和自由传播的操作系统。说到操作系统&#xff0c;大家比…

帮助汽车制造业实现高精度脚垫上下料自动化

随着汽车制造业的快速发展&#xff0c;对生产效率和产品质量的要求日益提高。在汽车制造过程中&#xff0c;脚垫的上下料操作是一个重要的环节&#xff0c;传统的人工操作方式已经无法满足现代生产的需求。富唯智能凭借其先进的3D视觉引导机器人抓取技术&#xff0c;成功解决了…

Paragon NTFS for Mac 15软件下载及安装教程

简介&#xff1a; NTFS For Mac 15是首个支持Mac上读写NTFS外置存储设备解决方案 &#xff0c;解决mac不能读写外置让您更加简单直观的在Mac机上随意对NTFS文件修改、删除等操作。 安 装 包 获 取 地 址&#xff1a; Paragon Ntfs For Mac 15版&#xff1a; ​​https://sou…

05-5.4.1 树的存储结构

&#x1f44b; Hi, I’m Beast Cheng &#x1f440; I’m interested in photography, hiking, landscape… &#x1f331; I’m currently learning python, javascript, kotlin… &#x1f4eb; How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…

广东工业大学领导一行莅临泰迪智能科技参观交流

6月13日&#xff0c;广东工业大学经济学院党委书记林伟英、经济学院党委副书记陈朝阳、党政办主任徐嘉靖、数学与统计学院徐圣兵莅临泰迪智能科技产教融合实训中心参观交流。泰迪智能科技董事长张良均、运营中心总监翁梦婷、校企合作经理吴桂锋进行了热情接待。 会上&#xff0…

Java共享台球室无人系统支持微信小程序+微信公众号

共享台球室无人系统 &#x1f3b1; 创新台球体验 近年来&#xff0c;共享经济如火如荼&#xff0c;从共享单车到共享汽车&#xff0c;无一不改变着我们的生活方式。而如今&#xff0c;这一模式已经渗透到了更多领域&#xff0c;共享台球室便是其中之一。不同于传统的台球室&a…

为什么会出现多头自注意力机制???

自注意力机制已经在捕捉序列内部依赖关系方面表现出色&#xff0c;但是引入多头自注意力机制的主要原因是为了进一步提升模型的表达能力和性能。这种机制的设计和应用基于以下几个关键考虑&#xff1a; 1. 增加模型的复杂性和多样性 单一的自注意力机制虽然有效&#xff0c;但…

2024大模型学习全攻略:从小白到专家,一站式进阶之路

前言 随着人工智能技术的迅猛发展&#xff0c;大模型&#xff08;Large Models&#xff09;已成为这一领域的新宠。从GPT系列到BERT&#xff0c;再到各类变体&#xff0c;大模型以其强大的能力吸引了无数开发者和研究者的目光。那么&#xff0c;作为一个零基础的学习者&#x…

qss实现登录界面美化

qss实现登录界面美化 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);// 去掉头部this->setWindowFlag(Qt::FramelessWindowHint);// 去掉空白部分th…

linux下的进程通讯

一. 实验内容 1&#xff0e;编写一个程序&#xff0c;实现在两个进程之间运用管道进行通讯。程序中创建一个子进程&#xff0c;然后父、子进程各自独立运行。父进程不断地在标准输入设备上读入小写字母&#xff0c;写入管道。子进程不断地从管道中读取字符&#xff0c;转换为大…

【工程2区】毕业神刊 —— 1-2个月录用!非黑!非预警!

【欧亚科睿学术】 电力能源类SCIE ✅ 进展超顺 ✅ 录用率高 ✅ 领域相关均可 【期刊简介】IF&#xff1a;1.0-2.0&#xff0c;JCR2区&#xff0c;中科院4区 【版面类型】正刊&#xff0c;仅少量版面 【终审周期】走期刊部系统&#xff0c;预计3个月左右录用 【检索情况…

中电金信:银行业数据中心何去何从

20多年前&#xff0c;计算机走进国内大众视野&#xff0c;计算机行业迎来在国内的高速发展时代。银行业是最早使用计算机的行业之一&#xff0c;也是计算机技术应用最广泛、最深入的行业之一。近年来&#xff0c;随着银行竞争加剧&#xff0c;科技如何引领业务、金融科技如何发…

高端品牌网站建设

随着互联网的快速发展&#xff0c;越来越多的企业开始意识到高端品牌网站建设对于企业发展的重要性。高端品牌网站建设不仅是企业形象展示的窗口&#xff0c;更是与消费者进行有效沟通和互动的桥梁。下面从设计、内容和用户体验三个方面&#xff0c;探讨高端品牌网站建设的重要…

板凳----Linux/Unix 系统编程手册 25章 进程的终止

25.1 进程的终止&#xff1a;_exit()和exit() 440 1. _exit(int status)&#xff0c; status 定义了终止状态&#xff0c;父进程可调用 wait 获取。仅低8位可用&#xff0c;调用 _exit() 总是成功的。 2.程序一般不会调用 _exit()&#xff0c; 而是调用库函数 exit()。exit() …

图片的大小如何改变?有效率改图片大小的方法

图片怎么将改变图片大小呢&#xff1f;现在经常在使用图片的时候需要先按照上传平台的要求来修改尺寸和大小&#xff0c;将图片调整到满足使用的大小之后然后上传使用。那么如何在线改变图片大小呢&#xff0c;有一个很简单的方法能够快速在线改图片大小&#xff0c;今天小编将…

垃圾回收管理系统设计

一、引言 随着城市化进程的加快&#xff0c;垃圾处理问题日益凸显。为了有效管理垃圾回收&#xff0c;提高资源利用效率&#xff0c;降低环境污染&#xff0c;本文设计了一套垃圾回收管理系统。该系统涵盖了数据收集与分析、智能监测与识别、资源调配与协调、用户参与与反馈、…

天锐绿盾加密软件,它的适用范围是什么?

天锐绿盾数据防泄密软件的适用范围广泛&#xff0c;主要可以归纳为以下几点&#xff1a; 行业适用性&#xff1a; 适用于各个行业&#xff0c;包括但不限于制造业、设计行业、软件开发、金融服务等&#xff0c;特别是对数据安全性要求较高的行业。企业规模与类型&#xff1a; 适…

氧化铈稳定氧化锆(Ce-TZP)性能优成本低 市场发展潜力较大

氧化铈稳定氧化锆&#xff08;Ce-TZP&#xff09;性能优成本低 市场发展潜力较大 CeO2稳定ZrO2&#xff0c;氧化铈稳定氧化锆&#xff0c;英文缩写Ce-TZP&#xff0c;一种陶瓷材料&#xff0c;是以氧化锆为基体&#xff0c;以氧化铈为稳定剂&#xff0c;制造而成的增韧陶瓷。 氧…