Ver código fonte

refactor(qualityControlAnalysisReport): 更新部门名称从旅检科改为安检大队

fix(home-new): 优化消息推送空数据时的显示样式
移除无数据时的默认文本显示,并调整消息容器间距

refactor(qualityControlAnalysisReport): 移除模拟数据功能
删除qaAnalysis组件中的setMockData方法及相关模拟数据

fix(qualityControlAnalysisReport): 修正资质等级描述中的默认等级
将一级改为高级,并更新相关描述文本
huoyi 2 dias atrás
pai
commit
a1a2f10545

+ 7 - 6
src/pages/home-new/components/messagePush.vue

@@ -1,7 +1,8 @@
1
 <template>
1
 <template>
2
     <div class="tips" @click="navigateToMessagePush">
2
     <div class="tips" @click="navigateToMessagePush">
3
         <img alt="" src="@/static/images/messagePush.png">
3
         <img alt="" src="@/static/images/messagePush.png">
4
-        <div class="message-container">
4
+        <div class="message-container"
5
+            :style="{ gap: prohibitedItemText && concealmentPositionText && highRiskChannelText ? '8rpx' : '0rpx' }">
5
             <div class="message-line message-title">近15天违禁品查获情况群体消息推送</div>
6
             <div class="message-line message-title">近15天违禁品查获情况群体消息推送</div>
6
             <div class="message-line">{{ prohibitedItemText }}</div>
7
             <div class="message-line">{{ prohibitedItemText }}</div>
7
             <div class="message-line">{{ concealmentPositionText }}</div>
8
             <div class="message-line">{{ concealmentPositionText }}</div>
