Merge branch 'master' of https://bitbucket.org/venbainformationtechnology/apollodec
This commit is contained in:
commit
145988e7a6
@ -318,4 +318,5 @@ $route['report_doc_pending'] = 'Report/doc_pending';
|
||||
$route['report_wav_ref'] = 'Report/wav_ref';
|
||||
$route['report_examfee'] = 'Report/examfee';
|
||||
$route['report_balfee'] = 'Report/balfee';
|
||||
$route['report_lead'] = 'Report/lead';
|
||||
|
||||
|
||||
@ -415,7 +415,7 @@ class Call_Tracking_Controller extends REST_Controller {
|
||||
*/
|
||||
public function autoAddlead_post(){
|
||||
$student = $this->post('student');
|
||||
|
||||
//print_r($student);die;
|
||||
if(!empty($student)){
|
||||
$now = new DateTime();
|
||||
$now->setTimezone(new DateTimezone('Asia/Kolkata'));
|
||||
|
||||
@ -310,6 +310,31 @@ class Report extends REST_Controller {
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
public function lead_post()
|
||||
{
|
||||
$from = $this->post('from');
|
||||
$to = $this->post('to');
|
||||
$br = $this->post('branch');
|
||||
|
||||
$getStatus = $this->report_model->lead($from,$to,$br);
|
||||
//print_r($getStatus);
|
||||
if ($getStatus)
|
||||
{
|
||||
$getStatus['status'] = REST_Controller::HTTP_OK;
|
||||
// Set the response and exit
|
||||
$this->response($getStatus, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
|
||||
}
|
||||
else
|
||||
{
|
||||
// Set the response and exit
|
||||
$this->response([
|
||||
'message' => 'No records found!',
|
||||
'status' => REST_Controller::HTTP_NOT_FOUND
|
||||
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
public function filters_post()
|
||||
{
|
||||
|
||||
@ -161,12 +161,28 @@ class Reregister_Controller extends REST_Controller {
|
||||
$SemesterID = $this->post('SemNum');
|
||||
$branchId = $this->post('branchId');
|
||||
$course = $this->post('Course');
|
||||
foreach($SemesterID as $sem){
|
||||
if(!empty($sem)){
|
||||
$sem = '';
|
||||
if(strlen($SemesterID) ==5){
|
||||
|
||||
if($SemesterID == 'Year1'){
|
||||
$sem = '1';
|
||||
}else if($SemesterID == 'Year2'){
|
||||
$sem = '3';
|
||||
}else if($SemesterID == 'Year3'){
|
||||
$sem = '5';
|
||||
}else{
|
||||
$sem = '7';
|
||||
}
|
||||
}else{
|
||||
$sem = substr($SemesterID,3);
|
||||
}
|
||||
//echo $sem;die;
|
||||
|
||||
|
||||
$subjectDetails[] = $this->Reregister_model->getsubject($sem,$branchId,$course);
|
||||
}
|
||||
// }
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
if(sizeof($subjectDetails)>0){
|
||||
$data['status'] = REST_Controller::HTTP_OK;
|
||||
|
||||
@ -180,7 +180,7 @@ class Broadcast_model extends CI_Model {
|
||||
$this->db->insert_batch('T_BroadcastStatus', $data);
|
||||
if ($this->db->affected_rows() >= 1) {
|
||||
$result['msgStatus'] = true;
|
||||
$result['message'] = "Successfully Messages Sended!!";
|
||||
$result['message'] = "Successfully Messages Sent!!";
|
||||
} else {
|
||||
$result['msgStatus'] = false;
|
||||
$result['message'] = "error!!";
|
||||
@ -270,7 +270,7 @@ class Broadcast_model extends CI_Model {
|
||||
$this->db->insert_batch('T_BroadcastStatus', $data);
|
||||
if ($this->db->affected_rows() >= 1) {
|
||||
$result['msgStatus'] = true;
|
||||
$result['message'] = "Successfully Messages Sended!!";
|
||||
$result['message'] = "Successfully Messages Sent!!";
|
||||
} else {
|
||||
$result['msgStatus'] = false;
|
||||
$result['message'] = "error!!";
|
||||
@ -408,7 +408,7 @@ class Broadcast_model extends CI_Model {
|
||||
|
||||
$message = urlencode($msg);
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, "https://smsapi.24x7sms.com/api_2.0/SendSMS.aspx?APIKEY=xegCdYUIMf3&MobileNo=" . $number . "&SenderID=APOLLO&Message=" . $message . "&ServiceName=PROMOTIONAL_HIGH");
|
||||
curl_setopt($ch, CURLOPT_URL, "https://smsapi.24x7sms.com/api_2.0/SendSMS.aspx?APIKEY=xegCdYUIMf3&MobileNo=" . $number . "&SenderID=APODEC&Message=" . $message . "&ServiceName=PROMOTIONAL_HIGH");
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
|
||||
$output = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
@ -483,6 +483,51 @@ class Broadcast_model extends CI_Model {
|
||||
|
||||
|
||||
|
||||
public function addPhone($details)
|
||||
{
|
||||
|
||||
|
||||
$this->db->select('ID');
|
||||
$this->db->from('T_Groups_Numbers');
|
||||
$this->db->where('Phone_No', $details['Phone_No']);
|
||||
$this->db->where('Parent_ID', $details['Parent_ID']);
|
||||
$query = $this->db->get();
|
||||
$resultt['details'] = $query->result();
|
||||
if(count($resultt['details'])>0)
|
||||
{
|
||||
$res['status']=false;
|
||||
$res['message'] = 'Phone Number Already Exists';
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
|
||||
$result= $this->db->insert('T_Groups_Numbers',$details);
|
||||
|
||||
// print_r($result);
|
||||
|
||||
if($result>0)
|
||||
{
|
||||
$res['status']=true;
|
||||
$res['message'] = 'Phone Number Added';
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$res['status']=false;
|
||||
$res['message'] = 'Phone Number Adding Failed';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $res;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function GetAllGroups($reqBranch)
|
||||
{
|
||||
|
||||
|
||||
@ -673,9 +673,9 @@ class DayBook_model extends CI_Model
|
||||
FROM
|
||||
T_DayBookMaster AS p
|
||||
join T_PickListDetails on T_PickListDetails.ListCode = p.name
|
||||
where str_to_date(Date,?)>=? and str_to_date(Date,?)<=? and p.IsActive=? and (p.Name=? or p.Name=?)
|
||||
where str_to_date(Date,?)>=? and str_to_date(Date,?)<=? and p.IsActive=? and (p.Name=? or p.Name=?) and Status !=?
|
||||
GROUP BY p.`Name`';
|
||||
$query = $this->db->query($subQuery,array($incomecode,$expensecode,$incomecode,$expensecode,'%d-%m-%Y',$fromd,'%d-%m-%Y',$tod,'1','I001','I002'));
|
||||
$query = $this->db->query($subQuery,array($incomecode,$expensecode,$incomecode,$expensecode,'%d-%m-%Y',$fromd,'%d-%m-%Y',$tod,'1','I001','I002','Cancel'));
|
||||
$expense = $query->result();
|
||||
|
||||
if(count($query)>0)
|
||||
@ -709,9 +709,9 @@ class DayBook_model extends CI_Model
|
||||
$subQuery='select Name,sum(Amount) as Total,T_DayBookMaster.ID,T_Income_Outcome_Master.ID as SubID,T_Income_Outcome_Master.TypeID as OrgType,T_Income_Outcome_Master.TypeName,T_DayBookMaster.Date,Reason,T_DayBookMaster.Description,ListName from T_DayBookMaster
|
||||
left join T_Income_Outcome_Master on T_Income_Outcome_Master.ID = T_DayBookMaster.Type
|
||||
join T_PickListDetails on T_PickListDetails.ListCode = T_Income_Outcome_Master.TypeID
|
||||
where str_to_date(date,?)>=? and str_to_date(date,?)<=? group by Type,Name';
|
||||
where str_to_date(date,?)>=? and str_to_date(date,?)<=? and Status!=? group by Type,Name';
|
||||
|
||||
$query = $this->db->query($subQuery,array('%d-%m-%Y',$fromd,'%d-%m-%Y',$tod));
|
||||
$query = $this->db->query($subQuery,array('%d-%m-%Y',$fromd,'%d-%m-%Y',$tod,'Cancel'));
|
||||
|
||||
|
||||
//print_r( $this->db->last_query());
|
||||
|
||||
@ -16,8 +16,8 @@ class Fees_status_model extends CI_Model
|
||||
* */
|
||||
public function getStudentList($search=null)
|
||||
{
|
||||
if($search['MobileNumber']!='' OR $search['Firstname']!='' OR $search['UniversityID']!='' OR $search['CourseID']!=''){
|
||||
$this->db->select('ST.StudentID,ST.MobileNumber,ST.Firstname,ST.Lastname,ST.Fathername,ST.EmailID,STC.ID,US.UniversityID,US.UniversityName,CU.CourseID,CU.CourseName');
|
||||
if($search['MobileNumber']!='' OR $search['Firstname']!='' OR $search['UniversityID']!='' OR $search['CourseID']!=''){
|
||||
$this->db->select('ST.StudentID,ST.MobileNumber,ST.Firstname,ST.Lastname,ST.Fathername,ST.EmailID,STC.ID,US.UniversityID,US.UniversityName,CU.CourseID,CU.CourseName,ST.PermanentAddress,if(STC.EnrollmentID = "","",STC.EnrollmentID) as EnrollmentID,US.ProfilePicPath,US.MobileNumber as UnivMobileNumber,US.Address,US.EmailID,ST.MotherName,CU.Specilization1 as Specilization');
|
||||
$this->db->from(STUDENTS.' as ST');
|
||||
$this->db->join(STUDENTCOURSE.' as STC', 'STC.StudentID = ST.StudentID');
|
||||
$this->db->join(COURSE.' as CU', 'CU.CourseID = STC.CourseID');
|
||||
|
||||
@ -283,7 +283,8 @@ class Login_model extends CI_Model
|
||||
if($responseDetails->LoginAccess ==1){
|
||||
$string2 = str_shuffle('1234567890');
|
||||
$otp = substr($string2,0,6);
|
||||
//echo $otp;die;
|
||||
//$otp = '431528';
|
||||
// //echo $otp;die;
|
||||
$save['OTP'] = $otp;
|
||||
$save['UpdatedOn'] = date('Y-m-d H:i:s');
|
||||
// print_r($save);die;
|
||||
@ -291,7 +292,7 @@ class Login_model extends CI_Model
|
||||
$this->db->where('ListCode',STUDENT);
|
||||
$query = $this->db->update('T_Login',$save);
|
||||
|
||||
|
||||
// $query =1;
|
||||
if($query == 1){
|
||||
$sms = $this->smssend($mobile,$otp);
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@ order by CourseID) as cm
|
||||
on cm.cid=cfd.ccid
|
||||
left join
|
||||
(SELECT StudentID as sid,MobileNumber as phone,IsActive as active,FirstName as name,Fathername as father,AlternateNumber,PresentAddress as address FROM T_StudentDetails where IsActive = 1) as std on std.sid=sms.sid
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sms.sid and scd.cid=sms.cid and scd.branch=sms.branch
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sms.sid
|
||||
where sms.branch = '".$br."'
|
||||
";
|
||||
|
||||
@ -92,7 +92,7 @@ where BranchCode = '".$br."'";
|
||||
}
|
||||
public function markcard($bat=null,$br=null,$u=null){
|
||||
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(sfs.rollno,'-') as Roll_NO,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sms.cid,'-') as Course_id,ifnull(sms.cdate,'-') as Date,ifnull(cfd.syear,'-') as Sem_year,ifnull(sms.sem,'-') as Sem,ifnull(sfs.batch,'-') as Batch_code,ifnull(sms.branch,'-') as Branch_code,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,ifnull(list.status,'-') as Status,ifnull(sfp.bdate,'-') as Initial_paid_date,ifnull(((sfs.cf + sfs.stf + sfs.others)-sum(sfp.bamount)),0) as Balance_Fee,ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(sfs.rollno,'-') as Roll_NO,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sms.cid,'-') as Course_id,ifnull(sms.cdate,'-') as Date,ifnull(cfd.syear,'-') as Sem_year,ifnull(sms.sem,'-') as Sem,ifnull(sfs.batch,'-') as Batch_code,ifnull(sms.branch,'-') as Branch_code,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,ifnull(list.status,'-') as Status,ifnull(sfp.bdate,'-') as Initial_paid_date,ifnull(((sfs.cf + sfs.stf + sfs.others)-sum(sfp.bamount)),0) as Balance_Fee,ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber,appdate,ansdate
|
||||
from
|
||||
(SELECT ID,StudentID as sid,CourseID as cid,BranchCode as branch,ListCode as lcode,CertificationType as ctype,CDate as cdate,Sem as sem FROM T_CertificationStatus
|
||||
WHERE ID IN (SELECT max(ID) FROM T_CertificationStatus group by StudentID,CourseID,BranchCode,Sem)
|
||||
@ -118,7 +118,21 @@ order by CourseID) as cm
|
||||
on cm.cid=cfd.ccid
|
||||
left join
|
||||
(SELECT StudentID as sid,MobileNumber as phone,IsActive as active,FirstName as name,Fathername as father,PermanentAddress as address,AlternateNumber FROM T_StudentDetails) as std on std.sid=sms.sid
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sms.sid and scd.cid=sms.cid and scd.branch=sms.branch
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sms.sid
|
||||
left join (select ID,StudentID as sid,Sem,
|
||||
if(ListName = 'SENT TO UNIVERSITY', AnsDate,'-') as ansdate
|
||||
from T_AnswerBookletStatus abs
|
||||
left join T_PickListDetails list on list.ListCode=abs.ListCode
|
||||
where AnsDate is not null and ID in (select max(ID) from T_AnswerBookletStatus where AnsDate is not null group by StudentID,Sem)
|
||||
group by sid,Sem) as andate on andate.sid=sms.sid and andate.Sem=cfd.syear
|
||||
left join (select abs.ID,StudentID as sid,Sem_Year as sem,
|
||||
max(if(ListName = 'SENT TO UNIVERSITY', AppDate,'-')) as appdate
|
||||
from T_ApplicationStatus abs
|
||||
left join T_PickListDetails list on list.ListCode=abs.ListCode
|
||||
left join T_Course_Fees_Details cf on cf.CourseID=abs.CourseID
|
||||
where AppDate is not null
|
||||
and abs.ID in (select max(ID) from T_ApplicationStatus where AppDate is not null group by StudentID)
|
||||
group by sid,sem) as apdate on apdate.sid=sms.sid and apdate.sem=cfd.syear
|
||||
where std.active = 1 and sms.branch = '".$br."'
|
||||
";
|
||||
|
||||
@ -132,7 +146,7 @@ left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,Enrollmen
|
||||
$sql.=" and cm.uid = '".$u."'";
|
||||
|
||||
}
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code,Sem";
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code,Sem,Sem_year";
|
||||
|
||||
$leadDet=$this->db->query($sql);
|
||||
$mstatusDetails = $leadDet->result();
|
||||
@ -149,65 +163,7 @@ left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,Enrollmen
|
||||
}
|
||||
public function certificate_status($bat=null,$br=null,$u=null){
|
||||
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(std.name,'-') as Student_name,ifnull(sms.certname,'-') as Certificate_name,ifnull(std.father,'-') as Father,ifnull(std.phone,'-') as Phone_number,ifnull(sms.cid,'-') as Course_id,ifnull(sms.adate,'-') as Date,ifnull(cfd.syear,'-') as Sem_year,ifnull(sfs.batch,'-') as Batch_code,ifnull(sms.branch,'-') as Branch_code,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,ifnull(list.status,'-') as Status,ifnull(sfp.bdate,'-') as Document_fee_paid_date,ifnull(((sfs.cf + sfs.stf + sfs.others)-sum(sfp.bamount)),0) as Balance_fee,ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber
|
||||
from
|
||||
(SELECT ID,StudentID as sid,CourseID as cid,app.BranchCode as branch,ListCode as lcode,AppDate as adate,Comments as acmts,CertificationType as ctype,CertificateName as certname FROM T_ApplicationStatus as app
|
||||
left join T_CertificationMaster cm on cm.CertificationID=app.CertificationType
|
||||
where CertificationType != 'CERT024' and ID IN (SELECT max(ID) FROM T_ApplicationStatus group by StudentID,CourseID,BranchCode)
|
||||
group by sid,cid,lcode,branch) as sms
|
||||
left join
|
||||
(SELECT FeesID as fid,BatchCode as batch,StudentID as sid,CourseID as cid,FeesType as ftype,sum(CourseFees) as cf,Sum(STFOrWR) as stf,sum(Others) as others FROM T_Students_Fees_Status
|
||||
group by sid,fid,cid,batch) as sfs on sfs.sid=sms.sid and sms.cid=sfs.cid
|
||||
left join
|
||||
(SELECT StudentID as sid,FeesId as fid,BillDate as bdate,sum(BillAmount) as bamount,BillNO as billno FROM T_Students_Fees_PaidDetails
|
||||
where IsActive = 1
|
||||
group by sid,fid,billno) as sfp on sfp.sid=sfs.sid and sfp.fid=sfs.fid
|
||||
left join
|
||||
(SELECT ID as cid,CourseID as ccid,FeesType as ftype,Sem_Year as syear FROM T_Course_Fees_Details) as cfd
|
||||
on cfd.ccid=sms.cid
|
||||
left join
|
||||
(SELECT ListCode as lcode,ListName as status FROM T_PickListDetails) as list
|
||||
on list.lcode=sms.lcode
|
||||
left join
|
||||
(SELECT CourseID as cid,cm.UniversityID as cuid,u.UniversityID as uid,CourseName as course,UniversityName as uname,cm.BranchCode as branch FROM T_CourseMaster as cm
|
||||
left join T_UniversityMaster as u on u.UniversityID=cm.UniversityID
|
||||
group by cid
|
||||
order by CourseID) as cm
|
||||
on cm.cid=cfd.ccid
|
||||
left join
|
||||
(SELECT StudentID as sid,MobileNumber as phone,IsActive as active,FirstName as name,Fathername as father,PermanentAddress as address,AlternateNumber FROM T_StudentDetails) as std on std.sid=sms.sid
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sms.sid and scd.cid=sms.cid and scd.branch=sms.branch
|
||||
where std.active = 1 and sms.branch = '".$br."'
|
||||
";
|
||||
|
||||
if ($bat!= ''){
|
||||
|
||||
$sql.=" and sfs.batch = '".$bat."'";
|
||||
|
||||
}
|
||||
if ($u!= ''){
|
||||
|
||||
$sql.=" and cm.uid = '".$u."'";
|
||||
|
||||
}
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code";
|
||||
|
||||
$leadDet=$this->db->query($sql);
|
||||
$cert_statusDetails = $leadDet->result();
|
||||
if (count($cert_statusDetails) > 0) {
|
||||
$results['certList'] = true;
|
||||
$results['cert_data'] = $cert_statusDetails;
|
||||
} else {
|
||||
$results['certList'] = false;
|
||||
$results['message'] = 'No record found';
|
||||
}
|
||||
|
||||
return $results;
|
||||
|
||||
}
|
||||
public function mark_cert_status($bat=null,$br=null,$u=null,$from=null,$to=null){
|
||||
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sms.cid,'-') as Course_id,ifnull(sfs.batch,'-') as Batch_code,ifnull(sms.branch,'-') as Branch_code,ifnull(cm.course,'-') as course_name,ifnull(cm.uname,'-') as University,ifnull(sfp.bdate,'-') as Document_fee_paid_date,ifnull(((sfs.cf + sfs.stf + sfs.others)-sfp.bamount),0) as Balance_fee,ifnull(cfd.syear,'-') as Sem_year,ifnull(sms.sem,'-') as Sem,ifnull(list.status,'-') as Markcard_status,ifnull(sms.mdate,'-') as Markcard_date,ifnull(sms.mcmts,'-') as Markcard_comments,ifnull(ams.certname,'-') as Certificate_name,ifnull(alist.astatus,'-') as Certificate_status,ifnull(ams.adate,'-') as Certificate_date,ifnull(ams.acmts,'-') as Certificate_comments,ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sms.cid,'-') as Course_id,ifnull(sfs.batch,'-') as Batch_code,ifnull(sms.branch,'-') as Branch_code,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,ifnull(sfp.bdate,'-') as Document_fee_paid_date,ifnull(((sfs.cf + sfs.stf + sfs.others)-sum(sfp.bamount)),0) as Balance_fee,ifnull(cfd.syear,'-') as Sem_year,ifnull(sms.sem,'-') as Sem,ifnull(list.status,'-') as Markcard_status,ifnull(sms.mdate,'-') as Markcard_date,ifnull(sms.mcmts,'-') as Markcard_comments,ifnull(ams.certname,'-') as Certificate_name,ifnull(alist.astatus,'-') as Certificate_status,ifnull(ams.adate,'-') as Certificate_date,ifnull(ams.acmts,'-') as Certificate_comments,ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber
|
||||
from
|
||||
(SELECT ID,StudentID as sid,CourseID as cid,BranchCode as branch,ListCode as lcode,
|
||||
CertificationType as ctype,CDate as mdate,Sem as sem,Comments as mcmts
|
||||
@ -248,7 +204,79 @@ left join
|
||||
as cm on cm.cid=cfd.ccid
|
||||
left join
|
||||
(SELECT StudentID as sid,MobileNumber as phone,IsActive as active,FirstName as name,Fathername as father,PermanentAddress as address,AlternateNumber FROM T_StudentDetails) as std on std.sid=sms.sid
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sms.sid and scd.cid=sms.cid and scd.branch=sms.branch
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sms.sid
|
||||
where std.active = 1 and sms.branch = '".$br."'
|
||||
";
|
||||
|
||||
if ($bat!= ''){
|
||||
|
||||
$sql.=" and sfs.batch = '".$bat."'";
|
||||
|
||||
}
|
||||
if ($u!= ''){
|
||||
|
||||
$sql.=" and cm.uid = '".$u."'";
|
||||
|
||||
}
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code";
|
||||
|
||||
$leadDet=$this->db->query($sql);
|
||||
$cert_statusDetails = $leadDet->result();
|
||||
if (count($cert_statusDetails) > 0) {
|
||||
$results['certList'] = true;
|
||||
$results['cert_data'] = $cert_statusDetails;
|
||||
} else {
|
||||
$results['certList'] = false;
|
||||
$results['message'] = 'No record found';
|
||||
}
|
||||
|
||||
return $results;
|
||||
|
||||
}
|
||||
public function mark_cert_status($bat=null,$br=null,$u=null,$from=null,$to=null){
|
||||
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sms.cid,'-') as Course_id,ifnull(sfs.batch,'-') as Batch_code,ifnull(sms.branch,'-') as Branch_code,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,ifnull(sfp.bdate,'-') as Document_fee_paid_date,ifnull(((sfs.cf + sfs.stf + sfs.others)-sum(sfp.bamount)),0) as Balance_fee,ifnull(cfd.syear,'-') as Sem_year,ifnull(sms.sem,'-') as Sem,ifnull(list.status,'-') as Markcard_status,ifnull(sms.mdate,'-') as Markcard_date,ifnull(sms.mcmts,'-') as Markcard_comments,ifnull(ams.certname,'-') as Certificate_name,ifnull(alist.astatus,'-') as Certificate_status,ifnull(ams.adate,'-') as Certificate_date,ifnull(ams.acmts,'-') as Certificate_comments,ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber
|
||||
from
|
||||
(SELECT ID,StudentID as sid,CourseID as cid,BranchCode as branch,ListCode as lcode,
|
||||
CertificationType as ctype,CDate as mdate,Sem as sem,Comments as mcmts
|
||||
FROM T_CertificationStatus
|
||||
WHERE ID IN (SELECT max(ID) FROM T_CertificationStatus group by StudentID,CourseID,BranchCode,Sem)
|
||||
group by sid,sem,cid,lcode,branch) as sms
|
||||
left join
|
||||
(SELECT ID,StudentID as sid,CourseID as cid,app.BranchCode as branch,ListCode as lcode,AppDate as adate,Comments as acmts,CertificationType as ctype,CertificateName as certname
|
||||
FROM T_ApplicationStatus as app
|
||||
left join T_CertificationMaster cm on cm.CertificationID=app.CertificationType
|
||||
where CertificationType != 'CERT024' and ID IN (SELECT max(ID) FROM T_ApplicationStatus group by StudentID,CourseID,BranchCode)
|
||||
group by sid,cid,lcode,branch)
|
||||
as ams on ams.branch=sms.branch and ams.sid=sms.sid
|
||||
left join
|
||||
(SELECT FeesID as fid,BatchCode as batch,StudentID as sid,CourseID as cid,FeesType as ftype, sum(CourseFees) as cf,Sum(STFOrWR) as stf,sum(Others) as others
|
||||
FROM T_Students_Fees_Status
|
||||
group by sid,fid,cid,batch)
|
||||
as sfs on sfs.sid=sms.sid and sms.cid=sfs.ftype
|
||||
left join
|
||||
(SELECT StudentID as sid,FeesId as fid,BillDate as bdate,sum(BillAmount) as bamount,BillNO as billno FROM T_Students_Fees_PaidDetails
|
||||
where IsActive = 1
|
||||
group by sid,fid,billno)
|
||||
as sfp on sfp.sid=sfs.sid and sfp.fid=sfs.fid
|
||||
left join
|
||||
(SELECT ID as cid,CourseID as ccid,FeesType as ftype,Sem_Year as syear FROM T_Course_Fees_Details) as cfd on cfd.cid=sms.cid
|
||||
left join
|
||||
(SELECT ListCode as lcode,ListName as status FROM T_PickListDetails)
|
||||
as list on list.lcode=sms.lcode
|
||||
left join
|
||||
(SELECT ListCode as lcode,ListName as astatus FROM T_PickListDetails)
|
||||
as alist on alist.lcode=ams.lcode
|
||||
left join
|
||||
(SELECT CourseID as cid,cm.UniversityID as cuid,u.UniversityID as uid,CourseName as course,
|
||||
UniversityName as uname,cm.BranchCode as branch FROM T_CourseMaster as cm
|
||||
left join T_UniversityMaster as u on u.UniversityID=cm.UniversityID
|
||||
group by cid
|
||||
order by CourseID)
|
||||
as cm on cm.cid=cfd.ccid
|
||||
left join
|
||||
(SELECT StudentID as sid,MobileNumber as phone,IsActive as active,FirstName as name,Fathername as father,PermanentAddress as address,AlternateNumber FROM T_StudentDetails) as std on std.sid=sms.sid
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sms.sid
|
||||
where std.active = 1 and sms.branch = '".$br."'
|
||||
";
|
||||
|
||||
@ -263,15 +291,15 @@ left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,Enrollmen
|
||||
|
||||
}
|
||||
if ($from != '' and $to != ''){
|
||||
$fromd= date("d-m-Y",strtotime($from));
|
||||
$tod=date("d-m-Y",strtotime($to));
|
||||
$fromd= date("Y-m-d",strtotime($from));
|
||||
$tod=date("Y-m-d",strtotime($to));
|
||||
|
||||
$sql.="and sfp.bdate >= '".$fromd."'
|
||||
and sfp.bdate <= '".$tod."'";
|
||||
$sql.="and STR_TO_DATE(sfp.bdate,'%d-%m-%Y') >= '".$fromd."'
|
||||
and STR_TO_DATE(sfp.bdate,'%d-%m-%Y') <= '".$tod."'";
|
||||
|
||||
}
|
||||
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code,Sem";
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code,Sem,Sem_year";
|
||||
|
||||
|
||||
$leadDet=$this->db->query($sql);
|
||||
@ -295,11 +323,11 @@ left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,Enrollmen
|
||||
";
|
||||
|
||||
if ($from and $to != ''){
|
||||
$fromd= date("d-m-Y",strtotime($from));
|
||||
$tod=date("d-m-Y",strtotime($to));
|
||||
|
||||
$sql.="and dbm.Date >= '".$fromd."'
|
||||
and dbm.Date <= '".$tod."'";
|
||||
$fromd= date("Y-m-d",strtotime($from));
|
||||
$tod=date("Y-m-d",strtotime($to));
|
||||
|
||||
$sql.="and STR_TO_DATE(dbm.Date,'%d-%m-%Y') >= '".$fromd."'
|
||||
and STR_TO_DATE(dbm.Date,'%d-%m-%Y') <= '".$tod."'";
|
||||
|
||||
}
|
||||
$sql.=" group by Expense_name";
|
||||
@ -320,12 +348,14 @@ left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,Enrollmen
|
||||
}
|
||||
public function answer_booklet($bat=null,$br=null,$u=null){
|
||||
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sms.cid,'-') as Course_id,ifnull(sfs.batch,'-') as Batch_code,ifnull(sms.branch,'-') as Branch_code,ifnull(sms.adate,'-') as Date,ifnull(cfd.syear,'-') as Sem_year,ifnull(sms.sem,'-') as Sem,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,ifnull(list.status,'-') as Status,ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sms.cid,'-') as Course_id,ifnull(sfs.batch,'-') as Batch_code,ifnull(sms.branch,'-') as Branch_code,ifnull(sms.adate,'-') as Date,ifnull(cfd.syear,'-') as Sem_year,ifnull(sms.sem,'-') as Sem,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,ifnull(list.status,'-') as Status,ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber,listdate.issuedate,listdate.rcvedate
|
||||
|
||||
from
|
||||
(SELECT ID,StudentID as sid,CourseID as cid,BranchCode as branch,ListCode as lcode,AnsDate as
|
||||
adate,Sem as sem FROM T_AnswerBookletStatus
|
||||
WHERE ID IN (SELECT max(ID) FROM T_AnswerBookletStatus group by StudentID,CourseID,BranchCode,Sem)
|
||||
group by sid,sem,cid,lcode,branch) as sms
|
||||
|
||||
left join
|
||||
(SELECT FeesID as fid,BatchCode as batch,StudentID as sid,CourseID as cid,FeesType as ftype, sum(CourseFees) as cf,Sum(STFOrWR) as stf,sum(Others) as others
|
||||
FROM T_Students_Fees_Status
|
||||
@ -350,7 +380,15 @@ left join
|
||||
as cm on cm.cid=cfd.ccid
|
||||
left join
|
||||
(SELECT StudentID as sid,MobileNumber as phone,IsActive as active,FirstName as name,Fathername as father,PermanentAddress as address,AlternateNumber FROM T_StudentDetails) as std on std.sid=sms.sid
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sms.sid and scd.cid=sms.cid and scd.branch=sms.branch
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sms.sid
|
||||
left join
|
||||
(select ID,StudentID as sid,
|
||||
max(if(ListName = 'ISSUED TO STUDENT', AnsDate,'-')) as issuedate,
|
||||
max(if(ListName = 'RECEIVED FROM STUDENT', AnsDate,'-')) as rcvedate
|
||||
from T_AnswerBookletStatus abs
|
||||
left join T_PickListDetails list on list.ListCode=abs.ListCode where AnsDate is not null
|
||||
group by sid
|
||||
) as listdate on listdate.sid=sms.sid
|
||||
where std.active = 1 and sms.branch = '".$br."'
|
||||
";
|
||||
|
||||
@ -364,7 +402,7 @@ left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,Enrollmen
|
||||
$sql.=" and cm.uid = '".$u."'";
|
||||
|
||||
}
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code,Sem";
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code,Sem,Sem_year";
|
||||
|
||||
|
||||
|
||||
@ -383,12 +421,13 @@ left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,Enrollmen
|
||||
}
|
||||
public function app_pending($bat=null,$br=null,$u=null){
|
||||
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sms.cid,'-') as Course_id,ifnull(cfd.syear,'-') as Sem_year,ifnull(sfs.batch,'-') as Batch_code,ifnull(sms.branch,'-') as Branch_code,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,ifnull(list.status,'-') as Status,ifnull(sfp.bdate,'-') as Admission_date,
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sms.cid,'-') as Course_id,ifnull(cfd.syear,'-') as Sem_year,ifnull(sfs.batch,'-') as Batch_code,ifnull(sms.branch,'-') as Branch_code,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,ifnull(sms.status,'-') as Status,ifnull(sfp.bdate,'-') as Admission_date,
|
||||
ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber
|
||||
from
|
||||
(SELECT ID,StudentID as sid,CourseID as cid,app.BranchCode as branch,ListCode as lcode,AppDate as adate,Comments as acmts,CertificationType as ctype,CertificateName as certname FROM T_ApplicationStatus as app
|
||||
(SELECT ID,StudentID as sid,CourseID as cid,app.BranchCode as branch,list.ListName as status,app.ListCode as lcode,AppDate as adate,Comments as acmts,CertificationType as ctype,CertificateName as certname FROM T_ApplicationStatus as app
|
||||
left join T_CertificationMaster cm on cm.CertificationID=app.CertificationType
|
||||
where CertificateName = 'APPLICATION' and ID IN (SELECT max(ID) FROM T_ApplicationStatus group by StudentID,CourseID,BranchCode)
|
||||
left join T_PickListDetails list on list.ListCode=app.ListCode
|
||||
where CertificateName like 'APPLICATION%' and list.ListName != 'SENT TO UNIVERSITY' and ID IN (SELECT max(ID) FROM T_ApplicationStatus group by StudentID,CourseID,BranchCode)
|
||||
group by sid,cid,lcode,branch) as sms
|
||||
left join
|
||||
(SELECT FeesID as fid,BatchCode as batch,StudentID as sid,CourseID as cid,FeesType as ftype, sum(CourseFees) as cf,Sum(STFOrWR) as stf,sum(Others) as others
|
||||
@ -402,9 +441,6 @@ WHERE IsActive = 1 and ID IN (SELECT min(ID) FROM T_Students_Fees_PaidDetails gr
|
||||
as sfp on sfp.sid=sfs.sid and sfp.fid=sfs.fid
|
||||
left join
|
||||
(SELECT ID as cid,CourseID as ccid,FeesType as ftype,Sem_Year as syear FROM T_Course_Fees_Details) as cfd on cfd.ccid=sfs.cid and cfd.cid=sfs.ftype
|
||||
left join
|
||||
(SELECT ListCode as lcode,ListName as status FROM T_PickListDetails)
|
||||
as list on list.lcode=sms.lcode
|
||||
left join
|
||||
(SELECT CourseID as cid,cm.UniversityID as cuid,u.UniversityID as uid,CourseName as course,
|
||||
UniversityName as uname,cm.BranchCode as branch FROM T_CourseMaster as cm
|
||||
@ -428,7 +464,7 @@ left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,Enrollmen
|
||||
$sql.=" and cm.uid = '".$u."'";
|
||||
|
||||
}
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code";
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code,Sem_year";
|
||||
|
||||
|
||||
|
||||
@ -447,44 +483,51 @@ left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,Enrollmen
|
||||
}
|
||||
public function doc_pending($bat=null,$br=null,$u=null){
|
||||
|
||||
$sql = "SELECT ifnull(sdt.StudentID,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(sfb.bdate,'-') as Admission_date,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(lt.CreatedBranch,'-') as Branch_code,ifnull(sfb.batch,'-') as Batch_code,ifnull(lt.Course,'-') as Course_name,ifnull(lt.University,'-') as University,ifnull(uc.cid,'-') as Course_id,ifnull(cfd.syear,'-') as Sem_year,ifnull(sdt.StatusName,'-') as Status,ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber
|
||||
FROM T_Student_DocumentTrack_Details as sdt
|
||||
join T_Lead_Tracking as lt on lt.PendingDocStatus=sdt.ID
|
||||
left join
|
||||
(SELECT StudentID as sid,MobileNumber as phone,IsActive as active,FirstName as name,Fathername as father,PermanentAddress as address,AlternateNumber FROM T_StudentDetails) as std on std.sid=sdt.StudentID
|
||||
left join
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sms.cid,'-') as Course_id,ifnull(cfd.syear,'-') as Sem_year,ifnull(sfs.batch,'-') as Batch_code,ifnull(sms.branch,'-') as Branch_code,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,ifnull(sms.status,'-') as Status,sms.certname as certname,ifnull(sfp.bdate,'-') as Admission_date,sms.adate,
|
||||
ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber
|
||||
from
|
||||
(SELECT ID,StudentID as sid,CourseID as cid,app.BranchCode as branch,list.ListName as status,app.ListCode as lcode,AppDate as adate,Comments as acmts,CertificationType as ctype,CertificateName as certname FROM T_ApplicationStatus as app
|
||||
left join T_CertificationMaster cm on cm.CertificationID=app.CertificationType
|
||||
left join T_PickListDetails list on list.ListCode=app.ListCode
|
||||
where list.ListName = 'PENDING' and ID IN (SELECT max(ID) FROM T_ApplicationStatus group by StudentID,CourseID,BranchCode)
|
||||
group by sid,cid,lcode,branch) as sms
|
||||
left join
|
||||
(SELECT FeesID as fid,BatchCode as batch,StudentID as sid,CourseID as cid,FeesType as ftype, sum(CourseFees) as cf,Sum(STFOrWR) as stf,sum(Others) as others
|
||||
FROM T_Students_Fees_Status
|
||||
group by sid,fid,cid,batch)
|
||||
as sfs on sfs.sid=sms.sid and sms.cid=sfs.cid
|
||||
left join
|
||||
(SELECT ID,StudentID as sid,FeesId as fid,BillDate as bdate,sum(BillAmount) as bamount,BillNO as billno FROM T_Students_Fees_PaidDetails
|
||||
WHERE IsActive = 1 and ID IN (SELECT min(ID) FROM T_Students_Fees_PaidDetails group by StudentID,FeesID)
|
||||
group by sid,fid,billno)
|
||||
as sfp on sfp.sid=sfs.sid and sfp.fid=sfs.fid
|
||||
left join
|
||||
(SELECT ID as cid,CourseID as ccid,FeesType as ftype,Sem_Year as syear FROM T_Course_Fees_Details) as cfd on cfd.ccid=sfs.cid and cfd.cid=sfs.ftype
|
||||
left join
|
||||
(SELECT CourseID as cid,cm.UniversityID as cuid,u.UniversityID as uid,CourseName as course,
|
||||
UniversityName as uname,cm.BranchCode as branch FROM T_CourseMaster as cm
|
||||
left join T_UniversityMaster as u on u.UniversityID=cm.UniversityID
|
||||
group by cid
|
||||
order by CourseID) as uc on uc.course=lt.Course
|
||||
left join
|
||||
(SELECT ID as cid,CourseID as ccid,FeesType as ftype,Sem_Year as syear FROM T_Course_Fees_Details) as cfd on cfd.ccid=uc.cid
|
||||
left join
|
||||
(select sfp.sid,sfp.bdate,sfs.batch,sfs.cid from (SELECT ID,StudentID as sid,FeesId as fid,BillDate as bdate,sum(BillAmount) as bamount,BillNO as billno FROM T_Students_Fees_PaidDetails
|
||||
WHERE IsActive = 1 and ID IN (SELECT min(ID) FROM T_Students_Fees_PaidDetails group by StudentID,FeesID)
|
||||
group by sid,fid,billno) as sfp
|
||||
join
|
||||
(SELECT FeesID as fid,BatchCode as batch,StudentID as sid,CourseID as cid,FeesType as ftype,sum(CourseFees) as cf,Sum(STFOrWR) as stf,sum(Others) as others
|
||||
FROM T_Students_Fees_Status
|
||||
group by sid,fid,cid,batch) as sfs on sfs.fid=sfp.fid and sfs.sid=sfp.sid
|
||||
group by sfs.sid,sfs.cid) as sfb on sfb.sid=sdt.StudentID and sfb.cid=uc.cid
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sdt.StudentID and scd.cid=uc.cid and scd.branch=uc.branch
|
||||
where std.active = 1 and lt.CreatedBranch = '".$br."'
|
||||
UniversityName as uname,cm.BranchCode as branch FROM T_CourseMaster as cm
|
||||
left join T_UniversityMaster as u on u.UniversityID=cm.UniversityID
|
||||
group by cid
|
||||
order by CourseID)
|
||||
as cm on cm.cid=cfd.ccid
|
||||
left join
|
||||
(SELECT StudentID as sid,MobileNumber as phone,IsActive as active,FirstName as name,Fathername as father,PermanentAddress as address,AlternateNumber FROM T_StudentDetails) as std on std.sid=sms.sid
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sms.sid and scd.cid=sms.cid and scd.branch=sms.branch
|
||||
where std.active = 1 and sms.branch = '".$br."'
|
||||
|
||||
";
|
||||
|
||||
if ($bat!= ''){
|
||||
|
||||
$sql.=" and sfb.batch = '".$bat."'";
|
||||
$sql.=" and sfs.batch = '".$bat."'";
|
||||
|
||||
}
|
||||
if ($u!= ''){
|
||||
|
||||
$sql.=" and uc.cuid = '".$u."'";
|
||||
$sql.=" and cm.uid = '".$u."'";
|
||||
|
||||
}
|
||||
$sql.="group by Student_id,Course_id,Batch_code,Branch_code ";
|
||||
$sql.="group by Student_id,Course_id,Batch_code,Branch_code,Sem_year ";
|
||||
|
||||
|
||||
|
||||
@ -503,9 +546,9 @@ left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,Enrollmen
|
||||
}
|
||||
public function wav_ref($bat=null,$br=null,$u=null){
|
||||
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(cfd.syear,'-') as Sem_year,ifnull(sfs.batch,'-') as Batch_code,ifnull(scd.branch,'-') as Branch_code,ifnull(sfs.cid,'-') as Course_id,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,ifnull(sms.waiver_bill,'-') as Waiver_bill,ifnull(sms.waiver,0) as Waiver_amount,ifnull(sms.referal_bill,'-') as Referal_bill,ifnull(sms.referal,0) as Referal_amount,ifnull(sms.cmts,'-') as Comments,ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber
|
||||
$sql = "select ifnull(sms.sid,'-') as Student_id,ifnull(scd.eid,'-') as Enrollment_id,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(cfd.syear,'-') as Sem_year,ifnull(sfs.batch,'-') as Batch_code,ifnull(scd.branch,'-') as Branch_code,ifnull(sfs.cid,'-') as Course_id,ifnull(cm.course,'-') as Course_name,ifnull(cm.uname,'-') as University,staff.FirstName as staffname,ifnull(sms.waiver_bill,'-') as Waiver_bill,ifnull(sms.waiver,0) as Waiver_amount,ifnull(sms.referal_bill,'-') as Referal_bill,ifnull(sms.referal,0) as Referal_amount,ifnull(sms.cmts,'-') as Comments,ifnull(std.address,'-') as address,ifnull(std.AlternateNumber,'') as AlternateNumber
|
||||
from
|
||||
(SELECT StudentID as sid,CommentsForStudent as cmts,FeesId as fid,
|
||||
(SELECT StudentID as sid,CreatedBy as lid,CommentsForStudent as cmts,FeesId as fid,
|
||||
IF(ModeOfPayment = 'WAIVER', BillNO,'-') AS waiver_bill,
|
||||
IF(ModeOfPayment = 'WAIVER', sum(BillAmount), 0) AS waiver,
|
||||
IF(ModeOfPayment = 'REFERRAL', BillNO,'-') AS referal_bill,
|
||||
@ -529,6 +572,10 @@ left join
|
||||
as cm on cm.cid=cfd.ccid
|
||||
left join
|
||||
(SELECT StudentID as sid,MobileNumber as phone,IsActive as active,FirstName as name,Fathername as father,PermanentAddress as address,AlternateNumber FROM T_StudentDetails) as std on std.sid=sms.sid
|
||||
left join
|
||||
T_Login as login on login.ID=sms.lid
|
||||
left join
|
||||
T_StaffDetails as staff on staff.StaffID=login.StaffID
|
||||
where std.active = 1 and scd.branch = '".$br."'
|
||||
|
||||
";
|
||||
@ -543,7 +590,7 @@ left join
|
||||
$sql.=" and cm.uid = '".$u."'";
|
||||
|
||||
}
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code,Waiver_bill,Referal_bill";
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code,Waiver_bill,Referal_bill,Sem_year";
|
||||
|
||||
|
||||
|
||||
@ -598,7 +645,7 @@ left join
|
||||
$sql.=" and cm.uid = '".$u."'";
|
||||
|
||||
}
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code";
|
||||
$sql.=" group by Student_id,Course_id,Batch_code,Branch_code,Sem_year";
|
||||
|
||||
|
||||
|
||||
@ -617,7 +664,7 @@ left join
|
||||
}
|
||||
public function balfee($bat=null,$br=null,$u=null){
|
||||
|
||||
$sql = "SELECT ifnull(sfp.StudentID,'-') as Student_id,ifnull(scd.eid,'-') as eid,ifnull(std.name,'-') as Student_name,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sfs.batch,'-') as Batch_code,ifnull(sfs.cid,'-') as Course_id,ifnull(cm.course,'-') as Course_name,ifnull(u.uname,'-') as University,ifnull(sfs.branch,'-') as Branch_code,ifnull(cfd.syear,'-') as Sem_year,ifnull((sfs.cf + sfs.stf + sfs.others),0) as Total,ifnull((sfb.bamount),0) as Paid_fee,ifnull(((sfs.cf + sfs.stf + sfs.others) - (sfb.bamount)),0) as balance,
|
||||
$sql = "SELECT ifnull(sfp.StudentID,'-') as Student_id,ifnull(scd.eid,'-') as eid,ifnull(std.name,'-') as Student_name,date_format(std.regdate,'%d-%m-%Y') as regdate,ifnull(std.father,'-') as Father_name,ifnull(std.phone,'-') as Phone_number,ifnull(sfs.batch,'-') as Batch_code,ifnull(sfs.cid,'-') as Course_id,ifnull(cm.course,'-') as Course_name,ifnull(u.uname,'-') as University,ifnull(sfs.branch,'-') as Branch_code,ifnull(cfd.syear,'-') as Sem_year,ifnull((sfs.cf + sfs.stf + sfs.others),0) as Total,ifnull((sfb.bamount),0) as Paid_fee,ifnull(((sfs.cf + sfs.stf + sfs.others) - (sfb.bamount)),0) as balance,
|
||||
ifnull(MAX(CASE WHEN Installment = 1 THEN sfp.BillNO END),'-') as billno1,
|
||||
ifnull(MAX(CASE WHEN Installment = 1 THEN sfp.BillAmount END),0) as billamt1,
|
||||
ifnull(MAX(CASE WHEN Installment = 2 THEN sfp.BillNO END),'-') as billno2,
|
||||
@ -652,7 +699,7 @@ left join
|
||||
(SELECT UniversityID as uid,UniversityName as uname FROM T_UniversityMaster) as u
|
||||
on u.uid=cm.uid
|
||||
left join
|
||||
(SELECT StudentID as sid,MobileNumber as phone,FirstName as name,Fathername as father,IsActive as active,PermanentAddress as address,AlternateNumber FROM T_StudentDetails where IsActive = 1) as std on std.sid=sfp.StudentID
|
||||
(SELECT StudentID as sid,MobileNumber as phone,FirstName as name,Fathername as father,IsActive as active,PermanentAddress as address,AlternateNumber,CreatedOn as regdate FROM T_StudentDetails where IsActive = 1) as std on std.sid=sfp.StudentID
|
||||
left join
|
||||
(SELECT BatchCode as bcode,BatchName as batchname FROM T_BatchMaster) as b on b.bcode=sfs.batch
|
||||
left join
|
||||
@ -660,7 +707,7 @@ left join
|
||||
left join
|
||||
(SELECT StudentID as sid,FeesID as fid,BillNo as billno,sum(BillAmount) as bamount FROM T_Students_Fees_PaidDetails where IsActive = 1
|
||||
group by sid,fid) as sfb on sfb.sid=sfp.StudentID and sfb.fid=sfp.FeesID
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sfs.sid and scd.cid=sfs.cid and scd.branch=sfs.branch
|
||||
left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,EnrollmentID as eid,BranchID as branch FROM T_Student_CourseDetails) as scd on scd.sid=sfs.sid
|
||||
where sfp.IsActive = 1 and br.brcode = '".$br."'
|
||||
|
||||
";
|
||||
@ -694,6 +741,48 @@ left join (SELECT StudentID as sid,UniversityID as uid,CourseID as cid,Enrollmen
|
||||
|
||||
return $results;
|
||||
|
||||
}
|
||||
public function lead($from=null,$to=null,$br=null){
|
||||
|
||||
$sql = "select InteractionID,date_format(ltf.CreatedOn,'%d-%m-%Y') as date,ltf.TrackingID as tid,ltf.FollowupOn as fup,ld.LeadName as name,ld.MobileNumber as mobile,lt.University as univ,lt.Course as course,lt.Course as prvStatus,list.ListName as prsStatus,ltf.FollowupComments as cmnts,ifnull(am.ActivityName,'-') as activity,sd.FirstName as AssignTo
|
||||
from T_Lead_Tracking_Followup as ltf
|
||||
left join T_Lead_Tracking lt on lt.TrackingID=ltf.TrackingID
|
||||
join T_Login l on l.ID=lt.AssignedTo
|
||||
join T_StaffDetails sd on sd.StaffID=l.StaffID
|
||||
left join T_Lead_Details ld on ld.LeadID=lt.LeadID
|
||||
left join T_ActivityMaster am on am.ActivityID=lt.ActivityStatus
|
||||
join T_PickListDetails list on list.ListCode=ltf.StatusName
|
||||
where InteractionID in (select max(InteractionID) from T_Lead_Tracking_Followup group by TrackingID) and lt.CreatedBranch = '".$br."'
|
||||
|
||||
";
|
||||
|
||||
if ($from and $to != ''){
|
||||
$fromd= date("Y-m-d",strtotime($from));
|
||||
$tod=date("Y-m-d",strtotime($to));
|
||||
|
||||
$sql.=" and date(ltf.CreatedOn) >= '".$fromd."'
|
||||
and date(ltf.CreatedOn) <= '".$tod."'";
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$leadDet=$this->db->query($sql);
|
||||
$answer = $leadDet->result();
|
||||
|
||||
//echo $sql;
|
||||
|
||||
if (count($answer) > 0) {
|
||||
$results['leadList'] = true;
|
||||
$results['lead_data'] = $answer;
|
||||
} else {
|
||||
$results['leadList'] = false;
|
||||
$results['message'] = 'No record found';
|
||||
}
|
||||
|
||||
return $results;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -5821,7 +5821,7 @@ input[type="radio"], input[type="checkbox"] {
|
||||
color: #8e8e93 !important;
|
||||
}
|
||||
.btn-default:active, .btn-default.active, .btn-default.active:focus, .btn-default:active:focus, .btn-default:active:hover {
|
||||
background-color: #f8f8f8;
|
||||
background-color: #007AFF;
|
||||
border-color: #d5d4d8;
|
||||
color: #5b5b60 !important;
|
||||
}
|
||||
|
||||
@ -90,7 +90,8 @@
|
||||
"doc_pending": "DOCUMENT PENDING STUDENT LIST REPORT",
|
||||
"wav_ref": "WAIVER AND REFERAL REPORT",
|
||||
"examfee": "EXAM WRITING FEE REPORT",
|
||||
"balfee": "FEE BALANCE REPORT"
|
||||
"balfee": "FEE BALANCE REPORT",
|
||||
"lead": "LEAD TRACKING REPORT"
|
||||
|
||||
},
|
||||
"student": {
|
||||
|
||||
@ -216,6 +216,7 @@ app.constant('JS_REQUIRES', {
|
||||
'report_waiver_referalCtrl':'assets/js/controllers/report_waiver_referalCtrl.js',
|
||||
'report_examfeeCtrl':'assets/js/controllers/report_examfeeCtrl.js',
|
||||
'report_balfeeCtrl':'assets/js/controllers/report_balfeeCtrl.js',
|
||||
'report_leadCtrl':'assets/js/controllers/report_leadCtrl.js',
|
||||
},
|
||||
//*** angularJS Modules
|
||||
modules: [{
|
||||
|
||||
@ -651,6 +651,12 @@ app.config(['$stateProvider', '$urlRouterProvider', '$controllerProvider', '$com
|
||||
resolve: loadSequence('ui.select','report_balfeeCtrl','ngTable', 'ladda', 'angular-ladda'),
|
||||
title: 'Balance Fee Report',
|
||||
|
||||
}).state('app.reports.lead', {
|
||||
url: '/report_leadCtrl',
|
||||
templateUrl: "assets/views/report_lead.html",
|
||||
resolve: loadSequence('ui.select','report_leadCtrl','ngTable', 'ladda', 'angular-ladda'),
|
||||
title: 'Lead Details Report',
|
||||
|
||||
}).state('app.hallTicket', {
|
||||
url: '/hallticket',
|
||||
template: '<div ui-view class="fade-in-up"> <div style="margin: auto; width: 50%;padding: 10px;"> HALLTICKET</div> </div>',
|
||||
|
||||
@ -28,6 +28,25 @@ $scope.promoteButtonStatus = false;
|
||||
* created by velz
|
||||
* */
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
// var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
// const LOCALTYPE = logcheck.localType;
|
||||
// if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
// console.log("if");
|
||||
// }else {
|
||||
// if(logcheck != null && LOCALTYPE !='R001') {
|
||||
// console.log("else if");
|
||||
// $state.go('app.dashboard');
|
||||
// } else {
|
||||
|
||||
// console.log("else else");
|
||||
// //ipCookie.remove('cookiechk');
|
||||
// window.localStorage.clear();
|
||||
// $state.go('login.signin');
|
||||
// }
|
||||
// }
|
||||
|
||||
var getUniv = {
|
||||
method: 'POST',
|
||||
|
||||
@ -10,20 +10,22 @@ app.controller("activityCtrl", ["$scope", "toaster", "$filter", "API_POINTS", "$
|
||||
var localDetail = JSON.parse(localStorage.getItem('localObj'));
|
||||
var localDetails = ipCookie('cookiechk');
|
||||
|
||||
$scope.initHead = function() {
|
||||
// alert();
|
||||
const LOCALTYPE = localDetail.localType;
|
||||
if (localDetail != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
}else {
|
||||
if(localDetail != null) {
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
ipCookie.remove('cookiechk');
|
||||
$window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
}
|
||||
// $scope.initHead = function() {
|
||||
// // alert();
|
||||
// const LOCALTYPE = localDetail.localType;
|
||||
// if (localDetail != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
// }else {
|
||||
// if((localDetail != null) && (LOCALTYPE !='R001')) {
|
||||
// $state.go('app.dashboard');
|
||||
// } else {
|
||||
// ipCookie.remove('cookiechk');
|
||||
// window.localStorage.clear();
|
||||
// $state.go('login.signin');
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
$scope.companies = {
|
||||
"ActivityID": "",
|
||||
"ActivityName": "",
|
||||
@ -163,6 +165,29 @@ swal("Warning!", "Status are required", "warning");
|
||||
$scope.loader = '';
|
||||
$scope.emptyData = '';
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
localStorage.setItem('localStatusDetails', '');
|
||||
|
||||
var getActivity = {
|
||||
|
||||
@ -195,6 +195,26 @@ app.controller("CkeditorCtrl", ["$scope", "toaster", "$filter", "ngTableParams",
|
||||
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var getAnnouncement = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'getAnnouncementDetails/',
|
||||
|
||||
@ -29,6 +29,30 @@ app.controller('answerBookletStatusCtrl', ["$scope", "toaster", "$filter", "ngTa
|
||||
$scope.localBranchDetails = '';
|
||||
|
||||
$scope.init = function () {
|
||||
|
||||
// var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
// const LOCALTYPE = logcheck.localType;
|
||||
// if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
// console.log("if");
|
||||
// }else {
|
||||
// if(logcheck != null && LOCALTYPE !='R001') {
|
||||
// console.log("else if");
|
||||
// $state.go('app.dashboard');
|
||||
// } else {
|
||||
|
||||
// console.log("else else");
|
||||
// //ipCookie.remove('cookiechk');
|
||||
// window.localStorage.clear();
|
||||
// $state.go('login.signin');
|
||||
// die();
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (localDetail != null) {
|
||||
if (localDetails.localType === 'R004') {
|
||||
$scope.localTypeSuperAdmin = true;
|
||||
|
||||
@ -34,6 +34,27 @@ app.controller('applicationStatusCtrl', ["$scope", "toaster", "$filter", "ngTabl
|
||||
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (localDetail != null) {
|
||||
if (localDetails.localType === 'R004') {
|
||||
$scope.localTypeSuperAdmin = true;
|
||||
|
||||
@ -240,6 +240,33 @@ app.controller('batchCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTabl
|
||||
$scope.emptyData='';
|
||||
|
||||
$rootScope.init = function () {
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
localStorage.setItem('localUniversityDetails', '');
|
||||
|
||||
var getBranch = {
|
||||
|
||||
@ -353,6 +353,29 @@ app.controller('branchCtrl', ["$scope","toaster", "$filter", "ngTableParams", "A
|
||||
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var getBranch = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'getBranchDetails/',
|
||||
|
||||
@ -403,6 +403,32 @@ app.controller('callTrackingCtrl', ["$scope","$rootScope","toaster", "$filter",
|
||||
* created by kms
|
||||
* */
|
||||
$scope.init = function (myModel) {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$scope.data = [];
|
||||
if(myModel!='' && myModel!=undefined){
|
||||
$scope.finalSearchArry=myModel;
|
||||
@ -656,6 +682,26 @@ app.controller('callTrackingLeadCtrl', ["$scope","$rootScope","toaster", "$filte
|
||||
|
||||
}*/
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$scope.loader = true;
|
||||
|
||||
var getRecentlead = {
|
||||
@ -838,6 +884,30 @@ app.controller('callTrackingCloseCtrl', ["$scope","$rootScope","toaster", "$filt
|
||||
|
||||
$scope.loadDate = $filter('date')(new Date($scope.getdate), 'yyyy-MM-dd');
|
||||
}*/
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$scope.loader = true;
|
||||
|
||||
var getRecentclose = {
|
||||
@ -1021,6 +1091,27 @@ app.controller('callTrackingPendingCtrl', ["$scope","$rootScope","toaster", "$fi
|
||||
|
||||
$scope.loadDate = $filter('date')(new Date($scope.getdate), 'yyyy-MM-dd');
|
||||
}*/
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$scope.loader = true;
|
||||
|
||||
var getRecentclose = {
|
||||
|
||||
@ -191,6 +191,29 @@ app.controller('centerCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTab
|
||||
|
||||
$rootScope.init = function () {
|
||||
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
var getCenter = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'getCenterDetails/',
|
||||
|
||||
@ -111,6 +111,31 @@ $scope.certificateForm = {
|
||||
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var getCertificate = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'getCertificateDetails/',
|
||||
|
||||
@ -31,6 +31,30 @@ app.controller('certificationStatusCtrl', ["$scope", "toaster", "$filter", "ngTa
|
||||
$scope.localBranchDetails = '';
|
||||
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
|
||||
const LOCALTYPE = localDetail.localType;
|
||||
if (localDetail != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(localDetail != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
//window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (localDetail != null) {
|
||||
if (localDetails.localType === 'R004') {
|
||||
$scope.localTypeSuperAdmin = true;
|
||||
|
||||
@ -16,11 +16,11 @@ app.controller('courseCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTab
|
||||
const LOCALTYPE = localDetail.localType;
|
||||
if (localDetail != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
}else {
|
||||
if(localDetail != null) {
|
||||
if(localDetail != null && LOCALTYPE != 'R001') {
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
ipCookie.remove('cookiechk');
|
||||
$window.localStorage.clear();
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
@ -119,6 +119,29 @@ app.controller("dayBookMasterCtrl", ["$scope", "toaster", "$filter", "API_POINTS
|
||||
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var getdetails = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'getDayBookMasterDetails/',
|
||||
|
||||
@ -226,9 +226,14 @@ $scope.dayBookApprovalAccess = '';
|
||||
// alert(JSON.stringify($scope.myModel));
|
||||
}
|
||||
|
||||
|
||||
$scope.deleted1 = function (id) {
|
||||
|
||||
var id=id;
|
||||
var reason=prompt("Enter Reason!","");
|
||||
$scope.deleteFeePayableEntry(reason,id);
|
||||
}
|
||||
//delete the income entry From the fees payable
|
||||
$scope.deleteFeePayableEntry = function (id) {
|
||||
$scope.deleteFeePayableEntry = function (reason, id) {
|
||||
// alert(id);
|
||||
SweetAlert.swal({
|
||||
title: "Warning!",
|
||||
@ -248,6 +253,7 @@ $scope.dayBookApprovalAccess = '';
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: {
|
||||
reason:reason,
|
||||
data: id,
|
||||
requestDetails: localDetails
|
||||
}
|
||||
@ -264,9 +270,18 @@ $scope.dayBookApprovalAccess = '';
|
||||
});
|
||||
}
|
||||
|
||||
$scope.deleted = function (id) {
|
||||
|
||||
var id=id;
|
||||
var a=prompt("Enter Reason!","");
|
||||
$scope.deleEditEntry(a,id);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// delete the income/expense list row
|
||||
$scope.deleEditEntry = function (id) {
|
||||
$scope.deleEditEntry = function (a, id) {
|
||||
swal({
|
||||
title: "Are you sure?",
|
||||
text: "Your will not be able to recover this record!",
|
||||
@ -277,9 +292,9 @@ $scope.dayBookApprovalAccess = '';
|
||||
closeOnConfirm: false
|
||||
},
|
||||
function () {
|
||||
$scope.indexDelete2(id);
|
||||
$scope.indexDelete2(a, id);
|
||||
});
|
||||
$scope.indexDelete2 = function (id) {
|
||||
$scope.indexDelete2 = function (a, id) {
|
||||
var deleteDetails = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'deleteDayBookDetails/',
|
||||
@ -287,6 +302,7 @@ $scope.dayBookApprovalAccess = '';
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: {
|
||||
reason: a,
|
||||
data: id,
|
||||
requestDetails: localDetails
|
||||
}
|
||||
|
||||
@ -208,12 +208,16 @@ $scope.dayBookApprovalAccess = '';
|
||||
}
|
||||
|
||||
$scope.copyModel = function (p) {
|
||||
console.log(p);
|
||||
//console.log(p);
|
||||
var inc = $scope.incomeExpenseType.filter((inc)=>inc.ID == p.Type);
|
||||
console.log(inc);
|
||||
$scope.incexp = inc[0];
|
||||
|
||||
$scope.myModel = {
|
||||
"id": p.ID,
|
||||
"date": p.Date,
|
||||
"incomeExpense": p.Name,
|
||||
"type": p.Type,
|
||||
"type":$scope.incexp.ID,
|
||||
"amount": p.Amount,
|
||||
"status": p.Status,
|
||||
"description": p.Description,
|
||||
@ -225,11 +229,15 @@ $scope.dayBookApprovalAccess = '';
|
||||
}
|
||||
// alert(JSON.stringify($scope.myModel));
|
||||
}
|
||||
|
||||
$scope.deleted1 = function (id) {
|
||||
|
||||
var id=id;
|
||||
var reason=prompt("Enter Reason!","");
|
||||
$scope.deleteFeePayableEntry(reason,id);
|
||||
}
|
||||
|
||||
//delete the income entry From the fees payable
|
||||
$scope.deleteFeePayableEntry = function (id) {
|
||||
// alert(id);
|
||||
$scope.deleteFeePayableEntry = function (reason,id) {
|
||||
SweetAlert.swal({
|
||||
title: "Warning!",
|
||||
text: "Do you want to Delete this Entry ?",
|
||||
@ -248,6 +256,7 @@ $scope.dayBookApprovalAccess = '';
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: {
|
||||
reason:reason,
|
||||
data: id,
|
||||
requestDetails: localDetails
|
||||
}
|
||||
@ -264,9 +273,17 @@ $scope.dayBookApprovalAccess = '';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$scope.deleted = function (id) {
|
||||
|
||||
var id=id;
|
||||
var a=prompt("Enter Reason!","");
|
||||
$scope.deleEditEntry(a,id);
|
||||
|
||||
|
||||
|
||||
}
|
||||
// delete the income/expense list row
|
||||
$scope.deleEditEntry = function (id) {
|
||||
$scope.deleEditEntry = function (a, id) {
|
||||
swal({
|
||||
title: "Are you sure?",
|
||||
text: "Your will not be able to recover this record!",
|
||||
@ -277,9 +294,9 @@ $scope.dayBookApprovalAccess = '';
|
||||
closeOnConfirm: false
|
||||
},
|
||||
function () {
|
||||
$scope.indexDelete2(id);
|
||||
$scope.indexDelete2(a, id);
|
||||
});
|
||||
$scope.indexDelete2 = function (id) {
|
||||
$scope.indexDelete2 = function (a, id) {
|
||||
var deleteDetails = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'deleteDayBookDetails/',
|
||||
@ -287,6 +304,7 @@ $scope.dayBookApprovalAccess = '';
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: {
|
||||
reason: a,
|
||||
data: id,
|
||||
requestDetails: localDetails
|
||||
}
|
||||
|
||||
@ -11,6 +11,21 @@ app.controller('daybooksuperadminCtrl', ["$scope", "$rootScope", "toaster", "$fi
|
||||
$scope.disableAddButton = false;
|
||||
$scope.disableEditButton = false;
|
||||
|
||||
//In controller
|
||||
$scope.exportAction = function(){
|
||||
alert();
|
||||
switch('excel'){
|
||||
case 'pdf': $scope.$broadcast('export-pdf', {});
|
||||
break;
|
||||
case 'excel': $scope.$broadcast('export-excel', {});
|
||||
break;
|
||||
case 'doc': $scope.$broadcast('export-doc', {});
|
||||
break;
|
||||
default: console.log('no event caught');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$scope.searchData = {
|
||||
"date": "",
|
||||
"dateTo": ""
|
||||
@ -217,6 +232,10 @@ $scope.dayBookApprovalAccess = '';
|
||||
if (response.data.typeNameStatus) {
|
||||
$scope.incomeExpenseName = response.data.typeList;
|
||||
$scope.incomeExpenseType = response.data.typeNameList;
|
||||
|
||||
console.log($scope.incomeExpenseName)
|
||||
|
||||
console.log($scope.incomeExpenseType);
|
||||
} else {
|
||||
}
|
||||
});
|
||||
@ -224,19 +243,41 @@ $scope.dayBookApprovalAccess = '';
|
||||
|
||||
// parse the income and expense type from the list
|
||||
$scope.getType = function (type) {
|
||||
$scope.getIncomeTypes = $scope.incomeExpenseType.filter(function (val) {
|
||||
$scope.getIncomeTypes = $scope.incomeExpenseName.filter(function (val) {
|
||||
return val.TypeID === 'I002' ? 1 : 0;
|
||||
});
|
||||
$scope.getExpenseTypes = $scope.incomeExpenseType.filter(function (val) {
|
||||
$scope.getExpenseTypes = $scope.incomeExpenseName.filter(function (val) {
|
||||
return val.TypeID === 'I001' ? 1 : 0;
|
||||
});
|
||||
|
||||
$scope.getExpenseTypes = $scope.incomeExpenseName.filter(function (val) {
|
||||
return val.TypeID === 'I003' ? 1 : 0;
|
||||
});
|
||||
|
||||
$scope.getExpenseTypes = $scope.incomeExpenseName.filter(function (val) {
|
||||
return val.TypeID === 'I004' ? 1 : 0;
|
||||
});
|
||||
|
||||
$scope.getExpenseTypes = $scope.incomeExpenseName.filter(function (val) {
|
||||
return val.TypeID === 'I005' ? 1 : 0;
|
||||
});
|
||||
|
||||
$scope.getExpenseTypes = $scope.incomeExpenseName.filter(function (val) {
|
||||
return val.TypeID === 'I006' ? 1 : 0;
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
$scope.myModelAdd.type = '';
|
||||
$scope.getTypes = type === 'I002' ? $scope.getIncomeTypes : $scope.getExpenseTypes;
|
||||
|
||||
console.log($scope.getTypes)
|
||||
};
|
||||
|
||||
$scope.editId = -1;
|
||||
$scope.setEditId = function (P) {
|
||||
// alert(id);
|
||||
//alert(id);
|
||||
$scope.editId = P;
|
||||
}
|
||||
|
||||
@ -274,12 +315,14 @@ $scope.dayBookApprovalAccess = '';
|
||||
}
|
||||
|
||||
$scope.copyModel = function (p) {
|
||||
console.log(p);
|
||||
var inc = $scope.incomeExpenseType.filter((inc)=>inc.ID == p.Type);
|
||||
console.log(inc);
|
||||
$scope.incexp = inc[0];
|
||||
$scope.myModel = {
|
||||
"id": p.ID,
|
||||
"date": p.Date,
|
||||
"incomeExpense": p.Name,
|
||||
"type": p.Type,
|
||||
"type" : $scope.incexp.ID,
|
||||
"amount": p.Amount,
|
||||
"status": p.Status,
|
||||
"description": p.Description,
|
||||
@ -288,6 +331,7 @@ $scope.dayBookApprovalAccess = '';
|
||||
"voucherNumber": p.VoucherNumber,
|
||||
"branch":p.BranchCode,
|
||||
"name": p.Name
|
||||
|
||||
}
|
||||
// alert(JSON.stringify($scope.myModel));
|
||||
}
|
||||
@ -295,7 +339,7 @@ $scope.dayBookApprovalAccess = '';
|
||||
|
||||
$scope.deleted1 = function (id) {
|
||||
var id=id;
|
||||
var reason=prompt("Enter for the Delete Reason!","");
|
||||
var reason=prompt("Enter Reason!","");
|
||||
$scope.deleteFeePayableEntry(reason,id);
|
||||
}
|
||||
//delete the income entry From the fees payable
|
||||
@ -319,7 +363,8 @@ $scope.dayBookApprovalAccess = '';
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: {
|
||||
reason:reason,data:id,
|
||||
reason:reason,
|
||||
data:id,
|
||||
requestDetails: localDetails
|
||||
}
|
||||
};
|
||||
@ -340,7 +385,7 @@ $scope.dayBookApprovalAccess = '';
|
||||
$scope.deleted = function (id) {
|
||||
|
||||
var id=id;
|
||||
var a=prompt("Enter for the Delete Reason!","");
|
||||
var a=prompt("Enter Reason!","");
|
||||
$scope.deleEditEntry(a,id);
|
||||
|
||||
|
||||
@ -491,8 +536,13 @@ $scope.dayBookApprovalAccess = '';
|
||||
// update a daybook entry details
|
||||
$scope.daybookeditUpdate = {
|
||||
submit: function (form, myModel) {
|
||||
|
||||
console.log(myModel.type);
|
||||
//return false;
|
||||
var firstError = null;
|
||||
if (form.$invalid) {
|
||||
|
||||
alert();
|
||||
var field = null, firstError = null;
|
||||
for (field in form) {
|
||||
if (field[0] != '$') {
|
||||
@ -505,7 +555,7 @@ $scope.dayBookApprovalAccess = '';
|
||||
}
|
||||
}
|
||||
angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
||||
// swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error");
|
||||
swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error");
|
||||
} else {
|
||||
// alert(JSON.stringify($scope.myModel));exit();
|
||||
$scope.disableEditButton = true;
|
||||
@ -536,6 +586,28 @@ $scope.dayBookApprovalAccess = '';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function styleXl(){
|
||||
var mystyle = {
|
||||
sheetid: 'DAYBOOK DETAILS',
|
||||
headers: true,
|
||||
caption: {
|
||||
title:'DAYBOOK DETAILS'+ '('+ $scope.searchData.date + ' - ' + $scope.searchData.dateTo +')',
|
||||
width: '300px',
|
||||
style:'font-size:50px;color:blue;'
|
||||
},
|
||||
// style:'background:#00FF00',
|
||||
column: {
|
||||
style:'font-size:11px; color:blue;'
|
||||
}
|
||||
};
|
||||
return mystyle
|
||||
}
|
||||
$scope.exportData = function () {
|
||||
alasql('SELECT Date as Date, ListName as IncomeExpense, VoucherNumber as VoucherNumberBillNumber, PaidTo as PaidToReceivedFrom,FeePaymentDetails as Sem, CourseName as Course,UniversityName as University,TypeName as Type, ReceiptNo as Receipt_No, ReceiptNoComments as Comments, ModeOfPayment as Mode_of_Payment,Amount as Amount,Balance as Balance, Reason, Activity INTO XLS("daybook_details.xls",?) FROM ?',[styleXl(),$scope.data]);
|
||||
};
|
||||
|
||||
|
||||
}]);
|
||||
|
||||
|
||||
|
||||
@ -76,7 +76,7 @@ app.controller('staffCtrl', ["$scope", "toaster", "$filter", "ngTableParams", "$
|
||||
$scope.getRoleList();
|
||||
$scope.getBranchDetails();
|
||||
} else {
|
||||
if(localDetail != null) {
|
||||
if(localDetail != null && LOCALTYPE !='R001' ) {
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
ipCookie.remove('cookiechk');
|
||||
|
||||
@ -39,6 +39,30 @@ $scope.isLoaderTxt = "Loading...";
|
||||
* created by kms
|
||||
* */
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
// var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
// const LOCALTYPE = logcheck.localType;
|
||||
// if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
// console.log("if");
|
||||
// }else {
|
||||
// if(logcheck != null && LOCALTYPE !='R001') {
|
||||
// console.log("else if");
|
||||
// $state.go('app.dashboard');
|
||||
// } else {
|
||||
|
||||
// console.log("else else");
|
||||
// //ipCookie.remove('cookiechk');
|
||||
// window.localStorage.clear();
|
||||
// $state.go('login.signin');
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var getUniv = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'getUniversityCourseDetails/',
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
* controllers for ng-table
|
||||
* Simple table with sorting and filtering on AngularJS
|
||||
*/
|
||||
app.controller('feesStatusCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", "installmentService", "SweetAlert", "dateListDescService", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state,installmentService,SweetAlert,dateListDescService) {
|
||||
app.controller('feesStatusCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", "installmentService", "SweetAlert", "dateListDescService","$modal", function ($scope,$rootScope,toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state,installmentService,SweetAlert,dateListDescService,$modal) {
|
||||
$scope.myModel = {
|
||||
"studentName": "",
|
||||
"mobileNumber": "",
|
||||
@ -92,6 +92,32 @@ app.controller('feesStatusCtrl', ["$scope","$rootScope","toaster", "$filter", "n
|
||||
* created by kms
|
||||
* */
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
|
||||
// var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
// const LOCALTYPE = logcheck.localType;
|
||||
// if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
// console.log("if");
|
||||
// }else {
|
||||
// if(logcheck != null && LOCALTYPE !='R001') {
|
||||
// console.log("else if");
|
||||
// $state.go('app.dashboard');
|
||||
// } else {
|
||||
|
||||
// console.log("else else");
|
||||
// //ipCookie.remove('cookiechk');
|
||||
// // window.localStorage.clear();
|
||||
// $state.go('login.signin');
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$scope.isTrainee = false;
|
||||
var localUserType = JSON.parse(localStorage.getItem('localObj')).localType;
|
||||
|
||||
@ -174,7 +200,6 @@ app.controller('feesStatusCtrl', ["$scope","$rootScope","toaster", "$filter", "n
|
||||
$http(getStudent).then(function (response) {
|
||||
if (response.data.status==200 && response.data.studentStatus) {
|
||||
$scope.studentInfo=response.data.details;
|
||||
console.log($scope.studentInfo);
|
||||
|
||||
} else {
|
||||
$scope.studentInfo="";
|
||||
@ -261,11 +286,12 @@ app.controller('feesStatusCtrl', ["$scope","$rootScope","toaster", "$filter", "n
|
||||
* update total fees amount after change value
|
||||
* created by kms
|
||||
* */
|
||||
$scope.changeTotalFees = function (model) {
|
||||
$scope.changeTotalFees = function (model,form) {
|
||||
//User wants to manually enter fees amount
|
||||
//$scope.updateModel.billAmount = model.BalanceAmount;
|
||||
$scope.updateModel.date = $filter('date')(new Date(), 'dd-MM-yyyy');
|
||||
|
||||
$scope.updateModel.billAmount="";
|
||||
form.billAmount.$setPristine(true);
|
||||
|
||||
}
|
||||
|
||||
@ -2177,10 +2203,30 @@ app.controller('feesStatusCtrl', ["$scope","$rootScope","toaster", "$filter", "n
|
||||
}, true);*/
|
||||
|
||||
|
||||
/* receive fees total bill amount watch function */
|
||||
$scope.$watch('updateModel.billAmount', function (newValue,oldValue) {
|
||||
if(parseInt(newValue) && parseInt(newValue)<=parseInt($scope.updateModel.feesType.BalanceAmount)){
|
||||
$scope.payableAmtInfo=parseInt($scope.updateModel.feesType.BalanceAmount)-parseInt(newValue);
|
||||
}
|
||||
else if(parseInt(newValue) && parseInt(newValue)>parseInt($scope.updateModel.feesType.BalanceAmount)){
|
||||
$scope.payableAmtInfo=0;
|
||||
}
|
||||
else{
|
||||
$scope.payableAmtInfo=$scope.updateModel.feesType.BalanceAmount;
|
||||
}
|
||||
|
||||
});
|
||||
/* watch function for receive fees semd year options changes */
|
||||
$scope.$watch('updateModel.feesType.BalanceAmount', function (newValue,oldValue) {
|
||||
if(parseInt(newValue)){
|
||||
$scope.payableAmtInfo=newValue;
|
||||
}
|
||||
else {
|
||||
$scope.payableAmtInfo = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
}]);
|
||||
|
||||
@ -2341,7 +2387,7 @@ app.controller('studentModalDemoCtrl', ["$scope", "$rootScope", "$modal", "$log"
|
||||
|
||||
// $scope.items = ['item1', 'item2', 'item3'];
|
||||
|
||||
$scope.open = function (studentDetails) {
|
||||
$scope.openStudentView = function (studentDetails) {
|
||||
|
||||
|
||||
// get student view details
|
||||
@ -2435,7 +2481,234 @@ app.controller('studentModalDemoCtrl', ["$scope", "$rootScope", "$modal", "$log"
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Created by Viual Studio.
|
||||
* User: sriram
|
||||
* Date: 8/9/18
|
||||
*
|
||||
*/
|
||||
|
||||
$scope.reregisterPDF = function(student){
|
||||
|
||||
var coursefiltered = $scope.studentInfo.filter((universitycourse)=>universitycourse.ID == $scope.viewId);
|
||||
//console.log(coursefiltered);
|
||||
var getsubject = {
|
||||
method:'post',
|
||||
url:apiPoint.url +"getSubject",
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data:{
|
||||
SemNum:student.Sem_Year,
|
||||
Course:coursefiltered[0].CourseID,
|
||||
branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID,
|
||||
}
|
||||
|
||||
};
|
||||
$http(getsubject).then(function(response){
|
||||
// console.log(response);
|
||||
|
||||
if(response.data.status ==200 && response.data.SubjectStatus){
|
||||
//angular.forEach($scope.selectedStudentsID,function(studentdata,key){
|
||||
|
||||
// angular.forEach(response.data.SubjectDetails[key],function(subjectdata,subkey){
|
||||
// console.log(subkey);
|
||||
// $scope.subjectDetails.push(subjectdata);
|
||||
// });
|
||||
$scope.open(coursefiltered,response.data.SubjectDetails,student);
|
||||
//});
|
||||
|
||||
}
|
||||
// if(response.data.message == "Something Went Wrong!" ){
|
||||
// //alert();
|
||||
// swal('No Subject Available','','warning');
|
||||
|
||||
|
||||
},function(error){
|
||||
swal('No Subject Available','','warning');
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
$scope.open = function(coursefiltered,Subjects,sem){
|
||||
|
||||
// console.log(PDFdata);
|
||||
//$rootScope.Student = PDFdata;
|
||||
// console.log($rootScope.Student);
|
||||
// return false;
|
||||
$rootScope.sem = sem.Sem_Year;
|
||||
|
||||
//console.log($rootScope.sem);
|
||||
$rootScope.Course = coursefiltered[0];
|
||||
|
||||
//console.log($rootScope.Course);
|
||||
|
||||
$rootScope.Subject = Subjects;
|
||||
// console.log($rootScope.Subject);
|
||||
// return false;
|
||||
var modalInstance = $modal.open({
|
||||
templateUrl: 'assets/views/reregistration/reregistrationformpdf.html',
|
||||
controller: 'studentModalDemoCtrl',
|
||||
// size: size,
|
||||
resolve: {
|
||||
pdfitems: function () {
|
||||
//return $scope.FeesName;
|
||||
return sem;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
modalInstance.result.then(function (selectedItem) {
|
||||
$scope.selected = selectedItem;
|
||||
}, function () {
|
||||
$log.info('Modal dismissed at: ' + new Date());
|
||||
});
|
||||
};
|
||||
$scope.generatePDF = function(){
|
||||
var sem = "Sem/Year:"+$scope.sem;
|
||||
|
||||
var universityaddress = encodeURIComponent($scope.Course.Address).replace(/[%2C %20]/g,' ');
|
||||
$scope.universityAddress = universityaddress.replace(" "," ");;
|
||||
$scope.universitydetails = "Mobile: "+$scope.Course.UnivMobileNumber+",E-mail id:"+$scope.Course.EmailID+
|
||||
",Website:-";
|
||||
$scope.Enroll = "Enrolment No: ";
|
||||
$scope.courseDetails = "Course Name: "+$scope.Course.CourseName+" specialization: "+$scope.Course.Specilization +sem
|
||||
|
||||
$scope.StudentName = "Name of the Candidate: "+$scope.Course.Firstname +' '+ $scope.Course.Lastname;
|
||||
$scope.StudentFatername = "Father's Name: "+$scope.Course.Fathername;
|
||||
$scope.StudentMotherName = "Mother's Name: "+$scope.Course.MotherName;
|
||||
//var str = $scope.Student.PresentAddress;
|
||||
|
||||
var str = encodeURIComponent($scope.Course.PermanentAddress).replace(/[%2C %20 %0A]/g,' ');
|
||||
|
||||
|
||||
// str.replace("%0A"," ");
|
||||
// str.replace("%20"," ");
|
||||
// str.replace("%2C"," ");
|
||||
$scope.StudnetAddress = "Address: "+ str.replace(" "," ");
|
||||
$scope.StudentPin = "Pincode: .................. Mobile No: "+$scope.Course.MobileNumber+" Email ID: "+$scope.Course.EmailID;
|
||||
|
||||
// var sem1 = doc.autoTableHtmlToJson(document.getElementById(subject));
|
||||
var universityname = $scope.Course.UniversityName;
|
||||
var universityCap = universityname.toUpperCase();
|
||||
var doc = new jsPDF('A4');
|
||||
var img = document.getElementById("logo");
|
||||
var canvas = document.createElement("canvas");
|
||||
canvas.width = 100;
|
||||
canvas.height = 100;
|
||||
var ctx = canvas.getContext("2d");
|
||||
ctx.drawImage(img, 0, 0,100,100);
|
||||
var dataURL = canvas.toDataURL("image/png");
|
||||
|
||||
doc.rect(10, 10, 190, 280);
|
||||
|
||||
doc.text(70, 20, universityCap);
|
||||
doc.addImage(dataURL, 'jpeg', 50, 13, 10, 10);
|
||||
doc.setFontSize(14);
|
||||
doc.text(70,32,"RE-REGISTRATION FORM");
|
||||
doc.setFontSize(12);
|
||||
doc.text(35,35,$scope.universityAddress);
|
||||
doc.text(20,42,$scope.universitydetails);
|
||||
doc.setFontSize(10);
|
||||
doc.setFontSize(10);
|
||||
var formdetails = "The from should be complete in all respects and to be filled by student in English CAPITAL letters in blue /black ink.";
|
||||
var details = doc.splitTextToSize(formdetails,200);
|
||||
doc.text(15,50,details);
|
||||
|
||||
doc.setFontSize(12);
|
||||
doc.line(10, 45, 200, 45);
|
||||
var col = 45;
|
||||
var EnLen = $scope.Course.EnrollmentID.length;
|
||||
//console.log(EnLen);
|
||||
var k = 0;
|
||||
if(EnLen !=0){
|
||||
while( k<= EnLen-1){
|
||||
//console.log(k);
|
||||
|
||||
doc.text(15,60,$scope.Enroll);doc.rect(col,57,5,5);
|
||||
col = col+1;
|
||||
doc.text(col,61,$scope.Course.EnrollmentID[k]);
|
||||
col = parseInt(col)+4;
|
||||
k++;
|
||||
}
|
||||
}else{
|
||||
doc.text(15,60,$scope.Enroll); doc.rect(45,55,5,5);doc.rect(50,55,5,5);doc.rect(55,55,5,5);doc.rect(60,55,5,5);doc.rect(65,55,5,5);doc.rect(70,55,5,5);doc.rect(75,55,5,5);doc.rect(80,55,5,5);doc.rect(85,55,5,5);doc.rect(90,55,5,5);doc.rect(95,55,5,5);doc.rect(100,55,5,5);doc.rect(105,55,5,5);doc.rect(110,55,5,5);doc.rect(115,55,5,5);doc.rect(120,55,5,5);doc.rect(125,55,5,5);
|
||||
// doc.text(46,59,$scope.Student.EnrollmentID[0]);doc.text(51,59,$scope.Student.EnrollmentID[1]);doc.text(56,59,$scope.Student.EnrollmentID[2]);doc.text(61,59,$scope.Student.EnrollmentID[3]);doc.text(66,59,$scope.Student.EnrollmentID[4]);
|
||||
// doc.text(71,59,$scope.Student.EnrollmentID[5]);doc.text(76,59,$scope.Student.EnrollmentID[6]);doc.text(81,59,$scope.Student.EnrollmentID[7]);doc.text(86,59,$scope.Student.EnrollmentID[8]);doc.text(91,59,$scope.Student.EnrollmentID[9]);
|
||||
// doc.text(96,59,$scope.Student.EnrollmentID[10]);doc.text(101,59,$scope.Student.EnrollmentID[11]);doc.text(106,59,$scope.Student.EnrollmentID[12]);
|
||||
// //doc.text(111,59,$scope.Student.EnrollmentID[13]);doc.text(116,59,$scope.Student.EnrollmentID[14]);doc.text(121,59,$scope.Student.EnrollmentID[15]);
|
||||
}
|
||||
doc.setFontSize(10);
|
||||
doc.text(15,70,$scope.courseDetails);
|
||||
doc.setFontSize(12);
|
||||
doc.text(15,80,"Examination Session: January ");doc.rect(73,77,5,5);doc.text(80,80,"June");doc.rect(90,77,5,5);doc.text(100,80,"Semester Mode");doc.rect(131,77,5,5);doc.text(140,80,"Yearly Mode");doc.rect(165,77,5,5);
|
||||
// doc.autoTable(sem1.columns, sem1.data, {margin: {top: 100},theme:'grid'});
|
||||
|
||||
doc.line(10, 83, 200, 83);
|
||||
doc.text(15,88,$scope.StudentName);
|
||||
doc.text(60,89,"......................................................................................................................");
|
||||
doc.text(15,95,$scope.StudentFatername);
|
||||
doc.text(43,96,"....................................................................................................................................");
|
||||
doc.text(15,102,$scope.StudentMotherName);
|
||||
doc.text(43,103,"....................................................................................................................................");
|
||||
|
||||
doc.text(15,110,$scope.StudnetAddress);
|
||||
doc.text(30,111,"................................................................................................................................................");
|
||||
doc.text(15,121,$scope.StudentPin);
|
||||
doc.text
|
||||
doc.line(10, 125, 200,125);
|
||||
doc.text(45,130,"SUBJECT / PAPER IN WHICH CANDIDATE APPEARING")
|
||||
doc.line(10, 131, 200, 131);
|
||||
doc.text(20,135,"SR.NO");
|
||||
|
||||
doc.text(60,135,"Subject Code");
|
||||
doc.text(110,135,"Subject/Paper Code");
|
||||
doc.line(10,137,200,137);
|
||||
var row = 137;
|
||||
var no = 1;
|
||||
//console.log();
|
||||
angular.forEach($scope.Subject[0],function(subjectData,key){
|
||||
//for(var i=0;i<=$scope.Subject[key].length-1;i++){
|
||||
// console.log(subjectData);
|
||||
doc.line(10,row,200,row);
|
||||
no = no.toString();
|
||||
doc.text(20,row+5,no);
|
||||
doc.text(65,row+5,subjectData.SubjectCode);
|
||||
doc.setFontSize(10);
|
||||
doc.text(100,row+5,subjectData.SubjectName);
|
||||
|
||||
row = row+6;
|
||||
no = parseInt(no)+1;
|
||||
doc.line(10,row,200,row);
|
||||
|
||||
});
|
||||
var index = 14;
|
||||
var len = index-$scope.Subject[0].length;
|
||||
//console.log(len);
|
||||
for(var j=0;j<=len;j++){
|
||||
if(no <=9){
|
||||
no = no.toString();
|
||||
doc.text(20,row+5,no);
|
||||
}else{
|
||||
no = no.toString();
|
||||
doc.text(19,row+5,no);
|
||||
}
|
||||
// doc.text(75,row+5,"--");
|
||||
// doc.text(120,row+5,"--");
|
||||
row = row+6;
|
||||
|
||||
no = parseInt(no)+1;
|
||||
doc.line(10,row,200,row);
|
||||
}
|
||||
doc.line(10,240,200,240);
|
||||
doc.text(15,250,"Fees Details: Cash / Cheque / DD");
|
||||
doc.text(15,260,"DD No / Cheque No ....................... Dated ............... Bank ....................");
|
||||
doc.text(15,270,"Amount ...................");
|
||||
doc.text(150,280,"Signature of Candidate");
|
||||
|
||||
doc.save($scope.Course.Firstname +'_'+ $scope.Course.Lastname+'_'+$scope.sem+'.pdf');
|
||||
|
||||
}
|
||||
|
||||
}]);
|
||||
|
||||
|
||||
@ -41,6 +41,27 @@ $scope.generateButtonStatus = false;
|
||||
* created by kms
|
||||
* */
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
|
||||
// var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
// const LOCALTYPE = logcheck.localType;
|
||||
// if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
// console.log("if");
|
||||
// }else {
|
||||
// if(logcheck != null && LOCALTYPE !='R001') {
|
||||
// console.log("else if");
|
||||
// $state.go('app.dashboard');
|
||||
// } else {
|
||||
|
||||
// console.log("else else");
|
||||
// //ipCookie.remove('cookiechk');
|
||||
// window.localStorage.clear();
|
||||
// $state.go('login.signin');
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
var getUniv = {
|
||||
method: 'POST',
|
||||
|
||||
@ -132,6 +132,26 @@ app.controller("incomeCtrl", ["$scope", "toaster", "$filter", "API_POINTS", "$lo
|
||||
$scope.emptyData = '';
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
var getStatus = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'getAccounttypes/',
|
||||
|
||||
@ -15,6 +15,41 @@ app.controller('income_reportCtrl', ["$scope","$rootScope","toaster", "$filter",
|
||||
|
||||
};
|
||||
|
||||
//console.log('out')
|
||||
|
||||
|
||||
// $scope.initHead = function() {
|
||||
//console.log('rfd');
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
// }
|
||||
|
||||
|
||||
$scope.init = function(){
|
||||
|
||||
console.log('gf');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// $scope.filters = function () {
|
||||
// var filterlist = {
|
||||
// method: 'POST',
|
||||
|
||||
@ -111,16 +111,47 @@ app.controller('report_balfeeCtrl', ["$scope", "$filter","$rootScope","$modal",
|
||||
};
|
||||
|
||||
$http(response_data).then(function (response) {
|
||||
var j =0;
|
||||
if (response.data.balfeeList == true) {
|
||||
$scope.balfee_data = response.data.balfee_data;
|
||||
for(var i=0;i<$scope.balfee_data.length;i++)
|
||||
$scope.balfee_data[i].SL_NO = i+1;
|
||||
if($scope.balfee_data[i].balance !=0){
|
||||
$scope.balfee_data[i].SL_NO = j+1;
|
||||
j++;
|
||||
}
|
||||
|
||||
} else {
|
||||
$scope.message = response.data.message;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$scope.gettotal = function(){
|
||||
var totalfee = 0;
|
||||
for(var i = 0; i < $scope.balfee_data.length; i++){
|
||||
var item = $scope.balfee_data[i];
|
||||
totalfee += parseFloat(item.Total);
|
||||
}
|
||||
return totalfee; }
|
||||
$scope.getpaid = function(){
|
||||
var totalpaid = 0;
|
||||
for(var i = 0; i < $scope.balfee_data.length; i++){
|
||||
var item = $scope.balfee_data[i];
|
||||
totalpaid += parseFloat(item.Paid_fee);
|
||||
}
|
||||
return totalpaid; }
|
||||
|
||||
$scope.getbalance = function(){
|
||||
var totalbalance=0;
|
||||
for(var i = 0; i < $scope.balfee_data.length; i++){
|
||||
var item = $scope.balfee_data[i];
|
||||
totalbalance += parseFloat(item.balance);
|
||||
|
||||
}
|
||||
return totalbalance; }
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -143,7 +174,7 @@ app.controller('report_balfeeCtrl', ["$scope", "$filter","$rootScope","$modal",
|
||||
|
||||
|
||||
$scope.exportData = function () {
|
||||
alasql('SELECT CAST(SL_NO AS NUMBER) as SLNO,eid as EnrollmentID,Student_name as StudentName,Father_name as FatherName,Course_name as CourseName,Sem_year as SemYear,CAST(Phone_number AS NUMBER) as PhoneNumber,University as University,CAST(Total AS NUMBER) as TotalFee,CAST(Paid_fee AS NUMBER) as FeesPaid,CAST(balance AS NUMBER) as Balance,billno1 as BillNO1,CAST(billamt1 AS NUMBER) as BillAmount1,billno2 as BillNO2,CAST(billamt2 AS NUMBER) as BillAmount2, billno3 as BillNO3, CAST(billamt3 AS NUMBER) as BillAmount3, billno4 as BillNO4, CAST(billamt4 AS NUMBER) as BillAmount4, billno5 as BillNO5,CAST(billamt5 AS NUMBER) as BillAmount5,billno6 as BillNO6,CAST(billamt6 AS NUMBER) as BillAmount6,billno7 as BillNo7,CAST(billamt7 AS NUMBER)as BillAmount7,billno8 as BillNO8,CAST(billamt8 AS NUMBER) as BillAmount8,billno9 as BillNO9,CAST(billamt9 AS NUMBER) as BillAmount9,billno10 as BillNO10,CAST(billamt10 AS NUMBER) as BillAmount10 INTO XLS("Balancefee_status.xls",?) FROM ?',[mystyle,$scope.balfee_data]);
|
||||
alasql('SELECT CAST(SL_NO AS NUMBER) as SLNO,eid as EnrollmentID,Student_name as StudentName,Father_name as FatherName,Course_name as CourseName,Sem_year as SemYear,CAST(Phone_number AS NUMBER) as PhoneNumber,University as University,regdate as RegistrationDate,CAST(Total AS NUMBER) as TotalFee,CAST(Paid_fee AS NUMBER) as FeesPaid,CAST(balance AS NUMBER) as Balance,billno1 as BillNO1,CAST(billamt1 AS NUMBER) as BillAmount1,billno2 as BillNO2,CAST(billamt2 AS NUMBER) as BillAmount2, billno3 as BillNO3, CAST(billamt3 AS NUMBER) as BillAmount3, billno4 as BillNO4, CAST(billamt4 AS NUMBER) as BillAmount4, billno5 as BillNO5,CAST(billamt5 AS NUMBER) as BillAmount5,billno6 as BillNO6,CAST(billamt6 AS NUMBER) as BillAmount6,billno7 as BillNo7,CAST(billamt7 AS NUMBER)as BillAmount7,billno8 as BillNO8,CAST(billamt8 AS NUMBER) as BillAmount8,billno9 as BillNO9,CAST(billamt9 AS NUMBER) as BillAmount9,billno10 as BillNO10,CAST(billamt10 AS NUMBER) as BillAmount10 INTO XLS("Balancefee_status.xls",?) FROM ?',[mystyle,$scope.balfee_data]);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -133,7 +133,7 @@ app.controller('report_doc_pendingCtrl', ["$scope", "$filter","$rootScope","$mod
|
||||
|
||||
|
||||
$scope.exportData = function () {
|
||||
alasql('SELECT CAST(SL_NO AS NUMBER) as SLNO,Admission_date as AdmissionDate,Enrollment_id as EnrollmentID,Student_name as StudentName,Father_name as FatherName,Course_name as CourseName,Sem_year as SemYear,CAST(Phone_number AS NUMBER) as PhoneNumber,University as University,Status as DocumentPendingStatus INTO XLS("Document_pending_student_list.xls",?) FROM ?',[mystyle,$scope.doc_pending_data]);
|
||||
alasql('SELECT CAST(SL_NO AS NUMBER) as SLNO,Admission_date as AdmissionDate,Enrollment_id as EnrollmentID,Student_name as StudentName,Father_name as FatherName,Course_name as CourseName,Sem_year as SemYear,CAST(Phone_number AS NUMBER) as PhoneNumber,University as University,adate as DocumentAppliedDate,certname as DocumentName,Status as DocumentPendingStatus INTO XLS("Document_pending_student_list.xls",?) FROM ?',[mystyle,$scope.doc_pending_data]);
|
||||
};
|
||||
/*modal controller
|
||||
* */
|
||||
|
||||
@ -13,6 +13,20 @@ app.controller('report_expenseCtrl', ["$scope", "API_POINTS", "$http", "SweetAle
|
||||
|
||||
};
|
||||
|
||||
var localDetail = JSON.parse(localStorage.getItem('localObj'));
|
||||
const LOCALTYPE = localDetail.localType;
|
||||
//console.log(LOCALTYPE)
|
||||
if (localDetail != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
}else {
|
||||
if((localDetail != null) && (LOCALTYPE !='R001')) {
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
$scope.filters = function () {
|
||||
var filterlist = {
|
||||
method: 'POST',
|
||||
|
||||
533
Apollo/assets/js/controllers/report_leadCtrl.js
Normal file
533
Apollo/assets/js/controllers/report_leadCtrl.js
Normal file
@ -0,0 +1,533 @@
|
||||
'use strict';
|
||||
/*** controller***/
|
||||
app.controller('report_leadCtrl', ["$scope", "$filter","$rootScope","$modal", "API_POINTS", "$http", "SweetAlert", "$state", 'md5', 'ipCookie', '$window',"dateListDescService",
|
||||
function ($scope, $filter,$rootScope,$modal, apiPoint, $http, SweetAlert, $state, md5, ipCookie, $window, dateListDescService) {
|
||||
|
||||
/*
|
||||
* auto call tracking/
|
||||
*/
|
||||
$scope.userType=JSON.parse(localStorage.getItem('localObj')).localType;
|
||||
$scope.myModel = {
|
||||
|
||||
"date": new Date(),
|
||||
"activity": "",
|
||||
"assignedTo": "",
|
||||
"status": "",
|
||||
"referedBy": '',
|
||||
"comments":'',
|
||||
"enquiryStatus":'',
|
||||
|
||||
"important":false,
|
||||
"branch":"",
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
// $scope.init = function() {
|
||||
// alert();
|
||||
var localDetail = JSON.parse(localStorage.getItem('localObj'));
|
||||
const LOCALTYPE = localDetail.localType;
|
||||
//console.log(LOCALTYPE)
|
||||
if (localDetail != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
}else {
|
||||
if((localDetail != null) && (LOCALTYPE !='R001')) {
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
// }
|
||||
|
||||
//get current date
|
||||
$scope.hideDateSearch=true;
|
||||
$scope.modifyMinDate = moment();
|
||||
//$scope.minDate = $filter('date')($scope.modifyMinDate, 'MM-dd-yyyy');
|
||||
$scope.currentDate=$filter('date')(new Date(), 'dd-MM-yyyy');
|
||||
// get 30 plus date for follwup details
|
||||
$scope.modifyDate = moment();
|
||||
$scope.modifyDate.add(30, 'days');
|
||||
$scope.futureDate = $filter('date')($scope.modifyDate, 'dd-MM-yyyy');
|
||||
$scope.myModel.date=$scope.currentDate;
|
||||
// console.log($scope.currentDate);
|
||||
/**
|
||||
* End of the call tracking
|
||||
*/
|
||||
// DataTables configurable options
|
||||
|
||||
|
||||
$scope.filters = {
|
||||
"branch": "",
|
||||
"from_date": "",
|
||||
"to_date": "",
|
||||
|
||||
};
|
||||
|
||||
$scope.filters = function () {
|
||||
var filterlist = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'report_filters/',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: {
|
||||
branch : JSON.parse(localStorage.getItem('localObj')).localBranchID
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
$http(filterlist).then(function (response) {
|
||||
if (response.data) {
|
||||
$scope.batch=[];
|
||||
$scope.batchlist = response.data.batch;
|
||||
$scope.university = response.data.university;
|
||||
//Desc order Batchlist
|
||||
angular.forEach($scope.batchlist,function (values,key) {
|
||||
var parts = values.BatchDate.split("-");
|
||||
$scope.batch.push({
|
||||
"batchcode":values.batchcode,
|
||||
"batch":values.batch + '('+ values.batchcode + ')',
|
||||
"BatchDate":values.BatchDate,
|
||||
"givenDateObject":new Date(parts[2], parts[1] - 1, parts[0])
|
||||
})
|
||||
});
|
||||
// call service for make a list in desc order based on date
|
||||
$scope.batch=dateListDescService.getOrderByList($scope.batch);
|
||||
//console.log($scope.branch);
|
||||
} else {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$scope.onSubmit = function () {
|
||||
//alert($scope.batch.name);
|
||||
$scope.lead_data = '';
|
||||
$scope.message = '';
|
||||
var response_data = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'report_lead/',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: {
|
||||
branch: JSON.parse(localStorage.getItem('localObj')).localBranchID,
|
||||
from : $scope.filters.from_date,
|
||||
to : $scope.filters.to_date
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
$http(response_data).then(function (response) {
|
||||
if (response.data.leadList == true) {
|
||||
$scope.lead_data = response.data.lead_data;
|
||||
for(var i=0;i<$scope.lead_data.length;i++)
|
||||
$scope.lead_data[i].SL_NO = i+1;
|
||||
|
||||
} else {
|
||||
$scope.message = response.data.message;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
var mystyle = {
|
||||
sheetid: 'Lead REPORT',
|
||||
headers: true,
|
||||
caption: {
|
||||
title:'Calls done on a Particular Day/Period - Report',
|
||||
width: '300px',
|
||||
style:'font-size:50px;'
|
||||
},
|
||||
// style:'background:#00FF00',
|
||||
column: {
|
||||
style:'font-size:10px'
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
$scope.exportData = function () {
|
||||
alasql('SELECT CAST(SL_NO AS NUMBER) as SLNO,date as Date,CAST(tid AS NUMBER) as TrackingID,fup as FollowupDate,name as Name,CAST(mobile AS NUMBER) as MobileNo,univ as University,course as Course,prsStatus as PresentStatus,cmnts as Comments,activity as Activity,AssignTo as AssignTo INTO XLS("Lead_Report.xls",?) FROM ?',[mystyle,$scope.lead_data]);
|
||||
};
|
||||
|
||||
/*modal controller
|
||||
* */
|
||||
app.controller('studentModalDemoCtrl', ["$scope","$rootScope", "$modal", "$log", "API_POINTS", "$http", function ($scope,$rootScope, $modal, $log, apiPoint, $http) {
|
||||
//Tooltip for print button
|
||||
$scope.dynamicTooltip = 'Student View';
|
||||
|
||||
|
||||
|
||||
// $scope.items = ['item1', 'item2', 'item3'];
|
||||
|
||||
$scope.open = function (studentDetails) {
|
||||
|
||||
|
||||
// get student view details
|
||||
var getcourse = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'getStudentBasicInfo/',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: {
|
||||
requestedBy: studentDetails.Phone_number,
|
||||
requestedFrom: 3,
|
||||
branchCode:JSON.parse(localStorage.getItem('localObj')).localBranchID
|
||||
}
|
||||
};
|
||||
$http(getcourse).then(function (response) {
|
||||
|
||||
if (response.data.status == 200 && response.data.studentStatus == true) {
|
||||
$scope.courseEditLoading = false;
|
||||
// $scope.studentDetails = response.data.studentDetails;
|
||||
$scope.studentDetails = response.data;
|
||||
// $scope.courseDetails = response.data.courseDetails;
|
||||
var modalInstance = $modal.open({
|
||||
templateUrl: 'assets/views/student/studentDetailsModal.html',
|
||||
controller: 'ModalInstanceCtrl',
|
||||
// size: size,
|
||||
resolve: {
|
||||
items: function () {
|
||||
return $scope.studentDetails;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
modalInstance.result.then(function (selectedItem) {
|
||||
$scope.selected = selectedItem;
|
||||
}, function () {
|
||||
$log.info('Modal dismissed at: ' + new Date());
|
||||
});
|
||||
|
||||
} else {
|
||||
swal("Failed!", "This student is not registerd", "warning");
|
||||
$scope.courseEditLoading = false;
|
||||
$scope.studentDetails = "";
|
||||
$scope.courseDetails = "";
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
$scope.open1 = function (values,type) {
|
||||
|
||||
var modalInstance1 = $modal.open({
|
||||
templateUrl: 'assets/views/student/studentPaymentModal.html',
|
||||
controller: 'ModalInstanceCtrl1',
|
||||
// size: size,
|
||||
resolve: {
|
||||
items1: function () {
|
||||
var myvalues =
|
||||
{
|
||||
"values":values,
|
||||
"type":type
|
||||
};
|
||||
return myvalues;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
modalInstance1.result.then(function (selectedItem) {
|
||||
$scope.selected = selectedItem;
|
||||
}, function () {
|
||||
$log.info('Modal dismissed at: ' + new Date());
|
||||
});
|
||||
};
|
||||
|
||||
$scope.printStudentDetails = function (details) {
|
||||
$rootScope.pdfItems = details;
|
||||
|
||||
var printInstance = $modal.open({
|
||||
templateUrl: 'assets/views/student/studentPdf.html',
|
||||
controller: 'studentModalDemoCtrl',
|
||||
});
|
||||
};
|
||||
|
||||
// generate pdf for student view
|
||||
$scope.export = function(getName) {
|
||||
kendo.drawing.drawDOM($("#exportthis")).then(function(group) {
|
||||
kendo.drawing.pdf.saveAs(group, getName+".pdf");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}]);
|
||||
|
||||
// Please note that $modalInstance represents a modal window (instance) dependency.
|
||||
// It is not the same as the $modal service used above.
|
||||
|
||||
app.controller('ModalInstanceCtrl', ["$scope", "$modalInstance", "items", "WordsService", function ($scope, $modalInstance, items, WordsService) {
|
||||
|
||||
$scope.items = items;
|
||||
$scope.selected = {
|
||||
item: $scope.items[0]
|
||||
};
|
||||
|
||||
$scope.ok = function () {
|
||||
$modalInstance.close($scope.selected.item);
|
||||
};
|
||||
|
||||
$scope.cancel = function () {
|
||||
$modalInstance.dismiss('cancel');
|
||||
};
|
||||
|
||||
|
||||
}]);
|
||||
app.controller('ModalInstanceCtrl1', ["$scope", "$modalInstance", "items1", "WordsService", function ($scope, $modalInstance, items1, WordsService) {
|
||||
|
||||
$scope.items1 = items1.values;
|
||||
$scope.selectedtype = items1.type;
|
||||
|
||||
$scope.ok = function () {
|
||||
$modalInstance.close($scope.selected.item);
|
||||
};
|
||||
|
||||
$scope.cancel = function () {
|
||||
$modalInstance.dismiss('cancel');
|
||||
};
|
||||
|
||||
|
||||
}]);
|
||||
/**
|
||||
* Auto Call Tracking Sriram
|
||||
*/
|
||||
$scope.selectedStudentsID = [];
|
||||
$scope.isCheckAll = function(e){
|
||||
var val = (e.target.checked ? true : false);
|
||||
if(val)
|
||||
{
|
||||
// $scope.disable = false;
|
||||
var len = $scope.lead_data.length;
|
||||
var i = 0;
|
||||
for(i=0;i<len;i++)
|
||||
{
|
||||
if($scope.selectedStudentsID.indexOf($scope.lead_data[i]) === -1)
|
||||
{
|
||||
|
||||
$scope.selectedStudentsID.push($scope.lead_data[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// $scope.disable = true;
|
||||
$scope.selectedStudentsID = [];
|
||||
}
|
||||
if($scope.selectedStudentsID !=''){
|
||||
$scope.disable = false;
|
||||
}else{
|
||||
$scope.disable = true;
|
||||
}
|
||||
console.log($scope.selectedStudentsID);
|
||||
}
|
||||
$scope.isClick = function(e){
|
||||
var ide = e.target;
|
||||
var val = (ide.checked ? true : false);
|
||||
var sid = e.target.id;
|
||||
// console.log("328");
|
||||
// console.log($scope.balfee_data);
|
||||
angular.forEach($scope.lead_data,function(value,key){
|
||||
|
||||
if(sid == value.Student_id)
|
||||
{
|
||||
sid = value;
|
||||
}
|
||||
});
|
||||
console.log(sid);
|
||||
var pos = $scope.selectedStudentsID.indexOf(sid);
|
||||
//alert(val);
|
||||
console.log($scope.selectedStudentsID.indexOf(sid));
|
||||
if(val)
|
||||
{
|
||||
if( pos == -1)
|
||||
{
|
||||
|
||||
//console.log("PUSH");
|
||||
$scope.selectedStudentsID.push(sid);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//console.log("POP");
|
||||
$scope.selectedStudentsID.splice(pos,1);
|
||||
}
|
||||
//
|
||||
if(val){
|
||||
$scope.disable = false;
|
||||
}else{
|
||||
$scope.disable = true;
|
||||
}
|
||||
//console.log($scope.selectedStudentsID);
|
||||
}
|
||||
$scope.calltracking = function(){
|
||||
|
||||
|
||||
if($scope.selectedStudentsID ==''){
|
||||
swal('Select Check box','','warning');
|
||||
return false;
|
||||
}else{
|
||||
$scope.controller = 'ng-controller="report_leadCtrl"';
|
||||
$scope.myModel.comments = 'Call Tracking for Lead Report';
|
||||
var lead = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'getTrackingLeadDetails/',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: {
|
||||
requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID,
|
||||
student:$scope.selectedStudentsID,
|
||||
branchID:JSON.parse(localStorage.getItem('localObj')).localBranchID,
|
||||
userType:JSON.parse(localStorage.getItem('localObj')).localType,
|
||||
}
|
||||
};
|
||||
$http(lead).then(function (response) {
|
||||
if (response.data.status==200) {
|
||||
$rootScope.activity = response.data.activityDetails;
|
||||
$rootScope.status = response.data.statusDetails;
|
||||
$rootScope.staffDetails = response.data.staffDetails;
|
||||
$rootScope.studentDetails = $scope.selectedStudentsID;
|
||||
// $scope.modalopen($scope.activity);
|
||||
var modalInstance = $modal.open({
|
||||
templateUrl: 'assets/views/autoCalltracking.html',
|
||||
controller: 'report_leadCtrl',
|
||||
// size: size,
|
||||
|
||||
resolve: {
|
||||
pdfitems: function () {
|
||||
return $scope.activity;
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
modalInstance.result.then(function (selectedItem) {
|
||||
$scope.selected = selectedItem;
|
||||
}, function () {
|
||||
$log.info('Modal dismissed at: ' + new Date());
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$scope.trackForm = {
|
||||
submit: function (form, myModel,loading,selectedStudents) {
|
||||
//console.log(selectedStudents);
|
||||
if(isNaN(myModel.date)){
|
||||
$scope.nextFollowupDate = myModel.date;
|
||||
|
||||
}
|
||||
else{
|
||||
$scope.getdate=new Date(myModel.date).toDateString();
|
||||
|
||||
$scope.nextFollowupDate = $filter('date')(new Date($scope.getdate), 'dd-MM-yyyy');
|
||||
}
|
||||
|
||||
var firstError = null;
|
||||
if (form.$invalid) {
|
||||
|
||||
var field = null, firstError = null;
|
||||
for (field in form) {
|
||||
if (field[0] != '$') {
|
||||
if (firstError === null && !form[field].$valid) {
|
||||
firstError = form[field].$name;
|
||||
}
|
||||
if (form[field].$pristine) {
|
||||
form[field].$dirty = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
||||
// swal("The form cannot be submitted because it contains validation errors!", "Errors are marked with a red, dashed border!", "error");
|
||||
} else {
|
||||
|
||||
$scope.ldloading1 = {};
|
||||
|
||||
$scope.ldloading1[loading.replace('-', '_')] = true;
|
||||
/* hide this fun after branch level changes
|
||||
if($scope.userType !='R004'){
|
||||
$scope.updateBranchID = JSON.parse(localStorage.getItem('localObj')).localBranchID;
|
||||
$scope.updateAssignTo = myModel.assignedTo;
|
||||
|
||||
}
|
||||
else{
|
||||
$scope.updateBranchID = myModel.branch.BranchCode;
|
||||
$scope.updateAssignTo = myModel.assignedTo;
|
||||
|
||||
}*/
|
||||
|
||||
var addLead = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'autoAddlead/',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: {
|
||||
student:selectedStudents,
|
||||
date: $scope.nextFollowupDate,
|
||||
activity: myModel.activity.activityID,
|
||||
assignedTo: myModel.assignedTo,
|
||||
status: myModel.status,
|
||||
referedBy: myModel.referedBy,
|
||||
comments:"Call Tracking For Report Certificate Details ",
|
||||
|
||||
enquiryStatus:myModel.enquiryStatus,
|
||||
createdBy: JSON.parse(localStorage.getItem('localObj')).localUserID,
|
||||
branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID
|
||||
|
||||
}
|
||||
};
|
||||
$http(addLead).then(function (response) {
|
||||
console.log(response);
|
||||
if (response.data.status==200 && response.data.leadDetails.leadStatus == true) {
|
||||
|
||||
swal(" ", response.data.leadDetails.message, "success");
|
||||
window.location.reload();
|
||||
} else {
|
||||
|
||||
swal(" ", response.data.leadDetails.message, "error");
|
||||
window.location.reload();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
reset: function (form) {
|
||||
|
||||
$scope.myModel = angular.copy($scope.master);
|
||||
form.$setPristine(true);
|
||||
$scope.myModel = {
|
||||
"studentName": "",
|
||||
"mobileNumber": "",
|
||||
"universityName": "",
|
||||
"courseName": "",
|
||||
"activity": "",
|
||||
"assignedTo": "",
|
||||
"status": "",
|
||||
"referedBy": '',
|
||||
"comments":''
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Call Tracking End
|
||||
*/
|
||||
|
||||
}]);
|
||||
|
||||
|
||||
|
||||
|
||||
@ -114,7 +114,7 @@ app.controller('report_waiver_referalCtrl', ["$scope", "API_POINTS", "$http", "S
|
||||
|
||||
|
||||
$scope.exportData = function () {
|
||||
alasql('SELECT CAST(SL_NO AS NUMBER) as SLNO,Enrollment_id as EnrollmentID,Student_name as StudentName,Father_name as FatherName,Course_name as CourseName,Sem_year as SemYear,CAST(Phone_number AS NUMBER) as PhoneNumber,University as University,Waiver_bill as WaiverBillNo,CAST(Waiver_amount AS NUMBER) as WaiverAmount,Referal_bill as ReferalBillNo,CAST(Referal_amount AS NUMBER) as ReferalAmount,Comments as Comments INTO XLS("Waiver_referal_report.xls",?) FROM ?',[mystyle,$scope.waiver_referal_data]);
|
||||
alasql('SELECT CAST(SL_NO AS NUMBER) as SLNO,Enrollment_id as EnrollmentID,Student_name as StudentName,Father_name as FatherName,Course_name as CourseName,Sem_year as SemYear,University as University,CAST(Phone_number AS NUMBER) as PhoneNumber,staffname as Waiver/referalGivenBy,Waiver_bill as WaiverBillNo,CAST(Waiver_amount AS NUMBER) as WaiverAmount,Referal_bill as ReferalBillNo,CAST(Referal_amount AS NUMBER) as ReferalAmount,Comments as Comments INTO XLS("Waiver_referal_report.xls",?) FROM ?',[mystyle,$scope.waiver_referal_data]);
|
||||
};
|
||||
/*modal controller
|
||||
* */
|
||||
|
||||
@ -521,6 +521,26 @@ app.controller('schCtrl', ["$scope","$rootScope","toaster", "$filter", "ngTableP
|
||||
* created by TamilBala
|
||||
* */
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var branchid=JSON.parse(localStorage.getItem('localObj')).localBranchID;
|
||||
|
||||
@ -64,6 +64,29 @@ app.controller('semcoursemapCtrl', ["$scope","$rootScope","toaster", "$filter",
|
||||
* created by kms
|
||||
* */
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$scope.semDetailsLoadingStatus = true;
|
||||
$scope.semDetailsLoadingTxt = "Loading...";
|
||||
|
||||
|
||||
@ -14,6 +14,28 @@ app.controller('sendSMSDetailssuperadminCtrl', ["$scope", "$filter", "ngTablePar
|
||||
"dateTo": ""
|
||||
}
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = localDetail.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (localDetail != null) {
|
||||
$scope.currentDate = new Date();
|
||||
var formate = "dd-MM-yyyy";
|
||||
|
||||
@ -10,6 +10,32 @@ app.controller('sendSMSsuperadminCtrl', ["$scope", "$filter", "ngTableParams", "
|
||||
var localDetails = ipCookie('cookiechk');
|
||||
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (localDetail != null) {
|
||||
// $scope.getBranchList();
|
||||
$scope.getUniversityList();
|
||||
@ -185,7 +211,7 @@ app.controller('sendSMSsuperadminCtrl', ["$scope", "$filter", "ngTableParams", "
|
||||
$scope.statusUpdate = {
|
||||
submit: function (form, msg_details) {
|
||||
|
||||
// alert()
|
||||
//alert()
|
||||
var firstError = null;
|
||||
if (form.$invalid) {
|
||||
var field = null, firstError = null;
|
||||
@ -363,22 +389,26 @@ app.controller('sendSMSsuperadminCtrl', ["$scope", "$filter", "ngTableParams", "
|
||||
|
||||
|
||||
var firstError = null;
|
||||
// console.log(form.$invalid);
|
||||
if (form.$invalid) {
|
||||
var msgg = $scope.mobileNumList.message;
|
||||
|
||||
// console.log(msgg);
|
||||
// return false;
|
||||
if ((msgg =='')||(msgg ==undefined)) {
|
||||
|
||||
swal(" ", "No Message Body.", "error");
|
||||
// alert('in')
|
||||
var field = null, firstError = null;
|
||||
for (field in form) {
|
||||
if (field[0] != '$') {
|
||||
if (firstError === null && !form[field].$valid) {
|
||||
firstError = form[field].$name;
|
||||
}
|
||||
if (form[field].$pristine) {
|
||||
form[field].$dirty = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
||||
// var field = null, firstError = null;
|
||||
// for (field in form) {
|
||||
// if (field[0] != '$') {
|
||||
// if (firstError === null && !form[field].$valid) {
|
||||
// firstError = form[field].$name;
|
||||
// }
|
||||
// if (form[field].$pristine) {
|
||||
// form[field].$dirty = true;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// angular.element('.ng-invalid[name=' + firstError + ']').focus();
|
||||
} else {
|
||||
|
||||
|
||||
@ -836,7 +866,16 @@ $scope.cancel_save=function()
|
||||
|
||||
$scope.AddGroup = {
|
||||
submit: function (form,myModel) {
|
||||
//alert()
|
||||
|
||||
var group = myModel.GroupName;
|
||||
|
||||
if(group == '')
|
||||
{
|
||||
swal("Group Name Needed ",'', "error");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
var GroupName = myModel.GroupName;
|
||||
|
||||
var addgroup = {
|
||||
@ -865,7 +904,10 @@ $scope.cancel_save=function()
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -194,6 +194,31 @@ app.controller('sessionMasterCtrl', ["$scope","$rootScope","toaster", "$filter",
|
||||
$scope.emptyData='';
|
||||
|
||||
$rootScope.init = function () {
|
||||
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$scope.universityList = [];
|
||||
var getSession = {
|
||||
method: 'POST',
|
||||
|
||||
@ -272,6 +272,31 @@ app.controller('sessionScheduleCtrl', ["$scope","$rootScope","toaster", "$filter
|
||||
$scope.emptyData='';
|
||||
|
||||
$rootScope.init = function () {
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$scope.getattendanceranges($scope.myModel.timingCounts);
|
||||
var getSession = {
|
||||
method: 'POST',
|
||||
|
||||
@ -20,7 +20,7 @@ app.controller("statusCtrl", ["$scope", "toaster", "$filter", "API_POINTS", "$lo
|
||||
const LOCALTYPE = localDetail.localType;
|
||||
if (localDetail != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
}else {
|
||||
if(localDetail != null) {
|
||||
if(localDetail != null && LOCALTYPE != 'R001') {
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
ipCookie.remove('cookiechk');
|
||||
@ -132,6 +132,27 @@ app.controller("statusCtrl", ["$scope", "toaster", "$filter", "API_POINTS", "$lo
|
||||
$scope.emptyData = '';
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
var getStatus = {
|
||||
method: 'POST',
|
||||
url: apiPoint.url + 'getStatusDetails/',
|
||||
|
||||
@ -51,6 +51,33 @@ app.controller('studentCtrl', ["$scope", "toaster", "$filter", "ngTableParams",
|
||||
|
||||
// load when html page load
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$scope.localUserType = localDetails.localType;
|
||||
$scope.todayDate = new Date();
|
||||
var nowInMS = new Date().getTime(),
|
||||
|
||||
@ -15,7 +15,7 @@ app.controller("studentStatusUpdateCtrl", ["$scope", "toaster", "$filter", "API_
|
||||
const LOCALTYPE = localDetail.localType;
|
||||
if (localDetail != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
}else {
|
||||
if(localDetail != null) {
|
||||
if(localDetail != null && LOCALTYPE !='R001') {
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
ipCookie.remove('cookiechk');
|
||||
|
||||
@ -30,6 +30,32 @@ app.controller('studyMaterialStatusCtrl', ["$scope", "toaster", "$filter", "ngTa
|
||||
$scope.localBranchDetails = '';
|
||||
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (localDetail != null) {
|
||||
if (localDetails.localType === 'R004') {
|
||||
$scope.localTypeSuperAdmin = true;
|
||||
|
||||
@ -195,6 +195,28 @@ app.controller('subjectCtrl', ["$scope", "$rootScope","toaster", "$filter", "ngT
|
||||
|
||||
|
||||
$scope.init = function () {
|
||||
|
||||
|
||||
var logcheck = JSON.parse(localStorage.getItem('localObj'));
|
||||
|
||||
const LOCALTYPE = logcheck.localType;
|
||||
if (logcheck != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
console.log("if");
|
||||
}else {
|
||||
if(logcheck != null && LOCALTYPE !='R001') {
|
||||
console.log("else if");
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
|
||||
console.log("else else");
|
||||
//ipCookie.remove('cookiechk');
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$scope.loader='';
|
||||
|
||||
|
||||
@ -34,11 +34,11 @@ app.controller('universityCtrl', ["$scope", "toaster", "$filter", "ngTableParams
|
||||
if (localDetail != null && (LOCALTYPE == 'R003' || LOCALTYPE == 'R004' )) {
|
||||
$scope.getUniversityList();
|
||||
}else {
|
||||
if(localDetail != null) {
|
||||
if(localDetail != null && LOCALTYPE != 'R001') {
|
||||
$state.go('app.dashboard');
|
||||
} else {
|
||||
ipCookie.remove('cookiechk');
|
||||
$window.localStorage.clear();
|
||||
window.localStorage.clear();
|
||||
$state.go('login.signin');
|
||||
}
|
||||
}
|
||||
|
||||
44
Apollo/assets/js/directives/table-export.js
Normal file
44
Apollo/assets/js/directives/table-export.js
Normal file
@ -0,0 +1,44 @@
|
||||
|
||||
// 'use strict';
|
||||
// /**
|
||||
// * Prevent default action on empty links.
|
||||
// */
|
||||
// app.directive('a', function () {
|
||||
// return {
|
||||
// restrict: 'E',
|
||||
// link: function (scope, elem, attrs) {
|
||||
// if (attrs.ngClick || attrs.href === '' || attrs.href === '#') {
|
||||
// elem.on('click', function (e) {
|
||||
// e.preventDefault();
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
// });
|
||||
|
||||
|
||||
|
||||
(function(){
|
||||
// alert();
|
||||
//export html table to pdf, excel and doc format directive
|
||||
var exportTable = function(){;
|
||||
var link = function($scope, elm, attr){
|
||||
$scope.$on('export-pdf', function(e, d){
|
||||
elm.tableExport({type:'pdf', escape:false});
|
||||
});
|
||||
$scope.$on('export-excel', function(e, d){
|
||||
alert();
|
||||
elm.tableExport({type:'excel', escape:false});
|
||||
});
|
||||
$scope.$on('export-doc', function(e, d){
|
||||
elm.tableExport({type: 'doc', escape:false});
|
||||
});
|
||||
}
|
||||
return {
|
||||
restrict: 'C',
|
||||
link: link
|
||||
}
|
||||
}
|
||||
app
|
||||
.directive('exportTable', exportTable);
|
||||
})();
|
||||
48
Apollo/assets/js/tableExport/README.md
Normal file
48
Apollo/assets/js/tableExport/README.md
Normal file
@ -0,0 +1,48 @@
|
||||
tableExport.jquery.plugin
|
||||
=========================
|
||||
|
||||
<h3>Export HTML Table to</h3>
|
||||
<ul>
|
||||
<li> JSON
|
||||
<li> XML
|
||||
<li> PNG
|
||||
<li> CSV
|
||||
<li> TXT
|
||||
<li> SQL
|
||||
<li> MS-Word
|
||||
<li> Ms-Excel
|
||||
<li> Ms-Powerpoint
|
||||
<li> PDF
|
||||
</ul>
|
||||
|
||||
Installation
|
||||
============
|
||||
jquery Plugin<BR>
|
||||
<script type="text/javascript" src="tableExport.js"><BR>
|
||||
<script type="text/javascript" src="jquery.base64.js"><BR>
|
||||
<BR>
|
||||
PNG Export
|
||||
==========
|
||||
<script type="text/javascript" src="html2canvas.js">
|
||||
|
||||
PDF Export
|
||||
==========
|
||||
<script type="text/javascript" src="jspdf/libs/sprintf.js"><BR>
|
||||
<script type="text/javascript" src="jspdf/jspdf.js"><BR>
|
||||
<script type="text/javascript" src="jspdf/libs/base64.js"><BR>
|
||||
|
||||
Usage
|
||||
======
|
||||
onClick ="$('#tableID').tableExport({type:'pdf',escape:'false'});"<BR>
|
||||
|
||||
Options
|
||||
=======
|
||||
separator: ','<BR>
|
||||
ignoreColumn: [2,3],<BR>
|
||||
tableName:'yourTableName'<BR>
|
||||
type:'csv'<BR>
|
||||
pdfFontSize:14<BR>
|
||||
pdfLeftMargin:20<BR>
|
||||
escape:'true'<BR>
|
||||
htmlContent:'false'<BR>
|
||||
consoleLog:'false' <BR>
|
||||
3010
Apollo/assets/js/tableExport/html2canvas.js
Normal file
3010
Apollo/assets/js/tableExport/html2canvas.js
Normal file
File diff suppressed because it is too large
Load Diff
190
Apollo/assets/js/tableExport/jquery.base64.js
Normal file
190
Apollo/assets/js/tableExport/jquery.base64.js
Normal file
@ -0,0 +1,190 @@
|
||||
/*jslint adsafe: false, bitwise: true, browser: true, cap: false, css: false,
|
||||
debug: false, devel: true, eqeqeq: true, es5: false, evil: false,
|
||||
forin: false, fragment: false, immed: true, laxbreak: false, newcap: true,
|
||||
nomen: false, on: false, onevar: true, passfail: false, plusplus: true,
|
||||
regexp: false, rhino: true, safe: false, strict: false, sub: false,
|
||||
undef: true, white: false, widget: false, windows: false */
|
||||
/*global jQuery: false, window: false */
|
||||
//"use strict";
|
||||
|
||||
/*
|
||||
* Original code (c) 2010 Nick Galbreath
|
||||
* http://code.google.com/p/stringencoders/source/browse/#svn/trunk/javascript
|
||||
*
|
||||
* jQuery port (c) 2010 Carlo Zottmann
|
||||
* http://github.com/carlo/jquery-base64
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* base64 encode/decode compatible with window.btoa/atob
|
||||
*
|
||||
* window.atob/btoa is a Firefox extension to convert binary data (the "b")
|
||||
* to base64 (ascii, the "a").
|
||||
*
|
||||
* It is also found in Safari and Chrome. It is not available in IE.
|
||||
*
|
||||
* if (!window.btoa) window.btoa = $.base64.encode
|
||||
* if (!window.atob) window.atob = $.base64.decode
|
||||
*
|
||||
* The original spec's for atob/btoa are a bit lacking
|
||||
* https://developer.mozilla.org/en/DOM/window.atob
|
||||
* https://developer.mozilla.org/en/DOM/window.btoa
|
||||
*
|
||||
* window.btoa and $.base64.encode takes a string where charCodeAt is [0,255]
|
||||
* If any character is not [0,255], then an exception is thrown.
|
||||
*
|
||||
* window.atob and $.base64.decode take a base64-encoded string
|
||||
* If the input length is not a multiple of 4, or contains invalid characters
|
||||
* then an exception is thrown.
|
||||
*/
|
||||
|
||||
jQuery.base64 = ( function( $ ) {
|
||||
|
||||
var _PADCHAR = "=",
|
||||
_ALPHA = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
|
||||
_VERSION = "1.0";
|
||||
|
||||
|
||||
function _getbyte64( s, i ) {
|
||||
// This is oddly fast, except on Chrome/V8.
|
||||
// Minimal or no improvement in performance by using a
|
||||
// object with properties mapping chars to value (eg. 'A': 0)
|
||||
|
||||
var idx = _ALPHA.indexOf( s.charAt( i ) );
|
||||
|
||||
if ( idx === -1 ) {
|
||||
throw "Cannot decode base64";
|
||||
}
|
||||
|
||||
return idx;
|
||||
}
|
||||
|
||||
|
||||
function _decode( s ) {
|
||||
var pads = 0,
|
||||
i,
|
||||
b10,
|
||||
imax = s.length,
|
||||
x = [];
|
||||
|
||||
s = String( s );
|
||||
|
||||
if ( imax === 0 ) {
|
||||
return s;
|
||||
}
|
||||
|
||||
if ( imax % 4 !== 0 ) {
|
||||
throw "Cannot decode base64";
|
||||
}
|
||||
|
||||
if ( s.charAt( imax - 1 ) === _PADCHAR ) {
|
||||
pads = 1;
|
||||
|
||||
if ( s.charAt( imax - 2 ) === _PADCHAR ) {
|
||||
pads = 2;
|
||||
}
|
||||
|
||||
// either way, we want to ignore this last block
|
||||
imax -= 4;
|
||||
}
|
||||
|
||||
for ( i = 0; i < imax; i += 4 ) {
|
||||
b10 = ( _getbyte64( s, i ) << 18 ) | ( _getbyte64( s, i + 1 ) << 12 ) | ( _getbyte64( s, i + 2 ) << 6 ) | _getbyte64( s, i + 3 );
|
||||
x.push( String.fromCharCode( b10 >> 16, ( b10 >> 8 ) & 0xff, b10 & 0xff ) );
|
||||
}
|
||||
|
||||
switch ( pads ) {
|
||||
case 1:
|
||||
b10 = ( _getbyte64( s, i ) << 18 ) | ( _getbyte64( s, i + 1 ) << 12 ) | ( _getbyte64( s, i + 2 ) << 6 );
|
||||
x.push( String.fromCharCode( b10 >> 16, ( b10 >> 8 ) & 0xff ) );
|
||||
break;
|
||||
|
||||
case 2:
|
||||
b10 = ( _getbyte64( s, i ) << 18) | ( _getbyte64( s, i + 1 ) << 12 );
|
||||
x.push( String.fromCharCode( b10 >> 16 ) );
|
||||
break;
|
||||
}
|
||||
|
||||
return x.join( "" );
|
||||
}
|
||||
|
||||
|
||||
function _getbyte( s, i ) {
|
||||
var x = s.charCodeAt( i );
|
||||
|
||||
if ( x > 255 ) {
|
||||
throw "INVALID_CHARACTER_ERR: DOM Exception 5";
|
||||
}
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
|
||||
function _encode( s ) {
|
||||
if ( arguments.length !== 1 ) {
|
||||
throw "SyntaxError: exactly one argument required";
|
||||
}
|
||||
|
||||
s = String( s );
|
||||
|
||||
var i,
|
||||
b10,
|
||||
x = [],
|
||||
imax = s.length - s.length % 3;
|
||||
|
||||
if ( s.length === 0 ) {
|
||||
return s;
|
||||
}
|
||||
|
||||
for ( i = 0; i < imax; i += 3 ) {
|
||||
b10 = ( _getbyte( s, i ) << 16 ) | ( _getbyte( s, i + 1 ) << 8 ) | _getbyte( s, i + 2 );
|
||||
x.push( _ALPHA.charAt( b10 >> 18 ) );
|
||||
x.push( _ALPHA.charAt( ( b10 >> 12 ) & 0x3F ) );
|
||||
x.push( _ALPHA.charAt( ( b10 >> 6 ) & 0x3f ) );
|
||||
x.push( _ALPHA.charAt( b10 & 0x3f ) );
|
||||
}
|
||||
|
||||
switch ( s.length - imax ) {
|
||||
case 1:
|
||||
b10 = _getbyte( s, i ) << 16;
|
||||
x.push( _ALPHA.charAt( b10 >> 18 ) + _ALPHA.charAt( ( b10 >> 12 ) & 0x3F ) + _PADCHAR + _PADCHAR );
|
||||
break;
|
||||
|
||||
case 2:
|
||||
b10 = ( _getbyte( s, i ) << 16 ) | ( _getbyte( s, i + 1 ) << 8 );
|
||||
x.push( _ALPHA.charAt( b10 >> 18 ) + _ALPHA.charAt( ( b10 >> 12 ) & 0x3F ) + _ALPHA.charAt( ( b10 >> 6 ) & 0x3f ) + _PADCHAR );
|
||||
break;
|
||||
}
|
||||
|
||||
return x.join( "" );
|
||||
}
|
||||
|
||||
|
||||
return {
|
||||
decode: _decode,
|
||||
encode: _encode,
|
||||
VERSION: _VERSION
|
||||
};
|
||||
|
||||
}( jQuery ) );
|
||||
|
||||
303
Apollo/assets/js/tableExport/jspdf/jspdf.js
Normal file
303
Apollo/assets/js/tableExport/jspdf/jspdf.js
Normal file
@ -0,0 +1,303 @@
|
||||
/**
|
||||
* jsPDF
|
||||
* (c) 2009 James Hall
|
||||
*
|
||||
* Some parts based on FPDF.
|
||||
*/
|
||||
|
||||
var jsPDF = function(){
|
||||
|
||||
// Private properties
|
||||
var version = '20090504';
|
||||
var buffer = '';
|
||||
|
||||
var pdfVersion = '1.3'; // PDF Version
|
||||
var defaultPageFormat = 'a4';
|
||||
var pageFormats = { // Size in mm of various paper formats
|
||||
'a3': [841.89, 1190.55],
|
||||
'a4': [595.28, 841.89],
|
||||
'a5': [420.94, 595.28],
|
||||
'letter': [612, 792],
|
||||
'legal': [612, 1008]
|
||||
};
|
||||
var textColor = '0 g';
|
||||
var page = 0;
|
||||
var objectNumber = 2; // 'n' Current object number
|
||||
var state = 0; // Current document state
|
||||
var pages = new Array();
|
||||
var offsets = new Array(); // List of offsets
|
||||
var lineWidth = 0.200025; // 2mm
|
||||
var pageHeight;
|
||||
var k; // Scale factor
|
||||
var unit = 'mm'; // Default to mm for units
|
||||
var fontNumber; // TODO: This is temp, replace with real font handling
|
||||
var documentProperties = {};
|
||||
var fontSize = 16; // Default font size
|
||||
var pageFontSize = 16;
|
||||
|
||||
// Initilisation
|
||||
if (unit == 'pt') {
|
||||
k = 1;
|
||||
} else if(unit == 'mm') {
|
||||
k = 72/25.4;
|
||||
} else if(unit == 'cm') {
|
||||
k = 72/2.54;
|
||||
} else if(unit == 'in') {
|
||||
k = 72;
|
||||
}
|
||||
|
||||
// Private functions
|
||||
var newObject = function() {
|
||||
//Begin a new object
|
||||
objectNumber ++;
|
||||
offsets[objectNumber] = buffer.length;
|
||||
out(objectNumber + ' 0 obj');
|
||||
}
|
||||
|
||||
|
||||
var putHeader = function() {
|
||||
out('%PDF-' + pdfVersion);
|
||||
}
|
||||
|
||||
var putPages = function() {
|
||||
|
||||
// TODO: Fix, hardcoded to a4 portrait
|
||||
var wPt = pageWidth * k;
|
||||
var hPt = pageHeight * k;
|
||||
|
||||
for(n=1; n <= page; n++) {
|
||||
newObject();
|
||||
out('<</Type /Page');
|
||||
out('/Parent 1 0 R');
|
||||
out('/Resources 2 0 R');
|
||||
out('/Contents ' + (objectNumber + 1) + ' 0 R>>');
|
||||
out('endobj');
|
||||
|
||||
//Page content
|
||||
p = pages[n];
|
||||
newObject();
|
||||
out('<</Length ' + p.length + '>>');
|
||||
putStream(p);
|
||||
out('endobj');
|
||||
}
|
||||
offsets[1] = buffer.length;
|
||||
out('1 0 obj');
|
||||
out('<</Type /Pages');
|
||||
var kids='/Kids [';
|
||||
for (i = 0; i < page; i++) {
|
||||
kids += (3 + 2 * i) + ' 0 R ';
|
||||
}
|
||||
out(kids + ']');
|
||||
out('/Count ' + page);
|
||||
out(sprintf('/MediaBox [0 0 %.2f %.2f]', wPt, hPt));
|
||||
out('>>');
|
||||
out('endobj');
|
||||
}
|
||||
|
||||
var putStream = function(str) {
|
||||
out('stream');
|
||||
out(str);
|
||||
out('endstream');
|
||||
}
|
||||
|
||||
var putResources = function() {
|
||||
putFonts();
|
||||
putImages();
|
||||
|
||||
//Resource dictionary
|
||||
offsets[2] = buffer.length;
|
||||
out('2 0 obj');
|
||||
out('<<');
|
||||
putResourceDictionary();
|
||||
out('>>');
|
||||
out('endobj');
|
||||
}
|
||||
|
||||
var putFonts = function() {
|
||||
// TODO: Only supports core font hardcoded to Helvetica
|
||||
newObject();
|
||||
fontNumber = objectNumber;
|
||||
name = 'Helvetica';
|
||||
out('<</Type /Font');
|
||||
out('/BaseFont /' + name);
|
||||
out('/Subtype /Type1');
|
||||
out('/Encoding /WinAnsiEncoding');
|
||||
out('>>');
|
||||
out('endobj');
|
||||
}
|
||||
|
||||
var putImages = function() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
var putResourceDictionary = function() {
|
||||
out('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]');
|
||||
out('/Font <<');
|
||||
// Do this for each font, the '1' bit is the index of the font
|
||||
// fontNumber is currently the object number related to 'putFonts'
|
||||
out('/F1 ' + fontNumber + ' 0 R');
|
||||
out('>>');
|
||||
out('/XObject <<');
|
||||
putXobjectDict();
|
||||
out('>>');
|
||||
}
|
||||
|
||||
var putXobjectDict = function() {
|
||||
// TODO
|
||||
// Loop through images
|
||||
}
|
||||
|
||||
|
||||
var putInfo = function() {
|
||||
out('/Producer (jsPDF ' + version + ')');
|
||||
if(documentProperties.title != undefined) {
|
||||
out('/Title (' + pdfEscape(documentProperties.title) + ')');
|
||||
}
|
||||
if(documentProperties.subject != undefined) {
|
||||
out('/Subject (' + pdfEscape(documentProperties.subject) + ')');
|
||||
}
|
||||
if(documentProperties.author != undefined) {
|
||||
out('/Author (' + pdfEscape(documentProperties.author) + ')');
|
||||
}
|
||||
if(documentProperties.keywords != undefined) {
|
||||
out('/Keywords (' + pdfEscape(documentProperties.keywords) + ')');
|
||||
}
|
||||
if(documentProperties.creator != undefined) {
|
||||
out('/Creator (' + pdfEscape(documentProperties.creator) + ')');
|
||||
}
|
||||
var created = new Date();
|
||||
var year = created.getFullYear();
|
||||
var month = (created.getMonth() + 1);
|
||||
var day = created.getDate();
|
||||
var hour = created.getHours();
|
||||
var minute = created.getMinutes();
|
||||
var second = created.getSeconds();
|
||||
out('/CreationDate (D:' + sprintf('%02d%02d%02d%02d%02d%02d', year, month, day, hour, minute, second) + ')');
|
||||
}
|
||||
|
||||
var putCatalog = function () {
|
||||
out('/Type /Catalog');
|
||||
out('/Pages 1 0 R');
|
||||
// TODO: Add zoom and layout modes
|
||||
out('/OpenAction [3 0 R /FitH null]');
|
||||
out('/PageLayout /OneColumn');
|
||||
}
|
||||
|
||||
function putTrailer() {
|
||||
out('/Size ' + (objectNumber + 1));
|
||||
out('/Root ' + objectNumber + ' 0 R');
|
||||
out('/Info ' + (objectNumber - 1) + ' 0 R');
|
||||
}
|
||||
|
||||
var endDocument = function() {
|
||||
state = 1;
|
||||
putHeader();
|
||||
putPages();
|
||||
|
||||
putResources();
|
||||
//Info
|
||||
newObject();
|
||||
out('<<');
|
||||
putInfo();
|
||||
out('>>');
|
||||
out('endobj');
|
||||
|
||||
//Catalog
|
||||
newObject();
|
||||
out('<<');
|
||||
putCatalog();
|
||||
out('>>');
|
||||
out('endobj');
|
||||
|
||||
//Cross-ref
|
||||
var o = buffer.length;
|
||||
out('xref');
|
||||
out('0 ' + (objectNumber + 1));
|
||||
out('0000000000 65535 f ');
|
||||
for (var i=1; i <= objectNumber; i++) {
|
||||
out(sprintf('%010d 00000 n ', offsets[i]));
|
||||
}
|
||||
//Trailer
|
||||
out('trailer');
|
||||
out('<<');
|
||||
putTrailer();
|
||||
out('>>');
|
||||
out('startxref');
|
||||
out(o);
|
||||
out('%%EOF');
|
||||
state = 3;
|
||||
}
|
||||
|
||||
var beginPage = function() {
|
||||
page ++;
|
||||
// Do dimension stuff
|
||||
state = 2;
|
||||
pages[page] = '';
|
||||
|
||||
// TODO: Hardcoded at A4 and portrait
|
||||
pageHeight = pageFormats['a4'][1] / k;
|
||||
pageWidth = pageFormats['a4'][0] / k;
|
||||
}
|
||||
|
||||
var out = function(string) {
|
||||
if(state == 2) {
|
||||
pages[page] += string + '\n';
|
||||
} else {
|
||||
buffer += string + '\n';
|
||||
}
|
||||
}
|
||||
|
||||
var _addPage = function() {
|
||||
beginPage();
|
||||
// Set line width
|
||||
out(sprintf('%.2f w', (lineWidth * k)));
|
||||
|
||||
// Set font - TODO
|
||||
// 16 is the font size
|
||||
pageFontSize = fontSize;
|
||||
out('BT /F1 ' + parseInt(fontSize) + '.00 Tf ET');
|
||||
}
|
||||
|
||||
// Add the first page automatically
|
||||
_addPage();
|
||||
|
||||
// Escape text
|
||||
var pdfEscape = function(text) {
|
||||
return text.replace(/\\/g, '\\\\').replace(/\(/g, '\\(').replace(/\)/g, '\\)');
|
||||
}
|
||||
|
||||
return {
|
||||
addPage: function() {
|
||||
_addPage();
|
||||
},
|
||||
text: function(x, y, text) {
|
||||
// need page height
|
||||
if(pageFontSize != fontSize) {
|
||||
out('BT /F1 ' + parseInt(fontSize) + '.00 Tf ET');
|
||||
pageFontSize = fontSize;
|
||||
}
|
||||
var str = sprintf('BT %.2f %.2f Td (%s) Tj ET', x * k, (pageHeight - y) * k, pdfEscape(text));
|
||||
out(str);
|
||||
},
|
||||
setProperties: function(properties) {
|
||||
documentProperties = properties;
|
||||
},
|
||||
addImage: function(imageData, format, x, y, w, h) {
|
||||
|
||||
},
|
||||
output: function(type, options) {
|
||||
endDocument();
|
||||
if(type == undefined) {
|
||||
return buffer;
|
||||
}
|
||||
if(type == 'datauri') {
|
||||
document.location.href = 'data:application/pdf;base64,' + Base64.encode(buffer);
|
||||
}
|
||||
// @TODO: Add different output options
|
||||
},
|
||||
setFontSize: function(size) {
|
||||
fontSize = size;
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
143
Apollo/assets/js/tableExport/jspdf/libs/base64.js
Normal file
143
Apollo/assets/js/tableExport/jspdf/libs/base64.js
Normal file
@ -0,0 +1,143 @@
|
||||
|
||||
/**
|
||||
*
|
||||
* Base64 encode / decode
|
||||
* http://www.webtoolkit.info/
|
||||
*
|
||||
**/
|
||||
|
||||
var Base64 = {
|
||||
|
||||
// private property
|
||||
_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
|
||||
|
||||
// public method for encoding
|
||||
encode : function (input) {
|
||||
var output = "";
|
||||
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
|
||||
var i = 0;
|
||||
|
||||
input = Base64._utf8_encode(input);
|
||||
|
||||
while (i < input.length) {
|
||||
|
||||
chr1 = input.charCodeAt(i++);
|
||||
chr2 = input.charCodeAt(i++);
|
||||
chr3 = input.charCodeAt(i++);
|
||||
|
||||
enc1 = chr1 >> 2;
|
||||
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
|
||||
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
|
||||
enc4 = chr3 & 63;
|
||||
|
||||
if (isNaN(chr2)) {
|
||||
enc3 = enc4 = 64;
|
||||
} else if (isNaN(chr3)) {
|
||||
enc4 = 64;
|
||||
}
|
||||
|
||||
output = output +
|
||||
this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
|
||||
this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
|
||||
|
||||
}
|
||||
|
||||
return output;
|
||||
},
|
||||
|
||||
// public method for decoding
|
||||
decode : function (input) {
|
||||
var output = "";
|
||||
var chr1, chr2, chr3;
|
||||
var enc1, enc2, enc3, enc4;
|
||||
var i = 0;
|
||||
|
||||
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
|
||||
|
||||
while (i < input.length) {
|
||||
|
||||
enc1 = this._keyStr.indexOf(input.charAt(i++));
|
||||
enc2 = this._keyStr.indexOf(input.charAt(i++));
|
||||
enc3 = this._keyStr.indexOf(input.charAt(i++));
|
||||
enc4 = this._keyStr.indexOf(input.charAt(i++));
|
||||
|
||||
chr1 = (enc1 << 2) | (enc2 >> 4);
|
||||
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
|
||||
chr3 = ((enc3 & 3) << 6) | enc4;
|
||||
|
||||
output = output + String.fromCharCode(chr1);
|
||||
|
||||
if (enc3 != 64) {
|
||||
output = output + String.fromCharCode(chr2);
|
||||
}
|
||||
if (enc4 != 64) {
|
||||
output = output + String.fromCharCode(chr3);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
output = Base64._utf8_decode(output);
|
||||
|
||||
return output;
|
||||
|
||||
},
|
||||
|
||||
// private method for UTF-8 encoding
|
||||
_utf8_encode : function (string) {
|
||||
string = string.replace(/\r\n/g,"\n");
|
||||
var utftext = "";
|
||||
|
||||
for (var n = 0; n < string.length; n++) {
|
||||
|
||||
var c = string.charCodeAt(n);
|
||||
|
||||
if (c < 128) {
|
||||
utftext += String.fromCharCode(c);
|
||||
}
|
||||
else if((c > 127) && (c < 2048)) {
|
||||
utftext += String.fromCharCode((c >> 6) | 192);
|
||||
utftext += String.fromCharCode((c & 63) | 128);
|
||||
}
|
||||
else {
|
||||
utftext += String.fromCharCode((c >> 12) | 224);
|
||||
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
|
||||
utftext += String.fromCharCode((c & 63) | 128);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return utftext;
|
||||
},
|
||||
|
||||
// private method for UTF-8 decoding
|
||||
_utf8_decode : function (utftext) {
|
||||
var string = "";
|
||||
var i = 0;
|
||||
var c = c1 = c2 = 0;
|
||||
|
||||
while ( i < utftext.length ) {
|
||||
|
||||
c = utftext.charCodeAt(i);
|
||||
|
||||
if (c < 128) {
|
||||
string += String.fromCharCode(c);
|
||||
i++;
|
||||
}
|
||||
else if((c > 191) && (c < 224)) {
|
||||
c2 = utftext.charCodeAt(i+1);
|
||||
string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
|
||||
i += 2;
|
||||
}
|
||||
else {
|
||||
c2 = utftext.charCodeAt(i+1);
|
||||
c3 = utftext.charCodeAt(i+2);
|
||||
string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
|
||||
i += 3;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return string;
|
||||
}
|
||||
|
||||
}
|
||||
152
Apollo/assets/js/tableExport/jspdf/libs/sprintf.js
Normal file
152
Apollo/assets/js/tableExport/jspdf/libs/sprintf.js
Normal file
@ -0,0 +1,152 @@
|
||||
|
||||
|
||||
function sprintf( ) {
|
||||
// Return a formatted string
|
||||
//
|
||||
// version: 903.3016
|
||||
// discuss at: http://phpjs.org/functions/sprintf
|
||||
// + original by: Ash Searle (http://hexmen.com/blog/)
|
||||
// + namespaced by: Michael White (http://getsprink.com)
|
||||
// + tweaked by: Jack
|
||||
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + input by: Paulo Ricardo F. Santos
|
||||
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// + input by: Brett Zamir (http://brettz9.blogspot.com)
|
||||
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
|
||||
// * example 1: sprintf("%01.2f", 123.1);
|
||||
// * returns 1: 123.10
|
||||
// * example 2: sprintf("[%10s]", 'monkey');
|
||||
// * returns 2: '[ monkey]'
|
||||
// * example 3: sprintf("[%'#10s]", 'monkey');
|
||||
// * returns 3: '[####monkey]'
|
||||
var regex = /%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuidfegEG])/g;
|
||||
var a = arguments, i = 0, format = a[i++];
|
||||
|
||||
// pad()
|
||||
var pad = function(str, len, chr, leftJustify) {
|
||||
if (!chr) chr = ' ';
|
||||
var padding = (str.length >= len) ? '' : Array(1 + len - str.length >>> 0).join(chr);
|
||||
return leftJustify ? str + padding : padding + str;
|
||||
};
|
||||
|
||||
// justify()
|
||||
var justify = function(value, prefix, leftJustify, minWidth, zeroPad, customPadChar) {
|
||||
var diff = minWidth - value.length;
|
||||
if (diff > 0) {
|
||||
if (leftJustify || !zeroPad) {
|
||||
value = pad(value, minWidth, customPadChar, leftJustify);
|
||||
} else {
|
||||
value = value.slice(0, prefix.length) + pad('', diff, '0', true) + value.slice(prefix.length);
|
||||
}
|
||||
}
|
||||
return value;
|
||||
};
|
||||
|
||||
// formatBaseX()
|
||||
var formatBaseX = function(value, base, prefix, leftJustify, minWidth, precision, zeroPad) {
|
||||
// Note: casts negative numbers to positive ones
|
||||
var number = value >>> 0;
|
||||
prefix = prefix && number && {'2': '0b', '8': '0', '16': '0x'}[base] || '';
|
||||
value = prefix + pad(number.toString(base), precision || 0, '0', false);
|
||||
return justify(value, prefix, leftJustify, minWidth, zeroPad);
|
||||
};
|
||||
|
||||
// formatString()
|
||||
var formatString = function(value, leftJustify, minWidth, precision, zeroPad, customPadChar) {
|
||||
if (precision != null) {
|
||||
value = value.slice(0, precision);
|
||||
}
|
||||
return justify(value, '', leftJustify, minWidth, zeroPad, customPadChar);
|
||||
};
|
||||
|
||||
// doFormat()
|
||||
var doFormat = function(substring, valueIndex, flags, minWidth, _, precision, type) {
|
||||
var number;
|
||||
var prefix;
|
||||
var method;
|
||||
var textTransform;
|
||||
var value;
|
||||
|
||||
if (substring == '%%') return '%';
|
||||
|
||||
// parse flags
|
||||
var leftJustify = false, positivePrefix = '', zeroPad = false, prefixBaseX = false, customPadChar = ' ';
|
||||
var flagsl = flags.length;
|
||||
for (var j = 0; flags && j < flagsl; j++) switch (flags.charAt(j)) {
|
||||
case ' ': positivePrefix = ' '; break;
|
||||
case '+': positivePrefix = '+'; break;
|
||||
case '-': leftJustify = true; break;
|
||||
case "'": customPadChar = flags.charAt(j+1); break;
|
||||
case '0': zeroPad = true; break;
|
||||
case '#': prefixBaseX = true; break;
|
||||
}
|
||||
|
||||
// parameters may be null, undefined, empty-string or real valued
|
||||
// we want to ignore null, undefined and empty-string values
|
||||
if (!minWidth) {
|
||||
minWidth = 0;
|
||||
} else if (minWidth == '*') {
|
||||
minWidth = +a[i++];
|
||||
} else if (minWidth.charAt(0) == '*') {
|
||||
minWidth = +a[minWidth.slice(1, -1)];
|
||||
} else {
|
||||
minWidth = +minWidth;
|
||||
}
|
||||
|
||||
// Note: undocumented perl feature:
|
||||
if (minWidth < 0) {
|
||||
minWidth = -minWidth;
|
||||
leftJustify = true;
|
||||
}
|
||||
|
||||
if (!isFinite(minWidth)) {
|
||||
throw new Error('sprintf: (minimum-)width must be finite');
|
||||
}
|
||||
|
||||
if (!precision) {
|
||||
precision = 'fFeE'.indexOf(type) > -1 ? 6 : (type == 'd') ? 0 : void(0);
|
||||
} else if (precision == '*') {
|
||||
precision = +a[i++];
|
||||
} else if (precision.charAt(0) == '*') {
|
||||
precision = +a[precision.slice(1, -1)];
|
||||
} else {
|
||||
precision = +precision;
|
||||
}
|
||||
|
||||
// grab value using valueIndex if required?
|
||||
value = valueIndex ? a[valueIndex.slice(0, -1)] : a[i++];
|
||||
|
||||
switch (type) {
|
||||
case 's': return formatString(String(value), leftJustify, minWidth, precision, zeroPad, customPadChar);
|
||||
case 'c': return formatString(String.fromCharCode(+value), leftJustify, minWidth, precision, zeroPad);
|
||||
case 'b': return formatBaseX(value, 2, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
|
||||
case 'o': return formatBaseX(value, 8, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
|
||||
case 'x': return formatBaseX(value, 16, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
|
||||
case 'X': return formatBaseX(value, 16, prefixBaseX, leftJustify, minWidth, precision, zeroPad).toUpperCase();
|
||||
case 'u': return formatBaseX(value, 10, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
|
||||
case 'i':
|
||||
case 'd': {
|
||||
number = parseInt(+value);
|
||||
prefix = number < 0 ? '-' : positivePrefix;
|
||||
value = prefix + pad(String(Math.abs(number)), precision, '0', false);
|
||||
return justify(value, prefix, leftJustify, minWidth, zeroPad);
|
||||
}
|
||||
case 'e':
|
||||
case 'E':
|
||||
case 'f':
|
||||
case 'F':
|
||||
case 'g':
|
||||
case 'G': {
|
||||
number = +value;
|
||||
prefix = number < 0 ? '-' : positivePrefix;
|
||||
method = ['toExponential', 'toFixed', 'toPrecision']['efg'.indexOf(type.toLowerCase())];
|
||||
textTransform = ['toString', 'toUpperCase']['eEfFgG'.indexOf(type) % 2];
|
||||
value = prefix + Math.abs(number)[method](precision);
|
||||
return justify(value, prefix, leftJustify, minWidth, zeroPad)[textTransform]();
|
||||
}
|
||||
default: return substring;
|
||||
}
|
||||
};
|
||||
|
||||
return format.replace(regex, doFormat);
|
||||
}
|
||||
1
Apollo/assets/js/tableExport/tableExport.jquery.json
Normal file
1
Apollo/assets/js/tableExport/tableExport.jquery.json
Normal file
@ -0,0 +1 @@
|
||||
|
||||
359
Apollo/assets/js/tableExport/tableExport.js
Normal file
359
Apollo/assets/js/tableExport/tableExport.js
Normal file
@ -0,0 +1,359 @@
|
||||
/*The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 https://github.com/kayalshri/
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.*/
|
||||
|
||||
(function($){
|
||||
$.fn.extend({
|
||||
tableExport: function(options) {
|
||||
var defaults = {
|
||||
separator: ',',
|
||||
ignoreColumn: [],
|
||||
tableName:'yourTableName',
|
||||
type:'csv',
|
||||
pdfFontSize:14,
|
||||
pdfLeftMargin:20,
|
||||
escape:'true',
|
||||
htmlContent:'false',
|
||||
consoleLog:'false'
|
||||
};
|
||||
|
||||
var options = $.extend(defaults, options);
|
||||
var el = this;
|
||||
|
||||
if(defaults.type == 'csv' || defaults.type == 'txt'){
|
||||
|
||||
// Header
|
||||
var tdData ="";
|
||||
$(el).find('thead').find('tr').each(function() {
|
||||
tdData += "\n";
|
||||
$(this).filter(':visible').find('th').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
tdData += '"' + parseString($(this)) + '"' + defaults.separator;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
tdData = $.trim(tdData);
|
||||
tdData = $.trim(tdData).substring(0, tdData.length -1);
|
||||
});
|
||||
|
||||
// Row vs Column
|
||||
$(el).find('tbody').find('tr').each(function() {
|
||||
tdData += "\n";
|
||||
$(this).filter(':visible').find('td').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
tdData += '"'+ parseString($(this)) + '"'+ defaults.separator;
|
||||
}
|
||||
}
|
||||
});
|
||||
//tdData = $.trim(tdData);
|
||||
tdData = $.trim(tdData).substring(0, tdData.length -1);
|
||||
});
|
||||
|
||||
//output
|
||||
if(defaults.consoleLog == 'true'){
|
||||
console.log(tdData);
|
||||
}
|
||||
var base64data = "base64," + $.base64.encode(tdData);
|
||||
window.open('data:application/'+defaults.type+';filename=exportData;' + base64data);
|
||||
}else if(defaults.type == 'sql'){
|
||||
|
||||
// Header
|
||||
var tdData ="INSERT INTO `"+defaults.tableName+"` (";
|
||||
$(el).find('thead').find('tr').each(function() {
|
||||
|
||||
$(this).filter(':visible').find('th').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
tdData += '`' + parseString($(this)) + '`,' ;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
tdData = $.trim(tdData);
|
||||
tdData = $.trim(tdData).substring(0, tdData.length -1);
|
||||
});
|
||||
tdData += ") VALUES ";
|
||||
// Row vs Column
|
||||
$(el).find('tbody').find('tr').each(function() {
|
||||
tdData += "(";
|
||||
$(this).filter(':visible').find('td').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
tdData += '"'+ parseString($(this)) + '",';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
tdData = $.trim(tdData).substring(0, tdData.length -1);
|
||||
tdData += "),";
|
||||
});
|
||||
tdData = $.trim(tdData).substring(0, tdData.length -1);
|
||||
tdData += ";";
|
||||
|
||||
//output
|
||||
//console.log(tdData);
|
||||
|
||||
if(defaults.consoleLog == 'true'){
|
||||
console.log(tdData);
|
||||
}
|
||||
|
||||
var base64data = "base64," + $.base64.encode(tdData);
|
||||
window.open('data:application/sql;filename=exportData;' + base64data);
|
||||
|
||||
|
||||
}else if(defaults.type == 'json'){
|
||||
|
||||
var jsonHeaderArray = [];
|
||||
$(el).find('thead').find('tr').each(function() {
|
||||
var tdData ="";
|
||||
var jsonArrayTd = [];
|
||||
|
||||
$(this).filter(':visible').find('th').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
jsonArrayTd.push(parseString($(this)));
|
||||
}
|
||||
}
|
||||
});
|
||||
jsonHeaderArray.push(jsonArrayTd);
|
||||
|
||||
});
|
||||
|
||||
var jsonArray = [];
|
||||
$(el).find('tbody').find('tr').each(function() {
|
||||
var tdData ="";
|
||||
var jsonArrayTd = [];
|
||||
|
||||
$(this).filter(':visible').find('td').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
jsonArrayTd.push(parseString($(this)));
|
||||
}
|
||||
}
|
||||
});
|
||||
jsonArray.push(jsonArrayTd);
|
||||
|
||||
});
|
||||
|
||||
var jsonExportArray =[];
|
||||
jsonExportArray.push({header:jsonHeaderArray,data:jsonArray});
|
||||
|
||||
//Return as JSON
|
||||
//console.log(JSON.stringify(jsonExportArray));
|
||||
|
||||
//Return as Array
|
||||
//console.log(jsonExportArray);
|
||||
if(defaults.consoleLog == 'true'){
|
||||
console.log(JSON.stringify(jsonExportArray));
|
||||
}
|
||||
var base64data = "base64," + $.base64.encode(JSON.stringify(jsonExportArray));
|
||||
window.open('data:application/json;filename=exportData;' + base64data);
|
||||
}else if(defaults.type == 'xml'){
|
||||
|
||||
var xml = '<?xml version="1.0" encoding="utf-8"?>';
|
||||
xml += '<tabledata><fields>';
|
||||
|
||||
// Header
|
||||
$(el).find('thead').find('tr').each(function() {
|
||||
$(this).filter(':visible').find('th').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
xml += "<field>" + parseString($(this)) + "</field>";
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
xml += '</fields><data>';
|
||||
|
||||
// Row Vs Column
|
||||
var rowCount=1;
|
||||
$(el).find('tbody').find('tr').each(function() {
|
||||
xml += '<row id="'+rowCount+'">';
|
||||
var colCount=0;
|
||||
$(this).filter(':visible').find('td').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
xml += "<column-"+colCount+">"+parseString($(this))+"</column-"+colCount+">";
|
||||
}
|
||||
}
|
||||
colCount++;
|
||||
});
|
||||
rowCount++;
|
||||
xml += '</row>';
|
||||
});
|
||||
xml += '</data></tabledata>'
|
||||
|
||||
if(defaults.consoleLog == 'true'){
|
||||
console.log(xml);
|
||||
}
|
||||
|
||||
var base64data = "base64," + $.base64.encode(xml);
|
||||
window.open('data:application/xml;filename=exportData;' + base64data);
|
||||
|
||||
}else if(defaults.type == 'excel' || defaults.type == 'doc'|| defaults.type == 'powerpoint' ){
|
||||
//console.log($(this).html());
|
||||
var excel="<table>";
|
||||
// Header
|
||||
$(el).find('thead').find('tr').each(function() {
|
||||
excel += "<tr>";
|
||||
$(this).filter(':visible').find('th').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
excel += "<td>" + parseString($(this))+ "</td>";
|
||||
}
|
||||
}
|
||||
});
|
||||
excel += '</tr>';
|
||||
|
||||
});
|
||||
|
||||
|
||||
// Row Vs Column
|
||||
var rowCount=1;
|
||||
$(el).find('tbody').find('tr').each(function() {
|
||||
excel += "<tr>";
|
||||
var colCount=0;
|
||||
$(this).filter(':visible').find('td').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
excel += "<td>"+parseString($(this))+"</td>";
|
||||
}
|
||||
}
|
||||
colCount++;
|
||||
});
|
||||
rowCount++;
|
||||
excel += '</tr>';
|
||||
});
|
||||
excel += '</table>'
|
||||
|
||||
if(defaults.consoleLog == 'true'){
|
||||
console.log(excel);
|
||||
}
|
||||
|
||||
var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:"+defaults.type+"' xmlns='http://www.w3.org/TR/REC-html40'>";
|
||||
excelFile += "<head>";
|
||||
excelFile += "<!--[if gte mso 9]>";
|
||||
excelFile += "<xml>";
|
||||
excelFile += "<x:ExcelWorkbook>";
|
||||
excelFile += "<x:ExcelWorksheets>";
|
||||
excelFile += "<x:ExcelWorksheet>";
|
||||
excelFile += "<x:Name>";
|
||||
excelFile += "{worksheet}";
|
||||
excelFile += "</x:Name>";
|
||||
excelFile += "<x:WorksheetOptions>";
|
||||
excelFile += "<x:DisplayGridlines/>";
|
||||
excelFile += "</x:WorksheetOptions>";
|
||||
excelFile += "</x:ExcelWorksheet>";
|
||||
excelFile += "</x:ExcelWorksheets>";
|
||||
excelFile += "</x:ExcelWorkbook>";
|
||||
excelFile += "</xml>";
|
||||
excelFile += "<![endif]-->";
|
||||
excelFile += "</head>";
|
||||
excelFile += "<body>";
|
||||
excelFile += excel;
|
||||
excelFile += "</body>";
|
||||
excelFile += "</html>";
|
||||
|
||||
var base64data = "base64," + $.base64.encode(excelFile);
|
||||
window.open('data:application/vnd.ms-'+defaults.type+';filename=exportData.doc;' + base64data);
|
||||
|
||||
}else if(defaults.type == 'png'){
|
||||
html2canvas($(el), {
|
||||
onrendered: function(canvas) {
|
||||
var img = canvas.toDataURL("image/png");
|
||||
window.open(img);
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
}else if(defaults.type == 'pdf'){
|
||||
|
||||
var doc = new jsPDF('p','pt', 'a4', true);
|
||||
doc.setFontSize(defaults.pdfFontSize);
|
||||
|
||||
// Header
|
||||
var startColPosition=defaults.pdfLeftMargin;
|
||||
$(el).find('thead').find('tr').each(function() {
|
||||
$(this).filter(':visible').find('th').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
var colPosition = startColPosition+ (index * 50);
|
||||
doc.text(colPosition,20, parseString($(this)));
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// Row Vs Column
|
||||
var startRowPosition = 20; var page =1;var rowPosition=0;
|
||||
$(el).find('tbody').find('tr').each(function(index,data) {
|
||||
rowCalc = index+1;
|
||||
|
||||
if (rowCalc % 26 == 0){
|
||||
doc.addPage();
|
||||
page++;
|
||||
startRowPosition=startRowPosition+10;
|
||||
}
|
||||
rowPosition=(startRowPosition + (rowCalc * 10)) - ((page -1) * 280);
|
||||
|
||||
$(this).filter(':visible').find('td').each(function(index,data) {
|
||||
if ($(this).css('display') != 'none'){
|
||||
if(defaults.ignoreColumn.indexOf(index) == -1){
|
||||
var colPosition = startColPosition+ (index * 50);
|
||||
doc.text(colPosition,rowPosition, parseString($(this)));
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// Output as Data URI
|
||||
doc.output('datauri');
|
||||
|
||||
}
|
||||
|
||||
|
||||
function parseString(data){
|
||||
|
||||
if(defaults.htmlContent == 'true'){
|
||||
content_data = data.html().trim();
|
||||
}else{
|
||||
content_data = data.text().trim();
|
||||
}
|
||||
|
||||
if(defaults.escape == 'true'){
|
||||
content_data = escape(content_data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return content_data;
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
||||
|
||||
@ -161,7 +161,9 @@
|
||||
<th>Balance
|
||||
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='Amount'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
||||
</th>
|
||||
|
||||
<th>Reason
|
||||
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='Amount'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
||||
</th>
|
||||
<th class="center" ng-click="sort('Status')">Status
|
||||
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='Status'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
||||
</th>
|
||||
@ -188,7 +190,7 @@
|
||||
<td>{{p.ModeOfPayment}}</td>
|
||||
<td>{{p.Amount}}</td>
|
||||
<td>{{p.Balance}}</td>
|
||||
|
||||
<td>{{p.Reason}}</td>
|
||||
<!--<td class="center" tooltip="{{p.Approval_Comments}}" ng-if="p.ListName == 'Income'">
|
||||
- </td>-->
|
||||
<td class="center" tooltip="{{p.Approval_Comments}}"><span ng-if="p.Status == 'Pending'" style="text-transform: uppercase; text-shadow: 1px 1px #286d5f; color: #55d4bb ">{{p.Status}}</span>
|
||||
@ -205,7 +207,7 @@
|
||||
<td class="center" ng-if="p.Status == 'Pending'">
|
||||
<span ng-if=" p.PaymentStatus == 1 ">
|
||||
<span> <i tooltip="EDIT" class="glyphicon glyphicon-pencil" ng-click="setEditId(p.ID)"></i> </span>
|
||||
<!--<span> <i tooltip="DELETE" class="glyphicon glyphicon-remove" ng-click="deleEditEntry(p.ID)"></i> </span>-->
|
||||
<!--<span> <i tooltip="DELETE" class="glyphicon glyphicon-remove" ng-click="deleted(p.ID)"></i> </span>-->
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -161,7 +161,9 @@
|
||||
<th>Balance
|
||||
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='Amount'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
||||
</th>
|
||||
|
||||
<th>Reason
|
||||
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='Amount'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
||||
</th>
|
||||
<th class="center" ng-click="sort('Status')">Status
|
||||
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='Status'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
||||
</th>
|
||||
@ -188,7 +190,7 @@
|
||||
<td>{{p.ModeOfPayment}}</td>
|
||||
<td>{{p.Amount}}</td>
|
||||
<td>{{p.Balance}}</td>
|
||||
|
||||
<td>{{p.Reason}}</td>
|
||||
<!--<td class="center" tooltip="{{p.Approval_Comments}}" ng-if="p.ListName == 'Income'">
|
||||
- </td>-->
|
||||
<td class="center" tooltip="{{p.Approval_Comments}}"><span ng-if="p.Status == 'Pending'" style="text-transform: uppercase; text-shadow: 1px 1px #286d5f; color: #55d4bb ">{{p.Status}}</span>
|
||||
@ -200,13 +202,13 @@
|
||||
<td class="center" ng-if="p.ListName == 'Income' && p.Status != 'Cancel' ">
|
||||
<span ng-if=" p.PaymentStatus == 1 "> <i tooltip="EDIT" class="glyphicon glyphicon-pencil" ng-click="setEditId(p.ID)"></i> </span>
|
||||
<span ng-if=" p.PaymentStatus == 0 ">
|
||||
<i tooltip="DELETE" class="glyphicon glyphicon-remove" ng-click="deleteFeePayableEntry(p.ID)"></i>
|
||||
<i tooltip="DELETE" class="glyphicon glyphicon-remove" ng-click="deleted1(p.ID)"></i>
|
||||
</span>
|
||||
</td>
|
||||
<td class="center" ng-if="p.Status == 'Pending' && p.Status != 'Cancel'">
|
||||
<span ng-if=" p.PaymentStatus == 1 ">
|
||||
<span> <i tooltip="EDIT" class="glyphicon glyphicon-pencil" ng-click="setEditId(p.ID)"></i> </span>
|
||||
<span> <i tooltip="DELETE" class="glyphicon glyphicon-remove" ng-click="deleEditEntry(p.ID)"></i> </span>
|
||||
<span> <i tooltip="DELETE" class="glyphicon glyphicon-remove" ng-click="deleted(p.ID)"></i> </span>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
@ -254,12 +256,24 @@
|
||||
<label for="form-field-select-2">
|
||||
Type <span class="symbol required"></span>
|
||||
</label>
|
||||
|
||||
<!--
|
||||
<select class="form-control" ng-init="getType(p.Name)" tabindex="1" class="cs-select cs-skin-elastic" name="editType" ng-model="myModel.type"
|
||||
required>
|
||||
<option value="" disabled selected>Select Type</option>
|
||||
<option ng-repeat="typeItem in getTypes" ng-selected="typeItem.ID == p.Type" value="{{typeItem.ID}}">{{typeItem.TypeName}}</option>
|
||||
</select>
|
||||
</select> -->
|
||||
|
||||
|
||||
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="addType" ng-model="myModel.type" required>
|
||||
|
||||
|
||||
<optgroup ng-repeat="typeName in incomeExpenseName" label="{{typeName.ListName}}">
|
||||
<option ng-repeat="incexpType in incomeExpenseType" ng-if="typeName.ListCode == incexpType.TypeID" value="{{incexpType.ID}}" ng-selected="incexp.ID == incexpType.ID">{{incexpType.TypeName}}</option>
|
||||
|
||||
</optgroup>
|
||||
</select>
|
||||
|
||||
|
||||
<span class="error text-small block" ng-if="Form.editType.$dirty && Form.editType.$error.required">Type is Required</span>
|
||||
|
||||
</div>
|
||||
|
||||
@ -96,8 +96,8 @@
|
||||
/*font-size: 16px;*/
|
||||
}
|
||||
</style>
|
||||
|
||||
<table class="table table-bordered">
|
||||
<button ng-click="exportData()">export</button>
|
||||
<table class="table table-bordered export-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th ng-click="sort('Date')">Date
|
||||
@ -195,7 +195,7 @@
|
||||
<div ng-init="copyModel(p)" class="container" style="background-color: rgb(248, 248, 248);
|
||||
border-radius: 6px;padding: 22px;">
|
||||
<div class="row">
|
||||
<div class="col-md-4 form-group" ng-class="{'has-error':Form.editvoucherNumber.$dirty && Form.editvoucherNumber.$invalid, 'has-success':Form.editvoucherNumber.$valid}">
|
||||
<div class="col-md-4 form-group" ng-class="{'has-error':Form.editvoucherNumber.$dirty && Form.editvoucherNumber.$invalid, 'has-success':Form.editvoucherNumber.$valid}">
|
||||
<label>
|
||||
Voucher Number
|
||||
</label>
|
||||
@ -242,11 +242,11 @@
|
||||
|
||||
|
||||
|
||||
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="addType" ng-model="myModelAdd.type" required>
|
||||
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="addType" ng-model="myModel.type" required>
|
||||
|
||||
|
||||
<optgroup ng-repeat="typeName in incomeExpenseName" label="{{typeName.ListName}}">
|
||||
<option ng-repeat="incexpType in incomeExpenseType" ng-if="typeName.ListCode == incexpType.TypeID" ng-selected="typeItem.ID == p.Type" value="{{typeItem.ID}}" value="{{incexpType.ID}}">{{incexpType.TypeName}}</option>
|
||||
<option ng-repeat="incexpType in incomeExpenseType" ng-if="typeName.ListCode == incexpType.TypeID" value="{{incexpType.ID}}" ng-selected="incexp.ID == incexpType.ID">{{incexpType.TypeName}}</option>
|
||||
|
||||
</optgroup>
|
||||
<!-- <option value="" disabled selected>Select Type</option>
|
||||
@ -313,7 +313,7 @@
|
||||
<div>
|
||||
<div class="row">
|
||||
<div data-ng-controller="DatepickerDemoCtrl">
|
||||
<div class="col-md-6 form-group" ng-class="{'has-error':Form.addDate.$dirty && Form.addDate.$invalid, 'has-success':Form.addDate.$valid}">
|
||||
<div class="col-md-4 form-group" ng-class="{'has-error':Form.addDate.$dirty && Form.addDate.$invalid, 'has-success':Form.addDate.$valid}">
|
||||
<label>
|
||||
Date <span
|
||||
class="symbol required"></span>
|
||||
@ -329,7 +329,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 form-group" ng-class="{'has-error':Form.addName.$dirty && Form.addName.$invalid , 'has-success':Form.addName.$valid}">
|
||||
<div class="col-md-4 form-group" ng-class="{'has-error':Form.addName.$dirty && Form.addName.$invalid , 'has-success':Form.addName.$valid}">
|
||||
<label for="form-field-select-2">
|
||||
Income/Expense <span class="symbol required"></span>
|
||||
</label>
|
||||
@ -385,7 +385,7 @@
|
||||
Type <span class="symbol required"></span>
|
||||
</label>
|
||||
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="addType" ng-model="myModelAdd.type" required>
|
||||
|
||||
<option value="" disabled selected>Select Type</option>
|
||||
|
||||
<optgroup ng-repeat="typeName in incomeExpenseName" label="{{typeName.ListName}}">
|
||||
<option ng-repeat="incexpType in incomeExpenseType" ng-if="typeName.ListCode == incexpType.TypeID" value="{{incexpType.ID}}">{{incexpType.TypeName}}</option>
|
||||
|
||||
@ -385,11 +385,11 @@
|
||||
</a>
|
||||
|
||||
<ul class="sub-menu">
|
||||
<li ui-sref-active="active">
|
||||
<!-- <li ui-sref-active="active">
|
||||
<a ui-sref="app.reregistration.reregistrationform" ng-click="checkSuperAdmin()">
|
||||
<span class="title" translate="sidebar.nav.reregistration.REREGISTRATIONFORM">REREGISTRATIONFORM</span>
|
||||
</a>
|
||||
</li>
|
||||
</li> -->
|
||||
<li ui-sref-active="active">
|
||||
<a ui-sref="app.reregistration.batchmovement" ng-click="checkSuperAdmin()">
|
||||
<span class="title" translate="sidebar.nav.reregistration.BATCHMOVEMENT">BATCHMOVEMENT</span>
|
||||
@ -466,6 +466,11 @@
|
||||
<span class="title" translate="sidebar.nav.report.balfee">Balance Fee Report</span>
|
||||
</a>
|
||||
</li>
|
||||
<li ui-sref-active="active">
|
||||
<a ui-sref="app.reports.lead" ng-click="checkSuperAdmin()">
|
||||
<span class="title" translate="sidebar.nav.report.lead">Lead Tracking Report</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
@ -925,6 +930,11 @@
|
||||
<span class="title" translate="sidebar.nav.report.balfee">Balance Fee Report</span>
|
||||
</a>
|
||||
</li>
|
||||
<li ui-sref-active="active">
|
||||
<a ui-sref="app.reports.lead" ng-click="checkAdmin()">
|
||||
<span class="title" translate="sidebar.nav.report.lead">Lead Tracking Report</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
@ -7,6 +7,12 @@
|
||||
</div>
|
||||
</section>
|
||||
<style>
|
||||
td,th {
|
||||
white-space: nowrap;
|
||||
}
|
||||
th{
|
||||
text-align:center;
|
||||
}
|
||||
/* .sort-icon {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
@ -92,6 +98,8 @@
|
||||
<th>Sem/Year</th>
|
||||
<th>Phone No</th>
|
||||
<th>University</th>
|
||||
<th>Issued To Student Date</th>
|
||||
<th>Received From Student Date</th>
|
||||
<th>Answer Booklet Status</th>
|
||||
<th>Date</th>
|
||||
|
||||
@ -109,6 +117,8 @@
|
||||
<td>{{p.Sem_year}}({{p.Sem}})</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Phone_number}}</a></td>
|
||||
<td>{{p.University}}</td>
|
||||
<td>{{p.issuedate}}</td>
|
||||
<td>{{p.rcvedate}}</td>
|
||||
<td>{{p.Status}}</td>
|
||||
<td>{{p.Date}}</td>
|
||||
|
||||
|
||||
@ -1,12 +1,20 @@
|
||||
<section id="page-title">
|
||||
<div class="row">
|
||||
<div class="col-sm-8">
|
||||
<h1 class="mainTitle">Application Pending Student List Report</h1>
|
||||
<!-- <h1 class="mainTitle">Application Pending Student List Report</h1> -->
|
||||
|
||||
<h1 class="mainTitle">New & Re-Reg Form Status Report</h1>
|
||||
</div>
|
||||
<!-- <div ncy-breadcrumb></div> -->
|
||||
</div>
|
||||
</section>
|
||||
<style>
|
||||
td,th {
|
||||
white-space: nowrap;
|
||||
}
|
||||
th{
|
||||
text-align:center;
|
||||
}
|
||||
/* .sort-icon {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
@ -85,7 +93,7 @@
|
||||
<tr>
|
||||
<th><input type="checkbox" ng-model="myModel.all" id="all" name="all" ng-click="isCheckAll($event);"></th>
|
||||
<th>SL.No</th>
|
||||
<th>Admission Date</th>
|
||||
<th>Initital Payment Date</th>
|
||||
<th>Enrollment ID</th>
|
||||
<th>Student Name</th>
|
||||
<th>Father Name</th>
|
||||
|
||||
@ -66,14 +66,24 @@
|
||||
</form>
|
||||
<!-- <pre>{{statusr | json}}</pre> -->
|
||||
<div class="row" style="text-align: right;">
|
||||
<div class="col-md-4">
|
||||
<div class="col-md-2">
|
||||
<input class="form-control" type="text" ng-model="search" id="searchIn" autofocus tabindex="2" placeholder="Search" />
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-2">
|
||||
<span>Total Fee:Rs.</span><span>{{gettotal()}}</span>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<span>Paid:Rs.</span><span>{{getpaid()}}</span>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<span>Balance:</span><span>{{getbalance()/gettotal()*100 | number : 2 || "0"}}%</span>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<button class="btn btn-success btn-o" ng-click="calltracking()">Call Tracking</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<button class="btn btn-success btn-o" ng-click="exportData()">Export to Excel</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table id="datatable" class="table table-hover" style="font-size:0.8em;" ng-controller="studentModalDemoCtrl">
|
||||
@ -85,54 +95,57 @@
|
||||
<th colspan="8"></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th colspan="2">1st payment</th>
|
||||
<th colspan="2">2nd payment</th>
|
||||
<th colspan="2">3rd payment</th>
|
||||
<th colspan="2">4th payment</th>
|
||||
<th colspan="2">5th payment</th>
|
||||
<th colspan="2">6th payment</th>
|
||||
<th colspan="2">7th payment</th>
|
||||
<th colspan="2">8th payment</th>
|
||||
<th colspan="2">9th payment</th>
|
||||
<th colspan="2">10th payment</th>
|
||||
<th nowrap style="text-align:center;">Sum of Total Fee</th>
|
||||
<th nowrap style="text-align:center;">Sum of Fee Paid</th>
|
||||
<th nowrap style="text-align:center;">Sum of Balance Fee</th>
|
||||
<th nowrap colspan="2" style="text-align:center;">1st payment</th>
|
||||
<th nowrap colspan="2" style="text-align:center;">2nd payment</th>
|
||||
<th nowrap colspan="2" style="text-align:center;">3rd payment</th>
|
||||
<th nowrap colspan="2" style="text-align:center;">4th payment</th>
|
||||
<th nowrap colspan="2" style="text-align:center;">5th payment</th>
|
||||
<th nowrap colspan="2" style="text-align:center;">6th payment</th>
|
||||
<th nowrap colspan="2" style="text-align:center;">7th payment</th>
|
||||
<th nowrap colspan="2" style="text-align:center;">8th payment</th>
|
||||
<th nowrap colspan="2" style="text-align:center;">9th payment</th>
|
||||
<th nowrap colspan="2" style="text-align:center;">10th payment</th>
|
||||
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><input type="checkbox" ng-model="myModel.all" id="all" name="all" ng-click="isCheckAll($event);"></th>
|
||||
<th>SL.No</th>
|
||||
<th>Enrollment ID</th>
|
||||
<th>Student Name</th>
|
||||
<th>Father Name</th>
|
||||
<th>Course</th>
|
||||
<th>Sem/Year</th>
|
||||
<th>Phone No</th>
|
||||
<th>University</th>
|
||||
<th>Total Fee</th>
|
||||
<th>Fees Paid</th>
|
||||
<th>Balance</th>
|
||||
<th>Bill No</th>
|
||||
<th>Amount</th>
|
||||
<th>Bill No</th>
|
||||
<th>Amount</th>
|
||||
<th>Bill No</th>
|
||||
<th>Amount</th>
|
||||
<th>Bill No</th>
|
||||
<th>Amount</th>
|
||||
<th>Bill No</th>
|
||||
<th>Amount</th>
|
||||
<th>Bill No</th>
|
||||
<th>Amount</th>
|
||||
<th>Bill No</th>
|
||||
<th>Amount</th>
|
||||
<th>Bill No</th>
|
||||
<th>Amount</th>
|
||||
<th>Bill No</th>
|
||||
<th>Amount</th>
|
||||
<th>Bill No</th>
|
||||
<th>Amount</th>
|
||||
<th nowrap style="text-align:center;">SL.No</th>
|
||||
<th nowrap style="text-align:center;">Enrollment ID</th>
|
||||
<th nowrap style="text-align:center;">Student Name</th>
|
||||
<th nowrap style="text-align:center;">Father Name</th>
|
||||
<th nowrap style="text-align:center;">Course</th>
|
||||
<th nowrap style="text-align:center;">Sem/Year</th>
|
||||
<th nowrap style="text-align:center;">Phone No</th>
|
||||
<th nowrap style="text-align:center;">University</th>
|
||||
<th nowrap style="text-align:center;">Reg Date</th>
|
||||
<th nowrap style="text-align:center;">Total Fee</th>
|
||||
<th nowrap style="text-align:center;">Fees Paid</th>
|
||||
<th nowrap style="text-align:center;">Balance</th>
|
||||
<th nowrap style="text-align:center;">Bill No</th>
|
||||
<th nowrap style="text-align:center;">Amount</th>
|
||||
<th nowrap style="text-align:center;">Bill No</th>
|
||||
<th nowrap style="text-align:center;">Amount</th>
|
||||
<th nowrap style="text-align:center;">Bill No</th>
|
||||
<th nowrap style="text-align:center;">Amount</th>
|
||||
<th nowrap style="text-align:center;">Bill No</th>
|
||||
<th nowrap style="text-align:center;">Amount</th>
|
||||
<th nowrap style="text-align:center;">Bill No</th>
|
||||
<th nowrap style="text-align:center;">Amount</th>
|
||||
<th nowrap style="text-align:center;">Bill No</th>
|
||||
<th nowrap style="text-align:center;">Amount</th>
|
||||
<th nowrap style="text-align:center;">Bill No</th>
|
||||
<th nowrap style="text-align:center;">Amount</th>
|
||||
<th nowrap style="text-align:center;">Bill No</th>
|
||||
<th nowrap style="text-align:center;">Amount</th>
|
||||
<th nowrap style="text-align:center;">Bill No</th>
|
||||
<th nowrap style="text-align:center;">Amount</th>
|
||||
<th nowrap style="text-align:center;">Bill No</th>
|
||||
<th nowrap style="text-align:center;">Amount</th>
|
||||
|
||||
|
||||
|
||||
@ -142,100 +155,101 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody dir-paginate="p in balfee_data|filter:search:strict|itemsPerPage:itemsPerPage" current-page="currentPage">
|
||||
<tr>
|
||||
<tr ng-if= "p.balance !=0">
|
||||
<td><input type="checkbox" ng-checked="myModel.all" id="{{p.Student_id}}" name="{{p.Student_id}}" class="form-control" ng-click="isClick($event);" /></td>
|
||||
<td>{{p.SL_NO}}</td>
|
||||
<td>{{p.eid}}</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Student_name}}</a></td>
|
||||
<td>{{p.Father_name}}</td>
|
||||
<td>{{p.Course_name}}</td>
|
||||
<td>{{p.Sem_year}}</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Phone_number}}</a></td>
|
||||
<td>{{p.University}}</td>
|
||||
<td>{{p.Total}}</td>
|
||||
<td>{{p.Paid_fee}}</td>
|
||||
<td>{{p.balance}}</td>
|
||||
<td>
|
||||
<td nowrap>{{p.SL_NO}}</td>
|
||||
<td nowrap>{{p.eid}}</td>
|
||||
<td nowrap><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Student_name}}</a></td>
|
||||
<td nowrap>{{p.Father_name}}</td>
|
||||
<td nowrap>{{p.Course_name}}</td>
|
||||
<td nowrap>{{p.Sem_year}}</td>
|
||||
<td nowrap><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Phone_number}}</a></td>
|
||||
<td nowrap>{{p.University}}</td>
|
||||
<td nowrap>{{p.regdate}}</td>
|
||||
<td nowrap style="text-align:right;">{{p.Total}}</td>
|
||||
<td nowrap style="text-align:right;">{{p.Paid_fee}}</td>
|
||||
<td nowrap style="text-align:right;">{{p.balance}}</td>
|
||||
<td nowrap>
|
||||
<span ng-if="p.billno1">{{p.billno1}}</span>
|
||||
<span ng-if="!p.billno1"> - </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap style="text-align:right;">
|
||||
<span ng-if="p.billamt1">{{p.billamt1}}</span>
|
||||
<span ng-if="!p.billamt1"> 0 </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap>
|
||||
<span ng-if="p.billno2">{{p.billno2}}</span>
|
||||
<span ng-if="!p.billno2"> - </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap style="text-align:right;">
|
||||
<span ng-if="p.billamt2">{{p.billamt2}}</span>
|
||||
<span ng-if="!p.billamt2"> 0 </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap>
|
||||
<span ng-if="p.billno3">{{p.billno3}}</span>
|
||||
<span ng-if="!p.billno3"> - </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap style="text-align:right;">
|
||||
<span ng-if="p.billamt3">{{p.billamt3}}</span>
|
||||
<span ng-if="!p.billamt3"> 0 </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap>
|
||||
<span ng-if="p.billno4">{{p.billno4}}</span>
|
||||
<span ng-if="!p.billno4"> - </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap style="text-align:right;">
|
||||
<span ng-if="p.billamt4">{{p.billamt4}}</span>
|
||||
<span ng-if="!p.billamt4"> 0 </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap>
|
||||
<span ng-if="p.billno5">{{p.billno5}}</span>
|
||||
<span ng-if="!p.billno5"> - </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap style="text-align:right;">
|
||||
<span ng-if="p.billamt5">{{p.billamt5}}</span>
|
||||
<span ng-if="!p.billamt5"> 0 </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap>
|
||||
<span ng-if="p.billno6">{{p.billno6}}</span>
|
||||
<span ng-if="!p.billno6"> - </span>
|
||||
</td>
|
||||
<td>
|
||||
<td style="text-align:right;">
|
||||
<span ng-if="p.billamt6">{{p.billamt6}}</span>
|
||||
<span ng-if="!p.billamt6"> 0 </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap>
|
||||
<span ng-if="p.billno7">{{p.billno7}}</span>
|
||||
<span ng-if="!p.billno7"> - </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap style="text-align:right;">
|
||||
<span ng-if="p.billamt7">{{p.billamt7}}</span>
|
||||
<span ng-if="!p.billamt7"> 0 </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap>
|
||||
<span ng-if="p.billno8">{{p.billno8}}</span>
|
||||
<span ng-if="!p.billno8"> - </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap style="text-align:right;">
|
||||
<span ng-if="p.billamt8">{{p.billamt8}}</span>
|
||||
<span ng-if="!p.billamt8"> 0 </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap>
|
||||
<span ng-if="p.billno9">{{p.billno9}}</span>
|
||||
<span ng-if="!p.billno9"> - </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap style="text-align:right;">
|
||||
<span ng-if="p.billamt9">{{p.billamt9}}</span>
|
||||
<span ng-if="!p.billamt9"> 0 </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap>
|
||||
<span ng-if="p.billno10">{{p.billno10}}</span>
|
||||
<span ng-if="!p.billno10"> - </span>
|
||||
</td>
|
||||
<td>
|
||||
<td nowrap style="text-align:right;">
|
||||
<span ng-if="p.billamt10">{{p.billamt10}}</span>
|
||||
<span ng-if="!p.billamt10"> 0 </span>
|
||||
</td>
|
||||
<td>{{p.cmts}}</td>
|
||||
<td nowrap>{{p.cmts}}</td>
|
||||
|
||||
|
||||
</tr>
|
||||
|
||||
@ -7,6 +7,12 @@
|
||||
</div>
|
||||
</section>
|
||||
<style>
|
||||
td,th {
|
||||
white-space: nowrap;
|
||||
}
|
||||
th{
|
||||
text-align:center;
|
||||
}
|
||||
/* .sort-icon {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
@ -95,7 +101,7 @@
|
||||
<th>Student Name</th>
|
||||
<th>Father Name</th>
|
||||
<th>Course</th>
|
||||
<th>Sem/Year</th>
|
||||
<!-- <th>Sem/Year</th> -->
|
||||
<th>Phone No</th>
|
||||
<th>University</th>
|
||||
<th>Balance Fee</th>
|
||||
@ -112,15 +118,15 @@
|
||||
<td>{{p.Document_fee_paid_date}}</td>
|
||||
<td>{{p.Enrollment_id}}</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Student_name}}</a></td>
|
||||
<td>{{p.Father}}</td>
|
||||
<td>{{p.Course_name}}</td>
|
||||
<td>{{p.Sem_year}}</td>
|
||||
<td>{{p.Father_name}}</td>
|
||||
<td>{{p.course_name}}</td>
|
||||
<!-- <td>{{p.Sem_year}}</td> -->
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Phone_number}}</a></td>
|
||||
<td>{{p.University}}</td>
|
||||
<td>{{p.Balance_fee}}</td>
|
||||
<td>{{p.Certificate_name}}</td>
|
||||
<td>{{p.Status}}</td>
|
||||
<td>{{p.Date}}</td>
|
||||
<td>{{p.Certificate_status}}</td>
|
||||
<td>{{p.Certificate_date}}</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
@ -1,12 +1,18 @@
|
||||
<section id="page-title">
|
||||
<div class="row">
|
||||
<div class="col-sm-8">
|
||||
<h1 class="mainTitle">Document Pending Student List Report</h1>
|
||||
<h1 class="mainTitle">Student Documents Pending Report</h1>
|
||||
</div>
|
||||
<!-- <div ncy-breadcrumb></div> -->
|
||||
</div>
|
||||
</section>
|
||||
<style>
|
||||
td,th {
|
||||
white-space: nowrap;
|
||||
}
|
||||
th{
|
||||
text-align:center;
|
||||
}
|
||||
/* .sort-icon {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
@ -90,10 +96,12 @@
|
||||
<th>Student Name</th>
|
||||
<th>Father Name</th>
|
||||
<th>Course</th>
|
||||
<th>Sem/Year</th>
|
||||
<!-- <th>Sem/Year</th> -->
|
||||
<th>Phone No</th>
|
||||
<th>University</th>
|
||||
<th>Document Status</th>
|
||||
<th>Document Applied Date</th>
|
||||
<!-- <th>Document Name</th>
|
||||
<th>Document Status</th> -->
|
||||
|
||||
|
||||
|
||||
@ -108,10 +116,12 @@
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Student_name}}</a></td>
|
||||
<td>{{p.Father_name}}</td>
|
||||
<td>{{p.Course_name}}</td>
|
||||
<td>{{p.Sem_year}}</td>
|
||||
<!-- <td>{{p.Sem_year}}</td> -->
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Phone_number}}</a></td>
|
||||
<td>{{p.University}}</td>
|
||||
<td>{{p.Status}}</td>
|
||||
<td>{{p.adate}}</td>
|
||||
<!-- <td>{{p.certname}}</td>
|
||||
<td>{{p.Status}}</td> -->
|
||||
|
||||
|
||||
</tr>
|
||||
|
||||
@ -7,6 +7,12 @@
|
||||
</div>
|
||||
</section>
|
||||
<style>
|
||||
td,th {
|
||||
white-space: nowrap;
|
||||
}
|
||||
th{
|
||||
text-align:center;
|
||||
}
|
||||
/* .sort-icon {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
@ -69,10 +75,10 @@
|
||||
<div class="col-md-4">
|
||||
<input class="form-control" type="text" ng-model="search" id="searchIn" autofocus tabindex="2" placeholder="Search" />
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<!-- <div class="col-md-6">
|
||||
<button class="btn btn-success btn-o" ng-click="calltracking()">Call Tracking</button>
|
||||
</div>
|
||||
<button class="btn btn-success btn-o" ng-click="exportData()">Export to Excel</button>
|
||||
--> <button class="btn btn-success btn-o" ng-click="exportData()">Export to Excel</button>
|
||||
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
@ -81,14 +87,14 @@
|
||||
|
||||
|
||||
<thead>
|
||||
<!-- <tr>
|
||||
<th colspan="8"></th>
|
||||
<tr>
|
||||
<th colspan="9"></th>
|
||||
<th>Sum of Exam Writing Fee</th>
|
||||
<th></th>
|
||||
</tr> -->
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><input type="checkbox" ng-model="myModel.all" id="all" name="all" ng-click="isCheckAll($event);"></th>
|
||||
<!-- <th><input type="checkbox" ng-model="myModel.all" id="all" name="all" ng-click="isCheckAll($event);"></th> -->
|
||||
<th>SL.No</th>
|
||||
<th>Enrollment ID</th>
|
||||
<th>Student Name</th>
|
||||
@ -107,7 +113,7 @@
|
||||
</thead>
|
||||
<tbody dir-paginate="p in examfee_data|filter:search:strict|itemsPerPage:10">
|
||||
<tr>
|
||||
<td><input type="checkbox" ng-checked="myModel.all" id="{{p.Student_id}}" name="{{p.Student_id}}" class="form-control" ng-click="isClick($event);" /></td>
|
||||
<!-- <td><input type="checkbox" ng-checked="myModel.all" id="{{p.Student_id}}" name="{{p.Student_id}}" class="form-control" ng-click="isClick($event);" /></td> -->
|
||||
<td>{{p.SL_NO}}</td>
|
||||
<td>{{p.Enrollment_id}}</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Student_name}}</a></td>
|
||||
@ -116,7 +122,7 @@
|
||||
<td>{{p.Sem_year}}</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Phone_number}}</a></td>
|
||||
<td>{{p.University}}</td>
|
||||
<td>{{p.Amount}}</td>
|
||||
<td style="text-align:right;">{{p.Amount}}</td>
|
||||
<td>{{p.Comments}}</td>
|
||||
|
||||
|
||||
@ -132,7 +138,8 @@
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>{{ getstf() }}</td>
|
||||
<td></td>
|
||||
<td style="text-align:right;">{{ getstf() }}</td>
|
||||
<td></td>
|
||||
|
||||
</tfoot>
|
||||
|
||||
157
Apollo/assets/views/report_lead.html
Normal file
157
Apollo/assets/views/report_lead.html
Normal file
@ -0,0 +1,157 @@
|
||||
<section id="page-title">
|
||||
<div class="row">
|
||||
<div class="col-sm-8">
|
||||
<h1 class="mainTitle">Calls done on a Particular Day/Period - Report</h1>
|
||||
</div>
|
||||
<!-- <div ncy-breadcrumb></div> -->
|
||||
</div>
|
||||
</section>
|
||||
<style>
|
||||
td,th {
|
||||
white-space: nowrap;
|
||||
}
|
||||
th{
|
||||
text-align:center;
|
||||
}
|
||||
/* .sort-icon {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
th {
|
||||
cursor: pointer;
|
||||
} */
|
||||
</style>
|
||||
<script type="text/javascript" src="bower_components/ng-table-excel-export/ng-table-excel-export.min.js">
|
||||
|
||||
|
||||
</script>
|
||||
<div class="container-fluid container-fullw bg-white">
|
||||
<div ng-controller="report_leadCtrl" ng-init="filters()">
|
||||
<form name="Form" id="form" novalidate ng-submit="onSubmit()" method="post">
|
||||
<fieldset>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<!--<pre>{{searchData.date}}</pre>-->
|
||||
<div data-ng-controller="DatepickerDemoCtrl">
|
||||
<label>
|
||||
From Date
|
||||
</label>
|
||||
<input type="text" tabindex="1" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="filters.from_date"
|
||||
is-open="startOpen" ng-init="startOpen = false" name="addDate" datepicker-options="dateOptions"
|
||||
placeholder="Select Date" close-text="Close" required="required" ng-change="changeDate()"
|
||||
show-button-bar="true" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<!--<pre>{{searchData.date}}</pre>-->
|
||||
<div data-ng-controller="DatepickerDemoCtrl">
|
||||
<label>
|
||||
To Date
|
||||
</label>
|
||||
<input type="text" tabindex="1" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="filters.to_date"
|
||||
is-open="startOpen" ng-init="startOpen = false" name="addDate" datepicker-options="dateOptions"
|
||||
placeholder="Select Date" close-text="Close" required="required" ng-change="changeToDate()"
|
||||
show-button-bar="true" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="col-md-3">
|
||||
<label for="form-field-select-2">
|
||||
Batch
|
||||
</label>
|
||||
|
||||
<select class="form-control" tabindex="3" class="cs-select cs-skin-elastic" name="batch" ng-model="searchData.Batch" ng-change="getValueChange()">
|
||||
<option value="" selected>Select Batch</option>
|
||||
<option ng-repeat="itemBatch in batchData" value="{{itemBatch.BatchCode}}">{{itemBatch.BatchName}}</option>
|
||||
</select>
|
||||
</div> -->
|
||||
|
||||
<div class="col-md-3" style="padding-top: 2.3%;">
|
||||
<div >
|
||||
|
||||
<button type="submit" class="btn btn-success btn-o" tabindex="8">
|
||||
Submit
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- <pre>{{statusr | json}}</pre> -->
|
||||
<div class="row" style="text-align: right;">
|
||||
<div class="col-md-4">
|
||||
<input class="form-control" type="text" ng-model="search" id="searchIn" autofocus tabindex="2" placeholder="Search" />
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
|
||||
</div>
|
||||
<button class="btn btn-success btn-o" ng-click="exportData()">Export to Excel</button>
|
||||
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table id="datatable" class="table table-hover" style="font-size:0.9em;" ng-controller="studentModalDemoCtrl">
|
||||
|
||||
|
||||
|
||||
<thead>
|
||||
|
||||
<tr>
|
||||
|
||||
<th>SL.No</th>
|
||||
<th>Date</th>
|
||||
<th>Tracking ID</th>
|
||||
<th>Followup Date</th>
|
||||
<th>Name</th>
|
||||
<th>Mobile No</th>
|
||||
<th>University</th>
|
||||
<th>Course</th>
|
||||
<th>Present Status</th>
|
||||
<th>Comments</th>
|
||||
<th>Activity</th>
|
||||
<th>Assigned To</th>
|
||||
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody dir-paginate="p in lead_data|filter:search:strict|itemsPerPage:10">
|
||||
<tr>
|
||||
|
||||
<td>{{p.SL_NO}}</td>
|
||||
<td>{{p.date}}</td>
|
||||
<td>{{p.tid}}</td>
|
||||
<td>{{p.fup}}</td>
|
||||
<td>{{p.name}}</td>
|
||||
<td>{{p.mobile}}</td>
|
||||
<td>{{p.univ}}</td>
|
||||
<td>{{p.course}}</td>
|
||||
<td>{{p.prsStatus}}</td>
|
||||
<td>{{p.cmnts}}</td>
|
||||
<td>{{p.activity}}</td>
|
||||
<td>{{p.AssignTo}}</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
<h3 style="text-align:center;">{{message}}</h3>
|
||||
|
||||
</div>
|
||||
|
||||
<dir-pagination-controls direction-links="true" boundary-links="true">
|
||||
</dir-pagination-controls>
|
||||
</div>
|
||||
</div>
|
||||
@ -1,12 +1,18 @@
|
||||
<section id="page-title">
|
||||
<div class="row">
|
||||
<div class="col-sm-8">
|
||||
<h1 class="mainTitle">Markcard/Certificate Issued Status Report</h1>
|
||||
<h1 class="mainTitle">Marks Card/ Certificates - received/ Issued Status Report</h1>
|
||||
</div>
|
||||
<!-- <div ncy-breadcrumb></div> -->
|
||||
</div>
|
||||
</section>
|
||||
<style>
|
||||
td,th {
|
||||
white-space: nowrap;
|
||||
}
|
||||
th{
|
||||
text-align:center;
|
||||
}
|
||||
/* .sort-icon {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
|
||||
@ -7,9 +7,14 @@
|
||||
</div>
|
||||
</section>
|
||||
<style>
|
||||
|
||||
td,th {
|
||||
white-space: nowrap;
|
||||
}
|
||||
th{
|
||||
text-align:center;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<div class="container-fluid container-fullw bg-white">
|
||||
@ -99,6 +104,8 @@
|
||||
<th>Phone No</th>
|
||||
<th>University</th>
|
||||
<th>Balance Fee</th>
|
||||
<th>Application Sent Date</th>
|
||||
<th>Answer Booklet Sent Date</th>
|
||||
<th>Mark Card Status</th>
|
||||
<th>Date</th>
|
||||
|
||||
@ -118,6 +125,8 @@
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Phone_number}}</a></td>
|
||||
<td>{{p.University}}</td>
|
||||
<td>{{p.Balance_Fee}}</td>
|
||||
<td>{{p.appdate}}</td>
|
||||
<td>{{p.ansdate}}</td>
|
||||
<td>{{p.Status}}</td>
|
||||
<td>{{p.Date}}</td>
|
||||
</tr>
|
||||
|
||||
@ -7,14 +7,12 @@
|
||||
</div>
|
||||
</section>
|
||||
<style>
|
||||
/* .sort-icon {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
th {
|
||||
cursor: pointer;
|
||||
} */
|
||||
td,th {
|
||||
white-space: nowrap;
|
||||
}
|
||||
th{
|
||||
text-align:center;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container-fluid container-fullw bg-white">
|
||||
@ -101,8 +99,9 @@
|
||||
<th>Phone No</th>
|
||||
<th>University</th>
|
||||
<th>Study Material Status</th>
|
||||
<th>Balance Fee</th>
|
||||
<th>Date</th>
|
||||
<th>Balance Fee</th>
|
||||
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
@ -119,8 +118,9 @@
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Phone_number}}</a></td>
|
||||
<td>{{p.University}}</td>
|
||||
<td>{{p.Status}}</td>
|
||||
<td>{{p.Date}}</td>
|
||||
<td>{{p.Balance_fee}}</td>
|
||||
<td>{{p.Date}}</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
@ -7,6 +7,12 @@
|
||||
</div>
|
||||
</section>
|
||||
<style>
|
||||
td,th {
|
||||
white-space: nowrap;
|
||||
}
|
||||
th{
|
||||
text-align:center;
|
||||
}
|
||||
/* .sort-icon {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
@ -87,8 +93,9 @@
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th colspan="2">Sum of Waiver Fee</th>
|
||||
<th colspan="2">Sum of Referal Fee</th>
|
||||
<th></th>
|
||||
<th colspan="2"></th>
|
||||
<th colspan="2"></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
|
||||
@ -99,8 +106,9 @@
|
||||
<th>Father Name</th>
|
||||
<th>Course</th>
|
||||
<th>Sem/Year</th>
|
||||
<th>Phone No</th>
|
||||
<th>University</th>
|
||||
<th>Phone No</th>
|
||||
<th>Waiver/referal given by</th>
|
||||
<th>Waiver Bill No</th>
|
||||
<th>Waivers Amount</th>
|
||||
<th>Referal Bill No</th>
|
||||
@ -122,10 +130,11 @@
|
||||
<td>{{p.Sem_year}}</td>
|
||||
<td>{{p.University}}</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Phone_number}}</a></td>
|
||||
<td>{{p.staffname}}</td>
|
||||
<td>{{p.Waiver_bill}}</td>
|
||||
<td>{{p.Waiver_amount}}</td>
|
||||
<td style="text-align:right;">{{p.Waiver_amount}}</td>
|
||||
<td>{{p.Referal_bill}}</td>
|
||||
<td>{{p.Referal_amount}}</td>
|
||||
<td style="text-align:right;">{{p.Referal_amount}}</td>
|
||||
<td>{{p.Comments}}</td>
|
||||
|
||||
|
||||
@ -142,9 +151,10 @@
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>{{ getwaiver() }}</td>
|
||||
<td></td>
|
||||
<td style="text-align:right;">{{ getwaiver() }}</td>
|
||||
<td></td>
|
||||
<td>{{ getref() }}</td>
|
||||
<td style="text-align:right;">{{ getref() }}</td>
|
||||
<td></td>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
73
Apollo/assets/views/reregistration/reregistrationformpdf.html
Normal file → Executable file
73
Apollo/assets/views/reregistration/reregistrationformpdf.html
Normal file → Executable file
@ -1,59 +1,54 @@
|
||||
<div class="container-fluid container-fullw bg-white" ng-controller="reregistrationformCtrl">
|
||||
<div class="container-fluid container-fullw bg-white" ng-controller="studentModalDemoCtrl">
|
||||
<div class="col-md-offset-10 col-md-1">
|
||||
<button class="btn btn-success" id="print"ng-click="generatePDF();">Print</button></div>
|
||||
<div id="reregisterform">
|
||||
<table style="height: 341px;background-color: white;" width="578" border=1 ng-repeat="Student in Student">
|
||||
<div id="reregisterform">
|
||||
<table style="height: 341px;background-color: white;" width="578" border=1>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width: 185px; text-align: right;border-right-style: hidden;border-bottom-style: hidden;"><img src="images/{{university.ProfilePicPath}}" id="logo" style="width: 30%;"></td>
|
||||
<td style="width: 185px; text-align: right;border-right-style: hidden;border-bottom-style: hidden;"><img src="images/{{Course.ProfilePicPath || university/No_Image.png}}" id="logo" style="width: 30%;"></td>
|
||||
<td style="width: 185px;border-bottom-style: hidden;" colspan="2">
|
||||
<h1 style="color:blue;"><strong>{{university.universityName}}</strong></h1>
|
||||
<h1 style="color:blue;"><strong>{{Course.UniversityName}}</strong></h1>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 185px; text-align: center;" colspan="3">
|
||||
<h5><strong>RE-REGISTRATION FORM</strong></h5>
|
||||
<p>{{university.Address}} Mob-{{university.MobileNumber}}, E-mail id:{{university.EmailID}}, Website:-</p>
|
||||
<p>{{Course.Address}} Mob-{{Course.UnivMobileNumber}}, E-mail id:{{Course.EmailID}}, Website:-</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 185px;" colspan="3">
|
||||
<p style="text-align: center;">The from should be complete in all respects and to be filled by student in English CAPITAL letters in blue /black ink.</p>
|
||||
<p style="text-align: center;">The from should be complete in all respects and to be filled by Course in English CAPITAL letters in blue /black ink.</p>
|
||||
<table width="80%">
|
||||
<tbody>
|
||||
<tr style="height: 3px;">
|
||||
<td style="">Enrolment No: </td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[0]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[1]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[2]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[3]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[4]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[5]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[6]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[7]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[8]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[9]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[10]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[11]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[12]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[13]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[14]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[15]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[16]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[17]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Student.EnrollmentID[18]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[0]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[1]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[2]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[3]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[4]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[5]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[6]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[7]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[8]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[9]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[10]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[11]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[12]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[13]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[14]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[15]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[16]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[17]}}</td>
|
||||
<td style="height: 5px;border: 1px solid;padding: 0px 5px 0px 8px;">{{Course.EnrollmentID[18]}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>Course Name: {{Course.CourseName}} specialization {{Course.Specilization}} Sem/Year <span style="text-decoration:underline;"ng-if="Student.FeeDetails[0].SubType=='SEM'">SEM{{sem[$index]}}</span>
|
||||
<span style="text-decoration:underline;" ng-if="Student.FeeDetails[0].SubType=='YEAR'">
|
||||
<span ng-if="Year[$index]==1">YEAR1</span>
|
||||
<span ng-if="Year[$index]==3">YEAR2</span>
|
||||
<span ng-if="Year[$index]==5">YEAR3</span>
|
||||
<span ng-if="Year[$index]==7">YEAR4</span>
|
||||
</span>
|
||||
<p>Course Name: {{Course.CourseName}} specialization {{Course.Specilization}} Sem/Year: <span style="text-decoration:underline;">{{sem}}</span>
|
||||
|
||||
</p>
|
||||
|
||||
<p>Examination Session: January <span style="border:1px solid black;padding: 0px 0px 0px 18px;"></span> June <span style="border:1px solid black;padding: 0px 0px 0px 18px;"></span> Semester Mode <span style="border:1px solid black;padding: 0px 0px 0px 18px;"></span> Yearly Mode <span style="border:1px solid black;padding: 0px 0px 0px 18px;"></span></p>
|
||||
@ -65,23 +60,23 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width: 28.0547%;">Name of the Cadidate:</td>
|
||||
<td style="width: 68.9453%; border-bottom: 1px dotted;">{{Student.Firstname}} {{Student.Lastname}}</td>
|
||||
<td style="width: 68.9453%; border-bottom: 1px dotted;">{{Course.Firstname}} {{Course.Lastname}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 28.0547%;">Father's Nmae:</td>
|
||||
<td style="width: 68.9453%; border-bottom: 1px dotted;">{{Student.Fathername}}</td>
|
||||
<td style="width: 68.9453%; border-bottom: 1px dotted;">{{Course.Fathername}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 28.0547%;">Mother's Name:</td>
|
||||
<td style="width: 68.9453%; border-bottom: 1px dotted;">{{Student.MotherName}}</td>
|
||||
<td style="width: 68.9453%; border-bottom: 1px dotted;">{{Course.MotherName}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 28.0547%;">Address</td>
|
||||
<td style="width: 68.9453%; border-bottom: 1px dotted;">{{Student.PermanentAddress}}</td>
|
||||
<td style="width: 68.9453%; border-bottom: 1px dotted;">{{Course.PermanentAddress}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Pin Code: __________ Mobile No: <span style="text-decoration:underline;">{{Student.MobileNumber}}</span> E-mail ID: <span style="text-decoration:underline;">{{Student.EmailID}}</span></p>
|
||||
<p>Pin Code: __________ Mobile No: <span style="text-decoration:underline;">{{Course.MobileNumber}}</span> E-mail ID: <span style="text-decoration:underline;">{{Course.EmailID}}</span></p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -96,7 +91,7 @@
|
||||
<th style="width: 186px; text-align: center;"><strong> Subject / Paper Code</strong></th>
|
||||
</tr>
|
||||
|
||||
<tr ng-repeat="sub in Subject[$index]">
|
||||
<tr ng-repeat="sub in Subject[0]">
|
||||
<td style="width: 185px;">{{$index+1}}</td>
|
||||
<td style="width: 185px;">{{sub.SubjectCode}}</td>
|
||||
<td style="width: 186px;">{{sub.SubjectName}}</td>
|
||||
|
||||
@ -69,7 +69,16 @@
|
||||
<div class="row">
|
||||
<div ng-if="resData.length > 0">
|
||||
<div class="table-responsive">
|
||||
|
||||
<style>
|
||||
.containersPara {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
max-height: 220px;
|
||||
max-width: 360px;
|
||||
overflow: auto;
|
||||
white-space: pre;
|
||||
}
|
||||
</style>
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
@ -84,7 +93,9 @@
|
||||
</thead>
|
||||
<tbody dir-paginate="p in resData|orderBy:sortKey:reverse|filter:search:strict|itemsPerPage:3">
|
||||
<tr>
|
||||
<td>{{p.MsgBody}}</td>
|
||||
<td><div class="containersPara">{{p.MsgBody}}
|
||||
</div>
|
||||
</td>
|
||||
<td>{{p.MSG_SEND_CNT}}</td>
|
||||
<td>{{p.CreatedOn}}</td>
|
||||
<td class="center">
|
||||
|
||||
@ -15,10 +15,10 @@
|
||||
<!-- /// controller: 'UserCtrl' - localtion: assets/js/controllers/sendSMSsuperadminCtrl.js /// -->
|
||||
<div ng-controller="sendSMSsuperadminCtrl" ng-init="init()">
|
||||
<!--<h1>D</h1>-->
|
||||
<tabset class="tabbable">
|
||||
<tab heading="Send Student Messages" id="viewDayBook">
|
||||
<div class="row">
|
||||
<!--<div class="col-md-3">
|
||||
<tabset class="tabbable">
|
||||
<tab heading="Send Student Messages" id="viewDayBook">
|
||||
<div class="row">
|
||||
<!--<div class="col-md-3">
|
||||
<label for="form-field-select-2">
|
||||
Select Branch
|
||||
</label>
|
||||
@ -28,499 +28,450 @@
|
||||
<option ng-repeat="bdata in branchList_data" value="{{bdata.BranchCode}}">{{bdata.BranchName}}</option>
|
||||
</select>
|
||||
</div>-->
|
||||
<div class="col-md-3">
|
||||
<label for="form-field-select-2">
|
||||
<div class="col-md-3">
|
||||
<label for="form-field-select-2">
|
||||
University
|
||||
</label>
|
||||
|
||||
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="university" ng-model="myUniv" ng-change="getUniveId(myUniv)">
|
||||
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="university" ng-model="myUniv" ng-change="getUniveId(myUniv)">
|
||||
<option value="" disabled selected>Select University</option>
|
||||
<option ng-repeat="item in universityData" value="{{item}}">{{item.UniversityName}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label for="form-field-select-2">
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label for="form-field-select-2">
|
||||
Batch
|
||||
</label>
|
||||
|
||||
<select class="form-control" tabindex="3" class="cs-select cs-skin-elastic" name="batch" ng-model="searchData.Batch" ng-change="getValueChange()">
|
||||
<select class="form-control" tabindex="3" class="cs-select cs-skin-elastic" name="batch" ng-model="searchData.Batch" ng-change="getValueChange()">
|
||||
<option value="" selected>Select Batch</option>
|
||||
<option ng-repeat="itemBatch in batchData" value="{{itemBatch.BatchCode}}">{{itemBatch.BatchName}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<label for="form-field-select-2">
|
||||
<div class="col-md-3">
|
||||
<label for="form-field-select-2">
|
||||
Course
|
||||
</label>
|
||||
|
||||
<select class="form-control" tabindex="2" class="cs-select cs-skin-elastic" name="course" ng-model="searchData.Course" ng-change="getValueChange()">
|
||||
<select class="form-control" tabindex="2" class="cs-select cs-skin-elastic" name="course" ng-model="searchData.Course" ng-change="getValueChange()">
|
||||
<option value="" selected>Select Course</option>
|
||||
<option ng-repeat="itemCourse in courseData" value="{{itemCourse.CourseID}}">{{itemCourse.CourseName}}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!--<pre>{{ branchList_data }}</pre>-->
|
||||
<!--<pre>{{ studentListDetails | json }}</pre>-->
|
||||
<!--<pre>{{ searchResultLength }}</pre>-->
|
||||
|
||||
<div>
|
||||
<!--// student search result-->
|
||||
<div ng-if="searchLoading === true">
|
||||
<!--search loading start-->
|
||||
<div style="padding: auto 0; color: #007AFF; font-weight: bold; text-align:center;
|
||||
margin-top: 25px;">
|
||||
<h4 style="color: inherit">fetching...</h4>
|
||||
</div>
|
||||
<!--search loading end-->
|
||||
</div>
|
||||
|
||||
<div ng-if="searchLoading === false">
|
||||
<div class="col-md-12" ng-if="searchResultStatus == false" style="min-height: 281px;">
|
||||
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||
records found... </h4></strong></p>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12" ng-if="searchResultStatus == true">
|
||||
<div class="col-md-12" ng-if="searchResultLength === 0" style="min-height: 281px;">
|
||||
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||
records found... </h4></strong></p>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive" ng-if="searchResultLength > 0">
|
||||
<!--// search-->
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<label for="form-field-select-2">
|
||||
|
||||
</div>
|
||||
<!--<pre>{{ branchList_data }}</pre>-->
|
||||
<!--<pre>{{ studentListDetails | json }}</pre>-->
|
||||
<!--<pre>{{ searchResultLength }}</pre>-->
|
||||
|
||||
<div>
|
||||
<!--// student search result-->
|
||||
<div ng-if="searchLoading === true">
|
||||
<!--search loading start-->
|
||||
<div style="padding: auto 0; color: #007AFF; font-weight: bold; text-align:center;
|
||||
margin-top: 25px;">
|
||||
<h4 style="color: inherit">fetching...</h4>
|
||||
</div>
|
||||
<!--search loading end-->
|
||||
</div>
|
||||
|
||||
<div ng-if="searchLoading === false">
|
||||
<div class="col-md-12" ng-if="searchResultStatus == false" style="min-height: 281px;">
|
||||
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||
records found... </h4></strong></p>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12" ng-if="searchResultStatus == true">
|
||||
<div class="col-md-12" ng-if="searchResultLength === 0" style="min-height: 281px;">
|
||||
<p style="color: red;" align="center"><strong><h4 class="text-center">No
|
||||
records found... </h4></strong></p>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive" ng-if="searchResultLength > 0">
|
||||
<!--// search-->
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<label for="form-field-select-2">
|
||||
Mobile Number
|
||||
</label>
|
||||
<script>
|
||||
$(function () {
|
||||
$("#search").focus();
|
||||
});
|
||||
</script>
|
||||
<style>
|
||||
.sort-icon {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
<script>
|
||||
$(function () {
|
||||
$("#search").focus();
|
||||
});
|
||||
</script>
|
||||
<style>
|
||||
.sort-icon {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
th {
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
<input class="form-control" type="text" ng-change="mySearchChangeFunc(search.MobileNumber)" ng-model="search"
|
||||
id="search" autofocus tabindex="1" placeholder="Search Mobile" /><br><br>
|
||||
th {
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
<input class="form-control" type="text" ng-change="mySearchChangeFunc(search.MobileNumber)" ng-model="search" id="search"
|
||||
autofocus tabindex="1" placeholder="Search Mobile" /><br><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-hover" ng-controller="studentModalDemoCtrl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<input type="checkbox" ng-hide="allSelectedHide" ng-model="allSelected" ng-change="openUpdateWind()" ng-model-options="{getterSetter: true}"
|
||||
ng-click="openScreenSen()"/>
|
||||
</th>
|
||||
<th ng-click="sort('Firstname')">First Name
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='Firstname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||
</th>
|
||||
<th ng-click="sort('Lastname')">Last Name
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='Lastname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||
</th>
|
||||
<th ng-click="sort('MobileNumber')">MobileNumber
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='MobileNumber'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||
</th>
|
||||
<th ng-click="sort('EmailID')">Email ID
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||
</th>
|
||||
<th ng-click="sort('CourseName')">Course
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='CourseName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody dir-paginate="p in searchResultDetails|filter:search:strict|orderBy:sortKey:reverse|itemsPerPage:10">
|
||||
<tr>
|
||||
<td>
|
||||
<label>
|
||||
<table class="table table-hover" ng-controller="studentModalDemoCtrl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<input type="checkbox" ng-hide="allSelectedHide" ng-model="allSelected" ng-change="openUpdateWind()" ng-model-options="{getterSetter: true}"
|
||||
ng-click="openScreenSen()" />
|
||||
</th>
|
||||
<th ng-click="sort('Firstname')">First Name
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='Firstname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||
</th>
|
||||
<th ng-click="sort('Lastname')">Last Name
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='Lastname'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||
</th>
|
||||
<th ng-click="sort('MobileNumber')">MobileNumber
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='MobileNumber'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||
</th>
|
||||
<th ng-click="sort('EmailID')">Email ID
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||
</th>
|
||||
<th ng-click="sort('CourseName')">Course
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='CourseName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody dir-paginate="p in searchResultDetails|filter:search:strict|orderBy:sortKey:reverse|itemsPerPage:10">
|
||||
<tr>
|
||||
<td>
|
||||
<label>
|
||||
<input type="checkbox" ng-model="p.Selected" ng-bind="values = p.StudentID" ng-change="setOneSelect(p)"
|
||||
ng-click="openScreenSen()" />
|
||||
</label>
|
||||
</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Firstname}}</a></td>
|
||||
<td>{{p.Lastname}}</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.MobileNumber}}</a></td>
|
||||
<td>{{p.EmailID}}</td>
|
||||
<td>{{p.CourseName}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
|
||||
</dir-pagination-controls>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.Firstname}}</a></td>
|
||||
<td>{{p.Lastname}}</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(p);">{{p.MobileNumber}}</a></td>
|
||||
<td>{{p.EmailID}}</td>
|
||||
<td>{{p.CourseName}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
|
||||
</dir-pagination-controls>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="OpenWindowStatus">
|
||||
<style>
|
||||
#cancel_button {
|
||||
/*line-height: 12px;
|
||||
<div ng-if="OpenWindowStatus">
|
||||
<style>
|
||||
#cancel_button {
|
||||
/*line-height: 12px;
|
||||
width: 18px;
|
||||
font-size: 8pt;
|
||||
font-family: tahoma;*/
|
||||
margin-top: 1px;
|
||||
margin-right: 2px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
margin-top: 1px;
|
||||
margin-right: 2px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.target>div:target {
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
<div>
|
||||
<form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, msg_details)" method="post">
|
||||
<div id="bottom1" class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
.target>div:target {
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
<div>
|
||||
<form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, msg_details)" method="post">
|
||||
<div id="bottom1" class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<fieldset style="background-color: #eaeaea;">
|
||||
<legend>
|
||||
SMS Details
|
||||
</legend>
|
||||
<!--<div>
|
||||
<div class="col-md-6">
|
||||
<fieldset style="background-color: #eaeaea;">
|
||||
<legend>
|
||||
SMS Details
|
||||
</legend>
|
||||
<!--<div>
|
||||
<a id="cancel_button" ng-click="unSelect()" tooltip="Close">
|
||||
<span class="glyphicon glyphicon-remove-circle"></span>
|
||||
</a>
|
||||
</div>-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-2"></div>
|
||||
<div class="col-md-8 form-group" ng-class="{'has-error':Form.Messagebody.$dirty && Form.Messagebody.$invalid, 'has-success':Form.Messagebody.$valid}">
|
||||
<label>
|
||||
<div class="row">
|
||||
<div class="col-md-2"></div>
|
||||
<div class="col-md-8 form-group" ng-class="{'has-error':Form.Messagebody.$dirty && Form.Messagebody.$invalid, 'has-success':Form.Messagebody.$valid}">
|
||||
<label>
|
||||
Message body <span class="symbol required"></span>
|
||||
</label>
|
||||
|
||||
<textarea type="text" placeholder="Enter Message body" tabindex="7" class="form-control" name="Messagebody" ng-model="msg_details.content"
|
||||
required/>
|
||||
<span class="error text-small block" ng-if="Form.Messagebody.$dirty && Form.Messagebody.$error.pattern">Invalid Message body</span>
|
||||
</div>
|
||||
<div class="col-md-2"></div>
|
||||
<textarea type="text" placeholder="Enter Message body" tabindex="7" class="form-control" name="Messagebody" ng-model="msg_details.content"
|
||||
required/>
|
||||
<span class="error text-small block" ng-if="Form.Messagebody.$dirty && Form.Messagebody.$error.pattern">Invalid Message body</span>
|
||||
</div>
|
||||
<div class="col-md-2"></div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="pull-right">
|
||||
<button type="submit" ng-disabled="disableButton" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-sm btn-success"
|
||||
data-style="zoom-in">
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="pull-right">
|
||||
<button type="submit" ng-disabled="disableButton" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-sm btn-success"
|
||||
data-style="zoom-in">
|
||||
<i class="fa fa-circle-o-notch fa-spin" ng-if="disableButton" style="font-size:14px"></i>
|
||||
Submit
|
||||
</button>
|
||||
<button type="reset" tabindex="9" class="btn btn-warning btn-sm" tabindex="9" ng-click="statusUpdate.reset(Form)">
|
||||
<button type="reset" tabindex="9" class="btn btn-warning btn-sm" tabindex="9" ng-click="statusUpdate.reset(Form)">
|
||||
Reset
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="col-md-3">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!--studen search result end-->
|
||||
</div>
|
||||
</div>
|
||||
<!--studen search result end-->
|
||||
</div>
|
||||
</tab>
|
||||
<tab heading="Send Promotional Messages">
|
||||
<style>
|
||||
.mobileNumberList {
|
||||
margin: 6px;
|
||||
width: 100%;
|
||||
height: 180px;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
.mobileNumberList ul {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.mobileNumberList ul li{
|
||||
padding: 4px 2px;
|
||||
margin: 1px 2px;
|
||||
border: 1px solid gray;
|
||||
border-radius: 4px;
|
||||
background: #70a5d0;
|
||||
color: #000;
|
||||
}
|
||||
.deletBtn {
|
||||
margin: 0 2px;
|
||||
padding: 2px;
|
||||
background: #2ba3ca;
|
||||
border-radius: 50%;
|
||||
border: 2px solid #469cad;
|
||||
cursor: pointer;
|
||||
color: #063742;
|
||||
}
|
||||
.deletBtn:hover{
|
||||
background: #2ac3ca;
|
||||
}
|
||||
.lableValue{
|
||||
margin: 0 4px;
|
||||
}
|
||||
.addBtn{
|
||||
margin: 1px 2px;
|
||||
padding: 4px 6px;
|
||||
text-transform: uppercase;
|
||||
background: #de1072;
|
||||
border: none;
|
||||
color: #dadada;
|
||||
border-radius: 4px;
|
||||
clear: both;
|
||||
}
|
||||
.inputCls{
|
||||
padding: 7px 4px;
|
||||
}
|
||||
</style>
|
||||
<form name="Form" id="form" novalidate ng-submit="composeMsg.submit(Form)" method="post">
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="col-md-6" ng-class="{'has-error':Form.addMessage.$dirty && Form.addMessage.$invalid, 'has-success':Form.addMessage.$valid}">
|
||||
<label>
|
||||
</tab>
|
||||
<tab heading="Send Promotional Messages">
|
||||
<style>
|
||||
.mobileNumberList {
|
||||
margin: 6px;
|
||||
width: 100%;
|
||||
height: 180px;
|
||||
border: 1px solid gray;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
|
||||
.mobileNumberList ul {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.mobileNumberList ul li {
|
||||
padding: 4px 2px;
|
||||
margin: 1px 2px;
|
||||
border: 1px solid gray;
|
||||
border-radius: 4px;
|
||||
background: #70a5d0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.deletBtn {
|
||||
margin: 0 2px;
|
||||
padding: 2px;
|
||||
background: #2ba3ca;
|
||||
border-radius: 50%;
|
||||
border: 2px solid #469cad;
|
||||
cursor: pointer;
|
||||
color: #063742;
|
||||
}
|
||||
|
||||
.deletBtn:hover {
|
||||
background: #2ac3ca;
|
||||
}
|
||||
|
||||
.lableValue {
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
.addBtn {
|
||||
margin: 1px 2px;
|
||||
padding: 4px 6px;
|
||||
text-transform: uppercase;
|
||||
background: #de1072;
|
||||
border: none;
|
||||
color: #dadada;
|
||||
border-radius: 4px;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.inputCls {
|
||||
padding: 7px 4px;
|
||||
}
|
||||
</style>
|
||||
<form name="Form" id="form" novalidate ng-submit="composeMsg.submit(Form)" method="post">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6" ng-class="{'has-error':Form.addMessage.$dirty && Form.addMessage.$invalid, 'has-success':Form.addMessage.$valid}">
|
||||
<label>
|
||||
Message :<span class="symbol required"></span>
|
||||
</label>
|
||||
|
||||
<textarea type="text" placeholder="Enter Message Details" tabindex="3" class="form-control inputCls" name="addMessage"
|
||||
ng-model="mobileNumList.message"
|
||||
required maxlength="100" />
|
||||
<span class="text-small block" style="color: rgba(128, 128, 128, 0.64)">Max 100 Characters.</span>
|
||||
<span class="error text-small block" ng-if="Form.addMessage.$dirty && Form.addMessage.$error.required">Message is Required </span>
|
||||
<textarea type="text" placeholder="Enter Message Details" tabindex="3" class="form-control inputCls" name="addMessage" ng-model="mobileNumList.message"
|
||||
required maxlength="300" />
|
||||
<span class="text-small block" style="color: rgba(128, 128, 128, 0.64)">Max 300 Characters.</span>
|
||||
<span class="error text-small block" ng-if="Form.addMessage.$dirty && Form.addMessage.$error.required">Message is Required </span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!--<div class="col-md-4">
|
||||
|
||||
<label>Mobile Number : <span class="symbol required"></span>
|
||||
</label>
|
||||
<div>
|
||||
<input type="text" class="form-control inputCls" placeholder="Enter Mobile Number"
|
||||
ng-model="mobileNumList.mobile" name="mobile" ng-pattern="/^[0-9-+]*$/" minlength="6" maxlength="13">
|
||||
<span class="error text-small block" ng-if="addressForm.mobile.$error.pattern && addressForm.mobile.$error.minlength && addressForm.mobile.$error.maxlength">Valid Mobile is Required </span>
|
||||
</div>
|
||||
<br>
|
||||
<div>
|
||||
<i ng-click="composeMsgNumber()" class="addBtn" >add</i>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<label>
|
||||
</label>
|
||||
</div>-->
|
||||
|
||||
<div class="col-md-4">
|
||||
|
||||
<label>
|
||||
<label>
|
||||
<input type="radio" ng-model="message" value="false" ng-click="string(message)">
|
||||
Number
|
||||
</label>
|
||||
|
||||
<label>
|
||||
<label>
|
||||
<input type="radio" ng-model="message" value="true" ng-click="string(message)">
|
||||
Group
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4" ng-if="radio==1">
|
||||
|
||||
<label>Multiple Mobile Numbers : <span class="symbol required"></span>
|
||||
</label>
|
||||
<div>
|
||||
<textarea type="text" placeholder="Enter Multiple Mobile Numbers" tabindex="5" class="form-control inputCls" name="addMulipleNumbers"
|
||||
ng-model="mobileNumList.multipleMobile"
|
||||
/>
|
||||
<span><b>Note:</b> Mobile Numbers Must Be Valid And Separate by commas(<b>eg : </b> 9876543210, 9786543210, ...)</span>
|
||||
<span class="error text-small block" ng-if="addressForm.mobile.$error.pattern && addressForm.mobile.$error.minlength && addressForm.mobile.$error.maxlength">Valid Mobile is Required </span>
|
||||
</div>
|
||||
<br>
|
||||
<div>
|
||||
<i ng-click="composeMsgMultipleNumber()" class="addBtn" >add</i>
|
||||
</div>
|
||||
|
||||
<!--ng-click="addContactsList(mobileNumList)"-->
|
||||
|
||||
</div>
|
||||
<div class="col-md-6" ng-if="radio==1">
|
||||
<div class="mobileNumberList">
|
||||
<ul>
|
||||
<li ng-repeat="num in listMobileNums track by $index"><span class="lableValue">{{num}}</span><span class="deletBtn" ng-click="deletMobileList(num)">X</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--<div>
|
||||
<label>Mobile Numbers : </label> <textarea class="inputCls" ng-model="mobileNumList.mobile"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label>Mobile Numbers : </label> <input type="text" class="inputCls" ng-model="mobileNumList.mobile"><button class="addBtn" ng-click="addContactsList(mobileNumList)">add</button>
|
||||
</div>-->
|
||||
|
||||
<div class="row" ng-if="radio==1">
|
||||
<div class="pull-left">
|
||||
<button type="submit" ng-disabled="disableSendButton" tabindex="4" ladda="ldloading1.zoom_in" class="btn btn-sm btn-success"
|
||||
data-style="zoom-in">
|
||||
<div class="row">
|
||||
<div class="col-md-4" ng-if="radio==1">
|
||||
|
||||
<label>Multiple Mobile Numbers : <span class="symbol required"></span>
|
||||
</label>
|
||||
<div>
|
||||
<textarea type="text" placeholder="Enter Multiple Mobile Numbers" tabindex="5" class="form-control inputCls" name="addMulipleNumbers"
|
||||
ng-model="mobileNumList.multipleMobile" />
|
||||
<span><b>Note:</b> Mobile Numbers Must Be Valid And Separate by commas(<b>eg : </b> 9876543210, 9786543210, ...)</span>
|
||||
<span class="error text-small block" ng-if="addressForm.mobile.$error.pattern && addressForm.mobile.$error.minlength && addressForm.mobile.$error.maxlength">Valid Mobile is Required </span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2" ng-if="radio==1">
|
||||
<i ng-click="composeMsgMultipleNumber()" class="addBtn">add</i>
|
||||
</div>
|
||||
<div class="col-md-6" ng-if="radio==1">
|
||||
<div class="mobileNumberList">
|
||||
<ul>
|
||||
<li ng-repeat="num in listMobileNums track by $index"><span class="lableValue">{{num}}</span><span class="deletBtn" ng-click="deletMobileList(num)">X</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row" ng-if="radio==1">
|
||||
<div class="pull-left">
|
||||
<button type="submit" ng-disabled="disableSendButton" tabindex="4" ladda="ldloading1.zoom_in" class="btn btn-sm btn-success"
|
||||
data-style="zoom-in">
|
||||
<i class='fa fa-spinner fa-spin' ng-if="disableSendButton"> </i>Send
|
||||
</button>
|
||||
<!--<button type="cancel" ng-click="daybookAdd.reset(Form)" tabindex="5" class="btn btn-warning btn-sm" ng-click="employeeForm.resetCourse(Form)">
|
||||
Reset
|
||||
</button>-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12" ng-if="radio==2">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="addType" ng-model="mobileNumList.grouptype" ng-Change="getall_Numbers(mobileNumList.grouptype);" required>
|
||||
<option value="-1"> SELECT </option>
|
||||
<option ng-repeat="p in statusInfo" value="{{p.ID}}"">{{p.GroupName}}</option>
|
||||
|
||||
</select>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
|
||||
<textarea rows="4" col="3" class="form-control" name="content" ng-model="numbers"></textarea>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</br>
|
||||
<!-- <div class="col-md-6">
|
||||
|
||||
<textarea rows="4" col="3" class="form-control" name="content" ng-model="numbers"></textarea>
|
||||
</div> -->
|
||||
|
||||
<!-- <div class="col-offset" ng-repeat="i in allnum">
|
||||
<div >
|
||||
{{i.Phone_No}}
|
||||
</div>
|
||||
</div> -->
|
||||
<br/>
|
||||
|
||||
<div class="col-md-12">
|
||||
<br/>
|
||||
<div class="pull-left">
|
||||
<input type="button" class="btn btn-sm btn-success" tabindex="10" value="Send" ng-click="sendgroup(Form);">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</tab>
|
||||
|
||||
|
||||
<tab heading="Manage Groups">
|
||||
|
||||
|
||||
<form name="Form" id="Form" novalidate ng-submit="AddGroup.submit(Form,myModel)" method="post">
|
||||
<fieldset>
|
||||
<legend>Add New</legend>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-4 form-group" ng-class="">
|
||||
<label>
|
||||
Group Name <span class="symbol required"></span>
|
||||
</label>
|
||||
<input type="text" placeholder="Enter Group Name" tabindex="1" class="form-control" name="GroupName" ng-model="myModel.GroupName"
|
||||
ng-pattern="/^[a-zA-Z0-9.\s]*$/" capitalize required/>
|
||||
<span class="error text-small block" ng-if="Form.GroupName.$dirty && Form.GroupName.$error.required">Group Name is required</span>
|
||||
<span class="error text-small block" ng-if="Form.GroupName.$dirty && Form.GroupName.$error.pattern">Invalid Group Name </span>
|
||||
</div>
|
||||
<div class="col-md-2" style="padding-top: 2.3%;">
|
||||
<div class="pull-right">
|
||||
<button type="submit" ladda="ldloading1.zoom_in" tabindex="2" class="btn btn-wide btn-success" data-style="zoom-in">
|
||||
Add
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12" ng-if="radio==2">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="addType" ng-model="mobileNumList.grouptype"
|
||||
ng-Change="getall_Numbers(mobileNumList.grouptype);" required>
|
||||
<option value="" disabled selected>Select Group</option>
|
||||
<option ng-repeat="p in statusInfo" value="{{p.ID}}">{{p.GroupName}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<textarea rows="4" col="3" class="form-control" name="content" ng-model="numbers"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<br/>
|
||||
<div class="pull-left">
|
||||
<input type="button" class="btn btn-sm btn-success" tabindex="10" value="Send" ng-click="sendgroup(Form);">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</form>
|
||||
</tab>
|
||||
<tab heading="Manage Groups">
|
||||
|
||||
|
||||
<form name="Form" id="Form" novalidate ng-submit="AddGroup.submit(Form,myModel)" method="post">
|
||||
<fieldset>
|
||||
<legend>Add New</legend>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-4 form-group" ng-class="">
|
||||
<label>
|
||||
Group Name <span class="symbol required"></span>
|
||||
</label>
|
||||
<input type="text" placeholder="Enter Group Name" tabindex="1" class="form-control" name="GroupName" ng-model="myModel.GroupName"
|
||||
ng-pattern="/^[a-zA-Z0-9.\s]*$/" capitalize required/>
|
||||
<span class="error text-small block" ng-if="Form.GroupName.$dirty && Form.GroupName.$error.required">Group Name is required</span>
|
||||
<span class="error text-small block" ng-if="Form.GroupName.$dirty && Form.GroupName.$error.pattern">Invalid Group Name </span>
|
||||
</div>
|
||||
<div class="col-md-2" style="padding-top: 2.3%;">
|
||||
<div class="pull-right">
|
||||
<button type="submit" ladda="ldloading1.zoom_in" tabindex="2" class="btn btn-wide btn-success" data-style="zoom-in">
|
||||
Add
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<table class="table table-hover" ng-init="initgroup();">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th ng-click="sort('ListName')">Group Name
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='ListName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"> </span>
|
||||
</th>
|
||||
<th>Status</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<!-- {{statusInfo}} -->
|
||||
<tbody dir-paginate="p in statusInfo|orderBy:sortKey:reverse|filter:search:strict|itemsPerPage:10">
|
||||
<tr>
|
||||
|
||||
<td>{{p.GroupName}}</td>
|
||||
<td><span ng-if="p.IsActive == 1"> Active </span><span ng-if="p.IsActive == 0">In-Active</span></td>
|
||||
<td>
|
||||
<a class="text-azure" id="editRowBtn{{p.ID}}" ng-click="setEditId(p.ID);"><b class="fa fa-hover fa-plus" tooltip="Add Contact" aria-hidden="true"></b>
|
||||
<table class="table table-hover" ng-init="initgroup();">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th ng-click="sort('ListName')">Group Name
|
||||
<span class="glyphicon sort-icon" ng-show="sortKey=='ListName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"> </span>
|
||||
</th>
|
||||
<th>Status</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<!-- {{statusInfo}} -->
|
||||
<tbody dir-paginate="p in statusInfo|orderBy:sortKey:reverse|filter:search:strict|itemsPerPage:10">
|
||||
<tr>
|
||||
|
||||
<td>{{p.GroupName}}</td>
|
||||
<td><span ng-if="p.IsActive == 1"> Active </span><span ng-if="p.IsActive == 0">In-Active</span></td>
|
||||
<td>
|
||||
<a class="text-azure" id="editRowBtn{{p.ID}}" ng-click="setEditId(p.ID);"><b class="fa fa-hover fa-plus" tooltip="Add Contact" aria-hidden="true"></b>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<div class="col-md-3">
|
||||
<label>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<div class="col-md-3">
|
||||
<label>
|
||||
Active/De-Active
|
||||
</label>
|
||||
<div ng-if="p.IsActive==true">
|
||||
<div ng-if="p.IsActive==true">
|
||||
|
||||
<switch ng-change="statusactive(p.ID,p.IsActive)" ng-model="p.IsActive" ng-init="p.IsActive = true" class="green"></switch>
|
||||
<switch ng-change="statusactive(p.ID,p.IsActive)" ng-model="p.IsActive" ng-init="p.IsActive = true" class="green"></switch>
|
||||
|
||||
</div>
|
||||
<div ng-if="p.IsActive==false">
|
||||
<switch ng-change="statusactive(p.ID,p.IsActive)" ng-model="p.IsActive" ng-init="p.IsActive = false" class="green"></switch>
|
||||
</div>
|
||||
<div ng-if="p.IsActive==false">
|
||||
<switch ng-change="statusactive(p.ID,p.IsActive)" ng-model="p.IsActive" ng-init="p.IsActive = false" class="green"></switch>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
|
||||
|
||||
</tr>
|
||||
<tr ng-show="editId === p.ID" ng-if="editId === p.ID">
|
||||
<td colspan="12" ng-include src="'assets/views/addcontact.html'"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
|
||||
</dir-pagination-controls>
|
||||
</tr>
|
||||
<tr ng-show="editId === p.ID" ng-if="editId === p.ID">
|
||||
<td colspan="12" ng-include src="'assets/views/addcontact.html'"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
|
||||
</dir-pagination-controls>
|
||||
|
||||
|
||||
</tab>
|
||||
</tabset>
|
||||
</tab>
|
||||
</tabset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-8">
|
||||
<h1 class="mainTitle" translate="sidebar.nav.student.status.APPLICATION">{{ mainTitle }}</h1>
|
||||
<span class="mainDescription">Update application status.</span>
|
||||
<span class="mainDescription">Update certificate status.</span>
|
||||
</div>
|
||||
<div ncy-breadcrumb></div>
|
||||
</div>
|
||||
|
||||
@ -127,9 +127,9 @@
|
||||
</thead>
|
||||
<tbody dir-paginate="user in studentInfo|orderBy:sortKey:reverse|filter:search:strict|itemsPerPage:10">
|
||||
<tr>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(user);">{{user.Firstname}}</a></td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="openStudentView(user);">{{user.Firstname}}</a></td>
|
||||
<td>{{user.Lastname}}</td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="open(user);">{{user.MobileNumber}}</a></td>
|
||||
<td><a tooltip="View Student" class="text-dark" ng-click="openStudentView(user);">{{user.MobileNumber}}</a></td>
|
||||
<td>{{user.UniversityName}}</td>
|
||||
<td>{{user.CourseName}}</td>
|
||||
<!-- <td>{{user.SessionName}}</td>-->
|
||||
|
||||
@ -388,6 +388,7 @@
|
||||
<!-- <th>Waiver</th>-->
|
||||
<th>Payable Fees</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
@ -411,7 +412,9 @@
|
||||
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a ng-if="feesStructureInfo[0].ProgramType=='Y001'" class="text-red" tooltip="Generate Re-registration PDF" ng-click="reregisterPDF(p);"><b class="fa fa-hover fa fa-file-pdf-o " aria-hidden="true"></b>
|
||||
</a></td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
<select class="form-control" name="feesType" tabindex="7" id="feesType"
|
||||
ng-model="updateModel.feesType"
|
||||
ng-options="fees.Sem_Year for fees in studentFeesInfo"
|
||||
required ng-change="changeTotalFees(updateModel.feesType);">
|
||||
required ng-change="changeTotalFees(updateModel.feesType,Form);">
|
||||
<!-- <option value=""> Select Sem/Year</option>-->
|
||||
</select>
|
||||
<span class="error text-small block"
|
||||
@ -225,7 +225,7 @@
|
||||
<select class="form-control" name="feesTypeBill" tabindex="17" id="feesTypeBill"
|
||||
ng-model="updateModel.feesType"
|
||||
ng-options="fees.Sem_Year for fees in studentFeesInfo"
|
||||
required ng-change="changeTotalFees(updateModel.feesType);">
|
||||
required ng-change="changeTotalFees(updateModel.feesType,Form);">
|
||||
<!-- <option value=""> Select Sem/Year</option>-->
|
||||
</select>
|
||||
<span class="error text-small block"
|
||||
@ -283,7 +283,7 @@
|
||||
<input type="text" placeholder="Enter Fees Amount"
|
||||
autofocus tabindex="19" class="form-control" name="billAmount" id="billAmount" ng-maxlength="9"
|
||||
ng-model="updateModel.billAmount" ng-pattern="/^[0-9]*$/" required/>
|
||||
<span style="font-size: 11px;color:red;">Total Payable:</span><span style="font-size: 11px;">Rs.{{updateModel.feesType.BalanceAmount}}</span>
|
||||
<b><span style="font-size: 11px;color:red;">Total Payable:</span><span style="font-size: 11px;color: black;">Rs.{{payableAmtInfo}}</span></b>
|
||||
<span class="error text-small block"
|
||||
ng-if="Form.billAmount.$dirty && Form.billAmount.$invalid"
|
||||
ng-hide="Form.billAmount.$error.maxlength || Form.billAmount.$error.pattern">Bill amount is required</span>
|
||||
@ -551,11 +551,9 @@
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -256,7 +256,7 @@
|
||||
</style>
|
||||
|
||||
|
||||
<tab heading="Add Student" id="addstudent" ng-click="addStudentView()">
|
||||
<tab heading="New/Re-Reg Forms" id="addstudent" ng-click="addStudentView()">
|
||||
<div ng-hide="inActiveBranchStatus == true">
|
||||
<div ng-if="existingStudentView == false">
|
||||
<form name="Form" id="form" novalidate ng-submit="studentFORM.submit(Form, myModel)" method="post">
|
||||
|
||||
@ -292,7 +292,7 @@
|
||||
</style>
|
||||
|
||||
|
||||
<tab tabindex="6" active="tabactive2" ng-click="tabActive('tabactive1');addStudentView()" heading="Add Student" id="addstudent">
|
||||
<tab tabindex="6" active="tabactive2" ng-click="tabActive('tabactive1');addStudentView()" heading="New/Re-Reg Forms" id="addstudent">
|
||||
<!--<button ng-click="tabActive('0')" value="Tab1">Tab1</button>-->
|
||||
<div ng-if="existingStudentView == false">
|
||||
<!--<button ng-click="myActivateDiv()">Click Me</button>-->
|
||||
|
||||
@ -76,6 +76,10 @@
|
||||
<script src="assets/js/main.js"></script>
|
||||
<script src="assets/js/config.constant.js"></script>
|
||||
<script src="assets/js/config.router.js"></script>
|
||||
|
||||
<!--Export table data Internal jquery plugin-->
|
||||
<script type="text/javascript" src="assets/js/tableExport/tableExport.js"></script>
|
||||
<script type="text/javascript" src="assets/js/tableExport/jquery.base64.js"></script>
|
||||
|
||||
|
||||
<!-- Clip-Two Directives -->
|
||||
@ -96,6 +100,7 @@
|
||||
<script src="assets/js/directives/touchspin.js"></script>
|
||||
<script src="assets/js/directives/file-upload.js"></script>
|
||||
<script src="assets/js/directives/convert-words.js"></script>
|
||||
<script src="assets/js/directives/table-export.js"></script>
|
||||
<!-- Clip-Two Controllers -->
|
||||
<script src="assets/js/controllers/mainCtrl.js"></script>
|
||||
<script src="assets/js/controllers/bootstrapCtrl.js"></script>
|
||||
@ -120,6 +125,7 @@
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/alasql/0.4.2/alasql.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.9.2/xlsx.core.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/2.3.3/jspdf.plugin.autotable.js"></script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user