模型计算更新与管理首页
continuous-integration/drone/pr Build is failing Details

pull/2/head
kelvin 3 years ago
parent 442752f0df
commit 05e47f1bbe

@ -0,0 +1,18 @@
import request from '@/utils/request'
//获取首页信息
export function getAdminIndex(model) {
return request({
url: '/cert/admin/index?model='+model,
method: 'get'
})
}
// 查询用户余额列表
export function listUserBalance(query) {
return request({
url: '/cert/admin/userBalance/list',
method: 'get',
params: query
})
}

@ -0,0 +1,137 @@
<template>
<div class="main">
<el-card class="box-card">
<template #header>
<div class="card-header">
<span>管理首页</span>
<div>
<el-button type="success" style="margin-right: 10px;" @click="flush()"></el-button>
</div>
</div>
</template>
<el-row :gutter="20" class="info" style="margin-bottom: 20px;">
<el-col :span="8">
<el-input placeholder="请输入Model名称查询" clearable @keyup.enter="getIndex" v-model="model"></el-input>
</el-col>
</el-row>
<el-row :gutter="20" class="info">
<el-col :span="6">用户余额<el-text class="mx-1" >{{ NumFilter(userBalance) }}</el-text></el-col>
<el-col :span="6">今日消费<el-text class="mx-1" >{{ NumFilter(balanceDay) }}</el-text></el-col>
<el-col :span="6">当月消费<el-text class="mx-1" >{{ NumFilter(balanceDayMonth) }}</el-text></el-col>
<el-col :span="6">所有消费<el-text class="mx-1" >{{ NumFilter(balanceDayAll) }}</el-text></el-col>
</el-row>
</el-card>
<div class="main2">
<el-table v-loading="loading" :data="userBalanceList" >
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" />
<el-table-column label="用户ID" align="center" prop="userId" />
<el-table-column label="余额" align="center" prop="balance" />
</el-table>
<pagination
v-show="total>0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</div>
</div>
</template>
<script setup name="Admin">
import { getAdminIndex, listUserBalance } from '@/api/cert/admin'
import { refreshUserBalance } from "@/api/cert/userBalance";
import { ref } from 'vue';
const { proxy } = getCurrentInstance();
const userBalance = ref(0);
const balanceDay = ref(0);
const balanceDayMonth = ref(0);
const balanceDayAll = ref(0);
const userBalanceList = ref([]);
const loading = ref(true);
const model = ref('');
const total = ref(0);
const data = reactive({
queryParams: {
pageNum: 1,
pageSize: 10,
},
});
const { queryParams } = toRefs(data);
/** 查询用户余额列表 */
function getList() {
loading.value = true;
listUserBalance(queryParams.value).then(response => {
userBalanceList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
function getIndex() {
getAdminIndex(model.value).then(response => {
userBalance.value = response.data.userBalance
balanceDayAll.value = response.data.userBalanceAll
balanceDayMonth.value = response.data.userBalanceMonth
balanceDay.value = response.data.userBalanceDay
})
getList()
}
function NumFilter (value) {
//
let realVal = parseFloat(value).toFixed(2)
return realVal
}
function NumFilter4 (value) {
//
let realVal = parseFloat(value).toFixed(4)
return realVal
}
function flush () {
refreshUserBalance()
getIndex()
proxy.$modal.msgSuccess("刷新成功")
}
getIndex()
</script>
<style scoped lang="scss">
.main {
padding: 20px;
}
.main2 {
margin-top: 20px;
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
}
.text {
font-size: 14px;
}
.item {
margin-bottom: 18px;
}
.info {
font-size: 15px;
color: #606266;
}
</style>

@ -69,7 +69,8 @@
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" /> <el-table-column label="ID" align="center" prop="id" />
<el-table-column label="名称" align="center" prop="modelName" /> <el-table-column label="名称" align="center" prop="modelName" />
<el-table-column label="价格" align="center" prop="modelPrice" /> <el-table-column label="提问价格" align="center" prop="modelPrice" />
<el-table-column label="回答价格" align="center" prop="modelPrice2" />
<el-table-column label="预扣数" align="center" prop="modelPrepayment" /> <el-table-column label="预扣数" align="center" prop="modelPrepayment" />
<el-table-column label="状态标志" align="center" prop="status"> <el-table-column label="状态标志" align="center" prop="status">
<template #default="scope"> <template #default="scope">
@ -98,8 +99,11 @@
<el-form-item label="名称" prop="modelName"> <el-form-item label="名称" prop="modelName">
<el-input v-model="form.modelName" placeholder="请输入名称" /> <el-input v-model="form.modelName" placeholder="请输入名称" />
</el-form-item> </el-form-item>
<el-form-item label="价格" prop="modelPrice"> <el-form-item label="提问价格" prop="modelPrice">
<el-input v-model="form.modelPrice" placeholder="请输入价格" /> <el-input v-model="form.modelPrice" placeholder="请输入提问价格" />
</el-form-item>
<el-form-item label="回答价格" prop="modelPrice2">
<el-input v-model="form.modelPrice2" placeholder="请输入回答价格" />
</el-form-item> </el-form-item>
<el-form-item label="预扣数" prop="modelPrepayment"> <el-form-item label="预扣数" prop="modelPrepayment">
<el-input v-model="form.modelPrepayment" placeholder="请输入预扣token数" /> <el-input v-model="form.modelPrepayment" placeholder="请输入预扣token数" />
@ -164,7 +168,10 @@ const data = reactive({
{ required: true, message: "名称不能为空", trigger: "blur" } { required: true, message: "名称不能为空", trigger: "blur" }
], ],
modelPrice: [ modelPrice: [
{ required: true, message: "价格不能为空", trigger: "blur" } { required: true, message: "提问价格不能为空", trigger: "blur" }
],
modelPrice2: [
{ required: true, message: "回答价格不能为空", trigger: "blur" }
], ],
modelPrepayment: [ modelPrepayment: [
{ required: true, message: "预扣token数不能为空", trigger: "blur" } { required: true, message: "预扣token数不能为空", trigger: "blur" }
@ -202,6 +209,7 @@ function reset() {
id: null, id: null,
modelName: null, modelName: null,
modelPrice: null, modelPrice: null,
modelPrice2: null,
modelPrepayment: null, modelPrepayment: null,
status: '0', status: '0',
delFlag: '0', delFlag: '0',

@ -89,9 +89,9 @@
{{NumFilter4(scope.row.modelPrice*1000)}}/k {{NumFilter4(scope.row.modelPrice*1000)}}/k
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="modelPrice" label="回答价格" width="180"> <el-table-column prop="modelPrice2" label="回答价格" width="180">
<template #default="scope"> <template #default="scope">
{{NumFilter4(scope.row.modelPrice*1000)}}/k {{NumFilter4(scope.row.modelPrice2*1000)}}/k
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="remark" label="备注" /> <el-table-column prop="remark" label="备注" />

Loading…
Cancel
Save