基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(一)

简介: 基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(一)

      基于jeecgboot的原先流程管理平台采用的在线表单设计是formgenerator,但功能还是稍微差了一些,所以确定修改成formdesigner。

     1、根据官方的一些文档,把formdesigner这个src代码放到组件里,如下:

2、首先修改设计表单的保存

    因为原先没有保存,我们需要把设计好的表单保存到数据库,以便后续审批的时候使用

这个主要在designer.vue里修改,增加保存按钮

<el-button icon="el-icon-plus" type="text" @click="save">
        保存
  </el-button>

增加保存对话框,同时增加一些变量与api接口

<!--表单配置详情  add by nbacheng 2022-09-05-->
    <el-dialog :title="formTitle" :visible.sync="formOpen" width="500px" append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="表单名称" prop="formName">
          <el-input v-model="form.formName" placeholder="请输入表单名称" />
        </el-form-item>
        <el-form-item label="备注" prop="remark">
          <el-input v-model="form.remark" placeholder="请输入备注" />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>

按钮save增加下面代码

save(){// add by nbacheng 2022-09-05
      console.log("save inform=",this.inform);
      if (this.inform.id) {
        this.form.id = this.inform.id;
        this.form.formName = this.inform.formName;
        this.form.remark = this.inform.remark;
      }
      /** 表单保存基本信息 */
       this.formData = {
         list: this.list,
         config: this.formConf
       }
       console.log("save this.formData=",this.formData); 
       this.form.formContent = JSON.stringify(this.formData);
       this.formOpen = true;
       this.formTitle = "添加表单";
       console.log("save form=",this.form);
    },

  保存表单增加下面代码

/** 保存表单信息 */
    submitForm(){
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.id != null) {
            updateForm(this.form).then(response => {
              this.$message.success("修改成功");
            });
          } else {
            addForm(this.form).then(response => {
              this.$message.success("新增成功");
            });
          }
          this.list = []
          this.idGlobal = 100
          this.formOpen = false;
          // 关闭当前标签页并返回上个页面
          this.$router.go(-1)
        }
      });
    },

当然根据这个formdesigner设计结构,对于修改还需要传入下面参数

inform: {
      type:Array,
      default:[]
    },
    queryId: {
      type:String,
      default:''
    }

3、调用原先表单设计的新增与修改

/** 新增按钮操作 */
      handleAdd() {
        this.$router.push({ path: '/formdesigner/formdesigner', query: {id: null }})
      },

增加一个formdesigner.vue

代码如下:

<template>
  <div>
    <form-designer ref="formDesigner" :queryId="routeQueryId" v-model="form.fdForm"></form-designer>
  </div>
</template>
<script>
export default {
  name: 'designerExapmle',
  data() {
    return {
      form: {
        fdForm: ''
      },
      routeQueryId: '',
    }
  },
  created() {
    this.routeQueryId = this.$route.query && this.$route.query.id;
  },
  mounted() {
  },
}
</script>

4、上面主要是调用formDesigner组件同时传入调用的参数

formDesigner修改下面调用designer 的参数

<designer ref="designer" :queryId="routeQueryId" :list="designList" :formConfig="formConfig" :inform="inform" @clear="designList = []" @updateJSON="handlerUpdateJSON"

:activeData="activeData"/>

同时增加下面接收参数与代码

queryId:{
      type:String,
      default:''
    }
  },
  created() {// add by nbacheng 2022-09-05
    const that = this;
    const id =  that.queryId;
    console.log("formDesigner mounted queryId",that.queryId);
    if (id) {
      getForm(id).then(res =>{
        console.log("getForm res=",res);
        that.formConfig = JSON.parse(res.result.formContent);
        that.designList = that.formConfig.list;
        that.inform = res.result;
      })
    }
  },


相关文章
|
6月前
|
UED
点晴OA办公系统如何实现业务表单的自定义设计
在点晴OA办公系统中,业务表单的自定义设计是一项重要的功能,它能够满足企业不同的业务需求,提高工作效率和协作能力。 随着企业的发展,不同的业务部门需要处理各种类型的表单,如人事表单、财务表单、项目表单等。如果这些表单无法根据实际需求进行自定义设计,就会导致工作效率低下、信息不准确、协作困难等问题。因此,实现业务表单的自定义设计是提高企业办公效率和协作能力的重要手段。
94 0
|
6月前
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(二)
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(二)
148 1
|
6月前
formdesigner支持jeecgboot的部门与人员组件
formdesigner支持jeecgboot的部门与人员组件
39 1
|
6月前
基于jeecgboot的flowable流程支持online表单审批线上发布
基于jeecgboot的flowable流程支持online表单审批线上发布
73 1
|
6月前
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(三)
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner(三)
46 0
|
6月前
|
前端开发
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner正式发布
基于jeecgboot流程管理平台的在线表单设计修改成formdesigner正式发布
45 0
|
6月前
|
前端开发
基于jeecgboot流程管理平台的自定义业务表单集成方法
基于jeecgboot流程管理平台的自定义业务表单集成方法
157 0
|
6月前
基于jeecgboot的flowable流程综合会签功能演示平台已经发布
基于jeecgboot的flowable流程综合会签功能演示平台已经发布
45 0
|
6月前
|
移动开发 供应链 前端开发
基于jeecgboot的ERP部分演示功能发布
基于jeecgboot的ERP部分演示功能发布
120 0
|
6月前
|
前端开发
基于jeecgboot的支持online表单审批的功能正式发布
基于jeecgboot的支持online表单审批的功能正式发布
126 0