提交
This commit is contained in:
parent
bf08b8b3f0
commit
901761fed6
@ -5,8 +5,8 @@ VITE_APP_TITLE = 智慧换电管理系统
|
||||
VITE_APP_ENV = 'development'
|
||||
|
||||
# 开发环境
|
||||
#VITE_APP_BASE_API = 'http://192.168.5.213:9100/gateway'
|
||||
VITE_APP_BASE_API = 'http://192.168.5.14:9100/gateway'
|
||||
VITE_APP_BASE_API = 'http://192.168.5.213:9100/gateway'
|
||||
#VITE_APP_BASE_API = 'http://192.168.5.230:9100/gateway'
|
||||
#VITE_APP_BASE_API = '/dev-api'
|
||||
#VITE_APP_BASE_API = 'https://api.evo-techina.com'
|
||||
|
||||
|
||||
18
src/App.vue
18
src/App.vue
@ -7,17 +7,22 @@ import appStore from "@/stores/app";
|
||||
import { ElMessage } from 'element-plus'
|
||||
import Login from './views/components/login.vue'
|
||||
|
||||
import { storeToRefs } from 'pinia'
|
||||
|
||||
const TIEM = 1000*60*10
|
||||
let openpop = ref(false)
|
||||
|
||||
watch(() => appStore().isEffecti,(v) => {
|
||||
|
||||
let { isEffecti,loginPage } = storeToRefs(appStore())
|
||||
|
||||
watch(isEffecti,(v) => {
|
||||
openpop.value = false
|
||||
if(!v && getToken() && !appStore().loginPage){
|
||||
if(!v && getToken() && !loginPage){
|
||||
openpop.value = true
|
||||
}
|
||||
})
|
||||
|
||||
watch(() => appStore().loginPage,(v) => {
|
||||
watch(() => loginPage,(v) => {
|
||||
if(v){
|
||||
openpop.value = false
|
||||
}
|
||||
@ -34,6 +39,13 @@ import Login from './views/components/login.vue'
|
||||
})
|
||||
openpop.value = true
|
||||
}
|
||||
}).catch(() => {
|
||||
removeToken()
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: '登录失效请重新登录'
|
||||
})
|
||||
openpop.value = true
|
||||
})
|
||||
}
|
||||
}, TIEM)
|
||||
|
||||
@ -163,3 +163,8 @@ export function dzdzd(params:any) {
|
||||
export function downdzdz(params:any) {
|
||||
return server.download('/cloud/order/swap/bill/download',params,'电子对账单.xlsx')
|
||||
}
|
||||
|
||||
//导出订单
|
||||
export function orderept(params:any) {
|
||||
return server.download('/cloud/order/swap/export',params,'订单.xlsx')
|
||||
}
|
||||
|
||||
@ -11,9 +11,13 @@ interface Addobj{
|
||||
productionDate?:String //生产日期
|
||||
registrationDate?:String //注册时间
|
||||
sourceCode?:String //站码或车牌照
|
||||
stationCode?:String //换电站编码
|
||||
stationName:String //换电站名称
|
||||
// stationCode?:String //换电站编码
|
||||
// stationName:String //换电站名称
|
||||
soc?:String|Number //当前电量
|
||||
dccNo?:String //电池仓序号
|
||||
pointType:String|Number //轨迹点类型 1-站,2-车
|
||||
pointCode:String //轨迹点编码
|
||||
pointName:String //轨迹点名称
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
@ -89,3 +93,20 @@ export function addzhuis(data:Addzs) {
|
||||
}
|
||||
|
||||
|
||||
//电池数据/
|
||||
// type:1 近一周 2近半个月 3近一个月 4近半年 5 近一年
|
||||
// batCode: 电池编码
|
||||
export function getdcsj(batCode:any,beginTime:any,endTime:any) {
|
||||
return server.request({
|
||||
headers:{
|
||||
'content-type':'application/json;charset=utf-8'
|
||||
},
|
||||
url: '/cloud/battery/station/dc/dynamic/detail',
|
||||
method: 'post',
|
||||
data:{
|
||||
batCode,
|
||||
beginTime,
|
||||
endTime
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -10,7 +10,7 @@ interface Addobj{
|
||||
eachKmFee?:String|Number //每公里收费
|
||||
eachSocFee?:String|Number //每SOC收费
|
||||
eachKwhFee?:String|Number //每度电收费
|
||||
timeServiceFee?:String|Number //谷段服务费
|
||||
serviceFee?:String|Number //谷段服务费
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
|
||||
@ -16,4 +16,13 @@ export function mqttlist(params:Querydata) {
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//在线记录
|
||||
export function onlinelist(params:any) {
|
||||
return server.request({
|
||||
url: '/cloud/mqtt/client/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
51
src/api/systemSet/abnormal.ts
Normal file
51
src/api/systemSet/abnormal.ts
Normal file
@ -0,0 +1,51 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
|
||||
//查询
|
||||
interface Query{
|
||||
pageSize:string|number //每页条数
|
||||
pageNo:string|number //页数
|
||||
path:string //路径
|
||||
}
|
||||
|
||||
export function getadlist(params:Query) {
|
||||
return server.request({
|
||||
url: '/cloud/alarm/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//新增
|
||||
interface Addata{
|
||||
id?:string
|
||||
recipientIds:string //通知人员
|
||||
path:string //路径
|
||||
}
|
||||
export function addyctz(data:Addata) {
|
||||
return server.request({
|
||||
url: '/cloud/alarm/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function updateab(data:Addata) {
|
||||
return server.request({
|
||||
url: '/cloud/alarm/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delab(id:String) {
|
||||
return server.request({
|
||||
url: '/cloud/alarm/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -19,6 +19,15 @@ export function getyyslist(params:Query) {
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//下拉菜单查询
|
||||
export function optionyyslist() {
|
||||
return server.request({
|
||||
url: '/resource/proxyoperater/option/list',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
//新增
|
||||
interface Addata{
|
||||
division:String //区划名称
|
||||
|
||||
@ -54,7 +54,7 @@ export function updateuser(data:User) {
|
||||
}
|
||||
|
||||
//删除
|
||||
export function deleteuser(data:String) {
|
||||
export function deleteuser(data:any) {
|
||||
return server.request({
|
||||
url: '/resource/user/del',
|
||||
method: 'post',
|
||||
|
||||
@ -2,14 +2,15 @@
|
||||
<div class="sidebar">
|
||||
<!--background-color="#324157"-->
|
||||
<!--text-color="#bfcbd9"-->
|
||||
<!--:collapse="collapse"-->
|
||||
<el-menu
|
||||
class="sidebar-el-menu"
|
||||
:default-active="onRoutes"
|
||||
:collapse="collapse"
|
||||
background-color="#fff"
|
||||
text-color="#242f42"
|
||||
active-text-color="#20a0ff"
|
||||
unique-opened
|
||||
:collapse="collapse"
|
||||
router
|
||||
>
|
||||
<template v-for="item in menu">
|
||||
@ -73,6 +74,8 @@ const onRoutes = computed(() => {
|
||||
|
||||
const menu = computed(() => pStore.sidebarMenu);
|
||||
const collapse = computed(() => pStore.sidebarIsCollapsed);
|
||||
|
||||
console.log(menu.value,'menu')
|
||||
</script>
|
||||
<style>
|
||||
.el-menu-item:hover {
|
||||
@ -96,7 +99,7 @@ const collapse = computed(() => pStore.sidebarIsCollapsed);
|
||||
}
|
||||
|
||||
.sidebar-el-menu:not(.el-menu--collapse) {
|
||||
width: 210px;
|
||||
width: 210px;
|
||||
}
|
||||
|
||||
// .el-sub-menu {
|
||||
|
||||
@ -288,6 +288,9 @@ const store = defineStore({
|
||||
//this.tagsRouterPaths = getTagsRouterPath(this.tagsRouters);
|
||||
//全部路由
|
||||
//this.routes = concatRouter(this.tagsRouters, constantRoutes);
|
||||
|
||||
console.log(this.sidebarMenu)
|
||||
|
||||
resolve(this.routes);
|
||||
}).catch(err => {
|
||||
if(err == 'S0405'){
|
||||
|
||||
@ -299,6 +299,44 @@ export class Service {
|
||||
downloadLoading.close();
|
||||
});
|
||||
}
|
||||
|
||||
public downloadget<T>(url: string, params: T, filename: string, config: AxiosRequestConfig = {}) {
|
||||
const downloadLoading = ElLoading.service({
|
||||
text: "正在下载数据,请稍候",
|
||||
spinner: "el-icon-loading",
|
||||
background: "rgba(0, 0, 0, 0.7)",
|
||||
});
|
||||
return this.instance
|
||||
.get<T, Blob>(url, {
|
||||
params,
|
||||
// transformRequest: [
|
||||
// (params) => {
|
||||
// return tansParams(params);
|
||||
// },
|
||||
// ],
|
||||
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
||||
responseType: "blob",
|
||||
//...config,
|
||||
})
|
||||
.then(async (data) => {
|
||||
const isLogin = await blobValidate(data);
|
||||
if (isLogin) {
|
||||
const blob = new Blob([data]);
|
||||
saveAs(blob, filename);
|
||||
} else {
|
||||
const resText = await data.text();
|
||||
const rspObj = JSON.parse(resText);
|
||||
const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode["default"];
|
||||
ElMessage.error(errMsg);
|
||||
}
|
||||
downloadLoading.close();
|
||||
})
|
||||
.catch((r) => {
|
||||
console.error(r);
|
||||
ElMessage.error("下载文件出现错误,请联系管理员!");
|
||||
downloadLoading.close();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 默认导出Request实例
|
||||
|
||||
@ -584,6 +584,7 @@ onMounted(() => {
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
initChart4()
|
||||
|
||||
xdata.value = (rps.data as any).trendList.map((n:any) => {
|
||||
|
||||
@ -17,14 +17,15 @@
|
||||
</el-col> -->
|
||||
<el-col :span="5">
|
||||
<el-form-item label="经度">
|
||||
<el-input v-model="lat" readonly style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="维度">
|
||||
<el-input v-model="lng" readonly style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="纬度">
|
||||
<el-input v-model="lat" readonly style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="4" style="padding-left:20px;">
|
||||
<el-button type="primary" @click="save">确定</el-button>
|
||||
</el-col>
|
||||
@ -37,11 +38,11 @@
|
||||
import { jsonp } from 'vue-jsonp'
|
||||
import {ref,nextTick } from 'vue'
|
||||
const props = withDefaults(defineProps<{
|
||||
lng?:string|number,
|
||||
lat?:string|number
|
||||
lng?:string|number
|
||||
}>(), {
|
||||
lat:39.916527,
|
||||
lng:116.397128
|
||||
lng:116.397128,
|
||||
lat:39.916527
|
||||
})
|
||||
const emit = defineEmits<{
|
||||
chang: [latlng?:string]
|
||||
@ -149,7 +150,7 @@
|
||||
})
|
||||
|
||||
function save() {
|
||||
emit('chang',lat.value?`${lat.value},${lng.value}`:'')
|
||||
emit('chang',lat.value?`${lng.value},${lat.value}`:'')
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
</div>
|
||||
<!--large / default / small-->
|
||||
<el-form-item prop="username" size="large">
|
||||
<el-input size="large" v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
|
||||
<el-input size="large" v-model="loginForm.username" type="text" clearable auto-complete="off" placeholder="账号">
|
||||
<template #prefix>
|
||||
<el-icon>
|
||||
<myUser />
|
||||
@ -18,7 +18,7 @@
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item size="large" prop="password">
|
||||
<el-input size="large" v-model="loginForm.password" type="password" auto-complete="off" placeholder="密码" @keyup.enter="handleLogin">
|
||||
<el-input size="large" v-model="loginForm.password" type="password" clearable auto-complete="off" placeholder="密码" @keyup.enter="handleLogin">
|
||||
<template #prefix>
|
||||
<el-icon>
|
||||
<myPassword />
|
||||
@ -27,7 +27,7 @@
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item size="large" v-if="captchaEnabled" prop="code">
|
||||
<el-input size="large" v-model="loginForm.code" auto-complete="off" placeholder="验证码" style="width: 63%" @keyup.enter="handleLogin">
|
||||
<el-input size="large" v-model="loginForm.code" auto-complete="off" clearable placeholder="验证码" style="width: 63%" @keyup.enter="handleLogin">
|
||||
<template #prefix>
|
||||
<el-icon>
|
||||
<myValidCode />
|
||||
@ -85,8 +85,8 @@
|
||||
|
||||
const codeUrl = ref<string>("");
|
||||
const loginForm = ref<LoginReq>({
|
||||
username: "admin",
|
||||
password: "admin123",
|
||||
username: "",
|
||||
password: "",
|
||||
rememberMe: false,
|
||||
code: "",
|
||||
uuid: "",
|
||||
@ -119,6 +119,7 @@
|
||||
*/
|
||||
let ipcode = ref<string>("");
|
||||
const getCode = () => {
|
||||
loginForm.value.code = ''
|
||||
getCodeImg().then( res => {
|
||||
let data = res.data as any
|
||||
if(data){
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
<template>
|
||||
<div>
|
||||
<div style="padding:10px 0 20px;">
|
||||
<div>
|
||||
<!-- <el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="Plus"
|
||||
@click="showpop(1)">新增</el-button> -->
|
||||
<el-table
|
||||
style="width:100%;margin-top: 10px;"
|
||||
style="width:100%;"
|
||||
:data="yysList"
|
||||
border
|
||||
stripe
|
||||
highlight-current-row
|
||||
max-height="620px"
|
||||
:max-height="total>10?'330px':'380px'"
|
||||
>
|
||||
<el-table-column label="交易编码" min-width="280" align="center" prop="tradeNo" :show-overflow-tooltip="true" />
|
||||
|
||||
@ -81,7 +81,7 @@
|
||||
</el-table>
|
||||
|
||||
</div>
|
||||
<div v-if="total > 10" style="display: flex;justify-content: right;">
|
||||
<div v-if="total > 10" style="display: flex;padding-top: 10px;justify-content: right;">
|
||||
<el-pagination
|
||||
v-model:current-page="queryParams.pageNo"
|
||||
v-model:page-size="queryParams.pageSize"
|
||||
|
||||
@ -6,31 +6,33 @@
|
||||
:model="queryParams"
|
||||
:inline="true"
|
||||
>
|
||||
<el-form-item label="户主类型" prop="ownerType">
|
||||
<!-- <el-form-item label="户主类型" prop="ownerType">
|
||||
<el-select v-model="queryParams.ownerType" placeholder="请选择类型" style="width: 200px;">
|
||||
<el-option label="个人" value="1" />
|
||||
<el-option label="企业" value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="户主名称" prop="accName">
|
||||
<el-input
|
||||
v-model="queryParams.accName"
|
||||
placeholder="请输入户主名称"
|
||||
maxlength="50"
|
||||
maxlength="20"
|
||||
clearable
|
||||
style="width: 200px;"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系电话" prop="phone">
|
||||
<!-- <el-form-item label="联系电话" prop="phone">
|
||||
<el-input
|
||||
v-model="queryParams.phone"
|
||||
placeholder="请输入联系电话"
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="引入站点" prop="stationCode">
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="引入站点" prop="stationCode">
|
||||
<el-select v-model="queryParams.stationCode" placeholder="请选择换电站" style="width: 200px;">
|
||||
<el-option v-for="n in yunList" :label="n.name" :value="n.code" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" @click="handBtnqu">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
@ -69,7 +71,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="账户编码" min-width="300" align="center" prop="code" :show-overflow-tooltip="true" />
|
||||
|
||||
<el-table-column label="引入站点" min-width="250" align="center" prop="stationName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="引入站点" min-width="220" align="center" prop="stationName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="账户总金额(元)" min-width="120" align="left" prop="totalAmount" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div>{{scope.row.totalAmount/100}}</div>
|
||||
@ -334,7 +336,7 @@
|
||||
<el-input
|
||||
disabled
|
||||
v-model="addata.totalAmount"
|
||||
placeholder="请输入总金额"
|
||||
placeholder=""
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -344,7 +346,7 @@
|
||||
<el-input
|
||||
disabled
|
||||
v-model="addata.rechargeAmount"
|
||||
placeholder="请输入充值金额"
|
||||
placeholder=""
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -354,7 +356,7 @@
|
||||
<el-input
|
||||
disabled
|
||||
v-model="addata.giftAmount"
|
||||
placeholder="请输入赠送金额"
|
||||
placeholder=""
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -364,7 +366,7 @@
|
||||
<el-input
|
||||
disabled
|
||||
v-model="addata.point"
|
||||
placeholder="请输入积分余额"
|
||||
placeholder=""
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -374,7 +376,7 @@
|
||||
<el-input
|
||||
disabled
|
||||
v-model="addata.deposit"
|
||||
placeholder="请输入押金"
|
||||
placeholder=""
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -393,7 +395,7 @@
|
||||
<el-input
|
||||
disabled
|
||||
v-model="addata.rent"
|
||||
placeholder="请输入租金"
|
||||
placeholder=""
|
||||
maxlength="50"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -412,7 +414,7 @@
|
||||
<div class="mktit">余额明细</div>
|
||||
<baldetails
|
||||
v-if="drawer"
|
||||
style="padding: 20px;"
|
||||
style="padding: 20px 20px 0;"
|
||||
:code='code'
|
||||
/>
|
||||
</div>
|
||||
@ -469,7 +471,7 @@
|
||||
let total = ref(0)
|
||||
let yysList = ref<any>([])
|
||||
function handBtnqu(){
|
||||
//queryParams.pageNo = 1
|
||||
queryParams.pageNo = 1
|
||||
getyys()
|
||||
}
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
<el-input v-model="queryParams.plateNum" placeholder="请输入车牌号" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="订单状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" style="width: 200px;">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" style="width: 193px;">
|
||||
<el-option label="已创建" value="1" />
|
||||
<el-option label="换电中" value="2" />
|
||||
<el-option label="换电完成" value="3" />
|
||||
@ -21,6 +21,7 @@
|
||||
<el-option label="充电完成" value="5" />
|
||||
<el-option label="待结算" value="6" />
|
||||
<el-option label="已完成" value="7" />
|
||||
<el-option label="支付中" value="8" />
|
||||
<el-option label="已取消" value="9" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -42,8 +43,13 @@
|
||||
placeholder="请选择时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="运营商" prop="proCode">
|
||||
<el-select v-model="queryParams.proCode" placeholder="请选择运营商" style="width: 193px;">
|
||||
<el-option v-for="n in yunysList" :label="n.label" :value="n.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="换电站" prop="stationCode">
|
||||
<el-select v-model="queryParams.stationCode" placeholder="请选择换电站" style="width: 200px;">
|
||||
<el-select v-model="queryParams.stationCode" placeholder="请选择换电站" style="width: 193px;">
|
||||
<el-option v-for="n in yunList" :label="n.name" :value="n.code" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -53,6 +59,8 @@
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" @click="handBtnqu">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
<el-button type="warning" plain icon="Download" @click="eptdd">导出</el-button>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
@ -723,9 +731,14 @@
|
||||
delhdz,
|
||||
jsfeiy,
|
||||
gethdbz,
|
||||
oderdetails
|
||||
oderdetails,
|
||||
orderept
|
||||
} from '@/api/order/replabatt'
|
||||
|
||||
import {
|
||||
optionyyslist
|
||||
} from '@/api/systemSet/operator'
|
||||
|
||||
import {
|
||||
getwxlist
|
||||
} from '@/api/operation/wxuser'
|
||||
@ -844,7 +857,8 @@
|
||||
stationName:'', //换电站名称
|
||||
userId:'', //换电车主ID
|
||||
tradeNo:'', //交易编码
|
||||
status:''
|
||||
status:'',
|
||||
proCode:''
|
||||
})
|
||||
|
||||
//查询
|
||||
@ -855,10 +869,23 @@
|
||||
getyys()
|
||||
}
|
||||
|
||||
function eptdd(){
|
||||
orderept(queryParams)
|
||||
}
|
||||
|
||||
//初始查询运营商
|
||||
let yunysList = ref<any>([])
|
||||
optionyyslist().then(rps => {
|
||||
if(rps.data){
|
||||
//let list = (rps.data as any).records
|
||||
yunysList.value = rps.data
|
||||
}
|
||||
})
|
||||
|
||||
//初始查询换电站
|
||||
let yunList = ref<any>([])
|
||||
gethdzlist({
|
||||
pageSize:20, //每页条数
|
||||
pageSize:200, //每页条数
|
||||
pageNo:1, //页数
|
||||
proxyId:'', //归属运营商ID
|
||||
name:'', //站点名称
|
||||
|
||||
@ -181,7 +181,7 @@
|
||||
>
|
||||
<div style="width: 100%;padding: 25px;text-align: center;">
|
||||
<div style="padding-bottom: 15px;font-size: 22px;">请打开微信扫一扫完成支付</div>
|
||||
<div v-if="qscode" style="display: flex;padding-bottom: 15px;align-items: center;justify-content: center;">
|
||||
<div v-if="qscode && !issx" style="display: flex;padding-bottom: 15px;align-items: center;justify-content: center;">
|
||||
<div style="padding-right: 10px;">剩余支付时间</div>
|
||||
|
||||
<div style="padding-right: 6px;color: #ff6000;"><span style="font-size: 22px;">{{tmminute}} </span>分</div>
|
||||
@ -436,8 +436,13 @@
|
||||
|
||||
let qscode = ref('')
|
||||
function zfclose() {
|
||||
payqs.attach = JSON.parse(payqs.attach)
|
||||
clearInterval(timer)
|
||||
//payqs.attach = JSON.parse(payqs.attach)
|
||||
if(timer){
|
||||
clearInterval(timer)
|
||||
}
|
||||
if(djstimet){
|
||||
clearInterval(djstimet)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -452,6 +457,13 @@
|
||||
//是否失效
|
||||
let issx = ref(false)
|
||||
function payment(type?:number) {
|
||||
|
||||
minute.value = 29
|
||||
second.value = 59
|
||||
|
||||
tmminute.value = 29
|
||||
tmsecond.value = 59
|
||||
|
||||
// if(dzarr.value.length > 0){
|
||||
|
||||
//失效时间
|
||||
@ -484,7 +496,7 @@
|
||||
payqs.ccode = queryParams.companyCode
|
||||
payqs.orderTimeEnd = queryParams.orderTimeEnd
|
||||
if(type == 1){
|
||||
payqs.attach = JSON.stringify(payqs.attach)
|
||||
//payqs.attach = JSON.stringify(payqs.attach)
|
||||
}else{
|
||||
issx.value = false
|
||||
}
|
||||
@ -500,18 +512,23 @@
|
||||
clearInterval(djstimet)
|
||||
}
|
||||
|
||||
batchpayment(payqs).then(rps => {
|
||||
batchpayment(Object.assign({},payqs,{
|
||||
attach:JSON.stringify(payqs.attach)
|
||||
}
|
||||
)).then(rps => {
|
||||
qscode.value = JSON.parse(rps.data as any).codeUrl
|
||||
|
||||
djstimet = setInterval(() => {
|
||||
second.value--
|
||||
tmsecond.value = second.value
|
||||
console.log(second.value,minute.value)
|
||||
if(second.value == 0 && minute.value == 0) {
|
||||
tmminute.value = '00'
|
||||
tmsecond.value = '00'
|
||||
// tmminute.value = '00'
|
||||
// tmsecond.value = '00'
|
||||
issx.value = true
|
||||
clearInterval(djstimet)
|
||||
}
|
||||
|
||||
if(second.value == 0) {
|
||||
second.value = 59
|
||||
|
||||
@ -519,17 +536,19 @@
|
||||
tmsecond.value = 59
|
||||
|
||||
minute.value--
|
||||
if(minute.value < 10){
|
||||
tmminute.value = '0'+ minute.value
|
||||
}else{
|
||||
tmminute.value = minute.value
|
||||
}
|
||||
}
|
||||
if(second.value < 10){
|
||||
tmsecond.value = '0' + second.value
|
||||
}else{
|
||||
tmsecond.value = second.value
|
||||
// if(minute.value < 10 && minute.value > 0){
|
||||
// tmminute.value = '0'+ minute.value
|
||||
// }else{
|
||||
// tmminute.value = minute.value
|
||||
// }
|
||||
tmminute.value = minute.value
|
||||
}
|
||||
// if(second.value < 10){
|
||||
// tmsecond.value = '0' + second.value
|
||||
// }else{
|
||||
// tmsecond.value = second.value
|
||||
// }
|
||||
tmsecond.value = second.value
|
||||
|
||||
}, 1000)
|
||||
|
||||
@ -538,10 +557,11 @@
|
||||
rps.data = JSON.parse(rps.data as any)
|
||||
if((rps.data as any).tradeState == 'SUCCESS'){ //'NOTPAY' 订单未支付
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
type: 'success',
|
||||
message: '支付成功'
|
||||
})
|
||||
openpop.value = false
|
||||
zfclose()
|
||||
handBtnqu()
|
||||
}
|
||||
|
||||
|
||||
@ -416,9 +416,9 @@
|
||||
stationCode:[
|
||||
{ required: true, message: "请选择换电站", trigger: "blur" }
|
||||
],
|
||||
swapDuration:[
|
||||
{ required: true, message: "请选择换电时间段", trigger: "blur" }
|
||||
],
|
||||
// swapDuration:[
|
||||
// { required: true, message: "请选择换电时间段", trigger: "blur" }
|
||||
// ],
|
||||
plateNum:[
|
||||
{ required: true, message: "请输入车牌号", trigger: "blur" },
|
||||
{ validator:carNum, trigger: "blur"}
|
||||
|
||||
@ -70,7 +70,7 @@
|
||||
<el-table-column label="订单数量" min-width="120" align="center" prop="orderCount" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="交易金额(元)" min-width="120" align="center" prop="tradeAmount" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.tradeAmount">{{scope.row.tradeAmount?scope.row.tradeAmount/100:''}}</div>
|
||||
<div>{{scope.row.tradeAmount?scope.row.tradeAmount/100:''}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交易凭证" min-width="120" align="center" prop="pingz" :show-overflow-tooltip="true">
|
||||
@ -306,7 +306,7 @@
|
||||
addObj.tradeMessage = ''
|
||||
addObj.pkId = row.pkId
|
||||
popshow.value = true
|
||||
xqlist.value = row
|
||||
xqlist.value = {...row}
|
||||
xqlist.value.tradeAmount = xqlist.value.tradeAmount?xqlist.value.tradeAmount/100:''
|
||||
}
|
||||
|
||||
@ -363,9 +363,10 @@
|
||||
let shpopshow = ref(false)
|
||||
let shobj = ref<any>({})
|
||||
function showsh(row:any) {
|
||||
console.log(row,'row')
|
||||
shpopshow.value = true
|
||||
shobj.value = row
|
||||
shobj.value.tradeAmount = xqlist.value.tradeAmount?xqlist.value.tradeAmount/100:''
|
||||
shobj.value = {...row}
|
||||
shobj.value.tradeAmount = shobj.value.tradeAmount?shobj.value.tradeAmount/100:''
|
||||
}
|
||||
function shcancel() {
|
||||
shpopshow.value = false
|
||||
|
||||
@ -75,11 +75,12 @@
|
||||
|
||||
<!-- <el-table-column label="站码或车牌照" min-width="110" align="center" prop="sourceCode" :show-overflow-tooltip="true" /> -->
|
||||
|
||||
<el-table-column v-if="zjtype == 1" label="换电站" min-width="130" align="center" prop="pointName" :show-overflow-tooltip="true" />
|
||||
<el-table-column v-if="zjtype == 1" label="当前位置" min-width="130" align="center" prop="pointName" :show-overflow-tooltip="true" />
|
||||
<!-- <el-table-column v-if="zjtype == 1" label="换电站编码" min-width="130" align="center" prop="stationCode" :show-overflow-tooltip="true" /> -->
|
||||
<el-table-column label="当前电量" min-width="80" align="center" prop="soc" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" width="160" fixed="right">
|
||||
<el-table-column label="操作" align="center" width="240" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" icon="SetUp" @click="dcsjhand(scope.row.batCode)">实时数据</el-button>
|
||||
<el-button link type="primary" icon="Tickets" @click="zhuixpop(scope.row.batCode)">追溯</el-button>
|
||||
<el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
@ -125,14 +126,26 @@
|
||||
<el-input v-model="addata.batCode" placeholder="请输入电池编码" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-col v-if="zjtype == 1" :span="24">
|
||||
<el-form-item label="初始来源" prop="sourceFrom">
|
||||
<el-radio-group v-model="addata.sourceFrom">
|
||||
<el-radio-group v-model="addata.sourceFrom" @input="sourcechang">
|
||||
<el-radio value="1">站</el-radio>
|
||||
<el-radio value="2">车</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col v-if="zjtype == 1 && addata.sourceFrom == '1'" :span="24">
|
||||
<el-form-item label="换电站" prop="sourceCode">
|
||||
<el-select v-model="addata.sourceCode" placeholder="请选择换电站">
|
||||
<el-option @click.native="gethdzname(n.name)" v-for="n in yunList" :label="n.name" :value="n.code" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="addata.sourceFrom == '2'">
|
||||
<el-form-item label="车牌号" prop="sourceCode">
|
||||
<el-input v-model="addata.sourceCode" placeholder="请输入车牌号" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="addata.status" placeholder="请选择状态">
|
||||
@ -167,16 +180,9 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="addata.sourceFrom == '2'">
|
||||
<el-form-item label="站码或车牌照" prop="sourceCode">
|
||||
<el-input v-model="addata.sourceCode" placeholder="请输入站码或车牌照" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-if="zjtype == 1" :span="24">
|
||||
<el-form-item label="换电站" prop="stationCode">
|
||||
<el-select v-model="addata.stationCode" placeholder="请选择换电站">
|
||||
<el-option @click.native="gethdzname(n.name)" v-for="n in yunList" :label="n.name" :value="n.code" />
|
||||
</el-select>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="电池仓序号" prop="dccNo">
|
||||
<el-input v-model="addata.dccNo" placeholder="请输入电池仓序号" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
@ -223,11 +229,11 @@
|
||||
|
||||
<el-form ref="dczsRef" :model="addzsdata" :rules="zsrules" label-width="130px">
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<!-- <el-col :span="24">
|
||||
<el-form-item label="电池编码" prop="batCode">
|
||||
<el-input v-model="addzsdata.batCode" placeholder="请输入电池编码" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
<el-col :span="24">
|
||||
<el-form-item label="轨迹点类型" prop="pointType">
|
||||
<el-radio-group v-model="addzsdata.pointType">
|
||||
@ -280,6 +286,91 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
<!--实时数据-->
|
||||
<el-dialog
|
||||
v-model="realdatapop"
|
||||
title=""
|
||||
width="850px"
|
||||
fullscreen
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<template #header>
|
||||
<div style="font-size: 20px;">
|
||||
电池编码:{{diancode}}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<el-date-picker
|
||||
v-model="times"
|
||||
type="daterange"
|
||||
value-format="YYYY-MM-DD"
|
||||
@calendar-change="handleCalendarChange"
|
||||
:disabled-date="disabledDate"
|
||||
unlink-panels
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
@clear="cleardate"
|
||||
|
||||
/>
|
||||
|
||||
<!--:shortcuts="shortcuts"-->
|
||||
|
||||
<el-button type="primary" @click="getdcdata" style="margin-left: 30px;">查询</el-button>
|
||||
|
||||
<el-row :gutter="30">
|
||||
<el-col :span="24">
|
||||
<div ref="refChart" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart1" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart2" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart3" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart4" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart5" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart6" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart7" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart8" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart9" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart10" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart11" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart12" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<!-- <el-col :span="24">
|
||||
<div ref="refChart13" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart14" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div ref="refChart15" class="chart-cont2" style="height: 400px;margin-top: 20px;padding:10px;border-radius: 10px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);background: #fff;"></div>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts" name="UserPage">
|
||||
@ -293,7 +384,8 @@
|
||||
update,
|
||||
delhdz,
|
||||
getzhuis,
|
||||
addzhuis
|
||||
addzhuis,
|
||||
getdcsj
|
||||
} from '@/api/swapstation/battery'
|
||||
|
||||
import {
|
||||
@ -302,16 +394,20 @@
|
||||
// import {
|
||||
// getdict
|
||||
// } from '@/api/systemSet/dict'
|
||||
import { ref,reactive,computed} from 'vue'
|
||||
import { ref,reactive,computed,watch} from 'vue'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
|
||||
import * as echarts from 'echarts'
|
||||
|
||||
const props = withDefaults(defineProps<{
|
||||
zjtype?:string|number
|
||||
stationCode?:string
|
||||
stationName?:string
|
||||
list:any[]
|
||||
}>(), {
|
||||
zjtype:1,
|
||||
stationCode:'',
|
||||
stationName:'',
|
||||
list:() => []
|
||||
})
|
||||
|
||||
@ -319,6 +415,26 @@
|
||||
update: []
|
||||
}>()
|
||||
|
||||
let firstSelectedDate = ref<any>('')
|
||||
const handleCalendarChange = (val:any) => {
|
||||
firstSelectedDate.value = val[0]
|
||||
}
|
||||
const disabledDate = (time:any) => {
|
||||
if (!firstSelectedDate.value) return false
|
||||
|
||||
// 示例:限制选择范围为选中日期的前后7天
|
||||
const startTime = firstSelectedDate.value.getTime() - 7 * 24 * 3600 * 1000
|
||||
const endTime = firstSelectedDate.value.getTime() + 7 * 24 * 3600 * 1000
|
||||
|
||||
return time.getTime() < startTime || time.getTime() > endTime
|
||||
}
|
||||
|
||||
|
||||
const cleardate = () => {
|
||||
firstSelectedDate.value = ''
|
||||
}
|
||||
|
||||
|
||||
let search = ref(true)
|
||||
let theight = computed(() => {
|
||||
if(props.zjtype == 1 && !search.value){
|
||||
@ -363,8 +479,7 @@
|
||||
|
||||
//初始查询换电站
|
||||
let yunList = ref<any>([])
|
||||
if(props.zjtype == 1){
|
||||
gethdzlist({
|
||||
gethdzlist({
|
||||
pageSize:20, //每页条数
|
||||
pageNo:1, //页数
|
||||
proxyId:'', //归属运营商ID
|
||||
@ -380,6 +495,8 @@
|
||||
//getyys()
|
||||
}
|
||||
})
|
||||
if(props.zjtype == 1){
|
||||
|
||||
getyys()
|
||||
}else{
|
||||
if(props.list.length > 0){
|
||||
@ -397,6 +514,7 @@
|
||||
|
||||
function getyys() {
|
||||
yysList.value.splice(0)
|
||||
total.value = 0
|
||||
getjqrlist(queryParams).then(rps => {
|
||||
if(rps.data){
|
||||
yysList.value = (rps.data as any).records
|
||||
@ -424,26 +542,40 @@
|
||||
let yysRef = ref()
|
||||
let slecas = ref('')
|
||||
let addata = reactive({
|
||||
typeCode:'', //电池型号编码
|
||||
typeName:'', //电池型号名称
|
||||
batCode:'', //电池编码
|
||||
sourceFrom:'', //初始来源:1-站,2-车
|
||||
status:'', //状态:1-出租中,2-充电中,3-充电完毕,4-故障,5-其它
|
||||
typeCode:'', //电池型号编码
|
||||
typeName:'', //电池型号名称
|
||||
batCode:'', //电池编码
|
||||
sourceFrom:'1', //初始来源:1-站,2-车
|
||||
sourceCode:'', //站码或车牌照
|
||||
status:'', //状态:1-出租中,2-充电中,3-充电完毕,4-故障,5-其它
|
||||
pkId:'',
|
||||
productionDate:'', //生产日期
|
||||
registrationDate:'', //注册时间
|
||||
sourceCode:'', //站码或车牌照
|
||||
stationCode:'', //换电站编码
|
||||
stationName:'', //换电站名称
|
||||
soc:'' //当前电量
|
||||
productionDate:'', //生产日期
|
||||
registrationDate:'', //注册时间
|
||||
|
||||
//stationCode:'', //换电站编码
|
||||
//stationName:'', //换电站名称
|
||||
soc:'', //当前电量
|
||||
dccNo:'', //电池仓序号
|
||||
pointType:'', //轨迹点类型 1-站,2-车
|
||||
pointCode:'', //轨迹点编码
|
||||
pointName:'' //轨迹点名称
|
||||
})
|
||||
|
||||
// watch(() => addata.sourceFrom,() => {
|
||||
// addata.sourceCode = ''
|
||||
// })
|
||||
|
||||
function sourcechang() {
|
||||
addata.sourceCode = ''
|
||||
console.log(addata.sourceCode,'chang')
|
||||
}
|
||||
|
||||
function getdcname(n:string) {
|
||||
addata.typeName = n
|
||||
}
|
||||
|
||||
function gethdzname(n:string) {
|
||||
addata.stationName = n
|
||||
addata.pointName = n
|
||||
}
|
||||
|
||||
const rules = ref({
|
||||
@ -456,6 +588,21 @@
|
||||
sourceFrom:[
|
||||
{ required: true, message: "请选择初始来源", trigger: "blur" }
|
||||
],
|
||||
sourceCode:[
|
||||
{ required: true,validator:(rule:any, value:any, callback:any) => {
|
||||
if(value.length == ''){
|
||||
if (addata.sourceFrom == '1') {
|
||||
return callback(new Error('请选择换电站'))
|
||||
}
|
||||
return callback(new Error('请输入车牌号'))
|
||||
}
|
||||
return callback()
|
||||
}, trigger: "blur"
|
||||
}
|
||||
],
|
||||
// stationCode:[
|
||||
// { required: true, message: "请选择换电站", trigger: "blur" }
|
||||
// ],
|
||||
status:[
|
||||
{ required: true, message: "请选择状态", trigger: "blur" }
|
||||
]
|
||||
@ -476,26 +623,39 @@
|
||||
addata.pkId = row.pkId
|
||||
addata.productionDate = row.productionDate?row.productionDate:''
|
||||
addata.registrationDate = row.registrationDate?row.registrationDate:''
|
||||
addata.sourceCode = row.sourceCode?row.sourceCode:''
|
||||
addata.stationCode = row.pointCode?row.pointCode:''
|
||||
addata.stationName = row.pointName?row.pointName:''
|
||||
|
||||
addata.sourceCode = row.sourceCode?row.sourceCode:''
|
||||
|
||||
addata.pointCode = row.sourceCode?row.sourceCode:''
|
||||
addata.pointName = row.pointName?row.pointName:''
|
||||
|
||||
// addata.stationCode = row.pointCode?row.pointCode:''
|
||||
// addata.stationName = row.pointName?row.pointName:''
|
||||
|
||||
addata.soc = row.soc
|
||||
|
||||
addata.dccNo = row.dccNo?row.dccNo:''
|
||||
}else{
|
||||
addata.typeCode = ''
|
||||
addata.batCode = ''
|
||||
addata.sourceFrom = ''
|
||||
addata.sourceFrom = '1'
|
||||
addata.status = ''
|
||||
addata.pkId = ''
|
||||
addata.productionDate = ''
|
||||
addata.registrationDate = ''
|
||||
addata.sourceCode = ''
|
||||
addata.stationCode = props.zjtype == 1?'':props.stationCode
|
||||
addata.stationName = ''
|
||||
addata.soc = ''
|
||||
addata.sourceCode = props.zjtype == 1?'':props.stationCode
|
||||
// addata.stationCode = props.zjtype == 1?'':props.stationCode
|
||||
// addata.stationName = ''
|
||||
|
||||
addata.pointCode = props.zjtype == 1?'':props.stationCode
|
||||
addata.pointName = props.zjtype == 1?'':props.stationName
|
||||
|
||||
addata.soc = ''
|
||||
addata.dccNo = ''
|
||||
}
|
||||
}
|
||||
function savehand() {
|
||||
addata.pointType = addata.sourceFrom
|
||||
addata.pointCode = addata.sourceCode
|
||||
if(type.value == 1){
|
||||
return addhdz(addata)
|
||||
}
|
||||
@ -507,9 +667,9 @@
|
||||
yysRef.value?.validate((valid:Boolean) => {
|
||||
|
||||
if (valid) {
|
||||
if(addata.sourceFrom == '1'){
|
||||
addata.sourceCode = addata.stationCode
|
||||
}
|
||||
// if(addata.sourceFrom == '1'){
|
||||
// addata.sourceCode = addata.stationCode
|
||||
// }
|
||||
savehand().then(() => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
@ -556,14 +716,8 @@
|
||||
let zspop = ref(false)
|
||||
let dccode = ref('')
|
||||
let gjlist = ref<any[]>([])
|
||||
function zhuixpop(code:string) {
|
||||
dccode.value = code
|
||||
getzhuis(dccode.value).then(rps => {
|
||||
gjlist.value = rps.data as any
|
||||
})
|
||||
zspop.value = true
|
||||
}
|
||||
|
||||
|
||||
|
||||
//添加追溯
|
||||
let dczspop = ref(false)
|
||||
let addzsdata = reactive({
|
||||
@ -574,7 +728,10 @@
|
||||
pointName:'', //轨迹点名称
|
||||
endTime:'' //结束时间,示例值(yyyy-MM-dd HH:mm:ss)
|
||||
})
|
||||
|
||||
|
||||
watch(() => addzsdata.pointType,() => {
|
||||
addzsdata.pointCode = ''
|
||||
})
|
||||
const zsrules = ref({
|
||||
batCode:[
|
||||
{ required: true, message: "请输入电池编码", trigger: "blur" }
|
||||
@ -584,13 +741,31 @@
|
||||
],
|
||||
|
||||
pointCode:[
|
||||
{ required: true, message: "请选择轨迹点", trigger: "blur" }
|
||||
{ required: true, validator:(rule:any, value:any, callback:any) => {
|
||||
if(value.length == ''){
|
||||
if (addzsdata.pointType == '1') {
|
||||
return callback(new Error('请选择换电站'))
|
||||
}
|
||||
return callback(new Error('请输入车牌号'))
|
||||
}
|
||||
return callback()
|
||||
}, trigger: "blur" }
|
||||
],
|
||||
beginTime:[
|
||||
{ required: true, message: "请选择开始时间", trigger: "blur" }
|
||||
]
|
||||
})
|
||||
|
||||
|
||||
function zhuixpop(code:string) {
|
||||
addzsdata.batCode = code
|
||||
dccode.value = code
|
||||
getzhuis(dccode.value).then(rps => {
|
||||
gjlist.value = rps.data as any
|
||||
})
|
||||
zspop.value = true
|
||||
}
|
||||
|
||||
let dczsRef = ref()
|
||||
|
||||
function zhuishand() {
|
||||
@ -602,11 +777,15 @@
|
||||
|
||||
dczsRef.value?.validate((valid:Boolean) => {
|
||||
if (valid) {
|
||||
if(addzsdata.pointType == '2'){
|
||||
addzsdata.pointName = addzsdata.pointCode
|
||||
}
|
||||
addzhuis(addzsdata).then(() => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '添加成功'
|
||||
})
|
||||
dczspop.value = false
|
||||
getzhuis(dccode.value).then(rps => {
|
||||
gjlist.value = rps.data as any
|
||||
})
|
||||
@ -618,6 +797,300 @@
|
||||
function getgjdname(name:string) {
|
||||
addzsdata.pointName = name
|
||||
}
|
||||
|
||||
|
||||
//实时数据
|
||||
let realdatapop = ref(false)
|
||||
let diancode = ref('')
|
||||
let times = ref<any>([])
|
||||
const shortcuts = [
|
||||
{
|
||||
text: '最近一周',
|
||||
value: () => {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
|
||||
return [start, end]
|
||||
},
|
||||
},
|
||||
{
|
||||
text: '最近一个月',
|
||||
value: () => {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
|
||||
return [start, end]
|
||||
},
|
||||
},
|
||||
{
|
||||
text: '最近三个月',
|
||||
value: () => {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
|
||||
return [start, end]
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
function dcsjhand(code:any){
|
||||
realdatapop.value = true
|
||||
firstSelectedDate.value = ''
|
||||
times.value = []
|
||||
diancode.value = code
|
||||
let date = new Date()
|
||||
let year = date.getFullYear()
|
||||
let month = String(date.getMonth() + 1).padStart(2, '0')
|
||||
let day = String(date.getDate()).padStart(2, '0')
|
||||
|
||||
let start = new Date()
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
|
||||
|
||||
let syear = start.getFullYear()
|
||||
let smonth = String(start.getMonth() + 1).padStart(2, '0')
|
||||
let sday = String(start.getDate()).padStart(2, '0')
|
||||
|
||||
|
||||
getrealdata(`${syear}-${smonth}-${sday}`,`${year}-${month}-${day}`)
|
||||
}
|
||||
|
||||
function getdcdata() {
|
||||
if(times.value){
|
||||
getrealdata(times.value[0],times.value[1])
|
||||
}
|
||||
|
||||
}
|
||||
function getrealdata(beginTime:any,endTime:any) {
|
||||
getdcsj(diancode.value,`${beginTime} 00:00:00`,`${endTime} 59:59:59`).then((rps:any) => {
|
||||
if(rps.data && rps.data.batData.length > 0){
|
||||
let xdata = rps.data.batData.map((n:any) => {
|
||||
let time = new Date(n.id*1)
|
||||
|
||||
let year = time.getFullYear()
|
||||
let month = String(time.getMonth() + 1).padStart(2, '0')
|
||||
let day = String(time.getDate()).padStart(2, '0')
|
||||
let h = String(time.getHours()).padStart(2, '0')
|
||||
let m = String(time.getMinutes()).padStart(2, '0')
|
||||
let s = String(time.getSeconds()).padStart(2, '0')
|
||||
|
||||
return `${year}-${month}-${day} ${h}:${m}:${s}`
|
||||
})
|
||||
|
||||
//电池包SOH
|
||||
let sohdata = rps.data.batData.map((n:any) => {
|
||||
return n.soh
|
||||
})
|
||||
|
||||
//电池包总电流
|
||||
let batTotalcurr = rps.data.batData.map((n:any) => {
|
||||
return n.batTotalCurr
|
||||
})
|
||||
|
||||
//单体电压总个数
|
||||
let batCellVoltCnt = rps.data.batData.map((n:any) => {
|
||||
return n.batCellVoltCnt
|
||||
})
|
||||
|
||||
//探针温度总个数
|
||||
let probeTempCnt = rps.data.batData.map((n:any) => {
|
||||
return n.probeTempCnt
|
||||
})
|
||||
|
||||
//电池包正极绝缘值
|
||||
let batPosiInsu = rps.data.batData.map((n:any) => {
|
||||
return n.batPosiinsu
|
||||
})
|
||||
//电池包负级绝缘值
|
||||
let batNegaInsu = rps.data.batData.map((n:any) => {
|
||||
return n.batNegainsu
|
||||
})
|
||||
|
||||
setdcwdchart(refChart.value,xdata,sohdata,'电池包SOH','#2363a5','%')
|
||||
setdcwdchart(refChart1.value,xdata,batTotalcurr,'电池包总电流','#2363a5','A')
|
||||
setdcwdchart(refChart2.value,xdata,batCellVoltCnt,'单体电压总个数','#2363a5','')
|
||||
|
||||
setdcwdchart(refChart3.value,xdata,probeTempCnt,'探针温度总个数','#2363a5','')
|
||||
setdcwdchart(refChart4.value,xdata,batPosiInsu,'电池包正极绝缘值','#2363a5','Kohm')
|
||||
|
||||
setdcwdchart(refChart5.value,xdata,batNegaInsu,'电池包负极绝缘值','#2363a5','Kohm')
|
||||
|
||||
// setdcwdchart(refChart4.value,xdata,testdata,'出水温度','#2363a5','℃')
|
||||
// setdcwdchart(refChart5.value,xdata,testdata,'回水温度','#2363a5','℃')
|
||||
// setdcwdchart(refChart6.value,xdata,testdata,'最低单体电压组','#2363a5','')
|
||||
|
||||
// setdcwdchart(refChart7.value,xdata,testdata,'最高单体温度','#2363a5','℃')
|
||||
// setdcwdchart(refChart8.value,xdata,testdata,'最高单体温度组','#2363a5','')
|
||||
// setdcwdchart(refChart9.value,xdata,testdata,'最低单体温度','#2363a5','℃')
|
||||
|
||||
// setdcwdchart(refChart10.value,xdata,testdata,'最高单体温度','#2363a5','℃')
|
||||
// setdcwdchart(refChart11.value,xdata,testdata,'最高单体温度组','#2363a5','')
|
||||
// setdcwdchart(refChart12.value,xdata,testdata,'最低单体温度','#2363a5','℃')
|
||||
|
||||
// setdcwdchart(refChart13.value,xdata,testdata,'最低单体温度组','#2363a5','')
|
||||
// setdcwdchart(refChart14.value,xdata,testdata,'电池电压需求','#2363a5','V')
|
||||
// setdcwdchart(refChart15.value,xdata,testdata,'电池电流需求','#2363a5','A')
|
||||
}
|
||||
if(rps.data && rps.data.chargingData.length > 0){
|
||||
let x2data = rps.data.chargingData.map((n:any) => {
|
||||
let time = new Date(n.id*1)
|
||||
|
||||
let year = time.getFullYear()
|
||||
let month = String(time.getMonth() + 1).padStart(2, '0')
|
||||
let day = String(time.getDate()).padStart(2, '0')
|
||||
let h = String(time.getHours()).padStart(2, '0')
|
||||
let m = String(time.getMinutes()).padStart(2, '0')
|
||||
let s = String(time.getSeconds()).padStart(2, '0')
|
||||
|
||||
return `${year}-${month}-${day} ${h}:${m}:${s}`
|
||||
|
||||
})
|
||||
let cddl = rps.data.chargingData.map((n:any) => {
|
||||
return n.chgQty
|
||||
})
|
||||
|
||||
let batMaxVolt = rps.data.chargingData.map((n:any) => {
|
||||
return n.batMaxVolt
|
||||
})
|
||||
|
||||
let batMinvolt = rps.data.chargingData.map((n:any) => {
|
||||
return n.batMinvolt
|
||||
})
|
||||
|
||||
let batMaxTemp = rps.data.chargingData.map((n:any) => {
|
||||
return n.batMaxTemp
|
||||
})
|
||||
|
||||
let batMinTemp = rps.data.chargingData.map((n:any) => {
|
||||
return n.batMinTemp
|
||||
})
|
||||
|
||||
let voltDemand = rps.data.chargingData.map((n:any) => {
|
||||
return n.voltDemand
|
||||
})
|
||||
|
||||
let currDemand = rps.data.chargingData.map((n:any) => {
|
||||
return n.currDemand
|
||||
})
|
||||
|
||||
|
||||
setdcwdchart(refChart6.value,x2data,cddl,'充电电量','#2363a5','kWh')
|
||||
setdcwdchart(refChart7.value,x2data,batMaxVolt,'最高单体电压','#2363a5','V')
|
||||
setdcwdchart(refChart8.value,x2data,batMinvolt,'最低单体电压','#2363a5','V')
|
||||
setdcwdchart(refChart9.value,x2data,batMaxTemp,'最高单体温度','#2363a5','℃')
|
||||
setdcwdchart(refChart10.value,x2data,batMinTemp,'最低单体温度','#2363a5','℃')
|
||||
setdcwdchart(refChart11.value,x2data,voltDemand,'电池电压需求','#2363a5','V')
|
||||
setdcwdchart(refChart12.value,x2data,currDemand,'电池电流需求','#2363a5','A')
|
||||
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
// setTimeout(() => {
|
||||
// let testdata = [
|
||||
// [20,65,80,60,90,100,45,20,65,80,60,90,100,45],
|
||||
// [30,75,50,60,80,100,45,30,75,50,60,80,100,45],
|
||||
// [80,75,100,50,20,60,35,80,75,100,50,20,60,35],
|
||||
// [20,65,80,60,90,100,45,20,65,80,60,90,100,45],
|
||||
// [30,75,50,60,80,100,45,30,75,50,60,80,100,45],
|
||||
// [80,75,100,50,20,60,35,80,75,100,50,20,60,35],
|
||||
// [10,65,90,40,10,70,55,90,85,76,60,30,40,65]
|
||||
// ]
|
||||
// setdcwdchart(refChart.value,testdata,'电池包SOH','#2363a5','%')
|
||||
// setdcwdchart(refChart1.value,[[20,65,80,60,90,100,45],[30,75,50,60,80,100,45],[80,75,100,50,20,60,35],[20,65,80,60,90,100,45],[30,75,50,60,80,100,45],[80,75,100,50,20,60,35]],'单体电压','#2363a5','V')
|
||||
// setdcwdchart(refChart2.value,[[20,65,80,60,90,100,45],[30,75,50,60,80,100,45],[80,75,100,50,20,60,35],[20,65,80,60,90,100,45],[30,75,50,60,80,100,45],[80,75,100,50,20,60,35]],'探针温度','#2363a5','℃')
|
||||
// setdcwdchart(refChart3.value,[[20,65,80,60,90,100,45],[30,75,50,60,80,100,45],[80,75,100,50,20,60,35],[20,65,80,60,90,100,45],[30,75,50,60,80,100,45],[80,75,100,50,20,60,35]],'电池包SOH','#2363a5','%')
|
||||
// setdcwdchart(refChart4.value,[[20,65,80,60,90,100,45],[30,75,50,60,80,100,45],[80,75,100,50,20,60,35],[20,65,80,60,90,100,45],[30,75,50,60,80,100,45],[80,75,100,50,20,60,35]],'单体电压','#2363a5','V')
|
||||
// setdcwdchart(refChart5.value,[[20,65,80,60,90,100,45],[30,75,50,60,80,100,45],[80,75,100,50,20,60,35],[20,65,80,60,90,100,45],[30,75,50,60,80,100,45],[80,75,100,50,20,60,35]],'探针温度','#2363a5','℃')
|
||||
// },1000)
|
||||
}
|
||||
|
||||
const refChart = ref()
|
||||
const refChart1 = ref()
|
||||
const refChart2 = ref()
|
||||
const refChart3 = ref()
|
||||
const refChart4 = ref()
|
||||
const refChart5 = ref()
|
||||
const refChart6 = ref()
|
||||
const refChart7 = ref()
|
||||
const refChart8 = ref()
|
||||
const refChart9 = ref()
|
||||
const refChart10 = ref()
|
||||
const refChart11 = ref()
|
||||
const refChart12 = ref()
|
||||
const refChart13 = ref()
|
||||
const refChart14 = ref()
|
||||
const refChart15 = ref()
|
||||
|
||||
let myChart: echarts.EChartsType
|
||||
|
||||
function setdcwdchart(e:any,xdata:any,ydata:any,tit:any,tcol:any,dw:string) {
|
||||
if (e) {
|
||||
myChart = echarts.init(e)
|
||||
let option
|
||||
|
||||
option = {
|
||||
title: {
|
||||
text: tit,
|
||||
left: 'center',
|
||||
textStyle: {
|
||||
color: tcol,//'#2363a5',
|
||||
fontSize: 18
|
||||
}
|
||||
},
|
||||
|
||||
grid: {
|
||||
left: '3%',
|
||||
top:'15%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisPointer: {
|
||||
type: "shadow",
|
||||
},
|
||||
data:xdata
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLabel: {
|
||||
formatter: `{value} ${dw}`,
|
||||
}
|
||||
},
|
||||
tooltip: {
|
||||
trigger: "axis",
|
||||
axisPointer: {
|
||||
type: "cross",
|
||||
crossStyle: {
|
||||
color: "#999",
|
||||
},
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
|
||||
data: ydata,
|
||||
symbol: 'none',
|
||||
type: 'line',
|
||||
//smooth: true,
|
||||
seriesLayoutBy: 'row',
|
||||
emphasis: { focus: 'series' },
|
||||
endLabel: {
|
||||
show: true,
|
||||
formatter: '{a}',
|
||||
distance: 2000
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
option && myChart.setOption(option);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
<style scoped>
|
||||
.el-divider--horizontal{
|
||||
|
||||
@ -94,7 +94,9 @@
|
||||
list:any[]
|
||||
}>()
|
||||
|
||||
|
||||
const emit = defineEmits<{
|
||||
updata:[]
|
||||
}>()
|
||||
|
||||
//查询
|
||||
let yysList = ref<any>([])
|
||||
@ -186,6 +188,7 @@
|
||||
setTimeout(()=> {
|
||||
openpop.value = false
|
||||
getyys()
|
||||
emit('updata')
|
||||
},600)
|
||||
})
|
||||
}
|
||||
@ -214,6 +217,7 @@
|
||||
message: '删除成功'
|
||||
})
|
||||
getyys()
|
||||
emit('updata')
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@ -188,6 +188,7 @@
|
||||
:stationName="stationName"
|
||||
:strategyId="strategyId"
|
||||
:list="mxlist"
|
||||
@updata="getyys"
|
||||
/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
@ -268,7 +268,7 @@
|
||||
//新增、修改
|
||||
let type = ref(1)
|
||||
let openpop = ref(false)
|
||||
let ystit = ref('添加电机')
|
||||
let ystit = ref('添加充电机')
|
||||
let yysRef = ref()
|
||||
let slecas = ref('')
|
||||
let addata = reactive({
|
||||
@ -307,7 +307,7 @@
|
||||
function showpop(num:any,row?:any){
|
||||
type.value = num
|
||||
openpop.value = true
|
||||
ystit.value = num == 1?'添加电机':'修改电机'
|
||||
ystit.value = num == 1?'添加充电机':'修改充电机'
|
||||
yysRef.value?.resetFields()
|
||||
if(row){
|
||||
addata.pkId = row.pkId
|
||||
|
||||
@ -18,22 +18,22 @@
|
||||
<el-table-column min-width="100" label="结束时间" align="center" prop="timeEnd" :show-overflow-tooltip="true" />
|
||||
<el-table-column min-width="100" label="每公里收费(元)" align="center" prop="eachKmFee" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div>{{scope.row.eachKmFee/100}}</div>
|
||||
<div>{{scope.row.eachKmFee?scope.row.eachKmFee/100:''}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column min-width="100" label="每SOC收费(元)" align="center" prop="eachSocFee" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div>{{scope.row.eachSocFee/100}}</div>
|
||||
<div>{{scope.row.eachSocFee?scope.row.eachSocFee/100:''}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column min-width="100" label="每度电收费(元)" align="center" prop="eachKwhFee" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div>{{scope.row.eachKwhFee/100}}</div>
|
||||
<div>{{scope.row.eachKwhFee?scope.row.eachKwhFee/100:''}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column min-width="100" label="谷段服务费(元)" align="center" prop="timeServiceFee" :show-overflow-tooltip="true">
|
||||
<el-table-column min-width="100" label="谷段服务费(元)" align="center" prop="serviceFee" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div>{{scope.row.timeServiceFee/100}}</div>
|
||||
<div>{{scope.row.serviceFee?scope.row.serviceFee/100:''}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="150" fixed="right">
|
||||
@ -121,9 +121,9 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="时段服务费(元)" prop="timeServiceFee">
|
||||
<el-form-item label="谷段服务费(元)" prop="serviceFee">
|
||||
<el-input
|
||||
v-model="addata.timeServiceFee"
|
||||
v-model="addata.serviceFee"
|
||||
placeholder="请输入谷段服务费"
|
||||
maxlength="50"
|
||||
/>
|
||||
@ -191,7 +191,7 @@
|
||||
eachKmFee:'', //每公里收费
|
||||
eachSocFee:'', //每SOC收费
|
||||
eachKwhFee:'', //每度电收费
|
||||
timeServiceFee:'' //谷段服务费
|
||||
serviceFee:'' //谷段服务费
|
||||
})
|
||||
|
||||
watch(() => addata.eachKmFee, v => {
|
||||
@ -206,8 +206,8 @@
|
||||
addata.eachKwhFee = setNum(v)
|
||||
})
|
||||
|
||||
watch(() => addata.timeServiceFee, v => {
|
||||
addata.timeServiceFee = setNum(v)
|
||||
watch(() => addata.serviceFee, v => {
|
||||
addata.serviceFee = setNum(v)
|
||||
})
|
||||
|
||||
const rules = ref({
|
||||
@ -252,7 +252,7 @@
|
||||
addata.eachKmFee = row.eachKmFee?row.eachKmFee/100:0
|
||||
addata.eachSocFee = row.eachSocFee?row.eachSocFee/100:0
|
||||
addata.eachKwhFee = row.eachKwhFee?row.eachKwhFee/100:0
|
||||
addata.timeServiceFee = row.timeServiceFee?row.timeServiceFee/100:0
|
||||
addata.serviceFee = row.serviceFee?row.serviceFee/100:0
|
||||
|
||||
}else{
|
||||
tiem.value.splice(0)
|
||||
@ -262,7 +262,7 @@
|
||||
addata.eachKmFee = ''
|
||||
addata.eachSocFee = ''
|
||||
addata.eachKwhFee = ''
|
||||
addata.timeServiceFee = ''
|
||||
addata.serviceFee = ''
|
||||
}
|
||||
}
|
||||
function savehand() {
|
||||
@ -270,7 +270,7 @@
|
||||
eachKmFee:addata.eachKmFee*100,
|
||||
eachSocFee:addata.eachSocFee*100,
|
||||
eachKwhFee:addata.eachKwhFee*100,
|
||||
timeServiceFee:addata.timeServiceFee*100
|
||||
serviceFee:addata.serviceFee*100
|
||||
})
|
||||
if(type.value == 1){
|
||||
return addhdz(addObj)
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
</el-form-item> -->
|
||||
<el-form-item label="运营商" prop="proxyId">
|
||||
<el-select v-model="queryParams.proxyId" placeholder="请选择运营商" style="width: 200px;">
|
||||
<el-option v-for="n in yunList" :label="n.poname" :value="n.pocode" />
|
||||
<el-option v-for="n in yunList" :label="n.label" :value="n.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="站点名称" prop="name">
|
||||
@ -80,7 +80,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="站点编码" min-width="300" align="center" prop="code" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="运营商" min-width="200" align="center" prop="proxyId" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="运营商" min-width="200" align="center" prop="poname" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="状态" min-width="100" align="center" prop="status" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.status == 1">正常营业</div>
|
||||
@ -151,7 +151,7 @@
|
||||
<el-col :span="12">
|
||||
<el-form-item label="运营商" prop="proxyId">
|
||||
<el-select v-model="addata.proxyId" placeholder="请选择运营商">
|
||||
<el-option v-for="n in yunList" :label="n.poname" :value="n.pocode" />
|
||||
<el-option v-for="n in yunList" :label="n.label" :value="n.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -410,7 +410,7 @@
|
||||
<el-col :span="12">
|
||||
<el-form-item label="运营商" prop="proxyId">
|
||||
<el-select v-model="addata.proxyId" placeholder="请选择运营商">
|
||||
<el-option v-for="n in yunList" :label="n.poname" :value="n.pocode" />
|
||||
<el-option v-for="n in yunList" :label="n.label" :value="n.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -636,6 +636,17 @@
|
||||
@update="getyys"
|
||||
/>
|
||||
</div>
|
||||
<div style="margin-bottom: 20px;border: 1px solid #98c3ef; border-radius: 10px;">
|
||||
<div class="mktit">电池仓</div>
|
||||
<dcc
|
||||
v-if="drawer"
|
||||
zjtype="2"
|
||||
:stationCode="addata.code"
|
||||
:stationName="addata.name"
|
||||
:list="dcclist"
|
||||
@update="getyys"
|
||||
/>
|
||||
</div>
|
||||
<div style="margin-bottom: 20px;;border: 1px solid #98c3ef; border-radius: 10px;">
|
||||
<div class="mktit">充电机</div>
|
||||
<electmach
|
||||
@ -647,23 +658,13 @@
|
||||
@update="getyys"
|
||||
/>
|
||||
</div>
|
||||
<div style="margin-bottom: 20px;border: 1px solid #98c3ef; border-radius: 10px;">
|
||||
<div class="mktit">电池仓</div>
|
||||
<dcc
|
||||
v-if="drawer"
|
||||
zjtype="2"
|
||||
:stationCode="addata.code"
|
||||
:stationName="addata.name"
|
||||
:list="dcclist"
|
||||
@update="getyys"
|
||||
/>
|
||||
</div>
|
||||
<div style="margin-bottom: 20px;border: 1px solid #98c3ef; border-radius: 10px;">
|
||||
<div class="mktit">电池</div>
|
||||
<battery
|
||||
v-if="drawer"
|
||||
zjtype="2"
|
||||
:stationCode="addata.code"
|
||||
:stationName="addata.name"
|
||||
:list="batlist"
|
||||
@update="getyys"
|
||||
/>
|
||||
@ -699,7 +700,7 @@
|
||||
getqrcode
|
||||
} from '@/api/swapstation/hdz'
|
||||
import {
|
||||
getyyslist
|
||||
optionyyslist
|
||||
} from '@/api/systemSet/operator'
|
||||
import {
|
||||
getArea
|
||||
@ -747,13 +748,10 @@
|
||||
|
||||
//初始查询运营商
|
||||
let yunList = ref<any>([])
|
||||
getyyslist({
|
||||
pageSize:200,
|
||||
pageNo:1
|
||||
}).then(rps => {
|
||||
optionyyslist().then(rps => {
|
||||
if(rps.data){
|
||||
let list = (rps.data as any).records
|
||||
yunList.value = list?list:[]
|
||||
//let list = (rps.data as any).records
|
||||
yunList.value = rps.data
|
||||
}
|
||||
})
|
||||
|
||||
@ -934,8 +932,12 @@
|
||||
addata.carTypeCode = row.carTypeCode?row.carTypeCode.split(','):''
|
||||
if(addata.locationPoint){
|
||||
let latlng = addata.locationPoint.split(',')
|
||||
lat.value = latlng[0]
|
||||
lng.value = latlng[1]
|
||||
|
||||
lng.value = latlng[0]
|
||||
lat.value = latlng[1]
|
||||
}else{
|
||||
lng.value = ''
|
||||
lat.value = ''
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
:inline="true"
|
||||
>
|
||||
<el-form-item label="换电站" prop="stationCode">
|
||||
<el-select v-model="queryParams.stationCode" placeholder="请选择换电站" style="width: 200px;">
|
||||
<el-select v-model="queryParams.stationCode" placeholder="请选择换电站" style="width: 240px;">
|
||||
<el-option v-for="n in yunList" :label="n.name" :value="n.code" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -57,7 +57,7 @@
|
||||
<div>{{(queryParams.pageNo - 1) * queryParams.pageSize+ $index + 1}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="换电站" min-width="100" align="center" prop="stationCode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="换电站" min-width="150" align="center" prop="stationName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="传送方向" min-width="100" align="center" prop="direction" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="消息类型" min-width="100" align="center" prop="type" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="方法" min-width="120" align="center" prop="messageFunction" :show-overflow-tooltip="true" />
|
||||
|
||||
190
src/views/swapstation/online/index.vue
Normal file
190
src/views/swapstation/online/index.vue
Normal file
@ -0,0 +1,190 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="app-container" style="margin-bottom: 12px;padding-bottom: 5px;border-radius: 10px;">
|
||||
<el-form
|
||||
ref="querform"
|
||||
:model="queryParams"
|
||||
:inline="true"
|
||||
>
|
||||
<el-form-item label="换电站" prop="stationCode">
|
||||
<el-select v-model="queryParams.stationCode" placeholder="请选择换电站" style="width: 240px;">
|
||||
<el-option v-for="n in yunList" :label="n.name" :value="n.code" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="传送方向" prop="direction">
|
||||
<el-select v-model="queryParams.direction" placeholder="请选择传送方向" style="width: 200px;">
|
||||
<el-option
|
||||
v-for="n in direction"
|
||||
:value="n.dictValue"
|
||||
:label="n.dictName"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="消息类型" prop="type">
|
||||
<el-select v-model="queryParams.type" placeholder="请选择信息类型" style="width: 200px;">
|
||||
<el-option
|
||||
v-for="n in msgtype"
|
||||
:value="n.dictValue"
|
||||
:label="n.dictName"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="方法" prop="messageFunction">
|
||||
<el-input v-model="queryParams.messageFunction" placeholder="请输入方法" clearable style="width: 160px" />
|
||||
</el-form-item> -->
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" @click="handBtnqu">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="app-container" style="margin-bottom: 12px;border-radius: 10px;">
|
||||
|
||||
<!-- <el-tooltip class="item" effect="dark" :content="search? '隐藏搜索' : '显示搜索'" placement="top">
|
||||
<el-button size="mini" circle icon="Search" @click="search = !search" />
|
||||
</el-tooltip> -->
|
||||
<el-table
|
||||
style="width:100%;margin-top: 10px;"
|
||||
:data="yysList"
|
||||
border
|
||||
stripe
|
||||
max-height="620px"
|
||||
>
|
||||
|
||||
<!-- {{ (queryParams.pageNo - 1) * queryParams.pageSize + index + 1 }} -->
|
||||
<el-table-column type="index" min-width="50" align="center">
|
||||
<template #default="{ $index }">
|
||||
<div>{{(queryParams.pageNo - 1) * queryParams.pageSize+ $index + 1}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="换电站" min-width="150" align="center" prop="stationName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="状态" min-width="100" align="center" prop="state" :show-overflow-tooltip="true" />
|
||||
<!-- <el-table-column label="http消息" min-width="100" align="center" prop="type" :show-overflow-tooltip="true" /> -->
|
||||
<!-- <el-table-column label="方法" min-width="120" align="center" prop="messageFunction" :show-overflow-tooltip="true" /> -->
|
||||
<el-table-column label="变化时间" min-width="120" align="center" prop="lineTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="内容" min-width="500" prop="content">
|
||||
<template #default="scope">
|
||||
<div style="word-wrap: break-word;">{{scope.row.httpContent}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div v-if="total > 10" style="display: flex;justify-content: right;padding-top:20px;">
|
||||
<el-pagination
|
||||
v-model:current-page="queryParams.pageNo"
|
||||
v-model:page-size="queryParams.pageSize"
|
||||
:page-sizes="[10, 20, 30, 40]"
|
||||
background
|
||||
size="small"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="getyys"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {
|
||||
gethdzlist
|
||||
} from '@/api/swapstation/hdz'
|
||||
|
||||
import {
|
||||
onlinelist
|
||||
} from '@/api/swapstation/mqtt'
|
||||
|
||||
// import {
|
||||
// getdict
|
||||
// } from '@/api/systemSet/dict'
|
||||
|
||||
import { ref,reactive} from 'vue'
|
||||
|
||||
let search = ref(true)
|
||||
|
||||
let queryParams = reactive({
|
||||
pageSize:20, //每页条数
|
||||
pageNo:1, //页数
|
||||
stationCode:'', //换电站编码
|
||||
//direction:'', //传送方向
|
||||
//type:'', //消息类型
|
||||
//messageFunction:'' //方法 stationInfo
|
||||
})
|
||||
|
||||
//查询
|
||||
let total = ref(0)
|
||||
let yysList = ref<any>([])
|
||||
function handBtnqu(){
|
||||
queryParams.pageNo = 1
|
||||
total.value = 0
|
||||
getyys()
|
||||
}
|
||||
|
||||
// //获取传送方向字典
|
||||
// let direction = ref<any>([])
|
||||
// getdict({
|
||||
// typeCode:'mqttcsfx'
|
||||
// }).then(rps => {
|
||||
// direction.value = rps.data
|
||||
// })
|
||||
|
||||
// //获取消息类型字典
|
||||
// let msgtype = ref<any>([])
|
||||
// getdict({
|
||||
// typeCode:'mqttxxtype'
|
||||
// }).then(rps => {
|
||||
// msgtype.value = rps.data
|
||||
// })
|
||||
|
||||
|
||||
|
||||
//初始查询换电站
|
||||
let yunList = ref<any>([])
|
||||
|
||||
gethdzlist({
|
||||
pageSize:100, //每页条数
|
||||
pageNo:1, //页数
|
||||
proxyId:'', //归属运营商ID
|
||||
name:'', //站点名称
|
||||
code:'', //站点编码
|
||||
status:'', //状态:1-正常营业,2-正常停运,3-故障停运,4-指令停运,9-其它
|
||||
type:'', //站点类型ID
|
||||
}).then(rps => {
|
||||
if(rps.data){
|
||||
let list = (rps.data as any).records
|
||||
yunList.value = list?list:[]
|
||||
//queryParams.stationCode = list[0].code
|
||||
//getyys()
|
||||
}
|
||||
})
|
||||
getyys()
|
||||
|
||||
|
||||
|
||||
function getyys() {
|
||||
yysList.value.splice(0)
|
||||
onlinelist(queryParams).then(rps => {
|
||||
if(rps.data){
|
||||
yysList.value = (rps.data as any).records
|
||||
total.value = (rps.data as any).total
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function handleSizeChange(val:number) {
|
||||
queryParams.pageSize = val
|
||||
getyys()
|
||||
}
|
||||
|
||||
//重置
|
||||
let querform = ref()
|
||||
function resetQuery() {
|
||||
querform.value?.resetFields()
|
||||
}
|
||||
|
||||
</script>
|
||||
<style scoped>
|
||||
.el-divider--horizontal{
|
||||
border-color:#5b98cd;
|
||||
}
|
||||
</style>
|
||||
355
src/views/system/abnormal/index.vue
Normal file
355
src/views/system/abnormal/index.vue
Normal file
@ -0,0 +1,355 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="app-container" style="margin-bottom: 12px;padding-bottom: 5px;border-radius: 10px;">
|
||||
<el-form
|
||||
ref="querform"
|
||||
:model="queryParams"
|
||||
:inline="true"
|
||||
>
|
||||
|
||||
<el-form-item label="路径" prop="path">
|
||||
<el-input v-model="queryParams.path" placeholder="请输入路径" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" @click="handBtnqu">搜索</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="app-container" style="margin-bottom: 12px;border-radius: 10px;">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="Plus"
|
||||
@click="showpop(1)">新增</el-button>
|
||||
<el-table
|
||||
style="width:100%;margin-top: 10px;"
|
||||
:data="yysList"
|
||||
border
|
||||
stripe
|
||||
highlight-current-row
|
||||
max-height="600px"
|
||||
>
|
||||
<el-table-column label="路径" min-width="200" align="center" prop="path" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="通知人员" min-width="200" align="center" prop="recipientNames" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" width="150" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" icon="Edit" @click="showpop(2,scope.row)">修改</el-button>
|
||||
<el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div v-if="total > 10" style="display: flex;justify-content: right;padding-top:20px;">
|
||||
<el-pagination
|
||||
v-model:current-page="queryParams.pageNo"
|
||||
v-model:page-size="queryParams.pageSize"
|
||||
:page-sizes="[10, 20, 30, 40]"
|
||||
background
|
||||
size="small"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="getyys"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 添加或修改用户配置对话框 -->
|
||||
<el-dialog
|
||||
v-model="openpop"
|
||||
:title="ystit"
|
||||
width="500px"
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-form ref="yysRef" :model="addata" :rules="rules" label-width="110px">
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="路径" prop="path">
|
||||
<!-- <el-cascader
|
||||
ref="cascader"
|
||||
v-model="slecas"
|
||||
style="width: 100%;"
|
||||
:options="options"
|
||||
clearable
|
||||
:props="{
|
||||
label:'admdvsName',
|
||||
value:'admdvsNo',
|
||||
children:'subAdmdvsInfoList'
|
||||
}"
|
||||
@change="change"
|
||||
/> -->
|
||||
<el-input v-model="addata.path" placeholder="请输入路径" />
|
||||
</el-form-item>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="通知人员" prop="recipientIds">
|
||||
<!-- <el-autocomplete
|
||||
multiple
|
||||
style="width: 100%"
|
||||
v-model="wxuser"
|
||||
:fetch-suggestions="querySearchAsync"
|
||||
placeholder="请输入手机号查询"
|
||||
clearable
|
||||
@blur="autoblur"
|
||||
@select="handleSelect"
|
||||
@clear="autoclear"
|
||||
/> -->
|
||||
|
||||
<!-- @focus="wxfocus"-->
|
||||
|
||||
<el-select
|
||||
v-model="wxuser"
|
||||
multiple
|
||||
filterable
|
||||
remote
|
||||
reserve-keyword
|
||||
value-key="value"
|
||||
placeholder="请输入手机号查询"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="loading"
|
||||
@focus="wxfocus"
|
||||
@change="wxchange"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="n in userlist"
|
||||
:key="n.wuid"
|
||||
:label="`${n.name?n.name:'暂未设置'}, ${n.phoneNumber?n.phoneNumber:'暂未设置'}`"
|
||||
:value="n.wuid"
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
<!-- <el-input v-model="addata.recipientIds" placeholder="请选择人员" /> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="handleAdd">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref,reactive,watch } from 'vue'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import {
|
||||
getadlist,
|
||||
addyctz,
|
||||
updateab,
|
||||
delab
|
||||
} from '@/api/systemSet/abnormal'
|
||||
|
||||
import {
|
||||
getwxlist
|
||||
} from '@/api/operation/wxuser'
|
||||
|
||||
|
||||
|
||||
//获取微信用户
|
||||
let wxuser = ref<any>([])
|
||||
let userlist = ref<any>([])
|
||||
let loading = ref<any>(false)
|
||||
function remoteMethod (queryString: string) {
|
||||
//if(queryString !== ''){
|
||||
loading.value = true
|
||||
userlist.value.splice(0)
|
||||
getwxlist({
|
||||
pageSize:1000, //每页条数
|
||||
pageNo:1, //页数
|
||||
phoneNumber:queryString, //手机号
|
||||
// nickName:queryString, //昵称
|
||||
// name:queryString //名称
|
||||
}).then((res:any) => {
|
||||
loading.value = false
|
||||
if (res.data && res.data.records.length > 0) {
|
||||
// mapList.value = res.data;
|
||||
userlist.value = res.data.records
|
||||
}
|
||||
}).catch(() => {
|
||||
loading.value = false
|
||||
})
|
||||
//}
|
||||
}
|
||||
|
||||
let queryParams = reactive({
|
||||
pageSize:20, //每页条数
|
||||
pageNo:1, //页数
|
||||
path:'' //路径
|
||||
})
|
||||
|
||||
//查询
|
||||
let total = ref(0)
|
||||
let yysList = ref([])
|
||||
function handBtnqu(){
|
||||
queryParams.pageNo = 1
|
||||
getyys()
|
||||
}
|
||||
|
||||
|
||||
function getyys() {
|
||||
yysList.value.splice(0)
|
||||
getadlist(queryParams).then(rps => {
|
||||
if(rps.data){
|
||||
total.value = (rps.data as any).total
|
||||
let list = (rps.data as any).records
|
||||
yysList.value = list?list:[]
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function handleSizeChange(val:number) {
|
||||
queryParams.pageSize = val
|
||||
getyys()
|
||||
}
|
||||
|
||||
//重置
|
||||
let querform = ref()
|
||||
function resetQuery() {
|
||||
querform.value?.resetFields()
|
||||
}
|
||||
|
||||
|
||||
//新增、修改
|
||||
let type = ref(1)
|
||||
let openpop = ref(false)
|
||||
let ystit = ref('')
|
||||
let yysRef = ref()
|
||||
let slecas = ref('')
|
||||
let addata = reactive({
|
||||
path:'', //路径
|
||||
recipientIds:'' //通知人员
|
||||
})
|
||||
const rules = ref({
|
||||
path:[
|
||||
{ required: true, message: "请输入路径", trigger: "blur" },
|
||||
],
|
||||
recipientIds:[
|
||||
{ required: true, message: "请选择通知人员", trigger: "blur" },
|
||||
]
|
||||
})
|
||||
|
||||
let pkId = ''
|
||||
function showpop(num:any,row?:any){
|
||||
type.value = num
|
||||
openpop.value = true
|
||||
ystit.value = num == 1?'添加异常':'修改异常'
|
||||
yysRef.value?.resetFields()
|
||||
|
||||
wxuser.value = []
|
||||
if(row){
|
||||
pkId = row.pkId
|
||||
addata.path = row.path
|
||||
addata.recipientIds = row.recipientIds
|
||||
if(row.recipientIds){
|
||||
wxuser.value = row.recipientIds?row.recipientIds.split(','):[]
|
||||
}
|
||||
getwxlist({
|
||||
pageSize:1000, //每页条数
|
||||
pageNo:1, //页数
|
||||
phoneNumber:'', //手机号
|
||||
// nickName:queryString, //昵称
|
||||
// name:queryString //名称
|
||||
}).then((res:any) => {
|
||||
|
||||
if (res.data && res.data.records.length > 0) {
|
||||
// mapList.value = res.data;
|
||||
userlist.value = res.data.records
|
||||
}
|
||||
})
|
||||
|
||||
}else{
|
||||
addata.path = ''
|
||||
addata.recipientIds = ''
|
||||
|
||||
}
|
||||
|
||||
console.log(wxuser.value,'wxuser1')
|
||||
|
||||
}
|
||||
function savehand() {
|
||||
if(type.value == 1){
|
||||
return addyctz(addata)
|
||||
}
|
||||
return updateab(Object.assign({},addata,{
|
||||
pkId
|
||||
}))
|
||||
|
||||
}
|
||||
//保存
|
||||
function handleAdd() {
|
||||
yysRef.value?.validate((valid:Boolean) => {
|
||||
if (valid) {
|
||||
savehand().then(() => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: type.value == 1?'添加成功':'修改成功'
|
||||
})
|
||||
setTimeout(()=> {
|
||||
openpop.value = false
|
||||
getyys()
|
||||
},600)
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//取消
|
||||
function cancel() {
|
||||
openpop.value = false
|
||||
}
|
||||
|
||||
//删除
|
||||
function handleDelete(row:any) {
|
||||
ElMessageBox.confirm(
|
||||
`确定删除:路径为${row.path}的异常?`,
|
||||
'温馨提示',
|
||||
{
|
||||
// confirmButtonText: '',
|
||||
// cancelButtonText: 'Cancel',
|
||||
type: 'warning',
|
||||
}
|
||||
).then(() => {
|
||||
delab(row.pkId).then(() => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功'
|
||||
})
|
||||
setTimeout(() => {
|
||||
getyys()
|
||||
},600)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function wxchange(v:any) {
|
||||
console.log(v)
|
||||
console.log(wxuser.value,'wxuser.value')
|
||||
if(v.length > 0){
|
||||
addata.recipientIds = v.join()
|
||||
}
|
||||
}
|
||||
|
||||
function wxfocus() {
|
||||
// userlist.value.splice(0)
|
||||
//wxuser.value = []
|
||||
//addata.recipientIds = ''
|
||||
}
|
||||
|
||||
getyys()
|
||||
|
||||
|
||||
</script>
|
||||
<style scoped>
|
||||
.el-divider--horizontal{
|
||||
border-color:#5b98cd;
|
||||
}
|
||||
</style>
|
||||
@ -303,7 +303,7 @@
|
||||
//删除
|
||||
function handleDelete(row:any) {
|
||||
ElMessageBox.confirm(
|
||||
`确定删除:${row.typeName}`,
|
||||
`确定删除:${row.title}`,
|
||||
'温馨提示',
|
||||
{
|
||||
// confirmButtonText: '',
|
||||
|
||||
@ -312,6 +312,7 @@
|
||||
let zhidval = ref('')
|
||||
|
||||
let zidform = reactive({
|
||||
pkId:'',
|
||||
typeId:'', //类型ID
|
||||
typeCode:'', //类型code
|
||||
dictName:'', //字典名称
|
||||
@ -332,6 +333,7 @@
|
||||
zhidval.value = '修改字典值'
|
||||
}
|
||||
if(row){
|
||||
zidform.pkId = row.pkId
|
||||
zidform.typeId = row.typeId
|
||||
zidform.typeCode = row.typeCode
|
||||
zidform.dictName = row.dictName
|
||||
@ -339,6 +341,7 @@
|
||||
zidform.dictValue = row.dictValue
|
||||
zidform.sort = row.sort
|
||||
}else{
|
||||
zidform.pkId = ''
|
||||
zidform.typeId = typeId.value
|
||||
zidform.typeCode = typecode.value
|
||||
zidform.dictName = ''
|
||||
|
||||
@ -40,14 +40,14 @@
|
||||
<el-table-column min-width="150" label="仓位数量下限" align="center" prop="dccNumMin" />
|
||||
<el-table-column min-width="150" label="仓位数量上限" align="center" prop="dccNumMax" />
|
||||
<el-table-column min-width="100" label="服务能力" align="center" prop="serviceCapability" />
|
||||
<el-table-column min-width="100" label="充电机功率" align="center" prop="chargerPower" />
|
||||
<el-table-column min-width="130" label="充电机功率(kW)" align="center" prop="chargerPower" />
|
||||
<el-table-column min-width="150" label="自动化级别" align="center" prop="autoLevel">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.autoLevel == 1">有人值守</div>
|
||||
<div v-if="scope.row.autoLevel == 2">无人值守</div>
|
||||
<div v-if="scope.row.autoLevel == 1">无人值守</div>
|
||||
<div v-if="scope.row.autoLevel == 2">有人值守</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
|
||||
<el-table-column label="操作" align="center" width="150" class-name="small-padding fixed-width">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" icon="Edit" @click="showpop(2,scope.row)">修改</el-button>
|
||||
<el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
|
||||
@ -84,7 +84,7 @@
|
||||
append-to-body
|
||||
align-center
|
||||
>
|
||||
<el-form ref="typeform" :model="addObj" :rules="rules" label-width="120px">
|
||||
<el-form ref="typeform" :model="addObj" :rules="rules" label-width="150px">
|
||||
<el-form-item label="型号名称" prop="name">
|
||||
<el-input v-model="addObj.name" placeholder="请输入型号名称" />
|
||||
</el-form-item>
|
||||
@ -97,13 +97,13 @@
|
||||
<el-form-item label="服务能力" prop="serviceCapability">
|
||||
<el-input v-model="addObj.serviceCapability" placeholder="请输入服务能力" />
|
||||
</el-form-item>
|
||||
<el-form-item label="充电机功率" prop="chargerPower">
|
||||
<el-form-item label="充电机功率(kW)" prop="chargerPower">
|
||||
<el-input v-model="addObj.chargerPower" placeholder="请输入充电机功率" />
|
||||
</el-form-item>
|
||||
<el-form-item label="自动化级别" prop="serviceCapability">
|
||||
<el-radio-group v-model="addObj.serviceCapability">
|
||||
<el-radio value="1">无人值守</el-radio>
|
||||
<el-radio value="2">有人值守</el-radio>
|
||||
<el-form-item label="自动化级别" prop="autoLevel">
|
||||
<el-radio-group v-model="addObj.autoLevel">
|
||||
<el-radio :value="1">无人值守</el-radio>
|
||||
<el-radio :value="2">有人值守</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
@ -102,8 +102,8 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="电池材料" prop="material">
|
||||
<el-radio-group v-model="addObj.material">
|
||||
<el-radio value="1">三元铁锂</el-radio>
|
||||
<el-radio value="2">磷酸铁锂</el-radio>
|
||||
<el-radio :value="1">三元铁锂</el-radio>
|
||||
<el-radio :value="2">磷酸铁锂</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="连接方式" prop="connectionMode">
|
||||
|
||||
@ -67,18 +67,18 @@
|
||||
max-height="600px"
|
||||
>
|
||||
|
||||
<el-table-column label="运营商名称" width="200" align="center" prop="poname" :show-overflow-tooltip="true">
|
||||
<el-table-column label="运营商名称" min-width="200" align="center" prop="poname" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div @click="showpop(2,scope.row)" style="display: inline-block;color:#16599d;border-bottom: 1px solid #417ebb;cursor:pointer">{{scope.row.poname}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="运营商组织机构代码" width="200" align="center" prop="pocode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="区划" width="200" align="center" prop="division" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="详细地址" width="400" align="center" prop="address" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="联系人" width="130" align="center" prop="contacts" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="联系电话" width="160" align="center" prop="phone" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="换电站数量" width="100" align="center" prop="stationCount" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="状态" width="100" align="center" prop="status">
|
||||
<el-table-column label="运营商组织机构代码" min-width="200" align="center" prop="pocode" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="区划" min-width="200" align="center" prop="division" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="详细地址" min-width="400" align="center" prop="address" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="联系人" min-width="130" align="center" prop="contacts" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="联系电话" min-width="160" align="center" prop="phone" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="换电站数量" min-width="100" align="center" prop="stationCount" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="状态" min-width="100" align="center" prop="status">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.status == 1">启用</div>
|
||||
<div v-else style="color: #ccc;">禁用</div>
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<el-table-column label="角色编码" align="center" prop="rcode" />
|
||||
<el-table-column label="状态" align="center" prop="status">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.type == 1">启用</div>
|
||||
<div v-if="scope.row.status == 1">启用</div>
|
||||
<div v-else>禁用</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -187,7 +187,10 @@
|
||||
function querytype() {
|
||||
dictlist.value.splice(0)
|
||||
getjslist('').then(rps => {
|
||||
dictlist.value = rps.data
|
||||
if(rps.data){
|
||||
dictlist.value = rps.data
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
@ -341,7 +344,9 @@
|
||||
jklist.value.splice(0)
|
||||
jkobj.sourceIds = ''
|
||||
getInter(n.pkId).then(rps => {
|
||||
jklist.value = rps.data
|
||||
if(rps.data){
|
||||
jklist.value = rps.data
|
||||
}
|
||||
return getinter({
|
||||
rcode:quanxpar.rcode,
|
||||
resourceType:'PER'
|
||||
|
||||
@ -151,7 +151,7 @@
|
||||
<el-form-item label="运营商" prop="businessCode">
|
||||
|
||||
<el-select v-model="userform.businessCode" placeholder="请选择运营商">
|
||||
<el-option v-for="n in yunList" :label="n.poname" :value="n.pocode" />
|
||||
<el-option v-for="n in yunList" :label="n.label" :value="n.value" />
|
||||
</el-select>
|
||||
|
||||
</el-form-item>
|
||||
@ -317,7 +317,7 @@
|
||||
|
||||
import { getjslist } from '@/api/systemSet/role'
|
||||
import {
|
||||
getyyslist
|
||||
optionyyslist
|
||||
} from '@/api/systemSet/operator'
|
||||
import {
|
||||
getlist
|
||||
@ -350,13 +350,10 @@
|
||||
let qyuserList = ref<any>([])
|
||||
if(userType.value == 1){
|
||||
//初始查询运营商
|
||||
getyyslist({
|
||||
pageSize:200,
|
||||
pageNo:1
|
||||
}).then(rps => {
|
||||
optionyyslist().then(rps => {
|
||||
if(rps.data){
|
||||
let list = (rps.data as any).records
|
||||
yunList.value = list?list:[]
|
||||
// let list = (rps.data as any).records
|
||||
yunList.value = rps.data
|
||||
}
|
||||
})
|
||||
|
||||
@ -586,11 +583,12 @@
|
||||
type: 'warning',
|
||||
}
|
||||
).then(() => {
|
||||
deleteuser('123').then(rps => {
|
||||
deleteuser({uid:row.pkId}).then(rps => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '删除成功'
|
||||
})
|
||||
handleQuery()
|
||||
})
|
||||
})
|
||||
}
|
||||
@ -653,6 +651,7 @@
|
||||
type: 'success',
|
||||
message: '分配成功'
|
||||
})
|
||||
handleQuery()
|
||||
})
|
||||
}else{
|
||||
ElMessage({
|
||||
|
||||
@ -190,7 +190,7 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="组织机构代码" prop="ccode">
|
||||
<el-input v-model="addata.ccode" maxlength="30" disabled placeholder="请输入组织机构代码" clearable />
|
||||
<el-input v-model="addata.ccode" maxlength="30" disabled placeholder="" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
@ -202,7 +202,7 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="车牌号" prop="plateNum">
|
||||
<el-input v-model="addata.plateNum" disabled placeholder="请输入车牌号" clearable />
|
||||
<el-input v-model="addata.plateNum" maxlength="8" disabled placeholder="请输入车牌号" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
@ -413,8 +413,8 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="组织机构代码" prop="ccode">
|
||||
<el-input v-model="addata.ccode" maxlength="20" disabled placeholder="请输入组织机构代码" clearable />
|
||||
<el-form-item label="组织机构代码">
|
||||
<el-input v-model="addata.ccode" maxlength="20" disabled placeholder="" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>
|
||||
@ -426,7 +426,7 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="车牌号" prop="plateNum">
|
||||
<el-input v-model="addata.plateNum" placeholder="请输入车牌号" clearable />
|
||||
<el-input v-model="addata.plateNum" maxlength="8" placeholder="请输入车牌号" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
ref="yysRef"
|
||||
:model="addata"
|
||||
:rules="rules"
|
||||
label-width="110px">
|
||||
label-width="120px">
|
||||
<el-row :gutter="30">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="户主类型" prop="ownerType">
|
||||
@ -45,6 +45,7 @@
|
||||
<el-col :span="12">
|
||||
<el-form-item label="账户总金额(元)" prop="totalAmount">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="addata.totalAmount"
|
||||
placeholder="请输入总金额"
|
||||
maxlength="50"
|
||||
@ -129,7 +130,7 @@
|
||||
ref="yysRef"
|
||||
:model="addata"
|
||||
:rules="rules"
|
||||
label-width="90px">
|
||||
label-width="110px">
|
||||
<el-row :gutter="30">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="户主类型" prop="ownerType">
|
||||
@ -167,8 +168,9 @@
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="账户总金额" prop="totalAmount">
|
||||
<el-form-item label="账户总金额(元)" prop="totalAmount">
|
||||
<el-input
|
||||
disabled
|
||||
v-model="addata.totalAmount"
|
||||
placeholder="请输入总金额"
|
||||
maxlength="50"
|
||||
@ -176,7 +178,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="充值金额" prop="rechargeAmount">
|
||||
<el-form-item label="充值金额(元)" prop="rechargeAmount">
|
||||
<el-input
|
||||
v-model="addata.rechargeAmount"
|
||||
placeholder="请输入充值金额"
|
||||
@ -185,7 +187,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="赠送金额" prop="giftAmount">
|
||||
<el-form-item label="赠送金额(元)" prop="giftAmount">
|
||||
<el-input
|
||||
v-model="addata.giftAmount"
|
||||
placeholder="请输入赠送金额"
|
||||
@ -194,7 +196,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="积分余额" prop="point">
|
||||
<el-form-item label="积分余额(元)" prop="point">
|
||||
<el-input
|
||||
v-model="addata.point"
|
||||
placeholder="请输入积分余额"
|
||||
@ -203,7 +205,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="押金" prop="deposit">
|
||||
<el-form-item label="押金(元)" prop="deposit">
|
||||
<el-input
|
||||
v-model="addata.deposit"
|
||||
placeholder="请输入押金"
|
||||
@ -221,7 +223,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="租金" prop="rent">
|
||||
<el-form-item label="租金(元)" prop="rent">
|
||||
<el-input
|
||||
v-model="addata.rent"
|
||||
placeholder="请输入租金"
|
||||
@ -344,10 +346,12 @@
|
||||
|
||||
watch(() => addata.rechargeAmount,v => {
|
||||
addata.rechargeAmount = setNum(addata.rechargeAmount)
|
||||
addata.totalAmount = addata.rechargeAmount*1 + addata.giftAmount*1
|
||||
})
|
||||
|
||||
watch(() => addata.giftAmount,v => {
|
||||
addata.giftAmount = setNum(addata.giftAmount)
|
||||
addata.totalAmount = addata.rechargeAmount*1 + addata.giftAmount*1
|
||||
})
|
||||
|
||||
watch(() => addata.point,v => {
|
||||
@ -414,10 +418,15 @@
|
||||
addata.rent = ''
|
||||
}
|
||||
function savehand() {
|
||||
let newobj = Object.assign({},addata,{
|
||||
totalAmount:addata.totalAmount*100,
|
||||
rechargeAmount:addata.rechargeAmount*100,
|
||||
giftAmount:addata.giftAmount*100
|
||||
})
|
||||
if(type.value == 1){
|
||||
return addhdz(addata)
|
||||
return addhdz(newobj)
|
||||
}
|
||||
return update(addata)
|
||||
return update(newobj)
|
||||
|
||||
}
|
||||
//保存
|
||||
@ -425,10 +434,10 @@
|
||||
yysRef.value?.validate((valid:Boolean) => {
|
||||
if (valid) {
|
||||
|
||||
addata.totalAmount = addata.totalAmount*100
|
||||
// addata.totalAmount = addata.totalAmount*100
|
||||
|
||||
addata.rechargeAmount = addata.rechargeAmount*100
|
||||
addata.giftAmount = addata.giftAmount*100
|
||||
// addata.rechargeAmount = addata.rechargeAmount*100
|
||||
// addata.giftAmount = addata.giftAmount*100
|
||||
|
||||
// addata.point = addata.point*100
|
||||
// addata.deposit = addata.deposit*100
|
||||
|
||||
@ -453,7 +453,7 @@
|
||||
addressArea:'', //地址-区县
|
||||
contacts:'', //联系人
|
||||
phone:'', //联系电话
|
||||
status:'', //状态:1-启用,0-禁用
|
||||
status:'1', //状态:1-启用,0-禁用
|
||||
logo:'', //logo地址
|
||||
delFlag:'' //删除标识:1-已删除,0-未删除
|
||||
// accountBalance:'' //账户余额
|
||||
@ -500,7 +500,7 @@
|
||||
addata.addressArea = ''
|
||||
addata.contacts = ''
|
||||
addata.phone = ''
|
||||
addata.status = ''
|
||||
addata.status = '1'
|
||||
addata.logo = ''
|
||||
//addata.accountBalance = ''
|
||||
}
|
||||
@ -587,6 +587,7 @@
|
||||
addata.addressArea = ''
|
||||
}
|
||||
|
||||
console.log(addata.division,'区划')
|
||||
}
|
||||
getArea({}).then(rps => {
|
||||
options.value = rps.data
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
<el-form-item label="运营商" prop="proxyId">
|
||||
<el-select v-model="queryParams.proxyId" placeholder="请选择运营商" style="width: 200px;">
|
||||
<el-option v-for="n in yunList" :label="n.poname" :value="n.pkId" />
|
||||
<el-option v-for="n in yunList" :label="n.label" :value="n.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="分账状态">
|
||||
@ -50,32 +50,32 @@
|
||||
<el-table-column label="订单数量" min-width="150" align="left" prop="orderCount" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="分账总金额(元)" min-width="150" align="left" prop="accountTotalAmount" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div>{{scope.row.accountTotalAmount/100}}</div>
|
||||
<div>{{scope.row.accountTotalAmount}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="应分金额(元)" min-width="150" align="left" prop="orderTotalAmount" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div>{{scope.row.orderTotalAmount/100}}</div>
|
||||
<div>{{scope.row.orderTotalAmount}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="税点总金额(元)" min-width="150" align="left" prop="taxPointTotalAmount" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div>{{scope.row.taxPointTotalAmount/100}}</div>
|
||||
<div>{{scope.row.taxPointTotalAmount}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="手续费" min-width="150" align="left" prop="totalHandlingFee" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div>{{scope.row.totalHandlingFee/100}}</div>
|
||||
<div>{{scope.row.totalHandlingFee}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="实际分账金额(元)" min-width="150" align="left" prop="totalAmount" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div>{{scope.row.totalAmount/100}}</div>
|
||||
<div>{{scope.row.totalAmount}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="分账开始时间" min-width="150" align="left" prop="independentAccountBegin" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="分账结束时间" min-width="150" align="left" prop="independentAccountEnd" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="分账状态" min-width="100" align="left" prop="status" :show-overflow-tooltip="true">
|
||||
<el-table-column label="分账开始时间" min-width="150" align="center" prop="independentAccountBegin" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="分账结束时间" min-width="150" align="center" prop="independentAccountEnd" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="分账状态" min-width="100" align="center" prop="status" :show-overflow-tooltip="true">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.status == 0">待分账</div>
|
||||
<div v-else-if="scope.row.status == 1" style="color: #237d00;">已分账</div>
|
||||
@ -107,7 +107,7 @@
|
||||
getyysfz
|
||||
} from '@/api/order/account'
|
||||
import {
|
||||
getyyslist
|
||||
optionyyslist
|
||||
} from '@/api/systemSet/operator'
|
||||
import { ref,reactive,watch,h} from 'vue'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
@ -123,13 +123,10 @@
|
||||
|
||||
//初始查询运营商
|
||||
let yunList = ref<any>([])
|
||||
getyyslist({
|
||||
pageSize:200,
|
||||
pageNo:1
|
||||
}).then(rps => {
|
||||
optionyyslist().then(rps => {
|
||||
if(rps.data){
|
||||
let list = (rps.data as any).records
|
||||
yunList.value = list?list:[]
|
||||
//let list = (rps.data as any).records
|
||||
yunList.value = rps.data
|
||||
}
|
||||
})
|
||||
|
||||
@ -177,15 +174,15 @@
|
||||
}else if(i == 1) {
|
||||
sums[i] = sumtotal.value.orderCount
|
||||
}else if(i == 2){
|
||||
sums[i] = sumtotal.value.accountTotalAmount/100
|
||||
sums[i] = sumtotal.value.accountTotalAmount
|
||||
}else if(i == 3){
|
||||
sums[i] = sumtotal.value.orderTotalAmount/100
|
||||
sums[i] = sumtotal.value.orderTotalAmount
|
||||
}else if(i == 4){
|
||||
sums[i] = sumtotal.value.taxPointTotalAmount/100
|
||||
sums[i] = sumtotal.value.taxPointTotalAmount
|
||||
}else if(i == 5){
|
||||
sums[i] = sumtotal.value.handlingFee/100
|
||||
sums[i] = sumtotal.value.handlingFee
|
||||
}else if(i == 6){
|
||||
sums[i] = sumtotal.value.totalAmount/100
|
||||
sums[i] = sumtotal.value.totalAmount
|
||||
}else {
|
||||
sums[i] = ''
|
||||
}
|
||||
|
||||
@ -351,6 +351,9 @@
|
||||
message: '绑定成功'
|
||||
})
|
||||
bdgspop.value = false
|
||||
setTimeout(()=> {
|
||||
getyys()
|
||||
},600)
|
||||
})
|
||||
}else{
|
||||
ElMessage({
|
||||
|
||||
@ -5,7 +5,7 @@ export default defineConfig({
|
||||
envPrefix: "VITE_", //环境变量默认前缀
|
||||
server: {
|
||||
// 服务器主机名,默认是 localhost
|
||||
host: "localhost",
|
||||
host: "192.168.5.231",
|
||||
// 是否开启自动打开浏览器
|
||||
open: true,
|
||||
// proxy: {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user