Commit f100eb4a by lijinqi

大屏代码提交

parent ed0005a3
import request from '@/config/axios' import request from '@/config/axios'
import type { Dayjs } from 'dayjs';
/** 算力资源配置信息 */ /** 算力资源配置信息 */
export interface ResourceConfig { export interface ResourceConfig {
......
...@@ -2,21 +2,26 @@ import request from '@/config/axios' ...@@ -2,21 +2,26 @@ import request from '@/config/axios'
/** 算力资源SPU表(基础配置信息)信息 */ /** 算力资源SPU表(基础配置信息)信息 */
export interface ResourceSpu { export interface ResourceSpu {
id: number; // 主键ID id?: number; // 主键ID
name?: string; // 算力资源名称 name?: string; // 算力资源名称
cpu?: string; // CPU配置 cpu?: string; // CPU配置
gpu: string; // GPU配置 gpu?: string; // GPU配置
compute?: number,
gpuCount?: number,
coreCount?: number,
memoryCapacity?: number,
ram?: string; // 内存配置 ram?: string; // 内存配置
storage?: string; // 存储配置 storage?: string; // 存储配置
powerSupply?: string; // 电源配置 powerSupply?: string; // 电源配置
nic?: string; // 网卡配置 nic?: string; // 网卡配置
ip?: string; // 服务器ip ip?: string; // 服务器ip
location?: string; // 位置
initUsername?: string; // 初始用户名 initUsername?: string; // 初始用户名
initPassword?: string; // 初始密码 initPassword?: string; // 初始密码
intro: string; // 商品简介 intro?: string; // 商品简介
categoryId?: number; // 算力资源分类编号 categoryId?: number; // 算力资源分类编号
picUrl?: string; // 商品封面图 picUrl?: string; // 商品封面图
sliderPicUrls: string; // 商品轮播图地址,以逗号分隔,最多15张 sliderPicUrls?: string; // 商品轮播图地址,以逗号分隔,最多15张
stock?: number; // 总库存数量 stock?: number; // 总库存数量
sales?: number; // 商品销量 sales?: number; // 商品销量
status?: number; // 状态(0 下架,1 上架,2 回收) status?: number; // 状态(0 下架,1 上架,2 回收)
......
...@@ -25,8 +25,8 @@ const dim = ref('gpu') ...@@ -25,8 +25,8 @@ const dim = ref('gpu')
const datasets = { const datasets = {
gpu: [ gpu: [
{ value: 45, name: '4090' }, { value: 45.11, name: '4090' },
{ value: 30, name: 'A100' }, { value: 29.88, name: 'A100' },
{ value: 25, name: 'H100' } { value: 25, name: 'H100' }
], ],
source: [ source: [
......
...@@ -186,7 +186,7 @@ ...@@ -186,7 +186,7 @@
</div> </div>
<div class="wrap"> <div class="wrap">
<div class="header-title">研发投入</div> <div class="header-title">服务能力</div>
<Nvestment /> <Nvestment />
</div> </div>
......
...@@ -116,7 +116,7 @@ function init () { ...@@ -116,7 +116,7 @@ function init () {
], ],
series: [ series: [
{ {
name: '研发投入', name: '上线应用',
type: 'bar', type: 'bar',
// showBackground: true, // showBackground: true,
barMaxWidth: 40, barMaxWidth: 40,
...@@ -136,7 +136,7 @@ function init () { ...@@ -136,7 +136,7 @@ function init () {
data: [10.19, 189.61, 120.4, 75.14, ''] data: [10.19, 189.61, 120.4, 75.14, '']
}, },
{ {
name: '历年营收', name: '上线API',
yAxisIndex: 1, yAxisIndex: 1,
type: 'line', type: 'line',
smooth: true, smooth: true,
......
...@@ -70,7 +70,7 @@ const formData = ref({ ...@@ -70,7 +70,7 @@ const formData = ref({
configCategory: undefined, configCategory: undefined,
configOption: undefined, configOption: undefined,
sort: undefined, sort: undefined,
status: undefined, status: 0,
detailRemark: undefined detailRemark: undefined
}) })
const formRules = reactive({ const formRules = reactive({
...@@ -129,7 +129,7 @@ const resetForm = () => { ...@@ -129,7 +129,7 @@ const resetForm = () => {
configCategory: undefined, configCategory: undefined,
configOption: undefined, configOption: undefined,
sort: undefined, sort: undefined,
status: undefined, status: 0,
detailRemark: undefined detailRemark: undefined
} }
formRef.value?.resetFields() formRef.value?.resetFields()
......
...@@ -239,6 +239,10 @@ const formData = ref({ ...@@ -239,6 +239,10 @@ const formData = ref({
name: undefined, name: undefined,
cpu: undefined, cpu: undefined,
gpu: undefined, gpu: undefined,
compute: undefined,
gpuCount: undefined,
coreCount: undefined,
memoryCapacity: undefined,
ram: undefined, ram: undefined,
storage: undefined, storage: undefined,
ip: undefined, ip: undefined,
...@@ -348,6 +352,10 @@ const resetForm = () => { ...@@ -348,6 +352,10 @@ const resetForm = () => {
name: undefined, name: undefined,
cpu: undefined, cpu: undefined,
gpu: undefined, gpu: undefined,
compute: undefined,
gpuCount: undefined,
coreCount: undefined,
memoryCapacity: undefined,
ram: undefined, ram: undefined,
storage: undefined, storage: undefined,
ip: undefined, ip: undefined,
......
...@@ -54,6 +54,18 @@ ...@@ -54,6 +54,18 @@
</el-form-item> </el-form-item>
</div> </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;"> <div style="display: flex; margin-bottom: 24px;">
<el-form-item label="内存配置" prop="ram" style="margin-right: 20px; margin-bottom: 0;"> <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"> <el-select v-model="formData.ram" placeholder="请选择内存配置" clearable style="width: 180px;" :disabled="isDetailMode">
...@@ -65,6 +77,9 @@ ...@@ -65,6 +77,9 @@
/> />
</el-select> </el-select>
</el-form-item> </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-form-item label="存储配置" prop="storage" style="margin-bottom: 0;">
<el-select v-model="formData.storage" placeholder="请选择存储配置" clearable style="width: 180px;" :disabled="isDetailMode"> <el-select v-model="formData.storage" placeholder="请选择存储配置" clearable style="width: 180px;" :disabled="isDetailMode">
<el-option <el-option
...@@ -237,6 +252,10 @@ const formData = ref<ResourceSpu>({ ...@@ -237,6 +252,10 @@ const formData = ref<ResourceSpu>({
categoryId: undefined, categoryId: undefined,
picUrl: undefined, picUrl: undefined,
sliderPicUrls: undefined, sliderPicUrls: undefined,
compute: undefined,
gpuCount: undefined,
coreCount: undefined,
memoryCapacity: undefined,
sales: undefined, sales: undefined,
location: undefined, location: undefined,
status: undefined status: undefined
...@@ -247,6 +266,10 @@ const formRules = reactive({ ...@@ -247,6 +266,10 @@ const formRules = reactive({
cpu: [{ required: true, message: 'CPU配置不能为空', trigger: 'blur' }], cpu: [{ required: true, message: 'CPU配置不能为空', trigger: 'blur' }],
gpu: [{ required: true, message: 'GPU配置不能为空', trigger: 'blur' }], gpu: [{ required: true, message: 'GPU配置不能为空', trigger: 'blur' }],
ram: [{ required: true, message: '内存配置不能为空', 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' }], storage: [{ required: true, message: '存储配置不能为空', trigger: 'blur' }],
powerSupply: [{ required: true, message: '电源配置不能为空', trigger: 'blur' }], powerSupply: [{ required: true, message: '电源配置不能为空', trigger: 'blur' }],
nic: [{ required: true, message: '网卡配置不能为空', trigger: 'blur' }], nic: [{ required: true, message: '网卡配置不能为空', trigger: 'blur' }],
...@@ -256,6 +279,7 @@ const formRules = reactive({ ...@@ -256,6 +279,7 @@ const formRules = reactive({
categoryId: [{ required: true, message: '算力资源分类编号不能为空', trigger: 'blur' }], categoryId: [{ required: true, message: '算力资源分类编号不能为空', trigger: 'blur' }],
picUrl: [{ required: true, message: '商品封面图不能为空', trigger: 'blur' }], picUrl: [{ required: true, message: '商品封面图不能为空', trigger: 'blur' }],
sales: [{ required: true, message: '商品销量不能为空', trigger: 'blur' }], sales: [{ required: true, message: '商品销量不能为空', trigger: 'blur' }],
location: [{ required: true, message: '服务器所在地不能为空', trigger: 'blur' }],
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }] status: [{ required: true, message: '状态不能为空', trigger: 'blur' }]
}) })
......
...@@ -50,7 +50,7 @@ export default ({command, mode}: ConfigEnv): UserConfig => { ...@@ -50,7 +50,7 @@ export default ({command, mode}: ConfigEnv): UserConfig => {
} }
}, },
resolve: { resolve: {
extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.scss', '.css'], extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.scss', '.vue','.css'],
alias: [ alias: [
{ {
find: 'vue-i18n', 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