npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

primeton-ecoding

v5.2.1

Published

npm install || yarn install npm run dev

Downloads

43

Readme

bpm-portal-ui 接入指南

快速开始

npm install || yarn install npm run dev

访问 http://0.0.0.0:8080(默认流程引擎界面)

若想选择访问流程或者表单请按如下示例

参数 type: form / flow appId: 应用id operate add / edit / copy 例: ?type=form&appId=304281933460799488&operate=add http://0.0.0.0:8080/#/?type=form&appId=304281933460799488&operate=add

若预览表单 访问 /pcview 并且参数如下

  // formCode 表单code
  // processDefId 流程定义id
  // product 是否生产预览
  // stageId 环节id
  // processInstId 流程实例id

  if (this.$route.query.start == 'Y') { // 启动任务
    this.frameUrl = `static/frameView/index.html#/pcview?formCode=${this.$route.query.formId}&processDefId=${obj.processDefId}&product=true&stageId=${obj.activityDefId}`
  } else if (this.$route.query.start == 'N') { // 代办
    this.frameUrl = `static/frameView/index.html#/pcview?formCode=${this.$route.query.formId}&product=true&processInstId=${this.$route.query.processInstId}&stageId=${obj.activityDefId}&processDefId=${obj.processDefId}`
  } else if (this.$route.query.start == 'S') { // 已办
    this.frameUrl = `static/frameView/index.html#/pcview?formCode=${this.$route.query.formId}&product=true&processInstId=${this.$route.query.processInstId}&stageId=${this.$route.query.stageId}&processDefId=${this.$route.query.processDefId}`
  }  else if (this.$route.query.start == 'P') { // 流程实例
    this.frameUrl = `static/frameView/index.html#/pcview?formCode=${this.$route.query.formId}&product=true&processInstId=${this.$route.query.processInstId}&processDefId=${this.$route.query.processDefId}`
  }

配置编辑器数据接口

/src/api/... 为api配置位置

  1. 在apiSeek.js、flow.js、treeList.js...配置接口地址以及调用的函数名称 编辑器必须接口已经定义,若您需要修改接口地址,则直接修改地址即可,无需修改函数名称,若您想添加新接口,按如下格式添加即可
/*
  *函数名称可以不用修改,否则编辑器内调用位置需要修改
  apiConfig()中 参数1为 /apiConfig/config.js 中调用的方法名
*/ 

export function getFormModule(data) {
	return apiConfig('getFormModule', { // 查询表单数据
		methods: 'GET',
		url: `/bpm-server/api/biz-resources/forms/${data.id}`,
		data: ''
	})
}
  1. /apiConfig/config.js 中配置axios请求函数 config.js 主要作为中间件,可以针对不同数据结构的接口返回做处理(接口返回符合默认格式无需做处理)

目录

  1. 页面信息 --> /src/views

    flowDesigner 流程编辑器页面代码

    FlowSetting 基础设置 components 渲染组件

    formDesigner 表单编辑器页面代码

    /components/basicSettings 基础设置 /components/formDesign 表单设计 /components/formPreview 表单预览 /mobileView 移动端生产视图 /pcView pc端生产视图

  2. 表单控件 --> /src/commons/controls

  3. 公共组件 --> /src/components

