<%@ page language="java" pageEncoding="UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<%@include file="/WEB-INF/views/include/message.jsp"%>
<html>
<head>
<link href="${ctxStatic}/css/login.css" type="text/css" rel="stylesheet"/>
<link rel="stylesheet" type="text/css" href="${ctxStatic}/css/sysStyle.css">
<link rel="stylesheet" href="${ctxStatic}/jquery-ztree/3.5.12/css/zTreeStyle/zTreeStyle.css" type="text/css">
<link type="text/css" rel="stylesheet" href="${ctxStatic}/css/treeSelect.css" />
<script type="text/javascript" src="${ctxStatic}/jquery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="${ctxStatic}/js/list.js"></script> <script type="text/javascript" src="${ctxStatic}/My97DatePicker/WdatePicker.js"></script>
<link rel="stylesheet" type="text/css" href="${ctxStatic}/My97DatePicker/skin/WdatePicker.css">
<script type="text/javascript" src="${ctxStatic}/jquery-ztree/3.5.12/js/jquery.ztree.core-3.5.js"></script>
<c:set var="zNodes" value="${zNodes}"/>
<style type="text/css">
.model{height: 300px;}
.model_left{float:left;}
.model_center textarea{width:60%; height:200px;float: left;} </style>
<script type="text/javascript"> //点击树状模板节点,获取模板内容
var getContent=function(id){
var content="";
$.ajax({
url: "${ctx}/sms-send/fortuneGroupSendCtrl/findContent?id="+id,
type:"POST",
async: false,
success: function(data) {
if(data.content!=null&data.content!=""){
content = data.content;
document.getElementById("code").value=data.code;
}
}
});
return content;
} //重置
function resetForm(){ $("#q_chName").val("");
$("#q_cusStatusCD").val("");
$("#q_cusDeptName").val("");
$("#q_cusManagerName").val("");
}
var myTreeSetting = {
data: {
key: {
title:"t"
},
simpleData: {
enable: true
}
},
callback: {
beforeClick: beforeClick,
onClick: onClick
}
};
var tem="<c:out value='${zNodes}' escapeXml='false'/>";
var array=eval(tem ); function beforeClick(treeId, treeNode, clickFlag) {
return (treeNode.click != false);
}
function onClick(event, treeId, treeNode, clickFlag) {
//获取对应的模板内容
var content = getContent(treeNode.id);
document.getElementById("log").value=content;
}
$(document).ready(function(){
$.fn.zTree.init($("#mytree"), myTreeSetting,array);
}); //短信发送
function send(){ var content =$("#log").val();
var code =$("#code").val();
var cols=document.getElementsByName('cols');
if(null==cols||cols.length==0){
alert('当前没有记录,无法进行操作!');
return;
}
var flag='0';
var ids='';
var chk='0';
var allsend =document.getElementById("allsend");
// var allsend =$("#allsend");
if(allsend.checked){
chk='1';
flag='1';
} for(var i=0;null!=cols&&i<cols.length;i++){ if(cols[i].checked){
flag='1';
ids+=cols[i].value+',';
}
} if('0'==flag){
alert('请至少选择一条记录!');
return;
} if(""==content){
alert("发送内容不能为空");
return;
}
if(""==code){
alert("发送内容不能为空");
return;
}
if(confirm("确定发送吗?")) {
$.ajax({
url: "${ctx}/sms-send/fortuneGroupSendCtrl/fortuneGroupSend.do",
type:"post",
data:{"chk":chk,"ids":ids,"code":code,"q_id":$("#q_id").val(),"q_chName":$("#q_chName").val(),"q_idNumber":$("#q_idNumber").val(),"q_cusStatusCD":$("#q_cusStatusCD").val(),"q_cusManagerName":$("#q_cusManagerName").val(),"q_cusDeptName":$("#q_cusDeptName").val(),"q_guishuStatus":$("#q_guishuStatus").val(),"q_dept":$("#q_dept").val(),"q_sourceType":$("#q_sourceType").val()},
success: function(map) {
if (map.success) {
$("#message").text("发送成功 "+map.count+" 条短信");
}else {
$("#message").text("发送失败");
}
}
});
return true;
}else{
return false;
}
} //清空全选按钮
function clean(){
var all= document.getElementById("checkbox");
if(all.checked=true){
all.checked=false;
}
} </script>
</head>
<body> <table>
<tr>
<td rowspan="3" height="100%" valign="top">
<div>
<h3 class="lanmu_div">高级查询</h3> <div class="list_cont">
<form name="mainForm" id="queryMainForm" method="post" action="${ctx}/sms-send/fortuneGroupSendCtrl/query.do">
<div class="list_cont" style="padding-bottom:20px;">
<dl>
<dt>客户姓名:</dt>
<dd>
<input class="q_name" type="text" id="q_chName" name="q_chName" value="${baseQueryBean.q_chName }">
<input type="hidden" name="act" value="query">
<input type="hidden" name="busiId" value="searchSmsFortuneInfoSend">
<c:choose>
<c:when test="${fns:getUser().isCusManager==1}">
<input type="hidden" name="q_id" id="q_id" value="${fns:getUser().id}">
</c:when>
<c:otherwise>
<input type="hidden" name="q_dept" id="q_dept" value="${fns:getUser().deptId}">
</c:otherwise>
</c:choose>
<input type="hidden" id="moduleId" name="q_modOperateId" value="${baseQueryBean.q_modOperateId}">
</dd>
</dl>
<dl>
<dt>所属部门:</dt>
<dd>
<input class="q_name" type="text" id="q_cusDeptName" name="q_cusDeptName" value="${baseQueryBean.q_cusDeptName }" >
</dd>
</dl>
<dl>
<dt>客户类型:</dt>
<dd>
<exp:select cssClass="q_name" code="CUS_TYPE_CD" name="q_cusStatusCD" id="q_cusStatusCD" value="${baseQueryBean.q_cusStatusCD }" headerKey="" headerValue="--请选择--"/>
</dd>
</dl>
<dl>
<dt>客户经理:</dt>
<dd>
<input class="q_name" type="text" id="q_cusManagerName" name="q_cusManagerName" value="${baseQueryBean.q_cusManagerName }">
</dd>
</dl>
<dl>
<dt>数据来源:</dt>
<dd><exp:select code="SOURCE_TYPE" name="q_sourceType" id="q_sourceType" value="${baseQueryBean.q_sourceType}" headerValue="---请选择---" headerKey="" cssClass="q_name"></exp:select></dd>
</dl>
<div align="center">
<dl>
<dd>
<input type="submit" class="btn" id="searchButton" value="查 询 " />&nbsp;&nbsp;&nbsp;
<input type="button" class="btn" id="searchButton" value="重置 " onclick="resetForm();"/>
</dd>
</dl>
</div>
</div> </form>
</div>
</div>
<div>
<h3 class="lanmu_div">模块列表</h3>
<div class="list_cont">
<table class="adv_query_list">
<tr class="search_title_show">
<td align="center" bgcolor="#C7D6EA" class="table_head"><input type="checkbox" id="checkbox" onclick="checkAll(this);"/></td>
<td align="center">序号</td>
<td align="center">客户编号</td>
<td align="center">客户姓名</td>
<td align="center">手机号</td>
<td align="center">客户类型</td>
<td align="center">客户经理</td>
<td align="center">创建时间</td>
<td align="center">所属部门</td>
<td align="center">创建人</td>
<td align="center">数据来源</td>
</tr>
<c:forEach items="${pageInfo.searchResult}" var="it">
<tr align="center" class="tdbg">
<td><input type="checkbox" id="cols" name="cols" value="${it[0] }" onclick="clean();"/></td>
<td>${it[11] }</td>
<td>${it[1] }</td>
<td><a href="${ctx}/crm-server/fortuneCusCtrl/queryCusDetail.do?id=${it[0] }">${it[2] }</a>
</td>
<td>${fn:substring(it[3],0,7) }****</td>
<td>${(it[4] eq 2 )?'储备客户':'客户'}</td>
<td>${it[5] }</td>
<td>${it[6] }</td>
<td>${it[7] }</td>
<td>${it[8] }</td>
<td>${(it[10] eq 1 )?'系统':'导入'}</td>
</tr>
</c:forEach>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>${pagination}</td>
</tr>
</table> </div>
</div>
</td>
</tr>
</table>
<h3 class="lanmu_div">发送短信</h3>
<span style="color: red; font-size: 20" id="message"></span>
<div class="model">
<div class="model_left">
<ul id="mytree" class="ztree" style="margin-top: 0px;"></ul>
</div>
<div class="model_center">
<input id = "code" type="hidden" value="" />
<textarea id="log" wrap="virtual" readonly="readonly" ></textarea>
</div>
<div class="list_cont">
<div>
<dl>
<dd style="margin-left: 5px; margin-top: 140px;" >
<input id="allsend" type="checkbox" style="float:left;margin-top:2px "/><span style="float:left;">&nbsp;全部发送</span>
</dd>
</dl>
</div>
<div>
<dl>
<dd>
<input value="发送短信" type="button" onclick="send();" class="btn" />
</dd>
</dl>
</div>
</div>
</div>
</body>
</html>