@@ -24,7 +25,7 @@ export default {
24
     computed: {
25
     computed: {
25
         prohibitedItemText() {
26
         prohibitedItemText() {
26
             if (!this.prohibitedItemsTop3 || this.prohibitedItemsTop3.length === 0) {
27
             if (!this.prohibitedItemsTop3 || this.prohibitedItemsTop3.length === 0) {
27
-                return '移交公安TOP1:';
28
+                return '';
28
             }
29
             }
29
             const item = this.prohibitedItemsTop3[0];
30
             const item = this.prohibitedItemsTop3[0];
30
             const nameOne = item.categoryNameOne || '';
31
             const nameOne = item.categoryNameOne || '';
@@ -33,7 +34,7 @@ export default {
33
         },
34
         },
34
         concealmentPositionText() {
35
         concealmentPositionText() {
35
             if (!this.concealmentPositionsTop3 || this.concealmentPositionsTop3.length === 0) {
36
             if (!this.concealmentPositionsTop3 || this.concealmentPositionsTop3.length === 0) {
36
-                return '藏匿部位TOP1:';
37
+                return '';
37
             }
38
             }
38
             const item = this.concealmentPositionsTop3[0];
39
             const item = this.concealmentPositionsTop3[0];
39
             const nameOne = item.positionNameOne || '';
40
             const nameOne = item.positionNameOne || '';
@@ -42,7 +43,7 @@ export default {
42
         },
43
         },
43
         highRiskChannelText() {
44
         highRiskChannelText() {
44
             if (!this.highRiskChannelsTop3 || this.highRiskChannelsTop3.length === 0) {
45
             if (!this.highRiskChannelsTop3 || this.highRiskChannelsTop3.length === 0) {
45
-                return '高发通道TOP1:';
46
+                return '';
46
             }
47
             }
47
             const item = this.highRiskChannelsTop3[0];
48
             const item = this.highRiskChannelsTop3[0];
48
             const terminalName = item.terminalName || '';
49
             const terminalName = item.terminalName || '';
@@ -64,7 +65,7 @@ export default {
64
             try {
65
             try {
65
                 const response = await getPushMessage();
66
                 const response = await getPushMessage();
66
                 console.log('推送消息响应:', response);
67
                 console.log('推送消息响应:', response);
67
-                
68
+
68
                 if (response && response.data) {
69
                 if (response && response.data) {
69
                     const { concealmentPositionsTop3, highRiskChannelsTop3, prohibitedItemsTop3 } = response.data;
70
                     const { concealmentPositionsTop3, highRiskChannelsTop3, prohibitedItemsTop3 } = response.data;
70
                     this.concealmentPositionsTop3 = concealmentPositionsTop3 || [];
71
                     this.concealmentPositionsTop3 = concealmentPositionsTop3 || [];
@@ -75,7 +76,7 @@ export default {
75
                 console.error('获取推送消息失败:', error);
76
                 console.error('获取推送消息失败:', error);
76
             }
77
             }
77
         },
78
         },
78
-        
79
+
79
         // 跳转到消息推送详情页面
80
         // 跳转到消息推送详情页面
80
         navigateToMessagePush() {
81
         navigateToMessagePush() {
81
             uni.navigateTo({
82
             uni.navigateTo({

+ 12 - 12
src/pages/qualityControlAnalysisReport/components/dutyOrganization.vue

@@ -342,7 +342,7 @@ export default {
342
           }
342
           }
343
         },
343
         },
344
         legend: {
344
         legend: {
345
-          data: ['旅检一科', '旅检二科', '旅检三科', '全站'],
345
+          data: ['安检一大队', '安检二大队', '安检三大队', '全站'],
346
           top: 0,
346
           top: 0,
347
           show: true,
347
           show: true,
348
         },
348
         },
@@ -404,7 +404,7 @@ export default {
404
             data: []
404
             data: []
405
           },
405
           },
406
           {
406
           {
407
-            name: '旅检一科',
407
+            name: '安检一大队',
408
             type: 'bar',
408
             type: 'bar',
409
             barWidth: '10%',
409
             barWidth: '10%',
410
             itemStyle: {
410
             itemStyle: {
@@ -414,7 +414,7 @@ export default {
414
             data: []
414
             data: []
415
           },
415
           },
416
           {
416
           {
417
-            name: '旅检二科',
417
+            name: '安检二大队',
418
             type: 'bar',
418
             type: 'bar',
419
             barWidth: '10%',
419
             barWidth: '10%',
420
             itemStyle: {
420
             itemStyle: {
@@ -424,7 +424,7 @@ export default {
424
             data: []
424
             data: []
425
           },
425
           },
426
           {
426
           {
427
-            name: '旅检三科',
427
+            name: '安检三大队',
428
             type: 'bar',
428
             type: 'bar',
429
             barWidth: '10%',
429
             barWidth: '10%',
430
             itemStyle: {
430
             itemStyle: {
@@ -456,7 +456,7 @@ export default {
456
           }
456
           }
457
         },
457
         },
458
         legend: {
458
         legend: {
459
-          data: ['旅检一科', '旅检二科', '旅检三科'],
459
+          data: ['安检一大队', '安检二大队', '安检三大队'],
460
           top: 0
460
           top: 0
461
         },
461
         },
462
         grid: {
462
         grid: {
@@ -739,7 +739,7 @@ export default {
739
               data: allData
739
               data: allData
740
             },
740
             },
741
             {
741
             {
742
-              name: '旅检一科',
742
+              name: '安检一大队',
743
               type: 'bar',
743
               type: 'bar',
744
               barWidth: '10%',
744
               barWidth: '10%',
745
               itemStyle: {
745
               itemStyle: {
@@ -749,7 +749,7 @@ export default {
749
               data: dept1Data
749
               data: dept1Data
750
             },
750
             },
751
             {
751
             {
752
-              name: '旅检二科',
752
+              name: '安检二大队',
753
               type: 'bar',
753
               type: 'bar',
754
               barWidth: '10%',
754
               barWidth: '10%',
755
               itemStyle: {
755
               itemStyle: {
@@ -759,7 +759,7 @@ export default {
759
               data: dept2Data
759
               data: dept2Data
760
             },
760
             },
761
             {
761
             {
762
-              name: '旅检三科',
762
+              name: '安检三大队',
763
               type: 'bar',
763
               type: 'bar',
764
               barWidth: '10%',
764
               barWidth: '10%',
765
               itemStyle: {
765
               itemStyle: {
@@ -885,7 +885,7 @@ export default {
885
       // 找出占比最高的等级
885
       // 找出占比最高的等级
886
       const highestLevel = data.reduce((max, item) => {
886
       const highestLevel = data.reduce((max, item) => {
887
         return (item.count || 0) > (max.count || 0) ? item : max
887
         return (item.count || 0) > (max.count || 0) ? item : max
888
-      }, { levelName: '级', count: 0 })
888
+      }, { levelName: '级', count: 0 })
889
 
889
 
890
       // 计算总人数
890
       // 计算总人数
891
       const totalCount = data.reduce((sum, item) => sum + (item.count || 0), 0)
891
       const totalCount = data.reduce((sum, item) => sum + (item.count || 0), 0)
@@ -896,7 +896,7 @@ export default {
896
       const deptName = this.attendanceData && this.attendanceData.length > 0 && this.attendanceData[this.attendanceData.length - 1] ?
896
       const deptName = this.attendanceData && this.attendanceData.length > 0 && this.attendanceData[this.attendanceData.length - 1] ?
897
         this.attendanceData[this.attendanceData.length - 1].deptName : ''
897
         this.attendanceData[this.attendanceData.length - 1].deptName : ''
898
 
898
 
899
-      return `${deptName}资质等级以"${highestLevel.levelName || '级'}"为主(占比为${highestPercentage}%)`
899
+      return `${deptName}资质等级以"${highestLevel.levelName || '级'}"为主(占比为${highestPercentage}%)`
900
     },
900
     },
901
 
901
 
902
     // 格式化资质等级描述第二部分
902
     // 格式化资质等级描述第二部分
@@ -920,7 +920,7 @@ export default {
920
 
920
 
921
         barData.forEach(dept => {
921
         barData.forEach(dept => {
922
           if (dept.levelCounts && Array.isArray(dept.levelCounts)) {
922
           if (dept.levelCounts && Array.isArray(dept.levelCounts)) {
923
-            const level1Data = dept.levelCounts.find(level => level.levelName === '级')
923
+            const level1Data = dept.levelCounts.find(level => level.levelName === '级')
924
             const deptTotalCount = dept.levelCounts.reduce((sum, level) => sum + (level.count || 0), 0)
924
             const deptTotalCount = dept.levelCounts.reduce((sum, level) => sum + (level.count || 0), 0)
925
 
925
 
926
             if (level1Data && level1Data.count > maxLevel1Count) {
926
             if (level1Data && level1Data.count > maxLevel1Count) {
@@ -937,7 +937,7 @@ export default {
937
       }
937
       }
938
 
938
 
939
       // 生成第二部分描述文字
939
       // 生成第二部分描述文字
940
-      return `全站资质等级为"级"的人员集中在${topDeptForLevel1}(${level1Count}人)${topDeptForLevel1}的人员规模(共${totalDeptCount}人)高于一科、二科`
940
+      return `全站资质等级为"级"的人员集中在${topDeptForLevel1}(${level1Count}人)${topDeptForLevel1}的人员规模(共${totalDeptCount}人)高于一科、二科`
941
     },
941
     },
942
 
942
 
943
     // 检查是否为用户类型(已废弃,使用computed属性替代)
943
     // 检查是否为用户类型(已废弃,使用computed属性替代)

+ 2 - 48
src/pages/qualityControlAnalysisReport/components/qaAnalysis.vue

@@ -312,8 +312,7 @@ export default {
312
 
312
 
313
       } catch (error) {
313
       } catch (error) {
314
         console.error('加载抽问抽答数据失败:', error)
314
         console.error('加载抽问抽答数据失败:', error)
315
-        // 模拟数据作为备选
316
-        this.setMockData()
315
+      
317
       } finally {
316
       } finally {
318
         this.loading = false
317
         this.loading = false
319
       }
318
       }
@@ -687,52 +686,7 @@ export default {
687
       return maxValue
686
       return maxValue
688
     },
687
     },
689
 
688
 
690
-    // 设置模拟数据
691
-    setMockData() {
692
-      // 答题完成趋势数据
693
-      const mockCompletionData = {
694
-        processedData: [
695
-          {
696
-            name: '全站',
697
-            type: 'line',
698
-            data: [85, 88, 92, 90, 87, 89, 91, 93, 95, 94, 92, 90],
699
-            symbol: 'circle',
700
-            symbolSize: 6,
701
-            smooth: true,
702
-            lineStyle: { width: 3 }
703
-          }
704
-        ],
705
-        xAxisData: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
706
-      }
707
-
708
-      this.completionTrendDescription = '全站共答题120人次,同比+5.2%,环比+2.1%,旅检一科共答题45人次,占比最高为37.5%。'
709
-      this.updateCompletionTrendChart(mockCompletionData.processedData, mockCompletionData.xAxisData)
710
-
711
-      // 错题分布数据
712
-      const mockPieData = [
713
-        { value: 45.3, name: '操作执行类' },
714
-        { value: 28.7, name: '设施设备类' },
715
-        { value: 15.2, name: '勤务组织类' },
716
-        { value: 8.4, name: '安全知识类' },
717
-        { value: 2.4, name: '其他' }
718
-      ]
719
-
720
-      this.errorDistributionDescription = '错题主要集中于:操作执行类,占比:45.30%;其次为:设施设备类,占比:28.70%,为靶向培训、题库优化提供核心依据。'
721
-      this.updateErrorDistributionChart(mockPieData)
722
-
723
-      // 各科错题分布对比数据
724
-      const mockRadarData = {
725
-        indicators: ['操作执行类', '设施设备类', '勤务组织类', '安全知识类', '其他'],
726
-        series: [
727
-          { name: '旅检一科', data: [85, 45, 30, 60, 10] },
728
-          { name: '旅检二科', data: [40, 80, 55, 70, 15] },
729
-          { name: '旅检三科', data: [35, 50, 90, 45, 20] }
730
-        ]
731
-      }
732
-
733
-      this.departmentComparisonDescription = '旅检一科:问题主要集中于操作执行类;旅检二科:问题主要集中于设施设备类;旅检三科:问题主要集中于勤务组织类,可精准识别主管管理短板,分配质控资源。'
734
-      this.updateDepartmentComparisonChart(mockRadarData)
735
-    }
689
+   
736
   }
690
   }
737
 }
691
 }
738
 </script>
692
 </script>

+ 3 - 3
src/pages/qualityControlAnalysisReport/components/riskHazard.vue

@@ -160,7 +160,7 @@
160
       </view>
160
       </view>
161
 
161
 
162
       <!-- 第九个:可能异常查获数据 -->
162
       <!-- 第九个:可能异常查获数据 -->
163
-      <view class="panel-item" v-show="!isTeamsType && !isUserType">
163
+      <view class="panel-item" v-show="!isTeamsType && !isUserType && !isDepartmentType">
164
         <view class="panel-header">
164
         <view class="panel-header">
165
           <text class="header-text">可能异常查获数据</text>
165
           <text class="header-text">可能异常查获数据</text>
166
         </view>
166
         </view>
@@ -168,7 +168,7 @@
168
         <!-- 描述卡片 -->
168
         <!-- 描述卡片 -->
169
         <view class="describe-card" v-if="abnormalCaptureStats">
169
         <view class="describe-card" v-if="abnormalCaptureStats">
170
           <view class="describe-content">
170
           <view class="describe-content">
171
-            {{ abnormalCaptureStats || '旅检一科、旅检二科、旅检三科查获违禁品数量显著高于整体水平,旅检四科、旅检五科查获违禁品数量显著低于整体水平。' }}
171
+            {{ abnormalCaptureStats || '安检一大队、安检二大队、安检三大队查获违禁品数量显著高于整体水平,旅检四科、旅检五科查获违禁品数量显著低于整体水平。' }}
172
           </view>
172
           </view>
173
         </view>
173
         </view>
174
 
174
 
@@ -946,7 +946,7 @@ export default {
946
       return data.slice(0, 5).map(item => ({
946
       return data.slice(0, 5).map(item => ({
947
         channel: item.channelName || '未知通道',
947
         channel: item.channelName || '未知通道',
948
         count: item.seizureQuantity || 0,
948
         count: item.seizureQuantity || 0,
949
-        area: item.area || '未知区域'
949
+        area: item.regionalName || '未知区域'
950
       }))
950
       }))
951
     },
951
     },
952
 
952