From 14d29f928b24d203e76f1dcefc1a51182657cd45 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 10 三月 2025 16:29:09 +0800
Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/center-lims-before-ruoyi into dev

---
 src/views/CNAS/personnel/personnelInfo/Department/components/Records/dispose/index.vue |  239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 239 insertions(+), 0 deletions(-)

diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/Records/dispose/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/dispose/index.vue
new file mode 100644
index 0000000..7dad14c
--- /dev/null
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/dispose/index.vue
@@ -0,0 +1,239 @@
+<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" :departId="departId" :isPermission="isPermission"
+                :factForm.sync="mainForm.factForm" :userList="userList" :currentResponsible="currentResponsible"
+                :disabled="active != 0" :step="active" @nextStep="submit" @cancel="cancel"></Fact>
+            <Reason v-if="pageStatus == 1" :isPermission="isPermission" :departId="departId"
+                :reasonForm.sync="mainForm.reasonForm" :userList="userList" :currentResponsible="currentResponsible"
+                :disabled="active != 1" :step="active" @nextStep="submit" @cancel="cancel"></Reason>
+            <Measure v-if="pageStatus == 2" :departId="departId" :isPermission="isPermission"
+                :measureForm.sync="mainForm.measureForm" :userList="userList" :currentResponsible="currentResponsible"
+                :disabled="active != 2" :step="active" @nextStep="submit" @cancel="cancel"></Measure>
+            <Result v-if="pageStatus == 3" :departId="departId" :isPermission="isPermission"
+                :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>
+</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 { dateFormat } from '@/utils/date.js'
+import {
+    selectUserList,
+    personSupervisionProcessingPage,
+    addOrUpdatePersonnelServiceProcessing
+} from '@/api/cnas/personnel/personnelInfo.js'
+export default {
+    props: {
+        departId: {
+            type: Number,
+            default: () => {
+                return null;
+            }
+        },
+    },
+    components: {
+        Fact, Reason, Measure, Result
+    },
+    data() {
+        return {
+            isPermission: true,
+            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: [],
+        }
+    },
+    mounted() {
+        this.isPermission = isPermission("isSubmit")
+        console.log('鏉冮檺', this.isPermission);
+    },
+    methods: {
+        openDialog(id) {
+            this.dialogVisible = true
+            this.getUserList()
+            this.getProcessData(id)
+        },
+        /**
+         * @desc 鑾峰彇鐢ㄦ埛淇℃伅
+         */
+        async getUserList() {
+            const { code, data } = await selectUserList()
+            if (code == 200) {
+                this.userList = data
+            }
+        },
+        /**
+         * @desc 鏌ヨ鐩戠潱璁板綍澶勭悊鍗�
+         * @param {鐩戠潱璁板綍id} id
+         */
+        async getProcessData(id) {
+            const { code, data } = await personSupervisionProcessingPage({ 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: dateFormat(new Date(), '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: dateFormat(new Date(), '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: dateFormat(new Date(), '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: dateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss'),
+                    currentState: currentState,
+                    ...resultForm
+                })
+            }
+        },
+        /**
+         * @desc 鎻愪氦琛ㄥ崟
+         */
+        async submitForm(form) {
+            console.log('鎻愪氦琛ㄥ崟', form)
+            const { code } = await addOrUpdatePersonnelServiceProcessing({
+                processingId: this.processId,
+                supervisionRecordId: this.supervisionRecordId,
+                ...form
+            })
+            if (this.controlType == '鏂板') {
+                if (code == 200) {
+                    this.$message.success('鎻愪氦鎴愬姛')
+                }
+            } else if (this.controlType == '缂栬緫') {
+                if (code == 200) {
+                    this.$message.success('鎻愪氦鎴愬姛')
+                }
+            }
+            this.$emit('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>

--
Gitblit v1.9.3