Your Name
2022-08-01 1621b3719092d93e6c29f7a27e401529e0454420
src/views/doublePrevent/riskCheckManage/checkTaskManage/checkWork/components/workDialog.vue
文件名从 src/views/doublePrevent/checkTaskManage/record/components/recordDialog.vue 修改
@@ -6,9 +6,7 @@
                    <el-row :gutter="35">
                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
                            <el-form-item label="排查类型" prop="checkWorkType">
                                <el-select class="input-add" v-model="workForm.checkWorkType" placeholder="请输入排查类型" clearable>
                                    <el-option v-for="item in checkWorkTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option
                                ></el-select>
                                <el-select class="input-add" v-model="workForm.checkWorkType" placeholder="请输入排查类型" clearable> <el-option v-for="item in checkWorkTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option></el-select>
                            </el-form-item>
                        </el-col>
                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
@@ -18,17 +16,7 @@
                        </el-col>
                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
                            <el-form-item label="整改部门" prop="depId">
                                <el-cascader
                                    @change="achieveUserList"
                                    :options="departmentList"
                                    :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }"
                                    placeholder="请选择部门"
                                    clearable
                                    filterable
                                    class="input-add"
                                    v-model="workForm.depId"
                                >
                                </el-cascader>
                                <el-cascader @change="achieveUserList" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="workForm.depId"> </el-cascader>
                            </el-form-item>
                        </el-col>
                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
@@ -40,13 +28,7 @@
                        </el-col>
                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
                            <el-form-item label="排查周期" prop="checkCycle">
                                <el-input
                                    class="input-add"
                                    type="number"
                                    v-model.trim="workForm.checkCycle"
                                    placeholder="请输入排查周期"
                                    clearable
                                ></el-input>
                                <el-input class="input-add" type="number" v-model.trim="workForm.checkCycle" placeholder="请输入排查周期" clearable></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
@@ -58,13 +40,7 @@
                        </el-col>
                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
                            <el-form-item label="有效时间" prop="validTime">
                                <el-input
                                    class="input-add"
                                    type="number"
                                    v-model.trim="workForm.validTime"
                                    placeholder="请输入有效时间"
                                    clearable
                                ></el-input>
                                <el-input class="input-add" type="number" v-model.trim="workForm.validTime" placeholder="请输入有效时间" clearable></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
@@ -76,13 +52,7 @@
                        </el-col>
                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
                            <el-form-item label="提醒时间" prop="noticeTime">
                                <el-input
                                    class="input-add"
                                    type="number"
                                    v-model.trim="workForm.noticeTime"
                                    placeholder="请输入提醒时间"
                                    clearable
                                ></el-input>
                                <el-input class="input-add" type="number" v-model.trim="workForm.noticeTime" placeholder="请输入提醒时间" clearable></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
@@ -101,14 +71,7 @@
                        </el-col>
                        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
                            <el-form-item label="首次任务开始时间" prop="firstStartTime">
                                <el-date-picker
                                    class="input-add"
                                    type="datetime"
                                    value-format="YYYY-MM-DD HH:mm:ss"
                                    v-model="workForm.firstStartTime"
                                    placeholder="请选择首次任务开始时间"
                                    clearable
                                ></el-date-picker>
                                <el-date-picker class="input-add" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" v-model="workForm.firstStartTime" placeholder="请选择首次任务开始时间" clearable></el-date-picker>
                            </el-form-item>
                        </el-col>
                    </el-row>
@@ -116,7 +79,7 @@
            </div>
            <template #footer>
                <span class="dialog-footer">
                <span class="dialog-footer" v-show="disabled">
                    <el-button @click="isShowWorkDialog = !isShowWorkDialog" size="default">取 消</el-button>
                    <el-button type="primary" @click="submitWork" v-throttle size="default">确 实</el-button>
                </span>
@@ -129,6 +92,7 @@
import { getUserByDepartment } from '/@/assets/methods';
interface stateType {
    disabled: Boolean;
    isShowWorkDialog: Boolean;
    workForm: {
        checkWorkType: number | null;
@@ -166,12 +130,14 @@
        const workFormRef = ref();
        const state = reactive<stateType>({
            title: '',
            disabled: false,
            activeName: 'inspectionPoint',
            checkWorkTypeList: [],
            departmentList: [],
            taskUnitList: [],
            userList: [],
            timeType: [
                { id: 1, name: '分' },
                { id: 2, name: '小时' },
                { id: 3, name: '日' },
                { id: 4, name: '月' },
@@ -193,15 +159,23 @@
                depId: null
            },
            workFormRules: {
                produceDeviceName: [{ required: true, message: '请填写生产装置名称', trigger: 'blur' }],
                depId: [{ required: true, message: '请选择部门', trigger: 'change' }],
                riskLevel: [{ required: true, message: '请选择风险等级', trigger: 'change' }],
                location: [{ required: true, message: '请填写区域位置', trigger: 'blur' }]
                checkWorkType: [{ required: true, message: '请填写排查作业类型', trigger: 'change' }],
                checkWorkName: [{ required: true, message: '请选择排查作业名称', trigger: 'blur' }],
                taskUnitId: [{ required: true, message: '请选择任务单元', trigger: 'change' }],
                execUserId: [{ required: true, message: '请选择执行人', trigger: 'change' }],
                checkCycle: [{ required: true, message: '请填写排查周期', trigger: 'blur' }],
                checkCycleUnit: [{ required: true, message: '请选择时间单位', trigger: 'change' }],
                validTime: [{ required: true, message: '请填写有效时间', trigger: 'blur' }],
                validTimeUnit: [{ required: true, message: '请选择时间单位', trigger: 'change' }],
                noticeTime: [{ required: true, message: '请填写提醒时间', trigger: 'blur' }],
                noticeTimeUnit: [{ required: true, message: '请选择时间单位', trigger: 'change' }],
                firstStartTime: [{ required: true, message: '请填写首次排查任务开始时间', trigger: 'blur' }],
                depId: [{ required: true, message: '请选择部门', trigger: 'change' }]
            }
        });
        //打开模态框
        const openWorkDialog = (type: string, value: object, department: [], checkWorkTypeList: [], taskUnitList: []) => {
        const openWorkDialog = async (type: string, value: object, department: [], checkWorkTypeList: [], taskUnitList: []) => {
            state.isShowWorkDialog = true;
            state.departmentList = department;
            state.taskUnitList = JSON.parse(JSON.stringify(taskUnitList));
@@ -210,7 +184,8 @@
                workFormRef.value.clearValidate();
            });
            if (type === '新增') {
                state.title = '新增生产装置';
                state.disabled = true;
                state.title = '新增排查任务';
                state.workForm = {
                    checkWorkType: null,
                    checkWorkName: null,
@@ -225,8 +200,17 @@
                    firstStartTime: null,
                    depId: null
                };
            } else if (type === '查看') {
                state.disabled = false;
                state.title = '查看排查任务';
                state.workForm.depId = JSON.parse(JSON.stringify(value)).depId;
                await achieveUserList();
                state.workForm = JSON.parse(JSON.stringify(value));
            } else {
                state.title = '修改生产装置';
                state.disabled = true;
                state.title = '修改排查任务';
                state.workForm.depId = JSON.parse(JSON.stringify(value)).depId;
                await achieveUserList();
                state.workForm = JSON.parse(JSON.stringify(value));
            }
        };
@@ -235,12 +219,12 @@
        const submitWork = async () => {
            workFormRef.value.validate(async (valid: Boolean) => {
                if (valid) {
                    if (state.title === '新增生产装置') {
                    if (state.title === '新增排查任务') {
                        let res = await workApi().addWork(state.workForm);
                        if (res.data.code === '200') {
                            ElMessage({
                                type: 'success',
                                message: '生产装置新增成功',
                                message: '排查任务新增成功',
                                duration: 2000
                            });
                            state.isShowWorkDialog = false;
@@ -256,7 +240,7 @@
                        if (res.data.code === '200') {
                            ElMessage({
                                type: 'success',
                                message: '生产装置修改成功',
                                message: '排查任务修改成功',
                                duration: 2000
                            });
                            state.isShowWorkDialog = false;