2023-04-28 12:22:26 +08:00

1084 lines
33 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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**************************************************//