city.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. var delFiles = []; //用于删除图片
  2. var filesContainers= {}; //存储最终要上传的图片
  3. var filesContainer= {}; //存储最终要上传的图片
  4. var files ; //存储选择图片的数量
  5. layui.use([ 'laypage', 'layer', 'table', 'element','form','upload'], function(){
  6. var laypage = layui.laypage //分页
  7. ,$ = layui.jquery
  8. ,layer = layui.layer //弹层
  9. ,table = layui.table //表格
  10. ,form = layui.form
  11. ,upload = layui.upload;
  12. var tableId = 'citylist';
  13. //第一个实例
  14. table.render({
  15. elem: '#'+tableId
  16. ,url: '/routinecity/indexform' //数据接口
  17. ,where:{token:csrfToken}
  18. ,method:'post'
  19. ,page: true //开启分页
  20. ,text:'数据加载中'
  21. ,id:'tablerReload'
  22. ,limit:20
  23. ,cols: [[ //表头
  24. // {field: 'id', title: 'ID', width:80, sort: true,align:'center'}
  25. {field: 'city_name', title: '区域名称',align:'center'}
  26. ,{field: 'pinyin', title: '区域拼音',align:'center',sort: true}
  27. ,{field: 'title', title: '标题',align:'center',sort: true}
  28. ,{field: 'introduce', title: '简介', width:200,align:'center'}
  29. ,{fixed: 'right',title:'操作', width: 165, align:'center', toolbar: '#operate'}
  30. ]]
  31. });
  32. //table.reload('tablerReload'); //重新加载
  33. //列表操作
  34. table.on('tool('+tableId+')', function(obj){
  35. var layEvent = obj.event,
  36. data = obj.data;
  37. if(layEvent === 'edit'){
  38. var index = layer.open({
  39. type: 2,
  40. title: '修改区域介绍',
  41. area: ['', '100%'],
  42. content: '/routinecity/cityedit?id='+data.id,
  43. end:function(){
  44. table.reload('tablerReload');
  45. }
  46. });
  47. layer.full(index);
  48. //改变窗口大小时,重置弹窗的宽高,防止超出可视区域(如F12调出debug的操作)
  49. $(window).on("resize",function(){
  50. layer.full(index);
  51. })
  52. } else if(layEvent === 'del') {
  53. layer.confirm('您确定要删除吗?',{ btn: ['确定', '取消']},function () {
  54. $.post('/routinecity/citydel',{'id':data.id},function (data) {
  55. layer.msg(data.msg);
  56. table.reload('tablerReload');
  57. });
  58. });
  59. }
  60. });
  61. //多张图片
  62. upload.render({
  63. elem: '#upload_edits'
  64. ,url: '/news/newseditform'
  65. ,multiple: true
  66. ,size:1000 //限制上传图片的大小,单位为KB
  67. ,exts: 'png|jpg|jpeg' //只允许上传压缩文件
  68. ,number:3
  69. ,auto:false
  70. ,bindAction:'#addcity'
  71. ,choose: function(obj){
  72. //将每次选择的文件追加到文件队列
  73. files = obj.pushFile();
  74. // console.log(files);
  75. //预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
  76. obj.preview(function(index, file, result){
  77. filesContainers[index] = file;
  78. // console.log(filesContainer)
  79. $('#demo1').append('<div class="layui-upload-img"><div class="delete-list" id="delimg"><i class="layui-icon fa-trash-o" >&#xe640;</i></div><img delIdentification="'+index+'" src="'+ result +'" alt="'+ file.name +'"></div>');
  80. layer.photos({
  81. photos: '#demo1'
  82. ,closeBtn: 1
  83. ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
  84. });
  85. });
  86. }
  87. });
  88. //单张图片缩略图
  89. upload.render({
  90. elem: '#upload_edit'
  91. ,url: '/news/newseditform'
  92. ,field:'img'
  93. // ,multiple: true
  94. ,size:1000 //限制上传图片的大小,单位为KB
  95. ,exts: 'png|jpg|jpeg' //只允许上传压缩文件
  96. ,number:1
  97. ,auto:false
  98. ,bindAction:'#addcity'
  99. ,choose: function(obj){
  100. //将每次选择的文件追加到文件队列
  101. // files = obj.pushFile();
  102. // // console.log(files);
  103. // //预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
  104. obj.preview(function(index, file, result){
  105. $('#demo2').html('<div class="layui-upload-img"><div id="delimg"></div><img delIdentification="'+index+'" src="'+ result +'" alt="'+ file.name +'"></div>');
  106. layer.photos({
  107. photos: '#demo2'
  108. ,closeBtn: 1
  109. ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
  110. });
  111. });
  112. }
  113. });
  114. //单张图片-背景图
  115. upload.render({
  116. elem: '#upload_edit_bg'
  117. ,url: '/news/newseditform'
  118. ,field:'img_bg'
  119. // ,multiple: true
  120. ,size:1000 //限制上传图片的大小,单位为KB
  121. ,exts: 'png|jpg|jpeg' //只允许上传压缩文件
  122. ,number:1
  123. ,auto:false
  124. ,bindAction:'#addcity'
  125. ,choose: function(obj){
  126. // //预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
  127. obj.preview(function(index, file, result){
  128. $('#demo_bg').html('<div class="layui-upload-img"><div id="delimg"></div><img delIdentification="'+index+'" src="'+ result +'" alt="'+ file.name +'"></div>');
  129. layer.photos({
  130. photos: '#demo_bg'
  131. ,closeBtn: 1
  132. ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
  133. });
  134. });
  135. }
  136. });
  137. var $ = layui.$, active = {
  138. addData: function(){ //获取选中数据
  139. var index = layui.layer.open({
  140. type: 2,
  141. title: '添加区域详情',
  142. maxmin: true,
  143. area: ['', '100%'],
  144. content: '/routinecity/cityadd',
  145. });
  146. layui.layer.full(index);
  147. //改变窗口大小时,重置弹窗的宽高,防止超出可视区域(如F12调出debug的操作)
  148. $(window).on("resize",function(){
  149. layui.layer.full(index);
  150. })
  151. },
  152. reload:function () {
  153. var formdara = pfgs_serialize($('form'));
  154. table.reload('tablerReload',{
  155. where:{
  156. city:formdara.input_city
  157. }
  158. })
  159. // console.log(formdara);
  160. }
  161. };
  162. $('.demoTable .layui-btn').on('click', function(){
  163. var type = $(this).data('type');
  164. active[type] ? active[type].call(this) : '';
  165. });
  166. form.on('submit(edit)', function(data){
  167. var index = layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8}); //数据提交提示
  168. var formData = new FormData($('#citysignupForm')[0]);
  169. formData.delete('file');
  170. console.log(filesContainers);
  171. $.each(filesContainers,function (k,v) {
  172. if(v != null){
  173. formData.append('imgs[]',v);
  174. }
  175. })
  176. $.each(delFiles,function (k,v) {
  177. if(v != null){
  178. formData.append('imgsdel[]',v);
  179. }
  180. })
  181. $.ajax({
  182. type : "post",
  183. url : '/routinecity/cityeditform',
  184. data : formData, // 你的formid
  185. contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
  186. processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
  187. error : function(request) {
  188. layer.close(index); //关闭数据提交信息
  189. layer.alert("网络超时");
  190. },
  191. success : function(data) {
  192. // if(data.data != null){
  193. // layer.msg(ReturnInfo(data.data),{icon:5});
  194. // return ;
  195. // }
  196. layer.msg(data.msg);
  197. // parent.layui.table.reload('tablerReload');
  198. }
  199. });
  200. return false;
  201. });
  202. //添加
  203. form.on('submit(tijiao)', function(data){
  204. var index = layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8}); //数据提交提示
  205. var formData = new FormData($('#citysignupForm')[0]);
  206. formData.delete('file');
  207. $.each(filesContainers,function (k,v) {
  208. if(v != null){
  209. formData.append('imgs[]',v);
  210. }
  211. })
  212. $.ajax({
  213. type : "post",
  214. url : '/routinecity/cityaddform',
  215. data : formData, // 你的formid
  216. contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
  217. processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
  218. error : function(request) {
  219. layer.close(index); //关闭数据提交信息
  220. layer.alert("网络超时");
  221. },
  222. success : function(data) {
  223. if(data.data != null){
  224. layer.msg(ReturnInfo(data.data),{icon:5});
  225. return ;
  226. }
  227. layer.msg(data.msg);
  228. parent.layui.table.reload('tablerReload');
  229. }
  230. });
  231. return false;
  232. });
  233. });
  234. //删除图片 单
  235. // $('#demo2').on("click","#delimg",function () {
  236. // var name = $(this).next().attr("imgname");
  237. // var delIdentification = $(this).next().attr("delIdentification");
  238. // // if(typeof(delIdentification) != 'undefined'){
  239. // // delete filesContainer[delIdentification];
  240. // // delete files[delIdentification] ;
  241. // // }
  242. // if(typeof(name) != 'undefined'){
  243. // delFiles.push(name);
  244. // }
  245. // $(this).parent().remove();
  246. // })
  247. //删除图片 多
  248. $('#demo1').on("click","#delimg",function () {
  249. var name = $(this).next().attr("imgname");
  250. var delIdentification = $(this).next().attr("delIdentification");
  251. if(typeof(delIdentification) != 'undefined'){
  252. delete filesContainers[delIdentification];
  253. // delete files[delIdentification] ;
  254. }
  255. if(typeof(name) != 'undefined'){
  256. delFiles.push(name);
  257. }
  258. $(this).parent().remove();
  259. })
  260. //判断是否需要编辑,需要才加载
  261. var verdict = $('#editor_content').html();
  262. if(typeof verdict == "string"){
  263. var ue = UE.getEditor('editor_content');
  264. }