Browse Source

fix: 修复bug

sy-water-data-board-ui
panyuyi 10 months ago
parent
commit
7c5fc039b5
  1. BIN
      src/assets/common/icon-checked.png
  2. 200
      src/views/dike/runManage/enginerring/inspectionPlan/components/PlanDetail.vue
  3. 1
      src/views/dike/runManage/enginerring/inspectionPlan/index.vue
  4. 35
      src/views/dike/runManage/enginerring/inspectionRecords/components/NewRecord.vue
  5. 20
      src/views/dike/runManage/enginerring/inspectionRecords/index.vue
  6. 4
      src/views/dike/runManage/enginerring/inspectionRouteManage/CreateRoutePage.vue
  7. 12
      src/views/dike/runManage/enginerring/inspectionRouteManage/components/RouteDetail.vue
  8. 11
      src/views/dike/runManage/enginerring/inspectionRouteManage/index.vue

BIN
src/assets/common/icon-checked.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

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

@ -184,105 +184,113 @@
v-for="(item, index) in formData.contents"
:key="index"
>
<div class="flex justify-between">
<div style="color: #262626; font-size: 16px; font-weight: 700">
子项{{ index + 1 }}
</div>
<el-popconfirm
v-if="formData.contents.length > 1"
:disabled="!canEdit"
title="确定删除?"
@confirm="handleDelPlanItem(index)"
>
<el-button slot="reference" type="danger" plain size="small"
>删除</el-button
>
</el-popconfirm>
</div>
<div class="flex items-start flex-wrap">
<el-form-item label="子项名称" prop="subItemName">
<el-input
:disabled="!canEdit"
class="w-240"
size="small"
v-model="item.name"
placeholder="请输入名称"
maxlength="50"
></el-input>
</el-form-item>
<el-form-item
label="计划周期(起止)"
prop="planDateTimeArr"
class="ml-24"
>
<el-date-picker
<el-form
ref="subFormRef"
label-position="top"
:model="item"
:rules="subRules"
label-width="120px"
>
<div class="flex justify-between">
<div style="color: #262626; font-size: 16px; font-weight: 700">
子项{{ index + 1 }}
</div>
<el-popconfirm
v-if="formData.contents.length > 1"
:disabled="!canEdit"
size="small"
v-model="item.planDateTimeArr"
type="daterange"
range-separator="至"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
title="确定删除?"
@confirm="handleDelPlanItem(index)"
>
<el-button slot="reference" type="danger" plain size="small"
>删除</el-button
>
</el-popconfirm>
</div>
<div class="flex items-start flex-wrap">
<el-form-item label="子项名称" prop="name">
<el-input
:disabled="!canEdit"
class="w-240"
size="small"
v-model="item.name"
placeholder="请输入名称"
maxlength="50"
></el-input>
</el-form-item>
<el-form-item
label="计划周期(起止)"
prop="planDateTimeArr"
class="ml-24"
>
</el-date-picker>
<el-date-picker
:disabled="!canEdit"
size="small"
v-model="item.planDateTimeArr"
type="daterange"
range-separator="至"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="巡查人员" prop="operator" class="ml-24">
<el-select
:disabled="!canEdit"
class="w-240"
v-model="item.operator"
multiple
filterable
remote
:remote-method="searchUser"
value-key="id"
placeholder="请输入关键词搜索用户"
>
<el-option
v-for="item in personnelList"
:key="item.id"
:label="item.name"
:value="item"
>
</el-option>
</el-select>
</el-form-item>
</div>
<el-form-item label="巡查范围" prop="scope">
<!-- <el-radio></el-radio> -->
<div style="font-size: 12px; color: #00000099">暂无数据</div>
</el-form-item>
<el-form-item label="巡查人员" prop="operator" class="ml-24">
<el-form-item label="巡查路线(推荐)" prop="lineId">
<el-select
:disabled="!canEdit"
class="w-240"
v-model="item.operator"
multiple
v-model="item.lineId"
filterable
remote
:remote-method="searchUser"
:remote-method="handleRemoteLineData"
value-key="id"
placeholder="请输入关键词搜索用户"
placeholder="请输入关键词搜索路线"
>
<el-option
v-for="item in personnelList"
v-for="item in lineList"
:key="item.id"
:label="item.name"
:value="item"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</div>
<el-form-item label="巡查范围" prop="scope">
<!-- <el-radio></el-radio> -->
<div style="font-size: 12px; color: #00000099">暂无数据</div>
</el-form-item>
<el-form-item label="巡查路线(推荐)" prop="lineId">
<el-select
:disabled="!canEdit"
class="w-240"
v-model="item.lineId"
filterable
remote
:remote-method="handleRemoteLineData"
value-key="id"
placeholder="请输入关键词搜索路线"
>
<el-option
v-for="item in lineList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="巡查重点检查部位和内容" prop="remark">
<el-input
:disabled="!canEdit"
size="small"
type="textarea"
:rows="3"
v-model="item.remark"
:maxlength="500"
></el-input>
</el-form-item>
<el-form-item label="巡查重点检查部位和内容" prop="remark">
<el-input
:disabled="!canEdit"
size="small"
type="textarea"
:rows="3"
v-model="item.remark"
:maxlength="500"
></el-input>
</el-form-item>
</el-form>
</div>
<div
class="flex justify-start !mt-16"
@ -367,6 +375,16 @@ export default {
],
frequency: [{ required: true, message: "请输入", trigger: "blur" }],
},
subRules: {
name: [{ required: true, message: "请输入名称", trigger: "blur" }],
planDateTimeArr: [
{ required: true, message: "请选择周期", trigger: "change" },
],
operator: [
{ required: true, message: "请选择巡查人员", trigger: "change" },
],
lineId: [{ required: true, message: "请选择路线", trigger: "change" }],
},
filesList: [],
dikeList: [],
projectTypeOptions: [],
@ -416,7 +434,9 @@ export default {
this.formData.dikeCode = res.dikeCode;
this.formData.dikeType = res.dikeType;
this.formData.dikeName = res.dikeName;
this.formData.dutyHolders = res.dutyHolders;
this.formData.dutyHolder = res.dutyHolders.find(
(v) => v.dutyHolderType === "0"
)?.name;
},
handleGetRemoteDikeMethod(query) {
console.log("query >>>>> ", query);
@ -520,9 +540,13 @@ export default {
},
submit(reset) {
console.log("提交表单 >>>> ", this.formData);
console.log("subFormRef >>>>>>>> ", this.$refs.subFormRef);
return new Promise((r, j) => {
this.$refs.formRef.validate((valid) => {
if (valid) {
Promise.all([
this.$refs.formRef.validate(),
...this.$refs.subFormRef.map((item) => item.validate()),
])
.then((res) => {
this.formData.contents.forEach((item) => {
item.startDate = item.planDateTimeArr[0]
? item.planDateTimeArr[0] + " 00:00:00"
@ -545,10 +569,10 @@ export default {
.catch(() => {
j();
});
} else {
})
.catch(() => {
j();
}
});
});
});
},
reset() {

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

@ -318,6 +318,7 @@ export default {
<el-input
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.name"
@change="handleChangeQuery"
placeholder="请输入名称"

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

@ -37,14 +37,14 @@
class="w-240"
size="small"
@change="handleChangeSubPlan"
v-model="formData.subPlanName"
v-model="formData.subPlanId"
placeholder="请选择"
>
<el-option
v-for="item in subPlanList"
:key="item.id"
:label="item.name"
:value="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
@ -148,6 +148,18 @@
label: 'value',
}"
>
<template #default="{ node, data }">
<div class="flex justify-between items-center w-full pr-8">
<div>{{ data.value }}</div>
<div v-if="node.isLeaf && data.nodeLink.hasProblem">
<img
class="w-16 h-16"
src="@/assets/common/icon-checked.png"
alt=""
/>
</div>
</div>
</template>
</el-tree>
</div>
<div class="right-box" v-if="currentItem && currentItem.id">
@ -247,6 +259,8 @@ export default {
dikeName: "",
dikeCode: "",
dikeType: "",
subPlanId: "",
subPlanName: "",
subPlanStartDate: "",
subPlanEndDate: "",
startDate: "",
@ -261,6 +275,12 @@ export default {
items: [],
rules: {
planId: [{ required: true, message: "请选择计划", trigger: "change" }],
subPlanId: [
{ required: true, message: "请选择子计划", trigger: "change" },
],
startDate: [
{ required: true, message: "请选择巡查时间", trigger: "change" },
],
},
filesList: [], //
entries: {},
@ -354,7 +374,7 @@ export default {
this.formData.lineName = "";
this.formData.lineType = "";
this.formData.dutyHolderType = "";
this.formData.scope = "";
this.formData.scope = "" || "-1";
this.items = [];
this.entries = {};
this.checkTreeData = [];
@ -365,6 +385,12 @@ export default {
);
this.formData.planName = planItem.name;
this.formData.planId = planItem.id;
setTimeout(() => {
this.$refs.formRef.clearValidate();
console.log("重置表单验证效果 >>>>>>> ");
}, 30);
getProjectCheckingPlanDetails(planItem.id).then((res) => {
this.subPlanList = res.data?.contents || [];
this.formData.dikeName = res.data?.dikeName;
@ -374,7 +400,7 @@ export default {
},
handleChangeSubPlan() {
let subPlanItem = this.subPlanList.find(
(v) => v.name === this.formData.subPlanName
(v) => v.id === this.formData.subPlanId
);
this.formData.subPlanName = subPlanItem.name;
this.formData.subPlanId = subPlanItem.id;
@ -709,7 +735,6 @@ export default {
this.subPlanDateArr = [];
this.formData.subPlanStartDate = "";
this.formData.subPlanEndDate = "";
this.xcDateArr = [];
this.formData.startDate = "";
this.formData.endDate = "";
this.formData.lineId = "";

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

@ -306,6 +306,7 @@ export default {
<el-input
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.dikeName"
@change="handleChangeQuery"
placeholder="请输入名称"
@ -337,6 +338,7 @@ export default {
<el-input
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.name"
@change="handleChangeQuery"
placeholder="请输入名称"
@ -354,9 +356,13 @@ export default {
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="日常检查" value="0"> </el-option>
<el-option label="年度检查" value="1"> </el-option>
<el-option label="特别检查" value="2"> </el-option>
<el-option
v-for="item in xcTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="search-item flex items-center">
@ -392,8 +398,8 @@ export default {
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="已处" value="1"> </el-option>
<el-option label="未处" value="0"> </el-option>
<el-option label="已处" value="1"> </el-option>
<el-option label="未处" value="0"> </el-option>
</el-select>
</div>
<div class="flex-1 flex justify-end search-item">
@ -438,9 +444,9 @@ export default {
v-if="scope.row.status === '1'"
type="success"
class="normal"
>已处</el-tag
>已处</el-tag
>
<el-tag v-else type="danger" class="abnormal">未处</el-tag>
<el-tag v-else type="danger" class="abnormal">未处</el-tag>
</template>
</el-table-column>
<el-table-column prop="dikeName" align="center" label="堤防名称" />

4
src/views/dike/runManage/enginerring/inspectionRouteManage/CreateRoutePage.vue

@ -38,7 +38,9 @@ export default {
handleSave(reset) {
this.$refs.formRef.submit(reset).then((res) => {
console.log("res >>>>> ", res);
this.$router.go(-1);
if (!reset) {
this.$router.go(-1);
}
});
},
handleCancel() {

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

@ -47,17 +47,17 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="堤防巡查责任人" prop="userName" class="ml-24">
<el-form-item label="堤防巡查责任人" prop="dutyHolder" class="ml-24">
<el-input
class="w-240"
size="small"
v-model="formData.userName"
v-model="formData.dutyHolder"
:disabled="true"
placeholder=""
></el-input>
</el-form-item>
</div>
<div class="form-row-title">巡查计划设置</div>
<div class="form-row-title">巡查路线设置</div>
<div class="flex items-start">
<el-form-item label="巡查路线名称" prop="name">
<el-input
@ -197,7 +197,7 @@ export default {
points: [],
status: "1",
type: "", //线
dutyHolders: [],
dutyHolder: "",
// entries: "",
xcId: "",
checkingDetail: {},
@ -269,7 +269,9 @@ export default {
this.formData.dikeCode = res.dikeCode;
this.formData.dikeType = res.dikeType;
this.formData.dikeName = res.dikeName;
this.formData.dutyHolders = res.dutyHolders;
this.formData.dutyHolder = res.dutyHolders.find(
(v) => v.dutyHolderType === "0"
)?.name;
},
handleGetRemoteDikeMethod(query) {
console.log("query >>>>> ", query);

11
src/views/dike/runManage/enginerring/inspectionRouteManage/index.vue

@ -22,6 +22,7 @@
<el-input
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.dikeName"
@change="handleChangeQuery"
placeholder="请输入名称"
@ -53,6 +54,7 @@
<el-input
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.lineName"
@change="handleChangeQuery"
placeholder="请输入名称"
@ -245,7 +247,14 @@
align="center"
label="巡查类型"
v-if="displayType === '2'"
/>
>
<template #default="{ row }">
{{
lineTypeOptions.find((v) => v.dictValue == row.type) &&
lineTypeOptions.find((v) => v.dictValue == row.type).dictLabel
}}
</template>
</el-table-column>
<el-table-column
prop="operatorName"
key="operatorName2"

Loading…
Cancel
Save