From f12c45e54d27f27886d8bc9ee96624979fa7de2e Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期一, 22 八月 2022 18:39:25 +0800
Subject: [PATCH] Xiugai

---
 src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue |  167 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 97 insertions(+), 70 deletions(-)

diff --git a/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue b/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue
index 48c420c..caac038 100644
--- a/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue
+++ b/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-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 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-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 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-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 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,61 +479,69 @@
             }
         };
 
-        const submitInspectPoint = async () => {
-            if (data.title === '新增巡检任务' && data.pointTitle === '新增巡检点') {
-                if (data.inspectTaskForm.points.length === 0) {
-                    data.inspectPointForm.execSequence = 1;
-                } else {
-                    data.inspectPointForm.execSequence = (data.inspectTaskForm.points[data.inspectTaskForm.points.length - 1].execSequence as number) + 1;
-                }
-                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;
-            } else if (data.title === '修改巡检任务' && data.pointTitle === '新增巡检点') {
-                data.inspectPointForm.unitId = data.inspectTaskForm.id;
-                if (data.inspectTaskForm.points.length === 0) {
-                    data.inspectPointForm.execSequence = 1;
-                } else {
-                    data.inspectPointForm.execSequence = (data.inspectTaskForm.points[data.inspectTaskForm.points.length - 1].execSequence as number) + 1;
-                }
-                let res = await inspectTaskApi().addChainOfInspectTask(data.inspectPointForm);
-                if (res.data.code === '200') {
-                    ElMessage({
-                        type: 'success',
-                        message: '巡检点新增成功',
-                        duration: 2000
-                    });
-                    data.inspectPointDialog = false;
-                    data.inspectTaskForm.points.push(data.inspectPointForm);
+        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;
+                        } else {
+                            data.inspectPointForm.execSequence = (data.inspectTaskForm.points[data.inspectTaskForm.points.length - 1].execSequence as number) + 1;
+                        }
+                        data.inspectTaskForm.points.push(data.inspectPointForm);
+                        data.inspectPointDialog = false;
+                    } else if (data.title === '新增巡检任务' && data.pointTitle === '修改巡检点') {
+                        let result = data.inspectTaskForm.points.findIndex((item) => item.execSequence === data.inspectPointForm.execSequence);
+                        data.inspectTaskForm.points[result] = data.inspectPointForm;
+                        data.inspectPointDialog = false;
+                    } else if (data.title === '修改巡检任务' && data.pointTitle === '新增巡检点') {
+                        data.inspectPointForm.unitId = data.inspectTaskForm.id;
+                        if (data.inspectTaskForm.points.length === 0) {
+                            data.inspectPointForm.execSequence = 1;
+                        } else {
+                            data.inspectPointForm.execSequence = (data.inspectTaskForm.points[data.inspectTaskForm.points.length - 1].execSequence as number) + 1;
+                        }
+                        let res = await inspectTaskApi().addChainOfInspectTask(data.inspectPointForm);
+                        if (res.data.code === '200') {
+                            ElMessage({
+                                type: 'success',
+                                message: '巡检点新增成功',
+                                duration: 2000
+                            });
+                            data.inspectPointDialog = false;
+                            data.inspectTaskForm.points.push(data.inspectPointForm);
+                        } else {
+                            ElMessage({
+                                type: 'warning',
+                                message: res.data.msg
+                            });
+                        }
+                    } else {
+                        data.inspectPointForm.unitId = data.inspectTaskForm.id;
+                        let res = await inspectTaskApi().modChainOfInspectTask(data.inspectPointForm);
+                        if (res.data.code === '200') {
+                            ElMessage({
+                                type: 'success',
+                                message: '巡检点修改成功',
+                                duration: 2000
+                            });
+                            let result = data.inspectTaskForm.points.findIndex((item) => item.execSequence === data.inspectPointForm.execSequence);
+                            data.inspectTaskForm.points[result] = data.inspectPointForm;
+                            data.inspectPointDialog = false;
+                        } else {
+                            ElMessage({
+                                type: 'warning',
+                                message: res.data.msg
+                            });
+                        }
+                    }
                 } else {
                     ElMessage({
                         type: 'warning',
-                        message: res.data.msg
+                        message: '请完善基本信息'
                     });
                 }
-            } else {
-                data.inspectPointForm.unitId = data.inspectTaskForm.id;
-                let res = await inspectTaskApi().modChainOfInspectTask(data.inspectPointForm);
-                if (res.data.code === '200') {
-                    ElMessage({
-                        type: 'success',
-                        message: '巡检点修改成功',
-                        duration: 2000
-                    });
-                    let result = data.inspectTaskForm.points.findIndex((item) => item.execSequence === data.inspectPointForm.execSequence);
-                    data.inspectTaskForm.points[result] = data.inspectPointForm;
-                    data.inspectPointDialog = false;
-                } else {
-                    ElMessage({
-                        type: 'warning',
-                        message: res.data.msg
-                    });
-                }
-            }
+            });
         };
         const deleteFlow = async (index: number, item: { id: number }) => {
             if (data.pointTitle === '新增巡检点') {
@@ -612,6 +638,7 @@
             deleteFlow,
             giveQuotaUnit,
             giveClassGroup,
+            inspectPointFormRef,
             onVerifiyNumberInteger,
             submitInspectTask,
             submitInspectPoint,

--
Gitblit v1.9.2