libushang před 1 dnem
rodič
revize
7b134a0207

+ 8 - 0
src/api/comprehensiveGuarantee/reliefResourceManagement/rescueUnit.ts

@@ -26,3 +26,11 @@ export function addUnit(units) {
     data: units
   });
 }
+
+// 删除
+export function deleteUnit(id: Array<string | number> | string | number) {
+  return request({
+    url: `/api/resource_provison/emergency/delete/rescue_units/` + id,
+    method: 'delete'
+  });
+}

+ 12 - 9
src/views/comprehensiveGuarantee/reliefResourceManagement/rescueUnit.vue

@@ -32,18 +32,11 @@
         <el-table-column label="所属行政区域" align="center" prop="area" />
         <el-table-column label="成立时间" align="center" prop="founding_time" />
         <el-table-column label="新增时间" align="center" prop="add_time" />
-
-<!--        <el-table-column label="救援人员单位" align="center" prop="name" />-->
-<!--        <el-table-column label="负责人职务" align="center" prop="position" />-->
-<!--        <el-table-column label="装备" align="center" prop="equipment" />-->
-<!--        <el-table-column label="训练" align="center" prop="training" />-->
-<!--        <el-table-column label="经度" align="center" prop="longitude" />-->
-<!--        <el-table-column label="纬度" align="center" prop="latitude" />-->
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
           <template #default="scope">
             <el-text class="common-btn-text-primary" @click="handleView(scope.row)">查看</el-text>
             <el-text class="common-btn-text-primary" @click="handleUpdate(scope.row)">编辑</el-text>
-            <el-text class="common-btn-text-primary">停用</el-text>
+            <el-text class="common-btn-text-primary" @click="handleDelete(scope.row)">停用</el-text>
           </template>
         </el-table-column>
       </el-table>
@@ -65,7 +58,7 @@
 import { onMounted, reactive, ref, toRefs } from 'vue';
 import { ElTable, ElTableColumn, ElButton, ElText } from 'element-plus';
 import { ComponentInternalInstance, getCurrentInstance } from 'vue';
-import { getUnits } from '@/api/comprehensiveGuarantee/reliefResourceManagement/rescueUnit';
+import { getUnits, deleteUnit } from '@/api/comprehensiveGuarantee/reliefResourceManagement/rescueUnit';
 import Pagination from '@/components/Pagination/index.vue';
 import RescueUnitAdd from './rescueUnitAdd.vue';
 import RescueUnitEdit from './rescueUnitEdit.vue';
