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

临夏城乡建设局网站企业网站制作教程

临夏城乡建设局网站,企业网站制作教程,做脚本网站,阳江人才招聘网官网直接上图: 从上图中可以看到整个工单的进度是从【开始】指向【PCB判责】【完善客诉】【PCBA列表】,同时【完善客诉】又可以同时指向【PCB判责】【PCBA列表】,后续各自指向自己的进度。 直接上代码: 1.安装 1.1 Npm 方式 npm …

直接上图:
在这里插入图片描述
从上图中可以看到整个工单的进度是从【开始】指向【PCB判责】+【完善客诉】+【PCBA列表】,同时【完善客诉】又可以同时指向【PCB判责】+【PCBA列表】,后续各自指向自己的进度。

直接上代码:

1.安装

1.1 Npm 方式

npm i relation-graph

1.2 Yarn方式

yarn add relation-graph

2.使用

2.1 html部分代码

 <RelationGraphv-if="visible"ref="seeksRelationGraph"style="height: 300px;width: 80%;margin: 0 auto;border: 1px solid #666;":options="graphOptions"><template #node="{ node }"><div class="my-node"><div class="my-node-text">{{ node.text }}</div><divclass="my-node-detail"v-if="node.data && node.data.creatorName"><div @dblclick="handleCopy(node.data)">{{ node.data.taskOwnerName }}({{ node.data.taskOwner }}){{(node.data.completedTime || node.data.creationTime) | moment}}</div></div></div></template></RelationGraph>

2.2 script部分代码

 <script>import RelationGraph from 'relation-graph';//引入插件export default {name: 'Demo',components: { RelationGraph },//注册插件data() {return {//设置插件的参数graphOptions: {allowSwitchLineShape: true,allowSwitchJunctionPoint: true,// 这里可以参考"Graph 图谱"中的参数进行设置:http://relation-graph.com/#/docs/graphlayouts: [{label: '中心',layoutName: 'tree', //布局方式(tree树状布局/center中心布局/force自动布局)// layoutClassName: 'seeks-layout-center', //当使用这个布局时,会将此样式添加到图谱上// centerOffset_y: 130, //根节点y坐标偏移量(针对项目配置单位为px)min_per_width: 150, //节点距离限制:节点之间横向距离最小值min_per_height: 180, //节点距离限制:节点之间纵向距离最小值from: 'left',},],defaultLineMarker: {markerWidth: 40,markerHeight: 40,refX: 6,refY: 6,data: 'M2,2 L10,6 L2,10 L6,6 L2,2',},defaultNodeShape: 0, //默认的节点形状,0:圆形;1:矩形// defaultExpandHolderPosition: 'right', //节点展开关闭的按钮位置defaultLineShape: 1, //默认的线条样式(1:直线/2:样式2/3:样式3/4:折线/5:样式5/6:样式6)defaultJunctionPoint: 'border', //默认的连线与节点接触的方式(border:边缘/ltrb:上下左右/tb:上下/lr:左右)当布局为树状布局时应使用tb或者lr,这样才会好看// defaultNodeBorderWidth: 0.2, //节点边框粗细// defaultcolor: 'rgba(0, 186, 189, 1)', //默认的线条颜色// defaultNodeColor: 'rgba(0, 206, 209, 1)', //默认的节点背景颜色// defaultFocusRootNode: false, //默认为根节点添加一个被选中的样式// moveToCenterWhenResize: true, //当图谱的大小发生变化时,是否重新让图谱的内容看起来居中// 这里可以参考"Graph 图谱"中的参数进行设置moveToCenterWhenRefresh: false,// graphOffset_x: -500,// graphOffset_y: -100,},}},}</script>

接口返回的数据结构是这样的:
在这里插入图片描述
上图中的connections是线的关系,nodes是节点。

需要对上面的数据结构进行处理后,才能实现上面的效果:

