Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
nizhengjia888
gin-vue-admin
提交
91fd0658
G
gin-vue-admin
项目概览
nizhengjia888
/
gin-vue-admin
与 Fork 源项目一致
Fork自
FLIPPED-AURORA / gin-vue-admin
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gin-vue-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
91fd0658
编写于
10月 31, 2020
作者:
Mr.奇淼(
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
工作流增删改查功能完善
上级
7ffbdc31
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
314 addition
and
334 deletion
+314
-334
server/cmd/datas/init.go
server/cmd/datas/init.go
+0
-49
server/model/wf_process.go
server/model/wf_process.go
+3
-3
server/service/wk_process.go
server/service/wk_process.go
+59
-3
web/src/view/workflow/workflowCreate/workflowCreate.vue
web/src/view/workflow/workflowCreate/workflowCreate.vue
+181
-174
web/src/view/workflow/workflowProcess/workflowProcess.vue
web/src/view/workflow/workflowProcess/workflowProcess.vue
+71
-105
未找到文件。
server/cmd/datas/init.go
浏览文件 @
91fd0658
...
...
@@ -56,52 +56,3 @@ func InitMysqlTables(db *gorm.DB) {
}
color
.
Info
.
Println
(
"[Mysql]-->初始化数据表成功"
)
}
func
InitPostgresqlData
(
db
*
gorm
.
DB
)
{
var
err
error
err
=
InitSysApi
(
db
)
err
=
InitSysUser
(
db
)
err
=
InitExaCustomer
(
db
)
err
=
InitCasbinModel
(
db
)
err
=
InitSysAuthority
(
db
)
err
=
InitSysBaseMenus
(
db
)
err
=
InitAuthorityMenu
(
db
)
err
=
InitSysAuthorityMenus
(
db
)
err
=
InitSysDataAuthorityId
(
db
)
err
=
InitSysDictionaryDetail
(
db
)
err
=
InitExaFileUploadAndDownload
(
db
)
err
=
InitSysDictionaryToPostgresql
(
db
)
if
err
!=
nil
{
color
.
Error
.
Printf
(
"[Postgresql]-->初始化数据失败,err: %v
\n
"
,
err
)
os
.
Exit
(
0
)
}
color
.
Info
.
Println
(
"[Postgresql]-->初始化数据成功"
)
}
func
InitPostgresqlTables
(
db
*
gorm
.
DB
)
{
var
err
error
if
!
db
.
Migrator
()
.
HasTable
(
"casbin_rule"
)
{
err
=
db
.
Migrator
()
.
CreateTable
(
&
gormadapter
.
CasbinRule
{})
}
err
=
db
.
AutoMigrate
(
model
.
SysApi
{},
model
.
SysUser
{},
model
.
ExaFile
{},
model
.
ExaCustomer
{},
model
.
SysBaseMenu
{},
model
.
SysAuthority
{},
model
.
JwtBlacklist
{},
model
.
ExaFileChunk
{},
model
.
ExaSimpleUploader
{},
model
.
SysOperationRecord
{},
model
.
SysDictionaryDetail
{},
model
.
SysBaseMenuParameter
{},
model
.
ExaFileUploadAndDownload
{},
SysDictionaryToPostgresql
{},
)
if
err
!=
nil
{
color
.
Error
.
Printf
(
"[Postgresql]-->初始化数据表失败,err: %v
\n
"
,
err
)
os
.
Exit
(
0
)
}
color
.
Info
.
Println
(
"[Postgresql]-->初始化数据表成功"
)
}
server/model/wf_process.go
浏览文件 @
91fd0658
...
...
@@ -10,7 +10,7 @@ type WorkflowProcess struct {
ID
string
`json:"id" form:"id" gorm:"comment:流程标识;primaryKey;unique;not null"`
CreatedAt
time
.
Time
UpdatedAt
time
.
Time
DeletedAt
gorm
.
DeletedAt
`gorm:"index"`
DeletedAt
gorm
.
DeletedAt
`
json:"-"
gorm:"index"`
Name
string
`json:"name" gorm:"comment:流程名称"`
Category
string
`json:"category" gorm:"comment:分类"`
Clazz
string
`json:"clazz" gorm:"comment:类型"`
...
...
@@ -25,7 +25,7 @@ type WorkflowNode struct {
ID
string
`json:"id" form:"id" gorm:"comment:节点id;primaryKey;unique;not null"`
CreatedAt
time
.
Time
UpdatedAt
time
.
Time
DeletedAt
gorm
.
DeletedAt
`gorm:"index"`
DeletedAt
gorm
.
DeletedAt
`
json:"-"
gorm:"index"`
WorkflowProcessID
string
`json:"-" gorm:"comment:流程标识"`
Clazz
string
`json:"clazz" gorm:"comment:节点类型"`
Label
string
`json:"label" gorm:"comment:节点名称"`
...
...
@@ -48,7 +48,7 @@ type WorkflowEdge struct {
ID
string
`json:"id" form:"id" gorm:"comment:唯一标识;primaryKey;unique;not null"`
CreatedAt
time
.
Time
UpdatedAt
time
.
Time
DeletedAt
gorm
.
DeletedAt
`gorm:"index"`
DeletedAt
gorm
.
DeletedAt
`
json:"-"
gorm:"index"`
WorkflowProcessID
string
`json:"-" gorm:"comment:流程标识"`
Clazz
string
`json:"clazz" gorm:"comment:类型(线)"`
Source
string
`json:"source" gorm:"comment:起点节点"`
...
...
server/service/wk_process.go
浏览文件 @
91fd0658
...
...
@@ -4,6 +4,7 @@ import (
"gin-vue-admin/global"
"gin-vue-admin/model"
"gin-vue-admin/model/request"
"gorm.io/gorm"
)
// @title CreateWorkflowProcess
...
...
@@ -24,7 +25,27 @@ func CreateWorkflowProcess(workflowProcess model.WorkflowProcess) (err error) {
// @return error
func
DeleteWorkflowProcess
(
workflowProcess
model
.
WorkflowProcess
)
(
err
error
)
{
err
=
global
.
GVA_DB
.
Delete
(
workflowProcess
)
.
Error
err
=
global
.
GVA_DB
.
Transaction
(
func
(
tx
*
gorm
.
DB
)
error
{
var
txErr
error
txErr
=
tx
.
Delete
(
workflowProcess
)
.
Error
if
txErr
!=
nil
{
return
txErr
}
var
edges
[]
model
.
WorkflowEdge
txErr
=
tx
.
Delete
(
model
.
WorkflowNode
{},
"workflow_process_id = ?"
,
workflowProcess
.
ID
)
.
Error
if
txErr
!=
nil
{
return
txErr
}
txErr
=
tx
.
Find
(
&
edges
,
"workflow_process_id = ?"
,
workflowProcess
.
ID
)
.
Error
if
txErr
!=
nil
{
return
txErr
}
txErr
=
tx
.
Select
(
"StartPoint"
,
"EndPoint"
)
.
Delete
(
&
edges
)
.
Error
if
txErr
!=
nil
{
return
txErr
}
return
nil
})
return
err
}
...
...
@@ -46,8 +67,43 @@ func DeleteWorkflowProcessByIds(ids request.IdsReq) (err error) {
// @return error
func
UpdateWorkflowProcess
(
workflowProcess
*
model
.
WorkflowProcess
)
(
err
error
)
{
err
=
global
.
GVA_DB
.
Save
(
workflowProcess
)
.
Error
return
err
return
global
.
GVA_DB
.
Transaction
(
func
(
tx
*
gorm
.
DB
)
error
{
var
txErr
error
var
edges
[]
model
.
WorkflowEdge
var
edgesIds
[]
string
txErr
=
tx
.
Unscoped
()
.
Delete
(
workflowProcess
)
.
Error
if
txErr
!=
nil
{
return
txErr
}
txErr
=
tx
.
Unscoped
()
.
Delete
(
model
.
WorkflowNode
{},
"workflow_process_id = ?"
,
workflowProcess
.
ID
)
.
Error
if
txErr
!=
nil
{
return
txErr
}
txErr
=
tx
.
Unscoped
()
.
Find
(
&
edges
,
"workflow_process_id = ?"
,
workflowProcess
.
ID
)
.
Error
if
txErr
!=
nil
{
return
txErr
}
txErr
=
tx
.
Unscoped
()
.
Delete
(
&
edges
)
.
Error
if
txErr
!=
nil
{
return
txErr
}
for
_
,
v
:=
range
edges
{
edgesIds
=
append
(
edgesIds
,
v
.
ID
)
}
txErr
=
tx
.
Unscoped
()
.
Delete
(
model
.
WorkflowStartPoint
{},
"workflow_edge_id in ?"
,
edgesIds
)
.
Error
if
txErr
!=
nil
{
return
txErr
}
txErr
=
tx
.
Unscoped
()
.
Delete
(
model
.
WorkflowEndPoint
{},
"workflow_edge_id in ?"
,
edgesIds
)
.
Error
if
txErr
!=
nil
{
return
txErr
}
txErr
=
tx
.
Create
(
&
workflowProcess
)
.
Error
if
txErr
!=
nil
{
return
txErr
}
return
nil
})
}
// @title GetWorkflowProcess
...
...
web/src/view/workflow/workflowCreate/workflowCreate.vue
浏览文件 @
91fd0658
...
...
@@ -51,7 +51,8 @@
<
script
>
import
{
findWorkflowProcess
,
createWorkflowProcess
createWorkflowProcess
,
updateWorkflowProcess
}
from
"
@/api/workflowProcess
"
;
// 此处请自行替换地址
import
gvaWfd
from
"
@/components/gva-wfd
"
;
import
{
getUserList
}
from
"
@/api/user
"
;
...
...
@@ -67,174 +68,174 @@ export default {
lang
:
"
zh
"
,
done
:
false
,
demoData
:
{
//
nodes: [
//
{
//
clazz: "start",
//
label: "发起请假",
//
type: "start-node",
//
shape: "start-node",
//
x: 110,
//
y: 195,
//
id: "start1603681292875",
//
style: {}
//
},
//
{
//
clazz: "parallelGateway",
//
label: "会签",
//
type: "parallel-gateway-node",
//
shape: "parallel-gateway-node",
//
x: 228,
//
y: 195,
//
id: "parallelGateway1603681296419",
//
style: {}
//
},
//
{
//
clazz: "userTask",
//
label: "审批人1",
//
type: "user-task-node",
//
shape: "user-task-node",
//
x: 372,
//
y: 84,
//
id: "userTask1603681299962",
//
style: {},
//
assignValue: 1,
//
assignType: "user"
//
},
//
{
//
clazz: "userTask",
//
label: "审批人2",
//
type: "user-task-node",
//
shape: "user-task-node",
//
x: 370,
//
y: 321,
//
id: "userTask1603681302372",
//
style: {},
//
assignValue: 2,
//
assignType: "user"
//
},
//
{
//
clazz: "parallelGateway",
//
label: "会签结果检测",
//
type: "parallel-gateway-node",
//
shape: "parallel-gateway-node",
//
x: 519,
//
y: 195,
//
id: "parallelGateway1603681338222",
//
style: {}
//
},
//
{
//
clazz: "end",
//
label: "请假失败",
//
type: "end-node",
//
shape: "end-node",
//
x: 704,
//
y: 317,
//
id: "end1603681358043",
//
style: {}
//
},
//
{
//
clazz: "end",
//
label: "请假成功",
//
type: "end-node",
//
shape: "end-node",
//
x: 706.5,
//
y: 55.5,
//
id: "end1603681360882",
//
style: {}
//
}
//
],
//
edges: [
//
{
//
id: "flow1603681320738",
//
clazz: "flow",
//
source: "parallelGateway1603681296419",
//
target: "userTask1603681299962",
//
sourceAnchor: 0,
//
targetAnchor: 3,
//
shape: "flow-polyline-round",
//
style: {},
//
startPoint: { x: 228, y: 169, index: 0 },
//
endPoint: { x: 321.5, y: 84, index: 3 }
//
},
//
{
//
id: "flow1603681321969",
//
clazz: "flow",
//
source: "parallelGateway1603681296419",
//
target: "userTask1603681302372",
//
sourceAnchor: 2,
//
targetAnchor: 3,
//
shape: "flow-polyline-round",
//
style: {},
//
startPoint: { x: 228, y: 221, index: 2 },
//
endPoint: { x: 319.5, y: 321, index: 3 }
//
},
//
{
//
id: "flow1603681323274",
//
clazz: "flow",
//
source: "start1603681292875",
//
target: "parallelGateway1603681296419",
//
sourceAnchor: 1,
//
targetAnchor: 3,
//
shape: "flow-polyline-round",
//
style: {},
//
startPoint: { x: 138, y: 195, index: 1 },
//
endPoint: { x: 202, y: 195, index: 3 },
//
label: "发起",
//
conditionExpression: "complete"
//
},
//
{
//
id: "flow1603681341777",
//
clazz: "flow",
//
source: "userTask1603681299962",
//
target: "parallelGateway1603681338222",
//
sourceAnchor: 1,
//
targetAnchor: 3,
//
shape: "flow-polyline-round",
//
style: {},
//
startPoint: { x: 422.5, y: 84, index: 1 },
//
endPoint: { x: 493, y: 195, index: 3 }
//
},
//
{
//
id: "flow1603681343425",
//
clazz: "flow",
//
source: "userTask1603681302372",
//
target: "parallelGateway1603681338222",
//
sourceAnchor: 1,
//
targetAnchor: 3,
//
shape: "flow-polyline-round",
//
style: {},
//
startPoint: { x: 420.5, y: 321, index: 1 },
//
endPoint: { x: 493, y: 195, index: 3 }
//
},
//
{
//
id: "flow1603681362913",
//
clazz: "flow",
//
source: "parallelGateway1603681338222",
//
target: "end1603681360882",
//
sourceAnchor: 0,
//
targetAnchor: 2,
//
shape: "flow-polyline-round",
//
style: {},
//
startPoint: { x: 519, y: 169, index: 0 },
//
endPoint: { x: 678.5, y: 55.5, index: 2 },
//
conditionExpression: "complete",
//
label: "所有人同意"
//
},
//
{
//
id: "flow1603681392729",
//
clazz: "flow",
//
source: "parallelGateway1603681338222",
//
target: "end1603681358043",
//
sourceAnchor: 2,
//
targetAnchor: 2,
//
shape: "flow-polyline-round",
//
style: {},
//
startPoint: { x: 519, y: 221, index: 2 },
//
endPoint: { x: 676, y: 317, index: 2 },
//
conditionExpression: "reject",
//
label: "任何一人拒绝"
//
}
//
],
nodes
:
[
{
clazz
:
"
start
"
,
label
:
"
发起请假
"
,
type
:
"
start-node
"
,
shape
:
"
start-node
"
,
x
:
110
,
y
:
195
,
id
:
"
start1603681292875
"
,
style
:
{}
},
{
clazz
:
"
parallelGateway
"
,
label
:
"
会签
"
,
type
:
"
parallel-gateway-node
"
,
shape
:
"
parallel-gateway-node
"
,
x
:
228
,
y
:
195
,
id
:
"
parallelGateway1603681296419
"
,
style
:
{}
},
{
clazz
:
"
userTask
"
,
label
:
"
审批人1
"
,
type
:
"
user-task-node
"
,
shape
:
"
user-task-node
"
,
x
:
372
,
y
:
84
,
id
:
"
userTask1603681299962
"
,
style
:
{},
assignValue
:
1
,
assignType
:
"
user
"
},
{
clazz
:
"
userTask
"
,
label
:
"
审批人2
"
,
type
:
"
user-task-node
"
,
shape
:
"
user-task-node
"
,
x
:
370
,
y
:
321
,
id
:
"
userTask1603681302372
"
,
style
:
{},
assignValue
:
2
,
assignType
:
"
user
"
},
{
clazz
:
"
parallelGateway
"
,
label
:
"
会签结果检测
"
,
type
:
"
parallel-gateway-node
"
,
shape
:
"
parallel-gateway-node
"
,
x
:
519
,
y
:
195
,
id
:
"
parallelGateway1603681338222
"
,
style
:
{}
},
{
clazz
:
"
end
"
,
label
:
"
请假失败
"
,
type
:
"
end-node
"
,
shape
:
"
end-node
"
,
x
:
704
,
y
:
317
,
id
:
"
end1603681358043
"
,
style
:
{}
},
{
clazz
:
"
end
"
,
label
:
"
请假成功
"
,
type
:
"
end-node
"
,
shape
:
"
end-node
"
,
x
:
706.5
,
y
:
55.5
,
id
:
"
end1603681360882
"
,
style
:
{}
}
],
edges
:
[
{
id
:
"
flow1603681320738
"
,
clazz
:
"
flow
"
,
source
:
"
parallelGateway1603681296419
"
,
target
:
"
userTask1603681299962
"
,
sourceAnchor
:
0
,
targetAnchor
:
3
,
shape
:
"
flow-polyline-round
"
,
style
:
{},
startPoint
:
{
x
:
228
,
y
:
169
,
index
:
0
},
endPoint
:
{
x
:
321.5
,
y
:
84
,
index
:
3
}
},
{
id
:
"
flow1603681321969
"
,
clazz
:
"
flow
"
,
source
:
"
parallelGateway1603681296419
"
,
target
:
"
userTask1603681302372
"
,
sourceAnchor
:
2
,
targetAnchor
:
3
,
shape
:
"
flow-polyline-round
"
,
style
:
{},
startPoint
:
{
x
:
228
,
y
:
221
,
index
:
2
},
endPoint
:
{
x
:
319.5
,
y
:
321
,
index
:
3
}
},
{
id
:
"
flow1603681323274
"
,
clazz
:
"
flow
"
,
source
:
"
start1603681292875
"
,
target
:
"
parallelGateway1603681296419
"
,
sourceAnchor
:
1
,
targetAnchor
:
3
,
shape
:
"
flow-polyline-round
"
,
style
:
{},
startPoint
:
{
x
:
138
,
y
:
195
,
index
:
1
},
endPoint
:
{
x
:
202
,
y
:
195
,
index
:
3
},
label
:
"
发起
"
,
conditionExpression
:
"
complete
"
},
{
id
:
"
flow1603681341777
"
,
clazz
:
"
flow
"
,
source
:
"
userTask1603681299962
"
,
target
:
"
parallelGateway1603681338222
"
,
sourceAnchor
:
1
,
targetAnchor
:
3
,
shape
:
"
flow-polyline-round
"
,
style
:
{},
startPoint
:
{
x
:
422.5
,
y
:
84
,
index
:
1
},
endPoint
:
{
x
:
493
,
y
:
195
,
index
:
3
}
},
{
id
:
"
flow1603681343425
"
,
clazz
:
"
flow
"
,
source
:
"
userTask1603681302372
"
,
target
:
"
parallelGateway1603681338222
"
,
sourceAnchor
:
1
,
targetAnchor
:
3
,
shape
:
"
flow-polyline-round
"
,
style
:
{},
startPoint
:
{
x
:
420.5
,
y
:
321
,
index
:
1
},
endPoint
:
{
x
:
493
,
y
:
195
,
index
:
3
}
},
{
id
:
"
flow1603681362913
"
,
clazz
:
"
flow
"
,
source
:
"
parallelGateway1603681338222
"
,
target
:
"
end1603681360882
"
,
sourceAnchor
:
0
,
targetAnchor
:
2
,
shape
:
"
flow-polyline-round
"
,
style
:
{},
startPoint
:
{
x
:
519
,
y
:
169
,
index
:
0
},
endPoint
:
{
x
:
678.5
,
y
:
55.5
,
index
:
2
},
conditionExpression
:
"
complete
"
,
label
:
"
所有人同意
"
},
{
id
:
"
flow1603681392729
"
,
clazz
:
"
flow
"
,
source
:
"
parallelGateway1603681338222
"
,
target
:
"
end1603681358043
"
,
sourceAnchor
:
2
,
targetAnchor
:
2
,
shape
:
"
flow-polyline-round
"
,
style
:
{},
startPoint
:
{
x
:
519
,
y
:
221
,
index
:
2
},
endPoint
:
{
x
:
676
,
y
:
317
,
index
:
2
},
conditionExpression
:
"
reject
"
,
label
:
"
任何一人拒绝
"
}
],
},
wkType
:
"
create
"
,
users
:
[],
...
...
@@ -275,17 +276,23 @@ export default {
})
return
}
// if(this.$route.query.type == 'edit'){
// // 等待调用编辑功能
// }else{
if
(
this
.
$route
.
query
.
type
==
'
edit
'
){
const
res
=
await
updateWorkflowProcess
(
processModel
)
if
(
res
.
code
==
0
){
this
.
$message
({
type
:
"
success
"
,
message
:
"
编辑成功
"
})
}
}
else
{
const
res
=
await
createWorkflowProcess
(
processModel
)
if
(
res
.
success
){
if
(
res
.
code
==
0
){
this
.
$message
({
type
:
"
success
"
,
message
:
"
创建成功
"
})
}
//
}
}
},
saveXML
()
{
console
.
log
(
this
.
$refs
[
"
wfd
"
].
graph
.
saveXML
());
...
...
web/src/view/workflow/workflowProcess/workflowProcess.vue
浏览文件 @
91fd0658
...
...
@@ -6,10 +6,7 @@
<el-input
placeholder=
"搜索条件"
v-model=
"searchInfo.name"
></el-input>
</el-form-item>
<el-form-item
label=
"流程标题"
>
<el-input
placeholder=
"搜索条件"
v-model=
"searchInfo.label"
></el-input>
<el-input
placeholder=
"搜索条件"
v-model=
"searchInfo.label"
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"onSubmit"
type=
"primary"
>
查询
</el-button>
...
...
@@ -18,20 +15,10 @@
<el-popover
placement=
"top"
v-model=
"deleteVisible"
width=
"160"
>
<p>
确定要删除吗?
</p>
<div
style=
"text-align: right; margin: 0"
>
<el-button
@
click=
"deleteVisible = false"
size=
"mini"
type=
"text"
>
取消
</el-button
>
<el-button
@
click=
"onDelete"
size=
"mini"
type=
"primary"
>
确定
</el-button
>
<el-button
@
click=
"deleteVisible = false"
size=
"mini"
type=
"text"
>
取消
</el-button>
<el-button
@
click=
"onDelete"
size=
"mini"
type=
"primary"
>
确定
</el-button>
</div>
<el-button
icon=
"el-icon-delete"
size=
"mini"
slot=
"reference"
type=
"danger"
>
批量删除
</el-button
>
<el-button
icon=
"el-icon-delete"
size=
"mini"
slot=
"reference"
type=
"danger"
>
批量删除
</el-button>
</el-popover>
</el-form-item>
</el-form>
...
...
@@ -46,72 +33,38 @@
tooltip-effect=
"dark"
>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
label=
"日期"
width=
"180"
>
<el-table-column
label=
"日期"
width=
"180"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
CreatedAt
|
formatDate
}}
</
template
>
</el-table-column>
<el-table-column
label=
"流程名称"
prop=
"name"
width=
"120"
></el-table-column>
<el-table-column
label=
"流程名称"
prop=
"name"
width=
"120"
></el-table-column>
<el-table-column
label=
"分类"
prop=
"category"
width=
"120"
></el-table-column>
<el-table-column
label=
"分类"
prop=
"category"
width=
"120"
></el-table-column>
<el-table-column
label=
"类型"
prop=
"clazz"
width=
"120"
></el-table-column>
<el-table-column
label=
"流程标题"
prop=
"label"
width=
"120"
></el-table-column>
<el-table-column
label=
"流程标题"
prop=
"label"
width=
"120"
></el-table-column>
<el-table-column
label=
"是否隐藏图标"
prop=
"hideIcon"
width=
"120"
>
<
template
slot-scope=
"scope"
>
{{
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
hideIcon
|
formatBoolean
}}
</
template
>
}}
</
template
>
</el-table-column>
<el-table-column
label=
"详细介绍"
prop=
"description"
width=
"120"
></el-table-column>
<el-table-column
label=
"详细介绍"
prop=
"description"
width=
"120"
></el-table-column>
<el-table-column
label=
"按钮组"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"updateWorkflowProcess(scope.row)"
size=
"small"
type=
"primary"
>
变更
</el-button
>
<el-button
class=
"table-button"
@
click=
"updateWorkflowProcess(scope.row)"
size=
"small"
type=
"primary"
>
变更
</el-button>
<el-button
class=
"table-button"
@
click=
"viewWorkflowProcess(scope.row)"
size=
"small"
type=
"warning"
>
查看
</el-button>
<el-popover
placement=
"top"
width=
"160"
v-model=
"scope.row.visible"
>
<p>
确定要删除吗?
</p>
<div
style=
"text-align: right; margin: 0"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"scope.row.visible = false"
>
取消
</el-button
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteWorkflowProcess(scope.row)"
>
确定
</el-button
>
<el-button
size=
"mini"
type=
"text"
@
click=
"scope.row.visible = false"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteWorkflowProcess(scope.row)"
>
确定
</el-button>
</div>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
slot=
"reference"
>
删除
</el-button
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
slot=
"reference"
>
删除
</el-button>
</el-popover>
</
template
>
</el-table-column>
...
...
@@ -132,12 +85,12 @@
<
script
>
import
{
deleteWorkflowProcess
,
deleteWorkflowProcessByIds
,
getWorkflowProcessList
}
from
"
@/api/workflowProcess
"
;
// 此处请自行替换地址
deleteWorkflowProcess
,
deleteWorkflowProcessByIds
,
getWorkflowProcessList
}
from
"
@/api/workflowProcess
"
;
// 此处请自行替换地址
import
{
formatTimeToStr
}
from
"
@/utils/date
"
;
import
infoList
from
"
@/
components/
mixins/infoList
"
;
import
infoList
from
"
@/mixins/infoList
"
;
export
default
{
name
:
"
WorkflowProcess
"
,
...
...
@@ -148,7 +101,7 @@ export default {
dialogFormVisible
:
false
,
visible
:
false
,
deleteVisible
:
false
,
multipleSelection
:
[]
,
multipleSelection
:
[]
};
},
filters
:
{
...
...
@@ -162,46 +115,58 @@ export default {
},
formatBoolean
:
function
(
bool
)
{
if
(
bool
!=
null
)
{
return
bool
?
"
是
"
:
"
否
"
;
return
bool
?
"
是
"
:
"
否
"
;
}
else
{
return
""
;
}
}
},
methods
:
{
//条件搜索前端看此方法
onSubmit
()
{
this
.
page
=
1
this
.
pageSize
=
10
if
(
this
.
searchInfo
.
hideIcon
==
""
)
{
this
.
searchInfo
.
hideIcon
=
null
}
this
.
getTableData
()
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
},
async
onDelete
()
{
const
ids
=
[]
this
.
multipleSelection
&&
this
.
multipleSelection
.
map
(
item
=>
{
ids
.
push
(
item
.
id
)
})
const
res
=
await
deleteWorkflowProcessByIds
({
ids
})
if
(
res
.
code
==
0
)
{
this
.
$message
({
type
:
'
success
'
,
message
:
'
删除成功
'
})
this
.
deleteVisible
=
false
this
.
getTableData
()
}
},
//条件搜索前端看此方法
onSubmit
()
{
this
.
page
=
1
;
this
.
pageSize
=
10
;
if
(
this
.
searchInfo
.
hideIcon
==
""
)
{
this
.
searchInfo
.
hideIcon
=
null
;
}
this
.
getTableData
();
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
async
onDelete
()
{
const
ids
=
[];
this
.
multipleSelection
&&
this
.
multipleSelection
.
map
(
item
=>
{
ids
.
push
(
item
.
id
);
});
const
res
=
await
deleteWorkflowProcessByIds
({
ids
});
if
(
res
.
code
==
0
)
{
this
.
$message
({
type
:
"
success
"
,
message
:
"
删除成功
"
});
this
.
deleteVisible
=
false
;
this
.
getTableData
();
}
},
async
updateWorkflowProcess
(
row
)
{
this
.
$router
.
push
({
name
:
"
workflowCreate
"
,
query
:{
id
:
row
.
id
,
type
:
'
edit
'
}})
this
.
$router
.
push
({
name
:
"
workflowCreate
"
,
query
:
{
id
:
row
.
id
,
type
:
"
edit
"
}
});
},
async
viewWorkflowProcess
(
row
)
{
this
.
$router
.
push
({
name
:
"
workflowCreate
"
,
query
:
{
id
:
row
.
id
,
type
:
"
view
"
}
});
},
async
deleteWorkflowProcess
(
row
)
{
this
.
visible
=
false
;
...
...
@@ -219,7 +184,8 @@ export default {
}
},
async
created
()
{
await
this
.
getTableData
();}
await
this
.
getTableData
();
}
};
</
script
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录