Improve Prices view dialog layout and responsiveness

This commit is contained in:
wood chen 2025-02-09 19:34:53 +08:00
parent 50d63f47c7
commit 40feab37f6

View File

@ -202,7 +202,7 @@
</el-card> </el-card>
<!-- 批量添加对话框 --> <!-- 批量添加对话框 -->
<el-dialog v-model="batchDialogVisible" title="批量添加模型价格" width="90%"> <el-dialog v-model="batchDialogVisible" title="批量添加模型价格" width="1200px">
<div class="batch-add-container"> <div class="batch-add-container">
<div class="batch-toolbar"> <div class="batch-toolbar">
<el-button type="primary" @click="addRow">添加行</el-button> <el-button type="primary" @click="addRow">添加行</el-button>
@ -233,6 +233,7 @@ dall-e-3 按Token收费 OpenAI 美元 40.000000 40.000000"
</div> </div>
</el-popover> </el-popover>
</div> </div>
<el-table <el-table
:data="batchForms" :data="batchForms"
style="width: 100%" style="width: 100%"
@ -240,12 +241,12 @@ dall-e-3 按Token收费 OpenAI 美元 40.000000 40.000000"
height="400" height="400"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column label="模型" width="200"> <el-table-column label="模型" width="180">
<template #default="{ row }"> <template #default="{ row }">
<el-input v-model="row.model" placeholder="请输入模型名称" /> <el-input v-model="row.model" placeholder="请输入模型名称" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="计费类型" width="150"> <el-table-column label="计费类型" width="120">
<template #default="{ row }"> <template #default="{ row }">
<el-select v-model="row.billing_type" placeholder="请选择"> <el-select v-model="row.billing_type" placeholder="请选择">
<el-option label="按量计费" value="tokens" /> <el-option label="按量计费" value="tokens" />
@ -253,7 +254,7 @@ dall-e-3 按Token收费 OpenAI 美元 40.000000 40.000000"
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="模型厂商" width="200"> <el-table-column label="模型厂商" width="180">
<template #default="{ row }"> <template #default="{ row }">
<el-select v-model="row.channel_type" placeholder="请选择"> <el-select v-model="row.channel_type" placeholder="请选择">
<el-option <el-option
@ -284,15 +285,15 @@ dall-e-3 按Token收费 OpenAI 美元 40.000000 40.000000"
</el-table-column> </el-table-column>
<el-table-column label="输入价格(M)" width="150"> <el-table-column label="输入价格(M)" width="150">
<template #default="{ row }"> <template #default="{ row }">
<el-input-number v-model="row.input_price" :precision="4" :step="0.0001" /> <el-input-number v-model="row.input_price" :precision="4" :step="0.0001" style="width: 100%" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="输出价格(M)" width="150"> <el-table-column label="输出价格(M)" width="150">
<template #default="{ row }"> <template #default="{ row }">
<el-input-number v-model="row.output_price" :precision="4" :step="0.0001" /> <el-input-number v-model="row.output_price" :precision="4" :step="0.0001" style="width: 100%" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="价格来源"> <el-table-column label="价格来源" min-width="200" width="200">
<template #default="{ row }"> <template #default="{ row }">
<el-input v-model="row.price_source" placeholder="请输入价格来源" /> <el-input v-model="row.price_source" placeholder="请输入价格来源" />
</template> </template>
@ -310,51 +311,67 @@ dall-e-3 按Token收费 OpenAI 美元 40.000000 40.000000"
</el-dialog> </el-dialog>
<!-- 现有的单个添加对话框 --> <!-- 现有的单个添加对话框 -->
<el-dialog v-model="dialogVisible" title="提交价格"> <el-dialog v-model="dialogVisible" title="提交价格" width="700px">
<el-form :model="form" label-width="120px"> <el-form :model="form" label-width="100px">
<el-form-item label="模型"> <el-row :gutter="20">
<el-input v-model="form.model" /> <el-col :span="12">
</el-form-item> <el-form-item label="模型">
<el-form-item label="计费类型"> <el-input v-model="form.model" />
<el-select v-model="form.billing_type" placeholder="请选择"> </el-form-item>
<el-option label="按量计费" value="tokens" /> </el-col>
<el-option label="按次计费" value="times" /> <el-col :span="12">
</el-select> <el-form-item label="计费类型">
</el-form-item> <el-select v-model="form.billing_type" placeholder="请选择">
<el-form-item label="模型厂商"> <el-option label="按量计费" value="tokens" />
<el-select v-model="form.channel_type" placeholder="请选择"> <el-option label="按次计费" value="times" />
<el-option </el-select>
v-for="provider in providers" </el-form-item>
:key="provider.id" </el-col>
:label="provider.name" <el-col :span="12">
:value="provider.id.toString()" <el-form-item label="模型厂商">
> <el-select v-model="form.channel_type" placeholder="请选择">
<div style="display: flex; align-items: center; gap: 8px"> <el-option
<el-image v-for="provider in providers"
v-if="provider.icon" :key="provider.id"
:src="provider.icon" :label="provider.name"
style="width: 24px; height: 24px" :value="provider.id.toString()"
/> >
<span>{{ provider.name }}</span> <div style="display: flex; align-items: center; gap: 8px">
</div> <el-image
</el-option> v-if="provider.icon"
</el-select> :src="provider.icon"
</el-form-item> style="width: 24px; height: 24px"
<el-form-item label="货币"> />
<el-select v-model="form.currency" placeholder="请选择"> <span>{{ provider.name }}</span>
<el-option label="美元" value="USD" /> </div>
<el-option label="人民币" value="CNY" /> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="输入价格(M)"> </el-col>
<el-input-number v-model="form.input_price" :precision="4" :step="0.0001" /> <el-col :span="12">
</el-form-item> <el-form-item label="货币">
<el-form-item label="输出价格(M)"> <el-select v-model="form.currency" placeholder="请选择">
<el-input-number v-model="form.output_price" :precision="4" :step="0.0001" /> <el-option label="美元" value="USD" />
</el-form-item> <el-option label="人民币" value="CNY" />
<el-form-item label="价格来源"> </el-select>
<el-input v-model="form.price_source" /> </el-form-item>
</el-form-item> </el-col>
<el-col :span="12">
<el-form-item label="输入价格(M)">
<el-input-number v-model="form.input_price" :precision="4" :step="0.0001" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="输出价格(M)">
<el-input-number v-model="form.output_price" :precision="4" :step="0.0001" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="价格来源">
<el-input v-model="form.price_source" />
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">