diff --git a/src/views/kpi/assessment/goals/index.vue b/src/views/kpi/assessment/goals/index.vue index 82918a3..34f0e43 100644 --- a/src/views/kpi/assessment/goals/index.vue +++ b/src/views/kpi/assessment/goals/index.vue @@ -46,9 +46,9 @@
+ :percentage="handleGetProgress(j,j.taskDtos)">
{{ Math.round((j.checkWeight * 100)*1000)/1000}}%
@@ -69,10 +69,10 @@
-
-
{{kitem.name}}({{kitem.process|| 0}}%)
+
{{kitem.name}}({{Math.round((kitem.processRate * 100)*1000)/1000|| 0}}%)
+ @blur="$handleBlur('formTask.processRate')" + @input.native="$handleInputInt('formTask.processRate')" + v-model="formTask.processRate"> @@ -217,7 +217,7 @@ export default { editItem: {}, formTask: { name: '', - process: '0' + processRate: '0' }, zhibiaoTitle: '添加指标', showIndicators: false, @@ -282,11 +282,15 @@ export default { methods: { // 删除任务 handleDeleteTask (parent, item) { - parent.arr.map(i => { - if (i === item) { - i.isDelete = 1 - } - }) + if (item.id) { + parent.taskDtos.map(i => { + if (i === item) { + i.isDelete = 1 + } + }) + } else { + parent.taskDtos = parent.taskDtos.filter(i !== item) + } this.$forceUpdate() }, // 取消添加任务 @@ -297,12 +301,13 @@ export default { handleSubmitTask () { this.$refs.formTask.validate((v) => { if (v) { + this.formTask.processRate = Number(this.formTask.processRate) / 100 if (this.formTask.isNew) { delete this.formTask.isNew - this.formItem.arr.push(this.formTask) + this.formItem.taskDtos.push(this.formTask) } else { this.editItem.name = this.formTask.name - this.editItem.process = this.formTask.process || "0" + this.editItem.processRate = this.formTask.processRate || "0" } this.$forceUpdate() this.handleCancelTask() @@ -310,24 +315,33 @@ export default { } }) }, + handleGetProgress (process, arr = []) { + const result = this.handleFilter(arr).reduce((result, item) => { + result += Number(item.processRate) + return result + }, 0) + const _process = Number(result.toFixed(2)) / this.handleFilter(arr).length || 0 + process.processRate = _process || 0 + return Number((_process * 100).toFixed(2)) + }, hanidleAddTask (j, type, item) { - !j.arr && (j.arr = []) + !j.taskDtos && (j.taskDtos = []) this.formTask = {} if (type === 1) { - this.formTask = Object.assign({}, item) + this.formTask = Object.assign({}, item, { processRate: item.processRate }) this.editItem = item this.taskTitle = '编辑任务' } else { this.taskTitle = '添加任务' this.formTask = { name: '', - process: '0', + processRate: '0', isNew: true } } // this.formTask = type === 1 ? Object.assign({}, item, { item }) : { // name: '', - // process: '0', + // processRate: '0', // isNew: true // } this.formItem = j @@ -359,9 +373,14 @@ export default { } } else { for (let i in arr) { - if (arr[i].detailDtos.length > 0 && !arr[i].isTrue) { - this.$message.error(arr[i].name + '维度内的权重和必须为' + Math.round((arr[i].weight * 100) * 1000) / 1000) - return + let num = 0 + arr[i].detailDtos.map(l => { + num += l.weight + }) + + if (num.toFixed(2) !== arr[i].weight.toFixed(2)) { + debugger + return this.$message.error(arr[i].name + '维度内的权重和必须为' + Math.round((arr[i].weight * 100) * 1000) / 1000) } } } diff --git a/src/views/kpi/assessment/performance/components/pinglun.vue b/src/views/kpi/assessment/performance/components/pinglun.vue index fe56d5d..3130f71 100644 --- a/src/views/kpi/assessment/performance/components/pinglun.vue +++ b/src/views/kpi/assessment/performance/components/pinglun.vue @@ -1,18 +1,32 @@ - diff --git a/src/views/kpi/assessment/performance/components/process.vue b/src/views/kpi/assessment/performance/components/process.vue index 622180f..2e12a67 100644 --- a/src/views/kpi/assessment/performance/components/process.vue +++ b/src/views/kpi/assessment/performance/components/process.vue @@ -50,7 +50,7 @@
发送 @@ -229,6 +229,7 @@ export default { textarea { resize: none; height: 46px; + font-size: 12px; background: #f6f6f6; } .el-button--small {