diff --git a/src/front-end/sass/index.scss b/src/front-end/sass/index.scss index fa8cc04d2..7c14ddf5c 100644 --- a/src/front-end/sass/index.scss +++ b/src/front-end/sass/index.scss @@ -954,6 +954,29 @@ nav.navbar .nav-link:hover { z-index: 1001; // Above nav, below modals } +.li-paren { + counter-reset: list; + & > li { + list-style: none; + } + & > li:before { + font-weight: $font-weight-bold; + counter-increment: list; + } + &-lower-roman { + @extend .li-paren; + & > li:before { + content: counter(list, lower-roman) ") "; + } + } + &-lower-alpha { + @extend .li-paren; + & > li:before { + content: counter(list, lower-alpha) ") "; + } + } +} + // Page-specific overrides .route-orgSWUTerms, diff --git a/src/front-end/typescript/lib/pages/opportunity/team-with-us/lib/components/form.tsx b/src/front-end/typescript/lib/pages/opportunity/team-with-us/lib/components/form.tsx index ceec6d01a..6b0775580 100644 --- a/src/front-end/typescript/lib/pages/opportunity/team-with-us/lib/components/form.tsx +++ b/src/front-end/typescript/lib/pages/opportunity/team-with-us/lib/components/form.tsx @@ -1473,7 +1473,7 @@ const DescriptionView: component_.base.View = ({ , TWUProposalSlim | null, api.ResponseValidation, - api.ResponseValidation, api.ResponseValidation ] > @@ -113,7 +102,6 @@ const init: component_.page.Init< existingProposal: null, activeInfoTab: "details", routePath, - scopeContent: "", competitionRulesContent: "", qualification: "notQualified" }, @@ -123,7 +111,7 @@ const init: component_.page.Init< null, () => adt("noop") ), - component_.cmd.join5( + component_.cmd.join4( api.opportunities.twu.readOne()(opportunityId, (response) => response), viewerUser && isVendor(viewerUser) ? api.proposals.twu.readExistingProposalForOpportunity( @@ -131,10 +119,6 @@ const init: component_.page.Init< (response) => response ) : component_.cmd.dispatch(null), - api.content.readOne()( - TWU_OPPORTUNITY_SCOPE_CONTENT_ID, - (response) => response - ), api.content.readOne()( TWU_QUALIFICATION_TERMS_ID, (response) => response @@ -143,7 +127,6 @@ const init: component_.page.Init< ( opportunityResponse, proposalResponse, - scopeContentResponse, competitionRulesContentResponse, organizationsResponse ) => @@ -151,7 +134,6 @@ const init: component_.page.Init< routePath, opportunityResponse, proposalResponse, - scopeContentResponse, competitionRulesContentResponse, organizationsResponse ]) as Msg @@ -173,7 +155,6 @@ const update: component_.page.Update = ({ routePath, opportunityResponse, proposalResponse, - scopeContentResponse, competitionRulesContentResponse, organizationsResponse ] = msg.value; @@ -195,9 +176,6 @@ const update: component_.page.Update = ({ if (proposalResponse) { state = state.set("existingProposal", proposalResponse); } - if (scopeContentResponse && api.isValid(scopeContentResponse)) { - state = state.set("scopeContent", scopeContentResponse.value.body); - } if ( competitionRulesContentResponse && api.isValid(competitionRulesContentResponse) @@ -481,7 +459,10 @@ const InfoDetails: component_.base.ComponentView = ({ state }) => { ) : null} - + = ({ state }) => { ); }; -const InfoScope: component_.base.ComponentView = ({ state }) => { - return ( - - -

Form of Contract

- - - - -
- ); -}; - const InfoCompetitionRules: component_.base.ComponentView = ({ state }) => { @@ -584,10 +552,6 @@ const InfoTabs: component_.base.ComponentView = ({ ...getTabInfo("details"), text: "Details" }, - { - ...getTabInfo("scope"), - text: "Form of Contract" - }, { ...getTabInfo("competitionRules"), text: "Competition Rules" @@ -619,8 +583,6 @@ const Info: component_.base.ComponentView = (props) => { switch (state.activeInfoTab) { case "details": return ; - case "scope": - return ; case "competitionRules": return ; case "attachments": diff --git a/src/front-end/typescript/lib/pages/proposal/team-with-us/lib/components/form.tsx b/src/front-end/typescript/lib/pages/proposal/team-with-us/lib/components/form.tsx index 76ceeedb5..371ccf124 100644 --- a/src/front-end/typescript/lib/pages/proposal/team-with-us/lib/components/form.tsx +++ b/src/front-end/typescript/lib/pages/proposal/team-with-us/lib/components/form.tsx @@ -676,6 +676,56 @@ const PricingView: component_.base.View = ({
+

+ Proponents take note of the following pricing rules and + requirements: +

+
    +
  1. + Proponent pricing quoted will be taken to mean and deemed to be: +
      +
    1. in Canadian dollars;
    2. +
    3. + inclusive of all costs or expenses that may be incurred with + respect to the services specified by the Competition Notice; +
    4. +
    5. exclusive of any applicable taxes.
    6. +
    +
  2. +
  3. + In addition, the following rules apply to pricing bid by + Proponents: +
      +
    1. + Team With Us Terms & Conditions section 1.8 regarding pricing + and its provisions are incorporated herein by this reference. +
    2. +
    3. + All pricing bid is required to be unconditional and + unqualified. If any pricing bid does not meet this + requirement, the Proponent’s Proposal may be rejected + resulting in the Proponent being eliminated from the + Competition Notice competition. +
    4. +
    5. + Failure to provide pricing where required by the Competition + Notice will result in the Proponent being unable to submit a + Proposal. +
    6. +
    7. + Entering the numerical figure of “$0”, “$zero”, or the like in + response to a call for a specific dollar amount will result in + the Proponent being unable to submit a Proposal. +
    8. +
    9. + The Contract will provide that the Contractor may request an + increase in the bid pricing for any extension term of the + Contract, limited to any increases, if any, as supported by + the Canadian Consumer Price Index or 3% whichever is lower. +
    10. +
    +
  4. +

Please provide the hourly rate you are proposing for this opportunity. @@ -712,6 +762,28 @@ const ResourceQuestionsView: component_.base.View = ({ return ( +

+ General Instructions for Team with Us Proposal Response Form: +

+
    +
  • + This Proposal Response Form includes response guidelines which are + intended to assist Proponents in the development of their Proposals. +
  • +
  • + The response guidelines are not intended to be comprehensive. + Proponents should use their own judgement in determining what + information to provide to demonstrate that the Proponent meets or, + if applicable exceeds the Province’s expectations with respect to a + particular response guideline. +
  • +
  • + Proposals should not contain links to information that is not set + down directly in the Proponent’s Proposal. Should this occur, the + Province may disregard any referred to source of information that is + not contained in the Proposal being evaluated. +
  • +

Provide a response to each of the team questions below. Please note that responses that exceed the word limit will receive a score of