feat: mock相关调整补充提交

dev-deviceSetting
donghao 11 months ago
parent 1461d1b6e2
commit 002bf14a27

@ -2,7 +2,7 @@
* @Author: donghao donghao@supervision.ltd * @Author: donghao donghao@supervision.ltd
* @Date: 2024-01-12 14:35:28 * @Date: 2024-01-12 14:35:28
* @LastEditors: donghao donghao@supervision.ltd * @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-03-21 17:55:12 * @LastEditTime: 2024-03-25 11:16:58
* @FilePath: \General-AI-Platform-Web-Client\index.html * @FilePath: \General-AI-Platform-Web-Client\index.html
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
@ -21,7 +21,7 @@
<!-- update 2024-01-21 16:41 --> <!-- update 2024-01-21 16:41 -->
<link <link
rel="stylesheet" rel="stylesheet"
href="//at.alicdn.com/t/c/font_4412653_eop55bznk7u.css" href="//at.alicdn.com/t/c/font_4412653_qjjikxo6f6p.css"
/> />
<script src="https://threejs.org/build/three.js"></script> <script src="https://threejs.org/build/three.js"></script>

@ -2,9 +2,9 @@
* @Author: donghao donghao@supervision.ltd * @Author: donghao donghao@supervision.ltd
* @Date: 2024-01-17 13:54:43 * @Date: 2024-01-17 13:54:43
* @LastEditors: donghao donghao@supervision.ltd * @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-02-04 16:45:14 * @LastEditTime: 2024-04-16 09:29:01
* @FilePath: \General-AI-Platform-Web-Client\mock\alarm.ts * @FilePath: \General-AI-Platform-Web-Client\mock\alarm.ts
* @Description: ,`customMade`, koroFileHeader : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: mock
*/ */
import { MockMethod } from "vite-plugin-mock"; import { MockMethod } from "vite-plugin-mock";
import { alarmListData } from "./pools/alarmData"; import { alarmListData } from "./pools/alarmData";

@ -0,0 +1,32 @@
/*
* @Author: donghao donghao@supervision.ltd
* @Date: 2024-01-17 13:54:43
* @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-04-16 09:31:07
* @FilePath: \General-AI-Platform-Web-Client\mock\alarm.ts
* @Description: mock
*/
import { MockMethod } from "vite-plugin-mock";
import { modelListData } from "./pools/modelListData";
import { fetchCurrPageByList } from "./utils/apiMock";
export default [
{
url: "/model/list",
method: "post",
response: req => {
const { page, pageSize } = req.body;
// console.log(req);
return {
...fetchCurrPageByList({
...modelListData,
data: {
...modelListData.data,
page,
pageSize: pageSize || 10
}
})
};
}
}
] as MockMethod[];

@ -42,7 +42,7 @@ function fetchList(): Record<string, any>[] {
createTime: generateRandomDateTimeByYear(2023), createTime: generateRandomDateTimeByYear(2023),
updateTime: "2023-10-17T02:35:41.14308Z", updateTime: "2023-10-17T02:35:41.14308Z",
name: "GigEPRO_gmcam_01_00" + (i + 1), name: "GigEPRO_gmcam_01_00" + (i + 1),
alarmList: fetchSceneItemsList({ maxCount: 3 }) alarmList: fetchSceneItemsList({ maxCount: 4 })
}); });
} }
return currList; return currList;

@ -74,23 +74,5 @@ export default [
// console.log(req); // console.log(req);
return fetchMockSuccessFullByOther({ data: finalServerList }); return fetchMockSuccessFullByOther({ data: finalServerList });
} }
},
{
url: "/getModelBoxList",
method: "post",
response: req => {
const { page, pageSize } = req.body;
// console.log(req);
return {
...fetchCurrPageByList({
...modelListData,
data: {
...modelListData.data,
page,
pageSize: pageSize || 10
}
})
};
}
} }
] as MockMethod[]; ] as MockMethod[];

