当前位置: 首页 > news >正文

zdppy+vue3+onllyoffice开发文档管理系统项目实战 20240808 上课笔记

遗留的问题

1、实现删除的功能
2、分享的功能暂时往后放,因为目前没有用户,等有了用户之后再考虑做
3、增加新建和导入按钮

在这里插入图片描述

zdppy的学习计划

机器学习平台,QQ音乐的开源项目,https://github.com/tencentmusic/cube-studio,能不能使用zdppy框架进行改造?

在这里插入图片描述

帮助文档:https://github.com/tencentmusic/cube-studio/wiki

单机部署文档:https://github.com/data-infra/cube-studio/wiki/%E5%B9%B3%E5%8F%B0%E5%8D%95%E6%9C%BA%E9%83%A8%E7%BD%B2

1、能部署
2、熟悉代码
3、划分模块
4、按模块尝试改造,先前端,后后端

实现删除的功能

怎么实现删除的功能?

1、给删除按钮绑定事件
2、实现方法
3、调用删除接口,通过amcrud自动生成的

注意:得有确认删除的操作?

实现点击删除按钮弹出确认框

核心代码:

<a-popconfirmtitle="您确认要删除吗?"ok-text="确认"cancel-text="取消"@confirm="onDelete(record.id)"
><a-button>删除</a-button>
</a-popconfirm>

效果预览:
在这里插入图片描述

在这里插入图片描述

当点击确认的时候发送删除请求

const onDelete = id => {axios({method: "delete",url: `/api/file/${id}`}).then(() => {message.success("删除成功!")})
}

虽然实现了删除的功能,但是,我们的数据在删除之后不会自动刷新。所以,前端看起来跟没有删除一样,只有在刷新页面以后,被删除的数据才会消失。

需要解决这个问题!!!

解决删除后数据刷新的问题

最简单的思路,重新GET数据,赋值给表格的数据。

将onMounted里面的数据抽离出来,封装成为函数,在删除成功之后,调用函数。

用同步还是异步?

封装的应该是一个异步的函数,因为Axios是异步操作!!!

先改造onMounted里面的方法:

// 加载数据的方法
const loadTableData = async () => {await axios({method: "get",url: "/api/file",params: {order: "-latest_view_time",}}).then(resp => {data.value = resp.data.data.results})
}onMounted(async () => {await loadTableData()
})

再优化删除方法:

// 删除文档
const onDelete = async (id) => {await axios({method: "delete",url: `/api/file/${id}`}).then(() => {message.success("删除成功!")})await loadTableData()
}

经过实测,问题完美解决。

遗留的问题

1、分享的功能暂时往后放,因为目前没有用户,等有了用户之后再考虑做
2、增加新建和导入按钮
3、操作按钮,可以变小一点
4、删除按钮,变成偏红色的醒目状态

操作按钮,可以变小一点

给每个按钮加上size="small"属性:

<a-space><a-button @click="editDocument" size="small">编辑</a-button><a-popconfirmtitle="您确认要删除吗?"ok-text="确认"cancel-text="取消"@confirm="onDelete(record.id)"><a-button size="small">删除</a-button></a-popconfirm><a-button size="small">分享</a-button></a-space>

删除按钮,变成偏红色的醒目状态

给按钮添加 danger 就行。

<a-button size="small" danger>删除</a-button>

在这里插入图片描述

继续优化:

<a-space><a-button @click="editDocument" size="small" type="primary">编辑</a-button><a-popconfirmtitle="您确认要删除吗?"ok-text="确认"cancel-text="取消"@confirm="onDelete(record.id)"><a-button size="small" type="primary" danger>删除</a-button></a-popconfirm><a-button size="small" type="primary">分享</a-button>
</a-space>

在这里插入图片描述

遗留的问题

1、分享的功能暂时往后放,因为目前没有用户,等有了用户之后再考虑做
2、增加新建和导入按钮

在这里插入图片描述

增加按钮

<a-space class="py-3 mx-3"><a-button type="primary":icon="h(SearchOutlined)"style="display: flex; align-items: center;">新建</a-button><a-button>导入</a-button>
</a-space>

在这里插入图片描述

遗留问题

1、增加新建和导入按钮,有按钮了,但是还没有完善,图标还不对,需要解决
2、登录功能
3、用户管理
4、角色管理
5、权限管理
6、分享功能

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java中的分布式日志与追踪
  • Postman Pre-request Script
  • 【Vue3】Pinia存储及读取数据
  • [Meachines] [Easy] valentine SSL心脏滴血+SSH-RSA解密+trp00f自动化权限提升+Tmux进程劫持权限提升
  • 07、MySQL-多表查询
  • 关于重复提交
  • k8s—Prometheus+Grafana+Altermaneger构建监控平台
  • 2024年软件测试八股文(含答案+文档)
  • Qwen2-7b+AnythingLLM+ollama 部署API调用
  • Linux 进程概念
  • 高效清理优化工具 Sonoma Cache Cleaner mac 19.0.6注册激活版
  • PCIe学习笔记(20)
  • FFmpeg音频重采样基本流程
  • 代码随想录第34天|动态规划
  • 线程(Pthread)
  • .pyc 想到的一些问题
  • C# 免费离线人脸识别 2.0 Demo
  • centos安装java运行环境jdk+tomcat
  • es6--symbol
  • ES6系列(二)变量的解构赋值
  • java2019面试题北京
  • JavaScript新鲜事·第5期
  • k8s 面向应用开发者的基础命令
  • Phpstorm怎样批量删除空行?
  • python_bomb----数据类型总结
  • Python_网络编程
  • SpingCloudBus整合RabbitMQ
  • Travix是如何部署应用程序到Kubernetes上的
  • 半理解系列--Promise的进化史
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 前端相关框架总和
  • 如何进阶一名有竞争力的程序员?
  • 入口文件开始,分析Vue源码实现
  • 移动端 h5开发相关内容总结(三)
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #laravel 通过手动安装依赖PHPExcel#
  • $.ajax,axios,fetch三种ajax请求的区别
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (java)关于Thread的挂起和恢复
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (转载)Google Chrome调试JS
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .chm格式文件如何阅读
  • .Net Core中Quartz的使用方法
  • @Not - Empty-Null-Blank
  • @PreAuthorize注解