提交 | 用户 | age
|
a6a76f
|
1 |
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
F |
2 |
<%@page import="com.yc.sdk.shopping.util.SettingKey"%> |
|
3 |
<% |
|
4 |
//得到URL |
|
5 |
String URL =SettingKey.getHostUrl(request); |
|
6 |
String group = request.getParameter("group"); |
|
7 |
Map<String,Object> groupInfo = null; |
|
8 |
if(group==null)return; |
|
9 |
try{ |
|
10 |
int id = Integer.parseInt(group); |
|
11 |
ContactGroupIfc goupIfc = (ContactGroupIfc)FactoryBean.getBean("ContactGroupImpl"); |
|
12 |
groupInfo = goupIfc.getGroupInfo((String)session.getAttribute("@usercode"),id); |
|
13 |
if(groupInfo == null)return; |
|
14 |
}catch(Exception e){ |
|
15 |
out.write("非法提交!"); |
|
16 |
return; |
|
17 |
} |
|
18 |
%> |
4a551f
|
19 |
<!DOCTYPE html > |
a6a76f
|
20 |
|
F |
21 |
<%@page import="java.util.Map"%> |
|
22 |
<%@page import="com.yc.action.mail.service.ContactGroupIfc"%> |
|
23 |
<%@page import="com.yc.factory.FactoryBean"%><html xmlns="http://www.w3.org/1999/xhtml"> |
|
24 |
<head> |
|
25 |
<link href="css/cont.css" rel="stylesheet" type="text/css"></link> |
|
26 |
<link rel="stylesheet" type="text/css" |
|
27 |
href="css/flexigrid/flexigrid.css"></link> |
|
28 |
<script type="text/javascript" src="<%=URL%>/js/jquery.js"></script> |
|
29 |
<script type="text/javascript" src="js/flexigrid.js"></script> |
|
30 |
<script src="js/dialog.js"></script> |
|
31 |
<link href="css/moveto.css" rel="stylesheet" type="text/css"></link> |
|
32 |
<link href="images/blue/css.css" rel="stylesheet" type="text/css" id="showdialogcss" /> |
|
33 |
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> |
|
34 |
<title></title> |
|
35 |
<style type="text/css"> |
|
36 |
.flexigrid div.fbutton .delete { |
|
37 |
background: url(css/images/close.png) no-repeat center left; |
|
38 |
} |
|
39 |
.flexigrid div.fbutton .update { |
|
40 |
background: url(css/images/update.png) no-repeat center left; |
|
41 |
} |
|
42 |
.flexigrid div.fbutton .add { |
|
43 |
background: url(css/images/add.png) no-repeat center left; |
|
44 |
} |
|
45 |
.flexigrid div.fbutton .mvto { |
|
46 |
background: url(css/images/dropdown.png) no-repeat center left; |
|
47 |
} |
|
48 |
.dialogUpdate{height:50px; width:520px;margin-top:30px;margin-left:20px;font-size:11pt;} |
|
49 |
.dialogUpdate ul{margin:0px;padding:0px;float:left; list-style:none;} |
|
50 |
.dialogUpdate ul li{ height:25px;} |
|
51 |
.dialogSpan{width:100px;} |
|
52 |
.dialogInput{width:160px;} |
|
53 |
.dialogInput li input{ width:150px; height:18px;border:1px solid #cccccc;} |
|
54 |
</style> |
|
55 |
<script type="text/javascript"> |
|
56 |
var group = "<%=group %>"; |
|
57 |
$(function(){ |
|
58 |
$('#diagx').ShowDialog({ |
|
59 |
Width:"565", |
|
60 |
Height:"340", |
|
61 |
Title:"添加联系人", |
|
62 |
skin:"blue", |
|
63 |
ContentFlag:"1", |
|
64 |
Contents:$("#addContact").html(), |
|
65 |
IsDrag:"0", |
|
66 |
IsAutoCenter:"1" |
|
67 |
}); |
|
68 |
$('#updateGroup').ShowDialog({ |
|
69 |
Width:"565", |
|
70 |
Height:"340", |
|
71 |
Title:"修改联系人信息", |
|
72 |
skin:"blue", |
|
73 |
Contents:$("#updateF").html(), |
|
74 |
ContentFlag:"1", |
|
75 |
IsDrag:"0", |
|
76 |
IsAutoCenter:"1" |
|
77 |
}); |
|
78 |
var t=$("#flex1").flexigrid( |
|
79 |
{ |
|
80 |
url: '/getContacts.do?groupId=<%=group %>', |
|
81 |
dataType: 'json', |
|
82 |
resizable: false, |
|
83 |
colModel : [ |
|
84 |
{display: 'ID', name : 'cid',sortable : false,hide:true, width : 70}, |
|
85 |
{display: '姓名', name : 'gname',sortable : false, width : 60}, |
|
86 |
{display: 'E-mail', name : 'email',sortable : false, width :60}, |
|
87 |
{display: '联系电话', name : 'phone',sortable : false, width : 60}, |
|
88 |
{display: 'QQ', name : 'qq',sortable : false, width : 60}, |
|
89 |
{display: 'MSN', name : 'msn',sortable : false, width : 60}, |
|
90 |
{display: '手机号码', name : 'mobile',sortable : false, width : 60}, |
|
91 |
{display: '公司', name : 'company',sortable : false, width : 60}, |
|
92 |
{display: '部门', name : 'department',sortable : false, width : 60}, |
|
93 |
{display: '职位', name : 'jobs',sortable : false, width : 60}, |
|
94 |
{display: '地址', name : 'address',sortable : false, width : 60}, |
|
95 |
{display: '备注', name : 'remarks',sortable : false, width : 60} |
|
96 |
], |
|
97 |
buttons : [ |
|
98 |
{name: '全选', onpress : selectAll}, |
|
99 |
{separator: true}, |
|
100 |
{name: '反选', onpress : selectAll}, |
|
101 |
{separator: true}, |
|
102 |
{name: '添加联系人', bclass: 'add', onpress : showAddContact}, |
|
103 |
{separator: true}, |
|
104 |
{name: '修改联系人信息', bclass: 'update', onpress : upFolder}, |
|
105 |
{separator: true}, |
|
106 |
{name: '移动到', bclass: 'mvto', onpress : mvto}, |
|
107 |
{separator: true}, |
|
108 |
{name: '删除', bclass: 'delete', onpress : delGroup}, |
|
109 |
{separator: true} |
|
110 |
], |
|
111 |
searchitems : [ |
|
112 |
{display: '姓名', name : 'cname',isdefault: true}, |
|
113 |
{display: 'E-mail', name : 'email'}, |
|
114 |
{display: 'QQ', name : 'qq'}, |
|
115 |
{display: 'MSN', name : 'msn'}, |
|
116 |
{display: '公司', name : 'conpany'}, |
|
117 |
{display: '联系电话', name : 'phone'} |
|
118 |
], |
|
119 |
usepager: true, |
|
120 |
title: '通讯录----<%=groupInfo.get("gname") %>', |
|
121 |
nomsg : '没有数据存在!',// 无结果的提示信息 |
|
122 |
pagestat : '显示第 {from} 条到 {to} 条,共 {total} 条数据', |
|
123 |
page : 1, // 默认当前页 |
|
124 |
total : 1, // 总页面数 |
|
125 |
useRp : true, // 是否可以动态设置每页显示的结果数 |
|
126 |
rp : 20, // 每页默认的结果数 |
|
127 |
rpOptions : [15,25,40,60,100],// 可选择设定的每页结果数 |
|
128 |
showTableToggleBtn: false, |
|
129 |
width: 750, |
|
130 |
height: 390, |
|
131 |
procmsg: '正在处理数据,请稍候 ...', |
|
132 |
hideOnSubmit: true, //是否在回调时显示遮盖 |
|
133 |
blockOpacity: 0.5, //透明度设置 |
|
134 |
onRowDblclick:gridDbClick |
|
135 |
} |
|
136 |
); |
|
137 |
$(document).bind('click', function(e) { |
|
138 |
var $clicked = $(e.target); |
|
139 |
if (! $clicked.hasClass("mvto")) |
|
140 |
$(".dropdown").hide(); |
|
141 |
}); |
|
142 |
}); |
|
143 |
function gridDbClick(data){ |
|
144 |
showUp($(data).data('cid').toString()); |
|
145 |
} |
|
146 |
function getselected() { |
|
147 |
var select= $("td:eq(0)",$('#flex1 .trSelected')); |
|
148 |
|
|
149 |
} |
|
150 |
//全选 |
|
151 |
function setselectall() { |
|
152 |
$('#flex1 tr').removeClass('trSelected'); |
|
153 |
$('#flex1 tr').addClass('trSelected'); |
|
154 |
} |
|
155 |
//反选 |
|
156 |
function setselectinv() { |
|
157 |
$('#flex1 tr').toggleClass('trSelected'); |
|
158 |
} |
|
159 |
function delGroup(com,grid){ |
|
160 |
var select= $("td:eq(0)",$('#flex1 .trSelected')); |
|
161 |
if(select.length>0){ |
|
162 |
if(confirm("确定将这"+select.length+"个联系人信息删除!")){ |
|
163 |
var cid = ""; |
|
164 |
$("td:eq(0)",$('#flex1 .trSelected')).each(function(i){ |
|
165 |
if(i==0)cid+=$(this).text(); |
|
166 |
else cid+=";"+$(this).text(); |
|
167 |
}); |
|
168 |
$.post("/delContacts.do",{"cids":cid},function(data){ |
|
169 |
if(data.code=="success"){ |
|
170 |
$('#flex1').flexOptions({newp: 1}).flexReload(); |
|
171 |
}else{ |
|
172 |
alert(data.info); |
|
173 |
} |
|
174 |
},"json"); |
|
175 |
} |
|
176 |
}else{ |
|
177 |
alert("请选择要删除的联系人信息!"); |
|
178 |
} |
|
179 |
} |
|
180 |
function selectAll(c,g){ |
|
181 |
if(c=="全选"){ |
|
182 |
setselectall(); |
|
183 |
}else{ |
|
184 |
setselectinv(); |
|
185 |
} |
|
186 |
} |
|
187 |
function upFolder(com,grid){ |
|
188 |
var select= $("td:eq(0)",$('#flex1 .trSelected')); |
|
189 |
if(select.length>0){ |
|
190 |
showUp($(select[0]).text()); |
|
191 |
} |
|
192 |
} |
|
193 |
function showUp(id){ |
|
194 |
$.post("/getContact.do",{"cid":id},function(data){ |
|
195 |
if(data.code=='error'){ |
|
196 |
alert(data.info); |
|
197 |
}else if(data.cid){ |
|
198 |
$('#updateGroup').click(); |
|
199 |
$(".showdiv").find("#upcname").val(data.cname); |
|
200 |
$(".showdiv").find("#upemail").val(data.email); |
|
201 |
$(".showdiv").find("#upphone").val(data.phone); |
|
202 |
$(".showdiv").find("#upqq").val(data.qq); |
|
203 |
$(".showdiv").find("#upmsn").val(data.msn); |
|
204 |
$(".showdiv").find("#upmobile").val(data.mobile); |
|
205 |
$(".showdiv").find("#upcompany").val(data.company); |
|
206 |
$(".showdiv").find("#updepartment").val(data.department); |
|
207 |
$(".showdiv").find("#upjobs").val(data.jobs); |
|
208 |
$(".showdiv").find("#upaddress").val(data.address); |
|
209 |
$(".showdiv").find("#upremarks").val(data.remarks); |
|
210 |
$(".showdiv").find("#upcid").val(id); |
|
211 |
} |
|
212 |
},"json"); |
|
213 |
} |
|
214 |
function upclose(){ |
|
215 |
$("#diagclose").click(); |
|
216 |
} |
|
217 |
function upUpdate(){ |
|
218 |
var upcid=$(".showdiv").find("#upcid").val(); |
|
219 |
var upcname=$(".showdiv").find("#upcname").val(); |
|
220 |
var upemail=$(".showdiv").find("#upemail").val(); |
|
221 |
var upphone=$(".showdiv").find("#upphone").val(); |
|
222 |
var qq=$(".showdiv").find("#upqq").val(); |
|
223 |
var msn=$(".showdiv").find("#upmsn").val(); |
|
224 |
var mobile=$(".showdiv").find("#upmobile").val(); |
|
225 |
var company=$(".showdiv").find("#upcompany").val(); |
|
226 |
var department=$(".showdiv").find("#updepartment").val(); |
|
227 |
var jobs=$(".showdiv").find("#upjobs").val(); |
|
228 |
var address=$(".showdiv").find("#upaddress").val(); |
|
229 |
var remarks=$(".showdiv").find("#upremarks").val(); |
|
230 |
if(!validateEmail(upemail)){ |
|
231 |
$(".showdiv").find("#upContact_info").text("E-mail地址有误!");return; |
|
232 |
} |
|
233 |
//upcname=encodeURIComponent(upcname); |
|
234 |
$.post("/updateContact.do",{"cid":upcid,"cname":upcname,"email":upemail,"phone":upphone,'qq':qq,'msn':msn,'mobile':mobile,'company':company,'department':department,'jobs':jobs,'address':address,'remarks':remarks},function(data){ |
|
235 |
if(data.code=="success"){ |
|
236 |
addContactClose(); |
|
237 |
$('#flex1').flexOptions({newp: 1}).flexReload(); |
|
238 |
}else{ |
|
239 |
$(".showdiv").find("#addContact_info").text(data.info); |
|
240 |
} |
|
241 |
},"json"); |
|
242 |
} |
|
243 |
function reflush(){ |
|
244 |
$('#flex1').flexOptions({newp: 1}).flexReload(); |
|
245 |
parent.leftFrame.location.reload(); |
|
246 |
} |
|
247 |
function showAddContact(){ |
|
248 |
$('#diagx').click(); |
|
249 |
} |
|
250 |
function addContactClose(){ |
|
251 |
$("#diagclose").click(); |
|
252 |
} |
|
253 |
function addContact(){ |
|
254 |
var groupId = $("#groupId").val(); |
|
255 |
var cname=$(".showdiv").find("#cname").val(); |
|
256 |
var email=$(".showdiv").find("#email").val(); |
|
257 |
var phone=$(".showdiv").find("#phone").val(); |
|
258 |
var qq=$(".showdiv").find("#qq").val(); |
|
259 |
var msn=$(".showdiv").find("#msn").val(); |
|
260 |
var mobile=$(".showdiv").find("#mobile").val(); |
|
261 |
var company=$(".showdiv").find("#company").val(); |
|
262 |
var department=$(".showdiv").find("#department").val(); |
|
263 |
var jobs=$(".showdiv").find("#jobs").val(); |
|
264 |
var address=$(".showdiv").find("#address").val(); |
|
265 |
var remarks=$(".showdiv").find("#remarks").val(); |
|
266 |
if($.trim(cname)==''||$.trim(email)==''){ |
|
267 |
$(".showdiv").find("#addContact_info").text(".........."); |
|
268 |
setTimeout(function(){ |
|
269 |
$(".showdiv").find("#addContact_info").text("联系人名称和E-mail地址不允许为空!");return; |
|
270 |
},600); |
|
271 |
}else{ |
|
272 |
if(!validateEmail(email)){ |
|
273 |
$(".showdiv").find("#addContact_info").text("E-mail地址有误!");return; |
|
274 |
} |
|
275 |
cname = encodeURIComponent(cname); |
|
276 |
email = encodeURIComponent(email); |
|
277 |
phone = encodeURIComponent(phone); |
|
278 |
qq = encodeURIComponent(qq); |
|
279 |
msn = encodeURIComponent(msn); |
|
280 |
mobile = encodeURIComponent(mobile); |
|
281 |
company = encodeURIComponent(company); |
|
282 |
department = encodeURIComponent(department); |
|
283 |
jobs = encodeURIComponent(jobs); |
|
284 |
address = encodeURIComponent(address); |
|
285 |
remarks = encodeURIComponent(remarks); |
|
286 |
$.post("/addContact.do",{'groupId':groupId,'cname':cname,'email':email,'phone':phone, |
|
287 |
'qq':qq,'msn':msn,'mobile':mobile,'company':company,'department':department,'jobs':jobs,'address':address,'remarks':remarks},function(data){ |
|
288 |
if(data.code=="success"){ |
|
289 |
addContactClose(); |
|
290 |
$('#flex1').flexOptions({newp: 1}).flexReload(); |
|
291 |
}else{ |
|
292 |
$(".showdiv").find("#addContact_info").text(data.info); |
|
293 |
} |
|
294 |
},"json"); |
|
295 |
} |
|
296 |
} |
|
297 |
function mvto(c,g){ |
|
298 |
var dr=$(".dropdown"); |
|
299 |
if(dr.css("display")=="none"){ |
|
300 |
$.post("/getGroupInfos2.do","",function(d){ |
|
301 |
if(d.length<1){ |
|
302 |
alert("没有添加通讯录分组!"); |
|
303 |
} |
|
304 |
dr.find(".dyna").remove(); |
|
305 |
$.each(d,function(i){ |
|
306 |
dr.append("<li class='dyna'><a>"+d[i].gname+"</a><span class=\"d_value\">"+d[i].gid+"</span></li>"); |
|
307 |
}); |
|
308 |
dr.find("li").each(function(){ |
|
309 |
if($(this).find("span").text()==group){//folder在页面中有定义 |
|
310 |
$(this).remove(); |
|
311 |
} |
|
312 |
}); |
|
313 |
var off=$(".mvto").offset(); |
|
314 |
var height=$(".mvto").height()-4; |
|
315 |
dr.css({"top":off.top+height,"left":off.left-4,"display":"block"}); |
|
316 |
dr.find("li").bind('click', function() { |
|
317 |
moveto($(this));//---- |
|
318 |
}); |
|
319 |
},"json"); |
|
320 |
} |
|
321 |
|
|
322 |
} |
|
323 |
function moveto(obj){//---- |
|
324 |
var select= $("td:eq(0)",$('#flex1 .trSelected')); |
|
325 |
if(select.length<=0){ |
|
326 |
alert("请选择要移到到其他分组的联系人!");return; |
|
327 |
} |
|
328 |
var cids = ""; |
|
329 |
$("td:eq(0)",$('#flex1 .trSelected')).each(function(i){ |
|
330 |
if(i==0)cids+=$(this).text(); |
|
331 |
else cids+=";"+$(this).text(); |
|
332 |
}); |
|
333 |
$.post("/move2group.do",{"cids":cids,"groupId":obj.find(".d_value").text()},function(d){ |
|
334 |
if(d.code=="success"){ |
|
335 |
$('#flex1').flexOptions({newp: 1}).flexReload(); |
|
336 |
}else{ |
|
337 |
alert(d.info); |
|
338 |
} |
|
339 |
},"json"); |
|
340 |
} |
|
341 |
function validateEmail(field) { |
|
342 |
var regex=/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i; |
|
343 |
return (regex.test(field)) ? true : false; |
|
344 |
} |
|
345 |
</script> |
|
346 |
</head> |
|
347 |
<body class="right_body"> |
|
348 |
<div id="updateGroup"></div> |
|
349 |
<input type="hidden" id="groupId" value="<%=group %>" /> |
|
350 |
<div id="updateF" style="display: none;"> |
|
351 |
<div class="dialogUpdate"> |
|
352 |
<ul class="dialogSpan"> |
|
353 |
<li>联系人名称</li> |
|
354 |
<li>QQ</li> |
|
355 |
<li>联系电话</li> |
|
356 |
<li>公司</li> |
|
357 |
<li>职位</li> |
|
358 |
</ul> |
|
359 |
<ul class="dialogInput"> |
|
360 |
<li><input maxlength="50" type="text" id="upcname"/></li> |
|
361 |
<li><input maxlength="50" type="text" id="upqq"/></li> |
|
362 |
<li><input maxlength="50" type="text" id="upphone"/></li> |
|
363 |
<li><input maxlength="50" type="text" id="upcompany"/></li> |
|
364 |
<li><input maxlength="50" type="text" id="upjobs"/></li> |
|
365 |
</ul> |
|
366 |
<ul class="dialogSpan"> |
|
367 |
<li>联系人E-mail</li> |
|
368 |
<li>MSN</li> |
|
369 |
<li>手机号码</li> |
|
370 |
<li>部门</li> |
|
371 |
<li>地址</li> |
|
372 |
</ul> |
|
373 |
<ul class="dialogInput"> |
|
374 |
<li><input maxlength="50" type="text" id="upemail"/></li> |
|
375 |
<li><input maxlength="50" type="text" id="upmsn"/></li> |
|
376 |
<li><input maxlength="50" type="text" id="upmobile"/></li> |
|
377 |
<li><input maxlength="50" type="text" id="updepartment"/></li> |
|
378 |
<li><input maxlength="200" type="text" id="upaddress"/></li> |
|
379 |
</ul> |
|
380 |
<ul style="height:60px;"> |
|
381 |
<li style=" width:100px; float:left;">备注</li><li style="float:left;"><textarea id="upremarks" style="border:1px solid #cccccc; width:408px; height:50px;" ></textarea></li> |
|
382 |
</ul> |
|
383 |
<div style="clear:both;"></div> |
|
384 |
<label id="upContact_info" style="display:block;font-size:12px;color: red;margin-left:100px; height:15px;"></label><input type="hidden" id="upcid"/> |
|
385 |
|
|
386 |
<hr style="height:1px; color:#cccccc;"/> |
|
387 |
<div align="center"> |
|
388 |
<input type="button" value="修改" onclick="upUpdate();" /> <input type="button" value="取消" onclick="upclose();" /> |
|
389 |
</div> |
|
390 |
</div> |
|
391 |
</div> |
|
392 |
|
|
393 |
|
|
394 |
<div id="diagx"></div> |
|
395 |
<table id="flex1" style="display: none"></table> |
|
396 |
<div id="addContact" style="display: none"> |
|
397 |
<div class="dialogUpdate"> |
|
398 |
<ul class="dialogSpan"> |
|
399 |
<li>联系人名称</li> |
|
400 |
<li>QQ</li> |
|
401 |
<li>联系电话</li> |
|
402 |
<li>公司</li> |
|
403 |
<li>职位</li> |
|
404 |
</ul> |
|
405 |
<ul class="dialogInput"> |
|
406 |
<li><input maxlength="50" type="text" id="cname"/></li> |
|
407 |
<li><input maxlength="50" type="text" id="qq"/></li> |
|
408 |
<li><input maxlength="50" type="text" id="phone"/></li> |
|
409 |
<li><input maxlength="50" type="text" id="company"/></li> |
|
410 |
<li><input maxlength="50" type="text" id="jobs"/></li> |
|
411 |
</ul> |
|
412 |
<ul class="dialogSpan"> |
|
413 |
<li>联系人E-mail</li> |
|
414 |
<li>MSN</li> |
|
415 |
<li>手机号码</li> |
|
416 |
<li>部门</li> |
|
417 |
<li>地址</li> |
|
418 |
</ul> |
|
419 |
<ul class="dialogInput"> |
|
420 |
<li><input maxlength="50" type="text" id="email"/></li> |
|
421 |
<li><input maxlength="50" type="text" id="msn"/></li> |
|
422 |
<li><input maxlength="50" type="text" id="mobile"/></li> |
|
423 |
<li><input maxlength="50" type="text" id="department"/></li> |
|
424 |
<li><input maxlength="200" type="text" id="address"/></li> |
|
425 |
</ul> |
|
426 |
<ul style="height:60px;"> |
|
427 |
<li style=" width:100px; float:left;">备注</li><li style="float:left;"><textarea id="remarks" style="border:1px solid #cccccc; width:408px; height:50px;" ></textarea></li> |
|
428 |
</ul> |
|
429 |
<div style="clear:both;"></div> |
|
430 |
<label id="addContact_info" style="display:block;font-size:12px;color: red;margin-left:100px; height:15px;"></label><input type="hidden" id="upcid"/> |
|
431 |
|
|
432 |
<hr style="height:1px; color:#cccccc;"/> |
|
433 |
<div align="center"> |
|
434 |
<input type="button" value="确定" onclick="addContact();" /> <input type="button" value="取消" onclick="addContactClose();" /> |
|
435 |
</div> |
|
436 |
</div> |
|
437 |
</div> |
|
438 |
|
|
439 |
<ul class="dropdown"> |
|
440 |
</ul> |
|
441 |
</body> |
|
442 |
</html> |