11、jeecg 笔记之 界面常用整理 - 方便复制粘贴

11、jeecg 笔记之 界面常用整理 - 方便复制粘贴

1、datagrid 操作按钮(按钮样式)

操作按钮的显示主要依赖于 <t:dgCol title="操作" field="opt"  ></t:dgCol> 标签,如果没有该标签,下方即使加入也不显示。
<t:dgCol title="操作" field="opt"  width="100"></t:dgCol>
<t:dgDelOpt title="删除"  url="myyCanvassMainController.do?doDel&id={id}"  urlStyle=""  urlclass="ace_button"  urlfont="fa-trash-o"/>
<t:dgFunOpt funname="canvassDetail(id)" title="题目维护" urlStyle="background-color:#1a7bb9;"  urlclass="ace_button"  urlfont="fa-calendar-o"></t:dgFunOpt>
<t:dgFunOpt funname="canvassView(id,mcmName)"  title="问卷查看" urlStyle="background-color:#1a7bb9;"  urlclass="ace_button" urlfont="fa-eye"></t:dgFunOpt>
<t:dgFunOpt funname="canvassPhone(id)" title="用户列表" urlclass="ace_button"  urlfont="fa-phone"></t:dgFunOpt>

 

颜色替换 urlStyle 属性 background-color 值 即可,示例:

红色:urlStyle="background-color:#ec4758;"
蓝色:urlStyle="background-color:#1a7bb9;"

 

2、datagrid 双击操作 onDbClick

双击操作主要实现 datagridonDbClick 属性,示例:
<t:datagrid name="myyWorkOrderList" checkbox="true" onDblClick="goView" ...

js 中实现 goView 方法。
function goView(rowIndex,rowData){
var title = " 工 单 查 看 ";
var url = "myyWorkOrderController.do?goView";
var id = "myyHighQueryList";
detail(title,url,id,"80%","100%");
}

3、datagrid 获取选中行

var rows =  $('#xxx').datagrid('getSelections');
其中 xxxdatagridname
//判断选中几行
if (rows.length <= 0) {openTip("提示","至少勾选一笔需要调派的工单");return false;
}
//如果是单行的话,通常可能会用到 for 遍历后拿到单行: rows[i].id
// rows[i].id = 当前行的 filed = 'id' 的属性值
var ids = [];
var rows = $('#xxx').datagrid('getSelections');for ( var i = 0; i < rows.length; i++) {ids.push(rows[i].id);
}

 

4、dialog 带蒙版的弹窗(layer)

openTipfunction openTip(title,content){layer.open({title:title,content:content,icon:7,shade: 0.3,yes:function(index){layer.close(index);},btn:['确定','取消'],btn2:function(index){layer.close(index);}});
}

5、datagrid 点击单行超链接弹窗操作

<t:dgCol title="工单号"  popup="true"  url="myyWorkOrderController.do?goView&id={id}" 
style="color:blue;font-color:blue;width:55px" field="mwoNo" query="true"  queryMode="single"  width="125"></t:dgCol>

6、datagrid 自定义字段样式替换(formatjs)

列上需要加入的 formatterjs="xxx" ,示例:formatterjs="formatterTime"
function formatterTime(value,row,index){//后台传过来的 日期var limitTimeTD = new Date(Date.parse("${limitTimeDT}"));//办结时限var mwoEstimatedProcessingTime = new Date().format('yyyy-MM-dd hh:mm:ss',value);//工单状态var mwoWorkOrderStatus = row.mwoWorkOrderStatus;//当前时间var currentTime = new Date();if (value != null && value != '') {//办结时限var dateEpt = new Date(Date.parse(mwoEstimatedProcessingTime));//已经过期:     办结时限 > 当前日期的if(currentTime > dateEpt && mwoWorkOrderStatus == '1'){return '<span class="fa fa-info-circle" style="color:#e14f4f;">&nbsp;</span>'+mwoEstimatedProcessingTime;//即将过期:    满足工作日 > 办结时限  > 当前日期的#;}else if(limitTimeTD > dateEpt && dateEpt > currentTime && mwoWorkOrderStatus == '1'){return '<span class="fa fa-info-circle" style="color:#ffa92a;">&nbsp;</span>'+mwoEstimatedProcessingTime;}else{return ''+mwoEstimatedProcessingTime;}}return value;
}

