本次分析的目的:
1.是熟悉网站整体业务水平
2.是对刚搭建完成的平台进行一个数据分析,然后对其后面的流程简单的了解
3.对不足之处完成简单的修缮‘
注:本次分析所涉及均为私密东西,不得在任何违法传播
1.对单一功能某一组件的分析:
xsfw/sys/knsapp/*default/index.do?amp_sec_version_=1&gid_=UzhDT1Z4aGZ0eHI1cTJxSFJjUlVHVEo1bGxFaUNvdm0xMUpUQ2sybEVadGE0SUxlYXptRjNNUDY3aFZwR2FWaVJDWG54WkZmNmZGRHdRQnVKSklIclE9PQ&EMAP_LANG=zh&THEME=millennium#/auditManagement
太多的方法对应着传参,我不知道会发什么啥有趣的事,大概往往会比较有意思的事权限组
pubfunctions.js
/**
* 封装了常用的前端组件的使用方法
* 使用本文件中的方法,需先引用***文件
* 其他说明...
* 创建时间:
* 创建人:
* 最后修改时间:
* 最后修改人:
*/
;
var PUB_FUNC = {};
var default_db_error = {
"resultCode": "19999",
"msg": "unkown error"
};
/*
*高级搜索中的文本字段集合,用于在高级搜索时将这些字段的条件构造器改为include,实现模糊搜索
*/
var ADVANCE_SERACHER_TEXT_FIELDS = {
XH: true, //学号
XM: true, //姓名
XZ: true, //学制
XZNJ: true, //现在年级
KSH: true, //考生号
TZSH: true, //通知书号
YKTKH: true, //一卡通卡号
SFZJH: true, //身份证件号
HKSZD: true, //户口所在地
SJH: true, //手机号
DZXX: true, //电子信箱
LXDH: true, //联系电话
QQH: true, //QQ号
WXH: true, //微信号
JTDZ: true, //家庭地址
JTDH: true, //家庭电话
XMPY: true, //姓名拼音
CYM: true, //曾用名
ZNBMMC:true //奖学金职能部门名称
};
(function(PUB_FUNC) {
PUB_FUNC.ADVANCE_SERACHER_TEXT_FIELDS = ADVANCE_SERACHER_TEXT_FIELDS;
PUB_FUNC.REQUEST_PARAM_NAME = "requestParamStr=";
/**
* 封装生成常规form表单的方法
* 说明:必传的参数有containerName,pageUrl,actionName
* @param containerName html/jsp文件中用于存放form的DOM元素的id属性值 e.g. <div id="formCon"></div> 参数值为"formCon"
* @param pageUrl 页面路径(不含".do") e.g. "/modules*teacher/violate_query"
* @param actionName 动作名称 e.g. "cxxscfjlxq"
* @param params 动作参数 e.g. {XSBH:'123',WID:'abc'}
* @param columns 列数 正整数
* @param readonly 是否只读 true/false
* @param isEmpty 是否创建一个空表单 为true表示生成的是一个新增表单 默认为false
* @param model 表单类型 分为水平和垂直两种,支持参数"h"(水平)/"v"(垂直),默认"h"
* @param inputWidth 水平表单 表单控件所占列数 默认6 最高12
*/
PUB_FUNC.buildFormByList = function(containerName, pageUrl, actionName, params, columns, readonly, isEmpty, model, fileOptions, rootpath, dataModel, inputWidth, defaultOptions) {
var ROOT_PATH = rootpath ? rootpath : WIS_CONFIG.ROOT_PATH;
var datamodel = WIS_EMAP_SERV.getModel(ROOT_PATH + pageUrl + ".do", actionName, "form");
datamodel = dataModel ? dataModel : datamodel;
var defaultOption = defaultOptions ? defaultOptions : {};
defaultOption["tree"] = {
unblind: '/'
};
//增加新版上传组件option限制信息
if (fileOptions && fileOptions['cache-upload']) {
defaultOption['cache-upload'] = fileOptions['cache-upload'];
}else{
defaultOption['cache-upload'] = {
limit: 3,
size: 5120,
type: ['doc', 'jpg', 'png', 'jpeg', 'bmp', 'docx', 'zip', 'rar', 'pdf', 'xls', 'xlsx', 'txt']
};
}
if (fileOptions && fileOptions.uploadfile) {
defaultOption['uploadfile'] = fileOptions.uploadfile;
} else {
defaultOption['uploadfile'] = {
limit: 3,
size: 5120,
type: ['doc', 'jpg', 'png', 'jpeg', 'bmp', 'docx', 'zip', 'rar', 'pdf', 'xls', 'xlsx', 'txt']
};
}
if (fileOptions && fileOptions['uploadmuiltimage']) {
defaultOption['uploadmuiltimage'] = fileOptions['uploadmuiltimage'];
}else{
defaultOption['uploadmuiltimage'] = {
limit: 10,
size: 5120,
type: ['jpg', 'png', 'jpeg']
};
}
var formObj = $("#" + containerName).emapForm({
root: WIS_EMAP_SERV.getContextPath(),
data: datamodel,
textareaEasyCheck: true,
readonly: (readonly == true) ? true : false,
cols: (columns && !(isNaN(columns))) ? parseInt(columns) : 3,
model: model ? model : "h",
inputWidth: inputWidth ? inputWidth : '6',
defaultOptions: defaultOption
});
isEmpty = (isEmpty == true) ? true : false;
if (!isEmpty) {
params = (params == undefined) ? null : params;
var data = BH_UTILS.doSyncAjax(ROOT_PATH + pageUrl + "/" + actionName + ".do", params, "POST");
var value = data.datas[actionName].rows;
if (value && value.length > 0) {
$("#" + containerName).emapForm('setValue', value[0]);
}
}
return formObj;
};
/**
* 封装生成常规form表单的方法,与buildFormByList的区别在于传的参数不同,该方法接受的参数为拼装好相应属性的对象
* 拼装成对象的好处是,不用在意参数的顺序,可以更好的使用默认值
* 说明:对象中必需的参数有containerName,pageUrl,actionName
* @param paramObj 参数对象
*/
PUB_FUNC.buildFormByObj = function(paramObj) {
var containerName = paramObj.containerName;
var pageUrl = paramObj.pageUrl;
var actionName = paramObj.actionName;
var params = paramObj.params;
var columns = paramObj.columns;
var readonly = paramObj.readonly;
var model = paramObj.model;
var isEmpty = paramObj.isEmpty;
isEmpty = (isEmpty == true) ? true : false;
if (isEmpty) {
readonly = false;
}
var fileOptions = paramObj.fileOptions;
var rootath = paramObj.rootpath;
var dataModel = paramObj.dataModel;
var inputWidth = paramObj.inputWidth;
var defaultOptions = paramObj.defaultOptions;
return PUB_FUNC.buildFormByList(containerName, pageUrl, actionName, params, columns, readonly, isEmpty, model, fileOptions, rootath, dataModel, inputWidth, defaultOptions);
};
/**
* 封装生成常规table的方法
* 说明:必传的参数有containerName,pageUrl,actionName
* @param containerName html/jsp文件中用于存放生成table的DOM元素的id属性值 e.g. <div id="tableCon"></div> 参数为"tableCon"
* @param pageUrl 页面路径(不含.do) e.g. "modules*teacher/violate_query"
* @param actionName 动作名 e.g. "wjcfcx"
* @param params 动作的参数
* @param customColumns 操作列 ,自己拼装的操作列对象数组
* @param pageable 是否有分页
* @param searchContainerName 高级查询的DOM容器节点的id属性值,如果不传的话,表示没有
*/
PUB_FUNC.createTableByList = function(containerName, pageUrl, actionName, params, customColumns, sortable, pageable, searchContainerName, selectionMode, renderedFunction, onceParams, pagerMode, rootPath, lineNum, pageSizeOptions, pageSize,searcherInitComplete) {
var ROOT_PATH = rootPath ? rootPath : "";
var options = {
pagePath: ROOT_PATH + pageUrl + ".do",
height: null,
minLineNum: (lineNum == undefined) ? 10 : lineNum,
params: (params == undefined) ? {} : params,
action: actionName,
pageable: (pageable == false) ? false : true,
sortable: (sortable == true) ? true : false,
customColumns: (customColumns == undefined) ? [] : customColumns,
selectionMode: selectionMode ? selectionMode : 'custom',
onceParams: (onceParams == undefined) ? {} : onceParams,
enableBrowserSelection: true,
fastRender: true,
rendered: renderedFunction,
pageSizeOptions: (pageSizeOptions == undefined) ? [10, 20, 50, 100] : pageSizeOptions,
pageSize: (pageSize == undefined) ? 10 : pageSize
};
if (pagerMode) {
options.pagerMode = pagerMode;
}
var tableObj = $("#" + containerName).emapdatatable(options);
//如果参数传了高级查询的DOM元素id,则为table创建一个相关的高级查询组件
if (searchContainerName) {
PUB_FUNC.createSearcher(searchContainerName, ROOT_PATH + pageUrl, actionName, function(condition) {
//生源地单独处理,解决生源地查询时,需要能查询到子节点的相关数据 问题 ----eidt by shifeng 2017-8-9 13:54:27
if ($('#' + searchContainerName).emapAdvancedQuery(true).options.searchModel == 'advanced') {
//解析json
condition = JSON.parse(condition);
//遍历结果集合,如果是SYDDM, 则判断是否有具体值
for (var i = 0; i < condition.length; i++) {
//基本信息 SYDDM CSDDM
if ((condition[i].name == 'SYDDM' || condition[i].name == 'CSDDM' ||
condition[i].name == 'JTDZQH' || condition[i].name == 'JG') && condition[i].value.length == 6) {
var ssyValue = condition[i].value;
var secondValue = ssyValue.substr(2, 2); //第二级,市
var thirdValue = ssyValue.substr(4, 2); //第三级 县镇
condition[i].builder = 'beginWith';
//市不存在,只留省份
if (secondValue == '00') {
condition[i].value = condition[i].value.substr(0, 2);
continue;
}
//县镇不存在,只留省份市 00 表示没有
if (thirdValue == '00') {
condition[i].value = condition[i].value.substr(0, 4);
continue;
}
}
// 政工队伍 ,ZYJSZWDM
if (condition[i].name == 'ZYJSZWDM' && condition[i].value.length == 3) {
//参数值
var ssyValue = condition[i].value;
var secondValue = ssyValue.substr(2, 1); //第二级
//市不存在,只留省份
if (secondValue == '0') {
condition[i].value = condition[i].value.substr(0, 2);
continue;
}
}
}
//格式转换
condition = JSON.stringify(condition);
}
$("#" + containerName).emapdatatable('reloadFirstPage', {
"querySetting": condition
});
},searcherInitComplete);
//如果是新生管理的 1 否则为 0
if (actionName == "xsxxbgdz") {
PUB_FUNC.searchContainerAutoCombo(searchContainerName, "1");
} else if (actionName == "shmxcx") { //奖学金审核 助学金审核 actionName 相同
PUB_FUNC.searchContainerAutoCombo(searchContainerName, "2");
} else {
PUB_FUNC.searchContainerAutoCombo(searchContainerName, "0");
}
}
return tableObj;
};
/**
* 封装生成常规table的方法,与createTableByList的区别在于传的参数不同,该方法接受的参数为拼装好相应属性的对象
* 拼装对象的好处是,不用在意参数的顺序,可以更好的利用默认值
* 说明:对象中必需的参数有containerName,pageUrl,actionName
* @param paramObj
*/
PUB_FUNC.createTableByObj = function(paramObj) {
var containerName = paramObj.containerName;
var pageUrl = paramObj.pageUrl;
var actionName = paramObj.actionName;
var params = paramObj.params;
var customColumns = paramObj.customColumns;
var sortable = paramObj.sortable;
var pageable = paramObj.pageable;
var searchContainerName = paramObj.searchContainerName;
var selectionMode = paramObj.selectionMode;
var onceParams = paramObj.onceParams;
var renderedFunction = paramObj.rendered;
var pagerMode = paramObj.pagerMode;
var rootpath = paramObj.rootpath;
var lineNum = paramObj.lineNum;
var pageSizeOptions = paramObj.pageSizeOptions;
var pageSize = paramObj.pageSize;
var searcherInitComplete = paramObj.searcherInitComplete;
return PUB_FUNC.createTableByList(containerName, pageUrl, actionName, params, customColumns, sortable, pageable, searchContainerName, selectionMode, renderedFunction, onceParams, pagerMode, rootpath, lineNum, pageSizeOptions, pageSize,searcherInitComplete);
};
/**
* 封装生成高级查询组件的方法
* @param containerName html/jsp文件中用于存放高级搜索的DOM元素的id属性值 e.g. <div id="searchCon"></div> 参数为"searchCon"
* @param pageUrl 页面路径(不含.do) e.g. "modules*teacher/violate_query"
* @param actionName 动作名
* @param callback 高级搜索组件查询时的回调函数,该函数可以获得查询条件参数
*/
PUB_FUNC.createSearcher = function(containerName, pageUrl, actionName, callback,searcherInitComplete) {
var dataModel = WIS_EMAP_SERV.getModel(pageUrl + ".do", actionName, "search");
$("#" + containerName).emapAdvancedQuery({
data: dataModel,
initComplete: function() {
if (searcherInitComplete && (typeof searcherInitComplete) === "function") {
searcherInitComplete();
}
}
});
$("#" + containerName).on('search', function(e, condition) {
var queryOptions = JSON.parse(condition);
//将所有注册为文本字段的条件构造器修改为include,用以实现模糊搜索
$(queryOptions).each(function(index) {
var queryOption = this;
//如果为组合条件,则继续遍历
if (queryOption instanceof Array) {
$(queryOption).each(function() {
//如果该字段注册为文本字段,则修改条件构造器
if (ADVANCE_SERACHER_TEXT_FIELDS[this.name] && this.builder == 'equal') {
this.builder = 'include';
}
});
} else {
//如果该字段注册为文本字段,则修改条件构造器
if (ADVANCE_SERACHER_TEXT_FIELDS[this.name] && this.builder == 'equal') {
this.builder = 'include';
}
}
});
condition = JSON.stringify(queryOptions);
if (typeof(callback) == "function") {
callback(condition);
}
});
};
/**
* 封装导出功能
* @param el 封装好的参数对象,其中需拼装的属性有 "app","contextPath","module","page","action","querySetting","*order","containerId"
*/
PUB_FUNC.exportfn = function(el) {
var $table = $("#" + el.containerId);
if (el.isGrid) {
$table = $("#" + el.containerId).emapGrid('getTable');
}
var url = el.contextPath + "/sys/emapcomponent/imexport/export.do";
var params = el;
params["module"] = el.module ? el.module : "*default";
if (!el.colnames) {
var visibleColumns = $table.emapdatatable("getVisibleColumns");
var colnames = "";
for (var i = 0; i < visibleColumns.length; i++) {
if (visibleColumns[i].datafield && visibleColumns[i].datafield != "field_checkbox") {
colnames += visibleColumns[i].datafield.replace("_DISPLAY", "") + ",";
}
}
params["colnames"] = colnames.substr(0, colnames.length - 1);
}
if (!el.order) {
var pxzd = $table.emapdatatable("getSort");
if (pxzd && pxzd.length > 0) {
params["*order"] = pxzd.exp.replace("_DISPLAY", "");
}
} else {
params["*order"] = el.order;
}
jQuery.ajax({
url: url,
data: params,
type: 'post',
dataType: 'json',
cache: false,
success: function(ret) {
var attachment = ret.attachment;
var url = el.contextPath + "/sys/emapcomponent/file/getAttachmentFile/" + attachment + ".do";
window.location.href = url;
return false;
},
error: function(resp) {
if (resp.status == 401) {
window.location.reload();
} else if (resp.status == 403) {
BH_UTILS.bhDialogWarning({
title: '提示',
content: '当前角色权限不足,请切换角色后重新操作',
buttons: [{
text: '确认',
className: 'bh-btn-warning',
callback: function() {}
}]
});
return false;
}
// 长时间未操作提示错误
if (resp.statusText.indexOf("NetworkError") > -1) {
BH_UTILS.bhDialogDanger({
title: '网络错误',
content: '您可以尝试刷新页面解决该问题',
buttons: [{
text: '关闭',
className: 'bh-btn-default'
}]
});
return false;
}
}
});
};
/**
* 导出功能方法,支持
* @author 01116077
* @param el 参数对象
* app 应用名
* contextPath 上下文路径
* module 模块名称
* page 页面
* action 动作
* querySetting 查询参数!
* *order 排序
* containerId 表格ID
* 时间:2017-8-9 18:58:03
*/
PUB_FUNC.exportExtraFieldfn = function(el) {
var $table = $("#" + el.containerId);
if (el.isGrid) {
$table = $("#" + el.containerId).emapGrid('getTable');
}
//参数处理
if (el.querySetting) {
var querySetting = JSON.parse(el.querySetting);
PUB_FUNC.calculateExportSearch(querySetting);
el.querySetting = JSON.stringify(querySetting);
}
var url = el.contextPath + "/sys/emapcomponent/imexport/export.do";
var params = el;
params["module"] = el.module ? el.module : "*default";
if (!el.colnames) {
var visibleColumns = $table.emapdatatable("getVisibleColumns");
var colnames = "";
for (var i = 0; i < visibleColumns.length; i++) {
if (visibleColumns[i].datafield && visibleColumns[i].datafield != "field_checkbox") {
colnames += visibleColumns[i].datafield.replace("_DISPLAY", "") + ",";
}
}
params["colnames"] = colnames.substr(0, colnames.length - 1);
}
if (!el.order) {
var pxzd = $table.emapdatatable("getSort");
if (pxzd && pxzd.length > 0) {
params["*order"] = pxzd.exp.replace("_DISPLAY", "");
}
} else {
params["*order"] = el.order;
}
jQuery.ajax({
url: url,
data: params,
type: 'post',
dataType: 'json',
cache: false,
success: function(ret) {
var attachment = ret.attachment;
var url = el.contextPath + "/sys/emapcomponent/file/getAttachmentFile/" + attachment + ".do";
window.location.href = url;
return false;
},
error: function(resp) {
if (resp.status == 401) {
window.location.reload();
} else if (resp.status == 403) {
BH_UTILS.bhDialogWarning({
title: '提示',
content: '当前角色权限不足,请切换角色后重新操作',
buttons: [{
text: '确认',
className: 'bh-btn-warning',
callback: function() {}
}]
});
return false;
}
// 长时间未操作提示错误
if (resp.statusText.indexOf("NetworkError") > -1) {
BH_UTILS.bhDialogDanger({
title: '网络错误',
content: '您可以尝试刷新页面解决该问题',
buttons: [{
text: '关闭',
className: 'bh-btn-default'
}]
});
return false;
}
}
});
};
/**
* 支持生源地,出生地等树形高级检索字段数据处理
* 生源地 ,出生地等字段,为三级联动,选择上一级,则把下面的所有数据全部查出来
* @author 01116077
* @param querySetting 对象
* 时间:2017-8-9 18:52:06
*/
PUB_FUNC.calculateExportSearch = function(querySetting) {
//遍历数组
for (var i = 0; i < querySetting.length; i++) {
//对象,为高级检索模式
if (querySetting[i] instanceof Object) {
//匹配字段, SYDDM , CSDDM 等字段,且存在查询值
if ((querySetting[i].name == 'SYDDM' || querySetting[i].name == 'CSDDM' ||
querySetting[i].name == 'JTDZQH' || querySetting[i].name == 'JG') &&
querySetting[i].value.length == 6) {
//参数值
var ssyValue = querySetting[i].value;
var secondValue = ssyValue.substr(2, 2); //第二级,市
var thirdValue = ssyValue.substr(4, 2); //第三级 县镇
//市不存在,只留省份
if (secondValue == '00') {
querySetting[i].value = querySetting[i].value.substr(0, 2);
continue;
}
//县镇不存在,只留省份市 00 表示没有
if (thirdValue == '00') {
querySetting[i].value = querySetting[i].value.substr(0, 4);
continue;
}
}
// 政工队伍 ,ZYJSZWDM
if (querySetting[i].name == 'ZYJSZWDM' && querySetting[i].value.length == 3) {
//参数值
var ssyValue = querySetting[i].value;
var secondValue = ssyValue.substr(2, 1); //第二级,市
//市不存在,只留省份
if (secondValue == '0') {
querySetting[i].value = querySetting[i].value.substr(0, 2);
continue;
}
}
}
//数组复合结构 [ [{},{}] , []]
if (querySetting[i] instanceof Array) {
for (var j = 0; j < querySetting[i].length; j++) {
if (querySetting[i][j] instanceof Object) {
//匹配字段, SYDDM , CSDDM 等字段,且存在查询值
if ((querySetting[i][j].name == 'SYDDM' || querySetting[i][j].name == 'CSDDM' ||
querySetting[i][j].name == 'JTDZQH' || querySetting[i][j].name == 'JG') && querySetting[i][j].value.length == 6) {
var ssyValue = querySetting[i][j].value;
var secondValue = ssyValue.substr(2, 2); //第二级,市
var thirdValue = ssyValue.substr(4, 2); //第三级 县镇
//市不存在,只留省份
if (secondValue == '00') {
querySetting[i][j].value = querySetting[i][j].value.substr(0, 2);
continue;
}
//县镇不存在,只留省份市 00 表示没有
if (thirdValue == '00') {
querySetting[i][j].value = querySetting[i][j].value.substr(0, 4);
continue;
}
}
}
// 政工队伍 ,ZYJSZWDM
if (querySetting[i].name == 'ZYJSZWDM' && querySetting[i].value.length == 3) {
//参数值
var ssyValue = querySetting[i].value;
var secondValue = ssyValue.substr(2, 1); //第二级,市
//市不存在,只留省份
if (secondValue == '0') {
querySetting[i].value = querySetting[i].value.substr(0, 2);
continue;
}
}
}
}
}
};
/**
* 封装报表上传导出功能
* @param data
* var data = new FormData();
* data.append("inputfile", $('#inputfile').prop('files')[0]); //报表文件
data.append("id",$('#schemeNameID').val()); //id 为空新增,不为空更新
data.append("schemeName",lbmc+"离校单"); //方案名称
data.append("tag",lbdm); //报表标识
data.append("appname",WIS_CONFIG.APPNAME); //报表所在应用名
*/
PUB_FUNC.saveReport = function(data, callback) {
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
}
/*$.ajax({
type: 'POST',
processData: false,
contentType: false,
data: data,
url: (window.location.origin + WIS_CONFIG.PATH+"/sys/frReport/webapi/schemes/custom.do"),
dataType : 'json',
success: function(returnData){
if (returnData != "true") {
}else{
callback();
}
}
});*/
//modify by 01314118 2016-08-08
//data 为FormData类型 IE9 不兼容,修改为版本上传组件方式
//fileupload 使用 send 提交时 files 不能为空,创建默认空值,具体内容在 formData中 提交
var files = [];
files.push({
'lastModified': '',
'lastModifiedDate': '',
'name': "",
'size': 1,
'type': "",
'webkitRelativePath': ""
});
var $dom = $('<input type="file" id = "reportdomid">');
$dom.fileupload({
autoUpload: false,
dataType: 'json',
done: function(e, data) {
if (data.result != "true") {
} else {
callback();
}
}
});
$dom.fileupload('send', {
url: (window.location.origin + WIS_CONFIG.PATH + "/sys/frReport/webapi/schemes/custom.do"),
files: files,
formData: data
});
};
/**
* 封装报表删除功能
* @param id 保存报表的 id(必填)
* callback 回调成功回调
*/
PUB_FUNC.deleteReport = function(id, callback) {
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
}
$.ajax({
type: "DELETE",
url: (window.location.origin + WIS_CONFIG.PATH + '/sys/frReport/webapi/schemes/' + id + '.do'),
data: "",
datatype: "json",
async: false,
success: function(data) {
callback();
},
error: function(data) {
$.bhDialog({
title: '后台数据异常,请联系管理员',
iconType: 'warning'
});
return false;
}
});
};
/**
* 封装报表发布功能
* @param id 保存报表的 id(必填)
* started (true发布:false 取消发布)
* callback 回调
*/
PUB_FUNC.switchSchemeStatus = function(id, started, callback) {
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
}
$.ajax({
url: (window.location.origin + WIS_CONFIG.PATH + "/sys/frReport/webapi/schemes/switchSchemeStatus.do"),
data: {
"started": started,
"id": id
},
type: "POST",
async: false,
success: function(data) {
if (!data) {
//swal("", data, "error");
} else {
callback();
}
}
});
};
/**
* 封装获取报表信息功能
* @param id 保存报表的 id(必填)
*/
PUB_FUNC.getReportById = function(id) {
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
}
var temp = "";
$.ajax({
url: (window.location.origin + WIS_CONFIG.PATH + '/sys/frReport/webapi/schemes/' + id + '.do'),
data: "",
type: "GET",
dataType: "json",
contentType: "application/json",
async: false,
success: function(data) {
temp = data;
}
});
return JSON.parse(temp);
};
/**
* 刷新字典
* 用于实时刷新字典内容
* @param appname 调用动作的app名称
* @param dicid 刷新的字典的id
*/
PUB_FUNC.refreshDic = function(appname, dicid) {
$.ajax({
url: WIS_EMAP_SERV.getContextPath() + "/sys/emapcomponent/clearDicCache.do?app=" + appname + "&dic=" + dicid + "",
type: 'post',
dataType: 'json',
async: false,
error: function(resp) {
if (resp.status == 0 || resp.status == 401) {
window.location.reload();
} else if (resp.status == 403) {
BH_UTILS.bhDialogWarning({
title: '提示',
content: '当前角色权限不足,请切换角色后重新操作',
buttons: [{
text: '确认',
className: 'bh-btn-warning',
callback: function() {}
}]
});
return false;
}
// 长时间未操作提示错误
if (resp.statusText.indexOf("NetworkError") > -1) {
BH_UTILS.bhDialogDanger({
title: '网络错误',
content: '您可以尝试刷新页面解决该问题',
buttons: [{
text: '关闭',
className: 'bh-btn-default'
}]
});
return false;
}
$.bhDialog({
title: '刷新异常,请联系管理员',
iconType: 'warning'
});
//swal('刷新异常,请联系管理员!');
return;
},
success: function(data) {
if (data.code == 0) {} else {
$.bhDialog({
title: '刷新异常,请联系管理员',
iconType: 'warning'
});
//swal('刷新异常,请联系管理员');
return;
}
}
});
};
/**
* 封装弹出框功能
* @param paramObj 拼装号的参数对象,其中可配的属性如下
** iconType 图标类型 暂时只支持success/warning/danger
** title 标题 对话框显示的标题
** content 正文 对话框显示的正文
** className 样式名 可以给对话框加上自定义的类
** width 宽度 对话框默认的宽度 默认值464
** height 高度 对话框默认的高度 默认值330
** buttons 按钮集 对话框中展示的按钮集 默认值 [{text:'确定',className:'bh-btn-primary',callback:null}]
*/
PUB_FUNC.cPopup = function(paramObj) {
var classJudge = false;
var utils = require('utils');
var bhVersion = utils.getConfig('BH_VERSION');
if (bhVersion == '' || bhVersion == null || bhVersion == undefined || bhVersion == '1.1') {
//need className
classJudge = true;
}
console.log(utils);
if (paramObj && paramObj.iconType && paramObj.iconType == "warning") {
paramObj.buttons = [{
text: '确定',
className: (classJudge ? 'bh-btn-warning' : ''),
callback: null
}];
}
$.bhDialog(paramObj);
};
/**
* 封装的成功弹出框,可以定时消失
* @param title 标题
* @param content 内容
* @param time 消失的时间 毫秒为单位
*/
PUB_FUNC.tPopup = function(title, content, time, callback) {
var classJudge = false;
var utils = require('utils');
var bhVersion = utils.getConfig('BH_VERSION');
if (bhVersion == '' || bhVersion == null || bhVersion == undefined || bhVersion == '1.1') {
//need className
classJudge = true;
}
var paramObj = {};
var uniqueClassMark = PUB_FUNC.randomString();
paramObj["title"] = title;
paramObj["content"] = content;
paramObj["iconType"] = "success";
if (!paramObj["content"] || paramObj["content"] === '') {
paramObj["content"] = paramObj["title"];
paramObj["title"] = "提示";
}
var buttons = [{
text: '确定',
className: (classJudge ? 'bh-btn-primary ' : '') + uniqueClassMark,
callback: (callback ? callback : null)
}];
paramObj["buttons"] = buttons;
time = (time && !isNaN(time)) ? parseInt(time) : 3000;
$.bhDialog(paramObj);
setTimeout(function() {
var $dom = $('.bh-dialog-btnContainerBox a');
if($dom.length>0){
$dom.trigger("click");
}
}, time);
};
/**
* 封装的警告弹出框,弹出框必须点击确定后消失
* @param title 标题
* @param content 内容
*/
PUB_FUNC.tPopup_Warning = function(title, content, param, callback) {
var classJudge = false;
var utils = require('utils');
var bhVersion = utils.getConfig('BH_VERSION');
if (bhVersion == '' || bhVersion == null || bhVersion == undefined || bhVersion == '1.1') {
//need className
classJudge = true;
}
var paramObj = {};
var uniqueClassMark = PUB_FUNC.randomString();
paramObj = param;
paramObj["title"] = title;
paramObj["content"] = content;
paramObj["iconType"] = "";
var buttons = [{
text: '确定',
className: (classJudge ? 'bh-btn-warning' : '') + uniqueClassMark,
callback: (callback ? callback : null)
}];
paramObj["buttons"] = buttons;
if (!paramObj["content"] || paramObj["content"] === '') {
paramObj["content"] = paramObj["title"];
paramObj["title"] = "提示";
}
BH_UTILS.bhDialogWarning(paramObj);
};
/**
* 封装的危险弹出框,弹出框必须点击确定后消失
* @param title 标题
* @param content 内容
*/
PUB_FUNC.tPopup_Danger = function(title, content, param, callback) {
var classJudge = false;
var utils = require('utils');
var bhVersion = utils.getConfig('BH_VERSION');
if (bhVersion == '' || bhVersion == null || bhVersion == undefined || bhVersion == '1.1') {
//need className
classJudge = true;
}
var paramObj = {};
var uniqueClassMark = PUB_FUNC.randomString();
paramObj = param;
paramObj["title"] = title;
paramObj["content"] = content;
paramObj["iconType"] = "";
var buttons = [{
text: '确定',
className: (classJudge ? 'bh-btn-primary' : '') + uniqueClassMark,
callback: (callback ? callback : null)
}];
paramObj["buttons"] = buttons;
if (!paramObj["content"] || paramObj["content"] === '') {
paramObj["content"] = paramObj["title"];
paramObj["title"] = "提示";
}
BH_UTILS.bhDialogDanger(paramObj);
};
/**
* 获取一个指定长度的随机字符串
* @param len 生成的字符串的长度 默认32位
*/
PUB_FUNC.randomString = function(len) {
len = len || 32;
var usingChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var maxPos = usingChars.length;
var resultStr = "";
for (var i = 0; i < len; i++) {
resultStr += usingChars.charAt(Math.floor(Math.random() * maxPos));
}
return resultStr;
};
/**
* 获取请求URL后请求参数
* @param name 参数名
*/
PUB_FUNC.GetQueryString = function(name) {
var reg = new RegExp('.*[?&]' + name + '\=([^\&]*)\&?.*');
var value = window.location.hash.replace(reg, "$1");
if (window.location.hash == value) {
return '';
}
return value;
};
/**
* ajax请求
*
* @param url
* @param params
* @returns {}
*/
PUB_FUNC.ajaxQuery = function(url, params, name) {
var rData = "";
$.ajax({
url: url,
type: 'post',
dataType: 'json',
data: params,
async: false, // 默认为true 异步
error: function(resp) {
if (resp.status == 0 || resp.status == 401) {
window.location.reload();
} else if (resp.status == 403) {
BH_UTILS.bhDialogWarning({
title: '提示',
content: '当前角色权限不足,请切换角色后重新操作',
buttons: [{
text: '确认',
className: 'bh-btn-warning',
callback: function() {}
}]
});
return false;
}
// 长时间未操作提示错误
if (resp.statusText.indexOf("NetworkError") > -1) {
BH_UTILS.bhDialogDanger({
title: '网络错误',
content: '您可以尝试刷新页面解决该问题',
buttons: [{
text: '关闭',
className: 'bh-btn-default'
}]
});
return false;
}
$.bhDialog({
title: '后台数据异常,请联系管理员',
iconType: 'warning'
});
return;
},
success: function(data) {
if (data.code == 0) {
rData = data.datas[name].rows;
} else {
$.bhDialog({
title: '数据获取异常,请联系管理员',
iconType: 'warning'
});
return;
}
}
});
return rData;
};
/**
* ajax请求
*
* @param url
* @param params
* @returns callback
*/
PUB_FUNC.ajaxaction = function(url, params, callback, async) {
$.ajax({
url: url,
type: 'post',
dataType: 'json',
data: params,
async: async ? true : false,
error: function(resp) {
if (resp.status == 0 || resp.status == 401) {
window.location.reload();
} else if (resp.status == 403) {
BH_UTILS.bhDialogWarning({
title: '提示',
content: '当前角色权限不足,请切换角色后重新操作',
buttons: [{
text: '确认',
className: 'bh-btn-warning',
callback: function() {}
}]
});
return false;
}
// 长时间未操作提示错误
if (resp.statusText.indexOf("NetworkError") > -1) {
BH_UTILS.bhDialogDanger({
title: '网络错误',
content: '您可以尝试刷新页面解决该问题',
buttons: [{
text: '关闭',
className: 'bh-btn-default'
}]
});
return false;
}
$.bhDialog({
title: '后台数据异常,请联系管理员',
iconType: 'warning'
});
return;
},
success: function(data) {
if (data.code == 0) {
callback(data);
} else {
//参数是否正常,有误提示!!!!
if (data.code == AJAX_PARAM_ERROR) {
BH_UTILS.bhDialogWarning({
title: '警告',
content: '请求参数错误 请重试',
buttons: [{
text: '确认',
className: 'bh-btn-warning',
callback: function() {}
}]
});
} else {
$.bhDialog({
title: '数据获取异常,请联系管理员',
iconType: 'warning'
});
return;
}
}
}
});
};
/**
* 新版ajax请求,支持动作和自定义(同步)
*
* @param url
* @param params
* @returns callback
*/
PUB_FUNC.ajaxPost = function(url, params, successCallback, errorCallback) {
$.ajax({
url: url,
type: 'post',
dataType: 'json',
data: params,
async: false,
error: function(resp) {
if (resp.status == 0 || resp.status == 401) {
window.location.reload();
} else if (resp.status == 403) {
BH_UTILS.bhDialogWarning({
title: '提示',
content: '当前角色权限不足,请切换角色后重新操作',
buttons: [{
text: '确认',
className: 'bh-btn-warning',
callback: function() {}
}]
});
return false;
}
// 长时间未操作提示错误
if (resp.statusText.indexOf("NetworkError") > -1) {
BH_UTILS.bhDialogDanger({
title: '网络错误',
content: '您可以尝试刷新页面解决该问题',
buttons: [{
text: '关闭',
className: 'bh-btn-default'
}]
});
return false;
}
$.bhDialog({
title: '后台数据异常,请联系管理员',
iconType: 'warning'
});
errorCallback(default_db_error);
},
success: function(data) {
if (null == data.code || undefined == data.code || data.code == 0) {
successCallback(data);
} else {
$.bhDialog({
title: '后台数据异常,请联系管理员',
iconType: 'warning'
});
successCallback(default_db_error);
}
}
});
};
/**
* 新版ajax请求,支持动作和自定义(异步)
*
* @param url
* @param params
* @returns callback
*/
PUB_FUNC.ajaxPostAsync = function(url, params, successCallback, errorCallback) {
$.ajax({
url: url,
type: 'post',
dataType: 'json',
data: params,
error: function(resp) {
if (resp.status == 0 || resp.status == 401) {
window.location.reload();
} else if (resp.status == 403) {
BH_UTILS.bhDialogWarning({
title: '提示',
content: '当前角色权限不足,请切换角色后重新操作',
buttons: [{
text: '确认',
className: 'bh-btn-warning',
callback: function() {}
}]
});
return false;
}
// 长时间未操作提示错误
if (resp.statusText.indexOf("NetworkError") > -1) {
BH_UTILS.bhDialogDanger({
title: '网络错误',
content: '您可以尝试刷新页面解决该问题',
buttons: [{
text: '关闭',
className: 'bh-btn-default'
}]
});
return false;
}
$.bhDialog({
title: '后台数据异常,请联系管理员',
iconType: 'warning'
});
errorCallback(default_db_error);
},
success: function(data) {
if (null == data.code || undefined == data.code || data.code == 0) {
successCallback(data);
} else {
$.bhDialog({
title: '后台数据异常,请联系管理员',
iconType: 'warning'
});
successCallback(default_db_error);
}
}
});
};
/**
* 确认弹出框
*
* @param url
* @param params
* @returns callback
*/
PUB_FUNC.confirmDialog = function(title, callback, text) {
var classJudge = false;
var utils = require('utils');
var bhVersion = utils.getConfig('BH_VERSION');
if (bhVersion == '' || bhVersion == null || bhVersion == undefined || bhVersion == '1.1') {
//need className
classJudge = true;
}
var buttons = [{
text: text ? text : "确认",
className: classJudge ? "bh-btn-warning" : '',
callback: function() {
callback();
}
}, {
text: "取消",
className: classJudge ? "bh-btn-default" : ''
}];
$.bhDialog({
'title': title,
"iconType": "warning",
buttons: buttons
});
};
/**
* 根据token获取文件路径
*
* @param token
* @returns fileurl
*/
PUB_FUNC.getImageSrc = function(token) {
var fileUrl = '';
$.ajax({
type: "post",
url: contextPath + "/sys/emapcomponent/file/getUploadedAttachment/" + token + ".do",
dataType: "json",
async: false, // 默认为true 异步
success: function(res) {
if (res.success) {
$(res.items).each(function() {
fileUrl = this.fileUrl;
});
}
}
});
return fileUrl;
};
/**
* 高级查询院系专业班级下拉框联动
*
* @param 高级搜索框渲染id
*/
PUB_FUNC.searchContainerAutoCombo = function(queryFromId, linkType) {
//学院-专业联动
$('#' + queryFromId).on('click', 'div[data-name=DWDM]', function() {
setQueryAutoCombo(queryFromId, linkType);
});
$('#' + queryFromId).on('click', 'div[data-name=ZYDM]', function() {
setQueryAutoCombo(queryFromId, linkType);
});
$('#' + queryFromId).on('click', 'div[data-name=BJDM]', function() {
setQueryAutoCombo(queryFromId, linkType);
});
$('#' + queryFromId).on('click', 'div[data-name=PJDWDM]', function() {
setQueryAutoCombo(queryFromId, linkType);
});
//宿舍下拉框动态加载
$('#' + queryFromId).on('click', 'div[data-name=XQDM]', function() {
setQueryAutoCombo(queryFromId, linkType);
});
$('#' + queryFromId).on('click', 'div[data-name=SSQDM]', function() {
setQueryAutoCombo(queryFromId, linkType);
});
$('#' + queryFromId).on('click', 'div[data-name=SSLDM]', function() {
setQueryAutoCombo(queryFromId, linkType);
});
$('#' + queryFromId).on('click', 'div[data-name=SSQ]', function() {
setQueryAutoCombo(queryFromId, linkType);
});
$('#' + queryFromId).on('click', 'div[data-name=SSL]', function() {
setQueryAutoCombo(queryFromId, linkType);
});
$('#' + queryFromId).on('click', 'div[data-name=JXJDM]', function() {
setQueryAutoCombo(queryFromId, linkType);
});
$('#' + queryFromId).on('click', 'div[data-name=ZXJDM]', function() {
setQueryAutoCombo(queryFromId, linkType);
});
};
/**
* 高级检索下拉框联动自动查询
* queryFromId 表单ID
* 时间:2016-4-15 10:30:50
* @version 2.0
* 增加多选可能情况 2016-7-25 19:27:26
*/
function setQueryAutoCombo(queryFromId, linkType) {
//1. 学院联动使用, 获取专业,班级,学院下拉框
var DWDM = $('#' + queryFromId + ' div[data-name=DWDM]:visible');
var ZYDM = $('#' + queryFromId + ' div[data-name=ZYDM]:visible');
var BJDM = $('#' + queryFromId + ' div[data-name=BJDM]:visible');
var PJDWDM = $('#' + queryFromId + ' div[data-name=PJDWDM]');
//2.获取宿舍查询联动
var XQDM = $('#' + queryFromId + ' div[data-name=XQDM]');
var SSQ = $('#' + queryFromId + ' div[data-name=SSQ] , ' + '#' + queryFromId + ' div[data-name=SSQDM]');
var SSL = $('#' + queryFromId + ' div[data-name=SSL] , ' + '#' + queryFromId + ' div[data-name=SSLDM]');
//3.奖学金联动等级 评定等级
var JXJ = $('#' + queryFromId + ' div[data-name=JXJDM]');
var PDDJ_JXJ = $('#' + queryFromId + ' div[data-name=JXJDJDM]');
var SQDJ_JXJ = $('#' + queryFromId + ' div[data-name=SQDJ_JXJ]');
//3.助学金联动等级 评定等级
var ZXJ = $('#' + queryFromId + ' div[data-name=ZXJDM]');
var PDDJ_ZXJ = $('#' + queryFromId + ' div[data-name=ZXJDJDM]');
var SQDJ_ZXJ = $('#' + queryFromId + ' div[data-name=SQDJ]');
//1.1学院联动代码 存在学院选项,则专业和班级不需要自动加载
if (DWDM[0]) {
//禁止自动检索数据
if (ZYDM[0]) {
ZYDM.off('open');
}
if (BJDM[0]) {
BJDM.off('open');
}
if (PJDWDM[0] && linkType == "2") {
PJDWDM.off('open');
}
}
//如果不存在院系,专业默认检索,班级根据专业获取
else {
if (ZYDM[0] && ZYDM.val() == "") {
BJDM.off('open');
}
}
//2.部门选择时候,(不存在忽略)
DWDM.on('select', function() {
//存在专业选项
if (ZYDM[0]) {
ZYDM.jqxDropDownList({
disabled: false
});
//选中项不变,不需要再次加载数据
if (ZYDM.data('DWDM') == DWDM.val()) {
return;
}
//选择空值,则清空下面的选项
if (DWDM.val() == '') {
ZYDM.jqxDropDownList('clear');
ZYDM.val('');
ZYDM.data('DWDM', DWDM.val());
BJDM.jqxDropDownList('clear');
BJDM.val('');
return;
}
//清空专业下拉框选项
ZYDM.jqxDropDownList('clear');
//根据学院,检索对应的学院下面的专业信息,公共ajax请求 , 考虑多选情况,使用querySetting
var param = new Object();
//如果是多选,分割,获得单位代码,,使用querySetting 传多个DWDM OR关系
var DWDMArray = DWDM.val().split(",");
var queryDWSetting = [];
for (var i = 0; i < DWDMArray.length; i++) {
queryDWSetting.push({
"caption": "",
"name": "DWDM",
"value": DWDMArray[i],
"builder": "equal",
"linkOpt": "OR"
});
}
queryDWSetting = JSON.stringify(queryDWSetting);
param["querySetting"] = queryDWSetting;
// 动作查询
var result = mineQuery('gjssldcx', param, false);
if (result.resultCode == '00000') {
var data = result.data;
if (data.length != 0) {
for (var i = 0; i < data.length; i++) {
ZYDM.jqxDropDownList('addItem', {
'id': data[i].ZYDM,
'name': data[i].ZYMC
});
}
}
}
ZYDM.data('DWDM', DWDM.val());
//班级存在,清空数据
if (BJDM[0]) {
//清空班级下面的数据
BJDM.jqxDropDownList('clear');
BJDM.val('');
}
} else {
//不存在专业,获取班级下拉框,判断是否存在
if (BJDM[0]) {
BJDM.jqxDropDownList({
disabled: false
});
//判断部门是否改变,不改变不重新加载数据
if (BJDM.data('DWDM') == DWDM.val()) {
return;
}
//学院存在并且选择了空值,清空班级数据。
if (DWDM.val() == '') {
BJDM.jqxDropDownList('clear');
BJDM.val('');
BJDM.data('DWDM', DWDM.val());
return;
}
//清空班级下面的数据
BJDM.jqxDropDownList('clear');
//根据专业检索班级信息,并重新加载下拉框 多选情况考虑
var param = new Object();
var DWDMArray = DWDM.val().split(",");
var queryDWSetting = [];
for (var i = 0; i < DWDMArray.length; i++) {
queryDWSetting.push({
"caption": "",
"name": "DWDM",
"value": DWDMArray[i],
"builder": "equal",
"linkOpt": "OR"
});
}
queryDWSetting = JSON.stringify(queryDWSetting);
param["querySetting"] = queryDWSetting;
var actionName = linkType == "1" ? "gjjsxsbjcx" : 'gjjsbjcx';
var result = mineQuery(actionName, param, false);
if (result.resultCode == '00000') {
var calData = result.data;
if (calData.length != 0) {
for (var i = 0; i < calData.length; i++) {
BJDM.jqxDropDownList('addItem', {
'id': calData[i].BJDM,
'name': calData[i].BJMC
});
}
}
}
BJDM.data('DWDM', DWDM.val());
}
//不存在专业,获取评奖单位下拉框,判断是否存在
if (PJDWDM[0] && linkType == "2") {
PJDWDM.jqxDropDownList({
disabled: false
});
//判断部门是否改变,不改变不重新加载数据
if (PJDWDM.data('DWDM') == DWDM.val()) {
return;
}
//学院存在并且选择了空值,清空评奖单位数据。
if (DWDM.val() == '') {
PJDWDM.jqxDropDownList('clear');
PJDWDM.val('');
PJDWDM.data('DWDM', DWDM.val());
return;
}
//清空评奖单位下面的数据
PJDWDM.jqxDropDownList('clear');
//根据专业检索班级信息,并重新加载下拉框 多选情况考虑
var param = new Object();
var DWDMArray = DWDM.val().split(",");
var queryDWSetting = [];
for (var i = 0; i < DWDMArray.length; i++) {
queryDWSetting.push({
"caption": "",
"name": "DWDM",
"value": DWDMArray[i],
"builder": "equal",
"linkOpt": "OR"
});
}
queryDWSetting = JSON.stringify(queryDWSetting);
param["querySetting"] = queryDWSetting;
var actionName = "gjsspjdwcx";
var result = mineQuery(actionName, param, false);
if (result.resultCode == '00000') {
var calData = result.data;
if (calData.length != 0) {
for (var i = 0; i < calData.length; i++) {
PJDWDM.jqxDropDownList('addItem', {
'id': calData[i].PJDWDM,
'name': calData[i].PJDWMC
});
}
}
}
PJDWDM.data('DWDM', DWDM.val());
}
}
});
//专业下拉框选择触发
ZYDM.on('select', function() {
//判断是否存在班级下拉框,存在,则根据专业检索班级
if (BJDM[0]) {
//判断专业下拉框对否已经修改,且选择是可选值
if (BJDM.data('ZYDM') == ZYDM.val()) {
return;
}
//判断专业下拉框是否为空,为空则清空
if (ZYDM.val() == '') {
BJDM.jqxDropDownList('clear');
BJDM.val('');
BJDM.data('ZYDM', ZYDM.val());
return;
}
//清空班级下面的数据
BJDM.jqxDropDownList('clear');
//根据专业检索班级信息,并重新加载下拉框 多选情况考虑
var param = new Object();
var ZYDMArray = ZYDM.val().split(",");
var queryZYSetting = [];
for (var i = 0; i < ZYDMArray.length; i++) {
queryZYSetting.push({
"caption": "",
"name": "ZYDM",
"value": ZYDMArray[i],
"builder": "equal",
"linkOpt": "OR"
});
}
queryZYSetting = JSON.stringify(queryZYSetting);
param["querySetting"] = queryZYSetting;
var actionName = linkType == "1" ? "gjjsxsbjcx" : 'gjjsbjcx';
var result = mineQuery(actionName, param, false);
if (result.resultCode == '00000') {
var calData = result.data;
if (calData.length != 0) {
//如果存在单位,循环单位,排除一个专业,多个单位情况
if (DWDM[0]) {
var classArray = [];
var DWDMArray = DWDM.val().split(",");
for (var i = 0; i < calData.length; i++) {
for (var j = 0; j < DWDMArray.length; j++) {
if (calData[i].DWDM === DWDMArray[j]) {
classArray.push(calData[i]);
}
}
}
calData = classArray;
}
for (var i = 0; i < calData.length; i++) {
BJDM.jqxDropDownList('addItem', {
'id': calData[i].BJDM,
'name': calData[i].BJMC
});
}
}
}
BJDM.data('ZYDM', ZYDM.val());
}
});
//2.1 宿舍联动功能,根据控件关闭自动架子数据
if (XQDM[0]) {
//禁止自动检索数据
if (SSQ[0]) {
SSQ.off('open');
}
if (SSL[0]) {
SSL.off('open');
}
}
//如果校区,宿舍区,宿舍楼根据专业获取
else {
if (SSQ[0] && SSQ.val() == "") {
SSL.off('open');
}
}
//2.校区 选择时候,(不存在忽略)
XQDM.on('select', function() {
//存在宿舍区选项
if (SSQ[0]) {
SSQ.jqxDropDownList({
disabled: false
});
//选中项不变,不需要再次加载数据
if (SSQ.data('XQ') == XQDM.val()) {
return;
}
//选择空值,则清空下面的选项
if (XQDM.val() == '') {
SSQ.jqxDropDownList('clear');
SSQ.val('');
SSQ.data('XQ', XQDM.val());
SSL.jqxDropDownList('clear');
SSL.val('');
return;
}
//清空宿舍区下拉框选项
SSQ.jqxDropDownList('clear');
//根据学院,检索对应的学院下面的专业信息,公共ajax请求 多选情况考虑
var param = new Object();
var XQDMArray = XQDM.val().split(",");
var queryXQSetting = [];
for (var i = 0; i < XQDMArray.length; i++) {
queryXQSetting.push({
"caption": "",
"name": "XQDM",
"value": XQDMArray[i],
"builder": "equal",
"linkOpt": "OR"
});
}
queryXQSetting = JSON.stringify(queryXQSetting);
param["querySetting"] = queryXQSetting;
var result = mineQuery('gjjsssl', param, false);
if (result.resultCode == '00000') {
var data = result.data;
if (data.length != 0) {
for (var i = 0; i < data.length; i++) {
SSQ.jqxDropDownList('addItem', {
'id': data[i].SSQDM,
'name': data[i].SSQMC
});
}
}
}
SSQ.data('XQ', XQDM.val());
//宿舍楼存在,清空数据
if (SSL[0]) {
//清空宿舍楼下面的数据
SSL.jqxDropDownList('clear');
SSL.val('');
}
} else {
//不存在宿舍楼,获取宿舍楼下拉框,判断是否存在
if (SSL[0]) {
SSL.jqxDropDownList({
disabled: false
});
//判断校区是否改变,不改变不重新加载数据
if (SSL.data('XQ') == XQDM.val()) {
return;
}
//校区存在并且选择了空值,清空宿舍楼数据。
if (XQDM.val() == '') {
SSL.jqxDropDownList('clear');
SSL.val('');
SSL.data('XQ', XQDM.val());
return;
}
//清空宿舍楼下面的数据
SSL.jqxDropDownList('clear');
//根据校区检索宿舍楼信息,并重新加载下拉框 多选情况考虑
var param = new Object();
var XQDMArray = XQDM.val().split(",");
var queryXQSetting = [];
for (var i = 0; i < XQDMArray.length; i++) {
queryXQSetting.push({
"caption": "",
"name": "XQDM",
"value": XQDMArray[i],
"builder": "equal",
"linkOpt": "OR"
});
}
queryXQSetting = JSON.stringify(queryXQSetting);
param["querySetting"] = queryXQSetting;
var result = mineQuery('gjjssscx', param, false);
if (result.resultCode == '00000') {
var calData = result.data;
if (calData.length != 0) {
for (var i = 0; i < calData.length; i++) {
SSL.jqxDropDownList('addItem', {
'id': calData[i].SSLDM,
'name': calData[i].SSLMC
});
}
}
}
SSL.data('XQ', XQDM.val());
}
}
});
//2.2 宿舍楼选择时候,(不存在忽略)
SSQ.on('select', function() {
if (SSL[0]) {
//设置宿舍楼下拉框
SSL.jqxDropDownList({
disabled: false
});
//判断是否跟新宿舍区值,没有不重新加载
if (SSL.data('SSQ') == SSQ.val()) {
return;
}
//选择空,则直接返回
if (SSQ.val() == '') {
SSL.jqxDropDownList('clear');
SSL.val('');
SSL.data('SSQ', SSQ.val());
return;
}
//跟新了删除下拉框,重新加载
SSL.jqxDropDownList('clear');
//通过宿舍区代码查询宿舍楼信息 多选情况考虑
var param = new Object();
var SSQArray = SSQ.val().split(",");
var querySSQSetting = [];
for (var i = 0; i < SSQArray.length; i++) {
querySSQSetting.push({
"caption": "",
"name": "SSQDM",
"value": SSQArray[i],
"builder": "equal",
"linkOpt": "OR"
});
}
querySSQSetting = JSON.stringify(querySSQSetting);
param["querySetting"] = querySSQSetting;
param.SSQDM = SSQ.val();
var result = mineQuery('gjjssscx', param, false);
if (result.resultCode == '00000') {
var calData = result.data;
if (calData.length != 0) {
for (var i = 0; i < calData.length; i++) {
SSL.jqxDropDownList('addItem', {
'id': calData[i].SSLDM,
'name': calData[i].SSLMC
});
}
}
}
//保存宿舍楼值
SSL.data('SSQ', SSQ.val());
}
});
//3.1 奖学金联动功能,根据控件关闭自动架子数据
if (JXJ[0] && linkType == "2") {
//禁止自动检索数据
if (PDDJ_JXJ[0]) {
PDDJ_JXJ.off('open');
}
if (SQDJ_JXJ[0]) {
SQDJ_JXJ.off('open');
}
}
//3.2 奖学金代码选择时候,(不存在忽略)
JXJ.on('select', function() {
if (PDDJ_JXJ[0] && linkType == "2") {
//设置评定等级下拉框
PDDJ_JXJ.jqxDropDownList({
disabled: false
});
//判断是否跟新宿舍区值,没有不重新加载
if (PDDJ_JXJ.data('JXJDM') == JXJ.val()) {
return;
}
//选择空,则直接返回
if (JXJ.val() == '') {
PDDJ_JXJ.jqxDropDownList('clear');
PDDJ_JXJ.val('');
PDDJ_JXJ.data('JXJDM', JXJ.val());
return;
}
//跟新了删除下拉框,重新加载
PDDJ_JXJ.jqxDropDownList('clear');
//通过奖学金查询等级信息 多选情况考虑
var param = new Object();
var JXJArray = JXJ.val().split(",");
var queryJXJSetting = [];
for (var i = 0; i < JXJArray.length; i++) {
queryJXJSetting.push({
"caption": "",
"name": "JXJDM",
"value": JXJArray[i],
"builder": "equal",
"linkOpt": "OR"
});
}
queryJXJSetting = JSON.stringify(queryJXJSetting);
param["querySetting"] = queryJXJSetting;
param.JXJDM = JXJ.val();
var result = mineQuery('gjssjxjdjcx', param, false);
if (result.resultCode == '00000') {
var calData = result.data;
if (calData.length != 0) {
for (var i = 0; i < calData.length; i++) {
PDDJ_JXJ.jqxDropDownList('addItem', {
'id': calData[i].JXJDJDM,
'name': calData[i].DJMC
});
}
}
}
//保存奖学金值
JXJ.data('JXJDM', JXJ.val());
}
if (SQDJ_JXJ[0] && linkType == "2") {
//设置评定等级下拉框
SQDJ_JXJ.jqxDropDownList({
disabled: false
});
//判断是否跟新宿舍区值,没有不重新加载
if (SQDJ_JXJ.data('JXJDM') == JXJ.val()) {
return;
}
//选择空,则直接返回
if (JXJ.val() == '') {
SQDJ_JXJ.jqxDropDownList('clear');
SQDJ_JXJ.val('');
SQDJ_JXJ.data('JXJDM', JXJ.val());
return;
}
//跟新了删除下拉框,重新加载
SQDJ_JXJ.jqxDropDownList('clear');
//通过奖学金查询等级信息 多选情况考虑
var param = new Object();
var JXJArray = JXJ.val().split(",");
var queryJXJSetting = [];
for (var i = 0; i < JXJArray.length; i++) {
queryJXJSetting.push({
"caption": "",
"name": "JXJDM",
"value": JXJArray[i],
"builder": "equal",
"linkOpt": "OR"
});
}
queryJXJSetting = JSON.stringify(queryJXJSetting);
param["querySetting"] = queryJXJSetting;
param.JXJDM = JXJ.val();
var result = mineQuery('gjssjxjdjcx', param, false);
if (result.resultCode == '00000') {
var calData = result.data;
if (calData.length != 0) {
for (var i = 0; i < calData.length; i++) {
SQDJ_JXJ.jqxDropDownList('addItem', {
'id': calData[i].JXJDJDM,
'name': calData[i].DJMC
});
}
}
}
//保存奖学金值
JXJ.data('JXJDM', JXJ.val());
}
});
//4.1 助学金联动功能,根据控件关闭自动架子数据
if (ZXJ[0] && linkType == "2") {
//禁止自动检索数据
if (PDDJ_ZXJ[0]) {
PDDJ_ZXJ.off('open');
}
if (SQDJ_ZXJ[0]) {
SQDJ_ZXJ.off('open');
}
}
//3.2 奖学金代码选择时候,(不存在忽略)
ZXJ.on('select', function() {
if (PDDJ_ZXJ[0] && linkType == "2") {
//设置评定等级下拉框
PDDJ_ZXJ.jqxDropDownList({
disabled: false
});
//判断是否跟新宿舍区值,没有不重新加载
if (PDDJ_ZXJ.data('ZXJDM') == ZXJ.val()) {
return;
}
//选择空,则直接返回
if (ZXJ.val() == '') {
PDDJ_ZXJ.jqxDropDownList('clear');
PDDJ_ZXJ.val('');
PDDJ_ZXJ.data('ZXJDM', ZXJ.val());
return;
}
//跟新了删除下拉框,重新加载
PDDJ_ZXJ.jqxDropDownList('clear');
//通过助学金查询等级信息 多选情况考虑
var param = new Object();
var ZXJArray = ZXJ.val().split(",");
var queryZXJSetting = [];
for (var i = 0; i < ZXJArray.length; i++) {
queryZXJSetting.push({
"caption": "",
"name": "ZXJDM",
"value": ZXJArray[i],
"builder": "equal",
"linkOpt": "OR"
});
}
queryZXJSetting = JSON.stringify(queryZXJSetting);
param["querySetting"] = queryZXJSetting;
param.ZXJDM = ZXJ.val();
var result = mineQuery('gjsszxjdjcx', param, false);
if (result.resultCode == '00000') {
var calData = result.data;
if (calData.length != 0) {
for (var i = 0; i < calData.length; i++) {
PDDJ_ZXJ.jqxDropDownList('addItem', {
'id': calData[i].ZXJDJDM,
'name': calData[i].DJMC
});
}
}
}
//保存奖学金值
ZXJ.data('ZXJDM', ZXJ.val());
}
if (SQDJ_ZXJ[0] && linkType == "2") {
//设置评定等级下拉框
SQDJ_ZXJ.jqxDropDownList({
disabled: false
});
//判断是否跟新宿舍区值,没有不重新加载
if (SQDJ_ZXJ.data('ZXJDM') == ZXJ.val()) {
return;
}
//选择空,则直接返回
if (ZXJ.val() == '') {
SQDJ_ZXJ.jqxDropDownList('clear');
SQDJ_ZXJ.val('');
SQDJ_ZXJ.data('ZXJDM', ZXJ.val());
return;
}
//跟新了删除下拉框,重新加载
SQDJ_ZXJ.jqxDropDownList('clear');
//通过助学金查询等级信息 多选情况考虑
var param = new Object();
var ZXJArray = ZXJ.val().split(",");
var queryZXJSetting = [];
for (var i = 0; i < ZXJArray.length; i++) {
queryZXJSetting.push({
"caption": "",
"name": "ZXJDM",
"value": ZXJArray[i],
"builder": "equal",
"linkOpt": "OR"
});
}
queryZXJSetting = JSON.stringify(queryZXJSetting);
param["querySetting"] = queryZXJSetting;
param.ZXJDM = ZXJ.val();
var result = mineQuery('gjsszxjdjcx', param, false);
if (result.resultCode == '00000') {
var calData = result.data;
if (calData.length != 0) {
for (var i = 0; i < calData.length; i++) {
SQDJ_ZXJ.jqxDropDownList('addItem', {
'id': calData[i].ZXJDJDM,
'name': calData[i].DJMC
});
}
}
}
//保存奖学金值
ZXJ.data('ZXJDM', ZXJ.val());
}
});
}
})(window.PUB_FUNC = PUB_FUNC);