@@ -82,6 +75,7 @@ const selectedRow = ref<any | null>(null);
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 
 const initFormData = reactive({
+  id: 0,
   name: '',
   category: '',
   contact_number: '',
@@ -157,6 +151,15 @@ const handleUpdate = (row: any) => {
   rescueUnitEditState.show = true;
 };
 
+const handleDelete = (row: any) => {
+  proxy?.$modal.confirm('是否确认删除选择的数据项?').then(() => {
+    deleteUnit(row.id).then(() => {
+      proxy?.$modal.msgSuccess('停用成功');
+      deleteUnit();
+    });
+  });
+};
+
 const handleCancel = () => {
   rescueUnitViewState.show = false;
   rescueUnitEditState.show = false;

+ 56 - 59
src/views/comprehensiveGuarantee/reliefResourceManagement/rescueUnitAdd.vue

@@ -5,6 +5,12 @@
         <h3 class="common-dialog-title">新建救援队伍</h3>
       </div>
       <div class="common-dialog-box">
+        <!-- 
+        数据字段:
+          非业务主键、队伍名称、队伍类型、队伍属性、队伍级别、队伍特长、队伍人数、值班电话、
+          主管单位、主管单位联系人、主管单位联系人电话、队伍负责人、队伍负责人移动电话、队伍所在地址、
+          所属行政区域、成立时间、增量标识、增量时间、批次号、新增时间
+        -->
         <el-form ref="form" :model="formData" :rules="rules" label-width="auto">
           <el-form-item label="队伍名称:" prop="name">
             <el-input v-model="formData.name" style="width: 468px !important" />
@@ -12,35 +18,38 @@
           <el-form-item label="队伍类型:" prop="category">
             <el-input v-model="formData.category" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="队伍属性:" prop="category">
-            <el-input v-model="formData.category" style="width: 468px !important" />
+          <el-form-item label="队伍属性:" prop="unit_prop">
+            <el-input v-model="formData.unit_prop" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="队伍级别:" prop="category">
-            <el-input v-model="formData.category" style="width: 468px !important" />
+          <el-form-item label="队伍级别:" prop="unit_level">
+            <el-input v-model="formData.unit_level" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="队伍特长:" prop="category">
-            <el-input v-model="formData.category" style="width: 468px !important" />
+          <el-form-item label="队伍特长:" prop="unit_favor">
+            <el-input v-model="formData.unit_favor" style="width: 468px !important" />
           </el-form-item>
           <el-form-item label="队伍人数:" prop="team_size">
-            <el-input v-model="formData.team_size" style="width: 468px !important" />
+            <el-input v-model="formData.team_size" type="number" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="值班电话:" prop="team_size">
-            <el-input v-model="formData.team_size" style="width: 468px !important" />
+          <el-form-item label="值班电话:" prop="contact_number">
+            <el-input v-model="formData.contact_number" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="主管单位:" prop="team_size">
-            <el-input v-model="formData.team_size" style="width: 468px !important" />
+          <el-form-item label="主管单位:" prop="supervisor_unit">
+            <el-input v-model="formData.supervisor_unit" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="主管单位联系人:" prop="team_size">
-            <el-input v-model="formData.team_size" style="width: 468px !important" />
+          <el-form-item label="主管单位联系人:" prop="supervisor_unit_contact">
+            <el-input v-model="formData.supervisor_unit_contact" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="主管单位联系人电话:" prop="team_size">
-            <el-input v-model="formData.team_size" style="width: 468px !important" />
+          <el-form-item label="主管单位联系人电话:" prop="supervisor_unit_phone">
+            <el-input v-model="formData.supervisor_unit_phone" style="width: 468px !important" />
           </el-form-item>
           <el-form-item label="队伍负责人:" prop="responsible_person">
             <el-input v-model="formData.responsible_person" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="队伍负责人移动电话:" prop="responsible_person">
-            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
+          <el-form-item label="负责人职务:" prop="position">
+            <el-input v-model="formData.position" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="队伍负责人移动电话:" prop="responsible_person_phone">
+            <el-input v-model="formData.responsible_person_phone" style="width: 468px !important" />
           </el-form-item>
           <el-form-item label="队伍所在地址:" prop="address">
             <el-input v-model="formData.address" placeholder="请输入地址" style="width: 468px !important" readonly>
@@ -49,34 +58,12 @@
               </template>
             </el-input>
           </el-form-item>
-          <el-form-item label="所属行政区域:" prop="responsible_person">
-            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
+          <el-form-item label="所属行政区域:" prop="area">
+            <el-input v-model="formData.area" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="成立时间:" prop="responsible_person">
-            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
+          <el-form-item label="成立时间:" prop="founding_time">
+            <el-input v-model="formData.founding_time" style="width: 468px !important" />
           </el-form-item>
-
-<!--          <el-form-item label="联系电话:" prop="contact_number">-->
-<!--            <el-input v-model="formData.contact_number" style="width: 468px !important" />-->
-<!--          </el-form-item>-->
-<!--          <el-form-item label="负责人职务:" prop="position">-->
-<!--            <el-input v-model="formData.position" style="width: 468px !important" />-->
-<!--          </el-form-item>-->
-<!--          <el-form-item label="装备:" prop="equipment">-->
-<!--            <el-input v-model="formData.equipment" style="width: 468px !important" />-->
-<!--          </el-form-item>-->
-<!--          <el-form-item label="训练:" prop="training">-->
-<!--            <el-input v-model="formData.training" style="width: 468px !important" />-->
-<!--          </el-form-item>-->
-<!--          <el-form-item label="经度:" prop="longitude">-->
-<!--            <el-input v-model="formData.longitude" style="width: 468px !important" />-->
-<!--          </el-form-item>-->
-<!--          <el-form-item label="纬度:" prop="latitude">-->
-<!--            <el-input v-model="formData.latitude" style="width: 468px !important" />-->
-<!--          </el-form-item>-->
-<!--          <el-form-item label="主管单位:" prop="supervisor_unit">-->
-<!--            <el-input v-model="formData.supervisor_unit" style="width: 468px !important" />-->
-<!--          </el-form-item>-->
         </el-form>
         <div class="common-dialog-footer">
           <el-button @click="closeDialog">取消</el-button>
@@ -101,31 +88,41 @@ const formData = ref({
   name: '',
   category: '',
   contact_number: '',
-  equipment: '',
-  training: '',
   responsible_person: '',
-  address: '',
+  contact_number: '',
+  team_size: '0',
+  supervisor_unit: '',
+  unit_prop: '',
+  unit_level: '',
+  unit_favor: '',
+  supervisor_unit_phone: '',
   position: '',
-  team_size: '',
+  supervisor_unit_contact: '',
+  responsible_person_phone: '',
+  area: '',
+  founding_time: '',
+
+  address: '',
   lnglat: [],
   longitude: '',
   latitude: '',
-  supervisor_unit: ''
 });
-
 const rules = ref({
-  name: [{ required: true, message: '救援人员单位不能为空', trigger: 'blur' }],
-  category: [{ required: true, message: '类型不能为空', trigger: 'blur' }],
-  contact_number: [{ required: true, message: '联系电话不能为空', trigger: 'blur' }],
-  responsible_person: [{ required: true, message: '负责人不能为空', trigger: 'blur' }],
-  address: [{ required: true, message: '地址不能为空', trigger: 'blur' }],
-  equipment: [{ required: true, message: '装备不能为空', trigger: 'blur' }],
-  training: [{ required: true, message: '训练不能为空', trigger: 'blur' }],
-  position: [{ required: true, message: '负责人职务不能为空', trigger: 'blur' }],
+  name: [{ required: true, message: '队伍名称不能为空', trigger: 'blur' }],
+  category: [{ required: true, message: '队伍类型不能为空', trigger: 'blur' }],
+  unit_prop: [{ required: true, message: '队伍属性不能为空', trigger: 'blur' }],
+  unit_level: [{ required: true, message: '队伍级别不能为空', trigger: 'blur' }],
+  unit_favor: [{ required: true, message: '队伍特长不能为空', trigger: 'blur' }],
   team_size: [{ required: true, message: '队伍人数不能为空', trigger: 'blur' }],
+  contact_number: [{ required: true, message: '值班电话不能为空', trigger: 'blur' }],
+  supervisor_unit: [{ required: true, message: '主管单位不能为空', trigger: 'blur' }],
+  supervisor_unit_contact: [{ required: true, message: '主管单位联系人不能为空', trigger: 'blur' }],
+  supervisor_unit_phone: [{ required: true, message: '主管单位联系人电话不能为空', trigger: 'blur' }],
+  responsible_person: [{ required: true, message: '队伍负责人不能为空', trigger: 'blur' }],
+  responsible_person_phone: [{ required: true, message: '队伍负责人移动电话不能为空', trigger: 'blur' }],
+  address: [{ required: true, message: '队伍所在地址不能为空', trigger: 'blur' }],
   longitude: [{ required: true, message: '经度不能为空', trigger: 'blur' }],
-  latitude: [{ required: true, message: '纬度不能为空', trigger: 'blur' }],
-  supervisor_unit: [{ required: true, message: '主管单位不能为空', trigger: 'blur' }]
+  latitude: [{ required: true, message: '纬度不能为空', trigger: 'blur' }]
 });
 
 const form = ref(null); // 定义 form 变量

+ 32 - 40
src/views/comprehensiveGuarantee/reliefResourceManagement/rescueUnitEdit.vue

@@ -5,6 +5,12 @@
         <h3 class="common-dialog-title">编辑救援队伍</h3>
       </div>
       <div class="common-dialog-box">
+        <!-- 
+        数据字段:
+          非业务主键、队伍名称、队伍类型、队伍属性、队伍级别、队伍特长、队伍人数、值班电话、
+          主管单位、主管单位联系人、主管单位联系人电话、队伍负责人、队伍负责人移动电话、队伍所在地址、
+          所属行政区域、成立时间、增量标识、增量时间、批次号、新增时间
+        -->
         <el-form ref="form" :model="formData" :rules="rules" label-width="auto">
           <el-form-item label="队伍名称:" prop="name">
             <el-input v-model="formData.name" style="width: 468px !important" />
@@ -22,7 +28,7 @@
             <el-input v-model="formData.unit_favor" style="width: 468px !important" />
           </el-form-item>
           <el-form-item label="队伍人数:" prop="team_size">
-            <el-input v-model="formData.team_size" style="width: 468px !important" />
+            <el-input v-model="formData.team_size" type="number" style="width: 468px !important" />
           </el-form-item>
           <el-form-item label="值班电话:" prop="contact_number">
             <el-input v-model="formData.contact_number" style="width: 468px !important" />
@@ -39,6 +45,9 @@
           <el-form-item label="队伍负责人:" prop="responsible_person">
             <el-input v-model="formData.responsible_person" style="width: 468px !important" />
           </el-form-item>
+          <el-form-item label="负责人职务:" prop="position">
+            <el-input v-model="formData.position" style="width: 468px !important" />
+          </el-form-item>
           <el-form-item label="队伍负责人移动电话:" prop="responsible_person_phone">
             <el-input v-model="formData.responsible_person_phone" style="width: 468px !important" />
           </el-form-item>
@@ -55,28 +64,6 @@
           <el-form-item label="成立时间:" prop="founding_time">
             <el-input v-model="formData.founding_time" style="width: 468px !important" />
           </el-form-item>
-
-          <!--          <el-form-item label="联系电话:" prop="contact_number">-->
-          <!--            <el-input v-model="formData.contact_number" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="负责人职务:" prop="position">-->
-          <!--            <el-input v-model="formData.position" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="装备:" prop="equipment">-->
-          <!--            <el-input v-model="formData.equipment" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="训练:" prop="training">-->
-          <!--            <el-input v-model="formData.training" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="经度:" prop="longitude">-->
-          <!--            <el-input v-model="formData.longitude" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="纬度:" prop="latitude">-->
-          <!--            <el-input v-model="formData.latitude" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="主管单位:" prop="supervisor_unit">-->
-          <!--            <el-input v-model="formData.supervisor_unit" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
         </el-form>
         <div class="common-dialog-footer">
           <el-button @click="closeDialog">取消</el-button>
@@ -100,41 +87,46 @@ const props = defineProps<{
 }>();
 
 const formData = ref({
+  id: 0,
   name: '',
   category: '',
   contact_number: '',
-  equipment: '',
-  training: '',
   responsible_person: '',
-  address: '',
-  position: '',
+  contact_number: '',
   team_size: '',
-  longitude: '',
-  latitude: '',
   supervisor_unit: '',
   unit_prop: '',
   unit_level: '',
   unit_favor: '',
   supervisor_unit_phone: '',
   supervisor_unit_contact: '',
+  position: '',
   responsible_person_phone: '',
   area: '',
-  founding_time: ''
+  founding_time: '',
+
+  address: '',
+  lnglat: [],
+  longitude: '',
+  latitude: '',
 });
 
 const rules = ref({
-  name: [{ required: true, message: '救援人员单位不能为空', trigger: 'blur' }],
-  category: [{ required: true, message: '类型不能为空', trigger: 'blur' }],
-  contact_number: [{ required: true, message: '联系电话不能为空', trigger: 'blur' }],
-  responsible_person: [{ required: true, message: '负责人不能为空', trigger: 'blur' }],
-  address: [{ required: true, message: '地址不能为空', trigger: 'blur' }],
-  equipment: [{ required: true, message: '装备不能为空', trigger: 'blur' }],
-  training: [{ required: true, message: '训练不能为空', trigger: 'blur' }],
-  position: [{ required: true, message: '负责人职务不能为空', trigger: 'blur' }],
+  name: [{ required: true, message: '队伍名称不能为空', trigger: 'blur' }],
+  category: [{ required: true, message: '队伍类型不能为空', trigger: 'blur' }],
+  unit_prop: [{ required: true, message: '队伍属性不能为空', trigger: 'blur' }],
+  unit_level: [{ required: true, message: '队伍级别不能为空', trigger: 'blur' }],
+  unit_favor: [{ required: true, message: '队伍特长不能为空', trigger: 'blur' }],
   team_size: [{ required: true, message: '队伍人数不能为空', trigger: 'blur' }],
+  contact_number: [{ required: true, message: '值班电话不能为空', trigger: 'blur' }],
+  supervisor_unit: [{ required: true, message: '主管单位不能为空', trigger: 'blur' }],
+  supervisor_unit_contact: [{ required: true, message: '主管单位联系人不能为空', trigger: 'blur' }],
+  supervisor_unit_phone: [{ required: true, message: '主管单位联系人电话不能为空', trigger: 'blur' }],
+  responsible_person: [{ required: true, message: '队伍负责人不能为空', trigger: 'blur' }],
+  responsible_person_phone: [{ required: true, message: '队伍负责人移动电话不能为空', trigger: 'blur' }],
+  address: [{ required: true, message: '队伍所在地址不能为空', trigger: 'blur' }],
   longitude: [{ required: true, message: '经度不能为空', trigger: 'blur' }],
-  latitude: [{ required: true, message: '纬度不能为空', trigger: 'blur' }],
-  supervisor_unit: [{ required: true, message: '主管单位不能为空', trigger: 'blur' }]
+  latitude: [{ required: true, message: '纬度不能为空', trigger: 'blur' }]
 });
 
 const closeDialog = () => {

+ 19 - 30
src/views/comprehensiveGuarantee/reliefResourceManagement/rescueUnitView.vue

@@ -5,7 +5,13 @@
         <h3 class="common-dialog-title">查看详情</h3>
       </div>
       <div class="common-dialog-box">
-        <el-form ref="form" :model="formData" label-width="auto">
+        <!-- 
+        数据字段:
+          非业务主键、队伍名称、队伍类型、队伍属性、队伍级别、队伍特长、队伍人数、值班电话、
+          主管单位、主管单位联系人、主管单位联系人电话、队伍负责人、队伍负责人移动电话、队伍所在地址、
+          所属行政区域、成立时间、增量标识、增量时间、批次号、新增时间
+        -->
+        <el-form ref="form" :model="formData" :rules="rules" label-width="auto">
           <el-form-item label="队伍名称:" prop="name">
             <el-input v-model="formData.name" style="width: 468px !important" />
           </el-form-item>
@@ -39,6 +45,9 @@
           <el-form-item label="队伍负责人:" prop="responsible_person">
             <el-input v-model="formData.responsible_person" style="width: 468px !important" />
           </el-form-item>
+          <el-form-item label="负责人职务:" prop="position">
+            <el-input v-model="formData.position" style="width: 468px !important" />
+          </el-form-item>
           <el-form-item label="队伍负责人移动电话:" prop="responsible_person_phone">
             <el-input v-model="formData.responsible_person_phone" style="width: 468px !important" />
           </el-form-item>
@@ -55,28 +64,6 @@
           <el-form-item label="成立时间:" prop="founding_time">
             <el-input v-model="formData.founding_time" style="width: 468px !important" />
           </el-form-item>
-
-          <!--          <el-form-item label="联系电话:" prop="contact_number">-->
-          <!--            <el-input v-model="formData.contact_number" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="负责人职务:" prop="position">-->
-          <!--            <el-input v-model="formData.position" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="装备:" prop="equipment">-->
-          <!--            <el-input v-model="formData.equipment" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="训练:" prop="training">-->
-          <!--            <el-input v-model="formData.training" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="经度:" prop="longitude">-->
-          <!--            <el-input v-model="formData.longitude" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="纬度:" prop="latitude">-->
-          <!--            <el-input v-model="formData.latitude" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
-          <!--          <el-form-item label="主管单位:" prop="supervisor_unit">-->
-          <!--            <el-input v-model="formData.supervisor_unit" style="width: 468px !important" />-->
-          <!--          </el-form-item>-->
         </el-form>
         <div class="common-dialog-footer">
           <el-button type="primary" @click="closeDialog">返回</el-button>
@@ -97,26 +84,28 @@ const props = defineProps<{
 }>();
 
 const formData = ref({
+  id: 0,
   name: '',
   category: '',
   contact_number: '',
-  equipment: '',
-  training: '',
   responsible_person: '',
-  address: '',
-  position: '',
+  contact_number: '',
   team_size: '',
-  longitude: '',
-  latitude: '',
   supervisor_unit: '',
   unit_prop: '',
   unit_level: '',
   unit_favor: '',
   supervisor_unit_phone: '',
   supervisor_unit_contact: '',
+  position: '',
   responsible_person_phone: '',
   area: '',
-  founding_time: ''
+  founding_time: '',
+
+  address: '',
+  lnglat: [],
+  longitude: '',
+  latitude: '',
 });
 
 const closeDialog = () => {