sku_index.js 16 KB

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