Browse Source

Merge branch 'release-sy-v1.0.0' into 'dev'

Release sy v1.0.0

See merge request project/water/shuili-vue!109
sy-water-data-board-ui
潘裕艺 10 months ago
parent
commit
f966b8393e
  1. 2
      src/views/dike/runManage/enginerring/inspectionPlan/components/PlanDetail.vue
  2. 38
      src/views/dike/runManage/enginerring/inspectionPlan/index.vue
  3. 45
      src/views/dike/runManage/enginerring/inspectionRecords/components/NewRecord.vue
  4. 64
      src/views/dike/runManage/enginerring/inspectionRecords/index.vue
  5. 114
      src/views/dike/runManage/enginerring/inspectionRouteManage/components/RouteDetail.vue

2
src/views/dike/runManage/enginerring/inspectionPlan/components/PlanDetail.vue

@ -252,7 +252,7 @@
</div>
<el-form-item label="巡查范围" prop="scope">
<!-- <el-radio></el-radio> -->
<div>暂无数据</div>
<div style="font-size: 12px; color: #00000099">暂无数据</div>
</el-form-item>
<el-form-item label="巡查路线(推荐)" prop="lineId">
<el-select

38
src/views/dike/runManage/enginerring/inspectionPlan/index.vue

@ -26,7 +26,7 @@ export default {
paramsData: {
name: "",
status: "",
dutyHolderType: "",
userIds: [],
planDateArr: [],
},
currentRow: {},
@ -36,7 +36,6 @@ export default {
examType: [], //
tableData: [], //
patrolTableData: [], //
dutyHolderList: [],
pageData: {
pageNum: 1, //
pageSize: 10, //
@ -207,7 +206,13 @@ export default {
pageSize: 100,
pageNum: 1,
}).then((res) => {
this.personnelList = res.records;
this.personnelList = res.records.map((item) => {
return {
id: item.id,
name: item.nickName,
uid: item.uuid,
};
});
});
},
@ -219,10 +224,10 @@ export default {
timeField: "create_time",
},
name: this.paramsData.name,
planStartDate: this.paramsData.planDateArr[0],
planEndDate: this.paramsData.planDateArr[1],
startTime: this.paramsData.planDateArr[0],
endTime: this.paramsData.planDateArr[1],
status: this.paramsData.status,
dutyHolderType: this.paramsData.dutyHolderType,
userIds: this.paramsData.userIds,
},
pageSize: this.pageData.pageSize,
pageNum: this.pageData.pageNum,
@ -262,12 +267,11 @@ export default {
this.getTableData();
},
handleResetQuery() {
this.paramsData = {
name: "",
status: "",
dutyHolderType: "",
planDateArr: [],
};
this.paramsData.name = "";
this.paramsData.status = "";
this.paramsData.userIds = [];
this.paramsData.planDateArr = [];
this.pageData.pageNum = 1;
this.getTableData();
},
@ -331,12 +335,16 @@ export default {
size="small"
class="w-202 ml-10"
@change="handleChangeQuery"
v-model="paramsData.dutyHolderType"
v-model="paramsData.userIds"
multiple
filterable
placeholder="请选择"
remote
:remote-method="searchUser"
value-key="id"
placeholder="请输入关键词搜索用户"
>
<el-option
v-for="item in dutyHolderList"
v-for="item in personnelList"
:key="item.id"
:label="item.name"
:value="item.id"

45
src/views/dike/runManage/enginerring/inspectionRecords/components/NewRecord.vue

@ -154,15 +154,16 @@
<div>
<span class="label">是否有隐患</span>
<el-radio-group
@change="$forceUpdate()"
:disabled="!canEdit"
size="small"
v-model="currentItem.hasProblem2"
v-model="currentItem.hasProblem"
>
<el-radio label="0"></el-radio>
<el-radio label="1"></el-radio>
</el-radio-group>
</div>
<template v-if="currentItem.hasProblem2">
<template v-if="currentItem.hasProblem === '1'">
<div>
<span class="label">隐患描述</span>
<el-input
@ -256,8 +257,9 @@ export default {
lineName: "",
lineType: "", //线
dutyHolders: [],
items: [], //
// items: [], //
},
items: [],
rules: {
planId: [{ required: true, message: "请选择计划", trigger: "change" }],
},
@ -297,7 +299,11 @@ export default {
this.$refs.treeRef?.filter(val);
},
},
mounted() {},
created() {
this.getDicts("person_type").then((response) => {
this.dutyHolderTypeOptions = response.data;
});
},
methods: {
isSameArray(arr1, arr2) {
let str1 = arr1.join(",");
@ -310,7 +316,8 @@ export default {
//
getRecordDetails(id).then((res) => {
this.formData = res.data;
this.formData.items?.forEach((v) => {
this.items = [...res.data.items];
this.items?.forEach((v) => {
v.hasProblem = !!v.problem ? "1" : "0";
});
if (res.data.subPlanStartDate && res.data.subPlanEndDate) {
@ -349,7 +356,7 @@ export default {
this.formData.lineType = "";
this.formData.dutyHolderType = "";
this.formData.scope = "";
this.formData.items = [];
this.items = [];
this.entries = [];
this.checkTreeData = [];
this.currentItem = {};
@ -495,7 +502,7 @@ export default {
status: "0",
};
});
this.formData.items = items;
this.items = items;
}
let _treeData = [];
//
@ -524,7 +531,7 @@ export default {
let _treeItem3 = treeItem2.children.find(
(v) => v.key === item.parts[2]
);
let nodeLink = this.formData.items.find((v) =>
let nodeLink = this.items.find((v) =>
this.isSameArray(v.parts, [
treeItem.key,
treeItem2.key,
@ -545,7 +552,7 @@ export default {
let _treeItem2 = treeItem.children.find(
(v) => v.key === item.parts[1]
);
let nodeLink = this.formData.items.find((v) =>
let nodeLink = this.items.find((v) =>
this.isSameArray(v.parts, [treeItem.key, _treeItem2.key])
);
exitTreeItem1.children.push({
@ -561,7 +568,7 @@ export default {
//
let treeItem = this.treeData.find((v) => v.key === item.parts[0]);
if (treeItem) {
let nodeLink = this.formData.items.find((v) =>
let nodeLink = this.items.find((v) =>
this.isSameArray(v.parts, [treeItem.key])
);
let _treeItem1 = {
@ -577,7 +584,7 @@ export default {
(v) => v.key === item.parts[1]
);
if (treeItem2) {
let nodeLink = this.formData.items.find((v) =>
let nodeLink = this.items.find((v) =>
this.isSameArray(v.parts, [treeItem.key, treeItem2.key])
);
let _treeItem2 = {
@ -593,7 +600,7 @@ export default {
(v) => v.key === item.parts[2]
);
if (treeItem3) {
let nodeLink = this.formData.items.find((v) =>
let nodeLink = this.items.find((v) =>
this.isSameArray(v.parts, [
treeItem.key,
treeItem2.key,
@ -643,10 +650,10 @@ export default {
},
handleNodeClick(data, node) {
if (node.isLeaf) {
this.currentItem = data.nodeLink;
// this.$set(this, "currentItem", data.nodeLink);
this.currentItem.key =
this.currentItem.parts[this.currentItem.parts.length - 1];
let currentItem = data.nodeLink;
currentItem.key = currentItem.parts[currentItem.parts.length - 1];
this.$set(this, "currentItem", currentItem);
console.log("当前的currentItem >>>> ", this.currentItem);
setTimeout(() => {
this.$refs.treeRef.setCurrentKey(this.currentItem.key);
}, 30);
@ -657,15 +664,17 @@ export default {
return new Promise((r, j) => {
this.$refs.formRef.validate((valid) => {
if (valid) {
this.formData.items?.forEach((v) => {
this.items?.forEach((v) => {
if (v.hasProblem != "1") {
v.problem = "";
v.problemImages = [];
}
});
(this.id ? updateRecordData : addRecordData)({
id: this.id || null,
...this.formData,
items: this.items,
startDate: this.xcDateArr[0] || "",
endDate: this.xcDateArr[1] || "",
subPlanStartDate: this.subPlanDateArr[0] || "",
@ -709,7 +718,7 @@ export default {
this.formData.lineType = "";
this.formData.dutyHolderType = "";
this.formData.scope = "";
this.formData.items = [];
this.items = [];
this.entries = [];
this.checkTreeData = [];
this.currentItem = {};

64
src/views/dike/runManage/enginerring/inspectionRecords/index.vue

@ -203,15 +203,48 @@ export default {
},
//
handleDeal() {
let formData = this.$refs.recordRef.submit();
console.log("formData >>>>> ", formData);
updateRecordData(formData).then((res) => {
if (res) {
this.$message.success("处理成功");
this.dialogVisible = false;
this.getTableData();
}
});
this.$confirm("是否保存?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let formData = this.$refs.recordRef.submit();
console.log("formData >>>>> ", formData);
updateRecordData(formData).then((res) => {
if (res) {
this.$message.success("处理成功");
this.dialogVisible = false;
this.getTableData();
}
});
})
.catch(() => {
console.log("取消处理");
});
},
handleStopXc() {
this.$confirm("是否结束巡查?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
console.log("结束巡查");
let formData = this.$refs.recordRef.submit();
console.log("formData >>>>> ", formData);
formData.status = "2";
updateRecordData(formData).then((res) => {
if (res) {
this.$message.success("处理成功");
this.dialogVisible = false;
this.getTableData();
}
});
})
.catch(() => {
console.log("取消结束巡查");
});
},
// PDF
handleDownPDF() {
@ -430,13 +463,17 @@ export default {
@click="handleCheckDetails(scope.row, false)"
>查看</el-button
>
<el-button type="text" size="small" @click="handleEdit(scope.row)"
<el-button
type="text"
size="small"
@click="handleEdit(scope.row)"
:disabled="scope.row.status != '0'"
>编辑</el-button
>
<el-button
type="text"
size="small"
:disabled="scope.row.status === '1'"
:disabled="scope.row.status != '2'"
@click="handleCheckDetails(scope.row, true)"
>处置</el-button
>
@ -499,6 +536,11 @@ export default {
>确定</el-button
>
<el-button size="mini" @click="dialogVisible = false">取消</el-button>
<div style="float: right" v-if="currentRow.status === '0'">
<el-button size="mini" @click="handleStopXc" type="danger"
>结束巡查</el-button
>
</div>
</div>
</el-drawer>

114
src/views/dike/runManage/enginerring/inspectionRouteManage/components/RouteDetail.vue

@ -32,13 +32,20 @@
</el-select>
</el-form-item>
<el-form-item label="堤防类型" prop="dikeType" class="ml-24">
<el-input
class="w-240"
size="small"
<el-select
v-model="formData.dikeType"
:disabled="true"
placeholder=""
></el-input>
class="w-240"
size="small"
placeholder="请选择"
>
<el-option
v-for="item in projectTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="堤防巡查责任人" prop="userName" class="ml-24">
<el-input
@ -59,7 +66,7 @@
size="small"
v-model="formData.name"
placeholder="请输入名称"
maxlength="50"
:maxlength="50"
></el-input>
</el-form-item>
<el-form-item label="巡查路线类型" prop="type" class="ml-24">
@ -118,26 +125,27 @@
</div>
</div>
<div class="mt-12">
<div class="font-700 tc-text1">巡查项目选择</div>
<el-select
class="mt-10 w-full"
v-model="formData.xcName"
:disabled="!canEdit"
filterable
remote
reserve-keyword
@change="handleChangeXcItem"
placeholder="请输入关键词搜索"
:remote-method="handleGetRemoteProjectMethod"
>
<el-option
v-for="item in xcProjectList"
:key="item.id"
:label="item.name"
:value="item.name"
<el-form-item label="巡查项目选择" prop="xcName">
<el-select
class="w-full"
v-model="formData.xcName"
:disabled="!canEdit"
filterable
remote
reserve-keyword
@change="handleChangeXcItem"
placeholder="请输入关键词搜索"
:remote-method="handleGetRemoteProjectMethod"
>
</el-option>
</el-select>
<el-option
v-for="item in xcProjectList"
:key="item.id"
:label="item.name"
:value="item.name"
>
</el-option>
</el-select>
</el-form-item>
<div class="mt-8 tree-style">
<el-tree
:data="checkTreeData"
@ -198,10 +206,21 @@ export default {
dikeName: [
{ required: true, message: "请选择堤防", trigger: "change" },
],
name: [{ required: true, message: "请输入路线名称", trigger: "blur" }],
type: [
{ required: true, message: "请选择路线类型", trigger: "change" },
],
dutyHolderType: [
{ required: true, message: "请选择责任人类型", trigger: "change" },
],
xcName: [
{ required: true, message: "请选择巡查项目", trigger: "change" },
],
},
entries: [],
filterText: "",
xcProjectList: [],
projectTypeOptions: [],
dikeList: [],
treeData: [],
checkTreeData: [],
@ -233,6 +252,9 @@ export default {
getCheckingDictTree("df_xs_c_classfy").then((response) => {
this.treeData = this.transformArr(response.data);
});
this.getDicts("embankment_type").then((response) => {
this.projectTypeOptions = response.data;
});
},
mounted() {},
methods: {
@ -402,7 +424,6 @@ export default {
}
}
this.checkTreeData = _treeData;
console.log("checkTreeData >>>>> ", this.checkTreeData);
});
},
@ -431,23 +452,30 @@ export default {
return new Promise((r, j) => {
this.$refs.formRef.validate((valid) => {
if (valid) {
let entries = this.$refs.syMapRef.submit();
console.log("提交表单 >>>> ", this.formData);
console.log("entries >>>>> ", entries);
(this.id
? putProjectCheckingLineRoute
: postProjectCheckingLineRoute)({
id: this.id || null,
...this.formData,
entries: JSON.stringify(entries),
this.$confirm("确认提交吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then((res) => {
this.$message.success("提交成功");
if (reset) {
this.reset();
}
r();
.then(() => {
let entries = this.$refs.syMapRef.submit();
(this.id
? putProjectCheckingLineRoute
: postProjectCheckingLineRoute)({
id: this.id || null,
...this.formData,
entries: JSON.stringify(entries),
})
.then((res) => {
this.$message.success("提交成功");
if (reset) {
this.reset();
}
r();
})
.catch(() => {
j();
});
})
.catch(() => {
j();
@ -554,7 +582,7 @@ export default {
}
.tree-style {
height: 310px;
height: 280px;
width: 100%;
overflow: auto;
}

Loading…
Cancel
Save