表单控件的开发

  1. 在/src/commons/controls下创建文件夹,名称为你所需要的控件名称(套件名称建议以Kit结尾)
  2. 创建控件所需要的文件 移动端样式建议参考 Vant-ui pc端样式建议参考Element-ui
    • attributes.vue --> 控件编辑时的属性
    • config.js --> 控件配置信息
    • mobile.vue --> 移动端控件样式
    • pc.vue --> pc端控件样式

    attributes.vue

    mobile.vue

    pc.vue

    config.js

      export default {
        id: '',
        name: "input", // 控件名称
        sort: 1,
        group: "default", // 分组
        updateTime: "", // 更新时间
        controlType: 'control', // kit 套件  group 分组  advanced 高级
        dataSource: '', // 数据来源  无 / 数据模型 / ...
        control: {
          // --------------------- 控件必须属性 --------------------------------
          align: '', // 对齐方式
    displayName: '', // 显示名称
    introduction: '', // 简介
          titleLength: 20, // 标题最大长度
          labelWidth: '130', // 标题宽度
          propsForm: '', // 若为子表单,则为表单code
    objPath: '',
    subTable: false, // 是否在子表格
    subTableType: '', // 子表格类型
     
          code: '', // 字段标识
    labelPosition: 'right',
          defaultType: 'String',
          type: "input", // 控件类型
          label: "单行输入框", // 控件标题
          required: false, //是否必填
          icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAG1BMVEVHcEwZHiYZHiUaHyMdKCgZHiYaISQYHiQZHiYtE7tIAAAACXRSTlMAZVUSCTQmQxxVUCeiAAAA7ElEQVQoz9WSTW7CQAxGTQIlSz6XDFumvUBSUYklpTkAkXqAgkTXmS5YE1Gp167HM8micwK+ReK8/DzbCtG9Z4oyhTMghRnwmcDeoEugW7jH1NP10bS97SJ8wDVjvdsCfI0eFr+vXyAxAdYl5Wqy5SZ3HD1isUuiAgeiOcJXsSZqSz9DFQ/eI52/8ThIFU6bptmrid7PNsAaGjHl375Q2AYoJoeny2uAMF8SZ8TxPIiKsIyeaQIa4HzQVfVqvIzNzNBpdVTYhgXlWGT4mP5Ce/MD+lhT6D7Ao0feYDoBq53lf+ve3uSpn7v5C/8Auc4hwIODgzAAAAAASUVORK5CYII=", // 图标
          // --------------------- 控件自身属性 --------------------------------
          placeholder: "请输入", // 提示语
          tipText: "", // 提示文字
          defaults: {
    type: 'const',
    value: ''
    }, // 默认值
          rules: "", // 校验规则
          format: '', // 显示格式
          valueLength: 20, // value最大长度
          inputType: 'text',
          proportion: 100  // 占比
        },
        colList: [] // 控件占比字段列表
      }
  3. 无需引入,直接运行查看控件

注意

  1. 控件尽量定义灵活通用
  2. 套件类型的控件是为了解决特殊的业务需求,需要在内部编写业务代码
  3. 预览分为编辑预览,生产预览

组件联动主要文件

  1. paramsEventListener.js 接受数据
  2. publicControlPackage 数据改变锚点
  3. bpm-portal-ui/src/utils/dashboardEventBus.js 事件中心
  4. bpm-portal-ui/src/commons/mixin/dynamicParameters.js 动态参数处理
  5. bpm-portal-ui/src/commons/mixin/dashboardLinkage.js@handlerLinkageItem 处理联动事项

组件化打包命令

build:componnent 打包组件

build:componnentAnalyzer 打包组件并查看依赖关系

build:components-dll 依赖拆分

build:style build样式

build:ecoding 打包全部

注:打包组件样式前需要放开postcss配置文件中的命名空间插件注释

作为组件库引入方式

  1. 安装
npm i ecoding -S
  1. 使用
import 'ecoding/ecoding/static/ExpansionModules/config/moduleList.js'
import 'ecoding/ecoding/static/ExpansionModules/config/modulesLoader.js'
import 'ecoding/ecoding/style/main.css'
import poratl  from 'ecoding'
Vue.use(poratl, {
  vuex: store
})
  1. 按需引入

因为需要注册 vuex 所以统一使用 use 方式

import {
  FormDesign,
  FormRenderPc,
  FlowDesign,
  FlowSheet
  FormRenderMobile
  }  from 'ecoding'
  
Vue.use(FormDesign, {
  vuex: store
})
Vue.use(FormRenderPc, {
  vuex: store
})
Vue.use(FlowDesign, {
  vuex: store
})
Vue.use(FlowSheet, {
  vuex: store
})
Vue.use(FormRenderMobile, {
  vuex: store
})
  1. 使用组件
  <FormDesign :operate="operate" :path="'/'" :appId="appId" :id="id" :formCode="formCode" :version="version" :type="type" :bpm_homepage_code="bpm_homepage_code" :status="status" />
  <FormRenderPc :path="'/'"  formCode appId version status />
  <FlowSheet :path="'/'"  appId processDefId status />
  <FlowDesign :path="'/'" type="process" appId operate="edit" id status />
  <FormRenderMobile
    correlationBizId="476352569854132224"
    workItemId="476352573045997568"
    appId="test"
    formCode="f_asset_change"
    processInstId="476352564300873728"
    stageId="Z1S3Xkc9J"
    product="true"
    processDefId="466665183532548096"
    page="processStart"
    approval_form_state="allow"
    path="/"
    />
  1. 事件

FormDesign、FlowDesign 支持 close save 事件回调

<FormDesign @close="" @save="" />
<FlowDesign @close="" @save="" />