src/api/cnas/process/ensureResults/qualityControlPlan.js
@@ -121,3 +121,30 @@ data: data, }); } //查询监督计划记录流程详情 export function getSuperviseDetailRecord(query) { return request({ url: "/qualitySupervise/getSuperviseDetailRecord", method: "get", params: query, }); } // 新增监督记录信息 export function addSuperviseDetailRecord(data) { return request({ url: "/qualitySupervise/addSuperviseDetailRecord", method: "post", data: data, }); } // 提交监督记录批准 export function addSuperviseRecordOpinion(data) { return request({ url: "/qualitySupervise/addSuperviseRecordOpinion", method: "post", data: data, }); } src/views/CNAS/process/ensureResults/qualityControlPlan/components/processingSheet.vue
@@ -442,7 +442,7 @@ }) }, getSupervisedUserList() { this.$axios.get(this.$api.user.selectDepartmentLimsUserList).then(res => { selectUserCondition().then(res => { let data = [] res.data.forEach(a => { data.push({ src/views/CNAS/process/ensureResults/qualityControlPlan/components/recordsDialog.vue
@@ -1,9 +1,7 @@ <template> <div> <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="formDia" title="检测工作监督记录表" width="70%" @close="closeRecordsDia"> <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="formDia" title="检测工作监督记录表" width="70%" @close="closeRecordsDia"> <el-steps :active="currentStep" align-center finish-status="success"> <el-step title="实施"></el-step> <el-step title="批准"></el-step> @@ -15,9 +13,7 @@ <p><span class="required-span">* </span>检测人员:</p> </td> <td colspan="2"> <el-input v-if="currentStep === 0" v-model="form.testMember" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.testMember" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.testMember }}</span> </td> @@ -25,9 +21,7 @@ <p><span class="required-span">* </span>监督员:</p> </td> <td colspan="2"> <el-input v-if="currentStep === 0" v-model="form.supervisor" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.supervisor" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.supervisor }}</span> </td> @@ -37,9 +31,7 @@ <p><span class="required-span">* </span>检测项目:</p> </td> <td> <el-input v-if="currentStep === 0" v-model="form.testItem" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.testItem" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.testItem }}</span> </td> @@ -47,9 +39,7 @@ <p><span class="required-span">* </span>样品编号:</p> </td> <td> <el-input v-if="currentStep === 0" v-model="form.sampleNumber" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.sampleNumber" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.sampleNumber }}</span> </td> @@ -57,9 +47,7 @@ <p><span class="required-span">* </span>检测日期:</p> </td> <td> <el-input v-if="currentStep === 0" v-model="form.testDate" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.testDate" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.testDate }}</span> </td> @@ -69,9 +57,7 @@ <p><span class="required-span">* </span>人员:</p> </td> <td colspan="5"> <el-input v-if="currentStep === 0" v-model="form.personnel" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.personnel" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.personnel }}</span> </td> @@ -81,9 +67,7 @@ <p><span class="required-span">* </span>仪器设备:</p> </td> <td colspan="5"> <el-input v-if="currentStep === 0" v-model="form.device" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.device" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.device }}</span> </td> @@ -93,9 +77,7 @@ <p><span class="required-span">* </span>工作环境:</p> </td> <td colspan="5"> <el-input v-if="currentStep === 0" v-model="form.environment" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.environment" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.environment }}</span> </td> @@ -105,9 +87,7 @@ <p><span class="required-span">* </span>样品采集:</p> </td> <td colspan="5"> <el-input v-if="currentStep === 0" v-model="form.sampleCollection" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.sampleCollection" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.sampleCollection }}</span> </td> @@ -117,9 +97,7 @@ <p><span class="required-span">* </span>样品的准备:</p> </td> <td colspan="5"> <el-input v-if="currentStep === 0" v-model="form.samplePreparation" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.samplePreparation" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.samplePreparation }}</span> </td> @@ -129,9 +107,7 @@ <p><span class="required-span">* </span>检测方法:</p> </td> <td colspan="5"> <el-input v-if="currentStep === 0" v-model="form.detectionMethod" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.detectionMethod" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.detectionMethod }}</span> </td> @@ -141,9 +117,7 @@ <p><span class="required-span">* </span>检测记录:</p> </td> <td colspan="5"> <el-input v-if="currentStep === 0" v-model="form.inspectionRecord" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.inspectionRecord" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.inspectionRecord }}</span> </td> @@ -153,9 +127,7 @@ <p><span class="required-span">* </span>检测报告:</p> </td> <td colspan="5"> <el-input v-if="currentStep === 0" v-model="form.examiningReport" placeholder="请输入内容" size="small"> <el-input v-if="currentStep === 0" v-model="form.examiningReport" placeholder="请输入内容" size="small"> </el-input> <span v-else class="td-info"> {{ form.examiningReport }}</span> </td> @@ -165,11 +137,8 @@ <p><span class="required-span">* </span>监督情况评价:</p> </td> <td colspan="5"> <el-input v-if="currentStep === 0" v-model="form.supervisionEvaluation" :rows="4" placeholder="请输入内容" size="small" type="textarea"> <el-input v-if="currentStep === 0" v-model="form.supervisionEvaluation" :rows="4" placeholder="请输入内容" size="small" type="textarea"> </el-input> <span v-else class="td-info"> {{ form.supervisionEvaluation }}</span> </td> @@ -179,11 +148,8 @@ <p><span class="required-span">* </span>不符合处理意见:</p> </td> <td colspan="5"> <el-input v-if="currentStep === 0" v-model="form.handlingAdvice" :rows="4" placeholder="请输入内容" size="small" type="textarea"> <el-input v-if="currentStep === 0" v-model="form.handlingAdvice" :rows="4" placeholder="请输入内容" size="small" type="textarea"> </el-input> <span v-else class="td-info"> {{ form.handlingAdvice }}</span> </td> @@ -193,9 +159,8 @@ <p><span class="required-span">* </span>请选择下一步批准人:</p> </td> <td v-if="currentStep === 0" colspan="5"> <el-select v-model="form.ratifyUserId" 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.ratifyUserId" 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> @@ -203,7 +168,7 @@ <p>批准负责人:</p> </td> <td v-if="currentStep === 1" class="td-info" colspan="5"> {{form.ratifyUserName}} {{ form.ratifyUserName }} </td> </tr> <tr v-if="currentStep === 1 || currentStep === 2"> @@ -211,12 +176,8 @@ <p><span class="required-span">* </span>审批结论:</p> </td> <td colspan="2"> <el-input v-if="currentStep === 1" v-model="form.ratifyOpinion" :rows="4" placeholder="请输入内容" size="small" type="textarea"> <el-input v-if="currentStep === 1" v-model="form.ratifyOpinion" :rows="4" placeholder="请输入内容" size="small" type="textarea"> </el-input> <span v-if="currentStep === 2" class="td-info"> {{ form.ratifyOpinion }}</span> </td> @@ -243,6 +204,12 @@ </template> <script> import { getSuperviseDetailRecord, addSuperviseDetailRecord, addSuperviseRecordOpinion, } from '@/api/cnas/process/ensureResults/qualityControlPlan.js' import { selectUserCondition } from "@/api/system/user"; export default { name: 'recordsDialog', // import 引入的组件需要注入到对象中才能使用 @@ -287,8 +254,8 @@ this.getAuthorizedPerson() }, // 查询监督计划详情记录流程信息 searchInfo (row) { this.$axios.get(this.$api.qualitySupervise.getSuperviseDetailRecord + '?superviseDetailsId=' + row.superviseDetailsId).then(res => { searchInfo(row) { getSuperviseDetailRecord({ superviseDetailsId: row.superviseDetailsId }).then(res => { if (res.code === 201) return // 有superviseDetailsRecordId说明提交过记录 if (res.data.superviseDetailsRecordId) { @@ -308,7 +275,7 @@ }) }, // 提交流程 handleEdit () { handleEdit() { if (!this.form.testMember || !this.form.supervisor || !this.form.testItem || !this.form.sampleNumber || !this.form.testDate) { this.$message.warning('请填写完整') @@ -321,18 +288,13 @@ } }, // 提交记录 addInfo () { addInfo() { if (!this.form.ratifyUserId) { this.$message.warning('请选择下一步批准人') return } this.editLoad = true this.$axios.post(this.$api.qualitySupervise.addSuperviseDetailRecord, this.form, { headers: { "Content-Type": "application/json" }, noQs: true }).then(res => { addSuperviseDetailRecord(this.form).then(res => { this.editLoad = false if (res.code === 201) return this.$message.success('操作成功') @@ -343,7 +305,7 @@ }) }, // 提交批准 editInfo () { editInfo() { if (!this.form.ratifyOpinion) { this.$message.warning('请填写审批意见') return @@ -354,12 +316,7 @@ return } this.editLoad = true this.$axios.post(this.$api.qualitySupervise.addSuperviseRecordOpinion, this.form, { headers: { "Content-Type": "application/json" }, noQs: true }).then(res => { addSuperviseRecordOpinion(this.form).then(res => { this.editLoad = false if (res.code === 201) return this.$message.success('操作成功') @@ -370,12 +327,12 @@ }) }, // 关闭弹框 closeRecordsDia () { closeRecordsDia() { this.formDia = false this.$emit('closeRecordsDia') }, getAuthorizedPerson() { this.$axios.get(this.$api.user.getUserMenu).then(res => { selectUserCondition().then(res => { let data = [] res.data.forEach(a => { data.push({ @@ -394,11 +351,13 @@ >>>.el-dialog { margin: 20px auto 50px !important; } .tables { table-layout: fixed; width: 100%; margin-top: 10px; } .td-title { height: 40px; text-align: center; @@ -407,12 +366,14 @@ white-space: normal; padding: 6px; } .td-info { text-align: center; font-size: 14px; word-wrap: break-word; white-space: normal; } .tables td { height: 40px; font-size: 14px; src/views/CNAS/process/ensureResults/qualityControlPlan/components/rectifyDialog.vue
@@ -1,9 +1,7 @@ <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> @@ -17,11 +15,8 @@ <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> @@ -31,9 +26,8 @@ <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> @@ -43,13 +37,13 @@ <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"> @@ -57,7 +51,7 @@ <p>日期:</p> </td> <td class="td-info" colspan="3"> {{form.raiseTime}} {{ form.raiseTime }} </td> </tr> <tr v-if="showStep === 1"> @@ -65,11 +59,8 @@ <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> @@ -79,13 +70,13 @@ <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"> @@ -93,7 +84,7 @@ <p>原因分析日期:</p> </td> <td class="td-info" colspan="3"> {{form.causeTime}} {{ form.causeTime }} </td> </tr> <tr v-if="showStep === 1"> @@ -101,9 +92,8 @@ <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> @@ -113,11 +103,8 @@ <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> @@ -127,11 +114,8 @@ <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> @@ -141,13 +125,13 @@ <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"> @@ -155,7 +139,7 @@ <p>纠正日期:</p> </td> <td class="td-info" colspan="3"> {{form.correctTime}} {{ form.correctTime }} </td> </tr> <tr v-if="showStep === 2"> @@ -163,9 +147,8 @@ <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> @@ -175,11 +158,8 @@ <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> @@ -189,13 +169,13 @@ <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"> @@ -203,7 +183,7 @@ <p>验证日期:</p> </td> <td class="td-info" colspan="3"> {{form.validationTime}} {{ form.validationTime }} </td> </tr> </table> @@ -217,6 +197,11 @@ </template> <script> import { getSuperviseDetailRecord, addSuperviseDetailRecord, addSuperviseRecordOpinion, } from '@/api/cnas/process/ensureResults/qualityControlPlan.js' export default { name: 'rectifyDialog', // import 引入的组件需要注入到对象中才能使用 @@ -258,7 +243,7 @@ }, // 方法集合 methods: { openDia (row) { openDia(row) { this.formDia = true this.searchInfo(row) this.form.superviseDetailsId = row.superviseDetailsId @@ -266,7 +251,7 @@ 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 @@ -298,7 +283,7 @@ }) }, // 提交 handleEdit () { handleEdit() { if (this.currentStep === 0) { if (!this.form.raiseResult) { this.$message.warning('请填写不合格描述') @@ -354,11 +339,11 @@ }) }, // 关闭弹框 closeRectifyDia () { closeRectifyDia() { this.formDia = false this.$emit('closeRectifyDia') }, setStep (step) { setStep(step) { this.showStep = step }, getAuthorizedPerson() { @@ -373,7 +358,7 @@ this.personList = data }) }, getSupervisedUserList () { getSupervisedUserList() { this.$axios.get(this.$api.user.selectDepartmentLimsUserList).then(res => { let data = [] res.data.forEach(a => { @@ -393,11 +378,13 @@ >>>.el-dialog { margin: 10vh auto 50px !important; } .tables { table-layout: fixed; width: 100%; margin-top: 10px; } .td-title { height: 40px; width: 170px; @@ -407,9 +394,11 @@ white-space: normal; padding: 6px; } .td-info { padding: 6px; } .td-info1 { display: inline-block; width: 100%; src/views/CNAS/systemManagement/documentRecords/outDocumenRecordt.vue
@@ -169,7 +169,7 @@ { name: "批准", type: "text", clickFun: (handleApproval) => { clickFun: (row) => { this.handleSubmit(row); }, disabled: (row) => { src/views/CNAS/systemManagement/documentRecords/regularReviewsRecord.vue
@@ -159,110 +159,6 @@ lookDialogVisible: false, noCheckLoading: false, checkLoading: false, componentData: { entity: { documentName: null, documentCode: null, orderBy: { field: 'id', order: 'desc' } }, isIndex: true, showSelect: false, select: false, // selectMethod: 'handleChangeTask', do: [{ id: 'handleEdit', font: '修改', type: 'text', method: 'handleEdit', field: [], }, { id: 'delete', font: '删除', type: 'text', method: 'doDiy', }], tagField: { // documentType:{ // select: [] // }, // receiveUserName:{ // select: [] // }, }, selectField: { // documentType:{ // select: [] // }, // receiveUserName:{ // select: [] // }, }, addUpload: ['signatoryUrl'], requiredAdd: [], requiredUp: [], datePicker: ['receiveDate'], noHead: ['signedUserName', 'signedDate', 'departLims'],//不参与新增编辑的字段 needSort: [], inputType: '' }, componentData0: { entity: { year: null, orderBy: { field: 'id', order: 'desc' } }, isIndex: true, showSelect: false, select: false, do: [{ id: 'handleLook', font: '查看', type: 'text', method: 'handleLook', disabled: (row, index) => { return !row.url } }, { id: 'handleDown0', font: '下载', type: 'text', method: 'handleDown0', disabled: (row, index) => { return !row.url } }, { id: 'handleSubmit', font: '提交', type: 'text', method: 'handleSubmit', disabled: (row, index) => { return !!row.submitUserName } }, { id: 'handleApproval', font: '批准', type: 'text', method: 'handleApproval', disabled: (row, index) => { return !row.submitUserName || !!row.ratifyUserName } }], tagField: {}, selectField: {}, requiredAdd: [], requiredUp: [], needSort: [], inputType: '' }, entityCopy: {}, entityCopy0: {}, upIndex: 0, addInfo: {}, title: '新增', addInfo: {},