You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							418 lines
						
					
					
						
							17 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							418 lines
						
					
					
						
							17 KiB
						
					
					
				| @{ | |
|     ViewBag.Title = "Form"; | |
|     Layout = "~/Views/Shared/_Form.cshtml"; | |
| } | |
| <link href="~/Content/css/CommonReport/CommonReport.css" rel="stylesheet" /> | |
| <script src="~/Content/js/CommonReport/CommonReport.js"></script> | |
| <link href="~/Content/css/bootstrap/bootstrap-select.css" rel="stylesheet" /> | |
| <script src="~/Content/js/bootstrap/bootstrap-select.min.js"></script> | |
| <link href="~/Content/css/ColorPicker/bootstrap-colorpicker.css" rel="stylesheet" /> | |
| <script src="~/Content/js/ColorPicker/bootstrap-colorpicker.min.js"></script> | |
| <style> | |
|     .input-lg { | |
|         height:100%; | |
|         width:75% !important; | |
|     } | |
|     .form-control { | |
|         height:20px; | |
|     } | |
|     .ui-jqgrid .table-bordered td { | |
|         line-height:12px; | |
|         vertical-align:middle; | |
|     } | |
|      | |
| </style> | |
| <script> | |
|     var SourceID = $.request("SourceID"); | |
|     var cols = new Array(); | |
|      | |
|     var LogString_Num = new Array(); | |
|     var LogString_Str = new Array(); | |
|     var LogString_Date = new Array(); | |
|     var LogString_Bool = new Array(); | |
|     var NewLine = 0; | |
|     | |
|     var FirstShow = 0; | |
| 
 | |
|     $(function () { | |
| 
 | |
|         LogString_Num = GetLogString("数值型"); | |
|         LogString_Str = GetLogString("字符型"); | |
|         LogString_Date = GetLogString("日期型"); | |
|         LogString_Bool = GetLogString("布尔值"); | |
|         GetCols(); | |
|         gridList(); | |
|         $(window).resize(function () { | |
| 
 | |
|             $("#gridList").setGridWidth($(window).width() * 0.99); | |
|             $("#gridList").setGridWidth(document.body.clientWidth * 0.99); | |
|             $("#gridList").setGridHeight($(window).height() - 96); | |
|             $("#gridList").setGridHeight(document.body.clientHeight - 96); | |
|         }); | |
|     }); | |
|     function GetCols() | |
|     { | |
|         $.ajax({ | |
|             url: "/SystemManage/CommonReport/GetCols?SourceID=" + SourceID + "&" + Math.random(), | |
|             dataType: "json", | |
|             async: false, | |
|             success: function (aa) { | |
|                 if (aa != null) { | |
|                     var data = aa.rows; | |
| 
 | |
|                     if (data != false && data != null && data.length > 0) { | |
|                         cols=new Array(); | |
|                     | |
|                         $("#Select_cols").find("option").remove(); | |
|                         $("#Select_cols").append("<option value=''></option>"); | |
|                         for (var i = 0; i < data.length; i++) { | |
|                             $("#Select_cols").append("<option value='" + data[i].IDStr + "'>" + data[i].ColFiledName + "</option>"); | |
|                             cols.push({ IDStr: data[i].IDStr, DataType: data[i].DataType }); | |
|                         } | |
| 
 | |
|                     } | |
|                     $('#Select_cols').selectpicker('refresh'); | |
|                     $('#Select_cols').selectpicker('render'); | |
|                     $('#Select_cols').val(data[0].IDStr); | |
|                     $('#Select_cols').selectpicker('refresh'); | |
|                  | |
|                 } | |
|             } | |
|         }); | |
|          | |
|     } | |
| 
 | |
|     function GetDataTypeStr() | |
|     { | |
|         if (cols.length > 0) | |
|         { | |
|             for (var i = 0; i < cols.length ; i++) | |
|             { | |
|                 if (cols[i].IDStr == $('#Select_cols').val()) | |
|                 { | |
|                     return GetDataTypeByNum(cols[i].DataType); | |
|                 } | |
|             } | |
|         } | |
|     } | |
| 
 | |
