|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494 |
- /*
- * 版 本 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 != '') {
- 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);
|