commit pertama
@@ -0,0 +1,9 @@
|
||||
# ignore visual studio code
|
||||
/.vs/
|
||||
|
||||
# ignore cache content
|
||||
cache/*
|
||||
!cache/v3
|
||||
|
||||
# ignore mysql.php
|
||||
mysql.php
|
||||
@@ -0,0 +1,22 @@
|
||||
# BAPPERIDA KAB SAMBAS
|
||||
|
||||
Sistem Informasi Perencanaan Pembangunan Daerah
|
||||
|
||||
## Description
|
||||
|
||||
Copy of SIPPD MAIN FRAME
|
||||
|
||||
## Authors
|
||||
|
||||
Developer dan programmer
|
||||
|
||||
[@siaupheng](mailto:[email protected])
|
||||
|
||||
## Version History
|
||||
|
||||
* 1.0
|
||||
* Initial Release
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed.
|
||||
|
After Width: | Height: | Size: 759 KiB |
|
After Width: | Height: | Size: 85 KiB |
@@ -0,0 +1,31 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2000" height="2000" viewBox="0 0 2000 2000" preserveAspectRatio="none">
|
||||
|
||||
<!-- TL to BR -->
|
||||
<line x1="-1500" y1="0" x2="500" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="-1000" y1="0" x2="1000" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="-500" y1="0" x2="1500" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="0" y1="0" x2="2000" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="500" y1="0" x2="2500" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="1000" y1="0" x2="3000" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="1500" y1="0" x2="3500" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
|
||||
<!-- TR to BL -->
|
||||
<line x2="-1500" y1="0" x1="500" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x2="-1000" y1="0" x1="1000" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x2="-500" y1="0" x1="1500" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x2="0" y1="0" x1="2000" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x2="500" y1="0" x1="2500" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x2="1000" y1="0" x1="3000" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x2="1500" y1="0" x1="3500" y2="2000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
|
||||
<!-- L to R -->
|
||||
<line x1="0" y1="0" x2="2000" y2="0" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="0" y1="250" x2="2000" y2="250" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="0" y1="500" x2="2000" y2="500" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="0" y1="750" x2="2000" y2="750" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="0" y1="1000" x2="2000" y2="1000" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="0" y1="1250" x2="2000" y2="1250" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="0" y1="1500" x2="2000" y2="1500" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
<line x1="0" y1="1750" x2="2000" y2="1750" style="stroke:rgba(255,255,255,0.075);stroke-width:2" />
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20px" height="12px" viewBox="0 0 20 12" zoomAndPan="disable">
|
||||
<rect x="0" y="1" width="20" height="2" style="fill:rgba(0,0,0,0.45);" />
|
||||
<rect x="0" y="5" width="20" height="2" style="fill:rgba(0,0,0,0.45);" />
|
||||
<rect x="0" y="9" width="20" height="2" style="fill:rgba(0,0,0,0.45);" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 383 B |
@@ -0,0 +1,2 @@
|
||||
/* breakpoints.js v1.0 | @ajlkn | MIT licensed */
|
||||
var breakpoints=function(){"use strict";function e(e){t.init(e)}var t={list:null,media:{},events:[],init:function(e){t.list=e,window.addEventListener("resize",t.poll),window.addEventListener("orientationchange",t.poll),window.addEventListener("load",t.poll),window.addEventListener("fullscreenchange",t.poll)},active:function(e){var n,a,s,i,r,d,c;if(!(e in t.media)){if(">="==e.substr(0,2)?(a="gte",n=e.substr(2)):"<="==e.substr(0,2)?(a="lte",n=e.substr(2)):">"==e.substr(0,1)?(a="gt",n=e.substr(1)):"<"==e.substr(0,1)?(a="lt",n=e.substr(1)):"!"==e.substr(0,1)?(a="not",n=e.substr(1)):(a="eq",n=e),n&&n in t.list)if(i=t.list[n],Array.isArray(i)){if(r=parseInt(i[0]),d=parseInt(i[1]),isNaN(r)){if(isNaN(d))return;c=i[1].substr(String(d).length)}else c=i[0].substr(String(r).length);if(isNaN(r))switch(a){case"gte":s="screen";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: -1px)";break;case"not":s="screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (max-width: "+d+c+")"}else if(isNaN(d))switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen";break;case"gt":s="screen and (max-width: -1px)";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+")";break;default:s="screen and (min-width: "+r+c+")"}else switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+"), screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (min-width: "+r+c+") and (max-width: "+d+c+")"}}else s="("==i.charAt(0)?"screen and "+i:i;t.media[e]=!!s&&s}return t.media[e]!==!1&&window.matchMedia(t.media[e]).matches},on:function(e,n){t.events.push({query:e,handler:n,state:!1}),t.active(e)&&n()},poll:function(){var e,n;for(e=0;e<t.events.length;e++)n=t.events[e],t.active(n.query)?n.state||(n.state=!0,n.handler()):n.state&&(n.state=!1)}};return e._=t,e.on=function(e,n){t.on(e,n)},e.active=function(e){return t.active(e)},e}();!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.breakpoints=t()}(this,function(){return breakpoints});
|
||||
@@ -0,0 +1,2 @@
|
||||
/* browser.js v1.0 | @ajlkn | MIT licensed */
|
||||
var browser=function(){"use strict";var e={name:null,version:null,os:null,osVersion:null,touch:null,mobile:null,_canUse:null,canUse:function(n){e._canUse||(e._canUse=document.createElement("div"));var o=e._canUse.style,r=n.charAt(0).toUpperCase()+n.slice(1);return n in o||"Moz"+r in o||"Webkit"+r in o||"O"+r in o||"ms"+r in o},init:function(){var n,o,r,i,t=navigator.userAgent;for(n="other",o=0,r=[["firefox",/Firefox\/([0-9\.]+)/],["bb",/BlackBerry.+Version\/([0-9\.]+)/],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/],["opera",/OPR\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)/],["edge",/Edge\/([0-9\.]+)/],["safari",/Version\/([0-9\.]+).+Safari/],["chrome",/Chrome\/([0-9\.]+)/],["ie",/MSIE ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(RegExp.$1);break}for(e.name=n,e.version=o,n="other",o=0,r=[["ios",/([0-9_]+) like Mac OS X/,function(e){return e.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS X/,function(e){return 0}],["wp",/Windows Phone ([0-9\.]+)/,null],["android",/Android ([0-9\.]+)/,null],["mac",/Macintosh.+Mac OS X ([0-9_]+)/,function(e){return e.replace("_",".").replace("_","")}],["windows",/Windows NT ([0-9\.]+)/,null],["bb",/BlackBerry.+Version\/([0-9\.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/,null],["linux",/Linux/,null],["bsd",/BSD/,null],["unix",/X11/,null]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(r[i][2]?r[i][2](RegExp.$1):RegExp.$1);break}e.os=n,e.osVersion=o,e.touch="wp"==e.os?navigator.msMaxTouchPoints>0:!!("ontouchstart"in window),e.mobile="wp"==e.os||"android"==e.os||"ios"==e.os||"bb"==e.os}};return e.init(),e}();!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?module.exports=n():e.browser=n()}(this,function(){return browser});
|
||||
@@ -0,0 +1,587 @@
|
||||
(function($) {
|
||||
|
||||
/**
|
||||
* Generate an indented list of links from a nav. Meant for use with panel().
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.navList = function() {
|
||||
|
||||
var $this = $(this);
|
||||
$a = $this.find('a'),
|
||||
b = [];
|
||||
|
||||
$a.each(function() {
|
||||
|
||||
var $this = $(this),
|
||||
indent = Math.max(0, $this.parents('li').length - 1),
|
||||
href = $this.attr('href'),
|
||||
target = $this.attr('target');
|
||||
|
||||
b.push(
|
||||
'<a ' +
|
||||
'class="link depth-' + indent + '"' +
|
||||
( (typeof target !== 'undefined' && target != '') ? ' target="' + target + '"' : '') +
|
||||
( (typeof href !== 'undefined' && href != '') ? ' href="' + href + '"' : '') +
|
||||
'>' +
|
||||
'<span class="indent-' + indent + '"></span>' +
|
||||
$this.text() +
|
||||
'</a>'
|
||||
);
|
||||
|
||||
});
|
||||
|
||||
return b.join('');
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Panel-ify an element.
|
||||
* @param {object} userConfig User config.
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.panel = function(userConfig) {
|
||||
|
||||
// No elements?
|
||||
if (this.length == 0)
|
||||
return $this;
|
||||
|
||||
// Multiple elements?
|
||||
if (this.length > 1) {
|
||||
|
||||
for (var i=0; i < this.length; i++)
|
||||
$(this[i]).panel(userConfig);
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
// Vars.
|
||||
var $this = $(this),
|
||||
$body = $('body'),
|
||||
$window = $(window),
|
||||
id = $this.attr('id'),
|
||||
config;
|
||||
|
||||
// Config.
|
||||
config = $.extend({
|
||||
|
||||
// Delay.
|
||||
delay: 0,
|
||||
|
||||
// Hide panel on link click.
|
||||
hideOnClick: false,
|
||||
|
||||
// Hide panel on escape keypress.
|
||||
hideOnEscape: false,
|
||||
|
||||
// Hide panel on swipe.
|
||||
hideOnSwipe: false,
|
||||
|
||||
// Reset scroll position on hide.
|
||||
resetScroll: false,
|
||||
|
||||
// Reset forms on hide.
|
||||
resetForms: false,
|
||||
|
||||
// Side of viewport the panel will appear.
|
||||
side: null,
|
||||
|
||||
// Target element for "class".
|
||||
target: $this,
|
||||
|
||||
// Class to toggle.
|
||||
visibleClass: 'visible'
|
||||
|
||||
}, userConfig);
|
||||
|
||||
// Expand "target" if it's not a jQuery object already.
|
||||
if (typeof config.target != 'jQuery')
|
||||
config.target = $(config.target);
|
||||
|
||||
// Panel.
|
||||
|
||||
// Methods.
|
||||
$this._hide = function(event) {
|
||||
|
||||
// Already hidden? Bail.
|
||||
if (!config.target.hasClass(config.visibleClass))
|
||||
return;
|
||||
|
||||
// If an event was provided, cancel it.
|
||||
if (event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
}
|
||||
|
||||
// Hide.
|
||||
config.target.removeClass(config.visibleClass);
|
||||
|
||||
// Post-hide stuff.
|
||||
window.setTimeout(function() {
|
||||
|
||||
// Reset scroll position.
|
||||
if (config.resetScroll)
|
||||
$this.scrollTop(0);
|
||||
|
||||
// Reset forms.
|
||||
if (config.resetForms)
|
||||
$this.find('form').each(function() {
|
||||
this.reset();
|
||||
});
|
||||
|
||||
}, config.delay);
|
||||
|
||||
};
|
||||
|
||||
// Vendor fixes.
|
||||
$this
|
||||
.css('-ms-overflow-style', '-ms-autohiding-scrollbar')
|
||||
.css('-webkit-overflow-scrolling', 'touch');
|
||||
|
||||
// Hide on click.
|
||||
if (config.hideOnClick) {
|
||||
|
||||
$this.find('a')
|
||||
.css('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
|
||||
|
||||
$this
|
||||
.on('click', 'a', function(event) {
|
||||
|
||||
var $a = $(this),
|
||||
href = $a.attr('href'),
|
||||
target = $a.attr('target');
|
||||
|
||||
if (!href || href == '#' || href == '' || href == '#' + id)
|
||||
return;
|
||||
|
||||
// Cancel original event.
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
// Hide panel.
|
||||
$this._hide();
|
||||
|
||||
// Redirect to href.
|
||||
window.setTimeout(function() {
|
||||
|
||||
if (target == '_blank')
|
||||
window.open(href);
|
||||
else
|
||||
window.location.href = href;
|
||||
|
||||
}, config.delay + 10);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// Event: Touch stuff.
|
||||
$this.on('touchstart', function(event) {
|
||||
|
||||
$this.touchPosX = event.originalEvent.touches[0].pageX;
|
||||
$this.touchPosY = event.originalEvent.touches[0].pageY;
|
||||
|
||||
})
|
||||
|
||||
$this.on('touchmove', function(event) {
|
||||
|
||||
if ($this.touchPosX === null
|
||||
|| $this.touchPosY === null)
|
||||
return;
|
||||
|
||||
var diffX = $this.touchPosX - event.originalEvent.touches[0].pageX,
|
||||
diffY = $this.touchPosY - event.originalEvent.touches[0].pageY,
|
||||
th = $this.outerHeight(),
|
||||
ts = ($this.get(0).scrollHeight - $this.scrollTop());
|
||||
|
||||
// Hide on swipe?
|
||||
if (config.hideOnSwipe) {
|
||||
|
||||
var result = false,
|
||||
boundary = 20,
|
||||
delta = 50;
|
||||
|
||||
switch (config.side) {
|
||||
|
||||
case 'left':
|
||||
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX > delta);
|
||||
break;
|
||||
|
||||
case 'right':
|
||||
result = (diffY < boundary && diffY > (-1 * boundary)) && (diffX < (-1 * delta));
|
||||
break;
|
||||
|
||||
case 'top':
|
||||
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY > delta);
|
||||
break;
|
||||
|
||||
case 'bottom':
|
||||
result = (diffX < boundary && diffX > (-1 * boundary)) && (diffY < (-1 * delta));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if (result) {
|
||||
|
||||
$this.touchPosX = null;
|
||||
$this.touchPosY = null;
|
||||
$this._hide();
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Prevent vertical scrolling past the top or bottom.
|
||||
if (($this.scrollTop() < 0 && diffY < 0)
|
||||
|| (ts > (th - 2) && ts < (th + 2) && diffY > 0)) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// Event: Prevent certain events inside the panel from bubbling.
|
||||
$this.on('click touchend touchstart touchmove', function(event) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
|
||||
// Event: Hide panel if a child anchor tag pointing to its ID is clicked.
|
||||
$this.on('click', 'a[href="#' + id + '"]', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
config.target.removeClass(config.visibleClass);
|
||||
|
||||
});
|
||||
|
||||
// Body.
|
||||
|
||||
// Event: Hide panel on body click/tap.
|
||||
$body.on('click touchend', function(event) {
|
||||
$this._hide(event);
|
||||
});
|
||||
|
||||
// Event: Toggle.
|
||||
$body.on('click', 'a[href="#' + id + '"]', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
config.target.toggleClass(config.visibleClass);
|
||||
|
||||
});
|
||||
|
||||
// Window.
|
||||
|
||||
// Event: Hide on ESC.
|
||||
if (config.hideOnEscape)
|
||||
$window.on('keydown', function(event) {
|
||||
|
||||
if (event.keyCode == 27)
|
||||
$this._hide(event);
|
||||
|
||||
});
|
||||
|
||||
return $this;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Apply "placeholder" attribute polyfill to one or more forms.
|
||||
* @return {jQuery} jQuery object.
|
||||
*/
|
||||
$.fn.placeholder = function() {
|
||||
|
||||
// Browser natively supports placeholders? Bail.
|
||||
if (typeof (document.createElement('input')).placeholder != 'undefined')
|
||||
return $(this);
|
||||
|
||||
// No elements?
|
||||
if (this.length == 0)
|
||||
return $this;
|
||||
|
||||
// Multiple elements?
|
||||
if (this.length > 1) {
|
||||
|
||||
for (var i=0; i < this.length; i++)
|
||||
$(this[i]).placeholder();
|
||||
|
||||
return $this;
|
||||
|
||||
}
|
||||
|
||||
// Vars.
|
||||
var $this = $(this);
|
||||
|
||||
// Text, TextArea.
|
||||
$this.find('input[type=text],textarea')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.val() == ''
|
||||
|| i.val() == i.attr('placeholder'))
|
||||
i
|
||||
.addClass('polyfill-placeholder')
|
||||
.val(i.attr('placeholder'));
|
||||
|
||||
})
|
||||
.on('blur', function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
return;
|
||||
|
||||
if (i.val() == '')
|
||||
i
|
||||
.addClass('polyfill-placeholder')
|
||||
.val(i.attr('placeholder'));
|
||||
|
||||
})
|
||||
.on('focus', function() {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
return;
|
||||
|
||||
if (i.val() == i.attr('placeholder'))
|
||||
i
|
||||
.removeClass('polyfill-placeholder')
|
||||
.val('');
|
||||
|
||||
});
|
||||
|
||||
// Password.
|
||||
$this.find('input[type=password]')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this);
|
||||
var x = $(
|
||||
$('<div>')
|
||||
.append(i.clone())
|
||||
.remove()
|
||||
.html()
|
||||
.replace(/type="password"/i, 'type="text"')
|
||||
.replace(/type=password/i, 'type=text')
|
||||
);
|
||||
|
||||
if (i.attr('id') != '')
|
||||
x.attr('id', i.attr('id') + '-polyfill-field');
|
||||
|
||||
if (i.attr('name') != '')
|
||||
x.attr('name', i.attr('name') + '-polyfill-field');
|
||||
|
||||
x.addClass('polyfill-placeholder')
|
||||
.val(x.attr('placeholder')).insertAfter(i);
|
||||
|
||||
if (i.val() == '')
|
||||
i.hide();
|
||||
else
|
||||
x.hide();
|
||||
|
||||
i
|
||||
.on('blur', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
var x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
|
||||
|
||||
if (i.val() == '') {
|
||||
|
||||
i.hide();
|
||||
x.show();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
x
|
||||
.on('focus', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
var i = x.parent().find('input[name=' + x.attr('name').replace('-polyfill-field', '') + ']');
|
||||
|
||||
x.hide();
|
||||
|
||||
i
|
||||
.show()
|
||||
.focus();
|
||||
|
||||
})
|
||||
.on('keypress', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
x.val('');
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// Events.
|
||||
$this
|
||||
.on('submit', function() {
|
||||
|
||||
$this.find('input[type=text],input[type=password],textarea')
|
||||
.each(function(event) {
|
||||
|
||||
var i = $(this);
|
||||
|
||||
if (i.attr('name').match(/-polyfill-field$/))
|
||||
i.attr('name', '');
|
||||
|
||||
if (i.val() == i.attr('placeholder')) {
|
||||
|
||||
i.removeClass('polyfill-placeholder');
|
||||
i.val('');
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})
|
||||
.on('reset', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
$this.find('select')
|
||||
.val($('option:first').val());
|
||||
|
||||
$this.find('input,textarea')
|
||||
.each(function() {
|
||||
|
||||
var i = $(this),
|
||||
x;
|
||||
|
||||
i.removeClass('polyfill-placeholder');
|
||||
|
||||
switch (this.type) {
|
||||
|
||||
case 'submit':
|
||||
case 'reset':
|
||||
break;
|
||||
|
||||
case 'password':
|
||||
i.val(i.attr('defaultValue'));
|
||||
|
||||
x = i.parent().find('input[name=' + i.attr('name') + '-polyfill-field]');
|
||||
|
||||
if (i.val() == '') {
|
||||
i.hide();
|
||||
x.show();
|
||||
}
|
||||
else {
|
||||
i.show();
|
||||
x.hide();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'checkbox':
|
||||
case 'radio':
|
||||
i.attr('checked', i.attr('defaultValue'));
|
||||
break;
|
||||
|
||||
case 'text':
|
||||
case 'textarea':
|
||||
i.val(i.attr('defaultValue'));
|
||||
|
||||
if (i.val() == '') {
|
||||
i.addClass('polyfill-placeholder');
|
||||
i.val(i.attr('placeholder'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
i.val(i.attr('defaultValue'));
|
||||
break;
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
return $this;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Moves elements to/from the first positions of their respective parents.
|
||||
* @param {jQuery} $elements Elements (or selector) to move.
|
||||
* @param {bool} condition If true, moves elements to the top. Otherwise, moves elements back to their original locations.
|
||||
*/
|
||||
$.prioritize = function($elements, condition) {
|
||||
|
||||
var key = '__prioritize';
|
||||
|
||||
// Expand $elements if it's not already a jQuery object.
|
||||
if (typeof $elements != 'jQuery')
|
||||
$elements = $($elements);
|
||||
|
||||
// Step through elements.
|
||||
$elements.each(function() {
|
||||
|
||||
var $e = $(this), $p,
|
||||
$parent = $e.parent();
|
||||
|
||||
// No parent? Bail.
|
||||
if ($parent.length == 0)
|
||||
return;
|
||||
|
||||
// Not moved? Move it.
|
||||
if (!$e.data(key)) {
|
||||
|
||||
// Condition is false? Bail.
|
||||
if (!condition)
|
||||
return;
|
||||
|
||||
// Get placeholder (which will serve as our point of reference for when this element needs to move back).
|
||||
$p = $e.prev();
|
||||
|
||||
// Couldn't find anything? Means this element's already at the top, so bail.
|
||||
if ($p.length == 0)
|
||||
return;
|
||||
|
||||
// Move element to top of parent.
|
||||
$e.prependTo($parent);
|
||||
|
||||
// Mark element as moved.
|
||||
$e.data(key, $p);
|
||||
|
||||
}
|
||||
|
||||
// Moved already?
|
||||
else {
|
||||
|
||||
// Condition is true? Bail.
|
||||
if (condition)
|
||||
return;
|
||||
|
||||
$p = $e.data(key);
|
||||
|
||||
// Move element back to its original location (using our placeholder).
|
||||
$e.insertAfter($p);
|
||||
|
||||
// Unmark element as moved.
|
||||
$e.removeData(key);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/cfg/app.php
|
||||
Desc. : Konfigurasi Global Aplikasi
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : November 7th, 2009.
|
||||
Last Modified : January 12th, 2026.
|
||||
|
||||
(c) 2009 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/mysql.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
|
||||
if (($_SESSION['__WEB_APP']['APP_CODE'] ?? "")<>"1909811007") {
|
||||
foreach ($_SESSION as $_key => $_val) {
|
||||
if (substr($_key,0,5)=="__WEB") unset($_SESSION[$_key]);
|
||||
if (substr($_key,0,5)=="__APP") unset($_SESSION[$_key]);
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($_SESSION['__WEB_APP'])) {
|
||||
$real_path = str_replace("\\", "/", __DIR__);
|
||||
$real_path = str_replace("apps/cfg", "", $real_path);
|
||||
$web_path = str_replace($_SERVER['DOCUMENT_ROOT'], "/", $real_path);
|
||||
$web_path = str_replace("//", "/", $web_path);
|
||||
$real_path = str_replace("//", "/", $real_path);
|
||||
|
||||
$apps = [];
|
||||
$apps['APP_CODE'] = "1909811007";
|
||||
$apps['APP_NAME'] = "eForum";
|
||||
$apps['APP_NAMES'] = "Forum / Musyawarah OPD";
|
||||
$apps['APP_VER'] = "2.0";
|
||||
$apps['APP_UPDATED'] = "January 12th, 2026.";
|
||||
$apps['APP_SID'] = md5(time());
|
||||
$apps['APP_LOCALE'] = ["id"=>"Indonesia", "en"=>"English"];
|
||||
$apps['DEF_LOCALE'] = "id";
|
||||
$apps['AUTH_OVER'] = false;
|
||||
$apps['AUTH_LEVEL'] = 1;
|
||||
$apps['USER_LEVEL'] = [0 => "ADMINISTRATOR", 1 => "KABUPATEN / BIDANG", 2 => "KECAMATAN", 3 => "OPD", 5 => "DPRD", 9 => "VIEWER"];
|
||||
$apps['USER_LOG'] = true;
|
||||
$apps['USE_QZTRAY'] = false;
|
||||
$apps['CREATOR_YEAR'] = "2019";
|
||||
$apps['CREATOR_NAME'] = "3FONIA Software";
|
||||
$apps['CREATOR_WEBSITE'] = "http://www.3fonia.com";
|
||||
$apps['WEB_PATH'] = $web_path;
|
||||
$apps['REAL_PATH'] = $real_path;
|
||||
$apps['MODULE_PATH'] = "../";
|
||||
$apps['PARENT_SUB'] = true;
|
||||
$apps['PARENT_CODE'] = "1909811004";
|
||||
$apps['PARENT_SITE'] = "https://sippdkabsambas.com";
|
||||
|
||||
$db->Query("SELECT * FROM app_config WHERE REG_ID='".$apps['APP_CODE']."' LIMIT 1");
|
||||
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
|
||||
if ($apps['APP_BUILD']<>"") $apps['APP_VER'] = $apps['APP_BUILD'];
|
||||
|
||||
$db->Query("SELECT * FROM sippd_config WHERE REG_ID='".$apps['PARENT_CODE']."' LIMIT 1");
|
||||
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
|
||||
$db->Query("SELECT Tahun1,Tahun2,Tahun3,Tahun4,Tahun5,Tahun_Min,Tahun_Max,Ket N_RPJMD FROM vi_para_rpjmd WHERE RPJMDID='".$apps['RENC_RPJMDID']."' LIMIT 1");
|
||||
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
|
||||
if ($apps['Tahun1']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T1";
|
||||
if ($apps['Tahun2']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T2";
|
||||
if ($apps['Tahun3']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T3";
|
||||
if ($apps['Tahun4']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T4";
|
||||
if ($apps['Tahun5']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T5";
|
||||
$_SESSION['__WEB_APP'] = $apps;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/cfg/assets.php
|
||||
Desc. : Konfigurasi Assets Aplikasi [css / js]
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : November 23rd, 2019.
|
||||
Last Modified : January 21st, 2024.
|
||||
|
||||
(c) 2019 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
$A_CSS = ["bootstrap/bootstrap.icon.css", "bootstrap/bootstrap.css"];
|
||||
$A_JS = ["jquery/jquery.js", "jquery/jquery.base64.js", "bootstrap/bootstrap.bundle.js", "fonia3.js"];
|
||||
|
||||
if (!user_logged()) {
|
||||
$A_JS[] = "jquery/jquery.backstretch.js";
|
||||
|
||||
} else {
|
||||
$A_CSS[] = "datatables/dataTables.bootstrap5.css";
|
||||
$A_CSS[] = "datatables/responsive.bootstrap5.css";
|
||||
$A_CSS[] = "datatables/scroller.bootstrap5.css";
|
||||
$A_CSS[] = "datatables/stateRestore.bootstrap5.css";
|
||||
$A_CSS[] = "select2/select2.css";
|
||||
$A_CSS[] = "select2/select2-bootstrap-5-theme.css";
|
||||
$A_CSS[] = "bootstrap/bootstrap.datepicker.css";
|
||||
//$A_CSS[] = "simplebar.css";
|
||||
//$A_CSS[] = "lightbox.css";
|
||||
//$A_CSS[] = "codemirror.css";
|
||||
//$A_CSS[] = "summernote-bs4.css";
|
||||
$A_CSS[] = "default.css";
|
||||
$A_CSS[] = "print.css";
|
||||
|
||||
$A_JS = [
|
||||
"jquery/jquery.js",
|
||||
"jquery/jquery.base64.js",
|
||||
"jquery/jquery.autosize.js",
|
||||
"jquery/jquery.maskedinput.js",
|
||||
"jquery/jquery.validate.js",
|
||||
"bootstrap/bootstrap.bundle.js",
|
||||
"bootstrap/bootstrap.datepicker.js",
|
||||
"bootstrap/bootstrap.autocomplete.js",
|
||||
"datatables/jquery.dataTables.js",
|
||||
"datatables/dataTables.bootstrap5.js",
|
||||
"datatables/dataTables.responsive.js",
|
||||
"datatables/responsive.bootstrap5.js",
|
||||
"datatables/dataTables.scroller.js",
|
||||
"datatables/dataTables.stateRestore.js",
|
||||
"datatables/stateRestore.bootstrap5.js",
|
||||
//"codemirror/codemirror.js",
|
||||
//"codemirror/xml.js",
|
||||
"moment.js",
|
||||
"select2/select2.js",
|
||||
"chart/chart.js",
|
||||
//"chart/chartjs-plugin-datalabels.js",
|
||||
//"simplebar.js",
|
||||
//"lightbox.js",
|
||||
//"summernote-bs4.js",
|
||||
//"html5-qrcode.js",
|
||||
"fonia3.js",
|
||||
"print.js",
|
||||
"pdf.js",
|
||||
"export.js",
|
||||
//"simulator.js",
|
||||
//"pole-display.js"
|
||||
];
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/cfg/mysql.php
|
||||
Desc. : Konfigurasi Server MySQL
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : November 7th, 2009.
|
||||
Last Modified : June 28th, 2020.
|
||||
|
||||
(c) 2009 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
$APP_DATA = [
|
||||
'host' => "127.0.0.1",
|
||||
'port' => "3306",
|
||||
'user' => "sippd_sambas",
|
||||
'pwd' => "s1ppds4mb4s@",
|
||||
'db' => "sippd_sambas",
|
||||
'sock' => ""
|
||||
];
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,46 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/forum/ba_kec.js
|
||||
Desc. : JS - Cetak Berita Acara / Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var FRepoBAKecJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
this.oc_Forum();
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
if ($('#KecID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Kecamatan !');
|
||||
return false;
|
||||
}
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("KecID");
|
||||
dpdf.add_param("ForumID");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.add_param("StatusID");
|
||||
dpdf.showPDF();
|
||||
},
|
||||
|
||||
oc_Forum: function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=option-opd','KecID','ForumID']
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,142 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/bahan_opd.js
|
||||
Desc. : JS - Kelola Bahan Forum OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var FBahanOPDJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butOPD').click(function(){
|
||||
if ($('#OPDID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(2);
|
||||
}.bind(this));
|
||||
$('#butKEL').click(function(){
|
||||
//if ($('#KelID').val()>0)
|
||||
this.show_hide(3);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divOPD').addClass('d-none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEL').addClass('d-none'); $('#butKEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#OPDID').val(0);
|
||||
$('#Nama_OPD').val('');
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 2) {
|
||||
$('#KelID').val(0);
|
||||
$('#Nama_KEL').val('');
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 3) {
|
||||
$('#butKEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divOPD').removeClass('d-none'); this.data_query('tabel-opd'); }
|
||||
if (no == 2) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 3) { $('#divKEL').removeClass('d-none'); this.data_query('tabel-kel'); }
|
||||
if (no == 4) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
opd_select: function(acell){
|
||||
$('#OPDID').val(acell[0]);
|
||||
$('#Nama_OPD').val(acell[2]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[2]);
|
||||
this.show_hide(3);
|
||||
},
|
||||
|
||||
kel_select: function(acell){
|
||||
$('#KelID').val(acell[0]);
|
||||
$('#Nama_KEL').val(acell[2]);
|
||||
this.show_hide(4);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Desa', ajson.html, 'xl', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
$('#formBahanOPD').validate({
|
||||
rules: {
|
||||
required: true,
|
||||
OPDID: {required:true, min:1},
|
||||
Volume: {required:true, double_id:true},
|
||||
SatuanID: {required:true, min:1},
|
||||
Rupiah: {required:true, double_id:true},
|
||||
Prio: {required:false},
|
||||
StatusID: {required:false}
|
||||
}
|
||||
});
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
$('#formBahanOPD').submit();
|
||||
if (true !== $('#formBahanOPD').validate().checkForm()) return false;
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','OPDID','KecID','KelID','UsulanLID','Lokasi','Dusun','RT','Masalah','Usulan','Sasaran','Waktu','Volume','SatuanID','Rupiah','Prio','StatusID'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-opd"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-opd']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec','OPDID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kel','OPDID','KecID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','OPDID','KecID','KelID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,164 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/forum_opd.js
|
||||
Desc. : JS - Forum OPD / Pembahasan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var FForumOPDJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butOPD').click(function(){
|
||||
if ($('#OPDID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(2);
|
||||
}.bind(this));
|
||||
$('#butKEL').click(function(){
|
||||
//if ($('#KelID').val()>0)
|
||||
this.show_hide(3);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divOPD').addClass('d-none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEL').addClass('d-none'); $('#butKEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#OPDID').val(0);
|
||||
$('#Nama_OPD').val('');
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 2) {
|
||||
$('#KelID').val(0);
|
||||
$('#Nama_KEL').val('');
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 3) {
|
||||
$('#butKEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divOPD').removeClass('d-none'); this.data_query('tabel-opd'); }
|
||||
if (no == 2) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 3) { $('#divKEL').removeClass('d-none'); this.data_query('tabel-kel'); }
|
||||
if (no == 4) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
opd_select: function(acell){
|
||||
$('#OPDID').val(acell[0]);
|
||||
$('#Nama_OPD').val(acell[2]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[2]);
|
||||
this.show_hide(3);
|
||||
},
|
||||
|
||||
kel_select: function(acell){
|
||||
$('#KelID').val(acell[0]);
|
||||
$('#Nama_KEL').val(acell[2]);
|
||||
this.show_hide(4);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Desa', ajson.html, 'xl', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','OPDID','KecID','KelID','UsulanLID','StatusID'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_1: function(acell){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=update','OPDID','KecID','KelID','UsulanLID='+acell[0],'StatusID=1'],
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_2: function(acell){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=update','OPDID','KecID','KelID','UsulanLID='+acell[0],'StatusID=2'],
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_3: function(acell){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=update','OPDID','KecID','KelID','UsulanLID='+acell[0],'StatusID=3'],
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_4: function(acell){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=update','OPDID','KecID','KelID','UsulanLID='+acell[0],'StatusID=4'],
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_5: function(acell){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=update','OPDID','KecID','KelID','UsulanLID='+acell[0],'StatusID=5'],
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-opd"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-opd']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec','OPDID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kel','OPDID','KecID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','OPDID','KecID','KelID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,93 @@
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/js/index.js
|
||||
Desc. : JS - Halaman Utama Desktop
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : May 24th, 2010.
|
||||
Last Modified : August 15th, 2019.
|
||||
|
||||
(c) 2010 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
$(document).ready(function(){
|
||||
jQuery("#preloader").remove();
|
||||
loadSidebar();
|
||||
IndexJS.loading();
|
||||
});
|
||||
|
||||
var IndexJS = {
|
||||
|
||||
loading: function(){
|
||||
new Request.JSON({
|
||||
url: FoniaJS.WEB_PATH+'apps/php/index.php',
|
||||
sendParam: ['data=default'],
|
||||
onSuccess: function(ares){
|
||||
$('#pageContent').html(ares.content);
|
||||
$('#pageToolbarTop').html('');
|
||||
$('#pageToolbarBot').html('');
|
||||
this.loadPagu();
|
||||
this.loadChart();
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
loadPagu: function(){
|
||||
new Request.JSON({
|
||||
url: FoniaJS.WEB_PATH+'apps/php/index.php',
|
||||
sendParam: ['data=pagu-info'],
|
||||
onSuccess: function(ares){
|
||||
$('#divHome1').html(ares.html);
|
||||
}
|
||||
}).send();
|
||||
},
|
||||
|
||||
loadChart: function(){
|
||||
new Request.JSON({
|
||||
url: FoniaJS.WEB_PATH+'apps/php/index.php',
|
||||
sendParam: ['data=pagu-chart'],
|
||||
onSuccess: function(data){
|
||||
var ctx = $('#pieChart');
|
||||
var pieOptions = {
|
||||
legend: { display: true, position: 'bottom', labels:{pointStyle:'circle', usePointStyle:true} },
|
||||
aspectRatio: 1.3,
|
||||
cutoutPercentage: 35,
|
||||
responsiveAnimationDuration: 10,
|
||||
responsive: true,
|
||||
maintainAspectRatio: true,
|
||||
onResize: function(mcha, size) {
|
||||
var leg = (size.width <= 330) ? false : true;
|
||||
mcha.options.legend.display = leg;
|
||||
}
|
||||
};
|
||||
var myChart = new Chart(ctx, {
|
||||
type: 'doughnut',
|
||||
data: data,
|
||||
options: pieOptions
|
||||
});
|
||||
}
|
||||
}).send();
|
||||
}
|
||||
};
|
||||
|
||||
function loadSidebar(){
|
||||
const mySidebar = document.getElementById('sidebarMain');
|
||||
mySidebar.addEventListener('shown.bs.modal', () => {
|
||||
document.querySelectorAll('.sidebar .nav-link').forEach((element) => {
|
||||
element.addEventListener('click', (e) => {
|
||||
let nextEl = element.nextElementSibling, parentEl = element.parentElement;
|
||||
if (nextEl){
|
||||
e.preventDefault();
|
||||
let mycollapse = new bootstrap.Collapse(nextEl);
|
||||
if (nextEl.classList.contains('show')){
|
||||
mycollapse.hide();
|
||||
} else {
|
||||
mycollapse.show();
|
||||
var opened_submenu = parentEl.parentElement.querySelector('.submenu.show');
|
||||
if (opened_submenu){ new bootstrap.Collapse(opened_submenu); }
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/js/login.js
|
||||
Desc. : JS - Halaman Proses Login
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : January 15th, 2008.
|
||||
Last Modified : June 28th, 2020.
|
||||
|
||||
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
$(document).ready(function(){
|
||||
$('#butLogin').click(LoginJS.Proses_Login);
|
||||
$('#Username').keydown(function(e){
|
||||
if (e.which==13) $('#Password').focus();
|
||||
});
|
||||
$('#Password').keydown(function(e){
|
||||
if (e.which==13) $('#butLogin').trigger('click');
|
||||
});
|
||||
LoginJS.Tampil_Login();
|
||||
document.oncontextmenu = new Function ('return false');
|
||||
|
||||
if (jQuery.backstretch){
|
||||
jQuery.backstretch([
|
||||
[
|
||||
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/jami_1280.jpg" },
|
||||
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/jami_960.jpg" }
|
||||
],
|
||||
[
|
||||
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/istana_1280.jpg" },
|
||||
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/istana_960.jpg" }
|
||||
],
|
||||
[
|
||||
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/tugu_1280.jpg" },
|
||||
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/tugu_960.jpg" }
|
||||
]
|
||||
], {
|
||||
duration: 6000,
|
||||
transition: 'push_left|push_right|cover_up|cover_down|fade',
|
||||
transitionDuration: 600
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var LoginJS = {
|
||||
|
||||
Tampil_Login: function(){
|
||||
var Username = FoniaJS.getCookie('Username');
|
||||
if (Username != '') {
|
||||
$('#Username').val(Username);
|
||||
FoniaJS.setFocus('#Password');
|
||||
} else {
|
||||
FoniaJS.setFocus('#Username');
|
||||
}
|
||||
},
|
||||
|
||||
Proses_Login: function(){
|
||||
if (!$('#Username').val()){
|
||||
$('#Username').focus();
|
||||
FoniaJS.showError('Silahkan masukkan ID Pengguna !');
|
||||
return false;
|
||||
}
|
||||
if (!$('#Password').val()){
|
||||
$('#Password').focus();
|
||||
FoniaJS.showError('Silahkan masukkan Kata Sandi !');
|
||||
return false;
|
||||
}
|
||||
new Request.JSON({
|
||||
url: FoniaJS.WEB_PATH+'apps/php/login.php',
|
||||
sendParam: ['mode=login','Username','Password'],
|
||||
onSuccess: function(respon){
|
||||
if (respon.hasil == 'SUKSES'){
|
||||
FoniaJS.setCookie('Username', $('#Username').val(), 365);
|
||||
$('#divLoginMsg').html(respon.pesan).removeClass('d-none');
|
||||
$('.input-group').addClass('d-none');
|
||||
setTimeout(function(){self.location = FoniaJS.WEB_PATH+'?auth='+(respon.token??'');}, 1600);
|
||||
}else{
|
||||
FoniaJS.showInfo(respon.pesan, 3000);
|
||||
if (respon.redir) setTimeout(function(){self.location = respon.redir;}, 600);
|
||||
}
|
||||
}
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/bahan_kec.js
|
||||
Desc. : JS - Cetak Bahan Forum untuk Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoBahanKecJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("KecID");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.showPDF();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/bahan_opd.js
|
||||
Desc. : JS - Cetak Bahan Forum untuk OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoBahanOPDJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("KecID");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.showPDF();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,45 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/hasil_forum.js
|
||||
Desc. : JS - Cetak Hasil Forum / Forum
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoHasilForumJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
this.oc_Forum();
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
if ($('#ForumID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Forum !');
|
||||
return false;
|
||||
}
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("ForumID");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.add_param("StatusID");
|
||||
dpdf.showPDF();
|
||||
},
|
||||
|
||||
oc_Forum: function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=option-opd','ForumID']
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/hasil_opd.js
|
||||
Desc. : JS - Cetak Hasil Forum / OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoHasilOPDJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
if ($('#OPDID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Perangkat Daerah !');
|
||||
return false;
|
||||
}
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.add_param("StatusID");
|
||||
dpdf.showPDF();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/hasil_status.js
|
||||
Desc. : JS - Cetak Hasil Forum / Status
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoHasilStatusJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
if ($('#StatusID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Status !');
|
||||
return false;
|
||||
}
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.add_param("StatusID");
|
||||
dpdf.showPDF();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,55 @@
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/js/sys/chpasswd.js
|
||||
Desc. : JS - Perubahan Password Operator
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : December 7th, 2008.
|
||||
Last Modified : April 25th, 2020.
|
||||
|
||||
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var SYSChpasswdJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butSave').click(function(){this.proses_save();}.bind(this));
|
||||
FoniaJS.setFocus('#LPass');
|
||||
},
|
||||
|
||||
proses_save: function(){
|
||||
if ($("#LPass").val()=="") {
|
||||
FoniaJS.showInfo("Silakan masukkan password lama Anda!");
|
||||
FoniaJS.setFocus("#LPass");
|
||||
return false;
|
||||
} else if ($("#BPass1").val()=="") {
|
||||
FoniaJS.showInfo("Silakan masukkan password baru 1 Anda!");
|
||||
FoniaJS.setFocus("#BPass1");
|
||||
return false;
|
||||
} else if ($("#BPass2").val()=="") {
|
||||
FoniaJS.showInfo("Silakan masukkan password baru 2 Anda!");
|
||||
FoniaJS.setFocus("#BPass2");
|
||||
return false;
|
||||
} else if ($("#BPass1").val()!=$("#BPass2").val()) {
|
||||
FoniaJS.showInfo("Password baru 1 dan 2 Anda tidak sama!");
|
||||
FoniaJS.setFocus("#BPass1");
|
||||
return false;
|
||||
}
|
||||
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=chpasswd','LPass','BPass1','BPass2'],
|
||||
onSuccess: function(ajson){
|
||||
if (ajson.status == true) {
|
||||
FoniaJS.showInfo(ajson.msg);
|
||||
FoniaJS.closeWindow('#win'+this.KODE);
|
||||
} else {
|
||||
FoniaJS.showError(ajson.msg);
|
||||
}
|
||||
}.bind(this)
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,159 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/desa2.js
|
||||
Desc. : JS - Input Usulan Desa Susulan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var FUsulDesa2JS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
$('#butKEL').click(function(){
|
||||
if ($('#KelID').val()>0) this.show_hide(2);
|
||||
}.bind(this));
|
||||
$('#butBEL').click(function(){
|
||||
if ($('#BelID').val()>0) this.show_hide(3);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEL').addClass('d-none'); $('#butKEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divBEL').addClass('d-none'); $('#butBEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#Hak_Usulan').val(1);
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#KelID').val(0);
|
||||
$('#Nama_KEL').val('');
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 2) {
|
||||
$('#BelID').val(0);
|
||||
$('#Nama_BEL').val('');
|
||||
$('#butKEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 3) {
|
||||
$('#butBEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 2) { $('#divKEL').removeClass('d-none'); this.data_query('tabel-kel'); }
|
||||
if (no == 3) { $('#divBEL').removeClass('d-none'); this.data_query('tabel-bel'); }
|
||||
if (no == 4) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[3]);
|
||||
$('#Hak_Usulan').val(acell[1]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
kel_select: function(acell){
|
||||
$('#KelID').val(acell[0]);
|
||||
$('#Nama_KEL').val(acell[2]);
|
||||
this.show_hide(3);
|
||||
},
|
||||
|
||||
bel_select: function(acell){
|
||||
$('#BelID').val(acell[0]);
|
||||
$('#Nama_BEL').val(acell[2]);
|
||||
this.show_hide(4);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'Hak_Usulan','UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
|
||||
if ($('#Hak_Usulan').val()==0) tombol.pop();
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Desa', ajson.html, 'xl', tombol, function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
$('#formUsulDesa').validate({
|
||||
rules: {
|
||||
required: true,
|
||||
OPDID: {required:true, min:1},
|
||||
Volume2: {required:true, double_id:true},
|
||||
SatuanID2: {required:true, min:1},
|
||||
Rupiah2: {required:true, double_id:true}
|
||||
}
|
||||
});
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_tambah: function(){
|
||||
this.keg_detail('insert', 0);
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_hapus: function(acell){
|
||||
FoniaJS.showConfirm('Konfirmasi', 'Hapus usulan <b>"'+acell[2]+'"</b> ?', function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=delete','Hak_Usulan','KecID','KelID','BelID','UsulanLID='+acell[0]],
|
||||
onSuccess: function(adata){
|
||||
FoniaJS.showInfo('Proses hapus data sukses!');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
}.bind(this), 'danger');
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
$('#formUsulDesa').submit();
|
||||
if (true !== $('#formUsulDesa').validate().checkForm()) return false;
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','Hak_Usulan','OPDID','KecID','KelID','BelID','UsulanLID','Lokasi2','Dusun2','RT2','Masalah2','Usulan2','Sasaran2','Waktu2','Volume2','SatuanID2','Rupiah2'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kel','KecID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-bel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-bel','KecID','KelID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','Hak_Usulan','KecID','KelID','BelID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,117 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/kec.js
|
||||
Desc. : JS - Usulan Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 13th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var FUsulKecJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#Hak_Usulan').val(1);
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 2) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[3]);
|
||||
$('#Hak_Usulan').val(acell[1]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'Hak_Usulan','KecID','UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
|
||||
if ($('#Hak_Usulan').val()==0) tombol.pop();
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Kecamatan', ajson.html, 'xl', tombol, function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
$('#formUsulKec').validate({
|
||||
rules: {
|
||||
required: true,
|
||||
OPDID: {required:true, min:1},
|
||||
Volume2: {required:true, double_id:true},
|
||||
SatuanID2: {required:true, min:1},
|
||||
Rupiah2: {required:true, double_id:true}
|
||||
}
|
||||
});
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_tambah: function(){
|
||||
this.keg_detail('insert', 0);
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_hapus: function(acell){
|
||||
FoniaJS.showConfirm('Konfirmasi', 'Hapus usulan <b>"'+acell[2]+'"</b> ?', function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=delete','Hak_Usulan','KecID','UsulanLID='+acell[0]],
|
||||
onSuccess: function(adata){
|
||||
FoniaJS.showInfo('Proses hapus data sukses!');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
}.bind(this), 'danger');
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
$('#formUsulKec').submit();
|
||||
if (true !== $('#formUsulKec').validate().checkForm()) return false;
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','Hak_Usulan','OPDID','KecID','KelID','UsulanLID','Lokasi2','Dusun2','RT2','Masalah2','Usulan2','Sasaran2','Waktu2','Volume2','SatuanID2','Rupiah2'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','Hak_Usulan','KecID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,183 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/forum/ba_kec.php
|
||||
Desc. : PHP - Cetak Berita Acara / Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : June 6th, 2024.
|
||||
|
||||
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
ini_set("pcre.backtrack_limit", 100000000);
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/report.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
function centang($urut=0, $nilai=0) {
|
||||
return (($urut==$nilai && $nilai>0) ? "X" : " ");
|
||||
}
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
$id_forum = Param::Get("ForumID", 0);
|
||||
$id_opd = Param::Get("OPDID", 0);
|
||||
$id_status = Param::Get("StatusID", 0);
|
||||
|
||||
if ( $data == "pdf" || $data == "print") {
|
||||
$nama_kec = "Semua Kecamatan";
|
||||
if ($id_kec > 0) {
|
||||
$db->Query("SELECT N_Lokasi FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1");
|
||||
if ($db->Next()) $nama_kec = $db->Row("N_Lokasi");
|
||||
}
|
||||
|
||||
$cat_status = '<br><br><table class="ttd-ba-status"><tbody><tr><td class="judul" colspan="2">Keterangan :</td></tr>';
|
||||
$db->Query("SELECT * FROM para_status WHERE Aktif=1 ORDER BY K_Status");
|
||||
while ($db->Next()) {
|
||||
$cat_status .= sprintf('<tr><td style="width:20px;">%s.</td><td>%s</td></tr>', $db->Row("K_Status"), $db->Row("N_Status"));
|
||||
}
|
||||
$cat_status .= '</tbody></table>';
|
||||
|
||||
$tsql = " Tahun='".$tahun."' AND ((JU<3 AND Prio>0) OR (JU=3))";
|
||||
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
|
||||
$tsql .= ($id_forum==0) ? "" : " AND OPDID IN (SELECT OPDID FROM para90_opd WHERE Aktif=1 AND ForumID='".$id_forum."')";
|
||||
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
|
||||
$tsql .= ($id_status==0) ? "" : " AND StatusID='".$id_status."'";
|
||||
|
||||
// proses rekap database
|
||||
Report_Empty("mus_opd");
|
||||
$db->Query("INSERT INTO rep_mus_opd SELECT T.Tahun,T.KecID,T.OPDID,T.KelID,SUM(T.Rupiah2),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID,T.OPDID");
|
||||
|
||||
$db->Query("SELECT T.*,K.K_Lokasi K_Kec,K.N_Lokasi N_Kec,D.N_Lokasi N_Desa,CONCAT(IF(T.JU=3,'KEC',K.K_Lokasi),'.',T.Kode) Kode_Usul,CONCAT(T.Volume2,' ',S.N_Satuan) Vol_Satuan,O.S_OPD,O.K_OPD,O.N_OPD,F.ForumID ForumID2,F.N_Forum,RO.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN para_lokasi K ON (K.LokasiID=T.KecID AND K.Level=1) LEFT JOIN para_lokasi D ON (D.LokasiID=T.KelID AND D.Level=2) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID2) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN para_forum F ON (F.ForumID=O.ForumID) LEFT JOIN rep_mus_opd RO ON (T.KecID=RO.KecID AND T.OPDID=RO.OPDID AND T.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') ORDER BY K.K_Lokasi,O.ForumID,O.K_OPD,T.JU DESC,T.Kode");
|
||||
}
|
||||
|
||||
if ( $data == "pdf" ) {
|
||||
$html = '<p class="judul">Berita Acara Kesepakatan<br>Forum Perangkat Daerah / Lintas Perangkat Daerah<br>Kabupaten Sambas Tahun '.($tahun-1).'</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eForum - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th style="width:8%;">Kode</th><th style="width:4%;">Prio</th><th style="width:8%;">Desa</th><th>Usulan Kegiatan</th><th style="width:10%;">Volume</th><th style="width:15%;">Lokasi</th><th style="width:11%;">Jumlah</th><th style="width:3%;">1</th><th style="width:3%;">2</th><th style="width:3%;">3</th><th style="width:3%;">4</th><th style="width:3%;">5</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$t_ttd = 'Sambas, '.tgl_panjang().'<br>Wakil Peserta Forum Perangkat Daerah/Lintas Perangkat Daerah Kabupaten Sambas<br><br><table class="ttd-ba"><thead><tr><th>Unsur Perwakilan</th><th>Nama</th><th style="width:20%;">Tanda Tangan</th></tr></thead><tbody><tr><td>Kecamatan</td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td>Bappeda</td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td>Perangkat Daerah</td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr></tbody></table>';
|
||||
|
||||
$_line = '<tr><td class="c">%s</td><td class="c b">%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td><td class="c">%s</td><td class="c">%s</td><td class="c">%s</td><td class="c">%s</td><td class="c">%s</td></tr>';
|
||||
$_sub = '<tr class="%s"><td colspan="3" class="b">%s</td><td colspan="3" class="b">%s</td><td class="r b">%s</td><td colspan="5" class="b"> </td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
$kkec = ""; $kfor = ""; $kopd = ""; $n_kec = "";
|
||||
while ($db->Next()) {
|
||||
$k_kec = $db->Row("K_Kec");
|
||||
$n_kec = $db->Row("N_Kec");
|
||||
if ($kkec == "") {
|
||||
$html .= sprintf($footer, $db->Row("K_Kec"), $n_kec);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_Kec"));
|
||||
}
|
||||
if ($kfor <> $db->Row("ForumID2")) {
|
||||
$body .= sprintf($_sub, "forum", "Forum", $db->Row("N_Forum"), "");//rupiah($db->Row("FORUM_RUPIAH"))
|
||||
$kfor = $db->Row("ForumID2");
|
||||
}
|
||||
if ($kkec <> $db->Row("K_Kec")) {
|
||||
if ($kkec <> "") {
|
||||
$body .= $t_foot;
|
||||
$body .= '<pagebreak orientation="landscape" />';
|
||||
$html .= sprintf($footer, "ttd".$k_kec, "Halaman Tanda Tangan Peserta Forum");
|
||||
$body .= sprintf($_setfoot, "ttd".$k_kec);
|
||||
$body .= $t_ttd . $cat_status;
|
||||
$body .= '<pagebreak orientation="landscape" />';
|
||||
$body .= $t_head;
|
||||
$html .= sprintf($footer, $db->Row("K_Kec"), $n_kec);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_Kec"));
|
||||
$kfor = "";
|
||||
}
|
||||
$body .= sprintf($_sub, "kec", "Kecamatan", $db->Row("N_Kec"), "");//rupiah($db->Row("KEC_RUPIAH"))
|
||||
$kkec = $db->Row("K_Kec");
|
||||
}
|
||||
if ($kopd <> $db->Row("K_OPD")) {
|
||||
$body .= sprintf($_sub, "opd", "Perangkat Daerah", $db->Row("N_OPD"), rupiah($db->Row("OPD_RUPIAH")));
|
||||
$kopd = $db->Row("K_OPD");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("Kode_Usul"), $db->Row("Prio"), $db->Row("N_Desa"), $db->Row("Usulan2"), $db->Row("Vol_Satuan"), $db->Row("Lokasi2"), rupiah($db->Row("Rupiah2")), centang(1,$db->Row("StatusID")), centang(2,$db->Row("StatusID")), centang(3,$db->Row("StatusID")), centang(4,$db->Row("StatusID")), centang(5,$db->Row("StatusID")));
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
if ($kkec <> "") {
|
||||
$body .= '<pagebreak orientation="landscape" />';
|
||||
$html .= sprintf($footer, "ttd".$k_kec, "Halaman Tanda Tangan Peserta Forum");
|
||||
$body .= sprintf($_setfoot, "ttd".$k_kec);
|
||||
$body .= $t_ttd . $cat_status;
|
||||
}
|
||||
|
||||
$mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'c',
|
||||
'format' => 'A4-L',
|
||||
'margin_left' => 8,
|
||||
'margin_right' => 8,
|
||||
'margin_top' => 8,
|
||||
'margin_header' => 5,
|
||||
'margin_footer' => 5
|
||||
]);
|
||||
$mpdf->SetDisplayMode('fullpage');
|
||||
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/forum.css');
|
||||
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
$mpdf->WriteHTML($html . $body, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
|
||||
$mpdf->setTitle("BA Forum ".$nama_kec);
|
||||
$mpdf->Output("BA Forum ".$nama_kec.".pdf", \Mpdf\Output\Destination::INLINE);
|
||||
|
||||
} else if ( $data == "option-opd" ) {
|
||||
$aoption = array('type' => "option", 'id' => "OPDID", 'value' => 0, 'avalue' => array());
|
||||
$db->Query("SELECT * FROM vi_para90_opd WHERE Aktif=1 AND IK=0".($id_forum>0?" AND ForumID='".$id_forum."'":"").($_SESSION['__WEB_USER']['Level']==3?" AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")":""));
|
||||
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"SEMUA OPD");
|
||||
while ($db->Next()) {
|
||||
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("OPDID");
|
||||
$aoption['avalue'][] = array('value'=>$db->Row("OPDID"), 'html'=>$db->Row("Nama_OPD"));
|
||||
}
|
||||
$ajson[] = $aoption;
|
||||
|
||||
} else if ( $data == "default") {
|
||||
$q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID='".$_SESSION['__WEB_USER']['KecID']."'" : " AND Level=1 AND LokasiID>2";
|
||||
|
||||
$form = new Form($db);
|
||||
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
|
||||
$tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", array(0," "));
|
||||
$tforum = $form->option_db("_", "ForumID", 0, true, true, "para_forum", array("ForumID","N_Forum"), "Aktif=1 ORDER BY ForumID", array(0,"SEMUA FORUM"), null, "RepoBAKecJS.oc_Forum()");
|
||||
$topd = $form->option("_", "OPDID", 0, true, true, array(0 => " "));
|
||||
$tstatus = $form->option_db("_", "StatusID", 0, true, true, "vi_para_status", array("StatusID","Nama_Status"), "Aktif=1 ORDER BY K_Status", array(0,"SEMUA STATUS"));
|
||||
|
||||
echo '
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tkec.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="ForumID">Nama Forum</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tforum.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Deerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="StatusID">Nama Status</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tstatus.'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,267 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/usul/bahan_opd.php
|
||||
Desc. : PHP - Kelola Bahan Forum OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/musrenbang.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Table;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$mode = Param::Get("mode");
|
||||
$mode_detail = Param::Get("mode_detail");
|
||||
$efor_enable = true;
|
||||
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
|
||||
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
|
||||
$id_opd = Param::Get("OPDID", 0);
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
$id_kel = Param::Get("KelID", 0);
|
||||
$id_usul = Param::Get("UsulanLID", 0);
|
||||
|
||||
if ( in_array($data, ["tabel-opd","tabel-kec","tabel-kel","tabel-keg"]) ) {
|
||||
$qsql = "Tahun='".$thn_renja."' AND ((JU<3 AND Prio IN (1,2,3,4,5)) OR (JU=3))";
|
||||
$msql = "Aktif=1";
|
||||
|
||||
if ( $data == "tabel-opd" ) {
|
||||
$msql .= ($_SESSION['__WEB_USER']['Level']==3) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")": "";
|
||||
$msql .= " AND IK=0";
|
||||
} else if ( $data == "tabel-kec" ) {
|
||||
$qsql .= " AND OPDID='".$id_opd."'";
|
||||
$qsql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
$msql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$qsql .= " AND OPDID='".$id_opd."' AND KecID='".$id_kec."'";
|
||||
$msql .= " AND Level=2 AND IndukID='".$id_kec."'";
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
$qsql .= " AND OPDID='".$id_opd."' AND KecID='".$id_kec."' AND KelID='".$id_kel."'";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "tabel-opd" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.OPDID OPDID2,M.K_OPD,M.N_OPD FROM (SELECT * FROM para90_opd WHERE ".$msql.") M LEFT JOIN (SELECT OPDID,COUNT(DISTINCT KecID) ITEM_KEC,COUNT(DISTINCT KelID) ITEM_KEL,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY OPDID) K ON (K.OPDID=M.OPDID)");
|
||||
$obj->add_field("OPDID2", "ID", "hid");
|
||||
$obj->add_field("K_OPD", "Kode", "c");
|
||||
$obj->add_field("N_OPD", "Perangkat Daerah", "awr");
|
||||
$obj->add_field("ITEM_KEC", "Kec", "r", "rupiah");
|
||||
$obj->add_field("ITEM_KEL", "Desa", "r", "rupiah");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("K_OPD", "A");
|
||||
//$obj->set_row_color("W_OPD", 1, "rsuccess");
|
||||
$obj->add_row_btn("save", "Kecamatan", "FBahanOPDJS.opd_select");
|
||||
$obj->set_func_navi("FBahanOPDJS.data_query('tabel-opd')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divOPD");
|
||||
|
||||
} else if ( $data == "tabel-kec" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KecID2,M.K_Lokasi,M.N_Lokasi FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KecID,COUNT(DISTINCT KelID) ITEM_KEL,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KecID) K ON (K.KecID=M.LokasiID)");
|
||||
$obj->add_field("KecID2", "ID", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
|
||||
$obj->add_field("ITEM_KEL", "Desa", "r", "rupiah");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "Desa", "FBahanOPDJS.kec_select");
|
||||
$obj->set_func_navi("FBahanOPDJS.data_query('tabel-kec')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEC");
|
||||
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,IFNULL(M.LokasiID,0) KelID2,IFNULL(M.K_Lokasi,'000') K_Lokasi,IFNULL(M.N_Lokasi,'USULAN KECAMATAN') N_Lokasi FROM (SELECT KelID,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KelID) K LEFT JOIN para_lokasi M ON (K.KelID=M.LokasiID)");
|
||||
$obj->add_field("KelID2", "ID", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Desa", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "Usulan", "FBahanOPDJS.kel_select");
|
||||
$obj->set_func_navi("FBahanOPDJS.data_query('tabel-kel')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEL");
|
||||
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
if (in_array($mode_detail, ["update"])) {
|
||||
$sql = new SQL($db);
|
||||
$sql->set_table("mus_usulan_desa");
|
||||
$sql->add_param("Lokasi");
|
||||
$sql->add_param("Dusun");
|
||||
$sql->add_param("RT");
|
||||
$sql->add_param("Masalah");
|
||||
$sql->add_param("Usulan");
|
||||
$sql->add_param("Sasaran");
|
||||
$sql->add_param("Waktu");
|
||||
$sql->add_param("Volume");
|
||||
$sql->add_param("SatuanID");
|
||||
$sql->add_param("Rupiah");
|
||||
$sql->add_param("OPDID");
|
||||
$sql->add_param("Prio");
|
||||
$sql->add_param("StatusID");
|
||||
$sql->add_param_stamp("Update_Stamp");
|
||||
$sql->add_param_userid("Update_UserID");
|
||||
$sql->add_where("RPJMDID", $id_rpjmd);
|
||||
$sql->add_where("Tahun", $thn_renja);
|
||||
$sql->add_where("UsulanLID");
|
||||
$sql->UpdateDB();
|
||||
}
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT R.*,CONCAT(R.Volume,' ',S.N_Satuan) N_Satuan,IF(R.StatusID=0,'',T.S_Status) X_Status FROM (SELECT * FROM mus_usulan_desa WHERE ".$qsql.") R LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID) LEFT JOIN para_status T ON (R.StatusID=T.StatusID)");
|
||||
$obj->set_query_footer("SELECT R.*,CONCAT(R.Item,' Usulan') N_Satuan FROM (SELECT COUNT(*) Item,SUM(Rupiah) Rupiah FROM mus_usulan_desa WHERE ".$qsql.") R");
|
||||
$obj->add_field("UsulanLID", "ID", "hid");
|
||||
$obj->add_field("Kode", "Kode", "c");
|
||||
$obj->add_field("Usulan", "Usulan Kegiatan", "awr");
|
||||
$obj->add_field("Lokasi", "Lokasi", "awr");
|
||||
$obj->add_field("N_Satuan", "Volume", "l");
|
||||
$obj->add_field("Rupiah", "Anggaran", "nwr r", "rupiah", "rupiah");
|
||||
$obj->add_field("Prio", "Prio", "c", "", "", "val-zerolast");
|
||||
$obj->add_field("X_Status", "Status", "l");
|
||||
$obj->set_field_order("Usulan", "A");
|
||||
$obj->set_row_color("StatusID", 1, "rgreen");
|
||||
$obj->set_row_color("StatusID", 2, "ryellow");
|
||||
$obj->set_row_color("StatusID", 3, "rblue");
|
||||
$obj->set_row_color("StatusID", 4, "rpurple");
|
||||
$obj->set_row_color("StatusID", 5, "rred");
|
||||
$obj->add_row_btn("clipboard", "Ubah", "FBahanOPDJS.keg_ubah");
|
||||
$obj->set_func_navi("FBahanOPDJS.data_query('tabel-keg')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEG");
|
||||
|
||||
} else if ( $data == "detail-keg" ) {
|
||||
$enable = ($efor_enable) ? true : false;
|
||||
$adetail = ['UsulanLID'=>0, 'Kode'=>"Usulan Baru"];
|
||||
if ($id_usul > 0) {
|
||||
$db->Query("SELECT * FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' LIMIT 1");
|
||||
if ($db->Next()) $adetail = $db->AllRow();
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$tkode = $form->textbox("_", "Kode", $adetail['Kode'], false, false);
|
||||
$tlokasi = $form->textbox("_", "Lokasi", $adetail['Lokasi'], $enable, true, "text", "lokasi kegiatan");
|
||||
$trt = $form->textbox("_", "RT", $adetail['RT'], $enable, true, "text", "rt dan rw");
|
||||
$tdusun = $form->textbox("_", "Dusun", $adetail['Dusun'], $enable, true, "text", "nama dusun");
|
||||
$tmasa = $form->textarea("_", "Masalah", $adetail['Masalah'], $enable, true, 2, "permasalahan");
|
||||
$tusulan = $form->textarea("_", "Usulan", $adetail['Usulan'], $enable, true, 2, "usulan kegiatan");
|
||||
$tsasa = $form->textbox("_", "Sasaran", $adetail['Sasaran'], $enable, true, "text", "sasaran / manfaat");
|
||||
$twaktu = $form->textbox("_", "Waktu", $adetail['Waktu'], $enable, true, "text", "waktu pelaksanaan");
|
||||
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], $enable, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "IK=0 ORDER BY K_OPD", [0," "]);
|
||||
$tvol = $form->textbox("_", "Volume", $adetail['Volume'], $enable, true, "double", "nilai volume");
|
||||
$tsatu = $form->option_db("_", "SatuanID", $adetail['SatuanID'], $enable, false, "para_satuan", ["SatuanID","N_Satuan"], "Aktif=1 ORDER BY N_Satuan", [0," "]);
|
||||
$trupiah = $form->textbox("_", "Rupiah", $adetail['Rupiah'], $enable, true, "double", "nilai anggaran");
|
||||
$tprio = $form->option("_", "Prio", $adetail['Prio'], $enable, true, MusPrio_Array());
|
||||
$tstatus = $form->option_db("_", "StatusID", $adetail['StatusID'], $enable, false, "para_status", array("StatusID","N_Status"), "Aktif=1 ORDER BY K_Status", array(0," "));
|
||||
|
||||
$ajson['html'] = '<form id="formBahanOPD" novalidate="novalidate">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label">Kode Usulan</label>
|
||||
<div class="col-sm-3 col-lg-3">'.$tkode.'</div>
|
||||
<label class="col-sm-3 col-lg-5 col-form-label text-end" for="Prio">Prioritas</label>
|
||||
<div class="col-sm-2 col-lg-1">'.$tprio.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Lokasi">Lokasi Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tlokasi.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Dusun">Dusun dan RT / RW</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$tdusun.'</div>
|
||||
<div class="col-sm-4 col-lg-4">'.$trt.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Masalah">Permasalahan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tmasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Usulan">Usulan Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tusulan.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Sasaran">Sasaran / Manfaat</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tsasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Waktu">Waktu Pelaksanaan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$twaktu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Daerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Volume">Volume Kegiatan</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$tvol.'</div>
|
||||
<div class="col-sm-4 col-lg-5">'.$tsatu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Rupiah">Perkiraan Anggaran</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="StatusID">Status / Hasil</label>
|
||||
<div class="col">'.$tstatus.'</div>
|
||||
</div></form>
|
||||
<input type="hidden" id="UsulanLID" value="'.$adetail['UsulanLID'].'" />
|
||||
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Bahan Forum OPD - Tahun Perencanaan '.$thn_renja.'</div><div class="card-body">
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_OPD" placeholder="Perangkat Daerah" type="text" readonly>
|
||||
<input id="OPDID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="bi-arrow-left-right"></span></i>OPD</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
|
||||
<input id="KecID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="bi-arrow-left-right"></span></i>Kecamatan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEL" placeholder="Nama Desa" type="text" readonly>
|
||||
<input id="KelID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEL"><span><i class="bi-arrow-left-right"></span></i>Desa</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="divOPD"> </div>
|
||||
<div id="divKEC"> </div>
|
||||
<div id="divKEL"> </div>
|
||||
<div id="divKEG"> </div>
|
||||
</div></div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,257 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/usul/forum_opd.php
|
||||
Desc. : PHP - Forum OPD / Pembahasan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/musrenbang.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Table;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$mode = Param::Get("mode");
|
||||
$mode_detail = Param::Get("mode_detail");
|
||||
$efor_enable = true;
|
||||
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
|
||||
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
|
||||
$id_opd = Param::Get("OPDID", 0);
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
$id_kel = Param::Get("KelID", 0);
|
||||
$id_usul = Param::Get("UsulanLID", 0);
|
||||
|
||||
if ( in_array($data, ["tabel-opd","tabel-kec","tabel-kel","tabel-keg"]) ) {
|
||||
$qsql = "Tahun='".$thn_renja."' AND ((JU<3 AND Prio IN (1,2,3,4,5)) OR (JU=3))";
|
||||
$msql = "Aktif=1";
|
||||
|
||||
if ( $data == "tabel-opd" ) {
|
||||
$msql .= ($_SESSION['__WEB_USER']['Level']==3) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")": "";
|
||||
$msql .= " AND IK=0";
|
||||
} else if ( $data == "tabel-kec" ) {
|
||||
$qsql .= " AND OPDID='".$id_opd."'";
|
||||
$qsql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
$msql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$qsql .= " AND OPDID='".$id_opd."' AND KecID='".$id_kec."'";
|
||||
$msql .= " AND Level=2 AND IndukID='".$id_kec."'";
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
$qsql .= " AND OPDID='".$id_opd."' AND KecID='".$id_kec."' AND KelID='".$id_kel."'";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "tabel-opd" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.OPDID OPDID2,M.K_OPD,M.N_OPD,IF(K.ITEM_KEG=K.ITEM_UDAH,1,0) WD FROM (SELECT * FROM para90_opd WHERE ".$msql.") M LEFT JOIN (SELECT OPDID,COUNT(DISTINCT KecID) ITEM_KEC,COUNT(DISTINCT KelID) ITEM_KEL,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH,SUM(IF(StatusID>0,1,0)) ITEM_UDAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY OPDID) K ON (K.OPDID=M.OPDID)");
|
||||
$obj->add_field("OPDID2", "ID", "hid");
|
||||
$obj->add_field("K_OPD", "Kode", "c");
|
||||
$obj->add_field("N_OPD", "Perangkat Daerah", "awr");
|
||||
$obj->add_field("ITEM_KEC", "Kec", "r", "rupiah");
|
||||
$obj->add_field("ITEM_KEL", "Desa", "r", "rupiah");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("ITEM_UDAH", "Dibahas", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("K_OPD", "A");
|
||||
$obj->set_row_color("WD", 1, "rsuccess");
|
||||
$obj->add_row_btn("save", "Kecamatan", "FForumOPDJS.opd_select");
|
||||
$obj->set_func_navi("FForumOPDJS.data_query('tabel-opd')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divOPD");
|
||||
|
||||
} else if ( $data == "tabel-kec" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KecID2,M.K_Lokasi,M.N_Lokasi,IF(K.ITEM_KEG=K.ITEM_UDAH,1,0) WD FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KecID,COUNT(DISTINCT KelID) ITEM_KEL,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH,SUM(IF(StatusID>0,1,0)) ITEM_UDAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KecID) K ON (K.KecID=M.LokasiID)");
|
||||
$obj->add_field("KecID2", "ID", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
|
||||
$obj->add_field("ITEM_KEL", "Desa", "r", "rupiah");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("ITEM_UDAH", "Dibahas", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->set_row_color("WD", 1, "rsuccess");
|
||||
$obj->add_row_btn("save", "Desa", "FForumOPDJS.kec_select");
|
||||
$obj->set_func_navi("FForumOPDJS.data_query('tabel-kec')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEC");
|
||||
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,IFNULL(M.LokasiID,0) KelID2,IFNULL(M.K_Lokasi,'000') K_Lokasi,IFNULL(M.N_Lokasi,'USULAN KECAMATAN') N_Lokasi,IF(K.ITEM_KEG=K.ITEM_UDAH,1,0) WD FROM (SELECT KelID,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH,SUM(IF(StatusID>0,1,0)) ITEM_UDAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KelID) K LEFT JOIN para_lokasi M ON (K.KelID=M.LokasiID)");
|
||||
$obj->add_field("KelID2", "ID", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Desa", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("ITEM_UDAH", "Dibahas", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->set_row_color("WD", 1, "rsuccess");
|
||||
$obj->add_row_btn("save", "Usulan", "FForumOPDJS.kel_select");
|
||||
$obj->set_func_navi("FForumOPDJS.data_query('tabel-kel')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEL");
|
||||
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
if (in_array($mode_detail, ["update"])) {
|
||||
$db->Query("UPDATE mus_usulan_desa SET StatusID='".Param::Get("StatusID",0)."' WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."'");
|
||||
}
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT R.*,CONCAT(R.Volume,' ',S.N_Satuan) N_Satuan,IF(R.StatusID=0,'',T.S_Status) X_Status FROM (SELECT * FROM mus_usulan_desa WHERE ".$qsql.") R LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID) LEFT JOIN para_status T ON (R.StatusID=T.StatusID)");
|
||||
$obj->set_query_footer("SELECT R.*,CONCAT(R.Item,' Usulan') N_Satuan FROM (SELECT COUNT(*) Item,SUM(Rupiah) Rupiah FROM mus_usulan_desa WHERE ".$qsql.") R");
|
||||
$obj->add_field("UsulanLID", "ID", "hid");
|
||||
$obj->add_field("Kode", "Kode", "c");
|
||||
$obj->add_field("Usulan", "Usulan Kegiatan", "awr");
|
||||
$obj->add_field("Lokasi", "Lokasi", "awr");
|
||||
$obj->add_field("N_Satuan", "Volume", "l");
|
||||
$obj->add_field("Rupiah", "Anggaran", "nwr r", "rupiah", "rupiah");
|
||||
$obj->add_field("Prio", "Prio", "c", "", "", "val-zerolast");
|
||||
$obj->add_field("X_Status", "Status", "l");
|
||||
$obj->set_field_order("Usulan", "A");
|
||||
$obj->set_row_color("StatusID", 1, "rgreen");
|
||||
$obj->set_row_color("StatusID", 2, "ryellow");
|
||||
$obj->set_row_color("StatusID", 3, "rblue");
|
||||
$obj->set_row_color("StatusID", 4, "rpurple");
|
||||
$obj->set_row_color("StatusID", 5, "rred");
|
||||
$obj->add_row_btn("clipboard", "Detail", "FForumOPDJS.keg_ubah");
|
||||
$obj->add_row_btn("check-all", "Setuju", "FForumOPDJS.keg_1");
|
||||
$obj->add_row_btn("check", "APBD P", "FForumOPDJS.keg_2");
|
||||
$obj->add_row_btn("arrow-up-circle", "APBN", "FForumOPDJS.keg_3");
|
||||
$obj->add_row_btn("arrow-down-circle", "Tangguh", "FForumOPDJS.keg_4");
|
||||
$obj->add_row_btn("x-lg", "Tolak", "FForumOPDJS.keg_5");
|
||||
$obj->set_func_navi("FForumOPDJS.data_query('tabel-keg')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEG");
|
||||
|
||||
} else if ( $data == "detail-keg" ) {
|
||||
$enable = false;
|
||||
$adetail = ['UsulanLID'=>0, 'Kode'=>"Usulan Baru"];
|
||||
if ($id_usul > 0) {
|
||||
$db->Query("SELECT * FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' LIMIT 1");
|
||||
if ($db->Next()) $adetail = $db->AllRow();
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$tkode = $form->textbox("_", "Kode", $adetail['Kode'], false, false);
|
||||
$tlokasi = $form->textbox("_", "Lokasi", $adetail['Lokasi'], $enable, true, "text", "lokasi kegiatan");
|
||||
$trt = $form->textbox("_", "RT", $adetail['RT'], $enable, true, "text", "rt dan rw");
|
||||
$tdusun = $form->textbox("_", "Dusun", $adetail['Dusun'], $enable, true, "text", "nama dusun");
|
||||
$tmasa = $form->textarea("_", "Masalah", $adetail['Masalah'], $enable, true, 2, "permasalahan");
|
||||
$tusulan = $form->textarea("_", "Usulan", $adetail['Usulan'], $enable, true, 2, "usulan kegiatan");
|
||||
$tsasa = $form->textbox("_", "Sasaran", $adetail['Sasaran'], $enable, true, "text", "sasaran / manfaat");
|
||||
$twaktu = $form->textbox("_", "Waktu", $adetail['Waktu'], $enable, true, "text", "waktu pelaksanaan");
|
||||
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], $enable, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "IK=0 ORDER BY K_OPD", [0," "]);
|
||||
$tvol = $form->textbox("_", "Volume", $adetail['Volume'], $enable, true, "double", "nilai volume");
|
||||
$tsatu = $form->option_db("_", "SatuanID", $adetail['SatuanID'], $enable, false, "para_satuan", ["SatuanID","N_Satuan"], "Aktif=1 ORDER BY N_Satuan", [0," "]);
|
||||
$trupiah = $form->textbox("_", "Rupiah", $adetail['Rupiah'], $enable, true, "double", "nilai anggaran");
|
||||
$tprio = $form->option("_", "Prio", $adetail['Prio'], $enable, true, MusPrio_Array());
|
||||
$tstatus = $form->option_db("_", "StatusID", $adetail['StatusID'], true, false, "para_status", array("StatusID","N_Status"), "Aktif=1 ORDER BY K_Status", array(0," "));
|
||||
|
||||
$ajson['html'] = '<form id="formBahanOPD" novalidate="novalidate">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label">Kode Usulan</label>
|
||||
<div class="col-sm-3 col-lg-3">'.$tkode.'</div>
|
||||
<label class="col-sm-3 col-lg-5 col-form-label text-end" for="Prio">Prioritas</label>
|
||||
<div class="col-sm-2 col-lg-1">'.$tprio.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Lokasi">Lokasi Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tlokasi.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Dusun">Dusun dan RT / RW</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$tdusun.'</div>
|
||||
<div class="col-sm-4 col-lg-4">'.$trt.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Masalah">Permasalahan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tmasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Usulan">Usulan Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tusulan.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Sasaran">Sasaran / Manfaat</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tsasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Waktu">Waktu Pelaksanaan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$twaktu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Daerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Volume">Volume Kegiatan</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$tvol.'</div>
|
||||
<div class="col-sm-4 col-lg-5">'.$tsatu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Rupiah">Perkiraan Anggaran</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="StatusID">Status / Hasil</label>
|
||||
<div class="col">'.$tstatus.'</div>
|
||||
</div></form>
|
||||
<input type="hidden" id="UsulanLID" value="'.$adetail['UsulanLID'].'" />
|
||||
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Forum OPD - Tahun Perencanaan '.$thn_renja.'</div><div class="card-body">
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_OPD" placeholder="Perangkat Daerah" type="text" readonly>
|
||||
<input id="OPDID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="bi-arrow-left-right"></span></i>OPD</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
|
||||
<input id="KecID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="bi-arrow-left-right"></span></i>Kecamatan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEL" placeholder="Nama Desa" type="text" readonly>
|
||||
<input id="KelID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEL"><span><i class="bi-arrow-left-right"></span></i>Desa</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="divOPD"> </div>
|
||||
<div id="divKEC"> </div>
|
||||
<div id="divKEL"> </div>
|
||||
<div id="divKEG"> </div>
|
||||
</div></div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/func/musrenbang.php
|
||||
Desc. : PHP - Fungsi Musrenbang
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : May 15th, 2012.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2012 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
|
||||
$fdb = (is_resource($fdb)) ? $fdb : new MySQL();
|
||||
|
||||
function ID_Usulan_Desa($id_rpjmd = 0, $tahun = 0) {
|
||||
global $fdb;
|
||||
$ino = 1;
|
||||
$fdb->Query("SELECT MAX(UsulanLID)+1 Nomor FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$tahun."'");
|
||||
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 1);
|
||||
return $ino;
|
||||
}
|
||||
|
||||
function Kode_Usulan_Desa($tahun = 0, $id_desa = 0) {
|
||||
global $fdb;
|
||||
$k_desa = "000";
|
||||
if ($id_desa > 0) {
|
||||
$fdb->Query("SELECT K_Lokasi FROM para_lokasi WHERE LokasiID='".$id_desa."' LIMIT 1");
|
||||
if ($fdb->Next()) $k_desa = $fdb->Row("K_Lokasi");
|
||||
}
|
||||
$tno = $k_desa . "-"; $ino = 0;
|
||||
$fdb->Query("SELECT MAX(RIGHT(Kode,3)) Nomor FROM mus_usulan_desa WHERE Tahun='".$tahun."' AND LEFT(Kode,".strlen($tno).")='".$tno."'");
|
||||
if ($fdb->Next()) $ino = (int)$fdb->Row("Nomor", 0);
|
||||
$tno .= isi_nol($ino+1, 3);
|
||||
return $tno;
|
||||
}
|
||||
|
||||
function Kode_Usulan_Kec($tahun = 0, $id_kec = 0) {
|
||||
global $fdb;
|
||||
$k_kec = "00";
|
||||
if ($id_kec > 0) {
|
||||
$fdb->Query("SELECT RIGHT(K_Lokasi,2) Kode FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1");
|
||||
if ($fdb->Next()) $k_kec = $fdb->Row("Kode");
|
||||
}
|
||||
$tno = $k_kec . "-"; $ino = 0;
|
||||
$fdb->Query("SELECT MAX(RIGHT(Kode,3)) Nomor FROM mus_usulan_desa WHERE Tahun='".$tahun."' AND KecID='".$id_kec."' AND JU=3");
|
||||
if ($fdb->Next()) $ino = (int)$fdb->Row("Nomor", 0);
|
||||
$tno .= isi_nol($ino+1, 3);
|
||||
return $tno;
|
||||
}
|
||||
|
||||
function MUSPrio($iprio=0) {
|
||||
$hasil = '<select class="form-select form-select-sm" onchange="MUsulPrioJS.oc_Prio(this);" required=true aria-label="Pilihan Prioritas" >';
|
||||
for ($o=0; $o<=5; $o++) {
|
||||
$hasil .= '<option value="'.$o.'"'.($o==$iprio?' selected="selected"':'').'>'.$o.'</option>';
|
||||
}
|
||||
$hasil .= '</select>';
|
||||
return $hasil;
|
||||
}
|
||||
|
||||
function MusPrio_Array() {
|
||||
return [0=>"0", 1=>"1", 2=>"2", 3=>"3", 4=>"4", 5=>"5"];
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/func/report.php
|
||||
Desc. : PHP - Fungsi Report
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : May 15th, 2012.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2012 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
|
||||
$fdb = (is_resource($fdb)) ? $fdb : new MySQL();
|
||||
|
||||
function Report_Empty($ltabel = "") {
|
||||
global $fdb;
|
||||
if ($ltabel == "") return false;
|
||||
$fdb->Query("DELETE FROM rep_".$ltabel." WHERE (Unix='".user_unix()."' OR Unix<'".(user_unix()-604800)."') AND UserID='".user_id()."'");
|
||||
}
|
||||
|
||||
function Report_Header($tlapor="", $tperiod="") {
|
||||
$thasil = '<div style="text-align:center;font-size:12pt;"><b>'.strtoupper($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$thasil .= (($tlapor=="") ? "" : '<br>'.$tlapor) . '</b>';
|
||||
$thasil .= ($tperiod=="") ? "" : '<br><span style="font-size:11pt;">'.$tperiod.'</span>';
|
||||
$thasil .= '</div><br>';
|
||||
echo $thasil;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/index.php
|
||||
Desc. : PHP - Halaman Utama Desktop
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : May 24th, 2010.
|
||||
Last Modified : August 30th, 2020.
|
||||
|
||||
(c) 2010 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../vendor/autoload.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
use siaupheng\fonia3\Web\Register;
|
||||
|
||||
$db = $db ?? new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
|
||||
if ( $data == "pagu-info" || $data == "pagu-chart" ) {
|
||||
if ($_SESSION['__WEB_USER']['Level']==2) {
|
||||
$tot_pagu = 0;
|
||||
$db->Query("SELECT SUM(Rupiah2) Pagu FROM mus_usulan_desa WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].") AND ((JU<3 AND Prio IN (1,2,3,4,5)) OR (JU=3))");
|
||||
if ($db->Next()) $tot_pagu = $db->Row("Pagu");
|
||||
$db->Query("SELECT L.K_Lokasi K_Kec,L.N_Lokasi N_Kec,U.Pagu FROM (SELECT KelID,SUM(Rupiah2) Pagu FROM mus_usulan_desa WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].") AND ((JU<3 AND Prio IN (1,2,3,4,5)) OR (JU=3)) GROUP BY KelID) U LEFT JOIN para_lokasi L ON (L.LokasiID=U.KelID) ORDER BY L.K_Lokasi");
|
||||
} else {
|
||||
$tot_pagu = 0;
|
||||
$db->Query("SELECT SUM(Rupiah2) Pagu FROM mus_usulan_desa WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' AND ((JU<3 AND Prio IN (1,2,3,4,5)) OR (JU=3))");
|
||||
if ($db->Next()) $tot_pagu = $db->Row("Pagu");
|
||||
$db->Query("SELECT L.K_Lokasi K_Kec,L.N_Lokasi N_Kec,U.Pagu FROM (SELECT KecID,SUM(Rupiah2) Pagu FROM mus_usulan_desa WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' AND ((JU<3 AND Prio IN (1,2,3,4,5)) OR (JU=3)) GROUP BY KecID) U LEFT JOIN para_lokasi L ON (L.LokasiID=U.KecID) ORDER BY L.K_Lokasi");
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "pagu-info" ) {
|
||||
$pagu_info = '<h4 class="text-end">Rekapitulasi Usulan Forum OPD '.$_SESSION['__WEB_APP']['RENC_THN'].'</h4>';
|
||||
$pagu_info .= '<table class="table table-striped">';
|
||||
$pagu_info .= '<thead><tr role="row"><th>'.($_SESSION['__WEB_USER']['Level']==7?"Indikator":($_SESSION['__WEB_USER']['Level']==2?"Kelurahan / Desa":"Kecamatan")).'</th><th>Total Anggaran</th></tr></thead><tbody>';
|
||||
while ($db->Next()){
|
||||
$pagu_info .= sprintf('<tr role="row"><td class="left">%s</td><td class="right">%s</td></tr>', $db->Row("N_Kec"), rupiah2($db->Row("Pagu")));
|
||||
}
|
||||
$pagu_info .= '</tbody></table>';
|
||||
$ajson['html'] = $pagu_info;
|
||||
|
||||
} else if ( $data == "pagu-chart" ) {
|
||||
$ajson['datasets'] = array();
|
||||
$ajson['labels'] = array();
|
||||
$atmp = array(); $acol = array();
|
||||
$atmp[] = 100;
|
||||
$col_r = mt_rand( 0, 255 );
|
||||
$col_g = mt_rand( 0, 255 );
|
||||
$col_b = mt_rand( 0, 255 );
|
||||
$acol[] = "rgb(".$col_r.",".$col_g.",".$col_b.")";
|
||||
$ajson['labels'][] = "Belum Ada Usulan";
|
||||
if ($db->RecordCount()>0) {
|
||||
$atmp = array();
|
||||
$acol = array();
|
||||
$ajson['labels'] = array();
|
||||
}
|
||||
while ($db->Next()){
|
||||
$atmp[] = round($db->Row("Pagu") / $tot_pagu * 100, 2);
|
||||
$col_r = mt_rand( 0, 255 );
|
||||
$col_g = mt_rand( 0, 255 );
|
||||
$col_b = mt_rand( 0, 255 );
|
||||
$acol[] = "rgb(".$col_r.",".$col_g.",".$col_b.")";
|
||||
$ajson['labels'][] = $db->Row("N_Kec");
|
||||
}
|
||||
$ajson['datasets'][] = array('data'=>$atmp, 'backgroundColor'=>$acol);
|
||||
|
||||
} else if ( $data == "default" ) {
|
||||
$aapp = $_SESSION['__WEB_APP'];
|
||||
$ajson['content'] = '
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-6 d-flex align-items-stretch">
|
||||
<div class="card w-100 h-100"><div class="card-body d-flex flex-column" id="divHome1">
|
||||
<div class="my-auto text-center"><img class="img-fluid" src="'.$aapp['WEB_PATH'].'assets/images/logo300.png" title="'.$aapp['REG_NAME'].'" style="width:25%">
|
||||
<p class="mt-2">'.$aapp['REG_ADDRESS'].'<br>
|
||||
'.$aapp['REG_CITY'].' '.$aapp['REG_POSTCODE'].'</p>
|
||||
<p class="mt-3 mb-3"><i>Register ID : '.Register::reg_id().'</i></p>
|
||||
<p>'.$aapp['APP_NAMES'].'<br>'.$aapp['APP_NAME'].' Ver. '.$aapp['APP_VER'].'<br>
|
||||
Updated : '.$aapp['APP_UPDATED'].'</p></div>
|
||||
</div></div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 d-flex align-items-stretch">
|
||||
<div class="card w-100 h-100"><div class="card-body d-flex flex-column" id="divHome2">
|
||||
<div class="chart-wrapper pb-2">
|
||||
<canvas id="pieChart"></canvas>
|
||||
</div>
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/login.php
|
||||
Desc. : PHP - Halaman Proses Login
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : January 5th, 2008.
|
||||
Last Modified : June 28th, 2020.
|
||||
|
||||
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../vendor/autoload.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\Web\Auth;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
|
||||
$db = $db ?? new MySQL();
|
||||
$auth = new Auth($db);
|
||||
$ajson = [];
|
||||
$mode = Param::Get("mode");
|
||||
$aapp = $_SESSION['__WEB_APP'];
|
||||
|
||||
if ($mode == "login") {
|
||||
$auser = [];
|
||||
$auth->set_id_reg($aapp['PARENT_CODE']);
|
||||
if ($auth->user_check(Param::Get("Username"), Param::Get("Password"))) {
|
||||
$auser = $auth->user_data(Param::Get("Username"));
|
||||
|
||||
$_appurl = $_GET['redir'];
|
||||
if (!empty($_appurl)) {
|
||||
$_redir = $auth->redirect($_appurl);
|
||||
//jika kosong, tampilkan pesan redirect tidak diijinkan
|
||||
//jika berisi, js harus redirect ...
|
||||
}
|
||||
|
||||
$ajson['token'] = $_SESSION['APP_TOKEN'];
|
||||
$ajson['hasil'] = "SUKSES";
|
||||
$ajson['pesan'] = '<div class="border border-success p-2 pt-3"><h5>Login berhasil,</h5><p><b>'.$auser["Username"].'</b> / '.$auser["Nama"].'<br>'.$auser["Posisi"].'<br><i>login terakhir :</i><br>'.tgl_sql2str($auser["Last_Date"],true).'<br>'.$auser["Last_IP"].'</p></div>';
|
||||
} else {
|
||||
$ajson['hasil'] = "ERROR";
|
||||
$ajson['pesan'] = "Periksa kembali ID Pengguna atau Password Anda ...";
|
||||
}
|
||||
|
||||
} else if ($mode == "logout") {
|
||||
$auth->logout();
|
||||
foreach ($_SESSION as $_key => $_val) {
|
||||
if (substr($_key,0,5)=="__WEB") unset($_SESSION[$_key]);
|
||||
if (substr($_key,0,5)=="__APP") unset($_SESSION[$_key]);
|
||||
}
|
||||
require(__DIR__."/../cfg/app.php");
|
||||
$nhost = ($_SERVER['SERVER_ADDR'] == "127.0.0.1") ? $_SESSION['__WEB_APP']['WEB_PATH']."../" : $_SESSION['__WEB_APP']['PARENT_SITE'];
|
||||
$ajson['nexthost'] = $nhost;
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,134 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/repo/bahan_kec.php
|
||||
Desc. : PHP - Cetak Bahan Forum untuk Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : June 6th, 2024.
|
||||
|
||||
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
ini_set("pcre.backtrack_limit", 100000000);
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/report.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
|
||||
$id_opd = Param::Get("OPDID", 0);
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
|
||||
if ( $data == "pdf" || $data == "print") {
|
||||
$nama_kec = "Semua Kecamatan";
|
||||
if ($id_kec > 0) {
|
||||
$db->Query("SELECT * FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1");
|
||||
if ($db->Next()) $nama_kec = $db->Row("N_Lokasi");
|
||||
}
|
||||
|
||||
$tsql = " Tahun='".$tahun."' AND ((JU<3 AND Prio IN (1,2,3,4,5)) OR (JU=3))";
|
||||
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
|
||||
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
|
||||
|
||||
// proses rekap database
|
||||
Report_Empty("mus_kec");
|
||||
Report_Empty("mus_opd");
|
||||
$db->Query("INSERT INTO rep_mus_kec SELECT T.Tahun,T.KecID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID");
|
||||
$db->Query("INSERT INTO rep_mus_opd SELECT T.Tahun,T.KecID,T.OPDID,T.KelID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID,T.OPDID");
|
||||
|
||||
$db->Query("SELECT T.*,IFNULL(D.K_Kec,'000') K_Kec,IFNULL(D.N_Kec,'USULAN KECAMATAN') N_Kec,IFNULL(D.N_Kec,'') N_Kec2,D.N_Desa,CONCAT(D.K_Kec,'.',T.Kode) Kode_Usul,CONCAT(T.Volume,' ',S.N_Satuan) Vol_Satuan,O.S_OPD,O.K_OPD,O.N_OPD,RC.*,RO.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN vi_para_desa D ON (D.DesaID=T.KelID) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN rep_mus_kec RC ON (T.KecID=RC.KecID AND T.Tahun=RC.Tahun AND RC.UserID='".user_id()."' AND RC.Unix='".user_unix()."') LEFT JOIN rep_mus_opd RO ON (T.KecID=RO.KecID AND T.OPDID=RO.OPDID AND T.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') ORDER BY D.K_Kec,O.K_OPD,T.Prio,T.Kode");
|
||||
}
|
||||
|
||||
if ( $data == "pdf" ) {
|
||||
$html = '<p class="judul">Daftar Usulan Pembangunan Berdasarkan Kecamatan Untuk Pembahasan Renja '.($tahun-1).'<br>Di Dalam Forum PD/LPD Tahun '.($tahun).'</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eForum - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th>No. Prio</th><th>Usulan Kegiatan</th><th>Kode Rincian</th><th>Volume</th><th>Lokasi</th><th>Jumlah</th><th colspan="2">Lokasi (Desa/Kec)</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>Ket</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$_line = '<tr><td class="v">%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td>%s</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>';
|
||||
$_sub = '<tr class="%s"><td colspan="5" class="b">%s</td><td class="r b">%s</td><td colspan="8" class="b"> </td></tr>';
|
||||
$_judul = '<tr><td> </td><td colspan="13" class="b" style="font-size:12pt;">%s</td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
$kkec = ""; $kopd = ""; $kprio = ""; $n_opd = "";
|
||||
while ($db->Next()) {
|
||||
$n_opd = $db->Row("N_OPD");
|
||||
if ($kopd == "") {
|
||||
$html .= sprintf($footer, $db->Row("K_OPD"), $n_opd);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_OPD"));
|
||||
}
|
||||
if ($kkec <> $db->Row("K_Kec")) {
|
||||
$body .= sprintf($_sub, "kec", $db->Row("N_Kec"), rupiah($db->Row("KEC_RUPIAH")));
|
||||
$kkec = $db->Row("K_Kec");
|
||||
}
|
||||
if ($kopd <> $db->Row("K_OPD")) {
|
||||
$body .= sprintf($_sub, "opd", $n_opd, rupiah($db->Row("OPD_RUPIAH")));
|
||||
if ($kopd <> "") {
|
||||
$html .= sprintf($footer, $db->Row("K_OPD"), $n_opd);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_OPD"));
|
||||
}
|
||||
$kopd = $db->Row("K_OPD");
|
||||
}
|
||||
if ($kprio <> $db->Row("Prio")) {
|
||||
$body .= sprintf($_judul, $db->Row("Prio"));
|
||||
$kprio = $db->Row("Prio");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("Prio"), $db->Row("Usulan"), $db->Row("Kode_Usul"), $db->Row("Vol_Satuan"), $db->Row("Lokasi"), rupiah($db->Row("Rupiah")), $db->Row("N_Desa"), $db->Row("N_Kec2"));
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
|
||||
$mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'c',
|
||||
'format' => 'A4-L',
|
||||
'margin_left' => 8,
|
||||
'margin_right' => 8,
|
||||
'margin_top' => 8,
|
||||
'margin_header' => 5,
|
||||
'margin_footer' => 5
|
||||
]);
|
||||
$mpdf->SetDisplayMode('fullpage');
|
||||
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/forum.css');
|
||||
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
$mpdf->WriteHTML($html . $body, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
|
||||
$mpdf->setTitle("Bahan Kecamatan ".$nama_kec);
|
||||
$mpdf->Output("Bahan Kecamatan ".$nama_kec.".pdf", \Mpdf\Output\Destination::INLINE);
|
||||
|
||||
} else if ( $data == "default") {
|
||||
$q_opd = ($_SESSION['__WEB_USER']['Level']==3) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
|
||||
$q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
||||
|
||||
$form = new Form($db);
|
||||
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
|
||||
$tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", ($_SESSION['__WEB_USER']['Level']==2?"":array(0,"SEMUA KECAMATAN")));
|
||||
$topd = $form->option_db("_", "OPDID", 0, true, true, "vi_para90_opd", array("OPDID","Nama_OPD"), "Aktif=1 AND IK=0".$q_opd." ORDER BY K_OPD", ($_SESSION['__WEB_USER']['Level']==3?null:array(0,"SEMUA OPD")));
|
||||
|
||||
echo '
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Deerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tkec.'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,128 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/repo/bahan_opd.php
|
||||
Desc. : PHP - Cetak Bahan Forum untuk OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : June 6th, 2024.
|
||||
|
||||
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
ini_set("pcre.backtrack_limit", 100000000);
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/report.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
|
||||
$id_opd = Param::Get("OPDID", 0);
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
|
||||
if ( $data == "pdf" || $data == "print") {
|
||||
$nama_opd = "Semua OPD";
|
||||
if ($id_opd > 0) {
|
||||
$db->Query("SELECT N_OPD FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1");
|
||||
if ($db->Next()) $nama_opd = $db->Row("N_OPD");
|
||||
}
|
||||
|
||||
$tsql = " Tahun='".$tahun."' AND ((JU<3 AND Prio IN (1,2,3,4,5)) OR (JU=3))";
|
||||
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
|
||||
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
|
||||
|
||||
// proses rekap database
|
||||
Report_Empty("mus_opd");
|
||||
$db->Query("INSERT INTO rep_mus_opd SELECT T.Tahun,T.KecID,T.OPDID,T.KelID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.OPDID");
|
||||
|
||||
$db->Query("SELECT T.*,D.N_Kec,D.N_Desa,CONCAT(D.K_Kec,'.',T.Kode) Kode_Usul,CONCAT(T.Volume,' ',S.N_Satuan) Vol_Satuan,O.S_OPD,O.K_OPD,O.N_OPD,RO.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN vi_para_desa D ON (D.DesaID=T.KelID) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN rep_mus_opd RO ON (T.OPDID=RO.OPDID AND T.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') ORDER BY O.K_OPD,T.Prio,D.K_Kec,T.Kode");
|
||||
}
|
||||
|
||||
if ( $data == "pdf" ) {
|
||||
$html = '<p class="judul">Daftar Usulan Pembangunan Berdasarkan OPD Untuk Pembahasan Renja '.($tahun-1).'<br>Di Dalam Forum PD/LPD Tahun '.($tahun).'</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eForum - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th>No. Prio</th><th>Usulan Kegiatan</th><th>Kode Rincian</th><th>Volume</th><th>Lokasi</th><th>Jumlah</th><th colspan="2">Lokasi (Desa/Kec)</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>Ket</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$_line = '<tr><td class="c">%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td>%s</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>';
|
||||
$_sub = '<tr class="%s"><td colspan="5" class="b">%s</td><td class="r b">%s</td><td colspan="8" class="b"> </td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
$kopd = ""; $n_opd = "";
|
||||
while ($db->Next()) {
|
||||
$n_opd = $db->Row("N_OPD");
|
||||
if ($kopd == "") {
|
||||
$html .= sprintf($footer, $db->Row("K_OPD"), $n_opd);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_OPD"));
|
||||
}
|
||||
if ($kopd <> $db->Row("K_OPD")) {
|
||||
if ($kopd <> "") {
|
||||
$body .= $t_foot;
|
||||
$body .= '<pagebreak orientation="landscape" />';
|
||||
$body .= $t_head;
|
||||
}
|
||||
$body .= sprintf($_sub, "opd", $n_opd, rupiah($db->Row("OPD_RUPIAH")));
|
||||
if ($kopd <> "") {
|
||||
$html .= sprintf($footer, $db->Row("K_OPD"), $n_opd);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_OPD"));
|
||||
}
|
||||
$kopd = $db->Row("K_OPD");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("Prio"), $db->Row("Usulan"), $db->Row("Kode_Usul"), $db->Row("Vol_Satuan"), $db->Row("Lokasi"), rupiah($db->Row("Rupiah")), $db->Row("N_Desa"), $db->Row("N_Kec"));
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
|
||||
$mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'c',
|
||||
'format' => 'A4-L',
|
||||
'margin_left' => 8,
|
||||
'margin_right' => 8,
|
||||
'margin_top' => 8,
|
||||
'margin_header' => 5,
|
||||
'margin_footer' => 5
|
||||
]);
|
||||
$mpdf->SetDisplayMode('fullpage');
|
||||
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/forum.css');
|
||||
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
$mpdf->WriteHTML($html . $body, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
|
||||
$mpdf->setTitle("Bahan OPD ".$nama_opd);
|
||||
$mpdf->Output("Bahan OPD ".$nama_opd.".pdf", \Mpdf\Output\Destination::INLINE);
|
||||
|
||||
} else if ( $data == "default") {
|
||||
$q_opd = ($_SESSION['__WEB_USER']['Level']==3) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
|
||||
$q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
||||
|
||||
$form = new Form($db);
|
||||
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
|
||||
$tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", ($_SESSION['__WEB_USER']['Level']==2?"":array(0,"SEMUA KECAMATAN")));
|
||||
$topd = $form->option_db("_", "OPDID", 0, true, true, "vi_para90_opd", array("OPDID","Nama_OPD"), "Aktif=1 AND IK=0".$q_opd." ORDER BY K_OPD", ($_SESSION['__WEB_USER']['Level']==3?null:array(0,"SEMUA OPD")));
|
||||
|
||||
echo '
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tkec.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Deerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,169 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/repo/hasil_forum.php
|
||||
Desc. : PHP - Cetak Hasil Forum / Forum
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : June 6th, 2024.
|
||||
|
||||
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
ini_set("pcre.backtrack_limit", 100000000);
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/report.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
|
||||
$id_forum = Param::Get("ForumID", 0);
|
||||
$id_opd = Param::Get("OPDID", 0);
|
||||
$id_status = Param::Get("StatusID", 0);
|
||||
|
||||
if ( $data == "pdf" || $data == "print") {
|
||||
$nama_forum = "Semua Forum";
|
||||
if ($id_forum > 0) {
|
||||
$db->Query("SELECT N_Forum FROM para_forum WHERE ForumID='".$id_forum."' LIMIT 1");
|
||||
if ($db->Next()) $nama_forum = $db->Row("N_Forum");
|
||||
}
|
||||
|
||||
$cat_status = '<br><br><table class="ttd-ba-status"><tbody><tr><td class="judul" colspan="2">Keterangan :</td></tr>';
|
||||
$db->Query("SELECT * FROM para_status WHERE Aktif=1 ORDER BY K_Status");
|
||||
while ($db->Next()) {
|
||||
$cat_status .= sprintf('<tr><td style="width:20px;">%s.</td><td>%s</td></tr>', $db->Row("K_Status"), $db->Row("N_Status"));
|
||||
}
|
||||
$cat_status .= '</tbody></table>';
|
||||
|
||||
$tsql = " Tahun='".$tahun."'";
|
||||
$tsql .= ($id_forum==0) ? "" : " AND OPDID IN (SELECT OPDID FROM para90_opd WHERE Aktif=1 AND ForumID='".$id_forum."')";
|
||||
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
|
||||
$tsql .= ($id_status==0) ? " AND StatusID>0" : " AND StatusID='".$id_status."'";
|
||||
|
||||
// proses rekap database
|
||||
Report_Empty("mus_opd");
|
||||
$db->Query("INSERT INTO rep_mus_opd SELECT T.Tahun,T.KecID,T.OPDID,T.KelID,SUM(T.Rupiah2),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.OPDID");
|
||||
|
||||
$db->Query("SELECT T.*,K.K_Lokasi K_Kec,K.N_Lokasi N_Kec,D.N_Lokasi N_Desa,CONCAT(IF(T.JU=3,'KEC',K.K_Lokasi),'.',T.Kode) Kode_Usul,CONCAT(T.Volume2,' ',S.N_Satuan) Vol_Satuan,O.S_OPD,O.K_OPD,O.N_OPD,F.ForumID,F.N_Forum,A.K_Status,A.S_Status,RO.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN para_lokasi K ON (K.LokasiID=T.KecID AND K.Level=1) LEFT JOIN para_lokasi D ON (D.LokasiID=T.KelID AND D.Level=2) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID2) LEFT JOIN para_status A ON (A.StatusID=T.StatusID) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN para_forum F ON (F.ForumID=O.ForumID) LEFT JOIN rep_mus_opd RO ON (T.OPDID=RO.OPDID AND T.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') ORDER BY O.ForumID,O.K_OPD,T.Prio,T.JU DESC,T.Kode");
|
||||
}
|
||||
|
||||
if ( $data == "pdf" ) {
|
||||
$html = '<p class="judul">Hasil Pembahasan Usulan Kegiatan Pembangunan<br>Pada Forum OPD Untuk Penyusunan Renja '.($tahun).'</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eForum - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th>No. Prio</th><th>Usulan Kegiatan</th><th>Kode Rincian</th><th>Volume</th><th>Lokasi</th><th>Jumlah</th><th colspan="2">Lokasi (Desa/Kec)</th><th colspan="2">Keterangan</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$t_ttd = 'Sambas, '.tgl_panjang().'<br><br><table class="ttd"><thead><tr><th>Nama</th><th>OPD</th><th style="width:20%;">Paraf</th></tr></thead><tbody><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr><tr><td> </td><td> </td><td> </td></tr></tbody></table>';
|
||||
|
||||
$_line = '<tr><td class="c">%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td>%s</td><td style="width:2%%;">%s</td><td>%s</td></tr>';
|
||||
$_sub = '<tr class="%s"><td colspan="5" class="b">%s</td><td class="r b">%s</td><td colspan="4" class="b"> </td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
$kfor = ""; $kopd = ""; $n_opd = "";
|
||||
while ($db->Next()) {
|
||||
$n_opd = $db->Row("N_OPD");
|
||||
if ($kopd == "") {
|
||||
$html .= sprintf($footer, $db->Row("K_OPD"), $n_opd);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_OPD"));
|
||||
}
|
||||
if ($kfor <> $db->Row("ForumID")) {
|
||||
if ($kfor <> "") {
|
||||
$body .= $t_foot;
|
||||
$body .= '<pagebreak orientation="landscape" />';
|
||||
$html .= sprintf($footer, "ttd", "Halaman Tanda Tangan OPD");
|
||||
$body .= sprintf($_setfoot, "ttd");
|
||||
$body .= $t_ttd . $cat_status;
|
||||
$body .= '<pagebreak orientation="landscape" />';
|
||||
$body .= $t_head;
|
||||
}
|
||||
$body .= sprintf($_sub, "forum", $db->Row("N_Forum"), " ");
|
||||
$kfor = $db->Row("ForumID");
|
||||
}
|
||||
if ($kopd <> $db->Row("K_OPD")) {
|
||||
if ($kopd <> "") {
|
||||
$body .= $t_foot;
|
||||
$body .= '<pagebreak orientation="landscape" />';
|
||||
$body .= $t_head;
|
||||
$html .= sprintf($footer, $db->Row("K_OPD"), $n_opd);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_OPD"));
|
||||
}
|
||||
$body .= sprintf($_sub, "opd", $db->Row("N_OPD"), rupiah($db->Row("OPD_RUPIAH")));
|
||||
$kopd = $db->Row("K_OPD");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("Prio"), $db->Row("Usulan2"), $db->Row("Kode_Usul"), $db->Row("Vol_Satuan"), $db->Row("Lokasi2"), rupiah($db->Row("Rupiah2")), $db->Row("N_Desa"), $db->Row("N_Kec"), $db->Row("K_Status"), ($db->Row("S_Status")==""?" ":$db->Row("S_Status")));
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
if ($kfor <> "") {
|
||||
$body .= '<pagebreak orientation="landscape" />';
|
||||
$html .= sprintf($footer, "ttd", "Halaman Tanda Tangan OPD");
|
||||
$body .= sprintf($_setfoot, "ttd");
|
||||
$body .= $t_ttd . $cat_status;
|
||||
}
|
||||
|
||||
$mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'c',
|
||||
'format' => 'A4-L',
|
||||
'margin_left' => 8,
|
||||
'margin_right' => 8,
|
||||
'margin_top' => 8,
|
||||
'margin_header' => 5,
|
||||
'margin_footer' => 5
|
||||
]);
|
||||
$mpdf->SetDisplayMode('fullpage');
|
||||
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/forum.css');
|
||||
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
$mpdf->WriteHTML($html . $body, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
|
||||
$mpdf->setTitle("Hasil Forum ".$nama_forum);
|
||||
$mpdf->Output("Hasil Forum ".$nama_forum.".pdf", \Mpdf\Output\Destination::INLINE);
|
||||
|
||||
} else if ( $data == "option-opd" ) {
|
||||
$aoption = array('type' => "option", 'id' => "OPDID", 'value' => 0, 'avalue' => array());
|
||||
$db->Query("SELECT * FROM vi_para90_opd WHERE Aktif=1 AND ForumID='".$id_forum."'".($_SESSION['__WEB_USER']['Level']==3?" AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")":""));
|
||||
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"");
|
||||
while ($db->Next()) {
|
||||
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("OPDID");
|
||||
$aoption['avalue'][] = array('value'=>$db->Row("OPDID"), 'html'=>$db->Row("Nama_OPD"));
|
||||
}
|
||||
$ajson[] = $aoption;
|
||||
|
||||
} else if ( $data == "default") {
|
||||
$form = new Form($db);
|
||||
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
|
||||
$tforum = $form->option_db("_", "ForumID", 0, true, true, "para_forum", array("ForumID","N_Forum"), "Aktif=1 ORDER BY ForumID", array(0," "), null, "RepoHasilForumJS.oc_Forum()");
|
||||
$topd = $form->option("_", "OPDID", 0, true, true, array(0 => " "));
|
||||
$tstatus = $form->option_db("_", "StatusID", 0, true, true, "vi_para_status", array("StatusID","Nama_Status"), "Aktif=1 ORDER BY K_Status", array(0,"SEMUA STATUS"));
|
||||
|
||||
echo '
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="ForumID">Nama Forum</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tforum.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Deerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="StatusID">Nama Status</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tstatus.'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,132 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/repo/hasil_opd.php
|
||||
Desc. : PHP - Cetak Hasil Forum / OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : June 6th, 2024.
|
||||
|
||||
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
ini_set("pcre.backtrack_limit", 100000000);
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/report.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
|
||||
$id_opd = Param::Get("OPDID", 0);
|
||||
$id_status = Param::Get("StatusID", 0);
|
||||
|
||||
if ( $data == "pdf" || $data == "print") {
|
||||
$nama_opd = "Semua OPD";
|
||||
if ($id_opd > 0) {
|
||||
$db->Query("SELECT N_OPD FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1");
|
||||
if ($db->Next()) $nama_opd = $db->Row("N_OPD");
|
||||
}
|
||||
|
||||
$tsql = " Tahun='".$tahun."'";
|
||||
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
|
||||
$tsql .= ($id_status==0) ? " AND StatusID>0" : " AND StatusID='".$id_status."'";
|
||||
|
||||
// proses rekap database
|
||||
Report_Empty("mus_opd");
|
||||
Report_Empty("mus_stat");
|
||||
$db->Query("INSERT INTO rep_mus_opd SELECT T.Tahun,T.KecID,T.OPDID,T.KelID,SUM(T.Rupiah2),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.OPDID");
|
||||
$db->Query("INSERT INTO rep_mus_stat SELECT T.Tahun,T.KecID,T.OPDID,T.StatusID,SUM(T.Rupiah2),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.OPDID,T.StatusID");
|
||||
|
||||
$db->Query("SELECT T.*,K.K_Lokasi K_Kec,K.N_Lokasi N_Kec,D.N_Lokasi N_Desa,CONCAT(IF(T.JU=3,'KEC',K.K_Lokasi),'.',T.Kode) Kode_Usul,CONCAT(T.Volume2,' ',S.N_Satuan) Vol_Satuan,O.S_OPD,O.K_OPD,O.N_OPD,A.K_Status,A.S_Status,A.N_Status,RO.*,RS.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN para_lokasi K ON (K.LokasiID=T.KecID AND K.Level=1) LEFT JOIN para_lokasi D ON (D.LokasiID=T.KelID AND D.Level=2) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID2) LEFT JOIN para_status A ON (A.StatusID=T.StatusID) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN rep_mus_opd RO ON (T.OPDID=RO.OPDID AND T.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') LEFT JOIN rep_mus_stat RS ON (T.OPDID=RS.OPDID AND T.StatusID=RS.StatusID AND T.Tahun=RS.Tahun AND RS.UserID='".user_id()."' AND RS.Unix='".user_unix()."') ORDER BY O.K_OPD,A.K_Status,T.Prio,T.JU DESC,T.Kode");
|
||||
}
|
||||
|
||||
if ( $data == "pdf" ) {
|
||||
$html = '<p class="judul">Hasil Pembahasan Usulan Kegiatan Pembangunan<br>Pada Forum OPD Untuk Penyusunan Renja '.($tahun).'</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eForum - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th>No. Prio</th><th>Usulan Kegiatan</th><th>Kode Rincian</th><th>Volume</th><th>Lokasi</th><th>Jumlah</th><th colspan="2">Lokasi (Desa/Kec)</th><th colspan="2">Keterangan</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$_line = '<tr><td class="c">%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>';
|
||||
$_sub = '<tr class="%s"><td colspan="5" class="b">%s</td><td class="r b">%s</td><td colspan="4" class="b"> </td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
$kopd = ""; $kstat = ""; $n_opd = "";
|
||||
while ($db->Next()) {
|
||||
$n_opd = $db->Row("N_OPD");
|
||||
if ($kopd == "") {
|
||||
$html .= sprintf($footer, $db->Row("K_OPD"), $n_opd);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_OPD"));
|
||||
}
|
||||
if ($kopd <> $db->Row("K_OPD")) {
|
||||
if ($kopd <> "") {
|
||||
$body .= $t_foot;
|
||||
$body .= '<pagebreak orientation="landscape" />';
|
||||
$body .= $t_head;
|
||||
$html .= sprintf($footer, $db->Row("K_OPD"), $n_opd);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_OPD"));
|
||||
}
|
||||
$body .= sprintf($_sub, "opd", $db->Row("N_OPD"), rupiah($db->Row("OPD_RUPIAH")));
|
||||
$kopd = $db->Row("K_OPD");
|
||||
}
|
||||
if ($kstat <> $db->Row("K_Status")) {
|
||||
$body .= sprintf($_sub, "forum", $db->Row("N_Status"), rupiah($db->Row("STAT_RUPIAH")));
|
||||
$kstat = $db->Row("K_Status");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("Prio"), $db->Row("Usulan2"), $db->Row("Kode_Usul"), $db->Row("Vol_Satuan"), $db->Row("Lokasi2"), rupiah($db->Row("Rupiah2")), $db->Row("N_Desa"), $db->Row("N_Kec"), $db->Row("K_Status"), ($db->Row("S_Status")==""?" ":$db->Row("S_Status")));
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
|
||||
$mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'c',
|
||||
'format' => 'A4-L',
|
||||
'margin_left' => 8,
|
||||
'margin_right' => 8,
|
||||
'margin_top' => 8,
|
||||
'margin_header' => 5,
|
||||
'margin_footer' => 5
|
||||
]);
|
||||
$mpdf->SetDisplayMode('fullpage');
|
||||
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/forum.css');
|
||||
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
$mpdf->WriteHTML($html . $body, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
|
||||
$mpdf->setTitle("Hasil OPD ".$nama_opd);
|
||||
$mpdf->Output("Hasil OPD ".$nama_opd.".pdf", \Mpdf\Output\Destination::INLINE);
|
||||
|
||||
} else if ( $data == "default") {
|
||||
$q_opd = ($_SESSION['__WEB_USER']['Level']==3) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
|
||||
|
||||
$form = new Form($db);
|
||||
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
|
||||
$topd = $form->option_db("_", "OPDID", 0, true, true, "vi_para90_opd", array("OPDID","Nama_OPD"), "Aktif=1 AND IK=0".$q_opd." ORDER BY K_OPD", array(0," "));
|
||||
$tstatus = $form->option_db("_", "StatusID", 0, true, true, "vi_para_status", array("StatusID","Nama_Status"), "Aktif=1 ORDER BY K_Status", array(0,"SEMUA STATUS"));
|
||||
|
||||
echo '
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Deerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="StatusID">Nama Status</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tstatus.'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,133 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/repo/hasil_status.php
|
||||
Desc. : PHP - Cetak Hasil Forum / Status
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : June 6th, 2024.
|
||||
|
||||
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
ini_set("pcre.backtrack_limit", 100000000);
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/report.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
|
||||
$id_opd = Param::Get("OPDID", 0);
|
||||
$id_status = Param::Get("StatusID", 0);
|
||||
|
||||
if ( $data == "pdf" || $data == "print") {
|
||||
$nama_status = "Semua Status";
|
||||
if ($id_status > 0) {
|
||||
$db->Query("SELECT N_Status FROM para_status WHERE StatusID='".$id_status."' LIMIT 1");
|
||||
if ($db->Next()) $nama_status = $db->Row("N_Status");
|
||||
}
|
||||
|
||||
$tsql = " Tahun='".$tahun."'";
|
||||
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
|
||||
$tsql .= ($id_status==0) ? " AND StatusID>0" : " AND StatusID='".$id_status."'";
|
||||
|
||||
// proses rekap database
|
||||
Report_Empty("mus_stat");
|
||||
Report_Empty("mus_opd");
|
||||
$db->Query("INSERT INTO rep_mus_stat SELECT T.Tahun,T.KecID,T.OPDID,T.StatusID,SUM(T.Rupiah2),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.StatusID");
|
||||
$db->Query("INSERT INTO rep_mus_opd SELECT T.Tahun,T.StatusID,T.OPDID,T.KelID,SUM(T.Rupiah2),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.StatusID,T.OPDID");
|
||||
|
||||
$db->Query("SELECT T.*,K.K_Lokasi K_Kec,K.N_Lokasi N_Kec,D.N_Lokasi N_Desa,CONCAT(IF(T.JU=3,'KEC',K.K_Lokasi),'.',T.Kode) Kode_Usul,CONCAT(T.Volume2,' ',S.N_Satuan) Vol_Satuan,O.S_OPD,O.K_OPD,O.N_OPD,A.K_Status,A.S_Status,A.N_Status,RO.*,RS.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN para_lokasi K ON (K.LokasiID=T.KecID AND K.Level=1) LEFT JOIN para_lokasi D ON (D.LokasiID=T.KelID AND D.Level=2) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID2) LEFT JOIN para_status A ON (A.StatusID=T.StatusID) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN rep_mus_opd RO ON (T.StatusID=RO.KecID AND T.OPDID=RO.OPDID AND T.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') LEFT JOIN rep_mus_stat RS ON (T.StatusID=RS.StatusID AND T.Tahun=RS.Tahun AND RS.UserID='".user_id()."' AND RS.Unix='".user_unix()."') ORDER BY A.K_Status,O.K_OPD,T.Prio,T.JU DESC,T.Kode");
|
||||
}
|
||||
|
||||
if ( $data == "pdf" ) {
|
||||
$html = '<p class="judul">Hasil Pembahasan Usulan Kegiatan Pembangunan<br>Pada Forum OPD Untuk Penyusunan Renja '.($tahun).'</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eForum - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th>No. Prio</th><th>Usulan Kegiatan</th><th>Kode Rincian</th><th>Volume</th><th>Lokasi</th><th>Jumlah</th><th colspan="2">Lokasi (Desa/Kec)</th><th colspan="2">Keterangan</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$_line = '<tr><td class="c">%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td>%s</td><td style="width:2%%;">%s</td><td>%s</td></tr>';
|
||||
$_sub = '<tr class="%s"><td colspan="5" class="b">%s</td><td class="r b">%s</td><td colspan="4" class="b"> </td></tr>';
|
||||
$_sub_stat = '<tr class="%s"><td class="c b bg-blue">%s</td><td colspan="4" class="b">%s</td><td class="r b">%s</td><td colspan="4" class="b"> </td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
$kstat = ""; $kopd = ""; $n_stat = "";
|
||||
while ($db->Next()) {
|
||||
$n_stat = $db->Row("N_Status");
|
||||
if ($kstat == "") {
|
||||
$html .= sprintf($footer, $db->Row("K_Status"), $n_stat);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_Status"));
|
||||
}
|
||||
if ($kstat <> $db->Row("K_Status")) {
|
||||
if ($kstat <> "") {
|
||||
$body .= $t_foot;
|
||||
$body .= '<pagebreak orientation="landscape" />';
|
||||
$body .= $t_head;
|
||||
$html .= sprintf($footer, $db->Row("K_Status"), $n_stat);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_Status"));
|
||||
}
|
||||
$body .= sprintf($_sub_stat, "forum", $db->Row("K_Status"), $db->Row("N_Status"), rupiah($db->Row("STAT_RUPIAH")));
|
||||
$kstat = $db->Row("K_Status");
|
||||
}
|
||||
if ($kopd <> $db->Row("K_OPD")) {
|
||||
$body .= sprintf($_sub, "opd", $db->Row("N_OPD"), rupiah($db->Row("OPD_RUPIAH")));
|
||||
$kopd = $db->Row("K_OPD");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("Prio"), $db->Row("Usulan2"), $db->Row("Kode_Usul"), $db->Row("Vol_Satuan"), $db->Row("Lokasi2"), rupiah($db->Row("Rupiah2")), $db->Row("N_Desa"), $db->Row("N_Kec"), $db->Row("K_Status"), ($db->Row("S_Status")==""?" ":$db->Row("S_Status")));
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
|
||||
$mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'c',
|
||||
'format' => 'A4-L',
|
||||
'margin_left' => 8,
|
||||
'margin_right' => 8,
|
||||
'margin_top' => 8,
|
||||
'margin_header' => 5,
|
||||
'margin_footer' => 5
|
||||
]);
|
||||
$mpdf->SetDisplayMode('fullpage');
|
||||
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/forum.css');
|
||||
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
$mpdf->WriteHTML($html . $body, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
|
||||
$mpdf->setTitle("Hasil Status ".$nama_status);
|
||||
$mpdf->Output("Hasil Status ".$nama_status.".pdf", \Mpdf\Output\Destination::INLINE);
|
||||
|
||||
} else if ( $data == "default") {
|
||||
$q_opd = ($_SESSION['__WEB_USER']['Level']==3) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
|
||||
|
||||
$form = new Form($db);
|
||||
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
|
||||
$topd = $form->option_db("_", "OPDID", 0, true, true, "vi_para90_opd", array("OPDID","Nama_OPD"), "Aktif=1 AND IK=0".$q_opd." ORDER BY K_OPD", ($_SESSION['__WEB_USER']['Level']==3?null:array(0,"SEMUA OPD")));
|
||||
$tstatus = $form->option_db("_", "StatusID", 0, true, true, "vi_para_status", array("StatusID","Nama_Status"), "Aktif=1 ORDER BY K_Status", array(0," "));
|
||||
|
||||
echo '
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="StatusID">Nama Status</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tstatus.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Deerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/sys/chpasswd.php
|
||||
Desc. : PHP - Perubahan Password Operator
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : December 7th, 2008.
|
||||
Last Modified : April 25th, 2020.
|
||||
|
||||
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Auth;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = $db ?? new MySQL();
|
||||
$auth = new Auth($db);
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
|
||||
if ( $data == "default") {
|
||||
$form = new Form($db);
|
||||
$form->password("Password Lama", "LPass", $l_pass, true, true, "masukkan password lama", 20);
|
||||
$form->password("Password Baru 1", "BPass1", $b_pass1, true, true, "masukkan password baru 1", 20);
|
||||
$form->password("Password Baru 2", "BPass2", $b_pass2, true, true, "masukkan password baru 2", 20);
|
||||
$form->show(' _LPass_ _BPass1_ _BPass2_ ');
|
||||
|
||||
} else if ( $data == "chpasswd") {
|
||||
$l_pass = Param::Get("LPass");
|
||||
$b_pass1 = Param::Get("BPass1");
|
||||
$b_pass2 = Param::Get("BPass2");
|
||||
|
||||
$ajson['status'] = false;
|
||||
if ($auth->user_check(user_user(), $l_pass)) {
|
||||
$db->Query("UPDATE app_operator SET Password=MD5('".$b_pass1."') WHERE UserID='".user_id()."'");
|
||||
$ajson['status'] = true;
|
||||
$ajson['msg'] = "Sukses merubah password Anda!";
|
||||
} else {
|
||||
$ajson['msg'] = "Password lama Anda salah!";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,289 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/usul/desa2.php
|
||||
Desc. : PHP - Input Usulan Desa Susulan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/musrenbang.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Table;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$mode = Param::Get("mode");
|
||||
$mode_detail = Param::Get("mode_detail");
|
||||
$efor_enable = 1; //Param::Get("Hak_Usulan", 0);
|
||||
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
|
||||
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
$id_kel = Param::Get("KelID", 0);
|
||||
$id_bel = Param::Get("BelID", 0);
|
||||
$id_usul = Param::Get("UsulanLID", 0);
|
||||
|
||||
if ( in_array($data, ["tabel-kec","tabel-kel","tabel-bel","tabel-keg"]) ) {
|
||||
$qsql = "Tahun='".$thn_renja."' AND JU < 3";
|
||||
$msql = "Aktif=1";
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$qsql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
$msql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."'";
|
||||
$msql .= " AND Level=2 AND IndukID='".$id_kec."'";
|
||||
} else if ( $data == "tabel-bel" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."'";
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."' AND BelID='".$id_bel."'";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$f_usul = (in_array($_SESSION['__WEB_USER']['Level'],[0])) ? 1: 0;
|
||||
if (in_array($_SESSION['__WEB_USER']['Level'],[2,7])) {
|
||||
$f_usul = "IFNULL(H.Hak_Usulan,1)";
|
||||
}
|
||||
$qakses = "Tahun='".$thn_renja."'";
|
||||
$qakses .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KecID2,M.K_Lokasi,M.N_Lokasi,".$f_usul." Hak_Usulan FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KecID,COUNT(DISTINCT KelID) ITEM_KEL,COUNT(*) ITEM_KEG,SUM(Rupiah2) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KecID) K ON (K.KecID=M.LokasiID) LEFT JOIN (SELECT KecID,Hak_Usulan FROM sippd_akses_mus WHERE ".$qakses." ORDER BY KecID) H ON (H.KecID=M.LokasiID)");
|
||||
$obj->add_field("KecID2", "ID", "hid");
|
||||
$obj->add_field("Hak_Usulan", "Akses", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
|
||||
$obj->add_field("ITEM_KEL", "Desa", "r", "rupiah");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "Desa", "FUsulDesa2JS.kec_select");
|
||||
$obj->set_func_navi("FUsulDesa2JS.data_query('tabel-kec')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEC");
|
||||
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KelID2,M.K_Lokasi,M.N_Lokasi FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KelID,COUNT(*) ITEM_KEG,SUM(Rupiah2) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KelID) K ON (K.KelID=M.LokasiID)");
|
||||
$obj->add_field("KelID2", "ID", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Desa", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "Belanja", "FUsulDesa2JS.kel_select");
|
||||
$obj->set_func_navi("FUsulDesa2JS.data_query('tabel-kel')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEL");
|
||||
|
||||
} else if ( $data == "tabel-bel" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.BelID BelID2,M.K_Belanja,M.N_Belanja FROM (SELECT * FROM para_belanja WHERE ".$msql.") M LEFT JOIN (SELECT BelID,COUNT(*) ITEM_KEG,SUM(Rupiah2) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY BelID) K ON (K.BelID=M.BelID)");
|
||||
$obj->add_field("BelID2", "ID", "hid");
|
||||
$obj->add_field("K_Belanja", "Kode", "c");
|
||||
$obj->add_field("N_Belanja", "Jenis Belanja", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("K_Belanja", "A");
|
||||
$obj->add_row_btn("save", "Usulan", "FUsulDesa2JS.bel_select");
|
||||
$obj->set_func_navi("FUsulDesa2JS.data_query('tabel-bel')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divBEL");
|
||||
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
if (in_array($mode_detail, ["insert","update","delete"])) {
|
||||
$sql = new SQL($db);
|
||||
$sql->set_table("mus_usulan_desa");
|
||||
$sql->add_param("Lokasi2");
|
||||
$sql->add_param("Dusun2");
|
||||
$sql->add_param("RT2");
|
||||
$sql->add_param("Masalah2");
|
||||
$sql->add_param("Usulan2");
|
||||
$sql->add_param("Sasaran2");
|
||||
$sql->add_param("Waktu2");
|
||||
$sql->add_param("Volume2");
|
||||
$sql->add_param("SatuanID2");
|
||||
$sql->add_param("Rupiah2");
|
||||
$sql->add_param("OPDID");
|
||||
$sql->add_param("FUbah", 1); //update oleh forum
|
||||
$sql->add_where("RPJMDID", $id_rpjmd);
|
||||
$sql->add_where("Tahun", $thn_renja);
|
||||
$sql->add_where("UsulanLID", $id_usul);
|
||||
|
||||
if ( $mode_detail == "insert" ) {
|
||||
$id_usul = ID_Usulan_Desa($id_rpjmd, $thn_renja);
|
||||
$sql->add_param("RPJMDID", $id_rpjmd);
|
||||
$sql->add_param("Tahun", $thn_renja);
|
||||
$sql->add_param("UsulanLID", $id_usul);
|
||||
$sql->add_param("KecID", $id_kec);
|
||||
$sql->add_param("KelID", $id_kel);
|
||||
$sql->add_param("BelID", $id_bel);
|
||||
$sql->add_param("Kode", Kode_Usulan_Desa($thn_renja, $id_kel));
|
||||
$sql->add_param("K_RKA", "CONCAT(Tahun,'-',Kode)", true);
|
||||
$sql->add_param("JU", 1); //jenis usulan tambahan
|
||||
$sql->add_param_stamp();
|
||||
$sql->add_param_userid();
|
||||
$sql->InsertDB();
|
||||
} else if ( $mode_detail == "update" ) {
|
||||
$sql->add_param_stamp("Update_Stamp");
|
||||
$sql->add_param_userid("Update_UserID");
|
||||
$sql->UpdateDB();
|
||||
} else if ( $mode_detail == "delete" ) {
|
||||
$sql->DeleteDB();
|
||||
}
|
||||
if (in_array($mode_detail, ["insert","update"])) {
|
||||
$db->Query("UPDATE mus_usulan_desa SET Lokasi=Lokasi2,Dusun=Dusun2,RT=RT2,Masalah=Masalah2,Usulan=Usulan2,Sasaran=Sasaran2,Waktu=Waktu2,Volume=Volume2,SatuanID=SatuanID2,Rupiah=Rupiah2 WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' AND FUbah=1 AND JU=1");
|
||||
}
|
||||
}
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT R.*,CONCAT(R.Volume2,' ',S.N_Satuan) N_Satuan FROM (SELECT *,IF(BAksi=0,'Belum Verifikasi','Ok') XKet,IF(BAksi=0,0,1) XAksi FROM mus_usulan_desa WHERE ".$qsql.") R LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID)");
|
||||
$obj->set_query_footer("SELECT R.*,CONCAT(R.Item,' Usulan') N_Satuan FROM (SELECT COUNT(*) Item,SUM(Rupiah2) Rupiah2 FROM mus_usulan_desa WHERE ".$qsql.") R");
|
||||
$obj->add_field("UsulanLID", "ID", "hid");
|
||||
$obj->add_field("Kode", "Kode", "c");
|
||||
$obj->add_field("Usulan2", "Usulan Kegiatan", "awr");
|
||||
$obj->add_field("Lokasi2", "Lokasi", "awr");
|
||||
$obj->add_field("N_Satuan", "Volume", "l");
|
||||
$obj->add_field("Rupiah2", "Anggaran", "nwr r", "rupiah", "rupiah");
|
||||
$obj->add_field("Prio", "Prio", "c", "", "", "val-zerolast");
|
||||
$obj->add_field("XKet", "Status", "l");
|
||||
$obj->set_field_order("Usulan2", "A");
|
||||
$obj->set_row_color("BAksi", 1, "rsuccess");
|
||||
$obj->set_row_color("BAksi", 2, "rdanger");
|
||||
$obj->set_row_color("BAksi", 3, "rwarning");
|
||||
$obj->set_row_control("JU", 1);
|
||||
if ($efor_enable) {
|
||||
$obj->add_row_btn("clipboard", "Ubah", "FUsulDesa2JS.keg_ubah");
|
||||
$obj->add_row_btn("trash", "Hapus", "FUsulDesa2JS.keg_hapus", "KelID", $id_kel);
|
||||
$obj->set_func_btn("FUsulDesa2JS.keg_tambah", "+ Usulan");
|
||||
} else {
|
||||
$obj->add_row_btn("clipboard", "Detail", "FUsulDesa2JS.keg_ubah");
|
||||
}
|
||||
$obj->set_func_navi("FUsulDesa2JS.data_query('tabel-keg')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEG");
|
||||
|
||||
} else if ( $data == "detail-keg" ) {
|
||||
$enable = ($efor_enable) ? true : false;
|
||||
$adetail = ['UsulanLID'=>0, 'Kode'=>"Usulan Baru"];
|
||||
if ($id_usul > 0) {
|
||||
$db->Query("SELECT * FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' LIMIT 1");
|
||||
if ($db->Next()) $adetail = $db->AllRow();
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$tkode = $form->textbox("_", "Kode", $adetail['Kode'], false, false);
|
||||
$tlokasi = $form->textbox("_", "Lokasi2", $adetail['Lokasi2'], $enable, true, "text", "lokasi kegiatan");
|
||||
$trt = $form->textbox("_", "RT2", $adetail['RT2'], $enable, true, "text", "rt dan rw");
|
||||
$tdusun = $form->textbox("_", "Dusun2", $adetail['Dusun2'], $enable, true, "text", "nama dusun");
|
||||
$tmasa = $form->textarea("_", "Masalah2", $adetail['Masalah2'], $enable, true, 2, "permasalahan");
|
||||
$tusulan = $form->textarea("_", "Usulan2", $adetail['Usulan2'], $enable, true, 2, "usulan kegiatan");
|
||||
$tsasa = $form->textbox("_", "Sasaran2", $adetail['Sasaran2'], $enable, true, "text", "sasaran / manfaat");
|
||||
$twaktu = $form->textbox("_", "Waktu2", $adetail['Waktu2'], $enable, true, "text", "waktu pelaksanaan");
|
||||
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], $enable, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "IK=0 ORDER BY K_OPD", [0," "]);
|
||||
$tvol = $form->textbox("_", "Volume2", $adetail['Volume2'], $enable, true, "double", "nilai volume");
|
||||
$tsatu = $form->option_db("_", "SatuanID2", $adetail['SatuanID2'], $enable, false, "para_satuan", ["SatuanID","N_Satuan"], "Aktif=1 ORDER BY N_Satuan", [0," "]);
|
||||
$trupiah = $form->textbox("_", "Rupiah2", $adetail['Rupiah2'], $enable, true, "double", "nilai anggaran");
|
||||
|
||||
$ajson['html'] = '<form id="formUsulDesa" novalidate="novalidate">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label">Kode Usulan</label>
|
||||
<div class="col-sm-3 col-lg-3">'.$tkode.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Lokasi2">Lokasi Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tlokasi.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Dusun2">Dusun dan RT / RW</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$tdusun.'</div>
|
||||
<div class="col-sm-4 col-lg-4">'.$trt.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Masalah2">Permasalahan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tmasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Usulan2">Usulan Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tusulan.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Sasaran2">Sasaran / Manfaat</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tsasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Waktu2">Waktu Pelaksanaan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$twaktu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Daerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Volume2">Volume Kegiatan</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$tvol.'</div>
|
||||
<div class="col-sm-4 col-lg-5">'.$tsatu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Rupiah2">Perkiraan Anggaran</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
|
||||
</div></form>
|
||||
<input type="hidden" id="UsulanLID" value="'.$adetail['UsulanLID'].'" />
|
||||
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Input Usulan Desa (Susulan) - Tahun Perencanaan '.$thn_renja.'</div><div class="card-body">
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
|
||||
<input id="KecID" type="hidden" value="0">
|
||||
<input id="Hak_Usulan" type="hidden" value="1">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="bi-arrow-left-right"></span></i>Kecamatan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEL" placeholder="Nama Desa" type="text" readonly>
|
||||
<input id="KelID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEL"><span><i class="bi-arrow-left-right"></span></i>Desa</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_BEL" placeholder="Jenis Belanja" type="text" readonly>
|
||||
<input id="BelID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butBEL"><span><i class="bi-arrow-left-right"></span></i>Belanja</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="divKEC"> </div>
|
||||
<div id="divKEL"> </div>
|
||||
<div id="divBEL"> </div>
|
||||
<div id="divKEG"> </div>
|
||||
</div></div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,236 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/usul/kec.php
|
||||
Desc. : PHP - Usulan Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 13th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/musrenbang.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Table;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$mode = Param::Get("mode");
|
||||
$mode_detail = Param::Get("mode_detail");
|
||||
$efor_enable = 1; //Param::Get("Hak_Usulan", 0);
|
||||
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
|
||||
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
$id_usul = Param::Get("UsulanLID", 0);
|
||||
|
||||
if ( in_array($data, ["tabel-kec","tabel-keg"]) ) {
|
||||
$qsql = "Tahun='".$thn_renja."' AND JU=3";
|
||||
$msql = "Aktif=1";
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$qsql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
$msql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."'";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$f_usul = (in_array($_SESSION['__WEB_USER']['Level'],[0])) ? 1: 0;
|
||||
if (in_array($_SESSION['__WEB_USER']['Level'],[2,7])) {
|
||||
$f_usul = "IFNULL(H.Hak_Usulan,1)";
|
||||
}
|
||||
$qakses = "Tahun='".$thn_renja."'";
|
||||
$qakses .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KecID2,M.K_Lokasi,M.N_Lokasi,".$f_usul." Hak_Usulan FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KecID,COUNT(*) ITEM_KEG,SUM(Rupiah2) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KecID) K ON (K.KecID=M.LokasiID) LEFT JOIN (SELECT KecID,Hak_Usulan FROM sippd_akses_mus WHERE ".$qakses." ORDER BY KecID) H ON (H.KecID=M.LokasiID)");
|
||||
$obj->add_field("KecID2", "ID", "hid");
|
||||
$obj->add_field("Hak_Usulan", "Akses", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "Usulan", "FUsulKecJS.kec_select");
|
||||
$obj->set_func_navi("FUsulKecJS.data_query('tabel-kec')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEC");
|
||||
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
if (in_array($mode_detail, ["insert","update","delete"])) {
|
||||
$sql = new SQL($db);
|
||||
$sql->set_table("mus_usulan_desa");
|
||||
$sql->add_param("Lokasi2");
|
||||
$sql->add_param("Dusun2");
|
||||
$sql->add_param("RT2");
|
||||
$sql->add_param("Masalah2");
|
||||
$sql->add_param("Usulan2");
|
||||
$sql->add_param("Sasaran2");
|
||||
$sql->add_param("Waktu2");
|
||||
$sql->add_param("Volume2");
|
||||
$sql->add_param("SatuanID2");
|
||||
$sql->add_param("Rupiah2");
|
||||
$sql->add_param("OPDID");
|
||||
$sql->add_param("KelID");
|
||||
$sql->add_param("FUbah", 1);//update oleh forum
|
||||
$sql->add_where("RPJMDID", $id_rpjmd);
|
||||
$sql->add_where("Tahun", $thn_renja);
|
||||
$sql->add_where("UsulanLID", $id_usul);
|
||||
|
||||
if ( $mode_detail == "insert" ) {
|
||||
$id_usul = ID_Usulan_Desa($id_rpjmd, $thn_renja);
|
||||
$sql->add_param("RPJMDID", $id_rpjmd);
|
||||
$sql->add_param("Tahun", $thn_renja);
|
||||
$sql->add_param("UsulanLID", $id_usul);
|
||||
$sql->add_param("KecID", $id_kec);
|
||||
$sql->add_param("Kode", Kode_Usulan_Kec($thn_renja, $id_kec));
|
||||
$sql->add_param("K_RKA", "CONCAT(Tahun,'-',Kode)", true);
|
||||
$sql->add_param("JU", 3);//jenis usulan kecamatan
|
||||
$sql->add_param_stamp();
|
||||
$sql->add_param_userid();
|
||||
$sql->InsertDB();
|
||||
} else if ( $mode_detail == "update" ) {
|
||||
$sql->add_param_stamp("Update_Stamp");
|
||||
$sql->add_param_userid("Update_UserID");
|
||||
$sql->UpdateDB();
|
||||
} else if ( $mode_detail == "delete" ) {
|
||||
$sql->DeleteDB();
|
||||
}
|
||||
if (in_array($mode_detail, ["insert","update"])) {
|
||||
$db->Query("UPDATE mus_usulan_desa SET Lokasi=Lokasi2,Dusun=Dusun2,RT=RT2,Masalah=Masalah2,Usulan=Usulan2,Sasaran=Sasaran2,Waktu=Waktu2,Volume=Volume2,SatuanID=SatuanID2,Rupiah=Rupiah2 WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' AND FUbah=1 AND JU=3");
|
||||
}
|
||||
}
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT R.*,CONCAT(R.Volume2,' ',S.N_Satuan) N_Satuan FROM (SELECT *,IF(BAksi=0,'Belum Verifikasi','Ok') XKet,IF(BAksi=0,0,1) XAksi FROM mus_usulan_desa WHERE ".$qsql.") R LEFT JOIN para_satuan S ON (R.SatuanID2=S.SatuanID)");
|
||||
$obj->set_query_footer("SELECT R.*,CONCAT(R.Item,' Usulan') N_Satuan FROM (SELECT COUNT(*) Item,SUM(Rupiah2) Rupiah2 FROM mus_usulan_desa WHERE ".$qsql.") R");
|
||||
$obj->add_field("UsulanLID", "ID", "hid");
|
||||
$obj->add_field("Kode", "Kode", "c");
|
||||
$obj->add_field("Usulan2", "Usulan Kegiatan", "awr");
|
||||
$obj->add_field("Lokasi2", "Lokasi", "awr");
|
||||
$obj->add_field("N_Satuan", "Volume", "l");
|
||||
$obj->add_field("Rupiah2", "Anggaran", "nwr r", "rupiah", "rupiah");
|
||||
$obj->add_field("Prio", "Prio", "c", "", "", "val-zerolast");
|
||||
$obj->add_field("XKet", "Status", "l");
|
||||
$obj->set_field_order("Usulan2", "A");
|
||||
$obj->set_row_color("BAksi", 1, "rsuccess");
|
||||
$obj->set_row_color("BAksi", 2, "rdanger");
|
||||
$obj->set_row_color("BAksi", 3, "rwarning");
|
||||
if ($efor_enable) {
|
||||
$obj->add_row_btn("clipboard", "Ubah", "FUsulKecJS.keg_ubah");
|
||||
$obj->add_row_btn("trash", "Hapus", "FUsulKecJS.keg_hapus", "KecID", $id_kec);
|
||||
$obj->set_func_btn("FUsulKecJS.keg_tambah", "+ Usulan");
|
||||
} else {
|
||||
$obj->add_row_btn("clipboard", "Detail", "FUsulKecJS.keg_ubah");
|
||||
}
|
||||
$obj->set_func_navi("FUsulKecJS.data_query('tabel-keg')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEG");
|
||||
|
||||
} else if ( $data == "detail-keg" ) {
|
||||
$enable = ($efor_enable) ? true : false;
|
||||
$adetail = ['UsulanLID'=>0, 'Kode'=>"Usulan Baru"];
|
||||
if ($id_usul > 0) {
|
||||
$db->Query("SELECT * FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' LIMIT 1");
|
||||
if ($db->Next()) $adetail = $db->AllRow();
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$tkode = $form->textbox("_", "Kode", $adetail['Kode'], false, false);
|
||||
$tlokasi = $form->textbox("_", "Lokasi2", $adetail['Lokasi2'], $enable, true, "text", "lokasi kegiatan");
|
||||
$trt = $form->textbox("_", "RT2", $adetail['RT2'], $enable, true, "text", "rt dan rw");
|
||||
$tdusun = $form->textbox("_", "Dusun2", $adetail['Dusun2'], $enable, true, "text", "nama dusun");
|
||||
$tmasa = $form->textarea("_", "Masalah2", $adetail['Masalah2'], $enable, true, 2, "permasalahan");
|
||||
$tusulan = $form->textarea("_", "Usulan2", $adetail['Usulan2'], $enable, true, 2, "usulan kegiatan");
|
||||
$tsasa = $form->textbox("_", "Sasaran2", $adetail['Sasaran2'], $enable, true, "text", "sasaran / manfaat");
|
||||
$twaktu = $form->textbox("_", "Waktu2", $adetail['Waktu2'], $enable, true, "text", "waktu pelaksanaan");
|
||||
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], $enable, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "IK=0 ORDER BY K_OPD", [0," "]);
|
||||
$tkel = $form->option_db("_", "KelID", $adetail['KelID'], $enable, true, "para_lokasi", ["LokasiID","N_Lokasi"], "Level=2 AND Aktif=1 AND IndukID='".$id_kec."' ORDER BY K_Lokasi", [0,"SATU KECAMATAN"]);
|
||||
$tvol = $form->textbox("_", "Volume2", $adetail['Volume2'], $enable, true, "double", "nilai volume");
|
||||
$tsatu = $form->option_db("_", "SatuanID2", $adetail['SatuanID2'], $enable, false, "para_satuan", ["SatuanID","N_Satuan"], "Aktif=1 ORDER BY N_Satuan", [0," "]);
|
||||
$trupiah = $form->textbox("_", "Rupiah2", $adetail['Rupiah2'], $enable, true, "double", "nilai anggaran");
|
||||
|
||||
$ajson['html'] = '<form id="formUsulKec" novalidate="novalidate">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label">Kode Usulan</label>
|
||||
<div class="col-sm-3 col-lg-3">'.$tkode.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="KelID">Nama Desa *</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tkel.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Lokasi2">Lokasi Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tlokasi.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Dusun2">Dusun dan RT / RW</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$tdusun.'</div>
|
||||
<div class="col-sm-4 col-lg-4">'.$trt.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Masalah2">Permasalahan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tmasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Usulan2">Usulan Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tusulan.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Sasaran2">Sasaran / Manfaat</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tsasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Waktu2">Waktu Pelaksanaan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$twaktu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Daerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Volume2">Volume Kegiatan</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$tvol.'</div>
|
||||
<div class="col-sm-4 col-lg-5">'.$tsatu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Rupiah2">Perkiraan Anggaran</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
|
||||
</div></form>
|
||||
<input type="hidden" id="UsulanLID" value="'.$adetail['UsulanLID'].'" />
|
||||
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Input Usulan Kecamatan - Tahun Perencanaan '.$thn_renja.'</div><div class="card-body">
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
|
||||
<input id="KecID" type="hidden" value="0">
|
||||
<input id="Hak_Usulan" type="hidden" value="1">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="bi-arrow-left-right"></span></i>Kecamatan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="divKEC"> </div>
|
||||
<div id="divKEG"> </div>
|
||||
</div></div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,142 @@
|
||||
/*******************************************************************
|
||||
|
||||
Module : /assets/css/forum.css
|
||||
Desc. : CSS Custom Forum
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : December 20th, 2007.
|
||||
Last Modified : January 21st, 2024.
|
||||
|
||||
(c) 2009 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
@media print {
|
||||
.pagebreak { page-break-before: always; display: none; }
|
||||
}
|
||||
|
||||
@page {
|
||||
margin-top: 1.2cm;
|
||||
margin-bottom: 1.2cm;
|
||||
margin-left: 2cm;
|
||||
margin-right: 2cm;
|
||||
size: landscape;
|
||||
}
|
||||
.pagebreak { text-align: center; }
|
||||
|
||||
div.print-body {
|
||||
/*font-family: 'DejaVu Sans Condensed';*/
|
||||
font-size: 10pt;
|
||||
line-height: 1;
|
||||
width: 100%;
|
||||
color: #000;
|
||||
}
|
||||
div.print-body p { margin: 0; padding: 0; padding-bottom: 10px; }
|
||||
p.judul { text-align: center; font-size: 1.2em; font-weight: bold; }
|
||||
p.indent { font-size: 1.1em; text-indent: 3em; text-align: justify; text-justify: inter-word; }
|
||||
p.normal { font-size: 1.1em; }
|
||||
p.center { font-size: 1.1em; text-align: center; }
|
||||
|
||||
ul.nomor {
|
||||
font-size: 1.1em;
|
||||
list-style: decimal outside none;
|
||||
margin: 0;
|
||||
padding-left: 20px;
|
||||
}
|
||||
ul.nomor li {
|
||||
margin: 3px 0;
|
||||
}
|
||||
hr.lamp { border-top: 1px solid #000; }
|
||||
|
||||
table.footer {
|
||||
width: 100%;
|
||||
font-family: sans-serif;
|
||||
font-size: 9pt;
|
||||
color: #333;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
table.footer td { padding-top: 2px; }
|
||||
|
||||
table.normal {
|
||||
width: 100%;
|
||||
font-size: 1.1em;
|
||||
border: 0;
|
||||
}
|
||||
table.indent-ba {
|
||||
margin-left: 1.5em;
|
||||
}
|
||||
table {
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table tr.small-header td {
|
||||
font-size: .6em;
|
||||
font-style: italic;
|
||||
}
|
||||
td { vertical-align: top; }
|
||||
td.kolom1 { width: 26%; }
|
||||
td.kolom2 { width: 2%; }
|
||||
td.kolom3 { width: 12%; }
|
||||
td.kolom4 { width: 18%; }
|
||||
td.justify { text-align: justify; text-justify: inter-word; }
|
||||
td.nopad { padding-left: 0; }
|
||||
|
||||
table.lamp {
|
||||
width: 60%;
|
||||
font-size: 1.1em;
|
||||
margin-right: 0;
|
||||
margin-left: auto;
|
||||
}
|
||||
table.lamp-land {
|
||||
width: 40%;
|
||||
font-size: 1.1em;
|
||||
margin-right: 0;
|
||||
margin-left: auto;
|
||||
}
|
||||
table.ttd {
|
||||
width: 33%;
|
||||
font-size: 1.1em;
|
||||
margin-right: 0;
|
||||
margin-left: auto;
|
||||
margin-top: 5px;
|
||||
}
|
||||
table.ttd td {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.garis {
|
||||
width: 100%;
|
||||
font-size: 1em;
|
||||
border: 1px solid #ccc;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.garis th, table.garis td {
|
||||
text-align: left;
|
||||
border: 1px solid #ccc;
|
||||
padding: 2mm;
|
||||
}
|
||||
table.garis th {
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
background-color: #ddd;
|
||||
white-space: nowrap;
|
||||
}
|
||||
table.garis td { padding-top: 1.2mm; padding-bottom: 1.2mm; vertical-align: top; }
|
||||
|
||||
table tr.kec td { background-color: #00B7EF; text-transform: uppercase; }
|
||||
table tr.desa td { background-color: #FFF200; text-transform: uppercase; }
|
||||
table tr.forum td { background-color: #A7DA4E; text-transform: uppercase; }
|
||||
table tr.opd td { background-color: #ccc; text-transform: uppercase; }
|
||||
table tr.bel td { background-color: #A2FFFF; text-transform: uppercase; }
|
||||
|
||||
a[class~="check-all"] { background-color:#7eff6c !important; }
|
||||
a[class~="check"] { background-color:#2E8FF1 !important; }
|
||||
a[class~="arrow-up-circle"] { background-color: #8E60EE !important; }
|
||||
a[class~="arrow-down-circle"] { background-color: #ffffa8 !important; }
|
||||
a[class~="x-lg"] { background-color: #F49DA4 !important; }
|
||||
|
||||
button[class~="check-all"] { background-color:#7eff6c !important; }
|
||||
button[class~="check"] { background-color:#2E8FF1 !important; }
|
||||
button[class~="arrow-up-circle"] { background-color: #8E60EE !important; }
|
||||
button[class~="arrow-down-circle"] { background-color: #ffffa8 !important; }
|
||||
button[class~="x-lg"] { background-color: #F49DA4 !important; }
|
||||
@@ -0,0 +1,125 @@
|
||||
/*******************************************************************
|
||||
|
||||
Module : /assets/css/pdf/forum.css
|
||||
Desc. : CSS Class for PDF Forum
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 7th, 2008.
|
||||
Last Modified : January 20th, 2020.
|
||||
|
||||
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
body {
|
||||
font-family: 'DejaVu Sans Condensed';
|
||||
font-size: 9pt;
|
||||
width: 100%;
|
||||
color: #000;
|
||||
}
|
||||
p { margin: 0; padding: 0; padding-bottom: 10px; }
|
||||
p.judul { text-align: center; font-size: 1.3em; font-weight: bold; }
|
||||
p.judul-ba { text-align: center; font-size: 1.3em; }
|
||||
|
||||
table.footer {
|
||||
width: 100%;
|
||||
font-family: sans-serif;
|
||||
font-size: 9pt;
|
||||
color: #333;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
table.garis {
|
||||
width: 100%;
|
||||
border: 1px solid #ccc;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.garis th, table.garis td {
|
||||
font-size: 9pt;
|
||||
text-align: left;
|
||||
border: 1px solid #ccc;
|
||||
padding: 2mm;
|
||||
}
|
||||
table.garis th {
|
||||
font-size: 10pt;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
background-color: #ddd;
|
||||
}
|
||||
table.garis td { padding-top: 1.2mm; padding-bottom: 1.2mm; }
|
||||
|
||||
table.ttd {
|
||||
width: 100%;
|
||||
border: 1px solid #aaa;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.ttd th, table.ttd td {
|
||||
font-size: 10pt;
|
||||
text-align: center;
|
||||
border: 1px dotted #aaa;
|
||||
padding: 2mm;
|
||||
}
|
||||
table.ttd th {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
table.ttd-ba {
|
||||
width: 100%;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.ttd-ba th, table.ttd-ba td {
|
||||
font-size: 10pt;
|
||||
border-bottom: 1px dotted #aaa;
|
||||
padding: 2mm;
|
||||
}
|
||||
table.ttd-ba th {
|
||||
border: 1px solid #aaa;
|
||||
background-color: #eee;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.ttd-ba-status {
|
||||
width: 100%;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.ttd-ba-status td.judul {
|
||||
font-size: 10pt;
|
||||
font-weight: 500;
|
||||
padding-bottom: 1mm;
|
||||
}
|
||||
table.ttd-ba-status td {
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
table td.l { text-align: left; }
|
||||
table td.c { text-align: center; }
|
||||
table td.r { text-align: right; }
|
||||
table td.b { font-weight: bold; }
|
||||
table td.i { font-style: italic; }
|
||||
table td.small { font-size: .65em; }
|
||||
table td.bi { font-weight: bold; font-style: italic; background-color: #F0F0F0; }
|
||||
|
||||
table tr.kec td { background-color: #00B7EF; text-transform: uppercase; }
|
||||
table tr.desa td { background-color: #FFF200; text-transform: uppercase; }
|
||||
table tr.forum td { background-color: #A7DA4E; text-transform: uppercase; }
|
||||
table tr.opd td { background-color: #ccc; text-transform: uppercase; }
|
||||
table tr.bel td { background-color: #A2FFFF; text-transform: uppercase; }
|
||||
|
||||
table td.kotak { width: 6.5%; }
|
||||
table td.kotak table { border: 1px solid #000; width: 100%; }
|
||||
table td.kotak table td { font-size: 6pt; border: none; }
|
||||
|
||||
table td.kotakh { width: 5%; }
|
||||
table td.kotakh table { border: 1px solid #000; width: 100%; }
|
||||
table td.kotakh table td { font-size: 10pt; border: none; text-align: center; padding: 0; }
|
||||
|
||||
table td.bg-blue {
|
||||
/*border: 1px solid #ccc;*/
|
||||
font-size: 1.5em;
|
||||
background: #5976FF;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
/*******************************************************************
|
||||
|
||||
Module : /assets/css/styles.css
|
||||
Desc. : CSS Custom
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : December 20th, 2007.
|
||||
Last Modified : January 21st, 2024.
|
||||
|
||||
(c) 2009 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
:root {
|
||||
--bs-body-font-size: 1rem;
|
||||
--bs-body-line-height: 1.2;
|
||||
}
|
||||
|
||||
div.note-editor.card {
|
||||
margin-bottom: 0 !important;
|
||||
border: unset !important;
|
||||
}
|
||||
button.btn-ganti {
|
||||
box-shadow: none !important;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
width: 9.8em;
|
||||
text-align: left;
|
||||
}
|
||||
button.btn-ganti span {
|
||||
position: relative;
|
||||
left: -12px;
|
||||
display: inline-block;
|
||||
padding: 3px 8px;
|
||||
background: rgba(0,0,0,0.15);
|
||||
height: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
table>tbody tr.rp1 td:not(:last-child) { background-color:#0033ff; color: white; }
|
||||
table>tbody tr.rp2 td:not(:last-child) { background-color:#0066ff; color: white; }
|
||||
table>tbody tr.rp3 td:not(:last-child) { background-color:#0099ff; color: white; }
|
||||
table>tbody tr.rp4 td:not(:last-child) { background-color:#00ccff; }
|
||||
table>tbody tr.rp5 td:not(:last-child) { background-color:#00ffff; }
|
||||
|
||||
table button.plus-circle { background-color: var(--success); }
|
||||
table button.minus-circle { background-color: var(--danger); }
|
||||
table button.reload { background-color: var(--secondary); }
|
||||
table a.plus-circle i { color: var(--success); }
|
||||
table a.minus-circle i { color: var(--danger); }
|
||||
table a.reload i { color: var(--secondary); }
|
||||
|
||||
/*.navbar-nav .dropdown-menu {
|
||||
width: 280px !important;
|
||||
}*/
|
||||
|
After Width: | Height: | Size: 304 KiB |
|
After Width: | Height: | Size: 163 KiB |
|
After Width: | Height: | Size: 263 KiB |
|
After Width: | Height: | Size: 148 KiB |
|
After Width: | Height: | Size: 154 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,32 @@
|
||||
/*******************************************************************
|
||||
|
||||
Module : /assets/locale/fonia.id.js
|
||||
Desc. : JS - Fonia Module Locale
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : January 28th, 2013.
|
||||
Last Modofied : November 22nd, 2019
|
||||
|
||||
(c) 2013 - 2019, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
if (typeof FoniaJS !== "undefined") {
|
||||
|
||||
FoniaJS.locale('id', {
|
||||
Fonia: {
|
||||
sess_expire: 'Session Anda telah berakhir, silakan login kembali!',
|
||||
page404: 'Halaman aplikasi belum tersedia!',
|
||||
input_passwd: 'Silakan masukkan Password!',
|
||||
input_userid: 'Silakan masukkan User ID!',
|
||||
auth_super: 'Persetujuan Supervisor',
|
||||
auth_user: 'Validasi Operator',
|
||||
auth_wait_msg: 'Menunggu disetujui oleh<br>Supervisor Anda...',
|
||||
cancel: 'Batal',
|
||||
auth_fail: 'Proses gagal!<br>Menunggu terlalu lama ...',
|
||||
auth_success: 'Proses disetujui!',
|
||||
but_add: 'Tambah',
|
||||
but_edit: 'Ubah'
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
/*******************************************************************
|
||||
|
||||
Module : /assets/locale/moment.id.js
|
||||
Desc. : JS - Moment Locale
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : January 28th, 2013.
|
||||
Last Modofied : November 22nd, 2019
|
||||
|
||||
(c) 2013 - 2019, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
if (typeof moment !== "undefined") {
|
||||
|
||||
moment.locale('id', {
|
||||
months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
|
||||
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
|
||||
weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
|
||||
weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
|
||||
weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
|
||||
longDateFormat : {
|
||||
LT : 'HH.mm',
|
||||
LTS : 'HH.mm.ss',
|
||||
L : 'DD-MM-YYYY',
|
||||
LL : 'D MMMM YYYY',
|
||||
LLL : 'D MMMM YYYY [pukul] HH.mm',
|
||||
LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
|
||||
},
|
||||
meridiemParse: /pagi|siang|sore|malam/,
|
||||
meridiemHour : function (hour, meridiem) {
|
||||
if (hour === 12) {
|
||||
hour = 0;
|
||||
}
|
||||
if (meridiem === 'pagi') {
|
||||
return hour;
|
||||
} else if (meridiem === 'siang') {
|
||||
return hour >= 11 ? hour : hour + 12;
|
||||
} else if (meridiem === 'sore' || meridiem === 'malam') {
|
||||
return hour + 12;
|
||||
}
|
||||
},
|
||||
meridiem : function (hours, minutes, isLower) {
|
||||
if (hours < 11) {
|
||||
return 'pagi';
|
||||
} else if (hours < 15) {
|
||||
return 'siang';
|
||||
} else if (hours < 19) {
|
||||
return 'sore';
|
||||
} else {
|
||||
return 'malam';
|
||||
}
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Hari ini pukul] LT',
|
||||
nextDay : '[Besok pukul] LT',
|
||||
nextWeek : 'dddd [pukul] LT',
|
||||
lastDay : '[Kemarin pukul] LT',
|
||||
lastWeek : 'dddd [lalu pukul] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : 'dalam %s',
|
||||
past : '%s yang lalu',
|
||||
s : 'beberapa detik',
|
||||
ss : '%d detik',
|
||||
m : 'semenit',
|
||||
mm : '%d menit',
|
||||
h : 'sejam',
|
||||
hh : '%d jam',
|
||||
d : 'sehari',
|
||||
dd : '%d hari',
|
||||
M : 'sebulan',
|
||||
MM : '%d bulan',
|
||||
y : 'setahun',
|
||||
yy : '%d tahun'
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 7th is the first week of the year.
|
||||
}
|
||||
});
|
||||
|
||||
moment.locale('id');
|
||||
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
<!------------------------------------------------------------------
|
||||
|
||||
Module : /assets/templates/404.php
|
||||
Desc. : HTML5 Page - Halaman Template Error 404
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : February 17th, 2020.
|
||||
|
||||
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
------------------------------------------------------------------->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>[_APP_NAME_VER_] - Error 404</title>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
|
||||
<meta name="author" content="Siau Pheng <siaupheng[at]3fonia.com>"/>
|
||||
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
|
||||
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
|
||||
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
|
||||
</head>
|
||||
<body class="min-vh-100 d-flex flex-row align-items-center">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-xl-4 col-md-8">
|
||||
<div class="card-group">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="mb-2">
|
||||
<img class="mx-auto d-block" src="[_WEB_PATH_]assets/images/logo300.png" title="[_REG_NAME_UP_]">
|
||||
<div class="text-center pt-2 pb-2"><span class="reg_app1">[_APP_NAME_]</span><br><span class="reg_app2">Ver. [_APP_VER_]</span></div>
|
||||
</div>
|
||||
<div class="mb-2 mx-auto d-block text-center">
|
||||
<div class="fs-4 text-danger">4.0.4</div>
|
||||
<div class="fs-5 text-info">Modul atau bagian aplikasi yang diakses tidak ditemukan !</div>
|
||||
</div>
|
||||
<div class="text-center pt-2 pb-2 d-none" id="divLoginMsg"> </div>
|
||||
<div class="pt-4">
|
||||
<div class="text-center">® [_CREATOR_YEAR_]. [_REG_NAME_]</div>
|
||||
<div class="text-center">All Rights Reserved.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,106 @@
|
||||
<!------------------------------------------------------------------
|
||||
|
||||
Module : /assets/templates/index.php
|
||||
Desc. : HTML Page - Halaman Template / Themes
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 10th, 2008.
|
||||
Last Modified : January 15th, 2024.
|
||||
|
||||
(c) 2008 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
------------------------------------------------------------------->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>[_APP_NAME_VER_]</title>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
|
||||
<meta name="author" content="Siau Pheng <siaupheng[at]3fonia.com>"/>
|
||||
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
|
||||
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
|
||||
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="modal fade" id="sidebarMain" tabindex="-1" aria-labelledby="" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<img src="[_WEB_PATH_]assets/images/logo-apps.png" title="[_APP_NAME_]">
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"><i class="fs-1 bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<nav class="sidebar card py-2 mb-4"><ul class="nav flex-column">[_NAVI_SIDEBAR_]</ul></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wrapper d-flex flex-column min-vh-100">
|
||||
<header class="fixed-top navbar-custom">
|
||||
<nav class="navbar navbar-expand-lg">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-toggler btn p-0 d-lg-none"><a href="#" data-bs-toggle="modal" data-bs-target="#sidebarMain"><i class="icon-md icon-3xl bi-list"></i></a></div>
|
||||
<div class="collapse navbar-collapse">
|
||||
<ul class="navbar-nav navbar-nav-scroll me-auto">[_NAVI_HEADER_]</ul>
|
||||
</div>
|
||||
<ul class="nav flex-nowrap align-items-center ms-sm-3 list-unstyled">
|
||||
<li class="nav-item d-md-none d-lg-block d-flex align-items-center" id="liPeriode"> </li>
|
||||
<li class="nav-item mx-2 dropdown">
|
||||
<a class="nav-link" data-bs-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fs-4 bi-bell"></i><span class="position-absolute translate-middle badge rounded-pill bg-danger" id="DDNotifCount">0</span></a>
|
||||
<div class="dropdown-menu dropdown-menu-end dropdown-menu-lg pt-0" id="DDNotif">
|
||||
<div class="dropdown-header bg-light"><strong>Anda belum punya pesan</strong></div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item ms-2 dropdown">
|
||||
<a class="nav-link btn p-0" id="profileDD" role="button" data-bs-auto-close="outside" data-bs-display="static" data-bs-toggle="dropdown" aria-expanded="false"><span class="badge-profile"></span><img class="icon-md rounded-5" src="[_WEB_PATH_]assets/images/[_USER_IMG_]" title="[_USER_NAME_]"></a>
|
||||
<ul class="dropdown-menu dropdown-menu-end dropdown-profile pt-3 small me-md-n3" aria-labelledby="profileDD">
|
||||
<li class="dropdown-item-text">
|
||||
<div class="d-flex text-black">
|
||||
<div class="flex-shrink-0"><img src="[_WEB_PATH_]assets/images/[_USER_IMG_]" class="icon-lg"></div>
|
||||
<div class="flex-grow-1 ms-3">
|
||||
<div>[_USER_USER_]</div>
|
||||
<div class="fs-6">[_USER_NAME_]</div>
|
||||
<div class="small">[_USER_POSISI_]</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
[_MENU_MODUL_]
|
||||
<li class="dropdown-divider"></li>
|
||||
<li><a class="dropdown-item slink" id="HomeLink"><i class="me-2 bi-house"></i>Beranda</a></li>
|
||||
<li><a class="dropdown-item"><i class="me-2 bi-person-circle"></i>Profil</a></li>
|
||||
<!--<li><a class="dropdown-item"><i class="me-2 bi-gear"></i>Settings</a></li>-->
|
||||
<li><a class="dropdown-item mlink" id="SYSCLink"><i class="me-2 bi-unlock2"></i>Ubah Password</a></li>
|
||||
<li class="dropdown-divider"></li>
|
||||
<li><a class="dropdown-item text-danger slink" id="ExitLink"><i class="me-2 bi-arrow-right"></i>Keluar</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<div class="body flex-grow-1">
|
||||
<div class="container-fluid mt-2 px-0 py-2">
|
||||
<div aria-live="polite" aria-atomic="true" class="position-relative">
|
||||
<div class="toast-container position-absolute top-0 end-0 p-3" id="div-toast"> </div>
|
||||
</div>
|
||||
<div id="pageToolbarTop" class="container-fluid"> </div>
|
||||
<div id="pageContent" class="container-fluid"> </div>
|
||||
<div id="pageToolbarBot" class="container-fluid"> </div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer class="footer">
|
||||
<div><a href="[_REG_WEBSITE_]">® [_REG_YEAR_]; [_REG_NAME_]</a></div>
|
||||
<div class="ms-auto d-none d-md-block">Informasi : XXXX XXXX XXXX (Admin)</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="dataPrint" class="d-none d-print-block"> </div>
|
||||
<div id="preloader"><div id="loader"></div></div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,67 @@
|
||||
<!------------------------------------------------------------------
|
||||
|
||||
Module : /assets/templates/login.php
|
||||
Desc. : HTML5 Page - Halaman Template Login
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : December 21th, 2009.
|
||||
Last Modified : January 15th, 2024.
|
||||
|
||||
(c) 2009 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
------------------------------------------------------------------->
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>[_APP_NAME_VER_]</title>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
|
||||
<meta name="author" content="Siau Pheng <siaupheng[at]3fonia.com>"/>
|
||||
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
|
||||
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
|
||||
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
|
||||
</head>
|
||||
<body class="min-vh-100 d-flex flex-row align-items-center dark:bg-transparent">
|
||||
<div class="container">
|
||||
<div aria-live="polite" aria-atomic="true" class="position-relative">
|
||||
<div class="toast-container position-absolute top-0 start-50 translate-middle-x" id="div-toast"> </div>
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-xl-4 col-lg-5 col-md-6 col-10">
|
||||
<div class="card-group d-block d-md-flex row">
|
||||
<div class="card col-md-6 p-3 mb-0">
|
||||
<div class="card-body">
|
||||
<div class="mb-2">
|
||||
<img class="mx-auto d-block" src="[_WEB_PATH_]assets/images/logo150.png" title="[_REG_NAME_UP_]">
|
||||
<div class="text-center pt-2 pb-2">[_APP_NAME_] Ver. [_APP_VER_]<br>Register ID : [_REG_ID_]</div>
|
||||
</div>
|
||||
<div class="input-group mb-2">
|
||||
<span class="input-group-text">
|
||||
<i class="bi-person-circle"></i>
|
||||
</span>
|
||||
<input class="form-control" id="Username" type="text" placeholder="ID Pengguna">
|
||||
</div>
|
||||
<div class="input-group mb-3">
|
||||
<span class="input-group-text">
|
||||
<i class="bi-unlock2"></i>
|
||||
</span>
|
||||
<input class="form-control" id="Password" type="password" placeholder="Kata Sandi">
|
||||
</div>
|
||||
<div class="input-group d-grid gap-2">
|
||||
<button id="butLogin" class="btn btn-primary" type="button">Login</button>
|
||||
</div>
|
||||
<div class="text-center d-none" id="divLoginMsg"> </div>
|
||||
<div class="pt-4">
|
||||
<div class="text-center">® [_REG_YEAR_]; [_REG_NAME_]</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /auth.php
|
||||
Desc. : PHP Page - Halaman Identifikasi Akses
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : November 20th, 2016.
|
||||
Last Modified : March 26th, 2023.
|
||||
|
||||
(c) 2016 - 2023, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../vendor/autoload.php");
|
||||
|
||||
if (!isset($_SESSION['__WEB_APP'])) {
|
||||
require_once(__DIR__."/apps/cfg/app.php");
|
||||
}
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\Web\Auth;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Menu;
|
||||
|
||||
$db = $db ?? new MySQL();
|
||||
$auth = new Auth($db);
|
||||
$ajson = [];
|
||||
$mode = Param::Get("mode", "");
|
||||
|
||||
if ($mode == "auth") {
|
||||
$data = Param::Get("data", "");
|
||||
$ajson = ['status' => 0, 'pesan' => ""];
|
||||
|
||||
if ($data == "super-check") {
|
||||
$bsuper = (Param::Get("SUPER","true") == "true") ? true : false;
|
||||
$buover = (Param::Get("UOVER","false") == "true") ? true : false;
|
||||
if (!$auth->user_check_level(Param::Get("UID"), $_SESSION['__WEB_APP']['AUTH_LEVEL']) && $bsuper == true) {
|
||||
$ajson['status'] = 0;
|
||||
$ajson['pesan'] = "Silakan hubungi Supervisor / Administrator Anda!";
|
||||
} else {
|
||||
if (!$auth->user_check(Param::Get("UID"), Param::Get("PWD"))) {
|
||||
$ajson['status'] = 0;
|
||||
$ajson['pesan'] = "User ID atau Password Anda Salah!<br>Anda tidak diijinkan melanjutkan proses!";
|
||||
} else {
|
||||
$ajson['status'] = 1;
|
||||
if ($buover == true && $bsuper == false && Param::Get("UID") <> $_SESSION['__WEB_USER']['Username']) {
|
||||
$new_sess = $auth->user_data(Param::Get("UID"));
|
||||
foreach ($new_sess as $_key => $_val) {
|
||||
if ($_SESSION['__WEB_USER'][$_key]) $_SESSION['__WEB_USER'][$_key] = $_val;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} elseif ($data == "super-request") {
|
||||
$db->Query("DELETE FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."' AND Auth=0");
|
||||
$db->Query("INSERT INTO app_auth SET UserID='".user_id()."',Kode='".Param::Get("KODE")."',SID='".Param::Get("REQ_SID")."',REQ='".Param::Get("REQ")."',Catatan='".Param::Get("MSG")."',Tanggal=NOW()");
|
||||
|
||||
} elseif ($data == "super-cancel") {
|
||||
$db->Query("DELETE FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."'");
|
||||
|
||||
} elseif ($data == "request-check") {
|
||||
$db->Query("SELECT Auth FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."'");
|
||||
if ($db->Next() && $db->Row("Auth",0) == 1) $ajson['status'] = 1;
|
||||
}
|
||||
|
||||
} else {
|
||||
$page = Param::Get("p", "");
|
||||
$query = Param::Get("q", "");
|
||||
$ajson['login'] = false;
|
||||
|
||||
if (user_logged() && $page<>"") {
|
||||
$ajson = Menu::MenuJSON($db, $page, $query);
|
||||
}
|
||||
$auth->token_update();
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,993 @@
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/js/sys/chpasswd.js
|
||||
Desc. : JS - Perubahan Password Operator
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : December 7th, 2008.
|
||||
Last Modified : April 25th, 2020.
|
||||
|
||||
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var SYSChpasswdJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butSave').click(function(){this.proses_save();}.bind(this));
|
||||
FoniaJS.setFocus('#LPass');
|
||||
},
|
||||
|
||||
proses_save: function(){
|
||||
if ($("#LPass").val()=="") {
|
||||
FoniaJS.showInfo("Silakan masukkan password lama Anda!");
|
||||
FoniaJS.setFocus("#LPass");
|
||||
return false;
|
||||
} else if ($("#BPass1").val()=="") {
|
||||
FoniaJS.showInfo("Silakan masukkan password baru 1 Anda!");
|
||||
FoniaJS.setFocus("#BPass1");
|
||||
return false;
|
||||
} else if ($("#BPass2").val()=="") {
|
||||
FoniaJS.showInfo("Silakan masukkan password baru 2 Anda!");
|
||||
FoniaJS.setFocus("#BPass2");
|
||||
return false;
|
||||
} else if ($("#BPass1").val()!=$("#BPass2").val()) {
|
||||
FoniaJS.showInfo("Password baru 1 dan 2 Anda tidak sama!");
|
||||
FoniaJS.setFocus("#BPass1");
|
||||
return false;
|
||||
}
|
||||
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=chpasswd','LPass','BPass1','BPass2'],
|
||||
onSuccess: function(ajson){
|
||||
if (ajson.status == true) {
|
||||
FoniaJS.showInfo(ajson.msg);
|
||||
FoniaJS.closeWindow('#win'+this.KODE);
|
||||
} else {
|
||||
FoniaJS.showError(ajson.msg);
|
||||
}
|
||||
}.bind(this)
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/desa2.js
|
||||
Desc. : JS - Input Usulan Desa Susulan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var FUsulDesa2JS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
$('#butKEL').click(function(){
|
||||
if ($('#KelID').val()>0) this.show_hide(2);
|
||||
}.bind(this));
|
||||
$('#butBEL').click(function(){
|
||||
if ($('#BelID').val()>0) this.show_hide(3);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEL').addClass('d-none'); $('#butKEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divBEL').addClass('d-none'); $('#butBEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#Hak_Usulan').val(1);
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#KelID').val(0);
|
||||
$('#Nama_KEL').val('');
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 2) {
|
||||
$('#BelID').val(0);
|
||||
$('#Nama_BEL').val('');
|
||||
$('#butKEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 3) {
|
||||
$('#butBEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 2) { $('#divKEL').removeClass('d-none'); this.data_query('tabel-kel'); }
|
||||
if (no == 3) { $('#divBEL').removeClass('d-none'); this.data_query('tabel-bel'); }
|
||||
if (no == 4) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[3]);
|
||||
$('#Hak_Usulan').val(acell[1]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
kel_select: function(acell){
|
||||
$('#KelID').val(acell[0]);
|
||||
$('#Nama_KEL').val(acell[2]);
|
||||
this.show_hide(3);
|
||||
},
|
||||
|
||||
bel_select: function(acell){
|
||||
$('#BelID').val(acell[0]);
|
||||
$('#Nama_BEL').val(acell[2]);
|
||||
this.show_hide(4);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'Hak_Usulan','UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
|
||||
if ($('#Hak_Usulan').val()==0) tombol.pop();
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Desa', ajson.html, 'xl', tombol, function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
$('#formUsulDesa').validate({
|
||||
rules: {
|
||||
required: true,
|
||||
OPDID: {required:true, min:1},
|
||||
Volume2: {required:true, double_id:true},
|
||||
SatuanID2: {required:true, min:1},
|
||||
Rupiah2: {required:true, double_id:true}
|
||||
}
|
||||
});
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_tambah: function(){
|
||||
this.keg_detail('insert', 0);
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_hapus: function(acell){
|
||||
FoniaJS.showConfirm('Konfirmasi', 'Hapus usulan <b>"'+acell[2]+'"</b> ?', function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=delete','Hak_Usulan','KecID','KelID','BelID','UsulanLID='+acell[0]],
|
||||
onSuccess: function(adata){
|
||||
FoniaJS.showInfo('Proses hapus data sukses!');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
}.bind(this), 'danger');
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
$('#formUsulDesa').submit();
|
||||
if (true !== $('#formUsulDesa').validate().checkForm()) return false;
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','Hak_Usulan','OPDID','KecID','KelID','BelID','UsulanLID','Lokasi2','Dusun2','RT2','Masalah2','Usulan2','Sasaran2','Waktu2','Volume2','SatuanID2','Rupiah2'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kel','KecID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-bel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-bel','KecID','KelID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','Hak_Usulan','KecID','KelID','BelID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/bahan_opd.js
|
||||
Desc. : JS - Cetak Bahan Forum untuk OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoBahanOPDJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("KecID");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.showPDF();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/kec.js
|
||||
Desc. : JS - Usulan Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 13th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var FUsulKecJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#Hak_Usulan').val(1);
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 2) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[3]);
|
||||
$('#Hak_Usulan').val(acell[1]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'Hak_Usulan','KecID','UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
|
||||
if ($('#Hak_Usulan').val()==0) tombol.pop();
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Kecamatan', ajson.html, 'xl', tombol, function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
$('#formUsulKec').validate({
|
||||
rules: {
|
||||
required: true,
|
||||
OPDID: {required:true, min:1},
|
||||
Volume2: {required:true, double_id:true},
|
||||
SatuanID2: {required:true, min:1},
|
||||
Rupiah2: {required:true, double_id:true}
|
||||
}
|
||||
});
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_tambah: function(){
|
||||
this.keg_detail('insert', 0);
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_hapus: function(acell){
|
||||
FoniaJS.showConfirm('Konfirmasi', 'Hapus usulan <b>"'+acell[2]+'"</b> ?', function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=delete','Hak_Usulan','KecID','UsulanLID='+acell[0]],
|
||||
onSuccess: function(adata){
|
||||
FoniaJS.showInfo('Proses hapus data sukses!');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
}.bind(this), 'danger');
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
$('#formUsulKec').submit();
|
||||
if (true !== $('#formUsulKec').validate().checkForm()) return false;
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','Hak_Usulan','OPDID','KecID','KelID','UsulanLID','Lokasi2','Dusun2','RT2','Masalah2','Usulan2','Sasaran2','Waktu2','Volume2','SatuanID2','Rupiah2'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','Hak_Usulan','KecID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/bahan_kec.js
|
||||
Desc. : JS - Cetak Bahan Forum untuk Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoBahanKecJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("KecID");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.showPDF();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/kec.js
|
||||
Desc. : JS - Usulan Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 13th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var FUsulKecJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#Hak_Usulan').val(1);
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 2) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[3]);
|
||||
$('#Hak_Usulan').val(acell[1]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'Hak_Usulan','KecID','UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
|
||||
if ($('#Hak_Usulan').val()==0) tombol.pop();
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Kecamatan', ajson.html, 'xl', tombol, function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
$('#formUsulKec').validate({
|
||||
rules: {
|
||||
required: true,
|
||||
OPDID: {required:true, min:1},
|
||||
Volume2: {required:true, double_id:true},
|
||||
SatuanID2: {required:true, min:1},
|
||||
Rupiah2: {required:true, double_id:true}
|
||||
}
|
||||
});
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_tambah: function(){
|
||||
this.keg_detail('insert', 0);
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_hapus: function(acell){
|
||||
FoniaJS.showConfirm('Konfirmasi', 'Hapus usulan <b>"'+acell[2]+'"</b> ?', function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=delete','Hak_Usulan','KecID','UsulanLID='+acell[0]],
|
||||
onSuccess: function(adata){
|
||||
FoniaJS.showInfo('Proses hapus data sukses!');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
}.bind(this), 'danger');
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
$('#formUsulKec').submit();
|
||||
if (true !== $('#formUsulKec').validate().checkForm()) return false;
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','Hak_Usulan','OPDID','KecID','KelID','UsulanLID','Lokasi2','Dusun2','RT2','Masalah2','Usulan2','Sasaran2','Waktu2','Volume2','SatuanID2','Rupiah2'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','Hak_Usulan','KecID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/bahan_opd.js
|
||||
Desc. : JS - Kelola Bahan Forum OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var FBahanOPDJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butOPD').click(function(){
|
||||
if ($('#OPDID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(2);
|
||||
}.bind(this));
|
||||
$('#butKEL').click(function(){
|
||||
//if ($('#KelID').val()>0)
|
||||
this.show_hide(3);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divOPD').addClass('d-none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEL').addClass('d-none'); $('#butKEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#OPDID').val(0);
|
||||
$('#Nama_OPD').val('');
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 2) {
|
||||
$('#KelID').val(0);
|
||||
$('#Nama_KEL').val('');
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 3) {
|
||||
$('#butKEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divOPD').removeClass('d-none'); this.data_query('tabel-opd'); }
|
||||
if (no == 2) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 3) { $('#divKEL').removeClass('d-none'); this.data_query('tabel-kel'); }
|
||||
if (no == 4) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
opd_select: function(acell){
|
||||
$('#OPDID').val(acell[0]);
|
||||
$('#Nama_OPD').val(acell[2]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[2]);
|
||||
this.show_hide(3);
|
||||
},
|
||||
|
||||
kel_select: function(acell){
|
||||
$('#KelID').val(acell[0]);
|
||||
$('#Nama_KEL').val(acell[2]);
|
||||
this.show_hide(4);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Desa', ajson.html, 'xl', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
$('#formBahanOPD').validate({
|
||||
rules: {
|
||||
required: true,
|
||||
OPDID: {required:true, min:1},
|
||||
Volume: {required:true, double_id:true},
|
||||
SatuanID: {required:true, min:1},
|
||||
Rupiah: {required:true, double_id:true},
|
||||
Prio: {required:false},
|
||||
StatusID: {required:false}
|
||||
}
|
||||
});
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
$('#formBahanOPD').submit();
|
||||
if (true !== $('#formBahanOPD').validate().checkForm()) return false;
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','OPDID','KecID','KelID','UsulanLID','Lokasi','Dusun','RT','Masalah','Usulan','Sasaran','Waktu','Volume','SatuanID','Rupiah','Prio','StatusID'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-opd"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-opd']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec','OPDID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kel','OPDID','KecID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','OPDID','KecID','KelID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/hasil_forum.js
|
||||
Desc. : JS - Cetak Hasil Forum / Forum
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoHasilForumJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
this.oc_Forum();
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
if ($('#ForumID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Forum !');
|
||||
return false;
|
||||
}
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("ForumID");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.add_param("StatusID");
|
||||
dpdf.showPDF();
|
||||
},
|
||||
|
||||
oc_Forum: function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=option-opd','ForumID']
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/forum_opd.js
|
||||
Desc. : JS - Forum OPD / Pembahasan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var FForumOPDJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butOPD').click(function(){
|
||||
if ($('#OPDID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(2);
|
||||
}.bind(this));
|
||||
$('#butKEL').click(function(){
|
||||
//if ($('#KelID').val()>0)
|
||||
this.show_hide(3);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divOPD').addClass('d-none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEL').addClass('d-none'); $('#butKEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#OPDID').val(0);
|
||||
$('#Nama_OPD').val('');
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 2) {
|
||||
$('#KelID').val(0);
|
||||
$('#Nama_KEL').val('');
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 3) {
|
||||
$('#butKEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divOPD').removeClass('d-none'); this.data_query('tabel-opd'); }
|
||||
if (no == 2) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 3) { $('#divKEL').removeClass('d-none'); this.data_query('tabel-kel'); }
|
||||
if (no == 4) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
opd_select: function(acell){
|
||||
$('#OPDID').val(acell[0]);
|
||||
$('#Nama_OPD').val(acell[2]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[2]);
|
||||
this.show_hide(3);
|
||||
},
|
||||
|
||||
kel_select: function(acell){
|
||||
$('#KelID').val(acell[0]);
|
||||
$('#Nama_KEL').val(acell[2]);
|
||||
this.show_hide(4);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Desa', ajson.html, 'xl', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','OPDID','KecID','KelID','UsulanLID','StatusID'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_1: function(acell){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=update','OPDID','KecID','KelID','UsulanLID='+acell[0],'StatusID=1'],
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_2: function(acell){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=update','OPDID','KecID','KelID','UsulanLID='+acell[0],'StatusID=2'],
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_3: function(acell){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=update','OPDID','KecID','KelID','UsulanLID='+acell[0],'StatusID=3'],
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_4: function(acell){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=update','OPDID','KecID','KelID','UsulanLID='+acell[0],'StatusID=4'],
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_5: function(acell){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=update','OPDID','KecID','KelID','UsulanLID='+acell[0],'StatusID=5'],
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-opd"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-opd']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec','OPDID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kel','OPDID','KecID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','OPDID','KecID','KelID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/hasil_opd.js
|
||||
Desc. : JS - Cetak Hasil Forum / OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoHasilOPDJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
if ($('#OPDID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Perangkat Daerah !');
|
||||
return false;
|
||||
}
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.add_param("StatusID");
|
||||
dpdf.showPDF();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/hasil_status.js
|
||||
Desc. : JS - Cetak Hasil Forum / Status
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoHasilStatusJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
if ($('#StatusID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Status !');
|
||||
return false;
|
||||
}
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.add_param("StatusID");
|
||||
dpdf.showPDF();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/forum/ba_kec.js
|
||||
Desc. : JS - Cetak Berita Acara / Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var FRepoBAKecJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
this.oc_Forum();
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
if ($('#KecID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Kecamatan !');
|
||||
return false;
|
||||
}
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("KecID");
|
||||
dpdf.add_param("ForumID");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.add_param("StatusID");
|
||||
dpdf.showPDF();
|
||||
},
|
||||
|
||||
oc_Forum: function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=option-opd','KecID','ForumID']
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,11 @@
|
||||
[css]
|
||||
login_stamp = "11229708403"
|
||||
login_file = "8a25ffac300c235e91afa3a9bf7a6465.css"
|
||||
index_stamp = "24405838564"
|
||||
index_file = "89712697d169a55cbea5c528e22fabdf.css"
|
||||
|
||||
[js]
|
||||
login_stamp = "18803911025"
|
||||
login_file = "1df974b9b69bc7c69b4dd20c04dcf282.js"
|
||||
index_stamp = "43194279401"
|
||||
index_file = "a995020588476ba8ccc51904c4ce5354.js"
|
||||
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /index.php
|
||||
Desc. : PHP Page - Halaman Utama Aplikasi Web
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : May 28th, 2011.
|
||||
Last Modified : January 21st, 2024.
|
||||
|
||||
(c) 2011 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../vendor/autoload.php");
|
||||
require_once(__DIR__."/apps/cfg/app.php");
|
||||
|
||||
use siaupheng\fonia3\App;
|
||||
use siaupheng\fonia3\Web\Auth;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
|
||||
/*function requestData($url, $postdata = null){
|
||||
$ch = curl_init($url);
|
||||
$headers = array( 'Accept: application/json' );
|
||||
curl_setopt_array($ch, array(
|
||||
CURLOPT_POST => 1,
|
||||
CURLOPT_HTTPHEADER => $headers,
|
||||
CURLOPT_POSTFIELDS => $postdata,
|
||||
CURLOPT_RETURNTRANSFER =>true,
|
||||
CURLOPT_VERBOSE => 1
|
||||
));
|
||||
$output = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
return $output;
|
||||
}
|
||||
|
||||
$token = $_GET['token'];
|
||||
if (!empty($token) && !$_SESSION['token']) $_SESSION['token'] = $token;
|
||||
$user = "";
|
||||
if ($_SESSION['token']) {
|
||||
$url = "http://127.0.0.1/TEST/sso/provider/cek_token.php?token=".$_SESSION['token'];
|
||||
$respon = json_decode(requestData($url));
|
||||
$user = $respon->data;
|
||||
if ($respon->code != 200) {
|
||||
unset($_SESSION['token']);
|
||||
}
|
||||
}*/
|
||||
|
||||
$db = $db ?? new MySQL();
|
||||
$auth = new Auth($db);
|
||||
$auth->set_id_reg($_SESSION['__WEB_APP']['PARENT_CODE']);
|
||||
|
||||
$token = Param::Get("auth", "");
|
||||
if (!empty($token) && !$_SESSION['APP_TOKEN']) $_SESSION['APP_TOKEN'] = $token;
|
||||
if ($_SESSION['APP_TOKEN']) {
|
||||
if ($auth->token_check()) {
|
||||
if (!isset($_SESSION['__WEB_USER'])) {
|
||||
$auser = $auth->user_data($auth->getUserByToken($_SESSION['APP_TOKEN']));
|
||||
$nlevel = intval($auser['Level']);
|
||||
if ($nlevel == 2) { // KECAMATAN
|
||||
$auser['Grup_MenuID'] = 7;
|
||||
//UPDATE KEC + KEL ARRAY DATA
|
||||
$auser['A_KEC'] = explode(",", $auser['AK_KEC']);
|
||||
$auser['A_KEL'] = explode(",", $auser['AK_KEL']);
|
||||
} else if ($nlevel == 3) { // OPD
|
||||
$auser['Grup_MenuID'] = 4;
|
||||
$db->Query("SELECT IK FROM para90_opd WHERE OPDID IN (".$auser['AK_OPD'].")");
|
||||
if ($db->Next()) { if ($db->Row("IK",0)==1) $auser['Grup_MenuID'] = 3; }
|
||||
//UPDATE OPD ARRAY DATA
|
||||
$auser['A_OPD'] = explode(",", $auser['AK_OPD']);
|
||||
} else if ($nlevel == 5) {// DPRD
|
||||
$auser['Grup_MenuID'] = 5;
|
||||
//UPDATE DPRD ARRAY DATA
|
||||
$auser['A_DPRD'] = explode(",", $auser['AK_DPRD']);
|
||||
} else if ($nlevel == 9) {// VIEWER
|
||||
$auser['Grup_MenuID'] = 9;
|
||||
}
|
||||
if (intval($auser['Grup_MenuID']) > 0) $auser['Menu_Grup'] = $auth->user_allmenu($auser['Grup_MenuID']);
|
||||
$_SESSION['__WEB_USER'] = $auser;
|
||||
}
|
||||
$auth->gen_module_menu();
|
||||
$auth->user_log();
|
||||
} else {
|
||||
unset($_SESSION['APP_TOKEN']);
|
||||
unset($_SESSION['__WEB_USER']);
|
||||
}
|
||||
}
|
||||
|
||||
require_once(__DIR__."/apps/cfg/assets.php");
|
||||
|
||||
$html = new App();
|
||||
$html->TampilApp();
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/cfg/app.php
|
||||
Desc. : Konfigurasi Global Aplikasi
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : November 7th, 2009.
|
||||
Last Modified : January 12th, 2026.
|
||||
|
||||
(c) 2009 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/mysql.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
|
||||
if (($_SESSION['__WEB_APP']['APP_CODE'] ?? "")<>"1909811005") {
|
||||
foreach ($_SESSION as $_key => $_val) {
|
||||
if (substr($_key,0,5)=="__WEB") unset($_SESSION[$_key]);
|
||||
if (substr($_key,0,5)=="__APP") unset($_SESSION[$_key]);
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($_SESSION['__WEB_APP'])) {
|
||||
$real_path = str_replace("\\", "/", __DIR__);
|
||||
$real_path = str_replace("apps/cfg", "", $real_path);
|
||||
$web_path = str_replace($_SERVER['DOCUMENT_ROOT'], "/", $real_path);
|
||||
$web_path = str_replace("//", "/", $web_path);
|
||||
$real_path = str_replace("//", "/", $real_path);
|
||||
|
||||
$apps = [];
|
||||
$apps['APP_CODE'] = "1909811005";
|
||||
$apps['APP_NAME'] = "eMusrenbang";
|
||||
$apps['APP_NAMES'] = "Usulan Musrenbang Kecamatan";
|
||||
$apps['APP_VER'] = "2.0";
|
||||
$apps['APP_UPDATED'] = "January 12th, 2026.";
|
||||
$apps['APP_SID'] = md5(time());
|
||||
$apps['APP_LOCALE'] = ["id"=>"Indonesia", "en"=>"English"];
|
||||
$apps['DEF_LOCALE'] = "id";
|
||||
$apps['AUTH_OVER'] = false;
|
||||
$apps['AUTH_LEVEL'] = 1;
|
||||
$apps['USER_LEVEL'] = [0 => "ADMINISTRATOR", 1 => "KABUPATEN / BIDANG", 2 => "KECAMATAN", 3 => "OPD", 5 => "DPRD", 9 => "VIEWER"];
|
||||
$apps['USER_LOG'] = true;
|
||||
$apps['USE_QZTRAY'] = false;
|
||||
$apps['CREATOR_YEAR'] = "2019";
|
||||
$apps['CREATOR_NAME'] = "3FONIA Software";
|
||||
$apps['CREATOR_WEBSITE'] = "http://www.3fonia.com";
|
||||
$apps['WEB_PATH'] = $web_path;
|
||||
$apps['REAL_PATH'] = $real_path;
|
||||
$apps['MODULE_PATH'] = "../";
|
||||
$apps['PARENT_SUB'] = true;
|
||||
$apps['PARENT_CODE'] = "1909811004";
|
||||
$apps['PARENT_SITE'] = "https://sippdkabsambas.com";
|
||||
|
||||
$db->Query("SELECT * FROM app_config WHERE REG_ID='".$apps['APP_CODE']."' LIMIT 1");
|
||||
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
|
||||
if ($apps['APP_BUILD']<>"") $apps['APP_VER'] = $apps['APP_BUILD'];
|
||||
|
||||
$db->Query("SELECT * FROM sippd_config WHERE REG_ID='".$apps['PARENT_CODE']."' LIMIT 1");
|
||||
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
|
||||
$db->Query("SELECT Tahun1,Tahun2,Tahun3,Tahun4,Tahun5,Tahun_Min,Tahun_Max,Ket N_RPJMD FROM vi_para_rpjmd WHERE RPJMDID='".$apps['RENC_RPJMDID']."' LIMIT 1");
|
||||
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
|
||||
if ($apps['Tahun1']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T1";
|
||||
if ($apps['Tahun2']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T2";
|
||||
if ($apps['Tahun3']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T3";
|
||||
if ($apps['Tahun4']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T4";
|
||||
if ($apps['Tahun5']==$apps['RENC_THN']) $apps['RENC_FIELD'] = "_T5";
|
||||
$_SESSION['__WEB_APP'] = $apps;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/cfg/assets.php
|
||||
Desc. : Konfigurasi Assets Aplikasi [css / js]
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : November 23rd, 2019.
|
||||
Last Modified : January 21st, 2024.
|
||||
|
||||
(c) 2019 - 2024, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
$A_CSS = ["bootstrap/bootstrap.icon.css", "bootstrap/bootstrap.css"];
|
||||
$A_JS = ["jquery/jquery.js", "jquery/jquery.base64.js", "bootstrap/bootstrap.bundle.js", "fonia3.js"];
|
||||
|
||||
if (!user_logged()) {
|
||||
$A_JS[] = "jquery/jquery.backstretch.js";
|
||||
|
||||
} else {
|
||||
$A_CSS[] = "datatables/dataTables.bootstrap5.css";
|
||||
$A_CSS[] = "datatables/responsive.bootstrap5.css";
|
||||
$A_CSS[] = "datatables/scroller.bootstrap5.css";
|
||||
$A_CSS[] = "datatables/stateRestore.bootstrap5.css";
|
||||
$A_CSS[] = "select2/select2.css";
|
||||
$A_CSS[] = "select2/select2-bootstrap-5-theme.css";
|
||||
$A_CSS[] = "bootstrap/bootstrap.datepicker.css";
|
||||
//$A_CSS[] = "simplebar.css";
|
||||
//$A_CSS[] = "lightbox.css";
|
||||
//$A_CSS[] = "codemirror.css";
|
||||
//$A_CSS[] = "summernote-bs4.css";
|
||||
$A_CSS[] = "default.css";
|
||||
$A_CSS[] = "print.css";
|
||||
|
||||
$A_JS = [
|
||||
"jquery/jquery.js",
|
||||
"jquery/jquery.base64.js",
|
||||
"jquery/jquery.autosize.js",
|
||||
"jquery/jquery.maskedinput.js",
|
||||
"jquery/jquery.validate.js",
|
||||
"bootstrap/bootstrap.bundle.js",
|
||||
"bootstrap/bootstrap.datepicker.js",
|
||||
"bootstrap/bootstrap.autocomplete.js",
|
||||
"datatables/jquery.dataTables.js",
|
||||
"datatables/dataTables.bootstrap5.js",
|
||||
"datatables/dataTables.responsive.js",
|
||||
"datatables/responsive.bootstrap5.js",
|
||||
"datatables/dataTables.scroller.js",
|
||||
"datatables/dataTables.stateRestore.js",
|
||||
"datatables/stateRestore.bootstrap5.js",
|
||||
//"codemirror/codemirror.js",
|
||||
//"codemirror/xml.js",
|
||||
"moment.js",
|
||||
"select2/select2.js",
|
||||
"chart/chart.js",
|
||||
//"chart/chartjs-plugin-datalabels.js",
|
||||
//"simplebar.js",
|
||||
//"lightbox.js",
|
||||
//"summernote-bs4.js",
|
||||
//"html5-qrcode.js",
|
||||
"fonia3.js",
|
||||
"print.js",
|
||||
"pdf.js",
|
||||
"export.js",
|
||||
//"simulator.js",
|
||||
//"pole-display.js"
|
||||
];
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/cfg/mysql.php
|
||||
Desc. : Konfigurasi Server MySQL
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : November 7th, 2009.
|
||||
Last Modified : June 28th, 2020.
|
||||
|
||||
(c) 2009 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
$APP_DATA = [
|
||||
'host' => "127.0.0.1",
|
||||
'port' => "3306",
|
||||
'user' => "sippd_sambas",
|
||||
'pwd' => "s1ppds4mb4s@",
|
||||
'db' => "sippd_sambas",
|
||||
'sock' => ""
|
||||
];
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,93 @@
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/js/index.js
|
||||
Desc. : JS - Halaman Utama Desktop
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : May 24th, 2010.
|
||||
Last Modified : August 15th, 2019.
|
||||
|
||||
(c) 2010 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
$(document).ready(function(){
|
||||
jQuery("#preloader").remove();
|
||||
loadSidebar();
|
||||
IndexJS.loading();
|
||||
});
|
||||
|
||||
var IndexJS = {
|
||||
|
||||
loading: function(){
|
||||
new Request.JSON({
|
||||
url: FoniaJS.WEB_PATH+'apps/php/index.php',
|
||||
sendParam: ['data=default'],
|
||||
onSuccess: function(ares){
|
||||
$('#pageContent').html(ares.content);
|
||||
$('#pageToolbarTop').html('');
|
||||
$('#pageToolbarBot').html('');
|
||||
this.loadPagu();
|
||||
this.loadChart();
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
loadPagu: function(){
|
||||
new Request.JSON({
|
||||
url: FoniaJS.WEB_PATH+'apps/php/index.php',
|
||||
sendParam: ['data=pagu-info'],
|
||||
onSuccess: function(ares){
|
||||
$('#divHome1').html(ares.html);
|
||||
}
|
||||
}).send();
|
||||
},
|
||||
|
||||
loadChart: function(){
|
||||
new Request.JSON({
|
||||
url: FoniaJS.WEB_PATH+'apps/php/index.php',
|
||||
sendParam: ['data=pagu-chart'],
|
||||
onSuccess: function(data){
|
||||
var ctx = $('#pieChart');
|
||||
var pieOptions = {
|
||||
legend: { display: true, position: 'bottom', labels:{pointStyle:'circle', usePointStyle:true} },
|
||||
aspectRatio: 1.3,
|
||||
cutoutPercentage: 35,
|
||||
responsiveAnimationDuration: 10,
|
||||
responsive: true,
|
||||
maintainAspectRatio: true,
|
||||
onResize: function(mcha, size) {
|
||||
var leg = (size.width <= 330) ? false : true;
|
||||
mcha.options.legend.display = leg;
|
||||
}
|
||||
};
|
||||
var myChart = new Chart(ctx, {
|
||||
type: 'doughnut',
|
||||
data: data,
|
||||
options: pieOptions
|
||||
});
|
||||
}
|
||||
}).send();
|
||||
}
|
||||
};
|
||||
|
||||
function loadSidebar(){
|
||||
const mySidebar = document.getElementById('sidebarMain');
|
||||
mySidebar.addEventListener('shown.bs.modal', () => {
|
||||
document.querySelectorAll('.sidebar .nav-link').forEach((element) => {
|
||||
element.addEventListener('click', (e) => {
|
||||
let nextEl = element.nextElementSibling, parentEl = element.parentElement;
|
||||
if (nextEl){
|
||||
e.preventDefault();
|
||||
let mycollapse = new bootstrap.Collapse(nextEl);
|
||||
if (nextEl.classList.contains('show')){
|
||||
mycollapse.hide();
|
||||
} else {
|
||||
mycollapse.show();
|
||||
var opened_submenu = parentEl.parentElement.querySelector('.submenu.show');
|
||||
if (opened_submenu){ new bootstrap.Collapse(opened_submenu); }
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/js/login.js
|
||||
Desc. : JS - Halaman Proses Login
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : January 15th, 2008.
|
||||
Last Modified : June 28th, 2020.
|
||||
|
||||
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
$(document).ready(function(){
|
||||
$('#butLogin').click(LoginJS.Proses_Login);
|
||||
$('#Username').keydown(function(e){
|
||||
if (e.which==13) $('#Password').focus();
|
||||
});
|
||||
$('#Password').keydown(function(e){
|
||||
if (e.which==13) $('#butLogin').trigger('click');
|
||||
});
|
||||
LoginJS.Tampil_Login();
|
||||
document.oncontextmenu = new Function ('return false');
|
||||
|
||||
if (jQuery.backstretch){
|
||||
jQuery.backstretch([
|
||||
[
|
||||
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/jami_1280.jpg" },
|
||||
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/jami_960.jpg" }
|
||||
],
|
||||
[
|
||||
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/istana_1280.jpg" },
|
||||
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/istana_960.jpg" }
|
||||
],
|
||||
[
|
||||
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/tugu_1280.jpg" },
|
||||
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/tugu_960.jpg" }
|
||||
]
|
||||
], {
|
||||
duration: 6000,
|
||||
transition: 'push_left|push_right|cover_up|cover_down|fade',
|
||||
transitionDuration: 600
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var LoginJS = {
|
||||
|
||||
Tampil_Login: function(){
|
||||
var Username = FoniaJS.getCookie('Username');
|
||||
if (Username != '') {
|
||||
$('#Username').val(Username);
|
||||
FoniaJS.setFocus('#Password');
|
||||
} else {
|
||||
FoniaJS.setFocus('#Username');
|
||||
}
|
||||
},
|
||||
|
||||
Proses_Login: function(){
|
||||
if (!$('#Username').val()){
|
||||
$('#Username').focus();
|
||||
FoniaJS.showError('Silahkan masukkan ID Pengguna !');
|
||||
return false;
|
||||
}
|
||||
if (!$('#Password').val()){
|
||||
$('#Password').focus();
|
||||
FoniaJS.showError('Silahkan masukkan Kata Sandi !');
|
||||
return false;
|
||||
}
|
||||
new Request.JSON({
|
||||
url: FoniaJS.WEB_PATH+'apps/php/login.php',
|
||||
sendParam: ['mode=login','Username','Password'],
|
||||
onSuccess: function(respon){
|
||||
if (respon.hasil == 'SUKSES'){
|
||||
FoniaJS.setCookie('Username', $('#Username').val(), 365);
|
||||
$('#divLoginMsg').html(respon.pesan).removeClass('d-none');
|
||||
$('.input-group').addClass('d-none');
|
||||
setTimeout(function(){self.location = FoniaJS.WEB_PATH+'?auth='+(respon.token??'');}, 1600);
|
||||
}else{
|
||||
FoniaJS.showInfo(respon.pesan, 3000);
|
||||
if (respon.redir) setTimeout(function(){self.location = respon.redir;}, 600);
|
||||
}
|
||||
}
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,43 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/form_kec.js
|
||||
Desc. : JS - Cetak Form Usulan Musrenbang Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoFormKecJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
if ($('#KecID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Kecamatan !');
|
||||
return false;
|
||||
}
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("KecID");
|
||||
dpdf.add_param("KelID");
|
||||
dpdf.showPDF();
|
||||
},
|
||||
|
||||
oc_Kec: function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=option-kel','KecID']
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/hasil_kec.js
|
||||
Desc. : JS - Cetak Hasil Usulan Musrenbang Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoHasilKecJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
if ($('#KecID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Kecamatan !');
|
||||
return false;
|
||||
}
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tipe");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("KecID");
|
||||
dpdf.showPDF();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,60 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/usul_desa.js
|
||||
Desc. : JS - Laporan Daftar Usulan / Desa
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : June 11th, 2022.
|
||||
|
||||
(c) 2014 - 2022, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoUsulDesaJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butExcel').click(function(){this.proses_excel();}.bind(this));
|
||||
$('#butPrint').click(function(){this.proses_print(true);}.bind(this));
|
||||
$('#butPreview').click(function(){this.proses_print(false);}.bind(this));
|
||||
},
|
||||
|
||||
proses_excel: function(){
|
||||
if ($('#KecID').val() == 0 || $('#KelID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Kecamatan dan Nama Desa !');
|
||||
return false;
|
||||
}
|
||||
var dload = new cEXPORT(this.PHP);
|
||||
dload.add_param("data", "xls");
|
||||
dload.add_param("Tipe");
|
||||
dload.add_param("Tahun");
|
||||
dload.add_param("KelID");
|
||||
dload.add_param("KecID");
|
||||
dload.download();
|
||||
},
|
||||
|
||||
proses_print: function(prt){
|
||||
if ($('#KecID').val() == 0 || $('#KelID').val() == 0) {
|
||||
FoniaJS.showInfo('Silahkan Pilih Nama Kecamatan dan Nama Desa !');
|
||||
return false;
|
||||
}
|
||||
var cetak = new cPRINTER(this.PHP);
|
||||
cetak.set_zoom(80);
|
||||
cetak.add_param("data", "print");
|
||||
cetak.add_param("Tipe");
|
||||
cetak.add_param("Tahun");
|
||||
cetak.add_param("KelID");
|
||||
cetak.add_param("KecID");
|
||||
if (prt) { cetak.doPrint(); } else cetak.doPreview();
|
||||
},
|
||||
|
||||
oc_Kec: function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=option-kel','KecID']
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,40 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/usul_kecdesa.js
|
||||
Desc. : JS - Laporan Daftar Usulan / Kecamatan & Desa
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoUsulKecDesaJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tipe");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("KecID");
|
||||
dpdf.add_param("KelID");
|
||||
dpdf.showPDF();
|
||||
},
|
||||
|
||||
oc_Kec: function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=option-kel','KecID']
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/repo/usul_kecopd.js
|
||||
Desc. : JS - Laporan Daftar Usulan / Kecamatan & OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : March 21st, 2014.
|
||||
Last Modified : January 30th, 2021.
|
||||
|
||||
(c) 2014 - 2021, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var RepoUsulKecOPDJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butPDF').click(function(){this.proses_pdf();}.bind(this));
|
||||
},
|
||||
|
||||
proses_pdf: function(){
|
||||
var dpdf = new cPDF(this.PHP);
|
||||
dpdf.set_zoom(80);
|
||||
dpdf.add_param("data", "pdf");
|
||||
dpdf.add_param("Tipe");
|
||||
dpdf.add_param("Tahun");
|
||||
dpdf.add_param("KecID");
|
||||
dpdf.add_param("OPDID");
|
||||
dpdf.showPDF();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,55 @@
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/js/sys/chpasswd.js
|
||||
Desc. : JS - Perubahan Password Operator
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : December 7th, 2008.
|
||||
Last Modified : April 25th, 2020.
|
||||
|
||||
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var SYSChpasswdJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butSave').click(function(){this.proses_save();}.bind(this));
|
||||
FoniaJS.setFocus('#LPass');
|
||||
},
|
||||
|
||||
proses_save: function(){
|
||||
if ($("#LPass").val()=="") {
|
||||
FoniaJS.showInfo("Silakan masukkan password lama Anda!");
|
||||
FoniaJS.setFocus("#LPass");
|
||||
return false;
|
||||
} else if ($("#BPass1").val()=="") {
|
||||
FoniaJS.showInfo("Silakan masukkan password baru 1 Anda!");
|
||||
FoniaJS.setFocus("#BPass1");
|
||||
return false;
|
||||
} else if ($("#BPass2").val()=="") {
|
||||
FoniaJS.showInfo("Silakan masukkan password baru 2 Anda!");
|
||||
FoniaJS.setFocus("#BPass2");
|
||||
return false;
|
||||
} else if ($("#BPass1").val()!=$("#BPass2").val()) {
|
||||
FoniaJS.showInfo("Password baru 1 dan 2 Anda tidak sama!");
|
||||
FoniaJS.setFocus("#BPass1");
|
||||
return false;
|
||||
}
|
||||
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=chpasswd','LPass','BPass1','BPass2'],
|
||||
onSuccess: function(ajson){
|
||||
if (ajson.status == true) {
|
||||
FoniaJS.showInfo(ajson.msg);
|
||||
FoniaJS.closeWindow('#win'+this.KODE);
|
||||
} else {
|
||||
FoniaJS.showError(ajson.msg);
|
||||
}
|
||||
}.bind(this)
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,159 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/desa.js
|
||||
Desc. : JS - Usulan Desa
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var MUsulDesaJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
$('#butKEL').click(function(){
|
||||
if ($('#KelID').val()>0) this.show_hide(2);
|
||||
}.bind(this));
|
||||
$('#butBEL').click(function(){
|
||||
if ($('#BelID').val()>0) this.show_hide(3);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEL').addClass('d-none'); $('#butKEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divBEL').addClass('d-none'); $('#butBEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#Hak_Usulan').val(1);
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#KelID').val(0);
|
||||
$('#Nama_KEL').val('');
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 2) {
|
||||
$('#BelID').val(0);
|
||||
$('#Nama_BEL').val('');
|
||||
$('#butKEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 3) {
|
||||
$('#butBEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 2) { $('#divKEL').removeClass('d-none'); this.data_query('tabel-kel'); }
|
||||
if (no == 3) { $('#divBEL').removeClass('d-none'); this.data_query('tabel-bel'); }
|
||||
if (no == 4) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[3]);
|
||||
$('#Hak_Usulan').val(acell[1]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
kel_select: function(acell){
|
||||
$('#KelID').val(acell[0]);
|
||||
$('#Nama_KEL').val(acell[2]);
|
||||
this.show_hide(3);
|
||||
},
|
||||
|
||||
bel_select: function(acell){
|
||||
$('#BelID').val(acell[0]);
|
||||
$('#Nama_BEL').val(acell[2]);
|
||||
this.show_hide(4);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'Hak_Usulan','UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
|
||||
if ($('#Hak_Usulan').val()==0) tombol.pop();
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Desa', ajson.html, 'xl', tombol, function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
$('#formUsulDesa').validate({
|
||||
rules: {
|
||||
required: true,
|
||||
OPDID: {required:true, min:1},
|
||||
Volume: {required:true, double_id:true},
|
||||
SatuanID: {required:true, min:1},
|
||||
Rupiah: {required:true, double_id:true}
|
||||
}
|
||||
});
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_tambah: function(){
|
||||
this.keg_detail('insert', 0);
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_hapus: function(acell){
|
||||
FoniaJS.showConfirm('Konfirmasi', 'Hapus usulan <b>"'+acell[2]+'"</b> ?', function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=delete','Hak_Usulan','KecID','KelID','BelID','UsulanLID='+acell[0]],
|
||||
onSuccess: function(adata){
|
||||
FoniaJS.showInfo('Proses hapus data sukses!');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
}.bind(this), 'danger');
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
$('#formUsulDesa').submit();
|
||||
if (true !== $('#formUsulDesa').validate().checkForm()) return false;
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','Hak_Usulan','OPDID','KecID','KelID','BelID','UsulanLID','Lokasi','Dusun','RT','Masalah','Usulan','Sasaran','Waktu','Volume','SatuanID','Rupiah'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kel','KecID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-bel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-bel','KecID','KelID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','Hak_Usulan','KecID','KelID','BelID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,129 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/hasil.js
|
||||
Desc. : JS - nput Hasil Usulan Desa
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 13th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var MUsulHasilJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
$('#butKEL').click(function(){
|
||||
if ($('#KelID').val()>0) this.show_hide(2);
|
||||
}.bind(this));
|
||||
$('#butOPD').click(function(){
|
||||
if ($('#OPDID').val()>0) this.show_hide(3);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEL').addClass('d-none'); $('#butKEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divOPD').addClass('d-none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#KelID').val(0);
|
||||
$('#Nama_KEL').val('');
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 2) {
|
||||
$('#OPDID').val(0);
|
||||
$('#Nama_OPD').val('');
|
||||
$('#butKEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 3) {
|
||||
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 2) { $('#divKEL').removeClass('d-none'); this.data_query('tabel-kel'); }
|
||||
if (no == 3) { $('#divOPD').removeClass('d-none'); this.data_query('tabel-opd'); }
|
||||
if (no == 4) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[2]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
kel_select: function(acell){
|
||||
$('#KelID').val(acell[0]);
|
||||
$('#Nama_KEL').val(acell[2]);
|
||||
this.show_hide(3);
|
||||
},
|
||||
|
||||
opd_select: function(acell){//
|
||||
$('#OPDID').val(acell[0]);
|
||||
$('#Nama_OPD').val(acell[2]);
|
||||
this.show_hide(4);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Desa', ajson.html, 'xl', [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
$('#Prio').focus();
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','OPDID','KecID','KelID','UsulanLID','Prio'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kel','KecID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-opd"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-opd','KecID','KelID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','KecID','KelID','OPDID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,117 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/kec.js
|
||||
Desc. : JS - Usulan Kecamatan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 13th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var MUsulKecJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#Hak_Usulan').val(1);
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 2) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[3]);
|
||||
$('#Hak_Usulan').val(acell[1]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'Hak_Usulan','KecID','UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
|
||||
if ($('#Hak_Usulan').val()==0) tombol.pop();
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Kecamatan', ajson.html, 'xl', tombol, function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
$('#formUsulKec').validate({
|
||||
rules: {
|
||||
required: true,
|
||||
OPDID: {required:true, min:1},
|
||||
Volume2: {required:true, double_id:true},
|
||||
SatuanID2: {required:true, min:1},
|
||||
Rupiah2: {required:true, double_id:true}
|
||||
}
|
||||
});
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_tambah: function(){
|
||||
this.keg_detail('insert', 0);
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_hapus: function(acell){
|
||||
FoniaJS.showConfirm('Konfirmasi', 'Hapus usulan <b>"'+acell[2]+'"</b> ?', function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=delete','Hak_Usulan','KecID','UsulanLID='+acell[0]],
|
||||
onSuccess: function(adata){
|
||||
FoniaJS.showInfo('Proses hapus data sukses!');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
}.bind(this), 'danger');
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
$('#formUsulKec').submit();
|
||||
if (true !== $('#formUsulKec').validate().checkForm()) return false;
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','Hak_Usulan','OPDID','KecID','KelID','UsulanLID','Lokasi2','Dusun2','RT2','Masalah2','Usulan2','Sasaran2','Waktu2','Volume2','SatuanID2','Rupiah2'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','Hak_Usulan','KecID']
|
||||
}).send();
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
@@ -0,0 +1,140 @@
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/js/usul/prio.js
|
||||
Desc. : JS - Prioritas Usulan Desa
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
var MUsulPrioJS = {
|
||||
PHP: '',
|
||||
KODE: '',
|
||||
|
||||
loading: function(){
|
||||
$('#butKEC').click(function(){
|
||||
if ($('#KecID').val()>0) this.show_hide(1);
|
||||
}.bind(this));
|
||||
$('#butKEL').click(function(){
|
||||
if ($('#KelID').val()>0) this.show_hide(2);
|
||||
}.bind(this));
|
||||
$('#butSID').click(function(){
|
||||
if ($('#SidangID').val()>0) this.show_hide(3);
|
||||
}.bind(this));
|
||||
this.show_hide(1);
|
||||
},
|
||||
|
||||
show_hide: function(no){
|
||||
$('#divKEC').addClass('d-none'); $('#butKEC').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEL').addClass('d-none'); $('#butKEL').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divSID').addClass('d-none'); $('#butSID').removeClass('btn-secondary').addClass('btn-info');
|
||||
$('#divKEG').addClass('d-none');
|
||||
if (no == 1) {
|
||||
$('#KecID').val(0);
|
||||
$('#Nama_KEC').val('');
|
||||
$('#Hak_Prioritas').val(1);
|
||||
}
|
||||
if (no <= 1) {
|
||||
$('#KelID').val(0);
|
||||
$('#Nama_KEL').val('');
|
||||
$('#butKEC').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 2) {
|
||||
$('#SidangID').val(0);
|
||||
$('#Nama_SID').val('');
|
||||
$('#butKEL').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no <= 3) {
|
||||
$('#butSID').removeClass('btn-info').addClass('btn-secondary');
|
||||
}
|
||||
if (no == 1) { $('#divKEC').removeClass('d-none'); this.data_query('tabel-kec'); }
|
||||
if (no == 2) { $('#divKEL').removeClass('d-none'); this.data_query('tabel-kel'); }
|
||||
if (no == 3) { $('#divSID').removeClass('d-none'); this.data_query('tabel-sid'); }
|
||||
if (no == 4) { $('#divKEG').removeClass('d-none'); this.data_query('tabel-keg'); }
|
||||
},
|
||||
|
||||
kec_select: function(acell){
|
||||
$('#KecID').val(acell[0]);
|
||||
$('#Nama_KEC').val(acell[3]);
|
||||
$('#Hak_Prioritas').val(acell[1]);
|
||||
this.show_hide(2);
|
||||
},
|
||||
|
||||
kel_select: function(acell){
|
||||
$('#KelID').val(acell[0]);
|
||||
$('#Nama_KEL').val(acell[2]);
|
||||
this.show_hide(3);
|
||||
},
|
||||
|
||||
sid_select: function(acell){
|
||||
$('#SidangID').val(acell[0]);
|
||||
$('#Nama_SID').val(acell[2]);
|
||||
this.show_hide(4);
|
||||
},
|
||||
|
||||
keg_detail: function(mode, ID){
|
||||
new Request.JSON({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=detail-keg','mode_detail='+mode,'Hak_Prioritas','UsulanLID='+ID],
|
||||
onSuccess: function(ajson){
|
||||
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
|
||||
if ($('#Hak_Prioritas').val()==0) tombol.pop();
|
||||
this.winDKeg = FoniaJS.showWindow('DKeg', 'Detail Usulan Kegiatan Desa', ajson.html, 'xl', tombol, function(){
|
||||
$('#winDKeg').find('#butWSimpan').click(function(){this.keg_simpan();}.bind(this));
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
keg_ubah: function(acell){
|
||||
this.keg_detail('update', acell[0]);
|
||||
},
|
||||
|
||||
keg_simpan: function(){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail','Hak_Prioritas','KecID','KelID','SidangID','UsulanLID','Prio'],
|
||||
onSuccess: function(){
|
||||
FoniaJS.closeWindow(this.winDKeg);
|
||||
FoniaJS.showInfo('Sukses menyimpan Usulan Kegiatan.');
|
||||
}.bind(this)
|
||||
}).send();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-kec"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kec']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-kel"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-kel','KecID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-sid"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-sid','KecID','KelID']
|
||||
}).send();
|
||||
} else if (tipe=="tabel-keg"){
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','Hak_Prioritas','KecID','KelID','SidangID']
|
||||
}).send();
|
||||
}
|
||||
},
|
||||
|
||||
oc_Prio: function(el){
|
||||
var id = $(el).closest('tr').children('td:first').text();
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: ['data=tabel-keg','mode_detail=update','Hak_Prioritas','KecID','KelID','SidangID','UsulanLID='+id,'Prio='+$(el).val()],
|
||||
}).send();
|
||||
}
|
||||
|
||||
};
|
||||