7、刷新 datagrid (reload + datagrid name + () )

//重新刷新列表 数据
<t:datagrid name="MyList" checkbox="true"  ...
js 方法中只需要调用下方法即可,jeecg 已经帮我们实现该方法了。

reloadMyList();

1、弹窗,使用系统 curd.js 中的

function canvassView(id,mcmName){var title = "调查问卷明细";var url =  "myyCanvassItemController.do?listInspectMainView&mciMcmId="+id+"&mcmName="+mcmName;var datagrid = "myyCanvassMainList";var height  =window.top.document.body.offsetHeight-200;createdetailwindow(title,url,800,height);//两者区别,input disablecreatewindow(title,url,800,height); 
}

 

2、弹窗,不带确认按钮 dialog

function upload(){$.dialog({content: 'url:myyWorkOrderFileController.do?goUpload&mwoNo=test',zIndex: getzIndex(),cache:true,title:'上传附件',button: [{name: "关闭",callback: function(){reloadmyyWorkOrderFileList();return true;}}]});
}

3、弹窗确认操作,带蒙罩 layer.open

layer.open({title:'提示',content:'确定要删除该附件吗?',icon:7,shade: 0.3,yes:function(index){layer.close(index);},btn:['确定','取消'],btn1:function(index){//真实文件不做删除
        layer.close(index);},btn2:function(index){layer.close(index);}
});

 

4、带确定按钮的弹窗 dialog

//var width = window.top.document.body.offsetWidth;
var height =window.top.document.body.offsetHeight-200;$.dialog({content: 'url:myyCanvassItemController.do?listInspect&mciMcmId=${mcaMcmId}&id='+id+"&mcmName=${param.mcmName}",zIndex: getzIndex(),width:800,height:height,cache:false,title:'${param.mcmName}',//title:'民意问卷题目列表',
    button: [{name: "确定",callback: function(){//alert("aaa");iframe = this.iframe.contentWindow;saveObj();return false;},focus: true},{name: "关闭",callback: function(){//重新刷新列表 数据
                reloadmyyCanvassPhoneList();return true;}}]
});

 

5、ajax 快速复制

$.ajax({type : 'post',url : 'myyWorkOrderFileController.do?filedeal&isdel=1&fileId='+fileId,//请求数据的地址dataType : "json", //返回数据形式为jsonasync:true,success : function(result) {var success = result.success;if(success){$("#table"+tableId).remove();$.dialog.tips('操作成功', 2);}},error : function(errorMsg) {tip('操作失败');}
});

6、input 遍历取值

$("input[name='fileName1']").each(function(j,item){var value = item.value;
});

7、radio 或者 checkbox 获取选择

// radio 获取选中的值
$('input[name="addType"]').change(function(){if($("input[name='addType']:checked").val() == 'add'){}
});//问卷状态选择实现,checkbox 达到单选效果
$("input[name='mcaStatus']").each(function(){$(this).click(function(){if($(this).attr('checked')){$(':checkbox[type="checkbox"][name='+$(this).attr("name")+']').removeAttr('checked');$(this).attr('checked','checked');}});
});<!-- 选择当前手机号码问卷状态 -->
<div style="margin: 35px 5px 10px 10px;float: left;" id="statusParent"><t:dictSelect field="mcaStatus" type="checkbox" typeGroupCode="phone_mcp_status" hasLabel="false"></t:dictSelect>     <span style="display:-moz-inline-box;display:inline-block;margin-bottom:2px;text-align:justify;"><span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 90px;
      text-align:right;text-overflow:ellipsis;-o-text-overflow:ellipsis; overflow: hidden;white-space:nowrap;
