brand.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. layui.use([ 'laypage', 'layer', 'table', 'element','form','upload'], function(){
  2. var laypage = layui.laypage //分页
  3. ,$ = layui.jquery
  4. ,layer = layui.layer //弹层
  5. ,table = layui.table //表格
  6. ,element = layui.element //元素操作
  7. ,form = layui.form
  8. ,upload = layui.upload;
  9. var tableIds = 'brandlist'; //表格ID
  10. //第一个实例
  11. table.render({
  12. elem: '#'+tableIds
  13. ,url: '/brand/brandform' //数据接口
  14. ,where:{token:csrfToken}
  15. ,method:'post'
  16. ,page: true //开启分页
  17. ,height:600
  18. ,text:'数据加载中'
  19. ,id:'tablerReload'
  20. ,limit:20
  21. ,cols: [[ //表头
  22. {type:'numbers',title:'序号',width:50},
  23. {field: 'name', title: '品牌', align:'center'},
  24. {field: 'img', title: '品牌图片',width:300, align:'center',templet:function(d){
  25. return '<img class="layui_magnify" src="'+d.img+'"/>'
  26. }},
  27. {field: 'create_at', title: '添加时间',width:150, align:'center'},
  28. {field: 'sort', title: '排序',width:100, event:'sortData',edit:'text', align:'center',sort: true,templet:"#sortBox"},
  29. {field: 'is_show', title: '审核',align:'center',width:100, templet:function (d) {
  30. if(d.is_show == 2){
  31. return '<input type="checkbox" value="'+d.id+'" name="open" lay-skin="switch" lay-filter="switchTest" lay-text="|">'
  32. } else {
  33. return '<input type="checkbox" checked value="'+d.id+'" name="open" lay-skin="switch" lay-filter="switchTest" lay-text="|">'
  34. }
  35. }},
  36. {fixed: 'right',title:'操作', width: 300, align:'center', toolbar: '#operate'}
  37. ]]
  38. });
  39. // 列表点击放大图片
  40. $('.layui-table-main').on('click','.layui_magnify', function(){
  41. var _src = $(this).attr('src');
  42. layui.layer.open({
  43. type: 1,
  44. title: false, //是否显示标题
  45. area: ['95%', '55%'],
  46. shade: 0.6, //透明度
  47. closeBtn: 1, //按钮 1有,0无
  48. shadeClose: true,
  49. content: '<img style="width:100%;height:100%" src="'+_src+'">',
  50. });
  51. });
  52. //监听指定开关
  53. form.on('switch(switchTest)', function(data){
  54. layer.confirm('确定要修改此操作吗?',{btn: ['确定', '取消']},function () {
  55. $.post('/brand/brandoperation',{id:data.value,type:'show'},function (data) {
  56. layer.msg(data.msg);
  57. table.reload('tablerReload');
  58. })
  59. },function (aa) {
  60. table.reload('tablerReload'); //重新加载
  61. })
  62. });
  63. //列表操作
  64. table.on('tool('+tableIds+')', function(obj){
  65. var layEvent = obj.event,
  66. data = obj.data;
  67. if(layEvent === 'sortData'){ //修改排序
  68. table.on('edit('+tableIds+')', function(obj){
  69. var data = obj.data;
  70. $.post('/brand/brandoperation',{id:data.id,type:'sort',sort:data.sort},function (data) {
  71. if(data.code == 200)
  72. {
  73. layer.msg(data.msg);
  74. } else if(data.code == 300 ) {
  75. layer.msg(data.msg);
  76. }
  77. })
  78. })
  79. }else if(layEvent === 'del'){
  80. layer.confirm('您确定要删除该品牌以及所有相关楼盘吗?',{btn: ['确定', '取消']},function () {
  81. $.post('/brand/brandoperation',{id:data.id,type:'del'},function (data) {
  82. layer.msg(data.msg);
  83. table.reload('tablerReload');
  84. })
  85. })
  86. }else if(layEvent === 'edit'){
  87. var index = layer.open({
  88. type: 2,
  89. title: '编辑品牌',
  90. area:['700px','500px'],
  91. content: '/brand/brandedit?id='+data.id,
  92. end:function () {
  93. table.reload('tablerReload'); //重新加载
  94. }
  95. });
  96. }else if(layEvent === 'relation'){
  97. var index =layui.layer.open({
  98. title :'<span style="color:red" >['+data.name+']</span>品牌相关楼盘',
  99. type : 2,
  100. area:['','100%'],
  101. maxmin: true,
  102. content : "/brand/house?bid="+data.id,
  103. end:function () {
  104. table.reload('tablerReload');
  105. }
  106. })
  107. layui.layer.full(index);
  108. //改变窗口大小时,重置弹窗的宽高,防止超出可视区域(如F12调出debug的操作)
  109. $(window).on("resize",function(){
  110. layui.layer.full(index);
  111. })
  112. }else if(layEvent === 'set'){
  113. layer.confirm('是否将相关楼盘关联至该品牌下?',{btn: ['确定', '取消']},function () {
  114. $.post('/brand/brandoperation',{id:data.id,type:'set'},function (data) {
  115. layer.msg(data.msg);
  116. table.reload('tablerReload');
  117. })
  118. })
  119. }
  120. });
  121. //添加图片上传
  122. upload.render({
  123. elem: '#test1'
  124. ,url: '/house/createimg'
  125. ,data:{token:csrfToken}
  126. ,field:'img'
  127. ,size:400 //限制上传图片的大小,单位为KB
  128. ,exts: 'png|jpg|jpeg' //只允许上传压缩文件
  129. ,auto:false
  130. ,bindAction:'#addcity'
  131. ,choose: function(obj){
  132. obj.preview(function(index, file, result){
  133. $('#breviary_img').attr('src', result); //图片链接(base64)
  134. });
  135. }
  136. });
  137. // 图片放大浏览
  138. $('.layui_magnify').click(function(){
  139. var _src = $(this).attr('src');
  140. layui.layer.open({
  141. type: 1,
  142. title: false, //是否显示标题
  143. area: ['60%', '80%'],
  144. shade: 0.6, //透明度
  145. closeBtn: 1, //按钮 1有,0无
  146. shadeClose: true,
  147. content: '<img style="width:100%;height:100%" src="'+_src+'">',
  148. });
  149. })
  150. // 新增
  151. var $ = layui.$, active = {
  152. addData: function(){ //获取选中数据
  153. var index = layui.layer.open({
  154. type: 2,
  155. title: '新增品牌',
  156. closeBtn: 1, //不显示关闭按钮
  157. area: ['700px','500px'],
  158. content: '/brand/brandadd' //iframe的url,no代表不显示滚动条
  159. ,success:function (layero, index) {
  160. },
  161. end:function () {
  162. table.reload('tablerReload');
  163. }
  164. });
  165. },
  166. reload:function(){//搜索
  167. var form = pfgs_serialize($('form'));
  168. var name = '';
  169. table.reload('tablerReload',{
  170. where:{
  171. name:form.input_name_text,
  172. },
  173. page:{
  174. curr:1
  175. }
  176. })
  177. },
  178. };
  179. $('.demoTable .layui-btn').on('click', function(){
  180. var type = $(this).data('type');
  181. active[type] ? active[type].call(this) : '';
  182. });
  183. //添加页面提交数据
  184. form.on('submit(add_brand)', function(data){
  185. var formData = new FormData($('form')[0]);
  186. layer.confirm('您确定添加该品牌吗?',{btn: ['确定', '取消']},function () {
  187. layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8}); //数据提交提示
  188. $.ajax({
  189. type: "post",
  190. url: "/brand/brandaddform",
  191. data: formData,
  192. contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
  193. processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
  194. error: function (request) {
  195. layer.close(index);
  196. layer.msg("请联系管理员");
  197. },
  198. success: function (data) {
  199. if (data.data != null) {
  200. layer.msg(ReturnInfo(data.data), {icon: 5});
  201. return;
  202. }
  203. layer.msg(data.msg);
  204. parent.layer.close(oindex); //再执行关闭
  205. }
  206. });
  207. })
  208. return false;
  209. });
  210. form.on('submit(edit_brand)', function(data){
  211. var index = layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8}); //数据提交提示
  212. var formData = new FormData($('form')[0]);
  213. $.ajax({
  214. type : "post",
  215. url : "/brand/brandeditform",
  216. data : formData,
  217. contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
  218. processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
  219. error : function(request) {
  220. layer.close(index);
  221. layer.msg("请联系管理员");
  222. },
  223. success : function(data) {
  224. if(data.data != null){
  225. layer.msg(ReturnInfo(data.data),{icon:5});
  226. return ;
  227. }
  228. layer.msg(data.msg);
  229. parent.layer.close(oindex); //再执行关闭
  230. }
  231. });
  232. return false;
  233. });
  234. })