- Core Logic Enhancements:
- Implement bidirectional field referencing between <FIELDS>, <LAYOUT>, and <TITLES> tags in .frml files, enabling seamless navigation from definitions to usages and vice versa.
- Add robust support for AJAX-OPTION field mapping:
- SRC attribute: Links to field definitions within defs/ajax.xml datasets.
- TARGET attribute: Links to local field definitions within the same form.
- Implement global grid resolution: GRID-ID now searches across the current file and all recursively included files (<INCLUDE>).
- Enhance deep recursive search for fields/sections within nested tags like <SECTION>, <ROW>, and <FIELD-LIST>.
- Path Resolution & Helpers (DynFormPathUtils):
- Added support for module-relative paths starting with # (mapping to view/frm/).
- Added support for cross-module paths starting with / (mapping to WEB-INF/app/module/{module}/view/frm/).
- Implemented auto-correction for common keyboard typos (Thai 'ิ' instead of /).
- Added specialized helpers for locating ajax.xml and included files within the framework's structure.
- Smart Completion Enhancements:
- Added context-aware completion for TARGET and SRC fields in AJAX update-fields.
- Enabled global GRID-ID completion by scanning all included resources.
- Improved dataset completion to include both local and AJAX-defined datasets.
- Test Resources:
- Added a comprehensive set of real-world examples (bdgt04, bdgt05, bdgt06) in DevResources/full-examples/ to validate complex cross-module and master-detail scenarios.
681 lines
33 KiB
XML
681 lines
33 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<FORMS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsd/#dynf_form_def.xsd">
|
|
<INCLUDES>
|
|
<INCLUDE FILE="#grids/grid-stratigy.frml"></INCLUDE>
|
|
<INCLUDE FILE="#grids/grid-stratigy-item.frml"></INCLUDE>
|
|
</INCLUDES>
|
|
<DATASETS>
|
|
<DATASET ID="DS-MASTER">
|
|
<SCHEMA>APP</SCHEMA>
|
|
<TABLENAME>PROJECTS</TABLENAME>
|
|
<KEYFIELDS>PROJ_ID</KEYFIELDS>
|
|
<SQL>
|
|
<SELECT>
|
|
SELECT PROJ.PROJ_ID
|
|
, PROJ.PROJ_TYPE
|
|
, PROJ.PROJ_YEAR
|
|
, PROJ.PJM_CODE
|
|
, BUD.GET_PROJECT(PROJ.PJM_CODE) PROJ_NAME
|
|
, PROJ.STM_CODE
|
|
, PROJ.BTM_CODE
|
|
, PROJ.ACM_CODE
|
|
, BUD.GET_ACTIVITY(PROJ.ACM_CODE) ACM_NAME
|
|
, PROJ.PLAN_TYPE
|
|
, PROJ.PROJ_DURATION
|
|
, PROJ.PROJ_START_YEAR
|
|
, PROJ.PROJ_END_YEAR
|
|
, PROJ.PROJ_FOR_STAFF
|
|
|
|
, PROJ.PROJ_CATE
|
|
, PROJ.PROJ_KIND
|
|
, PROJ.PROJ_FROM_YEAR
|
|
|
|
</SELECT>
|
|
<FROM>FROM PROJECTS PROJ</FROM>
|
|
<FILTER>WHERE PROJ_TYPE = 'INYR' AND STM_CODE=:STM_CODE</FILTER>
|
|
<ORDER>ORDER BY PROJ_YEAR DESC, PROJ_ID</ORDER>
|
|
</SQL>
|
|
<FIELDS>
|
|
<FIELD NAME="PROJ_ID" TYPE="VARCHAR" WIDTH="50" LABEL="plcp.id"/>
|
|
<FIELD NAME="PROJ_TYPE" TYPE="VARCHAR" WIDTH="25" LABEL="plcp.type"/>
|
|
<FIELD NAME="PROJ_YEAR" TYPE="NUMBER" WIDTH="4" LABEL="plcp.year"/>
|
|
<FIELD NAME="PJM_CODE" TYPE="VARCHAR" WIDTH="20" LABEL="plcp.pjm_code"/>
|
|
<FIELD NAME="STM_CODE" TYPE="VARCHAR" WIDTH="10" LABEL="plcp.stm_code"/>
|
|
<FIELD NAME="BTM_CODE" TYPE="VARCHAR" WIDTH="10" LABEL="plcp.btm_code"/>
|
|
<FIELD NAME="ACM_CODE" TYPE="VARCHAR" WIDTH="20" LABEL="plcp.acm_code"/>
|
|
<FIELD NAME="ACM_NAME" TYPE="VARCHAR" WIDTH="200" LABEL="plcp.acm_name"/>
|
|
<FIELD NAME="PLAN_TYPE" TYPE="VARCHAR" WIDTH="15" LABEL="plcp.plan_type"/>
|
|
<FIELD NAME="PROJ_DURATION" TYPE="NUMBER" WIDTH="10" LABEL="plcp.duration"/>
|
|
<FIELD NAME="PROJ_START_YEAR" TYPE="NUMBER" WIDTH="4" LABEL="plcp.start_year"/>
|
|
<FIELD NAME="PROJ_END_YEAR" TYPE="NUMBER" WIDTH="4" LABEL="plcp.end_year"/>
|
|
<FIELD NAME="PROJ_FOR_STAFF" TYPE="NUMBER" WIDTH="10" LABEL="plcp.for_staff"/>
|
|
|
|
<FIELD NAME="PROJ_CATE" TYPE="VARCHAR" WIDTH="25" LABEL="plcp.catagory"/>
|
|
<FIELD NAME="PROJ_KIND" TYPE="VARCHAR" WIDTH="25" LABEL="plcp.kine"/>
|
|
<FIELD NAME="PROJ_FROM_YEAR" TYPE="NUMBER" WIDTH="4" LABEL="plcp.from_year"/>
|
|
</FIELDS>
|
|
</DATASET>
|
|
</DATASETS>
|
|
|
|
<FORM>
|
|
<FORM_BROWSE DATAID="DS-MASTER">
|
|
<HEADER NAVI="Y" ADD="Y" EDIT="Y" DELETE="Y"/>
|
|
<PAGESIZE>15</PAGESIZE>
|
|
<FIELDS>
|
|
<FIELD NAME="$itemno" LABEL="no" ALIGN="right" WIDTH="5em"/>
|
|
<FIELD NAME="PJM_CODE" LABEL="plcp.pjm_code" ALIGN="left" WIDTH="10em"/>
|
|
<FIELD NAME="PROJ_NAME" LABEL="plcp.pjm_name" ALIGN="left"/>
|
|
<FIELD NAME="ACM_NAME" LABEL="plcp.acm_name" ALIGN="left"/>
|
|
<FIELD NAME="PROJ_TOTAL" LABEL="plcp.bgt_amount" ALIGN="right" WIDTH="10em">
|
|
<DATA-FORMATTER>
|
|
<![CDATA[(value, row, idx) => {return formatNumber(value);}]]>
|
|
</DATA-FORMATTER>
|
|
<FOOTER-FORMATTER>
|
|
<![CDATA[(data) => {return formatNumber($$(data).sum("proj_total"));}]]>
|
|
</FOOTER-FORMATTER>
|
|
</FIELD>
|
|
<COMMAND-BUTTONS NEWLINE="Y">
|
|
<BUTTON NAME="btnBudget" CAPTION="budget" CLASS="btn btn-outline-success w-75 with-caption" ICON-CLASS="bi bi-file-ruled">
|
|
<EVENT ON="click"><![CDATA[
|
|
({ev, row}) => {
|
|
ev.preventDefault();
|
|
let targetUrl = url("/bdgt04/bgt0401030-budget?proj_id=" + row["proj_id"]);
|
|
row.page_title = $("h4.page-title").html();
|
|
$PageCtx.saveSessionData("budget", row);
|
|
$PageCtx.saveStorageData("budget#search", {PROJ_ID: row["proj_id"]});
|
|
$WebNavi.goto(targetUrl);
|
|
}
|
|
]]></EVENT>
|
|
</BUTTON>
|
|
</COMMAND-BUTTONS>
|
|
</FIELDS>
|
|
<FILTERS AUTO-APPLY="Y" ALLOW-NO-FILTER="N">
|
|
<FIELDS>
|
|
<FIELD NAME="PROJ_YEAR" CAPTION="plcp.year" INPUTTYPE="COMBOBOX" SEARCH-ORIGIN="PROJ_YEAR=${VALUE}">
|
|
<LIST-OPTION TABLE="VL_YEAR" TEXT="#DV_YEAR" VALUE="DV_YEAR" ORDER="DV_YEAR" FIRSTLIST="@{NONE}"/>
|
|
</FIELD>
|
|
<FIELD NAME="ACM_NAME" CAPTION="plcp.name" INPUTTYPE="TEXT" SEARCH-ORIGIN="ACM_NAME='%${VALUE}%'"/>
|
|
</FIELDS>
|
|
<LAYOUT>
|
|
<ROW>
|
|
<FIELD NAME="PROJ_YEAR" LAYOUT_WIDTH="12"/>
|
|
</ROW>
|
|
<ROW>
|
|
<FIELD NAME="ACM_NAME" CAPT_WIDTH="6" VAL_WIDTH="14" LAYOUT_WIDTH="20"/>
|
|
</ROW>
|
|
</LAYOUT>
|
|
</FILTERS>
|
|
<FOOTER SHOW="Y"/>
|
|
</FORM_BROWSE>
|
|
|
|
<FORM_ENTRY DATAID="DS-MASTER" SAVE="Y" RETURN="Y">
|
|
<FIELDS>
|
|
<FIELD NAME="PROJ_ID" INPUTTYPE="HIDDEN"/>
|
|
<FIELD NAME="PROJ_TYPE" INPUTTYPE="HIDDEN"/>
|
|
<FIELD NAME="STM_CODE" INPUTTYPE="HIDDEN"/>
|
|
<FIELD NAME="BTM_CODE" INPUTTYPE="HIDDEN"/>
|
|
<FIELD NAME="PLAN_TYPE" INPUTTYPE="HIDDEN"/>
|
|
<FIELD NAME="PROJ_DURATION" INPUTTYPE="HIDDEN"/>
|
|
|
|
<FIELD NAME="PROJ_YEAR" CAPTION="plcp.year" INPUTTYPE="TEXT" READONLY="Y" DATATYPE="TEXT"/>
|
|
<FIELD NAME="VPJM_CODE" CAPTION="plcp.pjm_code" INPUTTYPE="TEXT" READONLY="Y"/>
|
|
<FIELD NAME="PJM_CODE" CAPTION="plcp.pjm_name" INPUTTYPE="COMBOBOX" REQUIRE="Y" EDIT-READONLY="Y">
|
|
<AJAX-OPTION URL="/api-data.jbx" DATASET="DS-PROJECT-02" VALUE-FIELD="PJM_CODE" TEXT-FIELD="PJM_NAME">
|
|
<UPDATE-FIELDS>
|
|
<FIELD SRC="PJM_CODE" TARGET="VPJM_CODE"></FIELD>
|
|
</UPDATE-FIELDS>
|
|
</AJAX-OPTION>
|
|
<LIST-OPTION>
|
|
<FORMATTER><![CDATA[
|
|
(data) => {
|
|
console.log("call formater with ", data);
|
|
// data.disabled = data["node_type"] === "C";
|
|
return $(`<div class="d-flex flex-row gap-1 dyn-list-item"><label class="flex-column text-nowrap col-3">[${data.pjm_code}]</label> : <label>${data.pjm_name}</label></div>`);
|
|
}
|
|
]]></FORMATTER>
|
|
</LIST-OPTION>
|
|
</FIELD>
|
|
|
|
<FIELD NAME="VACM_CODE" CAPTION="plcp.acm_code" INPUTTYPE="TEXT" REQUIRE="Y" READONLY="Y"/>
|
|
<FIELD NAME="ACM_CODE" CAPTION="plcp.acm_name" INPUTTYPE="COMBOBOX" REQUIRE="Y" EDIT-READONLY="Y">
|
|
<AJAX-OPTION URL="/api-data.jbx" DATASET="DS-ACTIVITY-02" VALUE-FIELD="ACM_CODE" TEXT-FIELD="ACM_NAME" PARAMETERS="DV_YEAR=PROJ_YEAR,STM_CODE=STM_CODE">
|
|
<UPDATE-FIELDS>
|
|
<FIELD SRC="ACM_CODE" TARGET="VACM_CODE"></FIELD>
|
|
</UPDATE-FIELDS>
|
|
</AJAX-OPTION>
|
|
<LIST-OPTION>
|
|
<FORMATTER><![CDATA[
|
|
(data) => {
|
|
console.log("call formater with ", data);
|
|
// data.disabled = data["node_type"] === "C";
|
|
return $(`<div class="d-flex flex-row gap-1 dyn-list-item"><label class="flex-column text-nowrap col-3">[${data.acm_code}]</label> : <label>${data.acm_name}</label></div>`);
|
|
}
|
|
]]></FORMATTER>
|
|
</LIST-OPTION>
|
|
</FIELD>
|
|
|
|
<FIELD NAME="STM_CODE" CAPTION="plcp.stm_code" INPUTTYPE="TEXT" READONLY="Y"/>
|
|
<FIELD NAME="BTM_CODE" CAPTION="plcp.btm_code" INPUTTYPE="TEXT"/>
|
|
<FIELD NAME="PLAN_TYPE" CAPTION="plcp.plan_type" INPUTTYPE="TEXT"/>
|
|
<FIELD NAME="PROJ_DURATION" CAPTION="plcp.duration" INPUTTYPE="TEXT" DATATYPE="NUMBER"/>
|
|
<FIELD NAME="PROJ_START_YEAR" CAPTION="plcp.start_year" INPUTTYPE="TEXT" DATATYPE="NUMBER"/>
|
|
<FIELD NAME="PROJ_END_YEAR" CAPTION="plcp.end_year" INPUTTYPE="TEXT" DATATYPE="NUMBER"/>
|
|
<FIELD NAME="PROJ_FOR_STAFF" CAPTION="plcp.for_staff" INPUTTYPE="TEXT" DATATYPE="NUMBER"/>
|
|
|
|
|
|
<FIELD NAME="PROJ_CATE" CAPTION="plcp.catagory" INPUTTYPE="RADIOGROUP" DATATYPE="TEXT" CLASS-NAME="flex-option">
|
|
<LIST-OPTION TABLE="BGT.REFER_CODE" TEXT="#RFC_DESC" VALUE="RFC_CODE" FILTER="RFG_GRP='PROJ-CATE'" ORDER="RFC_CODE"/>
|
|
</FIELD>
|
|
|
|
<FIELD NAME="PROJ_KIND" CAPTION="plcp.kind" INPUTTYPE="SWITCH" DATATYPE="TEXT"
|
|
VALUE="NEW" UNCHECK_VALUE="OLD" SUFFIX="#plcp.new|plcp.continue"></FIELD>
|
|
|
|
|
|
<FIELD NAME="PROJ_PHASE" CAPTION="#--" SHOWCAPT="Y" INPUTTYPE="CHECKBOXGROUP" DATATYPE="TEXT">
|
|
<LIST-OPTION TABLE="BGT.REFER_CODE" TEXT="#RFC_DESC" VALUE="RFC_CODE" FILTER="RFG_GRP='PROJ-PHASE'" ORDER="RFC_CODE" COLUMN="4"/>
|
|
</FIELD>
|
|
<FIELD NAME="PROJ_BUDGET" CAPTION="plcp.budget" INPUTTYPE="TEXT" DATATYPE="NUMBER" SUFFIX="บาท"/>
|
|
|
|
|
|
<FIELD NAME="PROJ_FROM_YEAR" CAPTION="plcp.from_year" INPUTTYPE="TEXT" DATATYPE="NUMBER"/>
|
|
|
|
<FIELD NAME="GRID-STRATEGY" INPUTTYPE="DATA-GRID" GRID-ID="GRID-PROJECT-STTGYS" CAPTION="pstg.header"/>
|
|
|
|
<FIELD NAME="PROJ_INVOLVERS" INPUTTYPE="TEXTAREA" CAPTION="plcp.involvers" ROWS="4"/>
|
|
<FIELD NAME="PROJ_INVOLVISSE" INPUTTYPE="TEXTAREA" CAPTION="plcp.involv_issue" ROWS="4"/>
|
|
|
|
<SECTION ID="SEC-ATTATCH-FILE">
|
|
<FIELD NAME="FILE_BOX_01" CAPTION="file.upload 1" INPUTTYPE="FILE-BOX" DATATYPE="TEXT">
|
|
<FILE-BOX FILE-TYPE="budget" FILE-ACCEPTS="pdf,docx,xlsx,jpeg,jpg,png"
|
|
UPLOAD-URL="/file-upload.jbx" FILE-URL="/get-file.jbx"
|
|
DEFAULT-NAME="@{filepath}/@{acm_code}/file-01"/>
|
|
</FIELD>
|
|
<FIELD NAME="FILE_BOX_02" CAPTION="file.upload 2" INPUTTYPE="FILE-BOX" DATATYPE="TEXT">
|
|
<FILE-BOX FILE-TYPE="budget" FILE-ACCEPTS="pdf,docx,xlsx,jpeg,jpg,png"
|
|
UPLOAD-URL="/file-upload.jbx" FILE-URL="/get-file.jbx"
|
|
DEFAULT-NAME="@{filepath}/@{acm_code}/file-01"/>
|
|
</FIELD>
|
|
<FIELD NAME="FILE_BOX_03" CAPTION="file.upload 3" INPUTTYPE="FILE-BOX" DATATYPE="TEXT">
|
|
<FILE-BOX FILE-TYPE="budget" FILE-ACCEPTS="pdf,docx,xlsx,jpeg,jpg,png"
|
|
UPLOAD-URL="/file-upload.jbx" FILE-URL="/get-file.jbx"
|
|
DEFAULT-NAME="@{filepath}/@{acm_code}/file-01"/>
|
|
</FIELD>
|
|
</SECTION>
|
|
|
|
</FIELDS>
|
|
<LAYOUT CLASS="block-layout-form">
|
|
<SECTION ID="SECT-MAIN">
|
|
<ROW>
|
|
<FIELD NAME="PROJ_YEAR" LAYOUT_WIDTH="6" OFFSET="4"/>
|
|
</ROW>
|
|
<ROW>
|
|
<FIELD NAME="VPJM_CODE" LAYOUT_WIDTH="4"/>
|
|
<FIELD NAME="PJM_CODE" LAYOUT_WIDTH="18"/>
|
|
</ROW>
|
|
<ROW>
|
|
<FIELD NAME="VACM_CODE" LAYOUT_WIDTH="4"/>
|
|
<FIELD NAME="ACM_CODE" LAYOUT_WIDTH="18"/>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION>
|
|
<HEADER CLASS="form-section-header col-24 mg-b-n30 mg-t-16 border-top-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">@M{pstg.header}</h4>]]>
|
|
</HEADER>
|
|
<ROW>
|
|
<FIELD NAME="GRID-STRATEGY" LAYOUT_WIDTH="20" OFFSET="4"/>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION>
|
|
<ROW>
|
|
<FIELD NAME="PROJ_CATE" OFFSET="4" LAYOUT_WIDTH="20"/>
|
|
</ROW>
|
|
<ROW>
|
|
<FIELD NAME="PROJ_KIND" OFFSET="4" LAYOUT_WIDTH="6"/>
|
|
<FIELD NAME="PROJ_FROM_YEAR" LAYOUT_WIDTH="6"/>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-STRATEGY">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-30 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">ความเชื่อมโยงของโครงการกับประเด็นการยกระดับคะแนนดัชนีการรับรู้การทุจริต(CPI)และแหล่งข้อมูล</h4>]]>
|
|
</HEADER>
|
|
<ROW TYPE="CONTENT" CLASS="bootstrap-table bootstrap5">
|
|
<![CDATA[
|
|
<div class="fixed-table-container fixed-table-header col-20 offset-4">
|
|
<table class="col-24 no-padding table table-bordered table-hover with-command">
|
|
<thead class="table-primary">
|
|
<tr>
|
|
<th class="center">ประเด็น/แหล่งข้อมูล</th>
|
|
<th class="center" style="width: 5em">BF(TI)<br>(1)</th>
|
|
<th class="center" style="width: 5em">EIU<br>(2)</th>
|
|
<th class="center" style="width: 5em">GI<br>(3)</th>
|
|
<th class="center" style="width: 5em">IMD<br>(4)</th>
|
|
<th class="center" style="width: 5em">PERC<br>(5)</th>
|
|
<th class="center" style="width: 5em">PRS<br>(6)</th>
|
|
<th class="center" style="width: 5em">WEF<br>(7)</th>
|
|
<th class="center" style="width: 5em">WJP<br>(8)</th>
|
|
<th class="center" style="width: 5em">VDEM<br>(9)</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td class="left">1.สินบน</td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="left">2.การขัดกันแห่งผลประโยชน์</td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="left">3.นโยบายของรัฐบาลในการแก้ไขปัญหาการทุจริต</td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="left">4.การตรวจสอบเจ้าหน้าที่รัฐ</td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="left">5.ความโปร่งใสในระบบงบประมาณและการจัดซื้อจัดจ้าง</td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
<td class="center empt-dark"> </td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
]]>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-1">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">1.หลักการและเหตุผล</h4>]]>
|
|
</HEADER>
|
|
<ROW TYPE="CONTENT" CLASS="col-20 form-group offset-4">
|
|
<![CDATA[<textarea class="form-control pd-y-3 mg-y-3" rows="3"></textarea>]]>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-2">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">2.วัตถุประสงค์</h4>]]>
|
|
</HEADER>
|
|
<ROW TYPE="CONTENT" CLASS="col-20 form-group offset-4">
|
|
<![CDATA[<textarea class="form-control pd-y-3 mg-y-3" rows="3"></textarea>]]>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-3">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">3.ประโยชน์ที่คาดว่าจะได้รับ</h4>]]>
|
|
</HEADER>
|
|
<ROW TYPE="CONTENT" CLASS="col-20 form-group offset-4">
|
|
<![CDATA[<textarea class="form-control pd-y-3 mg-y-3" rows="3"></textarea>]]>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-4">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">4.เป้าหมาย</h4>]]>
|
|
</HEADER>
|
|
<ROW TYPE="CONTENT" CLASS="col-20 form-group offset-4">
|
|
<![CDATA[<textarea class="form-control pd-y-3 mg-y-3" rows="3"></textarea>]]>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-5">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">5.กลุ่มเป้าหมาย</h4>]]>
|
|
</HEADER>
|
|
<ROW TYPE="CONTENT" CLASS="col-20 form-group offset-4">
|
|
<![CDATA[<textarea class="form-control pd-y-3 mg-y-3" rows="3"></textarea>]]>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-6">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">6.พื้นที่ดำเนินการ</h4>]]>
|
|
</HEADER>
|
|
<ROW TYPE="CONTENT" CLASS="col-20 form-group offset-4">
|
|
<![CDATA[<textarea class="form-control pd-y-3 mg-y-3" rows="3"></textarea>]]>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-7">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">7.กิจกรรมที่จะดำเนินการ</h4>]]>
|
|
</HEADER>
|
|
<ROW TYPE="CONTENT" CLASS="col-20 form-group offset-4">
|
|
<![CDATA[<textarea class="form-control pd-y-3 mg-y-3" rows="3"></textarea>]]>
|
|
</ROW>
|
|
<ROW TYPE="CONTENT" CLASS="bootstrap-table bootstrap5">
|
|
<![CDATA[
|
|
<div class="fixed-table-container fixed-table-header col-20 offset-3">
|
|
<table class="col-24 no-padding table table-bordered table-hover with-command">
|
|
<thead class="table-primary">
|
|
<tr>
|
|
<th class="center" rowspan="2">ขั้นตอนการดำเนินงาน</th>
|
|
<th class="center" style="width: 10em" colspan="3">ไตรมาส 1</th>
|
|
<th class="center" style="width: 10em" colspan="3">ไตรมาส 2</th>
|
|
<th class="center" style="width: 10em" colspan="3">ไตรมาส 3</th>
|
|
<th class="center" style="width: 10em" colspan="3">ไตรมาส 4</th>
|
|
<th class="operate-header" style="text-align: center; width: 90px;" data-field="grid-operate" rowspan="2">
|
|
<button type="button" id="add-btn" class="btn btn-primary btn-round data-grid-add-btn mg-y-5 w-100 white"><i class="fa fa-plus"></i></button>
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<th class="center" style="width: 3em">ต.ค.</th>
|
|
<th class="center" style="width: 3em">พ.ย.</th>
|
|
<th class="center" style="width: 3em">ธ.ค.</th>
|
|
<th class="center" style="width: 3em">ม.ค.</th>
|
|
<th class="center" style="width: 3em">ก.พ.</th>
|
|
<th class="center" style="width: 3em">มี.ค.</th>
|
|
<th class="center" style="width: 3em">เม.ย.</th>
|
|
<th class="center" style="width: 3em">พ.ค.</th>
|
|
<th class="center" style="width: 3em">มิ.ย.</th>
|
|
<th class="center" style="width: 3em">ก.ค.</th>
|
|
<th class="center" style="width: 3em">ส.ค.</th>
|
|
<th class="center" style="width: 3em">ก.ย.</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td class="left">กิจกรรมที่ ๑ การระดมความคิดเห็นเพื่อ
|
|
กำหนดประเด็นจัดทำแผนงานและ
|
|
แนวทางในการขับเคลื่อนเพื่อป้องปราม
|
|
หรือเฝ้าระวังปัญหาการทุจริตในพื้นที่</td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="operate-header" style="text-align: center; width: 90px;">
|
|
<div class="d-flex flex-row gap-1 justify-content-center width-100">
|
|
<button type="button" class="btn btn-grid-command btn-warning btn-edit" title="Edit "><i class="fa fa-edit white"></i></button>
|
|
<button type="button" class="btn btn-grid-command btn-danger btn-delete" title="Delete "><i class="fa fa-trash-alt white"></i></button>
|
|
<button type="button" class="btn btn-grid-command btn-primary btn-view" title="View "><i class="fa fa-file-alt white"></i></button>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="left">กิจกรรมที่ ๒ การลงพื้นที่เพื่อเฝ้าระวังและ
|
|
ป้องปรามการทุจริตในพื้นที่ตามนโยบาย
|
|
ของสำนักงานป.ป.ช.หรือตามประเด็นที่
|
|
ได้รับแจ้งข้อมูลจากศูนย์ป้องปราม
|
|
การทุจริตแห่งชาติสำนักงานป.ป.ช.</td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="center"><input type="checkbox"></td>
|
|
<td class="operate-header" style="text-align: center; width: 90px;">
|
|
<div class="d-flex flex-row gap-1 justify-content-center width-100">
|
|
<button type="button" class="btn btn-grid-command btn-warning btn-edit" title="Edit "><i class="fa fa-edit white"></i></button>
|
|
<button type="button" class="btn btn-grid-command btn-danger btn-delete" title="Delete "><i class="fa fa-trash-alt white"></i></button>
|
|
<button type="button" class="btn btn-grid-command btn-primary btn-view" title="View "><i class="fa fa-file-alt white"></i></button>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
]]>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-8">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">8.ตัวชี้วัดของผลผลิต/ผลลัพธ์การดำเนินโครงการ</h4>]]>
|
|
</HEADER>
|
|
<ROW TYPE="CONTENT" CLASS="bootstrap-table bootstrap5">
|
|
<![CDATA[
|
|
<div class="fixed-table-container fixed-table-header col-20 offset-3">
|
|
<table class="col-24 no-padding table table-bordered table-hover with-command">
|
|
<thead class="table-primary">
|
|
<tr>
|
|
<th class="center" rowspan="2">ผลผลิต(Output)/ผลลัพธ์(Outcome)</th>
|
|
<th class="center" style="width: 12em">ตัวชี้วัด</th>
|
|
<th class="center" style="width: 12em">ค่าเป้าหมาย</th>
|
|
<th class="center" style="width: 12em">ระยะเวลา</th>
|
|
<th class="operate-header" style="text-align: center; width: 90px;" data-field="grid-operate" rowspan="2">
|
|
<button type="button" id="add-btn" class="btn btn-primary btn-round data-grid-add-btn mg-y-5 w-100 white"><i class="fa fa-plus"></i></button>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td class="left"><b>ผลผลิต(Output)</b><br>
|
|
รายงานสรุปผลโครงการแก้ไขปัญหา
|
|
การทุจริตในพื้นที่
|
|
</td>
|
|
<td class="center">แนวทางการแก้ไขปัญหา
|
|
การทุจริตในพื้นที่</td>
|
|
<td class="center">รายงาน ๑ ฉบับ</td>
|
|
<td class="center">ไตรมาสที่ ๔</td>
|
|
<td class="operate-header" style="text-align: center; width: 90px;">
|
|
<div class="d-flex flex-row gap-1 justify-content-center width-100">
|
|
<button type="button" class="btn btn-grid-command btn-warning btn-edit" title="Edit "><i class="fa fa-edit white"></i></button>
|
|
<button type="button" class="btn btn-grid-command btn-danger btn-delete" title="Delete "><i class="fa fa-trash-alt white"></i></button>
|
|
<button type="button" class="btn btn-grid-command btn-primary btn-view" title="View "><i class="fa fa-file-alt white"></i></button>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="left"><b>ผลลัพธ์(Outcome)</b><br>
|
|
หน่วยงานที่เกี่ยวข้องนำแนวทางการแก้ไข
|
|
ปัญหาการทุจริตไปใช้ในการป้องกัน
|
|
การทุจริตในพื้นที่เพื่อทำให้คดีทุจริต
|
|
ในพื้นที่ลดลง
|
|
</td>
|
|
<td class="center">จำนวนหน่วยงานที่นำแนวทาง
|
|
การแก้ไขปัญหาการทุจริตในพื้นที่
|
|
ไปใช้ในการป้องกันการทุจริต
|
|
ในพื้นที่่</td>
|
|
<td class="center">อย่างน้อย ๑ หน่วยงาน</td>
|
|
<td class="center">ไตรมาสที่ ๔</td>
|
|
<td class="operate-header" style="text-align: center; width: 90px;">
|
|
<div class="d-flex flex-row gap-1 justify-content-center width-100">
|
|
<button type="button" class="btn btn-grid-command btn-warning btn-edit" title="Edit "><i class="fa fa-edit white"></i></button>
|
|
<button type="button" class="btn btn-grid-command btn-danger btn-delete" title="Delete "><i class="fa fa-trash-alt white"></i></button>
|
|
<button type="button" class="btn btn-grid-command btn-primary btn-view" title="View "><i class="fa fa-file-alt white"></i></button>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
]]>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-9">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">9.งบประมาณ</h4>]]>
|
|
</HEADER>
|
|
<ROW>
|
|
<FIELD NAME="PROJ_BUDGET" OFFSET="4" LAYOUT_WIDTH="6"/>
|
|
</ROW>
|
|
<ROW TYPE="CONTENT" CLASS="bootstrap-table bootstrap5">
|
|
<![CDATA[
|
|
<div class="fixed-table-container fixed-table-header col-20 offset-3">
|
|
<table class="col-24 no-padding table table-bordered table-hover with-command">
|
|
<thead class="table-primary">
|
|
<tr>
|
|
<th class="center" rowspan="2">งบรายจ่าย</th>
|
|
<th class="center" style="width: 10em" colspan="3">ไตรมาส 1</th>
|
|
<th class="center" style="width: 10em" colspan="3">ไตรมาส 2</th>
|
|
<th class="center" style="width: 10em" colspan="3">ไตรมาส 3</th>
|
|
<th class="center" style="width: 10em" colspan="3">ไตรมาส 4</th>
|
|
<th class="operate-header" style="text-align: center; width: 90px;" data-field="grid-operate" rowspan="2"></th>
|
|
</tr>
|
|
<tr>
|
|
<th class="center" style="width: 3em">ต.ค.</th>
|
|
<th class="center" style="width: 3em">พ.ย.</th>
|
|
<th class="center" style="width: 3em">ธ.ค.</th>
|
|
<th class="center" style="width: 3em">ม.ค.</th>
|
|
<th class="center" style="width: 3em">ก.พ.</th>
|
|
<th class="center" style="width: 3em">มี.ค.</th>
|
|
<th class="center" style="width: 3em">เม.ย.</th>
|
|
<th class="center" style="width: 3em">พ.ค.</th>
|
|
<th class="center" style="width: 3em">มิ.ย.</th>
|
|
<th class="center" style="width: 3em">ก.ค.</th>
|
|
<th class="center" style="width: 3em">ส.ค.</th>
|
|
<th class="center" style="width: 3em">ก.ย.</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td class="left">งบบริหารจัดการรายเดือน</td>
|
|
<td class="right">0</td>
|
|
<td class="right">0</td>
|
|
<td class="right">0</td>
|
|
<td class="right">0</td>
|
|
<td class="right">0</td>
|
|
<td class="right">0</td>
|
|
<td class="right">0</td>
|
|
<td class="right">0</td>
|
|
<td class="right">0</td>
|
|
<td class="right">0</td>
|
|
<td class="right">0</td>
|
|
<td class="right">0</td>
|
|
<td class="operate-header" style="text-align: center; width: 90px;">
|
|
<div class="d-flex flex-row gap-1 justify-content-center width-100">
|
|
<button type="button" class="btn btn-grid-command btn-warning btn-edit" title="Edit "><i class="fa fa-edit white"></i></button>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<td class="left">รวมงบประมาณรายไตรมาส</td>
|
|
<td class="right" colspan="3">0</td>
|
|
<td class="right" colspan="3">0</td>
|
|
<td class="right" colspan="3">0</td>
|
|
<td class="right" colspan="3">0</td>
|
|
<td class="operate-header" style="text-align: center; width: 90px;"></td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
]]>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-10">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">10.ผู้รับผิดชอบโครงการ</h4>]]>
|
|
</HEADER>
|
|
<ROW TYPE="CONTENT" CLASS="col-20 form-group offset-4">
|
|
<![CDATA[<textarea class="form-control pd-y-3 mg-y-3" rows="3"></textarea>]]>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-13">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">11.ผู้ที่เกี่ยวข้องที่อาจจะได้รับผลกระทบ</h4>]]>
|
|
</HEADER>
|
|
<ROW>
|
|
<FIELD NAME="PROJ_INVOLVERS" LAYOUT_WIDTH="10" OFFSET="4"/>
|
|
<FIELD NAME="PROJ_INVOLVISSE" LAYOUT_WIDTH="10"/>
|
|
</ROW>
|
|
</SECTION>
|
|
|
|
<SECTION ID="SECT-NOTE-11">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">12.ลักษณะโครงการ</h4>]]>
|
|
</HEADER>
|
|
<ROW>
|
|
<FIELD NAME="PROJ_PHASE" OFFSET="4" LAYOUT_WIDTH="16"/>
|
|
</ROW>
|
|
</SECTION>
|
|
<SECTION ID="SECT-NOTE-12">
|
|
<HEADER CLASS="form-section-header col-24 mg-t-16 mg-b-6 border-bottom-1">
|
|
<![CDATA[<h4 class="ml-3 col-24">13.การติดตามประเมินผล</h4>]]>
|
|
</HEADER>
|
|
<ROW TYPE="CONTENT" CLASS="col-20 form-group offset-4">
|
|
<![CDATA[<textarea class="form-control pd-y-3 mg-y-3" rows="3"></textarea>]]>
|
|
</ROW>
|
|
</SECTION>
|
|
|
|
<SECTION ID="SECT-FILE-UPLOAD">
|
|
<HEADER CLASS="col-24 pd-t-16">
|
|
<![CDATA[<h4 class="ml-3 border-bottom-1 col-24">@M{14.||project.constructor_attatchment}</h4>]]>
|
|
</HEADER>
|
|
<ROW>
|
|
<FIELD NAME="FILE_BOX_01" LAYOUT_WIDTH="16" OFFSET="4"/>
|
|
</ROW>
|
|
<ROW>
|
|
<FIELD NAME="FILE_BOX_02" LAYOUT_WIDTH="16" OFFSET="4"/>
|
|
</ROW>
|
|
<ROW>
|
|
<FIELD NAME="FILE_BOX_03" LAYOUT_WIDTH="16" OFFSET="4"/>
|
|
</ROW>
|
|
</SECTION>
|
|
</LAYOUT>
|
|
<SCRIPT>
|
|
<EVENTS>
|
|
<BEFORE-SAVE><![CDATA[
|
|
({form, data}) => {
|
|
if ($PageCtx.$action === "add") {
|
|
let projYear = $$("PROJ_YEAR").val();
|
|
let projType = "INYR";
|
|
let btmCode = "02";
|
|
let stmCode = $user.deptCode;
|
|
let acmCode = $$("ACM_CODE").val();
|
|
let projId = `${projYear}x${projType}x${stmCode}x${acmCode}`;
|
|
|
|
$$("PROJ_ID").val(projId);
|
|
$$("PROJ_TYPE").val(projType);
|
|
$$("STM_CODE").val(stmCode);
|
|
$$("BTM_CODE").val(btmCode);
|
|
}
|
|
Object.assign(data, form.mainForm.jsonData());
|
|
}
|
|
]]></BEFORE-SAVE>
|
|
</EVENTS>
|
|
</SCRIPT>
|
|
<BUTTONS>
|
|
<BUTTON NAME="btnButton1" CAPTION="ส่งผู้อำนวยการสำนักพิจารณา" CLASS="btn btn-warning" SECTION="RIGHT"/>
|
|
</BUTTONS>
|
|
</FORM_ENTRY>
|
|
</FORM>
|
|
</FORMS>
|