FBA项目模块整理:

首先,整个模块开发过程中,与后端的沟通不够及时,对于不同的权限显示不同的按钮这一点,前端我做了判断已经写死了,同样的后端也做了判断会根据不同的权限返回按钮的名字或是否显示的Boolean值
这一点没有提前沟通好 导致重复作用 是一点弊端

可以借鉴louis的代码
**
css

<el-table-column align="center" width="200px" label="操作"><template slot-scope="scope"><!-- v-show="scope.row.buttonlist.length > 1" --><el-dropdownv-if="scope.row.button_list.length > 1"split-buttonsize="mini"@command="commandClick($event, scope.row)"@click="getbuttontype(scope.row.button_list, scope.row)"><!-- @click="editdialogVisible=true;apiform=scope.row" --><span v-if="scope.row.button_list[0]">{{scope.row.button_list[0].name}}</span><!-- 详情 --><el-dropdown-menu slot="dropdown"><el-dropdown-itemv-show="index > 0"v-for="(item, index) in scope.row.button_list":key="index":command="item.ename">{{ item.name }}</el-dropdown-item></el-dropdown-menu></el-dropdown><el-buttonstyle="width: 125px"size="mini"@click="getbuttontype(scope.row.button_list, scope.row)"v-if="scope.row.button_list.length == 1">{{ scope.row.button_list[0].name }}</el-button></template></el-table-column>

返回的数据格式


commandClick点击函数

    // 点击下拉按钮commandClick(command, row) {console.log(row);console.log(command, row);if (command == "delete") {//删除this.apipurchasedelete(row);} else if (command == "save") {//编辑this.editrow(row);} else if (command == "audit") {//提交审核this.apiaudit(row);} else if (command == "detail") {this.goprocessdetails(row);}},

其次,开发过程中出现了逻辑不清楚 需求交叉的情况
比如 在配货区的地方 上传文件的地方 显示可用的css状态 (即当前模块的颜色 是白色还是灰色) 与可点击的状态不统一
即 可点击的状态下 是灰色的 或者不可点击的状态下是白色的
css样式与js逻辑不匹配的问题

以后开发的地方,在逻辑方面希望更严谨而且符合实际逻辑 统一状态的使用模式 否则逻辑错误 体验感不好而且给开发增加了很多的代码冲突

再者 在开发过程中 出现两个不同状态的功能 使用同一个按钮保存信息的功能
但是两个保存信息的功能 状态并不一致 在不同的状态下可用状态不一致
比如 配货区的待发货状态下提价信息 分为两个信息填写模式 一个是物流信息 一个是实际发仓量
在不同的状态下 两个功能可以分开使用 但是都使用同一个按钮提交
物流信息作为一个衡量状态的功能按钮 和 实际发仓量按钮 作为同一个按钮会产生很多矛盾
且需要的数据结构复杂 这种涉及两个功能的需求建议使用两个按钮 分开控制 且接口分为两个方便控制数据模式和数据填写 便于数据回显和修改

以后开发希望功能分工明确 不产生互相冲突的功能需求和逻辑

关于css样式的统一问题

关于css样式 因为是三个组开发 所以css样式有时候会不一致
下次再开项目钱要先定好css样式 否则后期全局修改的时候会很麻烦
需要统一的地方包括 字体大小 icon图标 按钮大小 表格样式 弹框样式等问题需要统一

关于权限问题的统一

这里说一点非常重要事情就是,关于项目权限的问题,包括按钮权限,模块权限,职位权限,菜单权限等
在项目开发前期,关于权限的问题一定要跟所有开发人员讲清楚 涉及到的操作权限和显示权限 需要合理的清晰的展现出来 否则在开发的过程中一定会出现逻辑冲突和代码碰撞
新增的权限部分 也许跟部分开发人员无直接关联 但是还是要通知所有开发人员 防止模块链接的时候出现权限冲突和权限无法使用的问题
按钮权限 当前项目涉及到按钮权限 可以在菜单权限中添加按钮 设定按钮的功能 由后端返回给前端 在页面上使用 但是开始的时候并没有了解到这一点所以 每个组的按钮权限设置的不一样
目前,FBA模块并没有与菜单权限的按钮所链接 在菜单按钮设置的按钮权限不会在FBA使用
所以涉及到权限的问题,一些公用的方法要经过所有开发人员的讨论和开会以后再确定 否则会出现这些问题

开发中遇到的难点总结:

  • 第一,关于图片的下载问题,图片下载会产生跨域问题 无法正常下载图片 需要进行跨域访问下载图片 先生成canvas 然后将图片转换成base64格式的文件 通过a标签的download下载功能下来

  • 第二,开发中会有PDF下载的功能,vue层面PDF下载都是预览的模式没有直接下载的方法,需要寻找下载PDF的方法

  • 第三,开发中会有函数嵌套 弹框嵌套的问题 需要捋清楚逻辑流程 做好代码的回调和退出程序问题

  • 第四,开发中遇见路由跳转与tab导航不相同的情况,用全局变量挂载 ,挂载在vuex中之后继续挂载在本地,方便使用而且能够解决vue刷新数据消失的问题

  • 第五,textarea的数据转换和回显问题 只要记住\n\r或者\n是textarea的换行符 使用split()函数和 replace()函数替换即可实现数据传递给后端和数据回显在Html页面的问题

  • 第六,在页面不使用form表单 单独使用input的时候,input框只允许输入数字,可以使用oninput方法
    在别的博客中有写
    @keyup.native=“scope.row.autcal_num = oninput(scope.row.autcal_num)”

  • 第七,函数嵌套的时候,可以使用return跳出当前子涵数,可以设置全局变量,控制函数调用进程

  • 第八,父子组件的传值问题,传递的值无法获取到,需要在watch函数里面监听父函数传递过来的数据
    然后,一旦数据发生改变传递给子函数即可

  • 第九,嵌套表格的使用,嵌套表格的数据格式 在表格中遍历数组的使用,浩瀚有单独封装一个表格函数,在当前项目里,可以去查看使用方法

  • 第十,如果使用v-if的方式实现tab导航,不使用路由的方式的情况下,子页面则无法使用路由的方式跳转,转成弹框的方式展现即可

