This commit is contained in:
2024-03-26 15:56:31 +08:00
parent 634e8b71ab
commit 0855ae42cd
547 changed files with 94818 additions and 60463 deletions

View File

@ -20,29 +20,6 @@
white-space: nowrap;
}
.dialog-content table {
border-collapse: collapse;
width: 100%;
line-height: 32px;
}
.dialog-content table td.label {
width: 124px;
text-align: right;
padding-right: 10px;
line-height: 24px;
height: 24px;
vertical-align: top;
}
.dialog-content table td input,
.dialog-content table td textarea {
border: 1px solid #a9a9a9;
width: 250px;
height: 18px;
padding: 1px;
}
#dialog_machines .dialog-content table td input {
width: auto;
}
@ -149,35 +126,6 @@
padding: 0;
}
/*.machine_filter {
height: 32px;
line-height: 32px;
}
.machine_filter select {
height: 23px;
min-width: 100px;
max-width: 300px;
}
.machine_filter span {
margin-left: 8px;
}*/
.ybutton {
width: auto;
line-height: normal;
margin-left: 6px;
border: none;
background: rgb(249, 189, 117);
padding: 5px 14px;
cursor: pointer;
}
.ybutton:hover {
background: #d7690E;
}
.machines {
/*table-layout: fixed;*/
word-break: keep-all;
@ -285,7 +233,7 @@
var curfewid;
function OnEdit() {
var curfew = grid_dt.source[grid_dt.selectedIndex].Values;
var curfew = grid_dt.source[grid_dt.selectedIndex];
if (!curfew) {
curfewid = undefined;
return;
@ -371,22 +319,30 @@
var rows = [];
for (var i = 0; i < data.length; i++) {
var r = data[i];
var fr = { Values: r };
rows.push(fr);
for (var j in r) {
if (j === "Day" && r[j]) {
var days = r[j].split(',');
var daytext = null;
for (var d of days) {
if (!daytext)
daytext = getdaytext(d);
else
daytext += "," + getdaytext(d);
}
r[j] = { DisplayValue: daytext, Value: r[j] };
}
}
rows.push(r);
}
grid_dt.setData(rows);
}
var grid_dt;
function InitGridData() {
grid_dt = new GridView('#curfewlist');
grid_dt.lang = {
all: GetTextByKey("P_GRID_ALL", "(All)"),
ok: GetTextByKey("P_GRID_OK", "OK"),
reset: GetTextByKey("P_GRID_RESET", "Reset")
};
grid_dt = createGridView1('#curfewlist');
var list_columns = [
{ name: 'Title', caption: GetTextByKey("P_CM_TITLE", "Title"), valueIndex: 'Title', css: { 'width': 400, 'text-align': 'left' } },
{ name: 'Title', caption: GetTextByKey("P_CM_TITLE", "Title"), valueIndex: 'Title', allowFilter: true, css: { 'width': 400, 'text-align': 'left' } },
{ name: 'Day', caption: GetTextByKey("P_CM_DAYS", "Day(s)"), valueIndex: 'Day', css: { 'width': 280, 'text-align': 'left' } },
{ name: 'TimePeriod', caption: GetTextByKey("P_CM_PERIOD", "Period"), valueIndex: 'TimePeriod', css: { 'width': 300, 'text-align': 'left' } },
//{ name: 'StartTime', caption: "Start Time", valueIndex: 'StartTime', css: { 'width': 140, 'text-align': 'left' } },
@ -407,9 +363,12 @@
col.width = list_columns[hd].css.width;
col.align = list_columns[hd].css["text-align"]
col.key = list_columns[hd].valueIndex;
col.allowFilter = list_columns[hd].allowFilter;
if (col.name === "Edit") {
col.isurl = true;
col.text = "\uf044";
col.sortable = false;
col.resizable = false;
col.type = GridView1.ColumnTypes.Icon;
col.text = "edit";
col.events = {
onclick: function () {
OnEdit()
@ -421,8 +380,10 @@
col.attrs = { 'title': GetTextByKey("P_CM_EDIT", 'Edit') };
}
else if (col.name === "Delete") {
col.isurl = true;
col.text = "\uf00d";
col.sortable = false;
col.resizable = false;
col.type = GridView1.ColumnTypes.Icon;
col.text = "times";
col.events = {
onclick: function () {
OnDelete(this);
@ -434,9 +395,10 @@
col.attrs = { 'title': GetTextByKey("P_CM_DELETE", 'Delete') };
}
else if (col.name === "AssetAssignment") {
//col.visible = !IsDealer;
col.isurl = true;
col.text = "\uf63c";
col.sortable = false;
col.resizable = false;
col.type = GridView1.ColumnTypes.Icon;
col.text = "truck-pickup";
col.events = {
onclick: function () {
OnManageMachine(this);
@ -448,9 +410,10 @@
col.attrs = { 'title': GetTextByKey("P_CM_ASSETASSIGNMENT", 'Asset Assignment') };
}
else if (col.name === "JobsiteAssignment") {
//col.visible = !IsDealer;
col.isurl = true;
col.text = "\uf312";
col.sortable = false;
col.resizable = false;
col.type = GridView1.ColumnTypes.Icon;
col.text = "hexagon";
col.events = {
onclick: function () {
OnManageJobsite(this);
@ -463,15 +426,15 @@
}
columns.push(col);
}
grid_dt.canMultiSelect = false;
grid_dt.multiSelect = false;
grid_dt.columns = columns;
grid_dt.init();
grid_dt.rowdblclick = OnEdit;
grid_dt.onRowDblClicked = OnEdit;
grid_dt.selectedrowchanged = function (rowindex) {
grid_dt.onSelectedRowChanged = function (rowindex) {
var rowdata = grid_dt.source[rowindex];
if (rowdata) {
curfewid = rowdata.Values.Id;
curfewid = rowdata.Id;
}
}
}
@ -483,8 +446,8 @@
function OnMachineAdd() {
showmaskbg(true);
$("#dialogmask").show().children().hide();
dialogAssets.exceptSource = grid_dtsm.innerSource.map(function (s) {
return s.Values.ID;
dialogAssets.exceptSource = grid_dtsm.source.map(function (s) {
return s.ID;
});
dialogAssets.companyId = $('#sel_contractor').val();
dialogAssets.showSelector();
@ -553,8 +516,7 @@
var rows = [];
for (var i = 0; i < data.length; i++) {
var r = data[i];
var fr = { Values: r };
rows.push(fr);
rows.push(r);
}
grid_dtsm.setData(rows);
@ -573,22 +535,16 @@
if (r !== 'OK') {
showAlert(r, GetTextByKey("P_CM_ASSETASSIGNMENT", 'Asset Assignment'));
} else {
for (var i = 0; i < grid_dtsm.innerSource.length; i++) {
var s = grid_dtsm.innerSource[i].Values;
if (s.ID === item.ID) {
grid_dtsm.innerSource.splice(i, 1);
break;
}
}
if (grid_dtsm.source != null) {
for (var j = 0; j < grid_dtsm.source.length; j++) {
if (item.ID === grid_dtsm.source[j].Values.ID) {
grid_dtsm.source.splice(j, 1);
var tmpsource = grid_dtsm.source;
if (tmpsource != null) {
for (var j = 0; j < tmpsource.length; j++) {
if (item.ID === tmpsource[j].ID) {
tmpsource.splice(j, 1);
break;
}
}
}
grid_dtsm.reset();
grid_dtsm.setData(tmpsource);
}
});
});
@ -596,7 +552,7 @@
function OnMachineDelete() {
showConfirm(GetTextByKey("P_CM_DELETESELECTEDASSET", 'Are you sure you want to delete these selected assets?'), GetTextByKey("P_CM_ASSETASSIGNMENT", 'Asset Assignment'), function () {
var ids = grid_dtsm.innerSource.filter(function (s) { return s.Values.selected; }).map(function (s) { return s.Values.ID; });
var ids = grid_dtsm.source.filter(function (s) { return s.selected; }).map(function (s) { return s.ID; });
var params = [
htmlencode($.trim($('#sel_contractor').val())),
curfewid,
@ -608,21 +564,16 @@
if (r !== 'OK') {
showAlert(r, GetTextByKey("P_CM_ASSETASSIGNMENT", 'Asset Assignment'));
} else {
for (var i = grid_dtsm.innerSource.length - 1; i >= 0; i--) {
var s = grid_dtsm.innerSource[i].Values;
if (s.selected) {
grid_dtsm.innerSource.splice(i, 1);
}
}
if (grid_dtsm.source != null) {
for (var j = grid_dtsm.source.length - 1; j >= 0; j--) {
var l = grid_dtsm.source[j].Values;
var tmp = grid_dtsm.source;
if (tmp != null) {
for (var j = tmp.length - 1; j >= 0; j--) {
var l = tmp[j];
if (l.selected) {
grid_dtsm.source.splice(j, 1);
tmp.splice(j, 1);
}
}
}
grid_dtsm.reset();
grid_dtsm.setData(tmp);
}
});
});
@ -630,12 +581,7 @@
var grid_dtsm;
function InitGridSelectedMachines() {
grid_dtsm = new GridView('#selectedmachinelist');
grid_dtsm.lang = {
all: GetTextByKey("P_GRID_ALL", "(All)"),
ok: GetTextByKey("P_GRID_OK", "OK"),
reset: GetTextByKey("P_GRID_RESET", "Reset")
};
grid_dtsm = createGridView1('#selectedmachinelist');
var list_columns = [
{ name: 'VIN', caption: GetTextByKey("P_CM_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' } },
@ -676,9 +622,10 @@
name: 'delete',
width: 30,
align: 'center',
type: GridView1.ColumnTypes.Icon,
sortable: false,
isurl: true,
text: '\uf00d',
resizable: false,
text: 'times',
events: {
onclick: function () {
OnMachineDeleteSingle(this);
@ -689,15 +636,9 @@
},
attrs: { 'title': GetTextByKey("P_CM_DELETE", 'Delete') }
});
grid_dtsm.canMultiSelect = true;
grid_dtsm.multiSelect = true;
grid_dtsm.columns = columns;
grid_dtsm.init();
grid_dtsm.selectedrowchanged = function (rowindex) {
var rowdata = grid_dtsm.source[rowindex];
if (rowdata) {
}
}
}
function OnSaveMachines() {
@ -850,8 +791,7 @@
var rows = [];
for (var i = 0; i < data.length; i++) {
var r = data[i];
var fr = { Values: r };
rows.push(fr);
rows.push(r);
}
grid_dtaj.setData(rows);
@ -861,8 +801,7 @@
var rows = [];
for (var i = 0; i < data.length; i++) {
var r = data[i];
var fr = { Values: r };
rows.push(fr);
rows.push(r);
}
grid_dtsj.setData(rows);
@ -871,7 +810,7 @@
var grid_dtaj;
function InitGridAvailableJobsites() {
grid_dtaj = new GridView('#availablejobsitelist');
grid_dtaj = new GridView1('#availablejobsitelist');
var list_columns = [
{ name: 'Name', caption: GetTextByKey("P_CM_NAME", "Name"), valueIndex: 'Name', css: { 'width': 380, 'text-align': 'left' } }
];
@ -888,13 +827,13 @@
col.key = list_columns[hd].valueIndex;
columns.push(col);
}
grid_dtaj.canMultiSelect = true;
grid_dtaj.multiSelect = true;
grid_dtaj.columns = columns;
grid_dtaj.init();
grid_dtaj.rowdblclick = function (rowindex) {
grid_dtaj.onRowDblClicked = function (rowindex) {
var rowdata = grid_dtaj.source[rowindex];
if (rowdata) {
var Jobsite = rowdata.Values;
var Jobsite = rowdata;
_availableJobsites.splice(_availableJobsites.indexOf(Jobsite), 1);
_selectedJobsites.push(Jobsite);
_showSelectedJobsites.push(Jobsite);
@ -902,18 +841,12 @@
showJobsites();
}
};
grid_dtaj.selectedrowchanged = function (rowindex) {
var rowdata = grid_dtaj.source[rowindex];
if (rowdata) {
}
}
}
var grid_dtsj;
function InitGridSelectedJobsites() {
grid_dtsj = new GridView('#selectedjobsitelist');
grid_dtsj = new GridView1('#selectedjobsitelist');
var list_columns = [
{ name: 'Name', caption: GetTextByKey("P_CM_NAME", "Name"), valueIndex: 'Name', css: { 'width': 380, 'text-align': 'left' } }
];
@ -934,13 +867,13 @@
}
columns.push(col);
}
grid_dtsj.canMultiSelect = true;
grid_dtsj.multiSelect = true;
grid_dtsj.columns = columns;
grid_dtsj.init();
grid_dtsj.rowdblclick = function (rowindex) {
grid_dtsj.onRowDblClicked = function (rowindex) {
var rowdata = grid_dtsj.source[rowindex];
if (rowdata) {
var Jobsite = rowdata.Values;
var Jobsite = rowdata;
_selectedJobsites.splice(_selectedJobsites.indexOf(Jobsite), 1);
_showSelectedJobsites.splice(_showSelectedJobsites.indexOf(Jobsite), 1);
_availableJobsites.push(Jobsite);
@ -948,12 +881,6 @@
showJobsites();
}
};
grid_dtsj.selectedrowchanged = function (rowindex) {
var rowdata = grid_dtsj.source[rowindex];
if (rowdata) {
}
}
}
function OnJobsiteEditorAdd() {
@ -962,7 +889,7 @@
return;
for (var i = 0; i < indexs.length; i++) {
var index = indexs[i];
var m = grid_dtaj.source[index].Values;
var m = grid_dtaj.source[index];
_availableJobsites.splice(_availableJobsites.indexOf(m), 1);
_selectedJobsites.push(m);
_showSelectedJobsites.push(m);
@ -984,7 +911,7 @@
return;
for (var i = 0; i < indexs.length; i++) {
var index = indexs[i];
var m = grid_dtsj.source[index].Values;
var m = grid_dtsj.source[index];
_selectedJobsites.splice(_selectedJobsites.indexOf(m), 1);
_showSelectedJobsites.splice(_showSelectedJobsites.indexOf(m), 1);
_availableJobsites.push(m);
@ -1083,30 +1010,28 @@
dialogAssets.onOK = function (source) {
var items = [];
for (var i = 0; i < source.length; i++) {
var it = source[i].Values;
var it = source[i];
if (it.Selected) {
items.push({
Values: {
ID: it.Id,
VIN: it.VIN,
Name: it.Name,
MakeName: it.MakeName,
ModelName: it.ModelName,
TypeName: it.TypeName
}
ID: it.Id,
VIN: it.VIN,
Name: it.Name,
MakeName: it.MakeName,
ModelName: it.ModelName,
TypeName: it.TypeName
});
}
}
var params = [
htmlencode($.trim($('#sel_contractor').val())),
curfewid,
JSON.stringify(items.map(function (f) { return f.Values.ID; }))
JSON.stringify(items.map(function (f) { return f.ID; }))
];
$("#dialogmask").show().children().show();
curfewquery('AssignAssetsToUser', params.join(String.fromCharCode(170)), function (r) {
$("#dialogmask").hide();
if (r === 'OK') {
grid_dtsm.setData(grid_dtsm.innerSource.concat(items));
grid_dtsm.setData(grid_dtsm.source.concat(items));
} else {
showAlert(r, GetTextByKey("P_CM_ASSETASSIGNMENT", 'Asset Assignment'));
}
@ -1149,7 +1074,7 @@
<span data-lgid="P_CM_TYPE_COLON">Type: </span>
<select id="sel_machine_type" tabindex="20"></select>
<input type="text" id="txt_machine_key" tabindex="21" />
<input type="button" class="ybutton" id="button_machine_filter" value="Filter" data-lgid="P_CM_FILTER" tabindex="22" />
<input type="button" class="funcctionbtn" id="button_machine_filter" value="Filter" data-lgid="P_CM_FILTER" tabindex="22" />
<span id="span_text_holder" style="display: none;"></span>
</div>
<div class="machine_filter" style="margin: 9px 6px 7px">
@ -1163,7 +1088,7 @@
<td>Available Assets</td>
<td></td>
<td>Assigned Assets
<input type="checkbox" id="chk_showallassignedassets" title="When checked, all associated or linked items will display regardless of filter. " /><label for="chk_showallassignedassets">Show All Assigned</label>
<input type="checkbox" id="chk_showallassignedassets" title="When checked, all associated or linked items will display regardless of filter. " /><label for="chk_showallassignedassets" data-lgid="P_M3_SHOWALLASSIGNED">Show All Assigned</label>
</td>
</tr>
</thead>
@ -1198,9 +1123,9 @@
</div>
<div class="dialog-title"><span class="title" data-lgid="P_CM_JOBSITEASSIGNMENT">Jobsite Assignment</span><em class="dialog-close"></em></div>
<div class="machine_filter" style="margin: 9px 6px 7px">
<div class="machine_filter" style="margin: 9px 6px 7px">
<input type="text" id="txt_jobsite_key" style="margin-left: 8px; width: 280px;" tabindex="40" />
<input type="button" class="ybutton" id="button_jobsite_filter" data-lgid="P_CM_FILTER" value="Filter" tabindex="42" />
<input type="button" class="funcctionbtn" id="button_jobsite_filter" data-lgid="P_CM_FILTER" value="Filter" tabindex="42" />
</div>
<div class="div_machines">
<table class="table_holder">
@ -1208,8 +1133,8 @@
<tr>
<td data-lgid="P_CM_AVAILABLEJOBSITES">Available Jobsites</td>
<td></td>
<td data-lgid="P_CM_ASSIGNEDJOBSITES">Assigned Jobsites
<input type="checkbox" id="chk_showallassignedjobsites" title="When checked, all associated or linked items will display regardless of filter. " data-title-lgid="P_CM_SHOWALLASSIGNEDCONTACTSTITLE" /><label for="chk_showallassignedjobsites" data-lgid="P_CURFEWCONFIGURATION">Show All Assigned</label>
<td><span data-lgid="P_CM_ASSIGNEDJOBSITES">Assigned Jobsites</span>
<input type="checkbox" id="chk_showallassignedjobsites" title="When checked, all associated or linked items will display regardless of filter. " data-title-lgid="P_CM_SHOWALLASSIGNEDCONTACTSTITLE" /><label for="chk_showallassignedjobsites" data-lgid="P_M3_SHOWALLASSIGNED">Show All Assigned</label>
</td>
</tr>
</thead>