{"version":3,"sources":["webpack:///src/views/projectmanagement/timesheet/Add.vue","webpack:///./src/views/projectmanagement/timesheet/Add.vue?600f","webpack:///./src/views/projectmanagement/timesheet/Add.vue","webpack:///./src/views/projectmanagement/timesheet/Add.vue?f31a","webpack:///./src/views/projectmanagement/timesheet/Add.vue?acbb"],"names":["components","BRow","BCol","BCard","BCardBody","BButton","BFormSelect","BCardText","BForm","BFormGroup","BSpinner","BFormInput","BInputGroup","BFormTextarea","BFormDatepicker","ValidationProvider","ValidationObserver","BFormTimepicker","data","id","type","userData","dis","today","timesheetDetails","parentID","typeID","employeeID","date","hoursWorked","taskDescription","approverID","approvalDate","status","note","startDate","endDate","reference","defaultTimesheet","dateConfig","wrap","maxDate","selectedProject","Projects","Tasks","userList","userId","timesheetStatus","ProjectName","TaskName","ProjectData","computed","mapGetters","serviceOrderList","timesheet","loading","projectsList","users","methods","mapActions","resetTimesheet","errorStart","title","html","icon","customClass","confirmButton","buttonsStyling","errorTime","convertToDate","time","calculateHoursWorked","console","submitTimesheet","isValid","addLoader","customLoader","then","customError","customSwal","catch","updateLoader","fetchTasks","text","value","assignee","mounted","modulereference","JSON","task","taskId","projectId","uuidRegex","z","watch","newTypeID"],"mappings":"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AAA;MAAA;IAAA;EAuDA,CA/QA;EAgRAU;IACA,yBADA,kCACAC,SADA,EACA;MACAvB;MACA;QAAA;MAAA;;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA;IACA,CATA;IAUA,oDAVA;IAWA;EAXA;AAhRA,G;;;;;;;;;;;;ACxLA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA,8BAA8B,gCAAgC;AAC9D,wBAAwB,wCAAwC;AAChE,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS,UAAU,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA,6DAA6D;AAC7D,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,qDAAqD;AACrD;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS,UAAU,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA,6DAA6D;AAC7D,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,qDAAqD;AACrD;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS,UAAU,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA,6DAA6D;AAC7D,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,qDAAqD;AACrD;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS,UAAU,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA,6DAA6D;AAC7D,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,qDAAqD;AACrD;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS,UAAU,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,qDAAqD;AACrD;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS,UAAU,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,qDAAqD;AACrD;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS,UAAU,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA,6DAA6D;AAC7D,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,qDAAqD;AACrD;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS,UAAU,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,qDAAqD;AACrD;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS,UAAU,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA,iDAAiD;AACjD,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,SAAS,UAAU,EAAE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE;AACA;AACA,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,yDAAyD;AACzD;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,SAAS,UAAU,EAAE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE;AACA;AACA,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,yDAAyD;AACzD;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,SAAS,aAAa,EAAE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,uDAAuD;AACvD,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,uDAAuD;AACvD,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA,mDAAmD;AACnD,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjhCA;AAAA;AAAA;AAAA;AAAkF;AAC3B;AACL;;;AAGlD;AACgG;AAChG,gBAAgB,2GAAU;AAC1B,EAAE,yEAAM;AACR,EAAE,8EAAM;AACR,EAAE,uFAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACtCf;AAAA;AAAA,wCAAwS,CAAgB,oUAAG,EAAC,C;;;;;;;;;;;;ACA5T;AAAA;AAAA;AAAA;AAAA;AAAA","file":"js/19.js","sourcesContent":["<template>\r\n <div>\r\n <div class=\"d-flex justify-content-center\" v-if=\"loading\">\r\n <b-spinner variant=\"success\" label=\"Spinning\" style=\"width: 3rem; height: 3rem\"></b-spinner>\r\n </div>\r\n <b-card v-if=\"!loading\">\r\n <b-card-body>\r\n <validation-observer ref=\"timesheet\" #default=\"{ invalid }\">\r\n <b-form @submit.prevent=\"formSubmitted\">\r\n <b-row>\r\n <b-col md=\"3\">\r\n <b-form-group label=\"Project\" label-for=\"project-dropdown\">\r\n <validation-provider rules=\"required\" #default=\"{ errors }\" name=\"Project\" vid=\"Project\">\r\n <b-form-select id=\"project-dropdown\" \r\n v-model=\"timesheetDetails.parentID\" \r\n :options=\"Projects\" \r\n @change=\"fetchTasks(timesheetDetails.parentID)\"\r\n :disabled=\"type !== 'add' || dis !== 'add'\" />\r\n <small class=\"text-danger\">{{ errors[0] }}</small>\r\n </validation-provider>\r\n </b-form-group>\r\n </b-col>\r\n <b-col md=\"3\">\r\n <b-form-group label=\"Task\" label-for=\"task-dropdown\">\r\n <validation-provider rules=\"required\" #default=\"{ errors }\" name=\"Task\" vid=\"Task\">\r\n <b-form-select id=\"task-dropdown\" \r\n v-model=\"timesheetDetails.typeID\" \r\n :options=\"Tasks\" \r\n :disabled=\"!selectedProject || type !== 'add' || dis !== 'add'\" />\r\n <small class=\"text-danger\">{{ errors[0] }}</small>\r\n </validation-provider>\r\n </b-form-group>\r\n </b-col>\r\n <b-col md=\"3\">\r\n <b-form-group label=\"Approver\" label-for=\"mc-approver\">\r\n <validation-provider rules=\"required\" #default=\"{ errors }\" name=\"Approver\" vid=\"Approver\">\r\n <b-form-select id=\"mc-approver\" :disabled=\"type !== 'add'\" v-model=\"timesheetDetails.approverID\"\r\n :options=\"userList\" />\r\n <small class=\"text-danger\">{{ errors[0] }}</small>\r\n </validation-provider>\r\n </b-form-group>\r\n </b-col>\r\n <b-col md=\"6\">\r\n <b-form-group label=\"Reference\" label-for=\"mc-reference\">\r\n <validation-provider rules=\"required\" #default=\"{ errors }\" name=\"Reference\" vid=\"Reference\">\r\n <b-form-input :disabled=\"type !== 'add'\" id=\"mc-Reference\" type=\"text\"\r\n v-model=\"timesheetDetails.reference\" />\r\n <small class=\"text-danger\">{{ errors[0] }}</small>\r\n </validation-provider>\r\n </b-form-group>\r\n </b-col>\r\n <b-col md=\"3\">\r\n <b-form-group label=\"Start Time\" label-for=\"mc-startTime\">\r\n <validation-provider rules=\"required\" #default=\"{ errors }\" name=\"Start Time\" vid=\"start Time\">\r\n <b-form-timepicker \r\n id=\"mc-startTime\" \r\n :min=\"new Date()\" \r\n v-model=\"timesheetDetails.startTime\"\r\n :disabled=\"type !== 'add'\"\r\n @change=\"calculateHoursWorked\"\r\n locale=\"en\">\r\n </b-form-timepicker>\r\n <small class=\"text-danger\">{{ errors[0] }}</small>\r\n </validation-provider>\r\n </b-form-group>\r\n </b-col>\r\n <b-col md=\"3\">\r\n <b-form-group label=\"End Time\" label-for=\"mc-endTime\">\r\n <validation-provider rules=\"required\" #default=\"{ errors }\" name=\"End Time\" vid=\"end Time\">\r\n <b-form-timepicker \r\n id=\"mc-endTime\" \r\n :min=\"new Date()\" \r\n v-model=\"timesheetDetails.endTime\"\r\n :disabled=\"type !== 'add'\"\r\n @change=\"calculateHoursWorked\"\r\n locale=\"en\">\r\n </b-form-timepicker>\r\n <small class=\"text-danger\">{{ errors[0] }}</small>\r\n </validation-provider>\r\n </b-form-group>\r\n </b-col>\r\n <b-col md=\"3\">\r\n <b-form-group label=\"Hours Worked\" label-for=\"mc-hours\">\r\n <validation-provider rules=\"required|min_value:0.01|max_value:24\" #default=\"{ errors }\"\r\n name=\"Hours Worked\" vid=\"Hours Worked\">\r\n <b-form-input\r\n onkeydown=\"javascript: return ['Backspace','Delete','ArrowLeft','ArrowRight'].includes(event.code) ? true : !isNaN(Number(event.key)) && event.code!=='Space'\"\r\n :disabled=\"type !== 'add'\" id=\"mc-hours\" type=\"text\" v-model=\"timesheetDetails.hoursWorked\" readonly />\r\n <small class=\"text-danger\">{{ errors[0] }}</small>\r\n </validation-provider>\r\n </b-form-group>\r\n </b-col>\r\n <b-col md=\"3\">\r\n <b-form-group label=\"Date\" label-for=\"mc-date\">\r\n <validation-provider rules=\"required\" #default=\"{ errors }\" name=\"Date\" vid=\"Date\">\r\n <b-form-datepicker :disabled=\"type !== 'add'\" id=\"mc-date\" :max=\"today\"\r\n v-model=\"timesheetDetails.date\"></b-form-datepicker>\r\n <!-- <flat-pickr :disabled=\"type === 'view'\" v-model=\"timesheetDetails.date\" class=\"form-control\" :config=\"dateConfig\" /> -->\r\n <small class=\"text-danger\">{{ errors[0] }}</small>\r\n </validation-provider>\r\n </b-form-group>\r\n </b-col>\r\n <b-col md=\"6\">\r\n <b-form-group label=\"Description\" label-for=\"mc-taskDescription\">\r\n <!-- <validation-provider rules=\"required\" #default=\"{ errors }\" name=\"Description\" vid=\"Description\"> -->\r\n <b-form-textarea :disabled=\"type !== 'add'\" id=\"mc-taskDescription\" type=\"text\"\r\n v-model=\"timesheetDetails.taskDescription\" />\r\n <!-- <small class=\"text-danger\">{{ errors[0] }}</small>\r\n </validation-provider> -->\r\n </b-form-group>\r\n </b-col>\r\n <b-col v-if=\"type !== 'add'\" md=\"6\">\r\n <b-form-group label=\"Status\" label-for=\"mc-status\">\r\n <validation-provider rules=\"required\" #default=\"{ errors }\" name=\"Status\" vid=\"Status\">\r\n <b-form-select id=\"mc-status\"\r\n :disabled=\"(type === 'view' || timesheetDetails.approverID !== userId)\"\r\n v-model=\"timesheetDetails.status\" :options=\"timesheetStatus\" />\r\n <small class=\"text-danger\">{{ errors[0] }}</small>\r\n </validation-provider>\r\n </b-form-group>\r\n </b-col>\r\n <b-col v-if=\"type !== 'add' && timesheetDetails.status === 'REJECTED'\" md=\"6\">\r\n <b-form-group label=\"Note\" label-for=\"mc-note\">\r\n <validation-provider rules=\"required\" #default=\"{ errors }\" name=\"Note\" vid=\"Note\">\r\n <b-form-input id=\"mc-note\" :disabled=\"(type === 'view' || timesheetDetails.approverID !== userId)\"\r\n v-model=\"timesheetDetails.note\" />\r\n <small class=\"text-danger\">{{ errors[0] }}</small>\r\n </validation-provider>\r\n </b-form-group>\r\n </b-col>\r\n </b-row>\r\n <b-row v-if=\"type !== 'view'\">\r\n <b-col cols=\"12\">\r\n <b-button v-if=\"userId !== timesheetDetails.approverID\" variant=\"primary\" class=\"mt-2 mr-1\"\r\n @click=\"submitTimesheet\">\r\n Save\r\n </b-button>\r\n <b-button v-else variant=\"primary\" class=\"mt-2 mr-1\" @click=\"submitTimesheet\">\r\n Update\r\n </b-button>\r\n <b-button variant=\"outline-secondary\" type=\"button\" class=\"mt-2\" @click=\"resetTimesheet\">\r\n Cancel\r\n </b-button>\r\n </b-col>\r\n </b-row>\r\n </b-form>\r\n </validation-observer>\r\n </b-card-body>\r\n </b-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n BTable,\r\n BAvatar,\r\n BBadge,\r\n BRow,\r\n BCol,\r\n BFormGroup,\r\n BFormSelect,\r\n BPagination,\r\n BInputGroup,\r\n BForm,\r\n BFormInput,\r\n BFormTextarea,\r\n BFormDatepicker,\r\n BFormTimepicker,\r\n BInputGroupAppend,\r\n BButton,\r\n BDropdown,\r\n BDropdownItem,\r\n BSpinner,\r\n BCard,\r\n BCardText,\r\n BCardBody\r\n} from \"bootstrap-vue\";\r\nimport { mapActions, mapGetters } from \"vuex\";\r\nimport { ValidationProvider, ValidationObserver } from \"vee-validate\";\r\nimport { required } from \"@validations\";\r\nimport { customLoader, customError, customSwal, fnSortingDropdown } from '@/libs/customFn';\r\nimport '@/libs/customValidation';\r\nimport { TimesheetStatus } from '@/libs/defaultList';\r\n\r\nexport default {\r\n components: {\r\n BRow,\r\n BCol,\r\n BCard,\r\n BCardBody,\r\n BButton,\r\n BFormSelect,\r\n BCardText,\r\n BForm,\r\n BFormGroup,\r\n BSpinner,\r\n BFormInput,\r\n BInputGroup,\r\n BFormTextarea,\r\n BFormDatepicker,\r\n ValidationProvider,\r\n ValidationObserver,\r\n BFormTimepicker,\r\n },\r\n data() {\r\n return {\r\n id: this.$route.params.id,\r\n type: this.$route.meta.type,\r\n userData: JSON.parse(localStorage.getItem(\"userData\")) || {},\r\n dis: \"\",\r\n today: new Date().toISOString().split(\"T\")[0],\r\n timesheetDetails: {\r\n id: null,\r\n parentID: null,\r\n typeID: null,\r\n employeeID: null,\r\n date: null,\r\n hoursWorked: null,\r\n taskDescription: null,\r\n approverID: null,\r\n approvalDate: null,\r\n status: null,\r\n note: null,\r\n startDate: null,\r\n endDate: null,\r\n reference: null,\r\n },\r\n defaultTimesheet: {\r\n id: null,\r\n parentID: null,\r\n typeID: null,\r\n employeeID: null,\r\n date: null,\r\n hoursWorked: null,\r\n taskDescription: null,\r\n approverID: null,\r\n approvalDate: null,\r\n status: null,\r\n note: null,\r\n startDate: null,\r\n endDate: null,\r\n reference: null,\r\n },\r\n dateConfig: {\r\n wrap: true,\r\n maxDate: new Date(),\r\n },\r\n selectedProject: null,\r\n Projects: [],\r\n Tasks: [],\r\n userList: [],\r\n userId: null,\r\n timesheetStatus: TimesheetStatus,\r\n ProjectName: \"\",\r\n TaskName: \"\",\r\n ProjectData: null,\r\n };\r\n },\r\n computed: {\r\n ...mapGetters(\"serviceModule\", {\r\n serviceOrderList: \"serviceOrderList\",\r\n timesheet: \"timesheet\",\r\n loading: \"loading\",\r\n }),\r\n ...mapGetters(\"projectModule\", {\r\n projectsList: \"projects\",\r\n loading: \"loading\",\r\n }),\r\n ...mapGetters(\"userModule\", {\r\n users: \"users\",\r\n loading: \"loading\",\r\n }),\r\n },\r\n methods: {\r\n ...mapActions(\"serviceModule\", [\"getServiceOrderListAction\", \"getServiceTimesheetAction\", \"postServiceTimesheetAction\", \"putServiceTimesheetAction\"]),\r\n ...mapActions(\"projectModule\", [\"getProjectByIdAction\",\"getProjectListAction\",\"getProjectAssigneesAction\", \"getProjectTasksAction\"]),\r\n ...mapActions(\"userModule\", [\"getUserListByRoleAction\"]),\r\n async resetTimesheet() {\r\n this.timesheetDetails = this.defaultTimesheet;\r\n },\r\n errorStart(data) {\r\n let msg = null;\r\n // if (data) msg = this.getErrorString(data);\r\n this.$swal({\r\n title: \"Error!\",\r\n html: \"'End Time' cannot be before 'Start Time'.\",\r\n icon: \"error\",\r\n customClass: {\r\n confirmButton: \"btn btn-primary\",\r\n },\r\n buttonsStyling: false,\r\n });\r\n },\r\n\r\n errorTime(data) {\r\n let msg = null;\r\n // if (data) msg = this.getErrorString(data);\r\n this.$swal({\r\n title: \"Error!\",\r\n html: \"Please select a start time and end time.\",\r\n icon: \"error\",\r\n customClass: {\r\n confirmButton: \"btn btn-primary\",\r\n },\r\n buttonsStyling: false,\r\n });\r\n },\r\n convertToDate(time) {\r\n const [hours, minutes] = time.split(\":\");\r\n const date = new Date();\r\n date.setHours(hours, minutes, 0, 0); // Set hours and minutes, leaving seconds and milliseconds as 0\r\n return date;\r\n},\r\n calculateHoursWorked() {\r\n if (this.timesheetDetails.startTime && this.timesheetDetails.endTime) {\r\n // Convert startTime and endTime strings to Date objects\r\n const start = this.convertToDate(this.timesheetDetails.startTime);\r\n const end = this.convertToDate(this.timesheetDetails.endTime);\r\n\r\n if(start > end){\r\n this.errorStart();\r\n }\r\n // Calculate the difference in milliseconds\r\n const diff = end - start;\r\n\r\n // Convert milliseconds to hours (if diff is positive)\r\n const hours = diff / (1000 * 60 * 60);\r\n\r\n this.timesheetDetails.hoursWorked = hours >= 0 ? hours : 0; // Ensure the value is non-negative\r\n this.timesheetDetails.hoursWorked = this.timesheetDetails.hoursWorked.toFixed(2);\r\n console.log(\"hoursworked\", this.timesheetDetails.hoursWorked);\r\n }\r\n},\r\n async submitTimesheet() {\r\n let isValid = await this.$refs.timesheet.validate();\r\n if (isValid) {\r\n this.timesheetDetails.moduleReference = 'Project';\r\n \r\n // this.timesheetDetails.employeeID = this.userData.id;\r\n\r\n\r\n //this.timesheetDetails.employeeID = this.Tasks.assignee;\r\n console.log(\"🚀 ~ submitTimesheet ~ Tasks:\", this.timesheetDetails.employeeID)\r\n if (this.type === 'add') {\r\n let addLoader = customLoader('Please wait while timesheet is being saved');\r\n await this.postServiceTimesheetAction(this.timesheetDetails)\r\n .then((res) => {\r\n if (res.errors) {\r\n customError(res);\r\n } else if(res.success) {\r\n customSwal(res.message);\r\n this.$router.push(\"/projectmanagementtimesheet/list\");\r\n } else {\r\n customError(res);\r\n }\r\n })\r\n .catch((err) => customError(err.response.data));\r\n addLoader.close();\r\n } else {\r\n let updateLoader = customLoader('Please wait while timesheet is being updated');\r\n \r\n await this.putServiceTimesheetAction(this.timesheetDetails)\r\n .then((res) => {\r\n if (res.errors) {\r\n customError(res);\r\n } else if(res.success) {\r\n customSwal(res.message);\r\n this.$router.push(\"/projectmanagementtimesheet/list\");\r\n } else {\r\n customError(res);\r\n }\r\n })\r\n .catch((err) => customError(err.response.data));\r\n updateLoader.close();\r\n }\r\n }\r\n },\r\n\r\n async fetchTasks(parentID) {\r\n await this.getProjectByIdAction(parentID).then((projectData) => {\r\n if (projectData) {\r\n this.Projectdata = projectData;\r\n\r\n if (projectData.tasks && projectData.tasks.length > 0) {\r\n this.Tasks = projectData.tasks.map(task => ({\r\n text: task.title,\r\n value: task.id,\r\n assignee: task.assignee,\r\n }));\r\n console.log(\"🚀 ~ awaitthis.getProjectByIdAction ~ this.Tasks:\", this.Tasks)\r\n this.selectedProject = true;\r\n } else {\r\n console.log(\"No tasks available for this project.\");\r\n this.Tasks = [];\r\n this.selectedProject = false;\r\n }}\r\n });\r\n },\r\n\r\n },\r\n async mounted() {\r\n const modulereference = 'Project';\r\n this.dis = this.$route.params.id? \"edit\" : \"add\";\r\n const userData = JSON.parse(localStorage.getItem(\"userData\"));\r\n this.userId = userData.id;\r\n\r\n if (this.type !== 'add') {\r\n await this.getServiceTimesheetAction({modulereference, id: this.id});\r\n this.defaultTimesheet = this.timesheet;\r\n this.timesheetDetails = this.timesheet;\r\n await this.fetchTasks(this.timesheet.parentID);\r\n const task = this.Tasks.find(task => {\r\n return task.value === this.timesheet.typeID\r\n })\r\n if (task) {\r\n this.timesheetDetails.typeID = this.timesheet.typeID;\r\n this.timesheetDetails.parentID = this.timesheet.parentID;\r\n } else {\r\n console.error(\"Task not found for the provided ID.\");\r\n }\r\n }\r\n\r\n const { id: taskId, projectId } = this.$route.params;\r\n const uuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[4][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/;\r\n\r\n if (taskId && projectId) {\r\n await this.fetchTasks(projectId);\r\n const task = this.Tasks.find(task => {\r\n return task.value === taskId\r\n })\r\n if (task) {\r\n this.timesheetDetails.typeID = taskId;\r\n this.timesheetDetails.parentID = projectId;\r\n this.timesheetDetails.employeeID = task.assignee;\r\n } else {\r\n console.error(\"Task not found for the provided ID.\");\r\n }\r\n }\r\n\r\n await this.getProjectListAction().then(() => {\r\n this.Projects = this.projectsList.map((project) => { return { text: project.name, value: project.projectId, }; })\r\n }),\r\n\r\n await this.getUserListByRoleAction(\"staff\").then(() => {\r\n let users = this.users.filter(\r\n (z) =>\r\n this.timesheetDetails.approverID === this.userId ||\r\n z.id !== this.userId\r\n );\r\n users = users.map((user) => {\r\n return { text: `${user.firstName} ${user.lastName}`, value: user.id };\r\n });\r\n this.userList = fnSortingDropdown(users);\r\n });\r\n\r\n },\r\n watch: {\r\n 'timesheetDetails.typeID'(newTypeID) {\r\n console.log(\"🚀 ~ newTypeID:\", newTypeID)\r\n const selectedTask = this.Tasks.find(task => task.value === newTypeID);\r\n if (selectedTask) {\r\n this.timesheetDetails.employeeID = selectedTask.assignee;\r\n } else {\r\n this.timesheetDetails.employeeID = null;\r\n }\r\n },\r\n 'timesheetDetails.startTime': 'calculateHoursWorked',\r\n 'timesheetDetails.endTime': 'calculateHoursWorked',\r\n },\r\n};\r\n</script>\r\n","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _vm.loading\n ? _c(\n \"div\",\n { staticClass: \"d-flex justify-content-center\" },\n [\n _c(\"b-spinner\", {\n staticStyle: { width: \"3rem\", height: \"3rem\" },\n attrs: { variant: \"success\", label: \"Spinning\" },\n }),\n ],\n 1\n )\n : _vm._e(),\n !_vm.loading\n ? _c(\n \"b-card\",\n [\n _c(\n \"b-card-body\",\n [\n _c(\"validation-observer\", {\n ref: \"timesheet\",\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var invalid = ref.invalid\n return [\n _c(\n \"b-form\",\n {\n on: {\n submit: function ($event) {\n $event.preventDefault()\n return _vm.formSubmitted($event)\n },\n },\n },\n [\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"3\" } },\n [\n _c(\n \"b-form-group\",\n {\n attrs: {\n label: \"Project\",\n \"label-for\": \"project-dropdown\",\n },\n },\n [\n _c(\"validation-provider\", {\n attrs: {\n rules: \"required\",\n name: \"Project\",\n vid: \"Project\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var errors = ref.errors\n return [\n _c(\"b-form-select\", {\n attrs: {\n id: \"project-dropdown\",\n options:\n _vm.Projects,\n disabled:\n _vm.type !==\n \"add\" ||\n _vm.dis !==\n \"add\",\n },\n on: {\n change: function (\n $event\n ) {\n return _vm.fetchTasks(\n _vm\n .timesheetDetails\n .parentID\n )\n },\n },\n model: {\n value:\n _vm\n .timesheetDetails\n .parentID,\n callback:\n function ($$v) {\n _vm.$set(\n _vm.timesheetDetails,\n \"parentID\",\n $$v\n )\n },\n expression:\n \"timesheetDetails.parentID\",\n },\n }),\n _c(\n \"small\",\n {\n staticClass:\n \"text-danger\",\n },\n [\n _vm._v(\n _vm._s(\n errors[0]\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"b-col\",\n { attrs: { md: \"3\" } },\n [\n _c(\n \"b-form-group\",\n {\n attrs: {\n label: \"Task\",\n \"label-for\": \"task-dropdown\",\n },\n },\n [\n _c(\"validation-provider\", {\n attrs: {\n rules: \"required\",\n name: \"Task\",\n vid: \"Task\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var errors = ref.errors\n return [\n _c(\"b-form-select\", {\n attrs: {\n id: \"task-dropdown\",\n options:\n _vm.Tasks,\n disabled:\n !_vm.selectedProject ||\n _vm.type !==\n \"add\" ||\n _vm.dis !==\n \"add\",\n },\n model: {\n value:\n _vm\n .timesheetDetails\n .typeID,\n callback:\n function ($$v) {\n _vm.$set(\n _vm.timesheetDetails,\n \"typeID\",\n $$v\n )\n },\n expression:\n \"timesheetDetails.typeID\",\n },\n }),\n _c(\n \"small\",\n {\n staticClass:\n \"text-danger\",\n },\n [\n _vm._v(\n _vm._s(\n errors[0]\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"b-col\",\n { attrs: { md: \"3\" } },\n [\n _c(\n \"b-form-group\",\n {\n attrs: {\n label: \"Approver\",\n \"label-for\": \"mc-approver\",\n },\n },\n [\n _c(\"validation-provider\", {\n attrs: {\n rules: \"required\",\n name: \"Approver\",\n vid: \"Approver\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var errors = ref.errors\n return [\n _c(\"b-form-select\", {\n attrs: {\n id: \"mc-approver\",\n disabled:\n _vm.type !==\n \"add\",\n options:\n _vm.userList,\n },\n model: {\n value:\n _vm\n .timesheetDetails\n .approverID,\n callback:\n function ($$v) {\n _vm.$set(\n _vm.timesheetDetails,\n \"approverID\",\n $$v\n )\n },\n expression:\n \"timesheetDetails.approverID\",\n },\n }),\n _c(\n \"small\",\n {\n staticClass:\n \"text-danger\",\n },\n [\n _vm._v(\n _vm._s(\n errors[0]\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n attrs: {\n label: \"Reference\",\n \"label-for\": \"mc-reference\",\n },\n },\n [\n _c(\"validation-provider\", {\n attrs: {\n rules: \"required\",\n name: \"Reference\",\n vid: \"Reference\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var errors = ref.errors\n return [\n _c(\"b-form-input\", {\n attrs: {\n disabled:\n _vm.type !==\n \"add\",\n id: \"mc-Reference\",\n type: \"text\",\n },\n model: {\n value:\n _vm\n .timesheetDetails\n .reference,\n callback:\n function ($$v) {\n _vm.$set(\n _vm.timesheetDetails,\n \"reference\",\n $$v\n )\n },\n expression:\n \"timesheetDetails.reference\",\n },\n }),\n _c(\n \"small\",\n {\n staticClass:\n \"text-danger\",\n },\n [\n _vm._v(\n _vm._s(\n errors[0]\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"b-col\",\n { attrs: { md: \"3\" } },\n [\n _c(\n \"b-form-group\",\n {\n attrs: {\n label: \"Start Time\",\n \"label-for\": \"mc-startTime\",\n },\n },\n [\n _c(\"validation-provider\", {\n attrs: {\n rules: \"required\",\n name: \"Start Time\",\n vid: \"start Time\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var errors = ref.errors\n return [\n _c(\n \"b-form-timepicker\",\n {\n attrs: {\n id: \"mc-startTime\",\n min: new Date(),\n disabled:\n _vm.type !==\n \"add\",\n locale: \"en\",\n },\n on: {\n change:\n _vm.calculateHoursWorked,\n },\n model: {\n value:\n _vm\n .timesheetDetails\n .startTime,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm.timesheetDetails,\n \"startTime\",\n $$v\n )\n },\n expression:\n \"timesheetDetails.startTime\",\n },\n }\n ),\n _c(\n \"small\",\n {\n staticClass:\n \"text-danger\",\n },\n [\n _vm._v(\n _vm._s(\n errors[0]\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"b-col\",\n { attrs: { md: \"3\" } },\n [\n _c(\n \"b-form-group\",\n {\n attrs: {\n label: \"End Time\",\n \"label-for\": \"mc-endTime\",\n },\n },\n [\n _c(\"validation-provider\", {\n attrs: {\n rules: \"required\",\n name: \"End Time\",\n vid: \"end Time\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var errors = ref.errors\n return [\n _c(\n \"b-form-timepicker\",\n {\n attrs: {\n id: \"mc-endTime\",\n min: new Date(),\n disabled:\n _vm.type !==\n \"add\",\n locale: \"en\",\n },\n on: {\n change:\n _vm.calculateHoursWorked,\n },\n model: {\n value:\n _vm\n .timesheetDetails\n .endTime,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm.timesheetDetails,\n \"endTime\",\n $$v\n )\n },\n expression:\n \"timesheetDetails.endTime\",\n },\n }\n ),\n _c(\n \"small\",\n {\n staticClass:\n \"text-danger\",\n },\n [\n _vm._v(\n _vm._s(\n errors[0]\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"b-col\",\n { attrs: { md: \"3\" } },\n [\n _c(\n \"b-form-group\",\n {\n attrs: {\n label: \"Hours Worked\",\n \"label-for\": \"mc-hours\",\n },\n },\n [\n _c(\"validation-provider\", {\n attrs: {\n rules:\n \"required|min_value:0.01|max_value:24\",\n name: \"Hours Worked\",\n vid: \"Hours Worked\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var errors = ref.errors\n return [\n _c(\"b-form-input\", {\n attrs: {\n onkeydown:\n \"javascript: return ['Backspace','Delete','ArrowLeft','ArrowRight'].includes(event.code) ? true : !isNaN(Number(event.key)) && event.code!=='Space'\",\n disabled:\n _vm.type !==\n \"add\",\n id: \"mc-hours\",\n type: \"text\",\n readonly: \"\",\n },\n model: {\n value:\n _vm\n .timesheetDetails\n .hoursWorked,\n callback:\n function ($$v) {\n _vm.$set(\n _vm.timesheetDetails,\n \"hoursWorked\",\n $$v\n )\n },\n expression:\n \"timesheetDetails.hoursWorked\",\n },\n }),\n _c(\n \"small\",\n {\n staticClass:\n \"text-danger\",\n },\n [\n _vm._v(\n _vm._s(\n errors[0]\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"b-col\",\n { attrs: { md: \"3\" } },\n [\n _c(\n \"b-form-group\",\n {\n attrs: {\n label: \"Date\",\n \"label-for\": \"mc-date\",\n },\n },\n [\n _c(\"validation-provider\", {\n attrs: {\n rules: \"required\",\n name: \"Date\",\n vid: \"Date\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var errors = ref.errors\n return [\n _c(\n \"b-form-datepicker\",\n {\n attrs: {\n disabled:\n _vm.type !==\n \"add\",\n id: \"mc-date\",\n max: _vm.today,\n },\n model: {\n value:\n _vm\n .timesheetDetails\n .date,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm.timesheetDetails,\n \"date\",\n $$v\n )\n },\n expression:\n \"timesheetDetails.date\",\n },\n }\n ),\n _c(\n \"small\",\n {\n staticClass:\n \"text-danger\",\n },\n [\n _vm._v(\n _vm._s(\n errors[0]\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n attrs: {\n label: \"Description\",\n \"label-for\":\n \"mc-taskDescription\",\n },\n },\n [\n _c(\"b-form-textarea\", {\n attrs: {\n disabled: _vm.type !== \"add\",\n id: \"mc-taskDescription\",\n type: \"text\",\n },\n model: {\n value:\n _vm.timesheetDetails\n .taskDescription,\n callback: function ($$v) {\n _vm.$set(\n _vm.timesheetDetails,\n \"taskDescription\",\n $$v\n )\n },\n expression:\n \"timesheetDetails.taskDescription\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm.type !== \"add\"\n ? _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n attrs: {\n label: \"Status\",\n \"label-for\": \"mc-status\",\n },\n },\n [\n _c(\"validation-provider\", {\n attrs: {\n rules: \"required\",\n name: \"Status\",\n vid: \"Status\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var errors =\n ref.errors\n return [\n _c(\n \"b-form-select\",\n {\n attrs: {\n id: \"mc-status\",\n disabled:\n _vm.type ===\n \"view\" ||\n _vm\n .timesheetDetails\n .approverID !==\n _vm.userId,\n options:\n _vm.timesheetStatus,\n },\n model: {\n value:\n _vm\n .timesheetDetails\n .status,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm.timesheetDetails,\n \"status\",\n $$v\n )\n },\n expression:\n \"timesheetDetails.status\",\n },\n }\n ),\n _c(\n \"small\",\n {\n staticClass:\n \"text-danger\",\n },\n [\n _vm._v(\n _vm._s(\n errors[0]\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.type !== \"add\" &&\n _vm.timesheetDetails.status === \"REJECTED\"\n ? _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n attrs: {\n label: \"Note\",\n \"label-for\": \"mc-note\",\n },\n },\n [\n _c(\"validation-provider\", {\n attrs: {\n rules: \"required\",\n name: \"Note\",\n vid: \"Note\",\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (ref) {\n var errors =\n ref.errors\n return [\n _c(\n \"b-form-input\",\n {\n attrs: {\n id: \"mc-note\",\n disabled:\n _vm.type ===\n \"view\" ||\n _vm\n .timesheetDetails\n .approverID !==\n _vm.userId,\n },\n model: {\n value:\n _vm\n .timesheetDetails\n .note,\n callback:\n function (\n $$v\n ) {\n _vm.$set(\n _vm.timesheetDetails,\n \"note\",\n $$v\n )\n },\n expression:\n \"timesheetDetails.note\",\n },\n }\n ),\n _c(\n \"small\",\n {\n staticClass:\n \"text-danger\",\n },\n [\n _vm._v(\n _vm._s(\n errors[0]\n )\n ),\n ]\n ),\n ]\n },\n },\n ],\n null,\n true\n ),\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n _vm.type !== \"view\"\n ? _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { cols: \"12\" } },\n [\n _vm.userId !==\n _vm.timesheetDetails.approverID\n ? _c(\n \"b-button\",\n {\n staticClass: \"mt-2 mr-1\",\n attrs: {\n variant: \"primary\",\n },\n on: {\n click:\n _vm.submitTimesheet,\n },\n },\n [_vm._v(\" Save \")]\n )\n : _c(\n \"b-button\",\n {\n staticClass: \"mt-2 mr-1\",\n attrs: {\n variant: \"primary\",\n },\n on: {\n click:\n _vm.submitTimesheet,\n },\n },\n [_vm._v(\" Update \")]\n ),\n _c(\n \"b-button\",\n {\n staticClass: \"mt-2\",\n attrs: {\n variant:\n \"outline-secondary\",\n type: \"button\",\n },\n on: {\n click: _vm.resetTimesheet,\n },\n },\n [_vm._v(\" Cancel \")]\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n ]\n },\n },\n ],\n null,\n false,\n 782232564\n ),\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Add.vue?vue&type=template&id=1edd0747&\"\nimport script from \"./Add.vue?vue&type=script&lang=js&\"\nexport * from \"./Add.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"C:\\\\Users\\\\KoushalManna\\\\Projects\\\\NPCC\\\\NPCC_UI\\\\node_modules\\\\vue-hot-reload-api\\\\dist\\\\index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('1edd0747')) {\n api.createRecord('1edd0747', component.options)\n } else {\n api.reload('1edd0747', component.options)\n }\n module.hot.accept(\"./Add.vue?vue&type=template&id=1edd0747&\", function () {\n api.rerender('1edd0747', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/views/projectmanagement/timesheet/Add.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Add.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Add.vue?vue&type=script&lang=js&\"","export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"207523c4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Add.vue?vue&type=template&id=1edd0747&\""],"sourceRoot":""}