فهرست منبع

Merge remote-tracking branch 'origin/dev' into dev

Hwf 5 ماه پیش
والد
کامیت
62cb9b2685

+ 9 - 1
src/types/auto-imports.d.ts

@@ -78,6 +78,7 @@ declare global {
   const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
   const onUnmounted: typeof import('vue')['onUnmounted']
   const onUpdated: typeof import('vue')['onUpdated']
+  const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
   const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
   const provide: typeof import('vue')['provide']
   const provideLocal: typeof import('@vueuse/core')['provideLocal']
@@ -189,6 +190,7 @@ declare global {
   const useFullscreen: typeof import('@vueuse/core')['useFullscreen']
   const useGamepad: typeof import('@vueuse/core')['useGamepad']
   const useGeolocation: typeof import('@vueuse/core')['useGeolocation']
+  const useId: typeof import('vue')['useId']
   const useIdle: typeof import('@vueuse/core')['useIdle']
   const useImage: typeof import('@vueuse/core')['useImage']
   const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll']
@@ -205,6 +207,7 @@ declare global {
   const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery']
   const useMemoize: typeof import('@vueuse/core')['useMemoize']
   const useMemory: typeof import('@vueuse/core')['useMemory']
+  const useModel: typeof import('vue')['useModel']
   const useMounted: typeof import('@vueuse/core')['useMounted']
   const useMouse: typeof import('@vueuse/core')['useMouse']
   const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement']
@@ -252,6 +255,7 @@ declare global {
   const useStyleTag: typeof import('@vueuse/core')['useStyleTag']
   const useSupported: typeof import('@vueuse/core')['useSupported']
   const useSwipe: typeof import('@vueuse/core')['useSwipe']
+  const useTemplateRef: typeof import('vue')['useTemplateRef']
   const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
   const useTextDirection: typeof import('@vueuse/core')['useTextDirection']
   const useTextSelection: typeof import('@vueuse/core')['useTextSelection']
@@ -303,7 +307,7 @@ declare global {
 // for type re-export
 declare global {
   // @ts-ignore
-  export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
+  export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
   import('vue')
 }
 // for vue template auto import
@@ -384,6 +388,7 @@ declare module 'vue' {
     readonly onStartTyping: UnwrapRef<typeof import('@vueuse/core')['onStartTyping']>
     readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
     readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
+    readonly onWatcherCleanup: UnwrapRef<typeof import('vue')['onWatcherCleanup']>
     readonly pausableWatch: UnwrapRef<typeof import('@vueuse/core')['pausableWatch']>
     readonly provide: UnwrapRef<typeof import('vue')['provide']>
     readonly provideLocal: UnwrapRef<typeof import('@vueuse/core')['provideLocal']>
@@ -495,6 +500,7 @@ declare module 'vue' {
     readonly useFullscreen: UnwrapRef<typeof import('@vueuse/core')['useFullscreen']>
     readonly useGamepad: UnwrapRef<typeof import('@vueuse/core')['useGamepad']>
     readonly useGeolocation: UnwrapRef<typeof import('@vueuse/core')['useGeolocation']>
+    readonly useId: UnwrapRef<typeof import('vue')['useId']>
     readonly useIdle: UnwrapRef<typeof import('@vueuse/core')['useIdle']>
     readonly useImage: UnwrapRef<typeof import('@vueuse/core')['useImage']>
     readonly useInfiniteScroll: UnwrapRef<typeof import('@vueuse/core')['useInfiniteScroll']>
@@ -511,6 +517,7 @@ declare module 'vue' {
     readonly useMediaQuery: UnwrapRef<typeof import('@vueuse/core')['useMediaQuery']>
     readonly useMemoize: UnwrapRef<typeof import('@vueuse/core')['useMemoize']>
     readonly useMemory: UnwrapRef<typeof import('@vueuse/core')['useMemory']>
+    readonly useModel: UnwrapRef<typeof import('vue')['useModel']>
     readonly useMounted: UnwrapRef<typeof import('@vueuse/core')['useMounted']>
     readonly useMouse: UnwrapRef<typeof import('@vueuse/core')['useMouse']>
     readonly useMouseInElement: UnwrapRef<typeof import('@vueuse/core')['useMouseInElement']>
@@ -558,6 +565,7 @@ declare module 'vue' {
     readonly useStyleTag: UnwrapRef<typeof import('@vueuse/core')['useStyleTag']>
     readonly useSupported: UnwrapRef<typeof import('@vueuse/core')['useSupported']>
     readonly useSwipe: UnwrapRef<typeof import('@vueuse/core')['useSwipe']>
+    readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
     readonly useTemplateRefsList: UnwrapRef<typeof import('@vueuse/core')['useTemplateRefsList']>
     readonly useTextDirection: UnwrapRef<typeof import('@vueuse/core')['useTextDirection']>
     readonly useTextSelection: UnwrapRef<typeof import('@vueuse/core')['useTextSelection']>

+ 0 - 11
src/types/components.d.ts

@@ -25,7 +25,6 @@ declare module 'vue' {
     ElAutocomplete: typeof import('element-plus/es')['ElAutocomplete']
     ElBadge: typeof import('element-plus/es')['ElBadge']
     ElButton: typeof import('element-plus/es')['ElButton']
-    ElCard: typeof import('element-plus/es')['ElCard']
     ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
     ElCol: typeof import('element-plus/es')['ElCol']
     ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
@@ -43,15 +42,11 @@ declare module 'vue' {
     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']
-    ElLink: typeof import('element-plus/es')['ElLink']
     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']
@@ -60,15 +55,12 @@ declare module 'vue' {
     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']
     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']
@@ -80,9 +72,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']
-    IEpUploadFilled: typeof import('~icons/ep/upload-filled')['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']

+ 16 - 1
src/views/comprehensiveGuarantee/MaterialReserveManagement/addGodownManagement.vue

@@ -91,7 +91,9 @@ import { validatePhone } from '@/utils/validate';
 import { deptList } from '@/api/inspectionWork/inspector';
 const emits = defineEmits(['close']);
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const { enable_status, warehouse_level, warehouse_type, district_type } = toRefs<any>(proxy?.useDict('enable_status', 'warehouse_level', 'warehouse_type', 'district_type'));
+const { enable_status, warehouse_level, warehouse_type, district_type } = toRefs<any>(
+  proxy?.useDict('enable_status', 'warehouse_level', 'warehouse_type', 'district_type')
+);
 const props = defineProps({
   id: String
 });
@@ -166,6 +168,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;
     }
   });
 };

+ 69 - 32
src/views/comprehensiveGuarantee/MaterialReserveManagement/addInbound.vue

@@ -1,5 +1,5 @@
 <template>
-  <div  class="common-dialog">
+  <div class="common-dialog">
     <div class="common-dialog-content">
       <div class="common-dialog-title-box">
         <i class="common-dialog-title-icon" />
@@ -8,11 +8,11 @@
       <div class="common-dialog-box">
         <el-form ref="eventFormRef" :model="form" :rules="rules" label-width="120px">
           <el-form-item label="仓库编号:" prop="warehouse_number">
-            <el-input v-model="form.warehouse_number" placeholder="请输入仓库编号" style="width: 468px;" />
+            <el-input v-model="form.warehouse_number" placeholder="请输入仓库编号" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="采购单号:" prop="purchase_order_id">
-            <el-input v-model="form.purchase_order_id" placeholder="请输入采购单号" style="width: 468px;" />
+            <el-input v-model="form.purchase_order_id" placeholder="请输入采购单号" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="是否捐赠(是、否):" prop="is_donation">
@@ -23,31 +23,31 @@
           </el-form-item>
 
           <el-form-item label="运单号:" prop="tracking_number">
-            <el-input v-model="form.tracking_number" placeholder="请输入运单号" style="width: 468px;" />
+            <el-input v-model="form.tracking_number" placeholder="请输入运单号" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="捐赠人联系电话:" prop="donor_phone">
-            <el-input v-model="form.donor_phone" placeholder="请输入捐赠人联系电话" style="width: 468px;" />
+            <el-input v-model="form.donor_phone" placeholder="请输入捐赠人联系电话" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="捐赠人姓名:" prop="donor_name">
-            <el-input v-model="form.donor_name" placeholder="请输入捐赠人姓名" style="width: 468px;" />
+            <el-input v-model="form.donor_name" placeholder="请输入捐赠人姓名" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="审核人:" prop="auditor">
-            <el-input v-model="form.auditor" placeholder="请输入审核人" style="width: 468px;" />
+            <el-input v-model="form.auditor" placeholder="请输入审核人" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="企业名称:" prop="company_name">
-            <el-input v-model="form.company_name" placeholder="请输入企业名称" style="width: 468px;" />
+            <el-input v-model="form.company_name" placeholder="请输入企业名称" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="企业编号:" prop="company_id">
-            <el-input v-model="form.company_id" placeholder="请输入企业编号" style="width: 468px;" />
+            <el-input v-model="form.company_id" placeholder="请输入企业编号" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="分级信息:" prop="grade_info">
-            <el-input v-model="form.grade_info" placeholder="请输入分级信息" style="width: 468px;" />
+            <el-input v-model="form.grade_info" placeholder="请输入分级信息" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="类型(1_调拨入库、2_归还入库、3_回收入库):" prop="type">
@@ -59,43 +59,48 @@
           </el-form-item>
 
           <el-form-item label="供应商名称:" prop="supplier_name">
-            <el-input v-model="form.supplier_name" placeholder="请输入供应商名称" style="width: 468px;" />
+            <el-input v-model="form.supplier_name" placeholder="请输入供应商名称" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="创建时间:" prop="create_time">
-            <el-date-picker v-model="form.create_time" type="datetime" placeholder="请选择创建时间" style="width: 468px;"></el-date-picker>
+            <el-date-picker v-model="form.create_time" type="datetime" placeholder="请选择创建时间" style="width: 468px"></el-date-picker>
           </el-form-item>
 
           <el-form-item label="备注:" prop="remarks">
-            <el-input v-model="form.remarks" placeholder="请输入备注" style="width: 468px;" />
+            <el-input v-model="form.remarks" placeholder="请输入备注" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="供应商编号:" prop="supplier_id">
-            <el-input v-model="form.supplier_id" placeholder="请输入供应商编号" style="width: 468px;" />
+            <el-input v-model="form.supplier_id" placeholder="请输入供应商编号" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="完成时间:" prop="completion_time">
-            <el-date-picker v-model="form.completion_time" type="datetime" placeholder="请选择完成时间" style="width: 468px;"></el-date-picker>
+            <el-date-picker v-model="form.completion_time" type="datetime" placeholder="请选择完成时间" style="width: 468px"></el-date-picker>
           </el-form-item>
 
           <el-form-item label="计划完成时间:" prop="planned_completion_time">
-            <el-date-picker v-model="form.planned_completion_time" type="datetime" placeholder="请选择计划完成时间" style="width: 468px;"></el-date-picker>
+            <el-date-picker
+              v-model="form.planned_completion_time"
+              type="datetime"
+              placeholder="请选择计划完成时间"
+              style="width: 468px"
+            ></el-date-picker>
           </el-form-item>
 
           <el-form-item label="仓库名称:" prop="warehouse_name">
-            <el-input v-model="form.warehouse_name" placeholder="请输入仓库名称" style="width: 468px;" />
+            <el-input v-model="form.warehouse_name" placeholder="请输入仓库名称" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="库房名称:" prop="storage_room_name">
-            <el-input v-model="form.storage_room_name" placeholder="请输入库房名称" style="width: 468px;" />
+            <el-input v-model="form.storage_room_name" placeholder="请输入库房名称" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="入库单号:" prop="inbound_order_id">
-            <el-input v-model="form.inbound_order_id" placeholder="请输入入库单号" style="width: 468px;" />
+            <el-input v-model="form.inbound_order_id" placeholder="请输入入库单号" style="width: 468px" />
           </el-form-item>
 
           <el-form-item label="新增时间:" prop="add_time">
-            <el-date-picker v-model="form.add_time" type="datetime" placeholder="请选择新增时间" style="width: 468px;"></el-date-picker>
+            <el-date-picker v-model="form.add_time" type="datetime" placeholder="请选择新增时间" style="width: 468px"></el-date-picker>
           </el-form-item>
         </el-form>
         <div class="common-dialog-footer">
@@ -108,6 +113,10 @@
 </template>
 <script setup lang="ts">
 import { ref, reactive, toRefs } from 'vue';
+import {
+  createMaterial,
+  updateMaterial
+} from "@/api/comprehensiveGuarantee/materialReserveManagement/materialInformation";
 const emits = defineEmits(['close']);
 const buttonLoading = ref(false);
 // 表单初始数据
@@ -139,16 +148,26 @@ const initFormData = {
 const data = reactive({
   form: { ...initFormData },
   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' }]
+    warehouse_number: [{ required: true, message: '仓库编号不能为空', trigger: 'blur' }],
+    purchase_order_id: [{ required: true, message: '采购单号不能为空', trigger: 'blur' }],
+    is_donation: [{ required: true, message: '请选择是否捐赠', trigger: 'change' }],
+    tracking_number: [{ required: true, message: '运单号不能为空', trigger: 'blur' }],
+    donor_phone: [{ required: true, message: '捐赠人联系电话不能为空', trigger: 'blur' }],
+    donor_name: [{ required: true, message: '捐赠人姓名不能为空', trigger: 'blur' }],
+    auditor: [{ required: true, message: '审核人不能为空', trigger: 'blur' }],
+    company_name: [{ required: true, message: '企业名称不能为空', trigger: 'blur' }],
+    company_id: [{ required: true, message: '企业编号不能为空', trigger: 'blur' }],
+    grade_info: [{ required: true, message: '分级信息不能为空', trigger: 'blur' }],
+    type: [{ required: true, message: '请选择类型', trigger: 'change' }],
+    supplier_name: [{ required: true, message: '供应商名称不能为空', trigger: 'blur' }],
+    create_time: [{ required: true, message: '请选择创建时间', trigger: 'change' }],
+    supplier_id: [{ required: true, message: '供应商编号不能为空', trigger: 'blur' }],
+    completion_time: [{ required: true, message: '请选择完成时间', trigger: 'change' }],
+    planned_completion_time: [{ required: true, message: '请选择计划完成时间', trigger: 'change' }],
+    warehouse_name: [{ required: true, message: '仓库名称不能为空', trigger: 'blur' }],
+    storage_room_name: [{ required: true, message: '库房名称不能为空', trigger: 'blur' }],
+    inbound_order_id: [{ required: true, message: '入库单号不能为空', trigger: 'blur' }],
+    add_time: [{ required: true, message: '请选择新增时间', trigger: 'change' }]
   }
 });
 
@@ -157,8 +176,26 @@ const { form, rules } = toRefs(data);
 const closeDialog = () => {
   emits('close');
 };
-const submitForm = () => {
-}
+const submitForm = async (formEl) => {
+  if (!formEl) return;
+  await formEl.validate((valid, fields) => {
+    if (valid) {
+    } 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;
+    }
+  });
+};
 </script>
 
 <style lang="scss" scoped>

+ 1 - 1
src/views/comprehensiveGuarantee/MaterialReserveManagement/addMaterialInformation.vue

@@ -17,7 +17,7 @@
                   :limit="1"
                   :file-size="5"
                   class="upload-box"
-                  @change="formRef.validateField('fileList');"
+                  @change="formRef.validateField('fileList')"
                 />
               </el-form-item>
             </el-col>

+ 68 - 48
src/views/comprehensiveGuarantee/MaterialReserveManagement/addOutbound.vue

@@ -7,52 +7,52 @@
       </div>
       <div class="common-dialog-box">
         <el-form ref="eventFormRef" :model="form" :rules="rules" label-width="80px">
-          <el-form-item label="出库单号:" prop="table_id">
-            <el-input v-model="form.event_title" placeholder="请输入出库单号" style="width: 468px !important" />
+          <el-form-item label="出库单号:" prop="invoice_number">
+            <el-input v-model="form.invoice_number" placeholder="请输入出库单号" style="width: 468px !important" />
           </el-form-item>
 
-          <el-form-item label="仓库名称:" prop="table_name">
-            <el-input v-model="form.event_source" placeholder="请输入仓库名称" style="width: 468px !important" />
+          <el-form-item label="仓库名称:" prop="warehouse_number">
+            <el-input v-model="form.warehouse_number" placeholder="请输入仓库名称" style="width: 468px !important" />
           </el-form-item>
 
-          <el-form-item label="出库单商品总体积(cm³):" prop="run_time">
-            <el-input v-model="form.event_source" placeholder="请输入出库单商品总体积" style="width: 468px !important" />
+          <el-form-item label="出库单商品总体积(cm³):" prop="commodity_volume">
+            <el-input v-model="form.commodity_volume" placeholder="请输入出库单商品总体积" style="width: 468px !important" />
           </el-form-item>
 
-          <el-form-item label="出库单商品总重量(kg):" prop="event_source">
-            <el-input v-model="form.event_source" placeholder="请输入出库单商品总重量" style="width: 468px !important" />
+          <el-form-item label="出库单商品总重量(kg):" prop="commodity_weight">
+            <el-input v-model="form.commodity_weight" placeholder="请输入出库单商品总重量" style="width: 468px !important" />
           </el-form-item>
 
-          <el-form-item label="出库单发货总体积(cm³):" prop="event_source">
-            <el-input v-model="form.event_source" placeholder="请输入出库单发货总体积" style="width: 468px !important" />
+          <el-form-item label="出库单发货总体积(cm³):" prop="shipped_volume">
+            <el-input v-model="form.shipped_volume" placeholder="请输入出库单发货总体积" style="width: 468px !important" />
           </el-form-item>
 
-          <el-form-item label="出库单发货总重量(kg):" prop="event_source">
-            <el-input v-model="form.event_source" placeholder="请输入出库单发货总重量" style="width: 468px !important" />
+          <el-form-item label="出库单发货总重量(kg):" prop="shipped_weight">
+            <el-input v-model="form.shipped_weight" placeholder="请输入出库单发货总重量" style="width: 468px !important" />
           </el-form-item>
 
-          <el-form-item label="出库单商品总数量:" prop="event_source">
-            <el-input v-model="form.event_source" placeholder="请输入出库单商品总数量" style="width: 468px !important" />
+          <el-form-item label="出库单商品总数量:" prop="commodity_number">
+            <el-input v-model="form.commodity_number" placeholder="请输入出库单商品总数量" style="width: 468px !important" />
           </el-form-item>
 
-          <el-form-item label="出库单发货时间:" prop="event_source">
-            <el-input v-model="form.event_source" placeholder="请输入出库单发货时间" style="width: 468px !important" />
+          <el-form-item label="出库单发货时间:" prop="delivery_time">
+            <el-input v-model="form.delivery_time" placeholder="请输入出库单发货时间" style="width: 468px !important" />
           </el-form-item>
 
-          <el-form-item label="灾种名称:" prop="event_source">
-            <el-input v-model="form.event_source" placeholder="请输入灾种名称" style="width: 468px !important" />
+          <el-form-item label="灾种名称:" prop="disaster_name">
+            <el-input v-model="form.disaster_name" placeholder="请输入灾种名称" style="width: 468px !important" />
           </el-form-item>
 
-          <el-form-item label="调运机构名称:" prop="event_source">
-            <el-input v-model="form.event_source" placeholder="请输入调运机构名称" style="width: 468px !important" />
+          <el-form-item label="调运机构名称:" prop="organization_name">
+            <el-input v-model="form.organization_name" placeholder="请输入调运机构名称" style="width: 468px !important" />
           </el-form-item>
 
-          <el-form-item label="发货人姓名:" prop="event_source">
-            <el-input v-model="form.event_source" placeholder="请输入发货人姓名" style="width: 468px !important" />
+          <el-form-item label="发货人姓名:" prop="shipper_name">
+            <el-input v-model="form.shipper_name" placeholder="请输入发货人姓名" style="width: 468px !important" />
           </el-form-item>
 
-          <el-form-item label="发货人手机:" prop="event_source">
-            <el-input v-model="form.event_source" placeholder="请输入发货人手机" style="width: 468px !important" />
+          <el-form-item label="发货人手机:" prop="shipper_phone">
+            <el-input v-model="form.shipper_phone" placeholder="请输入发货人手机" style="width: 468px !important" />
           </el-form-item>
         </el-form>
         <div class="common-dialog-footer">
@@ -69,34 +69,36 @@ const emits = defineEmits(['close']);
 const buttonLoading = ref(false);
 // 表单初始数据
 const initFormData = {
-  event_title: '', // 事件标题
-  event_type: '', // 事件类型
-  event_level: '', // 事件等级
-  event_status: '0', // 事件状态
-  address: '', // 事件地点
-  longitude: '', // 经度
-  latitude: '', // 纬度
-  event_time: '', // 事发时间
-  report_time: '', // 上报时间
-  event_source: '', // 事件来源
-  event_description: '', // 事件描述
-  contact: '' // 联系方式
+  invoice_number: '', // 出库单号
+  warehouse_number: '', // 仓库名称
+  commodity_volume: '', // 出库单商品总体积
+  commodity_weight: '0', // 出库单商品总重量
+  shipped_volume: '', // 出库单发货总体积
+  shipped_weight: '', // 出库单发货总重量
+  commodity_number: '', // 出库单商品总数量
+  delivery_time: '', // 出库单发货时间
+  disaster_name: '', // 灾种名称
+  organization_name: '', // 调运机构名称
+  shipper_name: '', // 发货人姓名
+  shipper_phone: '' // 发货人手机
 };
 
 // 表单数据
 const data = reactive({
   form: { ...initFormData },
   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' }]
+    invoice_number: [{ required: true, message: '出库单号不能为空', trigger: 'blur' }],
+    warehouse_number: [{ required: true, message: '仓库名称不能为空', trigger: 'blur' }],
+    commodity_volume: [{ required: true, message: '出库单商品总体积不能为空', trigger: 'blur' }],
+    commodity_weight: [{ required: true, message: '出库单商品总重量不能为空', trigger: 'blur' }],
+    shipped_volume: [{ required: true, message: '出库单发货总体积不能为空', trigger: 'blur' }],
+    shipped_weight: [{ required: true, message: '出库单发货总重量不能为空', trigger: 'blur' }],
+    commodity_number: [{ required: true, message: '出库单商品总数量不能为空', trigger: 'blur' }],
+    delivery_time: [{ required: true, message: '出库单发货时间不能为空', trigger: 'blur' }],
+    disaster_name: [{ required: true, message: '灾种名称不能为空', trigger: 'blur' }],
+    organization_name: [{ required: true, message: '调运机构名称不能为空', trigger: 'blur' }],
+    shipper_name: [{ required: true, message: '发货人姓名不能为空', trigger: 'blur' }],
+    shipper_phone: [{ required: true, message: '发货人手机不能为空', trigger: 'blur' }]
   }
 });
 
@@ -105,8 +107,26 @@ const { form, rules } = toRefs(data);
 const closeDialog = () => {
   emits('close');
 };
-const submitForm = () => {
-}
+const submitForm = async (formEl) => {
+  if (!formEl) return;
+  await formEl.validate((valid, fields) => {
+    if (valid) {
+    } 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;
+    }
+  });
+};
 </script>
 
 <style lang="scss" scoped>