|
@ -17,6 +17,8 @@ import { |
|
|
updateDikeAnimalRecordStatus, |
|
|
updateDikeAnimalRecordStatus, |
|
|
} from "@/api/dike"; |
|
|
} from "@/api/dike"; |
|
|
|
|
|
|
|
|
|
|
|
import { uploadFileData } from "@/api/system/upload"; |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
name: "InspectionItems", |
|
|
name: "InspectionItems", |
|
|
data() { |
|
|
data() { |
|
@ -80,9 +82,9 @@ export default { |
|
|
drugs: [{ drugName: "", concentration: "", dose: "" }], // 用药 |
|
|
drugs: [{ drugName: "", concentration: "", dose: "" }], // 用药 |
|
|
}, |
|
|
}, |
|
|
planRules: { |
|
|
planRules: { |
|
|
planId: [{ required: true, message: "请选择计划", trigger: "blur" }], |
|
|
planId: [{ required: true, message: "请选择计划", trigger: "change" }], |
|
|
dikeCode: [ |
|
|
dikeCode: [ |
|
|
{ required: true, message: "请选择堤防名称", trigger: "blur" }, |
|
|
{ required: true, message: "请选择堤防名称", trigger: "change" }, |
|
|
], |
|
|
], |
|
|
type: [{ required: true, message: "请选择计划", trigger: "change" }], |
|
|
type: [{ required: true, message: "请选择计划", trigger: "change" }], |
|
|
month: [{ required: true, message: "请选择月份", trigger: "change" }], |
|
|
month: [{ required: true, message: "请选择月份", trigger: "change" }], |
|
@ -176,14 +178,12 @@ export default { |
|
|
}, |
|
|
}, |
|
|
// 确认 |
|
|
// 确认 |
|
|
handleConfirm(row) { |
|
|
handleConfirm(row) { |
|
|
console.log("row >>>>> ", row); |
|
|
|
|
|
this.$confirm("是否确认?", "提示", { |
|
|
this.$confirm("是否确认?", "提示", { |
|
|
confirmButtonText: "确定", |
|
|
confirmButtonText: "确定", |
|
|
cancelButtonText: "取消", |
|
|
cancelButtonText: "取消", |
|
|
type: "warning", |
|
|
type: "warning", |
|
|
}) |
|
|
}) |
|
|
.then(() => { |
|
|
.then(() => { |
|
|
console.log("?????????"); |
|
|
|
|
|
updateDikeAnimalRecordStatus({ |
|
|
updateDikeAnimalRecordStatus({ |
|
|
id: row.id, |
|
|
id: row.id, |
|
|
status: "1", |
|
|
status: "1", |
|
@ -199,71 +199,70 @@ export default { |
|
|
}, |
|
|
}, |
|
|
// 查看或编辑计划详情 |
|
|
// 查看或编辑计划详情 |
|
|
viewOrEditPlanDetails(row, edit = false) { |
|
|
viewOrEditPlanDetails(row, edit = false) { |
|
|
|
|
|
this.handleGetRemotePlanData(""); |
|
|
if (!edit) { |
|
|
if (!edit) { |
|
|
this.prohibitEditing = true; |
|
|
this.prohibitEditing = true; |
|
|
} |
|
|
} |
|
|
getDFMaintenancePlan(row.id).then((res) => { |
|
|
getDFPreventionControlPlan(row.planId).then((res) => { |
|
|
if (res.data) { |
|
|
if (res.data) { |
|
|
this.planForm = res.data; |
|
|
this.planForm = res.data; |
|
|
|
|
|
this.planForm.planName = res.data.name; |
|
|
|
|
|
this.planForm.planId = res.data.id; |
|
|
|
|
|
this.planForm.selectUser = res.data.otherConfig.selectUser; |
|
|
// this.planForm.reminderCycle = res.data.instruction + res.data.month; // ?????? |
|
|
// this.planForm.reminderCycle = res.data.instruction + res.data.month; // ?????? |
|
|
this.dialogVisible = true; |
|
|
this.dialogVisible = true; |
|
|
this.recordForm.id = row.id; |
|
|
|
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
getDikeAnimalRecordDetails(row.id).then((res) => { |
|
|
getDikeAnimalRecordDetails(row.id).then((res) => { |
|
|
|
|
|
this.recordForm.id = row.id; |
|
|
this.recordForm = res.data || this.recordForm; |
|
|
this.recordForm = res.data || this.recordForm; |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
|
|
|
handleRemove(file) { |
|
|
console.log("查看 >>>> ", this.planList); |
|
|
console.log(file); |
|
|
|
|
|
}, |
|
|
|
|
|
handlePictureCardPreview(file) { |
|
|
|
|
|
this.dialogImageUrl = file.url; |
|
|
|
|
|
this.imageDialog = true; |
|
|
|
|
|
}, |
|
|
|
|
|
handleDownload(file) { |
|
|
|
|
|
console.log(file); |
|
|
|
|
|
}, |
|
|
}, |
|
|
// 保存维修计划 |
|
|
// 保存维修计划 |
|
|
submitForm(formName) { |
|
|
submitForm() { |
|
|
console.log("this.planForm >>>>> ", this.planForm); |
|
|
this.$refs.planForm.validate((v) => { |
|
|
this.$refs[formName].validate((valid) => { |
|
|
if (v) { |
|
|
if (valid) { |
|
|
this.$refs.recordForm.validate((valid) => { |
|
|
if (this.planForm.id) { |
|
|
if (valid) { |
|
|
updateDikeAnimalRecordData({ |
|
|
if (this.planForm.id) { |
|
|
planId: this.planForm.planId, |
|
|
updateDikeAnimalRecordData({ |
|
|
planName: this.planForm.name, |
|
|
planId: this.planForm.planId, |
|
|
id: this.$route.query.id, |
|
|
planName: this.planForm.name, |
|
|
dikeCode: this.$route.query.dikeCode, |
|
|
id: this.$route.query.id, |
|
|
...this.recordForm, |
|
|
dikeCode: this.$route.query.dikeCode, |
|
|
}).then(() => { |
|
|
...this.recordForm, |
|
|
this.getTableData(); |
|
|
}).then(() => { |
|
|
this.dialogVisible = false; |
|
|
this.getTableData(); |
|
|
this.$message({ |
|
|
this.dialogVisible = false; |
|
|
message: "保存成功", |
|
|
this.$message({ |
|
|
type: "success", |
|
|
message: "保存成功", |
|
|
}); |
|
|
type: "success", |
|
|
}); |
|
|
}); |
|
|
} else { |
|
|
}); |
|
|
addDikeAnimalRecordData({ |
|
|
} else { |
|
|
planId: this.planForm.planId, |
|
|
addDikeAnimalRecordData({ |
|
|
planName: this.planForm.name, |
|
|
planId: this.planForm.planId, |
|
|
id: null, |
|
|
planName: this.planForm.name, |
|
|
status: "0", |
|
|
id: null, |
|
|
dikeCode: this.$route.query.dikeCode, |
|
|
status: "0", |
|
|
...this.recordForm, |
|
|
dikeCode: this.$route.query.dikeCode, |
|
|
}).then(() => { |
|
|
...this.recordForm, |
|
|
this.getTableData(); |
|
|
}).then(() => { |
|
|
this.dialogVisible = false; |
|
|
this.getTableData(); |
|
|
this.$message({ |
|
|
this.dialogVisible = false; |
|
|
message: "保存成功", |
|
|
this.$message({ |
|
|
type: "success", |
|
|
message: "保存成功", |
|
|
}); |
|
|
type: "success", |
|
|
}); |
|
|
}); |
|
|
} |
|
|
}); |
|
|
} else { |
|
|
} |
|
|
console.log("校验不通过"); |
|
|
} else { |
|
|
return false; |
|
|
console.log("校验不通过"); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
@ -273,9 +272,9 @@ export default { |
|
|
this.dialogVisible = false; |
|
|
this.dialogVisible = false; |
|
|
}, |
|
|
}, |
|
|
// 关闭dialog |
|
|
// 关闭dialog |
|
|
closeDialog(planForm = "planForm") { |
|
|
closeDialog() { |
|
|
console.log("触发关闭dialog", planForm); |
|
|
this.$refs.recordForm.resetFields(); |
|
|
this.$refs[planForm].resetFields(); |
|
|
this.$refs.planForm.resetFields(); |
|
|
this.planForm = { |
|
|
this.planForm = { |
|
|
dikeCode: "", |
|
|
dikeCode: "", |
|
|
name: "", |
|
|
name: "", |
|
@ -285,6 +284,15 @@ export default { |
|
|
location: "", |
|
|
location: "", |
|
|
content: "", |
|
|
content: "", |
|
|
}; |
|
|
}; |
|
|
|
|
|
this.recordForm = { |
|
|
|
|
|
id: null, |
|
|
|
|
|
location: "", |
|
|
|
|
|
constructionStatus: "", |
|
|
|
|
|
pest: null, |
|
|
|
|
|
images: [], |
|
|
|
|
|
remark: "", |
|
|
|
|
|
drugs: [{ drugName: "", concentration: "", dose: "" }], // 用药 |
|
|
|
|
|
}; |
|
|
}, |
|
|
}, |
|
|
// 添加工作项 |
|
|
// 添加工作项 |
|
|
addWorkItem() { |
|
|
addWorkItem() { |
|
@ -346,7 +354,6 @@ export default { |
|
|
changeDikePlan(planId) { |
|
|
changeDikePlan(planId) { |
|
|
if (planId) { |
|
|
if (planId) { |
|
|
getDFPreventionControlPlan(planId).then((res) => { |
|
|
getDFPreventionControlPlan(planId).then((res) => { |
|
|
console.log("res >>>>> ", res); |
|
|
|
|
|
if (res?.data) { |
|
|
if (res?.data) { |
|
|
const { data } = res; |
|
|
const { data } = res; |
|
|
this.planForm.dikeCode = data.dikeCode; |
|
|
this.planForm.dikeCode = data.dikeCode; |
|
@ -364,6 +371,30 @@ export default { |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
// 上传前 |
|
|
|
|
|
beforeUpload(e) { |
|
|
|
|
|
if (this.recordForm.images?.length >= 10) { |
|
|
|
|
|
this.$message.warning("最多上传10张图片"); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
return true; |
|
|
|
|
|
}, |
|
|
|
|
|
handleUpload(e) { |
|
|
|
|
|
const { file } = e; |
|
|
|
|
|
let fData = new FormData(); |
|
|
|
|
|
fData.append("file", file); |
|
|
|
|
|
uploadFileData(fData) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
this.recordForm.images?.push(res.url); |
|
|
|
|
|
}) |
|
|
|
|
|
.catch((err) => { |
|
|
|
|
|
console.log("err >>>>> ", err); |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
// 删除图片 |
|
|
|
|
|
handleDelImages(index) { |
|
|
|
|
|
this.recordForm.images.splice(index, 1); |
|
|
|
|
|
}, |
|
|
}, |
|
|
}, |
|
|
mounted() { |
|
|
mounted() { |
|
|
this.getDicts("dh_jh_type").then((res) => { |
|
|
this.getDicts("dh_jh_type").then((res) => { |
|
@ -471,9 +502,9 @@ export default { |
|
|
>编辑</el-button |
|
|
>编辑</el-button |
|
|
> |
|
|
> |
|
|
<el-button |
|
|
<el-button |
|
|
style="margin-right: 9px" |
|
|
|
|
|
type="text" |
|
|
type="text" |
|
|
size="small" |
|
|
size="small" |
|
|
|
|
|
v-if="scope.row.status == '0'" |
|
|
@click="handleConfirm(scope.row)" |
|
|
@click="handleConfirm(scope.row)" |
|
|
v-hasPermi="['df:run:fz:record:confirm']" |
|
|
v-hasPermi="['df:run:fz:record:confirm']" |
|
|
>确认</el-button |
|
|
>确认</el-button |
|
@ -487,7 +518,7 @@ export default { |
|
|
@confirm="deleteTableItem(scope.row)" |
|
|
@confirm="deleteTableItem(scope.row)" |
|
|
> |
|
|
> |
|
|
<el-button |
|
|
<el-button |
|
|
style="color: red" |
|
|
style="color: red; margin-left: 9px" |
|
|
type="text" |
|
|
type="text" |
|
|
size="small" |
|
|
size="small" |
|
|
slot="reference" |
|
|
slot="reference" |
|
@ -888,39 +919,51 @@ export default { |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
<el-form-item label-width="120px" label="上传图片" prop="images"> |
|
|
<el-form-item label-width="120px" label="上传图片" prop="images"> |
|
|
<el-upload action="#" list-type="picture-card" :auto-upload="false"> |
|
|
<div class="flex flex-wrap"> |
|
|
<i slot="default" class="el-icon-plus"></i> |
|
|
<div |
|
|
<div slot="file" slot-scope="{ file }"> |
|
|
style="width: 148px; height: 148px" |
|
|
<img |
|
|
v-for="(url, index) in recordForm.images" |
|
|
class="el-upload-list__item-thumbnail" |
|
|
:key="index" |
|
|
:src="file.url" |
|
|
class="mr-6 mb-6 img-div-box" |
|
|
alt="" |
|
|
> |
|
|
/> |
|
|
<el-image |
|
|
<span class="el-upload-list__item-actions"> |
|
|
style="width: 148px; height: 148px" |
|
|
<span |
|
|
:src="url" |
|
|
class="el-upload-list__item-preview" |
|
|
fit="contain" |
|
|
@click="handlePictureCardPreview(file)" |
|
|
:preview-src-list="[url]" |
|
|
> |
|
|
> |
|
|
<i class="el-icon-zoom-in"></i> |
|
|
<template #error> |
|
|
</span> |
|
|
<div |
|
|
<span |
|
|
class="w-full flex justify-center items-center" |
|
|
class="el-upload-list__item-delete" |
|
|
style=" |
|
|
@click="handleDownload(file)" |
|
|
height: 148px; |
|
|
> |
|
|
border: 1px solid #f0f0f0; |
|
|
<i class="el-icon-download"></i> |
|
|
font-style: italic; |
|
|
</span> |
|
|
color: #ccc; |
|
|
<span |
|
|
" |
|
|
class="el-upload-list__item-delete" |
|
|
> |
|
|
@click="handleRemove(file)" |
|
|
图片加载失败 |
|
|
> |
|
|
</div> |
|
|
<i class="el-icon-delete"></i> |
|
|
</template> |
|
|
</span> |
|
|
</el-image> |
|
|
</span> |
|
|
<i |
|
|
|
|
|
class="el-icon-error del-btn-icon" |
|
|
|
|
|
@click="handleDelImages(index)" |
|
|
|
|
|
></i> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-upload |
|
|
|
|
|
action="#" |
|
|
|
|
|
list-type="picture-card" |
|
|
|
|
|
:http-request="handleUpload" |
|
|
|
|
|
:auto-upload="true" |
|
|
|
|
|
:before-upload="beforeUpload" |
|
|
|
|
|
:showFileList="false" |
|
|
|
|
|
accept=".jpg,.png,.jpeg" |
|
|
|
|
|
:maxLength="10" |
|
|
|
|
|
> |
|
|
|
|
|
<i slot="default" class="el-icon-plus"></i> |
|
|
</el-upload> |
|
|
</el-upload> |
|
|
<el-dialog :visible.sync="imageDialog"> |
|
|
|
|
|
<img width="100%" :src="dialogImageUrl" alt="" /> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label-width="120px" label="备注" prop="remark"> |
|
|
<el-form-item label-width="120px" label="备注" prop="remark"> |
|
|
<el-input |
|
|
<el-input |
|
@ -996,12 +1039,24 @@ export default { |
|
|
background-color: #2b8070; |
|
|
background-color: #2b8070; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/deep/.el-input__count { |
|
|
.img-div-box { |
|
|
height: 15px; |
|
|
position: relative; |
|
|
line-height: 15px; |
|
|
.del-btn-icon { |
|
|
margin-right: 10px; |
|
|
display: none; |
|
|
margin-bottom: -4px; |
|
|
position: absolute; |
|
|
|
|
|
top: -8px; |
|
|
|
|
|
right: -8px; |
|
|
|
|
|
font-size: 24px; |
|
|
|
|
|
color: rgba(0, 0, 0, 0.5); |
|
|
|
|
|
cursor: pointer; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
&:hover { |
|
|
|
|
|
.del-btn-icon { |
|
|
|
|
|
display: block; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |
|
|