@ -60,8 +60,7 @@
"vue-router": "^4.2.2", "vue-router": "^4.2.2",
"vue-types": "^5.1.0", "vue-types": "^5.1.0",
"vue-waterfall-plugin-next": "^2.2.1", "vue-waterfall-plugin-next": "^2.2.1",
"vue3-scale-box": "^0.1.9", "vue3-scale-box": "^0.1.9"
"安装插件": "link://安装插件"
}, },
"devDependencies": { "devDependencies": {
"@commitlint/cli": "^17.6.6", "@commitlint/cli": "^17.6.6",

@ -2,7 +2,7 @@
* @Author: donghao donghao@supervision.ltd * @Author: donghao donghao@supervision.ltd
* @Date: 2024-01-15 14:45:56 * @Date: 2024-01-15 14:45:56
* @LastEditors: donghao donghao@supervision.ltd * @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-03-20 14:26:49 * @LastEditTime: 2024-04-16 09:40:18
* @FilePath: \General-AI-Platform-Web-Client\src\api\list.ts * @FilePath: \General-AI-Platform-Web-Client\src\api\list.ts
* @Description: ,`customMade`, koroFileHeader : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: ,`customMade`, koroFileHeader : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
@ -33,12 +33,11 @@ export const updateServerBoxList = (data?: object) => {
return http.request<Result>("post", "/updateServerBoxList", { data }); return http.request<Result>("post", "/updateServerBoxList", { data });
}; };
export const getModelList = (data?: object) => { export const postModelList = (data?: object) => {
return http.request<Result>("post", "/getModelList", { data }); return http.request<Result>("post", "/model/list", { data });
}; };
export const getModelList = (data?: object) => {
export const getModelBoxList = (data?: object) => { return http.request<Result>("post", "getModelList", { data });
return http.request<Result>("post", "/getModelBoxList", { data });
}; };
/** 告警列表 */ /** 告警列表 */

@ -1,5 +1,5 @@
.modelList { .ds_modelList {
padding: 32px; padding: 0 32px;
.banner_side { .banner_side {
width: 29px; width: 29px;
height: 870px; height: 870px;

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
// import { getList } from "@/api/list"; // import { getList } from "@/api/list";
import { getModelBoxList } from "@/api/list"; import { postModelList } from "@/api/list";
import error from "@/assets/dataScreen/modelList/error.png"; import error from "@/assets/dataScreen/modelList/error.png";
import loading from "@/assets/dataScreen/modelList/loading.png"; import loading from "@/assets/dataScreen/modelList/loading.png";
import { ElLoading } from "element-plus"; import { ElLoading } from "element-plus";
@ -56,12 +56,13 @@ const options = reactive({
// //
lazyload: true lazyload: true
}); });
const pageTotal = ref(0);
const page = ref(1); const page = ref(1);
const list = ref([]); const list = ref([]);
const pageSize = ref(20); const pageSize = ref(100);
const loadingInstance = ref(); const loadingInstance = ref();
const modelDialogVisible = ref(false); const modelDialogVisible = ref(false);
const isFinish = ref(false);
const INITIAL_DATA = { const INITIAL_DATA = {
index: null, index: null,
industry: "", industry: "",
@ -78,16 +79,27 @@ const modelInfo = ref({ ...INITIAL_DATA });
/** 加载更多 */ /** 加载更多 */
function handleLoadMore() { function handleLoadMore() {
console.log(list.value.length, "handleLoadMore", pageTotal.value);
isFinish.value = pageTotal.value <= list.value.length;
if (!isFinish.value) {
loadList();
} else {
console.log("加载完成");
}
}
function loadList() {
loadingInstance.value = ElLoading.service({ loadingInstance.value = ElLoading.service({
target: ".content", target: ".content",
background: "transparent", background: "transparent",
text: "加载中" text: "加载中"
}); });
getModelBoxList({ postModelList({
page: page.value, page: page.value,
pageSize: pageSize.value pageSize: pageSize.value
}).then(res => { }).then(res => {
console.log(res); console.log(res);
pageTotal.value = res.data?.total || 0;
setTimeout(() => { setTimeout(() => {
list.value.push(...res.data.list); list.value.push(...res.data.list);
page.value += 1; page.value += 1;
@ -110,18 +122,18 @@ const handleBoxDetail = product => {
}; };
onMounted(() => { onMounted(() => {
handleLoadMore(); loadList();
}); });
</script> </script>
<template> <template>
<div class="flex justify-between modelList"> <div class="flex justify-between ds_modelList">
<div class="banner_side" /> <div class="banner_side" />
<div class="model-list-mid"> <div class="model-list-mid">
<div class="model-list-title ff1"> <div class="model-list-title ff1">
苏胜天大模型衍生模型库<span>{{ 256 }}</span> 苏胜天大模型衍生模型库<span>{{ pageTotal }}</span>
</div> </div>
<div class="model-list-box w-full"> <div class="w-full model-list-box">
<el-scrollbar height="810px" class="content"> <el-scrollbar height="810px" class="content">
<Waterfall :list="list" v-bind="options"> <Waterfall :list="list" v-bind="options">
<template #item="{ item }"> <template #item="{ item }">
@ -167,7 +179,7 @@ onMounted(() => {
模型版本:<span>{{ modelInfo.version }}</span 模型版本:<span>{{ modelInfo.version }}</span
>适用行业:<span>{{ modelInfo.industry }}</span> >适用行业:<span>{{ modelInfo.industry }}</span>
</div> </div>
<div class="modelListDialogContent mb-3"> <div class="mb-3 modelListDialogContent">
模型状态:<span class="modelListState">{{ 模型状态:<span class="modelListState">{{
modelInfo.state === "在线" ? "使用中" : "未使用" modelInfo.state === "在线" ? "使用中" : "未使用"
}}</span> }}</span>
@ -181,6 +193,6 @@ onMounted(() => {
</div> </div>
</template> </template>
<style lang="scss" scoped> <style lang="scss">
@import "./modelList.scss"; @import "./modelList.scss";
</style> </style>

@ -2,7 +2,7 @@
* @Author: donghao donghao@supervision.ltd * @Author: donghao donghao@supervision.ltd
* @Date: 2024-03-19 15:44:27 * @Date: 2024-03-19 15:44:27
* @LastEditors: donghao donghao@supervision.ltd * @LastEditors: donghao donghao@supervision.ltd
* @LastEditTime: 2024-03-20 15:50:20 * @LastEditTime: 2024-03-25 09:42:50
* @FilePath: \General-AI-Platform-Web-Client\src\router\modules\deviceScene.ts * @FilePath: \General-AI-Platform-Web-Client\src\router\modules\deviceScene.ts
* @Description: ,`customMade`, koroFileHeader : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: ,`customMade`, koroFileHeader : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
@ -12,7 +12,7 @@ export default {
path: "/deviceScene", path: "/deviceScene",
meta: { meta: {
title: $t("menus.hsdeviceScene"), title: $t("menus.hsdeviceScene"),
icon: "icon-shebeiliebiao-weixuan", icon: "icon-shebeixianchangweixuanzhong",
// showLink: false, // showLink: false,
bodyClass: "deviceScene_page", bodyClass: "deviceScene_page",
rank: 7, rank: 7,

@ -5,6 +5,7 @@
background-color: white; background-color: white;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.1); box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.1);
border-radius: 8px; border-radius: 8px;
height: calc(100vh - 160px);
} }
.left { .left {
width: 65.52%; width: 65.52%;

@ -5,7 +5,7 @@ import { onMounted, ref } from "vue";
defineOptions({ defineOptions({
name: "ServerList" name: "ServerList"
}); });
// TODO 0416
const svg = ` const svg = `
<path class="path" d=" <path class="path" d="
M 30 15 M 30 15
@ -35,9 +35,9 @@ const onCurrentChange = (current: number) => {
}; };
const getCardListData = async () => { const getCardListData = async () => {
try { try {
const { data } = await getModelList(); const { data } = await getModelList({});
deviceList.value = data.list; deviceList.value = data.list;
console.log(data.list); console.log(data, "resData", data.list);
pagination.value = { pagination.value = {
...pagination.value, ...pagination.value,
total: data.list.length total: data.list.length

Loading…
Cancel
Save