sku_index.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589
  1. $(function () {
  2. $("#the_new_suit_img").html('<img src="img/Add@2x.png">');
  3. $(".new_suit").show(400);
  4. var token=$.cookie('sku_access_token');
  5. var role_id=$.cookie('sku_role_id');
  6. if(token==undefined){
  7. window.location.href = "login.html";
  8. }
  9. var url=http+"cku_suit/query_all";
  10. var data_string = JSON.stringify({token:token});
  11. if(role_id=="admin"){
  12. }else{
  13. $(".new_suit_a").hide();
  14. }
  15. // 首次获取
  16. $.ajax({
  17. url: url,
  18. type: "post",
  19. dataType:"JSON",
  20. data: data_string,
  21. success: function (data)
  22. {
  23. console.log(data);
  24. if(data.code==0){
  25. for(let k=0;k<data.res.length;k++){
  26. let suit_html='<div class="suit_" >'
  27. + '<div style="height: 80px;width: 100%;">';
  28. suit_html=suit_html + '<div class="suit_title ">';
  29. suit_html=suit_html + '<div class="suit_title_text">'+data.res[k].suitName+'</div>';
  30. suit_html=suit_html + '<div class="suit_title_ico"><img src="img/spread.png"></div>';
  31. suit_html=suit_html + '</div>';
  32. if(role_id=="admin"){
  33. suit_html=suit_html + '<div class="add_rule" >'
  34. + '<div class="add_rule_a" rid="'+data.res[k].id+'">'
  35. + '<div class="icon_img">'
  36. + '<img src="img/Add@2x.png">'
  37. + '</div>'
  38. + '<div class="add_rule_title">新增规则</div>'
  39. + '</div>'
  40. + '</div>'
  41. + '</div>';
  42. }else{
  43. suit_html=suit_html + '<div class="add_rule" >'
  44. + '<div class="add_rule_a" style=" border: 1px solid white;">'
  45. + '<div class="icon_img">'
  46. + '</div>'
  47. + '<div class="add_rule_title"></div>'
  48. + '</div>'
  49. + '</div>'
  50. + '</div>';
  51. }
  52. suit_html=suit_html + '<div class="rule_all_list" >';
  53. for(var i=0;i<data.res[k].sr_qs.length;i++){
  54. if(i==0){
  55. suit_html=suit_html + '<div class="rule_one" style="border-top: 1px solid #e4e7e9;">';
  56. }else{
  57. suit_html=suit_html + '<div class="rule_one">';
  58. }
  59. var no_num=9;
  60. suit_html=suit_html+ '<div class="rule_ rule_hr" rid="'+data.res[k].sr_qs[i].id+'">'+data.res[k].sr_qs[i].ruleName+'</div>';
  61. let math_num = Math.ceil(data.res[k].sr_qs[i].cr_qs.length/9==1?2:data.res[k].sr_qs[i].cr_qs.length/9)*10-Math.ceil(data.res[k].sr_qs[i].cr_qs.length/9==1?2:data.res[k].sr_qs[i].cr_qs.length/9)-1;
  62. for(let j=0;j<math_num;j++){
  63. if(j.toString().indexOf(no_num)!=-1){
  64. suit_html=suit_html+ '<div class="rule_"></div>';
  65. no_num=no_num+9;
  66. }
  67. if(j<data.res[k].sr_qs[i].cr_qs.length){
  68. suit_html=suit_html+ '<div class="rule_"><span class="rule_term">'+data.res[k].sr_qs[i].cr_qs[j].numName+':'+data.res[k].sr_qs[i].cr_qs[j].conditionName+'</span> <input class="rule_input" rid="'+data.res[k].sr_qs[i].cr_qs[j].id+'" value="'+data.res[k].sr_qs[i].cr_qs[j].numName+':'+data.res[k].sr_qs[i].cr_qs[j].conditionName+'"></div>';
  69. }else{
  70. suit_html=suit_html+ '<div class="rule_"></div>';
  71. }
  72. }
  73. if(role_id=="admin"){
  74. suit_html=suit_html + '<div class="rule_" style="float: right;">'
  75. + '<div class="rule_operate"><img style="margin-left: 50%; "src="img/modify@2x.png" class="compile" title="编辑"></div>'
  76. + '<div class="rule_operate"><img style="margin-left: 10%; " src="img/delete@2x.png" class="remove" title="删除"></div>'
  77. + '<div class="rule_save_div">'
  78. + '<div class="rule_save">保存</div>'
  79. + '<div class="rule_add_">添加</div>'
  80. + '</div>'
  81. + '</div>'
  82. }else{
  83. suit_html=suit_html + '<div class="rule_" style="float: right;">'
  84. + '</div>'
  85. }
  86. suit_html=suit_html+'</div>';
  87. }
  88. suit_html=suit_html+ '</div>';
  89. $("#suit_html").append(suit_html);
  90. }
  91. for(let k=0;k<data.res.length;k++){
  92. if(k>1){
  93. $('.suit_title').eq(k).parent().parent().children().eq(1).hide();
  94. $('.suit_title').eq(k).parent().children().eq(1).children().hide();
  95. $('.suit_title').eq(k).children().eq(1).children().attr('src','img/pack_up.png');
  96. }
  97. }
  98. }else{
  99. }
  100. },
  101. error:function (XMLHttpRequest) {
  102. console.log("失败!");
  103. }
  104. });
  105. var suit_exit_value;
  106. // 添加套装
  107. $(document).on('click','.new_suit_b', function() {
  108. console.log('添加套装');
  109. $('#suit_add_id').fadeIn(100);
  110. $('#suit_add').slideDown(200);
  111. suit_exit_value=$(this);
  112. });
  113. // 保存套装
  114. $(document).on('click','#suit_exit_value', function() {
  115. let suit_name = $("#suit_name").val().trim();
  116. if(suit_name==""){
  117. alert("套装名称不可以为空!");
  118. return;
  119. }
  120. let url=http+"cku_suit/add";
  121. let data_string = JSON.stringify({token:token,name:suit_name});
  122. $.ajax({
  123. url: url,
  124. type: "post",
  125. dataType:"JSON",
  126. data: data_string,
  127. async: true,//同步
  128. success: function (data)
  129. { console.log(data);
  130. if(data.code==0){
  131. let id = data.res[0].id;
  132. var suit_html=' <div class="suit_" >';
  133. suit_html=suit_html + '<div style="height: 80px;width: 100%;">';
  134. suit_html=suit_html + '<div class="suit_title ">';
  135. suit_html=suit_html + '<div class="suit_title_text">'+suit_name+'</div>';
  136. suit_html=suit_html + '<div class="suit_title_ico"><img src="img/spread.png"></div>';
  137. suit_html=suit_html + '</div>';
  138. suit_html=suit_html+ '<div class="add_rule">'
  139. + '<div class="add_rule_a" rid="'+id+'">'
  140. + '<div class="icon_img">'
  141. + '<img src="img/Add@2x.png">'
  142. + '</div>'
  143. + '<div class="add_rule_title">新增规则</div>'
  144. + '</div>'
  145. + '</div>'
  146. + '</div>';
  147. suit_html=suit_html + '<div class="rule_all_list">';
  148. suit_html=suit_html + '</div>';
  149. suit_html=suit_html+'</div>';
  150. console.log(suit_exit_value.parent());
  151. suit_exit_value.parent().parent().parent().children().eq(0).append(suit_html);
  152. }else{
  153. alert("该用户没有权限!")
  154. return;
  155. }
  156. },
  157. error:function (XMLHttpRequest) {
  158. console.log("失败!");
  159. }
  160. });
  161. $('#suit_add_id').fadeOut(100);
  162. $('#suit_add').slideUp(200);
  163. });
  164. var add_rule;
  165. var add_i=0;
  166. var suit_rid;
  167. // 添加规则和添加条件
  168. $(document).on('click','.add_rule_a', function() {
  169. if(role_id=="admin"){
  170. suit_rid = $(this).attr("rid");
  171. add_i=0;
  172. add_rule = $(this).parent().parent().parent().children().eq(1);
  173. $(".add_role_div").parent().children().eq(0).html('');
  174. var html_ = '<div>'
  175. +' <div class="condition_one">'
  176. +' <input class="ipt_condition" id="condition_number_'+add_i+'" type="text" placeholder="输入条件编号,例如:1"> :'
  177. +' </div>'
  178. +' <div class="condition_one">'
  179. +' <input class="ipt_condition" id="condition_that_'+add_i+'" type="text" placeholder="输入条件说明,例如:红色">'
  180. +' </div>'
  181. +' </div>'
  182. $(".add_role_div").parent().children().eq(0).append(html_);
  183. add_i=add_i+1;
  184. $('#rule_add_id').fadeIn(100);
  185. $('#rule_add').slideDown(200);
  186. }
  187. });
  188. // 编辑
  189. $(document).on('click','.compile', function() {
  190. // console.log('编辑');
  191. let a = $(this).parent().parent().parent().children().length;
  192. $(this).parent().parent().children().eq(0).hide();
  193. $(this).parent().parent().children().eq(1).hide();
  194. $(this).parent().parent().children().eq(2).show();
  195. console.log(a);
  196. for(let i=0;i<a-1;i++){
  197. if(i.toString().indexOf('10') !=-1 || i==0){
  198. $(this).parent().parent().parent().children().eq(i).children().eq(0).show();
  199. $(this).parent().parent().parent().children().eq(i).children().eq(1).hide();
  200. }else{
  201. $(this).parent().parent().parent().children().eq(i).children().eq(1).show();
  202. $(this).parent().parent().parent().children().eq(i).children().eq(0).hide();
  203. }
  204. }
  205. });
  206. //添加一个条件
  207. $(document).on('click','.rule_add_', function() {
  208. var html_vla=true;
  209. for(let i=0;i<$(this).parent().parent().parent().children().length;i++){
  210. if( '0'.indexOf(i)==-1){
  211. if( i%10!==0){
  212. if($(this).parent().parent().parent().children().eq(i).html()==""){
  213. var html_='<span class="rule_term" style="display: none;">'+''+':'+''+'</span> <input class="rule_input" style="display: inline-block;" rid="default" value="'+''+':'+''+'">';
  214. $(this).parent().parent().parent().children().eq(i).html(html_);
  215. html_vla=false;
  216. break;
  217. }
  218. }
  219. }
  220. }
  221. if(html_vla){
  222. var suit_html='';
  223. for(let i=0;i<10;i++){
  224. suit_html=suit_html+ '<div class="rule_ "></div>';
  225. }
  226. var lastChild = $(this).parent().parent().parent().children().last().html();
  227. var length = $(this).parent().parent().parent().children().length;
  228. $(this).parent().parent().parent().append(suit_html);
  229. length = length+10;
  230. console.log(length);
  231. $(this).parent().parent().parent().children().last().html(lastChild);
  232. var html_='<span class="rule_term" style="display: none;">'+''+':'+''+'</span> <input class="rule_input" style="display: inline-block;" rid="default" value="'+''+':'+''+'">';
  233. $(this).parent().parent().parent().children().eq(length-11).html(html_);
  234. html_vla=false;
  235. }
  236. });
  237. // 保存
  238. $(document).on('click','.rule_save', function() {
  239. // console.log('编辑');
  240. //获取保存的长度
  241. let a = $(this).parent().parent().parent().children().length;
  242. // 显示和隐藏
  243. $(this).parent().parent().children().eq(0).show();
  244. $(this).parent().parent().children().eq(1).show();
  245. $(this).parent().parent().children().eq(2).hide();
  246. // console.log(a);
  247. for(let i=0;i<a-1;i++){ //循环请求添加
  248. if(i%10 ==0 || i==0){
  249. $(this).parent().parent().parent().children().eq(i).children().eq(0).hide();
  250. $(this).parent().parent().parent().children().eq(i).children().eq(1).show();
  251. }else{
  252. if($(this).parent().parent().parent().children().eq(i).children().eq(1).val()==undefined){
  253. }else{
  254. let id=$(this).parent().parent().parent().children().eq(i).children().eq(1).attr("rid");
  255. let num_name=$(this).parent().parent().parent().children().eq(i).children().eq(1).val().split(/:/);
  256. if(num_name.length!=2){
  257. num_name=$(this).parent().parent().parent().children().eq(i).children().eq(1).val().split(/:/);
  258. }
  259. $(this).parent().parent().parent().children().eq(i).children().eq(0).html(num_name[0]+":"+num_name[1]);
  260. // console.log(id);
  261. // console.log(num_name);
  262. if (id!="default"){ // id不为空的时候我就走修改的请求
  263. let url=http+"sku_condition/update";
  264. let data_string = JSON.stringify({token:token,numName:num_name[0].trim(),name:num_name[1].trim(),id:id});
  265. $.ajax({
  266. url: url,
  267. type: "post",
  268. dataType:"JSON",
  269. data: data_string,
  270. async: true,//异步
  271. success: function (data)
  272. {
  273. if(data.code==0){
  274. // console.log(data);
  275. }else{
  276. return;
  277. }
  278. },
  279. error:function (XMLHttpRequest) {
  280. console.log("失败!");
  281. }
  282. });
  283. }else{
  284. let url=http+"sku_condition/add";
  285. var rule_id=$(this).parent().parent().parent().children().eq(0).attr("rid");
  286. // console.log(rule_id);
  287. let that=$(this);
  288. let data_string = JSON.stringify({token:token,numName:num_name[0].trim(),name:num_name[1].trim(),id:rule_id});
  289. // console.log(data_string);
  290. $.ajax({
  291. url: url,
  292. type: "post",
  293. dataType:"JSON",
  294. data: data_string,
  295. async: false,//异步
  296. success: function (data)
  297. {
  298. if(data.code==0){
  299. // console.log(i);
  300. // console.log(data.res[0].id);
  301. // console.log(that.parent().parent().parent().children().eq(i).children().eq(1).attr("rid"))
  302. that.parent().parent().parent().children().eq(i).children().eq(1).attr("rid",data.res[0].id);
  303. }else{
  304. console.log(data.msg);
  305. return;
  306. }
  307. },
  308. error:function (XMLHttpRequest) {
  309. console.log("失败!");
  310. }
  311. });
  312. }
  313. }
  314. // 显示隐藏
  315. $(this).parent().parent().parent().children().eq(i).children().eq(1).hide();
  316. $(this).parent().parent().parent().children().eq(i).children().eq(0).show();
  317. }
  318. }
  319. });
  320. // 添加一行的条件
  321. $(document).on('click','.add_role_div', function() {
  322. // 添加一行条件并显示到页面
  323. var html_ = '<div>'
  324. +' <div class="condition_one">'
  325. +' <input class="ipt_condition" id="condition_number_'+add_i+'" type="text" placeholder="输入条件编号,例如:1"> :'
  326. +' </div>'
  327. +' <div class="condition_one">'
  328. +' <input class="ipt_condition" id="condition_that_'+add_i+'" type="text" placeholder="输入条件说明,例如:红色">'
  329. +' </div>'
  330. +' </div>'
  331. $(this).parent().children().eq(0).append(html_);
  332. add_i=add_i+1;
  333. });
  334. // 保存添加的规则和条件
  335. $(document).on('click','#role_add_value', function() {
  336. // console.log(suit_rid);
  337. let role_edit_name = $("#role_edit_name").val().trim();
  338. let condition_number=[];
  339. let condition_that=[];
  340. let condition_id=[];
  341. if(role_edit_name==""){
  342. add_i=0;
  343. add_i=add_i+1;
  344. alert("规则名称不可以为空!")
  345. return;
  346. }else{
  347. $('#rule_add_id').fadeOut(100);
  348. $('#rule_add').slideUp(200);
  349. }
  350. let url=http+"cku_rule/add";
  351. let rule_id="";
  352. let data_string = JSON.stringify({token:token,name:role_edit_name,id:suit_rid});
  353. $.ajax({
  354. url: url,
  355. type: "post",
  356. dataType:"JSON",
  357. data: data_string,
  358. async: false,//同步
  359. success: function (data)
  360. {
  361. console.log(data);
  362. if(data.code==0){
  363. // console.log(data);
  364. rule_id = data.res[0].id;
  365. for(let i=0;i<add_i;i++){
  366. let number = $("#condition_number_"+i).val().trim();
  367. if(number!="" && number!=undefined){
  368. condition_number.push([number]);
  369. }
  370. let that = $("#condition_that_"+i).val().trim();
  371. if(that!="" && that!=undefined){
  372. condition_that.push([that]);
  373. }
  374. let url=http+"sku_condition/add";
  375. let data_string = JSON.stringify({token:token,numName:number,name:that,id:rule_id});
  376. $.ajax({
  377. url: url,
  378. type: "post",
  379. dataType:"JSON",
  380. data: data_string,
  381. async: false,//同步
  382. success: function (data)
  383. {
  384. if(data.code==0){
  385. // console.log(data);
  386. condition_id.push(data.res[0].id);
  387. }else{
  388. return;
  389. }
  390. },
  391. error:function (XMLHttpRequest) {
  392. console.log("失败!");
  393. }
  394. });
  395. }
  396. let suit_html='';
  397. let num=8;
  398. for(let i=0;i<1;i++){
  399. if(add_rule.html()==""){
  400. suit_html=suit_html + '<div class="rule_one" style="border-top: 1px solid #e4e7e9;">';
  401. }else{
  402. suit_html=suit_html + '<div class="rule_one">';
  403. }
  404. suit_html=suit_html+ '<div class="rule_ rule_hr" rid="'+rule_id+'">'+role_edit_name+'</div>';
  405. if (condition_that.length>8){
  406. num=17
  407. }
  408. if (condition_that.length>18){
  409. num=26
  410. }
  411. for(let j=0;j<num;j++){
  412. if(j==9){
  413. suit_html=suit_html+ '<div class="rule_ rule_hr"></div>';
  414. try{
  415. if(condition_number[j]!=undefined){
  416. suit_html=suit_html+ '<div class="rule_"><span class="rule_term">'+condition_number[j]+':'+condition_that[j]+'</span> <input class="rule_input" rid="'+condition_id[j]+'" value="'+condition_number[j]+':'+condition_that[j]+'"></div>';
  417. }else{
  418. suit_html=suit_html+ '<div class="rule_ rule_hr"></div>';
  419. }
  420. }catch(e){
  421. //TODO handle the exception
  422. suit_html=suit_html+ '<div class="rule_ rule_hr"></div>';
  423. }
  424. }else{
  425. if(j<condition_number.length){
  426. suit_html=suit_html+ '<div class="rule_"><span class="rule_term">'+condition_number[j]+':'+condition_that[j]+'</span> <input class="rule_input" rid="'+condition_id[j]+'" value="'+condition_number[j]+':'+condition_that[j]+'"></div>';
  427. }else{
  428. suit_html=suit_html+ '<div class="rule_"></div>';
  429. }
  430. }
  431. }
  432. suit_html=suit_html+ '<div class="rule_" style="float: right;">'
  433. + '<div class="rule_operate"><img style="margin-left: 50%; "src="img/modify@2x.png" class="compile" title="编辑"></div>'
  434. + '<div class="rule_operate"><img style="margin-left: 10%; " src="img/delete@2x.png" class="remove" title="删除"></div>'
  435. + '<div class="rule_save_div">'
  436. + '<div class="rule_save">保存</div>'
  437. + '<div class="rule_add_">添加</div>'
  438. + '</div>'
  439. + '</div>'
  440. + '</div>';
  441. }
  442. add_rule.append(suit_html);
  443. add_i=0; //重置为0
  444. }else{
  445. alert("该用户没有权限!");
  446. return;
  447. }
  448. },
  449. error:function (XMLHttpRequest) {
  450. console.log("失败!");
  451. }
  452. });
  453. });
  454. // 套装的显示隐藏
  455. $(document).on('click','.suit_title', function() {
  456. // console.log($(this).parent().parent().children().eq(1).is(':hidden'))
  457. if($(this).parent().children().eq(1).children().is(':hidden')){
  458. $(this).parent().parent().children().eq(1).show();
  459. $(this).parent().children().eq(1).children().show();
  460. // 切换图标
  461. $(this).children().eq(1).children().attr('src','img/spread.png');
  462. }else{
  463. $(this).parent().parent().children().eq(1).hide();
  464. $(this).parent().children().eq(1).children().hide();
  465. // 切换图标
  466. $(this).children().eq(1).children().attr('src','img/pack_up.png');
  467. }
  468. });
  469. // 删除
  470. $(document).on('click','.remove', function() {
  471. let html__=$(this).parent().parent().parent().children().eq(0).html();
  472. let r = confirm("你确定删除"+html__+"吗?");
  473. if (r == true) {
  474. let id=$(this).parent().parent().parent().children().eq(0).attr("rid");
  475. let url=http+"cku_rule/delete";
  476. let data_string = JSON.stringify({token:token,id:id});
  477. $.ajax({
  478. url: url,
  479. type: "post",
  480. dataType:"JSON",
  481. data: data_string,
  482. async: true,//同步
  483. success: function (data)
  484. {
  485. if(data.code==0){
  486. console.log("删除成功!");
  487. }else{
  488. return;
  489. }
  490. },
  491. error:function (XMLHttpRequest) {
  492. console.log("失败!");
  493. }
  494. });
  495. if($(this).parent().parent().parent().prev().length==1){//前面有节点就不处理
  496. }else{// 如果是第一个那么就添加下一个节点的上边框颜色
  497. $(this).parent().parent().parent().next().css("border-top","1px solid #e4e7e9");
  498. }
  499. $(this).parent().parent().parent().remove();// 直接删除该div
  500. } else {
  501. return;
  502. }
  503. });
  504. //取消
  505. $('.closes').click(function(){
  506. $('#suit_add_id').fadeOut(100);
  507. $('#suit_add').slideUp(200);
  508. $('#rule_add_id').fadeOut(100);
  509. $('#rule_add').slideUp(200);
  510. });
  511. // 注销登录
  512. $("#logout").on('click',function(){
  513. //清空cookie
  514. $.cookie("sku_access_token", "", {expires: -1});
  515. $.cookie("sku_refresh_token", "", {expires: -1});
  516. $.cookie("sku_role_id", "", {expires: -1});
  517. //回到首页
  518. window.location.href = "login.html";
  519. });
  520. // var dele = http+'cku_suit/delete?token='+$.cookie('sku_access_token')+'&id=';
  521. // console.log(dele);
  522. });