This commit is contained in:
邱贞招 2024-07-18 12:01:43 +08:00
parent c4872b2050
commit 972f27e9d3
9 changed files with 350 additions and 267 deletions

View File

@ -67,7 +67,13 @@ export default {
},
methods: {
destroyMap() {
this.map?.destroy();
if (this.map) {
console.log("轨迹=====地图实例存在,销毁地图...");
this.map.destroy();
console.log("轨迹=====地图已销毁");
} else {
console.log("轨迹=====地图实例不存在,无需销毁");
}
},
initAMap() {
AMapLoader.load({
@ -86,12 +92,14 @@ export default {
this.trajectory(); //
}).catch((e) => {
console.log("地图加载失败!!!");
console.log(e);
});
},
//
trajectory() {
this.line = JSON.parse(this.tripRouteStr)
console.log("this.line================"+this.line)
let line = this.line;
this.marker = new AMap.Marker({
map: this.map,

View File

@ -2,20 +2,6 @@
<div class="place-search-map" :style="{width: width, height: height}" v-loading="loading">
<div id="container"></div>
<el-row class="search-row" :gutter="8" type="flex">
<!-- <el-col :span="6">-->
<!-- <area-text-select-->
<!-- :level="1"-->
<!-- :province.sync="area.province"-->
<!-- :city.sync="area.city"-->
<!-- @change="onChangeArea"/>-->
<!-- </el-col>-->
<!-- <el-col :span="10">-->
<!-- <el-input v-model="keyword" placeholder="请输入地址关键词" />-->
<!-- </el-col>-->
<!-- <el-col>-->
<!-- <el-button type="primary" icon="el-icon-search" @click="doPlaceSearch(keyword)">搜索</el-button>-->
<!-- <el-button @click="doSearchNearByCenter(keyword)" >周边搜索</el-button>-->
<!-- </el-col>-->
</el-row>
<div id="panel"></div>
</div>
@ -78,21 +64,28 @@ export default {
this.initAMap();
},
beforeDestroy() {
console.log("轨迹=====组件将被销毁");
this.destroyMap();
},
methods: {
destroyMap() {
this.map?.destroy();
},
onChangeArea() {
this.loadPlaceSearch(this.area.province, this.area.city);
if (this.keyword != null) {
this.doPlaceSearch(this.keyword);
if (this.map) {
console.log("位置=====地图实例存在,销毁地图...");
this.map.destroy();
console.log("位置=====地图已销毁");
} else {
let city = this.area.city === '市辖区' ? this.area.province : this.area.city;
this.doPlaceSearch(city + '人民政府');
console.log("位置=====地图实例不存在,无需销毁");
}
},
// onChangeArea() {
// this.loadPlaceSearch(this.area.province, this.area.city);
// if (this.keyword != null) {
// this.doPlaceSearch(this.keyword);
// } else {
// let city = this.area.city === '' ? this.area.province : this.area.city;
// this.doPlaceSearch(city + '');
// }
// },
initAMap() {
AMapLoader.load({
key: globalConfig.aMap.key, // WebKey load
@ -109,37 +102,38 @@ export default {
// this.map.on('click', this.onClickMap);
// POI
this.loadPlaceSearch(this.area.province, this.area.city);
// this.loadPlaceSearch(this.area.province, this.area.city);
//
this.loadGeoCoder();
// this.loadGeoCoder();
//
this.initMarker();
}).catch((e) => {
console.log("地图加载失败!!!");
console.log(e);
});
},
async initMarker() {
initMarker() {
this.removeAllMarker();
if (this.initLng != null && this.initLat != null) {
this.getGeoAddress(this.initLng, this.initLat).then(res => {
// this.getGeoAddress(this.initLng, this.initLat).then(res => {
//
this.removeAllMarker();
console.log("添加标记点")
this.addMarker(this.initLng, this.initLat, this.deviceSn, this.status, this.onlineStatus);
this.$emit('map-geo', res, this.initLng, this.initLat);
// this.$emit('map-geo', res, this.initLng, this.initLat);
//
let component = res.regeocode.addressComponent;
this.area = {
province: component.province,
city: component.city === '' ? '市辖区' : component.city,
}
}).finally(() => {
this.loading = false;
})
// let component = res.regeocode.addressComponent;
// this.area = {
// province: component.province,
// city: component.city === '' ? '' : component.city,
// }
// }).finally(() => {
// this.loading = false;
// })
}
},
addMarker: function(lng, lat, title, status, onlineStatus) {
@ -212,75 +206,75 @@ export default {
this.markers = [];
},
//
onClickMap(e) {
console.log('clickMap', e);
let lng = e.lnglat.lng;
let lat = e.lnglat.lat;
this.changeMarker(lng, lat);
},
//
changeMarker(lng, lat) {
console.log('changeMarker', lng,lat);
this.loading = true;
this.getGeoAddress(lng, lat).then(res => {
this.removeAllMarker();
this.addMarker(lng, lat, res.regeocode.formattedAddress);
this.$emit('map-geo', res, lng, lat);
}).finally(() => {
this.loading = false;
})
},
//
getGeoAddress(lng, lat) {
console.log('getGeoAddress', lng,lat);
console.log('this.geocoder', this.geocoder);
if(this.geocoder){
return new Promise((resolve, reject) =>{
this.geocoder.getAddress([lng, lat], (status, result) => {
if (status === 'complete' && result.info === 'OK') {
console.log('resolve', result);
resolve(result);
} else {
console.log('reject', status,result);
reject(status);
}
})
})
}
},
//
loadGeoCoder() {
AMap.plugin('AMap.Geocoder', () => {
this.geocoder = new AMap.Geocoder({
city: '全国' // city adcode citycode
})
})
},
// POI
loadPlaceSearch(province, city) {
if (city == null) {
city = '北京市';
}
if (city === '市辖区') {
city = province;
}
AMap.plugin(["AMap.PlaceSearch"], () => {
//
this.placeSearch = new AMap.PlaceSearch({
pageSize: 5, //
pageIndex: 1, //
city: city, //
citylimit: true, //
map: this.map, //
panel: "panel", //
autoFitView: true, // 使 Marker
});
});
//
this.placeSearch.on('selectChanged', (data) => {
this.$emit('select-changed', data);
})
},
// onClickMap(e) {
// console.log('clickMap', e);
// let lng = e.lnglat.lng;
// let lat = e.lnglat.lat;
// this.changeMarker(lng, lat);
// },
// //
// changeMarker(lng, lat) {
// console.log('changeMarker', lng,lat);
// this.loading = true;
// this.getGeoAddress(lng, lat).then(res => {
// this.removeAllMarker();
// this.addMarker(lng, lat, res.regeocode.formattedAddress);
// this.$emit('map-geo', res, lng, lat);
// }).finally(() => {
// this.loading = false;
// })
// },
// //
// getGeoAddress(lng, lat) {
// console.log('getGeoAddress', lng,lat);
// console.log('this.geocoder', this.geocoder);
// if(this.geocoder){
// return new Promise((resolve, reject) =>{
// this.geocoder.getAddress([lng, lat], (status, result) => {
// if (status === 'complete' && result.info === 'OK') {
// console.log('resolve', result);
// resolve(result);
// } else {
// console.log('reject', status,result);
// reject(status);
// }
// })
// })
// }
// },
// //
// loadGeoCoder() {
// AMap.plugin('AMap.Geocoder', () => {
// this.geocoder = new AMap.Geocoder({
// city: '' // city adcode citycode
// })
// })
// },
// // POI
// loadPlaceSearch(province, city) {
// if (city == null) {
// city = '';
// }
// if (city === '') {
// city = province;
// }
// AMap.plugin(["AMap.PlaceSearch"], () => {
// //
// this.placeSearch = new AMap.PlaceSearch({
// pageSize: 5, //
// pageIndex: 1, //
// city: city, //
// citylimit: true, //
// map: this.map, //
// panel: "panel", //
// autoFitView: true, // 使 Marker
// });
// });
// //
// this.placeSearch.on('selectChanged', (data) => {
// this.$emit('select-changed', data);
// })
// },
//
doPlaceSearch(keyword) {
if (keyword == null) {

View File

@ -73,6 +73,7 @@
<dict-tag :options="dict.type.onenet_call_status" :value="scope.row.callStatus"/>
</template>
</el-table-column>
<el-table-column label="操作人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>

View File

@ -9,6 +9,22 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="运营区名称" prop="areaName">
<el-input
v-model="queryParams.areaName"
placeholder="请输入运营区名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="微信" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入微信"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="运营商状态" clearable>
<el-option
@ -55,22 +71,38 @@
row-key="deptId"
:default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column prop="deptName" label="运营商名称" width="260"></el-table-column>
<el-table-column prop="orderNum" label="排序" width="200"></el-table-column>
:default-sort="defaultSort" @sort-change="handleSortChange">
<el-table-column prop="deptName" label="运营商名称" width="260" sortable="custom" :sort-orders="['descending', 'ascending']"></el-table-column>
<el-table-column prop="areaName" label="名下运营区" align="center" ></el-table-column>
<el-table-column prop="phone" label="电话" align="center" ></el-table-column>
<el-table-column label="余额" align="center">
<el-table-column prop="appName" label="小程序" align="center" ></el-table-column>
<el-table-column prop="userName" label="绑定微信" align="center" ></el-table-column>
<el-table-column prop="separateAccount" label="独立支付" align="center" width="100">
<template slot-scope="scope">
<span class="balance-cell">{{ scope.row.balance }}</span>
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.separateAccount"/>
</template>
</el-table-column>
<el-table-column prop="platformServiceFee" label="服务费(%)" align="center" >
<template slot-scope="scope">
<span>{{ scope.row.platformServiceFee && scope.row.platformServiceFee != '0'?scope.row.platformServiceFee+'%':'' }}</span>
</template>
</el-table-column>
<el-table-column prop="handlingCharge" label="手续费(‰)" align="center" >
<template slot-scope="scope">
<span>{{ scope.row.handlingCharge && scope.row.handlingCharge != '0'?scope.row.handlingCharge+'‰':'' }}</span>
</template>
</el-table-column>
<el-table-column prop="handlingCharge" label="手续费(‰)" align="center" ></el-table-column>
<el-table-column prop="status" label="状态" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="200">
<el-table-column label="余额" align="center" prop="balance" sortable="custom" :sort-orders="['descending', 'ascending']">
<template slot-scope="scope">
<span class="balance-cell">{{ scope.row.balance }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="200" sortable="custom" :sort-orders="['descending', 'ascending']">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
@ -84,21 +116,6 @@
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dept:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['system:dept:add']"
>新增</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-link"
v-if="scope.row.parentId != 0 && scope.row.appUserId == null"
@click="bandWxUser(scope.row)"
v-hasPermi="['system:dept:edit']"
>绑定微信用户</el-button>
<el-button
v-if="scope.row.parentId != 0"
size="mini"
@ -114,13 +131,21 @@
<!-- 添加或修改运营商对话框 -->
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="24">
<el-form-item label="上级组织" prop="parentId" >
<treeselect v-model="form.parentId" :options="deptOptions" :disabled="true" :normalizer="normalizer" placeholder="选择上级运营商" />
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="24">-->
<!-- <el-form-item label="上级组织" prop="parentId" >-->
<!-- <el-select style="width: 85%" v-model="form.parentId" placeholder="选择上级运营商">-->
<!-- <el-option-->
<!-- v-for="item in deptOptions"-->
<!-- :key="item.deptId"-->
<!-- :label="item.deptName"-->
<!-- :value="item.deptId"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!--&lt;!&ndash; <treeselect v-model="form.parentId" :options="deptOptions" :disabled="true" placeholder="选择上级运营商" />&ndash;&gt;-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row>
<el-col :span="12">
<el-form-item label="运营商名称" label-width="90" prop="deptName">
@ -128,8 +153,24 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="显示排序" prop="orderNum">
<el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
<el-form-item label="绑定微信" prop="phonenumber">
<el-select
ref="headerSearchSelect"
v-model="form.appUserId"
:remote-method="queryPhonenumber"
filterable
default-first-option
remote
:loading="loading2"
placeholder="输入手机号搜索"
class="header-search-select" >
<el-option
v-for="item in options"
:key="item.value"
:label="item.label+'---'+item.appName"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -214,11 +255,6 @@
<el-switch v-model="form.isUsePlatformApp" class="drawer-switch" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="域名" prop="domain">
<el-input style="width: 93%" v-model="form.domain" placeholder="请输入域名" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" v-show="form.isUsePlatformApp != true">
@ -234,48 +270,55 @@
</el-row>
<el-row>
<el-col :span="12" v-show="form.isUsePlatformApp != true">
<el-form-item label="小程序名称" prop="appName">
<el-form-item label="小程序名称" prop="appName" label-width="90px">
<el-input style="width: 93%" v-model="form.appName" placeholder="请输入小程序名称" />
</el-form-item>
</el-col>
</el-row>
<h2 style="font-weight: 700;font-size: 18px">支付相关</h2>
<el-row>
<el-col :span="12">
<el-form-item label="商户号" prop="merchantId">
<el-input style="width: 93%" v-model="form.merchantId" placeholder="请输入商户号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="apiV3密钥" prop="apiV3Key">
<el-input v-model="form.apiV3Key" placeholder="请输入apiV3密钥" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="通知回调地址" label-width="100" prop="notifyUrl">
<el-input style="width: 66%" v-model="form.notifyUrl" placeholder="请输入通知回调地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="密钥所在位置" label-width="100" prop="privateKeyPath">
<el-input style="width: 70%" v-model="form.privateKeyPath" placeholder="请输入密钥所在位置" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="证书序列号" label-width="90" prop="merchantSerialNumber">
<el-input style="width: 70%" v-model="form.merchantSerialNumber" placeholder="请输入证书序列号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="退款回调地址" label-width="100" prop="refundNotifyUrl">
<el-input style="width: 70%" v-model="form.refundNotifyUrl" placeholder="请输入退款回调地址" />
<el-col :span="12" v-show="form.isUsePlatformApp != true">
<el-form-item label="域名" prop="domain">
<el-input style="width: 93%" v-model="form.domain" placeholder="请输入域名" />
</el-form-item>
</el-col>
</el-row>
<div v-if="form.separateAccount == 'Y'">
<h2 style="font-weight: 700;font-size: 18px">支付相关</h2>
<el-row>
<el-col :span="12">
<el-form-item label="商户号" prop="merchantId">
<el-input style="width: 93%" v-model="form.merchantId" placeholder="请输入商户号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="apiV3密钥" prop="apiV3Key">
<el-input v-model="form.apiV3Key" placeholder="请输入apiV3密钥" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="通知回调地址" label-width="100" prop="notifyUrl">
<el-input style="width: 66%" v-model="form.notifyUrl" placeholder="请输入通知回调地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="密钥所在位置" label-width="100" prop="privateKeyPath">
<el-input style="width: 70%" v-model="form.privateKeyPath" placeholder="请输入密钥所在位置" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="证书序列号" label-width="90" prop="merchantSerialNumber">
<el-input style="width: 70%" v-model="form.merchantSerialNumber" placeholder="请输入证书序列号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="退款回调地址" label-width="100" prop="refundNotifyUrl">
<el-input style="width: 70%" v-model="form.refundNotifyUrl" placeholder="请输入退款回调地址" />
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
@ -285,33 +328,33 @@
</el-dialog>
<!-- 添加或修改提现记录对话框 -->
<el-dialog :title="title2" :visible.sync="open2" width="500px" append-to-body>
<el-form ref="form2" :model="form2" :rules="rules2" label-width="120px">
<el-form-item label="手机号码" prop="phonenumber">
<el-select
ref="headerSearchSelect"
v-model="form2.phonenumber"
:remote-method="queryPhonenumber"
filterable
default-first-option
remote
:loading="loading2"
placeholder="输入手机号搜索"
class="header-search-select" >
<el-option
v-for="item in options"
:key="item.value"
:label="item.label+'---'+item.appName"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm2"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- <el-dialog :title="title2" :visible.sync="open2" width="500px" append-to-body>-->
<!-- <el-form ref="form2" :model="form2" :rules="rules2" label-width="120px">-->
<!-- <el-form-item label="手机号码" prop="phonenumber">-->
<!-- <el-select-->
<!-- ref="headerSearchSelect"-->
<!-- v-model="form2.phonenumber"-->
<!-- :remote-method="queryPhonenumber"-->
<!-- filterable-->
<!-- default-first-option-->
<!-- remote-->
<!-- :loading="loading2"-->
<!-- placeholder="输入手机号搜索"-->
<!-- class="header-search-select" >-->
<!-- <el-option-->
<!-- v-for="item in options"-->
<!-- :key="item.value"-->
<!-- :label="item.label+'-&#45;&#45;'+item.appName"-->
<!-- :value="item.value">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button type="primary" @click="submitForm2"> </el-button>-->
<!-- <el-button @click="cancel"> </el-button>-->
<!-- </div>-->
<!-- </el-dialog>-->
</div>
</template>
@ -340,6 +383,8 @@ export default {
options: [],
//
areaOptions: [],
//
defaultSort: {prop: 'createTime', order: 'descending'},
//
title: "",
title2: "",
@ -356,10 +401,13 @@ export default {
queryParams: {
deptName: undefined,
status: undefined,
phonenumber: null
phonenumber: null,
areaName: undefined
},
//
form: {},
form: {
isProfitSharing: 'N'
},
form2: {},
//
rules: {
@ -405,20 +453,11 @@ export default {
this.getList();
},
methods: {
submitForm2: function() {
let form2 = this.form2
this.$refs['form2'].validate(valid => {
if (valid) {
this.$modal.confirm('是否确认绑定?').then(function() {
return bandAppUser({appUserId:form2.phonenumber,deptId:form2.deptId})
}).then(() => {
//
location.reload()
this.$modal.msgSuccess('操作成功')
}).catch(() => {
})
}
})
/** 排序触发事件 */
handleSortChange(column, prop, order) {
this.queryParams.orderByColumn = column.prop;
this.queryParams.isAsc = column.order;
this.getList();
},
queryPhonenumber(query) {
console.log("query:",query)
@ -435,12 +474,6 @@ export default {
this.options = []
}
},
bandWxUser(row){
this.reset();
this.form2 = row;
this.open2 = true;
this.title2 = "绑定微信用户";
},
/** 查询运营商列表 */
getList() {
this.loading = true;
@ -476,7 +509,18 @@ export default {
leader: undefined,
phone: undefined,
email: undefined,
status: "0"
status: "0",
isProfitSharing: false,
separateAccount: 'N',
platformServiceFee: '4',
handlingCharge: '5.4',
isUsePlatformApp: true,
merchantId: null,
apiV3Key: null,
notifyUrl: null,
privateKeyPath: null,
merchantSerialNumber: null,
refundNotifyUrl: null
};
this.resetForm("form");
},
@ -496,7 +540,8 @@ export default {
this.open = true;
this.title = "添加运营商";
listDept().then(response => {
this.deptOptions = this.handleTree(response.data, "deptId");
console.log("response=============",response)
this.deptOptions = response.data;
listArea().then(response => {
this.areaOptions = response.rows;
this.form.parentId = 100;

View File

@ -410,10 +410,10 @@
<el-col :span="6">
<el-form-item label="纬度:">{{ form.latitude }}</el-form-item>
</el-col>
<el-col :span="8" v-if="form.gps === '1'">
<el-col :span="8" >
<el-form-item label="最后更新时间:" label-width="120">{{ form.lastTime }}</el-form-item>
</el-col>
<el-col :span="4" v-else>
<el-col :span="4" v-if="form.gps === '0'">
<span style="color: red;font-weight: 700">
当前无gps信号
</span>
@ -454,7 +454,7 @@
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="open2 = false"> </el-button>
<el-button @click="cancel2"> </el-button>
</div>
</el-dialog>
</div>
@ -604,6 +604,15 @@ export default {
if (newVal) {
this.fetchData(newVal);
}
},
open2(val) {
if (!val) {
console.log("========关闭地图=============")
this.showPlaceSearchMap = false; //
} else {
console.log("========打开地图=============")
this.showPlaceSearchMap = true; //
}
}
},
beforeDestroy() {
@ -732,6 +741,10 @@ export default {
this.open = false;
this.reset();
},
//
cancel2() {
this.open2 = false;
},
//
reset() {
this.form = {

View File

@ -87,16 +87,16 @@
<el-form-item label="套餐名称" prop="name">
<el-input v-model="form.name" placeholder="请输入套餐名称" />
</el-form-item>
<!-- <el-form-item label="运营区" prop="areaId" v-if="userName == 'admin'">-->
<!-- <el-select v-model="form.areaId" placeholder="请选择运营区">-->
<!-- <el-option-->
<!-- v-for="item in areaOptions"-->
<!-- :key="item.areaId"-->
<!-- :label="item.areaName"-->
<!-- :value="item.areaId"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="运营区" prop="areaId" v-if="userName == 'admin'">
<el-select v-model="form.areaId" placeholder="请选择运营区">
<el-option
v-for="item in areaOptions"
:key="item.areaId"
:label="item.areaName"
:value="item.areaId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="说明" prop="instructions" :show-overflow-tooltip="true">
<editor v-model="form.instructions" :min-height="192"/>
<!-- <el-input v-model="form.explain" type="textarea" placeholder="请输入内容" /> -->
@ -113,19 +113,19 @@
</el-col>
小时 后自动退押金
</el-form-item>
<el-form-item label="订单超过" prop="unit">
<el-col :span="4">
<el-input v-model="form.orderExceedMinutes" placeholder="请输入" />
</el-col>
<el-col :span="1.2">
分钟,
</el-col>
<!-- <el-form-item label="订单超过" prop="unit">-->
<!-- <el-col :span="4">-->
<!-- <el-input v-model="form.orderExceedMinutes" placeholder="请输入" />-->
<!-- </el-col>-->
<!-- <el-col :span="1.2">-->
<!-- 分钟,-->
<!-- </el-col>-->
<el-col :span="4">
<el-input v-model="form.orderExceedWarn" placeholder="请输入" />
</el-col>
分钟语音提醒一次归还设备
</el-form-item>
<!-- <el-col :span="4">-->
<!-- <el-input v-model="form.orderExceedWarn" placeholder="请输入" />-->
<!-- </el-col>-->
<!-- 分钟语音提醒一次归还设备-->
<!-- </el-form-item>-->
<el-form-item label="免费骑行" prop="freeRideTime">
<el-col :span="4">
<el-input v-model="form.freeRideTime" placeholder="请输入" />
@ -161,7 +161,7 @@
</el-col>
<el-col :span="4">
<el-form-item prop="startingTime">
<el-input v-model="form.startingTime" placeholder="请输入起步时间" />
<el-input v-model="startingTime" placeholder="请输入起步时间" />
</el-form-item>
</el-col>
<el-col :span="2" style="line-height: 32px;">
@ -179,7 +179,7 @@
</el-col>
<el-col :span="4">
<el-form-item prop="timeoutTime">
<el-input v-model="form.timeoutTime" placeholder="请输入超出时间" />
<el-input v-model="timeoutTime" placeholder="请输入超出时间" />
</el-form-item>
</el-col>
<el-col :span="4" style="line-height: 32px;">
@ -423,14 +423,14 @@ export default {
sectionCharges: [
{ required: true, message: '请输入区间收费', trigger: 'blur' },
],
startingTime: [
{ required: true, message: '请输入起步时间', trigger: 'blur' },
{ pattern: /^\d+$/, message: '起步时间必须为正整数', trigger: 'blur' }
],
timeoutTime: [
{ required: true, message: '请输入超时时间', trigger: 'blur' },
{ pattern: /^\d+$/, message: '超时时间必须为正整数', trigger: 'blur' }
],
// startingTime: [
// { required: true, message: '', trigger: 'blur' },
// { pattern: /^\d+$/, message: '', trigger: 'blur' }
// ],
// timeoutTime: [
// { required: true, message: '', trigger: 'blur' },
// { pattern: /^\d+$/, message: '', trigger: 'blur' }
// ],
},
};
},
@ -536,7 +536,9 @@ export default {
}else if(this.form.rentalUnit=='day'){
this.timeUnit='天'
}
this.returnVerify = this.form.area.returnVerify;
if(this.form.area){
this.returnVerify = this.form.area.returnVerify;
}
// console.log("-------returnVerify------",this.returnVerify)
// delete this.form.ridingRuleJson;
let json = JSON.parse(response.data.ridingRuleJson)

View File

@ -457,6 +457,17 @@ export default {
this.getList();
this.getAreaList();
},
watch: {
open(val) {
if (!val) {
console.log("========关闭轨迹地图=============")
this.showPlaceSearchMap = false; //
} else {
console.log("========打开轨迹地图=============")
this.showPlaceSearchMap = true; //
}
}
},
methods: {
toLog(row){
this.$router.push(`/system/commandLog/orderNo/index/${row.orderNo}`);
@ -705,7 +716,7 @@ export default {
this.reset();
const orderId = row.orderId || this.ids
getOrder(orderId).then(response => {
console.log("=====getOrder======="+JSON.stringify(response))
// console.log("=====getOrder======="+JSON.stringify(response))
this.form = response.data;
if (response.data.etRefund) {
this.form.etRefund = response.data.etRefund;

View File

@ -93,6 +93,11 @@
<el-table-column label="手机号码" align="center" prop="phonenumber" />
<el-table-column label="运营区域" align="center" prop="areaName" />
<el-table-column label="分账比例(%)" align="center" prop="dividendProportion" />
<el-table-column label="余额" align="center">
<template slot-scope="scope">
<span class="balance-cell">{{ scope.row.balance }}</span>
</template>
</el-table-column>
<el-table-column label="车辆数" align="center" prop="deviceNum" />
<el-table-column label="状态" align="center" >
<template slot-scope="scope">
@ -597,4 +602,8 @@ export default {
font-size: 12px;
line-height: 18px;
}
.balance-cell {
font-weight: bold;
color: red;
}
</style>

View File

@ -2,7 +2,7 @@
<div class="app-container">
<el-row :gutter="20">
<!--运营商数据-->
<el-col :span="4" :xs="24" v-if="userName == 'admin'">
<el-col :span="3" :xs="24" v-if="userName == 'admin'">
<div class="head-container">
<el-input
v-model="deptName"
@ -334,7 +334,7 @@ export default {
components: { Treeselect },
computed: {
colSpan() {
return this.userName === 'admin' ? 20 : 24;
return this.userName === 'admin' ? 21 : 24;
}
},
data() {