浏览代码

物资种类管理和仓库信息管理的表单验证提交、字段等修改

zhangyihao 5 月之前
父节点
当前提交
542a418e3f

+ 5 - 12
src/types/components.d.ts

@@ -22,10 +22,12 @@ declare module 'vue' {
     DistributionMap: typeof import('./../components/Map/YztMap/DistributionMap.vue')['default']
     DrawMap: typeof import('./../components/Map/YztMap/DrawMap.vue')['default']
     Editor: typeof import('./../components/Editor/index.vue')['default']
+    ElAnchor: typeof import('element-plus/es')['ElAnchor']
+    ElAnchorLink: typeof import('element-plus/es')['ElAnchorLink']
     ElAutocomplete: typeof import('element-plus/es')['ElAutocomplete']
     ElBadge: typeof import('element-plus/es')['ElBadge']
     ElButton: typeof import('element-plus/es')['ElButton']
-    ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
+    ElCard: typeof import('element-plus/es')['ElCard']
     ElCol: typeof import('element-plus/es')['ElCol']
     ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
@@ -40,31 +42,24 @@ declare module 'vue' {
     ElForm: typeof import('element-plus/es')['ElForm']
     ElFormItem: typeof import('element-plus/es')['ElFormItem']
     ElIcon: typeof import('element-plus/es')['ElIcon']
-    ElImage: typeof import('element-plus/es')['ElImage']
     ElInput: typeof import('element-plus/es')['ElInput']
-    ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
     ElMenu: typeof import('element-plus/es')['ElMenu']
     ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
     ElOption: typeof import('element-plus/es')['ElOption']
     ElPagination: typeof import('element-plus/es')['ElPagination']
     ElPopover: typeof import('element-plus/es')['ElPopover']
-    ElRadio: typeof import('element-plus/es')['ElRadio']
-    ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElRow: typeof import('element-plus/es')['ElRow']
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
     ElSelect: typeof import('element-plus/es')['ElSelect']
-    ElSlider: typeof import('element-plus/es')['ElSlider']
     ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
     ElSwitch: typeof import('element-plus/es')['ElSwitch']
     ElTable: typeof import('element-plus/es')['ElTable']
     ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
+    ElTabPane: typeof import('element-plus/es')['ElTabPane']
+    ElTabs: typeof import('element-plus/es')['ElTabs']
     ElTag: typeof import('element-plus/es')['ElTag']
     ElText: typeof import('element-plus/es')['ElText']
-    ElTimeline: typeof import('element-plus/es')['ElTimeline']
-    ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
     ElTooltip: typeof import('element-plus/es')['ElTooltip']
-    ElTree: typeof import('element-plus/es')['ElTree']
-    ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
     ElUpload: typeof import('element-plus/es')['ElUpload']
     ExcelEditor: typeof import('./../components/ExcelEditor/index.vue')['default']
     FileUpload: typeof import('./../components/FileUpload/index.vue')['default']
@@ -76,8 +71,6 @@ declare module 'vue' {
     HikvisionPlayer: typeof import('./../components/HKVideo/hikvision-player.vue')['default']
     HKVideo: typeof import('./../components/HKVideo/index.vue')['default']
     IconSelect: typeof import('./../components/IconSelect/index.vue')['default']
-    IEpCaretBottom: typeof import('~icons/ep/caret-bottom')['default']
-    IEpCaretTop: typeof import('~icons/ep/caret-top')['default']
     IFrame: typeof import('./../components/iFrame/index.vue')['default']
     ImagePreview: typeof import('./../components/ImagePreview/index.vue')['default']
     ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default']

+ 15 - 1
src/views/comprehensiveGuarantee/MaterialReserveManagement/addTypesMaterials.vue

@@ -43,7 +43,8 @@
 import { ref, reactive, toRefs } from 'vue';
 import {
   createMaterialType,
-  getMaterialTypeInfo, updateMaterialType
+  getMaterialTypeInfo,
+  updateMaterialType
 } from '@/api/comprehensiveGuarantee/materialReserveManagement/typesMaterialsManagement';
 const emits = defineEmits(['close']);
 
@@ -93,6 +94,19 @@ const submitForm = async (formEl) => {
           emits('close', true);
         });
       }
+    } else {
+      nextTick(() => {
+        let isError = document.getElementsByClassName('is-error');
+        isError[0].scrollIntoView({
+          // 滚动到指定节点
+          // 值有start,center,end,nearest,当前显示在视图区域中间
+          block: 'center',
+          // 值有auto、instant,smooth,缓动动画(当前是慢速的)
+          behavior: 'smooth'
+        });
+      });
+      proxy.$modal.msgError('表单校验失败');
+      return false;
     }
   });
 };

+ 23 - 10
src/views/comprehensiveGuarantee/MaterialReserveManagement/addWarehouse.vue

@@ -89,16 +89,16 @@ const data = reactive({
     last_inventory_time: ''
   },
   rules: {
-    event_title: [{ required: true, message: '事件标题不能为空', trigger: 'blur' }],
-    event_type: [{ required: true, message: '事件类型不能为空', trigger: 'blur' }],
-    event_level: [{ required: true, message: '事件等级不能为空', trigger: 'blur' }],
-    event_status: [{ required: true, message: '事件状态不能为空', trigger: 'blur' }],
-    address: [{ required: true, message: '事件地点不能为空', trigger: 'blur' }],
-    event_time: [{ required: true, message: '事发时间不能为空', trigger: 'blur' }],
-    report_time: [{ required: true, message: '上报时间不能为空', trigger: 'blur' }],
-    event_source: [{ required: true, message: '事件来源不能为空', trigger: 'blur' }],
-    event_description: [{ required: true, message: '事件描述不能为空', trigger: 'blur' }],
-    contact: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }]
+    room_name: [{ required: true, message: '库房名称不能为空', trigger: 'blur' }],
+    warehouse_id: [{ required: true, message: '请选择所在仓库', trigger: 'change' }],
+    room_area: [{ required: true, message: '库房面积不能为空', trigger: 'blur' }],
+    available_area: [{ required: true, message: '可用仓储面积不能为空', trigger: 'blur' }],
+    height: [{ required: true, message: '高度不能为空', trigger: 'blur' }],
+    room_volume: [{ required: true, message: '库房容积不能为空', trigger: 'blur' }],
+    available_volume: [{ required: true, message: '可用库房容积不能为空', trigger: 'blur' }],
+    level: [{ required: true, message: '请选择等级', trigger: 'change' }],
+    storage_type: [{ required: true, message: '存放类型不能为空', trigger: 'blur' }],
+    last_inventory_time: [{ required: true, message: '请选择库存确认最新时间', trigger: 'change' }]
   }
 });
 let godownList = ref([]);
@@ -122,6 +122,19 @@ const submitForm = async (formEl) => {
           emits('close', true);
         });
       }
+    } else {
+      nextTick(() => {
+        let isError = document.getElementsByClassName('is-error');
+        isError[0].scrollIntoView({
+          // 滚动到指定节点
+          // 值有start,center,end,nearest,当前显示在视图区域中间
+          block: 'center',
+          // 值有auto、instant,smooth,缓动动画(当前是慢速的)
+          behavior: 'smooth'
+        });
+      });
+      proxy.$modal.msgError('表单校验失败');
+      return false;
     }
   });
 };