keyWord.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. $(function(){
  2. $(".enterOne").focus(function(){
  3. $(".btnChoose").show();
  4. });
  5. $('.knowBtn').on('click',function(){
  6. $(".problemPop").hide()
  7. });
  8. $(".problem").on('click',function(){
  9. $(".problemPop").css("display",'flex');
  10. });
  11. function hasWords () {
  12. var showKeyWordLength = $(".showKeyWord ul").find('li').length;
  13. if(showKeyWordLength === 0){
  14. $(".enter.addkeyWord").show();
  15. $(".addKeyWord").hide();
  16. $(".showKeyWord").hide();
  17. } else {
  18. $(".enter.addkeyWord").hide();
  19. $(".showKeyWord").show();
  20. $(".addKeyWord").show();
  21. }
  22. }
  23. hasWords();
  24. //添加按钮
  25. $(".addKeyWord i").on('click',function(){
  26. sessionStorage.removeItem("keyWord");
  27. window.location.href="/jyapp/front/dataExport/keyWordInput";
  28. });
  29. // 添加keyWords检查输入框内是否有文字,如果有才能点击添加按钮
  30. $('.addkeyWord input.enterOne').on('input', function() {
  31. var buttonDOM = $(this).siblings()[1].children[0];
  32. if ($(this).val().length >= 1) {
  33. buttonDOM.style.opacity = 1;
  34. buttonDOM.removeAttribute("disabled");
  35. //
  36. $(this).next().find(".appended").prop("disabled", false);
  37. $(this).next().find(".exclude").prop("disabled", false);
  38. } else {
  39. buttonDOM.style.opacity = .5;
  40. buttonDOM.setAttribute("disabled", true);
  41. //
  42. $(this).next().find(".appended").prop("disabled", true);
  43. $(this).next().find(".exclude").prop("disabled", true);
  44. }
  45. });
  46. $('textarea').each(function(i,dom){
  47. // console.log(i,dom)
  48. dom.style.height = dom.scrollHeight +'px';
  49. });
  50. $("textarea").on("input", function() {
  51. this.style.height = 'auto';
  52. this.style.height = this.scrollHeight + "px";
  53. });
  54. // 添加 按钮的点击事件
  55. $('.addkeyWord .btn .save').on('click', function(){
  56. var keyWord = $('.addkeyWord input.enterOne').val();
  57. keyWord = keyWord.replace(/\s/g,"");
  58. if (keyWord.length > 20) {
  59. // var s = keyWord.slice(0,19);
  60. // $('.addkeyWord input.enterOne').val(s)
  61. weui.toast('关键词不能超过20字', {
  62. duration: 2000,
  63. className: 'text-overflow100',
  64. callback: function(){}
  65. });
  66. return
  67. }
  68. var keyWordHtml = "";
  69. var html = `
  70. <li>
  71. <div class="one">
  72. <div>
  73. <span>
  74. <strong> 关键词:</strong>
  75. <p class="key">${ keyWord }</p>
  76. </span>
  77. </div>
  78. <button class="editKeyWord"><i class="iconfont icon-xiugai"></i> 修改</button>
  79. </div>
  80. <div class="modify">
  81. <textarea name="" rows="1" placeholder="" maxlength="">${ keyWord}</textarea>
  82. <button class="addAdjunctWord">编辑 附加词</button>
  83. <button class="addExclusion">添加 排除词</button>
  84. <button class="deleteKey">删除</button>
  85. <button class="ascertainKey">确定</button>
  86. </div>
  87. </li>`;
  88. if(sessionStorage.keyWord!==""&&sessionStorage.keyWord!==undefined){
  89. var keys = JSON.parse(sessionStorage.keyWord);
  90. for(var i in keys){
  91. var append = keys[i].appended;
  92. var exclude = keys[i].exclude;
  93. if(keys[i].keyWord === keyWord){
  94. keyWordArr.push(keys[i]);
  95. localStorage.setItem("keyWord", JSON.stringify(keyWordArr));
  96. //
  97. if(append !== undefined && exclude === undefined){
  98. keyWordHtml += `
  99. <li>
  100. <div class="one">
  101. <div>
  102. <span>
  103. <strong> 关键词:</strong>
  104. <p class="key">${ keys[i].keyWord }</p>
  105. </span>
  106. <span>
  107. <strong> 附加词:</strong>
  108. <p class="addition">${ append }</p>
  109. </span>
  110. </div>
  111. <button class="editKeyWord"><i class="iconfont icon-xiugai"></i> 修改</button>
  112. </div>
  113. <div class="modify">
  114. <textarea name="" rows="1" placeholder="" maxlength="">${ keys[i].keyWord}</textarea>
  115. <button class="addAdjunctWord">编辑 附加词</button>
  116. <button class="addExclusion">添加 排除词</button>
  117. <button class="deleteKey">删除</button>
  118. <button class="ascertainKey">确定</button>
  119. </div>
  120. </li>`;
  121. }else if(append === undefined && exclude !== undefined){
  122. keyWordHtml += `
  123. <li>
  124. <div class="one">
  125. <div>
  126. <span>
  127. <strong> 关键词:</strong>
  128. <p class="key">${ keys[i].keyWord }</p>
  129. </span>
  130. <span>
  131. <strong> 排除词:</strong>
  132. <p class="exclusion">${ exclude }</p>
  133. </span>
  134. </div>
  135. <button class="editKeyWord"><i class="iconfont icon-xiugai"></i> 修改</button>
  136. </div>
  137. <div class="modify">
  138. <textarea name="" rows="1" placeholder="" maxlength="">${ keys[i].keyWord}</textarea>
  139. <button class="addAdjunctWord">编辑 附加词</button>
  140. <button class="addExclusion">添加 排除词</button>
  141. <button class="deleteKey">删除</button>
  142. <button class="ascertainKey">确定</button>
  143. </div>
  144. </li>`;
  145. }else if(append !== undefined && exclude !== undefined){
  146. keyWordHtml += `
  147. <li>
  148. <div class="one">
  149. <div>
  150. <span>
  151. <strong> 关键词:</strong>
  152. <p class="key">${ keys[i].keyWord }</p>
  153. </span>
  154. <span>
  155. <strong> 附加词:</strong>
  156. <p class="addition">${ append }</p>
  157. </span>
  158. <span>
  159. <strong> 排除词:</strong>
  160. <p class="exclusion">${ exclude }</p>
  161. </span>
  162. </div>
  163. <button class="editKeyWord"><i class="iconfont icon-xiugai"></i> 修改</button>
  164. </div>
  165. <div class="modify">
  166. <textarea name="" rows="1" placeholder="" maxlength="">${ keys[i].keyWord}</textarea>
  167. <button class="addAdjunctWord">编辑 附加词</button>
  168. <button class="addExclusion">添加 排除词</button>
  169. <button class="deleteKey">删除</button>
  170. <button class="ascertainKey">确定</button>
  171. </div>
  172. </li>`;
  173. }else if(append === undefined && exclude === undefined){
  174. keyWordHtml += `
  175. <li>
  176. <div class="one">
  177. <div>
  178. <span>
  179. <strong> 关键词:</strong>
  180. <p class="key">${ keys[i].keyWord }</p>
  181. </span>
  182. </div>
  183. <button class="editKeyWord"><i class="iconfont icon-xiugai"></i> 修改</button>
  184. </div>
  185. <div class="modify">
  186. <textarea name="" rows="1" placeholder="" maxlength="">${ keys[i].keyWord}</textarea>
  187. <button class="addAdjunctWord">编辑 附加词</button>
  188. <button class="addExclusion">添加 排除词</button>
  189. <button class="deleteKey">删除</button>
  190. <button class="ascertainKey">确定</button>
  191. </div>
  192. </li>`;
  193. }
  194. keyWordHtml = keyWordHtml.replace(/,/g, " ");
  195. //
  196. $('.showKeyWord > ul').prepend(keyWordHtml);
  197. // 隐藏
  198. $(".enter.addkeyWord").hide();
  199. $(".showKeyWord").show();
  200. $(".addKeyWord").show();
  201. $('.enter.addkeyWord > input').val('');
  202. var buttonDOM = $('.enter.addkeyWord .btn button')[0];
  203. buttonDOM.style.opacity = .5;
  204. buttonDOM.setAttribute("disabled", true);
  205. return
  206. }
  207. }
  208. }
  209. var Obj = {"keyWord": keyWord};
  210. keyWordArr.push(Obj);
  211. localStorage.setItem("keyWord", JSON.stringify(keyWordArr));
  212. $('.showKeyWord > ul').prepend(html);
  213. // 隐藏
  214. $(".enter.addkeyWord").hide();
  215. $(".showKeyWord").show();
  216. $(".addKeyWord").show();
  217. $('.enter.addkeyWord > input').val('');
  218. var buttonDOM = $('.enter.addkeyWord .btn button')[0];
  219. buttonDOM.style.opacity = .5;
  220. buttonDOM.setAttribute("disabled", true);
  221. });
  222. // 编辑
  223. $(".showKeyWord").on('click', '.editKeyWord',function(e){
  224. let oSpan = e.target.parentNode.nextElementSibling.children[0];
  225. let val = $(oSpan).val();
  226. // alert(oSpan.documentElement.scrollTop)
  227. var keyWord = $(this).prev().children().find(".key").text();
  228. for(var i in keyWordArr){
  229. if(keyWordArr[i].keyWord === keyWord){
  230. var str = "";
  231. var strs = "";
  232. if(keyWordArr[i].appended !== undefined){
  233. var appended = keyWordArr[i].appended.length;
  234. if(appended < 1){
  235. str = "添加 附加词";
  236. }else{
  237. str = "编辑 附加词 ("+appended+")";
  238. }
  239. }else{
  240. str = "添加 附加词";
  241. }
  242. $(this).parent().next().find(".addAdjunctWord").text(str);
  243. if(keyWordArr[i].exclude !== undefined){
  244. var exclude = keyWordArr[i].exclude.length;
  245. if(exclude < 1){
  246. strs = "添加 排除词";
  247. }else{
  248. strs = "编辑 排除词 ("+exclude+")";
  249. }
  250. }else{
  251. strs = "添加 排除词";
  252. }
  253. $(this).parent().next().find(".addExclusion").text(strs);
  254. }
  255. }
  256. $(this).parent().hide();
  257. $(this).parent().siblings().show().parent().siblings().children('.modify').hide().siblings('.one').show()
  258. $(oSpan).val('').focus().val(val);
  259. $(".addKeyWord").hide();
  260. });
  261. // 编辑删除
  262. $('.showKeyWord').on('click', '.deleteKey', function(e) {
  263. var jQueryDOM = $(this).parents('li');
  264. var keyWord = $(this).parent().prev().find('.key').text();
  265. weui.confirm('确定要删除关键词?', {
  266. buttons: [{
  267. label: '取消',
  268. type: 'default',
  269. onClick: function(){
  270. }
  271. }, {
  272. label: '确定',
  273. type: 'primary',
  274. onClick: function(){
  275. keyWordArr = keyWordArr.filter((e=>{return e.keyWord!==keyWord}));
  276. localStorage.keyWord = JSON.stringify(keyWordArr);
  277. jQueryDOM.remove();
  278. sessionStorage.removeItem("keyWord");
  279. $(".addKeyWord").show();
  280. hasWords()
  281. }
  282. }]
  283. });
  284. // console.log('删除关键词:',$(this).parent().find('span').text())
  285. })
  286. // 编辑确定
  287. $('.showKeyWord').on('click', '.ascertainKey', function(e) {
  288. var $this = $(this);
  289. // var keyWord = $(this).siblings('span').text();
  290. var keyWord = $(this).siblings('textarea').val();
  291. var keyWords = $(this).parent().prev().find('.key').text();
  292. keyWord = keyWord.replace(/\s/g,"");
  293. if ($(this).parent().find("textarea").val().length < 1) {
  294. weui.toast('关键词不能为空', {
  295. duration: 2000,
  296. className: 'text-overflow100',
  297. callback: function(){
  298. }
  299. });
  300. return
  301. }else if($(this).parent().find("textarea").val().length > 20){
  302. // var s = $(this).parent().find("span").text().slice(0,19);
  303. // $(this).parent().find("span").text(s);
  304. weui.toast('关键词不能超过20字', {
  305. duration: 2000,
  306. className: 'text-overflow100',
  307. callback: function(){}
  308. });
  309. return
  310. }else{
  311. for(var i in keyWordArr){
  312. if(keyWordArr[i].keyWord === keyWords){
  313. keyWordArr[i].keyWord = keyWord;
  314. }
  315. }
  316. localStorage.keyWord = JSON.stringify(keyWordArr);
  317. $this.parent().siblings().find('.key').text(keyWord)
  318. $this.parent().hide().siblings().show()
  319. }
  320. $(".addKeyWord").show();
  321. })
  322. //去空格方法
  323. String.prototype.trim = function(){
  324. return this.replace(/(^\s*)|(\s*$)/g, ' ');
  325. }
  326. })