Appearance
PC主从表填报
主从表关联方式1:uuid
方案一:文本框、数据源给 uuid 作为formld 值 填入主表和明细表 拖一个单行文本框: 数据源
按钮提交时传递uuid:
明细表关联formId: 明细表table配置
缺点:uuid是字符串,查的慢
主从表关联方式2:计数器
新增计数器:
新增计数器
配置计数器
拖一个计数器组件;数据源配置刚刚新建的计数器 配置其他:
绑定formId,给默认值,隐藏 单独搜索,关联组件,这样编辑查看进入主从表填报页,可以查出子表数据
同步数据字段 a.formID;因为主表保存按钮事件里,为防止页面变量重名,配置了主表前缀:
计数器组件int关联,查询效率更快
主从表新增 主表配置
保存按钮
配置 新增事件和 返回上一页事件(用户新增后立刻返回上一页,避免重复新增)
新增事件
下面多种,选一个即可 明细表字段加detail前缀后,这里不用配前缀,其他配置:
这里,自定义了退货单号的规则,和主表自动填充的隐藏参数
返回上一页事件,执行条件是新增成功
提交按钮
新增事件,注意配置状态等参数,也要自定义规则 返回上一页事件,执行条件是修改成功
退出按钮
配置 手写SQL事件、返回上一页事件(执行条件是手写SQL成功) DELETE FROM hd_pur_order_detail WHERE detailFormId = #{formId} 目的是在新增操作下,主表未保存,直接退出,需要删除已保存的子表记录
主从表新增 明细表配置
表格组件,开启 支持表内新增
开启后效果:表格右上角,出现:新增、保存 按钮 为了让 新增、保存 按钮 正常显示,表格 设置成相对定位 明细表SQL:
SELECT
d.detailId,
d.detailFormId,
d.detailMaterialId,
m.materialName as detailMaterialName,
d.detailBatchNo,
d.detailGrade,
d.detailQuantity,
d.detailWeight,
d.detailRate,
d.detailPrice,
d.detailAmount,
d.detailTaxAmount,
d.detailRemark
FROM
hd_pur_order_detail AS d
LEFT JOIN hd_sys_material AS m ON d.detailMaterialId = m.materialId
WHERE
1 =1 and detailFormId = #{formId}
且 单行文本框 formId 同步detailFormId 明细表新增 表格组件配置 表内新增 事件: 设置明细表新增记录时,设置明细表不用填写的隐藏参数值;
注意:默认已经关联了formId; 隐藏参数不要 绑定 formId,否则子表提交会传2次formId
SQL方式
明细表编辑 明细表需要支持输入的列,设置可编辑: 注意:编辑框类型一定要选,不然不生效 依次把所有需要编辑的列都加上,效果:
上图 物料编号:编辑框类型是弹框,弹框选择物料,把值带给 物料名称字段
表格组件配置 表内修改 事件: 注意:不需要绑定 formId 参数,但需要明细表数据源有id字段,因为编辑是根据id字段编辑的:
明细表 字段加detail后,id改成 detailId 明细表删除 明细表已添加数据,支持删除操作,表格组件配置删除事件:
明细表字段有前缀时,id改成 detailId 效果:
点击 删除,会弹框提示确定删除吗?点击 确定,删除记录 条件删除
明细表字段有前缀时,id改成 detailId 明细表 未完结记录才显示删除,已完结记录不显示删除
表格列计算 表内数据联动方案:8点方法模板即可生成样例只需row.xxx按需赋值即可如row.quantity=value*100 暂时只支持 第一个 输入框 类型??
主表列表
查询:查询主表记录 新增:新增主表记录,同时填报子表的记录 编辑:编辑主表记录,同时编辑子表记录 查看:查看主表记录,同时查看子表记录
构建主表: 可以快速构建表格列,主表只有客户id,获取客户名称,需要联表查询,改成SQL:
SELECT
r.id as zbId,
r.formId,
r.orderNo,
r.orderDate,
c.customerName ,
r.salesman,
r.STATUS,
r.deliveryDate,
r.remark,
r.m_creator_account,
r.m_updater_account,
DATE_FORMAT(r.m_create_time,'%Y-%m-%d') as m_create_time,
DATE_FORMAT(r.m_update_time,'%Y-%m-%d') as m_update_time,
r.type
FROM
hd_sales_returnorder AS r
left JOIN hd_sales_customer AS c ON r.customerId = c.id
WHERE
1 =1
注意:r.id, r.formId别忘了,修改主表时需要用id;关联子表需要用formId 新增 新增按钮事件配置: 灰色表示还没发布
编辑 查看 主表 表格组件,配置事件:
主从表编辑页
把主从表新建页 复制一份,改名成编辑页 方式1:单行文本框 的uuid 数据源配置 清空,改成从列表带过来,不用配置 方式2:计数器组件改成单行文本框,不用配置数据源,改成从列表带过来,不用配置 开启单独搜索,且关联表格组件,才能触发子表的查询SQL执行(新增页也需要) 同步数据字段,看需求设置,多为 detailFormId
保存按钮修改
改成修改事件,记得传参:注意: 可以不配置返回上一页事件,配置记得执行条件改成 修改 注意:修改的是主表,不是明细表, 注意:这种方式是根据主表id修改主表数据的,F12:
主表主键是id时,很容易被覆盖,建议改成 hdId
或SQL方式:主表 insert 语句改成 update语句: 注意:
主表字段: 新增单行文本框匹配 id
遵循页面传参规则,主从表
提交按钮修改
改成修改事件,记得传参:注意: 后面的返回上一页事件执行条件,改成修改 退出按钮 去掉 手写SQL事件(里面删除不需要的子表数据) 返回上一页事件, 明细表字段无前缀时,明细表字段会和主表字段重名,导致冲突,上面 id 需要改成 zbId 明细表字段有前缀时,直接用id即可
主从表详情页
把主从表编辑页 复制一份,改名成详情页 页面 带编辑的地方 改成详情 formId 单独搜索 关联的 删除可修改的按钮 明细表 列表组件 关闭表内新增,删除事件
表格列编辑关掉