✨ feat: 模型的文件上传
This commit is contained in:
4
rtsp-vue/src/api/system/oss.js
Normal file
4
rtsp-vue/src/api/system/oss.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 根据文件名获取文件
|
||||||
|
|
||||||
@@ -42,3 +42,12 @@ export function delModel(modelId) {
|
|||||||
method: 'delete'
|
method: 'delete'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 启用或禁用算法模型
|
||||||
|
export function enableModel(modelId, enabled) {
|
||||||
|
return request({
|
||||||
|
url: '/video/model/' + modelId + '/enable',
|
||||||
|
method: 'put',
|
||||||
|
params: { enabled }
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -123,7 +123,7 @@ aside {
|
|||||||
|
|
||||||
//main-container全局样式
|
//main-container全局样式
|
||||||
.app-container {
|
.app-container {
|
||||||
padding: 20px;
|
padding: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.components-container {
|
.components-container {
|
||||||
|
|||||||
@@ -62,6 +62,11 @@ const props = defineProps({
|
|||||||
isShowTip: {
|
isShowTip: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true
|
default: true
|
||||||
|
},
|
||||||
|
// 存储字段
|
||||||
|
storeField: {
|
||||||
|
type: String,
|
||||||
|
default: 'url'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -139,7 +144,7 @@ function handleUploadError(err) {
|
|||||||
// 上传成功回调
|
// 上传成功回调
|
||||||
function handleUploadSuccess(res, file) {
|
function handleUploadSuccess(res, file) {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
uploadList.value.push({ name: res.fileName, url: res.fileName });
|
uploadList.value.push({ name: res[props.storeField], url: res[props.storeField] });
|
||||||
uploadedSuccessfully();
|
uploadedSuccessfully();
|
||||||
} else {
|
} else {
|
||||||
number.value--;
|
number.value--;
|
||||||
|
|||||||
@@ -81,8 +81,10 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['video:model:edit']">修改</el-button>
|
<el-button link type="primary" icon="Check" @click="handleEnable(scope.row)" v-if="scope.row.enabled == 0">启用</el-button>
|
||||||
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['video:model:remove']">删除</el-button>
|
<el-button link type="primary" icon="Close" @click="handleEnable(scope.row)" v-if="scope.row.enabled == 1">禁用</el-button>
|
||||||
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改</el-button>
|
||||||
|
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -108,7 +110,8 @@
|
|||||||
<el-input v-model="form.framework" placeholder="请输入框架/格式,如 onnx" />
|
<el-input v-model="form.framework" placeholder="请输入框架/格式,如 onnx" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="OSS模型" prop="url">
|
<el-form-item label="OSS模型" prop="url">
|
||||||
<el-input v-model="form.url" type="textarea" placeholder="请输入内容" />
|
<!-- <el-input v-model="form.url" type="textarea" placeholder="请输入内容" /> -->
|
||||||
|
<file-upload v-model="form.url" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="文件大小" prop="fileSize">
|
<!-- <el-form-item label="文件大小" prop="fileSize">
|
||||||
<el-input v-model="form.fileSize" placeholder="请输入文件大小" />
|
<el-input v-model="form.fileSize" placeholder="请输入文件大小" />
|
||||||
@@ -116,15 +119,15 @@
|
|||||||
<el-form-item label="文件校验" prop="checksum">
|
<el-form-item label="文件校验" prop="checksum">
|
||||||
<el-input v-model="form.checksum" placeholder="请输入文件校验" />
|
<el-input v-model="form.checksum" placeholder="请输入文件校验" />
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item label="是否可用" prop="canuse">
|
<!-- <el-form-item label="是否可用" prop="canuse">
|
||||||
<el-radio-group v-model="form.canuse">
|
<el-radio-group v-model="form.canuse">
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="dict in common_switch_1"
|
v-for="dict in common_switch_1"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.value"
|
:label="parseInt(dict.value)"
|
||||||
>{{dict.label}}</el-radio>
|
>{{dict.label}}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -140,7 +143,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="Model">
|
<script setup name="Model">
|
||||||
import { listModel, getModel, delModel, addModel, updateModel } from "@/api/video/model";
|
import { listModel, getModel, delModel, addModel, updateModel, enableModel } from "@/api/video/model";
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const { common_switch_1 } = proxy.useDict('common_switch_1');
|
const { common_switch_1 } = proxy.useDict('common_switch_1');
|
||||||
@@ -194,6 +197,13 @@ function cancel() {
|
|||||||
reset();
|
reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleEnable(row) {
|
||||||
|
enableModel(row.modelId, row.enabled == 0 ? 1 : 0).then(response => {
|
||||||
|
proxy.$modal.msgSuccess(row.enabled == 0 ? "启用成功" : "禁用成功");
|
||||||
|
getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// 表单重置
|
// 表单重置
|
||||||
function reset() {
|
function reset() {
|
||||||
form.value = {
|
form.value = {
|
||||||
|
|||||||
Reference in New Issue
Block a user