Commit f100eb4a by lijinqi

大屏代码提交

parent ed0005a3
import request from '@/config/axios'
import type { Dayjs } from 'dayjs';
/** 算力资源配置信息 */
export interface ResourceConfig {
......@@ -52,4 +51,4 @@ export const ResourceConfigApi = {
listSimpleConfigByCategory: async (category: string) => {
return await request.get({ url: `/compute/resource-config/list-simple-config-by-category?category=${category}` })
}
}
\ No newline at end of file
}
......@@ -2,21 +2,26 @@ import request from '@/config/axios'
/** 算力资源SPU表(基础配置信息)信息 */
export interface ResourceSpu {
id: number; // 主键ID
id?: number; // 主键ID
name?: string; // 算力资源名称
cpu?: string; // CPU配置
gpu: string; // GPU配置
gpu?: string; // GPU配置
compute?: number,
gpuCount?: number,
coreCount?: number,
memoryCapacity?: number,
ram?: string; // 内存配置
storage?: string; // 存储配置
powerSupply?: string; // 电源配置
nic?: string; // 网卡配置
ip?: string; // 服务器ip
location?: string; // 位置
initUsername?: string; // 初始用户名
initPassword?: string; // 初始密码
intro: string; // 商品简介
intro?: string; // 商品简介
categoryId?: number; // 算力资源分类编号
picUrl?: string; // 商品封面图
sliderPicUrls: string; // 商品轮播图地址,以逗号分隔,最多15张
sliderPicUrls?: string; // 商品轮播图地址,以逗号分隔,最多15张
stock?: number; // 总库存数量
sales?: number; // 商品销量
status?: number; // 状态(0 下架,1 上架,2 回收)
......
......@@ -25,8 +25,8 @@ const dim = ref('gpu')
const datasets = {
gpu: [
{ value: 45, name: '4090' },
{ value: 30, name: 'A100' },
{ value: 45.11, name: '4090' },
{ value: 29.88, name: 'A100' },
{ value: 25, name: 'H100' }
],
source: [
......
......@@ -186,7 +186,7 @@
</div>
<div class="wrap">
<div class="header-title">研发投入</div>
<div class="header-title">服务能力</div>
<Nvestment />
</div>
......
......@@ -116,7 +116,7 @@ function init () {
],
series: [
{
name: '研发投入',
name: '上线应用',
type: 'bar',
// showBackground: true,
barMaxWidth: 40,
......@@ -136,7 +136,7 @@ function init () {
data: [10.19, 189.61, 120.4, 75.14, '']
},
{
name: '历年营收',
name: '上线API',
yAxisIndex: 1,
type: 'line',
smooth: true,
......
......@@ -70,7 +70,7 @@ const formData = ref({
configCategory: undefined,
configOption: undefined,
sort: undefined,
status: undefined,
status: 0,
detailRemark: undefined
})
const formRules = reactive({
......@@ -129,7 +129,7 @@ const resetForm = () => {
configCategory: undefined,
configOption: undefined,
sort: undefined,
status: undefined,
status: 0,
detailRemark: undefined
}
formRef.value?.resetFields()
......
......@@ -239,6 +239,10 @@ const formData = ref({
name: undefined,
cpu: undefined,
gpu: undefined,
compute: undefined,
gpuCount: undefined,
coreCount: undefined,
memoryCapacity: undefined,
ram: undefined,
storage: undefined,
ip: undefined,
......@@ -348,6 +352,10 @@ const resetForm = () => {
name: undefined,
cpu: undefined,
gpu: undefined,
compute: undefined,
gpuCount: undefined,
coreCount: undefined,
memoryCapacity: undefined,
ram: undefined,
storage: undefined,
ip: undefined,
......
......@@ -54,6 +54,18 @@
</el-form-item>
</div>
<div style="display: flex; margin-bottom: 16px;">
<el-form-item label="CPU核心数" prop="coreCount" style="margin-bottom: 0;">
<el-input v-model="formData.coreCount" placeholder="请输入CPU核心数" style="width: 180px;" :disabled="isDetailMode" />
</el-form-item>
<el-form-item label="算力" prop="compute" style="margin-bottom: 0;">
<el-input v-model="formData.compute" placeholder="请输入算力值(TFLOPS)" style="width: 180px;" :disabled="isDetailMode" />
</el-form-item>
<el-form-item label="GPU卡数量" prop="gpuCount" style="margin-bottom: 0;">
<el-input v-model="formData.gpuCount" placeholder="请输入GPU卡数量" style="width: 180px;" :disabled="isDetailMode" />
</el-form-item>
</div>
<div style="display: flex; margin-bottom: 24px;">
<el-form-item label="内存配置" prop="ram" style="margin-right: 20px; margin-bottom: 0;">
<el-select v-model="formData.ram" placeholder="请选择内存配置" clearable style="width: 180px;" :disabled="isDetailMode">
......@@ -65,6 +77,9 @@
/>
</el-select>
</el-form-item>
<el-form-item label="内存容量" prop="memoryCapacity" style="margin-bottom: 0;">
<el-input v-model="formData.memoryCapacity" placeholder="请输入内存容量" style="width: 180px;" :disabled="isDetailMode" />
</el-form-item>
<el-form-item label="存储配置" prop="storage" style="margin-bottom: 0;">
<el-select v-model="formData.storage" placeholder="请选择存储配置" clearable style="width: 180px;" :disabled="isDetailMode">
<el-option
......@@ -134,7 +149,7 @@
</el-form-item>
</div>
<!-- 7. 商品简介 -->
<el-form-item label="商品简介" prop="intro">
<el-input
......@@ -237,6 +252,10 @@ const formData = ref<ResourceSpu>({
categoryId: undefined,
picUrl: undefined,
sliderPicUrls: undefined,
compute: undefined,
gpuCount: undefined,
coreCount: undefined,
memoryCapacity: undefined,
sales: undefined,
location: undefined,
status: undefined
......@@ -247,6 +266,10 @@ const formRules = reactive({
cpu: [{ required: true, message: 'CPU配置不能为空', trigger: 'blur' }],
gpu: [{ required: true, message: 'GPU配置不能为空', trigger: 'blur' }],
ram: [{ required: true, message: '内存配置不能为空', trigger: 'blur' }],
compute: [{ required: true, message: '算力不能为空', trigger: 'blur' }],
gpuCount: [{ required: true, message: 'GPU卡数量不能为空', trigger: 'blur' }],
coreCount: [{ required: true, message: 'CPU数量不能为空', trigger: 'blur' }],
memoryCapacity: [{ required: true, message: '内存大小不能为空', trigger: 'blur' }],
storage: [{ required: true, message: '存储配置不能为空', trigger: 'blur' }],
powerSupply: [{ required: true, message: '电源配置不能为空', trigger: 'blur' }],
nic: [{ required: true, message: '网卡配置不能为空', trigger: 'blur' }],
......@@ -256,6 +279,7 @@ const formRules = reactive({
categoryId: [{ required: true, message: '算力资源分类编号不能为空', trigger: 'blur' }],
picUrl: [{ required: true, message: '商品封面图不能为空', trigger: 'blur' }],
sales: [{ required: true, message: '商品销量不能为空', trigger: 'blur' }],
location: [{ required: true, message: '服务器所在地不能为空', trigger: 'blur' }],
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }]
})
......@@ -313,4 +337,4 @@ onMounted(async () => {
console.error('初始化失败:', error)
}
})
</script>
\ No newline at end of file
</script>
......@@ -50,7 +50,7 @@ export default ({command, mode}: ConfigEnv): UserConfig => {
}
},
resolve: {
extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.scss', '.css'],
extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.scss', '.vue','.css'],
alias: [
{
find: 'vue-i18n',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment