瀏覽代碼

系统验证

chenrui  2 年之前
父節點
當前提交
20681e6f02

+ 56 - 9
src/views/systemSettings/datastructure/datastructureTerm.vue

@@ -28,10 +28,19 @@
         @delRemove="delRemove"
       >
         <div class="diacont">
-          <el-form :model="tableForm">
+          <el-form
+            :model="tableForm"
+            :rules="formRules"
+            ref="datastructureTermForm"
+          >
             <el-row :gutter="24">
               <el-col :span="12">
-                <el-form-item label="数据项名称" size="default">
+                <el-form-item
+                  label="数据项名称"
+                  size="default"
+                  prop="ItemName"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.ItemName"
                     placeholder="请输入数据项名称"
@@ -39,7 +48,12 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="数据项类型" size="default">
+                <el-form-item
+                  label="数据项类型"
+                  size="default"
+                  prop="dataType"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.dataType"
                     placeholder="请输入数据项类型"
@@ -64,7 +78,12 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="输出标识符" size="default">
+                <el-form-item
+                  label="输出标识符"
+                  size="default"
+                  prop="outputIdentifier"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.outputIdentifier"
                     placeholder="请输入输出标识符"
@@ -77,7 +96,12 @@
                 </el-form-item> -->
               </el-col>
               <el-col :span="8">
-                <el-form-item label="唯一项" size="default">
+                <el-form-item
+                  label="唯一项"
+                  size="default"
+                  prop="isKey"
+                  :rules="formRules.isNotNull"
+                >
                   <el-select
                     style="width: 100%"
                     v-model="tableForm.isKey"
@@ -98,7 +122,12 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                <el-form-item label="必填项" size="default">
+                <el-form-item
+                  label="必填项"
+                  size="default"
+                  prop="isMust"
+                  :rules="formRules.isNotNull"
+                >
                   <el-select
                     style="width: 100%"
                     v-model="tableForm.isMust"
@@ -119,7 +148,12 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                <el-form-item label="多条拆分" size="default">
+                <el-form-item
+                  label="多条拆分"
+                  size="default"
+                  prop="isSplite"
+                  :rules="formRules.isNotNull"
+                >
                   <el-select
                     style="width: 100%"
                     v-model="tableForm.isSplite"
@@ -174,7 +208,12 @@
                 </el-form-item>
               </el-col> -->
               <el-col :span="12">
-                <el-form-item label="计算数据源" size="default">
+                <el-form-item
+                  label="计算数据源"
+                  size="default"
+                  prop="dataSourceName"
+                  :rules="formRules.isNotNull"
+                >
                   <el-select
                     style="width: 100%"
                     v-model="tableForm.dataSourceName"
@@ -207,6 +246,7 @@ import Minheader from "@/components/minheader/index.vue";
 import Dialog from "@/components/dialog/index.vue";
 import { Query, GeneralDataReception } from "@/api/webApi";
 import { ElMessage } from "element-plus";
+const formRules = useElement().formRules;
 const router = useRouter();
 const route = useRoute();
 const page = ref<number>(0); //分页参数
@@ -382,8 +422,15 @@ const getQuery = async () => {
   }
 };
 //确认提交
+const datastructureTermForm: any = ref(null);
 const submitForm = () => {
-  generalDataReception(tableForm);
+  datastructureTermForm.value.validate((valid: any) => {
+    if (valid) {
+      generalDataReception(tableForm);
+    } else {
+      return false;
+    }
+  });
 };
 const resetTable = () => {
   page.value = 0;

+ 32 - 5
src/views/systemSettings/datastructure/index.vue

@@ -28,10 +28,19 @@
         @delRemove="delRemove"
       >
         <div class="diacont">
-          <el-form :model="tableForm">
+          <el-form
+            :model="tableForm"
+            :rules="formRules"
+            ref="datastructureForm"
+          >
             <el-row :gutter="24">
               <el-col>
-                <el-form-item label="结构名称" size="default">
+                <el-form-item
+                  label="结构名称"
+                  size="default"
+                  prop="structureName"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.structureName"
                     placeholder="请输入结构名称"
@@ -39,7 +48,12 @@
                 </el-form-item>
               </el-col>
               <el-col>
-                <el-form-item label="数据格式" size="default">
+                <el-form-item
+                  label="数据格式"
+                  size="default"
+                  prop="datatype"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.datatype"
                     placeholder="请输入数据格式"
@@ -64,7 +78,12 @@
                 </el-form-item>
               </el-col>
               <el-col>
-                <el-form-item label="事件标识" size="default">
+                <el-form-item
+                  label="事件标识"
+                  size="default"
+                  prop="eventID"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.eventID"
                     placeholder="请输入事件标识"
@@ -93,6 +112,7 @@ import Minheader from "@/components/minheader/index.vue";
 import Dialog from "@/components/dialog/index.vue";
 import { Query, GeneralDataReception } from "@/api/webApi";
 import { ElMessage } from "element-plus";
+const formRules = useElement().formRules;
 const page = ref<number>(0); //分页参数
 const dataContent = ref<object>({});
 const noMore = ref<Boolean>(false);
@@ -253,8 +273,15 @@ const getQuery = async () => {
   }
 };
 //确认提交
