houses.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. layui.use(['form', 'layer', 'laydate', 'table', 'laytpl', 'layedit', 'upload'], function () {
  2. var form = layui.form,
  3. // layer = parent.layer === undefined ? layui.layer : top.layer,
  4. layer = layui.layer,
  5. $ = layui.jquery,
  6. laydate = layui.laydate,
  7. laytpl = layui.laytpl,
  8. table = layui.table,
  9. layedit = layui.layedit
  10. , upload = layui.upload;
  11. //调用编辑器
  12. var tableIds = 'housesList';
  13. var reloadId = 'tablerReload';
  14. //楼盘列表
  15. var tableIns = table.render({
  16. elem: '#' + tableIds,
  17. url: '/otherwatermark/housrform',
  18. cellMinWidth: 95,
  19. method: 'post',
  20. page: true,
  21. height: 560,
  22. limit: 20,
  23. id: reloadId,
  24. // limits : [10,15,20,25],is_view
  25. cols: [[
  26. {type: "checkbox", width: 50},
  27. {field: 'id', title: 'ID', width: 80, align: "center", sort: true},
  28. {
  29. field: 'name', title: '标题', align: "center", templet: function (d) {
  30. var html = '<a href="http://www.yigouf.com/house/' + d.id + '/" target="_blank">' + d.name + '</a>';
  31. if (d.permit != 0) {
  32. html += '<li style="float:left;padding: 0 5px;position:relative;"><img src="/img/house/houseyushouzheng.png"><span style="font-size:12px;;position:absolute;right:7px;top:1px;display:inline-block;width:22px;text-align:center;color:#fff;">' + d.permit + '</span></li>';
  33. // html += '<li style="float:right;padding: 0 5px;position:relative;"><span style="color:red">已有预售证</span></li>';
  34. } else {
  35. html += '<li style="float:left;padding: 0 5px;position:relative;">' + '&nbsp' + '&nbsp' + '&nbsp' + '&nbsp' + '&nbsp' + '&nbsp' + '&nbsp' + '&nbsp' + '&nbsp' + '&nbsp' + '&nbsp' + '<span style="font-size:12px;;position:absolute;right:7px;top:1px;display:inline-block;width:22px;text-align:center;color:#fff;"></span></li>';
  36. // html += '<li style="float:right;padding: 0 5px;position:relative;"><span style="color:grey">暂无预售证</span></li>';
  37. }
  38. return html;
  39. }
  40. },
  41. {
  42. field: 'status', title: '推广状态', width: 130, sort: true, align: 'center', templet: function (d) {
  43. if (d.status == 1) {
  44. return '<input type="checkbox" style="width:200px;" checked value="' + d.id + '" name="open" lay-skin="switch" lay-filter="switchTest" lay-text="已推|未推">'
  45. } else {
  46. return '<input type="checkbox" value="' + d.id + '" name="open" lay-skin="switch" lay-filter="switchTest" lay-text="已推|未推">'
  47. }
  48. }
  49. },
  50. {
  51. field: 'is_view', title: '楼盘状态', width: 120, sort: true, align: 'center', templet: function (d) {
  52. if (d.del == 2) {
  53. return '<span style="color:red;">已删除</span>';
  54. }
  55. if (d.is_view == 1) {
  56. return '上架';
  57. } else {
  58. return '<span style="color: yellow;">下架</span>';
  59. }
  60. }
  61. },
  62. {field: 'city_name', title: '区域', width: 130, sort: true, align: 'center'},
  63. {field: 'create_at', title: '添加时间', width: 150, align: 'center'},
  64. // {title: '操作', width:200, templet:'#housesListBar',fixed:"right",align:"center"}
  65. ]]
  66. });
  67. tableIns.reload('tablerReload'); //重新加载
  68. var $ = layui.$, active = {
  69. reload: function () {
  70. var form = pfgs_serialize($('form'));
  71. var name = '';
  72. var id = '';
  73. // console.log($('form').serializeArray());
  74. if (form.input_house == 'name') {
  75. name = form.input_house_text;
  76. } else if (form.input_house == 'id') {
  77. id = form.input_house_text;
  78. }
  79. var city = '';
  80. if (form.province != '') {
  81. city = form.province;
  82. }
  83. if (form.city != '') {
  84. city = form.city;
  85. }
  86. table.reload('tablerReload', {
  87. where: {
  88. sort: form.input_sort,
  89. id: id,
  90. name: name,
  91. city: city,
  92. start_time: form.start_time,
  93. end_time: form.end_time,
  94. housestatus: form.housestatus,
  95. status: form.status,
  96. housepermit: form.housepermit,
  97. },
  98. page: {
  99. curr: 1
  100. }
  101. })
  102. },
  103. export: function () {
  104. var index = layer.confirm('确定要修改此操作吗?', {btn: ['确定', '取消']}, function () {
  105. var form = pfgs_serialize($('form'));
  106. var para = {};
  107. if (form.input_house == 'name') {
  108. para.name = form.input_house_text;
  109. }
  110. if (form.input_house == 'id') {
  111. para.id = form.input_house_text
  112. }
  113. if (form.province != '') {
  114. para.city = form.province;
  115. }
  116. if (form.city != '') {
  117. para.city = form.city;
  118. }
  119. if (form.start_time != '') {
  120. para.start_time = form.start_time;
  121. }
  122. if (form.end_time != '') {
  123. para.end_time = form.end_time;
  124. }
  125. if (form.housestatus != '') {
  126. para.housestatus = form.housestatus;
  127. }
  128. if (form.status != '') {
  129. para.status = form.status;
  130. }
  131. var paraStr = '';
  132. $.each(para, function (k, v) {
  133. if (v != '') {
  134. paraStr += k + '=' + v + '&';
  135. }
  136. })
  137. paraStr = paraStr.substring(0, paraStr.length - 1);
  138. layer.close(index);
  139. window.open('/otherwatermark/export?' + paraStr);
  140. })
  141. }
  142. };
  143. $('.demoTable .layui-btn').on('click', function () {
  144. var type = $(this).data('type');
  145. active[type] ? active[type].call(this) : '';
  146. });
  147. //日期
  148. laydate.render({
  149. elem: '#date2'
  150. });
  151. laydate.render({
  152. elem: '#date1'
  153. });
  154. //监听指定开关
  155. form.on('switch(switchTest)', function (data) {
  156. layer.confirm('确定要修改此操作吗?', {btn: ['确定', '取消']}, function () {
  157. $.post('/otherwatermark/pushstatus', {id: data.value, examineid: 1}, function (data) {
  158. layer.msg(data.msg);
  159. // parent.layui.
  160. table.reload('tablerReload');
  161. })
  162. }, function (aa) {
  163. table.reload('tablerReload'); //重新加载
  164. })
  165. });
  166. form.on('submit(del_alls_house)', function (data) {
  167. var checkStatus = table.checkStatus('tablerReload');
  168. var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8}); //数据提交提示
  169. if (typeof checkStatus.data[0] == 'object') {
  170. layer.confirm('您确定要删除吗?', {btn: ['确认', '取消']}, function () {
  171. var formdat = new FormData();
  172. $.each(checkStatus.data, function (key, val) {
  173. formdat.append('hid[]', val.id);
  174. })
  175. $.ajax({
  176. cache: true,
  177. type: "post",
  178. url: "/house/housedel",
  179. data: formdat, // 你的formid
  180. // async : false, //async 默认为true异步,修改为false为同步
  181. contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
  182. processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
  183. error: function (request) {
  184. layer.close(index); //关闭数据提交信息
  185. layer.alert("网络超时");
  186. },
  187. success: function (data) {
  188. if (data.code == 200) {
  189. layer.msg(data.msg);
  190. reloadTable(reloadId);
  191. } else {
  192. layer.msg(data.msg);
  193. }
  194. }
  195. });
  196. })
  197. return false;
  198. }
  199. layer.msg('请选择需要删除的楼盘', {icon: 5});
  200. return false;
  201. })
  202. //加载省数据
  203. function loadProvince() {
  204. $.ajax({
  205. url: '/categorycity/citypid',
  206. type: 'post',
  207. async: false,//使用同步的方式,true为异步方式
  208. data: {'pid': 0},//这里使用json对象
  209. success: function (data) {
  210. var areaData = data.data;
  211. var proHtml = '';
  212. for (var i = 0; i < areaData.length; i++) {
  213. proHtml += '<option value="' + areaData[i].id + '">' + areaData[i].city_name + '</option>';
  214. }
  215. //初始化省数据
  216. $('select[name=province]').append(proHtml);
  217. form.render();
  218. },
  219. fail: function () {
  220. }
  221. });
  222. }
  223. loadProvince();
  224. form.on('select(province)', function (data) {
  225. $.post('/categorycity/citypid', {'pid': data.value}, function (data) {
  226. var areaData = data.data;
  227. var proHtml = '';
  228. $('select[name=city]').html('');
  229. proHtml = '<option value="">请选择市/区/县</option>';
  230. for (var i = 0; i < areaData.length; i++) {
  231. proHtml += '<option value="' + areaData[i].id + '">' + areaData[i].city_name + '</option>';
  232. }
  233. //初始化省数据
  234. $('select[name=city]').append(proHtml);
  235. form.render();
  236. })
  237. })
  238. // // 动态添加批量删除按钮
  239. // var _btn = '<div class="layui-inline " style="float:left;position:relative;left:10px;bottom:35px">'
  240. // + '<a class="layui-btn layui-btn-danger search_btn layui_w_btn" style="height:30px;line-height:30px;font-size:14px;" lay-submit="" lay-filter="del_alls_house">推广状态</a>'
  241. // + '</div>'
  242. // $('.layui-form').append(_btn)
  243. //批量修改状态
  244. form.on('submit(del_alls_house)', function (data) {
  245. var checkStatus = table.checkStatus('tablerReload');
  246. var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8}); //数据提交提示
  247. if (typeof checkStatus.data[0] == 'object') {
  248. layer.confirm('您确定要修改的楼盘推广状态吗?', {btn: ['确认', '取消']}, function () {
  249. var formdat = new FormData();
  250. var state = '';
  251. $.each(checkStatus.data, function (key, val) {
  252. formdat.append('hid[]', val.id);
  253. })
  254. $.ajax({
  255. cache: true,
  256. type: "post",
  257. url: "/otherwatermark/pushstatuss",
  258. data: formdat, // 你的formid
  259. // async : false, //async 默认为true异步,修改为false为同步
  260. contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
  261. processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
  262. error: function (request) {
  263. layer.close(index); //关闭数据提交信息
  264. layer.alert("网络超时");
  265. },
  266. success: function (data) {
  267. tableIns.reload('tablerReload'); //重新加载
  268. if (data.code == 200) {
  269. layer.msg(data.msg);
  270. reloadTable(reloadId);
  271. } else {
  272. layer.msg(data.msg);
  273. }
  274. }
  275. });
  276. })
  277. return false;
  278. }
  279. layer.msg('请选择需要修改的楼盘推广状态', {icon: 5});
  280. return false;
  281. })
  282. })