From 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 04 三月 2025 08:39:55 +0800
Subject: [PATCH] 修改作业等级名称

---
 src/views/doublePrevent/riskLevel/riskCheckUnit/components/checkUnitDialog.vue |  260 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 260 insertions(+), 0 deletions(-)

diff --git a/src/views/doublePrevent/riskLevel/riskCheckUnit/components/checkUnitDialog.vue b/src/views/doublePrevent/riskLevel/riskCheckUnit/components/checkUnitDialog.vue
new file mode 100644
index 0000000..81ab0c6
--- /dev/null
+++ b/src/views/doublePrevent/riskLevel/riskCheckUnit/components/checkUnitDialog.vue
@@ -0,0 +1,260 @@
+<template>
+    <div class="system-add-menu-container">
+        <el-dialog :title="title" v-model="isShowCheckUnitDialog" append-to-body :close-on-click-modal="false" width="50%">
+            <el-divider></el-divider>
+            <div class="checkUnit-form">
+                <el-form :model="checkUnitForm" :rules="checkUnitFormRules" ref="checkUnitFormRef" size="default" label-width="120px">
+                    <el-row :gutter="35">
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+                            <el-form-item label="任务单元名称" prop="taskUnitName">
+                                <el-input class="input-add" :disabled="!disabled" v-model.trim="checkUnitForm.taskUnitName" placeholder="请输入任务单元名称" clearable></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
+                            <el-form-item label="任务单元说明" prop="note">
+                                <el-input class="input-add" :disabled="!disabled" v-model.trim="checkUnitForm.note" placeholder="请输入任务单元说明" clearable></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20" v-show="personTime">
+                            <el-form-item label="创建人" prop="location">
+                                <el-input class="input-add" :disabled="!disabled" v-model.trim="checkUnitForm.createByUserName" placeholder="请输入区域位置"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20" v-show="personTime">
+                            <el-form-item label="创建时间" prop="location">
+                                <el-input class="input-add" :disabled="!disabled" v-model.trim="checkUnitForm.gmtCreate" placeholder="请输入区域位置"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20" v-show="personTime">
+                            <el-form-item label="最后修改人" prop="location">
+                                <el-input class="input-add" :disabled="!disabled" v-model.trim="checkUnitForm.lastEditUserName" placeholder="请输入区域位置"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20" v-show="personTime">
+                            <el-form-item label="最后修改时间" prop="location">
+                                <el-input class="input-add" :disabled="!disabled" v-model.trim="checkUnitForm.gmtModitify" placeholder="请输入区域位置"></el-input>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                </el-form>
+            </div>
+
+            <div class="checkUnit-point">
+                <el-tabs class="active" v-model="activeName">
+                    <el-tab-pane label="检查项信息" name="checkUnit">
+                        <div class="filter-container">
+                            <el-button size="default" :disabled="!disabled" type="success" @click="onOpenDialogRef('新增', '')">
+                                <el-icon>
+                                    <ele-FolderAdd />
+                                </el-icon>
+                                选择风险管控措施
+                            </el-button>
+                        </div>
+
+                        <el-table :data="measureData" border fit highlight-current-row style="width: 100%">
+                            <el-table-column type="index" label="序号" width="60" />
+                            <el-table-column prop="checkContent" label="管控内容" show-overflow-tooltip align="center"></el-table-column>
+                            <el-table-column label="操作" width="150" align="center">
+                                <template #default="scope">
+                                    <el-button size="small" text :disabled="!disabled" type="danger" @click="onDelCheckUnit(scope.$index, scope.row)">删除</el-button>
+                                </template>
+                            </el-table-column>
+                        </el-table>
+                    </el-tab-pane>
+                </el-tabs>
+            </div>
+
+            <template #footer>
+                <span class="dialog-footer" v-show="disabled">
+                    <el-button @click="isShowCheckUnitDialog = !isShowCheckUnitDialog" size="default">取 消</el-button>
+                    <el-button type="primary" @click="submitCheckUnit" v-throttle size="default">确 定</el-button>
+                </span>
+            </template>
+        </el-dialog>
+        <el-dialog title="选择风险管控措施" v-model="isShowSelectMeasureControlDialog" append-to-body :close-on-click-modal="false" width="70%">
+            <select-measure-control-dialog ref="SelectMeasureControlDialogRef" @receiveRiskControlId="receiveRiskControlId"></select-measure-control-dialog>
+        </el-dialog>
+    </div>
+</template>
+
+<script lang="ts">
+import SelectMeasureControlDialog from './selectMeasureControlDialog.vue';
+import { reactive, toRefs, ref } from 'vue';
+import { checkUnitApi } from '/@/api/doublePreventSystem/checkUnit';
+import { ElMessage } from 'element-plus';
+interface stateType {
+    isShowCheckUnitDialog: Boolean;
+    disabled: Boolean;
+    personTime: Boolean;
+    isShowSelectMeasureControlDialog: Boolean;
+    checkUnitForm: {
+        taskUnitName: string | null;
+        note: string | null;
+        measureList: [];
+    };
+    title: string;
+    activeName: string;
+    measureData: [];
+    checkUnitData: [];
+    checkUnitFormRules: {};
+}
+
+export default {
+    name: 'checkUnitDialog',
+    components: { SelectMeasureControlDialog },
+    setup(props: any, context: any) {
+        const checkUnitFormRef = ref();
+        const riskControlMeasureDialogRef = ref();
+        const state = reactive<stateType>({
+            title: '',
+            disabled: false,
+            personTime: false,
+            activeName: 'checkUnit',
+            measureData: [],
+            checkUnitData: [],
+            isShowCheckUnitDialog: false,
+            isShowSelectMeasureControlDialog: false,
+            checkUnitForm: {
+                taskUnitName: null,
+                note: null,
+                measureList: []
+            },
+            checkUnitFormRules: {
+                taskUnitName: [{ required: true, message: '请填写任务单元名称', trigger: 'blur' }],
+                note: [{ required: true, message: '请填写任务单元说明', trigger: 'change' }]
+            }
+        });
+
+        //打开模态框
+        const openCheckUnitDialog = (type: string, value: object) => {
+            state.isShowCheckUnitDialog = true;
+            setTimeout(() => {
+                checkUnitFormRef.value.clearValidate();
+            });
+            if (type === '新增') {
+                state.disabled = true;
+                state.personTime = false;
+                state.title = '新增隐患排查单元';
+                state.measureData = [];
+                state.checkUnitForm = {
+                    taskUnitName: null,
+                    note: null,
+                    measureList: []
+                };
+            } else if (type === '查看') {
+                state.disabled = false;
+                state.personTime = true;
+                state.title = '查看隐患排查单元';
+                state.checkUnitForm = JSON.parse(JSON.stringify(value));
+                state.measureData = state.checkUnitForm.measureList;
+            } else {
+                state.disabled = true;
+                state.personTime = false;
+                state.title = '修改隐患排查单元';
+                state.checkUnitForm = JSON.parse(JSON.stringify(value));
+                state.measureData = state.checkUnitForm.measureList;
+            }
+        };
+
+        const onOpenDialogRef = () => {
+            state.isShowSelectMeasureControlDialog = true;
+        };
+
+        const onDelCheckUnit = (value: number, scope: object) => {
+            state.measureData.splice(value, 1);
+        };
+
+        const receiveRiskControlId = (value: []) => {
+            state.isShowSelectMeasureControlDialog = false;
+            state.measureData = value;
+            state.checkUnitForm.measureList = JSON.parse(
+                JSON.stringify(
+                    value.map((item: { id: number }) => {
+                        return item.id;
+                    })
+                )
+            );
+        };
+
+        //新增修改提交
+        const submitCheckUnit = async () => {
+            checkUnitFormRef.value.validate(async (valid: Boolean) => {
+                if (valid) {
+                    if (state.title === '新增隐患排查单元') {
+                        let res = await checkUnitApi().addCheckUnit(state.checkUnitForm);
+                        if (res.data.code === '200') {
+                            ElMessage({
+                                type: 'success',
+                                message: '隐患排查单元新增成功',
+                                duration: 2000
+                            });
+                            state.isShowCheckUnitDialog = false;
+                            context.emit('refreshCheckUnit');
+                        } else {
+                            ElMessage({
+                                type: 'warning',
+                                message: res.data.msg
+                            });
+                        }
+                    } else {
+                        let res = await checkUnitApi().modCheckUnit(state.checkUnitForm);
+                        if (res.data.code === '200') {
+                            ElMessage({
+                                type: 'success',
+                                message: '隐患排查单元修改成功',
+                                duration: 2000
+                            });
+                            state.isShowCheckUnitDialog = false;
+                            context.emit('refreshCheckUnit');
+                        } else {
+                            ElMessage({
+                                type: 'warning',
+                                message: res.data.msg
+                            });
+                        }
+                    }
+                } else {
+                    ElMessage({
+                        type: 'warning',
+                        message: '请完善基本信息'
+                    });
+                }
+            });
+        };
+
+        return {
+            ...toRefs(state),
+            checkUnitFormRef,
+            submitCheckUnit,
+            onDelCheckUnit,
+            onOpenDialogRef,
+            openCheckUnitDialog,
+            receiveRiskControlId,
+            riskControlMeasureDialogRef
+        };
+    }
+};
+</script>
+
+<style scoped>
+::v-deep.el-divider--horizontal {
+    margin-top: 0px !important;
+}
+
+::v-deep.el-dialog__body {
+    padding-top: 10px !important;
+}
+.filter-container {
+    padding: 10px 0px;
+}
+:deep(.el-textarea.is-disabled .el-textarea__inner) {
+    background-color: var(--el-card-bg-color);
+    color: var(--el-input-text-color, var(--el-text-color-regular));
+}
+:deep(.el-input.is-disabled .el-input__inner) {
+    color: var(--el-input-text-color, var(--el-text-color-regular));
+}
+:deep(.el-input.is-disabled .el-input__wrapper) {
+    background-color: var(--el-card-bg-color);
+}
+</style>

--
Gitblit v1.9.2