" title="预约时间">预约时间:</span><input type="text" readonly="readonly" id="mcaAppointTime" name="mcaAppointTime" style="width: 140px" class="Wdate"
      οnclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"></span> </div>// 获取 checkbox 选中的值,外层嵌套一个 div :checkbox var mcaStatus; $("#statusParent :checkbox[checked]").each(function(i){mcaStatus = $(this).val(); }); //alert(mcaStatus); if(!mcaStatus){openTip("提示","请勾选用户问卷状态");return false; }

8、$(document).ready 追加 select

$(document).ready(function (){

var
eptHtml = '<span style="display:-moz-inline-box;display:inline-block;margin-bottom:2px;text-align:justify;">'+ '<span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 9
0px;text-align:right;text-overflow:ellipsis;-o-text-overflow:ellipsis; overflow: hidden;white-space:nowrap; "
'+ '>办结时限:</span>'+ '<select name="limitTime" width="120" style="width: 120px"> '+ '<option value="">-- 请选择 --</option> '+ '<option value="1">我是选项一</option> '+ '<option value="2">我是选项二 </option>'+ '</select></span>'; $("select[name='mwoIsUrge']").after(eptHtml);

});

 

9、弹出 datagrid 部门选择(ztree树形式)

$("input[name='mwoSponsorOrganization']").click(function(){$.dialog.setting.zIndex = getzIndex();var orgIds = $("#orgIdsSponsorOrgId").val();$.dialog({content: 'url:departController.do?departSelect&orgIds='+orgIds, zIndex: getzIndex(), title: '组织机构列表', lock: true, width: '400px', height: '450px', opacity: 0.4, button: [{name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelectSponsorOrg, focus: true},{name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}]}).zindex();
});function callbackDepartmentSelectSponsorOrg(){var iframe = this.iframe.contentWindow;var treeObj = iframe.$.fn.zTree.getZTreeObj("departSelect");var nodes = treeObj.getCheckedNodes(true);// nodes 即为选择得到的部门 idif(nodes.length>0){var ids='',names='';for(i=0;i<nodes.length;i++){var node = nodes[i];ids += node.id;names += node.name;}$("input[name='mwoSponsorOrganization']").val(names);$('#orgIdsSponsorOrgId').val(ids);}
}

10、弹出 datagrid 人员选择(弹出datagrid形式)

