admin.js 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. $(function() {
  2. //自定义radio 模拟 switch样式
  3. $(".cb-enable").click(function() {
  4. var parent = $(this).parents('.onoff');
  5. $('.cb-disable', parent).removeClass('selected');
  6. $(this).addClass('selected');
  7. $('.checkbox', parent).prop('checked', true);
  8. });
  9. $(".cb-disable").click(function() {
  10. var parent = $(this).parents('.onoff');
  11. $('.cb-enable', parent).removeClass('selected');
  12. $(this).addClass('selected');
  13. $('.checkbox', parent).prop('checked', false);
  14. });
  15. //公共复选框点击切换样式
  16. $(".checkbox-common").on("click", function () {
  17. //如果样式是选中设置input为不选中
  18. if ($(this).hasClass('selected')) {
  19. $(this).children("input").prop("checked", false);
  20. }
  21. var checkbox = $(this).children("input");
  22. if (checkbox.is(":checked")) {
  23. $(this).addClass("selected");
  24. } else {
  25. $(this).removeClass("selected");
  26. }
  27. });
  28. //公共单选框点击切换样式
  29. $(".radio-common").on("click", function () {
  30. var radio = $(this).children("input");
  31. var name = radio.attr("name");
  32. if (radio.is(":checked")) {
  33. $(".radio-common>input[type='radio'][name='" + name + "']").parent().removeClass("selected");
  34. $(this).addClass("selected");
  35. } else {
  36. $(this).removeClass("selected");
  37. }
  38. });
  39. });
  40. $(function() {
  41. // 显示隐藏预览图 start
  42. $('.show_image').hover(
  43. function() {
  44. $(this).next().css('display', 'block');
  45. },
  46. function() {
  47. $(this).next().css('display', 'none');
  48. }
  49. );
  50. // 全选 start
  51. $('.checkall').click(function() {
  52. var _self = this.checked;
  53. $('.checkitem').each(function() {
  54. $(this).prop('checked', _self);
  55. });
  56. $('.checkall').prop('checked', _self);
  57. });
  58. // 表格鼠标悬停变色 start
  59. $("tbody tr").hover(
  60. function() {
  61. $(this).css({background: "#FBFBFB"});
  62. },
  63. function() {
  64. $(this).css({background: "#FFF"});
  65. });
  66. // 可编辑列(input)变色
  67. $('.editable').hover(
  68. function() {
  69. $(this).removeClass('editable').addClass('editable2');
  70. },
  71. function() {
  72. $(this).removeClass('editable2').addClass('editable');
  73. }
  74. );
  75. // 提示操作 展开与隐藏
  76. $("#checkZoom").click(function() {
  77. $(this).next("ul").toggle(800);
  78. $(this).find(".arrow").toggleClass("up");
  79. });
  80. // 可编辑列(area)变色
  81. $('.editable-tarea').hover(
  82. function() {
  83. $(this).removeClass('editable-tarea').addClass('editable-tarea2');
  84. },
  85. function() {
  86. $(this).removeClass('editable-tarea2').addClass('editable-tarea');
  87. }
  88. );
  89. });
  90. /* AJAX选择品牌 */
  91. (function($) {
  92. $.fn.brandinit = function(options) {
  93. var brand_container = $(this);
  94. //根据首字母查询
  95. $(this).find('.letter[dstype="letter"]').find('a[data-letter]').click(function() {
  96. var _url = $(this).parents('.brand-index:first').attr('data-url');
  97. var _letter = $(this).attr('data-letter');
  98. var _search = $(this).html();
  99. $.getJSON(_url, {type: 'letter', letter: _letter}, function(data) {
  100. $(brand_container).insertBrand({param: data, search: _search});
  101. });
  102. });
  103. // 根据关键字查询
  104. $(this).find('.search[dstype="search"]').find('a').click(function() {
  105. var _url = $(this).parents('.brand-index:first').attr('data-url');
  106. var _keyword = $('#search_brand_keyword').val();
  107. $.getJSON(_url, {type: 'keyword', keyword: _keyword}, function(data) {
  108. $(brand_container).insertBrand({param: data, search: _keyword});
  109. });
  110. });
  111. // 选择品牌
  112. $(this).find('ul[dstype="brand_list"]').on('click', 'li', function() {
  113. $('#b_id').val($(this).attr('data-id'));
  114. $('#b_name').val($(this).attr('data-name'));
  115. });
  116. //搜索品牌列表滚条绑定
  117. $(this).find('div[dstype="brandList"]').perfectScrollbar();
  118. }
  119. $.fn.insertBrand = function(options) {
  120. //品牌搜索容器
  121. var dataContainer = $(this);
  122. $(dataContainer).find('div[dstype="brandList"]').show();
  123. $(dataContainer).find('div[dstype="noBrandList"]').hide();
  124. var _ul = $(dataContainer).find('ul[dstype="brand_list"]');
  125. _ul.html('');
  126. if ($.isEmptyObject(options.param)) {
  127. $(dataContainer).find('div[dstype="brandList"]').hide();
  128. $(dataContainer).find('div[dstype="noBrandList"]').show().find('strong').html(options.search);
  129. return false;
  130. }
  131. $.each(options.param, function(i, n) {
  132. $('<li data-id="' + n.brand_id + '" data-name="' + n.brand_name + '"><em>' + n.brand_initial + '</em>' + n.brand_name + '</li>').appendTo(_ul);
  133. });
  134. //搜索品牌列表滚条绑定
  135. $(dataContainer).find('div[dstype="brandList"]').perfectScrollbar('update');
  136. };
  137. })(jQuery);
  138. /**
  139. * Layer 通用ifram弹出窗口
  140. */
  141. function dsLayerOpen(url, title,width,height) {
  142. if (!width) width = '900px';
  143. if (!height) height = '500px';
  144. layer.open({
  145. type: 2,
  146. title: title,
  147. area: [width,height],
  148. fixed: false, //不固定
  149. maxmin: true,
  150. content: url
  151. });
  152. }
  153. /**
  154. * Layer 通用confirm弹出窗口
  155. * @param {type} url 链接地址
  156. * @param {type} msg 显示内容
  157. * @param {type} type 返回显示类型 默认未刷新当前页, Number类型为移除 id="ds_row_1" 中的内容 String类型为其他操作(reload\)
  158. * @returns {undefined}
  159. */
  160. function dsLayerConfirm(url, msg,type) {
  161. layer.confirm(msg, {
  162. btn: ['确定', '取消'],
  163. title: false,
  164. }, function () {
  165. $.ajax({
  166. url: url,
  167. type: "get",
  168. dataType: "json",
  169. success: function (data) {
  170. layer.msg(data.message, {time: 1000}, function () {
  171. if (data.code == 10000) {
  172. if (typeof(type) == "undefined"){
  173. location.reload();
  174. }else if(typeof(type) == "number"){
  175. $("#ds_row_"+type).remove();
  176. }else if(typeof(type) == "string"){
  177. if(type=="reload"){
  178. location.reload();
  179. }else{
  180. }
  181. }else{
  182. alert("类型错误");
  183. }
  184. }
  185. });
  186. }
  187. });
  188. });
  189. }
  190. /**
  191. * 批量删除
  192. */
  193. function submit_delete_batch() {
  194. /* 获取选中的项 */
  195. var items = '';
  196. $('.checkitem:checked').each(function () {
  197. items += this.value + ',';
  198. });
  199. if (items != '') {
  200. items = items.substr(0, (items.length - 1));
  201. submit_delete(items);
  202. }else{
  203. layer.alert('请勾选选项', {icon: 2})
  204. }
  205. }
  206. /**
  207. * 导出XLS
  208. * @param {type} url
  209. */
  210. function export_xls(url)
  211. {
  212. var inputs = $(".ds-search-form").find("input:text");
  213. var selects = $(".ds-search-form").find("select");
  214. var param = '';
  215. for (i = 0; i < inputs.length; i++)
  216. {
  217. if (inputs[i].name != 'controller' && inputs[i].name != 'action')
  218. param += "&" + inputs[i].name + "=" + $(inputs[i]).val();
  219. }
  220. for (i = 0; i < selects.length; i++)
  221. {
  222. param += "&" + selects[i].name + "=" + $(selects[i]).val();
  223. }
  224. location.href = url + param.replace("&", "?");
  225. }