|
|
@@ -1,64 +1,65 @@
|
|
|
<template>
|
|
|
<view class="bg-white mx-card rounded-lg overflow-hidden">
|
|
|
- <view class="p-30 fx-row fx-bet-cen">
|
|
|
- <view class="text-main fx-row gap-8">
|
|
|
+ <view class="p-24 flex justify-between items-center">
|
|
|
+ <view class="text-fore-title flex gap-8">
|
|
|
<text class="text-orange-400">{{ item.ruleCode }}</text>
|
|
|
</view>
|
|
|
<uv-text type="tips" prefix-icon="clock" :text="reportDate" class="!justify-end"/>
|
|
|
</view>
|
|
|
- <view class="mx-20 grid grid-cols-4 text-sm mx-grid-border">
|
|
|
- <view class="fx-row fx-cen-cen py-20">
|
|
|
- <view class="text-content">外向(E)</view>
|
|
|
- <view class="text-main">{{ item.scoreE }}</view>
|
|
|
+ <view class="mx-20 grid grid-cols-4 text-sm ie-grid-border">
|
|
|
+ <view class="flex justify-center items-center gap-5 py-20">
|
|
|
+ <view class="text-fore-content">外向(E)</view>
|
|
|
+ <view class="text-fore-title">{{ item.scoreE }}</view>
|
|
|
</view>
|
|
|
- <view class="fx-row fx-cen-cen py-20">
|
|
|
- <view class="text-content">内向(I)</view>
|
|
|
- <view class="text-main">{{ item.scoreI }}</view>
|
|
|
+ <view class="flex justify-center items-center gap-5 py-20">
|
|
|
+ <view class="text-fore-content">内向(I)</view>
|
|
|
+ <view class="text-fore-title">{{ item.scoreI }}</view>
|
|
|
</view>
|
|
|
- <view class="fx-row fx-cen-cen py-20">
|
|
|
- <view class="text-content">实感(S)</view>
|
|
|
- <view class="text-main">{{ item.scoreS }}</view>
|
|
|
+ <view class="flex justify-center items-center gap-5 py-20">
|
|
|
+ <view class="text-fore-content">实感(S)</view>
|
|
|
+ <view class="text-fore-title">{{ item.scoreS }}</view>
|
|
|
</view>
|
|
|
- <view class="fx-row fx-cen-cen py-20">
|
|
|
- <view class="text-content">直觉(N)</view>
|
|
|
- <view class="text-main">{{ item.scoreN }}</view>
|
|
|
+ <view class="flex justify-center items-center gap-5 py-20">
|
|
|
+ <view class="text-fore-content">直觉(N)</view>
|
|
|
+ <view class="text-fore-title">{{ item.scoreN }}</view>
|
|
|
</view>
|
|
|
- <view class="fx-row fx-cen-cen py-20">
|
|
|
- <view class="text-content">思考(T)</view>
|
|
|
- <view class="text-main">{{ item.scoreT }}</view>
|
|
|
+ <view class="flex justify-center items-center gap-5 py-20">
|
|
|
+ <view class="text-fore-content">思考(T)</view>
|
|
|
+ <view class="text-fore-title">{{ item.scoreT }}</view>
|
|
|
</view>
|
|
|
- <view class="fx-row fx-cen-cen py-20">
|
|
|
- <view class="text-content">情感(F)</view>
|
|
|
- <view class="text-main">{{ item.scoreF }}</view>
|
|
|
+ <view class="flex justify-center items-center gap-5 py-20">
|
|
|
+ <view class="text-fore-content">情感(F)</view>
|
|
|
+ <view class="text-fore-title">{{ item.scoreF }}</view>
|
|
|
</view>
|
|
|
- <view class="fx-row fx-cen-cen py-20">
|
|
|
- <view class="text-content">判断(J)</view>
|
|
|
- <view class="text-main">{{ item.scoreJ }}</view>
|
|
|
+ <view class="flex justify-center items-center gap-5 py-20">
|
|
|
+ <view class="text-fore-content">判断(J)</view>
|
|
|
+ <view class="text-fore-title">{{ item.scoreJ }}</view>
|
|
|
</view>
|
|
|
- <view class="fx-row fx-cen-cen py-20">
|
|
|
- <view class="text-content">认知(P)</view>
|
|
|
- <view class="text-main">{{ item.scoreP }}</view>
|
|
|
+ <view class="flex justify-center items-center gap-5 py-20">
|
|
|
+ <view class="text-fore-content">认知(P)</view>
|
|
|
+ <view class="text-fore-title">{{ item.scoreP }}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="py-20 fx-row justify-center">
|
|
|
- <mx-tag-button text="查看报告" icon="arrow-right" reverse @click="handleReport"/>
|
|
|
+ <view class="py-20 flex justify-center">
|
|
|
+ <ie-tag-button text="查看报告" icon="arrow-right" reverse @click="handleReport"/>
|
|
|
</view>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
-<script setup>
|
|
|
-import _ from 'lodash'
|
|
|
-import {computed} from 'vue'
|
|
|
-import {createPropDefine} from "@/utils";
|
|
|
-import {useTransfer} from "@/hooks/useTransfer";
|
|
|
+<script setup lang="ts">
|
|
|
+import {routes} from "@/common/routes";
|
|
|
+import {MbtiRecord} from "@/types/test-center";
|
|
|
+import {useTransferPage} from "@/hooks/useTransferPage";
|
|
|
|
|
|
-const props = defineProps({
|
|
|
- item: createPropDefine({}, Object)
|
|
|
+const props = withDefaults(defineProps<{
|
|
|
+ item: MbtiRecord
|
|
|
+}>(), {
|
|
|
+ item: () => ({} as MbtiRecord)
|
|
|
})
|
|
|
|
|
|
-const {transferTo} = useTransfer()
|
|
|
+const {transferTo} = useTransferPage()
|
|
|
|
|
|
-const map = {
|
|
|
+const map: Record<string, string> = {
|
|
|
R: '现实型',
|
|
|
A: '艺术型',
|
|
|
I: '研究型',
|
|
|
@@ -67,15 +68,17 @@ const map = {
|
|
|
C: '传统型'
|
|
|
}
|
|
|
|
|
|
-const typeName = computed(() => map[_.first(props.item.ruleCode)] || '')
|
|
|
+const typeName = computed(() => map[props.item.ruleCode ? props.item.ruleCode[0] : ''])
|
|
|
const reportDate = computed(() => getDateStr(props.item.createTime))
|
|
|
|
|
|
-const getDateStr = (str) => {
|
|
|
+const getDateStr = (str: string) => {
|
|
|
return str.substring(0, 10)
|
|
|
}
|
|
|
|
|
|
const handleReport = () => {
|
|
|
- transferTo('/pagesOther/pages/test-center/mbti/mbti', {code: props.item.code})
|
|
|
+ transferTo(routes.pageMbti, {
|
|
|
+ data: {code: props.item.code}
|
|
|
+ })
|
|
|
}
|
|
|
</script>
|
|
|
|