<%@language = "javascript" %> <% /* $Revision$ $Id$ TODO: lijkt mij dat er gewoon naar ../mld_close resp. ../opdr_close.asp moet worden gesubmit? */ %> <% FCLTHeader.Requires({ js: ["./modernizr-3.3.0.custom.min.js"] }); FCLTHeader.Requires({ plugins: ["suggest"] , js: ["../mld/mld_edit_opdr.js", "num2curr.js", "jquery.timepicker-table.js"], css: ["timePicker-table.css"]}); var opdr_key = getQParamInt("opdr_key", -1); var mld_key = getQParamInt("mld_key", -1); var copy = false; // Mogelijke parameters voor toevoegen only if (opdr_key == -1) { var dienst_key = getQParamInt("dienst_key", -1); var uitv_key = getQParamInt("uitv_key", -1); var opdr_type = getQParamInt("opdr_type", -1); if (opdr_type == -1) { Server.Transfer("order_new.asp"); // Ga eerst opdrachttype kiezen } } if (opdr_key > -1) { // BESTAANDE OPDRACHT var this_opdr = mld.func_enabled_opdracht(opdr_key); // wat mag ik zoal op deze opdracht user.auth_required_or_abort(this_opdr.canReadAny); var mld_opdr = mld.mld_opdr_info(opdr_key); var mld_melding = mld.mld_melding_info(mld_opdr.mld_key); var opdr_type = mld_opdr.opdr_type; var uitv_key = mld_opdr.uitvoerende_key; var subject = L("lcl_opdr_info") + " " + (mld_melding.prefix || "") + mld_opdr.mld_key + "/" + mld_opdr.mld_opdr_bedrijfopdr_volgnr; mld_opdr.opdr_type_org = mld_opdr.opdr_type; mld_key = mld_opdr.mld_key; var sqlCount = ", (SELECT count(*) FROM mld_opdr o " + " WHERE o.mld_melding_key = m.mld_melding_key " + " AND o.mld_statusopdr_key NOT IN (1, 6, 7, 9) " + " AND o.mld_opdr_key <> " + opdr_key + ") aantal_open"; } else { // NIEUWE OPDRACHT var cnt_key = getQParamInt("cnt_key", -1); var params = { uitvoerende_key: getQParamInt("uitv_key", -1) , cnt_key: cnt_key , opdr_copy_key: -1 , act_key: -1 }; var mld_opdr = mld.mld_opdr_info_new(mld_key, opdr_type, params); // Bepaal discipline sql = "SELECT sm.mld_ins_discipline_key" + " FROM mld_melding m" + " , mld_stdmelding sm" + " WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key" + " AND m.mld_melding_key = " + mld_key; var oRs = Oracle.Execute(sql); var this_opdr = mld.func_enabled_mld(oRs("mld_ins_discipline_key").value, "D"); // wat mag ik zoal op een melding oRs.Close(); var mld_melding = mld.mld_melding_info(mld_key); var subject = L("lcl_mobile_newopdracht") + " " + (mld_melding.prefix || "") + mld_opdr.mld_key + "/" + mld_opdr.mld_opdr_bedrijfopdr_volgnr; var sqlCount = ", 0 aantal_open"; } sql = "SELECT l.alg_locatie_code||" + " NVL2(g.alg_gebouw_code,'-'||g.alg_gebouw_code,'') ||" + " NVL2(g.alg_verdieping_code,'-'||g.alg_verdieping_code,'') ||" + " NVL2(g.alg_ruimte_nr,'-'||g.alg_ruimte_nr,'')||" + " NVL2(g.alg_terreinsector_code,'-'||g.alg_terreinsector_code,'') plaatscode," + " alg_onroerendgoed_omschrijving plaats " + sqlCount + " FROM mld_melding m" + " , alg_v_allonrgoed_gegevens g" + " , alg_locatie l" + " , prs_v_perslid_fullnames_all pf" + " WHERE m.mld_melding_key= " + mld_key + " AND m.prs_perslid_key = pf.prs_perslid_key" + " AND m.mld_alg_locatie_key=l.alg_locatie_key(+)" + " AND m.mld_alg_onroerendgoed_keys=g.alg_onroerendgoed_keys(+)"; oRs = Oracle.Execute(sql); lcode = !oRs.Eof && oRs("plaatscode").value? oRs("plaatscode").value + " " + oRs("plaats").value : ""; aantal_open = oRs.fields("aantal_open").value; oRs.close(); %> <% FCLTMHeader.Generate(); %> <% PAGE_START({id: "opdr-1-"+opdr_key}); HEADER({title: subject, back:true, home: true}); CONTENT_START(); %>
<% BLOCK_START({collapsed: true, title: mld_opdr.opdr_type_omschr}); FCLTuitvoerendeselector("uitvoerende", "sgUitv", { uitvoerendekey: mld_opdr.uitvoerende_key, label: mld_opdr.srtdiscbes ? L("lcl_bes_Supplier") : L("lcl_ord_company_uit"), readonly: true }); if (opdr_key > -1) { FCLTcontactpersoonselector("contactpers", "sgCntPersUitv", { contactpersoonKey: mld_opdr.contactpersuitv_key, label: L("lcl_contact_pers"), filtercode: "U", suppressEmpty: true, readonly: true }); } ROFIELD("fld", L("lcl_mld_meldingsoort") ,mld_melding.ins_discipline_omschrijving + "-" + mld_melding.mld_stdmelding_omschrijving) ; var vOrderdate = (opdr_key > 0 ? mld_opdr.mld_opdr_datumbegin : new Date()); ROFIELD("fld", L("lcl_orderdate"), toDateTimeString(vOrderdate) , { readonly: true } ); %> <% BLOCK_END(); ROFIELD("fld", L("lcl_place"), lcode, {suppressEmpty: true}); // Ik kan geen datum kiezen op de iPhone; calender sluit niet. FCLTcalendar("date_done", { datum: mld_opdr.mld_opdr_einddatum, minDate: (S("mld_enforce_orderdates") == 1 ? mld_melding.melddatum : (opdr_key < 0 ? new Date() : mld_opdr.mld_opdr_datumbegin)), maxDate: (S("mld_enforce_orderdates") == 1 ? mld_melding.einddatum : null), label: L("lcl_opdr_enddate"), // werkt niet omdat mld_einddatum niet bestaand en heeft toch geen effect? onChange: "DateChanged()", readonly: (opdr_key > 0 && !this_opdr.canDatesChange), volgnr: 2, required: true, mobile: true } ); if (!mld_opdr.typeopdr_isofferte) { FCLTcalendar("date_plan", { datum: mld_opdr.mld_opdr_plandatum, // werkt niet omdat mld_einddatum niet bestaand en heeft toch geen effect? onChange: "DateChanged()", readonly: (opdr_key > 0 && !this_opdr.canDatesChange), label: L("lcl_opdr_plandate"), required: false, timeField: true, timeStep: 15, startTime: 8, endTime: 18, calendars: 1, initEmpty: !mld_opdr.mld_opdr_plandatum, initTimeEmpty: !mld_opdr.mld_opdr_plandatum, mobile: true } ); } if (opdr_key > -1) ROFIELD("fld", L("lcl_txt"), mld_opdr.opdr_omschr, {multi: true}); else RWFIELD("opdr_omschr", L("lcl_txt"), mld_opdr.opdr_omschr, {multi: true}); generateFlexKenmerkBlock ({ fnpre: function () {}, fnpost: "", opdr_key: opdr_key, opdr_type: mld_opdr.opdr_type, opdr_type_org: mld_opdr.opdr_type_org, opdr_status: mld_opdr.opdr_status, mld_key: mld_key, stdm_arr: [], showClose: (opdr_key > 0 && this_opdr && (this_opdr.canClose || this_opdr.canSeeARFlex)), mobile: true, reado: (opdr_key > 0 && !(this_opdr.canFlexChange || this_opdr.canChangeARFlex)) }); // de kostenvelden zijn nogal afhankelijk van mld_opdr.typeopdr_matchtype // 1,2 --> alle kosten velden // 3 --> alleen uren velden/uurtarief en wel kostenplaats // 4 --> geen kosten of kostenplaats en wel uren // 5 --> Alleen meerdere materialen invullen en kostenplaats if (opdr_key > -1) { if ((mld_melding.mld_status == 7 || mld_melding.mld_status == 5) && this_opdr.canOpmChange) { RWFIELD("opdr_opm" , L("lcl_mld_final_remark"), mld_opdr.opdr_opmerking, {multi: true}); // Of de melding naast de opdracht ook gesloten moet worden, // moet volgens configuratie settings worden bepaald, zonder extra interactie (zoals bij API (API/api_opdrsoap.asp)) (FSN#26329) // Bij afmelden &mobile=1 meegeven, dan moet opdr_close_save.asp dit oplossen. %><% // } else { ROFIELD("fld" , L("lcl_mld_final_remark"), mld_opdr.opdr_opmerking, {multi: true} ); } var nu = new Date; %> <% %> <% } // TOTAAL KOSTEN if (mld_opdr.typeopdr_matchtype != 4) { // 0 = niet verplicht, 1 = save + 2 = afmelden, 4 = afronden. isRequired = (mld_opdr.typeopdr_kosten_verplicht & 1 || (mld_opdr.typeopdr_kosten_verplicht == 0 && mld_opdr.opdrkosten_verplicht & 1)) || ((mld_opdr.typeopdr_kosten_verplicht & 2 || (mld_opdr.typeopdr_kosten_verplicht == 0 && mld_opdr.opdrkosten_verplicht & 2)) && (mld_opdr.opdr_status == 5 || mld_opdr.opdr_status == 8)) || ((mld_opdr.typeopdr_kosten_verplicht & 4 || (mld_opdr.typeopdr_kosten_verplicht == 0 && mld_opdr.opdrkosten_verplicht & 4)) && mld_opdr.opdr_status == 6) RWFIELD( "tot_kosten" , L("lcl_total_cost") + " " + S("currency_pref") , safe.jsfloat(mld_opdr.t_cost.toFixed(2)) , { pclass: "currency" + (isRequired? " required" : "") , datarole: "fieldcontain" , datatype: "number" , readonly: (opdr_key > 0 && !this_opdr.canUrenMatChange) } ); } CONTROLGROUP_START() // Buttons if (opdr_key > -1) { if (this_opdr.canChange) BUTTON(L("lcl_submit"), {click: "opdr_submit()", dataicon: "refresh"}); if (this_opdr.canGoedkeur || this_opdr.canGoedkeur2 || this_opdr.canGoedkeur3 || this_opdr.canGoedkeur4 || this_opdr.canGoedkeur5) BUTTON(L("lcl_goedkeur"), {click: "opdr_goedkeur()", dataicon: "check"}); if (this_opdr.canApprove) BUTTON(L("lcl_approve"), {click: "opdr_approve()", dataicon: "check"}); if (this_opdr.canReject) BUTTON(L("lcl_reject"), {click: "opdr_reject()", dataicon: "delete"}); if (this_opdr.canAcceptOffer) BUTTON(L("lcl_approve"), {click: "opdr_accept_offer()", dataicon: "check"}); if (this_opdr.canRejectOffer) BUTTON(L("lcl_reject"), {click: "opdr_reject_offer()", dataicon: "delete"}); if (this_opdr.canClose) { BUTTON(L("lcl_close"), {click: "opdr_close()", dataicon: "check"}); } trackinglines = mobile.hastrackingpage('opdracht', opdr_key); if (trackinglines > 0) { BUTTON(L("lcl_history"), {linkid: "#opdr-2-"+opdr_key, dataicon: "bullets", transition: "pop", datarel: "dialog"}); } if (this_opdr.canShowOpdrNote) // Heb ik rechten om notities te zien { var tsql = "SELECT COUNT(*) FROM mld_opdr_note n WHERE n.mld_opdr_key = " + opdr_key; toRs = Oracle.Execute(tsql); BUTTON(L("lcl_mld_frame_notes")+" ("+toRs(0).value+")", {linkid: "./notitie.asp?node=opdracht&key="+opdr_key, dataicon: "comment", dataajax: 'false'}); } var this_mld = mld.func_enabled_melding(mld_key); // Wat heb ik zoal aan rechten op deze specifieke melding if (this_mld.canReadAny) { BUTTON(L("lcl_complain"), {linkid: "./melding.asp?mld_key="+mld_opdr.mld_key , dataicon: "alert", dataajax: "false"}); } } else { BUTTON(L("lcl_newsubmit"), {click: "opdr_submit()", dataicon: "refresh"}); trackinglines = 0; } CONTROLGROUP_END() IFACE.FORM_END(); %>
<% CONTENT_END(); FOOTER(); PAGE_END(); if (trackinglines > 0) { PAGE_START({id: "opdr-2-"+opdr_key}) mobile.trackingpage('opdracht', opdr_key, subject); PAGE_END(); } %>