1084 lines
33 KiB
JavaScript
1084 lines
33 KiB
JavaScript
|
||
var dialogAUAssets;
|
||
$(function () {
|
||
InitGridSelectedMachines();
|
||
InitGridAvailableMachineGroups();
|
||
InitGridSelectedMachineGroups();
|
||
InitGridAvailableJobsites();
|
||
InitGridSelectedJobsites();
|
||
InitGridAvailableAssetTypes();
|
||
InitGridSelectedAssetTypes();
|
||
dialogAUAssets = new $assetselector('dialog_machines');
|
||
dialogAUAssets.allowhidden = false;
|
||
dialogAUAssets.allowotherfilter = false;
|
||
dialogAUAssets.onDialogClosed = function () {
|
||
showbg(false);//showmaskbg被FIC里面的覆盖,使用FIC中的showbg
|
||
};
|
||
dialogAUAssets.onOK = function (source) {
|
||
var items = [];
|
||
for (var i = 0; i < source.length; i++) {
|
||
var it = source[i].Values;
|
||
if (it.Selected) {
|
||
items.push({
|
||
Values: {
|
||
ID: it.Id,
|
||
VIN: it.VIN,
|
||
Name: it.Name,
|
||
MakeName: it.MakeName,
|
||
ModelName: it.ModelName,
|
||
TypeName: it.TypeName
|
||
}
|
||
});
|
||
}
|
||
}
|
||
grid_dtassets.setData(grid_dtassets.innerSource.concat(items));
|
||
showbg(false);
|
||
};
|
||
|
||
$('#dialog_assetgroup').prop('iframe', true).dialog(function () {
|
||
showbg(false);
|
||
});
|
||
|
||
$('#dialog_jobsite').prop('iframe', true).dialog(function () {
|
||
showbg(false);
|
||
});
|
||
|
||
$('#dialog_assettype').prop('iframe', true).dialog(function () {
|
||
showbg(false);
|
||
});
|
||
|
||
$("#txt_assetgroup_key").keypress(onAssetGroupKeyPress);
|
||
$("#txt_jobsite_key").keypress(onJobsiteKeyPress);
|
||
});
|
||
|
||
function getAssignData() {
|
||
_selectedMachines = [];
|
||
_selectedAssetGroups = [];
|
||
_selectedJobsites = [];
|
||
_selectedAssetTypes = [];
|
||
|
||
grid_dtassets.setData([]);
|
||
grid_dtsag.setData([]);
|
||
grid_dtjs.setData([]);
|
||
grid_dtat.setData([]);
|
||
if (uid && uid != "") {
|
||
GetSelectedAssets();
|
||
GetUserAssetGroups();
|
||
GetSelectedJobsites();
|
||
GetSelectedAssetTypes();
|
||
}
|
||
}
|
||
|
||
|
||
//**************************************Asset(s)****************************************************//
|
||
var grid_dtassets;
|
||
function InitGridSelectedMachines() {
|
||
grid_dtassets = new GridView('#selectedmachinelist');
|
||
grid_dtassets.lang = {
|
||
all: GetTextByKey("P_GRID_ALL", "(All)"),
|
||
ok: GetTextByKey("P_GRID_OK", "OK"),
|
||
reset: GetTextByKey("P_GRID_RESET", "Reset")
|
||
};
|
||
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: 30,
|
||
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);
|
||
}
|
||
|
||
grid_dtassets.canMultiSelect = true;
|
||
grid_dtassets.columns = columns;
|
||
grid_dtassets.init();
|
||
|
||
grid_dtassets.selectedrowchanged = function (rowindex) {
|
||
var rowdata = grid_dtassets.source[rowindex];
|
||
if (rowdata) {
|
||
}
|
||
}
|
||
}
|
||
|
||
function showSelectedMachine(data) {
|
||
var rows = [];
|
||
for (var i = 0; i < data.length; i++) {
|
||
var r = data[i];
|
||
var fr = { Values: r };
|
||
rows.push(fr);
|
||
}
|
||
|
||
grid_dtassets.setData(rows);
|
||
}
|
||
|
||
// 获取已选中的Assets
|
||
function GetSelectedAssets() {
|
||
_selectedMachines = [];
|
||
$("#dialogmask").show();
|
||
userrequest('GetSelectedAssets', String.fromCharCode(170) + uid, function (data) {
|
||
if (typeof data === "string") {
|
||
showAlert(data, GetTextByKey("P_UM_ASSETASSIGNMENT", "Asset Assignment"));
|
||
return;
|
||
}
|
||
_selectedMachines = data;
|
||
showSelectedMachine(_selectedMachines);
|
||
$("#dialogmask").hide();
|
||
}, function (e) {
|
||
$("#dialogmask").hide();
|
||
});
|
||
}
|
||
|
||
function OnAssetAdd() {
|
||
onAssetAssignmentWarning(OnAssetAdd1);
|
||
}
|
||
|
||
function OnAssetAdd1() {
|
||
showbg(true);
|
||
dialogAUAssets.exceptSource = grid_dtassets.innerSource.map(function (s) {
|
||
return s.Values.ID;
|
||
});
|
||
dialogAUAssets.showSelector();
|
||
$('#mask_bg').css('height', '100%');
|
||
}
|
||
|
||
function OnMachineDelete() {
|
||
onAssetAssignmentWarning(OnMachineDelete1);
|
||
}
|
||
|
||
function OnMachineDelete1() {
|
||
showConfirm(GetTextByKey("P_UM_DELETESELECTEDASSET", 'Are you sure you want to delete these selected assets?'), GetTextByKey("P_UM_ASSETASSIGNMENT", "Asset Assignment"), function () {
|
||
for (var i = grid_dtassets.innerSource.length - 1; i >= 0; i--) {
|
||
var s = grid_dtassets.innerSource[i].Values;
|
||
if (s.selected) {
|
||
grid_dtassets.innerSource.splice(i, 1);
|
||
}
|
||
}
|
||
if (grid_dtassets.source != null) {
|
||
for (var j = grid_dtassets.source.length - 1; j >= 0; j--) {
|
||
var l = grid_dtassets.source[j].Values;
|
||
if (l.selected) {
|
||
grid_dtassets.source.splice(j, 1);
|
||
}
|
||
}
|
||
}
|
||
grid_dtassets.reset();
|
||
});
|
||
}
|
||
|
||
function onAssetAssignmentWarning(next) {
|
||
var filterid = $("#sel_filtertemplate").find("option:selected").val();
|
||
if (filterid && uid && uid != "") {
|
||
showConfirm(GetTextByKey("P_XXX", "WARNING: Adjusting the user's Asset Assignment may impact the user's Alert Filter Templates. Are you sure you want to save?"), GetTextByKey("P_UM_ASSETASSIGNMENT", 'Asset Assignment'), function () {
|
||
if (next)
|
||
next();
|
||
});
|
||
}
|
||
else {
|
||
if (next)
|
||
next();
|
||
}
|
||
|
||
}
|
||
|
||
//**************************************Asset Group(s)****************************************************//
|
||
var grid_dtsag;
|
||
function InitGridSelectedMachineGroups() {
|
||
grid_dtsag = new GridView('#selectedmachinegrouplist');
|
||
grid_dtsag.lang = {
|
||
all: GetTextByKey("P_GRID_ALL", "(All)"),
|
||
ok: GetTextByKey("P_GRID_OK", "OK"),
|
||
reset: GetTextByKey("P_GRID_RESET", "Reset")
|
||
};
|
||
var list_columns = [
|
||
{ name: 'GroupName', caption: GetTextByKey("P_UM_GROUPNAME", "Group Name"), valueIndex: 'GroupName', css: { 'width': 250, 'text-align': 'left' } },
|
||
{ name: 'Description', caption: GetTextByKey("P_UM_DESCRIPTION", "Description"), valueIndex: 'Description', css: { 'width': 250, 'text-align': 'left' } }
|
||
];
|
||
var columns = [
|
||
{
|
||
// checkbox
|
||
name: 'check',
|
||
key: 'selected',
|
||
width: 30,
|
||
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;
|
||
columns.push(col);
|
||
}
|
||
grid_dtsag.canMultiSelect = true;
|
||
grid_dtsag.columns = columns;
|
||
grid_dtsag.init();
|
||
grid_dtsag.rowdblclick = function (rowindex) {
|
||
var rowdata = grid_dtsag.source[rowindex];
|
||
if (rowdata) {
|
||
|
||
}
|
||
};
|
||
|
||
grid_dtsag.selectedrowchanged = function (rowindex) {
|
||
var rowdata = grid_dtsag.source[rowindex];
|
||
if (rowdata) {
|
||
}
|
||
}
|
||
}
|
||
|
||
function showSelectedMachineGroup(data) {
|
||
var rows = [];
|
||
for (var i = 0; i < data.length; i++) {
|
||
var r = data[i];
|
||
var fr = { Values: r };
|
||
rows.push(fr);
|
||
}
|
||
|
||
grid_dtsag.setData(rows);
|
||
}
|
||
|
||
var grid_dtnsag;
|
||
function InitGridAvailableMachineGroups() {
|
||
grid_dtnsag = new GridView('#availableassetgrouplist');
|
||
grid_dtnsag.lang = {
|
||
all: GetTextByKey("P_GRID_ALL", "(All)"),
|
||
ok: GetTextByKey("P_GRID_OK", "OK"),
|
||
reset: GetTextByKey("P_GRID_RESET", "Reset")
|
||
};
|
||
var list_columns = [
|
||
{ name: 'GroupName', caption: GetTextByKey("P_UM_GROUPNAME", "Group Name"), valueIndex: 'GroupName', css: { 'width': 250, 'text-align': 'left' } },
|
||
{ name: 'Description', caption: GetTextByKey("P_UM_DESCRIPTION", "Description"), valueIndex: 'Description', css: { 'width': 250, 'text-align': 'left' } }
|
||
];
|
||
var columns = [
|
||
{
|
||
// checkbox
|
||
name: 'check',
|
||
key: 'selected',
|
||
width: 30,
|
||
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;
|
||
columns.push(col);
|
||
}
|
||
grid_dtnsag.canMultiSelect = true;
|
||
grid_dtnsag.columns = columns;
|
||
grid_dtnsag.init();
|
||
grid_dtnsag.rowdblclick = function (rowindex) {
|
||
var rowdata = grid_dtnsag.source[rowindex];
|
||
if (rowdata) {
|
||
|
||
}
|
||
};
|
||
|
||
grid_dtnsag.selectedrowchanged = function (rowindex) {
|
||
var rowdata = grid_dtnsag.source[rowindex];
|
||
if (rowdata) {
|
||
}
|
||
}
|
||
}
|
||
|
||
function showAvailableMachineGroups(data) {
|
||
var rows = [];
|
||
for (var i = 0; i < data.length; i++) {
|
||
var r = data[i];
|
||
var fr = { Values: r };
|
||
rows.push(fr);
|
||
}
|
||
|
||
grid_dtnsag.setData(rows);
|
||
}
|
||
|
||
var allAssetGroups;
|
||
var _selectedAssetGroups;
|
||
function GetUserAssetGroups() {
|
||
userrequest('GetSelectedAssetGroups', uid, function (data) {
|
||
if (typeof data === "string") {
|
||
showAlert(data, GetTextByKey("P_UM_ASSIGNEDASSETGROUPS", 'Assigned Asset Groups'));
|
||
return;
|
||
}
|
||
_selectedAssetGroups = data;
|
||
showSelectedMachineGroup(_selectedAssetGroups);
|
||
}, function (err) {
|
||
showAlert(GetTextByKey("P_UM_FAILEDTOLOADASSETGROUPS", 'Failed to load asset groups.'), GetTextByKey("P_UM_ASSIGNEDASSETGROUPS", 'Assigned Asset Groups'));
|
||
});
|
||
}
|
||
|
||
function onAssetGroupKeyPress(e) {
|
||
if (e.keyCode === 13) {
|
||
GetAssetGroupList();
|
||
}
|
||
};
|
||
|
||
function GetAssetGroupList() {
|
||
if (allAssetGroups)
|
||
getMatchAvailableMachineGroups();
|
||
else {
|
||
$('#txt_assetgroup_key').prop('disabled', true);
|
||
setTimeout(function () {
|
||
$('#txt_assetgroup_key').prop('disabled', false);
|
||
}, 1000);
|
||
|
||
userrequest('GetAssetGroupList', '', function (data) {
|
||
if (typeof data === "string") {
|
||
showAlert(data, GetTextByKey("P_UM_ASSIGNEDASSETGROUPS", 'Assigned Asset Groups'));
|
||
return;
|
||
}
|
||
allAssetGroups = data;
|
||
getMatchAvailableMachineGroups();
|
||
}, function (err) {
|
||
showAlert(GetTextByKey("P_UM_FAILEDTOLOADASSETGROUPS", 'Failed to load asset groups.'), GetTextByKey("P_UM_ASSIGNEDASSETGROUPS", 'Assigned Asset Groups'));
|
||
});
|
||
}
|
||
}
|
||
|
||
function getMatchAvailableMachineGroups() {
|
||
var selected = [];
|
||
for (var i = 0; i < grid_dtsag.source.length; i++) {
|
||
var m = grid_dtsag.source[i].Values;
|
||
selected.push(m.GroupID);
|
||
}
|
||
|
||
var filter = $('#txt_assetgroup_key').val().toLowerCase();
|
||
var _availableMachineGroups = [];
|
||
if (allAssetGroups) {
|
||
for (var i = 0; i < allAssetGroups.length; i++) {
|
||
var m = allAssetGroups[i];
|
||
if ((filter == "" || m.GroupName.toLowerCase().indexOf(filter) >= 0 || m.Description.toLowerCase().indexOf(filter) >= 0)
|
||
&& $.inArray(m.GroupID, selected) < 0) {
|
||
m.selected = false;
|
||
_availableMachineGroups.push(m);
|
||
}
|
||
}
|
||
}
|
||
showAvailableMachineGroups(_availableMachineGroups);
|
||
}
|
||
|
||
function OnAssetGroupAdd() {
|
||
onAssetAssignmentWarning(OnAssetGroupAdd1);
|
||
}
|
||
|
||
function OnAssetGroupAdd1() {
|
||
$('#txt_assetgroup_key').val('');
|
||
$('#dialog_assetgroup .dialog-title span.title').text(GetTextByKey("P_UM_SELECTASSETGROUPS", 'Select Asset Groups'));
|
||
$('#mask_bg').show();
|
||
$('#dialog_assetgroup')
|
||
.attr('act', 'edit')
|
||
.css({
|
||
'top': (document.documentElement.clientHeight - $('#dialog_assetgroup').height()) / 3,
|
||
'left': (document.documentElement.clientWidth - $('#dialog_assetgroup').width()) / 2
|
||
})
|
||
.showDialog();
|
||
|
||
GetAssetGroupList();
|
||
}
|
||
|
||
|
||
function OnSetSelectAssetGroups() {
|
||
for (var i = 0; i < grid_dtnsag.source.length; i++) {
|
||
var m = grid_dtnsag.source[i].Values;
|
||
if (m.selected) {
|
||
m.selected = false;
|
||
_selectedAssetGroups.push(m);
|
||
}
|
||
}
|
||
showSelectedMachineGroup(_selectedAssetGroups);
|
||
$('#dialog_assetgroup').hideDialog();
|
||
$('#mask_bg').hide();
|
||
}
|
||
|
||
function OnAssetGroupDelete() {
|
||
onAssetAssignmentWarning(OnAssetGroupDelete1);
|
||
}
|
||
|
||
function OnAssetGroupDelete1() {
|
||
showConfirm(GetTextByKey("P_UM_DELETESELECTEDASSETGROUP", 'Are you sure you want to delete these selected asset groups?'), GetTextByKey("P_UM_ASSETGROUPSASSIGNMENT", "Asset Groups Assignment"), function () {
|
||
_selectedAssetGroups = [];
|
||
if (grid_dtsag.source != null) {
|
||
for (var j = grid_dtsag.source.length - 1; j >= 0; j--) {
|
||
var l = grid_dtsag.source[j].Values;
|
||
if (l.selected) {
|
||
grid_dtsag.source.splice(j, 1);
|
||
}
|
||
else {
|
||
_selectedAssetGroups.push(l);
|
||
}
|
||
}
|
||
}
|
||
grid_dtsag.reset();
|
||
});
|
||
}
|
||
|
||
//**************************************Jobsite(s)****************************************************//
|
||
var grid_dtjs;
|
||
function InitGridSelectedJobsites() {
|
||
grid_dtjs = new GridView('#selectedjobsitelist');
|
||
grid_dtjs.lang = {
|
||
all: GetTextByKey("P_GRID_ALL", "(All)"),
|
||
ok: GetTextByKey("P_GRID_OK", "OK"),
|
||
reset: GetTextByKey("P_GRID_RESET", "Reset")
|
||
};
|
||
var list_columns = [
|
||
{ name: 'Name', caption: GetTextByKey("P_UM_NAME", "Name"), valueIndex: 'Name', css: { 'width': 380, 'text-align': 'left' } }
|
||
];
|
||
|
||
var columns = [
|
||
{
|
||
// checkbox
|
||
name: 'check',
|
||
key: 'selected',
|
||
width: 30,
|
||
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;
|
||
columns.push(col);
|
||
}
|
||
grid_dtjs.canMultiSelect = true;
|
||
grid_dtjs.columns = columns;
|
||
grid_dtjs.init();
|
||
grid_dtjs.rowdblclick = function (rowindex) {
|
||
var rowdata = grid_dtjs.source[rowindex];
|
||
if (rowdata) {
|
||
var Jobsite = rowdata.Values;
|
||
|
||
}
|
||
};
|
||
|
||
grid_dtjs.selectedrowchanged = function (rowindex) {
|
||
var rowdata = grid_dtjs.source[rowindex];
|
||
if (rowdata) {
|
||
}
|
||
}
|
||
}
|
||
|
||
function showSelectedJobsite(data) {
|
||
var rows = [];
|
||
for (var i = 0; i < data.length; i++) {
|
||
var r = data[i];
|
||
var fr = { Values: r };
|
||
rows.push(fr);
|
||
}
|
||
|
||
grid_dtjs.setData(rows);
|
||
}
|
||
|
||
var grid_dtnjs;
|
||
function InitGridAvailableJobsites() {
|
||
grid_dtnjs = new GridView('#availablejobsitelist');
|
||
grid_dtnjs.lang = {
|
||
all: GetTextByKey("P_GRID_ALL", "(All)"),
|
||
ok: GetTextByKey("P_GRID_OK", "OK"),
|
||
reset: GetTextByKey("P_GRID_RESET", "Reset")
|
||
};
|
||
var list_columns = [
|
||
{ name: 'Name', caption: GetTextByKey("P_UM_NAME", "Name"), valueIndex: 'Name', css: { 'width': 380, 'text-align': 'left' } }
|
||
];
|
||
|
||
var columns = [
|
||
{
|
||
// checkbox
|
||
name: 'check',
|
||
key: 'selected',
|
||
width: 30,
|
||
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;
|
||
columns.push(col);
|
||
}
|
||
grid_dtnjs.canMultiSelect = true;
|
||
grid_dtnjs.columns = columns;
|
||
grid_dtnjs.init();
|
||
grid_dtnjs.rowdblclick = function (rowindex) {
|
||
var rowdata = grid_dtnjs.source[rowindex];
|
||
if (rowdata) {
|
||
var Jobsite = rowdata.Values;
|
||
|
||
}
|
||
};
|
||
|
||
grid_dtnjs.selectedrowchanged = function (rowindex) {
|
||
var rowdata = grid_dtnjs.source[rowindex];
|
||
if (rowdata) {
|
||
}
|
||
}
|
||
}
|
||
|
||
function showAvailableJobsite(data) {
|
||
var rows = [];
|
||
for (var i = 0; i < data.length; i++) {
|
||
var r = data[i];
|
||
var fr = { Values: r };
|
||
rows.push(fr);
|
||
}
|
||
|
||
grid_dtnjs.setData(rows);
|
||
}
|
||
|
||
var allJobsites;
|
||
var _selectedJobsites;
|
||
// 获取已选中的Jobsites
|
||
function GetSelectedJobsites() {
|
||
_selectedJobsites = [];
|
||
$("#jobsitedialogmask").show();
|
||
userrequest('GetSelectedJobsites', uid, function (data) {
|
||
if (typeof data === "string") {
|
||
showAlert(data, GetTextByKey("P_UM_JOBSITEASSIGNMENT", 'Jobsite Assignment'));
|
||
return;
|
||
}
|
||
_selectedJobsites = data;
|
||
showSelectedJobsite(_selectedJobsites);
|
||
|
||
}, function (e) {
|
||
$("#jobsitedialogmask").hide();
|
||
});
|
||
}
|
||
|
||
function onJobsiteKeyPress(e) {
|
||
if (e.keyCode === 13) {
|
||
GetJobsiteList();
|
||
}
|
||
};
|
||
|
||
function GetJobsiteList() {
|
||
if (allJobsites)
|
||
getMatchAvailableJobsites();
|
||
else {
|
||
$('#button_jobsite_filter').prop('disabled', true);
|
||
setTimeout(function () {
|
||
$('#button_jobsite_filter').prop('disabled', false);
|
||
}, 1000);
|
||
|
||
$("#jobsitedialogmask").show();
|
||
userrequest('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() {
|
||
var selected = [];
|
||
for (var i = 0; i < _selectedJobsites.length; i++) {
|
||
var m = _selectedJobsites[i];
|
||
selected.push(m.ID);
|
||
}
|
||
var filter = $('#txt_jobsite_key').val().toLowerCase();
|
||
|
||
var _availableJobsites = [];
|
||
if (allJobsites) {
|
||
for (var i = 0; i < allJobsites.length; i++) {
|
||
var m = allJobsites[i];
|
||
if ((filter == "" || m.Name.toLowerCase().indexOf(filter) >= 0)
|
||
&& $.inArray(m.ID, selected) < 0) {
|
||
m.selected = false;
|
||
_availableJobsites.push(m);
|
||
}
|
||
}
|
||
}
|
||
showAvailableJobsite(_availableJobsites);
|
||
}
|
||
|
||
function OnJobsiteAdd() {
|
||
onAssetAssignmentWarning(OnJobsiteAdd1);
|
||
}
|
||
|
||
function OnJobsiteAdd1() {
|
||
$('#txt_jobsite_key').val('');
|
||
$('#dialog_jobsite .dialog-title span.title').text(GetTextByKey("P_UM_SELECTJOBSITES", 'Select Jobsites'));
|
||
$('#mask_bg').show();
|
||
$('#dialog_jobsite')
|
||
.attr('act', 'edit')
|
||
.css({
|
||
'top': (document.documentElement.clientHeight - $('#dialog_jobsite').height()) / 3,
|
||
'left': (document.documentElement.clientWidth - $('#dialog_jobsite').width()) / 2
|
||
})
|
||
.showDialog();
|
||
|
||
GetJobsiteList();
|
||
}
|
||
|
||
function OnSetSelectJobSites() {
|
||
for (var i = 0; i < grid_dtnjs.source.length; i++) {
|
||
var m = grid_dtnjs.source[i].Values;
|
||
if (m.selected) {
|
||
m.selected = false;
|
||
_selectedJobsites.push(m);
|
||
}
|
||
}
|
||
showSelectedJobsite(_selectedJobsites);
|
||
$('#dialog_jobsite').hideDialog();
|
||
$('#mask_bg').hide();
|
||
}
|
||
|
||
function OnJobsiteDelete() {
|
||
onAssetAssignmentWarning(OnJobsiteDelete1);
|
||
}
|
||
|
||
function OnJobsiteDelete1() {
|
||
showConfirm(GetTextByKey("P_UM_DELETESELECTEDJOBSITE", 'Are you sure you want to delete these selected jobsite?'), GetTextByKey("P_UM_JOBSITEASSIGNMENT", 'Jobsite Assignment'), function () {
|
||
_selectedJobsites = [];
|
||
if (grid_dtjs.source != null) {
|
||
for (var j = grid_dtjs.source.length - 1; j >= 0; j--) {
|
||
var l = grid_dtjs.source[j].Values;
|
||
if (l.selected) {
|
||
grid_dtjs.source.splice(j, 1);
|
||
}
|
||
else {
|
||
_selectedJobsites.push(l);
|
||
}
|
||
}
|
||
}
|
||
grid_dtjs.reset();
|
||
});
|
||
}
|
||
|
||
|
||
|
||
//**************************************Asset Types****************************************************//
|
||
var grid_dtat;
|
||
function InitGridSelectedAssetTypes() {
|
||
grid_dtat = new GridView('#selectedassettypelist');
|
||
grid_dtat.lang = {
|
||
all: GetTextByKey("P_GRID_ALL", "(All)"),
|
||
ok: GetTextByKey("P_GRID_OK", "OK"),
|
||
reset: GetTextByKey("P_GRID_RESET", "Reset")
|
||
};
|
||
var list_columns = [
|
||
{ name: 'Name', caption: GetTextByKey("P_UM_NAME", "Name"), valueIndex: 'Name', css: { 'width': 380, 'text-align': 'left' } }
|
||
];
|
||
|
||
var columns = [
|
||
{
|
||
// checkbox
|
||
name: 'check',
|
||
key: 'selected',
|
||
width: 30,
|
||
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;
|
||
columns.push(col);
|
||
}
|
||
grid_dtat.canMultiSelect = true;
|
||
grid_dtat.columns = columns;
|
||
grid_dtat.init();
|
||
grid_dtat.rowdblclick = function (rowindex) {
|
||
var rowdata = grid_dtat.source[rowindex];
|
||
if (rowdata) {
|
||
var AssetType = rowdata.Values;
|
||
|
||
}
|
||
};
|
||
|
||
grid_dtat.selectedrowchanged = function (rowindex) {
|
||
var rowdata = grid_dtat.source[rowindex];
|
||
if (rowdata) {
|
||
}
|
||
}
|
||
}
|
||
|
||
function showSelectedAssetType(data) {
|
||
var rows = [];
|
||
for (var i = 0; i < data.length; i++) {
|
||
var r = data[i];
|
||
var fr = { Values: r };
|
||
rows.push(fr);
|
||
}
|
||
|
||
grid_dtat.setData(rows);
|
||
}
|
||
|
||
var grid_dtnat;
|
||
function InitGridAvailableAssetTypes() {
|
||
grid_dtnat = new GridView('#availableassettypelist');
|
||
grid_dtnat.lang = {
|
||
all: GetTextByKey("P_GRID_ALL", "(All)"),
|
||
ok: GetTextByKey("P_GRID_OK", "OK"),
|
||
reset: GetTextByKey("P_GRID_RESET", "Reset")
|
||
};
|
||
var list_columns = [
|
||
{ name: 'Name', caption: GetTextByKey("P_UM_NAME", "Name"), valueIndex: 'Name', css: { 'width': 380, 'text-align': 'left' } }
|
||
];
|
||
|
||
var columns = [
|
||
{
|
||
// checkbox
|
||
name: 'check',
|
||
key: 'selected',
|
||
width: 30,
|
||
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;
|
||
columns.push(col);
|
||
}
|
||
grid_dtnat.canMultiSelect = true;
|
||
grid_dtnat.columns = columns;
|
||
grid_dtnat.init();
|
||
grid_dtnat.rowdblclick = function (rowindex) {
|
||
var rowdata = grid_dtnat.source[rowindex];
|
||
if (rowdata) {
|
||
var AssetType = rowdata.Values;
|
||
|
||
}
|
||
};
|
||
|
||
grid_dtnat.selectedrowchanged = function (rowindex) {
|
||
var rowdata = grid_dtnat.source[rowindex];
|
||
if (rowdata) {
|
||
}
|
||
}
|
||
}
|
||
|
||
function showAvailableAssetType(data) {
|
||
var rows = [];
|
||
for (var i = 0; i < data.length; i++) {
|
||
var r = data[i];
|
||
var fr = { Values: r };
|
||
rows.push(fr);
|
||
}
|
||
|
||
grid_dtnat.setData(rows);
|
||
}
|
||
|
||
var allAssetTypes;
|
||
var _selectedAssetTypes;
|
||
// 获取已选中的AssetTypes
|
||
function GetSelectedAssetTypes() {
|
||
_selectedAssetTypes = [];
|
||
$("#assettypedialogmask").show();
|
||
userrequest('GetSelectedAssetTypes', uid, function (data) {
|
||
if (typeof data === "string") {
|
||
showAlert(data, GetTextByKey("P_UM_ASSETTYPEASSIGNMENT", 'Asset Type Assignment'));
|
||
return;
|
||
}
|
||
_selectedAssetTypes = data;
|
||
showSelectedAssetType(_selectedAssetTypes);
|
||
|
||
}, function (e) {
|
||
$("#assettypedialogmask").hide();
|
||
});
|
||
}
|
||
|
||
function onAssetTypeKeyPress(e) {
|
||
if (e.keyCode === 13) {
|
||
GetAssetTypeList();
|
||
}
|
||
};
|
||
|
||
function GetAssetTypeList() {
|
||
if (allAssetTypes)
|
||
getMatchAvailableAssetTypes();
|
||
else {
|
||
$('#button_assettype_filter').prop('disabled', true);
|
||
setTimeout(function () {
|
||
$('#button_assettype_filter').prop('disabled', false);
|
||
}, 1000);
|
||
|
||
$("#assettypedialogmask").show();
|
||
userrequest('GETASSETTYPES', '', function (data) {
|
||
if (typeof data === "string") {
|
||
showAlert(data, GetTextByKey("P_UM_ASSETTYPEASSIGNMENT", 'Asset Type Assignment'));
|
||
return;
|
||
}
|
||
allAssetTypes = data;
|
||
getMatchAvailableAssetTypes();
|
||
$("#assettypedialogmask").hide();
|
||
}, function (e) {
|
||
$("#assettypedialogmask").hide();
|
||
});
|
||
}
|
||
}
|
||
|
||
function getMatchAvailableAssetTypes() {
|
||
var selected = [];
|
||
for (var i = 0; i < _selectedAssetTypes.length; i++) {
|
||
var m = _selectedAssetTypes[i];
|
||
selected.push(m.ID);
|
||
}
|
||
var filter = $('#txt_assettype_key').val().toLowerCase();
|
||
|
||
var _availableAssetTypes = [];
|
||
if (allAssetTypes) {
|
||
for (var i = 0; i < allAssetTypes.length; i++) {
|
||
var m = allAssetTypes[i];
|
||
if ((filter == "" || m.Name.toLowerCase().indexOf(filter) >= 0)
|
||
&& $.inArray(m.ID, selected) < 0) {
|
||
m.selected = false;
|
||
_availableAssetTypes.push(m);
|
||
}
|
||
}
|
||
}
|
||
showAvailableAssetType(_availableAssetTypes);
|
||
}
|
||
|
||
function OnAssetTypeAdd() {
|
||
onAssetAssignmentWarning(OnAssetTypeAdd1);
|
||
}
|
||
|
||
function OnAssetTypeAdd1() {
|
||
$('#txt_assettype_key').val('');
|
||
$('#dialog_assettype .dialog-title span.title').text(GetTextByKey("P_UM_SELECTASSETTYPES", 'Select Asset Types'));
|
||
$('#mask_bg').show();
|
||
$('#dialog_assettype')
|
||
.attr('act', 'edit')
|
||
.css({
|
||
'top': (document.documentElement.clientHeight - $('#dialog_assettype').height()) / 3,
|
||
'left': (document.documentElement.clientWidth - $('#dialog_assettype').width()) / 2
|
||
})
|
||
.showDialog();
|
||
|
||
GetAssetTypeList();
|
||
}
|
||
|
||
function OnSetSelectAssetTypes() {
|
||
for (var i = 0; i < grid_dtnat.source.length; i++) {
|
||
var m = grid_dtnat.source[i].Values;
|
||
if (m.selected) {
|
||
m.selected = false;
|
||
_selectedAssetTypes.push(m);
|
||
}
|
||
}
|
||
showSelectedAssetType(_selectedAssetTypes);
|
||
$('#dialog_assettype').hideDialog();
|
||
$('#mask_bg').hide();
|
||
}
|
||
|
||
function OnAssetTypeDelete() {
|
||
onAssetAssignmentWarning(OnAssetTypeDelete1);
|
||
}
|
||
|
||
function OnAssetTypeDelete1() {
|
||
showConfirm(GetTextByKey("P_UM_AREYOUSUREYOUWANTTODELETETHESESELECTEDASSETTYPE", 'Are you sure you want to delete these selected assettype?'), GetTextByKey("P_UM_ASSETTYPEASSIGNMENT", 'Asset Type Assignment'), function () {
|
||
_selectedAssetTypes = [];
|
||
if (grid_dtat.source != null) {
|
||
for (var j = grid_dtat.source.length - 1; j >= 0; j--) {
|
||
var l = grid_dtat.source[j].Values;
|
||
if (l.selected) {
|
||
grid_dtat.source.splice(j, 1);
|
||
}
|
||
else {
|
||
_selectedAssetTypes.push(l);
|
||
}
|
||
}
|
||
}
|
||
grid_dtat.reset();
|
||
});
|
||
}
|
||
//**************************************End Asset Types****************************************************//
|
||
|
||
|
||
|
||
|
||
//*********************************Begin SMS Messages**************************************************//
|
||
function GetMessageTypes() {
|
||
showLoading();
|
||
userrequest('GetMessageTypes', uid || "", function (data) {
|
||
hideLoading();
|
||
if (typeof (data) === "string") {
|
||
showAlert(data, GetTextByKey("P_UM_ERROR", 'Error'));
|
||
return;
|
||
}
|
||
getMessageTypeLang(data);
|
||
createMessageTypes(data);
|
||
|
||
GetFeaturesDefinedOnUser();
|
||
|
||
}, function (err) {
|
||
hideLoading();
|
||
console.log(err);
|
||
});
|
||
}
|
||
|
||
function createMessageTypes(messages) {
|
||
$('#sms_message').empty();
|
||
var nonetext = GetTextByKey("P_UM_NONE", "None");
|
||
var wotext = GetTextByKey("P_UM_XXX", "My Work Orders");
|
||
var locdeptext = GetTextByKey("P_UM_XXX", "My Location Or Department");
|
||
var alltext = GetTextByKey("P_UM_XXX", "All");
|
||
var tb = $('<table class="table_module" style="width:800px;line-height:40px;"></table>');
|
||
$('#sms_message').append(tb);
|
||
for (var i = 0; i < messages.length; i++) {
|
||
var msg = messages[i];
|
||
var tr = $('<tr></tr>').attr('id', 'trsmsmsgtype_' + msg.Id);
|
||
tb.append(tr);
|
||
var td = $('<td class="td_module"></td>').text(msg.Name);
|
||
tr.append(td);
|
||
|
||
for (var j = 0; j < msg.AvailableRestricts.length; j++) {
|
||
var res = msg.AvailableRestricts[j];
|
||
var wid = 150;
|
||
td = $('<td></td>');
|
||
tr.append(td);
|
||
var name = "";
|
||
if (res === 0) {
|
||
name = nonetext;
|
||
wid = 100;
|
||
}
|
||
else if (res === 1) {
|
||
name = wotext;
|
||
}
|
||
else if (res === 10) {
|
||
name = locdeptext;
|
||
wid = 190;
|
||
}
|
||
else if (res === 99999) {
|
||
name = alltext;
|
||
wid = 140;
|
||
}
|
||
td.css('width', wid);
|
||
var lab = $('<label></label>').text(name);
|
||
td.append(lab);
|
||
var ipt = $('<input type="radio" />')
|
||
.attr('name', 'msgtype_' + msg.Id)
|
||
.val(res)
|
||
.data('msgtypeid', msg.Id);
|
||
td.append(ipt);
|
||
}
|
||
|
||
$("input:radio[name='msgtype_" + msg.Id + "'][value='" + msg.RestrictType + "']").prop("checked", true);
|
||
|
||
td = $('<td></td>');
|
||
tr.append(td)
|
||
}
|
||
return tb;
|
||
}
|
||
|
||
function getMessageTypeLang(data) {
|
||
for (var i = 0; i < data.length; i++) {
|
||
var m = data[i];
|
||
if (parseInt(m.Id) === 10) {
|
||
m.Name = GetTextByKey("P_XXX", m.Name);//Estimate Approval/Rejection
|
||
}
|
||
else if (parseInt(m.Id) === 20) {
|
||
m.Name = GetTextByKey("P_XXX", m.Name);//Customer Communication
|
||
}
|
||
else if (parseInt(m.Id) === 30) {
|
||
m.Name = GetTextByKey("P_XXX", m.Name);//Internal Messages
|
||
}
|
||
else if (parseInt(m.Id) === 40) {
|
||
m.Name = GetTextByKey("P_XXX", m.Name);//Invoice Paid
|
||
}
|
||
else if (parseInt(m.Id) === 50) {
|
||
m.Name = GetTextByKey("P_XXX", m.Name);//Inspection Completed
|
||
}
|
||
else if (parseInt(m.Id) === 60) {
|
||
m.Name = GetTextByKey("P_XXX", m.Name);//Status Update
|
||
}
|
||
else if (parseInt(m.Id) === 70) {
|
||
m.Name = GetTextByKey("P_XXX", m.Name);//Attachment Added
|
||
}
|
||
else if (parseInt(m.Id) === 80) {
|
||
m.Name = GetTextByKey("P_XXX", m.Name);//Attachment Deleted
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
//*********************************End SMS Messages**************************************************//
|
||
|