From 6da96f24c45688d043bc5aef66f299d028bf5d87 Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Tue, 26 Dec 2023 18:10:28 +0800
Subject: [PATCH] 页面更新
---
src/option/evaluate/evaluateResult.js | 5 +
src/views/evaluate/evaluateResult.vue | 16 +++++
src/views/evaluate/components/referrerPopover.vue | 85 ++++++++++++++++++++++++++++
src/api/evaluate/evaluateResult.js | 11 +++
src/views/assessment/components/popoverTable.vue | 6 +-
src/views/assessment/assessmentTaskSetting.vue | 2
6 files changed, 121 insertions(+), 4 deletions(-)
diff --git a/src/api/evaluate/evaluateResult.js b/src/api/evaluate/evaluateResult.js
index 8fa5ca7..8368417 100755
--- a/src/api/evaluate/evaluateResult.js
+++ b/src/api/evaluate/evaluateResult.js
@@ -50,3 +50,14 @@
})
}
+export const getReferrer = (type, beId, evaluateTaskId) => {
+ return request({
+ url: '/evaluate/evaluateResult/list',
+ method: 'get',
+ params: {
+ type,
+ beId,
+ evaluateTaskId
+ }
+ })
+}
diff --git a/src/option/evaluate/evaluateResult.js b/src/option/evaluate/evaluateResult.js
index 533a657..86720cd 100755
--- a/src/option/evaluate/evaluateResult.js
+++ b/src/option/evaluate/evaluateResult.js
@@ -37,6 +37,11 @@
type: "input",
},
{
+ label: "推荐人",
+ prop: "referrer",
+ type: "input",
+ },
+ {
label: "创建人",
prop: "createUser",
type: "input",
diff --git a/src/views/assessment/assessmentTaskSetting.vue b/src/views/assessment/assessmentTaskSetting.vue
index 9a3bc63..86a8300 100644
--- a/src/views/assessment/assessmentTaskSetting.vue
+++ b/src/views/assessment/assessmentTaskSetting.vue
@@ -14,7 +14,7 @@
<template #assessmentPerson="{ row }">
<popoverTable :params="{...row, type: defaultTaskType}">
<template #content>
- <el-button type="success" text size="small" icon="el-icon-pointer">考核人预览</el-button>
+ <el-button type="success" text icon="el-icon-pointer">考核人预览</el-button>
</template>
</popoverTable>
</template>
diff --git a/src/views/assessment/components/popoverTable.vue b/src/views/assessment/components/popoverTable.vue
index 8430b98..162559e 100644
--- a/src/views/assessment/components/popoverTable.vue
+++ b/src/views/assessment/components/popoverTable.vue
@@ -186,13 +186,13 @@
// toUserId: this.params.id
// userId: this.params.id
};
- this.params.isDept && Object.assign(values, {
+ this.params.type && Object.assign(values, {
deptId: this.params.id
});
- !this.params.isDept && Object.assign(values, {
+ !this.params.type && Object.assign(values, {
userId: this.params.id
});
- (this.params.isDept ? getDeptList(page.currentPage, page.pageSize, values) : getList(page.currentPage, page.pageSize, values)).then(res => {
+ (this.params.type ? getDeptList(page.currentPage, page.pageSize, values) : getList(page.currentPage, page.pageSize, values)).then(res => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
diff --git a/src/views/evaluate/components/referrerPopover.vue b/src/views/evaluate/components/referrerPopover.vue
new file mode 100644
index 0000000..4709f73
--- /dev/null
+++ b/src/views/evaluate/components/referrerPopover.vue
@@ -0,0 +1,85 @@
+<template>
+ <el-popover placement="top-end" title="推荐人" :width="700" trigger="hover" @show="init">
+ <avue-crud :option="option" :data="tableData" v-model:page="page">
+ </avue-crud>
+ <template #reference>
+ <slot name="default"></slot>
+ </template>
+ </el-popover>
+</template>
+
+<script setup>
+import { reactive, readonly } from 'vue';
+import { getReferrer } from '@/api/evaluate/evaluateResult'
+import _ from 'lodash'
+
+const props = defineProps({
+ params: {
+ type: Object,
+ default: () => {
+ return {}
+ }
+ }
+})
+
+
+const option = reactive({
+ height: '190',
+ calcHeight: 32,
+ border: true,
+ index: true,
+ addBtn: false,
+ viewBtn: true,
+ editBtn: true,
+ delBtn: true,
+ header: false,
+ menu: false,
+ menuBtn: false,
+ column: [
+ {
+ label: '推荐人',
+ type: 'input',
+ prop: 'scoreUserName',
+ width: 150,
+ isSlot: true
+ },
+ {
+ label: '职位',
+ type: 'input',
+ prop: 'scorePostName',
+ },
+ {
+ label: '部门',
+ type: 'input',
+ prop: 'scoreDeptName',
+ },
+ {
+ label: '推荐理由',
+ type: 'input',
+ prop: 'remark'
+ }
+ ]
+})
+const tableData = ref([])
+const page = ref({
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ layout: "total,prev, pager, next",
+})
+
+const init = () => {
+ const { userId, type, evaluateTaskId } = props.params
+ getReferrer(type, userId, evaluateTaskId).then(res => {
+ const { data } = res
+ const referrerRes = _.cloneDeep(data.data.records)
+ tableData.value = referrerRes
+ page.value.total = data.data.total
+ })
+}
+
+
+
+</script>
+
+<style lang="scss" scoped></style>
\ No newline at end of file
diff --git a/src/views/evaluate/evaluateResult.vue b/src/views/evaluate/evaluateResult.vue
index 6fd5f21..194fe11 100755
--- a/src/views/evaluate/evaluateResult.vue
+++ b/src/views/evaluate/evaluateResult.vue
@@ -6,6 +6,18 @@
@row-save="rowSave" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad">
+ <template #referrer="{row}">
+ <template v-if="row.voteNum !== 0">
+ <referrerPopover :params="row">
+ <template #default>
+ <el-button type="success" text icon="el-icon-pointer">推荐人预览</el-button>
+ </template>
+ </referrerPopover>
+ </template>
+ <template v-else>
+ <el-button type="warning" text icon="el-icon-circle-close">暂无推荐人</el-button>
+ </template>
+ </template>
</avue-crud>
</basic-container>
</template>
@@ -20,8 +32,12 @@
import { dateNow } from "@/utils/date";
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
+import referrerPopover from './components/referrerPopover.vue'
export default {
+ components: {
+ referrerPopover
+ },
data() {
return {
form: {},
--
Gitblit v1.9.3