0
0

addLink.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  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" lay-verify="required">
  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="required" 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. <div class="layui-form-item" style="text-align: center;padding-top: 50px">
  61. <button class="layui-btn" lay-submit lay-filter="linkBtn">提交</button>
  62. </div>
  63. </form>
  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('QRcodeIDs') !=""){
  75. QRcodeLink(sessionStorage.getItem('QRcodeIDs'))
  76. }
  77. var num = 0,bums = 0,delateLinks = [];
  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" lay-verify="required" oninput="parent.linkFun(this.value,${mnum})">
  83. <input type="text" placeholder="链接地址" class="linkUrl" lay-verify="linkverify" 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. var linkItemobj = {id:'',linkName:"",linkUrl:'',parentId:'',title:'',remark:'',zIndex:'',deleteFlag:""};
  96. $(this).parent().parent().remove();
  97. parent.onFocus();
  98. parent.deletaLink($(this).parent().parent().attr('index-data'));
  99. if ($(this).parent().parent().attr('link-id') != "") {
  100. linkItemobj = {};
  101. linkItemobj.title = $('.textName').val();
  102. linkItemobj.parentId = sessionStorage.getItem("QRcodeIDs");
  103. linkItemobj.linkName = $(this).parent().parent().find('.linkName').val();
  104. linkItemobj.linkUrl = $(this).parent().parent().find('.linkUrl').val();
  105. linkItemobj.remark = $('#LAY_demo_editor').val();
  106. linkItemobj.id = $(this).parent().parent().attr('link-id');
  107. linkItemobj.deleteFlag = true;
  108. linkItemobj.zIndex = num++ +1;
  109. delateLinks.push(linkItemobj)
  110. console.log(delateLinks,'delateImageatlas')
  111. }
  112. })
  113. // 上移
  114. $("body") .on("click",".moveUp",function () {
  115. var index = $(this).parent().parent();
  116. if(index.index() != 0){
  117. index.prev().before(index);
  118. }else {
  119. layer.msg('已经移至最高点', {icon: 8});
  120. }
  121. });
  122. // 下移
  123. $("body") .on("click",".moveDown",function () {
  124. var index = $(this).parent().parent();
  125. if(index.index() != $(".link_item").length-1){
  126. index.next().after(index);
  127. }else {
  128. layer.msg('已经移至最低点', {icon: 8});
  129. }
  130. });
  131. form.verify({
  132. linkverify: function(value, item){
  133. if(!new RegExp("(https|http)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]").test(value)){
  134. return '请输入合法的链接地址';
  135. }
  136. }
  137. });
  138. form.on('submit(linkBtn)', function(){
  139. if (sessionStorage.getItem('QRcodeIDs') == "false") {
  140. var linkItemArray = [] , linkItem = $('.link_item');
  141. var linkItemobj = {linkName:"",linkUrl:'',pageId:'',title:'',remark:'',zIndex:''};
  142. var num = 0;
  143. linkItem.each(function () {
  144. linkItemobj = {};
  145. linkItemobj.title = $('.textName').val();
  146. linkItemobj.pageId = sessionStorage.getItem("QRcodeDetaileID");
  147. linkItemobj.linkName = $(this).find('.linkName').val();
  148. linkItemobj.linkUrl = $(this).find('.linkUrl').val();
  149. linkItemobj.remark = $('#LAY_demo_editor').val();
  150. linkItemobj.zIndex = num++ +1;
  151. linkItemArray.push(linkItemobj)
  152. });
  153. $.ajax({
  154. url:'http://apptest.jieweizhineng.com/api/swagger/api/page/v1/addLinks',
  155. type:'post',
  156. data:JSON.stringify(linkItemArray),
  157. contentType:'application/json;charset=utf-8',
  158. dataType:'json',
  159. success:function (res) {
  160. if (res.code === '200'){
  161. parent.pageRelationIdFun(res.data);
  162. parent.QRcodeIndexas();
  163. layer.msg('链接新增成功');
  164. }else {
  165. layer.msg('链接新增失败,请检查信息');
  166. }
  167. },
  168. error:function () {
  169. layer.msg('网络错误,请检查网络');
  170. }
  171. })
  172. }else {
  173. var linkItemArray = [] , linkItem = $('.link_item');
  174. var linkItemobj = {id:'',linkName:"",linkUrl:'',parentId:'',title:'',remark:'',zIndex:'',deleteFlag:""};
  175. var num = 0;
  176. if (delateLinks != []) {
  177. for (var j = 0; j < delateLinks.length; j++) {
  178. linkItemArray.push(delateLinks[j])
  179. }
  180. }
  181. linkItem.each(function () {
  182. linkItemobj = {};
  183. linkItemobj.title = $('.textName').val();
  184. linkItemobj.parentId = sessionStorage.getItem("QRcodeIDs");
  185. linkItemobj.linkName = $(this).find('.linkName').val();
  186. linkItemobj.linkUrl = $(this).find('.linkUrl').val();
  187. linkItemobj.remark = $('#LAY_demo_editor').val();
  188. linkItemobj.id = $(this).attr('link-id');
  189. linkItemobj.deleteFlag = false;
  190. linkItemobj.zIndex = num++ +1;
  191. linkItemArray.push(linkItemobj)
  192. });
  193. $.ajax({
  194. url:'http://apptest.jieweizhineng.com/api/swagger/api/page/v1/updateLinks',
  195. type:'post',
  196. data:JSON.stringify(linkItemArray),
  197. contentType:'application/json;charset=utf-8',
  198. dataType:'json',
  199. success:function (res) {
  200. if (res.code === '200'){
  201. parent.onFocus();
  202. parent.pageRelationIdFun(res.data);
  203. layer.msg('链接修改成功');
  204. }else {
  205. layer.msg('链接修改失败,请检查信息');
  206. }
  207. },
  208. error:function () {
  209. layer.msg('网络错误,请检查网络');
  210. }
  211. });
  212. }
  213. return false;
  214. });
  215. // QRcodeLink
  216. // 数据回显
  217. function QRcodeLink(id) {
  218. $.ajax({
  219. url: 'http://apptest.jieweizhineng.com/api/swagger/api/page/v1/getPageEdit/'+sessionStorage.getItem('QRcodeDetaileID'),
  220. type: 'get',
  221. dataType: 'json',
  222. success: function (res) {
  223. for (var i = 0; i < res.data.pageItemList.length; i++) {
  224. if (res.data.pageItemList[i].pageRelation.businessType == "LINKS" && res.data.pageItemList[i].pageRelation.businessId == id) {
  225. for (var j = 0; j < res.data.pageItemList[i].linksList.length; j++) {
  226. $('.textName').val(res.data.pageItemList[i].linksList[j].title);
  227. $('#LAY_demo_editor').val(res.data.pageItemList[i].linksList[j].remark);
  228. bums = j;
  229. var str =`
  230. <div class="link_item" index-data="${bums}" link-id="${res.data.pageItemList[i].linksList[j].id}">
  231. <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})" lay-verify="required">
  232. <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})" lay-verify="linkverify">
  233. <span class="operation">
  234. <i class="fa fa-long-arrow-up moveUp"></i>
  235. <i class="fa fa-long-arrow-down moveDown"></i>
  236. <i class="fa fa-trash-o deleteLink"></i>
  237. </span>
  238. </div>`;
  239. $("#link_items").append(str);
  240. }
  241. }
  242. }
  243. },
  244. error:function () {
  245. layer.msg('请检查网络', {icon: 2});
  246. }
  247. });
  248. }
  249. });
  250. </script>
  251. </body>
  252. </html>