This commit is contained in:
cjb 2025-04-16 11:00:04 +08:00
parent 00b90f6922
commit f7a5c9e87d
13 changed files with 289 additions and 126 deletions

View File

@ -6,5 +6,6 @@ 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 = '/dev-api'
#VITE_APP_BASE_API = 'https://api.evo-techina.com'

View File

@ -4,7 +4,8 @@ import server from '@/utils/request'
interface Addobj{
ownerType:String //户主类型1-个人2-企业
ownerId:String //户主ID
stationCode:String //引入站点
accName?:String //户主名称
stationCode?:String //引入站点
pkId?:String
totalAmount?:String|Number //账户总金额,分:总金额=充值金额+赠送金额
rechargeAmount?:String|Number //充值余额,分

View File

@ -90,4 +90,15 @@ export function getqrcode(params:Codeqs) {
params,
responseType:'blob'
})
}
}
//生成站点公钥
export function publicKey(stationCode:any) {
return server.request({
url: '/cloud/batterystation/rsa_secret_key',
method: 'post',
data:{
stationCode
}
})
}

View File

@ -109,10 +109,10 @@ export function setNum(v?:any){
//只能输入两个小数
v = v.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')
if(/^0+[1-9]$/.test(v) || /^0+\d+\./.test(v)) {
if(/^0+[1-9]\d*\.*/.test(v)) {
v = v.replace(/^0+/,'')
}
if(/^(0+\.)/.test(v) || /^0+\.$/.test(v) || /^0+$/.test(v)) {
if(/^0+\.*/.test(v)) {
v = v.replace(/^0+/,'0')
}
return v
@ -123,6 +123,7 @@ export function setNum(v?:any){
export function carNum(rule:any, value:any, callback:any) {
if(value.length > 0){
const regExp = new RegExp(/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF][A-HJ-NP-Z0-9][0-9]{4}))$/)
//const regExp = new RegExp(/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[0-9][A-Z]$/)
if (!regExp.test(value)) {
return callback(new Error('车牌号格式不正确'))
}

View File

@ -10,8 +10,12 @@
<!-- <a v-if="showcode" :href="url" style="display: flex;align-items: center;padding-right: 30px;color: #80aedd;">
<div style="padding-right: 6px;">下载小程序码</div><el-icon><Download /></el-icon>
</a> -->
<div v-if="showcode" @click="xcxcode" style="display: flex;align-items: center;padding-right: 30px;color: #80aedd;cursor: pointer;">
<div style="padding-right: 6px;">查看小程序码</div>
<div v-if="showcode" style="display: flex;align-items: center;padding-right: 30px;color: #80aedd;cursor: pointer;">
<div @click="setpublicKey" style="padding-right: 40px;color: #b88230;">生成公钥</div>
<div @click="xcxcode" style="padding-right: 6px;">查看小程序码</div>
<!-- <el-icon><Download /></el-icon> -->
</div>
@ -20,6 +24,24 @@
</el-icon>
</div>
</div>
<!--换电站公钥-->
<el-dialog
v-model="keypop"
width="700"
append-to-body
destroy-on-close
:close-on-click-modal="false"
>
<div style="display: flex;align-items: center;white-space: pre-wrap;word-break: break-all;">
<div>{{publickey}}</div>
<div @click="copyTextToClipboard" style="width: 150px;text-align: right; color: #98c3ef;cursor: pointer;">复制</div>
</div>
</el-dialog>
<!--小程序二维码-->
<el-dialog
v-model="openpop"
width="450"
@ -29,11 +51,13 @@
>
<img :src="urlcode" width="400" height="400" />
<el-button @click="downloadImage()">下载</el-button>
</el-dialog>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import{ getqrcode } from '@/api/swapstation/hdz'
import{ getqrcode,publicKey } from '@/api/swapstation/hdz'
const props = withDefaults(defineProps<{
name?:string
showjt?:boolean
@ -59,6 +83,30 @@
emit('close')
}
//
let keypop = ref(false)
let publickey = ref('')
function setpublicKey() {
publicKey(props.hdzcode).then(rps => {
keypop.value = true
publickey.value = (rps.data as any).publickey
})
}
//
function copyTextToClipboard() {
navigator.clipboard.writeText(publickey.value).then(
function() {
console.log('复制成功');
},
function(err) {
console.error('复制失败: ', err);
}
)
}
let openpop = ref(false)
let urlcode = ref<any>('')
//
@ -78,4 +126,13 @@
})
}
//
function downloadImage() {
const a = document.createElement('a');
a.href = urlcode.value
a.download = props.name
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
</script>

View File

@ -1,11 +1,11 @@
<template>
<div>
<div style="padding:10px 0 20px;">
<el-button
<!-- <el-button
type="primary"
plain
icon="Plus"
@click="showpop(1)">新增</el-button>
@click="showpop(1)">新增</el-button> -->
<el-table
style="width:100%;margin-top: 10px;"
:data="yysList"
@ -15,61 +15,69 @@
max-height="620px"
>
<el-table-column label="交易编码" min-width="280" align="center" prop="tradeNo" :show-overflow-tooltip="true" />
<el-table-column label="交易前账户总金额(元)" min-width="160" align="center" prop="preTotalAmount" :show-overflow-tooltip="true">
<el-table-column label="交易类型" min-width="80" align="center" prop="tradeNo" :show-overflow-tooltip="true">
<template #default="scope">
<div v-if="scope.row.tradeType == 1" style="color: #00aa00;">充值</div>
<div v-else-if="scope.row.tradeType == 2" style="color:#191919;">支付</div>
<div v-else-if="scope.row.tradeType == 9" style="color:#c79a11;">提现</div>
</template>
</el-table-column>
<el-table-column label="交易前账户总金额(元)" min-width="160" align="left" prop="preTotalAmount" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.preTotalAmount/100}}</div>
</template>
</el-table-column>
<el-table-column label="交易前充值余额(元)" min-width="150" align="center" prop="preRechargeAmount" :show-overflow-tooltip="true">
<el-table-column label="交易前充值余额(元)" min-width="150" align="left" prop="preRechargeAmount" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.preRechargeAmount/100}}</div>
</template>
</el-table-column>
<el-table-column label="交易前赠送金额(元)" min-width="150" align="center" prop="preGiftAmount" :show-overflow-tooltip="true">
<el-table-column label="交易前赠送金额(元)" min-width="150" align="left" prop="preGiftAmount" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.preGiftAmount/100}}</div>
</template>
</el-table-column>
<el-table-column label="交易总金额(元)" min-width="140" align="center" prop="tradeTotalAmount" :show-overflow-tooltip="true">
<el-table-column label="交易总金额(元)" min-width="140" align="left" prop="tradeTotalAmount" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.tradeTotalAmount/100}}</div>
</template>
</el-table-column>
<el-table-column label="交易充值余额(元)" min-width="140" align="center" prop="tradeRechargeAmount" :show-overflow-tooltip="true">
<el-table-column label="交易充值余额(元)" min-width="140" align="left" prop="tradeRechargeAmount" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.tradeRechargeAmount/100}}</div>
</template>
</el-table-column>
<el-table-column label="交易赠送金额(元)" min-width="140" align="center" prop="tradeGiftAmount" :show-overflow-tooltip="true">
<el-table-column label="交易赠送金额(元)" min-width="140" align="left" prop="tradeGiftAmount" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.tradeGiftAmount/100}}</div>
</template>
</el-table-column>
<el-table-column label="交易后总金额(元)" min-width="150" align="center" prop="afterTotalAmount" :show-overflow-tooltip="true">
<el-table-column label="交易后总金额(元)" min-width="150" align="left" prop="afterTotalAmount" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.afterTotalAmount/100}}</div>
</template>
</el-table-column>
<el-table-column label="交易后充值余额(元)" min-width="150" align="center" prop="afterRechargeAmount" :show-overflow-tooltip="true">
<el-table-column label="交易后充值余额(元)" min-width="150" align="left" prop="afterRechargeAmount" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.afterRechargeAmount/100}}</div>
</template>
</el-table-column>
<el-table-column label="交易后赠送金额(元)" min-width="150" align="center" prop="afterGiftAmount" :show-overflow-tooltip="true">
<el-table-column label="交易后赠送金额(元)" min-width="150" align="left" prop="afterGiftAmount" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.afterGiftAmount/100}}</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="150" fixed="right">
<!-- <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-column> -->
</el-table>
</div>

