spring
2025-02-19 bb98d4606e64ee048e99a83df2ef554c9605d692
cnas问题修改
已修改3个文件
421 ■■■■ 文件已修改
src/assets/api/controller.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/caorui/Department/components/Records/control/index.vue 227 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/caorui/Department/components/Records/dispose/index.vue 191 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/api/controller.js
@@ -910,7 +910,8 @@
  uploadVerifyMethodFile: "/processMethodVerify/uploadVerifyMethodFile", // 新增原始记录
  getVerifyMethodFileList: "/processMethodVerify/getVerifyMethodFileList", // 原始记录列表
  delVerifyMethodFileList: "/processMethodVerify/delVerifyMethodFileList", // 删除验证原始记录列表
  delMethodVerify: "/processMethodVerify/delMethodVerify" // 删除标准方法更新验证
  delMethodVerify: "/processMethodVerify/delMethodVerify", // 删除标准方法更新验证
  exportMethodVerify: "/processMethodVerify/exportMethodVerify" // 导出标准方法更新验证
};
// 7.4检测或校准物品的处置-样品接收
src/components/caorui/Department/components/Records/control/index.vue
@@ -1,9 +1,6 @@
<template>
    <div>
        <el-dialog
            :visible.sync="dialogVisible"
            title="不符合工作控制单"
        >
    <el-dialog :visible.sync="dialogVisible" title="不符合工作控制单">
            <el-steps :active="active" :align-center="true" finish-status="success">
                <el-step
                    v-for="(item, index) in stepList"
@@ -62,25 +59,33 @@
                    @cancel="cancel"
                    @nextStep="submit"
                ></Inform>
                <el-result v-if="pageStatus == 5" icon="success" subTitle="处理完成" title="审核完成">
      <el-result
        v-if="pageStatus == 5"
        icon="success"
        subTitle="处理完成"
        title="审核完成"
      >
                </el-result>
        </el-dialog>
    </div>
