From 9f53be1dfd7f55ca43fa4e8229c371e8ed29a5ba Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Tue, 16 Jan 2024 09:21:12 +0800
Subject: [PATCH] 更新
---
src/views/assessment/assessmentTask.vue | 98 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 85 insertions(+), 13 deletions(-)
diff --git a/src/views/assessment/assessmentTask.vue b/src/views/assessment/assessmentTask.vue
index d368871..47b1f72 100644
--- a/src/views/assessment/assessmentTask.vue
+++ b/src/views/assessment/assessmentTask.vue
@@ -1,6 +1,6 @@
<template>
<basic-container>
- <template v-if="isResult">
+ <template v-if="curIndex === 0">
<avue-tabs ref="tabs" :option="taskTypeList" @change="tabChange"></avue-tabs>
<avue-crud :option="option" v-model:search="search" v-model:page="page" v-model="form" :table-loading="loading"
:data="data" :permission="permissionList" :before-open="beforeOpen" ref="crud" @row-update="rowUpdate"
@@ -8,7 +8,7 @@
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad">
<template #isAssessmentOk="{ row }">
- <el-tag :type="row.isAssessmentOk ? 'success' : ''" effect="dark">{{ row.isAssessmentOk ? '已完成' : '进行中' }}</el-tag>
+ <el-tag :type="setTaskState(row.isAssessmentOk).type" effect="dark">{{ setTaskState(row.isAssessmentOk).text }}</el-tag>
</template>
<template #menu-left>
<el-button type="danger" icon="el-icon-delete" plain v-if="permission.assessmentTask_delete"
@@ -19,16 +19,39 @@
导出
</el-button> -->
</template>
- <template #menu="{ row }">
- <el-button type="primary" icon="el-icon-plus" size="small" @click="handleTaskResult(row)">
+ <template #menu="{ row, index, size }">
+ <el-button type="primary" icon="el-icon-setting" text @click="handleTaskSetting(row)">
+ 考核设置
+ </el-button>
+ <el-button type="primary" icon="el-icon-view" text @click="handleAssessorDetails(row)">
考核结果
+ </el-button>
+ <el-button type="primary" icon="el-icon-view" text @click="handleAssessorList(row)">
+ 考核详情
+ </el-button>
+ <el-button type="success" icon="el-icon-edit" text v-if="row.isAssessmentOk === -1"
+ @click="$refs.crud.rowEdit(row,index)">
+ 编辑
+ </el-button>
+ <!-- <el-button type="primary" icon="el-icon-view" text @click="handleTaskResult(row)">
+ 考核结果
+ </el-button> -->
+ <el-button type="danger" icon="el-icon-delete" text @click="rowDel(row)">
+ 删除
</el-button>
</template>
</avue-crud>
</template>
- <template v-else>
- <taskResult :params="resultParams" @changeIs="changeIs" />
+ <template v-else-if="curIndex === 1">
+ <assessmentTaskSetting :params="resultParams" @changeIs="changeIs"/>
</template>
+ <!-- <template v-else>
+ <taskResult :params="resultParams" @changeIs="changeIs" />
+ </template> -->
+ <!-- 考核结果详情 -->
+ <assessorDetails :params="detailsParams" />
+ <!-- 考核人员详情 -->
+ <assessorDialog :params="assessorDialogParams" />
</basic-container>
</template>
@@ -43,14 +66,22 @@
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
import taskResult from './components/taskResult.vue'
+import addTaskDialog from "./components/addTaskDialog.vue";
+import assessmentTaskSetting from "./components/assessmentTaskSetting.vue";
+import assessorDetails from "./components/assessorDetails.vue";
+import assessorDialog from "./components/assessorDialog.vue";
export default {
components: {
- taskResult
+ taskResult,
+ addTaskDialog,
+ assessmentTaskSetting,
+ assessorDetails,
+ assessorDialog
},
data() {
return {
- isResult: true,
+ curIndex: 0,
form: {},
query: {},
search: {},
@@ -77,7 +108,9 @@
prop: 1
}
]
- }
+ },
+ detailsParams: {},
+ assessorDialogParams: {}
};
},
watch: {
@@ -120,14 +153,24 @@
return ids.join(",");
}
},
+ provide() {
+ return {
+ type: () => this.defaultTaskType
+ }
+ },
methods: {
- handleTaskResult(row) {
- this.isResult = false;
+ handleTaskSetting(row) {
+ this.curIndex = 1;
this.resultParams = row
this.resultParams.type = this.defaultTaskType
},
- changeIs(is) {
- this.isResult = is
+ // handleTaskResult(row) {
+ // this.curIndex = 2;
+ // this.resultParams = row
+ // this.resultParams.type = this.defaultTaskType
+ // },
+ changeIs(num) {
+ this.curIndex = num
this.$nextTick(() => {
this.$refs.tabs.active = this.defaultTaskType.toString()
})
@@ -283,6 +326,35 @@
},
tabChange(value) {
this.defaultTaskType = value.prop
+ },
+ setTaskState(state) {
+ const status = {
+ '-1': {
+ text: '未开始',
+ type: 'warning'
+ },
+ '0': {
+ text: '进行中',
+ type: ''
+ },
+ '1': {
+ text: '已完成',
+ type: 'success'
+ },
+ }
+ return status[state]
+ },
+ handleAssessorDetails(row) {
+ this.detailsParams = {
+ visible: true,
+ data: row
+ }
+ },
+ handleAssessorList(row) {
+ this.assessorDialogParams = {
+ visible: true,
+ data: row
+ }
}
}
};
--
Gitblit v1.9.3