Loading src/views/algorithmControl/index.vue 0 → 100644 +240 −0 Original line number Diff line number Diff line <template> <div class="app-container home"> <TabTitle :text="nowText" /> <div class="search-input"> <el-input v-model="queryParams.searchValue" style="max-width: 400px" placeholder="请输入场景关键字" class="input-with-select" > <template #append> <el-button :icon="Search" /> </template> </el-input> </div> <div class="add-but"> <el-button type="primary" plain>新增算法</el-button> <el-button type="primary" plain>告警等级</el-button> </div> <el-row :gutter="10"> <el-col :xs="0" :sm="2" :md="3" :lg="4"> <el-card class="left-list"> <el-menu default-active="2" class="el-menu-vertical-demo" > <el-menu-item v-for="item in algorithmList" :index="item.name"> <span>{{ item.name }}</span> </el-menu-item> </el-menu> </el-card> </el-col> <el-col :xs="24" :sm="20" :md="20" :lg="20"> <el-scrollbar height="700px"> <el-card class="right-list"> <!-- <template v-slot:header> <div class="cleartitle"> <span>各类型审批数量</span> </div> </template> --> <div class="alg-list"> <el-card v-for="item in algorithmList" :key="item.name" class="alg-item" shadow="hover"> <template v-slot:header> <div class="cleartitle"> <span>{{item.name}}</span> <el-tag :type="'success'" effect="dark" > {{ 'success'}} </el-tag> </div> </template> <template v-slot:default > <img src="@/assets/images/picStream.png" style="width: 100%" /> <p style="color: #999999;font-size: 12px;"> 通过摄像头识别吸烟行为的智能算法 </p> <div style="display: flex;justify-content: flex-end;position: absolute;right: 15px;bottom: 15px;" > <el-button link type="primary" icon="Edit" @click="handleUpdate(item)" >修改</el-button> <el-button link type="primary" icon="Delete" @click="handleDelete(item)">删除</el-button> <el-dropdown trigger="click" @command="handleSetSize"> <el-button link type="primary"> <el-icon class="el-icon--right"> <arrow-down /> </el-icon>更多</el-button> <template #dropdown> <el-dropdown-menu> <el-dropdown-item :command="'卸载'"> {{ '卸载' }} </el-dropdown-item> <el-dropdown-item :command="'导入'"> {{ '导入' }} </el-dropdown-item> <el-dropdown-item :command="'下载'"> {{ '下载' }} </el-dropdown-item> </el-dropdown-menu> </template> </el-dropdown> </div> </template> </el-card> </div> </el-card> </el-scrollbar> </el-col> </el-row> </div> </template> <script setup name="Index"> import { ArrowDown } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue' const { proxy } = getCurrentInstance(); // import { ElDescriptions,ElDescriptionsItem } from "element-plus"; // import useTagsViewStore from '@/store/modules/tagsView' const nowText=ref('算法管理') const algorithmList=reactive([ { name:"我的算法", value:1 }, { name:"最新算法", value:2 }, { name:"基础算法", value:3 }, { name:"智慧煤矿", value:4 }, { name:"智慧能源", value:5 }, { name:"智慧校园", value:6 }, { name:"智慧港口", value:7 }, { name:"智慧煤矿", value:8 }, { name:"智慧能源", value:9 }, { name:"智慧校园", value:10 }, ]) const data = reactive({ form: {}, queryParams: { postCode: undefined, searchValue: '', status: undefined }, rules: { postName: [{ required: true, message: "岗位名称不能为空", trigger: "blur" }], postCode: [{ required: true, message: "岗位编码不能为空", trigger: "blur" }], postSort: [{ required: true, message: "岗位顺序不能为空", trigger: "blur" }], } }); const { queryParams, form, rules } = toRefs(data); // function closeNow(){ // const routerArr=useTagsViewStore().visitedViews // const nowPath=location.pathname // return routerArr.filter(item=>{return item.path==nowPath })[0] // } // setTimeout(() => { // nowText=closeNow() // }, 500); // function goTarget(url) { // window.open(url, '__blank') // } function handleSetSize(row) { console.log('%c [ row ]-170', 'font-size:13px; background:pink; color:#bf2c9f;', row) // reset(); // const postId = row.postId || ids.value; // getPost(postId).then(response => { // form.value = response.data; // open.value = true; // title.value = "修改岗位"; // }); } function handleUpdate(row) { // reset(); // const postId = row.postId || ids.value; // getPost(postId).then(response => { // form.value = response.data; // open.value = true; // title.value = "修改岗位"; // }); } /** 删除按钮操作 */ function handleDelete(row) { // const postIds = row.postId || ids.value; // proxy.$modal.confirm('是否确认删除岗位编号为"' + postIds + '"的数据项?').then(function() { // return delPost(postIds); // }).then(() => { // getList(); // proxy.$modal.msgSuccess("删除成功"); // }).catch(() => {}); } </script> <style scoped lang="scss"> .search-input{ position: absolute; top: 30px; right: 39%; display: flex; width: 400px; } .add-but{ position: absolute; top: 30px; right: 20px; } .left-list{ min-height: 700px; } .right-list{ min-height: 700px; .alg-list{ display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; .alg-item{ width: 100%; min-height: 280px; cursor: pointer; position: relative; } } } .cleartitle{ font-size: 16px; font-weight: 600; display: flex; justify-content: space-between; } </style> No newline at end of file Loading
src/views/algorithmControl/index.vue 0 → 100644 +240 −0 Original line number Diff line number Diff line <template> <div class="app-container home"> <TabTitle :text="nowText" /> <div class="search-input"> <el-input v-model="queryParams.searchValue" style="max-width: 400px" placeholder="请输入场景关键字" class="input-with-select" > <template #append> <el-button :icon="Search" /> </template> </el-input> </div> <div class="add-but"> <el-button type="primary" plain>新增算法</el-button> <el-button type="primary" plain>告警等级</el-button> </div> <el-row :gutter="10"> <el-col :xs="0" :sm="2" :md="3" :lg="4"> <el-card class="left-list"> <el-menu default-active="2" class="el-menu-vertical-demo" > <el-menu-item v-for="item in algorithmList" :index="item.name"> <span>{{ item.name }}</span> </el-menu-item> </el-menu> </el-card> </el-col> <el-col :xs="24" :sm="20" :md="20" :lg="20"> <el-scrollbar height="700px"> <el-card class="right-list"> <!-- <template v-slot:header> <div class="cleartitle"> <span>各类型审批数量</span> </div> </template> --> <div class="alg-list"> <el-card v-for="item in algorithmList" :key="item.name" class="alg-item" shadow="hover"> <template v-slot:header> <div class="cleartitle"> <span>{{item.name}}</span> <el-tag :type="'success'" effect="dark" > {{ 'success'}} </el-tag> </div> </template> <template v-slot:default > <img src="@/assets/images/picStream.png" style="width: 100%" /> <p style="color: #999999;font-size: 12px;"> 通过摄像头识别吸烟行为的智能算法 </p> <div style="display: flex;justify-content: flex-end;position: absolute;right: 15px;bottom: 15px;" > <el-button link type="primary" icon="Edit" @click="handleUpdate(item)" >修改</el-button> <el-button link type="primary" icon="Delete" @click="handleDelete(item)">删除</el-button> <el-dropdown trigger="click" @command="handleSetSize"> <el-button link type="primary"> <el-icon class="el-icon--right"> <arrow-down /> </el-icon>更多</el-button> <template #dropdown> <el-dropdown-menu> <el-dropdown-item :command="'卸载'"> {{ '卸载' }} </el-dropdown-item> <el-dropdown-item :command="'导入'"> {{ '导入' }} </el-dropdown-item> <el-dropdown-item :command="'下载'"> {{ '下载' }} </el-dropdown-item> </el-dropdown-menu> </template> </el-dropdown> </div> </template> </el-card> </div> </el-card> </el-scrollbar> </el-col> </el-row> </div> </template> <script setup name="Index"> import { ArrowDown } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue' const { proxy } = getCurrentInstance(); // import { ElDescriptions,ElDescriptionsItem } from "element-plus"; // import useTagsViewStore from '@/store/modules/tagsView' const nowText=ref('算法管理') const algorithmList=reactive([ { name:"我的算法", value:1 }, { name:"最新算法", value:2 }, { name:"基础算法", value:3 }, { name:"智慧煤矿", value:4 }, { name:"智慧能源", value:5 }, { name:"智慧校园", value:6 }, { name:"智慧港口", value:7 }, { name:"智慧煤矿", value:8 }, { name:"智慧能源", value:9 }, { name:"智慧校园", value:10 }, ]) const data = reactive({ form: {}, queryParams: { postCode: undefined, searchValue: '', status: undefined }, rules: { postName: [{ required: true, message: "岗位名称不能为空", trigger: "blur" }], postCode: [{ required: true, message: "岗位编码不能为空", trigger: "blur" }], postSort: [{ required: true, message: "岗位顺序不能为空", trigger: "blur" }], } }); const { queryParams, form, rules } = toRefs(data); // function closeNow(){ // const routerArr=useTagsViewStore().visitedViews // const nowPath=location.pathname // return routerArr.filter(item=>{return item.path==nowPath })[0] // } // setTimeout(() => { // nowText=closeNow() // }, 500); // function goTarget(url) { // window.open(url, '__blank') // } function handleSetSize(row) { console.log('%c [ row ]-170', 'font-size:13px; background:pink; color:#bf2c9f;', row) // reset(); // const postId = row.postId || ids.value; // getPost(postId).then(response => { // form.value = response.data; // open.value = true; // title.value = "修改岗位"; // }); } function handleUpdate(row) { // reset(); // const postId = row.postId || ids.value; // getPost(postId).then(response => { // form.value = response.data; // open.value = true; // title.value = "修改岗位"; // }); } /** 删除按钮操作 */ function handleDelete(row) { // const postIds = row.postId || ids.value; // proxy.$modal.confirm('是否确认删除岗位编号为"' + postIds + '"的数据项?').then(function() { // return delPost(postIds); // }).then(() => { // getList(); // proxy.$modal.msgSuccess("删除成功"); // }).catch(() => {}); } </script> <style scoped lang="scss"> .search-input{ position: absolute; top: 30px; right: 39%; display: flex; width: 400px; } .add-but{ position: absolute; top: 30px; right: 20px; } .left-list{ min-height: 700px; } .right-list{ min-height: 700px; .alg-list{ display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; .alg-item{ width: 100%; min-height: 280px; cursor: pointer; position: relative; } } } .cleartitle{ font-size: 16px; font-weight: 600; display: flex; justify-content: space-between; } </style> No newline at end of file