sku_index.js 18 KB

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