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. 36
      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. 2
      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

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

@ -183,6 +183,13 @@
class="plan-list-item" class="plan-list-item"
v-for="(item, index) in formData.contents" v-for="(item, index) in formData.contents"
:key="index" :key="index"
>
<el-form
ref="subFormRef"
label-position="top"
:model="item"
:rules="subRules"
label-width="120px"
> >
<div class="flex justify-between"> <div class="flex justify-between">
<div style="color: #262626; font-size: 16px; font-weight: 700"> <div style="color: #262626; font-size: 16px; font-weight: 700">
@ -200,7 +207,7 @@
</el-popconfirm> </el-popconfirm>
</div> </div>
<div class="flex items-start flex-wrap"> <div class="flex items-start flex-wrap">
<el-form-item label="子项名称" prop="subItemName"> <el-form-item label="子项名称" prop="name">
<el-input <el-input
:disabled="!canEdit" :disabled="!canEdit"
class="w-240" class="w-240"
@ -283,6 +290,7 @@
:maxlength="500" :maxlength="500"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-form>
</div> </div>
<div <div
class="flex justify-start !mt-16" class="flex justify-start !mt-16"
@ -367,6 +375,16 @@ export default {
], ],
frequency: [{ required: true, message: "请输入", trigger: "blur" }], 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: [], filesList: [],
dikeList: [], dikeList: [],
projectTypeOptions: [], projectTypeOptions: [],
@ -416,7 +434,9 @@ export default {
this.formData.dikeCode = res.dikeCode; this.formData.dikeCode = res.dikeCode;
this.formData.dikeType = res.dikeType; this.formData.dikeType = res.dikeType;
this.formData.dikeName = res.dikeName; this.formData.dikeName = res.dikeName;
this.formData.dutyHolders = res.dutyHolders; this.formData.dutyHolder = res.dutyHolders.find(
(v) => v.dutyHolderType === "0"
)?.name;
}, },
handleGetRemoteDikeMethod(query) { handleGetRemoteDikeMethod(query) {
console.log("query >>>>> ", query); console.log("query >>>>> ", query);
@ -520,9 +540,13 @@ export default {
}, },
submit(reset) { submit(reset) {
console.log("提交表单 >>>> ", this.formData); console.log("提交表单 >>>> ", this.formData);
console.log("subFormRef >>>>>>>> ", this.$refs.subFormRef);
return new Promise((r, j) => { return new Promise((r, j) => {
this.$refs.formRef.validate((valid) => { Promise.all([
if (valid) { this.$refs.formRef.validate(),
...this.$refs.subFormRef.map((item) => item.validate()),
])
.then((res) => {
this.formData.contents.forEach((item) => { this.formData.contents.forEach((item) => {
item.startDate = item.planDateTimeArr[0] item.startDate = item.planDateTimeArr[0]
? item.planDateTimeArr[0] + " 00:00:00" ? item.planDateTimeArr[0] + " 00:00:00"
@ -545,9 +569,9 @@ export default {
.catch(() => { .catch(() => {
j(); j();
}); });
} else { })
.catch(() => {
j(); j();
}
}); });
}); });
}, },

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

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

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

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

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

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

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

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

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

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

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

@ -22,6 +22,7 @@
<el-input <el-input
size="small" size="small"
class="w-202 ml-10" class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.dikeName" v-model="paramsData.dikeName"
@change="handleChangeQuery" @change="handleChangeQuery"
placeholder="请输入名称" placeholder="请输入名称"
@ -53,6 +54,7 @@
<el-input <el-input
size="small" size="small"
class="w-202 ml-10" class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.lineName" v-model="paramsData.lineName"
@change="handleChangeQuery" @change="handleChangeQuery"
placeholder="请输入名称" placeholder="请输入名称"
@ -245,7 +247,14 @@
align="center" align="center"
label="巡查类型" label="巡查类型"
v-if="displayType === '2'" 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 <el-table-column
prop="operatorName" prop="operatorName"
key="operatorName2" key="operatorName2"

Loading…
Cancel
Save