From 7345595fdb083a70e8c708dce246af34b2d7f69f Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期日, 23 六月 2024 23:45:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/components/view/b3-work-time-management.vue | 2
src/components/tool/value-table.vue | 2
src/components/view/b3-personnel-evaluation.vue | 67 +++++++--
src/components/do/b3-personnel-evaluation/leader-rate.vue | 66 ++++++---
src/main.js | 5
src/components/do/b3-personnel-evaluation/employee-mutual-evaluation.vue | 117 ++++++++++------
src/components/do/b1-inspect-order-plan/Inspection.vue | 10 +
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/components/view/a6-device-management.vue | 1
src/assets/api/controller.js | 14 ++
12 files changed, 265 insertions(+), 122 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/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 7f4494f..e7241a3 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -60,6 +60,8 @@
width: 100px;
text-align: center;
font-size: 14px;
+ word-wrap: break-word;
+ white-space: normal;
}
.content {
@@ -348,7 +350,7 @@
v-if="currentFiberOptic" class="el-icon-caret-right table_caret" @click="caretOptic(1)"></i>
</div>
</template>
- <span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
+ <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)" ></span>
</div>
</td>
</tr>
@@ -1482,7 +1484,7 @@
valueList = []
let regex = /[=\+\-\*\%\(\)\/\^\s]/g
let mode = item.v.f.replace(regex, ' ').split(' ');
- mode.filter(m => m && !Number(m)).forEach(m => {
+ mode.filter(m => m && !Number(m)&&m!='undefined').forEach(m => {
let r = m.replace(/[a-zA-Z]/g, "") - 1
let c = this.comparisonList.find(j => j.label == m.split('')[0]).value
valueList.push({
@@ -1510,6 +1512,10 @@
return (sortedArr[half - 1] + sortedArr[half]) / 2;
}
},
+ getValue(v){
+ let str = v.v?v.v:(v.ct&&v.ct.s?v.ct.s.length>0&&v.ct.s[0].v:'').replaceAll('\n','<br/>')
+ return str
+ },
getInspectionValueType(id) {
for (var a in this.currentSample.insProduct) {
if (this.currentSample.insProduct[a].id == id) {
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/tool/value-table.vue b/src/components/tool/value-table.vue
index 127e63e..915b452 100644
--- a/src/components/tool/value-table.vue
+++ b/src/components/tool/value-table.vue
@@ -120,7 +120,7 @@
<el-table-column type="index" align="center" label="搴忓彿" width="65" v-if="data.isIndex" :key="Math.random()">
</el-table-column>
<el-table-column :prop="a.label" :label="a.value" :sortable="data.sort==false?false:'custom'"
- v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip min-width="155">
+ v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip min-width="155" v-if="!data.headNoShow||(data.headNoShow&&data.headNoShow.length==0)||(data.headNoShow&&data.headNoShow.length>0&&!data.headNoShow.find(d=>d==a.label))">
<template slot-scope="scope">
<div v-if="showType(a.label, data.tagField) != null">
<template v-if="typeof(scope.row[a.label]) == 'object'">
diff --git a/src/components/view/a6-device-management.vue b/src/components/view/a6-device-management.vue
index 976c56e..974a79f 100644
--- a/src/components/view/a6-device-management.vue
+++ b/src/components/view/a6-device-management.vue
@@ -477,6 +477,7 @@
type: 'text',
method: 'handleConfig'
}],
+ headNoShow:['enDeviceName'],
tagField: {
deviceStatus: {
select: []
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/components/view/b3-work-time-management.vue b/src/components/view/b3-work-time-management.vue
index 66d77a4..f5cf7e0 100644
--- a/src/components/view/b3-work-time-management.vue
+++ b/src/components/view/b3-work-time-management.vue
@@ -25,6 +25,8 @@
workTimeManagement,
workTimeConfig
},
+ mounted() {
+ },
data() {
return{
currentComponent:'workTimeStatistics'
diff --git a/src/main.js b/src/main.js
index 4293cee..c6926aa 100644
--- a/src/main.js
+++ b/src/main.js
@@ -17,6 +17,7 @@
//鏈湴
Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80";
const javaApi = 'http://127.0.0.1:8001';
+// const javaApi = 'http://192.168.0.104:8001';
//浜�
// Vue.prototype.LOCATIONVUE = "http://114.132.189.42:8080";
@@ -62,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