dvrentry.component.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463
  1. <div class="mainContainer">
  2. <div class="container-fluid p-lg-0 p-sm-0 p-md-0">
  3. <dvr-header></dvr-header>
  4. </div>
  5. <div class="wrapper d-flex align-items-stretch">
  6. <nav id="sidebar" style="background:#f0ebeb;box-shadow:7px 7px 13px #d1cece">
  7. <div class="custom-menu">
  8. </div>
  9. <ul class="list-unstyled components mb-5">
  10. <li class="active" style="text-align:center">
  11. <a routerLink="/home"><span class="fa fa-home "></span>
  12. <p style="font-size:15px;margin-bottom: 0px;"> Home</p>
  13. </a>
  14. </li>
  15. <li style="text-align:center">
  16. <a routerLink="/contactDetails"><span class="fa fa-user "></span>
  17. <p style="font-size:15px;margin-bottom: 0px;">Contact</p>
  18. </a>
  19. </li>
  20. <li style="text-align:center;background: #d9d5d5">
  21. <a routerLink="/dvrentry"><span class="fa fa-file-text "></span>
  22. <p style="font-size:15px;margin-bottom: 0px;"> DVR Entry</p>
  23. </a>
  24. </li>
  25. <li style="text-align:center" *ngIf="role == 'admin'">
  26. <a routerLink="/customer"><span class="fa fa-building"></span>
  27. <p style="font-size:15px;margin-bottom: 0px;">Customer</p>
  28. </a>
  29. </li>
  30. </ul>
  31. </nav>
  32. <!-- Page Content -->
  33. <div id="content">
  34. <div class="row">
  35. <div class="col-lg-12 row formheaderrow">
  36. <p class="formheader"><i class="fa fa-file-text-o" style="padding-right:10px"></i>Visit Details</p>
  37. </div>
  38. </div>
  39. <div class=" p-4 p-md-5 pt-5">
  40. <div class="col-lg-12 panelcss">
  41. <form [formGroup]='contactEntryForm' (ngSubmit)="dvrEntry(contactEntryForm)">
  42. <fieldset>
  43. <div class="row">
  44. <div class="col-lg-12 p-lg-0 p-md-0 p-sm-0 row">
  45. <div class="col-lg-12 row" style="padding:0px">
  46. <div class="col-lg-4">
  47. <div class="form-group" [ngClass]="displayFieldCss('date')">
  48. <label style="font-size: 16px;margin-top: 5px;margin-bottom: 0px;">Date of Visit<span
  49. style="color: red;"> *</span></label>
  50. <input type="Date" class="form-control" formControlName='date' name="Date" id="Date"
  51. placeholder="Date of Visit" style="margin-top: 0px;">
  52. <app-field-error-display [displayError]="isFieldValid('date')" errorMsg="Please enter date">
  53. </app-field-error-display>
  54. </div>
  55. </div>
  56. <div class="col-lg-4">
  57. <div class="form-group" [ngClass]="displayFieldCss('custName')">
  58. <label style="font-size: 16px;margin-top: 5px;margin-bottom: 0px;"> Customer<span
  59. style="color: red;"> *</span></label>
  60. <select id="Axis" class="form-control" formControlName='custName' style="margin-top: 0px;"
  61. (change)="customerDetails(contactEntryForm)">
  62. <!-- <option [selected]=true default disabled> Choose Customer</option> -->
  63. <!-- <option value="" selected >Choose Customer</option> -->
  64. <option *ngIf="customer_name" default disabled>{{customer_name}}</option>
  65. <option *ngFor="let cust of cust_data" [ngValue]="cust">
  66. {{ cust.customer_name }}
  67. </option>
  68. </select>
  69. <app-field-error-display [displayError]="isFieldValid('custName')"
  70. errorMsg="Please enter Customer Name">
  71. </app-field-error-display>
  72. </div>
  73. </div>
  74. <div class="col-lg-4">
  75. <div class="form-group" style="margin-bottom:2px" [ngClass]="displayFieldCss('contactName')">
  76. <label style="font-size: 16px;margin-top: 5px;margin-bottom: 0px;"> Contact<span
  77. style="color: red;"> *</span></label>
  78. <select id="Axis" (change)="contactDetails(contactEntryForm)" class="form-control"
  79. formControlName='contactName' style="margin-top: 0px;">
  80. <!-- <option><a href="" (click)="contactDetails(contactEntryForm)"
  81. style="cursor: pointer;color: #7f7f7f;"> Add New Contact</a></option> -->
  82. <option (click)="contactDetails(contactEntryForm)" value="new">Add New Contact</option>
  83. <option *ngIf="contact_name" default disabled>{{contact_name}}</option>
  84. <option *ngFor="let contact of contact_data" [ngValue]="contact">
  85. {{ contact.first_name }} {{ contact.last_name }}
  86. </option>
  87. </select>
  88. <app-field-error-display [displayError]="isFieldValid('contactName')"
  89. errorMsg="Please enter Contact Name">
  90. </app-field-error-display>
  91. </div>
  92. <!-- <a (click)="contactDetails(contactEntryForm)" style="cursor: pointer;"> <span
  93. style="color: #cd1212;text-decoration: underline;font-size:14px">Add New Contact
  94. </span></a> -->
  95. </div>
  96. <div class="col-lg-4" style="margin-top:38px;">
  97. <div class="form-group" *ngIf="currentSecondContact ==false" style="margin-bottom:2px"
  98. [ngClass]="displayFieldCss('secondContact')">
  99. <label style="font-size: 16px;margin-top: 5px;margin-bottom: 0px;"> Second Contact</label>
  100. <select id="Axis" (change)="contactDetails(contactEntryForm)" class="form-control"
  101. formControlName='secondContact' style="margin-top: 0px;">
  102. <!-- <option><a href="" (click)="contactDetails(contactEntryForm)"
  103. style="cursor: pointer;color: #7f7f7f;"> Add New Contact</a></option> -->
  104. <option (click)="contactDetails(contactEntryForm)" value="new">Add New Contact</option>
  105. <option *ngIf="second_contact" default disabled>{{second_contact}}</option>
  106. <option *ngFor="let second_contact of contact_data" [ngValue]="second_contact">
  107. {{ second_contact.first_name }} {{ second_contact.last_name }}
  108. </option>
  109. </select>
  110. </div>
  111. <div class="form-group" *ngIf="currentSecondContact ==true" style="margin-bottom:2px"
  112. [ngClass]="displayFieldCss('secondContact')">
  113. <label style="font-size: 16px;margin-top: 5px;margin-bottom: 0px;"> Second Contact</label>
  114. <select id="Axis" (change)="contactDetails(contactEntryForm)" class="form-control"
  115. formControlName='secondContact' style="margin-top: 0px;">
  116. <option (click)="contactDetails(contactEntryForm)" value="new">Add New Contact</option>
  117. <option *ngIf="second_contact" default disabled>{{second_contact}}</option>
  118. <option *ngFor="let second_contact of secondContact_Details" [ngValue]="second_contact">
  119. {{ second_contact.first_name }} {{ second_contact.last_name }}
  120. </option>
  121. </select>
  122. </div>
  123. </div>
  124. <div class="col-lg-4" style="margin-top:38px">
  125. <div class="form-group" style="margin-bottom:2px" [ngClass]="displayFieldCss('stageName')">
  126. <label style="font-size: 16px;margin-top: 5px;margin-bottom: 0px;">Status<span
  127. style="color: red;"> *</span></label>
  128. <select id="Axis" class="form-control" formControlName="stageName"
  129. style="margin: 6px;margin-top: 0px;">
  130. <!-- <option default disabled> Choose Status</option> -->
  131. <option *ngIf="stage_des" default disabled>{{stage_des}}</option>
  132. <option *ngFor="let status of stage_data" [ngValue]="status">
  133. {{ status.stage_desc }}
  134. </option>
  135. </select>
  136. <app-field-error-display [displayError]="isFieldValid('stageName')"
  137. errorMsg="Please enter Status">
  138. </app-field-error-display>
  139. </div>
  140. </div>
  141. <div class="col-lg-4" style="margin-top:38px;">
  142. <div class="form-group" [ngClass]="displayFieldCss('nextstep')">
  143. <label style="font-size: 16px;margin-top: 5px;margin-bottom: 0px;">Next Action
  144. <span style="color: red;"> *</span></label>
  145. <textarea type="text" name="First Name" formControlName="nextstep" class="textarea" id="user"
  146. onkeyup="this.setAttribute('value', this.value);" value=""
  147. style="margin: 25px 0;padding: 14px;height:auto !important;border-bottom: 2px solid #e0e0e0 !important;margin-top: -2px;padding: 0px;margin-left: -2px;"></textarea>
  148. <app-field-error-display [displayError]="isFieldValid('nextstep')"
  149. errorMsg="Please enter Next steps details">
  150. </app-field-error-display>
  151. </div>
  152. </div>
  153. <div class="col-lg-4" style="margin-top:38px;">
  154. <div class="form-group" [ngClass]="displayFieldCss('message')">
  155. <label style="font-size: 16px;margin-top: 5px;margin-bottom: 0px;">Activity Remark<span
  156. style="color: red;"> *</span></label>
  157. <textarea type="text" name="First Name" formControlName="message" class="textarea" id="user"
  158. onkeyup="this.setAttribute('value', this.value);" value=""
  159. style="margin: 25px 0;padding: 14px;height:auto !important;border-bottom: 2px solid #e0e0e0 !important;margin-top: -2px;padding: 0px;"></textarea>
  160. <app-field-error-display [displayError]="isFieldValid('message')"
  161. errorMsg="Please enter Message">
  162. </app-field-error-display>
  163. </div>
  164. </div>
  165. <div class="col-lg-4" style="margin-top:38px">
  166. <span style="color:#7f7f7f;">Physical Meeting?<span style="color: red;"> *</span>
  167. </span>
  168. <div class="input-group" style="margin-top: 10px;">
  169. <div class="switch-field">
  170. <input type="radio" id="radio-one1" name="ph_meet" value="yes" formControlName="ph_meet"
  171. checked />
  172. <label for="radio-one1">Yes</label>
  173. <input type="radio" id="radio-two1" name="ph_meet" value="no" formControlName="ph_meet" />
  174. <label for="radio-two1">No</label>
  175. </div>
  176. </div>
  177. </div>
  178. <div class="col-lg-4" style="margin-top:38px;">
  179. <div class="form-group" [ngClass]="displayFieldCss('date')">
  180. <label style="font-size: 16px;margin-top: 5px;margin-bottom: 0px;">Estimate Date Of Closure Of
  181. Deal</label>
  182. <input type="date" class="form-control" formControlName="estDate" name="Date" id="Date"
  183. placeholder="Estimate date of closure of deal" style="margin-top: 0px;">
  184. </div>
  185. </div>
  186. <div class="col-lg-4" style="margin-top:38px;">
  187. <div class="form-group" [ngClass]="displayFieldCss('objective')">
  188. <label style="font-size: 16px;margin-top: 5px;margin-bottom: 0px;">Objective/Opportunity</label>
  189. <textarea type="text" name="objective" formControlName="objective" class="textarea"
  190. id="objective" onkeyup="this.setAttribute('value', this.value);" value=""
  191. style="margin: 25px 0;padding: 14px;height:auto !important;border-bottom: 2px solid #e0e0e0 !important;margin-top: -2px;padding: 0px;"></textarea>
  192. </div>
  193. </div>
  194. <div class="col-lg-4" style="margin-top:38px;">
  195. <div class="form-group" [ngClass]="displayFieldCss('objective')">
  196. <label style="font-size: 16px;margin-top: 5px;margin-bottom: 0px;">Estimated Value Of Deal
  197. </label>
  198. <textarea type="text" name="deal" formControlName="deal" class="textarea" id="deal"
  199. onkeyup="this.setAttribute('value', this.value);" value=""
  200. (keypress)="allowOnlyNumber($event)"
  201. style="margin: 25px 0;padding: 14px;height:auto !important;border-bottom: 2px solid #e0e0e0 !important;margin-top: -2px;padding: 0px;"></textarea>
  202. </div>
  203. </div>
  204. <div class="col-lg-4" style="margin-top:38px;">
  205. <div class="form-group">
  206. <label style="font-size: 16px; margin-top: 5px; margin-bottom: 5px;"> Next Action On:</label>
  207. <!-- <span style="color: red;"> *</span> -->
  208. <select id="function" class="form-control" formControlName="postion" (change)="funcPersonDetails(contactEntryForm)"
  209. style="margin: 6px;margin-top: 0px;">
  210. <option value="" disabled selected>Choose Function</option>
  211. <option *ngIf="postion" default disabled>{{postion}}</option>
  212. <option *ngFor="let postion of funcDetails" [ngValue]="postion">
  213. {{ postion.func_name }}
  214. </option>
  215. </select>
  216. <select id="function" class="form-control" formControlName="personData"
  217. style="margin: 6px;margin-top: 0px;">
  218. <option value="" disabled selected>Choose Person</option>
  219. <option *ngIf="person" default disabled>{{person}}</option>
  220. <option *ngFor="let person of personDetails" [ngValue]="person">
  221. {{ person.person_name }}
  222. </option>
  223. </select>
  224. <!-- <app-field-error-display [displayError]="isFieldValid('postion')"
  225. errorMsg="Please select Function">
  226. </app-field-error-display>
  227. <app-field-error-display [displayError]="isFieldValid('personData')"
  228. errorMsg="Please select Position">
  229. </app-field-error-display> -->
  230. </div>
  231. </div>
  232. </div>
  233. </div>
  234. </div>
  235. <div class="col-lg-12 row text-lg-right">
  236. <div class="col-lg-8 col-md-7">
  237. </div>
  238. <div class="col-lg-4 col-sm-12 col-md-12">
  239. <input class="cancelbutton" type="button" value="Delete" (click)="deleteEntry()"
  240. style="margin-right:15px" *ngIf="checkupdatedelete == true">
  241. <input class="submitbutton" type="submit" value="Save" style="margin-right:15px">
  242. <input class="cancelbutton" type="reset" value="reset" (click)="onReset()">
  243. </div>
  244. </div>
  245. <div class="modal" tabindex="-1" role="dialog" [ngStyle]="{'display':displayStyle}">
  246. <div class="modal-dialog" role="document">
  247. <div class="modal-content">
  248. <div class="modal-header">
  249. <h4 class="modal-title">{{status_msg}}</h4>
  250. </div>
  251. <div class="modal-body">
  252. <p>{{error_msg}}</p>
  253. </div>
  254. <div class="modal-footer">
  255. <button type="button" class="btn btn-danger" (click)="closePopup()">
  256. Close
  257. </button>
  258. </div>
  259. </div>
  260. </div>
  261. </div>
  262. <div class="modal_new" tabindex="-4" role="dialog" *ngIf="checkupdatedelete == false">
  263. <div class="modal-dialog" role="document">
  264. <div class="modal-content">
  265. <div class="modal-header">
  266. <h4 class="modal-title">Warning</h4>
  267. </div>
  268. <div class="modal-body">
  269. <p>You can not Update and Delete DVR Entry after 1 day of creation.</p>
  270. </div>
  271. <div class="modal-footer">
  272. <button type="button" class="submitbutton">
  273. <a routerLink="/home" style="color: white;">
  274. Home
  275. </a>
  276. </button>
  277. </div>
  278. </div>
  279. </div>
  280. </div>
  281. </fieldset>
  282. </form>
  283. </div>
  284. </div>
  285. <div class=" p-4 p-md-5 pt-5" style="padding-top: 20px !important;">
  286. <div class="col-lg-12 " style=" border: 1px solid #cbcbcb;
  287. padding: 10px;
  288. border-radius: 5px;overflow: auto;">
  289. <!-- <table id="datatableexample" class="display" cellspacing="0" width="100%"> -->
  290. <table datatable [dtOptions]="dtOptions" [dtTrigger]="dtTrigger" class="row-border hover table" cellspacing="0"
  291. width="100%">
  292. <thead>
  293. <tr>
  294. <th>Date of Visit</th>
  295. <th>Customer Name</th>
  296. <th>Contact Name</th>
  297. <th>Mobile Number</th>
  298. <th>Second Contact</th>
  299. <th>Next Action</th>
  300. <th>Physical Meeting</th>
  301. <th >Message</th>
  302. <th>Status</th>
  303. <th>Estimate Date Of Closure Of Deal</th>
  304. <th>Objective/Opportunity</th>
  305. <th>Estimated Value Of Deal</th>
  306. <th>Function</th>
  307. <th>Person</th>
  308. </tr>
  309. </thead>
  310. <tbody>
  311. <tr *ngFor="let current of currentDateData; let i = index">
  312. <td>{{current.date_of_visit | datePipe}}</td>
  313. <td>{{current.customer_name }}</td>
  314. <td>{{current.contact_name }}</td>
  315. <td>{{current.mobile_number }}</td>
  316. <td>{{current.second_contact }}</td>
  317. <!-- <td style=" width: 85%;
  318. min-height: 150px !important;
  319. display: block;
  320. overflow-x: auto;">{{current.nextstep }}</td> -->
  321. <td>{{ current.nextstep }}</td>
  322. <td>{{current.physical_meeting | titlecase}}</td>
  323. <!-- <td style=" width: auto;
  324. min-height: 150px !important;
  325. display: block;
  326. overflow-x: auto;">{{current.message }}</td> -->
  327. <td>{{ current.message }}</td>
  328. <td>{{current.stage_desc }}</td>
  329. <td>{{current.est_Date | datePipe}}</td>
  330. <!-- <td style=" width: auto;
  331. min-height: 150px !important;
  332. display: block;
  333. overflow-x: auto;">{{current.objective}}</td> -->
  334. <td>{{current.objective}}</td>
  335. <td>{{current.estvalue}}</td>
  336. <td>{{current.func}}</td>
  337. <td>{{current.person}}</td>
  338. </tr>
  339. </tbody>
  340. </table>
  341. </div>
  342. </div>
  343. </div>
  344. </div>
  345. <div class="row footer">
  346. <p>Copyright © MindCraft Software Pvt. Ltd.</p>
  347. </div>
  348. </div>