gaoluyang
15 小时以前 03790f338ed62174def6b67776280e3dace05b7e
中兴实强
1.智能驾驶舱大屏数据展示修改
已修改13个文件
178 ■■■■ 文件已修改
src/views/reportAnalysis/PSIDataAnalysis/components/ProductTypeSwitch.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/dataDashboard/components/DateTypeSwitch.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/dataDashboard/components/basic/center-top.vue 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/dataDashboard/components/basic/left-bottom.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/dataDashboard/components/basic/right-bottom.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/dataDashboard/components/basic/right-top.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/productionAnalysis/components/DateTypeSwitch.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/productionAnalysis/components/center-center.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/productionAnalysis/components/left-top.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/productionAnalysis/components/right-bottom.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/productionAnalysis/components/right-top.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/qualityAnalysis/components/DateTypeSwitch.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/qualityAnalysis/components/left-top.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/PSIDataAnalysis/components/ProductTypeSwitch.vue
@@ -5,7 +5,7 @@
    @change="handleChange"
  >
    <el-radio-button :label="1">原材料</el-radio-button>
    <el-radio-button :label="3">半成品</el-radio-button>
    <!-- <el-radio-button :label="3">半成品</el-radio-button> -->
    <el-radio-button :label="2">成品</el-radio-button>
  </el-radio-group>
</template>
src/views/reportAnalysis/dataDashboard/components/DateTypeSwitch.vue
@@ -16,7 +16,7 @@
const props = defineProps({
  modelValue: {
    type: Number,
    default: 1, // 默认选中"周"
    default: 3, // 默认选中"季度"
  },
})
src/views/reportAnalysis/dataDashboard/components/basic/center-top.vue
@@ -40,36 +40,6 @@
      </div>
    </div>
    <!-- 设备统计 -->
    <div class="equipment-stats">
      <div class="equipment-header">
        <img
          src="@/assets/BI/shujutongjiicon@2x.png"
          alt="图标"
          class="equipment-icon"
        />
        <span class="equipment-title">设备统计</span>
      </div>
      <div class="equipment-items">
        <div class="equipment-item">
          <span class="equipment-value">{{ equipmentNum }}</span>
          <span class="equipment-label">设备总数</span>
        </div>
        <div class="equipment-item">
          <span class="equipment-value">{{ equipmentRepair }}</span>
          <span class="equipment-label">待维修设备</span>
        </div>
        <div class="equipment-item">
          <span class="equipment-value">{{ equipmentMaintain }}</span>
          <span class="equipment-label">待保养设备</span>
        </div>
        <div class="equipment-item">
          <span class="equipment-value">{{ totalMeasuring }}</span>
          <span class="equipment-label">计量器具总数</span>
        </div>
      </div>
    </div>
    <!-- 事件名称 -->
    <div class="event-info">
      <div class="event-header">
@@ -112,10 +82,6 @@
<script setup>
import { ref, onMounted, onBeforeUnmount, nextTick, inject, watch } from 'vue'
import { homeTodos, summaryStatistics } from '@/api/viewIndex.js'
import { getLedgerPage } from '@/api/equipmentManagement/ledger.js'
import { getRepairPage } from '@/api/equipmentManagement/repair.js'
import { getUpkeepPage } from '@/api/equipmentManagement/upkeep.js'
import { measuringInstrumentListPage } from '@/api/equipmentManagement/measurementEquipment.js'
// 统计数据
const totalStaff = ref(0)
@@ -125,10 +91,6 @@
const staffYoY = ref(0)
const customersYoY = ref(0)
const suppliersYoY = ref(0)
const equipmentNum = ref(0)
const equipmentRepair = ref(0)
const equipmentMaintain = ref(0)
const totalMeasuring = ref(0)
// 待办事项
const todoList = ref([])
@@ -152,26 +114,6 @@
    suppliersYoY.value = res.data.supplierGrowthRate
  }).catch(err => {
    console.error('获取基础统计数据失败:', err)
  })
}
// 获取设备相关数量
const getLedgerNum = () => {
  const params = {
    pageNum: -1,
    pageSize: -1,
  }
  getLedgerPage(params).then((res) => {
    equipmentNum.value = res.data.total
  })
  getRepairPage({ ...params, status: 0 }).then((res) => {
    equipmentRepair.value = res.data.total
  })
  getUpkeepPage({ ...params, status: 0 }).then((res) => {
    equipmentMaintain.value = res.data.total
  })
  measuringInstrumentListPage(params).then((res) => {
    totalMeasuring.value = res.data.total
  })
}
@@ -286,7 +228,6 @@
const refreshCenterTopData = () => {
  getNum()
  getLedgerNum()
  todoInfoS()
}
@@ -383,75 +324,6 @@
  color: #ff5252;
}
.equipment-stats {
  border: 1px solid #1a58b0;
  padding: 18px;
  height: 240px;
  padding-top: 0px;
}
.equipment-header {
  font-weight: 500;
  font-size: 21px;
  display: flex;
  border-bottom: 1px solid;
  border-image: linear-gradient(
      270deg,
      rgba(0, 126, 255, 0) 0%,
      rgba(0, 126, 255, 0.4549) 35%,
      #007eff 78%,
      #007eff 100%
    )
    1;
  padding-bottom: 2px;
}
.equipment-title {
  font-weight: 500;
  font-size: 18px;
  background: linear-gradient(360deg, #056dff 0%, #43e8fc 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 50px;
}
.equipment-icon {
  width: 50px;
  height: 50px;
}
.equipment-items {
  display: flex;
  justify-content: space-around;
  gap: 30px;
}
.equipment-item {
  text-align: center;
}
.equipment-value {
  display: block;
  font-weight: 500;
  font-size: 40px;
  color: #ffffff;
  width: 120px;
  height: 110px;
  line-height: 110px;
  background-image: url('@/assets/BI/shujutongji@2x.png');
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 8px;
}
.equipment-label {
  font-weight: 500;
  font-size: 16px;
  color: #fffffe;
}
.event-info {
  background-image: url('@/assets/BI/shijianmingchengbeijing@2x.png');
  background-size: 100% 100%;
@@ -459,7 +331,7 @@
  background-repeat: no-repeat;
  padding: 20px;
  padding-top: 10px;
  height: 186px;
  height: 426px;
}
.event-header {
@@ -483,7 +355,7 @@
  list-style: none;
  padding: 0;
  margin: 0;
  height: 120px; /* 按用户要求调整高度 */
  height: 360px; /* 按用户要求调整高度 */
  overflow: hidden;
  font-size: 15px;
}
src/views/reportAnalysis/dataDashboard/components/basic/left-bottom.vue
@@ -47,7 +47,7 @@
import { customerRevenueAnalysis } from '@/api/viewIndex.js'
import { listCustomer } from '@/api/basicData/customer.js'
const dateType = ref(1) // 1=周 2=月 3=季度
const dateType = ref(3) // 1=周 2=月 3=季度
const customerValue = ref(null)
const customerOptions = ref([])
src/views/reportAnalysis/dataDashboard/components/basic/right-bottom.vue
@@ -33,7 +33,7 @@
  height: '100%',
}
const dateType = ref(1) // 1=周 2=月 3=季度
const dateType = ref(3) // 1=周 2=月 3=季度
// 飞机图标 SVG path(与 right-top 一致)
const aircraft =
src/views/reportAnalysis/dataDashboard/components/basic/right-top.vue
@@ -32,7 +32,7 @@
  height: '100%',
}
const radio1 = ref(1)
const radio1 = ref(3)
// 飞机图标 SVG path
const aircraft =
src/views/reportAnalysis/productionAnalysis/components/DateTypeSwitch.vue
@@ -16,7 +16,7 @@
const props = defineProps({
  modelValue: {
    type: Number,
    default: 1, // 默认选中"周"
    default: 3, // 默认选中"季度"
  },
})
src/views/reportAnalysis/productionAnalysis/components/center-center.vue
@@ -10,6 +10,9 @@
        />
        <span class="equipment-title">投入产出分析</span>
      </div>
      <div class="filters-row">
        <DateTypeSwitch v-model="dateType" @change="handleDateTypeChange" />
      </div>
      <Echarts
        ref="chart"
        :chartStyle="chartStyle"
