Merge branch 'main' of https://git.cityme.com.cn/xiangshan/ggfwjsc
This commit is contained in:
commit
6ae7a1128d
|
@ -125,7 +125,7 @@
|
||||||
<ePie4
|
<ePie4
|
||||||
:list="data.list.data"
|
:list="data.list.data"
|
||||||
:year="data.list.year"
|
:year="data.list.year"
|
||||||
:name="data.jzfxName"
|
|
||||||
v-if="showEchart"
|
v-if="showEchart"
|
||||||
></ePie4>
|
></ePie4>
|
||||||
</div>
|
</div>
|
||||||
|
@ -749,7 +749,6 @@ const jypxList = reactive([
|
||||||
const jz = ref("1");
|
const jz = ref("1");
|
||||||
const jzChange = (value, label) => {
|
const jzChange = (value, label) => {
|
||||||
jz.value = value;
|
jz.value = value;
|
||||||
data.jzfxName = label;
|
|
||||||
data.list = data.dataAnalysis[value - 1];
|
data.list = data.dataAnalysis[value - 1];
|
||||||
};
|
};
|
||||||
const showEchart = ref(false);
|
const showEchart = ref(false);
|
||||||
|
@ -1056,8 +1055,8 @@ const getData = async () => {
|
||||||
data.dataAnalysis[5].data.push(item.jzrs);
|
data.dataAnalysis[5].data.push(item.jzrs);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
jzChange('1', '特困')
|
jz.value = '1';
|
||||||
|
data.list = data.dataAnalysis[0];
|
||||||
});
|
});
|
||||||
showEchart.value = true;
|
showEchart.value = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -30,7 +30,7 @@ const props = defineProps({
|
||||||
});
|
});
|
||||||
const chart = ref(); // 创建DOM引用
|
const chart = ref(); // 创建DOM引用
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
name:'特困',
|
// name:'特困',
|
||||||
list: [6280, 6280, 6280, 5924, 1824],
|
list: [6280, 6280, 6280, 5924, 1824],
|
||||||
year: [2020, 2021, 2022, 2023, 2024],
|
year: [2020, 2021, 2022, 2023, 2024],
|
||||||
bg: [0, 0, 0, 0],
|
bg: [0, 0, 0, 0],
|
||||||
|
@ -155,7 +155,7 @@ watch(
|
||||||
() => props.list,
|
() => props.list,
|
||||||
(newVal, oldVal) => {
|
(newVal, oldVal) => {
|
||||||
data.list = newVal;
|
data.list = newVal;
|
||||||
data.name = props.name;
|
// data.name = props.name;
|
||||||
data.bg.length=0;
|
data.bg.length=0;
|
||||||
data.year.forEach(item=>{
|
data.year.forEach(item=>{
|
||||||
data.bg.push(0)
|
data.bg.push(0)
|
||||||
|
@ -168,7 +168,7 @@ watch(
|
||||||
() => props.year,
|
() => props.year,
|
||||||
(newVal, oldVal) => {
|
(newVal, oldVal) => {
|
||||||
data.year = newVal;
|
data.year = newVal;
|
||||||
data.name = props.name;
|
// data.name = props.name;
|
||||||
data.bg.length=0;
|
data.bg.length=0;
|
||||||
data.year.forEach(item=>{
|
data.year.forEach(item=>{
|
||||||
data.bg.push(0)
|
data.bg.push(0)
|
||||||
|
@ -182,7 +182,7 @@ onBeforeMount(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
data.list = props.list;
|
data.list = props.list;
|
||||||
data.year = props.year;
|
data.year = props.year;
|
||||||
data.name = props.name;
|
// data.name = props.name;
|
||||||
data.bg.length=0;
|
data.bg.length=0;
|
||||||
data.year.forEach(item=>{
|
data.year.forEach(item=>{
|
||||||
data.bg.push(0)
|
data.bg.push(0)
|
||||||
|
|
|
@ -80,7 +80,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="btnBj"
|
class="btnBj"
|
||||||
v-if="!showEdit && !dialogShow && !openD"
|
v-if="!showEdit && !dialogShow && !openD && !showEdit2"
|
||||||
@click="openqx()"
|
@click="openqx()"
|
||||||
>
|
>
|
||||||
地图权限:
|
地图权限:
|
||||||
|
@ -90,6 +90,16 @@
|
||||||
选择编辑:
|
选择编辑:
|
||||||
<p>{{ is_type }}</p>
|
<p>{{ is_type }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btnsopen" @click="openBjl" v-if="!showEdit && !showEdit2">
|
||||||
|
<div class="btnsave">打开编辑栏</div>
|
||||||
|
</div>
|
||||||
|
<div class="btns" v-if="showEdit2">
|
||||||
|
<div style="display: flex">
|
||||||
|
<div class="btnsave" @click="openEdit2">编辑地块</div>
|
||||||
|
<div class="btnsave" @click="saveEdit2">保存地块</div>
|
||||||
|
<div class="btnsave" @click="closeEdit2">退出编辑</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<!-- 加载动画 -->
|
<!-- 加载动画 -->
|
||||||
<div class="loadBody" v-show="loadingss">
|
<div class="loadBody" v-show="loadingss">
|
||||||
<div class="load">
|
<div class="load">
|
||||||
|
@ -240,6 +250,35 @@ const addPd = computed(() => {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
//打开编辑栏
|
||||||
|
const openBjl = () => {
|
||||||
|
if (!jsqx.value) {
|
||||||
|
ElMessage({
|
||||||
|
message: "您没有编辑的权限",
|
||||||
|
type: "warning",
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (is_type.value == "街道") {
|
||||||
|
if (changeJdqkId.value) {
|
||||||
|
showEdit2.value = true;
|
||||||
|
} else {
|
||||||
|
ElMessage({
|
||||||
|
message: "请先选择街道",
|
||||||
|
type: "warning",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (changeCsqkId.value) {
|
||||||
|
showEdit.value = true;
|
||||||
|
} else {
|
||||||
|
ElMessage({
|
||||||
|
message: "请先选择村社",
|
||||||
|
type: "warning",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
//编辑村名
|
//编辑村名
|
||||||
const input1 = ref("");
|
const input1 = ref("");
|
||||||
const input2 = ref([]);
|
const input2 = ref([]);
|
||||||
|
@ -268,8 +307,11 @@ const csqk = ref({});
|
||||||
var cssj;
|
var cssj;
|
||||||
//存放村社id用于编辑
|
//存放村社id用于编辑
|
||||||
const changeCsqkId = ref("");
|
const changeCsqkId = ref("");
|
||||||
|
//存放街道id用于编辑
|
||||||
|
const changeJdqkId = ref("");
|
||||||
//用于显示编辑栏
|
//用于显示编辑栏
|
||||||
const showEdit = ref(false);
|
const showEdit = ref(false);
|
||||||
|
const showEdit2 = ref(false);
|
||||||
const xuanzhongCs = ref([]);
|
const xuanzhongCs = ref([]);
|
||||||
//存放街道
|
//存放街道
|
||||||
const cfJd = ref("");
|
const cfJd = ref("");
|
||||||
|
@ -434,10 +476,12 @@ const lx = () => {
|
||||||
if (is_type.value == "街道") {
|
if (is_type.value == "街道") {
|
||||||
ElMessageBox.confirm("是否切换至村社?")
|
ElMessageBox.confirm("是否切换至村社?")
|
||||||
.then(() => {
|
.then(() => {
|
||||||
console.log(is_type.value);
|
if (showEdit2.value) {
|
||||||
is_type.value = "村社";
|
ElMessage.warning("请先退出街道编辑模式");
|
||||||
csh();
|
} else {
|
||||||
console.log(is_type.value);
|
is_type.value = "村社";
|
||||||
|
csh();
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => {});
|
||||||
} else {
|
} else {
|
||||||
|
@ -600,6 +644,7 @@ const moveBack = () => {
|
||||||
addCsChoose();
|
addCsChoose();
|
||||||
move_mode.value = false;
|
move_mode.value = false;
|
||||||
drawing.value = false;
|
drawing.value = false;
|
||||||
|
BMAP();
|
||||||
};
|
};
|
||||||
//移动保存
|
//移动保存
|
||||||
const moveDK = async () => {
|
const moveDK = async () => {
|
||||||
|
@ -664,7 +709,6 @@ const openEdit = () => {
|
||||||
drawing.value = true;
|
drawing.value = true;
|
||||||
console.log(cs_choose_arr.value[0]);
|
console.log(cs_choose_arr.value[0]);
|
||||||
};
|
};
|
||||||
|
|
||||||
//保存编辑
|
//保存编辑
|
||||||
const saveEdit = async () => {
|
const saveEdit = async () => {
|
||||||
cs_choose_arr.value[0].disableEditing();
|
cs_choose_arr.value[0].disableEditing();
|
||||||
|
@ -684,6 +728,35 @@ const saveEdit = async () => {
|
||||||
console.log("arrJWD", arrJWD);
|
console.log("arrJWD", arrJWD);
|
||||||
saveDK();
|
saveDK();
|
||||||
};
|
};
|
||||||
|
const saveDK = async () => {
|
||||||
|
loadingss.value = true;
|
||||||
|
let sj = {
|
||||||
|
id: changeCsqkId.value,
|
||||||
|
data: JSON.stringify(arrJWD),
|
||||||
|
};
|
||||||
|
await http
|
||||||
|
.post(`/api/ggfwyth/regionalDivision/editVillage`, sj)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
ElMessage.success({
|
||||||
|
message: "保存成功",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
await getCssj();
|
||||||
|
await loadCs(cfJd.value);
|
||||||
|
cs_choose_arr.value.forEach((item, index) => {
|
||||||
|
map.removeOverlay(cs_choose_arr.value[index]);
|
||||||
|
});
|
||||||
|
chooseCsList.value.length = 0;
|
||||||
|
xkzDk.forEach((itemm, indexx) => {
|
||||||
|
if (itemm.name == cfCs.value) {
|
||||||
|
chooseCsList.value.push(itemm);
|
||||||
|
addCsChoose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
loadingss.value = false;
|
||||||
|
};
|
||||||
//取消编辑
|
//取消编辑
|
||||||
const closeEdit = async () => {
|
const closeEdit = async () => {
|
||||||
cs_choose_arr.value[0].disableEditing();
|
cs_choose_arr.value[0].disableEditing();
|
||||||
|
@ -693,6 +766,7 @@ const closeEdit = async () => {
|
||||||
addCsChoose();
|
addCsChoose();
|
||||||
edit_mode.value = false;
|
edit_mode.value = false;
|
||||||
drawing.value = false;
|
drawing.value = false;
|
||||||
|
BMAP();
|
||||||
};
|
};
|
||||||
//退出
|
//退出
|
||||||
const backEdit = () => {
|
const backEdit = () => {
|
||||||
|
@ -700,6 +774,71 @@ const backEdit = () => {
|
||||||
showEdit.value = false;
|
showEdit.value = false;
|
||||||
drawing.value = false;
|
drawing.value = false;
|
||||||
};
|
};
|
||||||
|
//开启编辑街道----------
|
||||||
|
const openEdit2 = () => {
|
||||||
|
map.removeEventListener("click", markera);
|
||||||
|
if (currentMarker !== null) {
|
||||||
|
map.removeOverlay(currentMarker);
|
||||||
|
}
|
||||||
|
arrJWD = [[[]]];
|
||||||
|
jd_choose_arr.value[0].enableEditing();
|
||||||
|
drawing.value = true;
|
||||||
|
console.log(jd_choose_arr.value[0]);
|
||||||
|
};
|
||||||
|
const saveEdit2 = async () => {
|
||||||
|
jd_choose_arr.value[0].disableEditing();
|
||||||
|
console.log(jd_choose_arr.value[0]);
|
||||||
|
for (const item of jd_choose_arr.value[0].points) {
|
||||||
|
if (item?.latLng) {
|
||||||
|
let arr1 = [];
|
||||||
|
arr1.push(item?.latLng.lng);
|
||||||
|
arr1.push(item?.latLng.lat);
|
||||||
|
arrJWD[0][0].push(arr1);
|
||||||
|
} else {
|
||||||
|
bd09(item.lng, item.lat);
|
||||||
|
//延迟0.1秒,保证convertor.translate执行完
|
||||||
|
await new Promise((resolve) => setTimeout(resolve, 300));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log("arrJWD", arrJWD);
|
||||||
|
saveDK2();
|
||||||
|
};
|
||||||
|
const saveDK2 = async () => {
|
||||||
|
loadingss.value = true;
|
||||||
|
let sj = {
|
||||||
|
id: changeJdqkId.value,
|
||||||
|
data: JSON.stringify(arrJWD),
|
||||||
|
};
|
||||||
|
console.log(sj);
|
||||||
|
|
||||||
|
await http
|
||||||
|
.post(`/api/ggfwyth/regionalDivision/updateTown`, sj)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
|
ElMessage.success({
|
||||||
|
message: "保存成功",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
await getXzsj();
|
||||||
|
await loadTown();
|
||||||
|
map.clearOverlays();
|
||||||
|
addPolygonCounty();
|
||||||
|
//添加街道名
|
||||||
|
addJd();
|
||||||
|
xrJd(cfJd.value);
|
||||||
|
loadingss.value = false;
|
||||||
|
};
|
||||||
|
const closeEdit2 = async () => {
|
||||||
|
jd_choose_arr.value[0].disableEditing();
|
||||||
|
jd_choose_arr.value.forEach((item, index) => {
|
||||||
|
map.removeOverlay(jd_choose_arr.value[index]);
|
||||||
|
});
|
||||||
|
addJdChoose();
|
||||||
|
showEdit2.value = false;
|
||||||
|
drawing.value = false;
|
||||||
|
};
|
||||||
|
//-----------------------------
|
||||||
//批量修改村社位置
|
//批量修改村社位置
|
||||||
// const shangchuan = async () => {
|
// const shangchuan = async () => {
|
||||||
// //上传地块0.00328
|
// //上传地块0.00328
|
||||||
|
@ -740,35 +879,7 @@ const backEdit = () => {
|
||||||
// }
|
// }
|
||||||
// };
|
// };
|
||||||
//上传编辑的地块
|
//上传编辑的地块
|
||||||
const saveDK = async () => {
|
|
||||||
loadingss.value = true;
|
|
||||||
let sj = {
|
|
||||||
id: changeCsqkId.value,
|
|
||||||
data: JSON.stringify(arrJWD),
|
|
||||||
};
|
|
||||||
await http
|
|
||||||
.post(`/api/ggfwyth/regionalDivision/editVillage`, sj)
|
|
||||||
.then((res) => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
ElMessage.success({
|
|
||||||
message: "保存成功",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
await getCssj();
|
|
||||||
await loadCs(cfJd.value);
|
|
||||||
cs_choose_arr.value.forEach((item, index) => {
|
|
||||||
map.removeOverlay(cs_choose_arr.value[index]);
|
|
||||||
});
|
|
||||||
chooseCsList.value.length = 0;
|
|
||||||
xkzDk.forEach((itemm, indexx) => {
|
|
||||||
if (itemm.name == cfCs.value) {
|
|
||||||
chooseCsList.value.push(itemm);
|
|
||||||
addCsChoose();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
loadingss.value = false;
|
|
||||||
};
|
|
||||||
//修改村名
|
//修改村名
|
||||||
const nameEdit = () => {
|
const nameEdit = () => {
|
||||||
dialogVisible.value = true;
|
dialogVisible.value = true;
|
||||||
|
@ -1088,8 +1199,6 @@ const csh = () => {
|
||||||
map.removeOverlay(currentMarker);
|
map.removeOverlay(currentMarker);
|
||||||
}
|
}
|
||||||
goMapCenter([119.178783, 29.034583], 11);
|
goMapCenter([119.178783, 29.034583], 11);
|
||||||
getData();
|
|
||||||
getDataBq();
|
|
||||||
};
|
};
|
||||||
//清空村社的数据
|
//清空村社的数据
|
||||||
const clear = () => {
|
const clear = () => {
|
||||||
|
@ -1125,6 +1234,7 @@ const clear = () => {
|
||||||
xkzCenter.length = 0;
|
xkzCenter.length = 0;
|
||||||
xkzDk.length = 0;
|
xkzDk.length = 0;
|
||||||
changeCsqkId.value = "";
|
changeCsqkId.value = "";
|
||||||
|
changeJdqkId.value = "";
|
||||||
};
|
};
|
||||||
//定义地图中点
|
//定义地图中点
|
||||||
const goMapCenter = (point, zoom) => {
|
const goMapCenter = (point, zoom) => {
|
||||||
|
@ -1159,7 +1269,11 @@ const markera = (e) => {
|
||||||
|
|
||||||
//-------乡镇街道级别---------
|
//-------乡镇街道级别---------
|
||||||
//加载乡镇信息
|
//加载乡镇信息
|
||||||
const loadTown = () => {
|
const loadTown = async () => {
|
||||||
|
mapTownDataDK.length = 0;
|
||||||
|
mapTownCount.forEach((item) => {
|
||||||
|
item.center = [];
|
||||||
|
});
|
||||||
for (let v of mapTown[0].features) {
|
for (let v of mapTown[0].features) {
|
||||||
if (v.geometry.coordinates.length > 1) {
|
if (v.geometry.coordinates.length > 1) {
|
||||||
for (let w in v.geometry.coordinates) {
|
for (let w in v.geometry.coordinates) {
|
||||||
|
@ -1247,11 +1361,15 @@ const addPolygonCounty = () => {
|
||||||
map.addOverlay(polygon);
|
map.addOverlay(polygon);
|
||||||
polygon.addEventListener("click", async () => {
|
polygon.addEventListener("click", async () => {
|
||||||
if (is_type.value == "街道") {
|
if (is_type.value == "街道") {
|
||||||
|
// if (showEdit2.value) {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
if (item.name == cfJd.value) {
|
if (item.name == cfJd.value) {
|
||||||
} else {
|
} else {
|
||||||
console.log(item.id);
|
console.log(item.id);
|
||||||
|
|
||||||
cfJd.value = item.name;
|
cfJd.value = item.name;
|
||||||
|
changeJdqkId.value = item.id;
|
||||||
// cs_qk_arr.value.forEach((item, index) => {
|
// cs_qk_arr.value.forEach((item, index) => {
|
||||||
// map.removeOverlay(cs_qk_arr.value[index]);
|
// map.removeOverlay(cs_qk_arr.value[index]);
|
||||||
// });
|
// });
|
||||||
|
@ -1419,6 +1537,11 @@ const addPolygonCountyCs = () => {
|
||||||
if (drawing.value) {
|
if (drawing.value) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
//编辑模式下
|
||||||
|
// if (showEdit.value) {
|
||||||
|
|
||||||
|
changeCsqkId.value = item.id;
|
||||||
|
// }
|
||||||
loadingss.value = true;
|
loadingss.value = true;
|
||||||
cs_dd_arr.value = [];
|
cs_dd_arr.value = [];
|
||||||
xuanzhongCs.value = [];
|
xuanzhongCs.value = [];
|
||||||
|
@ -1503,9 +1626,10 @@ const addCsUnChoose = () => {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//编辑模式下
|
//编辑模式下
|
||||||
if (showEdit.value) {
|
// if (showEdit.value) {
|
||||||
changeCsqkId.value = item.id;
|
|
||||||
}
|
changeCsqkId.value = item.id;
|
||||||
|
// }
|
||||||
//
|
//
|
||||||
loadingss.value = true;
|
loadingss.value = true;
|
||||||
cfCs.value = item.name;
|
cfCs.value = item.name;
|
||||||
|
@ -1659,11 +1783,11 @@ const DGcreateCs = (polygon, indexx) => {
|
||||||
});
|
});
|
||||||
map.addOverlay(cs_dd_arr.value[indexx]);
|
map.addOverlay(cs_dd_arr.value[indexx]);
|
||||||
cs_dd_arr.value[indexx].addEventListener("click", () => {
|
cs_dd_arr.value[indexx].addEventListener("click", () => {
|
||||||
if (jsqx.value) {
|
// if (jsqx.value) {
|
||||||
showEdit.value=true;
|
// showEdit.value = true;
|
||||||
changeCsqkId.value = polygon.id;
|
changeCsqkId.value = polygon.id;
|
||||||
} else {
|
// } else {
|
||||||
}
|
// }
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
//适配
|
//适配
|
||||||
|
@ -1894,4 +2018,18 @@ onMounted(async () => {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
}
|
}
|
||||||
|
.btnsopen {
|
||||||
|
cursor: pointer;
|
||||||
|
z-index: 100;
|
||||||
|
position: absolute;
|
||||||
|
color: #ffffff;
|
||||||
|
top: 20%;
|
||||||
|
left: 5%;
|
||||||
|
background: #7aceff;
|
||||||
|
padding: 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
Loading…
Reference in New Issue