spring
2025-02-19 bb98d4606e64ee048e99a83df2ef554c9605d692
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 {