diff --git a/src/views/achievements/components/addPlanEvaluate.vue b/src/views/achievements/components/addPlanEvaluate.vue index 55b6e5e..2ac5255 100644 --- a/src/views/achievements/components/addPlanEvaluate.vue +++ b/src/views/achievements/components/addPlanEvaluate.vue @@ -6,6 +6,7 @@ :visible.sync="isShow" direction="rtl" > + 绩效总分:{{ totalScore }} { - row._form.score = row.score + if (!row._form.socre || row._form.socre == 0) { + row._form.socre = row.score + } return (
支持文件格式:.rar .zip .doc .docx .pdf
- 单个文件不能超过500kb + 单个文件不能超过2Mb
@@ -172,6 +175,8 @@ export default { type: "success", message: "操作成功" }) + + this.getList() }) }, }} @@ -194,6 +199,20 @@ export default { ); }, }, + { + label: "是否完成", + width: 100, + customFn: row => { + + const isComplete = row.plan_evaluates.findIndex(j => (row.id === j.plan_target_id) && (j.type === this.type)) !== -1; + + return ( +
{ + isComplete ? '是' : '否' + }
+ ) + } + }, { label: "分值", prop: "target.score", @@ -306,23 +325,26 @@ export default { }, async getList() { + this.list = []; const res = await index(this.select); - this.list = res.data.map((item) => { - return { - _form: { - id: "", - score: "", - result: "", - remark: "", - type: this.type, - file_ids: [], - plan_id: this.getPlanId(), - plan_target_id: item.id, - }, - _fileList: [], - ...item, - }; - }); + if (res.data instanceof Array) { + this.list = res.data.map((item) => { + return { + _form: { + id: "", + socre: "", + result: "", + remark: "", + type: this.type, + file_ids: [], + plan_id: this.getPlanId(), + plan_target_id: item.id, + }, + _fileList: [], + ...item, + }; + }); + } console.log(this.list); }, @@ -368,6 +390,12 @@ export default { ) } ] + }, + + totalScore () { + return this.list instanceof Array ? this.list.reduce((pre, cur) => { + return pre + (Number(cur?.plan_evaluates?.find(j => (j.plan_target_id === cur.id) && (j.type === this.type))?.socre) || 0) + },0) : 0 } }, watch: { diff --git a/src/views/achievements/components/addPoint.vue b/src/views/achievements/components/addPoint.vue index 8073703..227aaa9 100644 --- a/src/views/achievements/components/addPoint.vue +++ b/src/views/achievements/components/addPoint.vue @@ -236,6 +236,7 @@ + + diff --git a/src/views/achievements/evaluate.vue b/src/views/achievements/evaluate.vue index 77be014..281139c 100644 --- a/src/views/achievements/evaluate.vue +++ b/src/views/achievements/evaluate.vue @@ -9,6 +9,24 @@
+ 名称 + + 年份 + + + 关键字 +
+ +
+ +
+
+ 名称 + + 年份 + + + + 关键字 + +
+ + + +
+
+
+ + + + + +
+ +
+
+ + + + + diff --git a/src/views/achievements/point.vue b/src/views/achievements/point.vue index 46b1d5c..0224684 100644 --- a/src/views/achievements/point.vue +++ b/src/views/achievements/point.vue @@ -150,21 +150,22 @@ export default { }, async getList() { + this.list = []; this.pos = this.pos1 = 0; this.spanArr = []; this.spanArr1 = []; const res = await index(this.select) this.total = res.total - this.list = res.data + let temp = res.data - for(let i in this.list){ + for(let i in temp){ if(i === 0){ this.spanArr.push(1); this.pos = 0; this.spanArr1.push(1); this.pos1 = 0; }else{ - if(this.list[i]?.target_type_detail?.name === this.list[i-1]?.target_type_detail?.name){ + if(temp[i]?.target_type_detail?.name === temp[i-1]?.target_type_detail?.name){ this.spanArr[this.pos] += 1; this.spanArr.push(0) }else{ @@ -172,7 +173,7 @@ export default { this.pos = i; } - if(this.list[i]?.target_type2_detail?.name === this.list[i-1]?.target_type2_detail?.name){ + if(temp[i]?.target_type2_detail?.name === temp[i-1]?.target_type2_detail?.name){ this.spanArr1[this.pos1] += 1; this.spanArr1.push(0) }else{ @@ -181,6 +182,7 @@ export default { } } } + this.list = temp; // let arr = []; // let getProp = (data,name) => { // if(!name || !data){ diff --git a/src/views/budget/budgetList.vue b/src/views/budget/budgetList.vue index 2fba9ba..dcb28f0 100644 --- a/src/views/budget/budgetList.vue +++ b/src/views/budget/budgetList.vue @@ -32,15 +32,15 @@ @@ -168,6 +168,7 @@ + @@ -64,7 +64,7 @@ - +
@@ -413,6 +413,16 @@ export default { } }, + submitOne ({ id, score}) { + save({ + target_id: id, + plan_id: this.getPlanId(), + score + }).then(_ => { + this.getList(); + }) + }, + submit() { let promiseAll = []; this.selections.forEach((target_id) => {