@@ -30,7 +33,10 @@
import { ref, onMounted, inject, watch } from 'vue'
import * as echarts from 'echarts'
import Echarts from '@/components/Echarts/echarts.vue'
import DateTypeSwitch from './DateTypeSwitch.vue'
import { inputOutputAnalysis } from '@/api/viewIndex.js'
const dateType = ref(3) // 1=周 2=月 3=季度
const chartStyle = { width: '100%', height: '100%' }
const grid = {
@@ -132,7 +138,7 @@
}
const fetchData = () => {
  inputOutputAnalysis()
  inputOutputAnalysis({ type: dateType.value })
    .then((res) => {
      if (res.code === 200 && Array.isArray(res.data)) {
        const list = res.data
@@ -144,6 +150,10 @@
    .catch((err) => {
      console.error('获取投入产出分析失败:', err)
    })
}
const handleDateTypeChange = () => {
  fetchData()
}
const dataDashboardRefreshTick = inject('dataDashboardRefreshTick', null)
@@ -167,6 +177,14 @@
  gap: 16px;
}
.filters-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.equipment-header {
  font-weight: 500;
  font-size: 21px;
src/views/reportAnalysis/productionAnalysis/components/left-top.vue
@@ -33,7 +33,7 @@
const pieWrapperRef = ref(null)
const pieBackgroundRef = ref(null)
const dateType = ref(1) // 1=周 2=月 3=季度
const dateType = ref(3) // 1=周 2=月 3=季度
function array2obj(array, key) {
  const resObj = {}
src/views/reportAnalysis/productionAnalysis/components/right-bottom.vue
@@ -28,7 +28,7 @@
import DateTypeSwitch from './DateTypeSwitch.vue'
import Echarts from '@/components/Echarts/echarts.vue'
const dateType = ref(1)
const dateType = ref(3)
const chartStyle = {
  width: '100%',
src/views/reportAnalysis/productionAnalysis/components/right-top.vue
@@ -28,7 +28,7 @@
import Echarts from '@/components/Echarts/echarts.vue'
import DateTypeSwitch from './DateTypeSwitch.vue'
const dateType = ref(1) // 1=周 2=月 3=季度
const dateType = ref(3) // 1=周 2=月 3=季度
const chartStyle = {
  width: '100%',
src/views/reportAnalysis/qualityAnalysis/components/DateTypeSwitch.vue
@@ -16,7 +16,7 @@
const props = defineProps({
  modelValue: {
    type: Number,
    default: 1, // 默认选中"周"
    default: 3, // 默认选中"季度"
  },
})
src/views/reportAnalysis/qualityAnalysis/components/left-top.vue
@@ -89,7 +89,7 @@
  {
    key: 'raw',
    title: '原材料检测',
    dateType: 1,
    dateType: 3,
    qualifiedCount: 0,
    unqualifiedCount: 0,
    qualifiedRate: 0,
@@ -98,7 +98,7 @@
  {
    key: 'process',
    title: '过程检测',
    dateType: 1,
    dateType: 3,
    qualifiedCount: 0,
    unqualifiedCount: 0,
    qualifiedRate: 0,
@@ -107,7 +107,7 @@
  {
    key: 'final',
    title: '成品出厂检测',
    dateType: 1,
    dateType: 3,
    qualifiedCount: 0,
    unqualifiedCount: 0,
    qualifiedRate: 0,