From 6ef9e5189ac1888b8c4c504d5c5d3f431807ff56 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期六, 15 三月 2025 11:57:40 +0800
Subject: [PATCH] 修改电路试验单位
---
src/components/view/index-index.vue | 187 ++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 169 insertions(+), 18 deletions(-)
diff --git a/src/components/view/index-index.vue b/src/components/view/index-index.vue
index f6fc701..cc46e86 100644
--- a/src/components/view/index-index.vue
+++ b/src/components/view/index-index.vue
@@ -64,6 +64,7 @@
display: flex;
align-items: center;
justify-content: center;
+ cursor: pointer;
}
.right-1-item .mun{
@@ -85,9 +86,9 @@
.right-2-body{
width: 100%;
margin-top: 20px;
- display: flex;
+ /* display: flex;
align-items: start;
- justify-content: space-between;
+ justify-content: space-between; */
}
>>>.el-calendar__header {
display: none;
@@ -314,7 +315,7 @@
</el-col>
<el-col :xs="24" :sm="24" :md="10" :lg="10" :xl="10">
<div class="right-1 card">
- <div class="right-1-item">
+ <div class="right-1-item" @click="openNotice">
<div class="img">
<img src="../../../static/img/index-0.svg" alt="">
</div>
@@ -323,7 +324,7 @@
<p style="font-size: 14px;margin-bottom: 10px;">鎴戠殑寰呭姙</p>
</div>
</div>
- <div class="right-1-item">
+ <div class="right-1-item" @click="openNotice">
<div class="img">
<img src="../../../static/img/index-1.svg" alt="">
</div>
@@ -332,7 +333,7 @@
<p style="font-size: 14px;margin-bottom: 10px;">宸插姙浜嬪疁</p>
</div>
</div>
- <div class="right-1-item">
+ <div class="right-1-item" @click="openNotice">
<div class="img">
<img src="../../../static/img/index-2.svg" alt="">
</div>
@@ -341,7 +342,7 @@
<p style="font-size: 14px;margin-bottom: 10px;">鍓╀綑寰呭姙</p>
</div>
</div>
- <div class="right-1-item">
+ <div class="right-1-item" @click="openNotice">
<div class="img">
<img src="../../../static/img/index-3.svg" alt="">
</div>
@@ -353,12 +354,58 @@
</div>
<div class="right-2 card">
<div class="right-2-title">
- <span style="color: #333333;font-size: 16px;">鎴戠殑鏃ョ▼</span>
- <span style="cursor: pointer;font-size: 12px;
-color: #3A7BFA;" @click="dialogVisible=true">娣诲姞鎴戠殑鏃ョ▼</span>
+ <span style="color: #333333;font-size: 16px;">宸ユ椂缁熻</span>
+ <div>
+ <el-select v-model="sonLaboratory" placeholder="绔欑偣" size="mini" style="width: 100px;" @change="initEchart">
+ <el-option
+ v-for="item in sonLaboratoryList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ <el-radio-group v-model="type" size="mini">
+ <el-radio-button label="鍛�" ></el-radio-button>
+ <el-radio-button label="鏈�"></el-radio-button>
+ <el-radio-button label="骞�"></el-radio-button>
+ </el-radio-group>
+ <el-date-picker
+ v-model="time.week"
+ type="week"
+ format="yyyy 绗� WW 鍛�"
+ placeholder="閫夋嫨鍛�" size="mini" v-if="type=='鍛�'" @change="m=>changeTime(type,m)" style="width: 130px;">
+ </el-date-picker>
+ <el-date-picker
+ v-model="time.month"
+ type="month"
+ placeholder="閫夋嫨鏈�" size="mini" v-if="type=='鏈�'" @change="m=>changeTime(type,m)" style="width: 130px;">
+ </el-date-picker>
+ <el-date-picker
+ v-model="time.year"
+ type="year"
+ placeholder="閫夋嫨骞�" size="mini" v-if="type=='骞�'" @change="m=>changeTime(type,m)" style="width: 130px;">
+ </el-date-picker>
+ </div>
+ <!-- <span style="cursor: pointer;font-size: 12px;
+color: #3A7BFA;" @click="dialogVisible=true">娣诲姞鎴戠殑鏃ョ▼</span> -->
</div>
<div class="right-2-body">
- <div class="calendar" style="width: 49%;">
+ <el-row :gutter="10" style="width: 100%;height: 80px;">
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
+ <div style="height: 100%;background: url(../../../static/img/bg1.png) no-repeat;background-size: 100% 100%;padding: 12px 0;box-sizing: border-box;">
+ <p style="text-align: center;font-size: 14px;color: #606266;line-height: 20px;margin-bottom: 4px;">鎬诲伐鏃�(灏忔椂)</p>
+ <p style="text-align: center;font-family: DIN Alternate, DIN Alternate;font-weight: 700;font-size: 30px;color: #3D3D3D;line-height: 35px;">{{chartData0.total}}</p>
+ </div>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
+ <div style="height: 100%;background: url(../../../static/img/bg2.png) no-repeat;background-size: 100% 100%;padding: 12px 0;box-sizing: border-box;">
+ <p style="text-align: center;font-size: 14px;color: #606266;line-height: 20px;margin-bottom: 4px;">妫�楠屽憳(涓�)</p>
+ <p style="text-align: center;font-family: DIN Alternate, DIN Alternate;font-weight: 700;font-size: 30px;color: #3D3D3D;line-height: 35px;">{{chartData0.personNum}}</p>
+ </div>
+ </el-col>
+ </el-row>
+ <echart-module :id="'index-1'" :config="chartConfig0" :datas="chartData0" style="height: 250px;width: 100%;"></echart-module>
+ <!-- <div class="calendar" style="width: 49%;">
<div class="control">
<el-button class="prevm" @click="prevMonth(calendarValue)" icon="el-icon-arrow-left"></el-button>
<span>{{ calendarValue.getFullYear()+'骞�'+(calendarValue.getMonth() + 1)+'鏈�' }}</span>
@@ -371,12 +418,10 @@
<span>
{{ data.day.split('-').slice(2)+'' }}
</span>
- <!-- <el-badge v-if="data.isSelected" is-dot class="item">
- </el-badge> -->
</template>
</el-calendar>
- </div>
- <div class="right-2-list" style="width: 49%;height: 286px;" v-loading="scheduleLoading">
+ </div> -->
+ <!-- <div class="right-2-list" style="width: 49%;height: 286px;" v-loading="scheduleLoading">
<div class="list2-item" v-for="(m,i) in listScheduleByMe" :key="i">
<span>{{ m.scheduleTimes }}</span>
<el-tooltip style="margin-left: 10px;" effect="dark" :content="m.text" placement="top">
@@ -384,7 +429,7 @@
</el-tooltip>
</div>
<span style="color:rgb(144, 147, 153);font-size: 14px;text-align: center;margin: 120px 0;display: inline-block;width: 100%;" v-if="listScheduleByMe.length==0">鏆傛棤鏁版嵁</span>
- </div>
+ </div> -->
</div>
</div>
<div class="right-3 card" style="overflow: hidden;">
@@ -452,9 +497,12 @@
getYearAndMonthAndDays
} from '../../util/date'
import ScrollPagination from '../tool/scroll-paging.vue'
+ import EchartModule from '../tool/echart.vue'
+import { name } from 'file-loader';
export default {
components: {
- ScrollPagination
+ ScrollPagination,
+ EchartModule
},
data() {
return {
@@ -483,6 +531,26 @@
timer:null,
keyMap:{},
getNumberFourTypes: {},
+ type:'鏈�',
+ time:{
+ week:'',
+ month:'',
+ year:'',
+ },
+ startTime:'',
+ endTime:'',
+ sonLaboratory:null,
+ sonLaboratoryList:[],
+ chartData0:{
+ total:0,
+ personNum:0,
+ data:[]
+ },
+ chartConfig0:{
+ height: '',
+ isLoading:false,
+ type:'pie0'
+ }
}
},
watch:{
@@ -494,6 +562,22 @@
this.currentPage = 1;
this.list = [];
this.getList();
+ },
+ type(val){
+ switch(val){
+ case '鍛�':
+ this.time.week = new Date()
+ this.changeTime(val,this.time.week)
+ break;
+ case '鏈�':
+ this.time.month = new Date()
+ this.changeTime(val,this.time.month)
+ break;
+ case '骞�':
+ this.time.year = new Date()
+ this.changeTime(val,this.time.year)
+ break;
+ }
}
},
mounted() {
@@ -508,7 +592,8 @@
this.keyMap = {}
this.list = [];
this.getList();
- this.getScheduleByMe()
+ this.getLaboratoryDicts()
+ // this.getScheduleByMe()
this.timer&&clearInterval(this.timer)
this.timer = setInterval(() => {
this.init();
@@ -516,7 +601,7 @@
this.keyMap = {}
this.list = [];
this.getList();
- this.getScheduleByMe()
+ // this.getScheduleByMe()
},1000*60*10)
this.getNumberFourTypesFun()
},
@@ -687,6 +772,28 @@
})
})
},
+ async initEchart(){
+ this.chartConfig0.isLoading = false
+ let res0 = await this.$axios.post(this.$api.report.manHourByStation+'?startTime='+this.startTime+'&endTime='+this.endTime+'&sonLaboratory='+this.sonLaboratory)
+ if (res0.code == 201) return
+ this.chartData0.total = res0.message
+ let res1 = await this.$axios.post(this.$api.report.manHourByPerson+'?startTime='+this.startTime+'&endTime='+this.endTime+'&sonLaboratory='+this.sonLaboratory)
+ if (res1.code == 201) return
+ this.chartData0.personNum = 0
+ this.chartData0.data = []
+ if(res1.data){
+ for(let m in res1.data){
+ this.chartData0.personNum ++
+ let obj = {
+ name:m,
+ value:res1.data[m],
+ penl:this.chartData0.total>0?((res1.data[m]/this.chartData0.total)*100).toFixed(2):0
+ }
+ this.chartData0.data.push(obj)
+ }
+ }
+ this.chartConfig0.isLoading = true
+ },
getWeekdaysForNextWeek() {
let weekdays = [];
for (let i = 0; i < 7; i++) {
@@ -771,6 +878,50 @@
text:row.text
}
},1);
+ },
+ changeTime(type,m){
+ if(m){
+ switch(type){
+ case '鍛�':
+ this.startTime = getYearAndMonthAndDays(new Date(this.time.week.getTime() - 24 * 60 * 60 * 1000))
+ this.endTime = getYearAndMonthAndDays(new Date(this.time.week.getTime() + 24 * 60 * 60 * 1000 * 5))
+ break;
+ case '鏈�':
+ const year = new Date(this.time.month).getFullYear();
+ const month = new Date(this.time.month).getMonth();
+ const day = new Date(year, month + 1, 0).getDate(); //
+ // 璁剧疆璧峰鏃ユ湡鍜岀粨鏉熸棩鏈�
+ this.startTime = `${year}-${month + 1}-01`
+ this.endTime = `${year}-${month + 1}-${day}` // 鏈堟湯
+ break;
+ case '骞�':
+ const year0 = new Date(this.time.year).getFullYear();
+ this.startTime = `${year0}-01-01`; // 骞村垵
+ this.endTime = `${year0}-12-31`; // 骞存湯
+ break;
+ }
+ }else{
+ const year = new Date().getFullYear();
+ const month = new Date().getMonth();
+
+ // 璁剧疆璧峰鏃ユ湡鍜岀粨鏉熸棩鏈�
+ this.startTime = new Date(year, month, 1).toISOString().slice(0, 10); // 鏈堝垵
+ this.endTime = new Date(year, month + 1, 0).toISOString().slice(0, 10); // 鏈堟湯
+ this.time.month = new Date()
+ }
+ this.initEchart()
+ },
+ getLaboratoryDicts() {
+ this.$axios.post(this.$api.enums.selectEnumByCategory, {
+ category: "瀛愬疄楠屽"
+ }).then(res => {
+ this.sonLaboratoryList = res.data
+ this.sonLaboratory = '杩滃満'
+ this.changeTime(this.type)
+ })
+ },
+ openNotice(){
+ this.$parent.openNotice()
}
},
deactivated(){
--
Gitblit v1.9.3