站点接口联调

This commit is contained in:
小小 2025-05-09 09:21:05 +08:00
parent bc5c786c18
commit f7b5690d0d
7 changed files with 196 additions and 99 deletions

View File

@ -38,24 +38,25 @@
<label></label> <label></label>
</div> </div>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="还车半径:"> <!-- <uni-forms-item label="还车半径:">
<div class="divRow"> <div class="divRow">
<uni-easyinput v-model="formData.hcbj" /> <uni-easyinput v-model="formData.hcbj" />
<label></label> <label></label>
</div> </div>
</uni-forms-item> </uni-forms-item> -->
<uni-forms-item label="站点图片:"> <uni-forms-item label="站点图片:">
<div> <div>
<div class="divFontColor" style="margin: 10px 0px;">最多3张</div> <div class="divFontColor" style="margin: 10px 0px;">最多3张</div>
<uni-file-picker file-mediatype="image" mode="grid" file-extname="png,jpg" :limit="3" /> <uni-file-picker file-mediatype="image" mode="grid" file-extname="png,jpg" :limit="3"
@select="uploadfile" @delete="delfile" />
</div> </div>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="站点描述:"> <uni-forms-item label="站点描述:">
<uni-easyinput type="textarea" v-model="formData.zdms" /> <uni-easyinput type="textarea" v-model="formData.zdms" />
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="站点标签:"> <!-- <uni-forms-item label="站点标签:">
<uni-data-checkbox mode="button" multiple v-model="formData.zdbq" :localdata="arrZDBQ" /> <uni-data-checkbox mode="button" multiple v-model="formData.zdbq" :localdata="arrZDBQ" />
</uni-forms-item> </uni-forms-item> -->
</uni-forms> </uni-forms>
</scroll-view> </scroll-view>
@ -81,7 +82,8 @@
import * as map from "@/utils/map.js"; import * as map from "@/utils/map.js";
import QQMapWX from "@/utils/qqmap-wx-jssdk.js"; import QQMapWX from "@/utils/qqmap-wx-jssdk.js";
import { import {
callOperateApi callOperateApi,
fileUploadApi
} from "../../../utils/api"; } from "../../../utils/api";
var qqmapsdk = new QQMapWX({ var qqmapsdk = new QQMapWX({
@ -92,26 +94,11 @@
let height = ref("100%"); let height = ref("100%");
const opentype = ref("add"); const opentype = ref("add");
const arrZDLX = ref([{ const arrZDLX = ref([]);
text: "停车站点",
value: 1
}, {
text: "禁停站点",
value: 2
}]);
const arrZDJB = ref([{ const arrZDJB = ref([]);
text: "一级",
value: 1
}, {
text: "二级",
value: 2
}, {
text: "三级",
value: 3
}]);
const arrDDTF = ref([{ /* const arrDDTF = ref([{
text: "开启", text: "开启",
value: 1 value: 1
}, { }, {
@ -136,12 +123,14 @@
}, { }, {
text: "晚高峰", text: "晚高峰",
value: 2 value: 2
}]); }]); */
let arrPoint = []; let arrPoint = [];
let radius = null; let radius = null;
let regionid = null; let regionid = null;
let arrFile = [];
const formData = ref({ const formData = ref({
id:"",
name: "站点名称", name: "站点名称",
address: "", address: "",
zdlx: 1, zdlx: 1,
@ -174,15 +163,17 @@
function SaveData() { function SaveData() {
formRef.value.validate().then(res => { formRef.value.validate().then(res => {
console.log("66666666666666666666666666666", res, arrPoint, regionid, opentype.value,formData.value);
const { const {
name, name,
zdlx, zdlx,
zdjb, zdjb,
ktcl, ktcl,
zdkt, zdkt,
address zdms
} = res; } = res;
const {
address
} = formData.value;
let shapeType = 2; let shapeType = 2;
let points = null; let points = null;
let siteLng = null; let siteLng = null;
@ -208,8 +199,11 @@
shapeType, shapeType,
points, points,
siteLng, siteLng,
siteLat siteLat,
imageIds:arrFile,
describe:zdms
} }
callOperateApi("ebikeRegion/saveSite", params, "post").then(res => { callOperateApi("ebikeRegion/saveSite", params, "post").then(res => {
console.log("1111111111111111111", "/ebikeRegion/saveSite", params, res); console.log("1111111111111111111", "/ebikeRegion/saveSite", params, res);
const { const {
@ -218,7 +212,8 @@
message message
} = res; } = res;
if (code != 200) { if (code != 200) {
showModelMessage(message); showModelMessage("保存失败!");
console.log("ebikeRegion/saveSite", message);
return; return;
} else { } else {
showModelMessage("保存成功!"); showModelMessage("保存成功!");
@ -227,43 +222,124 @@
}) })
} }
}) })
// {
// "siteRegionId": 0,
// "operationRegionId": 0,
// "siteName": "string",
// "siteAdress": "string",
// "siteType": 0,
// "siteLevel": 0,
// "siteLng": 0,
// "siteLat": 0,
// "shapeType": 0,
// "radius": 0,
// "allowedParkingNum": 0,
// "allowedParkingMax": 0,
// "points": [
// {
// "longitude": 0,
// "latitude": 0
// },
// {
// "longitude": 0,
// "latitude": 0
// },
// {
// "longitude": 0,
// "latitude": 0
// }
// ]
// }
}).catch(res => {
console.log("7777777777777777777777", res);
}) })
} }
function showTip(title) { function showTip(title) {
showModelMessage(title); showModelMessage(title);
} }
//
function getZDLX() {
callOperateApi("ebikeRegion/siteType", null, "get").then(res => {
const {
code,
data,
message
} = res;
if (code != 200) {
console.log("ebikeRegion/siteType", message)
}
const arrData = [];
data.map(item => {
const {
siteTypeName,
siteTypeValue
} = item;
arrData.push({
text: siteTypeName,
value: siteTypeValue
})
})
arrZDLX.value = arrData;
})
}
//
function getZDJB(){
callOperateApi("ebikeRegion/siteLevelList", null, "get").then(res=>{
const {
code,
data,
message
} = res;
if (code != 200) {
console.log("ebikeRegion/siteLevelList", message)
}
const arrData = [];
data.map(item => {
const {
levelName,
levelValue
} = item;
arrData.push({
text: levelName,
value: levelValue
})
})
arrZDJB.value = arrData;
});
}
function uploadfile(e) {
fileUploadApi("operate/ebikeRegion/siteImagesUpload", e.tempFiles[0]).then(res => {
const {
code,
message,
data
} = res;
if (code != 200) {
console.log("uploadfile", message);
showModelMessage("上传失败!")
}
arrFile.push(data);
})
}
function delfile(e) {
const{index}=e;
arrFile.splice(index,1);
console.log("99999999999999999999999", e);
}
function getSiteInfo(id){
const params={
siteRegionId:id
}
callOperateApi("ebikeRegion/siteInfo",params,"get").then(res=>{
const{code,data,message}=res;
if(code!=200){
showModelMessage("获取数据失败!");
console.log("ebikeRegion/siteInfo",message);
}
const{siteRegionId:id,operationRegionId,siteName,siteAdress,siteType,siteLevel,siteLng,siteLat,shapeType,radius:r,points
,allowedParkingNum,allowedParkingMax,describe,images}=data;
regionid=operationRegionId;
radius=r;
if(shapeType=="2"){
arrPoint=points;
}
else{
arrPoint=[{longitude:siteLng,latitude:siteLat}]
}
formData.value={
id,
name:siteName,
address:siteAdress,
zdlx:siteType,
zdjb:siteLevel,
ktcl:allowedParkingNum,
zdkt: allowedParkingMax,
//hcbj: 10,
zdms: describe,
//zdbq: [1],
// zdtf: 1,
// zdxs: 1
}
})
}
onLoad(options => { onLoad(options => {
const { const {
id, id,
@ -300,7 +376,6 @@
} = arrPoint[0]; } = arrPoint[0];
if (type == "add") { if (type == "add") {
map.reverseGeocoder(qqmapsdk, longitude, latitude, (res) => { map.reverseGeocoder(qqmapsdk, longitude, latitude, (res) => {
console.log("3333333333333", "reverseGeocoder", longitude, latitude, res)
const { const {
address, address,
formatted_addresses: { formatted_addresses: {
@ -317,7 +392,15 @@
}) })
} }
} }
if(arrZDLX.value.length==0){
getZDLX();
}
if(arrZDJB.value.length==0){
getZDJB();
}
if(id&&!points){
getSiteInfo(id);
}
}); });
</script> </script>

View File

@ -27,11 +27,13 @@
} }
.divTool { .divTool {
position: absolute;
right: 10px;
} }
.divListItem {
line-height: 30px;
font-size: 14px;
display: flex;
}
.divListItemType { .divListItemType {
background: #00AD64; background: #00AD64;
@ -42,6 +44,7 @@
} }
.divListItemSite { .divListItemSite {
flex: 1;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -51,11 +54,7 @@
font-weight: bold; font-weight: bold;
} }
.divListItem {
line-height: 30px;
font-size: 14px;
display: flex;
}
.divListItemTitle { .divListItemTitle {
color: rgba(128 128 128, 0.9); color: rgba(128 128 128, 0.9);

View File

@ -1,7 +1,7 @@
<template> <template>
<div style="background-color:#F2F2F2;height: 100vh;"> <div style="background-color:#F2F2F2;height: 100vh;">
<div style="display:flex;padding: 10px;"> <div style="display:flex;padding: 10px;">
<uni-easyinput placeholder="请输入站点名称" suffixIcon="search" /> <uni-easyinput v-model="siteName" placeholder="请输入站点名称" suffixIcon="search" @iconClick="search"/>
<label style="margin-left: 10px;" @click="openMap"> <label style="margin-left: 10px;" @click="openMap">
<uni-icons custom-prefix="iconfont" type="icon-ebikeditu2" color="#1b1a1a" size="40" /> <uni-icons custom-prefix="iconfont" type="icon-ebikeditu2" color="#1b1a1a" size="40" />
</label> </label>
@ -120,10 +120,10 @@
let pageSize = 10; let pageSize = 10;
let selData=null; let selData=null;
let loadType=""; let loadType="";
let siteName = ""; // let siteName = ref(""); //
function search(e) { function search(e) {
console.log("111111111111111", e); console.log("111111111111111","search", e,siteName.value);
} }
// //
@ -164,10 +164,14 @@
function delSite(data) { function delSite(data) {
console.log("0000000000000",data); console.log("0000000000000",data);
const{id,pageNum:pn,index}=data; const{id,pageNum:pn,index,zdmc}=data;
const params={ const params={
ids:[id] ids:[id]
} }
showModelMessage(`确认删除站点:${zdmc}`,null,true).then((res)=>{
const{cancel,confirm}=res;
if(cancel) return;
callOperateApi("ebikeRegion/delSite",params,"post").then(res=>{ callOperateApi("ebikeRegion/delSite",params,"post").then(res=>{
console.log("11111111111111111111111", "ebikeRegion/delSite", res); console.log("11111111111111111111111", "ebikeRegion/delSite", res);
const { const {
@ -176,13 +180,18 @@
message message
} = res; } = res;
if (code != 200) { if (code != 200) {
showModelMessage("删除失败!");
console.log("ebikeRegion/delSite错误", message) console.log("ebikeRegion/delSite错误", message)
return; return;
} }
selData=data; selData=data;
loadType="del"; loadType="del";
loadData(pn); loadData(pn,()=>{
showModelMessage("删除成功!");
});
}) })
})
} }
function loadData(pn,callbak) { function loadData(pn,callbak) {
@ -190,10 +199,10 @@
zoneId, zoneId,
pageNum:pn, pageNum:pn,
pageSize, pageSize,
siteName siteName:siteName.value
} }
callOperateApi("ebikeRegion/pageSite", params, "get").then(res => { callOperateApi("ebikeRegion/pageSite", params, "get").then(res => {
console.log("11111111111111111111111", "ebikeRegion/pageSite", res); console.log("11111111111111111111111", "ebikeRegion/pageSite", res,loadType);
const { const {
code, code,
data, data,
@ -206,13 +215,12 @@
const { const {
records records
} = data; } = data;
const arrNewData=_.cloneDeep(arrData.value); const arrNewData=cloneDeep(arrData.value);
if(loadType=="del"){ if(loadType=="del"){
const{index}=selData; const{index}=selData;
if(pageNum>pn){ if(pageNum>pn){
// arrNewData.splice(index,); arrNewData.splice(index,arrNewData.length-index);
} }
} }
records.map((item,index) => { records.map((item,index) => {
const { const {
@ -220,14 +228,15 @@
siteName, siteName,
createdTime, createdTime,
allowedParkingNum, allowedParkingNum,
siteAdress siteAdress,levelName
} = item; } = item;
const sindex=(pn-1)*pageSize+index; const sindex=(pn-1)*pageSize+index;
const newdata = { const newdata = {
id: siteRegionId, id: siteRegionId,
zdlx: "停", // zdlx: "停", //
zdmc: siteName, // zdmc: siteName, //
zdjb: "1级", // zdjb: levelName, //
cjsj: createdTime, // cjsj: createdTime, //
clsl1: 0, // clsl1: 0, //
clsl2: allowedParkingNum, // clsl2: allowedParkingNum, //
@ -238,6 +247,7 @@
pageNum, pageNum,
index:sindex index:sindex
} }
console.log("666666666666666666",newdata);
arrNewData[sindex]=newdata; arrNewData[sindex]=newdata;
}); });
arrData.value=arrNewData; arrData.value=arrNewData;

View File

@ -176,6 +176,7 @@
} }
function mapTap(e) { function mapTap(e) {
console.log("9999999999999999","mapTap",e);
if (!showDraw.value) return; if (!showDraw.value) return;
const { const {
detail: { detail: {
@ -444,7 +445,6 @@
} }
function showMapSite(showSite) { function showMapSite(showSite) {
debugger;
const { const {
arrCircles=[], arrCircles=[],
arrPolygons=[] arrPolygons=[]

View File

@ -54,3 +54,7 @@ export const callOrdereApi = (url, parmas = {}, method = 'post') => {
export const callMaintenanceApi = (url, parmas = {}, method = 'post') => { export const callMaintenanceApi = (url, parmas = {}, method = 'post') => {
return HttpRequest(baseUrl + "maintenance/" + url, method, parmas); return HttpRequest(baseUrl + "maintenance/" + url, method, parmas);
} }
export const fileUploadApi = (url,file) => {
return HttpFileUpload(baseUrl + url, file);
}

View File

@ -1,6 +1,6 @@
const config = { const config = {
apiUrl: "http://192.168.2.156:10010/", //apiUrl: "http://192.168.2.151:10010/",
//apiUrl: "https://www.cdzhuojing.cn/", apiUrl: "https://www.cdzhuojing.cn/",
cdnPath: "/", cdnPath: "/",
ERR_OK: 200, ERR_OK: 200,
sm2PublicKey: "04f5084ee12767d932f293508e30e3b0100185042ec0f061dedaf92b793b93f79fd6179d5e47e25b7aec98e00cf90dd56df1f8191012537187e7bbfd2d1de299fc", //f8209a2ebe6691e41e1f2b667bfe71f0b511716cc0f7c4452502fc12ec3957e4 sm2PublicKey: "04f5084ee12767d932f293508e30e3b0100185042ec0f061dedaf92b793b93f79fd6179d5e47e25b7aec98e00cf90dd56df1f8191012537187e7bbfd2d1de299fc", //f8209a2ebe6691e41e1f2b667bfe71f0b511716cc0f7c4452502fc12ec3957e4

View File

@ -307,7 +307,7 @@ export function getRegionData(arrRegionID, callback) {
} = data; } = data;
arrData.push(data); arrData.push(data);
const scolor = "#58d4c0"; const scolor = "#58d4c0";
const fcolor = "#c1f5f1"; const fcolor = "#c1f5f138";
if (shapeType == 1) { if (shapeType == 1) {
const { const {
longitude: lng, longitude: lng,
@ -316,6 +316,7 @@ export function getRegionData(arrRegionID, callback) {
arrCircles.push(addCirle(scolor, fcolor, lng, lat, radius)); arrCircles.push(addCirle(scolor, fcolor, lng, lat, radius));
arrCirclesData.push(data); arrCirclesData.push(data);
} else if (shapeType == 2) { } else if (shapeType == 2) {
if(!points) return;
const arrPoint = points.map(p => { const arrPoint = points.map(p => {
return { return {
longitude: p.longitude, longitude: p.longitude,