From 10ffa741546c5d36b14932e4a6c17faa81e479bd Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期五, 16 五月 2025 14:41:07 +0800
Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/leshan-laboratory

---
 culture/src/views/deliveryAssessment/projectTeamIntegral/detail.vue |   80 +++++++++++++++++++++++++++++++--------
 1 files changed, 63 insertions(+), 17 deletions(-)

diff --git a/culture/src/views/deliveryAssessment/projectTeamIntegral/detail.vue b/culture/src/views/deliveryAssessment/projectTeamIntegral/detail.vue
index 3c17bbb..94eda43 100644
--- a/culture/src/views/deliveryAssessment/projectTeamIntegral/detail.vue
+++ b/culture/src/views/deliveryAssessment/projectTeamIntegral/detail.vue
@@ -1,20 +1,23 @@
 <template>
-    <div>
+    <div v-if="Object.keys(detailData).length">
         <div class="top-box-header">
             <div class="top-box-header-title">
                 <div>项目组总积分表</div>
                 <div class="top-box-header-time">
-                    <div>评定开始时间:2024-02-09</div>
-                    <div>评定结束始时间:2024-02-09</div>
+                    <div>评定开始时间:{{ detailData.startTime }}</div>
+                    <div>评定结束始时间:{{ detailData.endTime }}</div>
                 </div>
             </div>
             <div class="top-box-integral">
                 <div :style="{ backgroundColor: ['rgba(232, 250, 246, 1)', 'rgba(254, 237, 220, 1)', 'rgba(239, 248, 255, 1)', 'rgba(255, 237, 238, 1)'][item - 1] }"
                     v-for="item in 4" :key="item" class="top-box-integral-card">
-                    <div class="top-box-integral-card-title">{{ ['项目组总积分', '化验师积分', '实验员积分', '实验终止次数'][item -
+                    <div class="top-box-integral-card-title">{{ ['项目组总积分', '菌种工程师积分', '菌种实验员积分', '菌种实验失败次数'][item -
                         1] }}</div>
                     <div :style="{ color: ['rgba(4, 156, 154, 1)', 'rgba(255, 147, 0, 1)', 'rgba(23, 119, 213, 1)', 'rgba(255, 73, 85, 1)'][item - 1] }"
-                        class="top-box-integral-card-num">99.9</div>
+                        class="top-box-integral-card-num">{{
+                            detailData[['teamIntegral', 'engineerIntegral', 'experimenterIntegral', 'failCount'][item - 1]]
+                        }}
+                    </div>
                 </div>
             </div>
         </div>
@@ -27,8 +30,13 @@
                     </div>
                 </div>
                 <div class="integral-content-box-right">
-                    <div v-show="actionsLeftTab != 1" @wheel.prevent="handleWheel" class="integral-content-box-right-nameTab">
-                        <div @click="changeActiveName(item)" :class="activeNameTab == item && 'activeName'" class="integral-content-box-right-nameTab-name" v-for="item in 8" :key="item">张三</div>
+                    <div v-show="actionsLeftTab != 1" @wheel.prevent="handleWheel"
+                        class="integral-content-box-right-nameTab">
+                        <div @click="changeActiveName(item.userName)"
+                            :class="activeNameTab == item.userName && 'activeName'"
+                            class="integral-content-box-right-nameTab-name"
+                            v-for="{ item, index } in detailData.detailExperimentVOS" :key="index">{{ item.userName }}
+                        </div>
                     </div>
                     <div class="integral-content-box-right-thead">
                         <div>评定项</div>
@@ -37,14 +45,31 @@
                         <div>结束时间</div>
                     </div>
                     <div class="integral-content-box-right-body">
-                        <div v-for="item in itemList" :key="item" class="integral-content-box-right-body-item">
+                        <div v-for="(item, index) in itemList" :key="index"
+                            class="integral-content-box-right-body-item">
                             <div>{{ item.gainer }}</div>
                             <div>
-                                <div v-if="item.situationOne">{{ item.situationOne }}</div>
-                                <div v-if="item.situationTwo">{{ item.situationTwo }}</div>
+                                <div>{{ item.situationOne }}{{
+                                    actionsLeftTab === 2 ?
+                                        (selectedExperimenter || {})[item.keys[0]] :
+                                        detailData[item.keys[0]]
+                                }}</div>
+                                <div>{{ item.situationTwo }}{{
+                                    actionsLeftTab === 2 ?
+                                        (selectedExperimenter || {})[item.keys[1]] :
+                                        detailData[item.keys[1]]
+                                }}</div>
                             </div>
-                            <div></div>
-                            <div></div>
+                            <div>{{
+                                actionsLeftTab === 2 ?
+                                    (selectedExperimenter || {})[item.keys[2]] :
+                                    detailData[item.keys[2]]
+                            }}</div>
+                            <div>{{
+                                actionsLeftTab === 2 ?
+                                    (selectedExperimenter || {})[item.keys[3]] :
+                                    detailData[item.keys[3]]
+                            }}</div>
                         </div>
                     </div>
                 </div>
@@ -54,27 +79,30 @@
 </template>
 
 <script>
+import { getDetailData } from './service'
 export default {
     data() {
         return {
             actionsLeftTab: 1,
-            activeNameTab: 1,
-            actionspPersonnel: null,
+            activeNameTab: '',
             craftList: [
                 {
                     gainer: '1、创新型课题',
                     situationOne: '课题数:',
                     situationTwo: '积分数:',
+                    keys: ['innovateCount', 'innovateIntegral', 'innovateStartTime', 'innovateEndTime']
                 },
                 {
                     gainer: '2、规程型课题',
                     situationOne: '课题数:',
                     situationTwo: '积分数:',
+                    keys: ['regulationCount', 'regulationIntegral', 'regulationStartTime', 'regulationEndTime']
                 },
                 {
                     gainer: '3、实验操作评定',
                     situationOne: '考核数:',
                     situationTwo: '积分数:',
+                    keys: ['handleCount', 'handleIntegral', 'handleStartTime', 'handleEndTime']
                 },
             ],//菌种工程师
             assayList: [
@@ -82,8 +110,11 @@
                     gainer: '1、实验操作评定',
                     situationOne: '考核数:',
                     situationTwo: '积分数:',
+                    keys: ['handleCount', 'handleIntegral', 'handleStartTime', 'handleEndTime']
                 },
             ],//菌种实验员
+            detailData: {},
+            selectedExperimenter: null
         }
     },
     computed: {
@@ -99,14 +130,29 @@
         }
     },
     created() {
-
+        getDetailData(this.$route.query.id).then(res => {
+            this.detailData = res;
+            // 确保detailExperimentVOS存在且是数组
+            this.detailData.detailExperimentVOS = this.detailData.detailExperimentVOS || [];
+            if (this.detailData.detailExperimentVOS.length) {
+                this.selectedExperimenter = this.detailData.detailExperimentVOS[0];
+                this.activeNameTab = this.selectedExperimenter.userName;
+            } else {
+                // 设置空对象保护
+                this.selectedExperimenter = {};
+                this.activeNameTab = '';
+            }
+        })
     },
     methods: {
         changeActiveItem(item) {
             this.actionsLeftTab = item
         },
-        changeActiveName(item) {
-            this.activeNameTab = item
+        changeActiveName(userName) {
+            this.activeNameTab = userName;
+            this.selectedExperimenter = this.detailData.detailExperimentVOS.find(
+                item => item.userName === userName
+            );
         },
         handleWheel(e) {
             if (this.scrollTimer) {

--
Gitblit v1.7.1