fs-danaus
2024-03-03 03d225272f860f4285acae67c102b73532bd3b2a
提交 | 用户 | age
a6a76f 1 //多功能查询
F 2 function multifunctional(valueis, colis, jqcz,f) {// 一般like查找,jqcz勾上则=
3     var sqlReturn = "";
4     var value = document.getElementById(valueis).value;
5     var cols = document.getElementById(colis).value;
6     var colss = null;
7     var dts = null;   //每个字段的数据类型
8     var temp = null;  //临时数组,用于保存参数分割后的字段和字段对应的数据类型
9     if (cols != null) {
10         if(cols.indexOf("|") >=0)
11         {
12             temp = cols.split("|");
13             colss = temp[0].split(";");
14             dts = temp[1].split(";");
15         }else{
16             colss = cols.split(";");
17         }
18     }
19     //if(dts != null){    //如果是查询全部,清空条件输入框
20         //document.getElementById(valueis).value = "";
21         //value = "";
22 //    }
23     var gou = document.getElementById(jqcz).value;
24     var fuhao = (gou == "1") ? " = " : " "+f+" ";
25     var val = (gou == "1") ? value : "@~" + value + "@~";
26     for (i = 0; i < colss.length; i++) {
27         if(dts != null){     //查询全部
28             if(dts[i] == "money" || dts[i] == "int"){
29                 continue;
30             }else{
31                 sqlReturn += colss[i] + fuhao + " \'" + val + "\' or ";
32             }
33         }else{    //单个查询
34             temp = (document.getElementById('dataType').value).split("|");    //得到所有字段和所有字段对应的数据类型
35             var colss1 = temp[0].split(";");
36             dts = temp[1].split(";");
37             var index = 0;
38             for(var j = 0;j<colss1.length;j++){   //查询下拉列表选中字段在所有字段中的下标
39                 if(colss[i] == colss1[j]){        
40                     index = j;
41                     break;
42                 }
43             }
44             if(dts[index] == "money" || dts[index] == "int"){    //得到字段数据类型判断是否为Money或者Int类型
45                 if(value == null || value == ""){    //判断查询的值是否为空
46                     sqlReturn += colss[i] + " is null or ";
47                 }else{
48                     sqlReturn += colss[i] +" = "+  value +  " or ";
49                 }
50             }else{    //其他数据类型
51                 sqlReturn += colss[i] + fuhao + " \'" + val + "\' or ";
52             }
53         }
54 //        sqlReturn += colss[i] + fuhao + " \'" + value + "\' or ";
55     }
56     if (colss == "") {
57         sqlReturn = "";
58     } else {
59         sqlReturn = sqlReturn.substring(0, sqlReturn.length - 3);
60         //alert(sqlReturn);
61     }    
62     return sqlReturn;
63 }
64 // 复选框
65 function getCheck(id,f) {
66     var sqlStr = "";
67     var idCheck = id + "CheckBox";
68     if (document.getElementById(idCheck).checked) {
69         sqlStr = id + " "+f+" \'" + document.getElementById(idCheck).value + "\'";
70         // alert(sqlStr);
71     }
72     return sqlStr;
73 }
74 // 单选按钮
75 function getRadio(id,f) {
76     var rads = document.getElementsByName(id+"Radio");
77     var sqlStr = "";
78     for (i = 0; i < rads.length; i++) {
79         if (rads[i].checked) {
80             document.getElementById(id).value=rads[i].value;
81             sqlStr = id + " "+f+" " + rads[i].value;
82             // alert(sqlStr);
83         }
84     }
85     return sqlStr;
86 }
87 // 日期之间
88 function getBetweenDate(date, bengin, end) {
89     var sqlStr = "";
90     var ben = document.getElementById(bengin).value;
91     var en = document.getElementById(end).value;
92     if (ben != "" && en != "") {
93         sqlStr = date + "  between \'" + ben + "\' and \'" + en + "\' ";
94         // alert(sqlStr);
95     }
96     return sqlStr;
97 }
98 // 下拉,有可能逗号分隔
99 function getSelect(col, fuhao) {
100     var sqlStr = "";
101     var vStr = document.getElementById(col).value;
102     if (vStr != "" && vStr != 'null') {
103       sqlStr = getSql(col,vStr,fuhao);
104     }
105 //    if (vStr != "") {
106 //        var vStrs = vStr.split(",");
107 //        vStr = "";
108 //        for (i = 0; i < vStrs.length; i++) {
109 //            vStr += "'" + vStrs[i] + "',";
110 //        }
111 //        vStr = vStr.substring(0, vStr.length - 1);
112 //        sqlStr = col + " " + fuhao + " (" + vStr + ") ";
113 //        // alert(sqlStr);
114 //    }
115     return sqlStr;
116 }
117 // 复选框,多选。 1.控件name 2.符合
118 function getCheckList(id,idCheck, f) {
119     var checks = document.getElementsByName(idCheck);
120     var sqlStr = "";
121     for (i = 0; i < checks.length; i++) {
122         if (checks[i].checked) {
123             sqlStr += id + " " + f + " " + checks[i].value + " or ";
124         }
125     }
126 // alert(sqlStr);
127     sqlStr = sqlStr.substring(0, sqlStr.length - 3);
128     return sqlStr;
129 }
130 // 输入文本 1.控件id 2.符合
131 function getText(id, f) {
132     var sqlStr = "";
133     var value = document.getElementById(id).value;
134     if (value != "") {
135         sqlStr += id + " " + f + " (\'" + value +"\')";
136     }
137     // alert(sqlStr);
138     return sqlStr;
139 }
140
141
142 function getSql(id,valStr,f){
143     var Str="";
144     switch(f){
145     case "=":
146     case "in":
147         Str = " isnull(\'"+valStr+"\',\'\') = \'\' or "+id+" "+ f +" ( select list from getinstr(\'"+valStr+"\'))"
148         break;
149     case "like":
150     case "not like"://为使用
151         Str=" isnull(\'"+valStr+"\',\'\') = \'\' or "+id+" "+ f +" '@~"+valStr+"@~' ";
152         break;
153     default :
154         break;
155     }
156     return Str;
157 }
158
159
160 function getqx(ReaderUsercodes,ReaderOrganizations,ReaderRoles){
161     var str="( isnull(ReaderUsercodes,'') =  '' and isnull(ReaderOrganizations,'') =  '' and isnull(ReaderRoles , '' )  =  '' ) ";
162     var shuZu=ReaderUsercodes.split(',');
163     var strHui=getStr('ReaderUsercodes',shuZu);
164     if(strHui!=""){
165         str +=" or "+strHui;        
166     }
167     shuZu=ReaderOrganizations.split(',');
168     strHui=getStr('ReaderOrganizations',shuZu);
169     if(strHui!=""){
170         str +=" or "+strHui;        
171     }
172     shuZu=ReaderRoles.split(',');
173     strHui=getStr('ReaderRoles',shuZu);
174     parent.rot=shuZu;
175     if(strHui!=""){
176         str +=" or "+strHui;        
177     }
178     return getKuoHao(str);
179 }
180
181 function getStr(col,shuZhu){
182     var str="isnull("+col+",'') <>  '' and ";
183     var strAdd="";
184     for(var i=0;i<shuZhu.length;i++){
185         if(shuZhu[i]!=""){
186             strAdd +=" ("+col+" like   '@~,"+shuZhu[i]+",@~') or";
187         }
188     }
189     if(strAdd!=""){
190         strAdd=strAdd.substring(0, strAdd.length - 2);
191         strAdd=getKuoHao(strAdd);
192     }else{//没有就不判断了
193         str="";
194     }
195     str += strAdd;
196     str=getKuoHao(str);
197     return str;
198 }
199
200 function getKuoHao(str){ 
201     if(str!=""){
202         str="( "+str+" )";
203     }
204     return str;
205 }