目前为止,暂时记录这么多 去看图片空间的逻辑及原型图了

FBA项目模块完结感想相关推荐

  1. 关于团队项目的一些感想——刘宇翔

    技术确实很重要,但跟重要的是配合,毕竟以后写的可不是小项目.做项目,不是为了证明自己有多厉害,要的是团队,不是个人能力,虽然个人能力重要,但学会做人才是最重要的.1.先做代码规范.约定文件命名,类名, ...

  2. IntelliJ-将Java项目/模块转换为Maven项目/模块

    本文翻译自:IntelliJ - Convert a Java project/module into a Maven project/module I have a project on Bitbu ...

  3. 2018-05-17-OAA-一种mermaid脚本驱动的软件项目模块图形化表述思路

    layout: post title: 2018-05-17-OAA-一种mermaid脚本驱动的软件项目模块图形化表述思路 key: 20180517 tags: OAA flow chart se ...

  4. 广东省第三届职业技能大赛网络安全项目模块B

    广东省第三届职业技能大赛网络安全项目 模块 B 网络安全事件响应.数字取证调查和应用程序安全 目录 目录  1 模块  B 竞赛项目样题  2 介绍  2 所需的设备和材料  2 评分方案  2 项目 ...

  5. IntelliJ idea中集成多个git项目模块

    需求 工程原先使用的是SVN作为代码管理工具,各模块统一设置在一起,进行代码整理和代码权限管理时不太方便,后面从SVN中迁移到GIT上,把系统的各个模块分别在GIT中单独管理,每个模块均包含一个代码仓 ...

  6. 网络系统管理赛项之Debian 九. 2021年网络系统管理项目-模块A--样题(一)

    2021年全国职业院校技能大赛:网络系统管理项目模块A:Linux环境 一.竞赛简介 1.请认真阅读以下指引! 2.比赛共4个小时,你必须自行决定如何分配你的时间. 3.当比赛结束时,离开时请不要关机 ...

  7. 手把手教你使用nodejs编写一个【使用远程仓库模板,快速创建项目模块】的cli(命令行)

    目录 实现步骤 初始化cli项目 项目目录 创建交互式命令 拉取远程仓库代码,读取仓库中的模板 拉取远程仓库代码 ora 终端 loading 读取仓库中的模板 将选择的模板复制写入目标项目 Comm ...

  8. IntelliJ IDEA for Mac 修改项目模块的名称

    按下组合键 Command +; 打开项目结构窗口,选择左侧边栏的菜单[Modules],然后选择你要修改的模块,在右侧的[Name]输入框可以修改名称,具体操作如下图所示: 注:模块名称虽然修改了, ...

  9. IntelliJ IDEA for Mac 如何配置项目模块的源代码根目录_源码文件的根目录

    按下组合键 Command + ; 打开[项目结构]配置窗口:然后选择左侧菜单栏的[Modules]:然后在右侧的模块列表中,选择你要配置的模块:接着选择右侧界面中的[Sources]标签. 首先添加 ...

最新文章

  1. 30 分钟让你掌握 Git 的黑魔法
  2. JVM年轻代,老年代,永久代详解
  3. K8S控制器类型:RC/RS、Deployment、DaemonSet、Job和CronJob、StatefulSet、HPA
  4. 深度学习总结:cycleGAN原理,实现图片风格切换,可以和之前的伪DL方式对比一下,pytoch实现
  5. Maven 中的pom.xml文件
  6. 如何将联系人导入Windows联系人文件夹和从中导出联系人
  7. 2运行内存多大_智能设备中的内存与容量为何傻傻分不清?它们的区别是什么?...
  8. teched2006会议资料
  9. 不同林间域账号密码迁移
  10. SmartDial - 简单你的生活
  11. Win7安装MarkdownPad2破解版,报Awesomium.Windows.Controls.WebControl 错误的解决方案
  12. Android应用帧率--FPS测试
  13. c语言编写矩阵逆置乘法,200个c语言实例的源码
  14. 随机森林原始论文_SMAC: 基于随机森林的贝叶斯优化
  15. 可能是你见过最强的猜数字游戏(doge
  16. 记一次PDFRenderer使用renderImage方法报错java.lang.IndexOutOfBoundsException解决方法
  17. imToken 2.7.2,你的 Eth2「入场券」待领取
  18. python 合并word内容_python如何合并两个文档内容
  19. 神策-神策中的营销学
  20. 电脑很小,电脑快捷键字体很小怎么办

热门文章

  1. java中什么是标志位_Java学习笔记14---使用标志位控制循环
  2. 天翼云CDN+云主机护航,全天候支撑云上战“疫”
  3. 【第一周补题】:切蛋糕
  4. echarts地图下钻效果
  5. 同花顺 sendmessage python_量化交易。最新版通用版同花顺客户端的Python3 API
  6. 前后端分离后各自职责
  7. 中小微企业呼叫中心解决方案
  8. Linux环境下Elasticsearch6.4.3安装
  9. python电视剧口碑分析_Python分析最近大火的网剧《隐秘的角落》,看看网友们有什么看法...
  10. 【Python入门】Turtle海龟库:利用海龟画笔绘制简单图形(2)