| | |
| | | <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" |
| | |
| | | @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" |
| | |
| | | 导出 |
| | | </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> |
| | | |
| | |
| | | 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: {}, |
| | |
| | | prop: 1 |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | detailsParams: {}, |
| | | assessorDialogParams: {} |
| | | }; |
| | | }, |
| | | watch: { |
| | |
| | | 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() |
| | | }) |
| | |
| | | }, |
| | | 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 |
| | | } |
| | | } |
| | | } |
| | | }; |