若依代码生成90%+功能不需要写代码了

移动端二维码扫描

 

效果描述:

通过手机完成H5页面中二维码扫描识别;同时触发关联控件(下拉选择框)数据载入;选择数据后自动填充关联字段数据

效果如下:

 

页面入口

h5主页面

 

 

 

 

页面详情

 

 二维码扫描

 

如上图所示,在企业微信中打开页面,二维码扫描控件初始化准备完成,等待用户扫描

 

计划单号:

二维码扫描控件支持手动输入及触发扫描事件(如 加载下拉数据)

产品编码:

扫描后,轻触产品编码下拉,屏幕底部会显示可选数据项,滑动使数据项高亮后,点击 完成以确认选择。

计划行号等

自动填充字段,当完成数据项选择后,这些字段自动填充无需手动输入。

 

 

开发实现

完成以上效果的代码 包含三部分 后台,PC,移动端

 

流程约定

此单据为开工单,上游数据是领料单。所以需要有领料和开工两个数据对象

 

设计数据结构

前提,完成数据库表结构设计,

领料



CREATE TABLE `br_hbmaout` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`plan_docno` varchar(30) NOT NULL DEFAULT '' COMMENT '计划单号',
`plan_lineid` varchar(30) NOT NULL DEFAULT '' COMMENT '计划行ID',
`pro_itemcode` varchar(30) NOT NULL DEFAULT '' COMMENT '产品编码',
`material_code` varchar(30) NOT NULL DEFAULT '' COMMENT '原料编码',
`mat_quantity` decimal(10,2) NOT NULL COMMENT '领料数量',
`approve_result` varchar(20) NOT NULL DEFAULT '' COMMENT '审批结果',
`approval_status` varchar(20) NOT NULL DEFAULT 'draft' COMMENT '审批状态',
`process_instance_id` varchar(64) DEFAULT NULL COMMENT '流程实例ID',
`start_by` varchar(64) DEFAULT NULL COMMENT '流程启动人',
`start_time` datetime DEFAULT NULL COMMENT '流程启动时间',
`remark` varchar(500) NOT NULL DEFAULT '' COMMENT '备注信息',
`maout_docno` varchar(45) NOT NULL COMMENT '领料单号',
`create_by` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) NOT NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_plan_docno` (`plan_docno`),
KEY `idx_material_code` (`material_code`),
KEY `idx_approval_status` (`approval_status`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='领料表';

 

开工



CREATE TABLE `br_hbplando` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '单据ID',

   
  `machine_code` varchar(100) DEFAULT ''   COMMENT '机器编码',
    `maout_docno` varchar(45) NOT NULL COMMENT '领料单号',
    `machine_name` varchar(100) DEFAULT ''   COMMENT '机器名称',
    `plan_docno` varchar(30) NOT NULL DEFAULT '' COMMENT '计划单号',
`plan_lineid` varchar(30) NOT NULL DEFAULT '' COMMENT '计划行ID',
    `pro_itemcode` varchar(30) NOT NULL DEFAULT '' COMMENT '产品编码',
`material_code` varchar(30) NOT NULL DEFAULT '' COMMENT '原料编码',
  `operator` varchar(100) DEFAULT ''   COMMENT '操作员',
    `plando_docno` varchar(30) NOT NULL DEFAULT '' COMMENT '开工单号',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '备注信息',
   
  `approve_result` VARCHAR(20) DEFAULT '' COMMENT '审批结果',
  `approval_status` VARCHAR(20) DEFAULT 'draft' COMMENT '审批状态',
  `process_instance_id` VARCHAR(64) COMMENT '流程实例ID',
  `start_by` VARCHAR(64) COMMENT '流程启动人',
  `start_time` DATETIME COMMENT '流程启动时间',

 
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
 
   
   
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='开工单';

 

 

代码生成

对字段属性设置

完成后的效果:image-20260311104129073

 

 

 

image-20260311104304228

 

 

属性说明:

显示类型

 

image-20260311104605038

 

扫描二维码:

此控件可以完成二维码扫描image-20260311105702821

 

如果需要扫描联动数据下拉框加载,选择此类型后,需要在 编码前缀 字段 中输入联动的字段 java 属性:maoutDocno

自定义下拉框

选择字典类型并滑到页面底部,请选择对象引用相关字段,另外,把数据载入API地址设置在 编码前缀 字段,例如:/hbpro/proplanhb/code

 

对应字段:maoutDocno

此控件完成数据列表展示及选择数据后填充相关字段

image-20260311110307672

 

 

编码前缀:

在选择 自定义下拉框时,此处填写下拉框数据加载的 api ,如:/hbpro/hbmaout/keyword (此API 是系统后台内置的模糊匹配数据查询功能)

字典类型:

选择数据表对象 br_hbmaout ,这个是领料单,选择后在字段列表下方会有下拉数据加载设置

 

image-20260311111524697

 

 

联动字段赋值设置

完成选择下拉数据后填充其它字段功能对应的代码配置(用于生成代码)

 

 image-20260311112706646

 

生成代码

 image-20260311113231579

 

 

 

posted on 2026-03-12 10:38  hztech  阅读(2)  评论(0)    收藏  举报

导航