前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >golang Flow流程添加时间轴

golang Flow流程添加时间轴

作者头像
hotqin888
发布2019-03-19 17:54:37
2.2K0
发布2019-03-19 17:54:37
举报
文章被收录于专栏:hotqin888的专栏

vue的element组件时间轴刚刚出来,可以自定义图标和颜色等。

拿过来作为document flow的历史流程记录,效果很好。

element table的在线编辑组件extends更新很快,前面还存在不能刷新页面数据的bug,到现在已经好了,并且安装的使用都变得简单了,不需要vuex,也不需要拷贝store,也不需要拷贝colum.vue之类了。

https://github.com/3xxx/flow-vue.js

同时,也为flow添加了一点新的代码,即查询文档的历史操作记录。

代码语言:javascript
复制
type DocEventsHistory struct {
	FromState string
	DocAction string
	ToState   string
	Group     string
	Data      string
	Ctime     time.Time
}

// DocEventsHistory answers the possible document wf_docevent_application.
func (_DocEvents) DocEventsHistory(dtype DocTypeID, id DocumentID) ([]*DocEventsHistory, error) {
	q := `
	SELECT dsm1.name, dam.name, dsm2.name, gm.name, de.data, de.ctime
	FROM wf_docevent_application dea
	JOIN wf_docstates_master dsm1 ON dsm1.id = dea.from_state_id
	JOIN wf_docstates_master dsm2 ON dsm2.id = dea.to_state_id
	JOIN wf_docevents de ON de.id = dea.docevent_id
	JOIN wf_docactions_master dam ON dam.id = de.docaction_id
	JOIN wf_groups_master gm ON gm.id = de.group_id
	WHERE dea.doctype_id = ? AND dea.doc_id = ? ORDER BY de.ctime DESC
	`
	rows, err := db.Query(q, dtype, id)
	if err != nil {
		return nil, err
	}
	defer rows.Close()

	ary := make([]*DocEventsHistory, 0, 10)
	for rows.Next() {
		var elem DocEventsHistory
		err = rows.Scan(&elem.FromState, &elem.DocAction, &elem.ToState, &elem.Group, &elem.Data, &elem.Ctime)
		if err != nil {
			return nil, err
		}
		ary = append(ary, &elem)
	}
	if err = rows.Err(); err != nil {
		return nil, err
	}

	return ary, nil
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年03月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档