add site
This commit is contained in:
		
							
								
								
									
										467
									
								
								Site/Security/CurfewMovementTolerance.aspx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										467
									
								
								Site/Security/CurfewMovementTolerance.aspx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,467 @@ | ||||
| <%@ Page Title="" Language="C#" MasterPageFile="~/Security/Security.master" AutoEventWireup="true" CodeFile="CurfewMovementTolerance.aspx.cs" Inherits="CurfewMovementTolerance" %> | ||||
|  | ||||
| <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> | ||||
|     <style type="text/css"> | ||||
|         .selectinput { | ||||
|             width: 150px; | ||||
|             margin-right: 10px; | ||||
|         } | ||||
|  | ||||
|         .no_wrap th { | ||||
|             white-space: nowrap; | ||||
|             overflow: hidden; | ||||
|             text-overflow: ellipsis; | ||||
|         } | ||||
|  | ||||
|         .max160 { | ||||
|             max-width: 160px; | ||||
|             overflow: hidden; | ||||
|             text-overflow: ellipsis; | ||||
|             white-space: nowrap; | ||||
|         } | ||||
|  | ||||
|         .dialog-content table { | ||||
|             border-collapse: collapse; | ||||
|             width: 100%; | ||||
|             line-height: 32px; | ||||
|         } | ||||
|  | ||||
|             .dialog-content table td.label { | ||||
|                 width: 124px; | ||||
|                 text-align: right; | ||||
|                 padding-right: 10px; | ||||
|                 line-height: 24px; | ||||
|                 height: 24px; | ||||
|                 vertical-align: top; | ||||
|             } | ||||
|  | ||||
|             .dialog-content table td input, | ||||
|             .dialog-content table td textarea { | ||||
|                 border: 1px solid #a9a9a9; | ||||
|                 width: 250px; | ||||
|                 height: 18px; | ||||
|                 padding: 1px; | ||||
|             } | ||||
|  | ||||
|             .dialog-content table td select { | ||||
|                 width: 254px; | ||||
|                 height: 24px; | ||||
|             } | ||||
|  | ||||
|             .dialog-content table td input[type="checkbox"] { | ||||
|                 border: none; | ||||
|             } | ||||
|  | ||||
|             .dialog-content table td textarea { | ||||
|                 height: 100px; | ||||
|                 max-width: 200px; | ||||
|             } | ||||
|  | ||||
|         #dialog_user_randompass { | ||||
|             width: auto; | ||||
|             height: 16px; | ||||
|             margin: 3px 4px 0 4px; | ||||
|         } | ||||
|  | ||||
|         .ctl_button { | ||||
|             font-family: 'CalciteWebCoreIcons'; | ||||
|             display: block; | ||||
|             margin: 6px auto; | ||||
|             width: 60px; | ||||
|             height: 22px; | ||||
|             line-height: 21px; | ||||
|             padding: 0; | ||||
|         } | ||||
|  | ||||
|         #dialog_machinegroup { | ||||
|             z-index: 500; | ||||
|             width: 870px; | ||||
|             top: 60px; | ||||
|             left: 150px; | ||||
|         } | ||||
|  | ||||
|         .inputbox { | ||||
|             width: 500px; | ||||
|             padding: 1px; | ||||
|         } | ||||
|  | ||||
|         .group_table .main_table { | ||||
|             table-layout: fixed; | ||||
|         } | ||||
|  | ||||
|             .group_table .main_table thead tr { | ||||
|                 display: block; | ||||
|             } | ||||
|  | ||||
|             .group_table .main_table tbody { | ||||
|                 height: 280px; | ||||
|                 display: block; | ||||
|                 overflow-y: auto; | ||||
|             } | ||||
|  | ||||
|             .group_table .main_table th { | ||||
|                 width: 165px; | ||||
|             } | ||||
|  | ||||
|             .group_table .main_table td { | ||||
|                 width: 165px; | ||||
|                 white-space: nowrap; | ||||
|                 word-break: keep-all; | ||||
|             } | ||||
|  | ||||
|                 .group_table .main_table td div { | ||||
|                     width: 165px; | ||||
|                     overflow: hidden; | ||||
|                     white-space: nowrap; | ||||
|                     word-break: keep-all; | ||||
|                     text-overflow: ellipsis; | ||||
|                 } | ||||
|  | ||||
|  | ||||
|         .table_holder { | ||||
|             border-collapse: collapse; | ||||
|             height: 400px; | ||||
|         } | ||||
|  | ||||
|             .table_holder thead th { | ||||
|                 text-align: left; | ||||
|             } | ||||
|  | ||||
|             .table_holder tbody tr { | ||||
|                 line-height: 28px; | ||||
|                 height: 28px; | ||||
|             } | ||||
|  | ||||
|             .table_holder td { | ||||
|                 vertical-align: top; | ||||
|             } | ||||
|  | ||||
|             .table_holder .td_controller { | ||||
|                 vertical-align: middle; | ||||
|                 padding: 40px 8px; | ||||
|             } | ||||
|  | ||||
|             .table_holder .scroller { | ||||
|                 height: 400px; | ||||
|                 overflow-y: auto; | ||||
|                 width: 410px; | ||||
|             } | ||||
|  | ||||
|         .ctl_button { | ||||
|             font-family: 'CalciteWebCoreIcons'; | ||||
|             display: block; | ||||
|             margin: 6px auto; | ||||
|             width: 60px; | ||||
|             height: 22px; | ||||
|             line-height: 21px; | ||||
|             padding: 0; | ||||
|         } | ||||
|  | ||||
|         .machine_filter { | ||||
|             height: 32px; | ||||
|             line-height: 32px; | ||||
|         } | ||||
|  | ||||
|             .machine_filter select { | ||||
|                 height: 23px; | ||||
|                 min-width: 100px; | ||||
|                 max-width: 300px; | ||||
|             } | ||||
|  | ||||
|             .machine_filter span { | ||||
|                 margin-left: 8px; | ||||
|             } | ||||
|  | ||||
|         .ybutton { | ||||
|             width: auto; | ||||
|             line-height: normal; | ||||
|             margin-left: 6px; | ||||
|             border: none; | ||||
|             background: rgb(249, 189, 117); | ||||
|             padding: 5px 14px; | ||||
|             cursor: pointer; | ||||
|         } | ||||
|  | ||||
|             .ybutton:hover { | ||||
|                 background: #d7690E; | ||||
|             } | ||||
|  | ||||
|         .machines { | ||||
|             /*table-layout: fixed;*/ | ||||
|             word-break: keep-all; | ||||
|         } | ||||
|  | ||||
|             .machines td { | ||||
|                 padding-right: 5px; | ||||
|                 white-space: nowrap; | ||||
|             } | ||||
|  | ||||
|         .middlechk { | ||||
|             width: auto; | ||||
|             height: 13px; | ||||
|             margin-top: 0px; | ||||
|             margin-bottom: 1px; | ||||
|             vertical-align: middle; | ||||
|         } | ||||
|     </style> | ||||
|     <script src="<%=GetFileUrlWithVersion("../js/vue.min.js")%>" type="text/javascript"></script> | ||||
|     <script>Vue.config.productionTip = false; Vue.config.silent = true;</script> | ||||
|     <script src="<%=GetFileUrlWithVersion("../js/components/datagrid.js")%>" type="text/javascript"></script> | ||||
|     <script> | ||||
|  | ||||
|         var jobsitetoleranceCtrl; | ||||
|  | ||||
|         curfewquery = function (method, param, callback, error, nolog) { | ||||
|             _network.request("Security/CurfewMovementTolerance.aspx", -1, method, param, callback, error || function (e) { | ||||
|                 showAlert(GetTextByKey("P_CMT_FAILEDTOLOADDATA", 'Failed to load data: ') + e.statusText, GetTextByKey("P_CMT_SCHEDULEASSETS", 'Schedule Assets')); | ||||
|             }); | ||||
|         } | ||||
|  | ||||
|         function getText(s, flag) { | ||||
|             return (s == null) | ||||
|                 ? (flag ? '<i>null</i>' : '') | ||||
|                 : htmlencode(s, $('#span_text_holder')).replace(/ /g, ' '); | ||||
|         } | ||||
|  | ||||
|         function trim_str(s) { | ||||
|             if (s == null) | ||||
|                 return ""; | ||||
|             else | ||||
|                 return s.replace(/(^\s*)|(\s*$)/g, ""); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         var _tolerancedata; | ||||
|  | ||||
|         if (typeof jobsitetoleranceCtrl !== 'function') { | ||||
|             $jobsitetoleranceCtrl = function jobsitetoleranceCtrl() { | ||||
|                 this.tmpobj = { | ||||
|                     typeformat: undefined, | ||||
|                     paramsTable: null, | ||||
|                     table: null, | ||||
|                     pivotFields: null, | ||||
|                     pluginDT: null, | ||||
|                     pluginColumns: null, | ||||
|                     chart: null, | ||||
|                     tableList: null | ||||
|                 }; | ||||
|                 this.wizardCtrl = null; | ||||
|                 this.vue = null; | ||||
|             }; | ||||
|  | ||||
|             (function () { | ||||
|                 'use strict'; | ||||
|                 setPageTitle(GetTextByKey("P_CURFEWMOVEMENTTOLERANCE", 'Curfew Movement Tolerance'), true); | ||||
|  | ||||
|                 var dataGrid = window.DataGrid || window['g5-datagrid']; | ||||
|  | ||||
|                 $jobsitetoleranceCtrl.prototype.getData = function (/*dataObj, tmpdata*/) { | ||||
|                     return this.vue.source; | ||||
|                 }; | ||||
|  | ||||
|                 $jobsitetoleranceCtrl.prototype.setData = function (jobsitedata) { | ||||
|                     if (jobsitedata) { | ||||
|                         for (var i = 0; i < jobsitedata.length; i++) { | ||||
|                             var a = jobsitedata[i]; | ||||
|                             //a.Selected = false; | ||||
|                             if (a.Highlight == undefined) | ||||
|                                 a.Highlight = false; | ||||
|                         } | ||||
|                     } | ||||
|                     this.vue.source = jobsitedata ? jobsitedata : []; | ||||
|                 }; | ||||
|  | ||||
|                 $jobsitetoleranceCtrl.prototype.reload = function () { | ||||
|                     this.vue.$refs.grid.reload() | ||||
|                 }; | ||||
|  | ||||
|                 $jobsitetoleranceCtrl.prototype.Init = function (parent, isassigned) { | ||||
|                     var ethis = this; | ||||
|                     var defaultPivot = function () { | ||||
|                         //this.InnerID = $.newGuid(); | ||||
|                     }; | ||||
|                     //加载子页面模版 | ||||
|                     parent.load('../template/JobsiteToleranceCtrl.html?v=7&sn' + Math.random(), function () { | ||||
|                         ethis.vue = new Vue({ | ||||
|                             el: parent.find('.JobsiteToleranceCtrl')[0], | ||||
|                             components: { | ||||
|                                 'data-grid': dataGrid | ||||
|                             }, | ||||
|                             data: { | ||||
|                                 //tableResult: tableResult, | ||||
|                                 wnd: window.parent, | ||||
|                                 editable: true, | ||||
|                                 columns: [], | ||||
|                                 pivotLinkage: false, | ||||
|                                 source: [], | ||||
|                                 showLinkPivot: false, | ||||
|                                 defaultConstructor: defaultPivot, | ||||
|                                 defaultItemProps: { | ||||
|                                 } | ||||
|                             }, | ||||
|                             computed: { | ||||
|                                 btUpTitle: function () { | ||||
|                                     return "Move selected line up"; | ||||
|                                 }, | ||||
|                                 btDownTitle: function () { | ||||
|                                     return "Move selected line down"; | ||||
|                                 }, | ||||
|                                 btDelTitle: function () { | ||||
|                                     return 'Delete selected lines'; | ||||
|                                 } | ||||
|                             }, | ||||
|                             watch: { | ||||
|                                 source: function (val) { | ||||
|                                 } | ||||
|                             }, | ||||
|                             methods: { | ||||
|                                 cellvaluechanged: function (item, key) { | ||||
|                                 }, | ||||
|                                 rowdblclick: function (e) { | ||||
|                                 } | ||||
|                             } | ||||
|                         }); | ||||
|                         ethis.vue.columns = createGridColumn(ethis, isassigned); | ||||
|                         if (_tolerancedata && jobsitetoleranceCtrl) { | ||||
|                             jobsitetoleranceCtrl.setData(_tolerancedata.JobSites); | ||||
|                         } | ||||
|                     }); | ||||
|  | ||||
|                 }; | ||||
|  | ||||
|                 function createGridColumn(ethis, isassigned) { | ||||
|                     var editable = false; | ||||
|                     var columns = [ | ||||
|                         { | ||||
|                             key: 'JobSiteName', | ||||
|                             caption: GetTextByKey("P_CMT_JOBSITES", 'Jobsite'), | ||||
|                             type: dataGrid.COLUMN_TYPE.lable, | ||||
|                             width: 800, | ||||
|                             orderable: false, | ||||
|                             resizable: false, | ||||
|                             enabled: editable | ||||
|                         }, | ||||
|                         { | ||||
|                             key: 'Tolerance', | ||||
|                             caption: GetTextByKey("P_CMT_TOLERANCE", 'Tolerance'), | ||||
|                             type: dataGrid.COLUMN_TYPE.input, | ||||
|                             width: 150, | ||||
|                             orderable: false, | ||||
|                             resizable: false, | ||||
|                             visible: true, | ||||
|                             attrs: { 'maxlength': 8 } | ||||
|                         } | ||||
|                     ]; | ||||
|  | ||||
|                     return columns; | ||||
|                 } | ||||
|             }()); | ||||
|         } | ||||
|  | ||||
|         function OnRefresh() { | ||||
|             showloading(true); | ||||
|  | ||||
|             curfewquery("GetCurfewMovementTolerance", '', function (data) { | ||||
|                 showloading(false); | ||||
|                 if (typeof (data) === "string") { | ||||
|                     showAlert(data, GetTextByKey("P_CMT_ERROR", 'Error')); | ||||
|                     return; | ||||
|                 } | ||||
|                 _tolerancedata = data; | ||||
|                 $('#dialog_defaulttolerance').val(_tolerancedata.DefaultTolerance); | ||||
|                 if (jobsitetoleranceCtrl && jobsitetoleranceCtrl.vue) { | ||||
|                     jobsitetoleranceCtrl.setData(_tolerancedata.JobSites); | ||||
|                 } | ||||
|             }, function (err) { | ||||
|                 showloading(false); | ||||
|             }); | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|         function OnSave() { | ||||
|             var defaulttolerance = $.trim($('#dialog_defaulttolerance').val()); | ||||
|             var alerttitle = GetTextByKey("P_CMT_SAVESAVECURFEWMOVEMENTTOLERANCE", "Save Curfew Movement Tolerance"); | ||||
|  | ||||
|             if (defaulttolerance !== "" && isNaN(defaulttolerance)) { | ||||
|                 showAlert(GetTextByKey("P_CMT_DEFAULTTOLERANCEFORMATERROR", 'Default Tolerance format error.'), alerttitle); | ||||
|                 return; | ||||
|             } | ||||
|             var jobsite = []; | ||||
|             if (_tolerancedata.JobSites && _tolerancedata.JobSites.length > 0) { | ||||
|                 for (var i = 0; i < _tolerancedata.JobSites.length; i++) { | ||||
|                     var js = _tolerancedata.JobSites[i]; | ||||
|                     if (js.Tolerance !== "" && isNaN(js.Tolerance)) { | ||||
|                         showAlert(GetTextByKey("P_CMT_JOBSITETOLERANCEFORMATERROR", 'Jobsite Tolerance format error.'), alerttitle); | ||||
|                         return; | ||||
|                     } | ||||
|                     else { | ||||
|                         var jsitem = { | ||||
|                             'JobSiteId': js.JobSiteId, | ||||
|                             'Tolerance': js.Tolerance | ||||
|                         }; | ||||
|                         if (jsitem.Tolerance === "") | ||||
|                             jsitem.Tolerance = 0; | ||||
|                         jobsite.push(jsitem); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             var item = { | ||||
|                 'DefaultTolerance': defaulttolerance, | ||||
|                 'JobSites': jobsite | ||||
|             }; | ||||
|             if (item.DefaultTolerance === "") | ||||
|                 item.DefaultTolerance = 0; | ||||
|  | ||||
|             var param = JSON.stringify(item); | ||||
|             param = htmlencode(param); | ||||
|             curfewquery('UpdateCurfewMovementTolerance', param, function (data) { | ||||
|                 if (data !== 'OK') { | ||||
|                     showAlert(data, alerttitle); | ||||
|                 } else { | ||||
|                     showAlert(GetTextByKey("P_CMT_SAVSUCCESSFULLY", 'Saved Successfully.'), alerttitle); | ||||
|                     //OnRefresh(); | ||||
|                 } | ||||
|             }, function (err) { | ||||
|                 showAlert(GetTextByKey("P_CMT_FAILEDTOSAVECURFEWMOVEMENTTOLERANCE", 'Failed to save curfew movement tolerance.'), alerttitle); | ||||
|             }); | ||||
|         } | ||||
|  | ||||
|         $(function () { | ||||
|             jobsitetoleranceCtrl = new $jobsitetoleranceCtrl(); | ||||
|             jobsitetoleranceCtrl.Init($("#tolerancelist"), false); | ||||
|  | ||||
|             OnRefresh(); | ||||
|  | ||||
|             $(window).resize(function () { | ||||
|                 $("#tolerancelist").css("height", $(window).height() - $("#tolerancelist").offset().top - 10); | ||||
|             }).resize(); | ||||
|  | ||||
|         }); | ||||
|  | ||||
|     </script> | ||||
| </asp:Content> | ||||
| <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> | ||||
|     <div style="min-width: 400px;"> | ||||
|         <div class="page_title" data-lgid="P_CURFEWMOVEMENTTOLERANCE">Curfew Movement Tolerance</div> | ||||
|         <div class="function_title"> | ||||
|             <span class="sbutton iconsave" onclick="OnSave();" data-lgid="P_CMT_SAVE">Save</span> | ||||
|             <span class="sbutton iconrefresh" onclick="OnRefresh();" data-lgid="P_CMT_REFRESH">Refresh</span> | ||||
|         </div> | ||||
|         <div class="clear"></div> | ||||
|         <div> | ||||
|             <table style="margin-top: 3px; margin-bottom: 3px;"> | ||||
|                 <tr> | ||||
|                     <td class="label" data-lgid="P_CMT_DEFAULTTOILERANCE">Default Tolerance:</td> | ||||
|                     <td> | ||||
|                         <input type="text" id="dialog_defaulttolerance" maxlength="8" autocomplete="off" /></td> | ||||
|                 </tr> | ||||
|             </table> | ||||
|         </div> | ||||
|         <div id="tolerancelist"></div> | ||||
|         <div id="mask_bg" style="display: none;"> | ||||
|             <div class="loading c-spin"></div> | ||||
|         </div> | ||||
|     </div> | ||||
| </asp:Content> | ||||
		Reference in New Issue
	
	Block a user