View File

@ -12,6 +12,13 @@
<el-option label="企业" value="2" />
</el-select>
</el-form-item>
<el-form-item label="户主名称" prop="accName">
<el-input
v-model="queryParams.accName"
placeholder="请输入户主名称"
maxlength="50"
/>
</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" />
@ -24,7 +31,7 @@
</el-form>
</div>
<div class="app-container" style="margin-bottom: 12px;border-radius: 10px;">
<div style="display: flex;justify-content: space-between;">
<!-- <div style="display: flex;justify-content: space-between;">
<el-button
type="primary"
plain
@ -33,66 +40,66 @@
<el-tooltip class="item" effect="dark" :content="search? '隐藏搜索' : '显示搜索'" placement="top">
<el-button size="mini" circle icon="Search" @click="search = !search" />
</el-tooltip>
</div>
</div> -->
<el-table
style="width:100%;margin-top: 10px;"
:data="yysList"
border
stripe
:max-height="search?'600px':'680px'"
:max-height="search?'600px':'700px'"
>
<el-table-column label="账户编码" min-width="300" align="center" prop="code" :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.code}}</div>
</template>
</el-table-column>
<el-table-column label="户主名称" min-width="100" align="center" prop="accName" :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.accName?scope.row.accName:'暂未设置'}}</div>
</template>
</el-table-column>
<el-table-column label="户主类型" min-width="100" align="center" prop="ownerType" :show-overflow-tooltip="true">
<template #default="scope">
<div v-if="scope.row.ownerType == 1">个人</div>
<div v-else>企业</div>
</template>
</el-table-column>
<template #default="scope">
<div v-if="scope.row.ownerType == 1">个人</div>
<div v-else>企业</div>
</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="250" align="center" prop="stationName" :show-overflow-tooltip="true" />
<el-table-column label="账户总金额(元)" min-width="120" align="center" prop="totalAmount" :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>
</template>
</el-table-column>
<el-table-column label="充值余额(元)" min-width="120" align="center" prop="rechargeAmount" :show-overflow-tooltip="true">
<el-table-column label="充值余额(元)" min-width="120" align="left" prop="rechargeAmount" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.rechargeAmount/100}}</div>
</template>
</el-table-column>
<el-table-column label="赠送金额(元)" min-width="120" align="center" prop="giftAmount" :show-overflow-tooltip="true">
<el-table-column label="赠送金额(元)" min-width="120" align="left" prop="giftAmount" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.giftAmount/100}}</div>
</template>
</el-table-column>
<el-table-column label="积分金额(元)" min-width="120" align="center" prop="point" :show-overflow-tooltip="true">
<el-table-column label="积分金额(元)" min-width="120" align="left" prop="point" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.point/100}}</div>
</template>
</el-table-column>
<el-table-column label="押金(元)" min-width="120" align="center" prop="deposit" :show-overflow-tooltip="true">
<el-table-column label="押金(元)" min-width="80" align="left" prop="deposit" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.deposit/100}}</div>
</template>
</el-table-column>
<el-table-column label="SN码" min-width="150" align="center" prop="snCode" :show-overflow-tooltip="true" />
<el-table-column label="租金(元)" min-width="100" align="center" prop="rent" :show-overflow-tooltip="true">
<el-table-column label="租金(元)" min-width="80" align="left" prop="rent" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.rent/100}}</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="100" fixed="right">
<!-- <el-table-column label="操作" align="center" width="100" fixed="right">
<template #default="scope">
<!-- <el-button link type="primary" icon="Collection" @click="bzmingx(scope.row.pkId)">标准明细</el-button> -->
<!-- <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-column> -->
</el-table>
<div v-if="total > 10" style="display: flex;justify-content: right;padding-top:20px;">
<el-pagination
@ -133,14 +140,15 @@
v-model="addata.ownerType"
placeholder="请选择类型"
>
<el-option
label="个人"
value="1"
/>
<el-option
label="企业"
value="2"
/>
<el-option
label="个人"
value="1"
/>
</el-select>
</el-form-item>
</el-col>
@ -256,7 +264,7 @@
<el-drawer
v-model="drawer"
:with-header="false"
size="50%"
size="70%"
>
<tit @close="handleClose" name="账户详情" />
<el-row :gutter="25">
@ -268,6 +276,7 @@
:model="addata"
:rules="rules"
label-width="120px">
<el-row :gutter="25" style="padding: 20px;">
<el-col :span="12">
<el-form-item label="户主类型" prop="ownerType">
@ -287,7 +296,15 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="户主名称" prop="accName">
<el-input
v-model="addata.accName"
placeholder="请输入户主名称"
maxlength="50"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="引入站点" prop="stationCode">
<el-select
@ -307,6 +324,7 @@
<el-col :span="12">
<el-form-item label="账户总金额(元)" prop="totalAmount">
<el-input
disabled
v-model="addata.totalAmount"
placeholder="请输入总金额"
maxlength="50"
@ -315,7 +333,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="充值金额(元)" prop="rechargeAmount">
<el-input
<el-input
disabled
v-model="addata.rechargeAmount"
placeholder="请输入充值金额"
maxlength="50"
@ -325,6 +344,7 @@
<el-col :span="12">
<el-form-item label="赠送金额(元)" prop="giftAmount">
<el-input
disabled
v-model="addata.giftAmount"
placeholder="请输入赠送金额"
maxlength="50"
@ -334,6 +354,7 @@
<el-col :span="12">
<el-form-item label="积分余额(元)" prop="point">
<el-input
disabled
v-model="addata.point"
placeholder="请输入积分余额"
maxlength="50"
@ -343,6 +364,7 @@
<el-col :span="12">
<el-form-item label="押金(元)" prop="deposit">
<el-input
disabled
v-model="addata.deposit"
placeholder="请输入押金"
maxlength="50"
@ -361,6 +383,7 @@
<el-col :span="12">
<el-form-item label="租金(元)" prop="rent">
<el-input
disabled
v-model="addata.rent"
placeholder="请输入租金"
maxlength="50"
@ -429,7 +452,9 @@
ownerType:'', //1-2-
ownerId:'', //ID
code:'', //
stationCode:'' //
stationCode:'', //
accName:'' //
})
//
@ -491,8 +516,9 @@
let stationName = ref('')
let addata = reactive<any>({
pkId:'',
ownerType:'2', //1-2-
ownerType:'2', //1-2-
ownerId:'', //ID
accName:'', //
stationCode:'', //
stationName:'', // ??
totalAmount:'', //=+
@ -562,16 +588,17 @@
addata.pkId = row.pkId
addata.ownerType = row.ownerType+''
addata.ownerId = row.ownerId
addata.ownerId = row.ownerId
addata.accName = row.accName
addata.stationCode = row.stationCode
addata.stationName = row.stationName
addata.totalAmount = row.totalAmount?row.totalAmount/100:0
addata.rechargeAmount = row.rechargeAmount?row.rechargeAmount/100:0
addata.giftAmount = row.giftAmount?row.giftAmount/100:0
addata.point = row.point
addata.deposit = row.deposit
addata.point = row.point?row.point/100:0
addata.deposit = row.deposit?row.deposit/100:0
addata.snCode = row.snCode?row.snCode:''
addata.rent = row.rent
addata.rent = row.rent?row.rent/100:0
standardId.value = row.pkId
bzName.value = row.name
@ -581,7 +608,8 @@
}else{
addata.pkId = ''
addata.ownerType = '2'
addata.ownerId = ''
addata.ownerId = ''
addata.accName = ''
addata.stationCode = ''
addata.stationName = ''
addata.totalAmount = ''
@ -590,14 +618,21 @@
addata.point = ''
addata.deposit = ''
addata.snCode = ''
addata.rent = ''
addata.rent = ''
qswxuser.value = ''
}
}
function savehand() {
let objData = Object.assign({},addata,{
totalAmount:addata.totalAmount*100,
rechargeAmount:addata.rechargeAmount*100,
giftAmount:addata.giftAmount*100
})
if(type.value == 1){
return addhdz(addata)
return addhdz(objData)
}
return update(addata)
return update(objData)
}
//
@ -605,10 +640,7 @@
yysRef.value?.validate((valid:Boolean) => {
if (valid) {
addata.totalAmount = addata.totalAmount*100
addata.rechargeAmount = addata.rechargeAmount*100
addata.giftAmount = addata.giftAmount*100
savehand().then(() => {
ElMessage({
@ -682,6 +714,7 @@
function changetype() {
qswxuser.value = ''
addata.ownerId = ''
addata.accName = ''
}
//
function getuser(v:any) {
@ -716,6 +749,7 @@
}
return {
value: n.cname,
name:n.cname,
id: n.ccode
}
@ -732,18 +766,21 @@
}
function qsautoblur() {
if(addata.ownerId === ''){
qswxuser.value = ''
}
}
if(addata.ownerId === ''){
qswxuser.value = ''
addata.accName = ''
}
}
function qsautoclear() {
addata.ownerId = ''
}
function qsautoclear() {
addata.ownerId = ''
addata.accName = ''
}
function qshandleSelect(v: any) {
addata.ownerId = v.id
}
function qshandleSelect(v: any) {
addata.ownerId = v.id
addata.accName = v.name
}
getyys()
</script>

View File

@ -61,11 +61,11 @@
<div style="display: flex;justify-content: space-between;">
<div>
<el-button
<!-- <el-button
type="primary"
plain
icon="Plus"
@click="showpop(1)">新增</el-button>
@click="showpop(1)">新增</el-button> -->
<el-button
type="primary"
@ -100,6 +100,8 @@
</template>
</el-table-column>
<el-table-column label="车牌号" min-width="120" align="center" prop="plateNum" :show-overflow-tooltip="true" />
<el-table-column label="预约人" min-width="120" align="center" prop="orderPreUname" :show-overflow-tooltip="true" />
<el-table-column label="预约人电话" min-width="120" align="center" prop="orderPrePhone" :show-overflow-tooltip="true" />
<el-table-column label="订单时间" min-width="200" align="center" prop="orderTime" :show-overflow-tooltip="true" />
<el-table-column label="金额账号" min-width="120" align="center" prop="accountCode" :show-overflow-tooltip="true" />
<el-table-column label="订单金额(元)" min-width="120" align="center" prop="amount" :show-overflow-tooltip="true">
@ -162,12 +164,11 @@
</template>
</el-table-column>
<el-table-column label="交易编码" min-width="280" align="center" prop="tradeNo" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" width="100" fixed="right">
<!-- <el-table-column label="操作" align="center" width="100" 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-column> -->
</el-table>
<div v-if="total > 10" style="display: flex;justify-content: right;padding-top:20px;">
<el-pagination
@ -465,7 +466,7 @@
</el-row>
</el-col>
</el-row>
<el-row style="margin-bottom: 30px;">
<el-col :span="8">
<el-row>
@ -487,6 +488,27 @@
</el-col>
</el-row>
<el-row style="margin-bottom: 30px;">
<el-col :span="8">
<el-row>
<el-col :span="4">预约人</el-col>
<el-col :span="20" style="color: #417ebb;">{{xqobj.orderPreUname}}</el-col>
</el-row>
</el-col>
<el-col :span="8">
<el-row>
<el-col :span="6">预约人电话</el-col>
<el-col :span="18" style="color: #417ebb;">{{xqobj.orderPrePhone?xqobj.orderPrePhone:''}}</el-col>
</el-row>
</el-col>
<el-col :span="8">
<el-row>
<el-col :span="5">交易编码</el-col>
<el-col :span="19" style="color: #417ebb;">{{xqobj.tradeNo}}</el-col>
</el-row>
</el-col>
</el-row>
<el-row style="margin-bottom: 30px;">
<el-col :span="8">
<el-row>
@ -503,7 +525,7 @@
<el-col :span="8">
<el-row>
<el-col :span="5">基础费用</el-col>
<el-col :span="19" style="color: #417ebb;">{{xqobj.basicFee}}</el-col>
<el-col :span="19" style="color: #417ebb;">{{xqobj.basicFee/100}}</el-col>
</el-row>
</el-col>
</el-row>
@ -524,7 +546,7 @@
<el-col :span="8">
<el-row>
<el-col :span="5">服务费</el-col>
<el-col :span="19" style="color: #417ebb;">{{xqobj.serviceFee}}</el-col>
<el-col :span="19" style="color: #417ebb;">{{xqobj.serviceFee/100}}</el-col>
</el-row>
</el-col>
</el-row>
@ -626,33 +648,27 @@
<el-col :span="12" style="color: #417ebb;">{{xqobj.changeLane == 1?'A车道':'B车道'}}</el-col>
</el-row>
</el-col>
<el-col :span="8">
<el-row>
<el-col :span="5">交易编码</el-col>
<el-col :span="19" style="color: #417ebb;">{{xqobj.tradeNo}}</el-col>
</el-row>
</el-col>
</el-row>
</el-col>
</el-row>
<el-row style="margin-bottom: 20px;padding-bottom: 20px;border-bottom: 1px solid #ccc;">
<el-col :span="xqobj.status == 5?12:24" :style="{textAlign:xqobj.status == 5?'right':'center'}">
<!-- <el-col :span="xqobj.status == 5?12:24" :style="{textAlign:xqobj.status == 5?'right':'center'}">
<el-button
v-if="xqobj.status != 7 || xqobj.status != 9"
v-if="xqobj.status != 7 && xqobj.status != 9"
style="margin-right: 25px;"
type="primary"
plain
icon="Edit"
@click="showpop(2,xqobj)">修改</el-button>
</el-col>
<el-col v-if="xqobj.status == 5" :span="12">
</el-col> -->
<!-- <el-col v-if="xqobj.status == 5" :span="12">
<el-button
style="margin-left: 25px;"
type="primary"
plain
icon="CopyDocument"
@click="feiyong((xqobj as any).orderNo)">计算费用</el-button>
</el-col>
</el-col> -->
</el-row>
<div style="padding-bottom: 20px;">换电步骤</div>
<div v-if="hdbz.length>0">

View File

@ -106,6 +106,7 @@
<div v-else-if="scope.row.status == 4">已过期</div>
</template>
</el-table-column>
<el-table-column label="创建时间" min-width="120" align="center" prop="ctime" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" width="100" fixed="right">
<template #default="scope">
<!-- <el-button link type="primary" icon="Edit" @click="showpop(2,scope.row)">修改</el-button> -->
@ -219,16 +220,31 @@
/> -->
<el-select v-model="addata.swapDuration" placeholder="请选择时间段">
<el-option label="8:00 - 9:00" value="8:00-9:00" />
<el-option label="9:00 - 10:00" value="9:00-10:00" />
<el-option label="10:00 - 11:00" value="10:00-11:00" />
<el-option label="11:00 - 12:00" value="11:00-12:00" />
<el-option label="12:00 - 13:00" value="12:00-13:00" />
<el-option label="13:00 - 14:00" value="13:00-14:00" />
<el-option label="14:00 - 15:00" value="14:00-15:00" />
<el-option label="15:00 - 16:00" value="15:00-16:00" />
<el-option label="16:00 - 17:00" value="16:00-17:00" />
<el-option label="17:00 - 18:00" value="17:00-18:00" />
<el-option label="0:00 - 1:00" value="0:00 - 1:00" />
<el-option label="1:00 - 2:00" value="1:00 - 2:00" />
<el-option label="2:00 - 3:00" value="2:00 - 3:00" />
<el-option label="3:00 - 4:00" value="3:00 - 4:00" />
<el-option label="4:00 - 5:00" value="4:00 - 5:00" />
<el-option label="5:00 - 6:00" value="5:00 - 6:00" />
<el-option label="6:00 - 7:00" value="6:00 - 7:00" />
<el-option label="7:00 - 8:00" value="7:00 - 8:00" />
<el-option label="8:00 - 9:00" value="8:00 - 9:00" />
<el-option label="9:00 - 10:00" value="9:00 - 10:00" />
<el-option label="10:00 - 11:00" value="10:00 - 11:00" />
<el-option label="11:00 - 12:00" value="11:00 - 12:00" />
<el-option label="12:00 - 13:00" value="12:00 - 13:00" />
<el-option label="13:00 - 14:00" value="13:00 - 14:00" />
<el-option label="14:00 - 15:00" value="14:00 - 15:00" />
<el-option label="15:00 - 16:00" value="15:00 - 16:00" />
<el-option label="16:00 - 17:00" value="16:00 - 17:00" />
<el-option label="17:00 - 18:00" value="17:00 - 18:00" />
<el-option label="18:00 - 19:00" value="18:00 - 19:00" />
<el-option label="19:00 - 20:00" value="19:00 - 20:00" />
<el-option label="20:00 - 21:00" value="20:00 - 21:00" />
<el-option label="21:00 - 22:00" value="21:00 - 22:00" />
<el-option label="22:00 - 23:00" value="22:00 - 23:00" />
<el-option label="23:00 - 24:00" value="23:00 - 24:00" />
</el-select>
</el-form-item>
</el-col>

View File

@ -380,11 +380,14 @@
}
}
function treecheck(){
checkArr.value = menutree.value.getCheckedNodes(true,true)
let ids = checkArr.value.map((n:any) => {
return n.pkId
})
function treecheck(n:any,v:any){
//checkArr.value = menutree.value.getCheckedNodes(true,true)
console.log(v,2) //.checkedKeys
// let ids = checkArr.value.map((n:any) => {
// return n.pkId
// })
let ids = [...v.checkedKeys,...v.halfCheckedKeys]
quanxpar.sourceIds = ids.join(',')
}

View File

@ -65,12 +65,12 @@
<el-table-column label="姓名" align="center" prop="name" :show-overflow-tooltip="true" />
<el-table-column label="手机号" align="center" width="120" prop="phone" :show-overflow-tooltip="true" />
<el-table-column label="邮箱" align="center" width="200" prop="email" :show-overflow-tooltip="true" />
<el-table-column label="性别" align="center" prop="sex">
<!-- <el-table-column label="性别" align="center" prop="sex">
<template #default="scope">
<div v-if="scope.row.sex == 1"></div>
<div v-else="scope.row.sex == 2"></div>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="状态" align="center" prop="status">
<template #default="scope">
@ -166,14 +166,14 @@
<el-input v-model="userform.email" placeholder="请输入邮箱" maxlength="50" />
</el-form-item>
</el-col>
<el-col :span="12">
<!-- <el-col :span="12">
<el-form-item label="性别" prop="sex">
<el-radio-group v-model="userform.sex">
<el-radio value="1"></el-radio>
<el-radio value="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="12">
<el-form-item label="内置账号" prop="readonly">
<el-radio-group v-model="userform.readonly">
@ -302,6 +302,7 @@
let userRef = ref()
let usertit = ref('添加用户')
let userform = reactive({
pkId:'',
uname:'', //
type:'', //1-2-3-
password:'', //
@ -311,7 +312,7 @@
name:'', //
email:'', //
phone:'', //
sex:'', //
//sex:'', //
readonly:'', //
avatar:'' //
})
@ -363,6 +364,7 @@
usertit.value = type == 1?'添加用户':'修改用户'
userRef.value?.resetFields()
if(row){
userform.pkId = row.pkId
userform.uid = row.uid
userform.uname = row.uname
userform.type = row.type+''
@ -372,10 +374,11 @@
userform.name = row.name
userform.email = row.email
userform.phone = row.phone
userform.sex = row.sex+''
//userform.sex = row.sex+''
userform.readonly = row.readonly+''
userform.avatar = row.avatar
}else{
userform.pkId = ''
userform.uid = ''
userform.uname = ''
userform.type = ''
@ -385,7 +388,7 @@
userform.name = ''
userform.email = ''
userform.phone = ''
userform.sex = ''
//userform.sex = ''
userform.readonly = ''
userform.avatar = ''
}
@ -409,6 +412,8 @@
})
setTimeout(()=> {
openpop.value = false
resetQuery()
handBtnqu()
},600)
})
}
@ -533,11 +538,10 @@
})
}else{
ElMessage({
type: 'warning',
message: '请选择角色'
})
type: 'warning',
message: '请选择角色'
})
}
}
</script>