|     function gridList() { | |
|         document.getElementsByClassName("gridPanel")[0].innerHTML = '  <table id="gridList"></table>'; | |
|          | |
|         var DataTypeStr = GetDataTypeStr(); | |
|         | |
|         var $gridList = $("#gridList"); | |
|         $gridList.dataGrid({ | |
|             url: "/SystemManage/CommonReport/GetGridFormat?" + Math.random(), | |
|             postData: { ColId: $('#Select_cols').val() }, | |
|             height: $(window).height() - 96, | |
|            | |
|             width:"100%", | |
|             colModel: [//ID	ColId	LogStr	SValue	DValue	Color	AllRowFlag | |
|                   { label: 'ID', name: 'ID', width: 80, align: 'left',  sortable: false, }, | |
|                     { label: 'ColId', name: 'ColId', width: 80, align: 'left', sortable: false, }, | |
|                        { | |
|                            label: 'LogStr', name: 'LogStr', width: 95, align: 'left', sortable: false, | |
|                        }, | |
|                     { | |
|                         label: '运算符',  width: 95, align: 'left',  sortable: false, | |
| 
 | |
|                         formatter: function (cellvalue, options, rowObject) { | |
|                             //  $("#LogStr_" + rowObject.ID).find("option").remove(); | |
|                             var LogString = new Array(); | |
| 
 | |
|                             switch (DataTypeStr) { | |
|                                 case "数值型": | |
|                                     LogString = LogString_Num; | |
|                                     break; | |
|                                 case "字符型": | |
|                                     LogString = LogString_Str; | |
|                                     break; | |
|                                 case "日期型": | |
|                                     LogString = LogString_Date; | |
|                                     break; | |
|                                 case "布尔值": | |
|                                     LogString = LogString_Bool; | |
|                                     break; | |
|                             } | |
|                             var str_retrun = '<select class="selectpicker" id="LogStr_' + rowObject.ID + '"  Title=""   data-width="65px" > '; | |
|                             str_retrun += "<option value=''></option>"; | |
|                             for (var i = 0; i < LogString.length; i++) { | |
|                                 str_retrun += "<option value=\"" + LogString[i].value + "\">" + LogString[i].Str + "</option>"; | |
|                             } | |
|                             str_retrun += '</select>'; | |
|                             return cellvalue = str_retrun; | |
|                         }, | |
|                     }, | |
|                       | |
|                     {  | |
|                         label: '值1', name: 'SValue', width: 120, align: 'left',  sortable: false, | |
|                         formatter: function (cellvalue, options, rowObject) { | |
| 
 | |
| 
 | |
| 
 | |
|                              | |
|                             switch (DataTypeStr) { | |
|                                 case "数值型": | |
|                                 case "布尔值": | |
|                                 case "字符型": | |
|                                     var str_retrun = '<input type="text" class="form-control"  id="SValue_' + rowObject.ID + '"  value="' + cellvalue + '"  />'; | |
|                                     return cellvalue = str_retrun; | |
|                                     break; | |
|                                 case "日期型": | |
|                                     var str_retrun = '<input type="text" class="form-control"  id="SValue_' + rowObject.ID + '"    value="' + cellvalue + '"  onclick="WdatePicker({ dateFmt: \'yyyy-MM-dd\'})" />'; | |
|                                     return cellvalue = str_retrun; | |
|                                     break; | |
|                             } | |
| 
 | |
|                             //var str_retrun = '<input type="text" class="form-control"  id="SValue_' + rowObject.ID + '"  value="' + cellvalue + '"  />'; | |
|                             //return cellvalue = str_retrun; | |
|                         }, | |
|                     }, | |
|                     { | |
|                         label: '值2', name: 'DValue', width: 120, align: 'left',  sortable: false, | |
|                         formatter: function (cellvalue, options, rowObject) { | |
|                             switch (DataTypeStr) { | |
|                                 case "数值型": | |
|                                 case "布尔值": | |
|                                 case "字符型": | |
|                                     var str_retrun = '<input type="text" class="form-control"  id="DValue_' + rowObject.ID + '"  value="' + cellvalue + '"  />'; | |
|                                     return cellvalue = str_retrun; | |
|                                     break; | |
|                                 case "日期型": | |
|                                     var str_retrun = '<input type="text" class="form-control"  id="DValue_' + rowObject.ID + '"   value="' + cellvalue + '"   onclick="WdatePicker({ dateFmt: \'yyyy-MM-dd\'})" />'; | |
|                                     return cellvalue = str_retrun; | |
|                                     break; | |
|                             } | |
| 
 | |
|                             //var str_retrun = '<input type="text" class="form-control"  id="DValue_' + rowObject.ID + '"  value="' + cellvalue + '"  />'; | |
|                             //return cellvalue = str_retrun; | |
|                         }, | |
|                     }, | |
|                     { | |
|                         label: '颜色', name: 'Color', width: 180, align: 'left',   sortable: false, | |
|                         formatter: function (cellvalue, options, rowObject) { | |
|                               | |
|                             var str_retrun = '<div id="ColorInput_' + rowObject.ID + '" class="input-group colorpicker-component"  style="height:12px;top:5px">'; | |
|                             str_retrun += '  <input type="text" style="height:12px" class="form-control input-lg"  id="ColorInputStr_' + rowObject.ID + '" value="' + cellvalue + '" />'; | |
|                             str_retrun += '      <span class="input-group-addon" style="height:12px"><i style="height:12px"></i></span>'; | |
|                             str_retrun += '    </div> '; | |
|                             | |
|                             return cellvalue = str_retrun; | |
| 
 | |
|                         } | |
|                     }, { | |
|                         label: '是否影响全行', name: 'AllRowFlag', width: 80, align: 'left', sortable: false, | |
|                         formatter: function (cellvalue, options, rowObject) { | |
|                             if (cellvalue ) { | |
|                                 var str_retrun = '<input type="checkbox"    name="AllRowFlag_' + rowObject.ID + '" '; | |
|                                 str_retrun += ' id="AllRowFlag_' + rowObject.ID + '"   checked="checked"/>  '; | |
|                                 return cellvalue = str_retrun; | |
|                             } | |
|                             else { | |
|                                 var str_retrun = '<input type="checkbox"    name="AllRowFlag_' + rowObject.ID + '" '; | |
|                                 str_retrun += ' id="AllRowFlag_' + rowObject.ID + '"     />  '; | |
|                                 return cellvalue = str_retrun; | |
|                             } | |
| 
 | |
| 
 | |
|                         } | |
|                     } , | |
| 
 | |
| 
 | |
|             ], | |
|            | |
|             viewrecords: true, | |
|             rownumbers: true, | |
|             multiselect: true, | |
|             rowNum: 500, | |
|             | |
|             gridComplete: function () { | |
|                 $("#gridList").setGridParam().hideCol("ColId");//隐藏  | |
|                 $("#gridList").setGridParam().hideCol("ID");//隐藏  | |
|                 $("#gridList").setGridParam().hideCol("LogStr");//隐藏  | |
|                  | |
|                 var strIds = $("#gridList").jqGrid("getDataIDs"); | |
|                 if (FirstShow == 0) { | |
|                     for (var i = 0; i < strIds.length; i++) { | |
|                         var ID = $("#gridList").jqGrid("getCell", strIds[i], "ID"); | |
|                         var LogStr = $("#gridList").jqGrid("getCell", strIds[i], "LogStr"); | |
|                         $('#ColorInput_' + ID).colorpicker(); | |
|                         $("#LogStr_" + ID).selectpicker('refresh'); | |
|                         if (LogStr != "") | |
|                         { | |
|                             $("#LogStr_" + ID).val(  LogStr ); | |
|                             $("#LogStr_" + ID).selectpicker('refresh'); | |
|                         } | |
| 
 | |
|                          | |
|                     } | |
|                     FirstShow = 1; | |
|                 } | |
|                 NewLine = strIds.length; | |
| 
 | |
|                 $("#gridList").jqGrid('hideCol', 'cb');//隐藏勾选框 //勾选框选中的时候 与行选中有异常,所以隐藏 | |
|             }, | |
| 
 | |
| 
 | |
|         }); | |
|     } | |
| 
 | |
