From 96afbf4d12c586a6d2d9249c51c6105464579d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=86=8A=E6=88=90=E5=BC=BA?= Date: Mon, 2 Nov 2020 17:19:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.js | 4 +-- src/utils/common.js | 6 ++++ src/views/kpi/assessment/goals/index.vue | 30 ++++++++++++++++-- src/views/kpi/assessment/homeList/index.vue | 2 +- .../performance/components/imgs/nojixiao.png | Bin 0 -> 3663 bytes .../performance/components/table.vue | 16 +++++++--- .../kpi/assessment/performance/index.vue | 2 +- src/views/kpi/set/index.vue | 5 ++- .../edit/components/Perform.vue | 24 +++++++++++--- .../edit/components/ScoreList.vue | 3 +- .../edit/components/imgs/zhixing.png | Bin 0 -> 3792 bytes .../edit/components/templateSet.vue | 23 ++++++++++++-- .../workbench/assessmentGroup/edit/index.vue | 2 +- .../workbench/assessmentGroup/groundTable.vue | 2 +- 14 files changed, 97 insertions(+), 22 deletions(-) create mode 100644 src/views/kpi/assessment/performance/components/imgs/nojixiao.png create mode 100644 src/views/kpi/workbench/assessmentGroup/edit/components/imgs/zhixing.png diff --git a/src/main.js b/src/main.js index 26d62d1..40475cf 100644 --- a/src/main.js +++ b/src/main.js @@ -7,7 +7,7 @@ import store from './store' import './utils/elementConfig' import './utils/permission' import './style/index.less' -import {debounce, departGetForm, personlGetForm} from '@/utils/common' +import {debounce, departGetForm, personlGetForm, handleInput} from '@/utils/common' import '@/icons' import { format @@ -19,7 +19,7 @@ Vue.prototype.$format = format Vue.prototype.debounce = debounce Vue.prototype.$personlGetForm = personlGetForm Vue.prototype.$departGetForm = departGetForm - +Vue.prototype.$handleInputInt = handleInput /* eslint-disable no-new */ new Vue({ el: '#app', diff --git a/src/utils/common.js b/src/utils/common.js index 08336af..c794c08 100644 --- a/src/utils/common.js +++ b/src/utils/common.js @@ -76,3 +76,9 @@ export function departGetForm (arr = []) { } return params } + +export function handleInput (form) { + let value = this[form.split('.')[0]][form.split('.')[1]] + if (value.split('.').length > 2) value = String(parseFloat(value)) + this[form.split('.')[0]][form.split('.')[1]] = Number(value) > 100 ? 0 : value.replace(/[^.\d]/g, '') +} diff --git a/src/views/kpi/assessment/goals/index.vue b/src/views/kpi/assessment/goals/index.vue index 5e090d3..6125ec6 100644 --- a/src/views/kpi/assessment/goals/index.vue +++ b/src/views/kpi/assessment/goals/index.vue @@ -62,6 +62,14 @@ +
+
+ 业务指标权重:{{handleGetWeight(i)}}%/{{Math.round((i.weight * 100)*1000)/1000}}% +
+
+ 所有指标总权重: {{ Math.round((obj.weight * 100)*1000)/1000}}% +
+
增加指标项 @@ -90,7 +98,7 @@ - + @@ -165,11 +173,29 @@ export default { this.handleGetTbale() }, methods: { + handleInput (value) { + if (value.split('.').length > 2) value = String(parseFloat(value)) + this.formIndicators.checkWeight = Number(value) > 100 ? '' : value.replace(/[^.\d]/g, '') + }, + handleGetWeight (arr) { + const weight = arr.detailDtos.reduce((num, i) => { + num += i.isDelete !== 1 ? i.checkWeight : 0 + return num + }, 0) + arr.isTrue = weight === arr.weight + return Math.round((weight * 100) * 1000) / 1000 + }, async handleSaveDetail (params = this.obj) { + console.log('params: ', params) + for (let i in params.recortModelDtos) { + if (!params.recortModelDtos[i].isTrue) { + this.$message.error(params.recortModelDtos[i].name + '维度内的权重和必须为' + Math.round((params.recortModelDtos[i].weight * 100) * 1000) / 1000) + return + } + } let res = await apiSaveDetail(params) if (res.code !== 200) { this.$message.error(res.msg) - return } this.$message({ message: res.msg, diff --git a/src/views/kpi/assessment/homeList/index.vue b/src/views/kpi/assessment/homeList/index.vue index e52a124..1f2cf95 100644 --- a/src/views/kpi/assessment/homeList/index.vue +++ b/src/views/kpi/assessment/homeList/index.vue @@ -15,7 +15,7 @@ - +
diff --git a/src/views/kpi/assessment/performance/components/imgs/nojixiao.png b/src/views/kpi/assessment/performance/components/imgs/nojixiao.png new file mode 100644 index 0000000000000000000000000000000000000000..7e72bf69d9745e17c877433bfedfb4c42666fc5d GIT binary patch literal 3663 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 PiVVj37JA=wp2z+VtVBG$ literal 0 HcmV?d00001 diff --git a/src/views/kpi/assessment/performance/components/table.vue b/src/views/kpi/assessment/performance/components/table.vue index 227e81e..c86ff84 100644 --- a/src/views/kpi/assessment/performance/components/table.vue +++ b/src/views/kpi/assessment/performance/components/table.vue @@ -1,6 +1,6 @@