|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495 |
- /*
- * 版 本 Learun-ADMS V7.0.0 数字化智慧校园(http://www.learun.cn)
- * Copyright (c) 2013-2017 北京泉江科技有限公司
- * 创建人:数字化智慧校园-前端开发组
- * 日 期:2018.7.12
- * 描 述:数字化智慧校园移动端框架(ADMS) 数字化智慧校园移动框架方法扩展
- */
- (function ($, learun) {
- "use strict";
-
- // http 方法(加了登录信息)
- learun.httpget = function (url, data, callback) {
- var param = {};
- var logininfo = learun.storage.get('logininfo');
- if (!logininfo) {
- callback(null);
- return false;
- }
-
- param.token = logininfo.token;
- param.loginMark = learun.deviceId();
- var type = learun.type(data);
- if (type === 'object' || type === 'array') {
- param.data = JSON.stringify(data);
- }
- else if (type === 'string') {
- param.data = data;
- }
-
- learun.http.get(url, param, function (res) {
- if (res === null) {
- learun.layer.toast('无法连接服务器,请检测网络!');
- callback(null);
- }
- else if (res.code === 410) {
- callback(null);
- if (!learun.isOutLogin) {
- learun.isOutLogin = true;
- learun.layer.toast('登录过期,请重新登录!');
- learun.storage.set('logininfo', null);
- learun.nav.go({ path: 'login', isBack: false, isHead: false });
- }
- } else {
- if (res.code === 200) {
- callback(res.data);
- } else {
- callback(null);
- learun.layer.toast(res.info);
- }
- }
- });
- };
-
- learun.httpgetnosy = function (url, data, callback) {
- var param = {};
- var logininfo = learun.storage.get('logininfo');
- if (!logininfo) {
- callback(null);
- return false;
- }
-
- param.token = logininfo.token;
- param.loginMark = learun.deviceId();
- var type = learun.type(data);
- if (type === 'object' || type === 'array') {
- param.data = JSON.stringify(data);
- }
- else if (type === 'string') {
- param.data = data;
- }
-
- learun.http.getNoAsyno(url, param, function (res) {
- if (res === null) {
- learun.layer.toast('无法连接服务器,请检测网络!');
- callback(null);
- }
- else if (res.code === 410) {
- callback(null);
- if (!learun.isOutLogin) {
- learun.isOutLogin = true;
- learun.layer.toast('登录过期,请重新登录!');
- learun.storage.set('logininfo', null);
- learun.nav.go({ path: 'login', isBack: false, isHead: false });
- }
- } else {
- if (res.code === 200) {
- callback(res.data);
- } else {
- callback(null);
- learun.layer.toast(res.info);
- }
- }
- });
- };
- learun.httppost = function (url, data, callback) {
- var param = {};
- var logininfo = learun.storage.get('logininfo');
- if (!logininfo) {
- callback(null);
- return false;
- }
- param.token = logininfo.token;
- param.loginMark = learun.deviceId();
- var type = learun.type(data);
- if (type === 'object' || type === 'array') {
- param.data = JSON.stringify(data);
- }
- else if (type === 'string') {
- param.data = data;
- }
-
- learun.http.post(url, param, function (res) {
- if (res === null) {
- learun.layer.toast('无法连接服务器,请检测网络!');
- callback(null);
- }
- else if (res.code === 410) {
- callback(null);
- if (!learun.isOutLogin) {
- learun.isOutLogin = true;
- learun.layer.toast('登录过期,请重新登录!');
- learun.storage.set('logininfo', null);
- learun.nav.go({ path: 'login', isBack: false, isHead: false });
- }
-
- } else {
- if (res.code === 200) {
- callback(res.data, res.info);
- } else {
- callback(null);
- learun.layer.toast(res.info);
- }
- }
- });
- };
- learun.httppostnoLogin = function (url, data, callback) {
- var param = {};
-
-
- var type = learun.type(data);
- if (type === 'object' || type === 'array') {
- param.data = JSON.stringify(data);
- }
- else if (type === 'string') {
- param.data = data;
- }
-
- learun.http.post(url, param, function (res) {
- if (res === null) {
- learun.layer.toast('无法连接服务器,请检测网络!');
- callback(null);
- }
- else if (res.code === 410) {
- callback(null);
- if (!learun.isOutLogin) {
- learun.isOutLogin = true;
- learun.layer.toast('登录过期,请重新登录!');
- learun.storage.set('logininfo', null);
- learun.nav.go({ path: 'login', isBack: false, isHead: false });
- }
-
- } else {
- if (res.code === 200) {
- callback(res.data, res.info);
- } else {
- callback(null);
- learun.layer.toast(res.info);
- }
- }
- });
- };
- // 获取后台信息(基础信息)
- var loadSate = {
- no: -1, // 还未加载
- yes: 1, // 已经加载成功
- ing: 0, // 正在加载中
- fail: 2 // 加载失败
- };
- var clientAsyncData = {};
- learun.clientdata = {
- init: function () {
- clientAsyncData.company.init();
- },
- get: function (name, op) {//
- return clientAsyncData[name].get(op);
- },
- getAll: function (name, op) {//
- return clientAsyncData[name].getAll(op);
- },
- clear: function (name) {
- clientAsyncData[name].states = loadSate.no;
- }
- };
-
- // 公司信息
- clientAsyncData.company = {
- states: loadSate.no,
- init: function () {
- if (clientAsyncData.company.states === loadSate.no) {
- clientAsyncData.company.states = loadSate.ing;
- var data = learun.storage.get("companyData") || {};
- var ver = data.ver || "";
- learun.httpget(config.webapi + "learun/adms/company/map", { ver: ver }, function (data) {
- if (data) {
- if (data.ver) {
- learun.storage.set("companyData", data);
- }
- clientAsyncData.company.states = loadSate.yes;
- clientAsyncData.department.init();
- }
- else {
- clientAsyncData.company.states = loadSate.fail;
- }
- });
- }
- },
- get: function (op) {
- clientAsyncData.company.init();
- if (clientAsyncData.company.states === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.company.get(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _dataTmp = learun.storage.get("companyData") || {};
- var data = _dataTmp.data || {};
- op.callback(data[op.key] || {}, op);
- }
- },
- getAll: function (op) {
- clientAsyncData.company.init();
- if (clientAsyncData.company.states === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.company.getAll(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _dataTmp = learun.storage.get("companyData") || {};
- var data = _dataTmp.data || {};
- op.callback(data, op);
- }
- }
- };
-
- // 获取桌面配置信息
- clientAsyncData.desktop = {
- states: loadSate.no,
- init: function () {
- if (clientAsyncData.desktop.states === loadSate.no) {
- clientAsyncData.desktop.states = loadSate.ing;
- var data = learun.storage.get("desktopData") || {};
- var ver = data.ver || "";
- learun.httpget(config.webapi + "learun/adms/desktop/setting", { ver: ver }, function (data) {
- if (data) {
- if (data.ver) {
- learun.storage.set("desktopData", data);
- }
- clientAsyncData.desktop.states = loadSate.yes;
- }
- else {
- clientAsyncData.desktop.states = loadSate.fail;
- }
- });
- }
- },
- get: function (op) {
- clientAsyncData.desktop.init();
- if (clientAsyncData.desktop.states === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.desktop.get(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _tmpData = learun.storage.get("desktopData");
- var data = _tmpData.data || {};
- op.callback(data, op);
- }
- }
- };
-
- // 部门信息
- clientAsyncData.department = {
- states: loadSate.no,
- init: function () {
- if (clientAsyncData.department.states === loadSate.no) {
- clientAsyncData.department.states = loadSate.ing;
- var data = learun.storage.get("departmentData") || {};
- var ver = data.ver || "";
- learun.httpget(config.webapi + "learun/adms/department/map", { ver: ver }, function (data) {
- if (data) {
- if (data.ver) {
- learun.storage.set("departmentData", data);
- }
- clientAsyncData.department.states = loadSate.yes;
- clientAsyncData.user.init();
- }
- else {
- clientAsyncData.department.states = loadSate.fail;
- }
- });
- }
- },
- get: function (op) {
- clientAsyncData.department.init();
- if (clientAsyncData.department.states === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.department.get(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _dataTmp = learun.storage.get("departmentData") || {};
- var data = _dataTmp.data || {};
- op.callback(data[op.key] || {}, op);
- }
- },
- getAll: function (op) {
- clientAsyncData.department.init();
- if (clientAsyncData.department.states === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.department.getAll(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _dataTmp = learun.storage.get("departmentData") || {};
- var data = _dataTmp.data || {};
- op.callback(data, op);
- }
- }
- };
- // 人员信息
- clientAsyncData.user = {
- states: loadSate.no,
- init: function () {
- if (clientAsyncData.user.states === loadSate.no) {
- clientAsyncData.user.states = loadSate.ing;
- var data = learun.storage.get("userData") || {};
- var ver = data.ver || "";
-
- learun.httpget(config.webapi + "learun/adms/user/map", { ver: ver }, function (data) {
- if (data) {
- if (data.ver) {
- learun.storage.set("userData", data);
- }
- clientAsyncData.user.states = loadSate.yes;
- clientAsyncData.dataItem.init();
- }
- else {
- clientAsyncData.user.states = loadSate.fail;
- }
- });
- }
- },
- get: function (op) {
- clientAsyncData.user.init();
- if (clientAsyncData.user.states === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.user.get(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _dataTmp = learun.storage.get("userData") || {};
- var data = _dataTmp.data || {};
- op.callback(data[op.key] || {}, op);
- }
- },
- getAll: function (op) {
- clientAsyncData.user.init();
- if (clientAsyncData.user.states === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.user.getAll(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _dataTmp = learun.storage.get("userData") || {};
- var data = _dataTmp.data || {};
- op.callback(data, op);
- }
- }
- };
- // 数据字典
- clientAsyncData.dataItem = {
- states: loadSate.no,
- init: function () {
- if (clientAsyncData.dataItem.states === loadSate.no) {
- clientAsyncData.dataItem.states = loadSate.ing;
- var data = learun.storage.get("dataItemData") || {};
- var ver = data.ver || "";
- learun.httpget(config.webapi + "learun/adms/dataitem/map", { ver: ver }, function (data) {
- if (data) {
- if (data.ver) {
- learun.storage.set("dataItemData", data);
- }
- clientAsyncData.dataItem.states = loadSate.yes;
- }
- else {
- clientAsyncData.dataItem.states = loadSate.fail;
- }
- });
- }
- },
- get: function (op) {
- clientAsyncData.dataItem.init();
- if (clientAsyncData.dataItem.states === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.dataItem.get(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _dataTmp = learun.storage.get("dataItemData") || {};
- var data = _dataTmp.data || {};
- op.callback(clientAsyncData.dataItem.find(op.key, data[op.code] || {}) || {}, op);
- }
- },
- getAll: function (op) {
- clientAsyncData.dataItem.init();
- if (clientAsyncData.dataItem.states === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.dataItem.getAll(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _dataTmp = learun.storage.get("dataItemData") || {};
- var data = _dataTmp.data || {};
- op.callback(data[op.code] || {}, op);
- }
- },
- loadnologin: function (code) {
- var _tmpData = learun.storage.get("sourceData_" + code) || {};
- if (!_tmpData.data) {
- var params = { code: code };
- var param = {};
- var type = learun.type(params);
- if (type === 'object' || type === 'array') {
- param.data = JSON.stringify(params);
- }
- else if (type === 'string') {
- param.data = params;
- }
- // $.get(config.webapi + "learun/nologin/adms/datasource/map", param, function (res) {
- // if (res.code == 200) {
- // if (res.data) {
- // if (res.data.ver) {
- // learun.storage.set("sourceData_" + code, res.data);
- // }
- // clientAsyncData.sourceData.states[code] = loadSate.yes;
- // }
- // else {
- // clientAsyncData.sourceData.states[code] = loadSate.fail;
- // }
- // }
-
- // })
- $.ajax({
- url: config.webapi + "learun/nologin/adms/datasource/itemmap",
- data: param,
- type: "get",
- dataType: "json",
- async: false,
- success: function (res) {
- if (res.code == 200) {
- if (res.data) {
- if (res.data.ver) {
- learun.storage.set("dataItemData", res.data);
- }
- clientAsyncData.dataItem.states = loadSate.yes;
- } else {
- clientAsyncData.dataItem.states = loadSate.fail;
- }
- }
-
- }
-
-
- });
- }
-
-
-
- },
- find: function (key, data) {
- var res = {};
- for (var id in data) {
- if (data[id].value === key) {
- res = data[id];
- break;
- }
- }
- return res;
- }
- };
- // 数据源数据
- clientAsyncData.sourceData = {
- states: {},
- get: function (op) {
- if (clientAsyncData.sourceData.states[op.code] === undefined || clientAsyncData.sourceData.states[op.code] === loadSate.no) {
- clientAsyncData.sourceData.states[op.code] = loadSate.ing;
- clientAsyncData.sourceData.load(op.code);
- }
-
- if (clientAsyncData.sourceData.states[op.code] === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.sourceData.get(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _tmpData = learun.storage.get("sourceData_" + op.code) || {};
- var data = _tmpData.data || [];
- if (data) {
- op.callback(clientAsyncData.sourceData.find(op.key, op.keyId, data) || {}, op);
- } else {
- op.callback({}, op);
- }
- }
- },
- getAll: function (op) {
- if (clientAsyncData.sourceData.states[op.code] === undefined || clientAsyncData.sourceData.states[op.code] === loadSate.no) {
- clientAsyncData.sourceData.states[op.code] = loadSate.ing;
- clientAsyncData.sourceData.load(op.code);
- }
-
- if (clientAsyncData.sourceData.states[op.code] === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.sourceData.getAll(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _tmpData = learun.storage.get("sourceData_" + op.code) || {};
- var data = _tmpData.data || [];
- if (data) {
- op.callback(data, op);
- } else {
- op.callback({}, op);
- }
- }
- },
- loadnologin: function (code) {
- var _tmpData = learun.storage.get("sourceData_" + code) || {};
- if (!_tmpData.data) {
- var params = { code: code };
- var param = {};
- var type = learun.type(params);
- if (type === 'object' || type === 'array') {
- param.data = JSON.stringify(params);
- }
- else if (type === 'string') {
- param.data = params;
- }
- // $.get(config.webapi + "learun/nologin/adms/datasource/map", param, function (res) {
- // if (res.code == 200) {
- // if (res.data) {
- // if (res.data.ver) {
- // learun.storage.set("sourceData_" + code, res.data);
- // }
- // clientAsyncData.sourceData.states[code] = loadSate.yes;
- // }
- // else {
- // clientAsyncData.sourceData.states[code] = loadSate.fail;
- // }
- // }
-
- // })
- $.ajax({
- url: config.webapi + "learun/nologin/adms/datasource/map",
- data: param,
- type: "get",
- dataType: "json",
- async: false,
- success: function (res) {
- if (res.code == 200) {
- if (res.data) {
- if (res.data.ver) {
- learun.storage.set("sourceData_" + code, res.data);
- }
- clientAsyncData.sourceData.states[code] = loadSate.yes;
- }
- else {
- clientAsyncData.sourceData.states[code] = loadSate.fail;
- }
- }
- }
-
-
- })
- }
-
-
-
- },
- load: function (code) {
- var data = learun.storage.get("sourceData_" + code) || {};
- var ver = data.ver || "";
- learun.httpget(config.webapi + "learun/adms/datasource/map", { code: code, ver: ver }, function (data) {
- if (data) {
- if (data.ver) {
- learun.storage.set("sourceData_" + code, data);
- }
- clientAsyncData.sourceData.states[code] = loadSate.yes;
- }
- else {
- clientAsyncData.sourceData.states[code] = loadSate.fail;
- }
- });
- },
- find: function (key, keyId, data) {
- var res = {};
- for (var i = 0, l = data.length; i < l; i++) {
- if (data[i][keyId] === key) {
- res = data[i];
- break;
- }
- }
- return res;
- }
- };
- // 自定义数据
- var custmerData = {};
- clientAsyncData.custmerData = {
- states: {},
- get: function (op) {
- if (clientAsyncData.custmerData.states[op.url] === undefined || clientAsyncData.custmerData.states[op.url] === loadSate.no) {
- clientAsyncData.custmerData.states[op.url] = loadSate.ing;
- clientAsyncData.custmerData.load(op.url);
- }
-
- if (clientAsyncData.custmerData.states[op.url] === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.custmerData.get(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var data = custmerData[op.url];
- if (data) {
- op.callback(clientAsyncData.custmerData.find(op.key, op.keyId, data) || {}, op);
- } else {
- op.callback({}, op);
- }
- }
- },
- getAll: function (op) {
- if (clientAsyncData.custmerData.states[op.url] === undefined || clientAsyncData.custmerData.states[op.url] === loadSate.no) {
- clientAsyncData.custmerData.states[op.url] = loadSate.ing;
- clientAsyncData.custmerData.load(op.url);
- }
-
- if (clientAsyncData.custmerData.states[op.url] === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.custmerData.getAll(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var data = custmerData[op.url];
- op.callback(data || [], op);
- }
- },
- load: function (url) {
- learun.httpget(config.webapi + url, null, function (data) {
- if (data) {
- custmerData[url] = data;
- clientAsyncData.custmerData.states[url] = loadSate.yes;
- }
- else {
- clientAsyncData.custmerData.states[url] = loadSate.fail;
- }
- });
- },
- find: function (key, keyId, data) {
- var res = {};
- for (var i = 0, l = data.length; i < l; i++) {
- if (data[i][keyId] === key) {
- res = data[i];
- break;
- }
- }
- return res;
- }
- };
-
- // 获取功能列表
- clientAsyncData.module = {
- states: loadSate.no,
- init: function () {
- if (clientAsyncData.module.states === loadSate.no) {
- clientAsyncData.module.states = loadSate.ing;
- var data = learun.storage.get("moduleData") || {};
- var ver = data.ver || "";
- learun.httpget(config.webapi + "learun/adms/function/list", { ver: ver }, function (data) {
- if (data) {
- if (data.ver) {
- learun.storage.set("moduleData", data);
- }
- clientAsyncData.module.states = loadSate.yes;
- }
- else {
- clientAsyncData.module.states = loadSate.fail;
- }
- });
- }
- },
- get: function (op) {
- clientAsyncData.module.init();
- if (clientAsyncData.module.states === loadSate.ing) {
- setTimeout(function () {
- clientAsyncData.module.get(op);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- var _tmpData = learun.storage.get("moduleData");
- var data = _tmpData.data || {};
- op.callback(data, op);
- }
- }
- };
- // 获取我的应用列表
- learun.myModule = {
- states: loadSate.no,
- init: function (modules) {
- if (learun.myModule.states === loadSate.no) {
- learun.myModule.states = loadSate.ing;
- var mymoduleData = learun.storage.get("mymoduleData");
- if (mymoduleData === null) {
- var len = 7;
- if (len > modules.length) {
- len = modules.length;
- }
- var list = [];
- for (var i = 0; i < len; i++) {
- var item = modules[i];
- list.push(item.F_Id);
- }
- learun.storage.set("mymoduleData", list);
- learun.httppost(config.webapi + "learun/adms/function/mylist/update", String(list), (res) => {
- });
- learun.myModule.states = loadSate.yes;
- }
- else {
- learun.httpget(config.webapi + "learun/adms/function/mylist", null, function (data) {
- if (data) {
- learun.storage.set("mymoduleData", data);
- }
- learun.myModule.states = loadSate.yes;
- });
- }
- }
- },
- get: function (modules, callback) {
- learun.myModule.init(modules);
- if (learun.myModule.states === loadSate.ing) {
- setTimeout(function () {
- learun.myModule.get(modules, callback);
- }, 100);// 如果还在加载100ms后再检测
- }
- else {
- callback(learun.storage.get("mymoduleData"));
- }
- }
- };
- // 获取单据编码
- learun.getRuleCode = function (code, callback) {
- learun.httpget(config.webapi + "learun/adms/coderule/code", code, function (data) {
- if (data) {
- callback(data);
- }
- else {
- callback('');
- }
- });
- };
-
- /*选择框方法扩展(包含单选框)*/
- // 选择框扩展(url(后台数据地址),数据字典,数据源),
- $.fn.lrpickerex = function (op) {
- var $this = $(this);
- if ($this.length === 0) {
- return $this;
- }
- if (!op.data) {
- op.data = [];
- if (op.firstRead) {
- clientAsyncData.sourceData.loadnologin(op.code);
-
- }
- if (op.firstDateItem) {
- clientAsyncData.dataItem.loadnologin(op.code);
- }
- switch (op.type) {
- case 'dataItem':
- $this.lrpicker(op);
- learun.clientdata.getAll('dataItem', {
- code: op.code,
- callback: function (data) {
- var _tmpdata = [];
- $.each(data, function (_index, _item) {
- _tmpdata.push({ value: _item.value, text: _item.text });
- });
-
- $this.lrpickerSetData(_tmpdata);
- }
- });
- break;
- case 'sourceData':
- $this.lrpicker(op);
- learun.clientdata.getAll('sourceData', {
- code: op.code,
- callback: function (data) {
- if (op.placeHolders != '') {
- console.log(data);
- var obj={};
- obj[op.ivalue] = op.placeHolders;
- obj[op.itext] = op.placeHolders;
- data.splice(0, 0, obj);
- }
- $this.lrpickerSetData(data);
- }
- });
- break;
- default:
- $this.lrpicker(op);
- if (op.url) {// 如果有连接地址
- learun.clientdata.getAll('custmerData', {
- url: op.url,
- callback: function (data) {
- $this.lrpickerSetData(data);
- }
- });
- }
- break;
- }
- } else {
- $this.lrpicker(op);
- }
- return $this;
- };
- // 组织单位选择
- $.fn.lrselect = function (op) {
- var $this = $(this);
- if ($this.length === 0) {
- return $this;
- }
- var dfop = {
- placeholder: '请选择',
- type: 'company',
- companyId: '',
- departmentId: '',
- change: false
- };
- $.extend(dfop, op || {});
- $this.attr('type', 'lrselect');
- $this.addClass('lr-select');
- $this.html('<div class="text">' + dfop.placeholder + '</div>');
- dfop.id = $this.attr('id');
- $this[0].dfop = dfop;
-
- $this.on('tap', function () {
- var $this = $(this);
- if ($this.attr('readonly') || $this.parents('.lr-form-row').attr('readonly')) {
- return false;
- }
- learun.formblur();
-
- var op = $this[0].dfop;
-
- if (op.needPre) {
- learun.layer.toast('请先选择上一级!');
- return false;
- }
-
- var name = '';
- switch (op.type) {
- case 'company':
- name = '选择公司';
- break;
- case 'department':
- name = '选择部门';
- break;
- case 'user':
- name = '选择人员';
- break;
- }
- learun.nav.go({
- path: 'lrselect/' + op.type, title: name, type: 'right', param: {
- callback: function (data, _op, $this) {
- $this.find('.text').text(data.name);
- _op.value = data.id;
- _op.text = data.name;
- _op.change && _op.change(data);
- $this.trigger('change');
- },
- op: op,
- $this: $this
- }
- });
- });
-
- return $this;
- };
- $.fn.lrselectGet = function (type) {
- var $this = $(this);
- if ($this.length === 0) {
- return '';
- }
- var op = $this[0].dfop;
- $this = null;
- if (type === 'text') {
- return op.text;
- }
- else {
- return op.value;
- }
- };
- $.fn.lrselectSet = function (value) {
- var $this = $(this);
- if ($this.length === 0) {
- return '';
- }
- var op = $this[0].dfop;
- op.value = value;
- $this = null;
- learun.clientdata.get(op.type, {
- key: value,
- set: op,
- callback: function (data, _op) {
- $('#' + _op.set.id).find('.text').text(data.name || '');
- _op.set.text = data.name || '';
- data.id = _op.key;
- _op.change && _op.change(data);
- $('#' + _op.set.id).trigger('change');
- }
- });
- };
- $.fn.lrselectUpdate = function (op) {
- var $this = $(this);
- if ($this.length === 0) {
- return $this;
- }
- $.extend($this[0].dfop, op || {});
- $this[0].dfop.value = '';
- $this[0].dfop.text = '';
- $this.find('.text').text($this[0].dfop.placeholder);
- $this = null;
- };
-
- // 弹层选择框(数据字典和数据源)
- $.fn.layerSelect = function (op) {
- var $this = $(this);
- if ($this.length === 0) {
- return $this;
- }
- var dfop = {
- placeholder: '请选择',
- type: 'dataItem',// sourceData
- layerData: [],
- callback: false
- };
- $.extend(dfop, op || {});
- $this.attr('type', 'lrlayerSelect');
- $this.addClass('lr-layerSelect');
- $this.html('<div class="text">' + dfop.placeholder + '</div>');
- dfop.id = $this.attr('id');
- $this[0].dfop = dfop;
-
- $this.on('tap', function () {
- var $this = $(this);
- if ($this.attr('readonly') || $this.parents('.lr-form-row').attr('readonly')) {
- return false;
- }
-
- learun.formblur();
- var op = $this[0].dfop;
- learun.nav.go({
- path: 'lrselect/layer', title: op.placeholder, type: 'right', param: {
- callback: function (data, _op, _$this) {
- _op.callback && _op.callback(data, _op.layerData, _$this);
- _$this = null;
- },
- op: op,
- $this: $this
- }
- });
- $this = null;
- return false;
- });
-
- return $this;
-
- };
- $.fn.layerSelectSet = function (value) {
- var $this = $(this);
- var op = $(this)[0].dfop;
- if (value) {
- $this.find('.text').text(value);
- op.value = value;
- }
- else {
- op.value = '';
- $(this).find('.text').text(op.placeholder);
- }
- };
- $.fn.layerSelectGet = function () {
- return $(this)[0].dfop.value;
- };
-
- /*多选框方法扩展*/
- $.fn.lrcheckboxex = function (op) {
- var $this = $(this);
- if ($this.length === 0) {
- return $this;
- }
- if (!op.data) {
- op.data = [];
- switch (op.type) {
- case 'dataItem':
- $this.lrcheckbox(op);
- learun.clientdata.getAll('dataItem', {
- code: op.code,
- callback: function (data) {
- var _tmpdata = [];
- $.each(data, function (_index, _item) {
- _tmpdata.push({ value: _item.value, text: _item.text });
- });
-
- $this.lrcheckboxSetData(_tmpdata);
- }
- });
- break;
- case 'sourceData':
- $this.lrcheckbox(op);
- learun.clientdata('sourceData', {
- code: op.code,
- callback: function (data) {
- $this.lrcheckboxSetData(data);
- }
- });
- break;
- default:
- $this.lrcheckbox(op);
- if (op.url) {// 如果有连接地址
- learun.clientdata('custmerData', {
- url: op.url,
- callback: function (data) {
- $this.lrcheckboxSetData(data);
- }
- });
- }
- break;
- }
- } else {
- $this.lrcheckbox(op);
- }
- return $this;
- };
-
- /*编辑表格方法扩展*/
- function setGridRowValue($block, id, type, value) {// 设置编辑表格每个块的值
- switch (type) {
- case 'label':
- case 'input':
- $block.find('#' + id).val(value);
- break;
- case 'radio':
- case 'select':
- $block.find('#' + id).lrpickerSet(value);
- break;
- case 'picker':
- $block.find('#' + id).lrpickerSet(value);
- break;
- case 'checkbox':
- $block.find('#' + id).lrcheckboxSet(value);
- break;
- case 'layer':
- $block.find('#' + id).layerSelectSet(value);
- break;
- case 'datetime':
- $block.find('#' + id).lrdateSet(value);
- break;
- }
- $block = null;
- }
- function getGridRowValue($block, id, type) {// 设置编辑表格每个块的值
- var v = '';
- switch (type) {
- case 'label':
- case 'input':
- v = $block.find('#' + id).val();
- break;
- case 'radio':
- case 'select':
- v = $block.find('#' + id).lrpickerGet();
- if (v == 'undefined') { v = 0 }
- break;
- case 'picker':
- v = $block.find('#' + id).lrpickerGet();
- break;
- case 'checkbox':
- v = $block.find('#' + id).lrcheckboxGet();
- break;
- case 'layer':
- v = $block.find('#' + id).layerSelectGet();
- break;
- case 'datetime':
- v = $block.find('#' + id).lrdateGet();
- break;
- }
- $block = null;
- return v;
- }
- function addGridRow($this, op) {
- // 添加编辑集合块
- var $html = $('<div class="lr-edit-grid-block" ></div>');
- if (op.hasBtn) {
- $this.find('.lr-edit-grid-btn').before($html);
- }
- else {
- $this.append($html);
- }
- // 添加标题栏
- var $title = $('<div class="lr-edit-grid-title" >' + op.title + '(<span>' + op._index + '</span>)</div>');
- if (op._index > 1) {
- $title.append('<div class="lr-edit-grid-deletebtn" data-value="' + op._index + '">删除</div>');
- }
- $html.html($title);
-
- var _compontHtml = '';
- op.compontsMap = op.compontsMap || {};
- // 编辑表格-组件初始化
- $.each(op.componts, function (_index, _item) {
- if (op._index === 1) {
- op.compontsMap[_item.field] = _item;
- }
-
- switch (_item.type) {
- case 'label':
- _compontHtml = '<div class="lr-edit-grid-row" ><label>' + _item.name + '</label><input type="text" readonly id="' + _item.field + '" ></div>';
- $html.append(_compontHtml);
- break;
- case 'input':
- _compontHtml = '<div class="lr-edit-grid-row" ><label>' + _item.name + '</label><input type="text" id="' + _item.field + '" ></div>';
- $html.append(_compontHtml);
- // 值改变
- if (_item.change) {
- $html.find('#' + _item.field).on('input propertychange', { change: _item.change }, function (e) {
- e = e || window.event;
- var _change = e.data.change;
- var $this = $(this);
- var _$block = $this.parents('.lr-edit-grid-block');
- var v = $this.val();
- _change(v, _$block);
-
- $this = null;
- _$block = null;
- });
- }
- break;
- case 'radio':
- case 'select':
- _compontHtml = '<div class="lr-edit-grid-row" ><label>' + _item.name + '</label><div id="' + _item.field + '" ></div></div>';
- $html.append(_compontHtml);
- $html.find('#' + _item.field).lrpickerex({
- code: _item.code,
- type: _item.datatype,
- ivalue: _item.ivalue,
- itext: _item.itext,
- data: _item.data,
- url: _item.url,
- change: function (value, text, datalist, $self) {
- var _$block = $self.parents('.lr-edit-grid-block');
- _item.change && _item.change(value, text, datalist, _$block);
- $self = null;
- _$block = null;
- }
- });
- break;
- case 'picker':
- _compontHtml = '<div class="lr-edit-grid-row" ><label>' + _item.name + '</label><div id="' + _item.field + '" ></div></div>';
- $html.append(_compontHtml);
- $html.find('#' + _item.field).lrpicker({
- placeholder: _item.placeholder,
- data: _item.data,
- level: _item.level
- });
- break;
- case 'checkbox':
- _compontHtml = '<div class="lr-edit-grid-row" ><label>' + _item.name + '</label><div id="' + _item.field + '" ></div></div>';
- $html.append(_compontHtml);
- $html.find('#' + _item.field).lrcheckboxex({
- code: _item.code,
- type: _item.datatype,
- ivalue: _item.ivalue,
- itext: _item.itext,
- data: _item.data,
- url: _item.url,
- change: function (value, text, datalist, $self) {
- var _$block = $self.parents('.lr-edit-grid-block');
- _item.change && _item.change(value, text, datalist, _$block);
- $self = null;
- _$block = null;
- }
- });
- break;
- case 'layer':
- _compontHtml = '<div class="lr-edit-grid-row" ><label>' + _item.name + '</label><div id="' + _item.field + '" ></div></div>';
- $html.append(_compontHtml);
- $html.find('#' + _item.field).layerSelect({
- code: _item.code,
- type: _item.datatype,
- layerData: _item.layerData,
- callback: function (data, layerData, _$this) {
- var $block = _$this.parents('.lr-edit-grid-block');
- $.each(layerData, function (_jindex, _jitem) {
- setGridRowValue($block, _jitem.value, op.compontsMap[_jitem.value].type, data[_jitem.name]);
- });
- _item.change && _item.change(data, $block);
- $block = null;
- _$this = null;
- }
-
- });
- break;
- case 'datetime':
- _compontHtml = '<div class="lr-edit-grid-row" ><label>' + _item.name + '</label><div id="' + _item.field + '" ></div></div>';
- $html.append(_compontHtml);
- $html.find('#' + _item.field).lrdate({
- type: _item.datetime === 'date' ? 'date' : 'datetime',
- change: function (v, _$this) {
- var $block = _$this.parents('.lr-edit-grid-block');
- _item.change && _item.change(v, $block);
-
- $block = null;
- _$this = null;
- }
- });
- break;
- default:
- break;
- }
- });
-
- $title = null;
- $this = null;
-
- return $html;
- }
-
- $.fn.lrgrid = function (op) {
- var $this = $(this);
- if ($this.length === 0) {
- return $this;
- }
- if ($this[0].dfop) {
- return $this;
- }
-
- var dfop = {
- title: '编辑表格',
- componts: [],
- hasBtn: true,
- _index: 1
- };
- $.extend(dfop, op || {});
-
- $this[0].dfop = dfop;
-
- $this.addClass('lr-edit-gird');
-
- if (dfop.hasBtn) {
- // 添加增加按钮
- var $btn = $('<div class="lr-edit-grid-btn" ><i class="iconfont icon-add1" ></i>增加' + (dfop.title || '') + '</div>');
- $btn.on('tap', { op: dfop }, function (e) {// 添加一块编辑集合
- e = e || window.event;
- var _op = e.data.op;
- var $grid = $(this).parents('.lr-edit-gird');
- _op._index++;// 增加块数
- learun.formblur();
- addGridRow($grid, _op);
- });
- $this.html($btn);
-
- // 注册删除按钮事件
- $this.delegate('.lr-edit-grid-deletebtn', 'tap', { op: dfop }, function (e) {
- e = e || window.event;
- var _op = e.data.op;
- var $my = $(this);
- var myIndex = $my.attr('data-value');
- learun.formblur();
- learun.layer.confirm('你确定要删除' + _op.title + myIndex + '吗?', function (isOk) {
- if (isOk === '1') {
- _op._index--;// 减少块数
-
- // 排在后面的块需要重新调整序号
- $my.parents('.lr-edit-gird').find('.lr-edit-grid-block:gt(' + (parseInt(myIndex) - 1) + ')').each(function () {
- var $this = $(this);
- var $deletebtn = $this.find('.lr-edit-grid-deletebtn');
- var _index = parseInt($deletebtn.attr('data-value')) - 1;
- $deletebtn.attr('data-value', _index);
- $this.find('.lr-edit-grid-title span').text(_index);
- $deletebtn = null;
- $this = null;
- });
- // 移除绑定在自己身上的弹层,选择框,单选框,多选框,日期
- var $block = $my.parents('.lr-edit-grid-block');
- $block.find('.lr-date,.lr-picker,.lr-checkbox').each(function () {
- var $this = $(this);
- var _op = $this[0].fop;
- $('#pop_' + _op.id).remove();
- $('#dt_' + _op.id).remove();
- });
- // 移除自己
- $block.remove();
- $block = null;
- }
- $my = null;
- }, '', ['取消', '确定']);
- });
- }
- addGridRow($this, dfop);
- return $this;
- };
-
- $.fn.lrgridSet = function (data) {
- var $this = $(this);
- var op = $this[0].dfop;
- $.each(data, function (_index, _item) {
- if (_index === 0) {
- // 如果是第一行数据
- $.each(op.componts, function (_jindex, jitem) {
- var _id = jitem.field;
- if (op.isToLowerCase) {
- _id = _id.toLowerCase();
- }
- setGridRowValue($this.find('.lr-edit-grid-block'), jitem.field, jitem.type, _item[_id]);
- });
- } else {
- // 如果不是第一行数据就先添加一行
- op._index++;// 增加块数
- var $block = addGridRow($this, op);
- $.each(op.componts, function (_jindex, jitem) {
- var _id = jitem.field;
- if (op.isToLowerCase) {
- _id = _id.toLowerCase();
- }
- setGridRowValue($block, jitem.field, jitem.type, _item[_id]);
- });
- }
- });
-
- $this = null;
- };
-
- $.fn.lrgridGet = function () {
- var $this = $(this);
- var op = $this[0].dfop;
- var data = [];
- $this.find('.lr-edit-grid-block').each(function () {
- var $block = $(this);
- var point = {};
- $.each(op.componts, function (_jindex, jitem) {
- point[jitem.field] = getGridRowValue($block, jitem.field, jitem.type);
- });
- data.push(point);
- });
-
- $this = null;
- return data;
- };
-
- // 设置表单组件为只读
- $.fn.setFormRead = function () {
- $(this).find('.lr-form-row').each(function () {
- $(this).attr('readonly', 'readonly');
- });
- }
-
- $.fn.setFormWrite = function () {
- $(this).find('.lr-form-row').each(function () {
- $(this).removeAttr('readonly');
- });
- }
-
- // 数据格式化
- $.fn.dataFormatter = function (op) {
- var $this = $(this);
- var _v = '';
- if (op.value === null || op.value === undefined || op.value === 'null' || op.value === 'undefined') {
- op.value = '';
- }
- op.value = op.value + '';
- switch (op.type) {
- case 'datetime':
- $this.append(learun.date.format(op.value, op.dateformat));
- break;
- case 'dataItem':
- _v = op.value.split(',');
- $.each(_v || [], function (_index, _item) {
- if (_item) {
- learun.clientdata.get('dataItem', {
- key: _item,
- code: op.code,
- $this: $this,
- callback: function (_data, _op) {
- _op.$this.append(_data.text);
- }
- });
- }
- });
- break;
- case 'dataSource':
- _v = op.value.split(',');
- $.each(_v || [], function (_index, _item) {
- if (_item) {
- learun.clientdata.get('sourceData', {
- key: _item,
- keyId: op.keyId,
- code: op.code,
- set: op,
- $this: $this,
- callback: function (_data, _op) {
- _op.$this.append(_data[_op.set.text]);
- }
- });
- }
- });
- break;
- case 'dataCustmer':
- _v = op.value.split(',');
- $.each(_v || [], function (_index, _item) {
- if (_item) {
- learun.clientdata.get('custmerData', {
- key: _item,
- keyId: op.keyId,
- url: op.url,
- set: op,
- $this: $this,
- callback: function (_data, _op) {
- _op.$this.append(_data[_op.set.text]);
- }
- });
- }
- });
- break;
- case 'organize':
- learun.clientdata.get(op.dataType, {
- key: op.value,
- $this: $this,
- callback: function (_data, _op) {
- _op.$this.append(_data.name);
- }
- });
- break;
- default:
- $this.append(op.value);
- break;
- }
- return $this;
- }
-
- // 图片选择,上传,下载
- $.fn.lrImagepicker = function (op) {
- var dfop = {
- maxCount: 9,
- isOnlyCamera: false,
- uploadUrl: config.webapi + 'learun/adms/annexes/upload',
- downUrl: config.webapi + 'learun/adms/annexes/down?data=',
- getParams: function () {
- var param = {};
- var logininfo = learun.storage.get('logininfo');
- param.token = logininfo.token;
- param.loginMark = learun.deviceId();
- return param;
- },
- deleteImg: function (fileId) {
- learun.httppost(config.webapi + 'learun/adms/annexes/delete', fileId, function () { });
- },
- downFile: function (value, callback) {
- learun.httpget(config.webapi + 'learun/adms/annexes/list', value, function (data) {
- if (data) {
- var _data = [];
- $.each(data, function (_index, _item) {
- if (_item.F_FileType === 'jpg' || _item.F_FileType === 'png') {
- var _point = {
- id: _item.F_Id,
- name: _item.F_Id + '.' + _item.F_FileType
- };
- _data.push(_point);
- }
- });
- callback(_data);
- }
- });
- }
- };
- $.extend(dfop, op || {});
-
- return $(this).imagepicker(dfop);
- }
-
- })(window.jQuery, window.lrmui);
|