Your Name
2022-08-22 f12c45e54d27f27886d8bc9ee96624979fa7de2e
src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue
@@ -1,6 +1,6 @@
<template>
    <div class="system-add-menu-container">
        <el-dialog v-model="ifShowInspectTaskDialog" :title="title">
        <el-dialog v-model="ifShowInspectTaskDialog" :title="title" :close-on-click-modal="false">
            <el-form :model="inspectTaskForm" label-width="120px" ref="inspectTaskFormRef" :rules="inspectTaskFormRules">
                <el-row>
                    <el-col :span="12" style="margin-bottom: 20px">
@@ -27,13 +27,15 @@
                            </el-select>
                        </el-form-item>
                    </el-col>
                    <el-col :span="12" style="margin-bottom: 20px">
                    <el-col :span="12" style="margin-bottom: 20px" v-if="inspectTaskForm.workType === 2">
                        <el-form-item label="巡检周期" prop="checkCycle">
                            <el-input v-model="inspectTaskForm.checkCycle" @input="onVerifiyNumberInteger($event, 'checkCycle')" :disabled="!inspectPointConfirm" placeholder="请输入巡检周期" class="input-add">
                                <template #append>
                                    <el-form-item prop="checkCycleUnit">
                                    <el-select v-model="inspectTaskForm.checkCycleUnit" :disabled="!inspectPointConfirm" placeholder="选择单位">
                                        <el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option>
                                    </el-select>
                                    </el-form-item>
                                </template>
                            </el-input>
                        </el-form-item>
@@ -42,9 +44,11 @@
                        <el-form-item label="提前通知时间" prop="noticeTime">
                            <el-input @input="onVerifiyNumberInteger($event, 'noticeTime')" v-model="inspectTaskForm.noticeTime" :disabled="!inspectPointConfirm" placeholder="请输入提前通知时间" class="input-add">
                                <template #append>
                                    <el-form-item prop="noticeTimeUnit">
                                    <el-select v-model="inspectTaskForm.noticeTimeUnit" :disabled="!inspectPointConfirm" placeholder="选择单位">
                                        <el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option>
                                    </el-select>
                                    </el-form-item>
                                </template>
                            </el-input>
                        </el-form-item>
@@ -53,16 +57,18 @@
                        <el-form-item label="有效时间" prop="validTime">
                            <el-input v-model="inspectTaskForm.validTime" @input="onVerifiyNumberInteger($event, 'validTime')" :disabled="!inspectPointConfirm" placeholder="请输入有效时间" class="input-add">
                                <template #append>
                                    <el-form-item prop="noticeTimeUnit">
                                    <el-select v-model="inspectTaskForm.validTimeUnit" :disabled="!inspectPointConfirm" placeholder="选择单位">
                                        <el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option>
                                    </el-select>
                                    </el-form-item>
                                </template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="12" style="margin-bottom: 20px">
                        <el-form-item label="周期开始时间" prop="firstStartTime">
                            <el-date-picker v-model="inspectTaskForm.firstStartTime" :disabled="!inspectPointConfirm" placeholder="请选择周期开始时间" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" />
                        <el-form-item label="任务开始时间" prop="firstStartTime">
                            <el-date-picker v-model="inspectTaskForm.firstStartTime" :disabled="!inspectPointConfirm" placeholder="请选择任务开始时间" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" />
                        </el-form-item>
                    </el-col>
@@ -130,13 +136,15 @@
                        </el-form-item>
                    </el-col>
                </el-row>
                <div align="right" v-show="inspectPointConfirm">
                    <el-button type="warning" @click="inspectPointDialog = false" size="default" plain>取消</el-button>
            </el-form>
            <template #footer>
                <div v-if="inspectPointConfirm" class="dialog-footer">
                    <el-button type="warning" @click="ifShowInspectTaskDialog = false" size="default" plain>取消</el-button>
                    <el-button type="primary" @click="submitInspectTask()" size="default">确认</el-button>
                </div>
            </el-form>
            </template>
        </el-dialog>
        <el-dialog v-model="inspectPointDialog" :title="pointTitle">
        <el-dialog v-model="inspectPointDialog" :title="pointTitle" :close-on-click-modal="false">
            <el-form :model="inspectPointForm" label-width="150px" ref="inspectPointFormRef" :rules="inspectPointFormRules">
                <el-form-item label="选择巡检点" prop="pointId">
                    <el-select v-model="inspectPointForm.pointId" @change="giveRegionAndRFID" class="input-add">