+const datastructureForm: any = ref(null);
 const submitForm = () => {
-  generalDataReception(tableForm);
+  datastructureForm.value.validate((valid: any) => {
+    if (valid) {
+      generalDataReception(tableForm);
+    } else {
+      return false;
+    }
+  });
 };
 const resetTable = () => {
   page.value = 0;

+ 26 - 4
src/views/systemSettings/messageTemplate/index.vue

@@ -27,10 +27,19 @@
         @delRemove="delRemove"
       >
         <div class="diacont">
-          <el-form :model="tableForm">
+          <el-form
+            :model="tableForm"
+            :rules="formRules"
+            ref="messageTemplateForm"
+          >
             <el-row :gutter="24">
               <el-col>
-                <el-form-item label="消息标题" size="default">
+                <el-form-item
+                  label="消息标题"
+                  size="default"
+                  prop="newsTitle"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.newsTitle"
                     placeholder="请输入名称"
@@ -38,7 +47,12 @@
                 </el-form-item>
               </el-col>
               <el-col>
-                <el-form-item label="消息内容" size="default">
+                <el-form-item
+                  label="消息内容"
+                  size="default"
+                  prop="newContent"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     type="textarea"
                     v-model="tableForm.newContent"
@@ -59,6 +73,7 @@ import Minheader from "@/components/minheader/index.vue";
 import Dialog from "@/components/dialog/index.vue";
 import { Query, GeneralDataReception } from "@/api/webApi";
 import { ElMessage } from "element-plus";
+const formRules = useElement().formRules;
 const page = ref<number>(0); //分页参数
 const dataContent = ref<object>({});
 const noMore = ref<Boolean>(false);
@@ -196,8 +211,15 @@ const getQuery = async () => {
   }
 };
 //确认提交
+const messageTemplateForm: any = ref(null);
 const submitForm = () => {
-  generalDataReception(tableForm);
+  messageTemplateForm.value.validate((valid: any) => {
+    if (valid) {
+      generalDataReception(tableForm);
+    } else {
+      return false;
+    }
+  });
 };
 const resetTable = () => {
   page.value = 0;

+ 45 - 8
src/views/systemSettings/protocolManagement/index.vue

@@ -28,10 +28,19 @@
         @delRemove="delRemove"
       >
         <div class="diacont">
-          <el-form :model="tableForm">
+          <el-form
+            :model="tableForm"
+            :rules="formRules"
+            ref="protocolManagement"
+          >
             <el-row :gutter="24">
               <el-col>
-                <el-form-item label="协议名称" size="default">
+                <el-form-item
+                  label="协议名称"
+                  size="default"
+                  prop="protocolName"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.protocolName"
                     placeholder="请输入协议名称"
@@ -39,7 +48,12 @@
                 </el-form-item>
               </el-col>
               <el-col>
-                <el-form-item label="类名" size="default">
+                <el-form-item
+                  label="类名"
+                  size="default"
+                  prop="className"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     type="textarea"
                     v-model="tableForm.className"
@@ -56,7 +70,12 @@
                 </el-form-item>
               </el-col> -->
               <el-col>
-                <el-form-item label="读方法名" size="default">
+                <el-form-item
+                  label="读方法名"
+                  size="default"
+                  prop="rmethodName"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.rmethodName"
                     placeholder="请输入读方法名"
@@ -64,7 +83,12 @@
                 </el-form-item>
               </el-col>
               <el-col>
-                <el-form-item label="写方法名" size="default">
+                <el-form-item
+                  label="写方法名"
+                  size="default"
+                  prop="smethodName"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.smethodName"
                     placeholder="请输入写方法名"
@@ -72,7 +96,12 @@
                 </el-form-item>
               </el-col>
               <el-col>
-                <el-form-item label="文件名及路径" size="default">
+                <el-form-item
+                  label="文件名及路径"
+                  size="default"
+                  prop="filePath"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     type="textarea"
                     v-model="tableForm.filePath"
@@ -93,6 +122,7 @@ import Minheader from "@/components/minheader/index.vue";
 import Dialog from "@/components/dialog/index.vue";
 import { Query, GeneralDataReception } from "@/api/webApi";
 import { ElMessage } from "element-plus";
+const formRules = useElement().formRules;
 const page = ref<number>(0); //分页参数
 const dataContent = ref<object>({});
 const noMore = ref<Boolean>(false);
@@ -237,8 +267,15 @@ const getQuery = async () => {
   }
 };
 //确认提交
+const protocolManagement: any = ref(null);
 const submitForm = () => {
-  generalDataReception(tableForm);
+  protocolManagement.value.validate((valid: any) => {
+    if (valid) {
+      generalDataReception(tableForm);
+    } else {
+      return false;
+    }
+  });
 };
 const resetTable = () => {
   page.value = 0;
@@ -284,6 +321,6 @@ getQuery();
 </script>
 <style lang="scss" scoped>
 ::v-deep .el-form-item__label {
-  width: 100px;
+  width: 110px;
 }
 </style>

+ 45 - 8
src/views/systemSettings/queryTemplate/queryTemplateAdd.vue

@@ -13,10 +13,15 @@
       </template></Minheader
     >
     <div class="app-container">
-      <el-form :model="ruleForm">
+      <el-form :model="ruleForm" :rules="formRules" ref="queryTemplateAddForm">
         <el-row :gutter="24">
           <el-col :span="6">
-            <el-form-item label="查询模板名称" size="default">
+            <el-form-item
+              label="查询模板名称"
+              size="default"
+              prop="queryTemplateName"
+              :rules="formRules.isNotNull"
+            >
               <el-input
                 v-model="ruleForm.queryTemplateName"
                 placeholder="请输入查询模板名称"
@@ -24,7 +29,12 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="数据源" prop="dataSourceID" size="default">
+            <el-form-item
+              label="数据源"
+              prop="dataSourceID"
+              size="default"
+              :rules="formRules.isNotNull"
+            >
               <el-select
                 v-model="ruleForm.dataSourceID"
                 placeholder="请选择"
@@ -40,7 +50,12 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="服务名称" prop="submitID" size="default">
+            <el-form-item
+              label="服务名称"
+              prop="serviceID"
+              size="default"
+              :rules="formRules.isNotNull"
+            >
               <el-select
                 v-model="ruleForm.serviceID"
                 placeholder="请选择"
@@ -56,7 +71,12 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="每页显示" prop="pageRows" size="default">
+            <el-form-item
+              label="每页显示"
+              prop="pageRows"
+              size="default"
+              :rules="formRules.isNotNull"
+            >
               <el-input
                 v-model="ruleForm.pageRows"
                 size="medium"
@@ -75,7 +95,12 @@
             </el-form-item>
           </el-col>
           <el-col>
-            <el-form-item label="查询语句" size="default">
+            <el-form-item
+              label="查询语句"
+              size="default"
+              prop="queryTemplate"
+              :rules="formRules.isNotNull"
+            >
               <el-input
                 :autosize="{ minRows: 24, maxRows: 24 }"
                 type="textarea"
@@ -94,6 +119,7 @@
 import Minheader from "@/components/minheader/index.vue";
 import { Query, myQuery, GeneralDataReception } from "@/api/webApi";
 import { ElMessage } from "element-plus";
+const formRules = useElement().formRules;
 const router = useRouter();
 const asShOW = ref<boolean>(false);
 const dataSourceList = ref<Array>([]); //下拉
@@ -109,8 +135,19 @@ const ruleForm = reactive({
   serviceID: "",
   event: 1,
 }); //内容
+//确认提交
+const queryTemplateAddForm: any = ref(null);
+const preserForm = () => {
+  queryTemplateAddForm.value.validate((valid: any) => {
+    if (valid) {
+      preserFormer();
+    } else {
+      return false;
+    }
+  });
+};
 //保存
-const preserForm = async () => {
+const preserFormer = async () => {
   const params = {
     ...ruleForm,
     submitID: ruleForm.serviceID,
@@ -153,7 +190,7 @@ const getSelectOption = async (ID) => {
   }
 };
 const queryServiceList = async (ID) => {
-  const serviceLists = await getSelectOption(DATACONTENT_ID.sysServiceTabId);
+  const serviceLists = await getSelectOption(DATACONTENT_ID.sysServiceTable);
   serviceList.value = serviceLists.map((item) => {
     item[item.setlabel] = item.k;
     item[item.setvalue] = item.v;

+ 45 - 8
src/views/systemSettings/queryTemplate/queryTemplateEdit.vue

@@ -13,10 +13,15 @@
       </template></Minheader
     >
     <div class="app-container">
-      <el-form :model="ruleForm">
+      <el-form :model="ruleForm" :rules="formRules" ref="queryTemplateEditForm">
         <el-row :gutter="24">
           <el-col :span="6">
-            <el-form-item label="查询模板名称" size="default">
+            <el-form-item
+              label="查询模板名称"
+              size="default"
+              prop="queryTemplateName"
+              :rules="formRules.isNotNull"
+            >
               <el-input
                 v-model="ruleForm.queryTemplateName"
                 placeholder="请输入查询模板名称"
@@ -24,7 +29,12 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="数据源" prop="dataSourceID" size="default">
+            <el-form-item
+              label="数据源"
+              prop="dataSourceID"
+              size="default"
+              :rules="formRules.isNotNull"
+            >
               <el-select
                 v-model="ruleForm.dataSourceID"
                 placeholder="请选择"
@@ -40,7 +50,12 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="服务名称" prop="submitID" size="default">
+            <el-form-item
+              label="服务名称"
+              prop="serviceID"
+              size="default"
+              :rules="formRules.isNotNull"
+            >
               <el-select
                 v-model="ruleForm.serviceID"
                 placeholder="请选择"
@@ -56,7 +71,12 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="每页显示" prop="pageRows" size="default">
+            <el-form-item
+              label="每页显示"
+              prop="pageRows"
+              size="default"
+              :rules="formRules.isNotNull"
+            >
               <el-input
                 v-model="ruleForm.pageRows"
                 size="medium"
@@ -75,7 +95,12 @@
             </el-form-item>
           </el-col>
           <el-col>
-            <el-form-item label="查询语句" size="default">
+            <el-form-item
+              label="查询语句"
+              size="default"
+              prop="queryTemplate"
+              :rules="formRules.isNotNull"
+            >
               <el-input
                 :autosize="{ minRows: 24, maxRows: 24 }"
                 type="textarea"
@@ -94,6 +119,7 @@
 import Minheader from "@/components/minheader/index.vue";
 import { Query, myQuery, GeneralDataReception } from "@/api/webApi";
 import { ElMessage } from "element-plus";
+const formRules = useElement().formRules;
 const router = useRouter();
 const route = useRoute();
 const asShOW = ref<boolean>(false);
@@ -112,8 +138,19 @@ const ruleForm = reactive({
   event: 2,
 }); //内容
 queryTemplateID.value = route.query.queryTemplateID;
+//确认提交
+const queryTemplateEditForm: any = ref(null);
+const preserForm = () => {
+  queryTemplateEditForm.value.validate((valid: any) => {
+    if (valid) {
+      preserFormer();
+    } else {
+      return false;
+    }
+  });
+};
 //保存
-const preserForm = async () => {
+const preserFormer = async () => {
   const params = {
     ...ruleForm,
     submitID: ruleForm.serviceID,
@@ -156,7 +193,7 @@ const getSelectOption = async (ID) => {
   }
 };
 const queryServiceList = async (ID) => {
-  const serviceLists = await getSelectOption(DATACONTENT_ID.sysServiceTabId);
+  const serviceLists = await getSelectOption(DATACONTENT_ID.sysServiceTable);
   serviceList.value = serviceLists.map((item) => {
     item[item.setlabel] = item.k;
     item[item.setvalue] = item.v;

+ 28 - 5
src/views/systemSettings/sourceTube/index.vue

@@ -27,10 +27,15 @@
         @delRemove="delRemove"
       >
         <div class="diacont">
-          <el-form :model="tableForm">
+          <el-form :model="tableForm" :rules="formRules" ref="sourceTubeForm">
             <el-row :gutter="24">
               <el-col>
-                <el-form-item label="数据源名称" size="default">
+                <el-form-item
+                  label="数据源名称"
+                  size="default"
+                  prop="dataSourceName"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.dataSourceName"
                     placeholder="请输入数据源名称"
@@ -38,7 +43,12 @@
                 </el-form-item>
               </el-col>
               <el-col>
-                <el-form-item label="协议名称" size="default">
+                <el-form-item
+                  label="协议名称"
+                  size="default"
+                  prop="protocolName"
+                  :rules="formRules.isNotNull"
+                >
                   <el-select
                     style="width: 100%"
                     v-model="tableForm.protocolName"
@@ -59,7 +69,12 @@
                 </el-form-item>
               </el-col>
               <el-col>
-                <el-form-item label="连接参数" size="default">
+                <el-form-item
+                  label="连接参数"
+                  size="default"
+                  prop="connectConfig"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     :autosize="{ minRows: 10, maxRows: 10 }"
                     type="textarea"
@@ -81,6 +96,7 @@ import Minheader from "@/components/minheader/index.vue";
 import Dialog from "@/components/dialog/index.vue";
 import { Query, GeneralDataReception } from "@/api/webApi";
 import { ElMessage } from "element-plus";
+const formRules = useElement().formRules;
 const page = ref<number>(0); //分页参数
 const dataContent = ref<object>({});
 const noMore = ref<Boolean>(false);
@@ -228,8 +244,15 @@ const getQuery = async () => {
   }
 };
 //确认提交
+const sourceTubeForm: any = ref(null);
 const submitForm = () => {
-  generalDataReception(tableForm);
+  sourceTubeForm.value.validate((valid: any) => {
+    if (valid) {
+      generalDataReception(tableForm);
+    } else {
+      return false;
+    }
+  });
 };
 const resetTable = () => {
   page.value = 0;

+ 58 - 10
src/views/systemSettings/warningEdit/index.vue

@@ -137,10 +137,15 @@
       @delRemove="delRemove"
     >
       <div class="diacont">
-        <el-form :model="tableForms">
+        <el-form :model="tableForms" :rules="formRules" ref="warningEditForm">
           <el-row :gutter="24">
             <el-col :span="12">
-              <el-form-item label="策略名称" size="default">
+              <el-form-item
+                label="策略名称"
+                size="default"
+                prop="StrategyName"
+                :rules="formRules.isNotNull"
+              >
                 <el-input
                   v-model="tableForms.StrategyName"
                   placeholder="请输入策略名称"
@@ -148,7 +153,12 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="计算依据" size="default">
+              <el-form-item
+                label="计算依据"
+                size="default"
+                prop="calculationBasis"
+                :rules="formRules.isNotNull"
+              >
                 <el-select
                   style="width: 100%"
                   v-model="tableForms.calculationBasis"
@@ -169,7 +179,12 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="预警时长" size="default">
+              <el-form-item
+                label="预警时长"
+                size="default"
+                prop="warningDuration"
+                :rules="formRules.isNotNull"
+              >
                 <el-input
                   v-model="tableForms.warningDuration"
                   placeholder="请输入预警时长"
@@ -177,7 +192,12 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="报警时长" size="default">
+              <el-form-item
+                label="报警时长"
+                size="default"
+                prop="alarmDuration"
+                :rules="formRules.isNotNull"
+              >
                 <el-input
                   v-model="tableForms.alarmDuration"
                   placeholder="请输入报警时长"
@@ -185,7 +205,12 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="开始节点" size="default">
+              <el-form-item
+                label="开始节点"
+                size="default"
+                prop="beginNode"
+                :rules="formRules.isNotNull"
+              >
                 <el-select
                   style="width: 100%"
                   v-model="tableForms.beginNode"
@@ -206,7 +231,12 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="开始位置" size="default">
+              <el-form-item
+                label="开始位置"
+                size="default"
+                prop="beginPosition"
+                :rules="formRules.isNotNull"
+              >
                 <el-select
                   style="width: 100%"
                   v-model="tableForms.beginPosition"
@@ -227,7 +257,12 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="结束节点" size="default">
+              <el-form-item
+                label="结束节点"
+                size="default"
+                prop="endNode"
+                :rules="formRules.isNotNull"
+              >
                 <el-select
                   style="width: 100%"
                   v-model="tableForms.endNode"
@@ -248,7 +283,12 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="结束位置" size="default">
+              <el-form-item
+                label="结束位置"
+                size="default"
+                prop="endPosition"
+                :rules="formRules.isNotNull"
+              >
                 <el-select
                   style="width: 100%"
                   v-model="tableForms.endPosition"
@@ -281,6 +321,7 @@ import DataTable from "@/components/tableTemp/index.vue";
 import Dialog from "@/components/dialog/index.vue";
 import { Query, GeneralDataReception } from "@/api/webApi";
 import { ElMessage } from "element-plus";
+const formRules = useElement().formRules;
 const router = useRouter();
 const route = useRoute();
 const page = ref<number>(0); //分页参数
@@ -481,8 +522,15 @@ const getQuery = async () => {
   }
 };
 //确认提交
+const warningEditForm: any = ref(null);
 const submitForm = () => {
-  generalDataReception(tableForms);
+  warningEditForm.value.validate((valid: any) => {
+    if (valid) {
+      generalDataReception(tableForm);
+    } else {
+      return false;
+    }
+  });
 };
 const resetTable = () => {
   page.value = 0;

+ 47 - 9
src/views/systemSettings/warningSet/index.vue

@@ -33,7 +33,7 @@
         @delRemove="delRemove"
       >
         <div class="diacont">
-          <el-form :model="tableForm">
+          <el-form :model="tableForm" :rules="formRules" ref="warningSetForm">
             <el-row :gutter="24">
               <!-- <el-col :span="12">
                 <el-form-item label="策略名称" size="default">
@@ -44,7 +44,12 @@
                 </el-form-item>
               </el-col> -->
               <el-col :span="12">
-                <el-form-item label="航司二字码" size="default">
+                <el-form-item
+                  label="航司二字码"
+                  size="default"
+                  prop="IATACode"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.IATACode"
                     placeholder="请输入航司二字码"
@@ -52,7 +57,12 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="起飞机场" size="default">
+                <el-form-item
+                  label="起飞机场"
+                  size="default"
+                  prop="departmentAirport"
+                  :rules="formRules.isNotNull"
+                >
                   <el-select
                     style="width: 100%"
                     v-model="tableForm.departmentAirport"
@@ -73,7 +83,12 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="降落机场" size="default">
+                <el-form-item
+                  label="降落机场"
+                  size="default"
+                  prop="landingAirport"
+                  :rules="formRules.isNotNull"
+                >
                   <el-select
                     style="width: 100%"
                     v-model="tableForm.landingAirport"
@@ -94,7 +109,12 @@
                 </el-form-item>
               </el-col>
               <el-col>
-                <el-form-item label="航班号" size="default">
+                <el-form-item
+                  label="航班号"
+                  size="default"
+                  prop="flightNo"
+                  :rules="formRules.isNotNull"
+                >
                   <el-input
                     v-model="tableForm.flightNo"
                     placeholder="请输入航班号"
@@ -102,7 +122,12 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="生效时间" size="default">
+                <el-form-item
+                  label="生效时间"
+                  size="default"
+                  prop="startDate"
+                  :rules="formRules.isNotNull"
+                >
                   <el-date-picker
                     v-model="tableForm.startDate"
                     :rows="1"
@@ -115,7 +140,12 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="失效时间" size="default">
+                <el-form-item
+                  label="失效时间"
+                  size="default"
+                  prop="endDate"
+                  :rules="formRules.isNotNull"
+                >
                   <el-date-picker
                     format="YYYY-MM-DD HH:mm:ss"
                     value-format="YYYY-MM-DD HH:mm:ss"
@@ -149,6 +179,7 @@ import Minheader from "@/components/minheader/index.vue";
 import Dialog from "@/components/dialog/index.vue";
 import { Query, GeneralDataReception } from "@/api/webApi";
 import { ElMessage } from "element-plus";
+const formRules = useElement().formRules;
 const page = ref<number>(0); //分页参数
 const dataContent = ref<object>({});
 const noMore = ref<Boolean>(false);
@@ -317,8 +348,15 @@ const getQuery = async () => {
   }
 };
 //确认提交
+const warningSetForm: any = ref(null);
 const submitForm = () => {
-  generalDataReception(tableForm);
+  warningSetForm.value.validate((valid: any) => {
+    if (valid) {
+      generalDataReception(tableForm);
+    } else {
+      return false;
+    }
+  });
 };
 const resetTable = () => {
   page.value = 0;
@@ -364,6 +402,6 @@ getQuery();
 </script>
 <style lang="scss" scoped>
 ::v-deep .el-form-item__label {
-  width: 90px;
+  width: 100px;
 }
 </style>