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/control/index.vue | 312 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 312 insertions(+), 0 deletions(-)
diff --git a/src/views/CNAS/personnel/personnelInfo/Department/components/Records/control/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/control/index.vue
new file mode 100644
index 0000000..325cf70
--- /dev/null
+++ b/src/views/CNAS/personnel/personnelInfo/Department/components/Records/control/index.vue
@@ -0,0 +1,312 @@
+<template>
+ <div>
+ <el-dialog :visible.sync="dialogVisible" title="涓嶇鍚堝伐浣滄帶鍒跺崟">
+ <el-steps :active="active" :align-center="true" finish-status="success">
+ <el-step v-for="(item, index) in stepList" :key="index" :title="item.label" style="cursor: pointer;"
+ @click.native="setStep(item.value)"></el-step>
+ </el-steps>
+ <el-divider></el-divider>
+ <ConditionForm v-if="pageStatus == 0" :departId="departId" :isPermission="isPermission"
+ :supervisedPersonId="mainForm.condiForm.supervisedPersonId" :condiForm.sync="mainForm.condiForm"
+ :currentResponsible="currentResponsible" :disabled="active != 0" :step="active" :userList="userList"
+ @nextStep="submit"></ConditionForm>
+ <ConditionForm v-if="pageStatus == 1" :departId="departId" :isPermission="isPermission"
+ :supervisedPersonId="mainForm.condiForm.supervisedPersonId" :condiForm.sync="mainForm.condiForm"
+ :currentResponsible="currentResponsible" :disabled="true" :step="active" :userList="userList"
+ @cancel="cancel" @nextStep="submit"></ConditionForm>
+ <MeasureForm v-if="pageStatus == 2" :departId="departId" :isPermission="isPermission"
+ :currentResponsible="currentResponsible" :disabled="active != 2" :handleForm.sync="mainForm.handleForm"
+ :step="active" :userList="userList" @cancel="cancel" @nextStep="submit"></MeasureForm>
+ <RectifyForm v-if="pageStatus == 3" :departId="departId" :isPermission="isPermission"
+ :currentResponsible="currentResponsible" :disabled="active != 3"
+ :rectifyForm.sync="mainForm.rectifyForm" :step="active" :userList="userList" @cancel="cancel"
+ @nextStep="submit"></RectifyForm>
+ <Inform v-if="pageStatus == 4" :departId="departId" :isPermission="isPermission" :disabled="active != 4"
+ :inform.sync="mainForm.inform" :step="active" :userList="userList" @cancel="cancel" @nextStep="submit">
+ </Inform>
+ <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 {
+ selectUserList,
+ personSupervisionControlSheetPage,
+ addOrUpdatePersonSupervisionControl
+} from '@/api/cnas/personnel/personnelInfo.js'
+export default {
+ props: {
+ departId: {
+ type: Number,
+ default: () => {
+ return null;
+ }
+ },
+ },
+ components: {
+ ConditionForm, MeasureForm, RectifyForm, Inform
+ },
+ data() {
+ return {
+ isPermission: true,
+ supervisedPersonId: null,
+ active: 0,
+ pageStatus: 0,
+ dialogVisible: false,
+ currentResponsible: undefined,
+ stepList: [{
+ label: '宸ヤ綔鎯呭喌',
+ value: 0
+ }, {
+ label: '琚洃鐫d汉纭',
+ value: 1
+ }, {
+ label: '澶勭悊鎺柦',
+ value: 2
+ }, {
+ label: '绾犳鎺柦',
+ value: 3
+ }, {
+ label: '閫氱煡瀹㈡埛',
+ value: 4
+ }
+ ],
+ supervisionRecordId: undefined,
+ controlId: undefined,
+ mainForm: {
+ condiForm: {
+ departmentHeadId: undefined,
+ supervisedPersonId: undefined,
+ discoveryApproach: [],
+ notConformDetails: undefined,
+ nonConformityClause: undefined,
+ departLimsId: undefined
+ },
+ handleForm: {
+ responsibleDepartmentPersonId: undefined,
+ treatmentMeasures: undefined,
+ departLimsId: undefined
+ },
+ rectifyForm: {
+ correctiveMeasure: undefined,
+ correctiveMeasureFollowTracks: undefined,
+ correctiveMeasurePersonId: undefined,
+ departLimsId: undefined
+ },
+ inform: {
+ whetherInformCustomer: undefined,
+ whetherResumeWork: undefined,
+ qualitySupervisorId: undefined,
+ departLimsId: undefined
+ }
+ },
+ userList: [],
+ controlType: undefined
+ }
+ },
+ mounted() {
+ this.isPermission = isPermission("isSubmit")
+ console.log('鏉冮檺', this.isPermission);
+ },
+ 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.condiForm.departLimsId = undefined
+ this.mainForm.handleForm.responsibleDepartmentPersonId = undefined
+ this.mainForm.handleForm.treatmentMeasures = undefined
+ this.mainForm.handleForm.departLimsId = undefined
+ this.mainForm.rectifyForm.correctiveMeasure = undefined
+ this.mainForm.rectifyForm.correctiveMeasureFollowTracks = undefined
+ this.mainForm.rectifyForm.correctiveMeasurePersonId = undefined
+ this.mainForm.rectifyForm.departLimsId = undefined
+ this.mainForm.inform.whetherInformCustomer = undefined
+ this.mainForm.inform.whetherResumeWork = undefined
+ this.mainForm.inform.qualitySupervisorId = undefined
+ this.mainForm.inform.departLimsId = undefined
+ },
+ /**
+ * @desc 鎵撳紑妯℃�佹
+ * @param {鐩戠潱璁板綍id} id
+ */
+ openDialog(id) {
+ this.dialogVisible = true
+ this.getUserList()
+ this.getControlData(id)
+ },
+ /**
+ * @desc 鑾峰彇鐢ㄦ埛淇℃伅
+ */
+ async getUserList() {
+ const { code, data } = await selectUserList()
+ if (code == 200) {
+ this.userList = data
+ }
+ },
+ /**
+ * @desc 鏌ヨ鐩戠潱璁板綍鎺у埗鍗�
+ * @param {鐩戠潱璁板綍id} id
+ */
+ async getControlData(id) {
+ const { code, data } = await personSupervisionControlSheetPage({ id })
+ if (code == 202) {
+ 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)
+ // 绗�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.departLimsId = data.departLimsId
+ // 绗�3姝ユ暟鎹�
+ this.mainForm.handleForm.responsibleDepartmentPersonId = data.responsibleDepartmentPersonId
+ this.mainForm.handleForm.treatmentMeasures = data.treatmentMeasures
+ this.mainForm.handleForm.departLimsId = data.departLimsId
+ // 绗�4姝ユ暟鎹�
+ this.mainForm.rectifyForm.correctiveMeasure = data.correctiveMeasure
+ this.mainForm.rectifyForm.correctiveMeasureFollowTracks = data.correctiveMeasureFollowTracks
+ this.mainForm.rectifyForm.correctiveMeasurePersonId = data.correctiveMeasurePersonId
+ this.mainForm.rectifyForm.departLimsId = data.departLimsId
+ // 绗�5姝ユ暟鎹�
+ this.mainForm.inform.whetherInformCustomer = data.whetherInformCustomer
+ this.mainForm.inform.whetherResumeWork = data.whetherResumeWork
+ this.mainForm.inform.qualitySupervisorId = data.qualitySupervisorId
+ this.mainForm.inform.departLimsId = data.departLimsId
+ this.supervisionRecordId = data.supervisionRecordId
+
+
+ this.supervisedPersonId = data.supervisedPersonId
+ }
+ },
+ submit(type) {
+ 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(',')
+ this.submitForm({
+ id: this.controlId,
+ supervisionRecordId: this.supervisionRecordId,
+ discoveryApproach: approcahStr,
+ currentState: currentState,
+ 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(',')
+ this.submitForm({
+ id: this.controlId,
+ supervisionRecordId: this.supervisionRecordId,
+ discoveryApproach: approcahStr,
+ currentState: currentState,
+ supervisedPersonDate: this.$moment().format('YYYY-MM-DD'),
+ ...condiFormRest
+ })
+ }
+ if (this.active == 2) {
+ let { handleForm } = this.mainForm
+ this.submitForm({
+ id: this.controlId,
+ supervisionRecordId: this.supervisionRecordId,
+ currentState: currentState,
+ responsibleDepartmentDate: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
+ ...handleForm
+ })
+ }
+ if (this.active == 3) {
+ let { rectifyForm } = this.mainForm
+ this.submitForm({
+ id: this.controlId,
+ supervisionRecordId: this.supervisionRecordId,
+ currentState: currentState,
+ correctiveMeasureDate: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
+ ...rectifyForm
+ })
+ }
+ if (this.active == 4) {
+ let { inform } = this.mainForm
+ this.submitForm({
+ id: this.controlId,
+ supervisionRecordId: this.supervisionRecordId,
+ currentState: currentState,
+ qualitySupervisorDate: this.$moment().format('YYYY-MM-DD HH:mm:ss'),
+ ...inform
+ })
+ }
+ },
+ /**
+ * @desc 鎻愪氦琛ㄥ崟
+ */
+ async submitForm(form) {
+ let user = JSON.parse(localStorage.getItem('user'));
+ form.responsibleDepartmentId = Number(form.responsibleDepartmentId)
+ const { code } = await addOrUpdatePersonSupervisionControl({
+ currentResponsible: user.name,
+ ...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.controlId,
+ supervisionRecordId: this.supervisionRecordId,
+ currentState: currentState,
+ })
+ },
+ setStep(e) {
+ this.pageStatus = e
+ }
+ }
+}
+</script>
+<style scoped>
+.dialog-footer {
+ width: 100%;
+}
+
+>>>.el-dialog__footer {
+ padding-right: 20px;
+}
+</style>
--
Gitblit v1.9.3