|
@@ -260,6 +260,18 @@
|
|
|
</el-row>
|
|
</el-row>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <div class="card-content flex1">
|
|
|
|
|
+ <div class="section-title">Websocket urls</div>
|
|
|
|
|
+ <div class="urls-group">
|
|
|
|
|
+ <div class="urls-item" v-for="(item, index) in socketUrls" :key="index">
|
|
|
|
|
+ <span class="urls-title">{{item.urlName + " URL:"}}</span>
|
|
|
|
|
+ <span class="copy-url" @click="e => copyUrls(e, item.urlValue)">
|
|
|
|
|
+ <i class="el-icon-document-copy"></i>
|
|
|
|
|
+ {{item.urlValue}}
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
<div class="card-content flex1" v-if="addForm.connectorInfo.length">
|
|
<div class="card-content flex1" v-if="addForm.connectorInfo.length">
|
|
|
<div class="section-title">Connector Settings</div>
|
|
<div class="section-title">Connector Settings</div>
|
|
|
<div class="rate-list-view" v-for="(item, index) in addForm.connectorInfo" :key="index">
|
|
<div class="rate-list-view" v-for="(item, index) in addForm.connectorInfo" :key="index">
|
|
@@ -328,6 +340,7 @@
|
|
|
import site from '../../http/api/site'
|
|
import site from '../../http/api/site'
|
|
|
import station from '../../http/api/charge'
|
|
import station from '../../http/api/charge'
|
|
|
import provider from '../../http/api/provider'
|
|
import provider from '../../http/api/provider'
|
|
|
|
|
+ import handleClipboard from '@/utils/clipboard'
|
|
|
export default {
|
|
export default {
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
@@ -430,6 +443,7 @@
|
|
|
level: '',
|
|
level: '',
|
|
|
lotNumber: ''
|
|
lotNumber: ''
|
|
|
},
|
|
},
|
|
|
|
|
+ socketUrls: [],
|
|
|
chargeTypeOptions: [],
|
|
chargeTypeOptions: [],
|
|
|
registerOptions: [],
|
|
registerOptions: [],
|
|
|
providerOptions: [],
|
|
providerOptions: [],
|
|
@@ -476,6 +490,7 @@
|
|
|
}
|
|
}
|
|
|
}).finally(() => {
|
|
}).finally(() => {
|
|
|
this.getAllProvider();
|
|
this.getAllProvider();
|
|
|
|
|
+ this.getStationUrls();
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
getStationInfo() {
|
|
getStationInfo() {
|
|
@@ -488,6 +503,15 @@
|
|
|
|
|
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
|
|
+ getStationUrls() {
|
|
|
|
|
+ station.getStationUrls().then(res => {
|
|
|
|
|
+ if (res.data) {
|
|
|
|
|
+ this.socketUrls = res.data
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(err => {
|
|
|
|
|
+
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
getAllProvider() {
|
|
getAllProvider() {
|
|
|
provider.getAllServiceProvider().then(res => {
|
|
provider.getAllServiceProvider().then(res => {
|
|
|
if (res.data && res.data.length > 0) {
|
|
if (res.data && res.data.length > 0) {
|
|
@@ -551,6 +575,9 @@
|
|
|
type: 'error'
|
|
type: 'error'
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
|
|
|
+ },
|
|
|
|
|
+ copyUrls(e, url) {
|
|
|
|
|
+ handleClipboard(url, e)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -602,6 +629,7 @@
|
|
|
}
|
|
}
|
|
|
.rate-list-view {
|
|
.rate-list-view {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
|
|
+ flex-wrap: wrap;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
}
|
|
}
|
|
|
.rate-text {
|
|
.rate-text {
|
|
@@ -632,4 +660,33 @@
|
|
|
.info-text {
|
|
.info-text {
|
|
|
color: #888;
|
|
color: #888;
|
|
|
}
|
|
}
|
|
|
|
|
+ .urls-item {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ padding: 5px 0;
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ }
|
|
|
|
|
+ .urls-title {
|
|
|
|
|
+ width: 85px;
|
|
|
|
|
+ margin-right: 10px;
|
|
|
|
|
+ text-align: right;
|
|
|
|
|
+ white-space: nowrap;
|
|
|
|
|
+ }
|
|
|
|
|
+ .copy-url {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ color: #888;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ transition: all .4s;
|
|
|
|
|
+ word-break: break-all;
|
|
|
|
|
+ }
|
|
|
|
|
+ .copy-url i {
|
|
|
|
|
+ padding: 5px;
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .copy-url:hover {
|
|
|
|
|
+ color: #000;
|
|
|
|
|
+ }
|
|
|
</style>
|
|
</style>
|