@@ -196,11 +204,10 @@
<script lang="ts">
import { reactive, toRefs, ref } from 'vue';
import { RFIDApi } from '/@/api/intellectInspectSystem/RFID';
import { ElMessage } from 'element-plus/es';
import { inspectTaskApi } from '/@/api/intellectInspectSystem/inspectTask';
import { facilityAreaApi } from '/@/api/intellectInspectSystem/facilityAreaManage';
import { verifiyNumberInteger } from '/@/utils/toolsValidate';
interface dataState {
    title: string;
    pointTitle: string;
@@ -284,6 +291,7 @@
    name: 'inspectTaskDialog',
    setup(props: any, context: any) {
        const inspectTaskFormRef = ref();
        const inspectPointFormRef = ref();
        const data = reactive<dataState>({
            title: '',
            pointTitle: '',
@@ -332,11 +340,21 @@
                execClassgroupId: [{ required: true, message: '请选择巡检班组', trigger: 'change' }],
                execDepId: [{ required: true, message: '请选择巡检部门', trigger: 'blur' }],
                checkCycle: [{ required: true, message: '请填写巡检周期', trigger: 'blur' }],
                checkCycleUnit: [{ required: true, message: '请选择巡检周期单位', trigger: 'change' }],
                noticeTime: [{ required: true, message: '请填写提前通知时间', trigger: 'blur' }],
                noticeTimeUnit: [{ required: true, message: '请选择提前通知时间单位', trigger: 'change' }],
                validTime: [{ required: true, message: '请填写有效时间', trigger: 'blur' }],
                validTimeUnit: [{ required: true, message: '请选择有效时间单位', trigger: 'change' }],
                firstStartTime: [{ required: true, message: '请选择周期开始时间', trigger: 'change' }]
            },
            inspectPointFormRules: {},
            inspectPointFormRules: {
                pointId: [{ required: true, message: '请选择巡检点', trigger: 'change' }],
                regionId: [{ required: true, message: '', trigger: 'change' }],
                rfidId: [{ required: true, message: '', trigger: 'change' }],
                quotaId: [{ required: true, message: '请选择巡检指标', trigger: 'change' }],
                quotaUnit: [{ required: true, message: '请填写巡检指标单位', trigger: 'blur' }],
                dataReportType: [{ required: true, message: '请选择巡检指标单位', trigger: 'change' }]
            },
            workTypeList: [],
            departmentList: [],
            timeList: [],
@@ -461,7 +479,9 @@
            }
        };
        const submitInspectPoint = async () => {
        const submitInspectPoint = () => {
            inspectPointFormRef.value.validate(async (valid: Boolean) => {
                if (valid) {
            if (data.title === '新增巡检任务' && data.pointTitle === '新增巡检点') {
                if (data.inspectTaskForm.points.length === 0) {
                    data.inspectPointForm.execSequence = 1;
@@ -471,7 +491,6 @@
                data.inspectTaskForm.points.push(data.inspectPointForm);
                data.inspectPointDialog = false;
            } else if (data.title === '新增巡检任务' && data.pointTitle === '修改巡检点') {
                debugger;
                let result = data.inspectTaskForm.points.findIndex((item) => item.execSequence === data.inspectPointForm.execSequence);
                data.inspectTaskForm.points[result] = data.inspectPointForm;
                data.inspectPointDialog = false;
@@ -516,6 +535,13 @@
                    });
                }
            }
                } else {
                    ElMessage({
                        type: 'warning',
                        message: '请完善基本信息'
                    });
                }
            });
        };
        const deleteFlow = async (index: number, item: { id: number }) => {
            if (data.pointTitle === '新增巡检点') {
@@ -612,6 +638,7 @@
            deleteFlow,
            giveQuotaUnit,
            giveClassGroup,
            inspectPointFormRef,
            onVerifiyNumberInteger,
            submitInspectTask,
            submitInspectPoint,