Açıklama Yok
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

global.js 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  1. //工具栏上的所有的功能按钮和下拉框,可以在new编辑器的实例时选择自己需要的重新定义
  2. var ueditor_toolbars = [[
  3. 'fullscreen', 'source', '|', 'undo', 'redo', '|',
  4. 'bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', '|',
  5. 'rowspacingtop', 'rowspacingbottom', 'lineheight', '|',
  6. 'customstyle', 'paragraph', 'fontfamily', 'fontsize', '|',
  7. 'directionalityltr', 'directionalityrtl', 'indent', '|',
  8. 'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|',
  9. 'link', 'unlink', '|', 'imagenone', 'imageleft', 'imageright', 'imagecenter', '|',
  10. 'simpleupload', 'insertimage', 'emotion', 'scrawl', 'insertvideo', 'music', 'attachment', 'map', 'insertframe', 'insertcode', 'pagebreak', 'background', '|',
  11. 'horizontal', 'spechars', '|',
  12. 'inserttable', 'deletetable', 'insertparagraphbeforetable', 'insertrow', 'deleterow', 'insertcol', 'deletecol', 'mergecells', 'mergeright', 'mergedown', 'splittocells', 'splittorows', 'splittocols', 'charts', '|',
  13. 'preview', 'searchreplace', 'drafts'
  14. ]];
  15. var layer_tips; // 全局提示框的对象
  16. var ey_unknown_error = '未知错误,无法继续!';
  17. $(function(){
  18. auto_notic_tips();
  19. /**
  20. * 自动小提示
  21. */
  22. function auto_notic_tips()
  23. {
  24. var html = '<a class="ui_tips" href="javascript:void(0);" onmouseover="layer_tips = layer.tips($(this).parent().find(\'p.notic\').html(), this, {time:100000});" onmouseout="layer.close(layer_tips);">提示</a>';
  25. $.each($('dd.opt > p.notic'), function(index, item){
  26. if ($(item).html() != '') {
  27. $(item).before(html);
  28. }
  29. });
  30. }
  31. });
  32. /**
  33. * 单个删除
  34. */
  35. function FindDelData(obj, del_id) {
  36. layer.confirm('此操作不可恢复,确认删除?', {
  37. btn : ['确定', '取消'],
  38. title: false
  39. }, function () {
  40. layer_loading('正在处理');
  41. $.ajax({
  42. url: $(obj).data('url'),
  43. type: 'post',
  44. dataType: 'json',
  45. data:{del_id:del_id,_ajax:1},
  46. success: function(res){
  47. layer.closeAll();
  48. if (1 == res.code) {
  49. layer.msg(res.msg, {time: 1000},function(){
  50. window.location.reload();
  51. });
  52. } else {
  53. layer.msg(res.msg, {time: 1500, icon: 2});
  54. }
  55. },
  56. error : function() {
  57. layer.closeAll();
  58. layer.alert(ey_unknown_error, {icon: 5});
  59. }
  60. });
  61. }, function (index) {
  62. layer.closeAll(index);
  63. });
  64. }
  65. /**
  66. * 批量删除提交
  67. */
  68. function BatchDelData(obj, name) {
  69. var a = [];
  70. $('input[name^='+name+']').each(function(i,o){
  71. if($(o).is(':checked')){
  72. a.push($(o).val());
  73. }
  74. })
  75. if(a.length == 0){
  76. layer.alert('请至少选择一项', {icon: 2, title: false});
  77. return;
  78. }
  79. // 删除按钮
  80. layer.confirm('此操作不可恢复,确认批量删除?', {
  81. btn: ['确定', '取消'],
  82. title: false
  83. }, function () {
  84. layer_loading('正在处理');
  85. $.ajax({
  86. type: "POST",
  87. url: $(obj).attr('data-url'),
  88. data: {del_id:a,_ajax:1},
  89. dataType: 'json',
  90. success: function (data) {
  91. layer.closeAll();
  92. if(parseInt(data.code) == 1){
  93. layer.msg(data.msg, {icon: 1});
  94. window.location.reload();
  95. }else{
  96. layer.alert(data.msg, {icon: 2});
  97. }
  98. },
  99. error:function(){
  100. layer.closeAll();
  101. layer.alert(ey_unknown_error, {icon: 2});
  102. }
  103. });
  104. }, function (index) {
  105. layer.closeAll(index);
  106. });
  107. }
  108. /**
  109. * 批量审核提交
  110. */
  111. function BatchReview(obj, name) {
  112. var a = [];
  113. $('input[name^='+name+']').each(function(i,o){
  114. if($(o).is(':checked')){
  115. a.push($(o).val());
  116. }
  117. })
  118. if(a.length == 0){
  119. layer.alert('请至少选择一项', {icon: 2, title: false});
  120. return;
  121. }
  122. // 删除按钮
  123. layer.confirm('确认批量审核?', {
  124. btn: ['确定', '取消'],
  125. title: false
  126. }, function () {
  127. layer_loading('正在处理');
  128. $.ajax({
  129. type: "POST",
  130. url: $(obj).attr('data-url'),
  131. data: {ask_id:a,_ajax:1},
  132. dataType: 'json',
  133. success: function (data) {
  134. layer.closeAll();
  135. if(parseInt(data.code) == 1){
  136. layer.msg(data.msg, {icon: 1});
  137. window.location.reload();
  138. }else{
  139. layer.alert(data.msg, {icon: 2});
  140. }
  141. },
  142. error:function(){
  143. layer.closeAll();
  144. layer.alert(ey_unknown_error, {icon: 2});
  145. }
  146. });
  147. }, function (index) {
  148. layer.closeAll(index);
  149. });
  150. }
  151. /**
  152. * 批量推荐提交
  153. */
  154. function BatchRecom(obj, name) {
  155. var a = [];
  156. $('input[name^='+name+']').each(function(i,o){
  157. if($(o).is(':checked')){
  158. a.push($(o).val());
  159. }
  160. })
  161. if(a.length == 0){
  162. layer.alert('请至少选择一项', {icon: 2, title: false});
  163. return;
  164. }
  165. // 删除按钮
  166. layer.confirm('确认批量推荐?', {
  167. btn: ['确定', '取消'],
  168. title: false
  169. }, function () {
  170. layer_loading('正在处理');
  171. $.ajax({
  172. type: "POST",
  173. url: $(obj).attr('data-url'),
  174. data: {ask_id:a,_ajax:1},
  175. dataType: 'json',
  176. success: function (data) {
  177. layer.closeAll();
  178. if(parseInt(data.code) == 1){
  179. layer.msg(data.msg, {icon: 1});
  180. window.location.reload();
  181. }else{
  182. layer.alert(data.msg, {icon: 2});
  183. }
  184. },
  185. error:function(){
  186. layer.closeAll();
  187. layer.alert(ey_unknown_error, {icon: 2});
  188. }
  189. });
  190. }, function (index) {
  191. layer.closeAll(index);
  192. });
  193. }
  194. /**
  195. * 全选
  196. */
  197. function selectAll(name, obj){
  198. $('input[name*='+name+']').prop('checked', $(obj).checked);
  199. }
  200. /**
  201. * 远程/本地上传图片切换
  202. */
  203. function clickRemote(obj, id)
  204. {
  205. if ($(obj).is(':checked')) {
  206. $('#'+id+'_remote').show();
  207. $('.div_'+id+'_local').hide();
  208. } else {
  209. $('.div_'+id+'_local').show();
  210. $('#'+id+'_remote').hide();
  211. }
  212. }
  213. /**
  214. * 批量移动操作
  215. */
  216. function batch_move(obj, name) {
  217. var a = [];
  218. $('input[name^='+name+']').each(function(i,o){
  219. if($(o).is(':checked')){
  220. a.push($(o).val());
  221. }
  222. })
  223. if(a.length == 0){
  224. layer.alert('请至少选择一项', {icon: 2, title: false});
  225. return;
  226. }
  227. // 删除按钮
  228. layer.confirm('确认批量移动?', {
  229. btn: ['确定', '取消'] //按钮
  230. }, function () {
  231. layer_loading('正在处理');
  232. $.ajax({
  233. type: "POST",
  234. url: $(obj).attr('data-url'),
  235. data: {move_id:a,_ajax:1},
  236. dataType: 'json',
  237. success: function (data) {
  238. layer.closeAll();
  239. if(data.status == 1){
  240. layer.msg(data.msg, {icon: 1});
  241. window.location.reload();
  242. }else{
  243. layer.alert(data.msg, {icon: 2});
  244. }
  245. },
  246. error:function(){
  247. layer.closeAll();
  248. layer.alert(ey_unknown_error, {icon: 2});
  249. }
  250. });
  251. }, function (index) {
  252. layer.closeAll(index);
  253. });
  254. }
  255. // 修改指定表的指定字段值 包括有按钮点击切换是否 或者 排序 或者输入框文字
  256. function changeTableVal(table,id_name,id_value,field,obj)
  257. {
  258. var src = "";
  259. if($(obj).hasClass('no')) // 图片点击是否操作
  260. {
  261. //src = '/public/images/yes.png';
  262. $(obj).removeClass('no').addClass('yes');
  263. $(obj).html("<i class='fa fa-check-circle'></i>是");
  264. var value = 1;
  265. try {
  266. if ($(obj).attr('data-value')) {
  267. value = $(obj).attr('data-value');
  268. }
  269. } catch(e) {
  270. // 出现异常以后执行的代码
  271. // e:exception,用来捕获异常的信息
  272. }
  273. }else if($(obj).hasClass('yes')){ // 图片点击是否操作
  274. $(obj).removeClass('yes').addClass('no');
  275. $(obj).html("<i class='fa fa-ban'></i>否");
  276. var value = 0;
  277. try {
  278. if ($(obj).attr('data-value')) {
  279. value = $(obj).attr('data-value');
  280. }
  281. } catch(e) {
  282. // 出现异常以后执行的代码
  283. // e:exception,用来捕获异常的信息
  284. }
  285. }else{ // 其他输入框操作
  286. var value = $(obj).val();
  287. }
  288. $.ajax({
  289. type:'POST',
  290. url: eyou_basefile + "?m="+module_name+"&c=Index&a=changeTableVal&table="+table+"&id_name="+id_name+"&id_value="+id_value+"&field="+field+'&value='+value,
  291. data: {_ajax:1},
  292. success: function(data){
  293. if(!$(obj).hasClass('no') && !$(obj).hasClass('yes')){
  294. layer.msg('更新成功', {icon: 1});
  295. } else {
  296. if (0 == data.code) {
  297. layer.msg(data.msg, {icon: 2});
  298. }
  299. }
  300. }
  301. });
  302. }
  303. // 修改指定表的指定字段值 包括有按钮点击切换是否 或者 排序 或者输入框文字
  304. function weappChangeTableVal(table,id_name,id_value,field,obj)
  305. {
  306. var src = "";
  307. if($(obj).hasClass('no')) // 图片点击是否操作
  308. {
  309. //src = '/public/images/yes.png';
  310. $(obj).removeClass('no').addClass('yes');
  311. $(obj).html("<i class='fa fa-check-circle'></i>是");
  312. var value = 1;
  313. try {
  314. if ($(obj).attr('data-value')) {
  315. value = $(obj).attr('data-value');
  316. }
  317. } catch(e) {
  318. // 出现异常以后执行的代码
  319. // e:exception,用来捕获异常的信息
  320. }
  321. }else if($(obj).hasClass('yes')){ // 图片点击是否操作
  322. $(obj).removeClass('yes').addClass('no');
  323. $(obj).html("<i class='fa fa-ban'></i>否");
  324. var value = 0;
  325. try {
  326. if ($(obj).attr('data-value')) {
  327. value = $(obj).attr('data-value');
  328. }
  329. } catch(e) {
  330. // 出现异常以后执行的代码
  331. // e:exception,用来捕获异常的信息
  332. }
  333. }else{ // 其他输入框操作
  334. var value = $(obj).val();
  335. }
  336. $.ajax({
  337. type:'POST',
  338. url: eyou_basefile + "?m="+module_name+"&c=Weapp&a=execute&sm=Ask&sc=Ask&sa=changeTableVal&table="+table+"&id_name="+id_name+"&id_value="+id_value+"&field="+field+'&value='+value,
  339. data: {_ajax:1},
  340. success: function(data){
  341. if(!$(obj).hasClass('no') && !$(obj).hasClass('yes')){
  342. layer.msg('更新成功', {icon: 1});
  343. } else {
  344. if (0 == data.code) {
  345. layer.msg(data.msg, {icon: 2});
  346. }
  347. }
  348. }
  349. });
  350. }
  351. /**
  352. * 输入为空检查
  353. * @param name '#id' '.id' (name模式直接写名称)
  354. * @param type 类型 0 默认是id或者class方式 1 name='X'模式
  355. */
  356. function is_empty(name, type){
  357. if(type == 1){
  358. if($('input[name="'+name+'"]').val() == ''){
  359. return true;
  360. }
  361. }else{
  362. if($(name).val() == ''){
  363. return true;
  364. }
  365. }
  366. return false;
  367. }
  368. /**
  369. * 邮箱格式判断
  370. * @param str
  371. */
  372. function checkEmail(str){
  373. var reg = /^[a-z0-9]([a-z0-9\\.]*[-_]{0,4}?[a-z0-9-_\\.]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+([\.][\w_-]+){1,5}$/i;
  374. if(reg.test(str)){
  375. return true;
  376. }else{
  377. return false;
  378. }
  379. }
  380. /**
  381. * 手机号码格式判断
  382. * @param tel
  383. * @returns {boolean}
  384. */
  385. function checkMobile(tel) {
  386. var reg = /(^1{10}$)/;
  387. if (reg.test(tel)) {
  388. return true;
  389. }else{
  390. return false;
  391. };
  392. }
  393. /*
  394. * 上传图片 后台专用
  395. * @access public
  396. * @null int 一次上传图片张图
  397. * @elementid string 上传成功后返回路径插入指定ID元素内
  398. * @path string 指定上传保存文件夹,默认存在public/upload/temp/目录
  399. * @callback string 回调函数(单张图片返回保存路径字符串,多张则为路径数组 )
  400. */
  401. var layer_GetUploadify;
  402. function GetUploadify(num,elementid,path,callback,url)
  403. {
  404. if (layer_GetUploadify){
  405. layer.close(layer_GetUploadify);
  406. }
  407. if (num > 0) {
  408. if (!url) {
  409. url = GetUploadify_url;
  410. }
  411. if (url.indexOf('?') > -1) {
  412. url += '&';
  413. } else {
  414. url += '?';
  415. }
  416. var upurl = url+'num='+num+'&input='+elementid+'&path='+path+'&func='+callback;
  417. layer_GetUploadify = layer.open({
  418. type: 2,
  419. title: '上传图片',
  420. shadeClose: false,
  421. shade: 0.3,
  422. maxmin: true, //开启最大化最小化按钮
  423. area: ['50%', '60%'],
  424. content: upurl
  425. });
  426. } else {
  427. layer.alert('允许上传0张图片', {icon:2});
  428. return false;
  429. }
  430. }
  431. // 读取 cookie
  432. function getCookie(c_name)
  433. {
  434. if (document.cookie.length>0)
  435. {
  436. c_start = document.cookie.indexOf(c_name + "=")
  437. if (c_start!=-1)
  438. {
  439. c_start=c_start + c_name.length+1
  440. c_end=document.cookie.indexOf(";",c_start)
  441. if (c_end==-1) c_end=document.cookie.length
  442. return unescape(document.cookie.substring(c_start,c_end))
  443. }
  444. }
  445. return "";
  446. }
  447. function setCookie(name, value, time)
  448. {
  449. var cookieString = name + "=" + escape(value) + ";";
  450. if (time != 0) {
  451. var Times = new Date();
  452. Times.setTime(Times.getTime() + time);
  453. cookieString += "expires="+Times.toGMTString()+";"
  454. }
  455. document.cookie = cookieString+"path=/";
  456. }
  457. function delCookie(name){
  458. var exp=new Date();
  459. exp.setTime(exp.getTime()-1);
  460. var cval=getCookie(name);
  461. if(cval!=null){
  462. document.cookie=name+"="+cval+";expires="+exp.toGMTString() +"path=/";
  463. }
  464. }
  465. function showErrorMsg(msg){
  466. // layer.open({content:msg,time:2000});
  467. layer.msg(msg, {icon: 2,time: 2000});
  468. }
  469. /**
  470. * 封装的加载层
  471. */
  472. function layer_loading(msg){
  473. var loading = layer.msg(
  474. msg+'...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;请勿刷新页面',
  475. {
  476. icon: 1,
  477. time: 3600000, //1小时后后自动关闭
  478. shade: [0.2] //0.1透明度的白色背景
  479. });
  480. //loading层
  481. var index = layer.load(3, {
  482. shade: [0.1,'#fff'] //0.1透明度的白色背景
  483. });
  484. return loading;
  485. }
  486. function tipsText(){
  487. $('.ui-text').each(function(){
  488. var _this = $(this);
  489. var elm = _this.find('.ui-input');
  490. var txtElm = _this.find('.ui-textTips');
  491. var maxNum = _this.find('.ui-input').attr('data-num') || 500;
  492. // console.log($.support.leadingWhitespace);
  493. changeNum(elm,txtElm,maxNum);
  494. if(!$.support.leadingWhitespace){
  495. _this.find('textarea').on('propertychange',function(){
  496. changeNum(elm,txtElm,maxNum);
  497. });
  498. _this.find('input').on('propertychange',function(){
  499. changeNum(elm,txtElm,maxNum);
  500. });
  501. } else {
  502. _this.on('input',function(){
  503. changeNum(elm,txtElm,maxNum);
  504. });
  505. }
  506. });
  507. }
  508. //获取文字输出字数,可以遍历使用
  509. //txtElm动态改变的dom,maxNum获取data-num值默认为120个字,ps数字为最大字数*2
  510. function changeNum(elm,txtElm,maxNum) {
  511. //汉字的个数
  512. //var str = (elm.val().replace(/\w/g, "")).length;
  513. //非汉字的个数
  514. //var abcnum = elm.val().length - str;
  515. total = elm.val().length;
  516. if(total <= maxNum ){
  517. texts = maxNum - total;
  518. txtElm.html('还可以输入<em>'+texts+'</em>个字');
  519. }else{
  520. texts = total - maxNum ;
  521. txtElm.html('已超出<em class="error">'+texts+'</em>个字');
  522. }
  523. return ;
  524. }
  525. //在iframe内打开易优官网的页面
  526. function click_to_eyou_1575506523(url,title) {
  527. //iframe窗
  528. layer.open({
  529. type: 2,
  530. title: title,
  531. fixed: true, //不固定
  532. shadeClose: false,
  533. shade: 0.3,
  534. maxmin: true, //开启最大化最小化按钮
  535. area: ['80%', '80%'],
  536. content: url
  537. });
  538. }