1.共享登录(单点登录)主要是前端部分

主要是根据是否有cookie来判断是否已经登录主系统,然后再根据是否有当前系统的登录信息来(这块主要是sessionStorage做的)判断是否要再登录当前系统。

设置、读取和设置cookie的方法

function setCookie(name,value)
{ var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)
{ var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); return (arr=document.cookie.match(reg))?unescape(arr[2]):null;
}
function delCookie(name)
{ var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}


2.部门树的数据处理

后台返回的数据结构如下,需要处理成一维数组。

deptTree:[{"children":[{"deptId":"001","deptName":"xxx","businessUnit":"000001","treeNodeNum":111111,"need":"Y","children":[{"deptId":"0000011","deptName":"xxxxxx","businessUnit":"00011","treeNodeNum":5555,"need":"Y"},...]

主要是运用递归的方式处理

loopDept: function (data) {var _this = this;var deptTreeNode = [];if (data.need == 'Y') {deptTreeNode.push(data.deptId);}if (data.children) {data.children.forEach(function (node) {var nodes = _this.loopDept(node);deptTreeNode = deptTreeNode.concat(nodes);})}return deptTreeNode;},

递归组件

<template><ul class="treeList"><liv-for="(item,index) in list":key="index"class="treebox"><span><imgsrc="@/assets/deptIcon.png"alt=""><em @click="goteamerList(item)">{{item.deptName | fixName  }}</em><van-iconname="arrow-up"v-show="!item.showMore && item.children"@click="changeStatus(item)"size="0.4rem"/><van-iconname="arrow-down"v-show="item.showMore && item.children"@click="changeStatus(item)"size="0.4rem"/></span><myTreesv-if="item.children && !item.showMore":list="item.children"></myTrees></li></ul></template>

-

<script>
export default {name: "myTrees",props: {list: Array},data() {return {scopesDefault: [],scopes: []};},filters:{fixName(value){if(value && value.length > 20){let startStr = value.substring(0,10);let endStr = value.substr(-9,9);return value = startStr+"..."+endStr;}else{return value;}}},methods: {changeStatus(item) {item.showMore = !item.showMore;},scope() {this.list.forEach((item, index) => {if ("children" in item) {this.$set(item, "showMore", true);} else {this.$set(item, "showMore", false);}});},goteamerList(item) {let {businessUnit,deptId,isJKNode,isJRNode} = item;sessionStorage.setItem("deptInfo", JSON.stringify(item));this.$router.push({name: "teamerList",query:{businessUnit,deptId,isJKNode,isJRNode}});}},created() {this.scope();}
};
</script>


3.一些处理数据的方式

list.forEach(function (ele) {//数组设置法if (ele.isInner == 'Y') {if (tempInner[ele.belongCategoryId]) {tempInner[ele.belongCategoryId].push(ele)} else {tempInner[ele.belongCategoryId] = [ele]}} else {if (tempOut[ele.belongCategoryId]) {tempOut[ele.belongCategoryId].push(ele)} else {tempOut[ele.belongCategoryId] = [ele]}}//对象设置法if (ele.isInner == 'Y') {if (tempInner.hasOwnProperty(ele.belongCategoryId)) {tempInner[ele.belongCategoryId] +=  ","+ele.name } else {tempInner[ele.belongCategoryId] = ele.name}} else {if (tempOut.hasOwnProperty(ele.belongCategoryId)) {tempOut[ele.belongCategoryId] +=  ","+ele.name } else {tempOut[ele.belongCategoryId] = ele.name}}})

前端渣渣摸鱼时间所录,先就这些,想到再写,如有问题请指出。

前端if else_应该记录的一些项目代码(前端)相关推荐

  1. 我的2019春招(前端暑期实习)记录

    原文首发于我的博客,欢迎关注~ 今年的春招(暑期实习)批已经过去大半了,相信不少同学已经拿到了心仪的offer了~本来打算暑假有空再写写这段经历,不过今天正好有空就记录一下吧,希望能给正在或者今后要找 ...

  2. 前端封装接口弹出错误_项目实践:SpringBoot三招组合拳,手把手教你打出优雅的后端接口...

    前言 一个后端接口大致分为四个部分组成:接口地址(url).接口请求方式(get.post等).请求数据(request).响应数据(response).如何构建这几个部分每个公司要求都不同,没有什么 ...

  3. 前端每日实战 2018 年 9 月份项目汇总(共 26 个项目)

    过往项目 2018 年 8 月份项目汇总(共 29 个项目) 2018 年 7 月份项目汇总(共 29 个项目) 2018 年 6 月份项目汇总(共 27 个项目) 2018 年 5 月份项目汇总(共 ...

  4. 硬件(esp32),服务器(python),前端,三端联调的电子琴项目,可以实现多种乐器奏乐。

    关于本次项目的简略介绍: 大体分为硬件端和软件端,硬件端包括:esp32在面包板上的连接,画pcb电路图,焊接调试pcb电路,最后用三维设计外壳.软件端包括:用python编写的后端服务器,页面展示的 ...

  5. 前端每日实战 2018 年 6 月份项目汇总(共 27 个项目)

    过往项目 2018 年 5 月份项目汇总(共 30 个项目) 2018 年 4 月份项目汇总(共 8 个项目) 2018 年 6 月份发布的项目 <前端每日实战>专栏每天分解一个前端项目, ...

  6. centos+jenkins+nginx+gitlab前端自动化部署全记录

    0. 前言 我们在开发一个新的项目时,总是需要将前端部署到测试服务器上,给测试或者产品访问.简单的来说,如果想部署前端到服务器,服务器需要提供一个服务来访问前端.如果我们在开发中没有涉及Node.js ...

  7. 在线 OJ 项目(四) · 前端设计与项目总结

    一.页面设计 题目列表页 题目详情页 二.获取到后台数据 实现思路 遇到换行问题 小结 引入 ace.js 三.项目总结 接下来将实现 online-oj 项目的前端界面. 先随便从各大网站上下载网页 ...

  8. 【前端开发环境安装、配置、项目搭建全教程】

    前端开发环境安装.配置.项目搭建全教程 1.Node环境安装 简单的说 Node.js 就是运行在服务端的 JavaScrip,基于 Chrome JavaScript 运行时建立的一个平台,Node ...

  9. 推荐 12 个学习前端必备的神仙级工具类项目与网站

    大家好,我是你们的 猫哥,一个不喜欢吃鱼.又不喜欢喵 的超级猫 ~ 前言 猫哥是一个常年混迹在 GitHub 上的猫星人,所以发现了不少好的前端开源项目.常用技巧,在此分享给大家. 公众号:前端Git ...

最新文章

  1. node 常用指令 node 扩展链接
  2. 七天入门linux,RHCE认证学习笔记-第七天
  3. Noip2012同余方程
  4. xcode 可以打开xmind_原来xmind还有一款如此漂亮的思维导图工具
  5. 中国移动 全球通、 动感地带、神州行 的区别
  6. Jetty,Java和OAuth入门
  7. 酷黑风个人主页+引导页
  8. 改用MyAnalyzer的KMeans聚类算法
  9. IDL 建立影像金字塔
  10. wait()、notify()、notifyAll()原理用法详解sleep()与wait()区别
  11. 项目管理(PMP)你要的干货都在这!
  12. 网管工具使用与技巧大全
  13. 在线html转txt文件,html网页转txt文件、文本转换器
  14. 命令修改本地计算机策略,命令行修改本地组策略_通过命令行从Windows进行本地组管理...
  15. 555定时器应用之--多谐振荡器
  16. 对搜索引擎技术的认识和发展
  17. 鹿晗关晓彤公开恋情,是如何把微博服务器搞炸的? 附大型网站高可用架构和解决方案...
  18. Python pandas 染色体 SNP 位点提取 并排序
  19. Android系统如何修改默认打开程序
  20. 【20230103】FROM_UNIXTIME和UNIX_TIMESTAMP函数

热门文章

  1. 自己动手写事件总线(EventBus)
  2. 从零开始学产品第六篇:更强大的测试,自动化测试和性能测试
  3. 2018年应用交付控制器市场将发生重大变化
  4. Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)
  5. LeetCode - Majority Element
  6. UVa 11136 - Hoax or what
  7. 不要手贱自己去通过Javascript画html界面
  8. [見好就收]NET 2.0 - WinForm Control - DataGridView 编程36计
  9. 探索性数据分析(EDA)-不要问如何,不要问什么
  10. LCP 07. 传递信息