|
@@ -3,7 +3,7 @@ defineOptions({
|
|
|
name: "evaluateChangeManageObject"
|
|
|
});
|
|
|
import { getState, getStateType, assessmentStatus } from "@/config/tag";
|
|
|
-import { ref, reactive, onMounted, watch } from "vue";
|
|
|
+import { ref, reactive, onMounted, watch, computed } from "vue";
|
|
|
import {
|
|
|
getAssessmentQuotaDetails,
|
|
|
delAssessmentObject,
|
|
@@ -11,7 +11,8 @@ import {
|
|
|
postAddAssessmentObject,
|
|
|
updateAssessmentQuotaDetails,
|
|
|
alterFinishValue,
|
|
|
- automaticCollection
|
|
|
+ automaticCollection,
|
|
|
+ setTableHeader
|
|
|
} from "@/api/assessment";
|
|
|
import { getTemplateInfoList } from "@/api/templateInfo";
|
|
|
import { useRouter } from "vue-router";
|
|
@@ -117,6 +118,7 @@ const convertDepartmentDataRecursive = data => {
|
|
|
const dpetTree = ref([]);
|
|
|
onMounted(() => {
|
|
|
Object.assign(messageData.value, $props.message);
|
|
|
+ console.log("传递的值", $props.message);
|
|
|
switch (messageData.value.assessmentType) {
|
|
|
case 0:
|
|
|
initParams.assessmentType = "员工";
|
|
@@ -138,8 +140,6 @@ onMounted(() => {
|
|
|
getAssessmentQuotaDetailsApi();
|
|
|
getTemplateInfoListApi();
|
|
|
getAssessmentObjectDetailsApi();
|
|
|
- console.log("messageData.value", typeof state.tableType);
|
|
|
- console.log("messageData.value", state.tableType);
|
|
|
});
|
|
|
const treeDeptList = ref([]);
|
|
|
const assessmentTypeApi = async value => {
|
|
@@ -594,6 +594,89 @@ const automaticCollectionApi = async () => {
|
|
|
ElMessage.error(msg);
|
|
|
}
|
|
|
};
|
|
|
+const assessmentHeader = reactive({
|
|
|
+ id: "",
|
|
|
+ name: "",
|
|
|
+ cycle: "",
|
|
|
+ cycleValue: "",
|
|
|
+ assessmentType: 0,
|
|
|
+ assessmentStatus: 0,
|
|
|
+ isDelete: 0,
|
|
|
+ showTargetValue: 1,
|
|
|
+ showChallengeValue: 0,
|
|
|
+ showStartValue: 0,
|
|
|
+ showAddValue: 0,
|
|
|
+ showDecValue: 0,
|
|
|
+ showUpperValue: 0,
|
|
|
+ showAgupperValue: 0
|
|
|
+});
|
|
|
+// 开关状态
|
|
|
+// 目标值
|
|
|
+const showTargetValueSwitch = computed({
|
|
|
+ get: () => assessmentHeader.showTargetValue === 1,
|
|
|
+ set: value => {
|
|
|
+ assessmentHeader.showTargetValue = value ? 1 : 0;
|
|
|
+ }
|
|
|
+});
|
|
|
+// 挑战值
|
|
|
+const showChallengeValueSwitch = computed({
|
|
|
+ get: () => assessmentHeader.showChallengeValue === 1,
|
|
|
+ set: value => {
|
|
|
+ assessmentHeader.showChallengeValue = value ? 1 : 0;
|
|
|
+ }
|
|
|
+});
|
|
|
+// 门槛值
|
|
|
+const showStartValueSwitch = computed({
|
|
|
+ get: () => assessmentHeader.showStartValue === 1,
|
|
|
+ set: value => {
|
|
|
+ assessmentHeader.showStartValue = value ? 1 : 0;
|
|
|
+ }
|
|
|
+});
|
|
|
+// 增幅值
|
|
|
+const showAddValueSwitch = computed({
|
|
|
+ get: () => assessmentHeader.showAddValue === 1,
|
|
|
+ set: value => {
|
|
|
+ assessmentHeader.showAddValue = value ? 1 : 0;
|
|
|
+ }
|
|
|
+});
|
|
|
+// 降幅值
|
|
|
+const showDecValueSwitch = computed({
|
|
|
+ get: () => assessmentHeader.showDecValue === 1,
|
|
|
+ set: value => {
|
|
|
+ assessmentHeader.showDecValue = value ? 1 : 0;
|
|
|
+ }
|
|
|
+});
|
|
|
+// 上期数值
|
|
|
+const showUpperValueSwitch = computed({
|
|
|
+ get: () => assessmentHeader.showUpperValue === 1,
|
|
|
+ set: value => {
|
|
|
+ assessmentHeader.showUpperValue = value ? 1 : 0;
|
|
|
+ }
|
|
|
+});
|
|
|
+// 上上期值
|
|
|
+const showAgupperValueSwitch = computed({
|
|
|
+ get: () => assessmentHeader.showAgupperValue === 1,
|
|
|
+ set: value => {
|
|
|
+ assessmentHeader.showAgupperValue = value ? 1 : 0;
|
|
|
+ }
|
|
|
+});
|
|
|
+const setTableHeaderApi = async () => {
|
|
|
+ Object.assign(assessmentHeader, {
|
|
|
+ id: $props.message.id,
|
|
|
+ name: $props.message.name,
|
|
|
+ cycle: $props.message.cycle,
|
|
|
+ cycleValue: $props.message.cycleValue,
|
|
|
+ assessmentType: $props.message.assessmentType,
|
|
|
+ assessmentStatus: $props.message.assessmentStatus
|
|
|
+ });
|
|
|
+ const { code, msg } = await setTableHeader(assessmentHeader);
|
|
|
+ if (code === 200) {
|
|
|
+ getAssessmentQuotaDetailsApi();
|
|
|
+ ElMessage.success("表头设置成功");
|
|
|
+ } else {
|
|
|
+ ElMessage.error(msg);
|
|
|
+ }
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
@@ -905,33 +988,119 @@ const automaticCollectionApi = async () => {
|
|
|
{{ dayjs(row.updateTime).format("YYYY-MM-DD HH:mm:ss") }}
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="" title="操作" fixed="right" width="180">
|
|
|
+ <vxe-column field="" title="操作1" fixed="right" width="180">
|
|
|
+ <template #header>
|
|
|
+ 操作
|
|
|
+ <!-- 在表头操作后面添加图标 -->
|
|
|
+ <el-dropdown placement="top-start" trigger="click">
|
|
|
+ <el-icon class="mt-1 w-20 h-10">
|
|
|
+ <Setting />
|
|
|
+ </el-icon>
|
|
|
+ <template #dropdown>
|
|
|
+ <el-dropdown-menu>
|
|
|
+ <div class="w-[200px] p-1">
|
|
|
+ <div class="mt-2">
|
|
|
+ <el-text class="mx-1">表头设置</el-text>
|
|
|
+ </div>
|
|
|
+ <el-text type="info" size="small">可配置字段</el-text>
|
|
|
+ <div class="w-full">
|
|
|
+ <div class="w-full flex justify-evenly items-center">
|
|
|
+ <div class="w-24">
|
|
|
+ <el-text type="info" size="small">目标值</el-text>
|
|
|
+ </div>
|
|
|
+ <el-switch
|
|
|
+ v-model="showTargetValueSwitch"
|
|
|
+ size="small"
|
|
|
+ class="ml-2"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="w-full flex justify-evenly items-center">
|
|
|
+ <div class="w-24">
|
|
|
+ <el-text type="info" size="small">增幅</el-text>
|
|
|
+ </div>
|
|
|
+ <el-switch
|
|
|
+ v-model="showAddValueSwitch"
|
|
|
+ size="small"
|
|
|
+ class="ml-2"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="w-full flex justify-evenly items-center">
|
|
|
+ <div class="w-24">
|
|
|
+ <el-text type="info" size="small">降幅</el-text>
|
|
|
+ </div>
|
|
|
+ <el-switch
|
|
|
+ v-model="showDecValueSwitch"
|
|
|
+ size="small"
|
|
|
+ class="ml-2"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="w-full flex justify-evenly items-center">
|
|
|
+ <div class="w-24">
|
|
|
+ <el-text type="info" size="small">挑战值</el-text>
|
|
|
+ </div>
|
|
|
+ <el-switch
|
|
|
+ v-model="showChallengeValueSwitch"
|
|
|
+ size="small"
|
|
|
+ class="ml-2"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="w-full flex justify-evenly items-center">
|
|
|
+ <div class="w-24">
|
|
|
+ <el-text type="info" size="small">门槛值</el-text>
|
|
|
+ </div>
|
|
|
+ <el-switch
|
|
|
+ v-model="showStartValueSwitch"
|
|
|
+ size="small"
|
|
|
+ class="ml-2"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="w-full flex justify-evenly items-center">
|
|
|
+ <div class="w-24">
|
|
|
+ <el-text type="info" size="small"
|
|
|
+ >上期完成值</el-text
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <el-switch
|
|
|
+ v-model="showUpperValueSwitch"
|
|
|
+ size="small"
|
|
|
+ class="ml-2"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="w-full flex justify-evenly items-center">
|
|
|
+ <div class="w-24">
|
|
|
+ <el-text type="info" size="small"
|
|
|
+ >上上期完成值</el-text
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <el-switch
|
|
|
+ v-model="showAgupperValueSwitch"
|
|
|
+ size="small"
|
|
|
+ class="ml-2"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-dropdown-item>
|
|
|
+ <div class="mt-4 ml-20 mb-2 flex float-right">
|
|
|
+ <el-tag effect="light" class="mr-3" size="small"
|
|
|
+ >取消</el-tag
|
|
|
+ >
|
|
|
+ <el-tag
|
|
|
+ effect="dark"
|
|
|
+ size="small"
|
|
|
+ type="primary"
|
|
|
+ @click="setTableHeaderApi"
|
|
|
+ >确认</el-tag
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </template>
|
|
|
+ </el-dropdown>
|
|
|
+ </template>
|
|
|
<template #default> - </template>
|
|
|
</vxe-column>
|
|
|
</vxe-table>
|
|
|
- <!-- <el-table :data="initParams.Indexlist" style="width: 100%" max-height="250" @selection-change="changeSelection">
|
|
|
- <el-table-column type="selection" width="55" />
|
|
|
- <el-table-column prop="realName" label="人员" width="100" />
|
|
|
- <el-table-column prop="userName" label="工号" width="180" />
|
|
|
- <el-table-column prop="deptName" label="部门" width="180" />
|
|
|
- <el-table-column prop="name" label="指标名称" width="180" />
|
|
|
- <el-table-column prop="scoreRule" label="评价标准" width="180" />
|
|
|
- <el-table-column prop="source" label="数据来源" width="180" />
|
|
|
- <el-table-column prop="targetValue" label="目标值" width="180" />
|
|
|
- <el-table-column prop="finalValue" label="完成值" width="180" />
|
|
|
- <el-table-column prop="score" label="得分" width="180" />
|
|
|
- <el-table-column prop="updateTime" label="更新时间" width="150" sortable>
|
|
|
- <el-table-column prop="updateTime" label="更新时间" width="150" sortable>
|
|
|
- <template #default="{ row }">
|
|
|
- {{ dayjs(row.updateTime).format("YYYY-MM-DD HH:mm:ss") }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" width="200" fixed="right">
|
|
|
- <template #default>
|
|
|
- -
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table> -->
|
|
|
<div class="flex justify-between item-center">
|
|
|
<div class="float-left mt-5 ml-2 total">
|
|
|
<!-- 共{{ initParams.total1 }}条数据 -->
|