精华内容
下载资源
问答
  • 2021-06-09 19:01:38

    前言:

    由于公司项目中有一个自定义表单的需求,而本人却无类似开发经验,在朋友和同事的努力下,依然没有找到最佳的解决方案,后来自己根据自己对业务的了解和别人的思路借鉴,最终设计出了现在这款自定义表单的逻辑。

    项目环境:king base V8 (人大金仓数据库) ,Mybatis-Plus v3.4.2spring-boot-2.2.5.RELEASE

    在本文中,主要阐述结合 VUEJS 动态表格的数据结构进行设计接口和数据库,在此之前,需要了解一下 VUEJS 动态表格

    核心思想

    1. 自定义的属性与属性对应的数据要做绑定关系,本文中,使用了 sorted 字段对字段和数据进行绑定

    2. 组合查询分页数据,利用 mybatis 的动态 sql${} 进行查询,前提是需要与前端配合恰当

    1、 VUEJS 动态表格

    动态表格所需数据结构

    {
        "tableHead":[
            {"key":"nickName", "fieldsName":"昵称"},
            {"key":"account",  "fieldsName":"登录账户"},
            {"key":"password", "fieldsName":"登录密码"}
        ],
        "tableVal":[
            {"nickName":"雷电法王_杨永信", "account":"lei_dian_yyx", "password":"yangyongxin"},
            {"nickName":"潘嘎之交", "account":"gazige", "password":"gagagaga"},
            {"nickName":"精神小伙", "account":"jinshenxiaohuo", "password":"123456"}
        ]
    }

    通过对 VUEJS 动态表单的数据结构的了解,那么我们很快就能设计出数据库表结构

    2、设计数据库表

    2.1 t_custom_table

    存储字段属于哪个表,做字段表唯一标识,1 - N 关系 里面主要存储 表名,这里就不放 DDL 语句了,一下的 table_id 属于本表 id

    2.2 字段表设计 (存储用户提交的自定义字段)

    CREATE TABLE "t_inspector_db_fields" (
        "id" INT8 NOT NULL, 
        "fields_name" VARCHAR(32 byte) NULL,                -- 字段名称
        "data_type" INT4 NULL,                              -- 字段数据类型 1:文字 2:数字
        "fields_entry_type" INT4 NULL,                      -- 字段录入方式,展示类型,0:单行文本 1:多行文本 2:下拉菜单 3:时间选择框
        "datasource_type" INT4 NULL,                        -- 数据源类型:1字典(datasource配置字典key) 2:枚举(枚举数据结构) 3 组织架构  4 人员架构  5 督查督办事项分类 6 文本输入
        "max_length" INT4 NULL,                             -- 最大字数
        "show_table" TINYINT NULL DEFAULT 0,                -- 是否列表展示 0:不展示 1:展示
        "audit_flag" TINYINT NULL DEFAULT 0,                -- 审核操作字段,在审核阶段需要填写 0不需要,1需要
        "selector_flag" TINYINT NULL DEFAULT '0'::TINYINT,  -- 是否参与查询 0:不参与 1:参与
        "table_id" INT8 NULL,                               -- 关联表ID
        "data_source" VARCHAR NULL,                         -- 配合datasource_type,字典配置字典KEY,枚举配置枚举数据结构
        "sorted" INT2 NULL,                                 -- 核心字段,排序标识,绑定标识
        "multi_line_text" INT4 NULL DEFAULT 0,              -- 是否可以多行扩展  0:不能,1:能
        "deleted" TINYINT NULL                              -- 软删除标识
    )
    WITH (
        OIDS=FALSE
    );

    字段描述:

    fields_type: 这里是来规范存储类型,但是实际上后端都是用的字符串存储,主要是为了方便用户直观看,当然这个字段设计也在需求之中

    max_length:字段最大长度,如果是多行文本或者是富文本,则为 -1

    show_table : 是否在表单中进行显式展示,0:展示,1:不展示

    data_src_type :数据源,例如(0:字典,1:手动录入,2....),数据源类型为字典,之对应的 data_src 就应该是 字典表中 获取数据的 KEY

    sorted : 注意,此字段非常重要,该字段有两个作用:(1) 来对字段展示的顺序进行规范 ,(2) 通过属性的 sorted 可以直接找到 属性对应的 数据,起一个绑定关系,这里可能暂时有点迷,后续就会看起来更加清晰。

    fields_entry_type : 数据录入方式:(0:单行文本 1:多行文本 2:下拉菜单 3:时间选择框)

    2.3 数据存储表设计 (存储自定义表单的数据)

    都到这一步了,最终确定下来,数据通过纵向存储的方式

    需要攻克的问题:

    1. 数据纵向存储,那么多条数据,怎么被视为横向的一条数据呢?

    2. 数据纵向,那么如何将字段和字段值进行绑定?

    解决办法:

    1. 纵向对数据存储,没有唯一标识,无法组建一个多行数据转为一条数据的标识,那么就在插入多条数据之前,生成一个 32 位的唯一标识,来作为一条数据纵转横的 flag

    2. 在数据表中也生成一个 sorted 字段,来与字段表中的属性进行绑定,例如 字段 表中 sorted1 的值是 userName, 那么 数据表中,只要存储 sorted1 的数据为 张三 即可,这样就形成了一对一的绑定

    问题解决了,那么就开始设计表,这里我就直接放表结构了(表结构是 人大金仓数据库的,mysql 的需要手动改改)

    CREATE TABLE "t_inspector_fields_data" (
        "id" VARCHAR(32 byte) NOT NULL,
        "fields_id" VARCHAR(32 byte) NOT NULL,      -- 被关联的字段的Id
        "unique_mark" VARCHAR(32 byte) NOT NULL,    -- 唯一标识,32位
        "sorted" INT4 NOT NULL,                     -- 核心字段,排序标识,绑定标识,与t_inspector_db_fields表保持一致
        "content" TEXT NULL,                        -- 真实的内容,这里考虑到字段长度无法确定,只有用 text 来规定
        "deleted" INT4 NULL DEFAULT 0,              -- 软删除标识
        "classify_id" INT8 NULL,                    -- 关联表ID
        "year" INT4 NULL,                           -- 冗余字段,用于方便查询
        "frequency" INT2 NULL,                      -- 冗余字段,用于方便查询
        "month" INT2 NULL,                          -- 冗余字段,用于方便查询
        "week" INT4 NULL,                           -- 冗余字段,用于方便查询
        "fill" INT2 NULL DEFAULT '0'::SMALLINT,     -- 业务字段
        "audit" INT2 NULL DEFAULT '0'::SMALLINT     -- 业务字段
    )
    WITH (
        OIDS=FALSE
    );

    3、接口设计

    3.1 属性字段新增 对应表 t_inspector_db_fields(提交 JSON

    {
        "fieldsName":"任务分类",  // 字段名称   
        "dataType":"1",         // 字段数据类型 1:文字 2:数字
        "fieldsEntryType":3,    // 0:单行文本 1:多行文本 2:下拉菜单 3:时间选择框
        "datasourceType":6,     // 1字典(datasource配置字典key) 2:枚举(枚举数据结构) 3 组织架构  4 人员架构  5 督查督办事项分类 6 文本输入
        "dataSource":"",        //datasourceType=0,dataSource对应字典中的key。datasourceType=1,存储下拉菜单的数据,可以自定义数据结构,方便解析就行,可自定义
        "maxLength":-1,         // 该字段无需校验内容长度
        "showTable":1,          // 显示在 table 中
        "auditFlag":0,          // 不参与审核
        "selectorFlag":0,       // 不参与头部查询
        "multiLineText":0,      // 不参与行扩展
        "tableId":1355          // 关联的表
    }

    3.2 获取表头和数据分页接口(复杂)

    根据 tableId 查询表下的字段

    出现问题:

    1. 如何分页?

    2. 如何组合查询?

    3. 如何区分精准匹配和模糊查询?

    思路:

    1. 首先要思考如何进行分页查询,因为数据库里面的数据是纵向存储的,非横向存储。那么我只需要分页找到条件匹配的并且去重后的唯一标识即可,然后再次根据分页标识,查到返回的数据转为行数据即可。

    1. 组合查询就需要在 sql 上下功夫了,结合 Mybatis 动态 sql,不同条件的 sql 使用 UNION ALL 进行连接查询结果,最后去重得到唯一标识

    2. 精准匹配和模糊匹配只需要两个集合来存储查询条件集合,为了更加的灵活,我这里使用了mybatis${} 占位符取查询的 key

    3.2.1 组合查询提交 json

    {
        "tableId":1355,
        "query":[ // 模糊查询
            {"sorted":"8","content":"测试"},     // 查询位置为8的字段类容包含 测试 字样的数据
            {"sorted":"13","content":"测试单位"}  // 查询位置为13的字段类容包含 测试单位 字样的数据
        ],
        "page": {"current":1, "size":10},       // 分页信息
        "nonQuery":[// 精准匹配
            {
                "keyName":"week",   // 根据周字段精准匹配
                "keyVal":"12"
            },
            {
                "keyName":"year",   // 根据年字段精准匹配
                "keyVal":"2021"
            }
        ]
    }

    3.2.2 组合查询动态 sql

    <!-- 先通过查询条件匹配到符合条件的唯一标识,然后通过拿到所有符合条件的唯一标识进行获取数据 -->
    <select id="selectDistinctUniqueMarkPage" resultType="java.lang.String">
        <!-- 精准匹配条件为空的情况查询的内容 -->
        <if test="@org.apache.commons.collections4.CollectionUtils@isEmpty(dto.query)">
            select
                distinct "unique_mark"
            from
                "t_inspector_fields_data"
            where
                deleted = 0
                and table_id = #{dto.tableId}
            <foreach collection="dto.nonQuery" index="j" item="non" open=" " separator=" " close=" ">
                <!-- {"keyName":"year", "keyVal":"2021" } -->
                and ${non.keyName} = #{non.keyVal}
            </foreach>
        </if>
        
        <!-- 精准匹配条件不为空的情况查询的内容 -->
        <if test="@org.apache.commons.collections4.CollectionUtils@isNotEmpty(dto.query)">
            select distinct a."unique_mark" from
            (
                <foreach collection="dto.query" index="i" item="val" open=" " separator=" UNION ALL " close=" ">
                    select
                        distinct "unique_mark"
                    from
                        "t_inspector_fields_data"
                    where
                        deleted = 0
                        and table_id = #{dto.tableId}
                        AND "sorted" = #{val.sorted}
                        AND content like concat('%', #{val.content}, '%')
                        <foreach collection="dto.nonQuery" index="j" item="non" open=" " separator=" " close=" ">
                            <!-- {"keyName":"year", "keyVal":"2021" } -->
                            and ${non.keyName} = #{non.keyVal}
                        </foreach>
                </foreach>
            ) a
        </if>
    </select>

    3.2.3 最终根据查询条件打印的 sql 语句

    select
        distinct a."unique_mark"
    from
        (
        select
            distinct "unique_mark"
        from
            "t_inspector_fields_data"
        where
            deleted = 0
            and table_id = ?
            and "sorted" = ?
            and content like concat('%', ?, '%')
            and week = ?
            and year = ?
    union all
        select
            distinct "unique_mark"
        from
            "t_inspector_fields_data"
        where
            deleted = 0
            and table_id = ?
            and "sorted" = ?
            and content like concat('%', ?, '%')
            and week = ?
            and year = ?
        ) a
    更多相关内容
  • JAVA动态表单设计,自定义表单,自定义数据,在线设计,数据库存储
  • 这是一个自定义表单模块,有几个常用的固定字段可选,也可以让用户自己增加想要的自定义字段。前端页面在展示的时候就可以将这些字段列出来给用户填写。之前我实现过一个类似的功能,将所有的字段全部存到一个数组中...

    各位大牛:

    小弟现在有一个这样的需求。

    bVmDgh

    这是一个自定义表单模块,有几个常用的固定字段可选,也可以让用户自己增加想要的自定义字段。

    前端页面在展示的时候就可以将这些字段列出来给用户填写。

    之前我实现过一个类似的功能,将所有的字段全部存到一个数组中,然后将数组转成序列化的字符串存储,然后在前端遍历出字段的信息,组成列表。

    前端用户填写的信息,按照索引与字段匹配,存入库里。

    这样虽然可以实现功能,但是有一个缺点,就是在后期给运营做数据统计工具的时候,很难按字段筛选出合适的数据,比如手机,我根本就不知道哪些用户填了手机,哪些没填。

    所以希望能有大神指点一二,给点思路。设计一个更加高效的表单数据表。

    回复内容:

    各位大牛:

    小弟现在有一个这样的需求。

    bVmDgh

    这是一个自定义表单模块,有几个常用的固定字段可选,也可以让用户自己增加想要的自定义字段。

    前端页面在展示的时候就可以将这些字段列出来给用户填写。

    之前我实现过一个类似的功能,将所有的字段全部存到一个数组中,然后将数组转成序列化的字符串存储,然后在前端遍历出字段的信息,组成列表。

    前端用户填写的信息,按照索引与字段匹配,存入库里。

    这样虽然可以实现功能,但是有一个缺点,就是在后期给运营做数据统计工具的时候,很难按字段筛选出合适的数据,比如手机,我根本就不知道哪些用户填了手机,哪些没填。

    所以希望能有大神指点一二,给点思路。设计一个更加高效的表单数据表。

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 该表主要存储主体的内容信息 示例 CREATE TABLE `fa_user_type` ( `id` int(255) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '类型名称', `remarks` ...

    1.主体表
    该表主要存储主体的内容信息
    示例

    CREATE TABLE `fa_user_type` (
      `id` int(255) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '类型名称',
      `remarks` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
      `admin_id` int(20) DEFAULT NULL COMMENT '创建人ID',
      `createtime` int(20) DEFAULT NULL COMMENT '创建时间',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户类型';
    

    2.表单添加表
    该表与主体表关联存储表单内容
    示例

    CREATE TABLE `fa_user_form` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user_type_id` int(10) NOT NULL COMMENT '用户类型ID',
      `type` int(10) DEFAULT NULL COMMENT '1 单行文本 2 多行文本 3 多图上传 4 视频上传',
      `form_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名称',
      `sort` int(10) DEFAULT '0' COMMENT '排序大小',
      `form_desc` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '介绍',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
    

    3.用户提交表单数据表
    该表存储用户前端的提交数据 pid的作用是第一条表单的数据父级其他皆为父级下面的子级数据

    CREATE TABLE `fa_user_form_data` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user_id` int(10) DEFAULT NULL COMMENT '用户ID',
      `user_type_id` int(10) DEFAULT NULL COMMENT '用户类型ID',
      `user_form_id` int(10) DEFAULT NULL COMMENT '自定义表单ID',
      `type` int(10) DEFAULT '0' COMMENT '自定义表单类型',
      `createtime` int(20) DEFAULT NULL COMMENT '创建时间',
      `data` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '数据',
      `pid` int(10) DEFAULT '0' COMMENT '父级ID',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='表单数据';
    

    前端对接主要是表单的展示和数据提交以及数据列表的展示
    1.自定义表单数据
    在这里插入图片描述
    2.用户数据提交 我这里用的是表单id和提交数据 键值对的方式
    示例
    {1:“检测报告”,7:"/assets/img/no_image.jpg"}

    3.列表查询就查询表单数据表

    展开全文
  • ——难点为数据绑定,也就是页面元素与数据表字段的映射,另外动态数据存储结构问题、表间数据校验和计算、建立主从表的问题是难点;因此要建立相对应的样式库、脚本库、函数库、模板库等等。 5.除了可视化表单定制...
  • //防止表单重复提交 if (isset($_POST['submit'])) { if ($_SESSION['is_submit'] == '0') { $_SESSION['is_submit'] = '1'; echo "代码块,要做的事,代码...返回"; } else { echo "请不用重复提交PHP+SESSION防止...

    cyg.php

    <?php
    SESSION_START(); 
    $_SESSION['is_submit'] = 0;
    header("Content-type:text/html;charset=utf-8");
    ?>
    <style>
    body{
    background:#ccc;
    }
    .blue
    {
        background:rgba(255,123,169);
        width: 260px;
        height:auto;
    }
    
    </style>
        <form action="cyg1.php" method="POST"> 
        您喜欢的水果?<br /><br /> 
        <label><input name="text" type="checkbox" value="text" />文本类型</label> <br>
        <label><input name="color" type="checkbox" value="color" />颜色类型</label> <br>
        <label><input name="date" type="checkbox" value="date" />日期类型</label> <br>
        <label><input name="password" type="checkbox" value="password" />密码类型</label> <br>
        <input name="button" type="checkbox" value="button"/>按钮类型</label> <br>
        <input name="email" type="checkbox" value="email" />邮箱类型</label> <br>
        <input name="number" type="checkbox" value="number" />数字类型</label> 
         <input name="file" type="checkbox" value="file" />文件类型,支持多文件上传</label> 
        <input type="submit" value="提交">
        </form> 
    

    cyg1.php

    <?php
    SESSION_START(); //防止表单重复提交
    if (isset($_POST['submit'])) { 
        if ($_SESSION['is_submit'] == '0') { 
            $_SESSION['is_submit'] = '1'; 
            echo "代码块,要做的事,代码...<a οnclick='history.go(-1);' href='javascript:void(0)'>返回</a>"; 
        } else { 
            echo "请不用重复提交<a href='index.php'>PHP+SESSION防止表单重复提交</a>"; 
        } 
    }
    $link=mysqli_connect('localhost','root','','a');
    //然后是指定php链接数据库的字符集
    mysqli_set_charset($link,'utf8');
    
    $arr=[$_POST['text'],$_POST['color'],$_POST['date'],$_POST['password'],$_POST['button'],$_POST['email'],$_POST['number'],$_POST['file']];
    foreach ($arr as $key => $value) {
        if(empty($value))
        {
      unset( $arr[$key] );   
        }
    }
    foreach ($arr as $key => $value) 
    {
    $sql = "INSERT INTO form(type)
    VALUES ('{$value}')";
    mysqli_query($link,$sql);
    }
    $sql="select type from form";
    $result=mysqli_query($link,$sql);//运行sql
    echo "<form action='cyg2.php'  method='POST' enctype='multipart/form-data'>";
                while ($row=mysqli_fetch_assoc($result)) {
                    echo $row['type']."类型:"."<input type='$row[type]' name='$row[type]'/>";
            }
     echo "<input type='submit' bvalue='提交'/>";
    echo "</form>";
    

    cyg2.php

    <?php
    echo move_uploaded_file($_FILES['file']['tmp_name'],'F:/6/htdocs/upload/'.basename($_FILES['file']['name']));
      //意思是吧f:6/tmp/图片放到upload里面哈,
        
    
    -- phpMyAdmin SQL Dump
    -- version 4.5.1
    -- http://www.phpmyadmin.net
    --
    -- Host: 127.0.0.1
    -- Generation Time: 2022-03-31 14:41:20
    -- 服务器版本: 10.1.13-MariaDB
    -- PHP Version: 5.6.21
    
    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";
    
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;
    
    --
    -- Database: `a`
    --
    
    -- --------------------------------------------------------
    
    --
    -- 表的结构 `form`
    --
    
    CREATE TABLE `form` (
      `id` int(11) NOT NULL,
      `type` varchar(255) COLLATE utf8_vietnamese_ci NOT NULL COMMENT '类型'
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_vietnamese_ci;
    
    --
    -- Indexes for dumped tables
    --
    
    --
    -- Indexes for table `form`
    --
    ALTER TABLE `form`
      ADD PRIMARY KEY (`id`);
    
    --
    -- 在导出的表使用AUTO_INCREMENT
    --
    
    --
    -- 使用表AUTO_INCREMENT `form`
    --
    ALTER TABLE `form`
      MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=65;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    
    展开全文
  • 自定义表单:在编码中首先解决的是如何将组件存储、如何取出的问题。我现采用的方式是在保存表单时将操作区域的HTML片段进行处理后进行存储,编辑时取出HTML片段后对特定的样式进行处理。当表单保存后对当前表单的...
  • 在开发工作流管理系统时,很多人只重视流程引擎,流程模型的建立,而忽略了自定义表单工具。自定义表单工具是实现独立业务模块的可视化编辑工具,业务模块可以通过这种工具编辑生成。如果单纯从流程实现来说,确实...
  • 系列文章自定义表单(一)--拖拽(JS版本)自定义表单(二)--拖拽(HTML版本)自定义表单(完)--(html5版本)一、瞎扯最近在折腾人工智能,今天写了段tensorflow,用来分辨手写字体的图片,跑的时间有点久,所以就跑回来跟...
  • 实现过程:百度并查阅了一系列关于自定义表单的内容后,在form-create中发现可以通过特定的JSON格式数据渲染表单,于是就写了一个简单的demo实现自定义的过程,将数据收集成特定的JSON格式来实现渲染。 先上效果图...
  • phpcms 自定义表单

    2021-03-24 11:41:24
    先来看看系统为我们默认提供的留言样式image.png再来看看我自己实现的在线留言样式image.png如此看来,系统为我们提供的确实不怎么好看,接下来我介绍下我的整个替换过程:步骤1:创建表单向导(1):打开后台,点击...
  • 自定义表单:在编码中首先解决的是如何将组件存储、如何取出的问题。我现采用的方式是在保存表单时将操作区域的HTML片段进行处理后进行存储,编辑时取出HTML片段后对特定的样式进行处理。当表单保存后对当前表单的...
  • activiti集成自定义表单

    千次阅读 2019-02-20 17:49:42
    概述 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp; &amp;amp;amp;amp;amp;amp;...在使用Activiti时,对于表单
  • 纯前端实现保存表单数据功能

    千次阅读 2021-06-22 23:55:10
    本文作者:IMWeb zzbozheng未经同意,禁止转载最近在用管理后台配置数据时,发现辛辛苦苦配置好的表单无缘无故地被覆盖,之后了解到由于我们都是在同一台开发机上做开发,难免会遇到其他同学做数据变更时覆盖掉自己...
  • 简单数据跟踪器 简单的应用程序来存储表单数据......并可能提供自定义表单
  • 基于雷劈网的表单设计器扩展,java实现后台解析(插件内容和字段和原版有一定...数据库主要只有2张表,但是会动态地创建表单数据的表,表单越多,创建出来的表越多。 以下是目前此项目的一些截图: 下载地址: ...
  • 一、功能简介gooflow功能清单1、自定义流程绘制2、自定义属性添加3、支持3种步骤类型普通审批步骤自动决策步骤手动决策步骤4、决策方式(支持js决策,sql语句决策)5、审批人员参与方式,可以自定配置,系统目前自带...
  • Nodejs自定义解析表单数据的中间件案例代码
  • 工作流模块------------------------------- 1.模型管理 :web在线流程设计器、导入导出xml、... 表单数据:从我的表单进去可增删改查表单数据,修改表单规则 32. 挂靠记录:记录表单数据和流程实例ID关联记录,可删除
  • JS自定义数据提交处理方案 问题 在Ajax技术流行的今天,我遇到了一个很头疼的问题,我需要维护一个前人开发的问题单模块功能,并且不停的迭代开发,而这个问题就是问题单字段特别多,而且除了更新问题单外,问题...
  • Vue中路由到一个公共组件,然后根据路径中是否存在文件动态加载组件 解放前端工程师——手把手教你开发自己的自定义列表和自定义表单系列之一缘起 据说系列文章很难火爆,因为知识点包袱不够多,所以大家看往后不太...
  • Jquery 自定义表单设计

    2021-04-01 19:29:52
    对于内存,目前的方式均为以8个bit即1byte为最小的存储单元(1byte可以保存8位二进制数), CPU想从内存中读取或者存储数据,首先需要找到要存在内存的地址,传达控制信息是读入还是写入,以及读或写的数据。...
  • vue实现可视化可拖放的自定义表单

    千次阅读 2020-12-21 13:54:48
    实现如例子所示的可视化可拖放表单功能。整个页面,分为左中右三栏布局,左栏的部件库的部件(组件)作为key,拖放到中间区域时,往vuex存放数组数据,拖一个就push一个。点击某个组件时,在右栏显示其属性,其实也就是...
  • 存储库为以前端为中心的开发提供了一个简单的起点。 您将获得一个使用 Foundation 和 SASS 构建的最小项目。 还有一个轻量级的开发服务器(在 NodeJS 中运行),它支持 livereload 和 SASS 重建。 Gulp 提供用于...
  • 问卷调查:自定义表单设计vue

    千次阅读 2019-06-27 10:42:44
    由于公司业务需求,做自定义满意度问卷调查,在线上找插件不尽如人意(插入文件多,ui不好改);自家业务比较简单;种种原因,于是花一点时间开发简单的表单设计页面。 于此记录开发过程 首先看看预览效果,传送...
  • 自定义表单的需求-表单设计器

    千次阅读 2020-02-10 09:29:13
    深圳xxx科技有限公司 自定义表单及系统集成的需求 需求内容如下: 1.支持常用控件 1.文本框,文本label,单选框组radionbutton,复选框checkbox,复选框组checkboxs,数字框,文本域textarea,智能搜索下拉框、时间...
  • 如何将前端vue form-create生成的自定义表单模板,保存到数据库,需要动态生成数据库表和字段,需要解析到每个字段,这些字段后续需要统计,查询。</p>
  • 在设计的时候,发现里面有一个自定义表单属性(国际化对应的中文描述) 疑惑 因为在某些情况下,可能是前后端分离,工作流只是提供接口。那么采用动态表单属性界面设计校验,排版都不符合。所以此时需要自定义表单,在...
  • 在开发工作流管理系统时,很多人只重视流程引擎,流程模型的建立,而忽略了自定义表单工具。自定义表单工具是实现独立业务模块的可视化编辑工具,业务模块可以通过这种工具编辑生成。如果单纯从流程实现来说,确实...
  • vue 表单自定义组件

    2022-03-17 22:12:26
    vue 表单自定义组件 vue能够安装成功npm,node.js,并且能够成功创建一个项目,我觉得就已经成功一半了。但是需要需要注意node的版本不要下载太高,建议是16版本,我之前因为下载太高版本的node导致一直不能成功...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 73,757
精华内容 29,502
关键字:

自定义表单数据存储