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

那些网站可以给产品做推广电子商务网站开发岗位职责

那些网站可以给产品做推广,电子商务网站开发岗位职责,图文广告公司名字,门户网站的基本特征多选题背景 bpmn-js是个流程图绘制的工具,但是现在我希望实现的是,绘制的不是节点而是一个vue组件。 保留线的拖拽和连接。 方案 那就说明不是依赖于节点的样式,找到了他有个属性,就是类似覆盖节点的操作。 思路就是用vue组件做遮罩&…

背景

bpmn-js是个流程图绘制的工具,但是现在我希望实现的是,绘制的不是节点而是一个vue组件。
保留线的拖拽和连接。

方案

那就说明不是依赖于节点的样式,找到了他有个属性,就是类似覆盖节点的操作。
思路就是用vue组件做遮罩,盖住原本的节点样式。

/*** 批量操作节点*/handleAddOverlay() {const bpmnModeling = this.bpmnModeler.get('modeling')const contextPad = this.bpmnModeler.get('contextPad')this.bpmnModeler.on('import.done', () => {// 加载完成后每个元素遍历const elementRegistry = this.bpmnModeler.get('elementRegistry')elementRegistry.forEach(element => {if (['bpmn:Task'].includes(element.type)) {const parent = elementRegistry.getGraphics(element)bpmnModeling.resizeShape(element, {width: element.width || this.config.width || 60,height: element.height || this.config.height || 60,x: getDi(element).bounds.x,y: getDi(element).bounds.y})// 遍历任务节点,为每个节点添加 overlaysif (this.isShowComponent) {bpmnModeling.setColor(element, { stroke: this.config.borderColor || '#eee' }) // 修改边框颜色bpmnModeling.setColor(element, { fill: this.config.fillColor || '#fff' }) // 修改边框颜色this.addOverlay(element, parent)}} })})},

接下来是挂载覆盖物的重点,如何让覆盖物跟随节点的移动而移动

/**** @param {*} element* 增加覆盖物节点操作*/addOverlay(element, parent) {const __this = thisconst overlays = this.bpmnModeler.get('overlays')const bpmnModeling = this.bpmnModeler.get('modeling')const elementRegistry = this.bpmnModeler.get('elementRegistry')const index = this.data.nodeLists.findIndex(item => item.config.id === element.id)// 添加覆盖物 ------------------------------------- beginoverlays.add(element, 'my-overlay', {position: __this.overlayPosition,show: {minZoom: 0.1},html: '<div id="my-component"></div>'})const Profile = Vue.extend(this.config.components)overlays.get({ element: element, type: 'my-overlay' })[0].htmlContainer.id = element.idnew Profile({router,propsData: {element: element,node: index > -1 ? this.data.nodeLists[index] : {},func: this.func,...this.props},mounted() {const component = this// 绑定鼠标按下事件component.$el.addEventListener('mousedown', event => {__this.isDrag = falseevent.preventDefault()if (!__this.disable) {dragMouseDown(event)}})// 自定义组件点击事件component.$el.addEventListener('click', () => {if (!__this.isDrag) {__this.showContextPad(element)const bpmnElement = elementRegistry.get(element.id)__this.currentElement = bpmnElement__this.$emit('click', bpmnElement) // 点击事件}})}}).$mount('#my-component')// 添加覆盖物 -------------------------------------end// 必须作为公共变量进行值更改let pos1 = 0let pos2 = 0let pos3 = 0let pos4 = 0/**** @param {*} e* @param {*} overlayPosition* 鼠标按下开始*/function dragMouseDown(e) {e = e || window.evente.preventDefault()pos3 = e.clientXpos4 = e.clientYdocument.onmousemove = event => {__this.isDrag = trueelementDrag(event, __this.overlayPosition)}document.onmouseup = () => {__this.currentElement = nulldocument.onmouseup = nulldocument.onmousemove = null}}/**** @param {*} e* @param {*} overlayPosition*  节点的拖拽*/function elementDrag(e, overlayPosition) {e = e || window.evente.preventDefault()// 计算新的元素位置pos1 = pos3 - e.clientXpos2 = pos4 - e.clientYpos3 = e.clientXpos4 = e.clientYconst bpmnElement = elementRegistry.get(element.id)const deltaX = overlayPosition.x + pos1const deltaY = overlayPosition.y + pos2// 移动父节点及其连接线moveParentNode(bpmnElement, deltaX, deltaY)}/**** @param {*} element* @param {*} dx* @param {*} dy* 更改父节点操作*/function moveParentNode(element, dx, dy) {const parent = element.parentif (!parent) {return}// // 更新父节点的位置信息bpmnModeling.moveElements([element], { x: -dx, y: -dy }, null)// 更新覆盖物的位置const overlay = overlays.get({ element: parent, type: 'my-overlay' })overlay.position = {top: overlay.top - dy,left: overlay.left - dx}}},

在这里插入图片描述

http://www.yayakq.cn/news/771660/

相关文章:

  • 做外贸 建网站要注意什么做淘宝优惠劵网站服务器配置
  • 网站添加支付功能做短视频网站好
  • 商城网站开发费用宁波电子商务公司
  • 跨境电商网站建设成本歌曲做网站背景音乐 侵权
  • 专门做招商的网站是什么免费发广告的软件
  • 罗湖附近公司做网站建设多少钱电子商务网站建设推广分析
  • 南京高端网站建设工作室济南城市建设职业学院官网招生网
  • 网站footer模板网站怎么做平台
  • 怎样建立自己的销售网站自己可以建设网站吗
  • 专业做招聘的网站有哪些职业生涯规划大赛是什么
  • 东莞网站制作哪里找淘宝佣金推广网站建设
  • 做写字楼的网站有哪些对接网站建设是什么意思
  • 山东济南城乡建设厅网站公司的 SEO与网站建设
  • 建立网站需要多少钱镇江vi设计
  • 温县网站建设手机兼职的正规平台有哪些
  • 怎样用文本建一个网站wordpress 手机支付
  • 哪个网站做签约插画师好公司网站优化
  • 自己搭建一个网站启动wordpress
  • 企业网站源码怎么用东华大学网络教育网页设计作业
  • 哈尔滨城乡建设局网站首页网页设计基础实训期末试卷和答案
  • python做软件的网站郑州网站建设乚汉狮网络
  • 网站建设有哪种方式百度h5下载
  • 河北建设厅网站上不去网站开发好就业吗
  • 做网站多久python基础教程网易
  • 网站界面设计试题北京网站建设石榴汇
  • 注册网站除了域名初中生怎么做网站
  • 常州网上教科院重庆网络优化平台
  • 南京做网站具体需要多少钱广告投放都有哪些平台
  • 网站seo视频教程网页宣传广告怎么做
  • 鼓楼网站seo搜索引擎优化dw网页制作软件官网