diff --git a/src/assets/task/right.png b/src/assets/task/right.png new file mode 100644 index 0000000..b52c789 Binary files /dev/null and b/src/assets/task/right.png differ diff --git a/src/assets/task/titleIcon.png b/src/assets/task/titleIcon.png new file mode 100644 index 0000000..d75c8f3 Binary files /dev/null and b/src/assets/task/titleIcon.png differ diff --git a/src/components/CustomTable.vue b/src/components/CustomTable.vue index 9fe4962..25ef062 100644 --- a/src/components/CustomTable.vue +++ b/src/components/CustomTable.vue @@ -9,6 +9,7 @@ :border="border" :highlight-current-row="highligt" @row-click="rowClick" + @sort-change="sortChange" :row-key="rowKey" :height="tableHeight" > @@ -184,6 +185,9 @@ export default { toggleRowSelection(row, selected) { this.$refs.elTableRef?.toggleRowSelection(row, selected); }, + sortChange(data) { + this.$emit("sortChange", data); + }, }, updated() { if (this.$refs.elTableRef && this.$refs.elTableRef.doLayout) { diff --git a/src/components/SelectUser.vue b/src/components/SelectUser.vue index df6502e..677adaf 100644 --- a/src/components/SelectUser.vue +++ b/src/components/SelectUser.vue @@ -86,11 +86,10 @@ export default { type: Boolean, default: false, }, - highligt:{ + highligt: { type: Boolean, default: true, - } - + }, }, data() { return { @@ -148,7 +147,6 @@ export default { this.handleClose(); }, handleSelectionChange(val) { - if (this.isInternalChange) return; if (!this.multiSelect) { this.isInternalChange = true; @@ -184,13 +182,11 @@ export default { this.selectedUsers = [val]; }, rowClick(row) { - - if(!this.showSelection){ + if (!this.showSelection) { if (row.userId == this.selectedUsers[0]?.userId) - this.$refs.customTableRef.$refs.elTableRef.setCurrentRow(); - else this.selectedUsers = [row] + this.$refs.customTableRef.$refs.elTableRef.setCurrentRow(); + else this.selectedUsers = [row]; } - ; }, }, watch: { @@ -219,13 +215,27 @@ export default { currentSelectedUser: { handler(newVal) { this.$nextTick(() => { - let row = this.userData.find( - (ele) => ele.userId == newVal[0]?.userId - ); - if (row) { - this.$refs.customTableRef?.setCurrentRow(row); - this.selectedUsers = [row]; - } else this.$refs.customTableRef?.setCurrentRow(); + if (!this.showSelection) { + let row = this.userData.find( + (ele) => ele.userId == newVal[0]?.userId + ); + if (row) { + this.$refs.customTableRef?.setCurrentRow(row); + this.selectedUsers = [row]; + } else { + this.selectedUsers = []; + this.$refs.customTableRef?.setCurrentRow(); + } + } else { + if (!newVal.length) { + this.selectedUsers = []; + this.$refs.customTableRef?.clearSelection(); + } else { + newVal.forEach((ele) => { + this.$refs.customTableRef?.toggleRowSelection(ele, true); + }); + } + } }); }, immediate: true, @@ -234,12 +244,14 @@ export default { userData: { handler(newVal) { this.$nextTick(() => { - let row = this.userData.find( - (ele) => ele.userId == this.currentSelectedUser[0]?.userId - ); - if (row) { - this.selectedUsers = [row]; - this.$refs.customTableRef?.setCurrentRow(row); + if (!this.showSelection) { + let row = this.userData.find( + (ele) => ele.userId == this.currentSelectedUser[0]?.userId + ); + if (row) { + this.selectedUsers = [row]; + this.$refs.customTableRef?.setCurrentRow(row); + } } }); }, diff --git a/src/utils/api.js b/src/utils/api.js index c074c0b..e1e4bb0 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -134,3 +134,54 @@ export const systemApi = { method: 'get', }), } + +// 任务考核板块 +export const taskApi = { + getTaskUserList: (data) => request({ + url: '/examine/user', + method: 'get', + params: data, + }), + getTaskScoreDetail: (data) => request({ + url: '/examine/detail', + method: 'get', + params: data, + }), + saveTaskUserScore: (data) => request({ + url: '/examine/detail/batch', + method: 'post', + data: data, + }), + getTaskListSelf: (data) => request({ + url: '/task/list', + method: 'get', + params: data, + }), + + getTaskList: (data) => request({ + url: '/task/get', + method: 'get', + params: data, + }), + addTask: (data) => request({ + url: '/task/add', + method: 'post', + data: data, + }), + upDateTask: (data) => request({ + url: '/task/update', + method: 'put', + data: data, + }), + delTask: (id) => request({ + url: `/task/${id}`, + method: 'delete', + }), + getTaskSet: (id) => request({ + url: `/task/target/${id}`, + method: 'get', + }), + + + +} diff --git a/src/views/project/list.vue b/src/views/project/list.vue index fa2f214..7d202f1 100644 --- a/src/views/project/list.vue +++ b/src/views/project/list.vue @@ -20,7 +20,11 @@ > - + ${status}`; }, }, - { prop: "teamNum", label: "参与项目人数",width:100 }, + { prop: "teamNum", label: "参与项目人数", width: 100 }, { prop: "createByName", label: "项目创建人" }, { prop: "operation", @@ -188,6 +192,7 @@ export default { Object.keys(this.searchForm).forEach((key) => { this.searchForm[key] = ""; }); + this.currentSelectedUser = []; this.fetchProjectList(); }, addProject() { diff --git a/src/views/workAppraisal/detail.vue b/src/views/workAppraisal/detail.vue index 281d492..eae902a 100644 --- a/src/views/workAppraisal/detail.vue +++ b/src/views/workAppraisal/detail.vue @@ -2,93 +2,110 @@
张三 2024年员工年度考核
-
考核评分:
+
考核评分:{{ saveData.manageScore }}
-
-
表格 {{ index + 1 }}
- - - - - - - - - - -
-
-
-
总体评价
-
- +
+
{{ table[0].reviewCategory }}
+ + - + + + + + + + + +
+
+
+
总体评价
+
+ + +
-

- 保存 - 提交 -

+

+ 保存 + 提交 +

- + 取 消 确 定
- -
提交后将无法修改,该操作不可逆,请确认后再试
- - 取 消 - 确 定 - -
- -
存在未评分绩效项,请完善后再试
- - 关闭 - -
@@ -230,6 +338,9 @@ export default { margin: 10px !important; /* width: 95%; */ } +::v-deep .el-slider__runway.disabled .el-slider__bar { + background-color: #ff5722; +} ::v-deep .el-slider__bar { height: 20px; border-radius: 20px; @@ -260,4 +371,8 @@ export default { ::v-deep .el-dialog { margin-top: 15% !important; } +.tableBox { + height: 85%; + overflow: auto; +} diff --git a/src/views/workAppraisal/manager.vue b/src/views/workAppraisal/manager.vue index a14f4d2..fc3d019 100644 --- a/src/views/workAppraisal/manager.vue +++ b/src/views/workAppraisal/manager.vue @@ -1,150 +1,167 @@ \ No newline at end of file +.timeBox { + font-size: 14px; + color: #999999; + font-weight: bold; +} +::v-deep .el-tabs__item.is-active { + color: #4096ff; +} +::v-deep .el-tabs__item { + font-size: 18px; + font-weight: bold; + color: #999999; +} +::v-deep .el-tabs__active-bar { + height: 3px; + width: 32px !important; + left: 10px; +} +.nameBox { + font-size: 16px; + font-weight: bold; + color: #333; + gap: 10px; +} +::v-deep .el-tag--warning { + color: #ea741e; +} + diff --git a/src/views/workAppraisal/managerUser.vue b/src/views/workAppraisal/managerUser.vue index 6e80694..4ee3fb3 100644 --- a/src/views/workAppraisal/managerUser.vue +++ b/src/views/workAppraisal/managerUser.vue @@ -1,288 +1,311 @@ - - - - - \ No newline at end of file + diff --git a/src/views/workAppraisal/normalWorker.vue b/src/views/workAppraisal/normalWorker.vue index fa0c445..8d7f9e8 100644 --- a/src/views/workAppraisal/normalWorker.vue +++ b/src/views/workAppraisal/normalWorker.vue @@ -1,163 +1,217 @@ - - - - \ No newline at end of file + }, + created() { + this.getTaks(); + }, +}; + + + diff --git a/src/views/workAppraisal/taskSet.vue b/src/views/workAppraisal/taskSet.vue index 4bc66bc..796eeac 100644 --- a/src/views/workAppraisal/taskSet.vue +++ b/src/views/workAppraisal/taskSet.vue @@ -8,11 +8,14 @@ size="small" > - + @@ -94,16 +97,20 @@ :rules="rules" label-width="100px" > - + - + - + @@ -131,35 +139,42 @@