|     function SHowcols(colname) { | |
|         $("#gridList").setGridParam().showCol(colname); | |
| 
 | |
|     } | |
| 
 | |
|     function Hiddencols(colname) { | |
|         $("#gridList").setGridParam().hideCol(colname); | |
| 
 | |
|     } | |
| 
 | |
|     //换栏位 | |
|     function ChangeCols() { | |
|         NewLine = 0; | |
|         FirstShow = 0; | |
|         gridList(); | |
|     } | |
|       | |
| 
 | |
|     //新增一行 | |
|     function btn_ADD() { | |
|         NewLine = NewLine + 1; | |
|         | |
|         var ids = jQuery("#gridList").jqGrid('getDataIDs'); | |
|         if (ids.length == 0) { | |
|             ids = [0]; | |
|         } | |
|         //获得当前最大行号(数据编号) | |
|         var rowid = Math.max.apply(Math, ids); | |
|         //获得新添加行的行号(数据编号) | |
|         var newrowid = rowid + 1; | |
| 
 | |
| 
 | |
|         $("#gridList").addRowData(newrowid, | |
|             {//ID	ColId	LogStr	SValue	DValue	Color	AllRowFlag | |
|                 "ID": NewLine.toString(), | |
|                 "ColId": $('#Select_cols').val(), | |
|                 "LogStr": "", | |
|                 "SValue": "", | |
|                 "DValue": "", | |
|                 "Color": "", | |
|                 "AllRowFlag": false, | |
|                  | |
|             }, | |
|            "last"); | |
|         var unwritten = document.getElementsByClassName("unwritten")[0]; | |
|         if (unwritten != null && unwritten != 'undefined') { | |
|             unwritten.style.display = "none"; | |
|         } | |
|         // $(".unwritten").attr("display", "none"); | |
| 
 | |
| 
 | |
|         //colorpick | |
|         var strIds = $("#gridList").jqGrid("getDataIDs"); | |
|         var rr = strIds.length - 1; | |
|         var ID = $("#gridList").jqGrid("getCell", strIds[rr], "ID"); | |
|           | |
|         $('#ColorInput_' + ID).colorpicker(); | |
|         $("#LogStr_" + ID).selectpicker('refresh'); | |
| 
 | |
|     } | |
| 
 | |