var assignUrl = 'url:userController.do?userSelectAssignList';$.dialog.setting.zIndex = getzIndex();
$.dialog({content: assignUrl, zIndex: getzIndex(), title: '调派人员列表', lock: true, width: '400px', height: '450px', opacity: 0.4, button: [{name: '确定调派', callback: callbackSelectAssignUser, focus: true},{name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
]}).zindex();//用户选择的回调界面
function callbackSelectAssignUser(){iframe = this.iframe.contentWindow;// 获取选择的用户 名称+idvar userName = iframe.getuserListSelections('userName');    var id =iframe.getuserListSelections('id');console.log(userName+"_"+id);var ids = [];var rows = $('#myyWorkOrderAssignList').datagrid('getSelections');for ( var i = 0; i < rows.length; i++) {ids.push(rows[i].id);}var assignTaskUrl = "myyWorkOrderAssignController.do?assignWorkOrder&beAccount="+userName+"&assignType="+assignType;$.ajax({type : 'post',url : assignTaskUrl,dataType : "json",data : {ids : ids.join(',')},async:true,success : function(result) {assignType = "";console.log(result);console.log(result.msg);console.log(result.success);if (result.success) {var msg = result.msg;console.log(msg);tip(msg);reloadmyyWorkOrderAssignList();$("#myyWorkOrderAssignList").datagrid('unselectAll');ids='';}else{openTip("提示","工单调派失败,请重新尝试");return false;}},error : function(errorMsg) {//请求失败时执行该函数openTip("提示","工单调派失败,请重新尝试");return false;}});
}

11、系统自带的 DepartSelectTag  部门选择

<t:departSelect selectedNamesInputId="orgNames" selectedIdsInputId="orgIds">
</t:departSelect>

12、系统自带的 UserSelectTag 人员选择 

<t:userSelect title="用户名称" selectedNamesInputId="userNames"
selectedIdsInputId="userIds" windowWidth="1000px" windowHeight="600px">
</t:userSelect>

13、choose 系统提供的弹窗 (hiddenId:隐藏域的id、hiddenName:隐藏域的名称、textname:用来展示信息、name:弹出窗的datagrid name)

<input id="mgmMaillistId" name="mgmMaillistId" type="hidden" value="${mgmMaillistId}"/>
<input name="mmmName" id="mmmName" class="inputxt" value="${mmmName }" readonly="readonly" datatype="*" />
<t:choose hiddenName="mgmMaillistId" hiddenid="id" textname="mmmName" url="myyMaillistMaintainController.do?groupList" 
name="myyMaillistMaintainList" icon="icon-search" title="通讯录" isclear="true" isInit="true"> </t:choose> <span class="Validform_checktip"><t:mutiLang langKey="通讯录选择"/></span>

14、文件下载(文件上传搜索 webUpload)

function download(path){var url =  "cgUploadController.do?showOrDownByurl&down=1&dbPath="+path;window.location.href = encodeURI(url);
}

1、c:forEach、c:if 快速复制 (包含集合大小判断)

<c:forEach items="${ myyWorkOrderFileList }" var="mwoFileEntity"  varStatus="status">${status.index} 坐标
</c:forEach><c:if test="${fn:length(myyWorkOrderFileList)  > 0 }"></c:if>

2、c:choose  java switch 语法(多条件)

<c:choose><c:when test="<boolean>">...</c:when><c:when test="<boolean>">...</c:when><c:otherwise>//都不符合...</c:otherwise>
</c:choose>

 

3、c:set 快速复制

<c:set value="${ 值 }"  var="mwoAttachmentList" />

4、ready function

$(document).ready(function (){});$(function(){});

 

5、定时器 setInterval

setInterval(function(){},2000);

6、webUpload 上传按钮

<t:webUploader  name="fileName1"  url="myyWorkOrderFileController.do?filedeal"  bizType="mwoFile" auto="true" extensions="*"  
buttonStyle="btn-green btn-S mb20"></t:webUploader>bizType 后台代码可以通过 request.getParement("bizType") 获取;由于这种上传方式 对于新添加的数据 并不能直接关联到上传附件上,所以,我们在提交 form 之前做一个填充效果。 //填充附件 function fillInFile(){var value;$("input[name='fileName1']").each(function(j,item){if(value){value = item.value + "," + value;}else{value = item.value;}});$("#mwoAttachment").val(value); }系统中的 upload 替换成 webuploadfunction ImportXls() {var deal_url = "myyWorkdayManageController.do?importExcel";var data = encodeURIComponent(deal_url);$.dialog({content: 'url:myyWorkdayManageController.do?upload&deal_url='+data,zIndex: getzIndex(),cache:false,title:'导入工作日',button: [{name: "关闭",callback: function(){window.location.reload();return true;}}]});} --------------------------------------------------------------------------@RequestMapping(params = "upload") public ModelAndView upload(HttpServletRequest req) {String deal_url = URLDecoder.decode(req.getParameter("deal_url"));req.setAttribute("deal_url",deal_url);return new ModelAndView("common/upload/web_upload_excel"); }

1、AuthFilter 界面权限标签(name 按钮容器的id 非必须)

<t:authFilter/>
说明:将该标签放在 JSP 页面最底部即可,注意不要采用包含写法。
控制精度: 可控制表单片段的隐藏和禁用

2、HasPermissionTag 界面权限标签 (code  页面控件权限 code)

<t:hasPermission code="add"><input name="mobile" class="inputxt" value="${depart.mobile }">
</t:hasPermission>
注意: 这是一个非的控制,code 匹配上,包含页面片段将不显示。
控制精度: 只能控制表单片段的隐藏(不区分隐藏和禁用)
json打印对象
JSON.stringify()

导出、下载、模板下载(当前界面)

window.location.href =  encodeURI("myyWorkdayManageController.do?exportXls");
select取值[获取选中]
<t:dictSelect field="dealFinish" type="radio"  typeGroupCode="SF_10"  defaultVal="0" hasLabel="false"  title="不再办理" ></t:dictSelect>
$("input[name='dealFinish']:checked").val() == '1'
--------------------------------------------------
var selectValue = $("select[name='mkbbType']").val();
$("select[name='mkbTypehid'] option").each(function(){                 
$("select[name='mkbType']").append("<option  value='"+$(this).val()+"'>"+$(this).text()+"</option>");
});
补充:拿到 select 后,通过 val() 

select赋值[选中]

// 监听事件
$('input[name="mwoSatisfaction"]').change(function(){// 获取当前选中的值if($("input[name='mwoSatisfaction']:checked").val() == '2'){}if($("input[name='mwoSatisfaction']:checked").val() != '2'){}
});

 

redio去掉默认值,勾选指定值

去除选中项
$("input[name='mrServiceSatisfaction']:checked").prop("checked", false);
勾选第一个item选中项
$("[name='addType']:eq(0)").attr("checked",true);
移除指定第二个item选中项
$("[name='sex']:eq(1)").removeAttr("checked");

fmt格式化数值、保留小数位   在 jstl 中 div 表示 除法

<fmt:formatNumber type="number"  value="${revisitList.jrate}" pattern="####.##"  maxFractionDigits="2" />

format日期格式化:

<fmt:formatDate value="${myyWorkOrderPage.mwoReportingTime }" pattern="yyyy-MM-dd HH:mm:ss"/>

 

formatterjs自定义格式化

function formatterNewData(value,row,index){var dateValue = new Date().format('yyyy-MM-dd  hh:mm',value);var currentUserDepartmentId =  $("#currentUserDepartmentId").val();if (row != null && row.mwoUnread == 'Y' &&  row.mwoSponsorOrganization == currentUserDepartmentId )  {return dateValue + '&nbsp;<span class="fa  fa-info-new" style="color:#e14f4f;"><img  src="images/new3.gif"                               
      width="18" style="margin-top:2px"></span>
' ;}else{return dateValue;} }

ifram取值、赋值

 
// 获取某一个id控件
frameElement.api.opener.document.getElementById("mwopOperateRemarks");// 赋值
var mwopOperateRemarks = frameElement.api.opener.document.getElementById("mwopOperateRemarks");
mwopOperateRemarks.value = '123';// 获取 js 定义的 var 属性
frameElement.api.opener.document.xxx;// 关闭弹窗
frameElement.api.close();

 

博客地址:http://www.cnblogs.com/niceyoo
posted @ 2019-02-11 20:13 niceyoo 阅读(...) 评论(...) 编辑 收藏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/414587.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工作243:name报错

name报错就是name的数值报错

Android 图片压缩,Bitmap旋转,bitmap与byte[]之间相互转换,Bitmap与String互转

频繁setImageBitmap引起oom问题解决方法 Glide.with(gsewmimg).load(getCodeBitmap(response.data.skip, R.mipmap.zhifuicon)).into(gsewmimg);压缩前后。图片大小 2.22MB——>200KB 1、图片压缩方法&#xff1a; Bitmap bitmap; byte[] buff; buff Bitmap2Bytes(bitmap…

第八届蓝桥杯-日期问题

标题&#xff1a;日期问题小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是&#xff0c;这些日期采用的格式非常不统一&#xff0c;有采用年/月/日的&#xff0c;有采用月/日/年的&#xff0c;还有…

9、Flutter 实现 生成二维码

9、Flutter 实现 生成二维码 1、加入依赖 在 pubspec.yaml 中 dependencies 节点下添加&#xff1a; dependencies: qr_flutter: ^1.1.6 2、引入代码 在需要细线二维码的 dart 类中引入依赖代码包&#xff1a; import package:qr_flutter/qr_flutter.dart; 代码部分 import p…

工作244:根据页面的内容调用

1根据内容接口判断接口数据 2显示不同的内容 3状态管理 <!--首页管理--> <template><div><!--market--><el-card v-if"task1.length!0" style"width: 100%;height: 300px;"><el-carousel :interval"3000"…

Android 换肤demo,轻量快捷接入集成,判断是否夜间模式

true为黑夜模式 //检查当前系统是否已开启暗黑模式 public static boolean getDarkModeStatus(Context context) {int mode context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;return mode Configuration.UI_MODE_NIGHT_YES;} 实现…

Python——使用matplotlib绘制柱状图

Python——使用matplotlib绘制柱状图 1、基本柱状图 首先要安装matplotlib&#xff08;http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot&#xff09; 可以使用pip命令直接安装[python] view plaincopy # -*- coding: utf-8 -*- import matplotlib.pyplot a…

了解 yarn 、npm、nodejs

了解 yarn 、npm、nodejs 一、前言 针对即将上线的 jeecg-boot 做一些准备。二、了解系列 1、了解 nodejs Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境&#xff0c;基于…

Android 语音播报,语音识别demo

该功能是基于百度智能云实现的根据文字进行语音播报。 1、首先到百度智能云创建语音应用 https://console.bce.baidu.com/ai/ 填写包名创建百度语音应用&#xff0c;获取AppID&#xff0c;API Key&#xff0c;Secret Key 2、导入资源文件。语音jar&#xff0c;assets语音库&am…

jeecg自定义datagrid查询

jeecg自定义datagrid查询 为什么要写这篇文章&#xff1f; 我们了解&#xff0c;使用 jeecg 提供的 CriteriaQuery 查询方式&#xff0c;确实能满足绝大数的需求&#xff0c;但是往往有那么个比较复杂的情况&#xff0c;需要我们直接去写 sql&#xff0c;比如多表查询呀等等等…

mailto发送邮件

mailto后面加发送邮件地址&#xff0c;可以在网页上通过链接直接打开邮件客户端发送邮件&#xff1b;只有第一个可以 1 <!DOCTYPE html>2 <html>3 <head>4 <meta charset"UTF-8">5 <title></title>6 &l…

Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21

第一次在Android studio 创建kotlin项目。编译报错&#xff1a; Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21 解决方法 // implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"implementation "org.jetbrai…

jeecg自定义按钮使用exp属性不起作用

jeecg自定义按钮使用exp属性不起作用 为什么要写这篇文章&#xff1f; 之前写过一篇类似的文章 jeecg笔记之自定义显示按钮exp属性&#xff0c;但是有些小伙伴留言参考后不起作用&#xff0c;当时我的 jeecg 版本为3.7.5&#xff0c;最终以版本不同&#xff0c;暂时搁浅了。今…

使用java修改图片DPI

修改以后可以直接用PS打开看效果 全部使用rt下的类&#xff0c;无需下载其他jar包 import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; import com.sun.image.codec.jpeg.JPEGImageEncoder; import javax.imageio.ImageIO; …

Android studio 创建kotlin工程

1、安装kotlin插件 打开settings页面。安装插件 2、已安装kotlin插件即可创建kotlin项目 打开New Project。选中Includ Kotlin support即可 3、创建kotlin或者java的activity 选中语音类型kotlin或者java kotlin项目创建完成 kotlin工程demo链接&#xff1a;https://download…

改造一下jeecg中的部门树

改造一下jeecg中的部门树 假装有需求 关于 jeecg 提供的部门树&#xff0c;相信很多小伙伴都已经用过了&#xff0c;今天假装有那么一个需求 "部门树弹窗选择默认展开下级部门"&#xff0c;带着这个需求再次去探索一下吧。 一、改造之前的部门选择树流程 1.1 t:depa…