站点接口联调

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>
</div>
</uni-forms-item>
<uni-forms-item label="还车半径:">
<!-- <uni-forms-item label="还车半径:">
<div class="divRow">
<uni-easyinput v-model="formData.hcbj" />
<label></label>
</div>
</uni-forms-item>
</uni-forms-item> -->
<uni-forms-item label="站点图片:">
<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>
</uni-forms-item>
<uni-forms-item label="站点描述:">
<uni-easyinput type="textarea" v-model="formData.zdms" />
</uni-forms-item>
<uni-forms-item label="站点标签:">
<!-- <uni-forms-item label="站点标签:">
<uni-data-checkbox mode="button" multiple v-model="formData.zdbq" :localdata="arrZDBQ" />
</uni-forms-item>
</uni-forms-item> -->
</uni-forms>
</scroll-view>
@ -81,7 +82,8 @@
import * as map from "@/utils/map.js";
import QQMapWX from "@/utils/qqmap-wx-jssdk.js";
import {
callOperateApi
callOperateApi,
fileUploadApi
} from "../../../utils/api";
var qqmapsdk = new QQMapWX({
@ -92,26 +94,11 @@
let height = ref("100%");
const opentype = ref("add");
const arrZDLX = ref([{
text: "停车站点",
value: 1
}, {
text: "禁停站点",
value: 2
}]);
const arrZDLX = ref([]);
const arrZDJB = ref([{
text: "一级",
value: 1
}, {
text: "二级",
value: 2
}, {
text: "三级",
value: 3
}]);
const arrZDJB = ref([]);
const arrDDTF = ref([{
/* const arrDDTF = ref([{
text: "开启",
value: 1
}, {
@ -136,12 +123,14 @@
}, {
text: "晚高峰",
value: 2
}]);
}]); */
let arrPoint = [];
let radius = null;
let regionid = null;
let arrFile = [];
const formData = ref({
id:"",
name: "站点名称",
address: "",
zdlx: 1,
@ -174,15 +163,17 @@
function SaveData() {
formRef.value.validate().then(res => {
console.log("66666666666666666666666666666", res, arrPoint, regionid, opentype.value,formData.value);
const {
name,
zdlx,
zdjb,
ktcl,
zdkt,
address
zdms
} = res;
const {
address
} = formData.value;
let shapeType = 2;
let points = null;
let siteLng = null;
@ -208,17 +199,21 @@
shapeType,
points,
siteLng,
siteLat
siteLat,
imageIds:arrFile,
describe:zdms
}
callOperateApi("ebikeRegion/saveSite", params, "post").then(res => {
console.log("1111111111111111111", "/ebikeRegion/saveSite", params,res);
console.log("1111111111111111111", "/ebikeRegion/saveSite", params, res);
const {
code,
data,
message
} = res;
if (code != 200) {
showModelMessage(message);
showModelMessage("保存失败!");
console.log("ebikeRegion/saveSite", message);
return;
} else {
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) {
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 => {
const {
id,
@ -300,7 +376,6 @@
} = arrPoint[0];
if (type == "add") {
map.reverseGeocoder(qqmapsdk, longitude, latitude, (res) => {
console.log("3333333333333", "reverseGeocoder", longitude, latitude, res)
const {
address,
formatted_addresses: {
@ -317,7 +392,15 @@
})
}
}
if(arrZDLX.value.length==0){
getZDLX();
}
if(arrZDJB.value.length==0){
getZDJB();
}
if(id&&!points){
getSiteInfo(id);
}
});
</script>

View File

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

View File

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

View File

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

View File

@ -54,3 +54,7 @@ export const callOrdereApi = (url, parmas = {}, method = 'post') => {
export const callMaintenanceApi = (url, parmas = {}, method = 'post') => {
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 = {
apiUrl: "http://192.168.2.156:10010/",
//apiUrl: "https://www.cdzhuojing.cn/",
//apiUrl: "http://192.168.2.151:10010/",
apiUrl: "https://www.cdzhuojing.cn/",
cdnPath: "/",
ERR_OK: 200,
sm2PublicKey: "04f5084ee12767d932f293508e30e3b0100185042ec0f061dedaf92b793b93f79fd6179d5e47e25b7aec98e00cf90dd56df1f8191012537187e7bbfd2d1de299fc", //f8209a2ebe6691e41e1f2b667bfe71f0b511716cc0f7c4452502fc12ec3957e4

View File

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