-
Child Care Operating Funding Program - {{ formattedProgramYear }}
+
+ Change Notification Form
-
+
-
-
- For all changes other than "Adding a new facility(s) to your Organization, please download the change notification form by clicking on the button below."
-
+
-
- Download a Change Notification Form
+
+ Download a Change Notification Form
-
-
-
- Please upload the Change Notification Form in the Dropbox below once you have filled out the form.
+
+
+
+ Upload the completed Change Notification Form below.
-
-
-
- Please upload your Community Care License and other supporting documents for your requested changes in the Dropbox below.
+
+
+
+ Upload supporting documents for your requested changes.
-
-
-
-
- Supporting Documents
-
-
-
- Legal or organization name change
-
-
- -
- Proof of name change document
-
(e.g. marriage certificate, resumption of surname certificate, BC Corporate Registry "Notice of Name Change")
-
-
-
-
-
- Group organization mailing address change
-
-
-
-
- Group facility address change
-
-
-
-
- Family facility mailing address change
-
-
-
-
- Family name change
-
-
-
-
- License change
-
-
-
-
- New facility license
-
-
- -
- Family or group CCOF application form
-
-
-
-
-
- For more information visit the Child Care Operating Fund website
-
- Greater Victoria area: +1 250 365-6501
-
- Outside Greater Victoria (toll free): 1 888 338-6622
-
- Email: MCF.CCOF@gov.bc.ca
-
-
-
-
-
+
+
+ Supporting Documents
+
+
+ The Change Notification Form will specify what supporting documents to upload.
+
+
+ These could include:
+
+ -
+ Community Care and Assisted Living Act License
+
+ -
+ Proof of name change document
+
+ (e.g. marriage certificate, resumption of surname certificate, BC Corporate Registry "Notice of Name Change")
+
+
+
+
+ For more information
+ visit the Child Care Operating Funding website
+
+
+ Greater Victoria area: 250 356-6501
+
+ Outside Greater Victoria (toll free): 1 888 338-6622 (Option 2)
+
@@ -178,6 +115,7 @@ export default {
async mounted(){
if (this.$route.params?.urlGuid) {
this.isLoading = true;
+ await this.getChangeRequest(this.$route.params?.changeRecGuid);
await this.loadChangeRequestDocs(this.$route.params.urlGuid);
this.updateChangeNotificationFormCompleteStatus();
}
@@ -203,7 +141,7 @@ export default {
methods: {
...mapMutations('app', ['setCcfriOptInComplete', 'forceNavBarRefresh']),
...mapMutations('navBar', ['forceNavBarRefresh']),
- ...mapActions('reportChanges', ['createChangeRequest','loadChangeRequest', 'loadChangeRequestDocs', 'saveUploadedDocuments']),
+ ...mapActions('reportChanges', ['createChangeRequest','loadChangeRequest', 'loadChangeRequestDocs', 'saveUploadedDocuments', 'getChangeRequest']),
...mapMutations('reportChanges', ['setUploadedDocument']),
previous() {
this.$router.push(PATHS.ROOT.CHANGE_LANDING);
diff --git a/frontend/src/components/requestChanges/ReportChanges.vue b/frontend/src/components/requestChanges/ReportChanges.vue
index d534b379..f951c489 100644
--- a/frontend/src/components/requestChanges/ReportChanges.vue
+++ b/frontend/src/components/requestChanges/ReportChanges.vue
@@ -68,72 +68,80 @@
-
-
-
-
+
+
Change History
-
-
- Change Requests
-
-
- Fiscal Year
-
-
- Facility(s) name
-
-
- Status
-
-
- Submission Date
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{getChangeTypeString(changeRequest.changeActions[0].changeType)}}
-
-
-
- 2023/24
-
-
-
- {{createFacilityNameString(changeRequest.changeActions)}}
-
-
- {{getStatusString(changeRequest.externalStatus)}}
-
-
- {{ changeRequest.createdOnDate }}
-
-
- Continue
-
-
- Delete
-
-
-
-
+
+
+
+
+
+
+
+
+ Continue
+
+
+ View
+
+
+ Update
+
+
+ Discard
+
+
+ Withdraw
+
+
+
-
@@ -160,6 +168,21 @@ export default {
rules: [
(v) => !!v || 'Required.',
],
+ headers: [
+ {
+ text: 'Change Requests',
+ align: 'start',
+ sortable: false,
+ value: 'changeTypeUpdated',
+ class: 'tableHeader'
+ },
+ { text: 'Fiscal Year', value: 'fiscalYear', class: 'tableHeader' },
+ { text: 'Facility(s) name', value: 'facilityNames', class: 'tableHeader' },
+ { text: 'Status', value: 'externalStatus', class: 'tableHeader' },
+ { text: 'Submission Date', value: 'submissionDate', class: 'tableHeader' },
+ { text: ' ', value: 'actions', align: 'start', sortable: false },
+ ],
+ changeHistoryButtonWidth: '100px',
};
},
computed: {
@@ -172,6 +195,29 @@ export default {
}
return (this.applicationStatus === 'SUBMITTED');
},
+ allChangeRequests() {
+ let allChangeRequests = [];
+ if (this.changeRequestStore?.length > 0) {
+ allChangeRequests = this.changeRequestStore?.map((changeRequest, index) => ({
+ index: index,
+ changeRequestId: changeRequest.changeActions[0]?.changeRequestId,
+ changeActionId: changeRequest.changeActions[0]?.changeActionId,
+ changeType: changeRequest.changeActions[0]?.changeType,
+ changeTypeUpdated: this.getChangeTypeString(changeRequest.changeActions[0]?.changeType),
+ fiscalYear: this.formattedProgramYear,
+ facilityNames: this.createFacilityNameString(changeRequest.changeActions),
+ internalStatus: this.getInternalStatusString(changeRequest.status),
+ externalStatus: this.getExternalStatusString(changeRequest.externalStatus),
+ submissionDate: changeRequest?.createdOnDate,
+ priority: changeRequest?.priority
+ }));
+ }
+ return allChangeRequests;
+ },
+ // Table should be vertically scrollable once rows > 8
+ maxChangeHistoryTableHeight() {
+ return this.allChangeRequests?.length > 8 ? 48 * 9 : undefined;
+ },
},
methods: {
...mapActions('reportChanges', ['loadChangeRequest', 'deleteChangeRequest', 'createChangeRequest' ]),
@@ -179,10 +225,6 @@ export default {
previous() {
this.$router.push(PATHS.ROOT.HOME);
},
-
- isPageComplete() {
-
- },
getChangeTypeString(changeType){
console.log('change type', changeType);
switch(changeType){
@@ -217,9 +259,9 @@ export default {
}
});
}
- return str;
+ return str.slice(0, -2);
},
- getStatusString(status){
+ getExternalStatusString(status){
switch (status){
case 1:
return "Incomplete";
@@ -236,7 +278,29 @@ export default {
default:
return "Unknown"; //should never happen!
}
-
+ },
+ getInternalStatusString(status){
+ switch (status){
+ case 1:
+ return "Incomplete";
+ case 3:
+ return "Submitted";
+ case 4:
+ return "Processing";
+ case 5:
+ return "WITH_PROVIDER";
+ case 6:
+ return "Ineligible";
+ case 7:
+ return "Approved";
+ case 8:
+ return "Cancelled";
+ default:
+ return "Unknown"; //should never happen!
+ }
+ },
+ getChangeRequestStyle(changeRequest){
+ return changeRequest.externalStatus == 'Action Required' ? 'redText' : '';
},
next() {
this.$router.push(PATHS.ROOT.HOME);
@@ -277,7 +341,7 @@ export default {
//create the change action first, then push it
if (!changeActionId){
let newReq = await this.createNewChangeRequest('PDF_CHANGE');
- this.$router.push(changeUrlGuid(PATHS.CHANGE_NOTIFICATION_FORM, newReq.changeRequestId, newReq.changeActionId));
+ this.$router.push(changeUrlGuid(PATHS.CHANGE_NOTIFICATION_FORM, newReq?.changeRequestId, newReq?.changeActionId));
}
else{
this.setChangeRequestId(changeRequestId);
@@ -308,7 +372,21 @@ export default {
this.processing = false;
},
-
+ isViewButtonDisplayed(externalStatus) {
+ return ['Submitted','Approved','Cancelled'].includes(externalStatus);
+ },
+ isContinueButtonDisplayed(externalStatus) {
+ return ['Incomplete'].includes(externalStatus);
+ },
+ isDiscardButtonDisplayed(externalStatus) {
+ return ['Incomplete'].includes(externalStatus);
+ },
+ isWithdrawButtonDisplayed(externalStatus, internalStatus) {
+ return (externalStatus == 'Submitted' && (['Submitted','Incomplete','WITH_PROVIDER'].includes(internalStatus)));
+ },
+ isUpdateButtonDisplayed(externalStatus) {
+ return ['Action Required'].includes(externalStatus);
+ },
},
async mounted() {
this.processing = true;
@@ -330,7 +408,15 @@ export default {
.blueButton {
background-color: #003366 !important;
}
-.blueText {
+.blueOutlinedButton {
+ color: #003366 !important;
+}
+::v-deep .tableHeader {
color: rgb(0, 52, 102) !important;
+ font-weight: bold !important;
+ font-size: 16px !important;
+}
+::v-deep .redText {
+ color: red !important;
}
diff --git a/frontend/src/components/requestChanges/SummaryDeclarationReportChanges.vue b/frontend/src/components/requestChanges/SummaryDeclarationReportChanges.vue
index 25fe2529..83436504 100644
--- a/frontend/src/components/requestChanges/SummaryDeclarationReportChanges.vue
+++ b/frontend/src/components/requestChanges/SummaryDeclarationReportChanges.vue
@@ -141,46 +141,13 @@
-
-
I hereby confirm that the information I have provided in this application is complete and accurate.
- I certify that I have read and understand the following requirements:
-
- - Each facility must be licensed under the Community Care and Assisted Living Act;
- - Each facility must be in compliance with the Community Care and Assisted Living Act and Child
- Care Licensing
- Regulation;
-
- - Each facility must be willing to provide services to families who receive the Affordable Child
- Care Benefit;
-
- - The organization must be in good standing with BC Corporate Registry (if a nonprofit society or
- a registered company);
- and
-
- - The applicant must be in good standing with the Ministry of Education and Child Care (that is,
- the Applicant must either
- have no outstanding balances owing to the Ministry OR the Applicant must have established payment
- plans for
- outstanding balances and these must be in good standing).
-
-
-
Intentionally supplying information that is false or misleading with
- respect to a material fact in order to obtain a child care grant may
- lead to action being taken under Section 9 of the Child Care BC Act. If you are convicted of an
- offence under section 9, a court may
- order you imprisoned for up to six months, fine you not more than $2,000.00, or order you to pay the
- government all or part of any
- amount received under the child care grant.
-
-
-
-
+
I do hereby certify that I am the authorized signing authority and that all of the
information provided is true and complete to the best of my knowledge and belief.
I consent to the Ministry contacting other branches within the Ministry and other Province
ministries to validate the accuracy of any information that I have provided.
-
+
I do hereby certify that I am the authorized signing authority and that all of the
information provided is true and complete to the best of my knowledge and belief.
I consent to the Ministry contacting other branches within the Ministry and other Province
@@ -327,45 +294,29 @@ export default {
async mounted() {
this.isProcessing = true;
await this.loadData();
+ if (!this.loadedChangeRequest?.unlockDeclaration) {
+ this.model = this.$store.state.summaryDeclaration.model ?? model;
+ }
// Determine:
// - which user declaration text version (status a or b) will display
// - which declaration status (a or b) will be saved on submit.
// saved as part of submission.
- if (this.loadedChangeRequest?.unlockDeclaration && this.organizationAccountNumber) {
- if (this.loadedChangeRequest?.enabledDeclarationB) {
- this.model.declarationBStatus = 1;
- this.model.declarationAStatus = undefined;
- } else {
- this.model.declarationAStatus = 1;
- this.model.declarationBStatus = undefined;
- }
+ if (this.loadedChangeRequest?.enabledDeclarationB) {
+ this.model.declarationBStatus = 1;
+ this.model.declarationAStatus = undefined;
+ } else {
+ this.model.declarationAStatus = 1;
+ this.model.declarationBStatus = undefined;
}
this.isProcessing = false;
},
- watch: {
- isLoadingComplete: {
- handler: function (val) {
- if (val) {
- setTimeout(() => {
- const keys = Object.keys(this.payload);
- console.log('calling after 1 second');
- if (keys.length > 1) {
- console.log('sending updates to server');
- this.updateApplicationStatus(this.payload);
- this.forceNavBarRefresh();
- }
- }, 1000);
- }
- }
- }
- },
computed: {
...mapGetters('auth', ['userInfo', 'isMinistryUser']),
...mapGetters('navBar', ['getNavByFacilityId', 'getNavByFundingId','getNavByCCFRIId', 'navBarList']),
...mapState('app', ['programYearList']),
...mapState('organization', ['fundingAgreementNumber', 'organizationAccountNumber', 'isOrganizationComplete']),
- ...mapState('summaryDeclaration', ['summaryModel', 'isSummaryLoading', 'isMainLoading', 'isLoadingComplete']),
+ ...mapState('summaryDeclaration', ['isSummaryLoading', 'isMainLoading', 'isLoadingComplete']),
...mapState('application', ['formattedProgramYear', 'isRenewal', 'programYearId', 'unlockBaseFunding', 'isLicenseUploadComplete',
'unlockDeclaration', 'unlockEcewe', 'unlockLicenseUpload', 'unlockSupportingDocuments', 'applicationStatus','isEceweComplete']),
...mapState('reportChanges', ['unsubmittedDocuments', 'changeRequestStore', 'loadedChangeRequest']),
@@ -422,11 +373,10 @@ export default {
description: document.notetext
}));
await this.loadChangeRequestDeclaration(this.$route.params.changeRecGuid);
+ this.isLoading = false;
} catch (error) {
console.log('Error loading the Summary Declaration.', error);
this.setFailureAlert('Error loading the Summary Declaration.');
- } finally {
- this.isLoading = false;
}
},
isPageComplete() {
diff --git a/frontend/src/router.js b/frontend/src/router.js
index e784a15e..87e56c66 100644
--- a/frontend/src/router.js
+++ b/frontend/src/router.js
@@ -64,6 +64,13 @@ Vue.use(VueMeta);
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
+ scrollBehavior: function(to, from, savedPosition) {
+ if (to.hash) {
+ return {selector: to.hash};
+ } else {
+ return { x: 0, y: 0 };
+ }
+ },
routes: [
{
path: PATHS.ROOT.HOME,
diff --git a/frontend/src/store/modules/summaryDeclaration.js b/frontend/src/store/modules/summaryDeclaration.js
index db1f0da7..87597003 100644
--- a/frontend/src/store/modules/summaryDeclaration.js
+++ b/frontend/src/store/modules/summaryDeclaration.js
@@ -86,7 +86,6 @@ export default {
checkSession();
try {
let payload = (await ApiService.apiAxios.get(ApiRoutes.CHANGE_REQUEST + '/' + changeRequestId)).data;
-
//clear the old decleration data out so provider can sign again for Dec B
if (payload.unlockDeclaration){
payload.agreeConsentCertify = null;