| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355 |
- if (typeof jQuery === "undefined") {
- throw new Error("jQuery plugins need to be before this file");
- }
- var log = true, abp = abp || {};
- /*JQuery扩展*/
- $.extend({
- //表单赋值
- formDeserialize: function ($form, data) {
- //isSelect2 = isSelect2 === undefined;
- if (!data) {
- return;
- }
- var $input = $form.find("input");
- var $textarea = $form.find("textarea");
- var $select = $form.find("select");
- var $checkbox = $form.find("input[type='checkbox']");
- var $radio = $form.find("input[type='radio']");
- $.merge($input, $textarea);
- $input.each(function () {
- var $input = $form.find($(this));
- var name = $input.attr("name");
- if (data[name] !== "") {
- $input.val(data[name]);
- }
- });
- $select.each(function () {
- var $select = $form.find($(this));
- var name = $select.attr("name");
- if (typeof data[name] === "boolean") {
- data[name] = data[name] + "";
- }
- if (data[name] !== "") {
- $select.val(data[name]);
- //if (isSelect2) {
- // $select.val(data[name]).select2();
- //} else {
- //}
- }
- });
- $checkbox.each(function () {
- var input = $form.find($(this));
- //var name = input.attr("name").replace(/(\w)/, function (v) { return v.toUpperCase() });
- var name = input.attr("name");
- if (data[name] !== "") {
- //console.log(array[name]);
- //console.log("---");
- input.val(data[name] === "True" ||
- input.val(data[name]) === "1" ||
- input.val(data[name]) === "true");
- }
- });
- $radio.each(function () {
- var input = $form.find($(this));
- //var name = input.attr("name").replace(/(\w)/, function (v) { return v.toUpperCase() });
- var name = input.attr("name");
- if (data[name] !== "") {
- //console.log(array[name]);
- $("input[name='" + name + "'][value='" + data[name] + "']").prop("checked", true);
- $("input[name='" + name + "'][value!='" + data[name] + "']").prop("checked", false);
- }
- });
- },
- //将form表单元素的值序列化成对象
- formSerialize: function ($form) {
- var disableEle = $form.find("[disabled]");
- disableEle.each(function (i, e) {
- $(e).prop("disabled", false);
- });
- var data = {};
- $.each($form.serializeArray(),
- function () {
- if (data[this['name']]) {
- data[this['name']] = data[this['name']] + "," + this['value'];
- } else {
- data[this['name']] = this['value'];
- }
- });
- disableEle.each(function (i, e) {
- $(e).prop("disabled", true);
- });
- return data;
- },
- //表单验证
- formValidate: function ($form, opt) {
- var defaults = {
- noValid: false,
- form: "form",
- modal: "modal",
- errorPlacement: function (error, element) {
- element.parent().before(error);
- element.focus();
- },
- rules: {}
- };
- opt = opt || {};
- var options = $.extend({}, defaults, opt);
- var $modal = options.modal
- ? typeof (options.modal) === 'string'
- ? $('#' + options.modal)
- : $(options.modal)
- : null;
- $form = $form ? $form : options.form ? $(options.form) : $modal.find('form');
- $form.validate({
- errorPlacement: options.errorPlacement,
- rules: options.rules
- }).settings.ignore = ":disabled";
- if (!options.noValid) {
- return $form.valid();
- }
- return options.noValid;
- },
- formatterDate: function (fmt, date, isFix) {
- date = date || new Date();
- isFix = isFix === undefined ? true : isFix;
- var year = date.getFullYear();
- var month = date.getMonth() + 1;
- fmt = fmt.replace("yyyy", year);
- fmt = fmt.replace("yy", year % 100);
- fmt = fmt.replace("MM", fix(month));
- fmt = fmt.replace("dd", fix(date.getDate()));
- fmt = fmt.replace("HH", fix(date.getHours()));
- fmt = fmt.replace("mm", fix(date.getMinutes()));
- fmt = fmt.replace("ss", fix(date.getSeconds()));
- return fmt;
- function fix(n) {
- return isFix ? (n < 10 ? "0" + n : n) : n;
- }
- },
- blinkTitle:{
- start: function (msg) {
- msg = msg || abp.localization.iwbZero('NewNotificationRemind');
- this.title = document.title;
- this.messages = [msg];
- if (!this.action) {
- try {
- this.element = document.getElementsByTagName('title')[0];
- this.element.innerHTML = this.title;
- this.action = function (ttl) {
- this.element.innerHTML = ttl;
- };
- } catch (e) {
- this.action = function(ttl) {
- document.title = ttl;
- };
- delete this.element;
- }
- this.toggleTitle = function () {
- this.index = this.index === 0 ? 1 : 0;
- this.action('【' + this.messages[this.index] + '】'+this.title);
- };
- }
- var n = msg.length;
- var s = '';
- if (this.element) {
- var num = msg.match(/\w/g);
- if (num) {
- var n2 = num.length;
- n -= n2;
- while (n2 > 0) {
- s += " ";
- n2--;
- }
- }
- }
- while (n > 0) {
- s += ' ';
- n--;
- }
- this.messages.push(s);
- this.index = 0;
- //this.title = this.title.replace("【" + msg + "】", "").replace("【" + s + "】", "");
- var that = this;
- this.timer = setInterval(function () {
- that.toggleTitle();
- }, 500);
- },
- stop: function () {
- if (this.timer) {
- clearInterval(this.timer);
- var t = this.title ? this.title : document.title;
- this.action(t);
- delete this.timer;
- delete this.messages;
- }
- }
- } ,
- metPageCss: function (url, id) {
- id = id || 'dy-css';
- if ($('#' + id).length > 0) {
- return;
- }
- var link = document.createElement('link');
- link.type = 'text/css';
- link.rel = 'stylesheet';
- link.id = id;
- link.href = url + '?v=' + Math.floor(Math.random() * 100000);
- var flag = document.getElementById('flag');
- var head = document.getElementsByTagName('head')[0];
- if (flag) {
- head.insertBefore(link, flag.nextSibling);
- } else {
- head.appendChild(link);
- }
- },
- metPageJs: function (src, id) {
- id = id || 'dy-js';
- if ($('#' + id).length > 0) {
- return;
- }
- var script = document.createElement('script');
- script.id = id;
- script.type = 'text/javascript';
- script.charset = 'UTF-8';
- script.src = src + '?v=' + Math.floor(Math.random() * 100000);
- $('head').append(script);
- },
- loadScript: function(url, loadCallback, failCallback) {
- /* UrlStates enum */
- var urlStates = {
- LOADING: 'LOADING',
- LOADED: 'LOADED',
- FAILED: 'FAILED'
- };
- /* UrlInfo class */
- function UrlInfo() {
- this.state = urlStates.LOADING;
- this.loadCallbacks = [];
- this.failCallbacks = [];
- }
- UrlInfo.prototype.succeed = function () {
- this.state = urlStates.LOADED;
- for (var i = 0; i < this.loadCallbacks.length; i++) {
- this.loadCallbacks[i]();
- }
- };
- UrlInfo.prototype.failed = function () {
- this.state = urlStates.FAILED;
- for (var i = 0; i < this.failCallbacks.length; i++) {
- this.failCallbacks[i]();
- }
- };
- UrlInfo.prototype.handleCallbacks = function (loadCallback, failCallback) {
- switch (this.state) {
- case urlStates.LOADED:
- loadCallback && loadCallback();
- break;
- case urlStates.FAILED:
- failCallback && failCallback();
- break;
- case urlStates.LOADING:
- this.addCallbacks(loadCallback, failCallback);
- break;
- }
- };
- UrlInfo.prototype.addCallbacks = function (loadCallback, failCallback) {
- loadCallback && this.loadCallbacks.push(loadCallback);
- failCallback && this.failCallbacks.push(failCallback);
- };
- var urlInfos = {};
- var loadScript = function (url, loadCallback, failCallback) {
- var urlInfo = urlInfos[url];
- if (urlInfo) {
- urlInfo.handleCallbacks(loadCallback, failCallback);
- return;
- }
- urlInfos[url] = urlInfo = new UrlInfo();
- urlInfo.addCallbacks(loadCallback, failCallback);
- $.getScript(url).done(function (script, textStatus) {
- urlInfo.succeed();
- }).fail(function (jqxhr, settings, exception) {
- urlInfo.failed();
- });
- };
- loadScript(url, loadCallback, failCallback);
- }
- });
- /*AJAX*/
- $.extend({
- //ajax
- iwbAjax: function (url, opt) {
- this.defaults = {
- async: true,
- type: "Post",
- contentType: 'application/json; charset=UTF-8',
- //contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
- data: null,
- log: window.log,
- dataType: "json",
- isAlert: true,
- isValidate: true,
- isRefresh: true,//默认刷新表格
- success: null,
- error: null,
- table: undefined,
- modal: undefined,
- form: undefined,
- errorPlacement: function (error, element) {
- element.parent().before(error);
- element.focus();
- },
- rules: {},
- blockUI: true
- };
- if (!opt) {
- opt = url;
- url = opt.url;
- }
-
- var options = $.extend({}, this.defaults, opt);
- var $table = !options.table ? undefined : typeof options.table === 'string' ? $('#' + options.table) : $(options.table);
- var $modal = !options.modal ? undefined : typeof options.modal === 'string' ? $('#' + options.modal) : $(options.modal);
- var $form = !options.form ? ($modal? $modal.find("form"):undefined ): typeof options.form === 'string' ? $('#' + options.form) : $(options.form);
- var isValidated = true;
- if (options.isValidate && $form) {
- isValidated = $.formValidate($form);
- }
- if (isValidated) {
- options.data = options.data ? (typeof options.data === 'function' ? options.data() : options.data) : $form ? $.formSerialize($form) : undefined;
- var guid = Math.floor(Math.random() * 10000);
- var log = options.log;
- if (log) {
- console.log('[' + guid + ']url:' + url, 'data:', options.data);
- }
- var success = options.success && typeof options.success === 'function'
- ? function (res) {
- if (log) { console.log('[' + guid + ']', res); }
- options.success(res);
- if (options.isRefresh && $table) {
- $table.iwbTable('refresh', true);
- }
- if ($modal) {
- $modal.iwbModal('hide');
- }
- }
- : function (res) {
- if (log) { console.log('[' + guid + ']', res); }
- if (options.isRefresh && $table) {
- $table.iwbTable('refresh', true);
- }
- if ($modal) {
- $modal.iwbModal('hide');
- }
- };
- var ajaxSuccess = options.isAlert ? function (res) { abp.message.success(abp.localization.iwbZero('OpSuccess')).done(success(res)); } : success;
- var data = typeof (options.data) === 'string' ? options.data : JSON.stringify(options.data);
-
- var ajaxOption = {
- url: url,
- async: options.async,
- type: options.type,
- contentType: options.contentType,
- data: data,
- dataType: options.dataType,
- success: ajaxSuccess,
- error: options.error,
- abpHandleError: options.isAlert,
- blockUI: options.blockUI
- };
- abp.ajax(ajaxOption);
- }
- }
- });
- $.extend({
- iwbAjax1: function (opt) {
- opt = $.extend({}, { isValidate: false }, opt);
- $.iwbAjax(opt);
- },
- iwbAjax2: function (opt) {
- opt = $.extend({}, { isAlert: false }, opt);
- $.iwbAjax(opt);
- },
- iwbAjax3: function (opt) {
- opt = $.extend({}, { isValidate: false, isAlert: false ,blockUI:false}, opt);
- $.iwbAjax(opt);
- },
- iwbAjax4: function (opt) {
- opt = $.extend({}, { isValidate: false, isAlert: false, isRefresh: false ,blockUI:false}, opt);
- $.iwbAjax(opt);
- },
- iwbGet: function (opt) {
- opt = $.extend({}, { type: 'get', modal: null, form: null }, opt);
- $.iwbAjax4(opt);
- }
- });
- /*Table*/
- (function ($, window, document, undefined) {
- //构造函数
- 'use strict';
- var abp = window.abp || {},
- searchList = [],
- isSearching,
- modalDefaults = {
- modal: 'modal',
- modaltitle: '',
- data: null,
- form: null,
- errorPlacement: function (error, element) {
- if (element.is('select')) {
- if (!element.next().next().hasClass('error')) {
- element.next().after(error);
- element.focus();
- }
- } else {
- element.after(error);
- element.focus();
- }
- },
- rules: {},
- readonly: '',
- disabled: '',
- select2: true,
- select2tree: false,
- url: '',
- savebtn: null,
- save: null,
- success: null,
- shownBefore: null,
- shownAfter: null,
- draggable: false,
- searchValidate: true
- };
- //modalOptions = {};
- var getSearchList = function ($that) {
- var o = $that.options;
- var $searchForm = (typeof (o.searchForm) === 'string' ? $('#' + o.searchForm) : $(o.searchForm));
- searchList = [];
- if (o.searchList && o.searchList.length > 0) {
- o.searchList.forEach(function (v) {
- if (v.KeyWords) {
- searchList.push(v);
- }
- });
- }
- if (!o.onlySearchList) {
- $searchForm.find('.KeyWords').each(function () {
- var $this = $(this), keyWords = $this.val();
- if (keyWords) {
- if ($this.hasClass('dataRange')) {
- try {
- var dates = keyWords.split(' - ');
- searchList.push({
- KeyWords: dates[0],
- KeyField: $this.data('field'),
- FieldType: $this.data('ftype'),
- ExpType: 4
- });
- if (dates.length===2) {
- var dateArr = dates[1].split(' ')[0].split('-');
- var date = new Date(dateArr[0], dateArr[1] - 1, dateArr[2], 0, 0, 0);
- var newDate = new Date(date.getTime() + 24 * 60 * 60 * 1000 - 1);
- keyWords = $.formatterDate('yyyy-MM-dd HH:mm:ss', newDate);
- searchList.push({ KeyWords: keyWords, KeyField: $this.data('field'), FieldType: $this.data('ftype'), ExpType: 5 });
- }
-
- } catch (e) {
- console.log(e);
- }
- } else {
- searchList.push({ KeyWords: keyWords, KeyField: $this.data('field'), FieldType: $this.data('ftype'), ExpType: $this.data('etype') });
- }
- }
- });
- }
- },
- queryParams = function (params, $that) {
- var o = $that.options;
- getSearchList($that);
- var $searchForm = (typeof (o.searchForm) === 'string' ? $('#' + o.searchForm) : $(o.searchForm));
- var $keyWord = $searchForm.find('#keyWords');
- if (o.onlySearchList) {
- return {
- MaxResultCount: params.limit,
- SkipCount: params.offset,
- //sort: params.sort, //排序列名
- //sortOrder: params.order, //排位命令(desc,asc)
- sorting: params.sort?params.sort+' '+params.order:'',
- SearchList: searchList
- };
- }
- return {
- MaxResultCount: params.limit,
- SkipCount: params.offset,
- sorting: params.sort?params.sort+' '+params.order:'',
- keyField: $keyWord.data('field'),
- fieldType: $keyWord.data('ftype'),
- expType: $keyWord.data('etype'),
- keyWords: $keyWord.val(),
- SearchList: searchList
- };
- },
- responseHandler = function (res) {
- if (res.success) {
- var data = JSON.parse('{"total":' +
- res.result.totalCount +
- ',"rows":' +
- JSON.stringify(res.result.items) +
- '}');
- console.log(data);
- return data;
- } else {
- console.log('Table load failed');
- if (res.error) {
- if (res.error.details) {
- return abp.message.error(res.error.details, res.error.message);
- } else {
- if (res.error.message && res.error.message.indexOf('登陆超时') >= 0) {
- return abp.message.error(res.error.message).done(function () {
- window.top.location.reload();
- });
- } else {
- return abp.message.error(res.error.message || abp.ajax.defaultError.message);
- }
- }
- }
- }
- return JSON.parse('{"total":0,"rows":[]}');
- },
- responseHandlerNoPage = function (res) {
- if (res.success) {
- var data = res.result;
- console.log(data);
- return data;
- } else {
- console.log('Table load failed');
- if (res.error) {
- if (res.error.details) {
- return abp.message.error(res.error.details, res.error.message);
- } else {
- if (res.error.message && res.error.message.indexOf('登陆超时') >= 0) {
- return abp.message.error(res.error.message).done(function () {
- window.top.location.reload();
- });
- } else {
- return abp.message.error(res.error.message || abp.ajax.defaultError.message);
- }
- }
- }
- }
- return JSON.parse('[]');
- },
- onAll = function (eName, eData, $that) {
- isSearching = false;
- var o = $that.options;
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- $table.closest('.table-box').find('.tableTool .menu-btn[data-type^=\'btn\']')
- .prop('disabled', $table.bootstrapTable('getSelections').length !== 1);
- },
- onLoadSuccess = function (data, $that) {
- var o = $that.options;
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- // $table.find('.bs-checkbox').find('input').addClass('filled-in').after('<label></label');
-
- },
- onPostBody = function (data, $that) {
- var o = $that.options;
- $(document);
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- /* $table.find("td.bs-checkbox").each(function () {
- var input = $(this).find('input');
- var $label = $('<span class="iwb-checkbox"></span>');
- $label.append(input);
- $label.append('<span></span>');
- $(this).html($label);
- });*/
- $table.find(".bs-checkbox").find("input").addClass("filled-in").after("<label></label");
- $table.find("thead th.bs-checkbox").off("click.checkOnTable").on(
- "click.checkOnTable",
- function () {
- $(this).find("input").click();
- });
- isSearching = false;
- var $tableTool = o.tableTool
- ? typeof (o.tableTool) === 'string'
- ? $table.closest('.table-box').find('#' + o.tableTool)
- : $table.closest('.table-box').find(o.tableTool)
- : $table.closest('.table-box').find('.btn-toolbar');
- $tableTool.find('.menu-btn').off('click.menubtn').on('click.menubtn', function () {
- var funs = $that.getFuns();
- var type = $(this).data('type');
- var index = type.lastIndexOf('_');
- type = index > -1 ? type.substr(index + 1) : type;
- var url = $(this).data('url') || "";
- funs[type] ? funs[type].call(this, url) : funs["none"].call(this);
- });
- abp.ui.clearBusy();
- $table.find('tr th').each(function () { $(this).css('text-align', 'center') });
- $table.find('tr td.iwb-tips').each(function () {
- var text= $(this).text();
- $(this).tooltip({ 'title': text,'placement': 'bottom', 'container': 'body','delay':800 });
- });
- },
-
- getModal = function (url, opt, title, type, $that) {
- var o = $that.options;
- var modalOptions = $.extend({}, modalDefaults, opt);
- var $table = typeof o.table === 'string' ? $('#' + o.table) : $(o.table);
- var $tableTool = o.tableTool
- ? typeof o.tableTool === 'string'
- ? $table.closest('.table-box').find('#' + o.tableTool)
- : $table.closest('.table-box').find(o.tableTool)
- : $table.closest('.table-box').find('.btn-toolbar');
- modalOptions.modaltitle = title;
- modalOptions.draggable = $that.options.modalDrag;
- if (!opt) {
- opt = !url || typeof url === "string" ? {} : url;
- }
- if (opt.hasOwnProperty("url")) {
- modalOptions.url = opt.url;
- } else if (typeof url === "string") {
- modalOptions.url = url;
- } else {
- modalOptions.url = $tableTool.find('.menu-btn[data-type=' + type + ']').data('url');
- modalOptions.url = modalOptions.url
- ? modalOptions.url
- : $tableTool.find('.menu-btn[data-type=_' + type + ']').data('url');
- }
- modalOptions.modal = typeof $that.options.modal === 'string' ? $("#" + $that.options.modal) : $($that.options.modal);
- modalOptions.table = $table;
- //modalOptions.type = type.toLowerCase().indexOf('btnupdate') === 0 ? 'put' : 'post';
- modalOptions.type = 'post';
- return modalOptions;
- };
- var Table = function (ele, opt) {
- var $that = this;
- this.defaults = {
- url: undefined,
- table: undefined,
- tableTool: '',
- resetView: true,
- height: undefined,
- searchForm: 'search-form',
- searchList: [],
- onlySearchList: false,
- searchValidate: true,
- queryParams: function (p) { return queryParams(p, $that); },
- onAll: function (e, d) { onAll(e, d, $that); },
- onLoadSuccess: function (d) { onLoadSuccess(d, $that); },
- onPostBody: function (d) { onPostBody(d, $that); },
- isPage: true,
- lang: 'zh-CN',
- funs: undefined,
- modal: 'modal',
- form: 'form',
- modalDrag: true
- };
- $that.options = $.extend({}, this.defaults, opt || {});
- if (!$that.options.onAll) {
- $that.options.onAll = function (e, d) {
- onAll(e, d, $that);
- };
- }
- this.$ele = ele,
- this.loadTable();
- return this;
- };
- Table.prototype.loadTable = function () {
- var $that = this;
- $that.options.responseHandler = $that.options.responseHandler
- ? $that.options.responseHandler
- : $that.options.isPage
- ? responseHandler
- : responseHandlerNoPage;
- $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales[$that.options.lang]);
- var o = $that.options;
- //searchList = o.searchList;
- getSearchList($that);
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- $table.bootstrapTable($that.options);
- if (o.resetView) {
- var h = o.height ? o.height : $(window).height() - 150;
- $that.resetView(h);
- $(window).resize(function () {
- $that.resetView();
- });
- }
- return this;
- };
- Table.prototype.refresh = function (isForce) {
- var $that = this;
- abp.ui.setBusy();
- setTimeout(function () { abp.ui.clearBusy(); isSearching = false; }, 5 * 1000);
- if (isSearching) {
- return;
- }
- isSearching = true;
- //getSearchList($that);
- //if (!isForce && searchList.length <= 0) {
- // console.log("Search-Multi-None");
- // return;
- //}
- var o = $that.options;
- var $searchForm = (typeof (o.searchForm) === 'string' ? $('#' + o.searchForm) : $(o.searchForm));
- var isValidated = true;
- if (o.searchValidate && $searchForm && $searchForm.length > 0) {
- isValidated = $.formValidate($searchForm);
- }
- if (isValidated) {
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- $table.bootstrapTable('refresh', { silent: true });
- console.log("Search");
- } else {
- console.log("Search_Validate_Faild");
- }
- };
- Table.prototype.resetView = function (height) {
- var $that = this;
- var o = $that.options;
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- $table.bootstrapTable('resetView', { height: height });
- };
- Table.prototype.destroy = function () {
- var $that = this;
- var o = $that.options;
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- $table.bootstrapTable('destroy', { silent: true });
- };
- Table.prototype.getFuns = function () {
- var $that = this;
- $that.options.funs = $that.options.funs ||
- {
- btnCreate: function (url) { $that.defaultCreate(url); },
- btnUpdate: function (url) { $that.defaultUpdate(url); },
- btnDelete: function (url) { $that.defaultDelete(url); },
- btnSearch: function () { $that.refresh(true); },
- none: function () { console.log("No type"); }
- };
- return $that.options.funs;
- };
- Table.prototype.addFuns = function (key, fun) {
- var $that = this;
- var funs = $that.getFuns();
- funs[key] = fun;
- $that.options.funs = funs;
- };
- Table.prototype.defaultCreate = function (url, opt) {
- var $that = this;
- console.log("Add");
- opt = opt || {};
- var modalOptions = getModal(url, opt, abp.localization.iwbZero('OpCreate'), 'btnCreate', $that);
- var $modal = typeof modalOptions.modal === 'string' ? $('#' + modalOptions.modal) : $(modalOptions.modal);
- $modal.iwbModal(modalOptions);
- };
- Table.prototype.defaultUpdate = function (url, opt, row) {
- var $that = this;
- console.log("Update");
- var o = $that.options;
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- opt = opt || {};
- row = row || opt.row|| $table.bootstrapTable("getSelections")[0];
- if (row) {
- var modalOptions = getModal(url, opt, abp.localization.iwbZero('OpUpdate'), 'btnUpdate', $that);
- if (!modalOptions.data) {
- modalOptions.data = row;
- }
- var $modal = typeof (modalOptions.modal) === 'string' ? $('#' + modalOptions.modal) : $(modalOptions.modal);
- $modal.iwbModal(modalOptions);
- } else
- abp.message.warn(abp.localization.iwbZero('SelectRecordOperation'));
- };
- Table.prototype.defaultDelete = function (url, opt,row) {
- console.log("Delete");
- var $that = this;
- var o = $that.options;
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- opt = opt || {};
- row = row || opt.row || $table.bootstrapTable("getSelections")[0];
- if (row) {
-
- var data = opt.data || { id: row.id };
- abp.message.confirm(abp.localization.iwbZero('DeleteConfirmContent'),
- abp.localization.iwbZero('DeleteConfirm'),
- function (isConfirmed) {
- if (isConfirmed) {
- $.iwbAjax({ table: $table,url: url + '?id=' + data.id, data: data, type: 'post', isValidate: false });
- }
- });
- } else
- abp.message.warn(abp.localization.iwbZero('SelectRecordOperation'));
- };
- Table.prototype.setSearchList = function (obj) {
- var $that = this;
- var o = $that.options;
- o.searchList = obj;
- };
- Table.prototype.getSelections = function () {
- var $that = this;
- var o = $that.options;
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- return $table.bootstrapTable("getSelections");
- }
- var allowedMethods = [
- 'loadTable',
- 'refresh',
- 'getFuns',
- 'defaultCreate',
- 'defaultUpdate',
- 'defaultDelete',
- 'resetView',
- 'destroy',
- 'setSearchList',
- 'getSelections'
- ];
- $.fn.iwbTable = function (option) {
- var value,
- args = Array.prototype.slice.call(arguments, 1);
- this.each(function () {
- var $this = $(this);
- var data = $this.data('iwb.table'),
- options = $.extend({}, $this.data(),
- typeof option === 'object' && option);
- if (typeof option === 'string') {
- if ($.inArray(option, allowedMethods) < 0) {
- throw new Error("Unknown method: " + option);
- }
- if (!data) {
- return;
- }
- value = data[option].apply(data, args);
- if (option === 'destroy') {
- $this.removeData('iwb.table');
- $this.removeData('iwbtable.init');
- return;
- }
- }
- if ($this.data('iwbtable.init')) {
- return;
- }
- $this.data('iwbtable.init', true);
- if (!data) {
- data = new Table(this, options);
- $this.data('iwb.table', data);
- }
- });
- return typeof value === 'undefined' ? this : value;
- };
- })(jQuery, window, document);
- /*Modal*/
- (function ($, window, document, undefined) {
- 'use strict';
- var Modal = function (ele, opt) {
- this.$ele = ele,
- this.defaults = {
- modal: ele,
- modaltitle: '',
- data: null,
- form: null,
- table: undefined,
- errorPlacement: function (error, element) {
- element.parent().before(error);
- //if (element.is('select')) {
- // if (!element.next().next().hasClass('error')) {
- // element.next().after(error);
- // element.focus();
- // }
- //} else {
- // element.parent().before(error);
- // element.focus();
- //}
- },
- rules: {},
- readonly: '',
- disabled: '',
- select2: true,
- select2tree: false,
- url: '',
- type:'post',
- savebtn: null,
- save: null,
- success: null,
- shownBefore: null,
- shownAfter: null,
- isRefresh:true,
- draggable: true,
- backdrop: 'static',
- keyboard: true,
- kindeditorOption: {},
- content:undefined,
- abp: window.abp
- },
- this.options = $.extend({}, this.defaults, opt);
- this.draggable();
- };
- //var abp = window.abp || {};
- Modal.prototype.getModal = function () {
- var $that = this;
- var $modal = typeof ($that.options.modal) === 'string' ? $('#' + $that.options.modal) : $($that.options.modal);
- return $modal;
- };
- Modal.prototype.open = function () {
- var $that = this;
- var $modal = $that.getModal();
- $modal.off('show.bs.modal').on('show.bs.modal',
- function () {
- $that.showBefore();
- $that.init();
- $that.setData();
- $that.setSelect2();
- $that.initKindeditor();
- $that.verticalCenter();
- $that.bindSave();
- $.formValidate($modal.find('form'), { noValid: true });
- $that.showAfter();
- });
- $that.show2();
- };
- Modal.prototype.show = function () {
- var $that = this;
- var $modal = $that.getModal();
- $modal.off('show.bs.modal').on('show.bs.modal',
- function () {
- $that.showBefore();
- $that.setData();
- $that.setSelect2();
- $that.initKindeditor();
- $that.verticalCenter();
- $.formValidate($modal.find('form'), { noValid: true });
- $that.showAfter();
- });
- $that.show2();
- };
- Modal.prototype.show2 = function () {
- var $that = this, o = $that.options;
- var $modal = $that.getModal();
- $modal.modal( {backdrop: o.backdrop, keyboard: o.keyboard });
- $modal.modal( 'show');
- $that.verticalCenter();
- };
- Modal.prototype.create = function() {
- var $that = this,o=$that.options;
- if (!o.modalId) {
- o.modalId = 'Modal_' + (Math.floor((Math.random() * 1000000))) + new Date().getTime();
- }
- if (o.modalSize === null) {
- o.modalSize = "";
- }
- else if (o.modalSize) {
- o.modalSize = o.modalSize;
- } else {
- o.modalSize = 'modal-lg';
- }
- var createContainer = function(modalId, modalSize) {
- abp.ui.setBusy($("body"));
- $that.removeContainer(modalId);
- var containerId = modalId + 'Container';
- return $('<div id="' + containerId + '"></div>')
- .append(
- '<div id="' + modalId + '" class="modal fade">' +
- ' <div class="modal-dialog ' + modalSize + '">' +
- ' <div class="modal-content"></div>' +
- ' </div>' +
- '</div>'
- ).appendTo('body');
- };
- var show = function() {
- $('#'+o.modalId).off('show.bs.modal').on('show.bs.modal',function () {
- $that.showBefore();
- $that.setSelect2();
- $that.bindSave();
- $.formValidate($('#'+o.modalId).find('form'), { noValid: true });
- $that.showAfter();
- });
- $that.show2();
- abp.ui.clearBusy($("body"));
- };
- var $modalContent=createContainer(o.modalId, o.modalSize).find('.modal-content');
- if (o.viewUrl) {
- $modalContent.load(o.viewUrl, o.args, function (response, status, xhr) {
- if (status === "error") {
- abp.message.warn(abp.localization.abpWeb('InternalServerError'));
- return;
- }
- if (o.scriptUrl) {
- $.loadScript(o.scriptUrl, function () {
- show();
- });
- } else {
- show();
- }
- });
- } else if (o.content) {
- $modalContent.append(o.content);
- show();
- } else {
- return;
- }
- };
- Modal.prototype.hide = function () {
- var $that = this, o = $that.options;
- var $modal = $that.getModal();
- if (o.modalId) {
- $that.removeContainer(o.modalId);
- }
- return $modal.modal('hide');
- };
- Modal.prototype.removeContainer = function(modalId) {
- var containerId = modalId + 'Container';
- var containerSelector = '#' + containerId;
- var $container = $(containerSelector);
- if ($container.length) {
- $container.remove();
- }
- };
- Modal.prototype.showBefore = function () {
- var $that = this;
- if ($that.options.shownBefore && typeof ($that.options.shownBefore) === 'function') {
- $that.options.shownBefore($that);
- }
- };
- Modal.prototype.showAfter = function () {
- var $that = this;
- if ($that.options.shownAfter && typeof ($that.options.shownAfter) === 'function') {
- $that.options.shownAfter($that);
- }
- };
- Modal.prototype.init = function () {
- var $that = this;
- var $modal = $that.getModal();
- $modal.find('input,select,textarea').val('').removeClass('error valid');
- $modal.find('input:not(.disabled),select:not(.disabled),textarea:not(.disabled)').prop('disabled', false);
- $modal.find('input:not(.readonly),select:not(.readonly),textarea:not(.readonly)').prop('readonly', false);
- $modal.find('label.error').remove();
- $modal.find('.modal-title-span').html($that.options.modaltitle);
- $that.setReadonly();
- $that.setDisabled();
- $that.cleanFile();
- $modal.find('input:not(:disabled,[type=\'hidden\'],[readonly=\'readonly\']):first').focus();
- };
- Modal.prototype.setReadonly = function () {
- var $that = this;
- var $modal = $that.getModal();
- if (!$that.options.readonly)
- return;
- var readonly = $that.options.readonly.split(',');
- for (var i = 0; i < readonly.length; i++) {
- if (readonly[i]) {
- $modal.find('#' + readonly[i]).prop('readonly', true);
- }
- }
- };
- Modal.prototype.setDisabled = function () {
- var $that = this;
- var $modal = $that.getModal();
- if (!$that.options.disabled)
- return;
- var disabled = $that.options.disabled.split(',');
- for (var i = 0; i < disabled.length; i++) {
- if (disabled[i]) {
- $modal.find('#' + disabled[i]).prop('disabled', true);
- }
- }
- };
- Modal.prototype.setData = function () {
- var $that = this;
- var $modal = $that.getModal();
- var $form = $that.options.form ? $($that.options.form) : $modal.find('form');
- $.formDeserialize($form, $that.options.data);
- };
- Modal.prototype.setSelect2 = function () {
- var $that = this;
- var $modal = $that.getModal();
- if ($that.options.select2) {
- $modal.find("select").select2();
- $modal.find('select').off("change.ff").on("change.ff",
- function () {
- $(this).focus();
- $(this).next(".error").remove();
- $(this).blur();
- });
- }
- if ($that.options.select2tree) {
- var tree = $that.options.select2tree.split(',');
- for (var i = 0; i < tree.length; i++) {
- $modal.find('#' + tree[i]).select2tree();
- }
- }
- };
- Modal.prototype.initKindeditor = function () {
- var $that = this;
- var $modal = $that.getModal();
- $modal.find('textarea.kindeditor').each(function (i, v) {
- if ($(v).length && $.fn.iwbKindeditor) {
- var val = $(v).val();
- if ($(v).data("iwb.kindEditor")) {
- $(v).iwbKindeditor('remove');
- }
- var option = $that.options.kindeditorOption || {};
- $(v).iwbKindeditor(option);
- window.editor[$(v).attr('id')].html(val);
- }
- });
- };
- Modal.prototype.cleanFile = function () {
- var $that = this;
- var $modal = $that.getModal();
- $modal.find('input[type="file"]').each(function (i, v) {
- $(v).iwbFileUpload('cleanFile');
- });
- };
- Modal.prototype.bindSave = function () {
- var $that = this;
- var $modal = $that.getModal();
- if ($that.options.url) {
- var $saveBtn = $that.options.savebtn
- ? $($that.options.savebtn)
- : $modal.find('.save-btn').length > 0
- ? $modal.find('.save-btn')
- : $modal.find('.save').length > 0
- ? $modal.find('.save')
- : $modal.find('#save');
- var opt = $that.getSaveOptions();
- if ($that.options.save && typeof ($that.options.save) === "function") {
- $saveBtn.off('click.save').on('click.save',function () {$that.options.save(opt);});
- } else {
- $saveBtn.off('click.save').on('click.save',function () {$.iwbAjax($that.options.url, opt);});
- }
- $modal.find('.modal-body').keydown(function(e) {
- if (e.which === 13) {
- if (e.target.tagName.toLocaleLowerCase() === "textarea") {
- e.stopPropagation();
- } else {
- e.preventDefault();
- var opt = $that.getSaveOptions();
- if ($that.options.save && typeof $that.options.save === "function") {
- $that.options.save(opt);
- } else {
- $.iwbAjax($that.options.url, opt);
- }
- }
- }
- });
- }
- };
- Modal.prototype.getSaveOptions = function () {
- var $that = this;
- var $modal = $that.getModal();
- var $form = $that.options.form ? $($that.options.form) : $modal.find('form');
- return {
- url: $that.options.url,
- type: $that.options.type,
- success: $that.options.success,
- form: $form,
- data:$that.options.data,
- table: $that.options.table,
- modal: $that.options.modal,
- blockUI: $modal.find('.modal-dialog'),
- isRefresh: $that.options.isRefresh
- };
- };
- Modal.prototype.verticalCenter = function () {
- var $that = this;
- var $modal = $that.getModal();
- $modal.css('display', 'block');
- var topHeight = $(window).height() - $modal.find('.modal-dialog').height() - 150;
- if (topHeight < 30) {
- topHeight = 30;
- }
- $modal.find('.modal-dialog').animate({ 'marginTop': topHeight / 2 + "px" });
- };
- Modal.prototype.draggable = function () {
- var $that = this;
- var $modal = $that.getModal();
- if ($that.options.draggable) {
- //console.log('draggable');
- $('.modal-header').css('cursor', 'move');
- /** 拖拽模态框*/
- var dragModal = {
- mouseStartPoint: { 'left': 0, 'top': 0 },
- mouseEndPoint: { 'left': 0, 'top': 0 },
- mouseDragDown: false,
- basePoint: { 'left': 0, 'top': 0 },
- moveTarget: null,
- topleng: 0
- };
- $modal.off('mousedown.drag').on('mousedown.drag',
- '.modal-header',
- function (e) {
-
- //webkit内核和火狐禁止文字被选中
- $('body').addClass('drag-select');
- //ie浏览器禁止文字选中
- document.body.onselectstart = document.body.ondrag = function () {
- return false;
- };
- if ($(e.target).hasClass('close')) //点关闭按钮不能移动对话框
- return;
- dragModal.mouseDragDown = true;
- dragModal.moveTargetHeader = $(this);
- dragModal.moveTarget = $(this).closest('.modal-content');
- dragModal.mouseStartPoint = { 'left': e.clientX, 'top': e.pageY };
- dragModal.basePoint = dragModal.moveTarget.offset();
- dragModal.topLeng = e.pageY - e.clientY;
- });
- $modal.off('mouseup.drag').on('mouseup.drag',
- function () {
- dragModal.mouseDragDown = false;
- dragModal.moveTarget = undefined;
- dragModal.mouseStartPoint = { 'left': 0, 'top': 0 };
- dragModal.basePoint = { 'left': 0, 'top': 0 };
- });
- $modal.off('mousemove.drag').on('mousemove.drag',
- function (e) {
- if (!dragModal.mouseDragDown || dragModal.moveTarget === undefined) return;
- var mousX = e.clientX;
- var mousY = e.pageY;
- if (mousX < 0) mousX = 0;
- if (mousY < 0) mousY = 25;
- dragModal.mouseEndPoint = { 'left': mousX, 'top': mousY };
- var width = dragModal.moveTarget.width();
- var height = dragModal.moveTargetHeader.height();
- var clientWidth = document.body.clientWidth;
- var clientHeight = document.body.clientHeight;
- if (dragModal.mouseEndPoint.left < dragModal.mouseStartPoint.left - dragModal.basePoint.left) {
- dragModal.mouseEndPoint.left = 0;
- } else if (dragModal.mouseEndPoint.left >=
- clientWidth - width + dragModal.mouseStartPoint.left - dragModal.basePoint.left) {
- dragModal.mouseEndPoint.left = clientWidth - width - 38;
- } else {
- dragModal.mouseEndPoint.left =
- dragModal.mouseEndPoint.left -
- (dragModal.mouseStartPoint.left - dragModal.basePoint.left); //移动修正,更平滑
- }
- if (dragModal.mouseEndPoint.top - (dragModal.mouseStartPoint.top - dragModal.basePoint.top) <
- dragModal.topLeng) {
- dragModal.mouseEndPoint.top = dragModal.topLeng;
- } else if (dragModal.mouseEndPoint.top - dragModal.topLeng >
- clientHeight - height + dragModal.mouseStartPoint.top - dragModal.basePoint.top) {
- dragModal.mouseEndPoint.top = clientHeight - height - 38 + dragModal.topLeng;
- } else {
- dragModal.mouseEndPoint.top = dragModal.mouseEndPoint.top -
- (dragModal.mouseStartPoint.top - dragModal.basePoint.top);
- }
- dragModal.moveTarget.offset(dragModal.mouseEndPoint);
- });
- $(document).on('hidden.bs.modal',
- '.modal',
- function () {
- $('.modal-content').css({ 'top': 0, 'left': 0 });
- $('body').removeClass('drag-select');
- document.body.onselectstart = document.body.ondrag = null;
- });
- } else {
- $('.modal-header').css('cursor', 'default');
- }
- };
- var allowedMethods = [
- 'open',
- 'show',
- 'show2',
- 'hide'
- ];
- $.fn.iwbModal = function (option) {
- var value,
- args = Array.prototype.slice.call(arguments, 1);
- this.each(function () {
- var modal = new Modal(this, option);
- if (typeof option === 'string') {
- if ($.inArray(option, allowedMethods) < 0) {
- throw new Error("Unknown method: " + option);
- }
- value = modal[option].apply(modal, args);
- } else {
- modal.open();
- }
- });
- return typeof value === 'undefined' ? this : value;
- };
- })(jQuery, window, document);
- /*FileUpload*/
- (function ($, window, document, undefined) {
- 'use strict';
- var abp = window.abp || {};
- var File = function (ele, opt) {
- this.$ele = ele,
- this.defaults = {
- file: ele,
- maxSize: 2,
- isImage: true,
- targetInfo: undefined,
- targetName: "fileName",
- targetExt: "fileExt",
- callback: undefined,
- abp: window.abp
- },
- this.options = $.extend({}, this.defaults, opt || {});
- //var $that = this;
- //$that.show();
- };
- File.prototype.getFile = function () {
- var $that = this;
- var $file = typeof ($that.options.file) === 'string' ? $('#' + $that.options.file) : $($that.options.file);
- return $file;
- };
- File.prototype.show = function () {
- var $that = this;
- var $file = $that.getFile();
- $file.off('change.file.check').on('change.file.check', function () {
- $that.fileCheck($that);
- });
- $file.closest('.iwb-file ').removeClass("file-success").removeClass("file-error");
- //return $file[0].click();
- };
- File.prototype.fileCheck = function ($that) {
- var $file = $that.getFile();
- if ($that.checkSize()) {
- var fileName = $file.val().split("\\").pop();
- $file.closest('.iwb-file ').addClass("file-success").find("label").text(fileName);
- var file = document.getElementById($file.attr("id")).files[0];
- $that.readFile(file);
- if ($that.options.targetName && $that.options.targetName !== undefined) {
- var name = fileName.substring(0, fileName.lastIndexOf("."));
- if (!$that.options.targetName)
- return;
- var targetName = $that.options.targetName.split(',');
- for (var i = 0; i < targetName.length; i++) {
- $('#' + targetName[i]).val(name);
- }
- }
- if ($that.options.targetExt && $that.options.targetExt !== undefined) {
- var ext = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length);
- if (!$that.options.targetExt)
- return;
- var targetExt = $that.options.targetExt.split(',');
- for (var j = 0; j < targetExt.length; j++) {
- $('#' + targetExt[j]).val(ext);
- }
- }
- var callback = $that.options.callback;
- if (callback && typeof (callback) === "function") {
- callback(fileName, file);
- }
- } else {
- var target = $that.options.targetInfo ? $that.options.targetInfo : $file.attr('id').replace('_file', '');
- $('#' + target).closest('.iwb-file ').addClass("file-error").find("label").text(abp.localization.iwbZero('SelectFile'));
- }
- };
- File.prototype.checkSize = function () {
- var $that = this;
- var $file = $that.getFile();
- var maxsize = $that.options.maxSize * 1024 * 1024;
- //var errMsg = "上传的附件文件不能超过" + $that.options.maxSize + "M。";
- //var tipMsg = "您的浏览器暂不支持计算上传文件的大小,确保上传文件不要超过" + $that.options.maxSize + "M,建议使用IE、FireFox、Chrome浏览器。";
- var errMsg = abp.localization.iwbZero('FileUploadErrorMsg', $that.options.maxSize );
- var tipMsg = abp.localization.iwbZero('FileUploadTipMsg', $that.options.maxSize);
- var browserCfg = {};
- var ua = window.navigator.userAgent;
- if (ua.indexOf("MSIE") >= 1) {
- browserCfg.ie = true;
- } else if (ua.indexOf("Firefox") >= 1) {
- browserCfg.firefox = true;
- } else if (ua.indexOf("Chrome") >= 1) {
- browserCfg.chrome = true;
- }
- try {
- var objFile = document.getElementById($file.attr("id"));
- if (objFile.value === "") {
- //layer.alert("请先选择上传文件", { icon: 7, title: "提示信息" });
- return false;
- }
- var filesize;
- if (browserCfg.firefox || browserCfg.chrome) {
- filesize = objFile.files[0].size;
- } else if (browserCfg.ie) {
- var objImg = document.createElement("img");
- objImg.id = "tempImg";
- objImg.style.display = "none";
- document.body.appendChild(objImg);
- objImg.dynsrc = objFile.value;
- filesize = objImg.fileSize;
- } else {
- $that.cleanFile();
- abp.message.warn(tipMsg);
- return false;
- }
- if (filesize === -1) {
- $that.cleanFile();
- abp.message.warn(tipMsg);
- return false;
- } else if (filesize > maxsize) {
- $that.cleanFile();
- abp.message.warn(errMsg);
- return false;
- } else {
- return true;
- }
- } catch (e) {
- $that.cleanFile();
- abp.message.error(e);
- return false;
- }
- };
- File.prototype.readFile = function (file) {
- //判断是否是图片类型
- //console.log(file.type);
- if (!file) {
- return;
- }
- var $that = this;
- var $file = $that.getFile();
- if ($that.options.isImage && !/image\/\w+/.test(file.type)) {
- abp.message.warn(abp.localization.iwbZero('FileUploadOnlyImage'));
- return;
- }
- var reader = new FileReader();
- reader.readAsDataURL(file);
- reader.onload = function () {
- var fileinfo = this.result.substring(this.result.indexOf(',') + 1);
- console.log(fileinfo);
- var target = $that.options.targetInfo ? $that.options.targetInfo : $file.attr('id').replace('_file', '');
- $('#' + target).val(fileinfo);
- };
- };
- File.prototype.cleanFile = function () {
- var $that = this;
- var $file = $that.getFile();
- $file.closest('.custom-file ').removeClass("file-success").removeClass("file-error").find("label").text(abp.localization.iwbZero('SelectFile'));
- $file.after($file.clone().val(""));
- $file.remove();
- };
- var allowedMethods = [
- 'show',
- 'readFile',
- 'cleanFile',
- 'fileCheck',
- 'checkSize'
- ];
- $.fn.iwbFileUpload = function (option) {
- var value,
- args = Array.prototype.slice.call(arguments, 1);
- this.each(function () {
- var $this = $(this);
- var data = $this.data('iwb.FileUpload');
- if (!data) {
- data = new File(this, option);
- $this.data('iwb.FileUpload', data);
- }
- if (typeof option === 'string') {
- if ($.inArray(option, allowedMethods) < 0) {
- throw new Error("Unknown method: " + option);
- }
- value = data[option].apply(data, args);
- } else {
- data.show();
- }
- });
- return typeof value === 'undefined' ? this : value;
- };
- })(jQuery, window, document);
- /*FileOpenShow*/
- (function ($, window, document, undefined) {
- 'use strict';
- var File = function (ele, opt) {
- this.$ele = ele,
- this.defaults = {
- url: undefined,
- type: 'img'
- },
- this.options = $.extend({}, this.defaults, opt);
- if ($(this.$ele).data('type')) {
- this.options.type = $(this.$ele).data('type');
- }
- if (!this.options.url) {
- this.options.url = $(this.$ele).data('url');
- }
- if (this.options.url && this.options.url.indexOf("/") !== 0) {
- this.options.url = "/" + this.options.url;
- }
- };
- //var abp = window.abp || {};
- File.prototype.show = function () {
- var $that = this;
- switch ($that.options.type) {
- case 'img':
- case 'image':
- this.showImage();
- break;
- case 'office':
- this.showOffice();
- break;
- default:
- this.showFile();
- return;
- }
- };
- File.prototype.showImage = function () {
- var $that = this;
- $.metPageCss('/Content/Libs/viewer/viewer.min.css', "dy-css-viewer");
- $.metPageJs('/Content/Libs/viewer/viewer.min.js', "dy-js-viewer");
- if ($("#Img-Modal").length > 0) {
- $("#Img-Modal").remove();
- }
- $("body").append(' <ul id="Img-Modal" style="display:none"><li><img src="' +
- $that.options.url +
- '" data-original="' +
- $that.options.url +
- '" alt="Picture" /></li></ul>');
- var $image = $('#Img-Modal');
- var options = {
- // inline: true,
- url: 'data-original',
- button: true,
- navbar: false,
- title: false,
- toolbar: false,
- ready: function (e) {
- console.log(e.type);
- }
- };
- $image.on({
- show: function (e) {
- console.log(e.type);
- },
- hidden: function(e) {
- $image.viewer('destroy');
- $image.remove();
- }
- }).viewer(options);
- $image.viewer("show");
- $image.css("display", "none");
- };
- File.prototype.showOffice = function () {
- var $that = this;
- var url = 'http://ow365.cn/?i=17314&furl=http://' + window.location.host + $that.options.url;
- $that.showFile(url);
- };
- File.prototype.showFile = function (url) {
- var $that = this;
- url = url || $that.options.url;
- if ($('#File-Modal').length <= 0) {
- $('body').append(
- '<section><div class="modal fade" id="File-Modal" role="dialog" tabindex="-1" aria-hidden="true"><div class="modal-dialog modal-dialog-centered" role="document" style="min-width: calc(100% - 600px);"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true"><span aria-hidden="true">×</span></button><h4 class="modal-title">文件预览</h4></div><div class="modal-body" style=" overflow: hide"></div><div class="modal-footer" style="text-align: center;"><button type="button" class="btn btn-success waves-effect" data-dismiss="modal" style="min-width: 100px;background: #F0985D;border: 1px solid #DDDDDD;">关闭窗口</button><button id="download" type="button" class="btn btn-success waves-effect" style="min-width: 100px;background-color: #678ceb;border: 1px solid #678ceb;border: 1px solid #DDDDDD;">下载文件</button></div></div></div></div></section>');
- }
- $('#File-Modal').find('.modal-body')
- .html('<iframe src="' + url + '" width="100%"; style="min-height: calc(100vh - 200px);" frameborder="0"></iframe>');
- $(document).off('click.download', '#File-Modal #download').on('click.download', '#File-Modal #download',
- function () { $that.download(url)});
- $('#File-Modal').iwbModal('show2');
- };
- File.prototype.download = function (url) {
- var $that = this;
- url = url || $that.options.url;
- if ($('#tempLink-fd').length>0) {
- $('#tempLink-fd').remove();
- }
- $('body').append('<a id="tempLink-fd" href="' + url + '" style="display:none"></a>');
- $('#tempLink-fd')[0].click();
- $('#tempLink-fd').remove();
- };
- var allowedMethods = [
- 'show',
- 'download'
- ];
- $.fn.iwbFileShow = function (option) {
- var value,
- args = Array.prototype.slice.call(arguments, 1);
- this.each(function () {
- var $this = $(this);
- var data = $this.data('iwb.FileShow');
- if (!data || typeof option !== 'string') {
- data = new File(this, option);
- $this.data('iwb.FileShow', data);
- }
- if (typeof option === 'string') {
- if ($.inArray(option, allowedMethods) < 0) {
- throw new Error("Unknown method: " + option);
- }
- value = data[option].apply(data, args);
- } else {
- data.show();
- }
- });
- return typeof value === 'undefined' ? this : value;
- };
- })(jQuery, window, document);
- /*TreeView*/
- (function ($, window, document, undefined) {
- 'use strict';
- var TreeView = function (ele, opt) {
- var that = this;
- var tempId = '';
- var onNodeSelected = function (e, data, that) {
- var o = that.options;
- if (!data || !data[o.selectFiledName]) {
- return;
- }
- var $input = (typeof (o.selectFiledInput) === 'string' ? $('#' + o.selectFiledInput) : $(o.selectFiledInput));
- tempId = data[o.selectFiledName];
- $input.val(tempId);
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- $table.iwbTable('refresh', true);
- };
- var onNodeUnselected = function (e, data, that) {
- var o = that.options;
- var $input = (typeof (o.selectFiledInput) === 'string' ? $('#' + o.selectFiledInput) : $(o.selectFiledInput));
- $input.val('');
- var $table = (typeof (o.table) === 'string' ? $('#' + o.table) : $(o.table));
- $table.iwbTable('refresh', true);
- };
- this.$ele = ele,
- this.defaults = {
- url: undefined,
- data: undefined,
- levels: 2,
- emptyIcon: "iconfont icon-delete",
- collapseIcon: 'iconfont icon-delete ',
- expandIcon: 'iconfont icon-add',
- selectedBackColor: '#563d7c',
- onNodeSelected: function (e, d) {
- onNodeSelected(e, d, that);
- },
- onNodeUnselected: function (e, d) {
- onNodeUnselected(e, d, that);
- },
- table: 'table',
- selectFiledName: 'id',
- selectFiledInput: 'keyWords'
- },
- this.options = $.extend({}, this.defaults, opt);
- };
- //var abp = window.abp || {};
- TreeView.prototype.init = function () {
- var that = this, o = that.options;
- $.metPageCss('/Content/Libs/bootstrap-treeview/bootstrap-treeview.min.css', "dy-css-treeview");
- $.metPageJs('/Content/Libs/bootstrap-treeview/bootstrap-treeview.min.js', "dy-js-treeview");
- if (o.data) {
- that.loadTree();
- } else if (o.url) {
- that.postData();
- }
- };
- TreeView.prototype.loadTree = function (data) {
- var that = this, o = that.options;
- var option = $.extend({}, o);
- if (data) {
- option.data = data;
- }
- $(that.$ele).treeview(option);
- };
- TreeView.prototype.postData = function (url) {
- var that = this, o = that.options;
- url = url || o.url;
- $.iwbAjax({
- url: window.appUrl + url,
- isAlert: false,
- isValidate: false,
- isRefresh: false,
- success: function (res) {
- if (res) {
- that.loadTree(res);
- }
- }
- });
- };
- var allowedMethods = [
- 'init'
- ];
- $.fn.iwbTreeView = function (option) {
- var value,
- args = Array.prototype.slice.call(arguments, 1);
- this.each(function () {
- var $this = $(this);
- var data = $this.data('iwb.TreeView');
- if (!data) {
- data = new TreeView(this, option);
- $this.data('iwb.TreeView', data);
- data.init();
- }
- if (typeof option === 'string') {
- if ($.inArray(option, allowedMethods) < 0) {
- throw new Error("Unknown method: " + option);
- }
- value = data[option].apply(data, args);
- }
- });
- return typeof value === 'undefined' ? this : value;
- };
- })(jQuery, window, document);
- /*DateTime*/
- (function ($, window, document, undefined) {
- 'use strict';
- var DateTime = function (ele, opt) {
- this.$ele = ele,
- this.defaults = {
- language: 'zh-CN',
- format: "yyyy-mm-dd", //yyyy-mm-ddThh:ii:ssZ
- autoclose: true, //当选择一个日期之后是否立即关闭此日期时间选择器。
- startView: 2, //日期时间选择器打开之后首先显示的视图。 可接受的值:0 or 'hour' \ 1 or 'day' \2 or 'month' (the default )\3 or 'year' \4 or 'decade' for the 10-year overview.
- minView: 2, //日期时间选择器所能够提供的最精确的时间选择视图。
- maxView: 4, //日期时间选择器最高能展示的选择范围视图。
- todayBtn: true,
- weekStart: 0, //一周从哪一天开始。0(星期日)到6(星期六)
- startDate: '2015-01-01', //开始时间
- endDate: null, //结束时间,
- forceParse: true, //强制解析
- minuteStep: 10, //分钟视图中分钟间隔
- twoDateId: undefined,//双日期外部Id(默认找里面的 .startTime和.endTime)
- startId: undefined,//开始日期Id,不填就是本身
- endId: undefined,//结束日期Id
- isAutoSetDate: true,//双日期自动填写另一个日期
- startEndInterval: 30,//双日期自动填写间隔(天)
- defaultDate: undefined//默认日期时间
- },
- this.options = $.extend({}, this.defaults, opt);
- };
- //var abp = window.abp || {};
- DateTime.prototype.init = function () {
- var that = this;//, o = that.options;
- $.metPageCss('/Content/Libs/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css', "dy-css-dateTime");
- //$.metPageCss('/Content/Plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker-wr.css', "dy-css-dateTime-self");
- $.metPageJs('/Content/Libs/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js', "dy-js-dateTime");
- $.metPageJs('/Content/Libs/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js', "dy-js-dateTime-zhCN");
- };
- DateTime.prototype.date = function () {
- var that = this, o = that.options;
- o.format = "yyyy-mm-dd";
- o.startView = 2;
- o.minView = 2;
- that.load();
- };
- DateTime.prototype.dateTime = function () {
- var that = this, o = that.options;
- o.format = "yyyy-mm-dd hh:ii";
- o.startView = 2;
- o.minView = 1;
- that.load();
- };
- DateTime.prototype.dateSecond = function () {
- var that = this, o = that.options;
- o.format = "yyyy-mm-dd hh:ii:ss";
- o.startView = 2;
- o.minView = 0;
- that.load();
- };
- DateTime.prototype.twoDate = function () {
- var that = this, o = that.options;
- var $start, $end;
- if (o.twoDateId) {
- $start = $('#' + o.twoDateId).find('.startTime');
- $end = $('#' + o.twoDateId).find('.endTime');
- } else {
- $start = $('#' + o.startId);
- $end = $('#' + o.endId);
- }
- $start = $start.length > 0 ? $start : $(that.$ele);
- if ($end.length <= 0) {
- $end = $start.parent().find('.endTime');
- if ($end.length <= 0) {
- throw new Error("Unknown EndDate Selector");
- }
- }
- $start.datetimepicker('remove');
- $start.datetimepicker(o).on('show',
- function (event) {
- event.preventDefault();
- event.stopPropagation();
- }).on('hide',
- function (event) {
- event.preventDefault();
- event.stopPropagation();
- }).on("changeDate",
- function (e) {
- //console.log(e);
- //console.log(e.date.valueOf());
- $end.datetimepicker('setStartDate', e.date);
- if (o.isAutoSetDate && o.startEndInterval && o.startEndInterval > 0) {
- $end.datetimepicker('setDate',
- new Date(e.date.valueOf() + 1000 * 60 * 60 * 24 * o.startEndInterval));
- }
- });
- $end.datetimepicker('remove');
- $end.datetimepicker(o).on('show',
- function (event) {
- event.preventDefault();
- event.stopPropagation();
- }).on('hide',
- function (event) {
- event.preventDefault();
- event.stopPropagation();
- }).on("changeDate",
- function (e) {
- //console.log(e);
- //console.log(e.date.valueOf());
- $start.datetimepicker('setEndDate', e.date);
- if (o.isAutoSetDate && o.startEndInterval && o.startEndInterval > 0) {
- $start.datetimepicker('setDate', new Date(e.date.valueOf() - 1000 * 60 * 60 * 24 * o.startEndInterval));
- }
- });
- if (o.isAutoSetDate) {
- var eDate = o.defaultDate ? o.defaultDate : new Date();
- $end.datetimepicker("setDate", eDate);
- $start.datetimepicker("setDate",
- new Date(eDate.valueOf() - 1000 * 60 * 60 * 24 * (o.startEndInterval ? o.startEndInterval : 30)));
- }
- };
- DateTime.prototype.load = function () {
- var that = this, o = that.options;
- $(that.$ele).datetimepicker('remove');
- $(that.$ele).datetimepicker(o).on('show', function (event) {
- event.preventDefault();
- event.stopPropagation();
- }).on('hide', function (event) {
- event.preventDefault();
- event.stopPropagation();
- });
- };
- //var allowedMethods = [
- // 'date',
- // 'dateTime',
- // 'dateSecond',
- // 'twoDate'
- //];
- //$.fn.iwbDate2 = function (option) {
- // var value,
- // args = Array.prototype.slice.call(arguments, 1);
- // this.each(function () {
- // var $this = $(this);
- // var data = $this.data('iwb.dateTime');
- // if (!data) {
- // data = new DateTime(this, option ? option : {});
- // $this.data('iwb.dateTime', data);
- // data.init();
- // }
- // if (typeof option === 'string') {
- // if ($.inArray(option, allowedMethods) < 0) {
- // throw new Error("Unknown method: " + option);
- // }
- // value = data[option].apply(data, args);
- // } else if (option && option.method && typeof option.method === 'string') {
- // if ($.inArray(option.method, allowedMethods) < 0) {
- // throw new Error("Unknown method: " + option.method);
- // }
- // value = data[option.method].apply(data, args);
- // }
- // else {
- // if (!option && $this.hasClass('iwb-date')) {
- // data.date();
- // } else if (!option && ($this.hasClass('iwb-date-time') || $this.hasClass('iwb-dateTime'))) {
- // data.dateTime();
- // } else if (!option && ($this.hasClass('iwb-date-second') || $this.hasClass('iwb-dateSecond'))) {
- // data.dateSecond();
- // } else if (!option && ($this.hasClass('startTime') || $this.hasClass('iwb-date-two') || $this.hasClass('iwb-twoDate'))) {
- // data.twoDate();
- // } else {
- // data.load();
- // }
- // }
- // });
- // return typeof value === 'undefined' ? this : value;
- //};
- //$.fn.iwbTwoDate2 = function (option) {
- // this.each(function () {
- // var $this = $(this);
- // var data = $this.data('iwb.dateTime');
- // if (!data) {
- // data = new DateTime(this, option);
- // $this.data('iwb.dateTime', data);
- // data.init();
- // data.twoDate();
- // }
- // });
- // return this;
- //};
- //$('.iwb-date-time').iwbDate();
- //$('.iwb-date').iwbDate();
- })(jQuery, window, document);
- /*DateTime*/
- (function ($, window, document, undefined) {
- 'use strict';
- var DateTime = function(ele, opt) {
- this.$ele = ele,
- this.defaults = {
- language: 'zh-CN',
- singleDatePicker: true,
- dayStep:false,
- opens: "center",
- drops: "down",
- format: "YYYY-MM-DD", //YYYY-MM-DD HH:MM:SS
- showEvent:undefined,
- showCalendarEvent:undefined,
- hideEvent:undefined,
- hideCalendarEvent:undefined,
- applyEvent:undefined,
- cancelEvent:undefined,
- minDate: '2015-01-01',
- maxDate: false,
- showWeekNumbers: false,
- showISOWeekNumbers: false,
- timePicker: false,
- timePicker24Hour: true,
- timePickerIncrement: 5,
- timePickerSeconds: false,
- linkedCalendars: true,
- showCustomRangeLabel: false,
- alwaysShowCalendars: true,
- autoApply: true,
- autoUpdateInput: true,
- buttonClasses: "btn btn-sm",
- applyButtonClasses: "btn-success",
- cancelClass: "btn-default",
- startDate: undefined, //开始时间
- endDate: undefined, //结束时间,
- maxSpan: undefined,
- locale: undefined,
- ranges: undefined,
- hasRange: false
- },
- this.options = $.extend({}, this.defaults, opt);
- };
- var dateOpt = {};
- var timeSelect2 = function() {
- $('.daterangepicker .calendar-time > select').select2();
- }
- //var abp = window.abp || {};
- DateTime.prototype.init = function () {
- var that = this; var o = that.options;
- $.metPageCss('/Content/Plugins/bootstrap-daterangepicker/daterangepicker.css', "dy-css-daterangepicker");
- $.metPageJs('/Content/Plugins/bootstrap-daterangepicker/moment-with-locales.min.js', "dy-js-daterangepicker.moment");
- $.metPageJs('/Content/Plugins/bootstrap-daterangepicker/daterangepicker.js', "dy-js-daterangepicker");
- var lang = o.language.toLowerCase();
- if (lang === 'zh-hans') {
- lang = 'zh-cn';
- }
- moment.locale(lang);
- var localeName = {
- applyLabel: 'Apply',
- cancelLabel: 'Cancel',
- fromLabel: "",
- toLabel: "",
- customRangeLabel: 'Custom Range',
- daysOfWeek: moment.weekdaysMin(),
- monthNames: moment.monthsShort()
- },
- ranges = {
- 'Today': [moment(), moment()],
- 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
- 'Last 7 Days': [moment().subtract(6, 'days'), moment()],
- 'Last 30 Days': [moment().subtract(29, 'days'), moment()],
- 'This Month': [moment().startOf('month'), moment().endOf('month')],
- 'Last Month': [
- moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')
- ]
- };
- //if (o.language.toLowerCase() === 'zh-cn' || o.language.toLowerCase() === 'zh-hans') {
- // localeName = {
- // applyLabel: "确定",
- // cancelLabel: "清空",
- // fromLabel: "起始时间",
- // toLabel: "结束时间'",
- // customRangeLabel: "自定义",
- // weekLabel: "W",
- // daysOfWeek: ["日", "一", "二", "三", "四", "五", "六"],
- // monthNames: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
- // };
- // ranges = {
- // '今日': [moment(), moment()],
- // '昨日': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
- // '最近 7 日': [moment().subtract(6, 'days'), moment()],
- // '最近 30 最近': [moment().subtract(29, 'days'), moment()],
- // '上个月': [moment().startOf('month'), moment().endOf('month')],
- // '本月': [
- // moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')
- // ]
- // };
- //}
- dateOpt = {
- format: o.format, //YYYY-MM-DD HH:MM:SS
- opens: o.opens,
- startDate:o.startDate?o.startDate:false,
- endDate:o.endDate?o.endDate:false,
- singleDatePicker: o.singleDatePicker,
- drops: o.drops,
- minDate: o.minDate,
- maxDate: o.maxDate,
- showCustomRangeLabel: o.showCustomRangeLabel ? o.hasRange : o.showCustomRangeLabel,
- linkedCalendars: o.linkedCalendars,
- showWeekNumbers: o.showWeekNumbers,
- showISOWeekNumbers: o.showISOWeekNumbers,
- timePicker: o.timePicker,
- timePicker24Hour: o.timePicker24Hour,
- timePickerIncrement: o.timePickerIncrement,
- timePickerSeconds: o.timePickerSeconds,
- buttonClasses: o.buttonClasses,
- applyButtonClasses: o.applyButtonClasses,
- cancelClass: o.cancelClass,
- autoApply: o.autoApply,
- autoUpdateInput: o.autoUpdateInput,
- alwaysShowCalendars: o.alwaysShowCalendars,
- maxSpan: o.maxSpan ? o.maxSpan : o.dayStep ? {
- days: o.dayStep
- } : false,
- locale: o.locale ? o.locale: {
- direction: 'ltr',
- format: o.format,
- separator: " - ", //
- applyLabel: localeName.applyLabel,
- cancelLabel: localeName.cancelLabel,
- fromLabel: localeName.fromLabel,
- toLabel: localeName.toLabel,
- customRangeLabel: localeName.customRangeLabel,
- weekLabel: localeName.weekLabel,
- daysOfWeek: localeName.daysOfWeek,
- monthNames: localeName.monthNames,
- firstDay: 1
- },
- ranges: !o.hasRange ? false : o.ranges ? o.ranges : ranges
- };
-
- };
- DateTime.prototype.date = function () {
- var that = this, o = that.options;
- var opt = {locale: {}};
- opt.locale.format = "YYYY-MM-DD";
- that.load(opt);
- };
- DateTime.prototype.dateTime = function () {
- var that = this//, o = that.options;
- var opt = {locale: {}};
- opt.locale.format = "YYYY-MM-DD HH:mm";
- opt.timePicker = true;
- that.load(opt);
- };
- DateTime.prototype.dateSecond = function () {
- var that = this//, o = that.options;
- var opt = {locale: {}};
- opt.locale.format = "YYYY-MM-DD HH:mm:SS";
- opt.timePicker = true;
- opt.timePickerSeconds = true;
- that.load(opt);
- };
- DateTime.prototype.dataRange = function () {
- var that = this, o = that.options;
- var opt = {locale: {}};
- opt.singleDatePicker = false;
- that.load(opt);
- };
- DateTime.prototype.dataRangeTime = function () {
- var that = this, o = that.options;
- var opt = {locale: {}};
- opt.locale.format = "YYYY-MM-DD HH:mm";
- opt.timePicker = true;
- opt.singleDatePicker = false;
- that.load(opt);
- };
- DateTime.prototype.dataRangeSecond = function () {
- var that = this, o = that.options;
- var opt = {locale: {}};
- opt.locale.format = "YYYY-MM-DD HH:mm:SS";
- opt.singleDatePicker = false;
- opt.timePicker = true;
- opt.timePickerSeconds = true;
- that.load(opt);
- };
- DateTime.prototype.load = function (opt) {
- var that = this, o = that.options;
- var option = $.extend({}, dateOpt, opt || {});
- $(that.$ele).daterangepicker(option, function (start, end, label) {
- console.log('Data-Change: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' ( Range: ' + label + ')');
- });
- var cancelEvent = o.cancelEvent && o.cancelEvent.isFunction() ? o.cancelEvent : function () { $(that.$ele).val('')}
- $(that.$ele).on('cancel.daterangepicker', cancelEvent);
- if (o.applyEvent && o.applyEvent.isFunction()) {
- $(that.$ele).on('apply.daterangepicker', o.applyEvent);
- }
-
- $(that.$ele).on('show.daterangepicker', function () {
- //timeSelect2();
- if (o.showEvent && o.showEvent.isFunction()) {
- o.showEvent();
- }
- });
- if (o.hideEvent && o.hideEvent.isFunction()) {
- $(that.$ele).on('hide.daterangepicker', o.hideEvent);
- }
- if (o.showCalendarEvent && o.showCalendarEvent.isFunction()) {
- $(that.$ele).on('showCalendar.daterangepicker', o.showCalendarEvent);
- }
- if (o.hideCalendarEvent && o.hideCalendarEvent.isFunction()) {
- $(that.$ele).on('hideCalendar.daterangepicker', o.hideCalendarEvent);
- }
- $(that.$ele).val('');
- };
- DateTime.prototype.setStartDate = function (data) {
- var that = this, o = that.options;
- $(that.$ele).data('daterangepicker').setStartDate(data);
- };
- DateTime.prototype.setEndDate = function (data) {
- var that = this, o = that.options;
- $(that.$ele).data('daterangepicker').setEndDate(data);
- };
- var allowedMethods = [
- 'date',
- 'dateTime',
- 'dateSecond',
- 'dataRange',
- 'dataRangeTime',
- 'dataRangeSecond',
- 'setStartDate',
- 'setEndDate'
- ];
- $.fn.iwbDate = function (option) {
- var value,
- args = Array.prototype.slice.call(arguments, 1);
- this.each(function () {
- var $this = $(this);
- var data = $this.data('iwb.date');
- if (!data) {
- data = new DateTime(this, option ? option : {});
- $this.data('iwb.date', data);
- data.init();
- }
- if (typeof option === 'string') {
- if ($.inArray(option, allowedMethods) < 0) {
- throw new Error("Unknown method: " + option);
- }
- value = data[option].apply(data, args);
- } else if (option && option.method && typeof option.method === 'string') {
- if ($.inArray(option.method, allowedMethods) < 0) {
- throw new Error("Unknown method: " + option.method);
- }
- value = data[option.method].apply(data, args);
- }
- else {
- if (!option && $this.hasClass('iwb-date')) {
- data.date();
- } else if ((!option || !option.method) && ($this.hasClass('iwb-date-time') || $this.hasClass('iwb-dateTime'))) {
- data.dateTime();
- } else if ((!option || !option.method) && ($this.hasClass('iwb-date-second') || $this.hasClass('iwb-dateSecond'))) {
- data.dateSecond();
- } else if ((!option || !option.method) && ($this.hasClass('iwb-date-range') || $this.hasClass('iwb-range-date'))) {
- data.dataRange();
- } else if ((!option || !option.method)&& ($this.hasClass('iwb-date-range-time') || $this.hasClass('iwb-range-dateTime'))) {
- data.dataRangeTime();
- } else if ((!option || !option.method) && ($this.hasClass('iwb-date-range-second') || $this.hasClass('iwb-range-dateSecond'))) {
- data.dataRangeSecond();
- } else {
- data.load();
- }
- }
- });
- return typeof value === 'undefined' ? this : value;
- };
- $.fn.iwbDateRange = function (option) {
- var value,
- args = Array.prototype.slice.call(arguments, 1);
- this.each(function () {
- var $this = $(this);
- var data = $this.data('iwb.rangeDate');
- if (!data) {
- data = new DateTime(this, option);
- $this.data('iwb.rangeDate', data);
- data.init();
- data.dataRange();
- }
- if (typeof option === 'string') {
- if ($.inArray(option, allowedMethods) < 0) {
- throw new Error("Unknown method: " + option);
- }
- value = data[option].apply(data, args);
- }
- });
- return typeof value === 'undefined' ? this : value;
- };
- $('.iwb-date-time').iwbDate();
- $('.iwb-date').iwbDate();
- })(jQuery, window, document);
- /*Kindeditor*/
- (function ($, window, document, undefined) {
- 'use strict';
- window.editor = {};
- var Kindeditor = function (ele, opt) {
- this.$ele = ele,
- this.defaults = {
- isModal: true,
- tools: 'simpleTools',
- resizeMode: 1,
- width: '100%',
- height: '300px',
- bodyClass: 'article-content',
- urlType: '',
- uploadJson: '/system/KindEditorUploadFile',
- filterMode: false,
- allowFileManager: false,
- langType: 'zh-CN',
- cssData: 'html,body {background: none}.article-content, .article-content table td, .article-content table th {line-height: 1.3846153846; font-size: 13px;}.article-content .table-auto {width: auto!important; max-width: 100%;}',
- placeholder: '请输入...',
- placeholderStyle: { fontSize: '13px', color: '#888' },
- pasteImage: { postUrl: '/system/KindEditorUploadFile', placeholder: "\u53ef\u4ee5\u5728\u7f16\u8f91\u5668\u76f4\u63a5\u8d34\u56fe\u3002" },
- syncAfterBlur: true,
- afterChange: function () { this.sync(); },
- afterBlur: function () { this.sync(); },
- spellcheck: false
- },
- this.options = $.extend({}, this.defaults, opt);
- };
- var bugTools =
- ['formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline', '|',
- 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', 'insertunorderedlist', '|',
- 'emoticons', 'image', 'code', 'link', '|', 'removeformat', 'undo', 'redo', 'fullscreen', 'source', 'about'];
- var simpleTools =
- ['formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline', '|',
- 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', 'insertunorderedlist', '|',
- 'emoticons', 'image', 'code', 'link', 'table', '|', 'removeformat', 'undo', 'redo', 'fullscreen', 'source', 'about'];
- var fullTools =
- ['formatblock', 'fontname', 'fontsize', 'lineheight', '|', 'forecolor', 'hilitecolor', '|', 'bold', 'italic', 'underline', 'strikethrough', '|',
- 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', '|',
- 'insertorderedlist', 'insertunorderedlist', '|',
- 'emoticons', 'image', 'insertfile', 'hr', '|', 'link', 'unlink', '/',
- 'undo', 'redo', '|', 'selectall', 'cut', 'copy', 'paste', '|', 'plainpaste', 'wordpaste', '|', 'removeformat', 'clearhtml', 'quickformat', '|',
- 'indent', 'outdent', 'subscript', 'superscript', '|',
- 'table', 'code', '|', 'pagebreak', 'anchor', '|',
- 'fullscreen', 'source', 'preview', 'about'];
- var editorToolsMap = { fullTools: fullTools, simpleTools: simpleTools, bugTools: bugTools };
- //var abp = window.abp || {};
- Kindeditor.prototype.init = function (options) {
- var that = this, o = that.options;
- options = options || {};
- $.metPageCss('/Content/Libs/kindeditor/themes/default/default.css', "dy-css-kindeditor");
- $.metPageJs('/Content/Libs/kindeditor/kindeditor-all-min.js', "dy-js-kindeditor");
- $.metPageJs('/Content/Libs/kindeditor/lang/zh-CN.js', "dy-js-kindeditor-zh-CN");
- that.setKindeditor(options);
- };
- Kindeditor.prototype.setKindeditor = function (options) {
- var that = this, o = that.options;
- var $editor = $(that.$ele);
- var editorId = $editor.attr('id');
- options = options || {};
- options = $.extend({}, o, $editor.data(), options);
- if (editorId === undefined) {
- editorId = 'kindeditor-' + Math.floor(Math.random() * 10000000);
- $editor.attr('id', editorId);
- }
- var editorTool = editorToolsMap[o.tools] || simpleTools;
- /* Remove fullscreen in modal. */
- if (o.isModal) {
- var newEditorTool = new Array();
- var i;
- for (i in editorTool) {
- if (editorTool.hasOwnProperty(i)) {
- if (editorTool[i] !== 'fullscreen') newEditorTool.push(editorTool[i]);
- }
- }
- editorTool = newEditorTool;
- }
- $.extend(options,
- {
- items: editorTool,
- placeholder: $editor.attr('placeholder') || options.placeholder || ''
- });
- try {
- $editor.length && window.KindEditor && window.KindEditor.remove(editorId);
- var editor = window.KindEditor.create('#' + editorId, options);
- window.editor['#'] = window.editor[editorId] = editor;
- return editor;
- } catch (e) {
- console.log('kindEditor', e);
- return false;
- }
- };
- Kindeditor.prototype.remove = function () {
- var that = this, o = that.options;
- var $editor = $(that.$ele);
- var editorId = $editor.attr('id');
- if (editorId && window.KindEditor) {
- window.KindEditor.remove(editorId);
- $editor.data('iwb.kindEditor', undefined);
- }
- };
- var allowedMethods = [
- 'init',
- 'remove',
- 'setKindeditor'
- ];
- $.fn.iwbKindeditor = function (option) {
- var value,
- args = Array.prototype.slice.call(arguments, 1);
- this.each(function () {
- var $this = $(this);
- var data = $this.data('iwb.kindEditor');
- if (!data) {
- data = new Kindeditor(this, option);
- $this.data('iwb.kindEditor', data);
- data.init();
- }
- if (typeof option === 'string') {
- if ($.inArray(option, allowedMethods) < 0) {
- throw new Error("Unknown method: " + option);
- }
- value = data[option].apply(data, args);
- }
- });
- return typeof value === 'undefined' ? this : value;
- };
- })(jQuery, window, document);
|