| | |
| | | <template> |
| | | <div> |
| | | <el-dialog |
| | | title="纠错处理单" |
| | | :visible.sync="dialogVisible" |
| | | > |
| | | <el-steps |
| | | :active="active" |
| | | finish-status="success" |
| | | :align-center="true" |
| | | > |
| | | <el-step |
| | | style="cursor: pointer;" |
| | | v-for="(item, index) in stepList" |
| | | :key="index" |
| | | :title="item.label" |
| | | @click.native="setStep(item.value)" |
| | | ></el-step> |
| | | </el-steps> |
| | | <el-divider></el-divider> |
| | | <Fact |
| | | v-if="pageStatus == 0" |
| | | :factForm.sync="mainForm.factForm" |
| | | :userList="userList" |
| | | :currentResponsible="currentResponsible" |
| | | :disabled="active != 0" |
| | | :step="active" |
| | | @nextStep="submit" |
| | | @cancel="cancel" |
| | | ></Fact> |
| | | <Reason |
| | | v-if="pageStatus == 1" |
| | | :reasonForm.sync="mainForm.reasonForm" |
| | | :userList="userList" |
| | | :currentResponsible="currentResponsible" |
| | | :disabled="active != 1" |
| | | :step="active" |
| | | @nextStep="submit" |
| | | @cancel="cancel" |
| | | ></Reason> |
| | | <Measure |
| | | v-if="pageStatus == 2" |
| | | :measureForm.sync="mainForm.measureForm" |
| | | :userList="userList" |
| | | :currentResponsible="currentResponsible" |
| | | :disabled="active != 2" |
| | | :step="active" |
| | | @nextStep="submit" |
| | | @cancel="cancel" |
| | | ></Measure> |
| | | <Result |
| | | v-if="pageStatus == 3" |
| | | :resultForm.sync="mainForm.resultForm" |
| | | :userList="userList" |
| | | :currentResponsible="currentResponsible" |
| | | :disabled="active != 3" |
| | | :step="active" |
| | | @nextStep="submit" |
| | | @cancel="cancel" |
| | | ></Result> |
| | | <!-- <div slot="footer" class="dialog-footer"> |
| | | <div> |
| | | <el-dialog title="纠错处理单" :visible.sync="dialogVisible"> |
| | | <el-steps :active="active" finish-status="success" :align-center="true"> |
| | | <el-step |
| | | style="cursor: pointer;" |
| | | v-for="(item, index) in stepList" |
| | | :key="index" |
| | | :title="item.label" |
| | | @click.native="setStep(item.value)" |
| | | ></el-step> |
| | | </el-steps> |
| | | <el-divider></el-divider> |
| | | <Fact |
| | | v-if="pageStatus == 0" |
| | | :factForm.sync="mainForm.factForm" |
| | | :userList="userList" |
| | | :currentResponsible="currentResponsible" |
| | | :disabled="active != 0" |
| | | :step="active" |
| | | @nextStep="submit" |
| | | @cancel="cancel" |
| | | ></Fact> |
| | | <Reason |
| | | v-if="pageStatus == 1" |
| | | :reasonForm.sync="mainForm.reasonForm" |
| | | :userList="userList" |
| | | :currentResponsible="currentResponsible" |
| | | :disabled="active != 1" |
| | | :step="active" |
| | | @nextStep="submit" |
| | | @cancel="cancel" |
| | | ></Reason> |
| | | <Measure |
| | | v-if="pageStatus == 2" |
| | | :measureForm.sync="mainForm.measureForm" |
| | | :userList="userList" |
| | | :currentResponsible="currentResponsible" |
| | | :disabled="active != 2" |
| | | :step="active" |
| | | @nextStep="submit" |
| | | @cancel="cancel" |
| | | ></Measure> |
| | | <Result |
| | | v-if="pageStatus == 3" |
| | | :resultForm.sync="mainForm.resultForm" |
| | | :userList="userList" |
| | | :currentResponsible="currentResponsible" |
| | | :disabled="active != 3" |
| | | :step="active" |
| | | @nextStep="submit" |
| | | @cancel="cancel" |
| | | ></Result> |
| | | <!-- <div slot="footer" class="dialog-footer"> |
| | | <el-button v-if="active == 4" type="primary" @click="submit(5)">完成</el-button> |
| | | </div> --> |
| | | </el-dialog> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import Fact from './Step/Fact.vue' |
| | | import Reason from './Step/Reason.vue' |
| | | import Measure from './Step/Measure.vue' |
| | | import Result from './Step/Result.vue' |
| | | import dayjs from 'dayjs' |
| | | import Fact from "./Step/Fact.vue"; |
| | | import Reason from "./Step/Reason.vue"; |
| | | import Measure from "./Step/Measure.vue"; |
| | | import Result from "./Step/Result.vue"; |
| | | import dayjs from "dayjs"; |
| | | import { |
| | | getUserListApi, |
| | | personSupervisionProcessingPage, |
| | | addOrUpdatePersonnelServiceProcessing |
| | | } from '../../../../../../assets/api/api' |
| | | getUserListApi, |
| | | personSupervisionProcessingPage, |
| | | addOrUpdatePersonnelServiceProcessing |
| | | } from "../../../../../../assets/api/api"; |
| | | |
| | | export default { |
| | | components: { |
| | | Fact, Reason, Measure, Result |
| | | }, |
| | | data() { |
| | | return { |
| | | active: 0, |
| | | pageStatus: 0, |
| | | dialogVisible: false, |
| | | currentResponsible: undefined, |
| | | stepList: [ |
| | | { |
| | | label: '问题描述', |
| | | value: 0 |
| | | }, { |
| | | label: '原因分析', |
| | | value: 1 |
| | | }, { |
| | | label: '纠正措施', |
| | | value: 2 |
| | | }, { |
| | | label: '验证结果', |
| | | value: 3 |
| | | } |
| | | ], |
| | | supervisionRecordId: undefined, |
| | | processId: undefined, |
| | | mainForm: { |
| | | factForm: { |
| | | proposingDepartmentPersonId: undefined, |
| | | descriptionNonconformity: undefined |
| | | }, |
| | | reasonForm: { |
| | | causeAnalysisPersonId: undefined, |
| | | causeAnalysis: undefined |
| | | }, |
| | | measureForm: { |
| | | correctiveActionId: undefined, |
| | | correctiveMeasure: undefined, |
| | | requestDepartmentConfirmation: undefined |
| | | }, |
| | | resultForm: { |
| | | verificationDepartmentPersonId: undefined, |
| | | implementationVerificationResults: undefined |
| | | } |
| | | }, |
| | | userList: [], |
| | | components: { |
| | | Fact, |
| | | Reason, |
| | | Measure, |
| | | Result |
| | | }, |
| | | data() { |
| | | return { |
| | | active: 0, |
| | | pageStatus: 0, |
| | | dialogVisible: false, |
| | | currentResponsible: undefined, |
| | | stepList: [ |
| | | { |
| | | label: "问题描述", |
| | | value: 0 |
| | | }, |
| | | { |
| | | label: "原因分析", |
| | | value: 1 |
| | | }, |
| | | { |
| | | label: "纠正措施", |
| | | value: 2 |
| | | }, |
| | | { |
| | | label: "验证结果", |
| | | value: 3 |
| | | } |
| | | }, |
| | | methods: { |
| | | openDialog(id) { |
| | | this.dialogVisible = true |
| | | this.getUserList() |
| | | this.getProcessData(id) |
| | | ], |
| | | supervisionRecordId: undefined, |
| | | processId: undefined, |
| | | mainForm: { |
| | | factForm: { |
| | | proposingDepartmentPersonId: undefined, |
| | | descriptionNonconformity: undefined |
| | | }, |
| | | /** |
| | | * @desc 获取用户信息 |
| | | */ |
| | | async getUserList() { |
| | | const { code, data } = await this.$axios({ |
| | | method: 'get', |
| | | url: getUserListApi, |
| | | }) |
| | | if(code == 200) { |
| | | this.userList = data |
| | | } |
| | | reasonForm: { |
| | | causeAnalysisPersonId: undefined, |
| | | causeAnalysis: undefined |
| | | }, |
| | | /** |
| | | * @desc 查询监督记录处理单 |
| | | * @param {监督记录id} id |
| | | */ |
| | | async getProcessData(id) { |
| | | const { code, data } = await this.$axios({ |
| | | method: 'get', |
| | | url: personSupervisionProcessingPage, |
| | | params: {id} |
| | | }) |
| | | if(code == 202) { |
| | | this.controlType = '新增' |
| | | this.supervisionRecordId = id |
| | | this.active = 0 |
| | | this.pageStatus = 0 |
| | | this.processId = undefined |
| | | } |
| | | if(code == 200) { |
| | | this.currentResponsible = data.currentResponsible |
| | | this.controlType = '编辑' |
| | | this.supervisionRecordId = id |
| | | this.processId = data.processingId |
| | | this.active = Number(data.currentState) |
| | | this.pageStatus = Number(data.currentState === 2 ? 0 : data.currentState) |
| | | // 第1步数据 |
| | | this.mainForm.factForm.proposingDepartmentPersonId = data.proposingDepartmentPersonId |
| | | this.mainForm.factForm.descriptionNonconformity = data.descriptionNonconformity |
| | | // 第2步数据 |
| | | this.mainForm.reasonForm.causeAnalysisPersonId = data.causeAnalysisPersonId |
| | | this.mainForm.reasonForm.causeAnalysis = data.causeAnalysis |
| | | // 第3步数据 |
| | | this.mainForm.measureForm.correctiveActionId = data.correctiveActionId |
| | | this.mainForm.measureForm.correctiveMeasure = data.correctiveMeasure |
| | | this.mainForm.measureForm.requestDepartmentConfirmation = data.requestDepartmentConfirmation == '1' ? true:false |
| | | // 第4步数据 |
| | | this.mainForm.resultForm.verificationDepartmentPersonId = data.verificationDepartmentPersonId |
| | | this.mainForm.resultForm.implementationVerificationResults = data.implementationVerificationResults |
| | | } |
| | | measureForm: { |
| | | correctiveActionId: undefined, |
| | | correctiveMeasure: undefined, |
| | | requestDepartmentConfirmation: undefined |
| | | }, |
| | | closeDialog() { |
| | | this.dialogVisible = false |
| | | }, |
| | | submit(type) { |
| | | let currentState = undefined |
| | | if(type == 'submit') { |
| | | currentState = this.active + 1 |
| | | } else if(type == 'save') { |
| | | currentState = undefined |
| | | } |
| | | if(this.active == 0) { |
| | | // 第1步 |
| | | console.log('第1步', this.active, currentState) |
| | | let { factForm } = this.mainForm |
| | | this.submitForm({ |
| | | proposingDepartmentDate: dayjs().format('YYYY-MM-DD HH:mm:ss'), |
| | | currentState: currentState, |
| | | ...factForm |
| | | }) |
| | | } else if(this.active == 1) { |
| | | // 第2步 |
| | | console.log('第2步', this.active, currentState) |
| | | let { reasonForm } = this.mainForm |
| | | this.submitForm({ |
| | | causeAnalysisDate: dayjs().format('YYYY-MM-DD HH:mm:ss'), |
| | | currentState: currentState, |
| | | ...reasonForm |
| | | }) |
| | | } else if(this.active == 2) { |
| | | // 第3步 |
| | | console.log('第3步', this.active, currentState) |
| | | let { measureForm } = this.mainForm |
| | | let { requestDepartmentConfirmation, ...measureFormRest } = measureForm |
| | | this.submitForm({ |
| | | correctiveActionDate: dayjs().format('YYYY-MM-DD HH:mm:ss'), |
| | | currentState: currentState, |
| | | requestDepartmentConfirmation: requestDepartmentConfirmation ? 1:2, |
| | | ...measureFormRest |
| | | }) |
| | | } else if(this.active == 3) { |
| | | // 第4步 |
| | | console.log('第4步', this.active, currentState) |
| | | let { resultForm } = this.mainForm |
| | | this.submitForm({ |
| | | verificationDepartmentDate: dayjs().format('YYYY-MM-DD HH:mm:ss'), |
| | | currentState: currentState, |
| | | ...resultForm |
| | | }) |
| | | } |
| | | }, |
| | | /** |
| | | * @desc 提交表单 |
| | | */ |
| | | async submitForm(form) { |
| | | console.log('提交表单', form) |
| | | const { code } = await this.$axios({ |
| | | method: 'post', |
| | | url: addOrUpdatePersonnelServiceProcessing, |
| | | data: { |
| | | processingId: this.processId, |
| | | supervisionRecordId: this.supervisionRecordId, |
| | | ...form |
| | | }, |
| | | noQs: true |
| | | }) |
| | | if(this.controlType == '新增') { |
| | | if(code == 200) { |
| | | this.$message.success('提交成功') |
| | | } |
| | | } else if(this.controlType == '编辑') { |
| | | if(code == 200) { |
| | | this.$message.success('提交成功') |
| | | } |
| | | } |
| | | this.dialogVisible = false |
| | | }, |
| | | /** |
| | | * @desc 驳回 |
| | | */ |
| | | cancel() { |
| | | let currentState = this.active - 1 |
| | | this.submitForm({ |
| | | id: this.processId, |
| | | supervisionRecordId: this.supervisionRecordId, |
| | | currentState: currentState, |
| | | }) |
| | | }, |
| | | setStep(e) { |
| | | console.log(e) |
| | | this.pageStatus = e |
| | | resultForm: { |
| | | verificationDepartmentPersonId: undefined, |
| | | implementationVerificationResults: undefined |
| | | } |
| | | }, |
| | | userList: [] |
| | | }; |
| | | }, |
| | | methods: { |
| | | openDialog(id) { |
| | | this.dialogVisible = true; |
| | | this.getUserList(); |
| | | this.getProcessData(id); |
| | | }, |
| | | /** |
| | | * @desc 获取用户信息 |
| | | */ |
| | | async getUserList() { |
| | | const { code, data } = await this.$axios({ |
| | | method: "get", |
| | | url: getUserListApi |
| | | }); |
| | | if (code == 200) { |
| | | this.userList = data; |
| | | } |
| | | }, |
| | | /** |
| | | * @desc 查询监督记录处理单 |
| | | * @param {监督记录id} id |
| | | */ |
| | | async getProcessData(id) { |
| | | const { code, data } = await this.$axios({ |
| | | method: "get", |
| | | url: personSupervisionProcessingPage, |
| | | params: { id } |
| | | }); |
| | | if (code == 202) { |
| | | this.controlType = "新增"; |
| | | this.supervisionRecordId = id; |
| | | this.active = 0; |
| | | this.pageStatus = 0; |
| | | this.processId = undefined; |
| | | } |
| | | if (code == 200) { |
| | | this.currentResponsible = data.currentResponsible; |
| | | this.controlType = "编辑"; |
| | | this.supervisionRecordId = id; |
| | | this.processId = data.processingId; |
| | | this.active = Number(data.currentState); |
| | | this.pageStatus = Number( |
| | | data.currentState === 2 ? 0 : data.currentState |
| | | ); |
| | | // 第1步数据 |
| | | this.mainForm.factForm.proposingDepartmentPersonId = |
| | | data.proposingDepartmentPersonId; |
| | | this.mainForm.factForm.descriptionNonconformity = |
| | | data.descriptionNonconformity; |
| | | // 第2步数据 |
| | | this.mainForm.reasonForm.causeAnalysisPersonId = |
| | | data.causeAnalysisPersonId; |
| | | this.mainForm.reasonForm.causeAnalysis = data.causeAnalysis; |
| | | // 第3步数据 |
| | | this.mainForm.measureForm.correctiveActionId = data.correctiveActionId; |
| | | this.mainForm.measureForm.correctiveMeasure = data.correctiveMeasure; |
| | | this.mainForm.measureForm.requestDepartmentConfirmation = |
| | | data.requestDepartmentConfirmation; |
| | | // 第4步数据 |
| | | this.mainForm.resultForm.verificationDepartmentPersonId = |
| | | data.verificationDepartmentPersonId; |
| | | this.mainForm.resultForm.implementationVerificationResults = |
| | | data.implementationVerificationResults; |
| | | } |
| | | }, |
| | | closeDialog() { |
| | | this.dialogVisible = false; |
| | | }, |
| | | submit(type) { |
| | | let currentState = undefined; |
| | | if (type == "submit") { |
| | | currentState = this.active + 1; |
| | | } else if (type == "save") { |
| | | currentState = undefined; |
| | | } |
| | | if (this.active == 0) { |
| | | // 第1步 |
| | | console.log("第1步", this.active, currentState); |
| | | let { factForm } = this.mainForm; |
| | | this.submitForm({ |
| | | proposingDepartmentDate: dayjs().format("YYYY-MM-DD HH:mm:ss"), |
| | | currentState: currentState, |
| | | ...factForm |
| | | }); |
| | | } else if (this.active == 1) { |
| | | // 第2步 |
| | | console.log("第2步", this.active, currentState); |
| | | let { reasonForm } = this.mainForm; |
| | | this.submitForm({ |
| | | causeAnalysisDate: dayjs().format("YYYY-MM-DD HH:mm:ss"), |
| | | currentState: currentState, |
| | | ...reasonForm |
| | | }); |
| | | } else if (this.active == 2) { |
| | | // 第3步 |
| | | console.log("第3步", this.active, currentState); |
| | | let { measureForm } = this.mainForm; |
| | | let { requestDepartmentConfirmation, ...measureFormRest } = measureForm; |
| | | this.submitForm({ |
| | | correctiveActionDate: dayjs().format("YYYY-MM-DD HH:mm:ss"), |
| | | currentState: currentState, |
| | | requestDepartmentConfirmation: requestDepartmentConfirmation ? 1 : 2, |
| | | ...measureFormRest |
| | | }); |
| | | } else if (this.active == 3) { |
| | | // 第4步 |
| | | console.log("第4步", this.active, currentState); |
| | | let { resultForm } = this.mainForm; |
| | | this.submitForm({ |
| | | verificationDepartmentDate: dayjs().format("YYYY-MM-DD HH:mm:ss"), |
| | | currentState: currentState, |
| | | ...resultForm |
| | | }); |
| | | } |
| | | }, |
| | | /** |
| | | * @desc 提交表单 |
| | | */ |
| | | async submitForm(form) { |
| | | console.log("提交表单", form); |
| | | const { code } = await this.$axios({ |
| | | method: "post", |
| | | url: addOrUpdatePersonnelServiceProcessing, |
| | | data: { |
| | | processingId: this.processId, |
| | | supervisionRecordId: this.supervisionRecordId, |
| | | ...form |
| | | }, |
| | | noQs: true |
| | | }); |
| | | if (this.controlType == "新增") { |
| | | if (code == 200) { |
| | | this.$message.success("提交成功"); |
| | | this.$parent.getTableData(); |
| | | } |
| | | } else if (this.controlType == "编辑") { |
| | | if (code == 200) { |
| | | this.$message.success("提交成功"); |
| | | this.$parent.getTableData(); |
| | | } |
| | | } |
| | | this.dialogVisible = false; |
| | | }, |
| | | /** |
| | | * @desc 驳回 |
| | | */ |
| | | cancel() { |
| | | let currentState = this.active - 1; |
| | | this.submitForm({ |
| | | id: this.processId, |
| | | supervisionRecordId: this.supervisionRecordId, |
| | | currentState: currentState |
| | | }); |
| | | }, |
| | | setStep(e) { |
| | | console.log(e); |
| | | this.pageStatus = e; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |