Browse Source

fix: 修复bug

sy-water-data-board-ui
panyuyi 10 months ago
parent
commit
5a927effd4
  1. 4
      src/assets/styles/space.scss
  2. 45
      src/views/components/SyMixMap.vue
  3. 7
      src/views/dike/runManage/enginerring/inspectionPlan/components/PlanDetail.vue
  4. 15
      src/views/dike/runManage/enginerring/inspectionPlan/index.vue
  5. 11
      src/views/dike/runManage/enginerring/inspectionRecords/components/NewRecord.vue
  6. 15
      src/views/dike/runManage/enginerring/inspectionRecords/components/RecordDetails.vue
  7. 36
      src/views/dike/runManage/enginerring/inspectionRecords/index.vue
  8. 10
      src/views/dike/runManage/enginerring/inspectionRouteManage/components/RouteDetail.vue

4
src/assets/styles/space.scss

@ -131,3 +131,7 @@
.w-360{ .w-360{
width: 360px !important; width: 360px !important;
} }
.h-124{
height: 124px !important;
}

45
src/views/components/SyMixMap.vue

@ -67,8 +67,8 @@ export default {
}, },
canEdit: Boolean, canEdit: Boolean,
entries: { entries: {
type: Array, type: Object,
default: () => [], default: () => {},
}, },
}, },
data() { data() {
@ -89,8 +89,8 @@ export default {
}, },
entries: { entries: {
handler(val) { handler(val) {
console.log('entries >>>>> ', val) console.log('地图entries >>>>> ', val)
if (val && Array.isArray(val)) { if (val) {
setTimeout(() => { setTimeout(() => {
this.initEntries(val); this.initEntries(val);
}, 100); }, 100);
@ -175,12 +175,25 @@ export default {
}, },
// entries线 // entries线
initEntries(entries){ initEntries(entries){
console.log('initEntries >>>>> ', entries)
layer?.clear() layer?.clear()
if(!layer){ if(!layer){
layer = new sycim.EntityLayer('layer').addTo(viewer) layer = new sycim.EntityLayer('layer').addTo(viewer)
} }
entries.forEach(item=>{ //
if(Array.isArray(entries)) return
if(entries.viewpoint){
viewer.scene.camera.flyTo({
destination: entries.viewpoint.position,
orientation: {
heading: entries.viewpoint.heading,
pitch: entries.viewpoint.pitch,
roll: entries.viewpoint.roll,
},
duration: 2,
});
}
if(entries.graphicsList){
entries.graphicsList.forEach(item=>{
let graphicItem let graphicItem
if(item.type === 'billboard'){ if(item.type === 'billboard'){
graphicItem = new sycim.Billboard(item.position, `/icons/${item.icon}`); graphicItem = new sycim.Billboard(item.position, `/icons/${item.icon}`);
@ -228,6 +241,7 @@ export default {
} }
}) })
}
}, },
// 线 // 线
@ -265,7 +279,6 @@ export default {
speed_s: 2, speed_s: 2,
horizontalOrigin: sycim.HorizontalOrigin.CENTER, horizontalOrigin: sycim.HorizontalOrigin.CENTER,
verticalOrigin: sycim.VerticalOrigin.BOTTOM, verticalOrigin: sycim.VerticalOrigin.BOTTOM,
material: new sycim.PolylineImageTrailMaterialProperty({ material: new sycim.PolylineImageTrailMaterialProperty({
speed: 2, speed: 2,
image: `/icons/${iconName}`, image: `/icons/${iconName}`,
@ -277,7 +290,6 @@ export default {
}) })
} }
if(graphicItem){ if(graphicItem){
console.log('最终的graphicItem >>>>> ', graphicItem)
layer.addGraphic(graphicItem); layer.addGraphic(graphicItem);
graphicsList.push({ graphicsList.push({
graphicId: graphicItem.id, graphicId: graphicItem.id,
@ -286,7 +298,6 @@ export default {
positions: graphicItem.positions, positions: graphicItem.positions,
icon: iconName, icon: iconName,
}); });
console.log('graphicsList >>>>> ', graphicsList)
plot.edit(graphicItem, () => { plot.edit(graphicItem, () => {
graphicItem.setStyle({ noPushMid: true }); graphicItem.setStyle({ noPushMid: true });
viewerRemoveEventListener(); viewerRemoveEventListener();
@ -301,8 +312,22 @@ export default {
// 线 // 线
submit(){ submit(){
console.log('map -submit >>>>> ', graphicsList) console.log('map -submit >>>>> ', graphicsList)
const position = viewer.camera.positionWC.clone() //
const heading = viewer.camera.heading //
const pitch = viewer.camera.pitch //
const roll = viewer.camera.roll //
plot?.stop() plot?.stop()
return graphicsList || [] let data = {
//
viewpoint: {
position: position,
heading: heading,
pitch: pitch,
roll: roll,
},
graphicsList: graphicsList,
}
return data
}, },
reset(){ reset(){
plot?.stop() plot?.stop()

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

@ -170,7 +170,6 @@
:before-upload="beforeUpload" :before-upload="beforeUpload"
:before-remove="beforeRemove" :before-remove="beforeRemove"
accept=".docx,.doc,.pdf" accept=".docx,.doc,.pdf"
:limit="5"
:file-list="filesList" :file-list="filesList"
> >
<el-button size="small" type="primary">点击上传</el-button> <el-button size="small" type="primary">点击上传</el-button>
@ -438,7 +437,11 @@ export default {
// //
beforeUpload(e) { beforeUpload(e) {
if (this.formData.files?.length >= 5) { if (this.formData.files?.length >= 5) {
this.$message.warning("最多上传5份"); // this.$message.warning("5");
this.$message({
message: "最多上传5份",
type: "warning",
});
return false; return false;
} }
return true; return true;

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

@ -275,6 +275,15 @@ export default {
this.pageData.pageNum = 1; this.pageData.pageNum = 1;
this.getTableData(); this.getTableData();
}, },
getDikeTypeName(type) {
let name = "";
this.embankmentTypeOptions.forEach((element) => {
if (element.dictValue === type) {
name = element.dictLabel;
}
});
return name;
},
}, },
created() { created() {
this.getDicts("embankment_type").then((response) => { this.getDicts("embankment_type").then((response) => {
@ -405,7 +414,11 @@ export default {
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="dikeName" align="center" label="堤防名称" /> <el-table-column prop="dikeName" align="center" label="堤防名称" />
<el-table-column prop="dikeType" align="center" label="堤防类型" /> <el-table-column prop="dikeType" align="center" label="堤防类型">
<template slot-scope="scope">
<span>{{ getDikeTypeName(scope.row.dikeType) }}</span>
</template>
</el-table-column>
<el-table-column prop="name" align="center" label="巡查计划名称" /> <el-table-column prop="name" align="center" label="巡查计划名称" />
<el-table-column align="center" label="巡查计划类型"> <el-table-column align="center" label="巡查计划类型">
<template slot-scope="scope"> <template slot-scope="scope">

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

@ -184,7 +184,6 @@
:http-request="handleProblemImgUpload" :http-request="handleProblemImgUpload"
:before-upload="beforeProblemImgUpload" :before-upload="beforeProblemImgUpload"
accept=".png,.jpg,.jpeg,.gif" accept=".png,.jpg,.jpeg,.gif"
:limit="3"
:file-list="filesList" :file-list="filesList"
> >
<el-button size="small" type="primary">上传照片</el-button> <el-button size="small" type="primary">上传照片</el-button>
@ -264,7 +263,7 @@ export default {
planId: [{ required: true, message: "请选择计划", trigger: "change" }], planId: [{ required: true, message: "请选择计划", trigger: "change" }],
}, },
filesList: [], // filesList: [], //
entries: [], entries: {},
filterText: "", filterText: "",
dutyHolderTypeOptions: [], dutyHolderTypeOptions: [],
xcProjectList: [], xcProjectList: [],
@ -357,7 +356,7 @@ export default {
this.formData.dutyHolderType = ""; this.formData.dutyHolderType = "";
this.formData.scope = ""; this.formData.scope = "";
this.items = []; this.items = [];
this.entries = []; this.entries = {};
this.checkTreeData = []; this.checkTreeData = [];
this.currentItem = {}; this.currentItem = {};
@ -391,6 +390,7 @@ export default {
}, },
// //
beforeProblemImgUpload(e) { beforeProblemImgUpload(e) {
console.log("e >>>>> ", e);
if (this.currentItem.problemImages?.length >= 3) { if (this.currentItem.problemImages?.length >= 3) {
this.$message.warning("最多上传3张"); this.$message.warning("最多上传3张");
return false; return false;
@ -430,7 +430,7 @@ export default {
this.formData.lineName = data.name; this.formData.lineName = data.name;
this.formData.dutyHolderType = data.dutyHolderType; this.formData.dutyHolderType = data.dutyHolderType;
this.dealXcProject(data.checkingDetail, items); this.dealXcProject(data.checkingDetail, items);
this.entries = data.entries ? JSON.parse(data.entries) : []; this.entries = data.entries ? JSON.parse(data.entries) : {};
} }
}); });
}, },
@ -701,7 +701,6 @@ export default {
this.$refs.syMapRef.reset(); this.$refs.syMapRef.reset();
this.subPlanDateArr = []; this.subPlanDateArr = [];
this.xcDateArr = ""; this.xcDateArr = "";
this.entries = [];
this.checkTreeData = []; this.checkTreeData = [];
this.currentItem = {}; this.currentItem = {};
@ -719,7 +718,7 @@ export default {
this.formData.dutyHolderType = ""; this.formData.dutyHolderType = "";
this.formData.scope = ""; this.formData.scope = "";
this.items = []; this.items = [];
this.entries = []; this.entries = {};
this.checkTreeData = []; this.checkTreeData = [];
this.currentItem = {}; this.currentItem = {};
}, },

15
src/views/dike/runManage/enginerring/inspectionRecords/components/RecordDetails.vue

@ -105,11 +105,11 @@
<div class="mt-8"> <div class="mt-8">
<div class="">巡检图片</div> <div class="">巡检图片</div>
<el-image <el-image
style="width: 152px; height: 92px"
v-for="url in item.problemImages" v-for="url in item.problemImages"
:key="url" :key="url"
:src="url" :src="url"
class="mr-16 mb-16" :preview-src-list="[url]"
class="mr-16 mb-16 w-240 h-124"
></el-image> ></el-image>
</div> </div>
<div class="mt-8"> <div class="mt-8">
@ -140,7 +140,6 @@
:http-request="(e) => handleProblemImgUpload(e, item)" :http-request="(e) => handleProblemImgUpload(e, item)"
:before-upload="(e) => beforeProblemImgUpload(e, item)" :before-upload="(e) => beforeProblemImgUpload(e, item)"
accept=".png,.jpg,.jpeg,.gif" accept=".png,.jpg,.jpeg,.gif"
:limit="3"
:file-list="filesList" :file-list="filesList"
> >
<el-button size="small">上传照片</el-button> <el-button size="small">上传照片</el-button>
@ -153,7 +152,8 @@
v-for="url in item.handleImages" v-for="url in item.handleImages"
:src="url" :src="url"
:key="url" :key="url"
class="mr-10 mb-10" :preview-src-list="[url]"
class="mr-10 mb-10 w-240 h-124"
></el-image> ></el-image>
</div> </div>
<div class="mt-10"> <div class="mt-10">
@ -172,7 +172,8 @@
v-for="url in item.handleImages" v-for="url in item.handleImages"
:key="url" :key="url"
:src="url" :src="url"
class="mr-10 mb-10" :preview-src-list="[url]"
class="mr-10 mb-10 w-240 h-124"
></el-image> ></el-image>
</div> </div>
<div class="mt-8"> <div class="mt-8">
@ -222,7 +223,7 @@ export default {
labelMapData: {}, labelMapData: {},
detailData: {}, detailData: {},
treeData: [], treeData: [],
entries: [], entries: {},
}; };
}, },
watch: { watch: {
@ -246,7 +247,7 @@ export default {
this.detailData.items.forEach((item) => { this.detailData.items.forEach((item) => {
item.partsName = this.labelMapData[item.parts.join(":")]; item.partsName = this.labelMapData[item.parts.join(":")];
}); });
this.entries = res.data.entries ? JSON.parse(res.data.entries) : []; this.entries = res.data.entries ? JSON.parse(res.data.entries) : {};
}); });
}, },
// //

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

@ -34,6 +34,7 @@ export default {
searchInput: "", searchInput: "",
areasOptions: [], areasOptions: [],
projectTypeOptions: [], projectTypeOptions: [],
xcTypeOptions: [],
dutyHolderTypeOptions: [], dutyHolderTypeOptions: [],
paramsData: { paramsData: {
adcd: "", adcd: "",
@ -211,6 +212,7 @@ export default {
.then(() => { .then(() => {
let formData = this.$refs.recordRef.submit(); let formData = this.$refs.recordRef.submit();
console.log("formData >>>>> ", formData); console.log("formData >>>>> ", formData);
// formData.status = "1";
updateRecordData(formData).then((res) => { updateRecordData(formData).then((res) => {
if (res) { if (res) {
this.$message.success("处理成功"); this.$message.success("处理成功");
@ -250,11 +252,21 @@ export default {
handleDownPDF() { handleDownPDF() {
this.pdfDialogVisible = true; this.pdfDialogVisible = true;
}, },
getDictLabelName(type, dictListName) {
if (!this[dictListName]) return "";
return (
this[dictListName].find((item) => item.dictValue === type)?.dictLabel ||
""
);
},
}, },
created() { created() {
this.getDicts("person_type").then((response) => { this.getDicts("person_type").then((response) => {
this.dutyHolderTypeOptions = response.data; this.dutyHolderTypeOptions = response.data;
}); });
this.getDicts("xs_classfy").then((response) => {
this.xcTypeOptions = response.data;
});
getDictMapData("df_xs_c_classfy").then((res) => { getDictMapData("df_xs_c_classfy").then((res) => {
this.mapLabelData = res?.data || {}; this.mapLabelData = res?.data || {};
this.getTableData(); this.getTableData();
@ -376,8 +388,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">
@ -428,16 +440,28 @@ export default {
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="dikeName" align="center" label="堤防名称" /> <el-table-column prop="dikeName" align="center" label="堤防名称" />
<el-table-column prop="dikeType" align="center" label="堤防类型" /> <el-table-column prop="dikeType" align="center" label="堤防类型">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.dikeType, "projectTypeOptions")
}}</span>
</template>
</el-table-column>
<el-table-column prop="planName" align="center" label="巡查计划名称" /> <el-table-column prop="planName" align="center" label="巡查计划名称" />
<el-table-column prop="" align="center" label="巡查类型" /> <el-table-column prop="lineType" align="center" label="巡查类型">
<template slot-scope="scope">
<span>{{
getDictLabelName(scope.row.lineType, "xcTypeOptions")
}}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
prop="subPlanName" prop="subPlanName"
align="center" align="center"
label="巡查子项名称" label="巡查子项名称"
/> />
<el-table-column prop="operatorName" align="center" label="巡查人" /> <el-table-column prop="createName" align="center" label="巡查人" />
<el-table-column <el-table-column
prop="startDate" prop="startDate"
align="center" align="center"
@ -538,7 +562,7 @@ export default {
<el-button size="mini" @click="dialogVisible = false">取消</el-button> <el-button size="mini" @click="dialogVisible = false">取消</el-button>
<div style="float: right" v-if="currentRow.status === '0'"> <div style="float: right" v-if="currentRow.status === '0'">
<el-button size="mini" @click="handleStopXc" type="danger" <el-button size="mini" @click="handleStopXc" type="danger"
>结束巡查</el-button >完成巡查</el-button
> >
</div> </div>
</div> </div>

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

@ -18,7 +18,7 @@
filterable filterable
reserve-keyword reserve-keyword
:remote-method="handleGetRemoteDikeMethod" :remote-method="handleGetRemoteDikeMethod"
@focus="handleGetRemoteDikeMethod" @focus="handleGetRemoteDikeMethod('')"
@change="handleChangeDike" @change="handleChangeDike"
v-model="formData.dikeName" v-model="formData.dikeName"
placeholder="请选择堤防" placeholder="请选择堤防"
@ -217,7 +217,7 @@ export default {
{ required: true, message: "请选择巡查项目", trigger: "change" }, { required: true, message: "请选择巡查项目", trigger: "change" },
], ],
}, },
entries: [], entries: {},
filterText: "", filterText: "",
xcProjectList: [], xcProjectList: [],
projectTypeOptions: [], projectTypeOptions: [],
@ -276,10 +276,8 @@ export default {
getRunProjectList({ getRunProjectList({
pageSize: 10, pageSize: 10,
pageNum: 1, pageNum: 1,
cv: { data: {
name: "dikeName", dikeName: query,
type: "like",
value: query,
}, },
}).then((res) => { }).then((res) => {
if (res) { if (res) {

Loading…
Cancel
Save