Commit e079c6e8 authored by Sai Srinivas's avatar Sai Srinivas
Browse files

24-07-2025 By Sai Srinivas

Account Details and Appointment Calendar.
parent b38d986d
<svg width="24" height="23" viewBox="0 0 24 23" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg width="24" height="23" viewBox="0 0 24 23" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="12.001" cy="11.5" r="9.38963" fill="white"/> <circle cx="12.001" cy="11.5" r="9.38963" fill="white" />
<path d="M12 0.958008C9.82441 0.958008 7.69767 1.57627 5.88873 2.7346C4.07979 3.89293 2.66989 5.53932 1.83733 7.46555C1.00477 9.39179 0.786929 11.5114 1.21137 13.5563C1.6358 15.6011 2.68345 17.4795 4.22183 18.9538C5.76021 20.428 7.72022 21.432 9.85401 21.8388C11.9878 22.2455 14.1995 22.0368 16.2095 21.2389C18.2195 20.441 19.9375 19.0899 21.1462 17.3563C22.3549 15.6227 23 13.5846 23 11.4997C23 8.70385 21.8411 6.02254 19.7782 4.04559C17.7153 2.06864 14.9174 0.958008 12 0.958008ZM14.71 15.6109C14.8037 15.7 14.8781 15.806 14.9289 15.9228C14.9797 16.0396 15.0058 16.1648 15.0058 16.2913C15.0058 16.4179 14.9797 16.5431 14.9289 16.6599C14.8781 16.7767 14.8037 16.8827 14.71 16.9718C14.617 17.0616 14.5064 17.1329 14.3846 17.1815C14.2627 17.2302 14.132 17.2552 14 17.2552C13.868 17.2552 13.7373 17.2302 13.6154 17.1815C13.4936 17.1329 13.383 17.0616 13.29 16.9718L8.29 12.1801C8.19628 12.091 8.12188 11.985 8.07111 11.8682C8.02034 11.7514 7.99421 11.6262 7.99421 11.4997C7.99421 11.3732 8.02034 11.2479 8.07111 11.1311C8.12188 11.0143 8.19628 10.9083 8.29 10.8193L13.29 6.02759C13.3832 5.93824 13.4939 5.86736 13.6158 5.819C13.7376 5.77064 13.8681 5.74575 14 5.74575C14.1319 5.74575 14.2624 5.77064 14.3843 5.819C14.5061 5.86736 14.6168 5.93824 14.71 6.02759C14.8032 6.11694 14.8772 6.22302 14.9277 6.33977C14.9781 6.45651 15.0041 6.58164 15.0041 6.70801C15.0041 6.83437 14.9781 6.9595 14.9277 7.07625C14.8772 7.19299 14.8032 7.29907 14.71 7.38842L10.41 11.4997L14.71 15.6109Z" fill="#1487C9"/> <path
d="M12 0.958008C9.82441 0.958008 7.69767 1.57627 5.88873 2.7346C4.07979 3.89293 2.66989 5.53932 1.83733 7.46555C1.00477 9.39179 0.786929 11.5114 1.21137 13.5563C1.6358 15.6011 2.68345 17.4795 4.22183 18.9538C5.76021 20.428 7.72022 21.432 9.85401 21.8388C11.9878 22.2455 14.1995 22.0368 16.2095 21.2389C18.2195 20.441 19.9375 19.0899 21.1462 17.3563C22.3549 15.6227 23 13.5846 23 11.4997C23 8.70385 21.8411 6.02254 19.7782 4.04559C17.7153 2.06864 14.9174 0.958008 12 0.958008ZM14.71 15.6109C14.8037 15.7 14.8781 15.806 14.9289 15.9228C14.9797 16.0396 15.0058 16.1648 15.0058 16.2913C15.0058 16.4179 14.9797 16.5431 14.9289 16.6599C14.8781 16.7767 14.8037 16.8827 14.71 16.9718C14.617 17.0616 14.5064 17.1329 14.3846 17.1815C14.2627 17.2302 14.132 17.2552 14 17.2552C13.868 17.2552 13.7373 17.2302 13.6154 17.1815C13.4936 17.1329 13.383 17.0616 13.29 16.9718L8.29 12.1801C8.19628 12.091 8.12188 11.985 8.07111 11.8682C8.02034 11.7514 7.99421 11.6262 7.99421 11.4997C7.99421 11.3732 8.02034 11.2479 8.07111 11.1311C8.12188 11.0143 8.19628 10.9083 8.29 10.8193L13.29 6.02759C13.3832 5.93824 13.4939 5.86736 13.6158 5.819C13.7376 5.77064 13.8681 5.74575 14 5.74575C14.1319 5.74575 14.2624 5.77064 14.3843 5.819C14.5061 5.86736 14.6168 5.93824 14.71 6.02759C14.8032 6.11694 14.8772 6.22302 14.9277 6.33977C14.9781 6.45651 15.0041 6.58164 15.0041 6.70801C15.0041 6.83437 14.9781 6.9595 14.9277 7.07625C14.8772 7.19299 14.8032 7.29907 14.71 7.38842L10.41 11.4997L14.71 15.6109Z"
fill="#1487C9" />
</svg> </svg>
<svg width="28" height="27" viewBox="0 0 28 27" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="14.002" cy="13.4234" r="10.957" transform="rotate(-180 14.002 13.4234)" fill="#1487C9"/>
<path d="M14.0022 1.12158C11.4634 1.12158 8.98168 1.84304 6.87079 3.19473C4.75989 4.54641 3.11465 6.46761 2.14311 8.71538C1.17158 10.9632 0.917377 13.4365 1.41266 15.8228C1.90795 18.209 3.13047 20.4009 4.92564 22.1212C6.72081 23.8416 9.00799 25.0132 11.498 25.4878C13.9879 25.9625 16.5688 25.7189 18.9143 24.7878C21.2598 23.8568 23.2646 22.2801 24.675 20.2571C26.0855 18.2342 26.8383 15.8559 26.8383 13.4229C26.8383 10.1604 25.4859 7.0315 23.0787 4.72456C20.6715 2.41761 17.4065 1.12158 14.0022 1.12158ZM17.1645 18.2204C17.2739 18.3244 17.3607 18.448 17.42 18.5843C17.4792 18.7206 17.5097 18.8668 17.5097 19.0144C17.5097 19.162 17.4792 19.3082 17.42 19.4445C17.3607 19.5807 17.2739 19.7044 17.1645 19.8084C17.056 19.9132 16.927 19.9964 16.7848 20.0532C16.6426 20.1099 16.4901 20.1392 16.336 20.1392C16.182 20.1392 16.0294 20.1099 15.8872 20.0532C15.745 19.9964 15.616 19.9132 15.5075 19.8084L9.67288 14.2169C9.56351 14.1129 9.4767 13.9892 9.41746 13.853C9.35821 13.7167 9.32771 13.5705 9.32771 13.4229C9.32771 13.2753 9.35821 13.1291 9.41746 12.9928C9.4767 12.8565 9.56351 12.7329 9.67288 12.6289L15.5075 7.03739C15.6163 6.93313 15.7455 6.85042 15.8876 6.79399C16.0298 6.73756 16.1821 6.70851 16.336 6.70851C16.4899 6.70851 16.6422 6.73756 16.7844 6.79399C16.9266 6.85042 17.0557 6.93313 17.1645 7.03739C17.2733 7.14166 17.3596 7.26545 17.4185 7.40168C17.4774 7.53792 17.5077 7.68393 17.5077 7.83139C17.5077 7.97885 17.4774 8.12486 17.4185 8.26109C17.3596 8.39733 17.2733 8.52111 17.1645 8.62538L12.1468 13.4229L17.1645 18.2204Z" fill="#E6F6FF"/>
</svg>
<svg width="26" height="25" viewBox="0 0 26 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="12.001" cy="11.5" r="9.38963" fill="#1487C9" />
<path
d="M12 0.958008C9.82441 0.958008 7.69767 1.57627 5.88873 2.7346C4.07979 3.89293 2.66989 5.53932 1.83733 7.46555C1.00477 9.39179 0.786929 11.5114 1.21137 13.5563C1.6358 15.6011 2.68345 17.4795 4.22183 18.9538C5.76021 20.428 7.72022 21.432 9.85401 21.8388C11.9878 22.2455 14.1995 22.0368 16.2095 21.2389C18.2195 20.441 19.9375 19.0899 21.1462 17.3563C22.3549 15.6227 23 13.5846 23 11.4997C23 8.70385 21.8411 6.02254 19.7782 4.04559C17.7153 2.06864 14.9174 0.958008 12 0.958008ZM14.71 15.6109C14.8037 15.7 14.8781 15.806 14.9289 15.9228C14.9797 16.0396 15.0058 16.1648 15.0058 16.2913C15.0058 16.4179 14.9797 16.5431 14.9289 16.6599C14.8781 16.7767 14.8037 16.8827 14.71 16.9718C14.617 17.0616 14.5064 17.1329 14.3846 17.1815C14.2627 17.2302 14.132 17.2552 14 17.2552C13.868 17.2552 13.7373 17.2302 13.6154 17.1815C13.4936 17.1329 13.383 17.0616 13.29 16.9718L8.29 12.1801C8.19628 12.091 8.12188 11.985 8.07111 11.8682C8.02034 11.7514 7.99421 11.6262 7.99421 11.4997C7.99421 11.3732 8.02034 11.2479 8.07111 11.1311C8.12188 11.0143 8.19628 10.9083 8.29 10.8193L13.29 6.02759C13.3832 5.93824 13.4939 5.86736 13.6158 5.819C13.7376 5.77064 13.8681 5.74575 14 5.74575C14.1319 5.74575 14.2624 5.77064 14.3843 5.819C14.5061 5.86736 14.6168 5.93824 14.71 6.02759C14.8032 6.11694 14.8772 6.22302 14.9277 6.33977C14.9781 6.45651 15.0041 6.58164 15.0041 6.70801C15.0041 6.83437 14.9781 6.9595 14.9277 7.07625C14.8772 7.19299 14.8032 7.29907 14.71 7.38842L10.41 11.4997L14.71 15.6109Z"
fill="#E6F6FF" />
</svg>
<svg width="28" height="27" viewBox="0 0 28 27" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="14.0077" cy="13.4164" r="10.957" fill="#1487C9"/>
<path d="M14.0076 25.7183C16.5463 25.7183 19.0281 24.9968 21.139 23.6451C23.2499 22.2934 24.8951 20.3722 25.8667 18.1245C26.8382 15.8767 27.0924 13.4033 26.5971 11.0171C26.1018 8.63087 24.8793 6.43898 23.0841 4.71862C21.289 2.99825 19.0018 1.82666 16.5118 1.35202C14.0218 0.877366 11.4409 1.12097 9.09542 2.05203C6.74992 2.98309 4.74518 4.55977 3.33473 6.58271C1.92428 8.60565 1.17145 10.984 1.17145 13.417C1.17145 16.6795 2.52382 19.8083 4.93107 22.1153C7.33831 24.4222 10.6032 25.7183 14.0076 25.7183ZM10.8452 8.61944C10.7359 8.51548 10.6491 8.3918 10.5898 8.25552C10.5306 8.11925 10.5001 7.97308 10.5001 7.82545C10.5001 7.67782 10.5306 7.53165 10.5898 7.39538C10.6491 7.2591 10.7359 7.13542 10.8452 7.03146C10.9537 6.92664 11.0828 6.84344 11.225 6.78667C11.3672 6.7299 11.5197 6.70067 11.6738 6.70067C11.8278 6.70067 11.9803 6.7299 12.1225 6.78667C12.2647 6.84345 12.3938 6.92664 12.5023 7.03146L18.3369 12.623C18.4463 12.7269 18.5331 12.8506 18.5923 12.9869C18.6516 13.1232 18.6821 13.2693 18.6821 13.417C18.6821 13.5646 18.6516 13.7108 18.5923 13.847C18.5331 13.9833 18.4463 14.107 18.3369 14.2109L12.5023 19.8025C12.3935 19.9067 12.2643 19.9894 12.1221 20.0459C11.98 20.1023 11.8276 20.1313 11.6738 20.1313C11.5199 20.1313 11.3675 20.1023 11.2254 20.0459C11.0832 19.9894 10.954 19.9067 10.8452 19.8025C10.7364 19.6982 10.6501 19.5744 10.5912 19.4382C10.5324 19.3019 10.5021 19.1559 10.5021 19.0085C10.5021 18.861 10.5324 18.715 10.5912 18.5788C10.6501 18.4425 10.7364 18.3187 10.8452 18.2145L15.863 13.417L10.8452 8.61944Z" fill="#E6F6FF"/>
</svg>
<svg width="26" height="25" viewBox="0 0 26 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="12.001" cy="11.5" r="9.38963" fill="#1487C9" />
<path
d="M12.8357 24.6025C15.3745 24.6025 17.8562 23.8811 19.9671 22.5294C22.078 21.1777 23.7232 19.2565 24.6948 17.0087C25.6663 14.761 25.9205 12.2876 25.4252 9.90137C24.9299 7.51515 23.7074 5.32326 21.9122 3.60289C20.1171 1.88252 17.8299 0.710941 15.3399 0.236293C12.85 -0.238356 10.269 0.00525121 7.92354 0.936308C5.57804 1.86736 3.57331 3.44405 2.16285 5.46699C0.7524 7.48993 -0.000426913 9.86826 -0.000427126 12.3012C-0.000427411 15.5637 1.35195 18.6926 3.75919 20.9996C6.16644 23.3065 9.43136 24.6025 12.8357 24.6025ZM9.67336 7.50372C9.56399 7.39976 9.47718 7.27608 9.41793 7.1398C9.35869 7.00353 9.32819 6.85736 9.32819 6.70973C9.32819 6.5621 9.35869 6.41593 9.41793 6.27966C9.47718 6.14338 9.56399 6.0197 9.67336 5.91574C9.78184 5.81092 9.91091 5.72772 10.0531 5.67095C10.1953 5.61417 10.3478 5.58494 10.5019 5.58494C10.6559 5.58494 10.8084 5.61417 10.9506 5.67095C11.0928 5.72772 11.2219 5.81092 11.3304 5.91574L17.165 11.5072C17.2744 11.6112 17.3612 11.7349 17.4204 11.8712C17.4797 12.0074 17.5102 12.1536 17.5102 12.3012C17.5102 12.4489 17.4797 12.595 17.4204 12.7313C17.3612 12.8676 17.2744 12.9913 17.165 13.0952L11.3304 18.6867C11.2216 18.791 11.0924 18.8737 10.9503 18.9301C10.8081 18.9866 10.6557 19.0156 10.5019 19.0156C10.348 19.0156 10.1956 18.9866 10.0535 18.9301C9.91133 18.8737 9.78216 18.791 9.67336 18.6867C9.56456 18.5825 9.47825 18.4587 9.41937 18.3224C9.36049 18.1862 9.33018 18.0402 9.33018 17.8927C9.33018 17.7453 9.36049 17.5993 9.41937 17.463C9.47825 17.3268 9.56456 17.203 9.67336 17.0987L14.6911 12.3012L9.67336 7.50372Z"
fill="#E6F6FF" />
</svg>
<svg width="37" height="37" viewBox="0 0 37 37" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="18.208" cy="18.208" r="18.208" fill="#E6F6FF"/>
<g clip-path="url(#clip0_300_4649)">
<path d="M27.2693 18.5234C27.2693 23.6837 23.086 27.8669 17.9257 27.8669C12.7653 27.8669 8.58203 23.6837 8.58203 18.5234C8.58203 13.3629 12.7653 9.17969 17.9257 9.17969C23.086 9.17969 27.2693 13.3629 27.2693 18.5234Z" fill="#FFC107"/>
<path d="M19.8375 22.769C19.7136 22.769 19.5894 22.7334 19.4792 22.6586L14.8072 19.4732C14.5771 19.3153 14.4752 19.0265 14.5576 18.7588C14.6399 18.4913 14.8872 18.3095 15.1665 18.3095H17.0777C17.8975 18.3095 18.5643 17.6427 18.5643 16.8231C18.5643 16.0034 17.8975 15.3366 17.0777 15.3366H15.1665C14.8149 15.3366 14.5295 15.0512 14.5295 14.6996C14.5295 14.3479 14.8149 14.0625 15.1665 14.0625H17.0777C18.5999 14.0625 19.8385 15.3009 19.8385 16.8231C19.8385 18.295 18.6797 19.5021 17.2264 19.5802L20.1977 21.6062C20.4883 21.804 20.5629 22.2008 20.3651 22.4912C20.2419 22.6713 20.0414 22.769 19.8375 22.769Z" fill="#FAFAFA"/>
<path d="M20.6877 15.3366H15.1664C14.8147 15.3366 14.5293 15.0512 14.5293 14.6996C14.5293 14.3479 14.8147 14.0625 15.1664 14.0625H20.6877C21.0393 14.0625 21.3247 14.3479 21.3247 14.6996C21.3247 15.0512 21.0393 15.3366 20.6877 15.3366Z" fill="#FAFAFA"/>
<path d="M20.6877 17.6726H15.1664C14.8147 17.6726 14.5293 17.3872 14.5293 17.0355C14.5293 16.6838 14.8147 16.3984 15.1664 16.3984H20.6877C21.0393 16.3984 21.3247 16.6838 21.3247 17.0355C21.3247 17.3872 21.0393 17.6726 20.6877 17.6726Z" fill="#FAFAFA"/>
</g>
<defs>
<clipPath id="clip0_300_4649">
<rect width="18.6873" height="18.6873" fill="white" transform="translate(8.58203 9.17969)"/>
</clipPath>
</defs>
</svg>
class appointmentCalendarResponse {
List<Appointments>? appointments;
String? error;
String? message;
int? sessionExists;
appointmentCalendarResponse({
this.appointments,
this.error,
this.message,
this.sessionExists,
});
appointmentCalendarResponse.fromJson(Map<String, dynamic> json) {
if (json['appointments'] != null) {
appointments = <Appointments>[];
json['appointments'].forEach((v) {
appointments!.add(new Appointments.fromJson(v));
});
}
error = json['error'];
message = json['message'];
sessionExists = json['session_exists'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.appointments != null) {
data['appointments'] = this.appointments!.map((v) => v.toJson()).toList();
}
data['error'] = this.error;
data['message'] = this.message;
data['session_exists'] = this.sessionExists;
return data;
}
}
class Appointments {
String? empId;
String? id;
String? leadId;
String? appDate;
String? name;
String? product;
String? mob1;
Appointments({
this.empId,
this.id,
this.leadId,
this.appDate,
this.name,
this.product,
this.mob1,
});
Appointments.fromJson(Map<String, dynamic> json) {
empId = json['emp_id'];
id = json['id'];
leadId = json['lead_id'];
appDate = json['app_date'];
name = json['name'];
product = json['product'];
mob1 = json['mob1'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['emp_id'] = this.empId;
data['id'] = this.id;
data['lead_id'] = this.leadId;
data['app_date'] = this.appDate;
data['name'] = this.name;
data['product'] = this.product;
data['mob1'] = this.mob1;
return data;
}
}
class crmProspectDetailsAddLeadsResponse { class crmProspectDetailsAddLeadsResponse {
List<Employees>? employees; List<LeadEmployees>? employees;
List<Products>? products; List<Products>? products;
List<String>? status; List<String>? status;
String? error; String? error;
...@@ -10,9 +10,9 @@ class crmProspectDetailsAddLeadsResponse { ...@@ -10,9 +10,9 @@ class crmProspectDetailsAddLeadsResponse {
crmProspectDetailsAddLeadsResponse.fromJson(Map<String, dynamic> json) { crmProspectDetailsAddLeadsResponse.fromJson(Map<String, dynamic> json) {
if (json['employees'] != null) { if (json['employees'] != null) {
employees = <Employees>[]; employees = <LeadEmployees>[];
json['employees'].forEach((v) { json['employees'].forEach((v) {
employees!.add(new Employees.fromJson(v)); employees!.add(new LeadEmployees.fromJson(v));
}); });
} }
if (json['products'] != null) { if (json['products'] != null) {
...@@ -41,13 +41,13 @@ class crmProspectDetailsAddLeadsResponse { ...@@ -41,13 +41,13 @@ class crmProspectDetailsAddLeadsResponse {
} }
} }
class Employees { class LeadEmployees {
String? id; String? id;
String? name; String? name;
Employees({this.id, this.name}); LeadEmployees({this.id, this.name});
Employees.fromJson(Map<String, dynamic> json) { LeadEmployees.fromJson(Map<String, dynamic> json) {
id = json['id']; id = json['id'];
name = json['name']; name = json['name'];
} }
......
...@@ -11,14 +11,18 @@ class Addprospectleadsprovider extends ChangeNotifier { ...@@ -11,14 +11,18 @@ class Addprospectleadsprovider extends ChangeNotifier {
TextEditingController searchController = TextEditingController(); TextEditingController searchController = TextEditingController();
List<Products> _leadProductsList = []; List<Products> _leadProductsList = [];
List<Employees> _employeeList = []; List<LeadEmployees> _employeeList = [];
List<String> _statusList = []; List<String> _statusList = [];
Employees? _selectedEmployees; LeadEmployees? _selectedEmployees;
String? _selectedStatus; String? _selectedStatus;
String? _selectedEmployeeId; String? _selectedEmployeeId;
String? _selectedEmployeeValue; String? _selectedEmployeeValue;
Products? _selectedProducts; Products? _selectedProducts;
TextEditingController addLeadProductPriceController = TextEditingController();
TextEditingController addLeadProductQtyController = TextEditingController();
TextEditingController addLeadProductTotalPriceController = TextEditingController();
List<TextEditingController> editProductPriceControllers = []; List<TextEditingController> editProductPriceControllers = [];
List<TextEditingController> editQuantityControllers = []; List<TextEditingController> editQuantityControllers = [];
List<TextEditingController> editTotalAmountControllers = []; List<TextEditingController> editTotalAmountControllers = [];
...@@ -31,15 +35,15 @@ class Addprospectleadsprovider extends ChangeNotifier { ...@@ -31,15 +35,15 @@ class Addprospectleadsprovider extends ChangeNotifier {
List<String?> get selectedProductIds => _selectedProductIds; List<String?> get selectedProductIds => _selectedProductIds;
List<String?> get selectedValues => _selectedValues; List<String?> get selectedValues => _selectedValues;
bool get submitLoading => _submitLoading; bool get submitLoading => _submitLoading;
List<Employees> get employeeList => _employeeList; List<LeadEmployees> get employeeList => _employeeList;
List<String> get statusList => _statusList; List<String> get statusList => _statusList;
Employees? get selectedEmployee => _selectedEmployees; LeadEmployees? get selectedEmployee => _selectedEmployees;
String? get selectedStatus => _selectedStatus; String? get selectedStatus => _selectedStatus;
String? get selectedEmployeeId => _selectedEmployeeId; String? get selectedEmployeeId => _selectedEmployeeId;
String? get selectedEmployeeValue => _selectedEmployeeValue; String? get selectedEmployeeValue => _selectedEmployeeValue;
set selectedEmployee(Employees? value){ set selectedEmployee(LeadEmployees? value){
_selectedEmployees = value; _selectedEmployees = value;
_selectedEmployeeId = value!.id!; _selectedEmployeeId = value!.id!;
_selectedEmployeeValue = value!.name!; _selectedEmployeeValue = value!.name!;
...@@ -171,10 +175,20 @@ class Addprospectleadsprovider extends ChangeNotifier { ...@@ -171,10 +175,20 @@ class Addprospectleadsprovider extends ChangeNotifier {
final insertedData = getFormData(); final insertedData = getFormData();
print("Form Data: $insertedData"); print("Form Data: $insertedData");
// crmProspectDetailsAddLeadsSubmitAPIFunction(context,mode,accId,empID,insertedData,status); crmProspectDetailsAddLeadsSubmitAPIFunction(context,mode,accId,empID,insertedData,status);
submitLoading = false; submitLoading = false;
} }
onChnageProductPrice(value){
notifyListeners();
}
onChnageProductQty(value){
notifyListeners();
}
onChnageProductTotalPrice(value){
notifyListeners();
}
void resetForm() { void resetForm() {
searchController.clear(); searchController.clear();
editProductPriceControllers.clear(); editProductPriceControllers.clear();
......
import 'package:flutter/material.dart';
import 'package:generp/Models/crmModels/appointmentCalendarResponse.dart';
import 'package:generp/Utils/commonServices.dart';
import 'package:provider/provider.dart';
import '../../services/api_calling.dart';
import '../HomeScreenNotifier.dart';
class Appointmentcalendarprovider extends ChangeNotifier{
bool _isLoading = false;
List<Appointments> _appointmentsList = [];
DateTime? _selectedDate;
String? _selectedFollowUpType;
bool get isLoading => _isLoading;
String? get selectedFollowUpType => _selectedFollowUpType;
List<Appointments> get appointmentList => _appointmentsList;
DateTime? get selectedDate => _selectedDate;
set selectedFollowUpType(String? value){
_selectedFollowUpType = value;
notifyListeners();
}
set isLoading(bool value){
_isLoading = value;
notifyListeners();
}
void setSelectedDate(DateTime date) {
_selectedDate = date;
notifyListeners();
}
Future<void> crmAppointmentCalendarAPIFunction(context, date,type) async {
try {
var HomeProv = Provider.of<HomescreenNotifier>(context, listen: false);
final data = await ApiCalling.crmAppointmentCalendarAPI(
HomeProv.empId,
HomeProv.session,
date,
type
);
_isLoading = true;
notifyListeners();
if (data != null) {
if (data.error == "0") {
_isLoading = false;
_appointmentsList = data.appointments!;
notifyListeners();
}else{
toast(context, data.message);
_isLoading = false;
notifyListeners();
}
}else{
_isLoading = false;
notifyListeners();
}
} catch (e, s) {
_isLoading = false;
notifyListeners();
}
}
}
...@@ -21,6 +21,8 @@ class crmProspectDetailsProvider extends ChangeNotifier { ...@@ -21,6 +21,8 @@ class crmProspectDetailsProvider extends ChangeNotifier {
bool _isLoading = false; bool _isLoading = false;
bool _showMoreDetails = false;
TextEditingController nameController = TextEditingController(); TextEditingController nameController = TextEditingController();
TextEditingController designationController = TextEditingController(); TextEditingController designationController = TextEditingController();
TextEditingController mobileNumberController = TextEditingController(); TextEditingController mobileNumberController = TextEditingController();
...@@ -57,7 +59,7 @@ class crmProspectDetailsProvider extends ChangeNotifier { ...@@ -57,7 +59,7 @@ class crmProspectDetailsProvider extends ChangeNotifier {
List<String> _subHeadings = []; List<String> _subHeadings = [];
DateTime? _date; DateTime? _date;
String? _formattedDate; String? _formattedDate;
bool get showMoreDetails => _showMoreDetails;
get showTransferAccount => _transferAccount; get showTransferAccount => _transferAccount;
List<Leads> get leadList => _leadsList; List<Leads> get leadList => _leadsList;
...@@ -92,6 +94,10 @@ class crmProspectDetailsProvider extends ChangeNotifier { ...@@ -92,6 +94,10 @@ class crmProspectDetailsProvider extends ChangeNotifier {
String? get formattedDate => _formattedDate; String? get formattedDate => _formattedDate;
set showMoreDetails(bool value){
_showMoreDetails = value;
notifyListeners();
}
set nameError(String? value){ set nameError(String? value){
_nameError = value; _nameError = value;
...@@ -193,13 +199,16 @@ class crmProspectDetailsProvider extends ChangeNotifier { ...@@ -193,13 +199,16 @@ class crmProspectDetailsProvider extends ChangeNotifier {
_paymentsList = data.payments!; _paymentsList = data.payments!;
_headings = [ _headings = [
"Company Name", "Company Name",
"Address",
"Account Manager Name", "Account Manager Name",
"Account Created By", "Account Created By",
"Address",
"State", "State",
"District", "District",
"Sub Locality", "Sub Locality",
"Pincode", "Pin-code",
"Source", "Source",
"Reference", "Reference",
"Team", "Team",
...@@ -209,13 +218,16 @@ class crmProspectDetailsProvider extends ChangeNotifier { ...@@ -209,13 +218,16 @@ class crmProspectDetailsProvider extends ChangeNotifier {
_transferAccount = data.showTransfeLeadButton; _transferAccount = data.showTransfeLeadButton;
_subHeadings = [ _subHeadings = [
data.accountDetails!.name??"-", data.accountDetails!.name??"-",
data.accountDetails!.address??"-",
data.accountDetails!.accManager??"-", data.accountDetails!.accManager??"-",
data.accountDetails!.owner??"-", data.accountDetails!.owner??"-",
data.accountDetails!.address??"-",
data.accountDetails!.state??"-", data.accountDetails!.state??"-",
data.accountDetails!.district??"-", data.accountDetails!.district??"-",
data.accountDetails!.subLocality??"-", data.accountDetails!.subLocality??"-",
data.accountDetails!.pincode??"-", data.accountDetails!.pincode??"-",
data.accountDetails!.source??"-", data.accountDetails!.source??"-",
data.accountDetails!.reference??"-", data.accountDetails!.reference??"-",
data.accountDetails!.team??"-", data.accountDetails!.team??"-",
...@@ -415,6 +427,7 @@ class crmProspectDetailsProvider extends ChangeNotifier { ...@@ -415,6 +427,7 @@ class crmProspectDetailsProvider extends ChangeNotifier {
} }
void resetAll(){ void resetAll(){
_showMoreDetails = false;
nameController.clear(); nameController.clear();
designationController.clear(); designationController.clear();
mobileNumberController.clear(); mobileNumberController.clear();
......
...@@ -221,6 +221,7 @@ class MyApp extends StatelessWidget { ...@@ -221,6 +221,7 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider(create: (_) => Editorderprovider()), ChangeNotifierProvider(create: (_) => Editorderprovider()),
ChangeNotifierProvider(create: (_) => Dispatchorderprovider()), ChangeNotifierProvider(create: (_) => Dispatchorderprovider()),
ChangeNotifierProvider(create: (_) => followUpUpdateProvider()), ChangeNotifierProvider(create: (_) => followUpUpdateProvider()),
ChangeNotifierProvider(create: (_) => Appointmentcalendarprovider()),
], ],
child: Builder( child: Builder(
builder: (BuildContext context) { builder: (BuildContext context) {
......
...@@ -102,32 +102,33 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> { ...@@ -102,32 +102,33 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> {
return Consumer2<crmLeadDetailsProvider, Editproductlistprovider>( return Consumer2<crmLeadDetailsProvider, Editproductlistprovider>(
builder: (context, provider, editProvider, child) { builder: (context, provider, editProvider, child) {
var leadDetails = provider.leadDetails; var leadDetails = provider.leadDetails;
var accDetails = provider.accountDetails;
var headings1 = ["Account Manager Name", "Account Created By"]; var headings1 = ["Account Manager Name", "Account Created By"];
var subHeadings1 = [ var subHeadings1 = [
provider.accountDetails!.accManager ?? "-", accDetails.accManager ?? "-",
provider.accountDetails!.owner ?? "-", accDetails.owner ?? "-",
]; ];
var headings2 = ["Address", "State", "District", "Sub Locality"]; var headings2 = ["Address", "State", "District", "Sub Locality"];
var subHeadings2 = [ var subHeadings2 = [
provider.leadDetails!.address ?? "-", leadDetails.address ?? "-",
provider.accountDetails!.state ?? "-", accDetails.state ?? "-",
provider.accountDetails!.district ?? "-", accDetails.district ?? "-",
provider.accountDetails!.subLocality ?? "-", accDetails.subLocality ?? "-",
]; ];
var headings3 = ["Source", "Reference", "Team", "Segment"]; var headings3 = ["Source", "Reference", "Team", "Segment"];
var subHeadings3 = [ var subHeadings3 = [
provider.accountDetails!.source ?? "-", accDetails.source ?? "-",
provider.accountDetails!.reference ?? "-", accDetails.reference ?? "-",
provider.accountDetails!.team ?? "-", accDetails.team ?? "-",
provider.accountDetails!.segment ?? "-", accDetails.segment ?? "-",
]; ];
var headings4 = ["Lead Status", "Last Followup Date", "Lead Age"]; var headings4 = ["Lead Status", "Last Followup Date", "Lead Age"];
var subHeadings4 = [ var subHeadings4 = [
provider.leadDetails!.status ?? "-", leadDetails.status ?? "-",
provider.leadDetails!.date ?? "-", leadDetails.date ?? "-",
"${provider.leadDetails!.lage ?? "-"} days", "${leadDetails.lage ?? "-"} days",
]; ];
// var totalHeadings = []; // var totalHeadings = [];
// var totalSubHeadings = []; // var totalSubHeadings = [];
...@@ -195,16 +196,16 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> { ...@@ -195,16 +196,16 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> {
), ),
), ),
), ),
Spacer(), // Spacer(),
InkResponse( // InkResponse(
onTap: () { // onTap: () {
_showOptionsSheet(context); // _showOptionsSheet(context);
}, // },
child: SvgPicture.asset( // child: SvgPicture.asset(
"assets/svg/ic_more.svg", // "assets/svg/ic_more.svg",
height: 30, // height: 30,
), // ),
), // ),
], ],
), ),
), ),
...@@ -2453,6 +2454,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> { ...@@ -2453,6 +2454,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> {
return SafeArea( return SafeArea(
child: Consumer2<crmLeadDetailsProvider, Editproductlistprovider>( child: Consumer2<crmLeadDetailsProvider, Editproductlistprovider>(
builder: (context, provider, editProvider, child) { builder: (context, provider, editProvider, child) {
void updatedAmountfun(value){
final price = final price =
double.tryParse( double.tryParse(
editProvider.addEditProductPriceController.text, editProvider.addEditProductPriceController.text,
...@@ -2465,6 +2467,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> { ...@@ -2465,6 +2467,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> {
0; 0;
editProvider.addEditTotalAmountController.text = editProvider.addEditTotalAmountController.text =
(price * qty).toString(); (price * qty).toString();
}
return Container( return Container(
margin: EdgeInsets.only( margin: EdgeInsets.only(
bottom: 15, bottom: 15,
...@@ -2561,8 +2564,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> { ...@@ -2561,8 +2564,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> {
editProvider.addEditProductPriceController, editProvider.addEditProductPriceController,
"Product Price", "Product Price",
"Enter Product Price", "Enter Product Price",
(value) => updatedAmountfun,
editProvider.addEditUpdateTotalAmount,
TextInputType.number, TextInputType.number,
false, false,
null, null,
...@@ -2580,8 +2582,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> { ...@@ -2580,8 +2582,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> {
editProvider.addEditQuantityController, editProvider.addEditQuantityController,
"Quantity", "Quantity",
"Enter Quantity", "Enter Quantity",
(value) => updatedAmountfun,
editProvider.addEditUpdateTotalAmount,
TextInputType.number, TextInputType.number,
false, false,
FilteringTextInputFormatter.digitsOnly, FilteringTextInputFormatter.digitsOnly,
......
This diff is collapsed.
...@@ -89,7 +89,7 @@ class _ProspectListByModeState extends State<ProspectListByMode> { ...@@ -89,7 +89,7 @@ class _ProspectListByModeState extends State<ProspectListByMode> {
// ignore: deprecated_member_use // ignore: deprecated_member_use
return Scaffold( return Scaffold(
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
appBar: appbar2( appBar: appbar2New(
context, context,
widget.pageTitleName, widget.pageTitleName,
provider.resetForm, provider.resetForm,
...@@ -106,6 +106,7 @@ class _ProspectListByModeState extends State<ProspectListByMode> { ...@@ -106,6 +106,7 @@ class _ProspectListByModeState extends State<ProspectListByMode> {
), ),
], ],
), ),
0xFFFFFFFF
), ),
backgroundColor: AppColors.scaffold_bg_color, backgroundColor: AppColors.scaffold_bg_color,
body: body:
......
...@@ -106,7 +106,7 @@ class _AddProspectLeadsState extends State<AddProspectLeads> { ...@@ -106,7 +106,7 @@ class _AddProspectLeadsState extends State<AddProspectLeads> {
child: Row( child: Row(
children: [ children: [
Expanded( Expanded(
child: DropdownButton2<Employees>( child: DropdownButton2<LeadEmployees>(
hint: Text( hint: Text(
"Select Source", "Select Source",
style: TextStyle(fontSize: 14), style: TextStyle(fontSize: 14),
...@@ -114,7 +114,7 @@ class _AddProspectLeadsState extends State<AddProspectLeads> { ...@@ -114,7 +114,7 @@ class _AddProspectLeadsState extends State<AddProspectLeads> {
items: items:
editProvider.employeeList editProvider.employeeList
.map( .map(
(slist) => DropdownMenuItem<Employees>( (slist) => DropdownMenuItem<LeadEmployees>(
value: slist, value: slist,
child: Text( child: Text(
slist.name!, slist.name!,
...@@ -131,7 +131,7 @@ class _AddProspectLeadsState extends State<AddProspectLeads> { ...@@ -131,7 +131,7 @@ class _AddProspectLeadsState extends State<AddProspectLeads> {
: null, : null,
// value: provider.selectedEmployees, // value: provider.selectedEmployees,
onChanged: (Employees? value) { onChanged: (LeadEmployees? value) {
if (value != null) { if (value != null) {
if (editProvider.employeeList.isNotEmpty) { if (editProvider.employeeList.isNotEmpty) {
editProvider.selectedEmployee = value; editProvider.selectedEmployee = value;
......
This diff is collapsed.
...@@ -5,6 +5,7 @@ import 'package:dotted_line/dotted_line.dart'; ...@@ -5,6 +5,7 @@ import 'package:dotted_line/dotted_line.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:generp/screens/crm/appointmentCalendar.dart';
import 'package:generp/screens/crm/pendingTasksDetails.dart'; import 'package:generp/screens/crm/pendingTasksDetails.dart';
import 'package:generp/screens/crm/pendingTasksList.dart'; import 'package:generp/screens/crm/pendingTasksList.dart';
import 'package:generp/screens/crm/universalSearchScreen.dart'; import 'package:generp/screens/crm/universalSearchScreen.dart';
...@@ -322,8 +323,8 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> { ...@@ -322,8 +323,8 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
}, },
), ),
), ),
]else...[ ] else ...[
SizedBox(height: 10,), SizedBox(height: 10),
], ],
// ListView.builder( // ListView.builder(
...@@ -437,7 +438,6 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> { ...@@ -437,7 +438,6 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
// ); // );
// }, // },
// ), // ),
Container( Container(
height: MediaQuery.of(context).size.height * 0.2, height: MediaQuery.of(context).size.height * 0.2,
margin: EdgeInsets.symmetric(horizontal: 10), margin: EdgeInsets.symmetric(horizontal: 10),
...@@ -583,7 +583,18 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> { ...@@ -583,7 +583,18 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
SizedBox(width: 10), SizedBox(width: 10),
Expanded( Expanded(
child: InkResponse( child: InkResponse(
onTap: () {}, onTap: () async {
await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Appointmentcalendar(),
settings: RouteSettings(
name: 'Appointmentcalendar'
)
),
);
},
child: Container( child: Container(
padding: EdgeInsets.symmetric( padding: EdgeInsets.symmetric(
...@@ -715,9 +726,10 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> { ...@@ -715,9 +726,10 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
await Navigator.push( await Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => NearbyOpenLeads( builder:
latitude:latitude, (context) => NearbyOpenLeads(
longitude:longitude latitude: latitude,
longitude: longitude,
), ),
settings: RouteSettings( settings: RouteSettings(
name: "NearbyOpenLeads", name: "NearbyOpenLeads",
...@@ -746,7 +758,8 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> { ...@@ -746,7 +758,8 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
children: [ children: [
Expanded( Expanded(
child: Column( child: Column(
crossAxisAlignment:CrossAxisAlignment.start, crossAxisAlignment:
CrossAxisAlignment.start,
children: [ children: [
Text( Text(
provider.nearByLeads[index].name ?? "-", provider.nearByLeads[index].name ?? "-",
...@@ -754,7 +767,7 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> { ...@@ -754,7 +767,7 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
color: AppColors.semi_black, color: AppColors.semi_black,
fontFamily: "JakartaMedium" fontFamily: "JakartaMedium",
), ),
), ),
Text( Text(
...@@ -764,24 +777,35 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> { ...@@ -764,24 +777,35 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
color: AppColors.grey_semi, color: AppColors.grey_semi,
fontFamily: "JakartaMedium" fontFamily: "JakartaMedium",
), ),
), ),
], ],
), ),
), ),
SizedBox(width: 10,), SizedBox(width: 10),
Expanded( Expanded(
child: Container(
decoration: BoxDecoration(
border: Border.all(
color: AppColors.semi_black.withAlpha(10)
),
borderRadius: BorderRadius.circular(16)
),
child: ClipRRect( child: ClipRRect(
borderRadius:BorderRadius.circular(16), borderRadius: BorderRadius.circular(16),
child: Image.network( child: Image.network(
provider.getSimpleOSMImage(latitude, longitude), provider.getSimpleOSMImage(
latitude,
longitude,
),
width: 400, width: 400,
height: 400, height: 400,
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
), ),
), ),
),
], ],
), ),
), ),
...@@ -789,8 +813,8 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> { ...@@ -789,8 +813,8 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
}, },
), ),
), ),
]else...[ ] else ...[
SizedBox(height: 10,), SizedBox(height: 10),
InkResponse( InkResponse(
onTap: () { onTap: () {
Navigator.push( Navigator.push(
......
...@@ -54,3 +54,4 @@ export 'package:generp/Notifiers/crmProvider/crmGenerateQuotationProvider.dart'; ...@@ -54,3 +54,4 @@ export 'package:generp/Notifiers/crmProvider/crmGenerateQuotationProvider.dart';
export 'package:generp/Notifiers/crmProvider/crmEditProspectAccountProvider.dart'; export 'package:generp/Notifiers/crmProvider/crmEditProspectAccountProvider.dart';
export 'package:generp/Notifiers/crmProvider/addProspectLeadsProvider.dart'; export 'package:generp/Notifiers/crmProvider/addProspectLeadsProvider.dart';
export 'package:generp/Notifiers/crmProvider/followUpUpdateProvider.dart'; export 'package:generp/Notifiers/crmProvider/followUpUpdateProvider.dart';
export 'package:generp/Notifiers/crmProvider/appointmentCalendarProvider.dart';
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment