addLink.html 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  9. <link rel="stylesheet" href="../../static/css/font-awesome.min.css">
  10. <link rel="stylesheet" href="../../static/css/weadmin.css">
  11. <link rel="stylesheet" href="../../static/css/style.css">
  12. <!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
  13. <!--[if lt IE 9]>
  14. <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
  15. <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
  16. <![endif]-->
  17. <style>
  18. html{
  19. overflow-y: auto;
  20. }
  21. .layui-form-label{
  22. width: 100px;
  23. }
  24. .layui-input-block{
  25. margin-left: 138px;
  26. }
  27. .w-e-toolbar{
  28. padding: 0 !important;
  29. }
  30. .w-e-toolbar .w-e-menu{
  31. padding: 5px 4px !important;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <div class="weadmin-body">
  37. <form class="layui-form">
  38. <div class="layui-form-item">
  39. <label class="layui-form-label">
  40. 链接标题:
  41. </label>
  42. <div class="layui-input-block steta_grouds">
  43. <input type="text" placeholder="请输入链接标题" class="layui-input textName">
  44. </div>
  45. </div>
  46. <div class="layui-form-item">
  47. <label class="layui-form-label">链接备注:</label>
  48. <div class="layui-input-block">
  49. <textarea class="layui-textarea" placeholder="提醒内容" name="content" lay-verify="content" id="LAY_demo_editor" style="resize: none"></textarea>
  50. </div>
  51. </div>
  52. <div class="layui-form-item">
  53. <label class="layui-form-label">链接</label>
  54. <div class="layui-input-block">
  55. <a href="javascript:;" class="layui-btn layui-btn-normal addLink">添加其他链接</a>
  56. </div>
  57. <div class="layui-input-block" id="link_items">
  58. </div>
  59. </div>
  60. </form>
  61. <div class="layui-form-item" style="text-align: center;padding-top: 50px">
  62. <button class="layui-btn linkBtn" disabled>提交</button>
  63. </div>
  64. <span class="text" style="display: none"></span>
  65. </div>
  66. <script src="../../lib/layui/layui.js" charset="utf-8"></script>
  67. <script>
  68. layui.use(['form','layer','jquery','laydate'], function(){
  69. var form = layui.form,
  70. $ = layui.jquery,
  71. laydate= layui.laydate,
  72. layer = layui.layer;
  73. form.render();
  74. if (sessionStorage.getItem('module') == 'true') {
  75. QRcodeLink();
  76. }
  77. var num = 0,bums = 0;
  78. $("body").on('click','.addLink',function () {
  79. var mnum = bums++ +1;
  80. var str =`
  81. <div class="link_item" index-data="${mnum}">
  82. <input type="text" placeholder="链接名称" class="linkName" onblur="linkName(this.value,this.previousSibling.value)" oninput="parent.linkFun(this.value,${mnum})">
  83. <input type="text" placeholder="链接地址" class="linkUrl" onblur="linkName(this.nextSibling.value,this.value),checkUrl(this)" oninput="parent.titleFun(this.value,${mnum})">
  84. <span class="operation">
  85. <i class="fa fa-long-arrow-up moveUp"></i>
  86. <i class="fa fa-long-arrow-down moveDown"></i>
  87. <i class="fa fa-trash-o deleteLink"></i>
  88. </span>
  89. </div>`;
  90. $("#link_items").append(str);
  91. parent.onFocus();
  92. parent.addlink(mnum)
  93. });
  94. $('body').on('click','.deleteLink',function () {
  95. $(this).parent().parent().remove();
  96. parent.onFocus();
  97. parent.deletaLink($(this).parent().parent().attr('index-data'))
  98. })
  99. // 上移
  100. $("body") .on("click",".moveUp",function () {
  101. var index = $(this).parent().parent();
  102. if(index.index() != 0){
  103. index.prev().before(index);
  104. }else {
  105. layer.msg('已经移至最高点', {icon: 8});
  106. }
  107. });
  108. // 下移
  109. $("body") .on("click",".moveDown",function () {
  110. var index = $(this).parent().parent();
  111. if(index.index() != $(".link_item").length-1){
  112. index.next().after(index);
  113. }else {
  114. layer.msg('已经移至最低点', {icon: 8});
  115. }
  116. });
  117. window.checkUrl = function(obj){
  118. var strReg = "(https|http)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]";
  119. var re = new RegExp(strReg);
  120. if(!re.test(obj.value)) {
  121. layer.alert('请输入合法的链接地址');
  122. $(obj).val("");
  123. $(".linkBtn").attr("disabled",'disabled')
  124. }else {
  125. $(".linkBtn").removeAttr("disabled")
  126. }
  127. };
  128. window.linkName = function (val,url) {
  129. console.log()
  130. if (val === "" || url === ""){
  131. layer.msg('链接名称或链接地址不能为空');
  132. $(".linkBtn").attr("disabled",'disabled')
  133. }else {
  134. $(".linkBtn").removeAttr("disabled")
  135. }
  136. };
  137. $('body').on("click",".linkBtn",function () {
  138. var linkItemArray = [] , linkItem = $('.link_item');
  139. var linkItemobj = {linkName:"",linkUrl:'',pageId:'',title:'',remark:'',zIndex:''};
  140. var num = 0;
  141. if ($('.textName').val() === "") {
  142. layer.msg('链接信息不能为空');
  143. return false;
  144. }
  145. linkItem.each(function () {
  146. linkItemobj = {};
  147. linkItemobj.title = $('.textName').val();
  148. linkItemobj.pageId = sessionStorage.getItem("QRcodeID");
  149. linkItemobj.linkName = $(this).find('.linkName').val();
  150. linkItemobj.linkUrl = $(this).find('.linkUrl').val();
  151. linkItemobj.remark = $('#LAY_demo_editor').val();
  152. linkItemobj.zIndex = num++ +1;
  153. linkItemArray.push(linkItemobj)
  154. });
  155. $.ajax({
  156. url:'http://apptest.jieweizhineng.com/api/swagger/api/page/v1/addLinks',
  157. type:'post',
  158. data:JSON.stringify(linkItemArray),
  159. contentType:'application/json;charset=utf-8',
  160. dataType:'json',
  161. success:function (res) {
  162. if (res.code === '200'){
  163. parent.pageRelationIdFun(res.data);
  164. layer.msg('链接新增成功');
  165. }else {
  166. layer.msg('链接新增失败,请检查信息');
  167. }
  168. },
  169. error:function () {
  170. layer.msg('网络错误,请检查网络');
  171. }
  172. })
  173. });
  174. // QRcodeLink
  175. // 数据回显
  176. function QRcodeLink() {
  177. $.ajax({
  178. url: 'http://apptest.jieweizhineng.com/api/swagger/api/page/v1/getPageEdit/'+sessionStorage.getItem('QRcodeDetaileID'),
  179. type: 'get',
  180. dataType: 'json',
  181. success: function (res) {
  182. for (var i = 0; i < res.data.pageItemList.length; i++) {
  183. if (res.data.pageItemList[i].pageRelation.businessType == "LINKS") {
  184. for (var j = 0; j < res.data.pageItemList[i].linksList.length; j++) {
  185. $('.textName').val(res.data.pageItemList[i].linksList[j].title);
  186. $('#LAY_demo_editor').val(res.data.pageItemList[i].linksList[j].remark);
  187. bums = j;
  188. var str =`
  189. <div class="link_item" index-data="${bums}">
  190. <input type="text" placeholder="链接名称" value="${res.data.pageItemList[i].linksList[j].linkName}" class="linkName" onblur="linkName(this.value,this.previousSibling.value)" oninput="parent.linkFun(this.value,${bums})">
  191. <input type="text" placeholder="链接地址" value="${res.data.pageItemList[i].linksList[j].linkUrl}" class="linkUrl" onblur="linkName(this.nextSibling.value,this.value),checkUrl(this)" oninput="parent.titleFun(this.value,${bums})">
  192. <span class="operation">
  193. <i class="fa fa-long-arrow-up moveUp"></i>
  194. <i class="fa fa-long-arrow-down moveDown"></i>
  195. <i class="fa fa-trash-o deleteLink"></i>
  196. </span>
  197. </div>`;
  198. $("#link_items").append(str);
  199. }
  200. }
  201. }
  202. },
  203. error:function () {
  204. layer.msg('请检查网络', {icon: 2});
  205. }
  206. });
  207. }
  208. });
  209. </script>
  210. </body>
  211. </html>