diff --git a/src/views/report/Index.jsx b/src/views/report/Index.jsx index 8b32240..1d2043d 100644 --- a/src/views/report/Index.jsx +++ b/src/views/report/Index.jsx @@ -1,16 +1,10 @@ -import { NavLink } from "react-router-dom"; -import { useEffect, useState } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; -import { toJS } from "mobx"; -import { Row, Col, Space, Button, Table, Divider, Typography, List, Descriptions, DatePicker, Card } from "antd"; +import { Row, Col, Space, Button, Table, Divider, Typography, DatePicker } from "antd"; import { useStore } from "@/stores/StoreContext.js"; import * as config from "@/config"; -import * as comm from "@/utils/commons"; -import dayjs from "dayjs"; import { usePDF } from "react-to-pdf"; -const { Title } = Typography; - function Index() { const { reportStore, authStore } = useStore(); const { search_date_start, search_date_end, vendorScoresData, productScoresData, commendScoresData } = reportStore; @@ -25,8 +19,8 @@ function Index() { }, { title: "Groups", - dataIndex: "GroupsNum", - key: "GroupsNum", + dataIndex: "Groups", + key: "Groups", }, { title: "Number of People", @@ -65,56 +59,6 @@ function Index() { }, ]; - const columns_dmc = [ - { - title: "Category", - dataIndex: "Category", - key: "Category", - onCell: (_, index) => { - if (index === 0) { - return { - rowSpan: 3, - //colSpan:0, - }; - } - if (index >= 1 && index <= 2) { - return { - rowSpan: 0, - colSpan: 0, - }; - } - }, - }, - { - title: "Item", - dataIndex: "Item", - key: "Item", - }, - { - title: "Your Scores", - dataIndex: "Your Scores", - key: "Your Scores", - }, - { - title: "Final Scores", - dataIndex: "Final Scores", - key: "Final Scores", - onCell: (_, index) => { - if (index === 0) { - return { - rowSpan: 5, //合并五行 - //colSpan: 5, - }; - } else { - return { - rowSpan: 0, //不显示其他数据 - colSpan: 0, - }; - } - }, - }, - ]; - const columns_guide = [ { title: "导游", @@ -171,44 +115,6 @@ function Index() { }, ]; - const dataSource_dmc = [ - { - key: "1", - Category: "Category1", - Item: "Item1", - "Your Scores": "Your Scores1", - "Final Scores": "Final Scores1", - }, - { - key: "2", - Category: "Category2", - Item: "Item2", - "Your Scores": "Your Scores2", - "Final Scores": "Final Scores2", - }, - { - key: "3", - Category: "Category3", - Item: "Item3", - "Your Scores": "Your Scores3", - "Final Scores": "Final Scores3", - }, - { - key: "4", - Category: "Category4", - Item: "Item4", - "Your Scores": "Your Scores4", - "Final Scores": "Final Scores4", - }, - { - key: "5", - Category: "Category5", - Item: "Item5", - "Your Scores": "Your Scores5", - "Final Scores": "Final Scores5", - }, - ]; - const { toPDF, targetRef } = usePDF({ method: "save", filename: "GHH-Report.pdf", @@ -219,9 +125,9 @@ function Index() { return ( - + <Typography.Title level={3}> <div></div> - + @@ -265,244 +171,282 @@ function Index() { - + - - - {evaluationScores.Groups} - {evaluationScores.PersonNum} - {evaluationScores.AmountUSD} - {evaluationScores.EvaluationScore} - {evaluationScores.TPReviews} - {evaluationScores.TPReviewRate} - {evaluationScores.Complaints} - {evaluationScores.ComplaintRate} - + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Groups + + Number of People + + Transaction Amount(USD) + + Evaluation Score + + TP Reviews + + TP Reviews Rate + + Complaints + + Complaint Rate +
{evaluationScores.Groups}{evaluationScores.PersonNum}{evaluationScores.AmountUSD}{evaluationScores.EvaluationScore}{evaluationScores.TPReviews}{evaluationScores.TPReviewRate}{evaluationScores.Complaints}{evaluationScores.ComplaintRate}
+
+
+
- + Monthly Data - + 地接考核分数 Final Scores: {evaluationScores.FinalScores} -
-
-
+
+
+
- + - - - - - - - - - - - - - - - + + + + + + + - + - - - - - - - + + + + + + + - - - + + - - + + - - - - - - - + + + + + + + - - - + + - - + +
+ Customer Satisfaction + 3 scores + 4 scores + 5 scores + Your Scores + Final Scores + 备注
TP review rating\30%60%{evaluationScores.TPReviewRating} +
TP review rating\30%60%{evaluationScores.TPReviewRating} {evaluationScores.AvgCusSatisfaction} {evaluationScores.TPReviewRatingText}{evaluationScores.TPReviewRatingText}
Post tour complaints100{evaluationScores.PostTourComplaints}{evaluationScores.PostTourComplaintsText}
Post tour complaints100{evaluationScores.PostTourComplaints}{evaluationScores.PostTourComplaintsText}
Complaints resolved during the tour +
Complaints resolved during the tour 3 {evaluationScores.ComplaintsDuringTour}{evaluationScores.ComplaintsDuringTourText}{evaluationScores.ComplaintsDuringTour}{evaluationScores.ComplaintsDuringTourText}
Customer photos\30%50%{evaluationScores.CustomerPhotoRate}{evaluationScores.CustomerPhotoRateText}
Customer photos\30%50%{evaluationScores.CustomerPhotoRate}{evaluationScores.CustomerPhotoRateText}
Evaluation scores +
Evaluation scores 4.5 {evaluationScores.EvaluationFormScore}{evaluationScores.EvaluationFormScoreText}{evaluationScores.EvaluationFormScore}{evaluationScores.EvaluationFormScoreText}

- + - - - - - - - - - - - - - - - + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + +
+ Operator Support & Local resources + 3 scores + 4 scores + 5 scores + Your Scores + Final Scores + 备注
Response efficiency1d6hrs3hrs{evaluationScores.ResponseEfficiency} +
Response efficiency1d6hrs3hrs{evaluationScores.ResponseEfficiency} {evaluationScores.AvgLocalResources} {evaluationScores.ResponseEfficiencyText}{evaluationScores.ResponseEfficiencyText}
Provide suggestions and alternatives\{evaluationScores.ProvideSuggestions}{evaluationScores.ProvideSuggestionsText}
Provide suggestions and alternatives\{evaluationScores.ProvideSuggestions}{evaluationScores.ProvideSuggestionsText}
Provide local tourism information\{evaluationScores.ProvideLocalInfo}{evaluationScores.ProvideLocalInfoText}
Provide local tourism information\{evaluationScores.ProvideLocalInfo}{evaluationScores.ProvideLocalInfoText}
Assist in developing exclusive products\\{evaluationScores.ExclusiveProducts}{evaluationScores.ExclusiveProductsText}
Assist in developing exclusive products\\{evaluationScores.ExclusiveProducts}{evaluationScores.ExclusiveProductsText}
Dedicated tour guide team for AH\{evaluationScores.DedicatedTourGuide}{evaluationScores.DedicatedTourGuideText}
Dedicated tour guide team for AH\{evaluationScores.DedicatedTourGuide}{evaluationScores.DedicatedTourGuideText}
Partner hotels with contracted rate\{evaluationScores.PartnerHotels}{evaluationScores.PartnerHotelsText}
Partner hotels with contracted rate\{evaluationScores.PartnerHotels}{evaluationScores.PartnerHotelsText}

- + - - - - - - - - - - - - - - - + + + + + + + - + - - - - - - - + + + + + + + - - - - - - - + + + + + + +
+ Pricing & Settlement (20%) + 3 scores + 4 scores + 5 scores + Your Scores + Final Scores + 备注
QuotationPackageDay toursIndividual services{evaluationScores.Quotation} +
QuotationPackageDay toursIndividual services{evaluationScores.Quotation} {evaluationScores.AvgPricingAndSettlement} {evaluationScores.QuotationText}{evaluationScores.QuotationText}
SettlementPrepaymentMonthly PrepaymentMonthly settlement after the tours{evaluationScores.Settlement}{evaluationScores.SettlementText}
SettlementPrepaymentMonthly PrepaymentMonthly settlement after the tours{evaluationScores.Settlement}{evaluationScores.SettlementText}
Cancellation policy30 days21 days1 day{evaluationScores.CancellationPolicy}{evaluationScores.CancellationPolicyText}
Cancellation policy30 days21 days1 day{evaluationScores.CancellationPolicy}{evaluationScores.CancellationPolicyText}
@@ -510,80 +454,86 @@ function Index() {
- Scoring Rules} bordered> - 1. The maximum score is 5 - - 2. The three categories are: - - 1). Customer satisfaction (40%) - 2). Operator support & local resources (40%) - 3). Pricing & settlement (20%) - - - 3. For each category, you can only get the corresponding score if you meet the standards of all items under the score. - 4. The final score is the sum of the scores of each category multiplied by the proportion of the category. - + + Scoring Rules + +
    +
  1. The maximum score is 5
  2. +
  3. + The three categories are: +
      +
    • Customer satisfaction (40%)
    • +
    • Operator support & local resources (40%)
    • +
    • Pricing & settlement (20%)
    • +
    +
  4. +
  5. For each category, you can only get the corresponding score if you meet the standards of all items under the score.
  6. +
  7. The final score is the sum of the scores of each category multiplied by the proportion of the category.
  8. +
+
+
+
反馈表分析 -
-
-
+
+
+
- + - - - - - - - + + - - - + + - - - + + + - - - + + + - - - + + + - - + - - + + - - - + + + - - - + + +
+ 项目 + 产品 + 得分 + 备注说明
+
地接接待 导游{evaluationScores.FRTGuide} + 导游{evaluationScores.FRTGuide} {evaluationScores.FRTText}
司机+车{evaluationScores.FRTGriver}
司机+车{evaluationScores.FRTGriver}
{evaluationScores.FRTMeal}
{evaluationScores.FRTMeal}
产品体验{evaluationScores.FRTProduct}
产品体验{evaluationScores.FRTProduct}
+
线路安排 酒店{evaluationScores.FRTHotel}酒店{evaluationScores.FRTHotel}
游船{evaluationScores.FRTCruise}
游船{evaluationScores.FRTCruise}
顾问服务{evaluationScores.FRTAdvisor}
顾问服务{evaluationScores.FRTAdvisor}
@@ -591,7 +541,7 @@ function Index() {
- + 导游接待情况 @@ -601,7 +551,7 @@ function Index() { 投诉情况
- 批评建议 + 建议