From 9afe58b2eece02fe7054aafdb71a5a9e50ba97a4 Mon Sep 17 00:00:00 2001
From: 周宾 <2802492122@qq.com>
Date: 星期一, 22 十二月 2025 13:19:21 +0800
Subject: [PATCH] 海川开心-相关字段修复
---
src/views/index.vue | 146 ++++++++++++++++++++++++++++++++++++++----------
1 files changed, 116 insertions(+), 30 deletions(-)
diff --git a/src/views/index.vue b/src/views/index.vue
index 154c476..e6b22c5 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -13,9 +13,13 @@
<div class="company-meta">{{userStore.roleName}}</div>
</div>
<div style="display: flex;align-items: center;gap: 8px">
- <el-icon color="#5053B5" size="22"><Clock /></el-icon>
- <span>鐧婚檰鏃ユ湡锛歿{userStore.currentLoginTime}}</span>
- </div>
+ <el-icon color="#5053B5" size="22"><Clock /></el-icon>
+ <span>鐧婚檰鏃ユ湡锛歿{userStore.currentLoginTime}}</span>
+ </div>
+ <div style="display: flex;align-items: center;gap: 8px">
+ <el-icon color="#5053B5" size="22"><Calendar /></el-icon>
+ <span>鎺掔彮鏃堕棿锛歿{scheduleTime}}</span>
+ </div>
</div>
</div>
<div class="data-cards">
@@ -118,11 +122,11 @@
<div class="main-panel">
<div style="display: flex;justify-content: space-between;">
<div class="section-title">搴旀敹搴斾粯缁熻</div>
- <el-radio-group v-model="radio1" size="large" @change="statisticsReceivable">
- <el-radio-button label="鎸夊懆" :value="1" />
- <el-radio-button label="鎸夋湀" :value="2" />
- <el-radio-button label="鎸夊搴�" :value="3" />
- </el-radio-group>
+<!-- <el-radio-group v-model="radio1" size="large" @change="statisticsReceivable">-->
+<!-- <el-radio-button label="鎸夊懆" :value="1" />-->
+<!-- <el-radio-button label="鎸夋湀" :value="2" />-->
+<!-- <el-radio-button label="鎸夊搴�" :value="3" />-->
+<!-- </el-radio-group>-->
</div>
<Echarts ref="chart"
:color="barColors2"
@@ -138,23 +142,23 @@
<!-- 搴曢儴妯悜涓ゆ爮 -->
<div class="dashboard-row">
- <div class="main-panel">
- <div class="section-title">璐ㄩ噺缁熻</div>
- <div class="quality-cards">
- <div class="quality-card one">鍘熸潗鏂欏凡妫�娴嬫暟 <span>{{qualityStatisticsObject.supplierNum}}浠�</span></div>
- <div class="quality-card two">杩囩▼妫�楠屾暟閲� <span>{{qualityStatisticsObject.processNum}}浠�</span></div>
- <div class="quality-card three">鍑哄巶宸叉鏁伴噺 <span>{{qualityStatisticsObject.factoryNum}}浠�</span></div>
- </div>
- <Echarts ref="chart"
- :chartStyle="chartStyle"
- :grid="grid"
- :legend="barLegend"
- :series="barSeries1"
- :tooltip="tooltip"
- :xAxis="xAxis1"
- :yAxis="yAxis1"
- style="height: 260px"></Echarts>
- </div>
+<!-- <div class="main-panel">-->
+<!-- <div class="section-title">璐ㄩ噺缁熻</div>-->
+<!-- <div class="quality-cards">-->
+<!-- <div class="quality-card one">鍘熸潗鏂欏凡妫�娴嬫暟 <span>{{qualityStatisticsObject.supplierNum}}浠�</span></div>-->
+<!-- <div class="quality-card two">杩囩▼妫�楠屾暟閲� <span>{{qualityStatisticsObject.processNum}}浠�</span></div>-->
+<!-- <div class="quality-card three">鍑哄巶宸叉鏁伴噺 <span>{{qualityStatisticsObject.factoryNum}}浠�</span></div>-->
+<!-- </div>-->
+<!-- <Echarts ref="chart"-->
+<!-- :chartStyle="chartStyle"-->
+<!-- :grid="grid"-->
+<!-- :legend="barLegend"-->
+<!-- :series="barSeries1"-->
+<!-- :tooltip="tooltip"-->
+<!-- :xAxis="xAxis1"-->
+<!-- :yAxis="yAxis1"-->
+<!-- style="height: 260px"></Echarts>-->
+<!-- </div>-->
<div class="main-panel">
<div class="section-title">鍥炴涓庡紑绁ㄥ垎鏋�</div>
<Echarts ref="chart" :chartStyle="chartStyle" :grid="grid" :legend="lineLegend" :series="lineSeries"
@@ -165,17 +169,23 @@
</template>
<script setup>
-import { ref, onMounted } from 'vue'
+import { ref, reactive, onMounted } from 'vue'
+import { ElNotification } from 'element-plus'
import Echarts from "@/components/Echarts/echarts.vue";
import * as echarts from 'echarts';
import useUserStore from "@/store/modules/user.js";
+import { Clock, Calendar } from '@element-plus/icons-vue'
import {
analysisCustomerContractAmounts, getAmountHalfYear,
getBusiness,
homeTodos,
qualityStatistics,
- statisticsReceivablePayable
+ statisticsReceivablePayable,
+ approveAndDeviceTodos,
+ noticesCount
} from "@/api/viewIndex.js";
+import { getCurrentUserLatestScheduling } from "@/api/personnelManagement/scheduling.js";
+import dayjs from "dayjs";
const userStore = useUserStore()
@@ -341,6 +351,10 @@
const todoList = ref([])
const radio1 = ref(1)
+// 鎺掔彮鏃堕棿
+const scheduleTime = ref('')
+const scheduleInfo = ref({})
+
// 鍥捐〃寮曠敤
const barChart = ref(null)
const lineChart = ref(null)
@@ -358,6 +372,9 @@
statisticsReceivable()
qualityStatisticsInfo()
getAmountHalfYearNum()
+ getCurrentUserSchedule()
+ getApproveAndDeviceTodos()
+ getOngoingAnnouncementNoticeNumber()
})
// 鏁版嵁缁熻
const getBusinessData = () => {
@@ -386,7 +403,6 @@
}
// 搴斾粯搴旀敹缁熻
const statisticsReceivable = (type) => {
- console.log(type)
statisticsReceivablePayable({type: radio1.value}).then((res) => {
barSeries.value[0].data = [
// { value: res.data.prepayMoney, itemStyle: { color: barColors2[0] } },
@@ -410,6 +426,35 @@
qualityStatisticsObject.value.factoryNum = res.data.factoryNum
})
}
+// 鑾峰彇褰撳墠鐢ㄦ埛鎺掔彮淇℃伅
+const getCurrentUserSchedule = async () => {
+ try {
+ const res = await getCurrentUserLatestScheduling()
+
+ if (res.data) {
+ const currentSchedule = res.data
+ scheduleInfo.value = currentSchedule
+
+ // 鏍煎紡鍖栨帓鐝椂闂存樉绀�
+ if (currentSchedule.startTime && currentSchedule.endTime) {
+ scheduleTime.value = `${currentSchedule.startTime} - ${currentSchedule.endTime}`
+ } else if (currentSchedule.workStartTime && currentSchedule.workEndTime) {
+ const startTime = dayjs(currentSchedule.workStartTime).format('HH:mm')
+ const endTime = dayjs(currentSchedule.workEndTime).format('HH:mm')
+ scheduleTime.value = `${startTime} - ${endTime}`
+ } else {
+ scheduleTime.value = '浠婃棩鏃犳帓鐝�'
+ }
+ } else {
+ scheduleTime.value = '浠婃棩鏃犳帓鐝�'
+ scheduleInfo.value = {}
+ }
+ } catch (error) {
+ console.error('鑾峰彇鎺掔彮淇℃伅澶辫触:', error)
+ scheduleTime.value = '鑾峰彇鎺掔彮淇℃伅澶辫触'
+ }
+}
+
const getAmountHalfYearNum = async () => {
const res = await getAmountHalfYear()
console.log(res)
@@ -484,6 +529,44 @@
},
}
]
+}
+
+// 鍗忓悓寰呭鎵瑰拰鎶ヤ慨寰呭姙浜嬮」
+const getApproveAndDeviceTodos = async () => {
+ try {
+ const res = await approveAndDeviceTodos()
+ const { approveTodo, deviceRepairTodo } = res.data
+
+ // 鏄剧ず閫氱煡
+ ElNotification({
+ title: '寰呭姙浜嬮」鎻愰啋',
+ message: `褰撳墠鏈�${approveTodo}鏉″緟瀹℃壒浜嬮」锛�${deviceRepairTodo}鏉″緟缁翠慨浜嬮」`,
+ type: 'warning',
+ duration: 5000
+ })
+ } catch (error) {
+ console.error('鑾峰彇鍗忓悓寰呭姙浜嬮」澶辫触:', error)
+ }
+}
+// 杩涜涓叕鍛婇�氱煡
+const getOngoingAnnouncementNoticeNumber = async () => {
+ try {
+ const res = await noticesCount()
+ // const { approveTodo, deviceRepairTodo } = res.data
+ const _noticesCount = res.data
+ if(!_noticesCount){
+ return
+ }
+ // 鏄剧ず閫氱煡
+ ElNotification({
+ title: '閫氱煡鍏憡閫氱煡',
+ message: `褰撳墠鏈�${_noticesCount}鏉″叕鍛婇�氱煡锛屾敞鎰忔煡鐪媊,
+ type: 'warning',
+ duration: 5000
+ })
+ } catch (error) {
+ console.error('鑾峰彇鍗忓悓寰呭姙浜嬮」澶辫触:', error)
+ }
}
</script>
@@ -744,15 +827,18 @@
color: #666;
list-style: none;
padding: 0;
+ height: 190px;
+ overflow-y: auto;
+ width: 460px;
}
.line {
position: relative;
- width: 250px;
+ width: 230px;
}
.line::after {
content: '';
position: absolute;
- right: 12px;
+ right: 2px;
top: 0;
bottom: 0;
width: 1px;
--
Gitblit v1.9.3