123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649 |
-
- /*
- 自动读取控件值
- */
- function GetWebControlsFor(element, colds) {
- var resultjson = jQuery.parseJSON('{"resultcode":"-1"}');
- try {
- var controlname = "";
- var controls = null;
- var controltype = 0;
- for (var row in colds["querycoldetail"]) {
- controlname = "#" + colds["querycoldetail"][row]["控件名称"];//读取控件名称
- controls = $(element).find(controlname);//在element元素中查找ID为controlname的控件,返回控件数组
- controltype = colds["querycoldetail"][row]["控件类型"];//读取控件类型
- if (controls.length > 0) {//如果返回的控件数组长度大于0,则取第一个控件赋值
- switch (controltype) {
- case 2:
- break;
- default:
- resultjson[colds["querycoldetail"][row]["字段别名"]] = controls[0].value;
- break;
- }
- }
- else {
- resultjson[colds["querycoldetail"][row]["字段别名"]] = "";
- }
- }
- resultjson["resultcode"] = 1;
- return resultjson;
- }
- catch (error) {
- resultjson["errorinfo"] = error;
- return resultjson;
- }
- }
- function GetWebControlsFor1(element, orgdata, colds) {
- var resultjson = {};
- try {
- var controlname = "";
- var controls = null;
- var controltype = 0;
- if (orgdata != null) {
- for (var row in colds["querycoldetail"]) {
- controlname = "#" + colds["querycoldetail"][row]["控件名称"];//读取控件名称
- controls = $(element).find(controlname);//在element元素中查找ID为controlname的控件,返回控件数组
- controltype = colds["querycoldetail"][row]["控件类型"];//读取控件类型
- if (controls.length > 0) {//如果返回的控件数组长度大于0,则取第一个控件赋值
- switch (controltype) {
- case 2:
- break;
- default:
- orgdata[colds["querycoldetail"][row]["字段别名"]] = controls[0].value;
- break;
- }
- }
- }
- return orgdata;
- }
- else {
- for (var row in colds["querycoldetail"]) {
- controlname = "#" + colds["querycoldetail"][row]["控件名称"];//读取控件名称
- controls = $(element).find(controlname);//在element元素中查找ID为controlname的控件,返回控件数组
- controltype = colds["querycoldetail"][row]["控件类型"];//读取控件类型
- if (controls.length > 0) {//如果返回的控件数组长度大于0,则取第一个控件赋值
- switch (controltype) {
- case 2:
- break;
- default:
- resultjson[colds["querycoldetail"][row]["字段别名"]] = controls[0].value;
- break;
- }
- }
- else {
- resultjson[colds["querycoldetail"][row]["字段别名"]] = "";
- }
- }
- return resultjson;
- }
- }
- catch (error) {
- resultjson["errorinfo"] = error;
- return resultjson;
- }
- }
- /*
- 自动给控件赋值
- */
- function SetWebControlsFor(element, data, colds) {
- var resultjson = jQuery.parseJSON('{"resultcode":"-1"}');
- try {
- if (data == null) {
- data = GetNullRowFromCol(colds);
- //if (data.hasOwnProperty("errorcode")) {
- // alert("调用发生错误,错误信息为:" + json.message);
- // return;
- //}
- if (data["resultcode"] <= 0) {
- return data;
- }
- }
- var controlname = "";
- var controls = null;
- var controltype = 0;
- for (var row in colds["querycoldetail"]) {
- controlname = "#" + colds["querycoldetail"][row]["控件名称"];//读取控件名称
- controls = $(element).find(controlname);//在element元素中查找ID为controlname的控件,返回控件数组
- controltype = colds["querycoldetail"][row]["控件类型"];//读取控件类型
- if (controls.length > 0) {//如果返回的控件数组长度大于0,则取第一个控件赋值
- switch (controltype) {
- case 2:
- break;
- default:
- controls[0].value = data[colds["querycoldetail"][row]["字段别名"]];
- break;
- }
- }
- }
- resultjson["resultcode"] = 1;
- return resultjson;
- }
- catch (error) {
- resultjson["errorinfo"] = error;
- return resultjson;
- }
- }
- //根据字段信息产生空的json类型数据
- function GetNullRowFromCol(colds) {
- var vjson = jQuery.parseJSON('{"resultcode":"-1"}');
- try {
- var colname = "";
- var controltype = 0;
- for (var row in colds["querycoldetail"]) {
- colname = colds["querycoldetail"][row]["字段别名"];//读取控件类型
- controltype = colds["querycoldetail"][row]["控件值类型"];//读取控件名称
- switch (controltype) {
- case 3://数值类型
- vjson[colname] = 0;
- break;
- case 4://数值类型
- vjson[colname] = 0;
- break;
- default://缺省使用字符串类型
- vjson[colname] = "";
- break;
- }
- }
- //delete vjson["errorcode"];//删除json数据字段
- vjson["resultcode"] = 1;
- return vjson;
- }
- catch (error) {
- vjson["errorinfo"] = error;
- return vjson;
- }
- }
- function GetQueryCol(queryid) {
- var vjson = jQuery.parseJSON('{"resultcode":"-1"}');
- try {
- var Nurl = '/DllBase/utility/ReadQueryCol';
- var PostDdata = { "QueryID": queryid };
- var parm = { json: PostDdata };
- AjaxJson(Nurl, PostDdata, function (result) {
- vjson = result;
- });
- //vjson = JSON.parse(vjson);
- //if (vjson.hasOwnProperty("resultcode")) {
- // //alert("调用发生错误,错误信息为:" + json.message);
- // return vjson;
- //}
- return vjson;
- }
- catch (error) {
- vjson["resultcode"] = -1;
- vjson["errorinfo"] = error;
- return vjson;
- }
- }
- //单条送货明细转流程
- function SGoodsDetailToFlowWork(id) {
- var vjson = jQuery.parseJSON('{"ID":"0"}');
- vjson["ID"] = id;
- try {
- var Nurl = '/OilModule/SGoodsMst/SGoodsDetailToFlowWork';
- var str = JSON3.stringify(vjson);
- var parm = { json: str };
- AjaxJson(Nurl, parm, function (result) {
- vjson = result;
- });
- vjson = JSON.parse(vjson);
- if (vjson.hasOwnProperty("resultcode")) {
- //alert("调用发生错误,错误信息为:" + json.message);
- return vjson;
- }
- return vjson;
- }
- catch (error) {
- vjson["resultcode"] = -1;
- vjson["errorinfo"] = error;
- return vjson;
- }
- }
- //根据查询ID和条件读取不带参数的查询数据
- function RDForQueryIndexOName(queryid, condition) {
- var vjson = jQuery.parseJSON('{"resultcode":"-1"}');
- try {
- var Nurl = '/DllBase/utility/RDForQueryIndexOName';
- var PostDdata = { "queryid": queryid, "condition": condition };
- //var parm = { json: PostDdata };
- AjaxJson(Nurl, PostDdata, function (result) {
- vjson = result;
- });
- //vjson = JSON.parse(vjson);
- //if (vjson.hasOwnProperty("resultcode")) {
- // //alert("调用发生错误,错误信息为:" + json.message);
- // return vjson;
- //}
- return vjson;
- }
- catch (error) {
- vjson["resultcode"] = -1;
- vjson["errorinfo"] = error;
- return vjson;
- }
- }
- //根据查询ID和条件读取不带参数的查询数据
- function RDForQueryIndexONameArgs(queryid, condition) {
- var vjson = jQuery.parseJSON('{"resultcode":"-1"}');
- try {
- var Nurl = '/OilModule/ProColorType/RDForQueryIndexONameArgs';
- var PostDdata = '{ "QueryID": "' + queryid + '", "condition": "' + condition + '}';
- var parm = { json: PostDdata };
- AjaxJson(Nurl, parm, function (result) {
- vjson = result;
- });
- //vjson = JSON.parse(vjson);
- //if (vjson.hasOwnProperty("resultcode")) {
- // //alert("调用发生错误,错误信息为:" + json.message);
- // return vjson;
- //}
- return vjson;
- }
- catch (error) {
- vjson["resultcode"] = -1;
- vjson["errorinfo"] = error;
- return vjson;
- }
- }
- //根据查询ID和条件读取不带参数的查询数据
- function RDForQueryIndexONameArgsForDb(queryid, condition, dbname) {
- var vjson = jQuery.parseJSON('{"resultcode":"-1"}');
- try {
- var Nurl = '/DllBase/utility/RDForQueryIndexONameArgsForDb';
- //var PostDdata = '{ "QueryID": "' + queryid + '", "condition": "' + condition + '","dbname":"' + dbname + '"}';
- var PostDdata = { "queryid": queryid, "condition": condition, "dbname": dbname };
- var parm = { json: PostDdata };
- AjaxJson(Nurl, PostDdata, function (result) {
- vjson = result;
- });
- return vjson;
- }
- catch (error) {
- vjson["resultcode"] = -1;
- vjson["errorinfo"] = error;
- return vjson;
- }
- }
- //根据查询配置数据组成GRID字段
- function GetTableColStr(tablecoljson) {
- var str = "[";
- for (var i = 0; i < tablecoljson.querycoldetail.length; i++) {
- if (i > 0) {
- str += ",";
- }
- str += "{label: '" + tablecoljson.querycoldetail[i]["字段别名"] + "', name: '" + tablecoljson.querycoldetail[i]["字段别名"] + "', index: '" + tablecoljson.querycoldetail[i]["字段别名"] + "', align: 'center',sortable: true";
- str += ", width: " + tablecoljson.querycoldetail[i]["宽度"];
- if (tablecoljson.querycoldetail[i]["是否可见"] == 0) {
- str += ",hidden: true";
- }
- if (tablecoljson.querycoldetail[i]["备注"] != "") {
- str += ",formatter: " + tablecoljson.querycoldetail[i]["备注"];
- }
- str += "}";
- }
- str += "]";
- var json = eval('(' + str + ')');
- return json;
- }
- //根据数据初始化combox下拉控件
- function FillCombox(combox, data, preid) {
- for (var i = combox.length - 1; i >= 0; i--) {
- combox.remove(i);
- }
- var tempval = null;
- for (var key in data) {
- tempval = data[key];
- if (tempval["主项ID"] != preid)
- continue;
- combox.add(new Option(tempval["名称"], tempval["ID"]));
- }
- }
- //根据查询ID和条件读取不带参数的查询数据
- function Select(sqlstr) {
- var vjson = jQuery.parseJSON('{"resultcode":"-1"}');
- try {
- var Nurl = '/OilModule/ProColorType/Select';
- var PostDdata = [];
- PostDdata["sqlstr"] = sqlstr;
- var jsonstr = JSON3.stringify(PostDdata);
- //var PostDdata = '{ "sqlstr": "' + sqlstr + '"}';
- var parm = { json: jsonstr };
- AjaxJson(Nurl, parm, function (result) {
- vjson = result;
- });
- //vjson = JSON.parse(vjson);
- //if (vjson.hasOwnProperty("resultcode")) {
- // //alert("调用发生错误,错误信息为:" + json.message);
- // return vjson;
- //}
- return vjson;
- }
- catch (error) {
- vjson["resultcode"] = -1;
- vjson["errorinfo"] = error;
- return vjson;
- }
- }
- //给gridtable添加行
- function addRowForjqGrid(gridtable, data) {
- var ids = jQuery(gridtable).jqGrid('getDataIDs');
- //获得当前最大行号(数据编号)
- var rowid = Math.max.apply(Math, ids);
- if (rowid == '-Infinity') {
- rowid = 0;
- }
- //获得新添加行的行号(数据编号)
- var newrowid = rowid + 1;
- //将新添加的行插入到第一列
- $(gridtable).jqGrid("addRowData", newrowid, data, "last");
- }
- //修改行数据,如没有就添加行
- function ModifyRowForjqGrid(gridtable, data, keyname) {
- var ids = $(gridtable).getDataIDs();//返回数据表的ID数组["66","39"..]
- var rowindex = -1;
- var getRow = null;
- for (var i = 0; i < ids.length; i++) {
- getRow = $(gridtable).getRowData(ids[i]);//获取当前的数据行
- if (getRow[keyname] == data[keyname]) {
- rowindex = ids[i];
- break;
- }
- }
- if (rowindex == -1) {
- addRowForjqGrid(gridtable, data);
- return;
- }
- $(gridtable).setRowData(rowindex, data);
- }
- //修改json数组数据,如没有就添加行
- function ModifyRowForJson(orgdata, data, keyname) {
- for (var i = 0; i < orgdata.length; i++) {
- if (orgdata[i][keyname] == data[keyname]) {
- if (orgdata[i]["OPERATOR"] == 0) {
- data["OPERATOR"] = 2;
- }
- else {
- data["OPERATOR"] = orgdata[i]["OPERATOR"];
- }
- orgdata[i] = data;
- return;
- }
- }
- data["OPERATOR"] = 1;
- orgdata.push(data);
- }
- //获取修改的数据
- function GetChangeForJson(orgdata) {
- var change = [];
- for (var i = 0; i < orgdata.length; i++) {
- if (orgdata[i]["OPERATOR"] == 0) {
- continue;
- }
- change.push(orgdata[i]);
- }
- return change;
- }
- //获取JSON数组关键字小于0的最小值
- function GetJsonKeyMinVal(orgdata, keyname) {
- var min = 0;
- for (var i = 0; i < orgdata.length; i++) {
- if (orgdata[i][keyname] >= 0) {
- continue;
- }
- if (orgdata[i][keyname] < min) {
- min = orgdata[i][keyname];
- }
- }
- return min - 1;
- }
- //在JSON中查找
- function FindRowForJson(orgdata, keyname, keyval) {
- for (var i = 0; i < orgdata.length; i++) {
- if (orgdata[i][keyname] == keyval) {
- return orgdata[i];
- }
- }
- return null;
- }
- //删除JSON数组中指定的对象
- function removeByValue(orgdata, keyname, keyval) {
- for (var i = 0; i < orgdata.length; i++) {
- if (orgdata[i][keyname] == keyval) {
- orgdata.splice(i, 1);
- return;
- }
- }
- }
- //将json数组以json对象返回
- function GetJsonFromData(ds, tablename) {
- var colarr = [];
- for (var vjson in ds[0]) {
- var tempjson = { "colname": vjson };
- colarr.push(tempjson);
- }
- var querycollen = tablename + "_col_len";
- var querycol = tablename + "_col";
- var dscollen = tablename + "_len";
- var myjson = {};
- myjson[querycollen] = colarr.length;
- myjson[querycol] = colarr;
- myjson[dscollen] = ds.length;
- myjson[tablename] = ds;
- return myjson;
- }
- //产生表数据,返回json对象,前提是有表的字段描述表
- function GetJsonFromDataTable(myjson, queryds, ds, tablename) {
- var querycollen = tablename + "_col_len";
- var querycol = tablename + "_col";
- var dscollen = tablename + "_len";
- if (myjson == null) {
- myjson = {};
- }
- myjson[querycollen] = queryds.length;
- myjson[querycol] = queryds;
- myjson[dscollen] = ds.length;
- myjson[tablename] = ds;
- return myjson;
- }
- //将json数组对象序列化成json对象
- var MvcParamMatch = (function () {
- var MvcParameterAdaptive = {};
- //验证是否为数组
- MvcParameterAdaptive.isArray = Function.isArray || function (o) {
- return typeof o === "object" &&
- Object.prototype.toString.call(o) === "[object Array]";
- };
- //将数组转换为对象
- MvcParameterAdaptive.convertArrayToObject = function (arrName, array, saveOjb) {
- var obj = saveOjb || {};
- function func(name, arr) {
- for (var i in arr) {
- if (!MvcParameterAdaptive.isArray(arr[i]) && typeof arr[i] === "object") {
- for (var j in arr[i]) {
- if (MvcParameterAdaptive.isArray(arr[i][j])) {
- func(name + "[" + i + "]." + j, arr[i][j]);
- } else if (typeof arr[i][j] === "object") {
- MvcParameterAdaptive.convertObject(name + "[" + i + "]." + j + ".", arr[i][j], obj);
- } else {
- obj[name + "[" + i + "]." + j] = arr[i][j];
- }
- }
- } else {
- obj[name + "[" + i + "]"] = arr[i];
- }
- }
- }
- func(arrName, array);
- return obj;
- };
- //转换对象
- MvcParameterAdaptive.convertObject = function (objName, turnObj, saveOjb) {
- var obj = saveOjb || {};
- function func(name, tobj) {
- for (var i in tobj) {
- if (MvcParameterAdaptive.isArray(tobj[i])) {
- MvcParameterAdaptive.convertArrayToObject(i, tobj[i], obj);
- } else if (typeof tobj[i] === "object") {
- func(name + i + ".", tobj[i]);
- } else {
- obj[name + i] = tobj[i];
- }
- }
- }
- func(objName, turnObj);
- return obj;
- };
- return function (json, arrName) {
- arrName = arrName || "";
- if (typeof json !== "object") throw new Error("请传入json对象");
- if (MvcParameterAdaptive.isArray(json) && !arrName) throw new Error("请指定数组名,对应Action中数组参数名称!");
- if (MvcParameterAdaptive.isArray(json)) {
- return MvcParameterAdaptive.convertArrayToObject(arrName, json);
- }
- return MvcParameterAdaptive.convertObject("", json);
- };
- })();
- function RootPath() {
- var strFullPath = window.document.location.href;
- var strPath = window.document.location.pathname;
- var pos = strFullPath.indexOf(strPath);
- var prePath = strFullPath.substring(0, pos);
- var postPath = strPath.substring(0, strPath.substr(1).indexOf('/') + 1);
- //return (prePath + postPath);如果发布IIS,有虚假目录用用这句
- return (prePath);
- }
- //URL为相对地址,基础地址由系统计算
- function AjaxJson(url, postData, callBack) {
- $.ajax({
- url: RootPath() + url,
- type: "post",
- //contentType:"application/json",
- data: postData,
- dataType: "json",
- async: false,
- success: function (data) {
- if (data.Code == "-1") {
- Loading(false);
- dialogAlert(data.Message, -1);
- } else {
- Loading(false);
- callBack(data);
- }
- },
- error: function (data) {
- Loading(false);
- dialogAlert(data.responseText, -1);
- }
- });
- }
- //提供完整的URL地址
- function AjaxJsonFullUrl(purl, postData, callBack) {
- $.ajax({
- url: purl,
- type: "post",
- //contentType:"application/json",
- data: postData,
- dataType: "json",
- async: false,
- success: function (data) {
- if (data.Code == "-1") {
- Loading(false);
- dialogAlert(data.Message, -1);
- } else {
- Loading(false);
- callBack(data);
- }
- },
- error: function (data) {
- Loading(false);
- dialogAlert(data.responseText, -1);
- }
- });
- }
- //读取用户菜单
- function GetUserMenu() {
- var vjson = jQuery.parseJSON('{"resultcode":"-1"}');
- try {
- var Nurl = '/Utility/GetUserMenu';
- var PostDdata = { "QueryID": 1 };
- var parm = { json: PostDdata };
- var jsonobj = {};
- jsonobj["QueryID"] = 1;
- AjaxJson(Nurl, MvcParamMatch(jsonobj), function (result) {
- vjson = result;
- });
- //vjson = JSON.parse(vjson);
- //if (vjson.hasOwnProperty("resultcode")) {
- // //alert("调用发生错误,错误信息为:" + json.message);
- // return vjson;
- //}
- return vjson;
- }
- catch (error) {
- vjson["resultcode"] = -1;
- vjson["errorinfo"] = error;
- return vjson;
- }
- }
- //读取用户菜单
- function GetUserMenu01(orgdata) {
- var vjson = jQuery.parseJSON('{"resultcode":"-1"}');
- try {
- var Nurl = '/Utility/GetUserMenu01';
- AjaxJson(Nurl, MvcParamMatch(orgdata), function (result) {
- vjson = result;
- });
- //vjson = JSON.parse(vjson);
- //if (vjson.hasOwnProperty("resultcode")) {
- // //alert("调用发生错误,错误信息为:" + json.message);
- // return vjson;
- //}
- return vjson;
- }
- catch (error) {
- vjson["resultcode"] = -1;
- vjson["errorinfo"] = error;
- return vjson;
- }
- }
|