From 6c61cd13f9fa10e350529a2c3d0a917a46c17b83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=9C=B1?= <2671189764@qq.com> Date: Wed, 23 Apr 2025 18:03:49 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E6=8A=95=E6=94=BE?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E8=B0=83=E5=BA=A6=E5=B7=A5=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ebike-maintenance/pages.json | 8 ++ .../pages/warehouse/ebikehouse/ebikehouse.vue | 10 +- .../warehouse/ebikehouse/vehicleoperation.vue | 114 ++++++++++++------ .../vehicledispatch/vehicledispatch.vue | 75 ++++++++++++ 4 files changed, 166 insertions(+), 41 deletions(-) create mode 100644 ebike-maintenance/pages/warehouse/vehicledispatch/vehicledispatch.vue diff --git a/ebike-maintenance/pages.json b/ebike-maintenance/pages.json index deeae79..b5d0c26 100644 --- a/ebike-maintenance/pages.json +++ b/ebike-maintenance/pages.json @@ -357,6 +357,14 @@ "navigationBarTitleText": "审核用户报障" } }] + }, { + "root": "pages/warehouse/vehicledispatch", + "pages": [{ + "path": "vehicledispatch", + "style": { + "navigationBarTitleText": "车辆调度" + } + }] } ], diff --git a/ebike-maintenance/pages/warehouse/ebikehouse/ebikehouse.vue b/ebike-maintenance/pages/warehouse/ebikehouse/ebikehouse.vue index 23c5de4..648a162 100644 --- a/ebike-maintenance/pages/warehouse/ebikehouse/ebikehouse.vue +++ b/ebike-maintenance/pages/warehouse/ebikehouse/ebikehouse.vue @@ -192,11 +192,11 @@ const statusBarHeight = systemInfo.statusBarHeight; // 计算去掉状态栏后的可用区域高度 usableHeight.value = screenHeight - statusBarHeight - 170; - let userZone = uni.getStorageSync('userZone'); - userZone.forEach(res => { + let userOperation = uni.getStorageSync('userOperation'); + userOperation.forEach(res => { let quyuemap = { - "text": res.name, - "value": res.id + "text": res.regionName, + "value": res.regionId }; regindata.value.push(quyuemap); }); @@ -240,7 +240,7 @@ const params = { "bikeCode": customFormData.value.deviceValues, //车辆编号 "status": statusZT.value, //入库时间 例:2025-03-21 - "regionId":customFormData.reginvalue + "reginId":customFormData.value.reginvalue } api.callEbikeInfo("vehicleLeaveWarehouse", params).then((res) => { if (res.code == 200) { diff --git a/ebike-maintenance/pages/warehouse/ebikehouse/vehicleoperation.vue b/ebike-maintenance/pages/warehouse/ebikehouse/vehicleoperation.vue index 317e91b..a652aa8 100644 --- a/ebike-maintenance/pages/warehouse/ebikehouse/vehicleoperation.vue +++ b/ebike-maintenance/pages/warehouse/ebikehouse/vehicleoperation.vue @@ -83,7 +83,7 @@ - + @@ -189,19 +189,20 @@ // getUserRegionInfo(); let userDefultOperation = uni.getStorageSync('userDefultOperation'); //获取站点信息 - api.callOperateApi("ebikeRegion/getRegion?regionId="+userDefultOperation.regionId,{} ,"get").then(res=>{ - if(res.code==200){ - res.data.forEach(res => { - let quyuemap = { - "text": res.regionName, - "value": res.regionId - }; - regindata.value.push(quyuemap); - }); - } - }) + api.callOperateApi("ebikeRegion/getRegion?regionId=" + userDefultOperation.regionId, {}, "get").then( + res => { + if (res.code == 200) { + res.data.forEach(res => { + let quyuemap = { + "text": res.regionName, + "value": res.regionId + }; + regindata.value.push(quyuemap); + }); + } + }) + - }); const getUserRegionInfo = () => { @@ -243,37 +244,78 @@ }); }; - const submit = (ref) => { customForm.value.validate().then(res => { - const params = { - "bikeCode": customFormData.value.deviceValues, //车辆编号 - "status": statusZT.value, //入库时间 例:2025-03-21 - } - api.callEbikeInfo("vehicleLeaveWarehouse", params).then((res) => { - if (res.code == 200) { - popup.value.close("center") - uni.showToast({ - title: '操作成功', - icon: 'success', - duration: 2000 - }); - searchInfo(); - } else { - - uni.showToast({ - title: '操作失败', - icon: 'error', - duration: 2000 - }); - } - + if (statusZT.value == 0) { // 下架 + handleLeaveWarehouse(); + } else { // 投放 + + uni.navigateTo({ + url:"/pages/warehouse/vehicledispatch/vehicledispatch?orderId=272553556257517568" }) + // handleLaunch(); + } }).catch(err => { console.log('err', err); + }); + } + + // 处理下架逻辑 + const handleLeaveWarehouse = () => { + const params = { + "bikeCode": customFormData.value.deviceValues, // 车辆编号 + "status": statusZT.value, + "reginId": "" + } + api.callEbikeInfo("vehicleLeaveWarehouse", params).then((res) => { + if (res.code == 200) { + popup.value.close("center"); + uni.showToast({ + title: '操作成功', + icon: 'success', + duration: 2000 + }); + searchInfo(); + } else { + uni.showToast({ + title: '操作失败', + icon: 'error', + duration: 2000 + }); + } }) } + // 处理投放逻辑 + const handleLaunch = () => { + // 在这里编写投放的具体逻辑 + console.log('投放逻辑执行'); + const params={ + "bikeCodes": customFormData.value.deviceValues, // 车辆编号 + "status": statusZT.value, + "siteId": customFormData.value.reginvalue, + "DispatchType":"仓库车调度" + } + // 例如,调用API处理投放 + api.callEbikeInfo("createWorkOrderDispatch",params).then((res) => { + if (res.code == 200) { + popup.value.close("center"); + uni.showToast({ + title: '操作成功', + icon: 'success', + duration: 2000 + }); + } else { + uni.showToast({ + title: '操作失败', + icon: 'error', + duration: 2000 + }); + } + }) + } + + const onPullDownRefresh = () => { console.log('onPullDownRefresh') diff --git a/ebike-maintenance/pages/warehouse/vehicledispatch/vehicledispatch.vue b/ebike-maintenance/pages/warehouse/vehicledispatch/vehicledispatch.vue new file mode 100644 index 0000000..3c8ed45 --- /dev/null +++ b/ebike-maintenance/pages/warehouse/vehicledispatch/vehicledispatch.vue @@ -0,0 +1,75 @@ + + + + + \ No newline at end of file From c0c85175e6f86e0510cf7ec86db827f22ea22103 Mon Sep 17 00:00:00 2001 From: LHG <553198475@qq.com> Date: Wed, 23 Apr 2025 18:08:45 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=93=81=E7=89=8C=E5=95=86=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/user/scan/applysite.vue | 13 +- ebike-operate/src/pages.js | 4 +- ebike-operate/src/utils/config.js | 1 + .../src/views/BackManage/BackSite/index.vue | 28 +- ebike-operate/src/views/Layout/index.vue | 16 +- .../src/views/Produce/BatteryQRCode/index.vue | 2 +- .../src/views/Produce/BikeQRCode/index.vue | 2 +- .../src/views/Produce/CompProduce/index.vue | 2 +- .../src/views/Produce/HelmetQRCode/index.vue | 2 +- .../src/views/SysManage/OrgManage/index.vue | 158 +++++++++ .../src/views/form/backsite/BackSiteForm.vue | 262 ++++++++++----- .../form/operateregion/OperateAddForm.vue | 38 ++- .../src/views/form/orgmanage/orgform.vue | 305 ++++++++++++++++++ 13 files changed, 725 insertions(+), 108 deletions(-) create mode 100644 ebike-operate/src/views/SysManage/OrgManage/index.vue create mode 100644 ebike-operate/src/views/form/orgmanage/orgform.vue diff --git a/ebike-maintenance/pages/user/scan/applysite.vue b/ebike-maintenance/pages/user/scan/applysite.vue index b9522f9..7612538 100644 --- a/ebike-maintenance/pages/user/scan/applysite.vue +++ b/ebike-maintenance/pages/user/scan/applysite.vue @@ -45,7 +45,8 @@ const data = ref({ site: "", - reason: "" + reason: "", + zoneName:"" }); let oUser = null; @@ -77,11 +78,15 @@ location: { lat, lng + }, + ad_info:{ + district } } = res; data.value = { ...data.value, site: address, + zoneName: district, lat, lng }; @@ -104,7 +109,8 @@ site, reason, lat, - lng + lng, + zoneName } = data.value; if(!reason){ showModelMessage("请填写原因!"); @@ -125,7 +131,8 @@ applyNickname: nickname, applyPhone: mobile, applyReason: reason, - dealState: '0' + dealState: '0', + zoneName } uni.showLoading({ title:"提交中" diff --git a/ebike-operate/src/pages.js b/ebike-operate/src/pages.js index b77165c..d30cf45 100644 --- a/ebike-operate/src/pages.js +++ b/ebike-operate/src/pages.js @@ -71,8 +71,8 @@ const pages = [ path: '/SysManage', name: '系统管理', children: [{ - path: '/UserTree', - name: '用户管理', + path: '/OrgManage', + name: '品牌商管理', isMenu: true } ] diff --git a/ebike-operate/src/utils/config.js b/ebike-operate/src/utils/config.js index d7fe41d..f31c5f9 100644 --- a/ebike-operate/src/utils/config.js +++ b/ebike-operate/src/utils/config.js @@ -12,5 +12,6 @@ const config = { pageSize: 10, pageSizeOptions: ['10', '5'] } + ,imgPath:"https://attiya.fun/ebike-file/cdn-bucket/operate/" } export default config; diff --git a/ebike-operate/src/views/BackManage/BackSite/index.vue b/ebike-operate/src/views/BackManage/BackSite/index.vue index 3934abd..0ed8893 100644 --- a/ebike-operate/src/views/BackManage/BackSite/index.vue +++ b/ebike-operate/src/views/BackManage/BackSite/index.vue @@ -49,14 +49,13 @@ {{ record.dealState == '0' ? '未处理' : record.dealState == '1' ? '处理中' : record.dealState == '2' ? '已处理' : '' }} @@ -66,6 +65,7 @@ v-model:open="open" :title="openTitle" @ok="handleOkModal" + @cancel="handleCancelModal" width="800px" :maskClosable="false" > @@ -78,6 +78,7 @@ import { message } from 'ant-design-vue' import config from '@/utils/config.js' import { dataFormat } from '@/utils/tools' +import { getCache } from '@/utils/authority'; import BackSiteForm from '@/views/form/backsite/BackSiteForm.vue' const activeKey = ref(''); @@ -92,6 +93,7 @@ const data = ref([]) // 查询相关 const queryform = ref({ + regionId: '', state: '', startTime: '', endTime: '', @@ -118,7 +120,7 @@ // 表格列配置 const columns = ref([ { - title: '编号', + title: '序号', key: 'index', width: 70, align: 'center', @@ -207,6 +209,9 @@ queryparams.endTime = dataFormat(queryparams.backTime[1], 'yyyy-MM-dd HH:mm:ss'); } delete queryparams.backTime; + //获取默认区域 + const userdefultoperation = getCache('ebike-userdefultoperation'); + queryparams.regionId = userdefultoperation.regionId; const res = await callOrder("/ebikeUserBacksite/page", queryparams); spinning.value = false; if (res.code != 200) { @@ -248,7 +253,7 @@ open.value = true; nextTick(() => { if (formModel.value) { - formModel.value.openForm({ backsiteid: record['id'] }); + formModel.value.openForm({ ...record }); } else { console.log('formModel is not ready yet'); } @@ -259,8 +264,17 @@ * 处理停车点申请modal确定 */ const handleOkModal = () => { - formModel.value.formSave((data => { + formModel.value.formSave(bres => { open.value = false; - })); + if(bres){ + getData() + } + }); } - \ No newline at end of file + + const handleCancelModal = () => { + formModel.value.resetAll(bres => { + if(bres) open.value = false; + }); + } + \ No newline at end of file diff --git a/ebike-operate/src/views/Layout/index.vue b/ebike-operate/src/views/Layout/index.vue index 0c01ecc..f82cd1a 100644 --- a/ebike-operate/src/views/Layout/index.vue +++ b/ebike-operate/src/views/Layout/index.vue @@ -51,11 +51,13 @@ -->
- - 当前区域:{{ userdfrname }} - - - + { //获取默认区域 const userdefultoperation = getCache('ebike-userdefultoperation'); - userdfrname.value = userdefultoperation.regionName ? userdefultoperation.regionName : ''; + if(userdefultoperation){ + userdfrname.value = userdefultoperation.regionName ? userdefultoperation.regionName : ''; + } const menus = getMenus() items.value = menus diff --git a/ebike-operate/src/views/Produce/BatteryQRCode/index.vue b/ebike-operate/src/views/Produce/BatteryQRCode/index.vue index 1e68538..78e883a 100644 --- a/ebike-operate/src/views/Produce/BatteryQRCode/index.vue +++ b/ebike-operate/src/views/Produce/BatteryQRCode/index.vue @@ -142,7 +142,7 @@ align: 'center' }, { - title: '编号', + title: '序号', key: 'index', width: 70, align: 'center', diff --git a/ebike-operate/src/views/Produce/BikeQRCode/index.vue b/ebike-operate/src/views/Produce/BikeQRCode/index.vue index 72dc081..132b54b 100644 --- a/ebike-operate/src/views/Produce/BikeQRCode/index.vue +++ b/ebike-operate/src/views/Produce/BikeQRCode/index.vue @@ -145,7 +145,7 @@ align: 'center' }, { - title: '编号', + title: '序号', key: 'index', width: 70, align: 'center', diff --git a/ebike-operate/src/views/Produce/CompProduce/index.vue b/ebike-operate/src/views/Produce/CompProduce/index.vue index 41a383c..0f2e367 100644 --- a/ebike-operate/src/views/Produce/CompProduce/index.vue +++ b/ebike-operate/src/views/Produce/CompProduce/index.vue @@ -164,7 +164,7 @@ let pagination = reactive({ // 表格列配置 const columns = ref([ { - title: '编号', + title: '序号', key: 'index', width: 70, align: 'center', diff --git a/ebike-operate/src/views/Produce/HelmetQRCode/index.vue b/ebike-operate/src/views/Produce/HelmetQRCode/index.vue index 55eed5c..a2bce15 100644 --- a/ebike-operate/src/views/Produce/HelmetQRCode/index.vue +++ b/ebike-operate/src/views/Produce/HelmetQRCode/index.vue @@ -142,7 +142,7 @@ align: 'center' }, { - title: '编号', + title: '序号', key: 'index', width: 70, align: 'center', diff --git a/ebike-operate/src/views/SysManage/OrgManage/index.vue b/ebike-operate/src/views/SysManage/OrgManage/index.vue new file mode 100644 index 0000000..ed56c34 --- /dev/null +++ b/ebike-operate/src/views/SysManage/OrgManage/index.vue @@ -0,0 +1,158 @@ + + \ No newline at end of file diff --git a/ebike-operate/src/views/form/backsite/BackSiteForm.vue b/ebike-operate/src/views/form/backsite/BackSiteForm.vue index 7a4ab1b..11f1217 100644 --- a/ebike-operate/src/views/form/backsite/BackSiteForm.vue +++ b/ebike-operate/src/views/form/backsite/BackSiteForm.vue @@ -77,8 +77,6 @@ :options="options" @map_inited="onMapInited" > - -
@@ -106,9 +104,9 @@ label="备注" :label-col="{ span: 3 }" :wrapper-col="{ span: 21 }" - name="dealNotes" + name="dealNote" > - + @@ -119,7 +117,9 @@ import { ref } from 'vue' import { callOrder, callOperate } from '@/apis/call.js' import { message } from 'ant-design-vue' - import config from '@/utils/config.js' + import config from '@/utils/config.js' + import { dataFormat } from '@/utils/tools' + import { getCache } from '@/utils/authority'; const formRef = ref(); const formData = () => ({ @@ -132,12 +132,13 @@ applyPhone: "", applyTime: "", applyReason: "", - regionId: "267781609627852800", + regionId: "", regionName: "", + dealId: "", dealState: "", dealUser: "", dealTime: "", - dealNotes: "" + dealNote: "" }); const form = ref(formData()); @@ -161,37 +162,53 @@ }; const openForm = (params = {}) => { - Object.assign(form.value, formData()); - formRef.value.resetFields(); - if (params['backsiteid']) { - form.value.id = params['backsiteid'] - callOrder("/ebikeUserBacksite/getInfo?id="+ params['backsiteid'], {}, "get").then(res => { - if (res.code == 200) { - if (res.data) { - form.value = { - id: res.data.id, - applySource: res.data.applySource, - applyPosition: res.data.applyPosition, - applyLng: res.data.applyLng, - applyLat: res.data.applyLat, - applyNickname: res.data.applyNickname, - applyPhone: res.data.applyPhone, - applyTime: res.data.applyTime, - applyReason: res.data.applyReason, - }; - } - } else { - message.error(res.message); - } - }); + // Object.assign(form.value, formData()); + // formRef.value.resetFields(); + form.value = { + ...formData(), + ...params, } - - if(form.value.regionId != ""){ - callOperate("/ebikeRegion/getRegionInfo/" + form.value.regionId, {}, "get").then((res) => { + form.value.dealState = params['dealState'] == '0'? '' : params['dealState'] + loadMarker(); + // if (params['id']) { + // form.value.id = params['id'] + // callOrder("/ebikeUserBacksite/getInfo?id="+ params['id'], {}, "get").then(res => { + // if (res.code == 200) { + // if (res.data) { + // form.value = { + // ...form.value, + // id: res.data.id, + // applySource: res.data.applySource, + // applyPosition: res.data.applyPosition, + // applyLng: res.data.applyLng, + // applyLat: res.data.applyLat, + // applyNickname: res.data.applyNickname, + // applyPhone: res.data.applyPhone, + // applyTime: res.data.applyTime, + // applyReason: res.data.applyReason, + // }; + // loadMarker(); + // } + // } else { + // message.error(res.message); + // } + // }); + // } + // if (params['dealId']) { + // form.value.dealId = params['dealId'] + // form.value.dealNote = params['dealNote'] + // form.value.dealState = params['dealState'] == '0'? '' : params['dealState'] + // form.value.dealTime = params['dealTime'] + // form.value.dealUser = params['dealUser'] + // } + if(params['regionId'] != ""){ + form.value.regionId = params['regionId'] + callOperate("/ebikeRegion/getRegionInfo/" + params['regionId'], {}, "get").then((res) => { if (res.code != 200) { message.error(res.message) return } + form.value.regionName = res.data.regionName; dataRegion.value = res.data; loadMap(); }); @@ -200,11 +217,10 @@ const polygonRef = ref(null); const circleRef = ref(null); - const polygonGeometries = ref([]); - const circleGeometries = ref([]); + const markerRef = ref(null); let timer = null; const loadMap = () => { - if (mapRef.value && typeof(TMap) !== 'undefined') { + if (mapRef.value && mapRef.value.map && typeof(TMap) !== 'undefined') { clearTimeout(timer); if (dataRegion.value) { const { regionId ,points, shapeType, radius } = dataRegion.value; @@ -214,35 +230,63 @@ } if (points) { if(shapeType == 1){ - // 设置圆形 - circleGeometries.value = []; - circleGeometries.value.push({ - id: shapeId, // 圆形图形数据的标志信息 - styleId: 'circle', // 样式id - radius: radius, // 圆形的半径 - center: new TMap.LatLng(points[0].latitude, points[0].longitude), - properties: { - // 圆形的属性数据 - title: 'circle', - }, + // 初始化圆形 + if (circleRef.value) { + circleRef.value.setMap(null); // 清除之前的圆形 + } + circleRef.value = new TMap.MultiCircle({ + id: 'circle-layer', // 图层id + geometries: [ + { + id: shapeId, // 圆形图形数据的标志信息 + styleId: 'circle', // 样式id + center: new TMap.LatLng(points[0].latitude, points[0].longitude), // 圆形的位置信息 + radius: radius, // 圆形的半径 + properties: { + // 圆形的属性数据 + title: 'circle', + }, + } + ] }); + circleRef.value.setMap(mapRef.value.map); + // //设置视野范围 + // const mycircle = circleRef.value.getGeometryById(shapeId); + // const boundary = TMap.geometry.computeBoundingRectangle(mycircle.paths); + // mapRef.value.map.fitBounds(boundary,{ + // padding: 100, // 设置地图边界的内边距 + // }); } else if(shapeType == 2){ const paths = []; points.forEach((point) => { paths.push(new TMap.LatLng(point.latitude, point.longitude)); }); - // 设置多边形 - polygonGeometries.value = []; - polygonGeometries.value.push({ - id: shapeId, // 多边形图形数据的标志信息 - styleId: 'polygon', // 样式id - paths, // 多边形的位置信息 - properties: { + // 初始化多边形 + if (polygonRef.value) { + polygonRef.value.setMap(null); // 清除之前的多边形 + } + polygonRef.value = new TMap.MultiPolygon({ + id: 'polygon-layer', // 图层id + geometries: [ + { + id: shapeId, // 多边形图形数据的标志信息 + styleId: 'polygon', // 样式id + paths, // 多边形的位置信息 + properties: { // 多边形的属性数据 title: 'polygon', + }, }, + ], }); + polygonRef.value.setMap(mapRef.value.map); + // //设置视野范围 + // const mypolygon = polygonRef.value.getGeometryById(shapeId); + // const boundary = TMap.geometry.computeBoundingRectangle(mypolygon.paths); + // mapRef.value.map.fitBounds(boundary,{ + // padding: 100, // 设置地图边界的内边距 + // }); } } } @@ -250,33 +294,101 @@ else { timer = setTimeout(() => { - loadMap(dataRegion); + loadMap(); }, 1000) } }; + + let timer1 = null; + const loadMarker = () => { + if (mapRef.value && mapRef.value.map && typeof(TMap)!== 'undefined') { + clearTimeout(timer1); + if (form.value.applyLng && form.value.applyLat) { + // 初始化点标记 + if (markerRef.value) { + markerRef.value.setMap(null); // 清除之前的多边形 + } + markerRef.value = new TMap.MultiMarker({ + id: 'marker-layer', // 图层id + styles: { + "marker": new TMap.MarkerStyle({ + "width": 25, + "height": 35, + "anchor": { x: 16, y: 32 }, + "src": config.imgPath + 'assets/map/point.png' + }) + }, + geometries: [ + // 点标记数据数组 + { + // 标记位置(纬度,经度,高度) + position: new TMap.LatLng(form.value.applyLat, form.value.applyLng), + id: 'marker' + form.value.id, + styleId: 'marker', + properties: { + // 标记的属性数据 + title: '反馈位置', + } + }, + ], + }); + markerRef.value.setMap(mapRef.value.map); + //设置视野范围 + var ne = new TMap.LatLng(form.value.applyLat, form.value.applyLng);//东北角坐标 + var sw = new TMap.LatLng(form.value.applyLat, form.value.applyLng);//西南角坐标 + var latLngBounds = new TMap.LatLngBounds(sw, ne); + mapRef.value.map.fitBounds(latLngBounds,{ + padding: 50, // 设置地图边界的内边距 + }); + } + } + else + { + timer1 = setTimeout(() => { + loadMarker(); + }, 1000) + } + } + const formSave = (callBack) => { - // formRef.value.validate().then(() => { - // callOperate("/ebikeRegion/saveOperation", form.value).then(res => { - // if (res.code != 200) { - // message.error(res.message); - // if (callBack) { - // callBack(false, res); - // } - // return; - // } - // if (callBack) { - // callBack(true, res); - // } - // formRef.value.resetFields() - // }) - // }).catch(error => { - // if (callBack) { - // callBack(false, error); - // } - // }); + formRef.value.validate().then(() => { + const userinfo = getCache('ebike-userinfo'); + const params = { + id: form.value.dealId, + dealUser: userinfo.username, + dealTime: dataFormat(new Date(),'yyyy-MM-dd HH:mm:ss'), + dealNote: form.value.dealNote, + dealState: form.value.dealState, + } + callOrder("/ebikeUserBacksite/updateDeal", params).then(res => { + if (res.code != 200) { + message.error(res.message); + if (callBack) { + callBack(false, res); + } + return; + } + if (callBack) { + callBack(true, res); + } + resetAll(); + }) + }).catch(error => { + if (callBack) { + callBack(false, error); + } + }); }; - defineExpose({ openForm, formSave }); + const resetAll = (callBack) => { + Object.assign(form.value, formData()); + formRef.value.resetFields(); + if (callBack) { + callBack(true, form.value); + } + } + + defineExpose({ openForm, formSave, resetAll }); \ No newline at end of file diff --git a/ebike-operate/src/views/form/operateregion/OperateAddForm.vue b/ebike-operate/src/views/form/operateregion/OperateAddForm.vue index ab4a5f2..caf3d97 100644 --- a/ebike-operate/src/views/form/operateregion/OperateAddForm.vue +++ b/ebike-operate/src/views/form/operateregion/OperateAddForm.vue @@ -17,7 +17,10 @@ name="zoneId" :rules="[{ required: true, message: '请选择行政区划' }]" > - + {{ item.zoneName }} + + @@ -111,6 +114,7 @@ import { ref, defineProps, onMounted } from 'vue' import operateRegionMap from '../../Urban/OperateRegion/operateRegionMap.vue' import { callOperate } from '@/apis/call.js' import { message } from 'ant-design-vue' +import { getCache } from '@/utils/authority'; const props = defineProps({ @@ -128,12 +132,13 @@ const openORMapTitle = ref(""); const zoneOptions = ref([]) +const zoneList = ref([]) const form = ref({ regionId: "", regionName: "", simpleName: "", - zoneId: "", + zoneId: undefined, points: [], shapeType: 2, radius: 0 @@ -141,15 +146,26 @@ const form = ref({ onMounted(() => { - callOperate("/ebikeOperateSystem/ebikeAdministrationZone", {}, "get").then(res => { - if (res.code == 200) { - let opt = [] - res.data.map(item => { - opt.push({ label: item['name'], value: item['id'], isLeaf: item['isLeaf'] }) - }) - zoneOptions.value = opt; + const userinfo = getCache('ebike-userinfo'); + callOperate("/ebikeOrgZone/list?orgId=" + userinfo.orgId, {}, "get").then((res) => { + if (res.code!= 200) { + message.error(res.message) + return } - }) + if (res.data) { + zoneList.value = res.data + } + }) + + // callOperate("/ebikeOperateSystem/ebikeAdministrationZone", {}, "get").then(res => { + // if (res.code == 200) { + // let opt = [] + // res.data.map(item => { + // opt.push({ label: item['name'], value: item['id'], isLeaf: item['isLeaf'] }) + // }) + // zoneOptions.value = opt; + // } + // }) }) const loadZoneData = (data) => { diff --git a/ebike-operate/src/views/form/orgmanage/orgform.vue b/ebike-operate/src/views/form/orgmanage/orgform.vue new file mode 100644 index 0000000..c3caf9d --- /dev/null +++ b/ebike-operate/src/views/form/orgmanage/orgform.vue @@ -0,0 +1,305 @@ + + +