<%@ 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="查 询 " />
<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;"> 全部发送</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;
}
来源:https://www.cnblogs.com/puqiuxiaomao/p/3686033.html