Fix links in the compliance process
This commit is contained in:
parent
b4527fba8b
commit
5cdbc4eb53
9 changed files with 96 additions and 28 deletions
|
|
@ -16,7 +16,10 @@
|
|||
/>
|
||||
|
||||
<div class="d-flex gap-2 mt-4">
|
||||
<RouterLink class="btn btn-outline-secondary" to="../compliance">
|
||||
<RouterLink
|
||||
class="btn btn-outline-secondary"
|
||||
:to="routes.ComplianceIntro(props.publicID)"
|
||||
>
|
||||
Back
|
||||
</RouterLink>
|
||||
<button class="btn btn-primary flex-grow-1" @click="doContinue">
|
||||
|
|
@ -35,6 +38,7 @@ import HeaderCompliance from "@/rmo/components/HeaderCompliance.vue";
|
|||
import ProgressBarCompliance from "@/rmo/components/ProgressBarCompliance.vue";
|
||||
import AddressAndMapLocator from "@/rmo/components/AddressAndMapLocator.vue";
|
||||
import { Camera } from "@/type/map";
|
||||
import { useRoutes } from "@/rmo/route/use";
|
||||
|
||||
interface Emits {
|
||||
(e: "doAddress"): void;
|
||||
|
|
@ -43,6 +47,7 @@ interface Emits {
|
|||
interface Props {
|
||||
district: District;
|
||||
modelValue: PublicReportCompliance;
|
||||
publicID: string;
|
||||
}
|
||||
const emit = defineEmits<Emits>();
|
||||
const error = ref<string>("");
|
||||
|
|
@ -56,11 +61,12 @@ const initialCamera = computed((): Camera | undefined => {
|
|||
}
|
||||
return undefined;
|
||||
});
|
||||
const routes = useRoutes();
|
||||
function doContinue() {
|
||||
emit("update:modelValue", props.modelValue);
|
||||
emit("doAddress");
|
||||
// re-add when we have the concern data to show
|
||||
// router.push("./concern");
|
||||
router.push(`/district/${props.district.slug}/compliance/evidence`);
|
||||
router.push(routes.ComplianceEvidence(props.publicID));
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -119,7 +119,10 @@
|
|||
|
||||
<!-- Navigation Buttons -->
|
||||
<div class="d-flex gap-2 mt-4">
|
||||
<RouterLink class="btn btn-outline-secondary" to="./permission">
|
||||
<RouterLink
|
||||
class="btn btn-outline-secondary"
|
||||
:to="routes.CompliancePermission(publicID)"
|
||||
>
|
||||
Back
|
||||
</RouterLink>
|
||||
<button class="btn btn-primary flex-grow-1" @click="doContinue()">
|
||||
|
|
@ -136,6 +139,7 @@ import { router } from "@/rmo/route/config";
|
|||
import type { Contact, District, PublicReport } from "@/type/api";
|
||||
import HeaderCompliance from "@/rmo/components/HeaderCompliance.vue";
|
||||
import ProgressBarCompliance from "@/rmo/components/ProgressBarCompliance.vue";
|
||||
import { useRoutes } from "@/rmo/route/use";
|
||||
|
||||
interface Emits {
|
||||
(e: "doContact"): void;
|
||||
|
|
@ -144,12 +148,14 @@ interface Emits {
|
|||
interface Props {
|
||||
district: District;
|
||||
modelValue: PublicReport;
|
||||
publicID: string;
|
||||
}
|
||||
const emit = defineEmits<Emits>();
|
||||
const props = defineProps<Props>();
|
||||
const routes = useRoutes();
|
||||
function doContinue() {
|
||||
emit("update:modelValue", props.modelValue);
|
||||
emit("doContact");
|
||||
router.push("./process");
|
||||
router.push(routes.ComplianceProcess(props.publicID));
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -147,7 +147,10 @@
|
|||
|
||||
<!-- Navigation Buttons -->
|
||||
<div class="d-flex gap-2 mt-4">
|
||||
<RouterLink to="./address" class="btn btn-outline-secondary">
|
||||
<RouterLink
|
||||
class="btn btn-outline-secondary"
|
||||
:to="routes.ComplianceAddress(publicID)"
|
||||
>
|
||||
Back
|
||||
</RouterLink>
|
||||
<button class="btn btn-primary flex-grow-1" @click="doContinue">
|
||||
|
|
@ -165,6 +168,7 @@ import type { District, PublicReportCompliance } from "@/type/api";
|
|||
import HeaderCompliance from "@/rmo/components/HeaderCompliance.vue";
|
||||
import ImageUpload, { Image } from "@/components/ImageUpload.vue";
|
||||
import ProgressBarCompliance from "@/rmo/components/ProgressBarCompliance.vue";
|
||||
import { useRoutes } from "@/rmo/route/use";
|
||||
|
||||
interface Emits {
|
||||
(e: "update:modelValue", value: PublicReportCompliance): void;
|
||||
|
|
@ -173,13 +177,15 @@ interface Emits {
|
|||
interface Props {
|
||||
district: District;
|
||||
modelValue: PublicReportCompliance;
|
||||
publicID: string;
|
||||
}
|
||||
const emit = defineEmits<Emits>();
|
||||
const images = ref<Image[]>([]);
|
||||
const props = defineProps<Props>();
|
||||
const routes = useRoutes();
|
||||
function doContinue() {
|
||||
emit("update:modelValue", props.modelValue);
|
||||
emit("doEvidence", images.value);
|
||||
router.push("./permission");
|
||||
router.push(routes.CompliancePermission(props.publicID));
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -268,7 +268,10 @@
|
|||
|
||||
<!-- Navigation Buttons -->
|
||||
<div class="d-flex gap-2 mt-4">
|
||||
<RouterLink class="btn btn-outline-secondary" to="./evidence">
|
||||
<RouterLink
|
||||
class="btn btn-outline-secondary"
|
||||
:to="routes.ComplianceEvidence(publicID)"
|
||||
>
|
||||
Back
|
||||
</RouterLink>
|
||||
<button class="btn btn-primary flex-grow-1" @click="doContinue">
|
||||
|
|
@ -283,6 +286,7 @@ import { onMounted, ref } from "vue";
|
|||
import { router } from "@/rmo/route/config";
|
||||
import HeaderCompliance from "@/rmo/components/HeaderCompliance.vue";
|
||||
import ProgressBarCompliance from "@/rmo/components/ProgressBarCompliance.vue";
|
||||
import { useRoutes } from "@/rmo/route/use";
|
||||
import {
|
||||
type District,
|
||||
PermissionType,
|
||||
|
|
@ -296,12 +300,14 @@ interface Emits {
|
|||
interface Props {
|
||||
district: District;
|
||||
modelValue: PublicReportCompliance;
|
||||
publicID: string;
|
||||
}
|
||||
const emit = defineEmits<Emits>();
|
||||
const props = defineProps<Props>();
|
||||
const routes = useRoutes();
|
||||
function doContinue() {
|
||||
emit("update:modelValue", props.modelValue);
|
||||
emit("doPermission");
|
||||
router.push("./contact");
|
||||
router.push(routes.ComplianceContact(props.publicID));
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -136,10 +136,16 @@
|
|||
|
||||
<!-- Navigation Buttons -->
|
||||
<div class="d-flex gap-2 mt-4">
|
||||
<RouterLink to="contact" class="btn btn-outline-secondary">
|
||||
<RouterLink
|
||||
class="btn btn-outline-secondary"
|
||||
:to="routes.ComplianceContact(publicID)"
|
||||
>
|
||||
Back
|
||||
</RouterLink>
|
||||
<RouterLink to="submit" class="btn btn-primary flex-grow-1">
|
||||
<RouterLink
|
||||
class="btn btn-primary flex-grow-1"
|
||||
:to="routes.ComplianceSubmit(publicID)"
|
||||
>
|
||||
Continue
|
||||
</RouterLink>
|
||||
</div>
|
||||
|
|
@ -150,8 +156,11 @@
|
|||
import type { District } from "@/type/api";
|
||||
import HeaderCompliance from "@/rmo/components/HeaderCompliance.vue";
|
||||
import ProgressBarCompliance from "@/rmo/components/ProgressBarCompliance.vue";
|
||||
import { useRoutes } from "@/rmo/route/use";
|
||||
interface Props {
|
||||
district: District;
|
||||
publicID: string;
|
||||
}
|
||||
const props = defineProps<Props>();
|
||||
const routes = useRoutes();
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -230,7 +230,10 @@
|
|||
|
||||
<!-- Submit Button -->
|
||||
<div class="d-flex gap-2 mt-4">
|
||||
<RouterLink class="btn btn-outline-secondary" to="process">
|
||||
<RouterLink
|
||||
class="btn btn-outline-secondary"
|
||||
:to="routes.ComplianceProcess(publicID)"
|
||||
>
|
||||
Back
|
||||
</RouterLink>
|
||||
<button class="btn btn-primary flex-grow-1" @click="doContinue()">
|
||||
|
|
@ -252,6 +255,7 @@
|
|||
import { router } from "@/rmo/route/config";
|
||||
import HeaderCompliance from "@/rmo/components/HeaderCompliance.vue";
|
||||
import ProgressBarCompliance from "@/rmo/components/ProgressBarCompliance.vue";
|
||||
import { useRoutes } from "@/rmo/route/use";
|
||||
import {
|
||||
type District,
|
||||
PermissionType,
|
||||
|
|
@ -264,11 +268,13 @@ interface Emits {
|
|||
interface Props {
|
||||
modelValue: PublicReportCompliance;
|
||||
district: District;
|
||||
publicID: string;
|
||||
}
|
||||
const emit = defineEmits<Emits>();
|
||||
const props = defineProps<Props>();
|
||||
const routes = useRoutes();
|
||||
function doContinue() {
|
||||
emit("doSubmit");
|
||||
router.push("./complete");
|
||||
router.push(routes.ComplianceComplete(props.publicID));
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ const routes: RouteRecordRaw[] = [
|
|||
children: [
|
||||
{
|
||||
component: ComplianceIntro,
|
||||
name: "ComplianceIntro",
|
||||
name: ROUTE_NAMES.COMPLIANCE_INTRO,
|
||||
path: "",
|
||||
},
|
||||
{
|
||||
|
|
@ -56,37 +56,37 @@ const routes: RouteRecordRaw[] = [
|
|||
},
|
||||
{
|
||||
component: ComplianceComplete,
|
||||
name: "ComplianceComplete",
|
||||
name: ROUTE_NAMES.COMPLIANCE_COMPLETE,
|
||||
path: "complete",
|
||||
},
|
||||
{
|
||||
component: ComplianceConcern,
|
||||
name: "ComplianceConcern",
|
||||
name: ROUTE_NAMES.COMPLIANCE_CONCERN,
|
||||
path: "concern",
|
||||
},
|
||||
{
|
||||
component: ComplianceContact,
|
||||
name: "ComplianceContact",
|
||||
name: ROUTE_NAMES.COMPLIANCE_CONTACT,
|
||||
path: "contact",
|
||||
},
|
||||
{
|
||||
component: ComplianceEvidence,
|
||||
name: "ComplianceEvidence",
|
||||
name: ROUTE_NAMES.COMPLIANCE_EVIDENCE,
|
||||
path: "evidence",
|
||||
},
|
||||
{
|
||||
component: CompliancePermission,
|
||||
name: "CompliancePermission",
|
||||
name: ROUTE_NAMES.COMPLIANCE_PERMISSION,
|
||||
path: "permission",
|
||||
},
|
||||
{
|
||||
component: ComplianceProcess,
|
||||
name: "ComplianceProcess",
|
||||
name: ROUTE_NAMES.COMPLIANCE_PROCESS,
|
||||
path: "process",
|
||||
},
|
||||
{
|
||||
component: ComplianceSubmit,
|
||||
name: "ComplianceSubmit",
|
||||
name: ROUTE_NAMES.COMPLIANCE_SUBMIT,
|
||||
path: "submit",
|
||||
},
|
||||
],
|
||||
|
|
|
|||
|
|
@ -1,5 +1,13 @@
|
|||
export const ROUTE_NAMES = {
|
||||
COMPLIANCE_ADDRESS: "compliance-address",
|
||||
COMPLIANCE_COMPLETE: "compliance-complete",
|
||||
COMPLIANCE_CONCERN: "compliance-concern",
|
||||
COMPLIANCE_CONTACT: "compliance-contact",
|
||||
COMPLIANCE_EVIDENCE: "compliance-evidence",
|
||||
COMPLIANCE_INTRO: "compliance-intro",
|
||||
COMPLIANCE_PERMISSION: "compliance-permission",
|
||||
COMPLIANCE_PROCESS: "compliance-process",
|
||||
COMPLIANCE_SUBMIT: "compliance-submit",
|
||||
REVIEW_SITE: "review-site",
|
||||
} as const;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,16 @@
|
|||
import { RouteLocationRaw } from "vue-router";
|
||||
import { ROUTE_NAMES } from "@/rmo/route/name";
|
||||
|
||||
function complianceRoute(name: string) {
|
||||
return (publicID: string): RouteLocationRaw => {
|
||||
return {
|
||||
name: name,
|
||||
params: {
|
||||
public_id: publicID,
|
||||
},
|
||||
};
|
||||
};
|
||||
}
|
||||
export function useRoutes() {
|
||||
/*
|
||||
const RMOComplianceAddress = (publicID: string): RouteLocationRaw => {
|
||||
|
|
@ -10,15 +20,26 @@ export function useRoutes() {
|
|||
}
|
||||
}
|
||||
*/
|
||||
const ComplianceAddress = (publicID: string): RouteLocationRaw => {
|
||||
return {
|
||||
name: ROUTE_NAMES.COMPLIANCE_ADDRESS,
|
||||
params: {
|
||||
public_id: publicID,
|
||||
},
|
||||
};
|
||||
};
|
||||
const ComplianceAddress = complianceRoute(ROUTE_NAMES.COMPLIANCE_ADDRESS);
|
||||
const ComplianceComplete = complianceRoute(ROUTE_NAMES.COMPLIANCE_COMPLETE);
|
||||
const ComplianceConcern = complianceRoute(ROUTE_NAMES.COMPLIANCE_CONCERN);
|
||||
const ComplianceContact = complianceRoute(ROUTE_NAMES.COMPLIANCE_CONTACT);
|
||||
const ComplianceEvidence = complianceRoute(ROUTE_NAMES.COMPLIANCE_EVIDENCE);
|
||||
const ComplianceIntro = complianceRoute(ROUTE_NAMES.COMPLIANCE_INTRO);
|
||||
const CompliancePermission = complianceRoute(
|
||||
ROUTE_NAMES.COMPLIANCE_PERMISSION,
|
||||
);
|
||||
const ComplianceProcess = complianceRoute(ROUTE_NAMES.COMPLIANCE_PROCESS);
|
||||
const ComplianceSubmit = complianceRoute(ROUTE_NAMES.COMPLIANCE_SUBMIT);
|
||||
return {
|
||||
ComplianceAddress,
|
||||
ComplianceComplete,
|
||||
ComplianceConcern,
|
||||
ComplianceContact,
|
||||
ComplianceEvidence,
|
||||
ComplianceIntro,
|
||||
CompliancePermission,
|
||||
ComplianceProcess,
|
||||
ComplianceSubmit,
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue