<?php
$this->breadcrumbs=array(
'Product Deliveries'=>array('index'),
'Create',
);
//Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl.'/javascript/jquery-1.4.2.min.js',CClientScript::POS_HEAD);
Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl.'/javascript/jquery-ui-1.8.4.custom.min.js',CClientScript::POS_HEAD);
Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl.'/javascript/jquery.autocomplete.js',CClientScript::POS_HEAD);
Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl.'/javascript/ui.dropdownchecklist-1.1-min.js',CClientScript::POS_HEAD);
Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl.'/javascript/calendar.js',CClientScript::POS_HEAD);
Yii::app()->clientScript->registerCssFile(Yii::app()->request->baseUrl.'/css/cwcalendar.css', 'screen');
Yii::app()->clientScript->registerCssFile(Yii::app()->request->baseUrl.'/css/jquery.autocomplete.css', 'screen');
Yii::app()->clientScript->registerCssFile(Yii::app()->request->baseUrl.'/css/jquery-ui-1.8.4.custom.css', 'screen');
Yii::app()->clientScript->registerCssFile(Yii::app()->request->baseUrl.'/css/ui.dropdownchecklist.themeroller.css', 'screen');
?>
<br/>
<h1>Pembuatan Product Delivery /S.P.B </h1>
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'product-delivery-form',
'enableAjaxValidation'=>false,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary(array($model,$model2)); ?>
<table style="width:550px">
<tr>
<td><?php echo $form->labelEx($model,'delivery_order_no'); ?></td>
<td><?php echo $form->textField($model,'delivery_order_no',array("value"=>$model->getValue(),'maxlength'=>50,'class'=>'eek','onchange'=>'NoWhiteSpace(this);check(this,1);')); ?>
<?php echo $form->error($model,'delivery_order_no'); ?></td>
</tr>
<tr>
<td><?php echo $form->labelEx($model,'order_cust_no'); ?></td>
<td><?php echo $form->textField($model,'order_cust_no',array("class"=>"sono",'maxlength'=>50,'onchange'=>'NoWhiteSpace(this);check(this,2);')); ?>
<?php echo $form->error($model,'order_cust_no'); ?></td>
</tr>
<tr>
<td><?php echo $form->labelEx($model,'invoice_no'); ?></td>
<td><?php echo $form->textField($model,'invoice_no',array("class"=>"invno",'size'=>20,'maxlength'=>50,'onchange'=>'NoWhiteSpace(this);check(this,3);')); ?>
<?php echo $form->error($model,'invoice_no'); ?></td>
</tr>
<tr>
<td><?php echo $form->labelEx($model,'delivery_date'); ?></td>
<td><?php echo $form->textField($model,'delivery_date',array("value"=>date("Y-m-d"),'class'=>'meong')); ?>
<?php echo $form->error($model,'delivery_date'); ?></td>
</tr>
<tr>
<td><?php echo $form->labelEx($model,'shipping_date'); ?></td>
<td><?php echo $form->textField($model,'shipping_date',array("value"=>date("Y-m-d"),'class'=>'garong')); ?>
<?php echo $form->error($model,'shipping_date'); ?></td>
</tr>
<tr>
<td><?php echo $form->labelEx($model,'order_cust_date'); ?></td>
<td><?php echo $form->textField($model,'order_cust_date',array("id"=>"date1","onClick"=>'fPopCalendar("date1");')); ?>
<img src="<?php echo Yii::app()->request->baseUrl; ?>/images/calendar.png" id='gambar1' onclick='fPopCalendar("date1")'/>
<?php echo $form->error($model,'order_cust_date'); ?></td>
</tr>
<tr>
<td><?php echo $form->labelEx($model,'invoice_date'); ?></td>
<td><?php echo $form->textField($model,'invoice_date',array("id"=>"date2","onClick"=>'fPopCalendar("date2");')); ?>
<img src="<?php echo Yii::app()->request->baseUrl; ?>/images/calendar.png" id='gambar2' onclick='fPopCalendar("date2")'/>
<?php echo $form->error($model,'invoice_date'); ?></td>
</tr>
<tr>
<td><?php echo $form->labelEx($model,'customer_id'); ?></td>
<td><?php echo $form->dropDownList($model,'customer_id', Customer::model()->getCustomerDropDownList(),array("class"=>"ook")); ?>
<?php echo $form->error($model,'customer_id'); ?></td>
</tr>
<tr>
<td><?php echo $form->labelEx($model,'forwarding_agent'); ?></td>
<td><?php echo $form->textField($model,'forwarding_agent',array('size'=>20,'maxlength'=>128,'class'=>'sukasuka')); ?>
<?php echo $form->error($model,'forwarding_agent'); ?></td>
</tr>
<tr>
<td><?php echo $form->labelEx($model,'category'); ?></td>
<td><?php echo $form->dropDownList($model,'category',$model->getCat(),array('class'=>'cie')); ?>
<?php echo $form->error($model,'category'); ?></td>
</tr>
<tr>
<td><?php echo $form->labelEx($model,'keterangan'); ?></td>
<td><?php echo $form->textField($model,'keterangan',array('size'=>30,'maxlength'=>250)); ?>
<?php echo $form->error($model,'keterangan'); ?></td>
</tr>
</table>
<?php// echo $form->hiddenField($model,'last_update',array('value'=>date('Y-m-d h:i:s'))); ?>
<div class="row">
<table width="100%">
<tr>
<th >Product Number<span class="required">*</span></th>
<th >Product Description<span class="required">*</span></th>
<th >Quantity<span class="required">*</span></th>
<th >Serial Number</th>
<th >Chasis Number</th>
<th >Kelengkapan</th>
<th >Site</th>
<td> </td>
<td> </td>
</tr>
</table>
</div>
<fieldset id="participantsField">
<div class="participant">
<input class="user_selector" name="ProductDeliveryDetail[product_number][]" onchange="javascript:this.value=this.value.toUpperCase();NoWhiteSpace(this);" value="" size="16" id="num0"/>
<?php //echo $form->error($model2,'product_number'); ?>
<?php echo $form->textField($model2,'product_desc[]',array('size'=>'16','id'=>'desc0')); ?>
<?php //echo $form->error($model2,'product_desc'); ?>
<?php echo $form->textField($model2,'quantity[]',array('size'=>'16','value'=>'1','disabled'=>true)); ?>
<?php echo $form->textField($model2,'serial_number[]',array('size'=>'16','id'=>'ser0','onChange'=>'checkSerial(this,1);')); ?>
<?php //echo $form->error($model3,'serial_number'); ?>
<?php echo $form->textField($model2,'chasis_number[]',array('size'=>'16','id'=>'cha0','onChange'=>'checkSerial(this,2);')); ?>
<input type="hidden" name="ProductDeliveryDetail[kelengkapan][]" class="benge0"/>
<select class="s10" size="10">
<?php
foreach(Kelengkapan::model()->findAll() as $row1)
{
echo '<option value="'.$row1["id"].'">'.$row1["kelengkapan"].'</option>';
}
?>
</select>
<select id="ahh0" name="ProductDeliveryDetail[cust_loc_id][]">
<option value="" style="width:60px"> </option>
</select>
</div>
<br />
</fieldset>
<p class="hide_element" id="template">
<input class="user_selector" name="ProductDeliveryDetail[product_number][]" onchange="javascript:this.value=this.value.toUpperCase();NoWhiteSpace(this);" value="" size="16" id="num"/>
<?php //echo $form->error($model2,'product_number'); ?>
<?php echo $form->textField($model2,'product_desc[]',array('size'=>16,'id'=>'desc')); ?>
<?php //echo $form->error($model2,'product_desc'); ?>
<?php echo $form->textField($model2,'quantity[]',array('size'=>16,'value'=>'1','disabled'=>true)); ?>
<?php echo $form->textField($model2,'serial_number[]',array('size'=>'16','id'=>'ser','onChange'=>'checkSerial(this,1);')); ?>
<?php //echo $form->error($model3,'serial_number'); ?>
<?php echo $form->textField($model2,'chasis_number[]',array('size'=>'16','id'=>'cha','onChange'=>'checkSerial(this,2);')); ?>
<?php //echo $form->error($model3,'chasis_number'); ?>
<input type="hidden" name="ProductDeliveryDetail[kelengkapan][]" class="benge"/>
<?php //echo $form->hiddenField($model3,'kelengkapan[]',array('class'=>'benge')); ?>
<select class="s1" size="10">
<?php
foreach(Kelengkapan::model()->findAll() as $row1)
{
echo '<option value="'.$row1["id"].'">'.$row1["kelengkapan"].'</option>';
}
?>
</select>
<select id="ahh" name="ProductDeliveryDetail[cust_loc_id][]">
<option value="" style="width:60px;"> </option>
</select>
</p>
<?php //<p><a href="#" class="add" rel=".clone">Add More</a></p>?>
<p><input type="button" id="addParticipant" value="Tambah Pesanan"></p>
<div class="row buttons">
<?php //echo CHtml::submitButton($model->isNewRecord ? 'Simpan' : 'Save'); ?>
<?php echo CHtml::submitButton($model->isNewRecord ? 'Simpan' : 'Save',array('class'=>'super','onClick'=>'if(checkcok()==false)return false;$("#template").remove();')); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
<script type="text/javascript">
var current= 0;
function setAutocomplete()
{
$(".user_selector").autocomplete('<?php echo Yii::app()->request->baseUrl; ?>/index.php/productDelivery/autocomplete',
{
selectFirst: false,
width: 150,
}
);
$(".user_selector").result(function(event, data, formatted) {
if (data){
var oke=data[0].substring(2,4);
oke=data[1]+" "+oke;
$(this).next().val(oke);
}
});
}
var removeLink = ' <a class="remove" href="#" onclick="$(this).parent().slideUp(function(){ $(this).remove() });return false;">X</a>';
//var removeLink = ' <a class=\"remove\" href=\"#\" onclick=\"$()\">X</a>';
function bumped(data){
$(".s1"+data).dropdownchecklist( { forceMultiple: true,onComplete: function(selector) {
var values = "";
for( i=0; i < selector.options.length; i++ ) {
if (selector.options[i].selected && (selector.options[i].value != "")) {
if ( values != "" ) values += ",";
values +=selector.options[i].value;
}
}
$(".benge"+data).val(values);
} });
}
// var current= 0;
function checkNull()
{var e;
$(".participant").children(":input").each(function(i) {
var $currentElem= $(this);
e=$currentElem.val();
if(e=="")
{
alert('isilah');
return false;
}
}
);
}
function checkSerial(ele,tipe)
{
var data=ele.value;
if(data!="")
{
$.ajax({
url:'<?php echo Yii::app()->request->baseUrl; ?>/index.php/productDelivery/checkSerial',
data: "do="+data+"&tipe="+tipe,
cache: false,
success: function(msg){
if(msg=='sukses'){
alert('Nomor Tersebut sudah Ada');
ele.value="";
}
}
});
}
}
function checkcok()
{
var eek=$(".eek").val();
var meong=$(".meong").val();
var garong=$(".garong").val();
var date1=$("#date1").val();
var ook=$(".ook").val();
var sukasuka=$(".sukasuka").val();
var cie=$(".cie").val();
for(c=0;c<current+1;c++)
{
var num=$("#num"+c).val();
var desc=$("#desc"+c).val();
var ser=$("#ser"+c).val();
var cha=$("#cha"+c).val();
if(num==""||desc==""||eek==""||meong==""||garong==""||date1==""||ook==""||sukasuka==""||cie=="")
{
alert('Data dengan * harus Diisi');
return false;
}
if(ser!=""||cha!="")
{
for(o=c+1;o<current+1;o++)
{
var num1=$("#ser"+o).val();
var ha=$("#cha"+o).val();
if(num1!=""&&num1==ser||ha!=""&&ha==cha)
{
alert('Nomor Serial atau Nomor Chasis Tidak Boleh Sama');
return false;
}
}
}
}
}
var addParticipantFields = function()
{
if(checkcok()==false)return false;
current++;
$newParticipant = $("#template").clone();
$newParticipant.removeAttr("id");
$newParticipant.removeAttr("class");
$newParticipant.attr("class","participant");
$newParticipant.children(":input").each(function(i) {
var $currentElem= $(this);
$currentElem.attr("class",$currentElem.attr("class")+current);
$currentElem.attr("id",$currentElem.attr("id")+current);
});
//$newParticipant.children(\"select\").each(function(i){
//});
$newParticipant.appendTo("#participantsField");
$newParticipant.append(removeLink);
setAutocomplete();
bumped(current);
bush(current,bos);
}
function check(data,tipe)
{
//var val=$('.eek').val();
var val=data.value;
$.ajax({
url:'<?php echo Yii::app()->request->baseUrl; ?>/index.php/productDelivery/check',
data: "do="+val+"&tipe="+tipe,
cache: false,
success: function(msg){
if(msg=='sukses'){
alert('Nomor Tersebut sudah Ada');
switch(tipe)
{
case 1:data.value=dono;break;
case 2:data.value=sono;break;
case 3:data.value=invno;break;
default:data.value="";break;
}
}
}
});
}
var bos;
var getLoc=function()
{
var val=$('.ook').val();
$.ajax({
url:'<?php echo Yii::app()->request->baseUrl; ?>/index.php/productDelivery/getloc',
data: "id="+val,
cache: false,
success: function(msg){
data=msg.split("|");
var tes='<option value="0" style="width:auto;">Belum Tahu</option>';
for(i=0;i<data.length;i=i+2)
{
if(data[i+1]!=null)
tes+='<option value="'+data[i]+'" style="width:auto;">'+data[i+1]+'</option>';
}
bos=tes;
for(i=0;i<=current;i++)
{
bush(i,tes);
}
}
});
}
function bush(data,tes)
{
$("#ahh"+data).children("option").each(function(i){
var $currentElem= $(this);
$(this).remove();
});
$("#ahh"+data).append(tes);
}
function NoWhiteSpace(data)
{
var val=data.value;
data.value=val.replace(/\s+|\s+$/g,'');
}
var dono="";
var sono="";
var invno="";
$(document).ready(function() {
setAutocomplete();
bumped(current);
$("#addParticipant").live("click", addParticipantFields);
//$('.eek').live('change', check);
dono=$('.eek').val();
sono=$('.sono').val();
invno=$('.invno').val();
$('.ook').live('change', getLoc);
//$('.super').live('change', checkcok());
var isi=$('.ook').val();
if(isi!=null){getLoc();}
});
</script>
Mudah sekali, setiap klik, setautocompletenya…
ini main di file viewnya doang,
untuk autocompletenya udah tau kan cara proses nya di controller?
silahkan dipelajari,
yang di clone tu di div class participant.
sorry code i copas semua ya, bukan ga niat ngajarin, tapi cape gan plg kantor
sory bro bro semuam, dah lama ga buka.
jangan ragu kalau nanya mail ke bob.hartanto@gmail.com, tp jgn spam ya