xinyb
2024-06-15 fdd73a906963f31abb59d81c10cc163eab47404a
提交 | 用户 | 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();" />&nbsp;&nbsp;<input type="button" value="取消" onclick="upclose();" />&nbsp;&nbsp;
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();" />&nbsp;&nbsp;<input type="button" value="取消" onclick="addContactClose();" />&nbsp;&nbsp;
435 </div>
436 </div>
437 </div>
438
439 <ul class="dropdown">
440 </ul>
441 </body>
442 </html>