tuijie_peo.jsp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
  4. <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
  5. <%
  6. String path = request.getContextPath();
  7. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort() + path+"/";
  8. request.setAttribute("contextPath", basePath);
  9. String redirectUrl= request.getParameter("redirectUrl");
  10. request.setAttribute("redirectUrl", redirectUrl);
  11. %>
  12. <!DOCTYPE html>
  13. <html lang="en">
  14. <head>
  15. <base href="<%=basePath%>">
  16. <meta charset="UTF-8">
  17. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  18. <meta name="apple-mobile-web-app-capable" content="yes">
  19. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  20. <meta name="format-detection" content="telephone=no">
  21. <title>推荐客户</title>
  22. <script src="<%=basePath %>app/lib/flexible.js"></script>
  23. <link rel="stylesheet" href="<%=basePath %>app/lib/flexible.css">
  24. <link rel="stylesheet" href="<%=basePath %>app/css/basem.css">
  25. <link rel="stylesheet" href="<%=basePath %>app/css/logome.css">
  26. <link rel="stylesheet" href="<%=basePath %>app/css/index.css">
  27. <style>
  28. /* .slist {
  29. overflow: hidden;
  30. }
  31. .slist .merecli {
  32. width: 146%;
  33. color: #232323;
  34. border-bottom: 0.025rem solid #f3f3f3;
  35. overflow: hidden;
  36. height: 1.2rem;
  37. line-height: 1.2rem;
  38. font-size: 0.4rem;
  39. padding: 0;
  40. }
  41. .slist li i {
  42. float: right;
  43. width: 15%;
  44. text-align: center;
  45. background: #dd1e25;
  46. color: #fff;
  47. font-size: 0.3rem;
  48. padding-right: 0.15rem;
  49. margin-left:0.15rem;
  50. }
  51. .slist li div.left {
  52. overflow: hidden;
  53. -webkit-transition: all 0.3s linear;
  54. transition: all 0.3s linear;
  55. display: inline-block;
  56. width: 80%;
  57. }
  58. .slist li div.divleft {
  59. overflow: hidden;
  60. -webkit-transition: all 0.3s linear;
  61. transition: all 0.3s linear;
  62. display: inline-block;
  63. width: 66%;
  64. }
  65. .swipeleft {
  66. transform: translateX(-15%);
  67. -webkit-transform: translateX(-30%);
  68. } */
  69. </style>
  70. </head>
  71. <body>
  72. <div class="show" id="tj_client">
  73. <div class="titbox blubg">
  74. <a class="titreturn left" href="javascript:void(0)" onclick="back()"><img src="<%=basePath %>app/img/fanhui16@2x.png" alt=""></a>
  75. <h1>推荐客户</h1>
  76. <script type="text/javascript">
  77. function back(){
  78. window.history.go(-1);
  79. }
  80. </script>
  81. </div>
  82. <div class="whbg top50">
  83. <div class="safe">
  84. <ul>
  85. <%-- <li>
  86. <!-- me-peo.html -->
  87. <a class="merecli" href="#me-client" title="me-client" id="clientMore">
  88. <div class="left">
  89. <img class="logicon" src="<%=basePath %>app/img/tuanjia@2x.png" alt=""><span class="meaddle">我的客户</span>
  90. </div>
  91. <img class="right tuijiejian" src="<%=basePath %>app/img/fanh3@2x.png" alt="">
  92. </a>
  93. </li> --%>
  94. <li class="merecli">
  95. <p class="meaddle left">客户姓名:</p>
  96. <input id="name" class="meaddinpu left" type="text">
  97. <a href="#me-client" title="me-client" id="clientMore">
  98. <img class="right tuijiejian" src="<%=basePath %>app/img/dhb.png" alt="">
  99. </a>
  100. <input id="customerid" type="hidden">
  101. </li>
  102. <li class="merecli">
  103. <p class="meaddle left">联系电话:</p>
  104. <input id="phone" oninput='this.value=this.value.replace(/^[0]+[0-9]*$/gi,"")' onkeyup="this.value=this.value.replace(/^[0]+[0-9]*$/gi,'')" onafterpaste="this.value=this.value.replace(/^[0]+[0-9]*$/gi,'')" class="meaddinpu left blutxt" type="number">
  105. </li>
  106. <li class="merecli">
  107. <p class="meaddle left">工作单位:</p>
  108. <input id="company" class="meaddinpu left" type="text">
  109. </li>
  110. <li class="merecli">
  111. <p class="meaddle left">所在区域:</p>
  112. <input id="pcarea" class="meaddinpu left" readonly="readonly" type="text">
  113. <input id="province" class="meaddinpu left" type="hidden">
  114. <input id="city" class="meaddinpu left" type="hidden">
  115. <input id="area" class="meaddinpu left" type="hidden">
  116. </li>
  117. <li class="merecli meaddlila meaddlik">
  118. <p class="meaddle">详细地址:</p>
  119. <textarea id="address" class="meaddinpu" name="" id=""></textarea>
  120. </li>
  121. <li class="merecli meaddlila meaddlik">
  122. <p class="meaddle">客户备注:</p>
  123. <textarea class="meaddinpu" name="" id="remarks"></textarea>
  124. </li>
  125. <li class="merecli meaddlila meaddlik">
  126. <p class="meaddle">订单备注:</p>
  127. <textarea class="meaddinpu" name="" id="remark"></textarea>
  128. </li>
  129. </ul>
  130. </div>
  131. </div>
  132. <div class="whbg top10">
  133. <div class="safe">
  134. <ul>
  135. <c:forEach items="${mlist }" var="m" varStatus="status">
  136. <li class="merecli">
  137. <p class="left graytxt">${m.name }</p>
  138. <input type="hidden" name="productids" value="${m.id }">
  139. <input type="hidden" class="meaddinpu left graytxt" type="text">
  140. </li>
  141. <li class="merecli">
  142. <p class="meaddle left">意向数量</p>
  143. <input oninput='this.value=this.value.replace(/^[0]+[0-9]*$/gi,"")' onkeyup="this.value=this.value.replace(/^[0]+[0-9]*$/gi,'')" onafterpaste="this.value=this.value.replace(/^[0]+[0-9]*$/gi,'')" class="meaddinpu left" name="numbers" type="number">
  144. </li>
  145. </c:forEach>
  146. </ul>
  147. </div>
  148. </div>
  149. <a class="redbtn" href="javascript:void(0);" onclick="tjnow()">马上推介</a>
  150. </div>
  151. <script type="text/javascript">
  152. var cstate = "0";
  153. function tjnow(){
  154. if(cstate == "0"){
  155. cstate = "1";
  156. var productId = "";
  157. var numbers = "";
  158. $("input[name='productids']").each(function(k){
  159. if(k == 0){
  160. productId += $(this).val();
  161. }else{
  162. productId += "," + $(this).val();
  163. }
  164. });
  165. if($("#phone").val() == '' || $("#phone").val().trim()==''){
  166. layer.msg("请填写手机号");
  167. cstate = "0";
  168. return false;
  169. }
  170. if($("#phone").val().trim().length > 11){
  171. layer.msg("请填写11位手机号");
  172. cstate = "0";
  173. return false;
  174. }
  175. if($("#company").val() == ""){
  176. layer.msg("请完善公司信息");
  177. cstate = "0";
  178. return false;
  179. }
  180. if($("#company").val() == "" || $("#pcarea").val() == "" || $("#province").val() == "" || $("#city").val() == "" || $("#area").val() == ""){
  181. layer.msg("请完善区域信息");
  182. cstate = "0";
  183. return false;
  184. }
  185. if($("#address").val() == ""){
  186. layer.msg("请完善地址信息");
  187. cstate = "0";
  188. return false;
  189. }
  190. /* 克为空if($("#customerid").val() == ""){
  191. layer.msg("请选择客户信息");
  192. cstate = "0";
  193. return false;
  194. } */
  195. if($("#remarks").val() == ""){
  196. layer.msg("请完善客户备注");
  197. cstate = "0";
  198. return false;
  199. }
  200. if($("#remark").val() == ""){
  201. layer.msg("请完善订单备注");
  202. cstate = "0";
  203. return false;
  204. }
  205. var bool = true;
  206. $("input[name='numbers']").each(function(k){
  207. if($(this).val() == ""){
  208. layer.msg("请完善产品的意向数量");
  209. cstate = "0";
  210. bool = false;
  211. return false;
  212. }
  213. if($(this).val().length > 7){
  214. layer.msg("请输入7位以下的数字");
  215. cstate = "0";
  216. bool = false;
  217. return false;
  218. }
  219. if(k == 0){
  220. numbers += $(this).val();
  221. }else{
  222. numbers += "," + $(this).val();
  223. }
  224. });
  225. if(productId == '' || productId.trim()==''){
  226. layer.msg("未获取到产品信息");
  227. cstate = "0";
  228. return false;
  229. }
  230. if(!bool){
  231. return false;
  232. }
  233. var data = new Object();
  234. data.customerId = $("#customerid").val();
  235. data.productId = productId;
  236. data.numbers = numbers;
  237. data.userId = '${userId}';
  238. data.remark = $("#remark").val();
  239. data.name = $("#name").val();
  240. data.phone = $("#phone").val();
  241. data.attributionArea = $("#pcarea").val();
  242. data.province = $("#province").val();
  243. data.city = $("#city").val();
  244. data.area = $("#area").val();
  245. data.address = $("#address").val();
  246. data.remarks = $("#remarks").val();
  247. data.company = $("#company").val();
  248. $.ajax({
  249. type: "POST",
  250. url: "<%=basePath%>rest/mgmOrder/immRecommended.cs",
  251. data: {
  252. data:JSON.stringify(data)
  253. },
  254. dataType: "json",
  255. success: function(data){
  256. if(data.ret == 1){
  257. layer.msg(data.msg);
  258. window.location.href = "<%=basePath%>web/mgmOrder/recommendlist.cs?type=1";
  259. /* window.history.go(-2); */
  260. }else if(data.ret == 0){
  261. layer.msg(data.msg);
  262. }
  263. cstate = "0";
  264. }
  265. });
  266. }
  267. }
  268. </script>
  269. <!-- 添加客户弹层 -->
  270. <div id="me-client" class="hide">
  271. <div class="titbox blubg">
  272. <a class="titreturn left" href="javascript:void(0);" onclick="$('#tj_client').show();$('#me-client').hide();"><img src="<%=basePath %>app/img/fanhui16@2x.png" alt=""></a>
  273. <div class="safe">
  274. <a class="right" href="<%=basePath %>web/mgmProduct/me_people_add.cs?pids=${pids}">
  275. <img class="addimg" src="<%=basePath %>app/img/tianjkh@2x.png" alt="">
  276. <span class="smtxt">添加客户</span>
  277. </a>
  278. </div>
  279. <h1>我的客户</h1>
  280. </div>
  281. <div style="margin-top:1.25rem;">
  282. <input id="page" value="${custom.page }" type="hidden">
  283. <input id="pageTotal" value="${custom.pageTotal }" type="hidden">
  284. <div class="slist">
  285. <ul id="cul">
  286. <c:forEach items="${custom.results }" var="c" varStatus="status">
  287. <li class="merecli merecli67">
  288. <div class="sclient">
  289. <div class="overFlow" onclick="merclick(this)">
  290. <input type="hidden" value="${c.id }" class="cid">
  291. <input type="hidden" value="${c.company }" class="company">
  292. <input type="hidden" value="${c.area }" class="area">
  293. <input type="hidden" value="${c.attributionArea }" class="attributionArea">
  294. <input type="hidden" value="${c.province }" class="province">
  295. <input type="hidden" value="${c.city }" class="city">
  296. <input type="hidden" value="${c.address }" class="address">
  297. <input type="hidden" value="${c.remarks }" class="remarks">
  298. <a class="left mepeoname name" href="javascript:void(0);" >${c.name }</a>
  299. <p class="right blutxt phone" >${c.phone }</p>
  300. </div>
  301. <%-- <i onclick="delrow(this, '${c.id }')">删除</i>
  302. <i onclick="delrow(this, '${c.id }')">编辑</i> --%>
  303. <div class="gai67">
  304. <div class="right" onclick="delrow(this, '${c.id }')">
  305. <img src="<%=basePath %>app/img/2@2x.png" alt="">
  306. 删除
  307. </div>
  308. <div class="right" onclick="edit('${c.id }')">
  309. <img src="<%=basePath %>app/img/1@2x.png" alt="">
  310. 编辑
  311. </div>
  312. </div>
  313. </div>
  314. </li>
  315. </c:forEach>
  316. </ul>
  317. <div class="nomore" id="moreno">
  318. 没有更多了。。。
  319. </div>
  320. </div>
  321. </div>
  322. </div>
  323. <!-- 城市弹窗 -->
  324. <div class="cityMask hide">
  325. <div class="titbox blubg">
  326. <a class="titreturn left" href="javascript:void(0)" onclick="backper()"><img src="<%=basePath %>app/img/fanhui16@2x.png" alt=""></a>
  327. <h1>选择城市</h1>
  328. </div>
  329. <div class="top50">
  330. <ul class="cityul">
  331. <li>
  332. <a href="#">
  333. 北京
  334. <img src="<%=basePath %>app/img/fanh3@2x.png" alt="">
  335. </a>
  336. </li>
  337. </ul>
  338. </div>
  339. </div>
  340. </body>
  341. <script type="text/javascript" src="<%=basePath %>app/lib/jquery.min.js"></script>
  342. <script type="text/javascript" src="<%=basePath %>res/js/layer/layer.min.js"></script>
  343. <script type="text/javascript" src="<%=basePath %>app/js/public.js"></script>
  344. <script>
  345. function merclick(obj){
  346. $("#customerid").val($(obj).children(".cid").val());
  347. $("#name").val($(obj).children(".name").text());
  348. $("#phone").val($(obj).children(".phone").text());
  349. $("#company").val($(obj).children(".company").val());
  350. $("#area").val($(obj).children(".area").val());
  351. $("#pcarea").val($(obj).children(".attributionArea").val());
  352. $("#province").val($(obj).children(".province").val());
  353. $("#city").val($(obj).children(".city").val());
  354. $("#address").val($(obj).children(".address").val());
  355. $("#remarks").val($(obj).children(".remarks").val());
  356. //alert($("#customerid").val() + $("#name").val() + $("#phone").val() +$("#company").val());
  357. //alert($("#area").val() + $("#pcarea").val() + $("#province").val() +$("#city").val());
  358. //alert($("#address").val() + $("#remarks").val());
  359. $("#tj_client").show();
  360. $("#me-client").hide();
  361. }
  362. $("#clientMore").click(function(){
  363. $("#tj_client").hide();
  364. $("#me-client").show();
  365. })
  366. $(function(){
  367. window.loaction.reload();//重新加载,这个需要在上一个页面写
  368. // 滚动刷新
  369. // 页数,每页展示10个,请求的地址
  370. var url = '<%=basePath%>web/mgmProduct/getCustomerList.cs';
  371. var page = $("#page").val();
  372. var pageTotal = $("#pageTotal").val();
  373. if(parseInt(page)>0 && parseInt(page) < parseInt(pageTotal)){
  374. $("#moreno").text("下拉加载更多");
  375. }else{
  376. $("#moreno").text("没有更多了。。。");
  377. }
  378. if(typeof(kindul) == "undefined"){
  379. var totalheight=0 ;
  380. var totalheight2=0 ;
  381. $(window).unbind('scroll').scroll(function(){
  382. totalheight = parseFloat($(window).height()) + parseFloat($(window).scrollTop());
  383. totalheight2=parseInt($(document).height());
  384. if( totalheight2 == parseInt(totalheight)){
  385. if(parseInt(page)>0 && parseInt(page) < parseInt(pageTotal)){
  386. $("#moreno").text("下拉加载更多");
  387. page = parseInt(page) + 1;
  388. }else{
  389. $("#moreno").text("没有更多了。。。");
  390. return false;
  391. }
  392. $.ajax({
  393. type: 'POST',
  394. url: url + '?pageNo=' + page ,
  395. dataType: 'json',
  396. success: function (data) {
  397. var html="";
  398. data.results.forEach(function(value,index,array){
  399. html += "<li class='merecli' onclick='merclick(this)'>";
  400. html += "<input type='hidden' value='"+value.id+"' class='cid'>";
  401. html += "<input type='hidden' value='"+value.company+"' class='company'>";
  402. html += "<input type='hidden' value='"+value.attributionArea+"' class='area'>";
  403. html += "<a class='left mepeoname name' href='javascript:void(0);' >"+value.name+"</a>";
  404. html += "<p class='right blutxt phone' >"+value.phone+"</p>";
  405. html += "</li>";
  406. });
  407. $('#cul').html($('#cul').html() + html);
  408. }
  409. });
  410. }
  411. });
  412. }
  413. });
  414. </script>
  415. <script type="text/javascript">
  416. $("#pcarea").click(function(){
  417. $(".cityul").html('');
  418. $.get('<%=basePath%>area/getProvice.cs',function(data){
  419. var html = "";
  420. for(var i in data){
  421. html += "<li onclick='proclick(\""+data[i].code+"\",\""+data[i].name+"\")'>";
  422. html += "<a href='javascript:void(0)'>";
  423. html += data[i].name;
  424. html += " <img src='<%=basePath %>app/img/fanh3@2x.png' alt=''>";
  425. html += "</a>";
  426. html += "</li>";
  427. }
  428. $(".cityul").html(html);
  429. });
  430. $("#tj_client").hide();
  431. $(".cityMask").show();
  432. })
  433. function proclick(code, name){
  434. var html = "";
  435. $.get('<%=basePath%>area/getByParentCode.cs',{'param': code}, function(data){
  436. for(var i in data){
  437. html += "<li onclick='cityclick(\""+data[i].code+"\",\""+data[i].name+"\")'>";
  438. html += "<a href='javascript:void(0)'>";
  439. html += data[i].name;
  440. html += " <img src='<%=basePath %>app/img/fanh3@2x.png' alt=''>";
  441. html += "</a>";
  442. html += "</li>";
  443. }
  444. $(".cityul").html(html);
  445. });
  446. $('#province').val(name);
  447. }
  448. function cityclick(code, name){
  449. var html = "";
  450. $.get('<%=basePath%>area/getByParentCode.cs',{'param': code}, function(data){
  451. for(var i in data){
  452. html += "<li onclick='countyclick(\""+data[i].code+"\",\""+data[i].name+"\")'>";
  453. html += "<a href='javascript:void(0)'>";
  454. html += data[i].name;
  455. html += " <img src='<%=basePath %>app/img/fanh3@2x.png' alt=''>";
  456. html += "</a>";
  457. html += "</li>";
  458. }
  459. $(".cityul").html(html);
  460. });
  461. $('#city').val(name);
  462. }
  463. function countyclick(code, name){
  464. $("#tj_client").show();
  465. $(".cityMask").hide();
  466. $('#area').val(name);
  467. $('#pcarea').val($('#province').val() + " " + $('#city').val() + " " + $('#area').val());
  468. }
  469. function backper(){
  470. $("#tj_client").show();
  471. $(".cityMask").hide();
  472. }
  473. </script>
  474. <script>
  475. //侧滑显示删除按钮
  476. /* var expansion = null; //是否存在展开的list
  477. var container = document.querySelectorAll('.slist li .sclient .divleft');
  478. for(var i = 0; i < container.length; i++){
  479. var x, y, X, Y, swipeX, swipeY;
  480. container[i].addEventListener('touchstart', function(event) {
  481. x = event.changedTouches[0].pageX;
  482. y = event.changedTouches[0].pageY;
  483. swipeX = true;
  484. swipeY = true ;
  485. if(expansion){ //判断是否展开,如果展开则收起
  486. expansion.parentNode.className = "sclient";
  487. }
  488. });
  489. container[i].addEventListener('touchmove', function(event){
  490. X = event.changedTouches[0].pageX;
  491. Y = event.changedTouches[0].pageY;
  492. // 左右滑动
  493. if(swipeX && Math.abs(X - x) - Math.abs(Y - y) > 0){
  494. // 阻止事件冒泡
  495. event.stopPropagation();
  496. if(X - x > 10){ //右滑
  497. event.preventDefault();
  498. this.parentNode.className = "sclient"; //右滑收起
  499. }
  500. if(x - X > 10){ //左滑
  501. event.preventDefault();
  502. this.parentNode.className = "swipeleft"; //左滑展开
  503. expansion = this;
  504. }
  505. swipeY = false;
  506. }
  507. // 上下滑动
  508. if(swipeY && Math.abs(X - x) - Math.abs(Y - y) < 0) {
  509. swipeX = false;
  510. }
  511. });
  512. } */
  513. /* var i = document.querySelectorAll('.slist li i');
  514. i.forEach(function(item, index){
  515. i[index].onclick = function(){
  516. this.parentNode.parentNode.remove();
  517. };
  518. }); */
  519. function delrow(obj, id){
  520. var data = new Object();
  521. data.id = id;
  522. layer.confirm('确认删除客户?', {
  523. btn: ['确认','取消'] //按钮
  524. }, function(){
  525. $.ajax({
  526. type: 'POST',
  527. url: "<%=basePath%>rest/mgmCustomer/deleteCustomer.cs" ,
  528. dataType: 'json',
  529. data:{
  530. data:JSON.stringify(data)
  531. },
  532. success: function (data) {
  533. if(data.ret == 1){
  534. layer.msg(data.msg);
  535. $(obj).parent().parent().parent().remove();
  536. }else{
  537. layer.msg(data.msg);
  538. }
  539. }
  540. });
  541. }, function(){
  542. });
  543. }
  544. function edit(id){
  545. window.location.href = '${contextPath }web/mgmCustomerWebCtl/me_people_details.cs?type=1&pids=${pids}&id=' + id;
  546. }
  547. </script>
  548. </html>