//swiper var swiper = { init:function () { if ($('.swiper-container').length > 0) { Do('swiper', function () { $('.swiper-container').each(function () { var $option = $(this).data('option'); var id = $(this).attr('id'); $option = helper.parseOptions($option); var option = $option || {}; var defaultOptions = { }; var options = $.extend({}, defaultOptions, option); new Swiper('#'+id,options); }) }); } } }; /*鏁板瓧鍔犲噺*/ var alignmentFns = { inputs: [], init: function(input, step, max, min, digit) { var _this = this; input.attr("readonly", "readonly"); //娣诲姞宸﹀彸鍔犲噺鍙 input.wrap("
"); input.before(""); input.after(""); //宸﹀彸璋冪敤鎵ц $("#" + input.attr('id') + "l").click(function() { _this.execute(input, step, max, min, digit, true); }); $("#" + input.attr('id') + "r").click(function() { _this.execute(input, step, max, min, digit, false); }); }, execute: function(input, step, max, min, digit, _do) { var val = parseFloat(this.format(input.val(), digit)); var ori = val; if (_do) val -= step; if (!_do) val += step; if (val < min) { val = min; } else if (val > max) { val = max; } input.val(this.format(val, digit)).change(); }, format: function(val, digit) { if (isNaN(val)) { val = 0; } return parseFloat(val).toFixed(digit); }, // 绫诲瀷 data: { default_data: { "step": 0.1, "min": 0, "max": 99, "digit": 1 } }, // 鍒濆鍖 initialize: function() { //浣跨敤鎺т欢蹇呴』鏈変互涓嬪睘鎬ф垨鑰呭紩鐢╝lignment绫 var inputs = $("input[user_data], input[data-digit], input[data-step], input[data-min], input[data-max],input[data-class], input.alignment"); inputs.each(function() { // 璁板綍鍘熷input浠g爜 alignmentFns.inputs.push(this.outerHTML); //棰勮鍊兼暟鎹€夋嫨 var data = alignmentFns.data; var user_data = eval("data." + $(this).attr("user_data")); if (user_data == null) { user_data = JSON.parse(JSON.stringify(data.default_data)); } var digit = $(this).data("digit"); if (digit != null && !isNaN(parseFloat(digit))) { digit = parseFloat(digit).toFixed(0); user_data.digit = parseFloat(digit); } var step = $(this).data("step"); if (step != null && !isNaN(parseFloat(step))) { user_data.step = parseFloat(step); } var min = $(this).data("min"); if (min != null && !isNaN(parseFloat(min))) { user_data.min = parseFloat(min); } var max = $(this).data("max"); if (max != null && !isNaN(parseFloat(max))) { user_data.max = parseFloat(max); } //鑷姩瑁呰浇 alignmentFns.init($(this), user_data.step, user_data.max, user_data.min, user_data.digit); var data_edit = $(this).data("edit"); if (data_edit) { $(this).attr("readonly", null); } var data_class = $(this).data("class"); if (data_class!='') { $(this).parents(".mc-adjust").addClass(data_class); } }); }, destroy: function() { var inputs = this.inputs; $.each(inputs, function(index, obj) { var input = $(obj)[0]; var id = input.id; $("#" + id + "div").replaceWith(input); }); }, // 鍔ㄦ€佹坊鍔犵被鍨 createType: function(types) { $.each(types, function(index, obj) { alignmentFns.data[obj.type] = obj.data; }); } }; //js楠岃瘉 var valid = { //鏄惁涓虹┖ isEmpty: function (str) { return str === "" || str === null || str === undefined; }, //鏄惁涓洪偖浠 isEmail: function (str) { var reg = /^\w+((-w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; if (reg.test(str)) return true; }, //鏄惁涓烘墜鏈哄彿 isMobile: function (str) { var a = /^1\d{10}$/, s = $.trim(str); if (a.test(s)) return true; }, //鏄惁姹夊瓧 isCN: function (str) { var s = $.trim(str), reg = /^[\u4e00-\u9fa5]+$/; return reg.test(s); }, //鏄惁瀵嗙爜 isPwd: function (str) { var reg = /^[A-Za-z0-9_-]+$/; if (reg.test(str)) return true; }, //鏄惁涓哄井淇″彿 isWx: function (str) { var rex = /^[a-zA-Z\d_]{5,}$/; return rex.test($.trim(str)); }, //鏄惁鍏ㄤ负鏁板瓧 isNum: function (num) { var rex = /^[0-9]+$/; return rex.test($.trim(num)); }, //鏄惁涓虹儹绾跨數璇 isPhone: function (num) { var rex = /^[0-9]([0-9]|-)*[0-9]$/; return rex.test($.trim(num)); }, //鏄惁涓洪挶鏁 isFloat: function (n) { return !isNaN(n); }, //鍒ゆ柇鏄惁涓簎rl鍦板潃 isUrl: function (str) { var rex = /^(http|https){1}:\/\/[^\s]+$/; return rex.test($.trim(str)); }, //鍒ゆ柇鏄惁ios isIos:function () { var u = navigator.userAgent; var isIos = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios缁堢 return isIos; }, //鍒ゆ柇鏄惁瀹夊崜 isAndroid:function () { var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android缁堢 return isAndroid; } }; //閫氱敤杈呭姪鏂规硶 var helper = { calc: function (arg1, arg2, operator) { var oper = ['+', '-', '*', '/']; // 涓嶅悎娉曠殑杩愮畻 if (isNaN(arg1) || isNaN(arg2) || oper.indexOf(operator) < 0) return NaN; // 闄や互0 if (operator === '/' && Number(arg2) === 0) return Infinity; // 鍜?鐩镐箻 if (operator === '*' && Number(arg2) === 0) return 0; // 鐩哥瓑涓や釜鏁板瓧鐩稿噺 if ((arg1 === arg2 || Number(arg1) === Number(arg2)) && operator === '-') return 0; var r1, r2, max, _r1, _r2; try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 } try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 } max = Math.max(r1, r2) _r1 = max - r1; _r2 = max - r2; if (_r1 !== 0) { arg1 = arg1 + '0'.repeat(_r1) } if (_r2 !== 0) { arg2 = arg2 + '0'.repeat(_r2) } arg1 = Number(arg1.toString().replace('.', '')); arg2 = Number(arg2.toString().replace('.', '')); var r3 = operator === '*' ? (max * 2) : (operator === '/' ? 0 : max); var newNum = eval(arg1 + operator + arg2); if (r3 !== 0) { var nStr = newNum.toString(); nStr = nStr.replace(/^-/, ''); if (nStr.length < r3 + 1) { nStr = '0'.repeat(r3 + 1 - nStr.length) + nStr; } nStr = nStr.replace(new RegExp('(\\\d{' + r3 + '})$'), '.$1'); if (newNum < 0) { nStr = '-' + nStr; } newNum = nStr * 1; } return newNum; }, /** * 鏍煎紡鍖栧弬鏁 * @param string */ parseOptions: function (string) { if ($.isPlainObject(string)) { return string; } var start = (string ? string.indexOf('{') : -1), options = {}; if (start != -1) { try { options = (new Function('', 'var json = ' + string.substr(start) + '; return JSON.parse(JSON.stringify(json));'))(); } catch (e) { } } return options; }, json2str: function (json) { return JSON.stringify(json); }, /** * 澶ф暟瀛楀弸濂芥樉绀 * @param num * @param point * @returns {string} */ tranNumber:function(num, point){ // 灏嗘暟瀛楄浆鎹负瀛楃涓?鐒跺悗閫氳繃split鏂规硶鐢?鍒嗛殧,鍙栧埌绗?涓 let numStr = num.toString().split('.')[0]; if(numStr.length<6) { // 鍒ゆ柇鏁板瓧鏈夊闀?濡傛灉灏忎簬6,,琛ㄧず10涓囦互鍐呯殑鏁板瓧,璁╁叾鐩存帴鏄剧ず console.log(numStr); return numStr; }else if(numStr.length>=6 && numStr.length<=8){ // 濡傛灉鏁板瓧澶т簬6浣?灏忎簬8浣?璁╁叾鏁板瓧鍚庨潰鍔犲崟浣嶄竾 let decimal = numStr.substring(numStr.length-4, numStr.length-4+point); console.log(decimal); // 鐢卞崈浣?鐧句綅缁勬垚鐨勪竴涓暟瀛 return parseFloat(parseInt(num / 10000)+'.'+decimal)+'涓? }else if(numStr.length >8){ // 濡傛灉鏁板瓧澶т簬8浣?璁╁叾鏁板瓧鍚庨潰鍔犲崟浣嶄嚎 let decimal = numStr.substring(numStr.length-8, numStr.length-8+point); console.log(decimal); return parseFloat(parseInt(num/100000000)+'.'+decimal)+'浜? } }, /** * 鍒锋柊椤甸潰 * @returns {boolean} */ refresh: function () { window.location.reload(); }, /** * 杩斿洖 */ back: function () { window.history.go(-1); }, /** * 璺宠浆 * @param url */ location: function (url) { window.location.href = url; }, /** * 鍏ㄩ€ * @param dom */ checkAll: function (dom) { $(dom + " :checkbox").prop("checked", true); }, /** * 鍙嶉€ * @param dom */ checkOther: function (dom) { $(dom + " :checkbox").each(function () { $(this).prop("checked", !$(this).prop("checked")); }); }, /** * 鑾峰彇澶嶉€夋鍊 * @param dom * @returns {[]} */ getCheckboxValue: function (dom) { var reVal = []; $(dom).find("input[type='checkbox']").each(function () { if ($(this).prop("checked")) { reVal.push($(this).val()); } }); return reVal; }, /** * json鏁版嵁鍙栨寚瀹氬垪鏁版嵁 * @param json * @param col * @returns array */ json2col: function (json, col) { var len = json.length; var renal = []; if (len == 0) return renal; for (var i = 0; i < len; i++) { renal.push(json[i][col]); } return renal; }, /** * 鎿嶄綔鍚庢彁绀 * @param msg * @param icon * @param callFn * @returns {boolean} */ tips: function (msg, scene, callFn) { var opt = valid.isEmpty(scene) ? 2000 : scene; $.toast(msg, opt,function() { if (typeof (callFn) != "undefined") { callFn(); } }); }, /** * 灏佽ajax璇锋眰 * @param opt */ getAjax: function (opt) { var defaultConfig = { type: 'post', cache: true, async: true, dataType: 'json', beforeSend: function () { //$.showLoading(); //helper.loading('show'); }, error: function () { $.toptip('涓庢湇鍔″櫒鏂紑杩炴帴锛?, 'error'); return false; }, complete: function () { //$.hideLoading(); //helper.loading('hide'); } }; var config = $.extend({}, defaultConfig, opt); $.ajax(config); }, /** * loading * @param $mode * @returns {boolean} */ loading: function ($mode) { var $loadingEl = jQuery('#loading'); $mode = $mode || 'show'; if ($mode === 'show') { if ($loadingEl.length) { $loadingEl.fadeIn(250); } else { $('body').prepend( '
Loading...
' ); } } if ($mode === 'hide') { if ($loadingEl.length) { $loadingEl.fadeOut(250); } } return false; }, /** * 鍥剧墖鎳掑姞杞 * @param throttle */ lazy: function (throttle) { var t = throttle || 0; Do('echo', function () { echo.init({ offset: 0, //绂诲彲瑙嗗尯鍩熷灏戝儚绱犵殑鍥剧墖鍙互琚姞杞 throttle: t //鍥剧墖寤惰繜澶氬皯姣鍔犺浇 }); }); }, /* 瀛楃涓叉嫾鎺?璁板緱灏嗗弽鏂滄潬鏇挎崲涓烘鏂滄潬 var str = helper.heredoc(function () {\* {@each list as row}
  • ${row.title}
  • {@/each} *\}) */ heredoc: function (fn) { return fn.toString().split('\n').slice(1, -1).join('\n') + '\n' }, /** * 鑾峰彇url鍦板潃鏍忓弬鏁 * @return {string} */ GetQueryString: function (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; }, /** * 鍒ゆ柇鏄惁鎵嬫満 * @returns {boolean} */ checkMobile: function () { var ua = navigator.userAgent; var ipad = ua.match(/(iPad).*OS\s([\d_]+)/), isIphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/), isAndroid = ua.match(/(Android)\s+([\d.]+)/), isMobile = isIphone || isAndroid; return !!isMobile; }, /** * 鑾峰彇妫€绱㈠弬鏁皀ame鐢ˊ闅斿紑锛岄渶鍗曠嫭浼犻€掑弬鏁颁娇鐢ㄥ瓧娈礍own * @param dom */ getSearchParams: function (dom) { var obj = dom || '#search-form'; var params = {}; var filter = []; if ($(obj).length > 0) { var formData = $(obj).serializeArray(); for (var i = 0; i < formData.length; i++) { var formInfo = formData[i]; var arr = formInfo.name.split('@'); var field = arr[0]; if (arr.length == 1) { //鍗曠嫭浼犺緭 params[field] = formInfo.value; } else { filter.push({field: field, op: arr[1], value: formInfo.value}); } } } params.filter = filter; return params; }, /** * ajax鍒嗛〉灏佽 * @param options * @param dom */ pagination: function (options, dom) { var obj = dom || '#page'; var params = options.params || {}; Do('pagination', function () { var defaultConfig = { locator: 'rows', totalNumberLocator: function (response) { return response.total; }, className: 'paginationjs-theme-primary', pageSize: 20, showGoInput: false, showGoButton: false, autoHidePrevious: true, autoHideNext: true, ajax: { type: 'post', data: params, beforeSend: function () { helper.loading('show'); }, complete: function () { helper.loading('hide'); } } }; var config = $.extend({}, defaultConfig, options); $(obj).pagination(config); }); }, /*涓嬫媺鍔犺浇*/ mescroll: function (dom,options,callback) { /* 鎵嬫満绔幓鎺夊浣欑殑end鍜屽姞杞藉紑濮 */ $(".mescroll-upwarp").remove(); $(".mescroll-downwarp").remove(); /* 鎵嬫満绔幓鎺夊浣欑殑end鍜屽姞杞界粨鏉 */ var defaultConfig = { page: {size:20}, auto: true,//鍒濆鍖栧畬姣?鏄惁鑷姩瑙﹀彂涓婃媺鍔犺浇鐨勫洖璋 isBoth: false, //涓婃媺鍔犺浇鏃?濡傛灉婊戝姩鍒板垪琛ㄩ《閮ㄦ槸鍚﹀彲浠ュ悓鏃惰Е鍙戜笅鎷夊埛鏂?榛樿false,涓よ€呬笉鍙悓鏃惰Е鍙慃 杩欓噷涓轰簡婕旂ず鏀逛负true,涓嶅繀绛夊垪琛ㄥ姞杞藉畬姣曟墠鍙笅鎷堺 isBounce: false, //姝ゅ绂佹ios鍥炲脊,瑙f瀽(鍔″繀璁ょ湡闃呰,鐗瑰埆鏄渶鍚庝竴鐐?: http://www.mescroll.com/qa.html#q10 clearEmptyId: dom+'-content', noMoreSize:2, offset: 100, htmlNodata: '

    -- END --

    ', toTop: { //閰嶇疆鍥炲埌椤堕儴鎸夐挳 src: "/static/jqweui_extend/plugins/mescroll/mescroll-totop.png" //榛樿婊氬姩鍒?000px鏄剧ず,鍙厤缃畂ffset淇敼 } }; var upconfig = $.extend({}, defaultConfig, options); Do('mescroll',function(){ var mescroll = new MeScroll(dom,{up: upconfig}); Do.setData('mescrollInit',mescroll); }); }, renderSize:function (fileSize){ if(null==fileSize||fileSize=='') return "0 Bytes"; var unitArr = ["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"]; var index=0; var srcsize = parseFloat(fileSize); index=Math.floor(Math.log(srcsize)/Math.log(1024)); var size =srcsize/Math.pow(1024,index); size=size.toFixed(2);//淇濈暀鐨勫皬鏁颁綅鏁 return size+unitArr[index]; }, /** * 鍙嬪ソ鏃堕棿鏄剧ず * @param timestamp * @returns {string|*} */ dateDiff: function (timestamp) { // 琛ュ叏涓?3浣 var arrTimestamp = (timestamp + '').split(''); for (var start = 0; start < 13; start++) { if (!arrTimestamp[start]) { arrTimestamp[start] = '0'; } } timestamp = arrTimestamp.join('') * 1; var minute = 1000 * 60; var hour = minute * 60; var day = hour * 24; var halfamonth = day * 15; var month = day * 30; var now = new Date().getTime(); var diffValue = now - timestamp; // 濡傛灉鏈湴鏃堕棿鍙嶈€屽皬浜庡彉閲忔椂闂 if (diffValue < 0) return '涓嶄箙鍓?; // 璁$畻宸紓鏃堕棿鐨勯噺绾 var monthC = diffValue / month; var weekC = diffValue / (7 * day); var dayC = diffValue / day; var hourC = diffValue / hour; var minC = diffValue / minute; // 鏁板€艰ˉ0鏂规硶 var zero = function (value) { if (value < 10) return '0' + value; return value; }; // 浣跨敤 if (monthC > 12) { // 瓒呰繃1骞达紝鐩存帴鏄剧ず骞存湀鏃 return (function () { var date = new Date(timestamp); return date.getFullYear() + '骞? + zero(date.getMonth() + 1) + '鏈? + zero(date.getDate()) + '鏃?; })(); } else if (monthC >= 1) { return parseInt(monthC) + "鏈堝墠"; } else if (weekC >= 1) { return parseInt(weekC) + "鍛ㄥ墠"; } else if (dayC >= 1) { return parseInt(dayC) + "澶╁墠"; } else if (hourC >= 1) { return parseInt(hourC) + "灏忔椂鍓?; } else if (minC >= 1) { return parseInt(minC) + "鍒嗛挓鍓?; } return '鍒氬垰'; }, /** * 鏍煎紡鍖栨椂闂存埑 * @param timestamp * @param formats * @returns {string} */ dateFormat: function (timestamp, formats) { // formats鏍煎紡鍖呮嫭 // 1. Y-m-d // 2. Y-m-d H:i:s // 3. Y骞磎鏈坉鏃 // 4. Y骞磎鏈坉鏃 H鏃秈鍒 formats = formats || 'Y-m-d'; var zero = function (value) { if (value < 10) return '0' + value; return value; }; if (parseInt(timestamp) === 0) return ''; if (valid.isEmpty(timestamp)) return ''; timestamp = timestamp.toString().length==10?timestamp * 1000:timestamp; var myDate = timestamp ? new Date(timestamp) : new Date(); var year = myDate.getFullYear(); var month = zero(myDate.getMonth() + 1); var day = zero(myDate.getDate()); var hour = zero(myDate.getHours()); var minite = zero(myDate.getMinutes()); var second = zero(myDate.getSeconds()); return formats.replace(/Y|m|d|H|i|s/ig, function (matches) { return ({ Y: year, m: month, d: day, H: hour, i: minite, s: second })[matches]; }); }, /** * 绉掓暟杞皬鏃 * @param second * @returns {string} */ getDuration:function (second) { if(valid.isEmpty(second)) return '0:00:00'; var hours = Math.floor(second/3600); var minutes = Math.floor(second/60) % 60; var seconds = Math.floor(second % 60); var time = [helper.PrefixZero(hours,2),helper.PrefixZero(minutes,2),helper.PrefixZero(seconds,2)]; return time.join(':'); }, /** * 鑷畾涔夊嚱鏁板悕锛歅refixZero * @param num锛 琚搷浣滄暟 * @param n锛 鍥哄畾鐨勬€讳綅鏁 * @return {string} */ PrefixZero:function (num, n) { return (Array(n).join(0) + num).slice(-n); }, /** * 鍒犻櫎琛 * @param obj * @param callFn */ delRow: function (obj, callFn) { $(obj).closest('.item-row').remove(); if (typeof callFn != 'undefined') { callFn(obj); } }, /** * 涓婄Щ * @param obj */ upMove: function (obj) { var leftMove = $(obj).closest('.item-row'); //褰撳墠琛 var prevMove = leftMove.prev('.item-row'); //涓婁竴涓悓绾у厓绱 if (prevMove.length > 0) { //瀛樺湪涓婁竴涓悓绾у厓绱 prevMove.insertAfter(leftMove); //灏辨妸瀹冪Щ鍔ㄥ埌鍓嶉潰 } }, /** * 涓嬬Щ * @param obj */ downMove: function (obj) { var rightMove = $(obj).closest('.item-row'); var nextMove = rightMove.next('.item-row'); if (nextMove.length > 0) { nextMove.insertBefore(rightMove); } }, }; //琛ㄥ崟杈呭姪鏂规硶 var formHelper = { init: function () { this.laydate(); this.number(); this.tags(); this.ckEditor(); this.ace(); this.area(); this.selectpage(); this.h5uploader(); this.inputGroup(); }, /** * 琛ㄥ崟鎻愪氦 * @param opt * @param dom */ subForm: function (opt, dom) { var referrer = document.referrer; var obj = dom || '#form'; var defaultConfig = { btnSubmit: ".btn-sub", btnReset: ".btn-reset", ajaxPost: true, tipSweep: true, label: '.control-label', tiptype: function (msg, o, cssctl) { if (o.type == 3) { //o.obj.closest('.form-group').addClass('has-error'); $.toptip(msg, 'error'); //$(obj).find('.error-msg').show().html(' ' + msg); }/* else { //o.obj.closest('.form-group').removeClass('has-error'); //$(obj).find('.error-msg').html('').hide(); }*/ }, beforeCheck: function (curform) { if (typeof CKEDITOR != 'undefined') { //鍚屾缂栬緫鍣 for (ck in CKEDITOR.instances) { CKEDITOR.instances[ck].updateElement(); } } }, beforeSubmit: function (curform) { $.showLoading(); $(obj).find('.btn-sub').attr("disabled", "disabled"); //绂佺敤鎸夐挳 $(obj).find('.btn-reset').attr("disabled", "disabled"); //绂佺敤鎸夐挳 }, callback: function (res) { $.hideLoading(); //var index = parent.layer.getFrameIndex(window.name); $(obj).find('.btn-sub').removeAttr("disabled"); //鍚敤鎸夐挳 $(obj).find('.btn-reset').removeAttr("disabled"); //鍚敤鎸夐挳 if (res.code == 1) { if (typeof opt == 'function') { opt(res); //parent.layer.close(index); } else { var call = $(obj).data('call') || ''; if (call == "refreshSelfPage") helper.refresh(); if (call == 'url') helper.location(res.url); } } else { $.toptip(res.msg, 'error'); //$(obj).find('.error-msg').show().html(' ' + res.msg); } } }; var config = defaultConfig; if (typeof opt == 'object') { config = $.extend({}, defaultConfig, opt); } Do('valid', function () { $(obj).Validform(config); }); }, copy: function () { Do('copy', function () { var clipboard = new ClipboardJS('.f-copy'); clipboard.on('success', function (e) { layer.msg('鎷疯礉鎴愬姛'); }); }); }, number: function () { $('.f-number').each(function () { var type = $(this).data('type'); $(this).keyup(function () { if (type == 'number') { $(this).val($(this).val().replace(/[^-\d]/g, '')); } if (type == 'float') { $(this).val($(this).val().replace(/[^-\d.]/g, '')); } }).bind("paste", function () { //CTR+V浜嬩欢澶勭悊 if (type == 'number') { $(this).val($(this).val().replace(/[^-\d]/g, '')); } if (type == 'float') { $(this).val($(this).val().replace(/[^-\d.]/g, '')); } }).css("ime-mode", "disabled"); //CSS璁剧疆杈撳叆娉曚笉鍙敤 }); }, laydate: function () { if ($('.f-laydate').length > 0) { Do('laydate', function () { $('.f-laydate').each(function () { $(this).removeAttr('lay-key'); var opt = $(this).data(); var defaultOption = { elem: this, value:$(this).val(), done: function(value, date, endDate){ if (typeof opt['doneFn'] != 'undefined') { eval(opt['doneFn'] + '($(this),value)'); } } }; var option = $.extend({}, defaultOption, opt); laydate.render(option); }); }); } }, dateDestroy:function(obj){ var inputDate = $(obj).clone(true); $(inputDate).removeAttr("lay-key"); $(obj).after(inputDate); $(obj).remove(); }, selectpage: function () { if ($('.f-selectPage').length > 0) { Do('selectpage', function () { $('.f-selectPage').each(function () { var arrFun = ['formatItem', 'eAjaxSuccess', 'eSelect', 'eOpen', 'eTagRemove', 'eClear']; var opt = $(this).data(); for (var j = 0; j < arrFun.length; j++) { if (opt.hasOwnProperty(arrFun[j])) { var strFun = opt[arrFun[j]]; opt[arrFun[j]] = function (data) { return eval(strFun + '(data)'); }; } } var params = {searchField: opt.showField}; if (opt.hasOwnProperty('params')) params = $.extend({}, params, opt.params); opt.params = function () { return params; }; var defaultOption = { keyField: 'id', showField: 'name', eAjaxSuccess: function (d) { return d ? d : undefined; } }; var option = $.extend({}, defaultOption, opt); $(this).selectPage(option); }); }); } }, ace: function () { if ($('.f-ace').length > 0) { Do('ace', function () { $('.f-ace').each(function (i) { var id = $(this).attr('id'); var data = $(this).data(); var theme = data.theme || 'chrome'; var mode = data.mode || 'html'; var readonly = data.readonly || false; var html = $(this).html(); var editor = ace.edit(id); editor.setOptions({ autoScrollEditorIntoView: true, }); editor.setTheme("ace/theme/" + theme); //璁剧疆椋庢牸 editor.getSession().setMode("ace/mode/" + mode); //璁剧疆璇█妯″紡 document.getElementById(id).style.fontSize = '16px'; //璁剧疆瀛椾綋澶у皬 editor.setReadOnly(readonly); //璁剧疆缂栬緫鍣ㄥ彧璇 editor.setValue(html); editor.getSession().on("change", function (e) { $("textarea[name='" + id + "']").val(editor.getValue()); }); Do.setData('ace-' + id, editor); }); }) } }, tags: function () { Do('tags', function () { $('.f-tags').tagsinput({ trimValue: true, //鍘婚櫎鏍囩绌虹櫧 focusClass: 'my-focus-class' }); }); }, area: function () { if ($('.f-area').length > 0) { Do('city', function () { $('.f-area').each(function () { var name = $(this).data('name') || 'area_code'; var inputObj = $(this).find("[name='" + name + "']"); var code = inputObj.val(); var option = $(this).data(); var defaultOption = { code: code, provinceField: 'prov', cityField: 'city', areaField: 'area', required: true, onChange: function (info) { var val = info.code == 0 ? '' : info.code; var area = []; if (!valid.isEmpty(info.province)) area.push(info.province); if (!valid.isEmpty(info.city)) area.push(info.city); if (!valid.isEmpty(info.area)) area.push(info.area); inputObj.val(val); inputObj.attr('area', area.join('/')); if (typeof option['change'] != 'undefined') { eval(option['change'] + '(info,this)'); } } }; var opt = $.extend({}, defaultOption, option); if (code == '' && opt.required == true) { //鍒濆code涓虹┖锛屼笖蹇呭~鏃惰ˉ鍏 inputObj.val('110101'); inputObj.attr('area', '鍖椾含甯?涓滃煄鍖?); opt.code = '110101'; } $(this).citys(opt); }); }) } }, ckEditor: function () { if ($('.f-ck-editor').length > 0) { Do('ckeditor', 'lrz', function () { $('.f-ck-editor').each(function () { var name = $(this).attr('name'); var $option = $(this).data('option'); var toolbar = $(this).data('toolbar'); if (valid.isEmpty(toolbar)) { var bodyWidth = $(document.body).width(); toolbar = bodyWidth <= 1024 ? 'Basic' : 'Full'; } var option = valid.isEmpty($option) ? {} : $option; var defaultOptions = { toolbar: toolbar }; var options = $.extend({}, defaultOptions, option); var editor = CKEDITOR.replace(name, options); //澧炲姞瑙嗛鎸夐挳 editor.ui.addButton && editor.ui.addButton('html5video', { label: 'Vod', command: 'html5video' }); }); }); } }, h5uploader: function () { if ($('.f-upload').length > 0) { Do('lrz', 'upload', function () { $('.f-upload').each(function () { var _this = $(this); var inputFile = $(_this).find("[type='file']"); var uploadBtn = $(_this).find('.upload-btn'); inputFile.change(function (e) { uploadHelper.funGetFiles(e, _this); }); uploadBtn.click(function () { inputFile.trigger('click'); }); //鍒濆鍖栫洿鍦ㄨ繖閲岃缃 var value = _this.data('value') || ''; var theme = _this.data('theme'); var Fun = _this.data('theme-fun') || theme; if (value != '') eval('themeCallfn.' + Fun + '(value,_this)'); }); }) } }, /* * 鏂板皝瑁呭琛屾暟鎹 * 澧炲姞璁剧疆name鍚庣殑鍥炶皟 data-setname-after * 澧炲姞Add鍚庣殑鍥炶皟 data-add-after * 澧炲姞Del鍚庣殑鍥炶皟 data-del-after */ inputGroup: function () { var groupObj = $('.f-input-group'); if (groupObj.length > 0) { groupObj.each(function () { var that = $(this); var name = that.data('name'); var set_after_fun = that.data('setname-after'); that.find('.item').each(function (index, element) { var _that = $(this); if (index == 0) { _that.find('.btn-del').hide(); _that.find('.btn-add').show(); } else { _that.find('.btn-del').show(); _that.find('.btn-add').hide(); } _that.find('.item-input').each(function (i, v) { var children_name = $(this).data('name'); $(this).attr('name', name + '[' + index + '][' + children_name + ']'); if (typeof set_after_fun != 'undefined') { eval(set_after_fun + '(_that,index,$(this),i)'); } }) }) }) } }, /*澧炲姞涓€琛?/ inputGroupAdd: function (obj) { var that = $(obj).closest('.f-input-group'); var html = that.find('.item').eq(0).prop("outerHTML"); var add_after_fun = that.data('add-after'); that.append(html); formHelper.inputGroup(); that.find('.item:last').find('.item-input').each(function () { $(this).val(''); }); if (typeof add_after_fun != 'undefined') { eval(add_after_fun + '(that,$(obj))'); } }, /*鍒犻櫎涓€琛?/ inputGroupDel: function (obj) { var that = $(obj).closest('.f-input-group'); var del_after_fun = that.data('del-after'); $(obj).closest('.item').remove(); formHelper.inputGroup(); if (typeof del_after_fun != 'undefined') { eval(add_after_fun + '(that,$(obj))'); } }, /*涓婄Щ*/ inputGroupup: function (obj) { var leftMove = $(obj).closest('.item'); //褰撳墠琛 var prevMove = leftMove.prev('.item'); //涓婁竴涓悓绾у厓绱 if (prevMove.length > 0) { //瀛樺湪涓婁竴涓悓绾у厓绱 prevMove.insertAfter(leftMove); //灏辨妸瀹冪Щ鍔ㄥ埌鍓嶉潰 } formHelper.inputGroup(); }, /*涓嬬Щ*/ inputGroupdown: function (obj) { var rightMove = $(obj).closest('.item'); var nextMove = rightMove.next('.item'); if (nextMove.length > 0) { nextMove.insertBefore(rightMove); } formHelper.inputGroup(); }, }; //js鏁板€艰绠 Number.prototype.calc = function (op, arg) { return helper.calc(this, arg, op); }; juicer.register('json2str', helper.json2str); juicer.register('dateFormat', helper.dateFormat); juicer.register('renderSize', helper.renderSize); juicer.register('getDuration', helper.getDuration);