vr.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. layui.use(['layer', 'table', 'form','upload'], function () {
  2. /*********layui引入参数**********/
  3. var $ = layui.jquery
  4. , layer = layui.layer //弹层
  5. , table = layui.table //表格
  6. , form = layui.form
  7. ,upload = layui.upload
  8. /**********列表参数设置**********/
  9. var list_id = $('#type_id').val();//获取页面特定类别
  10. var tableIds = 'vrlist'; //表格节点ID
  11. // var rowIds = 'vrfunc'; //列操作节点ID
  12. var url = '/vr/vrindexform';//数据接口
  13. var where = {token: csrfToken, 'type': list_id};//参数
  14. /************表格实列************/
  15. table.render({
  16. elem: '#' + tableIds
  17. , url: url //数据接口
  18. , where: where
  19. , method: 'post'
  20. , page: true //开启分页
  21. , text: '数据加载中'
  22. , height: 580
  23. , id: 'tablerReload'
  24. , cols: [[ //表头
  25. {type: 'checkbox', width: 50}
  26. ,{type: 'numbers', title: '序号', width: 50}
  27. , {field: 'name', title: 'VR标题', align: 'center'}
  28. , {field: 'abstarct', title: '厅卫厨', align: 'center'}
  29. , {field: 'covered_area', title: '建筑面积', align: 'center'}
  30. , {field: 'path', title: 'VR地址', align: 'center'}
  31. , {field: 'huxing_name', title: '户型类别', align: 'center'}
  32. , {field: 'img', title: '图片', width: 150, align: 'center',templet: function (d) {
  33. return '<img src="'+d.img+'" style="width: 100px;50px;">'
  34. }}
  35. , {field: 'house_name', title: '楼盘名称', align: 'center'}
  36. , {field: 'city_name', title: '地区名称', align: 'center', width: 100}
  37. , {
  38. field: 'sort',
  39. title: '排序',
  40. width: 100,
  41. event: 'sortData',
  42. edit: 'text',
  43. align: 'center',
  44. sort: true,
  45. templet: "#sortBox"
  46. }
  47. , {field: 'state', title: '审核', align: 'center', width: 100,templet: function (d) {
  48. if (d.state == 2) {
  49. return '<input type="checkbox" value="' + d.id + '" res_state="1" lay-skin="switch" lay-filter="switchTest3" lay-text="|">'
  50. } else {
  51. return '<input type="checkbox" checked value="' + d.id + '" res_state="2" lay-skin="switch" lay-filter="switchTest3" lay-text="|">'
  52. }
  53. }}
  54. , {field: 'create_at', title: '添加时间', width: 150, align: 'center'}
  55. // , {fixed: 'right', title: '操作', width: 150, align: 'center', toolbar: '#' + rowIds}
  56. ]]
  57. });
  58. /********************************************列操作begin***********************************************************/
  59. table.on('tool(' + tableIds + ')', function (obj) {
  60. var layEvent = obj.event,
  61. data = obj.data;
  62. if (layEvent === 'edit') {
  63. var index = layer.open({
  64. type: 2,
  65. title: '修改直播信息',
  66. area: ['80%', '80%'],
  67. content: '/vr/vredit?id=' + data.id,
  68. end: function () {
  69. table.reload('tablerReload'); //重新加载
  70. }
  71. });
  72. } else if (layEvent === 'del') {
  73. var index = layer.confirm('您确定要删除吗?', {btn: ['确定', '取消']}, function () {
  74. setListHouse('del',data.id);
  75. layer.close(index);
  76. })
  77. } else if (layEvent === 'sortData') { //修改排序
  78. table.on('edit(' + tableIds + ')', function (obj) {
  79. var data = obj.data;
  80. setListHouse('sort',data.id,data.sort);
  81. })
  82. } else if (layEvent === 'syncvr') { //修改排序
  83. var index = layer.confirm('您确定要同步吗?', {btn: ['确定', '取消']}, function () {
  84. $.post('/vr/vrsync',{vid:data.id},function(res){
  85. if(res.code == 200){
  86. layer.msg('提交同步成功,请前往审核');
  87. }
  88. },'json')
  89. layer.close(index);
  90. })
  91. }
  92. });
  93. /********************************************列操作end***********************************************************/
  94. /********************************************栏目操作gegin*******************************************************/
  95. var $ = layui.$, active = {
  96. addData: function () { //获取选中数据
  97. var index = layui.layer.open({
  98. type: 2,
  99. title: '添加VR数据信息',
  100. closeBtn: 1, //不显示关闭按钮
  101. area: ['80%', '80%'],
  102. content: '/vr/vradd?type=' + list_id//iframe的url,no代表不显示滚动条
  103. , success: function (layero, index) {
  104. },
  105. end: function () {
  106. table.reload('tablerReload');
  107. }
  108. });
  109. },
  110. reload: function () {//搜索
  111. var form = pfgs_serialize($('form'));
  112. table.reload('tablerReload', {
  113. where: {
  114. name: form.input_vrname,
  115. house: form.input_house
  116. },
  117. page: {
  118. curr: 1
  119. }
  120. })
  121. },
  122. };
  123. $('.demoTable .layui-btn').on('click', function () {
  124. var type = $(this).data('type');
  125. active[type] ? active[type].call(this) : '';
  126. });
  127. /********************************************栏目操作end*******************************************************/
  128. /********************************************提交操作begin*****************************************************/
  129. form.on('submit(adds)', function (data) {
  130. var formData = new FormData($('form')[0]);
  131. if (formData.getAll('img')[0].size == 0) {
  132. layer.msg('请选择图片');
  133. return false;
  134. }
  135. var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8}); //数据提交提示
  136. $.ajax({
  137. cache: false,
  138. type: "post",
  139. url: "/vr/vraddform",
  140. data: formData, // 你的formid
  141. contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
  142. processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
  143. error: function (request) {
  144. layer.close(index);
  145. layer.msg("请联系管理员");
  146. },
  147. success: function (data) {
  148. layer.msg(data.msg);
  149. }
  150. });
  151. return false;
  152. });
  153. form.on('submit(edits)', function (data) {
  154. var formData = new FormData($('form')[0]);
  155. var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8}); //数据提交提示
  156. $.ajax({
  157. cache: false,
  158. type: "post",
  159. url: "/vr/vreditform",
  160. data: formData, // 你的formid
  161. contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
  162. processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
  163. error: function (request) {
  164. layer.close(index);
  165. layer.msg("请联系管理员");
  166. },
  167. success: function (data) {
  168. if (data.data != null) {
  169. layer.msg(ReturnInfo(data.data), {icon: 5});
  170. return;
  171. }
  172. layer.msg(data.msg);
  173. }
  174. });
  175. return false;
  176. });
  177. /********************************************提交操作end*********************************************************/
  178. /********************************************其他操作begin*******************************************************/
  179. //图片预览
  180. upload.render({
  181. elem: '#test1'
  182. , field: 'img'
  183. , size: 1000 //限制上传图片的大小,单位为KB
  184. , exts: 'png|jpg|jpeg' //只允许上传压缩文件
  185. , auto: false
  186. , choose: function (obj) {
  187. obj.preview(function (index, file, result) {
  188. $('#breviary_img').attr('src', result); //图片链接(base64)
  189. });
  190. }
  191. });
  192. //选择楼盘
  193. $('.The_house').focus(function () {
  194. var type_id = $('input[name=type]').val();
  195. var houseUrl = '';
  196. if (type_id == 1) {
  197. houseUrl = '/publicuse/housename';
  198. } else {
  199. houseUrl = '/publicuse/housenamecn';
  200. }
  201. indexOpen = parent.layui.layer.open({
  202. type: 2,
  203. title: '选择需要添加的楼盘',
  204. area: ['', '100%'],
  205. content: houseUrl,
  206. success: function (layero, index) {
  207. },
  208. end: function () {
  209. }
  210. });
  211. parent.layui.layer.full(indexOpen);
  212. //改变窗口大小时,重置弹窗的宽高,防止超出可视区域(如F12调出debug的操作)
  213. $(window).on("resize", function () {
  214. parent.layui.layer.full(indexOpen);
  215. })
  216. })
  217. //监听指定开关
  218. form.on('switch(switchTest3)', function (data) {
  219. let id = data.value;
  220. let val = $(this).attr('res_state');
  221. var index = layer.confirm('确定要修改此操作吗?', {btn: ['确定', '取消']}, function () {
  222. setListHouse('state',id,val)
  223. layer.close(index)
  224. }, function (aa) {
  225. renderTable(); //重新加载
  226. })
  227. });
  228. function setListHouse(code, id, val = null) {
  229. $.post('/vr/vrset',{code:code,id:id,val:val},function(res){
  230. layer.msg(res.msg)
  231. table.reload('tablerReload'); //重新加载
  232. },'json')
  233. }
  234. /********************************************其他操作end*********************************************************/
  235. })