From c67f52b0060a3d3339a0c62850e919c152d3a669 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期五, 21 六月 2024 10:00:31 +0800
Subject: [PATCH] 完成人员考评接口对接
---
src/components/view/b3-personnel-evaluation.vue | 67 +++++++--
src/components/do/b3-personnel-evaluation/leader-rate.vue | 66 ++++++---
src/main.js | 4
src/components/do/b3-personnel-evaluation/employee-mutual-evaluation.vue | 117 ++++++++++------
src/components/do/b3-work-time-management/work-time-statistics.vue | 10
src/components/do/b3-personnel-evaluation/evaluation.vue | 24 ++
src/components/do/b3-personnel-evaluation/supervisor-rate.vue | 69 ++++++---
src/assets/api/controller.js | 14 ++
8 files changed, 252 insertions(+), 119 deletions(-)
diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js
index 60cde49..a50cbaf 100644
--- a/src/assets/api/controller.js
+++ b/src/assets/api/controller.js
@@ -31,6 +31,7 @@
auxiliaryCorrectionHours,
insBushing,
auxiliaryOriginalHours,
+ evaluate,
}
}
@@ -351,3 +352,16 @@
selectAuxiliaryOriginalHours: "/auxiliaryOriginalHours/selectAuxiliaryOriginalHours", //鏌ヨ鍘熷宸ユ椂
exportOriginalHours: "/auxiliaryOriginalHours/exportOriginalHours", //瀵煎嚭鍘熷宸ユ椂
}
+
+const evaluate = {
+ page: "/evaluate/page", //鏌ヨ鑰冭瘎
+ exportEvaluate: "/evaluate/exportEvaluate", //瀵煎嚭鑰冭瘎
+ getEvaluateCompetent: "/evaluateCompetent/getEvaluateCompetent", //鏌ヨ涓荤鎵撳垎
+ writeEvaluateCompetent: "/evaluateCompetent/writeEvaluateCompetent", //濉啓涓荤鎵撳垎
+ getEvaluateLeader: "/evaluateLeader/getEvaluateLeader", //鏌ヨ缁勯暱璇勫垎
+ writeEvaluateLeader: "/evaluateLeader/writeEvaluateLeader", //缁勯暱璇勫垎
+ exportEvaluateCompetent: "/evaluateCompetent/exportEvaluateCompetent", //瀵煎嚭涓荤鎵撳垎
+ exportEvaluateLeader: "/evaluateLeader/exportEvaluateLeader", //瀵煎嚭缁勯暱鎵撳垎
+ getEvaluateGroup: "/evaluateGroup/getEvaluateGroup", //鏌ヨ鍛樺伐浜掕瘎
+ writeEvaluateGroup: "/evaluateGroup/writeEvaluateGroup", //濉啓鍛樺伐浜掕瘎
+}
diff --git a/src/components/do/b3-personnel-evaluation/employee-mutual-evaluation.vue b/src/components/do/b3-personnel-evaluation/employee-mutual-evaluation.vue
index 83a64bc..ae836ea 100644
--- a/src/components/do/b3-personnel-evaluation/employee-mutual-evaluation.vue
+++ b/src/components/do/b3-personnel-evaluation/employee-mutual-evaluation.vue
@@ -1,9 +1,9 @@
<template>
<div class="table-item">
- <p style="text-align: center;margin-bottom: 10px;">{{ laboratory.label }} {{ Number(month.split('-')[1]) }} 鏈堜唤鍛樺伐浜掕瘎鎵撳垎琛�</p>
+ <p style="text-align: center;margin-bottom: 10px;">{{ entity.departLims }} {{ Number(entity.month.split('-')[1]) }} 鏈堜唤鍛樺伐浜掕瘎鎵撳垎琛�</p>
<el-table
:data="tableData"
- style="width: 100%" height="calc(100% - 20px)">
+ style="width: 100%" height="calc(100% - 20px)" v-loading="loading">
<el-table-column
type="index"
label="搴忓彿"
@@ -15,21 +15,21 @@
<el-table-column label="鍙婃椂瀹屾垚">
<el-table-column label="20" width="90px">
<template slot-scope="scope">
- <el-radio :label="20" v-model="scope.row.radio0">{{ '' }}</el-radio>
+ <el-radio :label="20" v-model="scope.row.seasonable" @input="m=>handleChange(m,scope.row,'seasonable')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="鍌績瀹屾垚">
<el-table-column label="15" width="90px">
<template slot-scope="scope">
- <el-radio :label="15" v-model="scope.row.radio0">{{ '' }}</el-radio>
+ <el-radio :label="15" v-model="scope.row.seasonable" @input="m=>handleChange(m,scope.row,'seasonable')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="寤舵湡杈冮暱">
<el-table-column label="10" width="90px">
<template slot-scope="scope">
- <el-radio :label="10" v-model="scope.row.radio0">{{ '' }}</el-radio>
+ <el-radio :label="10" v-model="scope.row.seasonable" @input="m=>handleChange(m,scope.row,'seasonable')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
@@ -38,21 +38,21 @@
<el-table-column label="鍏ㄦ湀鏃犻敊">
<el-table-column label="20" width="90px">
<template slot-scope="scope">
- <el-radio :label="20" v-model="scope.row.radio1">{{ '' }}</el-radio>
+ <el-radio :label="20" v-model="scope.row.exact" @input="m=>handleChange(m,scope.row,'exact')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="鍋舵湁澶辫">
<el-table-column label="15" width="90px">
<template slot-scope="scope">
- <el-radio :label="15" v-model="scope.row.radio1">{{ '' }}</el-radio>
+ <el-radio :label="15" v-model="scope.row.exact" @input="m=>handleChange(m,scope.row,'exact')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="棰戠箒閿欒">
<el-table-column label="10" width="90px">
<template slot-scope="scope">
- <el-radio :label="10" v-model="scope.row.radio1">{{ '' }}</el-radio>
+ <el-radio :label="10" v-model="scope.row.exact" @input="m=>handleChange(m,scope.row,'exact')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
@@ -61,105 +61,105 @@
<el-table-column label="鎿嶄綔鐔熺粌">
<el-table-column label="20" width="90px">
<template slot-scope="scope">
- <el-radio :label="20" v-model="scope.row.radio2">{{ '' }}</el-radio>
+ <el-radio :label="20" v-model="scope.row.skill" @input="m=>handleChange(m,scope.row,'skill')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="鎿嶄綔鍩烘湰鐔熺粌">
<el-table-column label="15" width="120px">
<template slot-scope="scope">
- <el-radio :label="15" v-model="scope.row.radio2">{{ '' }}</el-radio>
+ <el-radio :label="15" v-model="scope.row.skill" @input="m=>handleChange(m,scope.row,'skill')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="闇�瑕佹寚瀵�">
<el-table-column label="12" width="90px">
<template slot-scope="scope">
- <el-radio :label="12" v-model="scope.row.radio2">{{ '' }}</el-radio>
+ <el-radio :label="12" v-model="scope.row.skill" @input="m=>handleChange(m,scope.row,'skill')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column label="璁惧缁存姢">
<el-table-column label="鑷缁存姢">
- <el-table-column label="10" width="90px"">
+ <el-table-column label="10" width="90px">
<template slot-scope="scope">
- <el-radio :label="10" v-model="scope.row.radio3">{{ '' }}</el-radio>
+ <el-radio :label="10" v-model="scope.row.preserve" @input="m=>handleChange(m,scope.row,'preserve')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="鑳界淮鎶�">
- <el-table-column label="5" width="80px"">
+ <el-table-column label="5" width="80px">
<template slot-scope="scope">
- <el-radio :label="5" v-model="scope.row.radio3">{{ '' }}</el-radio>
+ <el-radio :label="5" v-model="scope.row.preserve" @input="m=>handleChange(m,scope.row,'preserve')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="鏃犳剰璇�">
- <el-table-column label="2" width="80px"">
+ <el-table-column label="2" width="80px">
<template slot-scope="scope">
- <el-radio :label="2" v-model="scope.row.radio3">{{ '' }}</el-radio>
+ <el-radio :label="2" v-model="scope.row.preserve" @input="m=>handleChange(m,scope.row,'preserve')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column label="閬电珷瀹堢邯">
<el-table-column label="鑷閬靛畧" >
- <el-table-column label="10" width="90px"">
+ <el-table-column label="10" width="90px">
<template slot-scope="scope">
- <el-radio :label="10" v-model="scope.row.radio4">{{ '' }}</el-radio>
+ <el-radio :label="10" v-model="scope.row.discipline" @input="m=>handleChange(m,scope.row,'discipline')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="琚姩閬靛畧">
- <el-table-column label="7" width="90px"">
+ <el-table-column label="7" width="90px">
<template slot-scope="scope">
- <el-radio :label="7" v-model="scope.row.radio4">{{ '' }}</el-radio>
+ <el-radio :label="7" v-model="scope.row.discipline" @input="m=>handleChange(m,scope.row,'discipline')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="缁忓父杩濈邯">
- <el-table-column label="5" width="90px"">
+ <el-table-column label="5" width="90px">
<template slot-scope="scope">
- <el-radio :label="5" v-model="scope.row.radio4">{{ '' }}</el-radio>
+ <el-radio :label="5" v-model="scope.row.discipline" @input="m=>handleChange(m,scope.row,'discipline')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column label="鍥㈢粨鍗忎綔">
<el-table-column label="鍥㈢粨鍗忎綔">
- <el-table-column label="10" width="90px"">
+ <el-table-column label="10" width="90px">
<template slot-scope="scope">
- <el-radio :label="10" v-model="scope.row.radio5">{{ '' }}</el-radio>
+ <el-radio :label="10" v-model="scope.row.solidarity" @input="m=>handleChange(m,scope.row,'solidarity')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="鍩烘湰铻嶆唇">
- <el-table-column label="8" width="90px"">
+ <el-table-column label="8" width="90px">
<template slot-scope="scope">
- <el-radio :label="8" v-model="scope.row.radio5">{{ '' }}</el-radio>
+ <el-radio :label="8" v-model="scope.row.solidarity" @input="m=>handleChange(m,scope.row,'solidarity')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column label="5S-3瀹�">
<el-table-column label="鍖呭共鍖烘暣娲�">
- <el-table-column label="10" width="110px"">
+ <el-table-column label="10" width="110px">
<template slot-scope="scope">
- <el-radio :label="10" v-model="scope.row.radio6">{{ '' }}</el-radio>
+ <el-radio :label="10" v-model="scope.row.tidy" @input="m=>handleChange(m,scope.row,'tidy')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="瀛樺湪涓嶆竻娲佺偣">
- <el-table-column label="7" width="130px"">
+ <el-table-column label="7" width="130px">
<template slot-scope="scope">
- <el-radio :label="7" v-model="scope.row.radio6">{{ '' }}</el-radio>
+ <el-radio :label="7" v-model="scope.row.tidy" @input="m=>handleChange(m,scope.row,'tidy')">{{ '' }}</el-radio>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
- <el-table-column label="寰楀垎">
- <el-table-column label="100" width="70px"">
+ <el-table-column label="寰楀垎" fixed="right">
+ <el-table-column label="100" width="70px" prop="total">
</el-table-column>
</el-table-column>
</el-table>
@@ -169,23 +169,46 @@
<script>
export default {
props:{
- month:String,
- laboratory:Object
+ entity:Object,
},
data(){
return{
- tableData:[
- {
- radio0:0,
- radio1:0,
- radio2:0,
- radio3:0,
- radio4:0,
- radio5:0,
- radio6:0,
- }
- ],
- radio:20
+ tableData:[],
+ loading:false,
+ }
+ },
+ created(){
+ this.refreshTable()
+ },
+ methods:{
+ handleChange(value,row,prop){
+ row[prop] = Number(value)
+ this.$axios.post(this.$api.evaluate.writeEvaluateGroup, {
+ ...row
+ },{
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ noQs:true
+ }).then(res => {
+ row.total = res.data
+ })
+ },
+ refreshTable(){
+ this.loading = true
+ this.$axios.post(this.$api.evaluate.getEvaluateGroup, {
+ ...this.$parent.entity,
+ },{
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ this.loading = false
+ this.tableData = res.data
+ })
+ },
+ refresh(){
+ this.refreshTable()
}
}
}
diff --git a/src/components/do/b3-personnel-evaluation/evaluation.vue b/src/components/do/b3-personnel-evaluation/evaluation.vue
index 5c741d5..24ce248 100644
--- a/src/components/do/b3-personnel-evaluation/evaluation.vue
+++ b/src/components/do/b3-personnel-evaluation/evaluation.vue
@@ -1,7 +1,7 @@
<template>
<div class="table-item">
<ValueTable ref="ValueTable"
- :url="$api.deviceScope.selectDeviceParameter" :componentData="componentData" :key="upIndex" />
+ :url="$api.evaluate.page" :componentData="componentData" :key="upIndex" />
</div>
</template>
@@ -12,14 +12,15 @@
ValueTable
},
props:{
- month:String,
- laboratory:Object
+ entity:Object,
},
data(){
return{
componentData: {
entity: {
- deviceName: null,
+ month: this.entity.month,
+ name:this.entity.name,
+ departLims:this.entity.departLims,
orderBy: {
field: 'id',
order: 'desc'
@@ -36,8 +37,21 @@
requiredAdd: [],
requiredUp: [],
},
- upIndex:0
+ upIndex:0,
}
+ },
+ methods:{
+ refreshTable(){
+ this.componentData.entity = {
+ ...this.componentData.entity,
+ ...this.$parent.entity
+ }
+ this.$refs['ValueTable'].selectList()
+ },
+ refresh(){
+ this.upIndex++
+ this.refreshTable()
+ },
}
}
</script>
diff --git a/src/components/do/b3-personnel-evaluation/leader-rate.vue b/src/components/do/b3-personnel-evaluation/leader-rate.vue
index 2253352..edef602 100644
--- a/src/components/do/b3-personnel-evaluation/leader-rate.vue
+++ b/src/components/do/b3-personnel-evaluation/leader-rate.vue
@@ -1,9 +1,9 @@
<template>
<div class="table-item">
- <p style="text-align: center;margin-bottom: 10px;">{{ laboratory.label }} {{ Number(month.split('-')[1]) }} 鏈堜唤缁勯暱鎵撳垎琛�</p>
+ <p style="text-align: center;margin-bottom: 10px;">{{ entity.departLims }} {{ Number(entity.month.split('-')[1]) }} 鏈堜唤缁勯暱鎵撳垎琛�</p>
<el-table
:data="tableData"
- style="width: 100%" height="calc(100% - 20px)">
+ style="width: 100%" height="calc(100% - 20px)" v-loading="loading">
<el-table-column
type="index"
label="搴忓彿"
@@ -16,7 +16,7 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num0" @change="handleChange" :min="0" :max="25"></el-input-number>
+ v-model="scope.row.responsibility" @change="m=>handleChange(m,scope.row,'responsibility')" :min="0" :max="25"></el-input-number>
</template>
</el-table-column>
</el-table-column>
@@ -25,7 +25,7 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num1" @change="handleChange" :min="0" :max="25"></el-input-number>
+ v-model="scope.row.compliance" @change="m=>handleChange(m,scope.row,'compliance')" :min="0" :max="25"></el-input-number>
</template>
</el-table-column>
</el-table-column>
@@ -34,7 +34,7 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num2" @change="handleChange" :min="0" :max="20"></el-input-number>
+ v-model="scope.row.positive" @change="m=>handleChange(m,scope.row,'positive')" :min="0" :max="20"></el-input-number>
</template>
</el-table-column>
</el-table-column>
@@ -43,7 +43,7 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num3" @change="handleChange" :min="0" :max="10"></el-input-number>
+ v-model="scope.row.solidarity" @change="m=>handleChange(m,scope.row,'solidarity')" :min="0" :max="10"></el-input-number>
</template>
</el-table-column>
</el-table-column>
@@ -52,7 +52,7 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num4" @change="handleChange" :min="0" :max="10"></el-input-number>
+ v-model="scope.row.seasonable" @change="m=>handleChange(m,scope.row,'seasonable')" :min="0" :max="10"></el-input-number>
</template>
</el-table-column>
</el-table-column>
@@ -61,11 +61,11 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num5" @change="handleChange" :min="0" :max="10"></el-input-number>
+ v-model="scope.row.exact" @change="m=>handleChange(m,scope.row,'exact')" :min="0" :max="10"></el-input-number>
</template>
</el-table-column>
</el-table-column>
- <el-table-column label="寰楀垎">
+ <el-table-column label="寰楀垎" prop="total">
</el-table-column>
</el-table>
</div>
@@ -74,26 +74,48 @@
<script>
export default {
props:{
- month:String,
- laboratory:Object
+ entity:Object,
},
data () {
return{
tableData:[
- {
- num0:null,
- num1:null,
- num2:null,
- num3:null,
- num4:null,
- num5:null,
- num6:null,
- }
- ]
+ ],
+ loading:false,
}
},
+ created(){
+ this.refreshTable()
+ },
methods:{
- handleChange(){}
+ handleChange(value,row,prop){
+ row[prop] = Number(value)
+ this.$axios.post(this.$api.evaluate.writeEvaluateLeader, {
+ ...row
+ },{
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ noQs:true
+ }).then(res => {
+ row.total = res.data
+ })
+ },
+ refreshTable(){
+ this.loading = true
+ this.$axios.post(this.$api.evaluate.getEvaluateLeader, {
+ ...this.$parent.entity
+ },{
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ this.loading = false
+ this.tableData = res.data
+ })
+ },
+ refresh(){
+ this.refreshTable()
+ }
}
}
</script>
diff --git a/src/components/do/b3-personnel-evaluation/supervisor-rate.vue b/src/components/do/b3-personnel-evaluation/supervisor-rate.vue
index dbda8bd..8f36e78 100644
--- a/src/components/do/b3-personnel-evaluation/supervisor-rate.vue
+++ b/src/components/do/b3-personnel-evaluation/supervisor-rate.vue
@@ -1,9 +1,9 @@
<template>
<div class="table-item">
- <p style="text-align: center;margin-bottom: 10px;">{{ laboratory.label }} {{ Number(month.split('-')[1]) }} 鏈堜唤涓荤鎵撳垎琛�</p>
+ <p style="text-align: center;margin-bottom: 10px;">{{ entity.departLims }} {{ Number(entity.month.split('-')[1]) }} 鏈堜唤涓荤鎵撳垎琛�</p>
<el-table
:data="tableData"
- style="width: 100%" height="calc(100% - 20px)">
+ style="width: 100%" height="calc(100% - 20px)" v-loading="loading">
<el-table-column
type="index"
label="搴忓彿"
@@ -16,7 +16,7 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num0" @change="handleChange" :min="0" :max="20"></el-input-number>
+ v-model="scope.row.skill" @change="m=>handleChange(m,scope.row,'skill')" :min="0" :max="20"></el-input-number>
</template>
</el-table-column>
</el-table-column>
@@ -25,7 +25,7 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num1" @change="handleChange" :min="0" :max="20"></el-input-number>
+ v-model="scope.row.compliance" @change="m=>handleChange(m,scope.row,'compliance')" :min="0" :max="20"></el-input-number>
</template>
</el-table-column>
</el-table-column>
@@ -34,7 +34,7 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num2" @change="handleChange" :min="0" :max="20"></el-input-number>
+ v-model="scope.row.positive" @change="m=>handleChange(m,scope.row,'positive')" :min="0" :max="20"></el-input-number>
</template>
</el-table-column>
</el-table-column>
@@ -43,7 +43,7 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num3" @change="handleChange" :min="0" :max="10"></el-input-number>
+ v-model="scope.row.tidy" @change="m=>handleChange(m,scope.row,'tidy')" :min="0" :max="10"></el-input-number>
</template>
</el-table-column>
</el-table-column>
@@ -52,7 +52,7 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num4" @change="handleChange" :min="0" :max="10"></el-input-number>
+ v-model="scope.row.discipline" @change="m=>handleChange(m,scope.row,'discipline')" :min="0" :max="10"></el-input-number>
</template>
</el-table-column>
</el-table-column>
@@ -61,7 +61,7 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num5" @change="handleChange" :min="0" :max="10"></el-input-number>
+ v-model="scope.row.solidarity" @change="m=>handleChange(m,scope.row,'solidarity')" :min="0" :max="10"></el-input-number>
</template>
</el-table-column>
</el-table-column>
@@ -70,11 +70,11 @@
<template slot-scope="scope">
<el-input-number
size="small"
- v-model="scope.row.num6" @change="handleChange" :min="0" :max="10"></el-input-number>
+ v-model="scope.row.proposal" @change="m=>handleChange(m,scope.row,'proposal')" :min="0" :max="10"></el-input-number>
</template>
</el-table-column>
</el-table-column>
- <el-table-column label="寰楀垎">
+ <el-table-column label="寰楀垎" prop="total">
</el-table-column>
</el-table>
</div>
@@ -83,26 +83,47 @@
<script>
export default {
props:{
- month:String,
- laboratory:Object
+ entity:Object,
},
data () {
return{
- tableData:[
- {
- num0:null,
- num1:null,
- num2:null,
- num3:null,
- num4:null,
- num5:null,
- num6:null,
- }
- ]
+ tableData:[],
+ loading:false,
}
},
+ created(){
+ this.refreshTable()
+ },
methods:{
- handleChange(){}
+ handleChange(value,row,prop){
+ row[prop] = Number(value)
+ this.$axios.post(this.$api.evaluate.writeEvaluateCompetent, {
+ ...row
+ },{
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ noQs:true
+ }).then(res => {
+ row.total = res.data
+ })
+ },
+ refreshTable(){
+ this.loading = true
+ this.$axios.post(this.$api.evaluate.getEvaluateCompetent, {
+ ...this.$parent.entity
+ },{
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ this.loading = false
+ this.tableData = res.data
+ })
+ },
+ refresh(){
+ this.refreshTable()
+ }
}
}
</script>
diff --git a/src/components/do/b3-work-time-management/work-time-statistics.vue b/src/components/do/b3-work-time-management/work-time-statistics.vue
index 710d6f7..8f32955 100644
--- a/src/components/do/b3-work-time-management/work-time-statistics.vue
+++ b/src/components/do/b3-work-time-management/work-time-statistics.vue
@@ -125,7 +125,9 @@
inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
},
entity:{
- month:getYearAndMonthAndDays()
+ month:getYearAndMonthAndDays(),
+ name:'',
+ departLims:''
},
entityCopy:{},
entityCopy0:{},
@@ -194,13 +196,13 @@
let entity = {...this.entity}
entity.month = entity.month.split('-')[0]+'-'+entity.month.split('-')[1]
this.outLoading = true
- this.$axios.get(this.$api.auxiliaryOriginalHours.exportOriginalHours,{
- params:entity,
+ this.$axios.post(this.$api.auxiliaryOriginalHours.exportOriginalHours,{
+ ...entity
+ // params:entity,
},{responseType: "blob"}).then(res => {
this.outLoading = false
this.$message.success('瀵煎嚭鎴愬姛')
const blob = new Blob([res],{ type: 'application/octet-stream' });
- console.log(blob)
const url = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
diff --git a/src/components/view/b3-personnel-evaluation.vue b/src/components/view/b3-personnel-evaluation.vue
index 1e6910f..9bac5cf 100644
--- a/src/components/view/b3-personnel-evaluation.vue
+++ b/src/components/view/b3-personnel-evaluation.vue
@@ -22,7 +22,7 @@
<div class="search_thing">
<div class="search_label">瀹為獙瀹わ細</div>
<div class="search_input">
- <el-select v-model="entity.laboratory" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
+ <el-select v-model="entity.departLims" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
<el-option v-for="item in laboratoryList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -31,7 +31,7 @@
<div class="search_thing">
<div class="search_label">浜哄憳鍚嶇О锛�</div>
<div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="entity.deviceName" @keyup.enter.native="refreshTable()"></el-input></div>
+ v-model="entity.name" @keyup.enter.native="refreshTable()"></el-input></div>
</div>
<div class="search_thing" style="padding-left: 30px;">
<el-button size="small" @click="refresh()">閲� 缃�</el-button>
@@ -45,10 +45,10 @@
<el-radio-button label="leaderRate">缁勯暱璇勫垎</el-radio-button>
<el-radio-button label="supervisorRate">涓荤鎵撳垎</el-radio-button>
</el-radio-group>
- <el-button type="primary" size="small">瀵� 鍑�</el-button>
+ <el-button type="primary" size="small" :loading="outLoading" @click="handleDown">瀵� 鍑�</el-button>
</div>
<div class="table">
- <component :is="tabValue" :month="entity.month" :laboratory="getLaboratory()"></component>
+ <component :is="tabValue" ref="component" :entity="entity" v-if="laboratoryList.length>0"></component>
</div>
</div>
</template>
@@ -68,35 +68,72 @@
data(){
return{
entity:{
- month:new Date().getFullYear()+'-'+(new Date().getMonth() + 1),
- laboratory:''
+ month:new Date().getFullYear()+'-'+((new Date().getMonth() + 1) < 10 ? '0'+(new Date().getMonth() + 1):(new Date().getMonth() + 1)),
+ departLims:'',
+ name:''
},
tabValue:'evaluation',
- laboratoryList:[]
+ laboratoryList:[],
+ outLoading:false,
+ copyEntity:null
}
},
- mounted(){
+ created(){
this.obtainItemParameterList()
},
methods: {
- refreshTable(){},
- refresh(){},
+ refreshTable(){
+ this.$refs.component.refreshTable()
+ },
+ refresh(){
+ this.entity = this.HaveJson(this.copyEntity)
+ this.$refs.component.refresh()
+ },
obtainItemParameterList() {
this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => {
let data = []
res.data.forEach(a => {
data.push({
label: a.laboratoryName,
- value: a.id
+ value: a.laboratoryName
})
})
this.laboratoryList = data
- this.entity.laboratory = data[0].value
+ this.entity.departLims = data[0].value
+ this.copyEntity = this.HaveJson(this.entity)
})
},
- getLaboratory(){
- return this.laboratoryList.find(a=>a.value==this.entity.laboratory)
- }
+ handleDown(){
+ let url = ''
+ let title = ''
+ if(this.tabValue=='evaluation'){
+ url = this.$api.evaluate.exportEvaluate
+ title = '鑰冭瘎琛�'
+ }else if(this.tabValue=='employeeMutualEvaluation'){
+ url = this.$api.evaluate.exportEvaluate
+ title = '鑰冭瘎琛�'
+ }else if(this.tabValue=='leaderRate'){
+ url = this.$api.evaluate.exportEvaluateLeader
+ title = '缁勯暱璇勫垎琛�'
+ }else if(this.tabValue=='supervisorRate'){
+ url = this.$api.evaluate.exportEvaluateCompetent
+ title = '涓荤璇勫垎琛�'
+ }
+ let entity = {...this.entity}
+ this.outLoading = true
+ this.$axios.post(url,{
+ ...entity
+ },{responseType: "blob"}).then(res => {
+ this.outLoading = false
+ this.$message.success('瀵煎嚭鎴愬姛')
+ const blob = new Blob([res],{ type: 'application/octet-stream' });
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement('a');
+ link.href = url;
+ link.download = entity.departLims+'-'+entity.month+title+'.xlsx';
+ link.click();
+ })
+ },
}
}
</script>
diff --git a/src/main.js b/src/main.js
index 1325d46..ef61e96 100644
--- a/src/main.js
+++ b/src/main.js
@@ -63,10 +63,10 @@
// config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
// config.headers['Content-Type'] = 'application/json'
}
- if (config.method === 'post' || config.method === 'put') {
+ if ((config.method === 'post' || config.method === 'put')&&!config.noQs) {
config.data = qs.stringify(config.data)
}
- if (config.headers['Content-Type'] == 'application/json') {
+ if (config.headers['Content-Type'] == 'application/json'&&!config.noQs) {
config.data = qs.parse(config.data)
}
return config
--
Gitblit v1.9.3