var dialogAssets; $(function () { InitGridAvailableMachineGroups(); InitGridSelectedMachineGroups(); //InitGridAvailableMachines(); InitGridSelectedMachines(); InitGridAvailableJobsites(); InitGridSelectedJobsites(); InitGridAvailableAssetTypes(); InitGridSelectedAssetTypes(); //$('#sel_machine_type').change(getMatchAvailableMachines); //$('#button_machine_filter').click(getMatchAvailableMachines); //$('#chk_showallassignedassets').click(getMatchSelectedMachines); $('#button_jobsite_filter').click(getMatchAvailableJobsites); $('#chk_showallassignedjobsites').click(getMatchSelectedJobsites); $('#button_assettype_filter').click(getMatchAvailableAssetTypes); $('#chk_showallassignedassettypes').click(getMatchSelectedAssetTypes); dialogAssets = new $assetselector('dialog_machines'); dialogAssets.onDialogClosed = function () { $("#dialogmask").hide(); }; dialogAssets.onOK = function (source) { var items = []; for (var i = 0; i < source.length; i++) { var it = source[i]; if (it.Selected) { items.push({ ID: it.Id, VIN: it.VIN, Name: it.Name, MakeName: it.MakeName, ModelName: it.ModelName, TypeName: it.TypeName }); } } var params = [ '', uiid, JSON.stringify(items.map(function (f) { return f.ID; })) ]; $("#dialogmask").show(); _network.userquery('AssignAssetsToUser', params.join(String.fromCharCode(170)), function (r) { showmaskbg(false); $("#dialogmask").hide(); if (r === 'OK') { grid_dtsm.setData(grid_dtsm.source.concat(items)); } else { showAlert(r, GetTextByKey("P_UM_ASSETASSIGNMENT", 'Asset Assignment')); } }); }; }); /************************** Machine********************************/ /*************************************************************************/ function OnMachineAdd() { $("#dialogmask").show(); dialogAssets.exceptSource = grid_dtsm.source.map(function (s) { return s.ID; }); dialogAssets.showSelector(); } var allMachines; var _availableMachines = []; var _selectedMachines = []; var _showSelectedMachines = []; function OnManageMachine(u) { $('#chk_showallassignedassets').prop('checked', false); $('#txt_machine_key').val(''); if (!u) { uiid = undefined; return; } uiid = u.IID; var title = GetTextByKey("P_UM_ASSETASSIGNMENT", "Asset Assignment");// + "    " + jobsite.Name + "    " + "Radius_UOM: " + jobsite.Radius_UOM $('#dialog_managemahchine .dialog-title span.title').html(title); showmaskbg(true); $('#dialog_managemahchine') .attr('init', 1) .css({ 'top': (document.documentElement.clientHeight - $('#dialog_managemahchine').height()) / 5, 'left': (document.documentElement.clientWidth - $('#dialog_managemahchine').width()) / 2 }).showDialog(); grid_dtsm.setData([]); $('#selectedmachinelist input[type="checkbox"]').prop('checked', false); GetSelectedMachines(); } // 获取已选中的machines function GetSelectedMachines() { _selectedMachines = []; $("#dialogmask").show(); _network.userquery('GetSelectedAssets', String.fromCharCode(170) + uiid, function (data) { if (typeof data === "string") { showAlert(data, GetTextByKey("P_UM_ASSETASSIGNMENT", "Asset Assignment")); return; } _selectedMachines = data; //queryMachines(); showSelectedMachine(_selectedMachines); $("#dialogmask").hide(); }, function (e) { $("#dialogmask").hide(); }); } function queryMachines() { var param = { 'Key': -1, 'Value': '', 'Tag1': uiid }; $('#button_machine_filter').prop('disabled', true); setTimeout(function () { $('#button_machine_filter').prop('disabled', false); }, 1000); $("#dialogmask").show(); _availableMachines = []; _network.userquery('GetMachineList', JSON.stringify(param), function (data) { allMachines = data; getMatchAvailableMachines(); $("#dialogmask").hide(); }, function (e) { $("#dialogmask").hide(); }); } function getMatchAvailableMachines() { getMatchSelectedMachines(); var selected = []; for (var i = 0; i < _showSelectedMachines.length; i++) { var m = _showSelectedMachines[i]; selected.push(m.MachineID); } var typeid = $('#sel_machine_type').val(); var machinefilter = $('#txt_machine_key').val().toLowerCase(); _availableMachines = []; for (var i = 0; i < allMachines.length; i++) { var m = allMachines[i]; if ((typeid == -1 || typeid == m.TypeID) && (machinefilter == "" || m.VIN.toLowerCase().indexOf(machinefilter) >= 0 || m.DisplayName.toLowerCase().indexOf(machinefilter) >= 0) && $.inArray(m.MachineID, selected) < 0) { _availableMachines.push(m); } } showAvailableMachine(_availableMachines); } function getMatchSelectedMachines() { var typeid = $('#sel_machine_type').val(); var machinefilter = $('#txt_machine_key').val().toLowerCase(); var showallassigned = $('#chk_showallassignedassets').prop('checked'); _showSelectedMachines = []; var unMatched = []; for (var i = 0; i < _selectedMachines.length; i++) { var m = _selectedMachines[i]; m.Highlight = false; var matched = false; if (((typeid == -1 || typeid == m.TypeID) && (machinefilter == "" || m.VIN.toLowerCase().indexOf(machinefilter) >= 0 || m.DisplayName.toLowerCase().indexOf(machinefilter) >= 0))) { matched = true; m.Highlight = showallassigned && (machinefilter !== "" || typeid != -1); _showSelectedMachines.push(m);//Show All时,满足是啥条件的放在前面并高亮显示 } else if (showallassigned) unMatched.push(m); } if (showallassigned) { for (var i in unMatched) _showSelectedMachines.push(unMatched[i]); } showSelectedMachine(_showSelectedMachines); } function showMachines() { showAvailableMachine(_availableMachines); showSelectedMachine(_showSelectedMachines); } function showAvailableMachine(data) { var rows = []; for (var i = 0; i < data.length; i++) { var r = data[i]; rows.push(r); } grid_dtam.setData(rows); } var grid_dtam; function InitGridAvailableMachines() { grid_dtam = createGridView1('#availablemachinelist'); var list_columns = [ { name: 'VIN', caption: GetTextByKey("P_UM_SN", "SN"), valueIndex: 'VIN', css: { 'width': 160, 'text-align': 'left' } }, { name: 'DisplayName', caption: GetTextByKey("P_UM_NAME", "Name"), valueIndex: 'DisplayName', css: { 'width': 160, 'text-align': 'left' } }, { name: 'Make', caption: GetTextByKey("P_UM_MAKE", "Make"), valueIndex: 'Make', css: { 'width': 90, 'text-align': 'left' } }, { name: 'Model', caption: GetTextByKey("P_UM_MODEL", "Model"), valueIndex: 'Model', css: { 'width': 90, 'text-align': 'left' } } ]; var columns = []; // head for (var hd in list_columns) { var col = {}; col.name = list_columns[hd].name; col.caption = list_columns[hd].caption; col.visible = true; col.sortable = true; col.width = list_columns[hd].css.width; col.align = list_columns[hd].css["text-align"] col.key = list_columns[hd].valueIndex; columns.push(col); } grid_dtam.multiSelect = true; grid_dtam.columns = columns; grid_dtam.init(); grid_dtam.onRowDblClicked = function (rowindex) { var rowdata = grid_dtam.source[rowindex]; if (rowdata) { var machine = rowdata; _availableMachines.splice(_availableMachines.indexOf(machine), 1); _selectedMachines.push(machine); _showSelectedMachines.push(machine); showMachines(); } }; } function showSelectedMachine(data) { var rows = []; for (var i = 0; i < data.length; i++) { var r = data[i]; rows.push(r); } grid_dtsm.setData(rows); } function OnMachineDeleteSingle(item) { showConfirm(GetTextByKey("P_UM_DELETEASSIGNEDASSET", 'Are you sure you want to delete the assigned asset: {0}?').replace('{0}', item.Name), GetTextByKey("P_UM_ASSETASSIGNMENT", "Asset Assignment"), function () { var params = [ '', uiid, JSON.stringify([item.ID]) ]; $("#dialogmask").show(); _network.userquery('RemoveAssignedAssetsFromUser', params.join(String.fromCharCode(170)), function (r) { $("#dialogmask").hide(); if (r !== 'OK') { showAlert(r, GetTextByKey("P_UM_ASSETASSIGNMENT", "Asset Assignment")); } else { var tmp = grid_dtsm.source if (tmp != null) { for (var j = 0; j < tmp.length; j++) { if (item.ID === tmp[j].ID) { tmp.splice(j, 1); break; } } } grid_dtsm.setData(tmp); } }); }); } function OnMachineDelete() { showConfirm(GetTextByKey("P_UM_DELETESELECTEDASSET", 'Are you sure you want to delete these selected assets?'), GetTextByKey("P_UM_ASSETASSIGNMENT", "Asset Assignment"), function () { var ids = grid_dtsm.source.filter(function (s) { return s.selected; }).map(function (s) { return s.ID; }); var params = [ '', uiid, JSON.stringify(ids) ]; $("#dialogmask").show(); _network.userquery('RemoveAssignedAssetsFromUser', params.join(String.fromCharCode(170)), function (r) { $("#dialogmask").hide(); if (r !== 'OK') { showAlert(r, GetTextByKey("P_UM_ASSETASSIGNMENT", "Asset Assignment")); } else { var tmp = grid_dtsm.source; if (tmp != null) { for (var j = tmp.length - 1; j >= 0; j--) { var l = tmp[j]; if (l.selected) { tmp.splice(j, 1); } } } grid_dtsm.setData(tmp); } }); }); } var grid_dtsm; function InitGridSelectedMachines() { grid_dtsm = createGridView1('#selectedmachinelist'); var list_columns = [ { name: 'VIN', caption: GetTextByKey("P_UM_SN", "SN"), valueIndex: 'VIN', css: { 'width': 160, 'text-align': 'left' } }, { name: 'Name', caption: GetTextByKey("P_UM_NAME", "Name"), valueIndex: 'Name', css: { 'width': 160, 'text-align': 'left' } }, { name: 'MakeName', caption: GetTextByKey("P_UM_MAKE", "Make"), valueIndex: 'MakeName', css: { 'width': 90, 'text-align': 'left' } }, { name: 'ModelName', caption: GetTextByKey("P_UM_MODEL", "Model"), valueIndex: 'ModelName', css: { 'width': 90, 'text-align': 'left' } }, { name: 'TypeName', caption: GetTextByKey("P_UM_ASSETSTYPE", "Type"), valueIndex: 'TypeName', css: { 'width': 170, 'text-align': 'left' } } ]; var columns = [ { // checkbox name: 'check', key: 'selected', width: 45, align: 'center', sortable: false, allcheck: true, type: 3 } ]; // head for (var hd in list_columns) { var col = {}; col.name = list_columns[hd].name; col.caption = list_columns[hd].caption; col.visible = true; col.sortable = true; col.width = list_columns[hd].css.width; col.align = list_columns[hd].css["text-align"] col.key = list_columns[hd].valueIndex; col.allowFilter = col.name === 'TypeName'; col.styleFilter = function (item) { if (item.Highlight) return { 'background-color': 'yellow' }; } columns.push(col); } columns.push({ name: 'delete', width: 30, align: 'center', sortable: false, resizable:false, type: GridView1.ColumnTypes.Icon, text: 'times', events: { onclick: function () { OnMachineDeleteSingle(this); } }, classFilter: function (e) { return "icon-col"; }, attrs: { 'title': GetTextByKey("P_UM_DELETE", 'Delete') } }); grid_dtsm.multiSelect = true; grid_dtsm.columns = columns; grid_dtsm.init(); } function OnEditorAdd() { var indexs = grid_dtam.selectedIndexes; if (indexs.length <= 0) return; for (var i = 0; i < indexs.length; i++) { var index = indexs[i]; var m = grid_dtam.source[index]; _availableMachines.splice(_availableMachines.indexOf(m), 1); _selectedMachines.push(m); _showSelectedMachines.push(m); } showMachines(); } function OnEditorAddAll() { for (var i = 0; i < _availableMachines.length; i++) { var m = _availableMachines[i]; _selectedMachines.push(m); _showSelectedMachines.push(m); } _availableMachines = []; showMachines(); } function OnEditorRemove() { var indexs = grid_dtsm.selectedIndexes; if (indexs.length <= 0) return; for (var i = 0; i < indexs.length; i++) { var index = indexs[i]; var m = grid_dtsm.source[index]; _selectedMachines.splice(_selectedMachines.indexOf(m), 1); _showSelectedMachines.splice(_showSelectedMachines.indexOf(m), 1); _availableMachines.push(m); } showMachines(); } function OnEditorRemoveAll() { for (var i = 0; i < _showSelectedMachines.length; i++) { var m = _showSelectedMachines[i]; _selectedMachines.splice(_selectedMachines.indexOf(m), 1); _availableMachines.push(m); } _showSelectedMachines = []; showMachines(); } function OnSaveMachines() { var machineids = []; for (var i = 0; i < _selectedMachines.length; i++) { var m = _selectedMachines[i]; machineids.push(m.MachineID); } showloading(true); _network.userquery("SaveContactMachines", uiid + String.fromCharCode(170) + JSON.stringify(machineids), function (data) { showloading(false); if (data !== 'OK') { showAlert(data, GetTextByKey("P_UM_SAVEASSET", 'Save asset')); } else { $('#dialog_managemahchine').hideDialog(); OnRefresh(); } }, function (err) { console.log(err); showloading(false); showAlert(GetTextByKey("P_UM_FAILEDTOSAVEASSET", 'Failed to save asset.'), GetTextByKey("P_UM_SAVEASSET", 'Save asset')); }); } /**************************End Machine********************************/ /*****************************************************************************/ /**************************Start Manage Group********************************/ /*****************************************************************************/ var allMachineGroups; function OnManageMachineGroup(u) { if (!u) { uiid = undefined; return; } uiid = u.IID; $('#dialog_machinegroup .dialog-title span.title').text(GetTextByKey("P_UM_MANAGEASSETGROUPS", 'Manage Asset Groups')); showmaskbg(true); $('#dialog_machinegroup') .attr('act', 'edit') .css({ 'top': (document.documentElement.clientHeight - $('#dialog_machinegroup').height()) / 3, 'left': (document.documentElement.clientWidth - $('#dialog_machinegroup').width()) / 2 }) .showDialog(); // 加载用户信息 $('#dialog_machinegroup .maskbg').css('display', ''); _network.userquery('GetUserMachineGroup', uiid, function (data) { allMachineGroups = data.AllMachineGroups; showSelectedMachineGroup(!data.MachineGroups ? [] : data.MachineGroups); getMatchAvailableMachineGroups(); $('#dialog_machinegroup .maskbg').css('display', 'none'); }, function (err) { showAlert(GetTextByKey("P_UM_FAILEDTOLOADASSETGROUPS", 'Failed to load asset groups.'), GetTextByKey("P_UM_MANAGEASSETS", 'Manage Assets')); }); } function getMatchAvailableMachineGroups() { var selected = []; var tempsource = grid_dtsmg.source; for (var i = 0; i < tempsource.length; i++) { var m = tempsource[i]; selected.push(m.GroupID); } var _availableMachineGroups = []; for (var i = 0; i < allMachineGroups.length; i++) { var m = allMachineGroups[i]; if ($.inArray(m.GroupID, selected) < 0) { _availableMachineGroups.push(m); } } showAvailableMachineGroups(_availableMachineGroups); } function showAvailableMachineGroups(data) { var rows = []; for (var i = 0; i < data.length; i++) { var r = data[i]; rows.push(r); } grid_dtamg.setData(rows); } var grid_dtamg; function InitGridAvailableMachineGroups() { grid_dtamg = createGridView1('#availableassetgrouplist'); var list_columns = [ { name: 'GroupName', caption: GetTextByKey("P_UM_GROUPNAME", "Group Name"), valueIndex: 'GroupName', css: { 'width': 150, 'text-align': 'left' } }, { name: 'Description', caption: GetTextByKey("P_UM_DESCRIPTION", "Description"), valueIndex: 'Description', css: { 'width': 180, 'text-align': 'right' } } ]; var columns = []; // head for (var hd in list_columns) { var col = {}; col.name = list_columns[hd].name; col.caption = list_columns[hd].caption; col.visible = true; col.sortable = true; col.width = list_columns[hd].css.width; col.align = list_columns[hd].css["text-align"] col.key = list_columns[hd].valueIndex; columns.push(col); } grid_dtamg.multiSelect = true; grid_dtamg.columns = columns; grid_dtamg.init(); grid_dtamg.onRowDblClicked = function (rowindex) { var rowdata = grid_dtamg.source[rowindex]; if (rowdata) { grid_dtamg.removeItem(rowindex); grid_dtsmg.addItem(rowdata); } }; } function showSelectedMachineGroup(data) { var rows = []; for (var i = 0; i < data.length; i++) { var r = data[i]; rows.push(r); } grid_dtsmg.setData(rows); } var grid_dtsmg; function InitGridSelectedMachineGroups() { grid_dtsmg = createGridView1('#selectedassetgrouplist'); var list_columns = [ { name: 'GroupName', caption: GetTextByKey("P_UM_GROUPNAME", "Group Name"), valueIndex: 'GroupName', css: { 'width': 150, 'text-align': 'left' } }, { name: 'Description', caption: GetTextByKey("P_UM_DESCRIPTION", "Description"), valueIndex: 'Description', css: { 'width': 180, 'text-align': 'right' } } ]; var columns = []; // head for (var hd in list_columns) { var col = {}; col.name = list_columns[hd].name; col.caption = list_columns[hd].caption; col.visible = true; col.sortable = true; col.width = list_columns[hd].css.width; col.align = list_columns[hd].css["text-align"] col.key = list_columns[hd].valueIndex; if (list_columns[hd].type) { col.type = list_columns[hd].type; } columns.push(col); } grid_dtsmg.multiSelect = true; grid_dtsmg.columns = columns; grid_dtsmg.init(); grid_dtsmg.onRowDblClicked = function (rowindex) { var rowdata = grid_dtsmg.source[rowindex]; if (rowdata) { grid_dtsmg.removeItem(rowindex, 1); grid_dtamg.addItem(rowdata); } }; } function OnAssetGroupEditorAdd() { var indexs = grid_dtamg.selectedIndexes; if (indexs.length <= 0) return; var rowstemp = []; var tempsource = grid_dtamg.source; for (var i = 0; i < indexs.length; i++) { var rowindex = indexs[i]; var rowdata = tempsource[rowindex]; rowstemp.push(rowdata); } var index = grid_dtsmg.source.length; for (var i = 0; i < rowstemp.length; i++) { var rowdata = rowstemp[i]; grid_dtamg.removeItem(tempsource.indexOf(rowdata)); grid_dtsmg.addItem(rowdata, index); index++; } //grid_dtamg.setData(grid_dtamg.source); //grid_dtsmg.setData(grid_dtsmg.source); } function OnAssetGroupEditorAddAll() { var tmp = grid_dtsmg.source; var tempsource = grid_dtamg.source; for (var i = 0; i < tempsource.length; i++) { var rowdata = tempsource[i]; tmp.push(rowdata); } grid_dtsmg.setData(tmp); grid_dtamg.setData([]); } function OnAssetGroupEditorRemove() { var indexs = grid_dtsmg.selectedIndexes; if (indexs.length <= 0) return; var rowstemp = []; var tempsource = grid_dtsmg.source; for (var i = 0; i < indexs.length; i++) { var rowindex = indexs[i]; var rowdata = tempsource[rowindex]; rowstemp.push(rowdata); } var index = grid_dtamg.source.length; for (var i = 0; i < rowstemp.length; i++) { var rowdata = rowstemp[i]; grid_dtsmg.removeItem(tempsource.indexOf(rowdata)); grid_dtamg.addItem(rowdata, index); index++; } //grid_dtsmg.setData(grid_dtsmg.source); //grid_dtamg.setData(grid_dtamg.source); } function OnAssetGroupEditorRemoveAll() { var tmp = grid_dtamg.source; var tempsource = grid_dtsmg.source; for (var i = 0; i < tempsource.length; i++) { var rowdata = tempsource[i]; tmp.push(rowdata); } grid_dtamg.setData(tmp); grid_dtsmg.setData([]); } function OnSaveUserMG() { var item = { }; if (uiid) { item.UserIID = uiid; } else return; item.GroupIDs = []; var tempsource = grid_dtsmg.source; for (var i = 0; i < tempsource.length; i++) { var m = tempsource[i]; item.GroupIDs.push(m.GroupID); } $('#dialog_machinegroup .maskbg').css('display', ''); var param = JSON.stringify(item); param = htmlencode(param); _network.userquery("SaveUserMachineGroup", param, function (data) { //alert('Save user info successfully.'); if (data !== 'OK') { showAlert(data, GetTextByKey("P_UM_SAVEUSERASSETGROUPS", 'Save user asset groups')); $('#dialog_machinegroup .maskbg').css('display', 'none'); } else { $('#dialog_machinegroup').hideDialog(); showmaskbg(false); } }, function (err) { showAlert(GetTextByKey("P_UM_FAILEDTOSAVEASSETGROUPS", 'Failed to save asset groups.'), GetTextByKey("P_UM_SAVEUSERASSETGROUPS", 'Save user asset groups')); $('#dialog_machinegroup .maskbg').css('display', 'none'); }); } /**************************End Manage Group********************************/ /*****************************************************************************/ /************************** Jobsite Assignment********************************/ /*************************************************************************/ var allJobsites; var _availableJobsites = []; var _selectedJobsites = []; var _showSelectedJobsites = []; function OnManageJobsite(u) { $('#chk_showallassignedjobsites').prop('checked', false); $('#txt_jobsite_key').val(''); if (!u) { uiid = undefined; return; } uiid = u.IID; var title = GetTextByKey("P_UM_JOBSITEASSIGNMENT", 'Jobsite Assignment'); $('#dialog_managejobsite .dialog-title span.title').html(title); showmaskbg(true); $('#dialog_managejobsite') .css({ 'top': (document.documentElement.clientHeight - $('#dialog_managejobsite').height()) / 5, 'left': (document.documentElement.clientWidth - $('#dialog_managejobsite').width()) / 2 }).showDialog(); GetSelectedJobsites(); } // 获取已选中的Jobsites function GetSelectedJobsites() { _selectedJobsites = []; $("#jobsitedialogmask").show(); _network.userquery('GetSelectedJobsites', uiid, function (data) { if (typeof data === "string") { showAlert(data, GetTextByKey("P_UM_JOBSITEASSIGNMENT", 'Jobsite Assignment')); return; } _selectedJobsites = data; queryJobsites(); }, function (e) { $("#jobsitedialogmask").hide(); }); } function queryJobsites() { $('#button_jobsite_filter').prop('disabled', true); setTimeout(function () { $('#button_jobsite_filter').prop('disabled', false); }, 1000); _availableJobsites = []; $("#jobsitedialogmask").show(); _network.userquery('GetJobsiteList', '', function (data) { if (typeof data === "string") { showAlert(data, GetTextByKey("P_UM_JOBSITEASSIGNMENT", 'Jobsite Assignment')); return; } allJobsites = data; getMatchAvailableJobsites(); $("#jobsitedialogmask").hide(); }, function (e) { $("#jobsitedialogmask").hide(); }); } function getMatchAvailableJobsites() { getMatchSelectedJobsites(); var selected = []; for (var i = 0; i < _showSelectedJobsites.length; i++) { var m = _showSelectedJobsites[i]; selected.push(m.ID); } var jobsitefilter = $('#txt_jobsite_key').val().toLowerCase(); _availableJobsites = []; for (var i = 0; i < allJobsites.length; i++) { var m = allJobsites[i]; if ((jobsitefilter == "" || m.Name.toLowerCase().indexOf(jobsitefilter) >= 0) && $.inArray(m.ID, selected) < 0) { _availableJobsites.push(m); } } showAvailableJobsite(_availableJobsites); } function getMatchSelectedJobsites() { var jobsitefilter = $('#txt_jobsite_key').val().toLowerCase(); var showallassigned = $('#chk_showallassignedjobsites').prop('checked'); _showSelectedJobsites = []; var unMatched = []; for (var i = 0; i < _selectedJobsites.length; i++) { var m = _selectedJobsites[i]; m.Highlight = false; var matched = false; if (jobsitefilter == "" || m.Name.toLowerCase().indexOf(jobsitefilter) >= 0) { matched = true; m.Highlight = showallassigned && jobsitefilter !== ""; _showSelectedJobsites.push(m); } else if (showallassigned) unMatched.push(m); } if (showallassigned) { for (var i in unMatched) _showSelectedJobsites.push(unMatched[i]); } showSelectedJobsite(_showSelectedJobsites); } function showJobsites() { showAvailableJobsite(_availableJobsites); showSelectedJobsite(_showSelectedJobsites); } function showAvailableJobsite(data) { var rows = []; for (var i = 0; i < data.length; i++) { var r = data[i]; rows.push(r); } grid_dtaj.setData(rows); } function showSelectedJobsite(data) { var rows = []; for (var i = 0; i < data.length; i++) { var r = data[i]; rows.push(r); } grid_dtsj.setData(rows); } var grid_dtaj; function InitGridAvailableJobsites() { grid_dtaj = createGridView1('#availablejobsitelist'); var list_columns = [ { name: 'Name', caption: GetTextByKey("P_UM_NAME", "Name"), valueIndex: 'Name', css: { 'width': 380, 'text-align': 'left' } } ]; var columns = []; // head for (var hd in list_columns) { var col = {}; col.name = list_columns[hd].name; col.caption = list_columns[hd].caption; col.visible = true; col.sortable = true; col.width = list_columns[hd].css.width; col.align = list_columns[hd].css["text-align"] col.key = list_columns[hd].valueIndex; columns.push(col); } grid_dtaj.multiSelect = true; grid_dtaj.columns = columns; grid_dtaj.init(); grid_dtaj.onRowDblClicked = function (rowindex) { var rowdata = grid_dtaj.source[rowindex]; if (rowdata) { var Jobsite = rowdata; _availableJobsites.splice(_availableJobsites.indexOf(Jobsite), 1); _selectedJobsites.push(Jobsite); _showSelectedJobsites.push(Jobsite); showJobsites(); } }; } var grid_dtsj; function InitGridSelectedJobsites() { grid_dtsj = createGridView1('#selectedjobsitelist'); var list_columns = [ { name: 'Name', caption: GetTextByKey("P_UM_NAME", "Name"), valueIndex: 'Name', css: { 'width': 380, 'text-align': 'left' } } ]; var columns = []; // head for (var hd in list_columns) { var col = {}; col.name = list_columns[hd].name; col.caption = list_columns[hd].caption; col.visible = true; col.sortable = true; col.width = list_columns[hd].css.width; col.align = list_columns[hd].css["text-align"] col.key = list_columns[hd].valueIndex; col.styleFilter = function (item) { if (item.Highlight) return { 'background-color': 'yellow' }; } columns.push(col); } grid_dtsj.multiSelect = true; grid_dtsj.columns = columns; grid_dtsj.init(); grid_dtsj.onRowDblClicked = function (rowindex) { var rowdata = grid_dtsj.source[rowindex]; if (rowdata) { var Jobsite = rowdata; _selectedJobsites.splice(_selectedJobsites.indexOf(Jobsite), 1); _showSelectedJobsites.splice(_showSelectedJobsites.indexOf(Jobsite), 1); _availableJobsites.push(Jobsite); showJobsites(); } }; } function OnJobsiteEditorAdd() { var indexs = grid_dtaj.selectedIndexes; if (indexs.length <= 0) return; for (var i = 0; i < indexs.length; i++) { var index = indexs[i]; var m = grid_dtaj.source[index]; _availableJobsites.splice(_availableJobsites.indexOf(m), 1); _selectedJobsites.push(m); _showSelectedJobsites.push(m); } showJobsites(); } function OnJobsiteEditorAddAll() { for (var i = 0; i < _availableJobsites.length; i++) { var m = _availableJobsites[i]; _selectedJobsites.push(m); _showSelectedJobsites.push(m); } _availableJobsites = []; showJobsites(); } function OnJobsiteEditorRemove() { var indexs = grid_dtsj.selectedIndexes; if (indexs.length <= 0) return; for (var i = 0; i < indexs.length; i++) { var index = indexs[i]; var m = grid_dtsj.source[index]; _selectedJobsites.splice(_selectedJobsites.indexOf(m), 1); _showSelectedJobsites.splice(_showSelectedJobsites.indexOf(m), 1); _availableJobsites.push(m); } showJobsites(); } function OnJobsiteEditorRemoveAll() { for (var i = 0; i < _showSelectedJobsites.length; i++) { var m = _showSelectedJobsites[i]; _selectedJobsites.splice(_selectedJobsites.indexOf(m), 1); _availableJobsites.push(m); } _showSelectedJobsites = []; showJobsites(); } function OnSaveJobsites() { var jobsiteids = []; for (var i = 0; i < _selectedJobsites.length; i++) { var j = _selectedJobsites[i]; jobsiteids.push(j.ID); } showloading(true); _network.userquery("SaveContactJobsites", uiid + String.fromCharCode(170) + JSON.stringify(jobsiteids), function (data) { showloading(false); if (data !== 'OK') { showAlert(data, GetTextByKey("P_UM_JOBSITEASSIGNMENT", 'Jobsite Assignment')); } else { $('#dialog_managejobsite').hideDialog(); OnRefresh(); } }, function (err) { console.log(err); showloading(false); showAlert(GetTextByKey("P_UM_FAILEDTOSAVEJOBSITEASSIGNMENT", 'Failed to save jobsite assignment.'), GetTextByKey("P_UM_JOBSITEASSIGNMENT", 'Jobsite Assignment')); }); } /**************************End JobSite Assignment********************************/ /*****************************************************************************/ /************************** AssetType Assignment********************************/ /*************************************************************************/ var allAssetTypes; var _availableAssetTypes = []; var _selectedAssetTypes = []; var _showSelectedAssetTypes = []; function OnManageAssetType(u) { $('#chk_showallassignedassettypes').prop('checked', false); $('#txt_assettype_key').val(''); if (!u) { uiid = undefined; return; } uiid = u.IID; var title = GetTextByKey("P_UM_ASSETTYPEASSIGNMENT", 'Asset Type Assignment'); $('#dialog_manageassettype .dialog-title span.title').html(title); showmaskbg(true); $('#dialog_manageassettype') .css({ 'top': (document.documentElement.clientHeight - $('#dialog_manageassettype').height()) / 5, 'left': (document.documentElement.clientWidth - $('#dialog_manageassettype').width()) / 2 }).showDialog(); GetSelectedAssetTypes(); } // 获取已选中的AssetTypes function GetSelectedAssetTypes() { _selectedAssetTypes = []; $("#assettypedialogmask").show(); _network.userquery('GetSelectedAssetTypes', uiid, function (data) { if (typeof data === "string") { showAlert(data, GetTextByKey("P_UM_ASSETTYPEASSIGNMENT", 'Asset Type Assignment')); return; } _selectedAssetTypes = data; queryAssetTypes(); }, function (e) { $("#assettypedialogmask").hide(); }); } function queryAssetTypes() { $('#button_assettype_filter').prop('disabled', true); setTimeout(function () { $('#button_assettype_filter').prop('disabled', false); }, 1000); _availableAssetTypes = []; $("#assettypedialogmask").show(); _network.userquery('GetAssetTypes', '', function (data) { if (typeof data === "string") { showAlert(data, GetTextByKey("P_UM_ASSETTYPEASSIGNMENT", 'AssetType Assignment')); return; } allAssetTypes = data; getMatchAvailableAssetTypes(); $("#assettypedialogmask").hide(); }, function (e) { $("#assettypedialogmask").hide(); }); } function getMatchAvailableAssetTypes() { getMatchSelectedAssetTypes(); var selected = []; for (var i = 0; i < _showSelectedAssetTypes.length; i++) { var m = _showSelectedAssetTypes[i]; selected.push(m.ID); } var assettypefilter = $('#txt_assettype_key').val().toLowerCase(); _availableAssetTypes = []; for (var i = 0; i < allAssetTypes.length; i++) { var m = allAssetTypes[i]; if ((assettypefilter == "" || m.Name.toLowerCase().indexOf(assettypefilter) >= 0) && $.inArray(m.ID, selected) < 0) { _availableAssetTypes.push(m); } } showAvailableAssetType(_availableAssetTypes); } function getMatchSelectedAssetTypes() { var assettypefilter = $('#txt_assettype_key').val().toLowerCase(); var showallassigned = $('#chk_showallassignedassettypes').prop('checked'); _showSelectedAssetTypes = []; var unMatched = []; for (var i = 0; i < _selectedAssetTypes.length; i++) { var m = _selectedAssetTypes[i]; m.Highlight = false; var matched = false; if (assettypefilter == "" || m.Name.toLowerCase().indexOf(assettypefilter) >= 0) { matched = true; m.Highlight = showallassigned && assettypefilter !== ""; _showSelectedAssetTypes.push(m); } else if (showallassigned) unMatched.push(m); } if (showallassigned) { for (var i in unMatched) _showSelectedAssetTypes.push(unMatched[i]); } showSelectedAssetType(_showSelectedAssetTypes); } function showAssetTypes() { showAvailableAssetType(_availableAssetTypes); showSelectedAssetType(_showSelectedAssetTypes); } function showAvailableAssetType(data) { var rows = []; for (var i = 0; i < data.length; i++) { var r = data[i]; rows.push(r); } grid_dtaat.setData(rows); } function showSelectedAssetType(data) { var rows = []; for (var i = 0; i < data.length; i++) { var r = data[i]; rows.push(r); } grid_dtsat.setData(rows); } var grid_dtaat; function InitGridAvailableAssetTypes() { grid_dtaat = createGridView1('#availableassettypelist'); var list_columns = [ { name: 'Name', caption: GetTextByKey("P_UM_NAME", "Name"), valueIndex: 'Name', css: { 'width': 380, 'text-align': 'left' } } ]; var columns = []; // head for (var hd in list_columns) { var col = {}; col.name = list_columns[hd].name; col.caption = list_columns[hd].caption; col.visible = true; col.sortable = true; col.width = list_columns[hd].css.width; col.align = list_columns[hd].css["text-align"] col.key = list_columns[hd].valueIndex; columns.push(col); } grid_dtaat.multiSelect = true; grid_dtaat.columns = columns; grid_dtaat.init(); grid_dtaat.onRowDblClicked = function (rowindex) { var rowdata = grid_dtaat.source[rowindex]; if (rowdata) { var AssetType = rowdata; _availableAssetTypes.splice(_availableAssetTypes.indexOf(AssetType), 1); _selectedAssetTypes.push(AssetType); _showSelectedAssetTypes.push(AssetType); showAssetTypes(); } }; } var grid_dtsat; function InitGridSelectedAssetTypes() { grid_dtsat = createGridView1('#selectedassettypelist'); var list_columns = [ { name: 'Name', caption: GetTextByKey("P_UM_NAME", "Name"), valueIndex: 'Name', css: { 'width': 380, 'text-align': 'left' } } ]; var columns = []; // head for (var hd in list_columns) { var col = {}; col.name = list_columns[hd].name; col.caption = list_columns[hd].caption; col.visible = true; col.sortable = true; col.width = list_columns[hd].css.width; col.align = list_columns[hd].css["text-align"] col.key = list_columns[hd].valueIndex; col.styleFilter = function (item) { if (item.Highlight) return { 'background-color': 'yellow' }; } columns.push(col); } grid_dtsat.multiSelect = true; grid_dtsat.columns = columns; grid_dtsat.init(); grid_dtsat.onRowDblClicked = function (rowindex) { var rowdata = grid_dtsat.source[rowindex]; if (rowdata) { var AssetType = rowdata; _selectedAssetTypes.splice(_selectedAssetTypes.indexOf(AssetType), 1); _showSelectedAssetTypes.splice(_showSelectedAssetTypes.indexOf(AssetType), 1); _availableAssetTypes.push(AssetType); showAssetTypes(); } }; } function OnAssetTypeEditorAdd() { var indexs = grid_dtaat.selectedIndexes; if (indexs.length <= 0) return; for (var i = 0; i < indexs.length; i++) { var index = indexs[i]; var m = grid_dtaat.source[index]; _availableAssetTypes.splice(_availableAssetTypes.indexOf(m), 1); _selectedAssetTypes.push(m); _showSelectedAssetTypes.push(m); } showAssetTypes(); } function OnAssetTypeEditorAddAll() { for (var i = 0; i < _availableAssetTypes.length; i++) { var m = _availableAssetTypes[i]; _selectedAssetTypes.push(m); _showSelectedAssetTypes.push(m); } _availableAssetTypes = []; showAssetTypes(); } function OnAssetTypeEditorRemove() { var indexs = grid_dtsat.selectedIndexes; if (indexs.length <= 0) return; for (var i = 0; i < indexs.length; i++) { var index = indexs[i]; var m = grid_dtsat.source[index]; _selectedAssetTypes.splice(_selectedAssetTypes.indexOf(m), 1); _showSelectedAssetTypes.splice(_showSelectedAssetTypes.indexOf(m), 1); _availableAssetTypes.push(m); } showAssetTypes(); } function OnAssetTypeEditorRemoveAll() { for (var i = 0; i < _showSelectedAssetTypes.length; i++) { var m = _showSelectedAssetTypes[i]; _selectedAssetTypes.splice(_selectedAssetTypes.indexOf(m), 1); _availableAssetTypes.push(m); } _showSelectedAssetTypes = []; showAssetTypes(); } function OnSaveAssetTypes() { var assettypeids = []; for (var i = 0; i < _selectedAssetTypes.length; i++) { var j = _selectedAssetTypes[i]; assettypeids.push(j.ID); } showloading(true); _network.userquery("SaveUserAssetTypes", uiid + String.fromCharCode(170) + JSON.stringify(assettypeids), function (data) { showloading(false); if (data !== 'OK') { showAlert(data, GetTextByKey("P_UM_ASSETTYPEASSIGNMENT", 'AssetType Assignment')); } else { $('#dialog_manageassettype').hideDialog(); OnRefresh(); } }, function (err) { console.log(err); showloading(false); showAlert(GetTextByKey("P_UM_FAILEDTOSAVEASSETTYPEASSIGNMENT", 'Failed to save assettype assignment.'), GetTextByKey("P_UM_ASSETTYPEASSIGNMENT", 'Asset Type Assignment')); }); } /**************************End AssetType Assignment********************************/ /*****************************************************************************/ /**************************Start Reset Password********************************/ /*****************************************************************************/ function OnResetPassword(u) { if (!u) { uiid = undefined; return; } uiid = u.IID; $('#dialog_user_randompass').prop('checked', true); $('#dialog_user_password').prop('disabled', true); $('#dialog_user_password1').prop('disabled', true); $('#dialog_user_password').val(''); $('#dialog_user_password1').val(''); showmaskbg(true); $('#dialog_password') .css({ 'top': (document.documentElement.clientHeight - $('#dialog_password').height()) / 3, 'left': (document.documentElement.clientWidth - $('#dialog_password').width()) / 2 }).showDialogfixed(); } function ResetPassword() { var alerttitle = GetTextByKey("P_UM_RESETPASSWORD", "Reset Password"); var password = ""; if (!$('#dialog_user_randompass').prop('checked')) { password = $('#dialog_user_password').val(); if (password.length < 8) { showAlert(GetTextByKey("P_UM_PASSWORDTIPS", 'The password must have at least 8 characters.'), alerttitle, undefined, function () { $('#dialog_user_password').focus(); }); return; } if (getStrength(password) < 2) { showAlert(GetTextByKey("P_UM_PASSWORDTIPS1", 'The password must contain both uppercase and lowercase characters and at lease one number.'), alerttitle, undefined, function () { $('#dialog_user_password').focus(); }); return; } var pass2 = $('#dialog_user_password1').val(); if (password !== pass2) { showAlert(GetTextByKey("P_UM_PASSWORDTIPS2", 'The two passwords are different. Please reenter.'), alerttitle, undefined, function () { $('#dialog_user_password1').focus(); }); return; } } showloading(true); _network.userquery("ResetPassword", uiid + String.fromCharCode(170) + password, function (data) { showloading(false); if (data !== 'OK') { showAlert(data, alerttitle); } else { showAlert(GetTextByKey("P_UM_RESETUSERPASSWORDSUCCESSFULLY", 'Reset user password successfully.'), alerttitle); $('#dialog_password').hideDialog(); OnRefresh(); } }, function (err) { console.log(err); showloading(false); showAlert(GetTextByKey("P_UM_FAILEDTORESETUSERPASSWORD", 'Failed to reset user password.'), alerttitle); }); } /**************************End Reset Password********************************/ /*****************************************************************************/