</template>
<script>
import ConditionForm from './Step/ConditionForm.vue'
import MeasureForm from './Step/MeasureForm.vue'
import RectifyForm from './Step/RectifyForm.vue'
import Inform from './Step/Inform.vue'
import ConditionForm from "./Step/ConditionForm.vue";
import MeasureForm from "./Step/MeasureForm.vue";
import RectifyForm from "./Step/RectifyForm.vue";
import Inform from "./Step/Inform.vue";
import {
    personSupervisionControlSheetPage,
    getUserListApi,
    addOrUpdatePersonSupervisionControl
} from "../../../../../../assets/api/api"
} from "../../../../../../assets/api/api";
export default {
    components: {
        ConditionForm, MeasureForm, RectifyForm, Inform
    ConditionForm,
    MeasureForm,
    RectifyForm,
    Inform
    },
    data() {
        return {
@@ -88,20 +93,25 @@
            pageStatus: 0,
            dialogVisible: false,
            currentResponsible: undefined,
            stepList: [{
                    label: '工作情况',
      stepList: [
        {
          label: "工作情况",
                    value: 0
                }, {
                    label: '被监督人确认',
        },
        {
          label: "被监督人确认",
                    value: 1
                }, {
                    label: '处理措施',
        },
        {
          label: "处理措施",
                    value: 2
                }, {
                    label: '纠正措施',
        },
        {
          label: "纠正措施",
                    value: 3
                }, {
                    label: '通知客户',
        },
        {
          label: "通知客户",
                    value: 4
                }
            ],
@@ -113,7 +123,7 @@
                    supervisedPersonId: undefined,
                    discoveryApproach: [],
                    notConformDetails: undefined,
                    nonConformityClause: undefined,
          nonConformityClause: undefined
                },
                handleForm: {
                    responsibleDepartmentPersonId: undefined,
@@ -132,46 +142,46 @@
            },
            userList: [],
            controlType: undefined
        }
    };
    },
    methods: {
        /**
         * @desc 初始化表单
         */
        initForm() {
            this.mainForm.condiForm.departmentHeadId = undefined
            this.mainForm.condiForm.supervisedPersonId = undefined
            this.mainForm.condiForm.discoveryApproach = []
            this.mainForm.condiForm.notConformDetails = undefined
            this.mainForm.condiForm.nonConformityClause = undefined
            this.mainForm.handleForm.responsibleDepartmentPersonId = undefined
            this.mainForm.handleForm.treatmentMeasures = undefined
            this.mainForm.rectifyForm.correctiveMeasure = undefined
            this.mainForm.rectifyForm.correctiveMeasureFollowTracks = undefined
            this.mainForm.rectifyForm.correctiveMeasurePersonId = undefined
            this.mainForm.inform.whetherInformCustomer = undefined
            this.mainForm.inform.whetherResumeWork = undefined
            this.mainForm.inform.qualitySupervisorId = undefined
      this.mainForm.condiForm.departmentHeadId = undefined;
      this.mainForm.condiForm.supervisedPersonId = undefined;
      this.mainForm.condiForm.discoveryApproach = [];
      this.mainForm.condiForm.notConformDetails = undefined;
      this.mainForm.condiForm.nonConformityClause = undefined;
      this.mainForm.handleForm.responsibleDepartmentPersonId = undefined;
      this.mainForm.handleForm.treatmentMeasures = undefined;
      this.mainForm.rectifyForm.correctiveMeasure = undefined;
      this.mainForm.rectifyForm.correctiveMeasureFollowTracks = undefined;
      this.mainForm.rectifyForm.correctiveMeasurePersonId = undefined;
      this.mainForm.inform.whetherInformCustomer = undefined;
      this.mainForm.inform.whetherResumeWork = undefined;
      this.mainForm.inform.qualitySupervisorId = undefined;
        },
        /**
         * @desc 打开模态框
         * @param {监督记录id} id
         */
        openDialog(id) {
            this.dialogVisible = true
            this.getUserList()
            this.getControlData(id)
      this.dialogVisible = true;
      this.getUserList();
      this.getControlData(id);
        },
        /**
         * @desc 获取用户信息
         */
         async getUserList() {
            const { code, data } = await this.$axios({
                method: 'get',
                url: getUserListApi,
            })
        method: "get",
        url: getUserListApi
      });
            if(code == 200) {
                this.userList = data
        this.userList = data;
            }
        },
        /**
@@ -180,146 +190,155 @@
         */
        async getControlData(id) {
            const { code, data } = await this.$axios({
                method: 'get',
        method: "get",
                url: personSupervisionControlSheetPage,
                params: {id}
            })
      });
            if(code == 202) {
                this.controlType = '新增'
                this.supervisionRecordId = id
                this.active = 0
                this.pageStatus = 0
                this.controlId = undefined
                this.initForm()
        this.controlType = "新增";
        this.supervisionRecordId = id;
        this.active = 0;
        this.pageStatus = 0;
        this.controlId = undefined;
        this.initForm();
            }
            if(code == 200) {
                this.currentResponsible = data.currentResponsible
                this.controlType = '编辑'
                this.controlId = data.id
                this.active = Number(data.currentState)
                this.pageStatus = Number(data.currentState === 4 ? 0 : data.currentState)
        this.currentResponsible = data.currentResponsible;
        this.controlType = "编辑";
        this.controlId = data.id;
        this.active = Number(data.currentState);
        this.pageStatus = Number(
          data.currentState === 4 ? 0 : data.currentState
        );
                // 第1、2步数据
                this.mainForm.condiForm.departmentHeadId = data.departmentHeadId
                this.mainForm.condiForm.supervisedPersonId = data.supervisedPersonId
                this.mainForm.condiForm.notConformDetails = data.notConformDetails
                this.mainForm.condiForm.nonConformityClause = data.nonConformityClause
        this.mainForm.condiForm.departmentHeadId = data.departmentHeadId;
        this.mainForm.condiForm.supervisedPersonId = data.supervisedPersonId;
        this.mainForm.condiForm.notConformDetails = data.notConformDetails;
        this.mainForm.condiForm.nonConformityClause = data.nonConformityClause;
                // 第3步数据
                this.mainForm.handleForm.responsibleDepartmentPersonId = data.responsibleDepartmentPersonId
                this.mainForm.handleForm.treatmentMeasures = data.treatmentMeasures
        this.mainForm.handleForm.responsibleDepartmentPersonId =
          data.responsibleDepartmentPersonId;
        this.mainForm.handleForm.treatmentMeasures = data.treatmentMeasures;
                // 第4步数据
                this.mainForm.rectifyForm.correctiveMeasure = data.correctiveMeasure
                this.mainForm.rectifyForm.correctiveMeasureFollowTracks = data.correctiveMeasureFollowTracks
                this.mainForm.rectifyForm.correctiveMeasurePersonId = data.correctiveMeasurePersonId
        this.mainForm.rectifyForm.correctiveMeasure = data.correctiveMeasure;
        this.mainForm.rectifyForm.correctiveMeasureFollowTracks =
          data.correctiveMeasureFollowTracks;
        this.mainForm.rectifyForm.correctiveMeasurePersonId =
          data.correctiveMeasurePersonId;
                // 第5步数据
                this.mainForm.whetherInformCustomer = data.whetherInformCustomer
                this.mainForm.whetherResumeWork = data.whetherResumeWork
                this.mainForm.qualitySupervisorId = data.qualitySupervisorId
                this.supervisionRecordId = data.supervisionRecordId
        this.mainForm.whetherInformCustomer = data.whetherInformCustomer;
        this.mainForm.whetherResumeWork = data.whetherResumeWork;
        this.mainForm.qualitySupervisorId = data.qualitySupervisorId;
        this.supervisionRecordId = data.supervisionRecordId;
            }
        },
        submit(type) {
            let currentState = undefined
            if(type == 'submit') {
                currentState = this.active + 1
            } else if(type == 'save') {
                currentState = undefined
      let currentState = undefined;
      if (type == "submit") {
        currentState = this.active + 1;
      } else if (type == "save") {
        currentState = undefined;
            }
            if(this.active == 0) {
                let { discoveryApproach, ...condiFormRest } = this.mainForm.condiForm
                let approcahStr = discoveryApproach.join(',')
        let { discoveryApproach, ...condiFormRest } = this.mainForm.condiForm;
        let approcahStr = discoveryApproach.join(",");
                this.submitForm({
                    id: this.controlId,
                    supervisionRecordId: this.supervisionRecordId,
                    discoveryApproach: approcahStr,
                    currentState: currentState,
                  discovererDate: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
          discovererDate: this.$moment().format("YYYY-MM-DD HH:mm:ss"),
                    ...condiFormRest
                })
        });
            }
            if(this.active == 1) {
                let { discoveryApproach, ...condiFormRest } = this.mainForm.condiForm
                let approcahStr = discoveryApproach.join(',')
        let { discoveryApproach, ...condiFormRest } = this.mainForm.condiForm;
        let approcahStr = discoveryApproach.join(",");
                this.submitForm({
                    id: this.controlId,
                    supervisionRecordId: this.supervisionRecordId,
                    discoveryApproach: approcahStr,
                    currentState: currentState,
                  supervisedPersonDate: this.$moment().format('YYYY-MM-DD'),
          supervisedPersonDate: this.$moment().format("YYYY-MM-DD"),
                    ...condiFormRest
                })
        });
            }
            if(this.active == 2) {
                let { handleForm } = this.mainForm
        let { handleForm } = this.mainForm;
                this.submitForm({
                    id: this.controlId,
                    supervisionRecordId: this.supervisionRecordId,
                    currentState: currentState,
                  responsibleDepartmentDate: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
          responsibleDepartmentDate: this.$moment().format(
            "YYYY-MM-DD HH:mm:ss"
          ),
                    ...handleForm
                })
        });
            }
            if(this.active == 3) {
                let { rectifyForm } = this.mainForm
        let { rectifyForm } = this.mainForm;
                this.submitForm({
                    id: this.controlId,
                    supervisionRecordId: this.supervisionRecordId,
                    currentState: currentState,
                  correctiveMeasureDate: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
          correctiveMeasureDate: this.$moment().format("YYYY-MM-DD HH:mm:ss"),
                    ...rectifyForm
                })
        });
            }
            if(this.active == 4) {
                let { inform } = this.mainForm
        let { inform } = this.mainForm;
                this.submitForm({
                    id: this.controlId,
                    supervisionRecordId: this.supervisionRecordId,
                    currentState: currentState,
                  qualitySupervisorDate: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
          qualitySupervisorDate: this.$moment().format("YYYY-MM-DD HH:mm:ss"),
                    ...inform
                })
        });
            }
        },
        /**
         * @desc 提交表单
         */
        async submitForm(form) {
            let user = JSON.parse(localStorage.getItem('user'));
      let user = JSON.parse(localStorage.getItem("user"));
            const { code } = await this.$axios({
                method: 'post',
        method: "post",
                url: addOrUpdatePersonSupervisionControl,
                data: {
                    currentResponsible: user.name,
                    ...form
                },
                noQs: true
            })
            if(this.controlType == '新增') {
      });
      if (this.controlType == "新增") {
                if(code == 200) {
                    this.$message.success('提交成功')
          this.$message.success("提交成功");
          this.$parent.getTableData();
                }
            } else if(this.controlType == '编辑') {
      } else if (this.controlType == "编辑") {
                if(code == 200) {
                    this.$message.success('提交成功')
          this.$message.success("提交成功");
          this.$parent.getTableData();
                }
            }
            this.dialogVisible = false
      this.dialogVisible = false;
        },
        /**
         * @desc 驳回
         */
        cancel() {
            let currentState = this.active - 1
      let currentState = this.active - 1;
            this.submitForm({
                id: this.controlId,
                supervisionRecordId: this.supervisionRecordId,
                currentState: currentState,
            })
        currentState: currentState
      });
        },
        setStep(e) {
            this.pageStatus = e
      this.pageStatus = e;
        }
    }
}
};
</script>
<style scoped>
.dialog-footer {
src/components/caorui/Department/components/Records/dispose/index.vue
@@ -1,14 +1,7 @@
<template>
    <div>
        <el-dialog
            title="纠错处理单"
            :visible.sync="dialogVisible"
        >
            <el-steps
                :active="active"
                finish-status="success"
                :align-center="true"
            >
    <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"
@@ -65,20 +58,23 @@
    </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'
} from "../../../../../../assets/api/api";
export default {
    components: {
        Fact, Reason, Measure, Result
    Fact,
    Reason,
    Measure,
    Result
    },
    data() {
        return {
@@ -88,16 +84,19 @@
            currentResponsible: undefined,
            stepList: [
                {
                    label: '问题描述',
          label: "问题描述",
                    value: 0
                }, {
                    label: '原因分析',
        },
        {
          label: "原因分析",
                    value: 1
                }, {
                    label: '纠正措施',
        },
        {
          label: "纠正措施",
                    value: 2
                }, {
                    label: '验证结果',
        },
        {
          label: "验证结果",
                    value: 3
                }
            ],
@@ -122,25 +121,25 @@
                    implementationVerificationResults: undefined
                }
            },
            userList: [],
        }
      userList: []
    };
    },
    methods: {
        openDialog(id) {
            this.dialogVisible = true
            this.getUserList()
            this.getProcessData(id)
      this.dialogVisible = true;
      this.getUserList();
      this.getProcessData(id);
        },
        /**
         * @desc 获取用户信息
         */
         async getUserList() {
            const { code, data } = await this.$axios({
                method: 'get',
                url: getUserListApi,
            })
        method: "get",
        url: getUserListApi
      });
            if(code == 200) {
                this.userList = data
        this.userList = data;
            }
        },
        /**
@@ -149,96 +148,104 @@
         */
        async getProcessData(id) {
            const { code, data } = await this.$axios({
                method: 'get',
        method: "get",
                url: personSupervisionProcessingPage,
                params: {id}
            })
      });
            if(code == 202) {
                this.controlType = '新增'
                this.supervisionRecordId = id
                this.active = 0
                this.pageStatus = 0
                this.processId = undefined
        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)
        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
        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
        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
        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
        this.mainForm.resultForm.verificationDepartmentPersonId =
          data.verificationDepartmentPersonId;
        this.mainForm.resultForm.implementationVerificationResults =
          data.implementationVerificationResults;
            }
        },
        closeDialog() {
            this.dialogVisible = false
      this.dialogVisible = false;
        },
        submit(type) {
            let currentState = undefined
            if(type == 'submit') {
                currentState = this.active + 1
            } else if(type == 'save') {
                currentState = undefined
      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
        console.log("第1步", this.active, currentState);
        let { factForm } = this.mainForm;
                this.submitForm({
                    proposingDepartmentDate: dayjs().format('YYYY-MM-DD HH:mm:ss'),
          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
        console.log("第2步", this.active, currentState);
        let { reasonForm } = this.mainForm;
                this.submitForm({
                    causeAnalysisDate: dayjs().format('YYYY-MM-DD HH:mm:ss'),
          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
        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'),
          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
        console.log("第4步", this.active, currentState);
        let { resultForm } = this.mainForm;
                this.submitForm({
                    verificationDepartmentDate: dayjs().format('YYYY-MM-DD HH:mm:ss'),
          verificationDepartmentDate: dayjs().format("YYYY-MM-DD HH:mm:ss"),
                    currentState: currentState,
                    ...resultForm
                })
        });
            }
        },
        /**
         * @desc 提交表单
         */
        async submitForm(form) {
            console.log('提交表单', form)
      console.log("提交表单", form);
            const { code } = await this.$axios({
                method: 'post',
        method: "post",
                url: addOrUpdatePersonnelServiceProcessing,
                data: {
                    processingId: this.processId,
@@ -246,33 +253,35 @@
                    ...form
                },
                noQs: true
            })
            if(this.controlType == '新增') {
      });
      if (this.controlType == "新增") {
                if(code == 200) {
                    this.$message.success('提交成功')
          this.$message.success("提交成功");
          this.$parent.getTableData();
                }
            } else if(this.controlType == '编辑') {
      } else if (this.controlType == "编辑") {
                if(code == 200) {
                    this.$message.success('提交成功')
          this.$message.success("提交成功");
          this.$parent.getTableData();
                }
            }
            this.dialogVisible = false
      this.dialogVisible = false;
        },
        /**
         * @desc 驳回
         */
         cancel() {
            let currentState = this.active - 1
      let currentState = this.active - 1;
            this.submitForm({
                id: this.processId,
                supervisionRecordId: this.supervisionRecordId,
                currentState: currentState,
            })
        currentState: currentState
      });
        },
        setStep(e) {
            console.log(e)
            this.pageStatus = e
      console.log(e);
      this.pageStatus = e;
        }
    }
}
};
</script>