尾矿库

master
zhangyue 2025-06-10 19:31:04 +08:00
parent 62dabd6574
commit 3bdc5cbee5
1 changed files with 130 additions and 109 deletions

View File

@ -8,7 +8,7 @@
ref="formRef"
:model="form"
:rules="data.rules"
label-width="100px"
label-width="260px"
style="margin-top: 20px"
>
<el-row>
@ -118,48 +118,39 @@
</el-col>
<el-col :span="24">
<el-form-item label="设计坝高" prop="designDamHeight">
<el-form-item label="设计坝高(米)" prop="designDamHeight">
<el-input-number
v-model="form.designDamHeight"
:precision="2"
:step="0.1"
placeholder="请输入设计坝高"
placeholder="请输入设计坝高(米)"
style="width: 100%"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="现状坝高" prop="currentDamHeight">
<el-form-item label="现状坝高(米)" prop="currentDamHeight">
<el-input-number
v-model="form.currentDamHeight"
:precision="2"
:step="0.1"
placeholder="请输入现状坝高"
placeholder="请输入现状坝高(米)"
style="width: 100%"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="人口数" prop="population">
<el-input-number
v-model="form.population"
placeholder="请输入人口数"
style="width: 100%"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="险情等级" prop="dangerousSituation">
<el-form-item
label="是否在长江、黄河及其主要支流、其他重要河流岸线3公里范围内"
prop="isCloseToImportantRivers"
>
<el-select
v-model="form.dangerousSituation"
placeholder="请选择险情等级"
style="width: 100%"
v-model="form.isCloseToImportantRivers"
placeholder="请选择是否在长江、黄河及其主要支流、其他重要河流岸线3公里范围内"
>
<el-option
v-for="item in dangerousSituationList"
v-for="item in yesOrNoList"
:key="item.bianma"
:label="item.name"
:value="item.bianma"
@ -169,70 +160,69 @@
</el-col>
<el-col :span="24">
<el-form-item label="勘察情况" prop="surveySituation">
<el-form-item
label="安全生产许可证或安全设施设计批复编号"
prop="safetyProductionLicense"
>
<el-input
v-model="form.surveySituation"
placeholder="请输入勘察情况"
v-model="form.safetyProductionLicense"
placeholder="请输入安全生产许可证或安全设施设计批复编号"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="治理情况" prop="governanceSituation">
<el-input
v-model="form.governanceSituation"
placeholder="请输入治理情况"
<el-form-item label="生效日期" prop="effectiveDate">
<el-date-picker
v-model="form.effectiveDate"
type="date"
placeholder="请选择生效日期"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="搬迁情况" prop="relocationSituation">
<el-input
v-model="form.relocationSituation"
placeholder="请输入搬迁情况"
<el-form-item label="失效日期" prop="expiryDate">
<el-date-picker
v-model="form.expiryDate"
type="date"
placeholder="请选择失效日期"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="风险等级" prop="riskLevel">
<el-select v-model="form.riskLevel" placeholder="请选择风险等级">
<el-option label="低风险" value="1" />
<el-option label="中风险" value="2" />
<el-option label="高风险" value="3" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="规模与形态描述" prop="scaleDescription">
<el-form-item
label="企业或管理单位主要负责人姓名"
prop="corpPrincipalName"
>
<el-input
v-model="form.scaleDescription"
type="textarea"
:rows="3"
placeholder="请输入规模与形态描述"
v-model="form.corpPrincipalName"
placeholder="请输入企业或管理单位主要负责人姓名"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<div style="display: flex">
<el-form-item label="经度" prop="longitude" style="flex: 1">
<el-input v-model="form.longitude" placeholder="请选择经度" />
</el-form-item>
<el-form-item label="纬度" prop="latitude" style="flex: 1">
<el-input v-model="form.latitude" placeholder="请选择纬度" />
</el-form-item>
<el-form-item label-width="10px">
<el-button
class="ml-10"
type="primary"
@click="fnSelectedPosition"
>点击定位</el-button
>
</el-form-item>
</div>
<el-form-item
label="企业或管理单位主要负责人职务"
prop="corpPrincipalPost"
>
<el-input
v-model="form.corpPrincipalPost"
placeholder="请输入企业或管理单位主要负责人职务"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
label="企业或管理单位主要负责人手机"
prop="corpPrincipalPhone"
>
<el-input
v-model="form.corpPrincipalPhone"
placeholder="请输入企业或管理单位主要负责人手机"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
@ -241,13 +231,6 @@
<el-button @click="fnClose"> </el-button>
<el-button type="primary" @click="fnSubmit"> </el-button>
</template>
<app-map
v-model:visible="mapDialog.visible"
v-model:longitude="mapDialog.longitude"
v-model:latitude="mapDialog.latitude"
@submit="fnMapSubmit"
/>
</el-dialog>
</template>
@ -259,10 +242,9 @@ import LayoutCascader from "@/components/layout_cascader/index.vue";
import { ElMessage } from "element-plus";
import { reactive, ref } from "vue";
import { useVModels } from "@vueuse/core";
import AppMap from "@/components/map/map.vue";
import {
setGeologicalDisasterAdd,
setGeologicalDisasterUpdate,
setTailingsReservoirAdd,
setTailingsReservoirUpdate,
} from "@/request/kangzai.js";
const props = defineProps({
@ -318,50 +300,89 @@ fnGetDictData();
const data = reactive({
rules: {
name: [{ required: true, message: "请输入尾矿库名称", trigger: "blur" }],
//
nname: [{ required: true, message: "请输入名称", trigger: "blur" }],
address: [{ required: true, message: "请输入地址", trigger: "blur" }],
area: [{ required: true, message: "请选择区域", trigger: "blur" }],
runningStatus: [
{ required: true, message: "请输入运行状态", trigger: "change" },
],
hasProductionEntity: [
{
required: true,
message: "请输入是否有生产经营主体",
trigger: "change",
},
],
isOverheadVault: [
{ required: true, message: "请输入是否为头顶库", trigger: "change" },
],
mineralSpecies: [
{ required: true, message: "请选择灾害类型", trigger: "change" },
{ required: true, message: "请输入矿种", trigger: "change" },
],
scale: [{ required: true, message: "请选择规模", trigger: "change" }],
stability: [{ required: true, message: "请选择稳定性", trigger: "change" }],
households: [{ required: true, message: "请输入户数", trigger: "blur" }],
population: [{ required: true, message: "请输入人口数", trigger: "blur" }],
dangerousSituation: [
{ required: true, message: "请选择险情等级", trigger: "change" },
designGrade: [
{ required: true, message: "请输入设计等别", trigger: "change" },
],
surveySituation: [
{ required: true, message: "请选择勘察情况", trigger: "change" },
currentGrade: [
{ required: true, message: "请输入现状等别", trigger: "change" },
],
governanceSituation: [
{ required: true, message: "请选择治理情况", trigger: "change" },
designDamHeight: [
{ required: true, message: "请输入设计坝高", trigger: "blur" },
],
relocationSituation: [
{ required: true, message: "请选择搬迁情况", trigger: "change" },
currentDamHeight: [
{ required: true, message: "请输入现状坝高", trigger: "blur" },
],
riskLevel: [
{ required: true, message: "请选择风险等级", trigger: "change" },
designStorageCapacity: [
{ required: true, message: "请输入设计库容", trigger: "blur" },
],
currentStorageCapacity: [
{ required: true, message: "请输入现状库容", trigger: "blur" },
],
isCloseToImportantRivers: [
{
required: true,
message:
"请输入是否在长江、黄河及其主要支流、其他重要河流岸线3公里范围内",
trigger: "change",
},
],
safetyProductionLicense: [
{
required: true,
message: "请输入安全生产许可证或安全设施设计批复编号",
trigger: "blur",
},
],
effectiveDate: [
{ required: true, message: "请输入生效日期", trigger: "blur" },
],
expiryDate: [
{ required: true, message: "请输入失效日期", trigger: "blur" },
],
corpPrincipalName: [
{
required: true,
message: "请输入企业或管理单位主要负责人姓名",
trigger: "blur",
},
],
corpPrincipalPost: [
{
required: true,
message: "请输入企业或管理单位主要负责人职务",
trigger: "blur",
},
],
corpPrincipalPhone: [
{
required: true,
message: "请输入企业或管理单位主要负责人手机",
trigger: "blur",
},
],
longitude: [{ required: true, message: "请输入经度", trigger: "blur" }],
latitude: [{ required: true, message: "请输入纬度", trigger: "blur" }],
},
});
const mapDialog = ref({
visible: false,
longitude: "",
latitude: "",
});
const fnSelectedPosition = () => {
mapDialog.value.visible = true;
mapDialog.value.longitude = form.value.longitude;
mapDialog.value.latitude = form.value.latitude;
};
const fnMapSubmit = ({ longitude, latitude }) => {
form.value.longitude = longitude;
form.value.latitude = latitude;
};
const fnClose = () => {
visible.value = false;
};
@ -382,9 +403,9 @@ const fnSubmit = debounce(
delete param.area;
if (props.type === "add") {
await setGeologicalDisasterAdd(param);
await setTailingsReservoirAdd(param);
} else if (props.type === "edit") {
await setGeologicalDisasterUpdate(param);
await setTailingsReservoirUpdate(param);
}
ElMessage.success("操作成功");