| | |
| | | <template> |
| | | <div> |
| | | <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" |
| | | :visible.sync="formDia" |
| | | title="纠正措施处理单" |
| | | width="60%" @close="closeRectifyDia"> |
| | | <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="formDia" title="纠正措施处理单" |
| | | width="60%" @close="closeRectifyDia"> |
| | | <el-steps :active="currentStep" align-center finish-status="success"> |
| | | <el-step title="不合格或偏离事实的描述" @click.native="setStep(0)"></el-step> |
| | | <el-step title="原因分析" @click.native="setStep(1)"></el-step> |
| | |
| | | <p><span class="required-span">* </span>不合格或偏离事实的描述:</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <el-input v-if="showStep === 0 && currentStep === 0" v-model="form.raiseResult" |
| | | :rows="4" |
| | | placeholder="请输入内容" |
| | | size="small" |
| | | type="textarea"> |
| | | <el-input v-if="showStep === 0 && currentStep === 0" v-model="form.raiseResult" :rows="4" |
| | | placeholder="请输入内容" size="small" type="textarea"> |
| | | </el-input> |
| | | <span v-if="showStep === 0 && currentStep !== 0" class="td-info1"> {{ form.raiseResult }}</span> |
| | | </td> |
| | |
| | | <p><span class="required-span">* </span>请选择下一步负责人:</p> |
| | | </td> |
| | | <td v-if="currentStep === 0" class="td-info" colspan="3"> |
| | | <el-select v-model="form.causeUserId" clearable filterable |
| | | placeholder="请选择" size="small"> |
| | | <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value"> |
| | | <el-select v-model="form.causeUserId" clearable filterable placeholder="请选择" size="small"> |
| | | <el-option v-for="(item, i) in personList" :key="i" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | |
| | | <p>提出人:</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{form.raiseUserName}} |
| | | {{ form.raiseUserName }} |
| | | </td> |
| | | <td class="td-title"> |
| | | <p>提出部门:</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{form.raiseDepartment}} |
| | | {{ form.raiseDepartment }} |
| | | </td> |
| | | </tr> |
| | | <tr v-if="showStep === 0 && currentStep !== 0"> |
| | |
| | | <p>日期:</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | {{form.raiseTime}} |
| | | {{ form.raiseTime }} |
| | | </td> |
| | | </tr> |
| | | <tr v-if="showStep === 1"> |
| | |
| | | <p><span class="required-span">* </span>原因分析:</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <el-input v-if="showStep === 1 && currentStep === 1" v-model="form.causeResult" |
| | | :rows="5" |
| | | placeholder="请输入内容" |
| | | size="small" |
| | | type="textarea"> |
| | | <el-input v-if="showStep === 1 && currentStep === 1" v-model="form.causeResult" :rows="5" |
| | | placeholder="请输入内容" size="small" type="textarea"> |
| | | </el-input> |
| | | <span v-if="showStep === 1 && currentStep !== 1" class="td-info1"> {{ form.causeResult }}</span> |
| | | </td> |
| | |
| | | <p>原因分析人:</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{form.causeUserName}} |
| | | {{ form.causeUserName }} |
| | | </td> |
| | | <td class="td-title"> |
| | | <p>责任部门:</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{form.causeDepartment}} |
| | | {{ form.causeDepartment }} |
| | | </td> |
| | | </tr> |
| | | <tr v-if="showStep === 1 && currentStep !== 1"> |
| | |
| | | <p>原因分析日期:</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | {{form.causeTime}} |
| | | {{ form.causeTime }} |
| | | </td> |
| | | </tr> |
| | | <tr v-if="showStep === 1"> |
| | |
| | | <p><span class="required-span">* </span>请选择下一步负责人:</p> |
| | | </td> |
| | | <td v-if="currentStep === 1" class="td-info" colspan="3"> |
| | | <el-select v-model="form.correctUserId" clearable filterable |
| | | placeholder="请选择" size="small"> |
| | | <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value"> |
| | | <el-select v-model="form.correctUserId" clearable filterable placeholder="请选择" size="small"> |
| | | <el-option v-for="(item, i) in personList" :key="i" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | |
| | | <p><span class="required-span">* </span>纠正措施:</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <el-input v-if="showStep === 2 && currentStep === 2" v-model="form.correctResult" |
| | | :rows="5" |
| | | placeholder="请输入内容" |
| | | size="small" |
| | | type="textarea"> |
| | | <el-input v-if="showStep === 2 && currentStep === 2" v-model="form.correctResult" :rows="5" |
| | | placeholder="请输入内容" size="small" type="textarea"> |
| | | </el-input> |
| | | <span v-if="showStep === 2 && currentStep !== 2" class="td-info1"> {{ form.correctResult }}</span> |
| | | </td> |
| | |
| | | <p>提出要求部门确认:</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <el-input v-if="showStep === 2 && currentStep === 2" v-model="form.raiseDepartmentAffirm" |
| | | :rows="5" |
| | | placeholder="请输入内容" |
| | | size="small" |
| | | type="textarea"> |
| | | <el-input v-if="showStep === 2 && currentStep === 2" v-model="form.raiseDepartmentAffirm" :rows="5" |
| | | placeholder="请输入内容" size="small" type="textarea"> |
| | | </el-input> |
| | | <span v-if="showStep === 2 && currentStep !== 2" class="td-info1"> {{ form.raiseDepartmentAffirm }}</span> |
| | | </td> |
| | |
| | | <p>纠正人:</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{form.correctUserName}} |
| | | {{ form.correctUserName }} |
| | | </td> |
| | | <td class="td-title"> |
| | | <p>责任部门:</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{form.correctDepartment}} |
| | | {{ form.correctDepartment }} |
| | | </td> |
| | | </tr> |
| | | <tr v-if="showStep === 2 && currentStep !== 2"> |
| | |
| | | <p>纠正日期:</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | {{form.correctTime}} |
| | | {{ form.correctTime }} |
| | | </td> |
| | | </tr> |
| | | <tr v-if="showStep === 2"> |
| | |
| | | <p><span class="required-span">* </span>请选择下一步负责人:</p> |
| | | </td> |
| | | <td v-if="currentStep === 2" class="td-info" colspan="3"> |
| | | <el-select v-model="form.validationUserId" clearable filterable |
| | | placeholder="请选择" size="small"> |
| | | <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value"> |
| | | <el-select v-model="form.validationUserId" clearable filterable placeholder="请选择" size="small"> |
| | | <el-option v-for="(item, i) in personList" :key="i" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </td> |
| | |
| | | <p><span class="required-span">* </span>实施验证结果:</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <el-input v-if="showStep === 3 && currentStep === 3" v-model="form.validationResult" |
| | | :rows="5" |
| | | placeholder="请输入内容" |
| | | size="small" |
| | | type="textarea"> |
| | | <el-input v-if="showStep === 3 && currentStep === 3" v-model="form.validationResult" :rows="5" |
| | | placeholder="请输入内容" size="small" type="textarea"> |
| | | </el-input> |
| | | <span v-if="showStep === 3 && currentStep !== 3" class="td-info1"> {{ form.validationResult }}</span> |
| | | </td> |
| | |
| | | <p>验证人:</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{form.validationUserName}} |
| | | {{ form.validationUserName }} |
| | | </td> |
| | | <td class="td-title"> |
| | | <p>责任部门:</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{form.validationDepartment}} |
| | | {{ form.validationDepartment }} |
| | | </td> |
| | | </tr> |
| | | <tr v-if="showStep === 3 && currentStep !== 3"> |
| | |
| | | <p>验证日期:</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | {{form.validationTime}} |
| | | {{ form.validationTime }} |
| | | </td> |
| | | </tr> |
| | | </table> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getSuperviseDetailRecord, |
| | | addSuperviseDetailRecord, |
| | | addSuperviseRecordOpinion, |
| | | } from '@/api/cnas/process/ensureResults/qualityControlPlan.js' |
| | | export default { |
| | | name: 'rectifyDialog', |
| | | // import 引入的组件需要注入到对象中才能使用 |
| | |
| | | }, |
| | | // 方法集合 |
| | | methods: { |
| | | openDia (row) { |
| | | openDia(row) { |
| | | this.formDia = true |
| | | this.searchInfo(row) |
| | | this.form.superviseDetailsId = row.superviseDetailsId |
| | |
| | | this.getSupervisedUserList() // 获取当前部门人员 |
| | | }, |
| | | // 查询监控计划详情实施信息 |
| | | searchInfo (row) { |
| | | searchInfo(row) { |
| | | this.form.qualityMonitorDetailsId = row.qualityMonitorDetailsId |
| | | this.$axios.get(this.$api.qualitySupervise.getSuperviseDetailCorrect + '?superviseDetailsId=' + row.superviseDetailsId).then(res => { |
| | | if (res.code === 201) return |
| | |
| | | }) |
| | | }, |
| | | // 提交 |
| | | handleEdit () { |
| | | handleEdit() { |
| | | if (this.currentStep === 0) { |
| | | if (!this.form.raiseResult) { |
| | | this.$message.warning('请填写不合格描述') |
| | |
| | | }) |
| | | }, |
| | | // 关闭弹框 |
| | | closeRectifyDia () { |
| | | closeRectifyDia() { |
| | | this.formDia = false |
| | | this.$emit('closeRectifyDia') |
| | | }, |
| | | setStep (step) { |
| | | setStep(step) { |
| | | this.showStep = step |
| | | }, |
| | | getAuthorizedPerson() { |
| | |
| | | this.personList = data |
| | | }) |
| | | }, |
| | | getSupervisedUserList () { |
| | | getSupervisedUserList() { |
| | | this.$axios.get(this.$api.user.selectDepartmentLimsUserList).then(res => { |
| | | let data = [] |
| | | res.data.forEach(a => { |
| | |
| | | >>>.el-dialog { |
| | | margin: 10vh auto 50px !important; |
| | | } |
| | | |
| | | .tables { |
| | | table-layout: fixed; |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .td-title { |
| | | height: 40px; |
| | | width: 170px; |
| | |
| | | white-space: normal; |
| | | padding: 6px; |
| | | } |
| | | |
| | | .td-info { |
| | | padding: 6px; |
| | | } |
| | | |
| | | .td-info1 { |
| | | display: inline-block; |
| | | width: 100%; |