上面对应的jsp内容,下面是对应的service查询数据源

/**
* 获取所有模板及末班类型,以树形结构显示
*/
@SuppressWarnings({"unchecked", "rawtypes" })
public String getTree()
{
StringBuilder str = new StringBuilder();
str.append("[ ");
//获取所有的模板类型
List list1= jdbcDao.queryData("select t.item_name ,t.item_code,t.id from UC_TYPE_DICTIONARY t where t. type_code = 'SMS_TEMPLATE_TYPE_CD'");
for(int i =0;i<list1.size();i++){
List list = (List) list1.get(i);
//获取此类型对应的所有的模板
List lst1 = jdbcDao.queryData("select t.id,t.name from SMS_TEMPLATE t where t.param_count = 0 and t.type = "+list.get(1));
str.append("{ id:"+"'"+ list.get(2).toString()+"'");
str.append(", name:");
str.append("'"+list.get(0).toString()+"'");
if(lst1.size()==0){
if(i==(list1.size()-1)){
str.append(", isParent:true}");
}else{
str.append(", isParent:true},");
}
}else{
str.append(", children:["); //获取模板类型的数量
//int t = jdbcDao.getTotalCount("select t.id from UC_TYPE_DICTIONARY t where t. type_code = 'SMS_TEMPLATE_TYPE_CD'");
for(int k =0;k<lst1.size();k++){
List lst= (List) lst1.get(k);
str.append("{ id:");
str.append("'"+lst.get(0).toString()+"'");
str.append(", name:");
str.append("'"+lst.get(1)+"'"); if(i==(list1.size()-1) && k==(lst1.size()-1)){
str.append("}");
}else{
str.append("},");
}
}
if(i==(list1.size()-1)){
str.append("]}");
}else{
str.append("]},");
}
} }
str.append(" ]");
return str.toString();
} /**
* 获取短信模板的内容
*/
@SuppressWarnings("rawtypes")
@Override
public List<String> findContent(String id) {
List<String> templateList = new ArrayList<String>();
List list= jdbcDao.queryData("select t.content,t.code from SMS_TEMPLATE t where t.id= "+id);
for(int i = 0;i<list.size();i++){
List lst = (List) list.get(i);
templateList.add(lst.get(0).toString());
templateList.add(lst.get(1).toString());
}
return templateList;
}

  这个是控制层,controller层

完事了

    @RequestMapping(value = "query")
public String query(@ModelAttribute SmsFortuneInfoCtrlQueryVO smsFortuneCtrlQueryVO, HttpServletRequest request, Model model) throws Exception{
CommonQueryUtils utils=new CommonQueryUtils();
utils.execute(smsFortuneCtrlQueryVO,model);
String zNodes= fortuneGroupSendService.getTree();
model.addAttribute("zNodes", zNodes);
return "sms-server/send/fortuneGroupSend_list";
} /*
* 获取短信模板的内容
*/
@RequestMapping(value = "findContent")
@ResponseBody
public Map<String, Object> findContent(@RequestParam String id,Model model){
List<String> templateList = fortuneGroupSendService.findContent(id);
Map<String, Object> map = new HashMap<String, Object>();
if(templateList!=null&templateList.size()>0){
map.put("content", templateList.get(0).toString());
map.put("code", templateList.get(1).toString());
}
return map;
}

zTree的简单例子的更多相关文章

  1. Ztree学习(-)简单例子

    https://www.cnblogs.com/shinhwazt/p/5828031.html ztree包:https://pan.baidu.com/s/1vOgGm_elF-lF0VowoHw ...

  2. Hibernate4.2.4入门(一)——环境搭建和简单例子

    一.前言 发下牢骚,这段时间要做项目,又要学框架,搞得都没时间写笔记,但是觉得这知识学过还是要记录下.进入主题了 1.1.Hibernate简介 什么是Hibernate?Hibernate有什么用? ...

  3. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答

    一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...

  4. spring mvc(注解)上传文件的简单例子

    spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...

  5. ko 简单例子

    Knockout是在下面三个核心功能是建立起来的: 监控属性(Observables)和依赖跟踪(Dependency tracking) 声明式绑定(Declarative bindings) 模板 ...

  6. mysql定时任务简单例子

    mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9     如果要每30秒执行以下语句:   [sql] update userinfo set endtime = now() WHE ...

  7. Ztree的简单使用和后台交互的写法(二)

    针对Ztree的简单使用和后台交互的写法(一)中的树进行改进 1.增加节点的权限 由页面的当前用户,决定树的根节点 然后动态获取树的详细节点: 初始化函数为: function init(){ //初 ...

  8. java socket编程开发简单例子 与 nio非阻塞通道

    基本socket编程 1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特 ...

  9. 一个简单例子:贫血模型or领域模型

    转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...

随机推荐

  1. fabric-sdk-container v1.0-beta 新增支持多服务节点

    HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container ( ...

  2. Mac下搭建lamp

    Mac下搭建lamp Mac 自带了Apache,并默认支持PHP环境,只需要配置Apache和PHP即可使用.需要单独安装mysql服务端. Apache 基础配置 Apache支持PHP配置 Ap ...

  3. Linux内核分析作业 NO.4

    扒开系统调用的三层皮(上) 于佳心 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-100002900 ...

  4. 20135337朱荟潼 Linux第七周学习总结——可执行程序的装载

    朱荟潼 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 第七周 Linu ...

  5. wordpress学习三:wordpress自带的模板学习

    在<学习二>里,大概说了下怎么去查找模板,本节我们以一个简单的模板为例子,继续说说wordpress的模板机制,看看做一个自己的模板需要哪些知识点. 页面模板渲染 wordpress的模板 ...

  6. 基于SSM的Java Web应用开发原理初探

    SSM开发Web的框架已经很成熟了,成熟得以至于有点落后了.虽然如今是SOA架构大行其道,微服务铺天盖地的时代,不过因为仍有大量的企业开发依赖于SSM,本文简单对基于SSM的Java开发做一快速入门, ...

  7. WORDPRESS修改文章文件后,出现乱码

    文章文件(single.php)发生改变时,部分静态文字出现乱码 解决方案: 1.进入你的ftp空间,进入你的主题文件夹,选取你要加中文文字的那个文件,例如我的就是footer.php. 2.把foo ...

  8. 深入理解Vue的生命周期

    谈到Vue的生命周期,相信许多人并不陌生.但大部分人和我一样,只是听过而已,具体用在哪,怎么用,却不知道.我在学习vue一个多礼拜后,感觉现在还停留在初级阶段,对于mounted这个挂载还不是很清楚. ...

  9. MT【98】三元对称不等式

    评:这是一道浙江省省赛题,这里利用对称性,设$x\le y\le z$从而解决了问题.值得注意的是此处三元轮换对称正好也是完全对称,但如果变成一般的$n\ge4$元对称问题时,就不能设大小关系.事实上 ...

  10. 基于Docker持续交付平台建设的实践

    导读:中国五矿和阿里巴巴联手打造的钢铁服务专业平台五阿哥,通过集结阿里巴巴在大数据.电商平台和互联网产品技术上的优势,为终端用户带来一站式采购体验.本文是五阿哥运维技术团队针对Docker容器技术在如 ...