|
@@ -0,0 +1,280 @@
|
|
|
+<template>
|
|
|
+ <div class="common-dialog">
|
|
|
+ <div class="common-dialog-content">
|
|
|
+ <div class="common-dialog-title-box">
|
|
|
+ <h3 class="common-dialog-title">新增人防工程</h3>
|
|
|
+ </div>
|
|
|
+ <div class="common-dialog-box">
|
|
|
+ <el-form ref="form" :model="formData" :rules="rules" label-width="auto">
|
|
|
+ <el-row :gutter="20" class="mb8">
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="工程名称:" prop="gcmc">
|
|
|
+ <el-input v-model="formData.gcmc" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="建设单位:" prop="jsdw">
|
|
|
+ <el-input v-model="formData.jsdw" 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="whdw">
|
|
|
+ <el-input v-model="formData.whdw" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="人防专业监理工程师:" prop="rfzyjlgcs">
|
|
|
+ <el-input v-model="formData.rfzyjlgcs" 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="jsdd">
|
|
|
+ <el-input v-model="formData.jsdd" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="操作方式:" prop="cd_operation">
|
|
|
+ <el-input v-model="formData.cd_operation" 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="yjrfdxsmj">
|
|
|
+ <el-input v-model="formData.yjrfdxsmj" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="实建人防地下室面积:" prop="sjrfdxsmj">
|
|
|
+ <el-input v-model="formData.sjrfdxsmj" 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="cs_time">
|
|
|
+ <el-input v-model="formData.cs_time" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="新增时间:" prop="add_time">
|
|
|
+ <el-input v-model="formData.add_time" 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="jldw">
|
|
|
+ <el-input v-model="formData.jldw" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="建设单位统一社会信用代码:" prop="jsdwdm">
|
|
|
+ <el-input v-model="formData.jsdwdm" 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="kgsj">
|
|
|
+ <el-input v-model="formData.kgsj" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="审图单位:" prop="stdw">
|
|
|
+ <el-input v-model="formData.stdw" 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="cd_batch">
|
|
|
+ <el-input v-model="formData.cd_batch" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="人防设计单位单位统一社会信用代码:" prop="rfsjdwdm">
|
|
|
+ <el-input v-model="formData.rfsjdwdm" 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="rfsjdw">
|
|
|
+ <el-input v-model="formData.rfsjdw" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="掩蔽人数:" prop="ybrs">
|
|
|
+ <el-input v-model="formData.ybrs" 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="stdwdm">
|
|
|
+ <el-input v-model="formData.stdwdm" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="维护单位统一社会信用代码:" prop="whdwdm">
|
|
|
+ <el-input v-model="formData.whdwdm" 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="jldwdm">
|
|
|
+ <el-input v-model="formData.jldwdm" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="人防总监理工程师:" prop="rfzjlgcs">
|
|
|
+ <el-input v-model="formData.rfzjlgcs" 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="jgsj">
|
|
|
+ <el-input v-model="formData.jgsj" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="人防防护设备单位:" prop="rffhsbdw">
|
|
|
+ <el-input v-model="formData.rffhsbdw" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20" class="mb8">
|
|
|
+ <el-col :span="20">
|
|
|
+ <el-form-item label="人防防护设备单位统一社会信用代码:" prop="rffhsbdw">
|
|
|
+ <el-input v-model="formData.rffhsbdw" 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="longitude">
|
|
|
+ <el-input v-model="formData.longitude" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="10">
|
|
|
+ <el-form-item label="维度:" prop="latitude">
|
|
|
+ <el-input v-model="formData.latitude" style="width: 468px !important" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ <div class="common-dialog-footer">
|
|
|
+ <el-button @click="closeDialog">取消</el-button>
|
|
|
+ <el-button type="primary" @click="submitForm">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup lang="ts">
|
|
|
+import { ref } from 'vue';
|
|
|
+import { ElMessage } from 'element-plus';
|
|
|
+import { useRouter } from 'vue-router';
|
|
|
+import { addairRaid } from '@/api/comprehensiveGuarantee/reliefResourceManagement/airRaidShelters';
|
|
|
+
|
|
|
+const emits = defineEmits(['close']);
|
|
|
+
|
|
|
+const formData = ref({
|
|
|
+ id: '',
|
|
|
+ gcmc: '',
|
|
|
+ jsdw: '',
|
|
|
+ whdw: '',
|
|
|
+ rfzyjlgcs: '',
|
|
|
+ jsdd: '',
|
|
|
+ cd_operation: '',
|
|
|
+ yjrfdxsmj: '',
|
|
|
+ sjrfdxsmj: '',
|
|
|
+ cs_time: '',
|
|
|
+ add_time: '',
|
|
|
+ jldw: '',
|
|
|
+ jsdwdm: '',
|
|
|
+ kgsj: '',
|
|
|
+ stdw: '',
|
|
|
+ cd_batch: '',
|
|
|
+ rfsjdwdm: '',
|
|
|
+ rfsjdw: '',
|
|
|
+ ybrs: '',
|
|
|
+ stdwdm: '',
|
|
|
+ whdwdm: '',
|
|
|
+ jldwdm: '',
|
|
|
+ rfzjlgcs: '',
|
|
|
+ jgsj: '',
|
|
|
+ rffhsbdw: '',
|
|
|
+ rffhsbdwdm: '',
|
|
|
+ longitude: '',
|
|
|
+ latitude: ''
|
|
|
+});
|
|
|
+
|
|
|
+const rules = ref({
|
|
|
+ gcmc: [{ required: true, message: '工程名称不能为空', trigger: 'blur' }],
|
|
|
+ jsdw: [{ required: true, message: '建设单位不能为空', trigger: 'blur' }],
|
|
|
+ whdw: [{ required: true, message: '维护单位不能为空', trigger: 'blur' }],
|
|
|
+ rfzyjlgcs: [{ required: true, message: '人防专业监理工程师不能为空', trigger: 'blur' }],
|
|
|
+ jsdd: [{ required: true, message: '建设地点不能为空', trigger: 'blur' }],
|
|
|
+ cd_operation: [{ required: true, message: '操作方式不能为空', trigger: 'blur' }],
|
|
|
+ yjrfdxsmj: [{ required: true, message: '应建人防地下室面积不能为空', trigger: 'blur' }],
|
|
|
+ sjrfdxsmj: [{ required: true, message: '实建人防地下室面积不能为空', trigger: 'blur' }],
|
|
|
+ cs_time: [{ required: true, message: '更新时间不能为空', trigger: 'blur' }],
|
|
|
+ add_time: [{ required: true, message: '新增时间不能为空', trigger: 'blur' }],
|
|
|
+ jldw: [{ required: true, message: '监理单位不能为空', trigger: 'blur' }],
|
|
|
+ jsdwdm: [{ required: true, message: '建设单位统一社会信用代码不能为空', trigger: 'blur' }],
|
|
|
+ kgsj: [{ required: true, message: '开工时间不能为空', trigger: 'blur' }],
|
|
|
+ stdw: [{ required: true, message: '审图单位不能为空', trigger: 'blur' }],
|
|
|
+ cd_batch: [{ required: true, message: '批次号不能为空', trigger: 'blur' }],
|
|
|
+ rfsjdwdm: [{ required: true, message: '人防设计单位单位统一社会信用代码不能为空', trigger: 'blur' }],
|
|
|
+ rfsjdw: [{ required: true, message: '人防设计单位不能为空', trigger: 'blur' }],
|
|
|
+ ybrs: [{ required: true, message: '掩蔽人数不能为空', trigger: 'blur' }],
|
|
|
+ stdwdm: [{ required: true, message: '审图单位统一社会信用代码不能为空', trigger: 'blur' }],
|
|
|
+ whdwdm: [{ required: true, message: '维护单位统一社会信用代码不能为空', trigger: 'blur' }],
|
|
|
+ jldwdm: [{ required: true, message: '监理单位统一社会信用代码不能为空', trigger: 'blur' }],
|
|
|
+ rfzjlgcs: [{ required: true, message: '人防总监理工程师不能为空', trigger: 'blur' }],
|
|
|
+ jgsj: [{ required: true, message: '竣工时间不能为空', trigger: 'blur' }],
|
|
|
+ rffhsbdw: [{ required: true, message: '人防防护设备单位不能为空', trigger: 'blur' }],
|
|
|
+ rffhsbdwdm: [{ required: true, message: '人防防护设备单位统一社会信用代码不能为空', trigger: 'blur' }],
|
|
|
+ longitude: [{ required: true, message: '经度不能为空', trigger: 'blur' }],
|
|
|
+ latitude: [{ required: true, message: '维度不能为空', trigger: 'blur' }]
|
|
|
+});
|
|
|
+
|
|
|
+const form = ref(null); // 定义 form 变量
|
|
|
+
|
|
|
+const closeDialog = () => {
|
|
|
+ emits('close');
|
|
|
+};
|
|
|
+
|
|
|
+const router = useRouter();
|
|
|
+
|
|
|
+// 提交表单
|
|
|
+const submitForm = async () => {
|
|
|
+ try {
|
|
|
+ await form.value.validate();
|
|
|
+ const payload = {
|
|
|
+ projects: [formData.value]
|
|
|
+ };
|
|
|
+ const response = await addairRaid(payload);
|
|
|
+ if (response.code === 200) {
|
|
|
+ ElMessage.success('提交成功');
|
|
|
+ closeDialog();
|
|
|
+ emits('refresh');
|
|
|
+ } else {
|
|
|
+ ElMessage.error(response.msg || '提交失败,请稍后再试');
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ ElMessage.error('表单验证失败,请检查输入');
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped></style>
|