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,