| | |
| | | <template #default="{ row }"> |
| | | <el-button type="text" @click="handleDetail(row)">详情</el-button> |
| | | <el-button |
| | | v-if="row.status === 2" |
| | | v-if="row.status === 2 && roleType!=3" |
| | | type="text" |
| | | @click="handleEvaluate(row)" |
| | | >评定</el-button |
| | |
| | | <script> |
| | | import EvaluationDialog from "./components/evaluation-dialog.vue"; |
| | | import { evaluatePageList,evaluateProcess } from './service.js'; |
| | | import moment from "moment"; |
| | | |
| | | export default { |
| | | name: "ProcessEngineerEvaluate", |
| | |
| | | pageSize: 10, |
| | | pageNum: 1, |
| | | }, |
| | | roleType:'', |
| | | total: 0, |
| | | evaluationDialogVisible: false, |
| | | currentEvaluationData: null, |
| | |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | const userInfo= JSON.parse(sessionStorage.getItem('userInfo')); |
| | | this.roleType=userInfo?.roleType; |
| | | }, |
| | | methods: { |
| | | handleCurrentChange(page) { |
| | |
| | | this.evaluationDialogVisible = val; |
| | | if (!val) this.currentEvaluationData = null; |
| | | }, |
| | | getEvaluateValue(score) { |
| | | // 2分 = 良好(1), 1分 = 正确(2), 0分 = 失误(3) |
| | | const scoreMap = { |
| | | 2: 2, // 良好 |
| | | 1: 1, // 正确 |
| | | 0: 0, // 失误 |
| | | '-3':'-3' |
| | | }; |
| | | return scoreMap[score] || 0; // 默认返回失误 |
| | | }, |
| | | // 处理评价提交 |
| | | handleEvaluationSubmit(evaluationData) { |
| | | const { activeIndex } = evaluationData; |
| | | // 将评分数据转换为后端需要的格式 |
| | | const evaluateData = { |
| | | evaluateType: 1, // 1=工艺工程师 |
| | | evaluateOne: this.getEvaluateValue(activeIndex[0].score), |
| | | evaluateTwo: this.getEvaluateValue(activeIndex[1].score), |
| | | evaluateThree: this.getEvaluateValue(activeIndex[2].score), |
| | | evaluateFour: this.getEvaluateValue(activeIndex[3].score), |
| | | evaluateFive: this.getEvaluateValue(activeIndex[4].score), |
| | | evaluateSix: this.getEvaluateValue(activeIndex[5].score), |
| | | evaluateOne:activeIndex[0].score? this.getEvaluateValue(activeIndex[0].score):0, |
| | | evaluateTwo:activeIndex[1].score? this.getEvaluateValue(activeIndex[1].score):0, |
| | | evaluateThree:activeIndex[2].score? this.getEvaluateValue(activeIndex[2].score):0, |
| | | evaluateFour:activeIndex[3].score? this.getEvaluateValue(activeIndex[3].score):0, |
| | | evaluateFive:activeIndex[4].score? this.getEvaluateValue(activeIndex[4].score):0, |
| | | evaluateSix:activeIndex[5].score? this.getEvaluateValue(activeIndex[5].score):0, |
| | | evaluateTime: moment().format('YYYY-MM-DD HH:mm:ss'), |
| | | resultEvaluateJson: JSON.stringify(activeIndex), |
| | | resultReportId: this.currentOperationRow.id, |
| | | dispatchId: this.currentOperationRow.dispatchId, |
| | | resultReportId: this.currentEvaluationData.id, |
| | | dispatchId: this.currentEvaluationData.dispatchId, |
| | | status: 1 |
| | | }; |
| | | evaluateProcess(evaluateData).then(res => { |