|     //删除选中行 | |
|     function btn_Del() { | |
| 
 | |
|         var selectedRowIds = $("#gridList").jqGrid("getGridParam", "selarrrow"); | |
|         var len = selectedRowIds.length; | |
|         for (var i = 0; i < len ; i++) { | |
|             $("#gridList").jqGrid("delRowData", selectedRowIds[i]); | |
|         } | |
| 
 | |
|         var selectedRowIds = $("#gridList").jqGrid("getGridParam", "selarrrow"); | |
|         var len = selectedRowIds.length; | |
|         for (var i = 0; i < len ; i++) { | |
|             $("#gridList").jqGrid("delRowData", selectedRowIds[i]); | |
|         } | |
|     } | |
| 
 | |
|     function btn_Save() { | |
|         var SubmitLine = new Array(); | |
|         var strIds = $("#gridList").jqGrid("getDataIDs"); | |
|         for (var i = 0; i < strIds.length; i++) { | |
|             //ID	ColId	LogStr	SValue	DValue	Color	AllRowFlag | |
|             var ID = $("#gridList").jqGrid("getCell", strIds[i], "ID"); | |
|             var LogStr = $("#LogStr_" + ID).val(); | |
|             var SValue = $("#SValue_" + ID).val(); | |
|             var DValue = $("#DValue_" + ID).val(); | |
|             var Color = $("#ColorInputStr_" + ID).val(); | |
|             var AllRowFlag = checkboxToNumStr(document.getElementById("AllRowFlag_" + ID)); | |
|              | |
|             var obj = { | |
|                 ID:"", | |
|                 ColId: $('#Select_cols').val(), | |
|                 LogStr: LogStr, | |
|                 SValue: SValue, | |
|                 DValue: DValue, | |
|                 Color: Color, | |
|                 AllRowFlag: AllRowFlag, | |
|                 | |
|                 | |
|             } | |
|             SubmitLine.push(obj); | |
|         } | |
|         | |
|         $.ajax({ | |
|             url: "/SystemManage/CommonReport/SetGridFormat" + "?" + Math.random(), | |
|             type: "post", | |
|             data: { ColId: $('#Select_cols').val(), List_GridFormat: JSON.stringify(SubmitLine), }, | |
|             async: false, | |
|             success: function (data) { | |
|                 alert(data); | |
|             }, | |
|             error: function (aa) { | |
|                 //alert("异常:" + aa.responseText); | |
|                 $.modalAlertNew("WMS00015", aa.responseText); | |
| 
 | |
|             } | |
|         }); | |
|     } | |
| 
 | |
|     | |
| 
 | |
| 
 | |
| 
 | |
| </script> | |
| 
 | |
| <form id="form1"> | |
|     <div style="margin-top: 10px; margin-left: 10px; margin-right: 10px;"> | |
|         <div class="form-group" style="height:40px;margin-bottom:5px"> | |
|             <table class="form" style="width:700px" > | |
| 
 | |
|                 <tr> | |
|                     <th class="formTitle">字段名称:  </th> | |
|                     <td class="formValue" style="width:160px"> | |
| 
 | |
|                         <select id="Select_cols" name="Select_cols"  onchange="ChangeCols()" title="" class="selectpicker  " data-width="140px" style="margin-right:100px"></select> | |
| 
 | |
|                     </td> | |
|                     <td class="formValue"> | |
| 
 | |
|                         <a id="Btn_ADD" authorize="yes" class="btn btn-primary dropdown-text  " onclick="btn_ADD()"><i class="fa fa-plus"></i>添加格式化条件</a> | |
|                     </td> | |
|                     <td class="formValue"> | |
|                         <a id="Btn_Del" authorize="yes" class="btn btn-primary dropdown-text  " onclick="btn_Del()"><i class="fa fa-minus"></i>移除格式化条件</a> | |
|                     </td> | |
|                     <td class="formValue"> | |
|                         <a id="Btn_Save" authorize="yes" class="btn btn-primary dropdown-text  " onclick="btn_Save()"><i class="fa fa-save"></i>保存</a> | |
|                     </td> | |
|                 </tr> | |
|                 </table> | |
| </div> | |
| 
 | |
|        | |
|         <div class="gridPanel"> | |
|             <table id="gridList"></table> | |
|             @*<div id="gridPager"></div>*@ | |
|         </div> | |
|     </div> | |
| </form>
 |