3.0.1.0 Portal Transactions.

This commit is contained in:
Andy Howard
2025-02-19 11:31:33 +00:00
parent fa01e0799a
commit f8aaa534d1
70 changed files with 1179 additions and 266 deletions
@@ -484,7 +484,7 @@ table.sbm-item-list tbody td
/* Item statuses */
.sbm-status-awa, .sbm-status-req, .sbm-status-rai, .sbm-status-clo
.sbm-status-pre, .sbm-status-awa, .sbm-status-req, .sbm-status-rai, .sbm-status-clo
{
color: darkorange;
}
@@ -499,12 +499,12 @@ table.sbm-item-list tbody td
color: darkred;
}
.sbm-status-inp, .sbm-status-exp, .sbm-status-inv, .sbm-status-suc, .sbm-status-act, .sbm-status-que, .sbm-status-log
.sbm-status-wip, .sbm-status-exp, .sbm-status-inv, .sbm-status-suc, .sbm-status-act, .sbm-status-que, .sbm-status-log
{
color: darkcyan;
}
.sbm-status-pre, .sbm-status-pro, .sbm-status-inp, .sbm-status-hld, .sbm-status-upd, .sbm-status-sup, .sbm-status-aut, .sbm-status-sub
.sbm-status-pro, sbm-status-hld, .sbm-status-upd, .sbm-status-sup, .sbm-status-aut, .sbm-status-sub
{
color: dodgerblue;
}
@@ -171,7 +171,7 @@
.sbm-form .sbm-input.sbm-calendar
{
max-width: 180px;
max-width: 120px;
}
.sbm-form .sbm-textarea, .sbm-form .sbm-select[multiple="multiple"]
@@ -442,4 +442,9 @@ a:focus
border: 1px solid var(--color-OldGold);
}
.ui-datepicker-trigger
{
margin-left:4px;
}
/* The End */
@@ -138,7 +138,7 @@
}
sbm.initCalendars = function (sel, opt)
{
return $(sel).datepicker(opt || {});
return $(sel).prop('autocomplete', false).datepicker(opt || {});
}
sbm.allowClearCalendar = function (sel)
{
@@ -583,14 +583,15 @@
$.datepicker.setDefaults({
showOn: 'both',
buttonImageOnly: true,
buttonImage: '../img/action/calendar32.png',
buttonImage: '../img/action/calendar24.png',
buttonText: sbm.lbl.calendar,
dateFormat: sbm.form.calendarDateFormat,
changeMonth: true,
changeYear: false,
yearRange: '-14:+01',
yearRange: '-30:+01',
firstDay: 1,
//defaultDate: 0,
beforeShow: function (i) { if ($(i).attr('readonly')) { return false; } },
});
});
@@ -127,15 +127,16 @@
{
co.clearItem(env, cfg);
let $frm = env.$frm.item;
$frm.find('.TransactionType').val(env.data.transactionTypeDefault);
env.$ctrl.trnType.val(env.$frm.filter.find('.sbm-input.FilterType').val());
env.$ctrl.searchTgtAssoc.show();
$frm.find('.TransactionStatus').val(env.data.defaultStatusCode);
env.$ctrl.trnStatus.val(env.data.defaultStatusCode).trigger('change');
env.$ctrl.trnRaised.datepicker('setDate', 'today');
co.openItemDlg(env, cfg, sbm.dlg.title.createTransaction);
}
co.clearItem = function (env, cfg)
{
sbm.clearItemForm(env.$frm.item);
sbm.populateSelectCodeDesc('#cbTransactionStatus', env.data.statuses);
sbm.populateSelectCodeDesc(env.$ctrl.trnStatus, env.data.statuses);
}
co.openItemDlg = function (env, cfg, title)
{
@@ -161,7 +162,7 @@
}
co.onUpdateItem = function (env, response)
{
sbm.debug('onUpdateItem', env, response);
//sbm.debug('onUpdateItem', env, response);
if (!response.success) return;
let cfg = response.config || {};
co.clearItem(env, cfg);
@@ -171,11 +172,10 @@
let $ctrls = $frm.find('.sbm-input,.sbm-textarea,.sbm-select');
$ctrls.filter('.TransactionId').val(item.id);
$ctrls.filter('.TransactionExists').val(1);
sbm.debug(item.field.value.AssociationId);
$ctrls.filter('.TransactionAssociationId').val(item.field.value.AssociationId);
env.$ctrl.searchTgtAssoc.hide();
sbm.selectOrAdd($ctrls.filter('.TransactionType'), item.typeCode, item.typeDesc);
sbm.selectOrAdd($ctrls.filter('.TransactionStatus'), item.statusCode, item.field.value.Status);
sbm.selectOrAdd(env.$ctrl.trnStatus, item.statusCode, item.field.value.Status);
env.$ctrl.trnStatus.trigger('change');
co.openItemDlg(env, cfg, sbm.dlg.title.updateTransaction);
}
@@ -187,11 +187,22 @@
}
co.onSelectAssocTarget = function (env, item)
{
sbm.debug('onSelectAssocTarget', env, item);
//sbm.debug('onSelectAssocTarget', env, item);
env.$frm.item.find('.TransactionAssociationId').val(item.id);
env.$frm.item.find('.TransactionAssociation').val(item.name);
}
co.onChangeStatus = function (env)
{
let sta = env.$ctrl.trnStatus.val();
env.$ctrl.trnRaised.prop('readonly', sta != 'PRE');
env.$ctrl.trnInProgress.prop('readonly', sta != 'WIP');
if (sta == 'PRE') env.$ctrl.trnInProgress.val('')
env.$ctrl.trnRequired.prop('readonly', (sta != 'PRE' && sta != 'WIP'));
env.$ctrl.trnClosed.prop('readonly', sta == 'PRE' || sta == 'WIP');
if (sta == 'PRE' || sta == 'WIP') env.$ctrl.trnClosed.val('')
}
//--------------------------------------------------------------
co.storeItem = function (env)
{
@@ -230,7 +241,7 @@
//sbm.debug('selectTransaction', prm);
let env = co.env.select;
env.prmSelect = prm;
env.$frm.filter.find('.FilterTransactionType').val('');
env.$frm.filter.find('.FilterType').val('');
env.$frm.filter.find('.FilterSearch').val(prm.search || '');
env.$pnl.table.find('tbody tr').remove();
sbm.openDialog(env.$dlg.select, 1000, 800);
@@ -282,17 +293,28 @@
env.$frm.filter = $items.find('.frmTransactionFilter');
if (env.$frm.filter.length)
env.$frm.filter.on('input', '.FilterSearch', function () { co.refreshItems(env, 250); }).on('change', '.FilterTransactionType,.FilterTransactionStatusCat', function () { co.refreshItems(env, 50); });
env.$frm.filter.on('input', '.FilterSearch', function () { co.refreshItems(env, 250); }).on('change', '.sbm-select.FilterType,.sbm-select.FilterStatusCat', function () { co.refreshItems(env, 50); });
env.$frm.itemId = $items.find('#frmTransactionId');
var opt = sbm.dlgOpts();
opt.dialogClass += " sbm-Transaction";
env.$dlg.item = $items.find('#dlgTransaction').dialog(opt);
env.$frm.item = env.$dlg.item.find('#frmTransaction').on('input', '.sbm-input, .sbm-textarea', function () { sbm.clearControlError(this); }).on('change', '.sbm-select', function () { sbm.clearControlError(this); });
sbm.initCalendars(env.$dlg.item.find('.sbm-input.sbm-calendar'), {});
env.$frm.item.on('blur', '.sbm-input.sbm-format-integer', function () { sbm.formatInteger($(this)); }).on('blur', '.sbm-input.sbm-format-currency', function () { sbm.formatCurrency($(this)); });
env.$frm.item.find('.TransactionAssociation').on('dblclick', function () { co.selectAssocTarget(env); });
env.$ctrl.searchTgtAssoc = env.$frm.item.find('.AssociationTargetSearch').on('click', function () { co.selectAssocTarget(env); });
if (env.$frm.item.length)
{
env.$frm.item.on('blur', '.sbm-input.sbm-format-integer', function () { sbm.formatInteger($(this)); }).on('blur', '.sbm-input.sbm-format-currency', function () { sbm.formatCurrency($(this)); });
env.$ctrl.trnType = env.$frm.item.find('.sbm-input.TransactionType');
env.$frm.item.find('.TransactionAssociation').on('dblclick', function () { co.selectAssocTarget(env); });
env.$ctrl.searchTgtAssoc = env.$frm.item.find('.AssociationTargetSearch').on('click', function () { co.selectAssocTarget(env); });
env.$ctrl.trnStatus = env.$frm.item.find('.sbm-select.TransactionStatus');
if (env.$ctrl.trnStatus.length) env.$ctrl.trnStatus.on('change', function () { co.onChangeStatus(env); });
sbm.initCalendars(env.$frm.item.find('.sbm-input.sbm-calendar'), {});
env.$ctrl.trnRaised = env.$frm.item.find('.sbm-input.TransactionRaised');
env.$ctrl.trnInProgress = env.$frm.item.find('.sbm-input.TransactionInProgress');
env.$ctrl.trnRequired = env.$frm.item.find('.sbm-input.TransactionRequired');
env.$ctrl.clearRequired = env.$frm.item.find('.ClearTransactionRequired').on('click', function () { env.$ctrl.trnRequired.val(''); });
sbm.allowClearCalendar(env.$ctrl.trnRequired);
env.$ctrl.trnClosed = env.$frm.item.find('.sbm-input.TransactionClosed');
}
var opt = sbm.dlgOpts();
opt.dialogClass += " sbm-Transaction";
opt.buttons[sbm.lbl.ok] = function () { co.selectItem(env); };