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