FSN#51518 Meer diversiteit in mogelijke objecten bij een melding mogelijk maken

svn path=/Website/trunk/; revision=36391
This commit is contained in:
Erik Groener
2017-12-18 10:06:12 +00:00
parent 920be07460
commit 663b130bb3
3 changed files with 82 additions and 44 deletions

View File

@@ -67,7 +67,7 @@ function model_mld_stdmelding()
}
},
"discipline": {
"dbs": "mld_stdmelding.mld_ins_discipline_key",
"dbs": "mld_ins_discipline_key",
"typ": "key",
"label": L("lcl_mld_vakgroep"),
"foreign": {
@@ -423,6 +423,12 @@ function model_mld_stdmelding()
"typ": "varchar",
"label": L("lcl_mld_externurl")
},
"_upload": {
"dbs": "",
"label": L("lcl_mld_symbol_upload"),
"typ": "button",
"defaultvalue": L("lcl_mld_browse_upload")
},
"_limitlabel": {
"dbs": "",
"label": "",
@@ -440,14 +446,7 @@ function model_mld_stdmelding()
"obj": "MLD_T_UITVOERTIJD",
"typ": "processingtime",
"label": L("lcl_mld_uitvoertijd_normaal")
},
"_upload": {
"dbs": "",
"label": L("lcl_mld_symbol_upload"),
"typ": "button",
"defaultvalue": L("lcl_mld_browse_upload")
}
};
@@ -466,10 +465,14 @@ function model_mld_stdmelding()
{
scf_params.layout.block[0].label += " " +obj.id ;
obj.canrefer = translate_canrefer(obj.canrefer, null);
var srtdisc_key = null;
var disc_key = null;
if (obj.id > 0)
{
stdm_info = mld.mld_stdmeldinginfo(obj.id);
srtdisc_key = stdm_info.ins_srtdiscipline_key;
disc_key = stdm_info.ins_discipline_key;
// Hier hebben we echt de waarde van mld_stdmelding_directklaar nodig,
// en niet de defaultwaarde uit mld_disc_params_directklaar.
var sql = "SELECT mld_stdmelding_directklaar"
@@ -481,10 +484,14 @@ function model_mld_stdmelding()
}
fld.limitcatalogue.foreign.tbl = limitcatalogue_foreign(stdm_info);
var proturl = protectQS.create("../shared/BijlagenForm.asp?module=MLDS" + (mode == "show"? "&reado=1" : ""));
%>
<script>
var srtinstallatieselector_available = 1; // toon alleen actuele disciplines/groepen en objecten.
var proturl_bijlage = "<%=proturl%>";
var srtdisc_key = <%=srtdisc_key%>;
var disc_key = <%=disc_key%>;
</script>
<%

View File

@@ -38,7 +38,7 @@ var this_params = {
"disciplinetype",
"discipline",
"description",
// acceptatietijd
"acceptatietijd",
"processingtime",
"issuegroup",
"costtype",
@@ -50,7 +50,8 @@ var this_params = {
"edit": {
"requires": {
"js": [
"../mgt/srtinstallatieselector.js"
"../mgt/srtinstallatieselector.js",
"../mgt/mld_stdmelding.js"
]
}
}
@@ -141,7 +142,8 @@ var this_params = {
"label": "Niet tonen",
"hidden": true,
"fields": [
"disciplinetype"
"disciplinetype",
"_limitlabel"
]
}
]

View File

@@ -5,54 +5,70 @@ $(document).ready(function () {
function init_stdmelding()
{
$("#disciplinetype").change( change_disciplinetype );
$("#discipline_show").attr("sgonchange", "change_discipline"); // stdmelding gebruikt MLD_DISCIPLINE als suggestbox
//$("#issuetype").change( change_issuetype );
$("#discipline").change( change_discipline );
$("#_upload").click( Upload );
var init_srtdisc_key = (srtdisc_key ? srtdisc_key : 0);
var init_disc_key = (disc_key ? disc_key : -1);
fill_disciplineselector(init_srtdisc_key, init_disc_key);
fill_issuetypeselector(0, 0);
}
function change_disciplinetype()
{
var disciplinetype_key = $("#disciplinetype").val();
if (disciplinetype_key > 0)
{
$("#sgdisciplinecompleteDiv").remove(); // oude lijst verwijderen
$("#discipline").load("../shared/loadSuggestDisc.asp"
, { fld: "discipline"
, autfunctionKey: -1
, srtdisc_key: disciplinetype_key
, module: "MLDA"
, suggestall: 1
}
, function() { sgdiscipline.setValue(-1, "", true); }
);
}
var srtdisc_key = $("#disciplinetype").val();
if (srtdisc_key != -1)
fill_disciplineselector(srtdisc_key, -1);
else
process_stdminfo({niveau:"D",lov:[]});
process_stdminfo({niveau:"M",lov:[]});
}
function change_discipline()
{
var srtdisc_key = $("#disciplinetype").val();
var disc_key = $("#discipline").val();
var srtdisc_key = $("#discipline_show").attr("sgextraparam");
$('#disciplinetype option[value="' + srtdisc_key + '"]').attr("selected", "selected");
fill_issuetypeselector(disc_key);
if (disc_key != -1)
fill_issuetypeselector(srtdisc_key, disc_key);
else
process_stdminfo({niveau:"M",lov:[]});
}
function fill_issuetypeselector(disc_key)
function fill_disciplineselector(srtdisc_key, disc_key)
{
var sel_mode = (typeof cur_mode == "undefined" ? "list" : cur_mode);
$.getJSON( "../mld/get_mld_info_ajax.asp",
{ req_info: "mld_stdmelding_list",
parent_key: disc_key,
init_key: -1
},
process_info);
$.getJSON( "../mld/get_mld_info_ajax.asp"
, { req_info: "mld_stdmelding_list"
, niveau: "D"
, parent_key: srtdisc_key
, init_key: disc_key
}
, process_stdminfo
);
}
function process_info(data)
function fill_issuetypeselector(srtdisc_key, disc_key)
{
//alert(JSON.stringify(data));
var select = $("#issuetype");
var new_lov = data.lov;
$.getJSON( "../mld/get_mld_info_ajax.asp"
, { req_info: "mld_stdmelding_list"
, niveau: "M"
, parent_key: srtdisc_key
, child_key: disc_key
, init_key: -1
}
, process_stdminfo
);
}
function process_stdminfo(data)
{
var select;
switch(data.niveau)
{
case "D": select = $("#discipline"); break;
case "M": select = $("#issuetype"); break;
}
var add_data = "";
var sel_key = -1;
var new_lov = '<option value="-1" ></option>';
@@ -76,4 +92,17 @@ function process_info(data)
select.empty().append(new_lov);
if (sel_key > -1)
select.val(sel_key);
}
}
function Upload()
{
parent.FcltMgr.openModalDetail( proturl_bijlage
, L("lcl_change")
, { callback: function (data)
{ if (data.filenaam)
$("#symbolname").val(data.filenaam.replace(/.dwf$/i,'')); // strip extensie
}
}
);
}