this.taskRecords = {"nodes": [{"taskName": "完善客诉","taskNodeName": "WanShanKeSu"},{"taskName": "PCB判责","taskNodeName": "PCBPanZe"},{"taskName": "PCBA判责","taskNodeName": "PCBAPanZe"},{"taskName": "客服处理","taskNodeName": "KeFuChuLi"},{"taskName": "OA审批","taskNodeName": "OAShenPi"}],"connections": [{"from": "","to": "WanShanKeSu","depth": null},{"from": "","to": "PCBPanZe","depth": null},{"from": "","to": "PCBAPanZe","depth": null},{"from": "WanShanKeSu","to": "PCBPanZe","depth": null},{"from": "WanShanKeSu","to": "PCBAPanZe","depth": null},{"from": "PCBPanZe","to": "KeFuChuLi","depth": null},{"from": "PCBAPanZe","to": "KeFuChuLi","depth": null},{"from": "KeFuChuLi","to": "OAShenPi","depth": null},{"from": "OAShenPi","to": "KeFuChuLi","depth": null}]
}
showSeeksGraph() {let nodeArr = [];let endArr = [];let nodeObj = {start: [],end: [],};this.taskRecords.connections.forEach((item) => {if (!item.from) {item.from = 'start';}endArr.push(item.from);});this.taskRecords.nodes &&this.taskRecords.nodes.forEach((item) => {nodeArr.push(item.taskNodeName);nodeObj[item.taskNodeName] = [];});this.taskRecords.connections &&this.taskRecords.connections.forEach((item) => {nodeObj[item.from].push(item.to);});console.log(222, this.taskRecords.connections);for (let key in nodeObj) {if (nodeObj[key].length) {nodeObj[key].forEach((item) => {if (nodeObj[item].length > 1) {let arr = nodeObj[item].filter((n) => nodeObj[key].indexOf(n) > -1);let len = Math.floor(arr.length / 2);let centerIndex = this.taskRecords.connections.findIndex((no) => no.from == key && no.to == item);let currentObj = this.taskRecords.connections[centerIndex];this.taskRecords.connections.splice(centerIndex, 1);this.taskRecords.connections.splice(len, 0, currentObj);}});}}nodeArr &&nodeArr.forEach((item) => {if (endArr.indexOf(item) == -1) {this.taskRecords.connections.push({from: item,to: 'end',});}});let nodes = [{text: '开始',id: 'start',},];this.taskRecords.nodes &&this.taskRecords.nodes.forEach((item) => {nodes.push({id: item.taskNodeName,text: item.taskName,color: item.color,...item,});});nodes.push({text: '结束',id: 'end',});console.log('this.taskRecords.connections',nodes,this.taskRecords.connections);//需要指定 节点参数和连接线的参数this.graph_json_data = {rootId: 'start',nodes: nodes,lines: this.taskRecords.connections,};this.$refs.seeksRelationGraph.setJsonData(this.graph_json_data,(seeksRGGraph) => {});},

上面的代码就可以实现了。如果要i

http://www.dtcms.com/wzjs/430394.html

相关文章:

  • 日照市做网站公司网站推广技巧
  • 深圳网站推广百度宣传推广费用
  • 2在线做网站百度站长工具如何使用
  • 网站做优化效果怎样网站在线优化工具
  • 政府单位网站开发郑州seo技术培训班
  • 网站如何三合一seosem是指什么意思
  • 网站开发的软件有哪些关键字有哪些
  • 宝山网站建设公司北京seo公司助力网络营销
  • 音乐网站还可以做网站信息查询
  • 惠民县建设局网站推广方式有哪几种
  • 武汉关键词排名提升seo关键词智能排名
  • 网站建设与维护重庆网站推广专家
  • 济南做外贸的网站公司吗怎样在平台上发布信息推广
  • 新网站建设 英文翻译职业培训机构排名
  • 做传销网站的seo排名软件价格
  • 淘宝客网站开发定制网络营销的特点是什么?
  • 可以做任务挣钱的网站外贸seo网站推广
  • eclipse开发网站用vue做前端天眼查询个人
  • 网站模板代码怎么写sem是什么缩写
  • 如何建设网站兴田德润简介呢青岛网站制作
  • 西安制作网站公司哪家好如何在外贸平台推广
  • 专业建设专题网站谷歌浏览器下载手机版安卓
  • 西宁网站建设模板长尾词seo排名
  • 上海自适应网站制作百度指数是什么
  • 石家庄网站建设哪家好如何建立网上销售平台
  • 台州网站搜索引擎优化免费检测网站seo
  • php网站做ios如何在网上推广自己的公司
  • 广州网站优化运营竞价代运营公司哪家好
  • 网页的源代码的开始和结束标签必须是自己的网站怎么做seo
  • 深圳专业做网站技术今日新闻大事件