Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion components/sctm/SecurityAssessment.vue
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@

<script setup lang="ts">
import { CheckIcon, ChevronDownIcon } from "@heroicons/vue/20/solid";
import { Listbox, ListboxButton, ListboxLabel, ListboxOption, ListboxOptions, Transition } from "@headlessui/vue";
import { Listbox, ListboxButton, ListboxLabel, ListboxOption, ListboxOptions } from "@headlessui/vue";

interface DropdownItem {
id: number;
Expand Down
66 changes: 66 additions & 0 deletions components/sctm/TechnicalAssessment.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<template>
<div class="relative inline-block">
<h1 class="mb-2 cursor-help text-black underline dark:text-white">Technical Assessment Status</h1>
</div>
<div class="grid grid-cols-8 gap-x-6 gap-y-8">
<div class="col-span-8">
<div class="">
<text class="font-light text-black dark:text-gray-200"> {{ item.technicalAssessmentStatus }} </text>
</div>
</div>
</div>
<div class="relative mt-4 inline-block">
<h1 class="cursor-help text-black underline dark:text-white">Technical Assessment Comments</h1>
</div>
<div class="grid grid-cols-8 gap-x-6 gap-y-8">
<div class="col-span-8">
<div class="whitespace-pre-wrap">
<div
v-for="(line, index) in item.technicalAssessmentComments"
:key="index"
:class="{
'pt-2 text-red-500': line.trim() === 'Open',
'pt-2 text-green-500': line.trim() === 'NotAFinding',
'pt-2 text-sky-500': line.trim() === 'Not_Applicable',
'pt-2 text-amber-500': line.trim() === 'Not_Reviewed',
'font-light text-black dark:text-gray-200': ![
'Open',
'NotAFinding',
'Not_Applicable',
'Not_Reviewed',
].includes(line.trim()),
}"
class="block"
>
{{ line }}
</div>
</div>
</div>
</div>
<div class="relative mt-4 inline-block">
<h1 class="mb-2 cursor-help text-black underline dark:text-white">CCI</h1>
</div>
<div class="grid grid-cols-8 gap-x-6 gap-y-8">
<div class="col-span-8">
<div class=" whitespace-pre-wrap">
<text class="font-light text-black dark:text-gray-200">
{{ item.cci }}
</text>
</div>
</div>
</div>
</template>

<script setup lang="ts">
interface DropdownItem {
id: number;
name: string;
}

const props = defineProps({
evaluationItem: { type: Object, required: true },
complianceStatus: { type: Array as PropType<DropdownItem[]>, required: true },
});

const item = toRef(props, "evaluationItem");
</script>
29 changes: 29 additions & 0 deletions pages/company-boundary/[boundaryId]/SCTM/[sctmId].vue
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,35 @@
</DisclosurePanel>
</transition>
</Disclosure>
<Disclosure v-slot="{ open }" :default-open="true" as="div" class="mb-2 pr-4">
<DisclosureButton
:class="[
open ? 'bg-gray-300 dark:bg-gray-900' : 'rounded-b-lg bg-gray-900/10 dark:bg-gray-300/5',
'flex h-16 w-full items-center justify-between rounded-t-lg px-4 py-2 text-left text-lg font-medium text-gray-800 hover:bg-gray-300 focus:outline-none focus-visible:ring focus-visible:ring-purple-500 focus-visible:ring-opacity-75 dark:text-white dark:hover:bg-gray-900',
]"
>
Technical Assessment
<ChevronRightIcon :class="[open && 'rotate-90 transform', 'h-6 w-6']" />
</DisclosureButton>
<transition
enter-active-class="transition duration-100 ease-out"
enter-from-class="transform scale-95 opacity-0"
enter-to-class="transform scale-100 opacity-100"
leave-active-class="transition duration-75 ease-out"
leave-from-class="transform scale-100 opacity-100"
leave-to-class="transform scale-95 opacity-0"
>
<DisclosurePanel
class="h-84 text-md w-full rounded-b-lg bg-gray-300/5 px-4 py-4 text-left font-medium text-white focus:outline-none focus-visible:ring focus-visible:ring-purple-500 focus-visible:ring-opacity-75"
>
<sctmTechnicalAssessment
v-if="dropdowns"
:evaluation-item="controlRecordItem"
:compliance-status="dropdowns['compliance-statuses'] || []"
/>
</DisclosurePanel>
</transition>
</Disclosure>
<Disclosure v-slot="{ open }" :default-open="true" as="div" class="mb-2 pr-4">
<DisclosureButton
:class="[
Expand Down
Loading