yangyuxuan 2 月之前
父節點
當前提交
7bf4e1dbef

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

@@ -23,24 +23,15 @@ 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']
-    ElCard: typeof import('element-plus/es')['ElCard']
     ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
-    ElCheckboxButton: typeof import('element-plus/es')['ElCheckboxButton']
     ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
     ElCol: typeof import('element-plus/es')['ElCol']
-    ElCollapse: typeof import('element-plus/es')['ElCollapse']
-    ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
     ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
-    ElContainer: typeof import('element-plus/es')['ElContainer']
     ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
-    ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
-    ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem']
     ElDialog: typeof import('element-plus/es')['ElDialog']
     ElDivider: typeof import('element-plus/es')['ElDivider']
     ElDrawer: typeof import('element-plus/es')['ElDrawer']
@@ -50,42 +41,31 @@ declare module 'vue' {
     ElEmpty: typeof import('element-plus/es')['ElEmpty']
     ElForm: typeof import('element-plus/es')['ElForm']
     ElFormItem: typeof import('element-plus/es')['ElFormItem']
-    ElHeader: typeof import('element-plus/es')['ElHeader']
     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']
-    ElMain: typeof import('element-plus/es')['ElMain']
     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']
-    ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
     ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElRow: typeof import('element-plus/es')['ElRow']
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
-    ElSegmented: typeof import('element-plus/es')['ElSegmented']
     ElSelect: typeof import('element-plus/es')['ElSelect']
     ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
     ElSkeletonItem: typeof import('element-plus/es')['ElSkeletonItem']
     ElSlider: typeof import('element-plus/es')['ElSlider']
-    ElSpace: typeof import('element-plus/es')['ElSpace']
-    ElStep: typeof import('element-plus/es')['ElStep']
-    ElSteps: typeof import('element-plus/es')['ElSteps']
     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']
-    ElTimePicker: typeof import('element-plus/es')['ElTimePicker']
     ElTooltip: typeof import('element-plus/es')['ElTooltip']
     ElTree: typeof import('element-plus/es')['ElTree']
     ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
@@ -101,9 +81,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']

+ 35 - 5
src/views/comprehensiveGuarantee/MaterialReserveManagement/TypesMaterialsDetails.vue

@@ -8,16 +8,26 @@
       <div class="common-dialog-box">
         <el-form ref="eventFormRef" :model="form" :rules="rules" label-width="120px">
           <el-form-item label="父类id:">
-            <el-input v-model="form.parent_id" disabled class="custom-disabled" style="width: 468px !important" />
+            <!--            <el-input v-model="form.parent_id" disabled class="custom-disabled" style="width: 468px !important" />-->
+            <el-tree-select
+              v-model="form.parent_id"
+              :data="parentId"
+              :render-after-expand="false"
+              style="width: 468px !important"
+              node-key="id"
+              check-strictly
+            />
           </el-form-item>
 
           <el-form-item label="物资类别名称:" prop="material_category_name">
-            <el-input v-model="form.material_category_name" disabled class="custom-disabled" style="width: 468px !important" />
+            <el-input v-model="form.material_category_name" disabled class="custom-disabled"
+                      style="width: 468px !important" />
           </el-form-item>
 
           <el-form-item label="物资类别等级:" prop="material_category_level">
             <el-select v-model="form.material_category_level" disabled class="custom-disabled">
-              <el-option v-for="(item, index) in material_category_level" :key="index" :label="item.label" :value="item.value" />
+              <el-option v-for="(item, index) in material_category_level" :key="index" :label="item.label"
+                         :value="item.value" />
             </el-select>
           </el-form-item>
 
@@ -39,8 +49,11 @@
   </div>
 </template>
 <script setup lang="ts">
-import { getMaterialTypeInfo } from '@/api/comprehensiveGuarantee/materialReserveManagement/typesMaterialsManagement';
-import { toRefs } from 'vue';
+import {
+  getMaterialTypeInfo,
+  getParentIdTree
+} from '@/api/comprehensiveGuarantee/materialReserveManagement/typesMaterialsManagement';
+import { ref, toRefs } from 'vue';
 
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { show_status, material_category_level } = toRefs<any>(proxy?.useDict('show_status', 'material_category_level'));
@@ -62,23 +75,40 @@ const closeDialog = () => {
   emits('close');
 };
 
+const parentId = ref([{
+  id: 0,
+  label: '根目录',
+  children: []
+}]);
+const getParentId = () => {
+  getParentIdTree().then((res) => {
+    parentId.value[0].children = res.data;
+  });
+};
+getParentId();
+
 getMaterialTypeInfo(props.id).then((res) => {
   form.value = res.data;
 });
+
+
 </script>
 
 <style lang="scss" scoped>
 .flex {
   display: flex;
+
   span {
     white-space: nowrap;
   }
 }
+
 .custom-disabled {
   :deep(.el-select__wrapper.is-disabled),
   :deep(.el-input__wrapper) {
     background-color: #ffffff !important;
   }
+
   :deep(.el-select__wrapper.is-disabled .el-select__selected-item),
   :deep(.el-input__inner) {
     color: rgba(0, 0, 0, 0.85) !important;

+ 6 - 2
src/views/comprehensiveGuarantee/MaterialReserveManagement/addTypesMaterials.vue

@@ -81,10 +81,14 @@ const data = reactive({
 });
 
 const { form, rules } = toRefs(data);
-const parentId = ref();
+const parentId = ref([{
+  id: 0,
+  label: '根目录',
+  children: []
+}]);
 const getParentId = () => {
   getParentIdTree().then((res) => {
-    parentId.value = res.data;
+    parentId.value[0].children = res.data;
   })
 };
 getParentId();

+ 9 - 16
src/views/comprehensiveGuarantee/reliefResourceManagement/shelterAdd.vue

@@ -273,22 +273,15 @@ const router = useRouter();
 
 // 提交表单
 const submitForm = async () => {
-  try {
-    await form.value.validate();
-    const payload = {
-      shelters: [formData.value]
-    };
-    const response = await addSheltert(payload);
-    if (response.code === 200) {
-      ElMessage.success('提交成功');
-      closeDialog();
-      emits('refresh');
-    } else {
-      ElMessage.error(response.msg || '提交失败,请稍后再试');
-    }
-  } catch (error) {
-    ElMessage.error('表单验证失败,请检查输入');
-  }
+  await form.value.validate();
+  const payload = {
+    shelters: [formData.value]
+  };
+  const response = await addSheltert(payload);
+
+  ElMessage.success('提交成功');
+  closeDialog();
+  emits('refresh');
 };
 </script>
 

+ 9 - 13
src/views/comprehensiveGuarantee/reliefResourceManagement/shelterEdit.vue

@@ -42,19 +42,19 @@
             </el-col>
             <el-col :span="10">
               <el-form-item label="避难场所容纳人数:" prop="capacity">
-                <el-input v-model="formData.capacity" style="width: 468px !important" />
+                <el-input type="number" v-model="formData.capacity" style="width: 468px !important" />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row :gutter="20" class="mb8">
             <el-col :span="10">
               <el-form-item label="应急避难场所室内面积:" prop="indoor_area">
-                <el-input v-model="formData.indoor_area" style="width: 468px !important" />
+                <el-input type="number" v-model="formData.indoor_area" style="width: 468px !important" />
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="应急避难场所所占地总面积:" prop="total_area">
-                <el-input v-model="formData.total_area" style="width: 468px !important" />
+                <el-input type="number" v-model="formData.total_area" style="width: 468px !important" />
               </el-form-item>
             </el-col>
           </el-row>
@@ -132,7 +132,7 @@
             </el-col>
             <el-col :span="10">
               <el-form-item label="建设总投资(万元):" prop="total_investment">
-                <el-input v-model="formData.total_investment" placeholder="请输入建设总投资" style="width: 468px !important" />
+                <el-input type="number" v-model="formData.total_investment" placeholder="请输入建设总投资" style="width: 468px !important" />
               </el-form-item>
             </el-col>
           </el-row>
@@ -144,14 +144,14 @@
             </el-col>
             <el-col :span="10">
               <el-form-item label="日常维护或管理人员数量:" prop="management_number">
-                <el-input v-model="formData.management_number" placeholder="请输入日常维护或管理人员数量" style="width: 468px !important" />
+                <el-input type="number" v-model="formData.management_number" placeholder="请输入日常维护或管理人员数量" style="width: 468px !important" />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row :gutter="20" class="mb8">
             <el-col :span="10">
               <el-form-item label="其中:专职维护或管理人员数量:" prop="full_number">
-                <el-input v-model="formData.full_number" placeholder="请输入专职维护或管理人员数量" style="width: 468px !important" />
+                <el-input type="number" v-model="formData.full_number" placeholder="请输入专职维护或管理人员数量" style="width: 468px !important" />
               </el-form-item>
             </el-col>
             <el-col :span="10">
@@ -263,13 +263,9 @@ const fetchShelterData = async () => {
 const submitForm = async () => {
   // 假设表单已经通过验证
   const response = await uploadSheltert(props.eventId, formData.value);
-  if (response.code === 200) {
-    ElMessage.success('提交成功');
-    closeDialog();
-    emits('refresh');
-  } else {
-    ElMessage.error(response.msg);
-  }
+  ElMessage.success('提交成功');
+  closeDialog();
+  emits('refresh');
 };
 onMounted(() => {
   fetchShelterData();

+ 16 - 16
src/views/comprehensiveGuarantee/reliefResourceManagement/shelterView.vue

@@ -69,96 +69,96 @@
           <el-row :gutter="20" class="mb8">
             <el-col :span="10">
               <el-form-item label="按避难时长设计分类:" prop="duration_type">
-                <el-input v-model="formData.duration_type" placeholder="请输入分类" style="width: 468px !important" />
+                <el-input v-model="formData.duration_type" placeholder="请输入分类" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="按空间类型分类:" prop="space_type">
-                <el-input v-model="formData.space_type" placeholder="请输入空间类型" style="width: 468px !important" />
+                <el-input v-model="formData.space_type" placeholder="请输入空间类型" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row :gutter="20" class="mb8">
             <el-col :span="10">
               <el-form-item label="按总体功能定位分类:" prop="function_type">
-                <el-input v-model="formData.function_type" placeholder="请输入分类" style="width: 468px !important" />
+                <el-input v-model="formData.function_type" placeholder="请输入分类" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="应急避难场所建设类型:" prop="construct_type">
-                <el-input v-model="formData.construct_type" placeholder="请输入建设类型" style="width: 468px !important" />
+                <el-input v-model="formData.construct_type" placeholder="请输入建设类型" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row :gutter="20" class="mb8">
             <el-col :span="10">
               <el-form-item label="认定部门:" prop="identification_department">
-                <el-input v-model="formData.identification_department" placeholder="请输入认定部门" style="width: 468px !important" />
+                <el-input v-model="formData.identification_department" placeholder="请输入认定部门" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="主管单位:" prop="sponsor">
-                <el-input v-model="formData.sponsor" placeholder="请输入主管单位" style="width: 468px !important" />
+                <el-input v-model="formData.sponsor" placeholder="请输入主管单位" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row :gutter="20" class="mb8">
             <el-col :span="10">
               <el-form-item label="建设单位:" prop="construction_unit">
-                <el-input v-model="formData.construction_unit" placeholder="请输入建设单位" style="width: 468px !important" />
+                <el-input v-model="formData.construction_unit" placeholder="请输入建设单位" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="建成时间:" prop="completion_time">
-                <el-input v-model="formData.modified_time" placeholder="请输入建成时间" style="width: 468px !important" />
+                <el-input v-model="formData.modified_time" placeholder="请输入建成时间" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row :gutter="20" class="mb8">
             <el-col :span="10">
               <el-form-item label="规划情况:" prop="planning_situation">
-                <el-input v-model="formData.planning_situation" placeholder="请输入规划情况" style="width: 468px !important" />
+                <el-input v-model="formData.planning_situation" placeholder="请输入规划情况" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="建设总投资(万元):" prop="total_investment">
-                <el-input v-model="formData.total_investment" placeholder="请输入建设总投资" style="width: 468px !important" />
+                <el-input v-model="formData.total_investment" placeholder="请输入建设总投资" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row :gutter="20" class="mb8">
             <el-col :span="10">
               <el-form-item label="建设标准名称:" prop="standard_name">
-                <el-input v-model="formData.standard_name" placeholder="请输入建设标准名称" style="width: 468px !important" />
+                <el-input v-model="formData.standard_name" placeholder="请输入建设标准名称" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="日常维护或管理人员数量:" prop="management_number">
-                <el-input v-model="formData.management_number" placeholder="请输入日常维护或管理人员数量" style="width: 468px !important" />
+                <el-input v-model="formData.management_number" placeholder="请输入日常维护或管理人员数量" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row :gutter="20" class="mb8">
             <el-col :span="10">
               <el-form-item label="其中:专职维护或管理人员数量:" prop="full_number">
-                <el-input v-model="formData.full_number" placeholder="请输入专职维护或管理人员数量" style="width: 468px !important" />
+                <el-input v-model="formData.full_number" placeholder="请输入专职维护或管理人员数量" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="产权/运维单位:" prop="property_unit">
-                <el-input v-model="formData.property_unit" placeholder="请输入产权/运维单位" style="width: 468px !important" />
+                <el-input v-model="formData.property_unit" placeholder="请输入产权/运维单位" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
           </el-row>
           <el-row :gutter="20" class="mb8">
             <el-col :span="10">
               <el-form-item label="运输投入:" prop="transportation_investment">
-                <el-input v-model="formData.transportation_investment" placeholder="请输入运输投入" style="width: 468px !important" />
+                <el-input v-model="formData.transportation_investment" placeholder="请输入运输投入" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="运输投入渠道:" prop="channel">
-                <el-input v-model="formData.channel" placeholder="请输入运输投入渠道" style="width: 468px !important" />
+                <el-input v-model="formData.channel" placeholder="请输入运输投入渠道" style="width: 468px !important" disabled />
               </el-form-item>
             </el-col>
           </el-row>