View File

@ -599,8 +599,16 @@
<template v-else>
<el-table-column type="selection" width="40" />
<el-table-column label="手机号" min-width="150" align="center" prop="phoneNumber" :show-overflow-tooltip="true" />
<el-table-column label="用户名称" min-width="150" align="center" prop="name" :show-overflow-tooltip="true" />
<el-table-column label="手机号" min-width="150" align="center" prop="phoneNumber" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.phoneNumber?scope.row.phoneNumber:'暂未设置'}}</div>
</template>
</el-table-column>
<el-table-column label="用户名称" min-width="150" align="center" prop="name" :show-overflow-tooltip="true">
<template #default="scope">
<div>{{scope.row.phoneNumber?scope.row.name:'暂未设置'}}</div>
</template>
</el-table-column>
<el-table-column label="所属公司" min-width="200" align="center" prop="pname" :show-overflow-tooltip="true" />
<!-- <el-table-column label="用户昵称" min-width="150" align="center" prop="nickName" :show-overflow-tooltip="true" /> -->
<!-- <el-table-column label="用户性别" min-width="150" align="center" prop="gender" :show-overflow-tooltip="true">
@ -847,8 +855,8 @@
{ required: true, message: "请输入车主名称", trigger: "blur" }
],
plateNum:[
{ required: true, message: "请输入车牌号", trigger: "blur" },
{ required: true, validator:carNum, trigger: "blur"}
{ required: true, message: "请输入车牌号", trigger: "blur" }
// { required: true, validator:carNum, trigger: "blur"}
],
engineNo:[
{ required: true, message: "请输入引擎号", trigger: "blur" }

View File

@ -10,8 +10,8 @@ export default defineConfig({
open: true,
// proxy: {
// "^/dev-api": {
// target: `http://192.168.5.213:9100/gateway`,
// // target: `https://api.evo-techina.com`,
// target: `http://192.168.5.213:9103/gateway`,
// //target: `https://api.evo-techina.com`,
// changeOrigin: true,
// // rewrite: (path) => path.replace(/^\/api/, '\/' + process.env.VUE_APP_BASE_API)