Browse Source

水闸管理

master_tdsql
xzt 1 year ago
parent
commit
0e6e21392d
  1. 517
      src/views/sluice/engineeringCondition/identificationPlate/index.vue
  2. 284
      src/views/sluice/engineeringCondition/sluiceBaseInfo/index.vue

517
src/views/sluice/engineeringCondition/identificationPlate/index.vue

@ -1,3 +1,518 @@
<template>
<div>标识标牌</div>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="标志名称" prop="markName">
<el-input
v-model="queryParams.data.markName"
placeholder="请输入标志名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="水闸id" prop="suliceId">
<el-input
v-model="queryParams.data.suliceId"
placeholder="请输入水闸id"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="标识位置" prop="markLocation">
<el-input
v-model="queryParams.data.markLocation"
placeholder="请输入标识位置"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="标牌类型" prop="type">
<el-select
v-model="queryParams.data.type"
placeholder="请选择标牌类型"
clearable
size="small"
>
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="标识类型" prop="markType">
<el-select
v-model="queryParams.data.markType"
placeholder="请选择标识类型"
clearable
size="small"
>
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="上传图片" prop="photo">
<el-input
v-model="queryParams.data.photo"
placeholder="请输入上传图片"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="标牌编号" prop="markCode">
<el-input
v-model="queryParams.data.markCode"
placeholder="请输入标牌编号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="标牌编号" prop="proNo">
<el-input
v-model="queryParams.data.proNo"
placeholder="请输入标牌编号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="标牌编号" prop="proCode">
<el-input
v-model="queryParams.data.proCode"
placeholder="请输入标牌编号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="标牌编号" prop="createUid">
<el-input
v-model="queryParams.data.createUid"
placeholder="请输入标牌编号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="标牌编号" prop="updateUid">
<el-input
v-model="queryParams.data.updateUid"
placeholder="请输入标牌编号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="标牌编号" prop="owerDept">
<el-input
v-model="queryParams.data.owerDept"
placeholder="请输入标牌编号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="cyan"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['yg.sz:sluiceMark:add']"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['yg.sz:sluiceMark:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['yg.sz:sluiceMark:remove']"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['yg.sz:sluiceMark:export']"
>导出</el-button
>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="sluiceMarkList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" width="50" align="center" />
<el-table-column label="标志名称" align="center" prop="markName" />
<el-table-column label="水闸id" align="center" prop="suliceId" />
<el-table-column label="标识位置" align="center" prop="markLocation" />
<el-table-column label="标牌类型" align="center" prop="type" />
<el-table-column label="标识类型" align="center" prop="markType" />
<el-table-column label="上传图片" align="center" prop="photo" />
<el-table-column label="标牌编号" align="center" prop="markCode" />
<el-table-column label="标牌编号" align="center" prop="proNo" />
<el-table-column label="标牌编号" align="center" prop="proCode" />
<el-table-column label="标牌编号" align="center" prop="createUid" />
<el-table-column label="标牌编号" align="center" prop="updateUid" />
<el-table-column label="标牌编号" align="center" prop="owerDept" />
<el-table-column label="标牌编号" align="center" prop="remark" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['yg.sz:sluiceMark:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['yg.sz:sluiceMark:remove']"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改水闸标识标牌对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="标志名称" prop="markName">
<el-input v-model="form.markName" placeholder="请输入标志名称" />
</el-form-item>
<el-form-item label="水闸编码" prop="sluiceId">
<el-input v-model="form.suliceId" placeholder="请输入水闸编码" />
</el-form-item>
<el-form-item label="标识位置" prop="markLocation">
<el-input v-model="form.markLocation" placeholder="请输入标识位置" />
</el-form-item>
<el-form-item label="标牌类型" prop="type">
<el-select v-model="form.type" placeholder="请选择标牌类型">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="标识类型" prop="markType">
<el-select v-model="form.markType" placeholder="请选择标识类型">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="上传图片" prop="photo">
<el-input v-model="form.photo" placeholder="请输入上传图片" />
</el-form-item>
<el-form-item label="标牌编号" prop="markCode">
<el-input v-model="form.markCode" placeholder="请输入标牌编号" />
</el-form-item>
<el-form-item label="标牌编号" prop="proNo">
<el-input v-model="form.proNo" placeholder="请输入标牌编号" />
</el-form-item>
<el-form-item label="标牌编号" prop="proCode">
<el-input v-model="form.proCode" placeholder="请输入标牌编号" />
</el-form-item>
<el-form-item label="标牌编号" prop="createUid">
<el-input v-model="form.createUid" placeholder="请输入标牌编号" />
</el-form-item>
<el-form-item label="标牌编号" prop="updateUid">
<el-input v-model="form.updateUid" placeholder="请输入标牌编号" />
</el-form-item>
<el-form-item label="标牌编号" prop="owerDept">
<el-input v-model="form.owerDept" placeholder="请输入标牌编号" />
</el-form-item>
<el-form-item label="标牌编号" prop="remark">
<el-input v-model="form.remark" placeholder="请输入标牌编号" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listSluiceMark,
getSluiceMark,
delSluiceMark,
addSluiceMark,
updateSluiceMark,
exportSluiceMark,
} from "@/api/yg/sluiceMark";
export default {
name: "SluiceMark",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
sluiceMarkList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
ids: null,
data: {
markName: null,
suliceId: null,
markLocation: null,
type: null,
markType: null,
photo: null,
markCode: null,
proNo: null,
proCode: null,
createUid: null,
updateUid: null,
owerDept: null,
},
},
//
form: {},
//
rules: {},
};
},
created() {
this.getList();
},
methods: {
/** 查询水闸标识标牌列表 */
getList() {
this.loading = true;
listSluiceMark(this.queryParams).then((response) => {
this.sluiceMarkList = response.records;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
markName: null,
suliceId: null,
markLocation: null,
type: null,
markType: null,
photo: null,
markCode: null,
proNo: null,
proCode: null,
createUid: null,
updateUid: null,
createTime: null,
updateTime: null,
owerDept: null,
remark: null,
};
this.resetForm("form");
},
//
resetQueryForm() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
data: {
id: null,
markName: null,
suliceId: null,
markLocation: null,
type: null,
markType: null,
photo: null,
markCode: null,
proNo: null,
proCode: null,
createUid: null,
updateUid: null,
createTime: null,
updateTime: null,
owerDept: null,
remark: null,
},
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetQueryForm();
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加水闸标识标牌";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getSluiceMark(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改水闸标识标牌";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateSluiceMark(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addSluiceMark(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
if (ids) {
this.$confirm("是否删除选中的数据?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return delSluiceMark(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function () {});
} else {
this.$message.warning("请选择要删除的数据!!");
}
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
let message = "是否确认导出所有的数据项?";
if (this.ids) {
message = "是否确认导出选中的数据项?";
queryParams.ids = this.ids;
}
this.$confirm(message, "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return exportSluiceMark(queryParams);
})
.then((response) => {
this.downloadFile(response, true, response.msg);
// this.download(response.msg);
})
.catch(function () {});
},
},
};
</script>

284
src/views/sluice/engineeringCondition/sluiceBaseInfo/index.vue

@ -41,8 +41,14 @@
placeholder="请选择水闸类型"
clearable
size="small"
@change="handleQuery"
>
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in sluiceTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
@ -147,36 +153,42 @@
label="验收情况"
align="center"
prop="acceptanceStatus"
:formatter="acceptanceStatusFormat"
min-width="120"
/>
<el-table-column
label="除险加固情况"
align="center"
prop="riskEliminationStatus"
:formatter="riskEliminationStatusFormat"
min-width="120"
/>
<el-table-column
label="是否为枢纽工程"
align="center"
prop="isHubProject"
:formatter="isHubProjectFormat"
min-width="120"
/>
<el-table-column
label="是否为闸站工程"
align="center"
prop="isGateStation"
:formatter="isGateStationFormat"
min-width="120"
/>
<el-table-column
label="是否为套闸工程"
align="center"
prop="isSetGateProject"
:formatter="isSetGateProjectFormat"
min-width="120"
/>
<el-table-column
label="水闸类型"
align="center"
prop="sluiceType"
:formatter="sluiceTypeFormat"
min-width="120"
/>
<el-table-column
@ -195,12 +207,14 @@
label="工程规模"
align="center"
prop="projectScale"
:formatter="projectScaleFormat"
min-width="120"
/>
<el-table-column
label="建筑物级别"
align="center"
prop="buildingLevel"
:formatter="buildingLevelFormat"
min-width="120"
/>
<el-table-column
@ -255,6 +269,7 @@
label="闸门型式"
align="center"
prop="gateType"
:formatter="gateTypeFormat"
min-width="120"
/>
<el-table-column
@ -273,18 +288,21 @@
label="闸室结构"
align="center"
prop="lockChamberStructure"
:formatter="lockChamberStructureFormat"
min-width="120"
/>
<el-table-column
label="启闭机形式"
align="center"
prop="machineForm"
:formatter="machineFormFormat"
min-width="120"
/>
<el-table-column
label="消能方式"
align="center"
prop="energyDissipationMethod"
:formatter="energyDissipationMethodFormat"
min-width="120"
/>
<el-table-column
@ -447,39 +465,73 @@
<el-col :span="8">
<el-form-item label="验收情况">
<el-radio-group v-model="form.acceptanceStatus">
<el-radio label="1">请选择字典生成</el-radio>
<el-radio
v-for="dict in acceptanceStatusOptions"
:key="dict.dictValue + '验收情况'"
:label="dict.dictValue"
>{{ dict.dictLabel }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="除险加固情况">
<el-radio-group v-model="form.riskEliminationStatus">
<el-radio label="1">请选择字典生成</el-radio>
<el-radio
v-for="dict in riskEliminationStatusOptions"
:key="dict.dictValue + '除险加固情况'"
:label="dict.dictValue"
>{{ dict.dictLabel }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否为枢纽工程" prop="isHubProject">
<el-input
<el-select
v-model="form.isHubProject"
placeholder="请输入是否为枢纽工程"
/>
placeholder="请选择是否为枢纽工程"
style="width: 100%"
>
<el-option
v-for="dict in isHubProjectOptions"
:key="dict.dictValue + '枢纽工程'"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否为闸站工程" prop="isGateStation">
<el-input
<el-select
v-model="form.isGateStation"
placeholder="请输入是否为闸站工程"
/>
placeholder="请选择是否为闸站工程"
style="width: 100%"
>
<el-option
v-for="dict in isGateStationOptions"
:key="dict.dictValue + '闸站工程'"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否为套闸工程" prop="isSetGateProject">
<el-input
<el-select
v-model="form.isSetGateProject"
placeholder="请输入是否为套闸工程"
/>
placeholder="请选择是否为套闸工程"
style="width: 100%"
>
<el-option
v-for="dict in isSetGateProjectOptions"
:key="dict.dictValue + '套闸工程'"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
@ -489,7 +541,12 @@
placeholder="请选择水闸类型"
style="width: 100%"
>
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in sluiceTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
@ -511,18 +568,34 @@
</el-col>
<el-col :span="8">
<el-form-item label="工程规模" prop="projectScale">
<el-input
<el-select
v-model="form.projectScale"
placeholder="请输入工程规模"
/>
placeholder="请选择工程规模"
style="width: 100%"
>
<el-option
v-for="dict in projectScaleOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="建筑物级别" prop="buildingLevel">
<el-input
<el-select
v-model="form.buildingLevel"
placeholder="请输入建筑物级别"
/>
placeholder="请选择建筑物级别"
style="width: 100%"
>
<el-option
v-for="dict in buildingLevelOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
@ -600,7 +673,12 @@
placeholder="请选择闸门型式"
style="width: 100%"
>
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in gateTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
@ -622,26 +700,50 @@
</el-col>
<el-col :span="8">
<el-form-item label="闸室结构" prop="lockChamberStructure">
<el-input
<el-select
v-model="form.lockChamberStructure"
placeholder="请输入闸室结构"
/>
placeholder="请选择闸室结构"
style="width: 100%"
>
<el-option
v-for="dict in lockChamberStructureOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="启闭机形式" prop="machineForm">
<el-input
<el-select
v-model="form.machineForm"
placeholder="请输入启闭机形式"
/>
placeholder="请选择启闭机形式"
style="width: 100%"
>
<el-option
v-for="dict in machineFormOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="消能方式" prop="energyDissipationMethod">
<el-input
<el-select
v-model="form.energyDissipationMethod"
placeholder="请输入消能方式"
/>
placeholder="请选择消能方式"
style="width: 100%"
>
<el-option
v-for="dict in energyDissipationMethodOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
@ -768,6 +870,30 @@ export default {
title: "",
//
open: false,
//
acceptanceStatusOptions: [],
//
riskEliminationStatusOptions: [],
//
isHubProjectOptions: [],
//
isGateStationOptions: [],
//
isSetGateProjectOptions: [],
//
sluiceTypeOptions: [],
//
projectScaleOptions: [],
//
buildingLevelOptions: [],
//
gateTypeOptions: [],
//
lockChamberStructureOptions: [],
//
machineFormOptions: [],
//
energyDissipationMethodOptions: [],
//
queryParams: {
pageNum: 1,
@ -816,6 +942,7 @@ export default {
hubBuildings: null,
auxiliaryGateHoles: null,
auxiliaryGateHolesWidth: null,
recordLoseEfficacyTime: null,
},
},
//
@ -833,6 +960,42 @@ export default {
},
created() {
this.getList();
this.getDicts("completion_acceptance_status").then((response) => {
this.acceptanceStatusOptions = response.data;
});
this.getDicts("reinforcement_situation").then((response) => {
this.riskEliminationStatusOptions = response.data;
});
this.getDicts("whether").then((response) => {
this.isHubProjectOptions = response.data;
});
this.getDicts("whether").then((response) => {
this.isGateStationOptions = response.data;
});
this.getDicts("whether").then((response) => {
this.isSetGateProjectOptions = response.data;
});
this.getDicts("sluice_type").then((response) => {
this.sluiceTypeOptions = response.data;
});
this.getDicts("engineering_scale").then((response) => {
this.projectScaleOptions = response.data;
});
this.getDicts("building_level").then((response) => {
this.buildingLevelOptions = response.data;
});
this.getDicts("gate_type").then((response) => {
this.gateTypeOptions = response.data;
});
this.getDicts("Lock_chamber_structure").then((response) => {
this.lockChamberStructureOptions = response.data;
});
this.getDicts("machine_form").then((response) => {
this.machineFormOptions = response.data;
});
this.getDicts("energy_dissipation_method").then((response) => {
this.energyDissipationMethodOptions = response.data;
});
},
methods: {
/** 查询水闸工程基础信息列表 */
@ -844,6 +1007,69 @@ export default {
this.loading = false;
});
},
//
acceptanceStatusFormat(row, column) {
return this.selectDictLabel(
this.acceptanceStatusOptions,
row.acceptanceStatus
);
},
//
riskEliminationStatusFormat(row, column) {
return this.selectDictLabel(
this.riskEliminationStatusOptions,
row.riskEliminationStatus
);
},
//
isHubProjectFormat(row, column) {
return this.selectDictLabel(this.isHubProjectOptions, row.isHubProject);
},
//
isGateStationFormat(row, column) {
return this.selectDictLabel(this.isGateStationOptions, row.isGateStation);
},
//
isSetGateProjectFormat(row, column) {
return this.selectDictLabel(
this.isSetGateProjectOptions,
row.isSetGateProject
);
},
//
sluiceTypeFormat(row, column) {
return this.selectDictLabel(this.sluiceTypeOptions, row.sluiceType);
},
//
projectScaleFormat(row, column) {
return this.selectDictLabel(this.projectScaleOptions, row.projectScale);
},
//
buildingLevelFormat(row, column) {
return this.selectDictLabel(this.buildingLevelOptions, row.buildingLevel);
},
//
gateTypeFormat(row, column) {
return this.selectDictLabel(this.gateTypeOptions, row.gateType);
},
//
lockChamberStructureFormat(row, column) {
return this.selectDictLabel(
this.lockChamberStructureOptions,
row.lockChamberStructure
);
},
//
machineFormFormat(row, column) {
return this.selectDictLabel(this.machineFormOptions, row.machineForm);
},
//
energyDissipationMethodFormat(row, column) {
return this.selectDictLabel(
this.energyDissipationMethodOptions,
row.energyDissipationMethod
);
},
//
cancel() {
this.open = false;

Loading…
Cancel
Save