当前位置: 首页 > news >正文

jeecg表单设计器js增强实现效果案例;点按钮出弹框,iframe嵌套,数据传输等

案例1:添加按钮,点击按钮获取子表数据并存到另外一个文本框中
实现效果如图:在点击这里插入图片描述
表单设计器配置
1.给按钮添加点击事件,调用js增强里挂载到Window上的函数,传递的参数是上面子表的key。

在这里插入图片描述在这里插入图片描述

2.Js增强配置代码
在这里插入图片描述

window.sendSubTableData = function(subTableName){let listData = JSON.parse(decodeURIComponent(api.getFormData('sub-table-design_'+subTableName)))console.log("点击按钮了",listData);let str = ""listData.forEach((item)=>{console.log(item);str+= item.zfjianchatiaomu+"("+item.shuoming+");\n"})api.setFormData("zfjc_list",str)
}

sub-table-design_是当前框架固定前缀,获取的子表数据需要解码和json解析,再将获取到的数据进行处理实现赋值。
zfjc_list是赋值文本框的key。

案例2:点击按钮出自定义弹框,再回显数据到表单。
效果如图:
在这里插入图片描述
在这里插入图片描述

将表单设计器生成的表单的访问地址,通过iframe嵌套到自定义页面中展示,使用组件通信传递消息,则可以实现打开自定义弹框。

vue文件示例

 <template><div class="" style="height: 90vh;"><!-- 添加返回按钮 --><a-button type="plain" icon="rollback" @click="goBack" style="float: right;margin-bottom: 10px;">返回</a-button><iframe id="formIframe" :src="iframeSrc" width="100%" height="100%"  frameborder="0"></iframe><!-- 现场指证弹框 --><WsZfjcxcblProcessListModal ref="wzpl" @ok="submitCallback"></WsZfjcxcblProcessListModal></div>
</template><script>
import { ACCESS_TOKEN } from '@/store/mutation-types'
import WsZfjcxcblProcessListModal from './sceneRecords/WsZfjcxcblProcessListModal.vue'
export default {name: 'bookForm',components: { WsZfjcxcblProcessListModal },data() {return {iframeSrc:this.$route.query.src+"?token="+this.$ls.get(ACCESS_TOKEN),}},methods: {goBack(){this.$router.push(`/tjzf/myTask/process?actTaskId=${this.$route.query.act_hi_taskinst_id}&taskresultId=${this.$route.query.taskresult_id}`)},//接收信息receiveMessage(event) {let that = thiswindow.addEventListener("message", function(event) {console.log(event.data)if(event.data.type == 'button'){if(event.data.key == '现场取证'){that.$refs.wzpl.show()}}})},//现场取证弹框关闭发送消息submitCallback(result){const info = resultdocument.getElementById("formIframe").contentWindow.postMessage({'xcqz':info},'*')}},mounted() {setTimeout(() => {this.receiveMessage()},2000)}
}
</script>

表单设计器配置
1.添加按钮点击事件
在这里插入图片描述

方法名和参数都可以自定义,调用和接收的地方保持一致即可。

js增强

window.sendParentButton = function(key){window.parent.postMessage({type: "button",key: key}, "*")
}
window.addEventListener('message', function(event) {//xcqz 现场取证-赋值api.setFormData("textarea_1761200842610_101186",event.data.xcqz)
})
http://www.dtcms.com/a/524264.html

相关文章:

  • Spring IOC源码篇八 核心方法prepareBeanFactory
  • S10--循环队列
  • 基于月尺度水分平衡模型的葡萄园规划与行间管理决策
  • 网站的前期推广网页设计与制作源代码
  • PY32F040单片机介绍(3)
  • 白云网站 建设seo信科上海城市分站seo
  • Python流程控制语法结构-选择分支新特性
  • 快速学完 LeetCode top 1~50 [特殊字符]
  • 河南网站开发培训价格商丘哪里做网站比较好
  • 【常用设计模式全解析】创建型模式(聚焦对象创建机制)、结构型模式(优化类与对象的组合关系)、行为型模式(规范对象间的交互行为)
  • MFF-YOLOv8:基于多尺度特征融合的无人机遥感图像小目标检测
  • SSM框架-MyBatis1
  • 从一开始部署Android项目Sonarqube的自动化扫码+通知+增量扫描功能(Win环境、Docker,基于Jenkins)
  • 对我单位网站进行改版苏州网站建设开发公司
  • 网站架构文案软文推广去哪个平台好
  • 【Cuda C 编程指南第7章 硬件实现】
  • 低代码开发,如何让企业应用搭建化繁为简?
  • npm使用国内淘宝镜像的方法
  • pnpm + webpack + vue 项目依赖缺失错误排查与解决
  • 北斗GNSS变形监测一体机在地质灾害和桥梁安全中的应用解析
  • C++ 中的 initializer_list 详解
  • 网站建设与管理好处网站 流量 不够用
  • 2025年第六届MathorCup大数据竞赛赛题浅析-助攻快速选题
  • 网站注册转化率网站建设营销
  • 做食品网站的素材海南省建设注册执业资格中心网站
  • 烧结工序的“隐形守护者”:在线监测如何成为钢铁制造的关键支柱
  • Vue2下项目集成DeepSeek API
  • Mysql作业3
  • 指定列交集内容合并-Rscript_v1.0
  • 基于单片机的牧场奶牛养殖系统设计(论文+源码)