Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
周远喜
mes-ui
Commits
92e1727d
Commit
92e1727d
authored
Nov 09, 2020
by
renjintao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
userProcess.load
parent
7d0b08b0
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
2964 additions
and
3203 deletions
+2964
-3203
index.vue
pages/handle/examine10/index.vue
+241
-260
index.vue
pages/handle/examine11/index.vue
+241
-260
index.vue
pages/handle/examine12/index.vue
+241
-260
index.vue
pages/handle/examine13/index.vue
+243
-262
index.vue
pages/handle/examine14/index.vue
+243
-262
index.vue
pages/handle/examine2/index.vue
+3
-0
index.vue
pages/handle/examine3/index.vue
+235
-269
index.vue
pages/handle/examine4/index.vue
+225
-246
index.vue
pages/handle/examine6/index.vue
+246
-275
index.vue
pages/handle/examine7/index.vue
+422
-422
index.vue
pages/handle/examine8/index.vue
+385
-429
index.vue
pages/handle/examine9/index.vue
+239
-258
No files found.
pages/handle/examine10/index.vue
View file @
92e1727d
<
template
>
<
template
>
<div
style=
"padding:30px 0"
>
<div
style=
"padding:30px 0"
>
<Detail
:idVal=
"detailId"
/>
<Detail
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Row>
<Row>
<Col
span=
"18"
>
<Col
span=
"18"
>
<FormItem
label=
"审批意见:"
>
<FormItem
label=
"审批意见:"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"终止"
></Radio>
<Radio
label=
"终止"
></Radio>
</RadioGroup>
</RadioGroup>
</FormItem>
</FormItem>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<Select
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
style=
"width:200px"
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
clearable
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
transfer
</Select>
placeholder=
"请选择驳回节点"
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
v-model=
"formMyCheck.rejectToNodeId"
<Radio
label=
"1"
>
上一节点
</Radio>
>
<Radio
label=
"2"
>
第一节点
</Radio>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
</RadioGroup>
<Option
</FormItem>
v-for=
"(item, index) in nodeList"
<FormItem
label=
"原因:"
v-if=
"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</Select>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<Radio
label=
"1"
>
上一节点
</Radio>
<Radio
label=
"2"
>
第一节点
</Radio>
</RadioGroup>
</FormItem>
<FormItem
label=
"原因:"
v-if=
"
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
"
"
prop=
"comment"
>
prop=
"comment"
<Input
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请输入原因"
/>
>
</FormItem>
<Input
</Col>
v-model=
"formMyCheck.comment"
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
style=
"width:400px;margin-left:10px"
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
placeholder=
"请输入原因"
</Col>
/>
</Row>
</FormItem>
</Form>
</Col>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
</Col>
</Row>
</Form>
</div>
</div>
<Modal
v-model=
"modalCheckNo"
title=
"修复文件审批"
width=
"800"
:scrollable=
"true"
>
<Modal
v-model=
"modalCheckNo"
title=
"修复文件审批"
width=
"800"
:scrollable=
"true"
>
<br
/>
<br
/>
<h4>
<h4>
您确定
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此修复文件审批?
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此修复文件审批?
</h4>
</h4>
<br
/>
<br
/>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</div>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
'../api'
import
Api
from
'../api'
import
Detail
from
'./detail'
import
Detail
from
'./detail'
import
Process
from
'../process'
import
Process
from
'../process'
export
default
{
export
default
{
layout
:
'empty'
,
layout
:
'empty'
,
name
:
'Index'
,
name
:
'Index'
,
components
:
{
components
:
{
Detail
,
Detail
,
Process
Process
},
data
()
{
return
{
currentUserId
:
0
,
formMyCheck
:
{
radioSp
:
'通过'
,
comment
:
''
,
workHours
:
0
,
//工时
printPeriod
:
0
,
//打印周期
equipment
:
''
,
//设备
materialWeight
:
0
,
//材料重量
rejectToNodeId
:
null
},
modalCheckOk
:
false
,
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[
{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}
],
comment
:
[
{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}
]
}
}
},
props
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
this
.
getDetailInfos
(
this
.
detailId
)
},
methods
:
{
nextCheckOk
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
modalCheckNo
=
true
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
else
{
}
})
}
else
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{
}
})
}
},
},
getDetailInfos
(
idVal
)
{
data
()
{
this
.
getDetailRecords
=
[]
return
{
let
param
=
{
currentUserId
:
0
,
Id
:
idVal
formMyCheck
:
{
}
radioSp
:
'通过'
,
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
comment
:
''
,
this
.
testObj
=
r
workHours
:
0
,
//工时
if
(
r
.
success
)
{
printPeriod
:
0
,
//打印周期
this
.
currentNodeID
=
r
.
result
.
currentNodeId
equipment
:
''
,
//设备
this
.
passId
=
r
.
result
.
currentRecordId
materialWeight
:
0
,
//材料重量
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
rejectToNodeId
:
null
this
.
getNodes
(
r
.
result
.
nodes
)
},
}
else
{
modalCheckOk
:
false
,
this
.
$Message
.
error
(
'加载失败'
)
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}],
comment
:
[{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}]
}
}
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
},
//审批通过
props
:
{},
checkOk
()
{
async
fetch
({
// alert(this.passId)
store
,
let
param
=
{
params
id
:
this
.
passId
,
})
{
comment
:
''
,
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
this
.
modalCheckNo
=
true
}
})
},
},
//审批驳回
created
()
{
checkNo
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
// alert(this.passId)
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
let
param
=
{
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
id
:
this
.
passId
,
this
.
getDetailInfos
(
this
.
detailId
)
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
modalCheckNo
=
true
}
})
},
},
//审批终止
methods
:
{
checkCancel
()
{
nextCheckOk
()
{
// alert(this.passId)
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
let
param
=
{
this
.
modalCheckNo
=
true
id
:
this
.
passId
,
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
comment
:
this
.
formMyCheck
.
comment
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
}
if
(
valid
)
{
//alert(JSON.stringify(param))
this
.
modalCheckNo
=
true
Api
.
terminate
(
param
).
then
((
r
)
=>
{
this
.
statuTitle
=
'驳回'
if
(
r
.
success
)
{
}
else
{}
this
.
$Message
.
success
(
'终止审批成功'
)
})
this
.
modalCheckNo
=
false
}
else
{
}
else
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
this
.
$Message
.
error
(
'加载失败'
)
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{}
})
}
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[]
let
param
=
{
Id
:
idVal
}
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
this
.
testObj
=
r
if
(
r
.
success
)
{
this
.
currentNodeID
=
r
.
result
.
currentNodeId
this
.
passId
=
r
.
result
.
currentRecordId
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
//审批通过
checkOk
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
this
.
modalCheckNo
=
true
}
})
},
//审批驳回
checkNo
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
modalCheckNo
=
true
}
})
},
//审批终止
checkCancel
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
}
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
modalCheckNo
=
true
}
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
l
(
key
)
{
key
=
'OrderDataReview'
+
'.'
+
key
return
this
.
$t
(
key
)
}
}
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
},
l
(
key
)
{
watch
:
{}
key
=
'OrderDataReview'
+
'.'
+
key
return
this
.
$t
(
key
)
}
},
watch
:
{}
}
}
</
script
>
</
script
>
pages/handle/examine11/index.vue
View file @
92e1727d
<
template
>
<
template
>
<div
style=
"padding:30px 0"
>
<div
style=
"padding:30px 0"
>
<Detail
:idVal=
"detailId"
/>
<Detail
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Row>
<Row>
<Col
span=
"18"
>
<Col
span=
"18"
>
<FormItem
label=
"审批意见:"
>
<FormItem
label=
"审批意见:"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"终止"
></Radio>
<Radio
label=
"终止"
></Radio>
</RadioGroup>
</RadioGroup>
</FormItem>
</FormItem>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<Select
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
style=
"width:200px"
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
clearable
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
transfer
</Select>
placeholder=
"请选择驳回节点"
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
v-model=
"formMyCheck.rejectToNodeId"
<Radio
label=
"1"
>
上一节点
</Radio>
>
<Radio
label=
"2"
>
第一节点
</Radio>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
</RadioGroup>
<Option
</FormItem>
v-for=
"(item, index) in nodeList"
<FormItem
label=
"原因:"
v-if=
"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</Select>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<Radio
label=
"1"
>
上一节点
</Radio>
<Radio
label=
"2"
>
第一节点
</Radio>
</RadioGroup>
</FormItem>
<FormItem
label=
"原因:"
v-if=
"
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
"
"
prop=
"comment"
>
prop=
"comment"
<Input
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请输入原因"
/>
>
</FormItem>
<Input
</Col>
v-model=
"formMyCheck.comment"
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
style=
"width:400px;margin-left:10px"
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
placeholder=
"请输入原因"
</Col>
/>
</Row>
</FormItem>
</Form>
</Col>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
</Col>
</Row>
</Form>
</div>
</div>
<Modal
v-model=
"modalCheckNo"
title=
"支撑文件审批"
width=
"800"
:scrollable=
"true"
>
<Modal
v-model=
"modalCheckNo"
title=
"支撑文件审批"
width=
"800"
:scrollable=
"true"
>
<br
/>
<br
/>
<h4>
<h4>
您确定
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此支撑文件审批?
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此支撑文件审批?
</h4>
</h4>
<br
/>
<br
/>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</div>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
'../api'
import
Api
from
'../api'
import
Detail
from
'./detail'
import
Detail
from
'./detail'
import
Process
from
'../process'
import
Process
from
'../process'
export
default
{
export
default
{
layout
:
'empty'
,
layout
:
'empty'
,
name
:
'Index'
,
name
:
'Index'
,
components
:
{
components
:
{
Detail
,
Detail
,
Process
Process
},
data
()
{
return
{
currentUserId
:
0
,
formMyCheck
:
{
radioSp
:
'通过'
,
comment
:
''
,
workHours
:
0
,
//工时
printPeriod
:
0
,
//打印周期
equipment
:
''
,
//设备
materialWeight
:
0
,
//材料重量
rejectToNodeId
:
null
},
modalCheckOk
:
false
,
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[
{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}
],
comment
:
[
{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}
]
}
}
},
props
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
this
.
getDetailInfos
(
this
.
detailId
)
},
methods
:
{
nextCheckOk
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
modalCheckNo
=
true
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
else
{
}
})
}
else
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{
}
})
}
},
},
getDetailInfos
(
idVal
)
{
data
()
{
this
.
getDetailRecords
=
[]
return
{
let
param
=
{
currentUserId
:
0
,
Id
:
idVal
formMyCheck
:
{
}
radioSp
:
'通过'
,
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
comment
:
''
,
this
.
testObj
=
r
workHours
:
0
,
//工时
if
(
r
.
success
)
{
printPeriod
:
0
,
//打印周期
this
.
currentNodeID
=
r
.
result
.
currentNodeId
equipment
:
''
,
//设备
this
.
passId
=
r
.
result
.
currentRecordId
materialWeight
:
0
,
//材料重量
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
rejectToNodeId
:
null
this
.
getNodes
(
r
.
result
.
nodes
)
},
}
else
{
modalCheckOk
:
false
,
this
.
$Message
.
error
(
'加载失败'
)
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}],
comment
:
[{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}]
}
}
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
},
//审批通过
props
:
{},
checkOk
()
{
async
fetch
({
// alert(this.passId)
store
,
let
param
=
{
params
id
:
this
.
passId
,
})
{
comment
:
''
,
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
this
.
modalCheckNo
=
true
}
})
},
},
//审批驳回
created
()
{
checkNo
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
// alert(this.passId)
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
let
param
=
{
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
id
:
this
.
passId
,
this
.
getDetailInfos
(
this
.
detailId
)
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
modalCheckNo
=
true
}
})
},
},
//审批终止
methods
:
{
checkCancel
()
{
nextCheckOk
()
{
// alert(this.passId)
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
let
param
=
{
this
.
modalCheckNo
=
true
id
:
this
.
passId
,
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
comment
:
this
.
formMyCheck
.
comment
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
}
if
(
valid
)
{
//alert(JSON.stringify(param))
this
.
modalCheckNo
=
true
Api
.
terminate
(
param
).
then
((
r
)
=>
{
this
.
statuTitle
=
'驳回'
if
(
r
.
success
)
{
}
else
{}
this
.
$Message
.
success
(
'终止审批成功'
)
})
this
.
modalCheckNo
=
false
}
else
{
}
else
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
this
.
$Message
.
error
(
'加载失败'
)
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{}
})
}
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[]
let
param
=
{
Id
:
idVal
}
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
this
.
testObj
=
r
if
(
r
.
success
)
{
this
.
currentNodeID
=
r
.
result
.
currentNodeId
this
.
passId
=
r
.
result
.
currentRecordId
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
//审批通过
checkOk
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
this
.
modalCheckNo
=
true
}
})
},
//审批驳回
checkNo
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
modalCheckNo
=
true
}
})
},
//审批终止
checkCancel
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
}
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
modalCheckNo
=
true
}
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
l
(
key
)
{
key
=
'OrderDataReview'
+
'.'
+
key
return
this
.
$t
(
key
)
}
}
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
},
l
(
key
)
{
watch
:
{}
key
=
'OrderDataReview'
+
'.'
+
key
return
this
.
$t
(
key
)
}
},
watch
:
{}
}
}
</
script
>
</
script
>
pages/handle/examine12/index.vue
View file @
92e1727d
<
template
>
<
template
>
<div
style=
"padding:30px 0"
>
<div
style=
"padding:30px 0"
>
<Detail
:idVal=
"detailId"
/>
<Detail
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Row>
<Row>
<Col
span=
"18"
>
<Col
span=
"18"
>
<FormItem
label=
"审批意见:"
>
<FormItem
label=
"审批意见:"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"终止"
></Radio>
<Radio
label=
"终止"
></Radio>
</RadioGroup>
</RadioGroup>
</FormItem>
</FormItem>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<Select
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
style=
"width:200px"
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
clearable
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
transfer
</Select>
placeholder=
"请选择驳回节点"
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
v-model=
"formMyCheck.rejectToNodeId"
<Radio
label=
"1"
>
上一节点
</Radio>
>
<Radio
label=
"2"
>
第一节点
</Radio>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
</RadioGroup>
<Option
</FormItem>
v-for=
"(item, index) in nodeList"
<FormItem
label=
"原因:"
v-if=
"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</Select>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<Radio
label=
"1"
>
上一节点
</Radio>
<Radio
label=
"2"
>
第一节点
</Radio>
</RadioGroup>
</FormItem>
<FormItem
label=
"原因:"
v-if=
"
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
"
"
prop=
"comment"
>
prop=
"comment"
<Input
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请输入原因"
/>
>
</FormItem>
<Input
</Col>
v-model=
"formMyCheck.comment"
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
style=
"width:400px;margin-left:10px"
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
placeholder=
"请输入原因"
</Col>
/>
</Row>
</FormItem>
</Form>
</Col>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
</Col>
</Row>
</Form>
</div>
</div>
<Modal
v-model=
"modalCheckNo"
title=
"切片文件审批"
width=
"800"
:scrollable=
"true"
>
<Modal
v-model=
"modalCheckNo"
title=
"切片文件审批"
width=
"800"
:scrollable=
"true"
>
<br
/>
<br
/>
<h4>
<h4>
您确定
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此切片文件审批?
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此切片文件审批?
</h4>
</h4>
<br
/>
<br
/>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</div>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
'../api'
import
Api
from
'../api'
import
Detail
from
'./detail'
import
Detail
from
'./detail'
import
Process
from
'../process'
import
Process
from
'../process'
export
default
{
export
default
{
layout
:
'empty'
,
layout
:
'empty'
,
name
:
'Index'
,
name
:
'Index'
,
components
:
{
components
:
{
Detail
,
Detail
,
Process
Process
},
data
()
{
return
{
currentUserId
:
0
,
formMyCheck
:
{
radioSp
:
'通过'
,
comment
:
''
,
workHours
:
0
,
//工时
printPeriod
:
0
,
//打印周期
equipment
:
''
,
//设备
materialWeight
:
0
,
//材料重量
rejectToNodeId
:
null
},
modalCheckOk
:
false
,
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[
{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}
],
comment
:
[
{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}
]
}
}
},
props
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
this
.
getDetailInfos
(
this
.
detailId
)
},
methods
:
{
nextCheckOk
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
modalCheckNo
=
true
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
else
{
}
})
}
else
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{
}
})
}
},
},
getDetailInfos
(
idVal
)
{
data
()
{
this
.
getDetailRecords
=
[]
return
{
let
param
=
{
currentUserId
:
0
,
Id
:
idVal
formMyCheck
:
{
}
radioSp
:
'通过'
,
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
comment
:
''
,
this
.
testObj
=
r
workHours
:
0
,
//工时
if
(
r
.
success
)
{
printPeriod
:
0
,
//打印周期
this
.
currentNodeID
=
r
.
result
.
currentNodeId
equipment
:
''
,
//设备
this
.
passId
=
r
.
result
.
currentRecordId
materialWeight
:
0
,
//材料重量
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
rejectToNodeId
:
null
this
.
getNodes
(
r
.
result
.
nodes
)
},
}
else
{
modalCheckOk
:
false
,
this
.
$Message
.
error
(
'加载失败'
)
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}],
comment
:
[{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}]
}
}
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
},
//审批通过
props
:
{},
checkOk
()
{
async
fetch
({
// alert(this.passId)
store
,
let
param
=
{
params
id
:
this
.
passId
,
})
{
comment
:
''
,
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
this
.
modalCheckNo
=
true
}
})
},
},
//审批驳回
created
()
{
checkNo
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
// alert(this.passId)
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
let
param
=
{
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
id
:
this
.
passId
,
this
.
getDetailInfos
(
this
.
detailId
)
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
modalCheckNo
=
true
}
})
},
},
//审批终止
methods
:
{
checkCancel
()
{
nextCheckOk
()
{
// alert(this.passId)
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
let
param
=
{
this
.
modalCheckNo
=
true
id
:
this
.
passId
,
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
comment
:
this
.
formMyCheck
.
comment
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
}
if
(
valid
)
{
//alert(JSON.stringify(param))
this
.
modalCheckNo
=
true
Api
.
terminate
(
param
).
then
((
r
)
=>
{
this
.
statuTitle
=
'驳回'
if
(
r
.
success
)
{
}
else
{}
this
.
$Message
.
success
(
'终止审批成功'
)
})
this
.
modalCheckNo
=
false
}
else
{
}
else
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
this
.
$Message
.
error
(
'加载失败'
)
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{}
})
}
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[]
let
param
=
{
Id
:
idVal
}
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
this
.
testObj
=
r
if
(
r
.
success
)
{
this
.
currentNodeID
=
r
.
result
.
currentNodeId
this
.
passId
=
r
.
result
.
currentRecordId
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
//审批通过
checkOk
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
this
.
modalCheckNo
=
true
}
})
},
//审批驳回
checkNo
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
modalCheckNo
=
true
}
})
},
//审批终止
checkCancel
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
}
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
modalCheckNo
=
true
}
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
l
(
key
)
{
key
=
'OrderDataReview'
+
'.'
+
key
return
this
.
$t
(
key
)
}
}
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
},
l
(
key
)
{
watch
:
{}
key
=
'OrderDataReview'
+
'.'
+
key
return
this
.
$t
(
key
)
}
},
watch
:
{}
}
}
</
script
>
</
script
>
pages/handle/examine13/index.vue
View file @
92e1727d
<
template
>
<
template
>
<div
style=
"padding:30px 0"
>
<div
style=
"padding:30px 0"
>
<Detail
:idVal=
"detailId"
/>
<Detail
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Row>
<Row>
<Col
span=
"18"
>
<Col
span=
"18"
>
<FormItem
label=
"审批意见:"
>
<FormItem
label=
"审批意见:"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"终止"
></Radio>
<Radio
label=
"终止"
></Radio>
</RadioGroup>
</RadioGroup>
</FormItem>
</FormItem>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<Select
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
style=
"width:200px"
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
clearable
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
transfer
</Select>
placeholder=
"请选择驳回节点"
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
v-model=
"formMyCheck.rejectToNodeId"
<Radio
label=
"1"
>
上一节点
</Radio>
>
<Radio
label=
"2"
>
第一节点
</Radio>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
</RadioGroup>
<Option
</FormItem>
v-for=
"(item, index) in nodeList"
<FormItem
label=
"原因:"
v-if=
"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</Select>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<Radio
label=
"1"
>
上一节点
</Radio>
<Radio
label=
"2"
>
第一节点
</Radio>
</RadioGroup>
</FormItem>
<FormItem
label=
"原因:"
v-if=
"
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
"
"
prop=
"comment"
>
prop=
"comment"
<Input
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请输入原因"
/>
>
</FormItem>
<Input
</Col>
v-model=
"formMyCheck.comment"
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
style=
"width:400px;margin-left:10px"
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
placeholder=
"请输入原因"
</Col>
/>
</Row>
</FormItem>
</Form>
</Col>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
</Col>
</Row>
</Form>
</div>
</div>
<Modal
v-model=
"modalCheckNo"
title=
"物料审批"
width=
"800"
:scrollable=
"true"
>
<Modal
v-model=
"modalCheckNo"
title=
"物料审批"
width=
"800"
:scrollable=
"true"
>
<br
/>
<br
/>
<h4>
<h4>
您确定
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此物料审批?
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此物料审批?
</h4>
</h4>
<br
/>
<br
/>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</div>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
"../api"
;
import
Api
from
"../api"
;
import
Detail
from
"./detail"
;
import
Detail
from
"./detail"
;
import
Process
from
"../process"
;
import
Process
from
"../process"
;
export
default
{
export
default
{
layout
:
"empty"
,
layout
:
"empty"
,
name
:
"Index"
,
name
:
"Index"
,
components
:
{
components
:
{
Detail
,
Detail
,
Process
Process
},
data
()
{
return
{
currentUserId
:
0
,
formMyCheck
:
{
radioSp
:
"通过"
,
comment
:
""
,
workHours
:
0
,
//工时
printPeriod
:
0
,
//打印周期
equipment
:
""
,
//设备
materialWeight
:
0
,
//材料重量
rejectToNodeId
:
null
},
modalCheckOk
:
false
,
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
""
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[
{
required
:
true
,
message
:
"请选择驳回节点"
,
type
:
"number"
,
trigger
:
"change"
}
],
comment
:
[
{
required
:
true
,
message
:
"请输入原因"
,
trigger
:
"blur"
}
]
}
};
},
props
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
;
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
"id"
);
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
"statu"
);
this
.
getDetailInfos
(
this
.
detailId
);
},
methods
:
{
nextCheckOk
()
{
if
(
this
.
formMyCheck
.
radioSp
==
"通过"
)
{
this
.
statuTitle
=
"通过"
;
this
.
modalCheckNo
=
true
;
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"驳回"
)
{
this
.
$refs
[
"formValidate"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
;
this
.
statuTitle
=
"驳回"
;
}
else
{
}
});
}
else
{
this
.
$refs
[
"formValidate"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
;
this
.
statuTitle
=
"终止"
;
}
else
{
}
});
}
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[];
let
param
=
{
Id
:
idVal
};
Api
.
getdetail
(
param
).
then
(
r
=>
{
this
.
testObj
=
r
;
if
(
r
.
success
)
{
this
.
currentNodeID
=
r
.
result
.
currentNodeId
;
this
.
passId
=
r
.
result
.
currentRecordId
;
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
;
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
);
}
else
{
this
.
$Message
.
error
(
"加载失败"
);
}
});
},
},
//获取流程节点
data
()
{
getNodes
(
nodes
)
{
return
{
this
.
nodeList
=
[];
currentUserId
:
0
,
nodes
.
forEach
(
data
=>
{
formMyCheck
:
{
let
nodeObj
=
{};
radioSp
:
"通过"
,
nodeObj
.
value
=
data
.
id
;
comment
:
""
,
nodeObj
.
label
=
data
.
name
;
workHours
:
0
,
//工时
nodeObj
.
statu
=
1
;
printPeriod
:
0
,
//打印周期
this
.
nodeList
.
push
(
nodeObj
);
equipment
:
""
,
//设备
});
materialWeight
:
0
,
//材料重量
//第一节点node的ID
rejectToNodeId
:
null
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
;
},
//根据当前nodeid找到上一节点的nodeId
modalCheckOk
:
false
,
var
index
=
this
.
nodeList
.
findIndex
(
modalCheckNo
:
false
,
item
=>
item
.
value
==
this
.
currentNodeID
detailId
:
null
,
);
statuTitle
:
""
,
if
(
index
>
0
)
{
footerStatu
:
null
,
//是否显示footer
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
;
getDetailResults
:
[],
//getdetail返回数据
}
else
{
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
;
getDetailProcess
:
[],
//getdetail返回process信息
}
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[{
required
:
true
,
message
:
"请选择驳回节点"
,
type
:
"number"
,
trigger
:
"change"
}],
comment
:
[{
required
:
true
,
message
:
"请输入原因"
,
trigger
:
"blur"
}]
}
};
},
},
changeToNode
(
val
)
{
props
:
{},
if
(
val
==
"1"
)
{
async
fetch
(
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
;
store
,
}
else
{
params
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
;
})
{
}
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
},
//审批通过
created
()
{
checkOk
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
;
// alert(this.passId)
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
"id"
);
let
param
=
{
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
"statu"
);
id
:
this
.
passId
,
this
.
getDetailInfos
(
this
.
detailId
);
comment
:
""
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
};
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"审批通过成功"
);
this
.
modalCheckNo
=
false
;
}
else
{
this
.
$Message
.
error
(
"审批通过失败"
);
this
.
modalCheckNo
=
true
;
}
});
},
},
//审批驳回
methods
:
{
checkNo
()
{
nextCheckOk
()
{
// alert(this.passId)
if
(
this
.
formMyCheck
.
radioSp
==
"通过"
)
{
let
param
=
{
this
.
statuTitle
=
"通过"
;
id
:
this
.
passId
,
this
.
modalCheckNo
=
true
;
comment
:
this
.
formMyCheck
.
comment
,
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"驳回"
)
{
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
this
.
$refs
[
"formValidate"
].
validate
(
valid
=>
{
};
if
(
valid
)
{
// alert(JSON.stringify(param))
this
.
modalCheckNo
=
true
;
Api
.
reject
(
param
).
then
(
r
=>
{
this
.
statuTitle
=
"驳回"
;
if
(
r
.
success
)
{
}
else
{}
this
.
$Message
.
success
(
"驳回审批成功"
);
});
this
.
modalCheckNo
=
false
;
}
else
{
}
else
{
this
.
$refs
[
"formValidate"
].
validate
(
valid
=>
{
this
.
$Message
.
error
(
"加载失败"
);
if
(
valid
)
{
this
.
modalCheckNo
=
true
;
this
.
modalCheckNo
=
true
;
this
.
statuTitle
=
"终止"
;
}
else
{}
});
}
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[];
let
param
=
{
Id
:
idVal
};
Api
.
getdetail
(
param
).
then
(
r
=>
{
this
.
testObj
=
r
;
if
(
r
.
success
)
{
this
.
currentNodeID
=
r
.
result
.
currentNodeId
;
this
.
passId
=
r
.
result
.
currentRecordId
;
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
;
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
);
}
else
{
this
.
$Message
.
error
(
"加载失败"
);
}
});
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[];
nodes
.
forEach
(
data
=>
{
let
nodeObj
=
{};
nodeObj
.
value
=
data
.
id
;
nodeObj
.
label
=
data
.
name
;
nodeObj
.
statu
=
1
;
this
.
nodeList
.
push
(
nodeObj
);
});
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
;
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
item
=>
item
.
value
==
this
.
currentNodeID
);
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
;
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
;
}
},
changeToNode
(
val
)
{
if
(
val
==
"1"
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
;
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
;
}
},
//审批通过
checkOk
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
""
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
};
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"审批通过成功"
);
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
);
this
.
modalCheckNo
=
false
;
}
else
{
this
.
$Message
.
error
(
"审批通过失败"
);
this
.
modalCheckNo
=
true
;
}
});
},
//审批驳回
checkNo
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
};
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"驳回审批成功"
);
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
);
this
.
modalCheckNo
=
false
;
}
else
{
this
.
$Message
.
error
(
"加载失败"
);
this
.
modalCheckNo
=
true
;
}
});
},
//审批终止
checkCancel
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
};
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"终止审批成功"
);
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
);
this
.
modalCheckNo
=
false
;
}
else
{
this
.
$Message
.
error
(
"加载失败"
);
this
.
modalCheckNo
=
true
;
}
});
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
"驳回"
)
{
this
.
checkNo
();
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"终止"
)
{
this
.
checkCancel
();
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"通过"
)
{
this
.
checkOk
();
}
this
.
footerStatu
=
3
;
},
l
(
key
)
{
key
=
"OrderDataReview"
+
"."
+
key
;
return
this
.
$t
(
key
);
}
}
});
},
//审批终止
checkCancel
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
};
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"终止审批成功"
);
this
.
modalCheckNo
=
false
;
}
else
{
this
.
$Message
.
error
(
"加载失败"
);
this
.
modalCheckNo
=
true
;
}
});
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
"驳回"
)
{
this
.
checkNo
();
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"终止"
)
{
this
.
checkCancel
();
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"通过"
)
{
this
.
checkOk
();
}
this
.
footerStatu
=
3
;
},
},
l
(
key
)
{
watch
:
{}
key
=
"OrderDataReview"
+
"."
+
key
;
return
this
.
$t
(
key
);
}
},
watch
:
{}
};
};
</
script
>
</
script
>
pages/handle/examine14/index.vue
View file @
92e1727d
<
template
>
<
template
>
<div
style=
"padding:30px 0"
>
<div
style=
"padding:30px 0"
>
<Detail
:idVal=
"detailId"
/>
<Detail
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Row>
<Row>
<Col
span=
"18"
>
<Col
span=
"18"
>
<FormItem
label=
"审批意见:"
>
<FormItem
label=
"审批意见:"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"终止"
></Radio>
<Radio
label=
"终止"
></Radio>
</RadioGroup>
</RadioGroup>
</FormItem>
</FormItem>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<Select
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
style=
"width:200px"
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
clearable
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
transfer
</Select>
placeholder=
"请选择驳回节点"
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
v-model=
"formMyCheck.rejectToNodeId"
<Radio
label=
"1"
>
上一节点
</Radio>
>
<Radio
label=
"2"
>
第一节点
</Radio>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
</RadioGroup>
<Option
</FormItem>
v-for=
"(item, index) in nodeList"
<FormItem
label=
"原因:"
v-if=
"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</Select>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<Radio
label=
"1"
>
上一节点
</Radio>
<Radio
label=
"2"
>
第一节点
</Radio>
</RadioGroup>
</FormItem>
<FormItem
label=
"原因:"
v-if=
"
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
"
"
prop=
"comment"
>
prop=
"comment"
<Input
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请输入原因"
/>
>
</FormItem>
<Input
</Col>
v-model=
"formMyCheck.comment"
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
style=
"width:400px;margin-left:10px"
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
placeholder=
"请输入原因"
</Col>
/>
</Row>
</FormItem>
</Form>
</Col>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
</Col>
</Row>
</Form>
</div>
</div>
<Modal
v-model=
"modalCheckNo"
title=
"文档审批"
width=
"800"
:scrollable=
"true"
>
<Modal
v-model=
"modalCheckNo"
title=
"文档审批"
width=
"800"
:scrollable=
"true"
>
<br
/>
<br
/>
<h4>
<h4>
您确定
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此文档审批?
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此文档审批?
</h4>
</h4>
<br
/>
<br
/>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</div>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
"../api"
;
import
Api
from
"../api"
;
import
Detail
from
"./detail"
;
import
Detail
from
"./detail"
;
import
Process
from
"../process"
;
import
Process
from
"../process"
;
export
default
{
export
default
{
layout
:
"empty"
,
layout
:
"empty"
,
name
:
"Index"
,
name
:
"Index"
,
components
:
{
components
:
{
Detail
,
Detail
,
Process
Process
},
data
()
{
return
{
currentUserId
:
0
,
formMyCheck
:
{
radioSp
:
"通过"
,
comment
:
""
,
workHours
:
0
,
//工时
printPeriod
:
0
,
//打印周期
equipment
:
""
,
//设备
materialWeight
:
0
,
//材料重量
rejectToNodeId
:
null
},
modalCheckOk
:
false
,
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
""
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[
{
required
:
true
,
message
:
"请选择驳回节点"
,
type
:
"number"
,
trigger
:
"change"
}
],
comment
:
[
{
required
:
true
,
message
:
"请输入原因"
,
trigger
:
"blur"
}
]
}
};
},
props
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
;
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
"id"
);
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
"statu"
);
this
.
getDetailInfos
(
this
.
detailId
);
},
methods
:
{
nextCheckOk
()
{
if
(
this
.
formMyCheck
.
radioSp
==
"通过"
)
{
this
.
statuTitle
=
"通过"
;
this
.
modalCheckNo
=
true
;
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"驳回"
)
{
this
.
$refs
[
"formValidate"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
;
this
.
statuTitle
=
"驳回"
;
}
else
{
}
});
}
else
{
this
.
$refs
[
"formValidate"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
;
this
.
statuTitle
=
"终止"
;
}
else
{
}
});
}
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[];
let
param
=
{
Id
:
idVal
};
Api
.
getdetail
(
param
).
then
(
r
=>
{
this
.
testObj
=
r
;
if
(
r
.
success
)
{
this
.
currentNodeID
=
r
.
result
.
currentNodeId
;
this
.
passId
=
r
.
result
.
currentRecordId
;
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
;
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
);
}
else
{
this
.
$Message
.
error
(
"加载失败"
);
}
});
},
},
//获取流程节点
data
()
{
getNodes
(
nodes
)
{
return
{
this
.
nodeList
=
[];
currentUserId
:
0
,
nodes
.
forEach
(
data
=>
{
formMyCheck
:
{
let
nodeObj
=
{};
radioSp
:
"通过"
,
nodeObj
.
value
=
data
.
id
;
comment
:
""
,
nodeObj
.
label
=
data
.
name
;
workHours
:
0
,
//工时
nodeObj
.
statu
=
1
;
printPeriod
:
0
,
//打印周期
this
.
nodeList
.
push
(
nodeObj
);
equipment
:
""
,
//设备
});
materialWeight
:
0
,
//材料重量
//第一节点node的ID
rejectToNodeId
:
null
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
;
},
//根据当前nodeid找到上一节点的nodeId
modalCheckOk
:
false
,
var
index
=
this
.
nodeList
.
findIndex
(
modalCheckNo
:
false
,
item
=>
item
.
value
==
this
.
currentNodeID
detailId
:
null
,
);
statuTitle
:
""
,
if
(
index
>
0
)
{
footerStatu
:
null
,
//是否显示footer
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
;
getDetailResults
:
[],
//getdetail返回数据
}
else
{
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
;
getDetailProcess
:
[],
//getdetail返回process信息
}
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[{
required
:
true
,
message
:
"请选择驳回节点"
,
type
:
"number"
,
trigger
:
"change"
}],
comment
:
[{
required
:
true
,
message
:
"请输入原因"
,
trigger
:
"blur"
}]
}
};
},
},
changeToNode
(
val
)
{
props
:
{},
if
(
val
==
"1"
)
{
async
fetch
(
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
;
store
,
}
else
{
params
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
;
})
{
}
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
},
//审批通过
created
()
{
checkOk
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
;
// alert(this.passId)
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
"id"
);
let
param
=
{
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
"statu"
);
id
:
this
.
passId
,
this
.
getDetailInfos
(
this
.
detailId
);
comment
:
""
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
};
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"审批通过成功"
);
this
.
modalCheckNo
=
false
;
}
else
{
this
.
$Message
.
error
(
"审批通过失败"
);
this
.
modalCheckNo
=
true
;
}
});
},
},
//审批驳回
methods
:
{
checkNo
()
{
nextCheckOk
()
{
// alert(this.passId)
if
(
this
.
formMyCheck
.
radioSp
==
"通过"
)
{
let
param
=
{
this
.
statuTitle
=
"通过"
;
id
:
this
.
passId
,
this
.
modalCheckNo
=
true
;
comment
:
this
.
formMyCheck
.
comment
,
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"驳回"
)
{
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
this
.
$refs
[
"formValidate"
].
validate
(
valid
=>
{
};
if
(
valid
)
{
// alert(JSON.stringify(param))
this
.
modalCheckNo
=
true
;
Api
.
reject
(
param
).
then
(
r
=>
{
this
.
statuTitle
=
"驳回"
;
if
(
r
.
success
)
{
}
else
{}
this
.
$Message
.
success
(
"驳回审批成功"
);
});
this
.
modalCheckNo
=
false
;
}
else
{
}
else
{
this
.
$refs
[
"formValidate"
].
validate
(
valid
=>
{
this
.
$Message
.
error
(
"加载失败"
);
if
(
valid
)
{
this
.
modalCheckNo
=
true
;
this
.
modalCheckNo
=
true
;
this
.
statuTitle
=
"终止"
;
}
else
{}
});
}
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[];
let
param
=
{
Id
:
idVal
};
Api
.
getdetail
(
param
).
then
(
r
=>
{
this
.
testObj
=
r
;
if
(
r
.
success
)
{
this
.
currentNodeID
=
r
.
result
.
currentNodeId
;
this
.
passId
=
r
.
result
.
currentRecordId
;
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
;
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
);
}
else
{
this
.
$Message
.
error
(
"加载失败"
);
}
});
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[];
nodes
.
forEach
(
data
=>
{
let
nodeObj
=
{};
nodeObj
.
value
=
data
.
id
;
nodeObj
.
label
=
data
.
name
;
nodeObj
.
statu
=
1
;
this
.
nodeList
.
push
(
nodeObj
);
});
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
;
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
item
=>
item
.
value
==
this
.
currentNodeID
);
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
;
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
;
}
},
changeToNode
(
val
)
{
if
(
val
==
"1"
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
;
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
;
}
},
//审批通过
checkOk
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
""
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
};
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"审批通过成功"
);
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
);
this
.
modalCheckNo
=
false
;
}
else
{
this
.
$Message
.
error
(
"审批通过失败"
);
this
.
modalCheckNo
=
true
;
}
});
},
//审批驳回
checkNo
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
};
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"驳回审批成功"
);
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
);
this
.
modalCheckNo
=
false
;
}
else
{
this
.
$Message
.
error
(
"加载失败"
);
this
.
modalCheckNo
=
true
;
}
});
},
//审批终止
checkCancel
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
};
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"终止审批成功"
);
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
);
this
.
modalCheckNo
=
false
;
}
else
{
this
.
$Message
.
error
(
"加载失败"
);
this
.
modalCheckNo
=
true
;
}
});
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
"驳回"
)
{
this
.
checkNo
();
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"终止"
)
{
this
.
checkCancel
();
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"通过"
)
{
this
.
checkOk
();
}
this
.
footerStatu
=
3
;
},
l
(
key
)
{
key
=
"OrderDataReview"
+
"."
+
key
;
return
this
.
$t
(
key
);
}
}
});
},
//审批终止
checkCancel
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
};
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"终止审批成功"
);
this
.
modalCheckNo
=
false
;
}
else
{
this
.
$Message
.
error
(
"加载失败"
);
this
.
modalCheckNo
=
true
;
}
});
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
"驳回"
)
{
this
.
checkNo
();
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"终止"
)
{
this
.
checkCancel
();
}
else
if
(
this
.
formMyCheck
.
radioSp
==
"通过"
)
{
this
.
checkOk
();
}
this
.
footerStatu
=
3
;
},
},
l
(
key
)
{
watch
:
{}
key
=
"OrderDataReview"
+
"."
+
key
;
return
this
.
$t
(
key
);
}
},
watch
:
{}
};
};
</
script
>
</
script
>
pages/handle/examine2/index.vue
View file @
92e1727d
...
@@ -193,6 +193,7 @@ export default {
...
@@ -193,6 +193,7 @@ export default {
Api
.
pass
(
param
).
then
((
r
)
=>
{
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
this
.
footerStatu
=
3
}
else
{
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
this
.
$Message
.
error
(
'审批通过失败'
)
...
@@ -212,6 +213,7 @@ export default {
...
@@ -212,6 +213,7 @@ export default {
Api
.
reject
(
param
).
then
((
r
)
=>
{
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
this
.
footerStatu
=
3
}
else
{
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
$Message
.
error
(
'加载失败'
)
...
@@ -230,6 +232,7 @@ export default {
...
@@ -230,6 +232,7 @@ export default {
Api
.
terminate
(
param
).
then
((
r
)
=>
{
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
this
.
footerStatu
=
3
}
else
{
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
$Message
.
error
(
'加载失败'
)
...
...
pages/handle/examine3/index.vue
View file @
92e1727d
<
template
>
<
template
>
<div
style=
"padding:30px 0"
>
<div
style=
"padding:30px 0"
>
<Detail
:idVal=
"detailId"
/>
<Detail
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
/>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<Form
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
:model=
"formMyCheck"
<Row>
:label-width=
"100"
<Col
span=
"18"
>
:rules=
"ruleValidate"
<FormItem
label=
"审批意见:"
>
inline
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
ref=
"formValidate"
<Radio
label=
"通过"
></Radio>
>
<Radio
label=
"驳回"
></Radio>
<Row>
<Radio
label=
"终止"
></Radio>
<Col
span=
"18"
>
</RadioGroup>
<FormItem
label=
"审批意见:"
>
</FormItem>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<Radio
label=
"通过"
></Radio>
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
<Radio
label=
"驳回"
></Radio>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
<Radio
label=
"终止"
></Radio>
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</RadioGroup>
</Select>
</FormItem>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<FormItem
<Radio
label=
"1"
>
上一节点
</Radio>
label=
"驳回节点:"
<Radio
label=
"2"
>
第一节点
</Radio>
v-if=
"formMyCheck.radioSp === '驳回'"
</RadioGroup>
prop=
"rejectToNodeId"
</FormItem>
>
<FormItem
label=
"原因:"
v-if=
"
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</Select>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<Radio
label=
"1"
>
上一节点
</Radio>
<Radio
label=
"2"
>
第一节点
</Radio>
</RadioGroup>
</FormItem>
<FormItem
label=
"原因:"
v-if=
"
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
"
"
prop=
"comment"
>
prop=
"comment"
<Input
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请输入原因"
/>
>
</FormItem>
<Input
</Col>
v-model=
"formMyCheck.comment"
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
style=
"width:400px;margin-left:10px"
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
placeholder=
"请输入原因"
</Col>
/>
</Row>
</FormItem>
</Form>
</Col>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
</Col>
</Row>
</Form>
</div>
</div>
<Modal
<Modal
v-model=
"modalCheckNo"
title=
"订单审批"
width=
"800"
:scrollable=
"true"
>
v-model=
"modalCheckNo"
<br
/>
title=
"订单审批"
<h4>
width=
"800"
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此工艺规程审批?
:scrollable=
"true"
</h4>
>
<br
/>
<br
/>
<div
slot=
"footer"
>
<h4>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此工艺规程审批?
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</h4>
</div>
<br
/>
<div
slot=
"footer"
>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
'../api'
import
Api
from
'../api'
import
Detail
from
'./detail'
import
Detail
from
'./detail'
import
Process
from
'../process'
import
Process
from
'../process'
export
default
{
export
default
{
layout
:
'empty'
,
layout
:
'empty'
,
name
:
'Index'
,
name
:
'Index'
,
components
:
{
components
:
{
Detail
,
Detail
,
Process
Process
},
data
()
{
return
{
currentUserId
:
0
,
formMyCheck
:
{
radioSp
:
'通过'
,
comment
:
''
,
workHours
:
0
,
//工时
printPeriod
:
0
,
//打印周期
equipment
:
''
,
//设备
materialWeight
:
0
,
//材料重量
rejectToNodeId
:
null
},
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
ruleValidate
:
{
rejectToNodeId
:
[
{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}
],
comment
:
[
{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}
]
}
}
},
props
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
this
.
getDetailInfos
(
this
.
detailId
)
},
methods
:
{
nextCheckOk
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'通过'
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
else
{
}
})
}
else
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{
}
})
}
},
},
getDetailInfos
(
idVal
)
{
data
()
{
this
.
getDetailRecords
=
[]
return
{
let
param
=
{
currentUserId
:
0
,
Id
:
idVal
formMyCheck
:
{
}
radioSp
:
'通过'
,
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
comment
:
''
,
if
(
r
.
success
)
{
workHours
:
0
,
//工时
this
.
currentNodeID
=
r
.
result
.
currentNodeId
printPeriod
:
0
,
//打印周期
this
.
passId
=
r
.
result
.
currentRecordId
equipment
:
''
,
//设备
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
materialWeight
:
0
,
//材料重量
this
.
getNodes
(
r
.
result
.
nodes
)
rejectToNodeId
:
null
}
else
{
},
this
.
$Message
.
error
(
'加载失败'
)
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
ruleValidate
:
{
rejectToNodeId
:
[{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}],
comment
:
[{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}]
}
}
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
},
changeToNode
(
val
)
{
props
:
{},
if
(
val
==
'1'
)
{
async
fetch
(
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
store
,
}
else
{
params
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
})
{
}
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
},
//审批通过
created
()
{
checkOk
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
let
param
=
{
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
id
:
this
.
passId
,
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
comment
:
this
.
formMyCheck
.
comment
,
this
.
getDetailInfos
(
this
.
detailId
)
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckNo
=
false
},
},
//审批驳回
methods
:
{
checkNo
()
{
nextCheckOk
()
{
let
param
=
{
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
id
:
this
.
passId
,
this
.
modalCheckNo
=
true
comment
:
this
.
formMyCheck
.
comment
,
this
.
statuTitle
=
'通过'
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
}
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
// alert(JSON.stringify(param))
if
(
valid
)
{
Api
.
reject
(
param
).
then
((
r
)
=>
{
this
.
modalCheckNo
=
true
if
(
r
.
success
)
{
this
.
statuTitle
=
'驳回'
this
.
$Message
.
success
(
'驳回审批成功'
)
}
else
{}
this
.
footerStatu
=
3
})
}
else
{
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
}
if
(
valid
)
{
this
.
modalCheckNo
=
false
this
.
modalCheckNo
=
true
})
this
.
statuTitle
=
'终止'
},
}
else
{}
//审批终止
})
checkCancel
()
{
}
let
param
=
{
},
id
:
this
.
passId
,
getDetailInfos
(
idVal
)
{
comment
:
this
.
formMyCheck
.
comment
this
.
getDetailRecords
=
[]
}
let
param
=
{
//alert(JSON.stringify(param))
Id
:
idVal
Api
.
terminate
(
param
).
then
((
r
)
=>
{
}
if
(
r
.
success
)
{
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
this
.
$Message
.
success
(
'终止审批成功'
)
if
(
r
.
success
)
{
this
.
footerStatu
=
3
this
.
currentNodeID
=
r
.
result
.
currentNodeId
}
else
{
this
.
passId
=
r
.
result
.
currentRecordId
this
.
$Message
.
error
(
'加载失败'
)
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
//审批通过
checkOk
()
{
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckNo
=
false
},
//审批驳回
checkNo
()
{
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//审批终止
checkCancel
()
{
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
}
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
},
l
(
key
)
{
key
=
'MaterialPlacode'
+
'.'
+
key
return
this
.
$t
(
key
)
}
}
this
.
modalCheckNo
=
false
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
},
},
l
(
key
)
{
watch
:
{}
key
=
'MaterialPlacode'
+
'.'
+
key
return
this
.
$t
(
key
)
}
},
watch
:
{}
}
}
</
script
>
</
script
>
pages/handle/examine4/index.vue
View file @
92e1727d
<
template
>
<
template
>
<div
style=
"padding:30px 0"
>
<div
style=
"padding:30px 0"
>
<Detail
:idVal=
"detailId"
/>
<Detail
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
>
<Row>
<Row>
<Col
span=
"18"
>
<Col
span=
"18"
>
<FormItem
label=
"审批意见:"
style=
"width:100%;text-align:left;"
>
<FormItem
label=
"审批意见:"
style=
"width:100%;text-align:left;"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"驳回"
></Radio>
<!--
<Radio
label=
"终止"
></Radio>
-->
<!--
<Radio
label=
"终止"
></Radio>
-->
</RadioGroup>
</RadioGroup>
<Select
<Select
v-if=
"formMyCheck.radioSp === '驳回'"
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
v-if=
"formMyCheck.radioSp === '驳回'"
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
style=
"width:200px"
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
clearable
</Select>
transfer
<RadioGroup
v-if=
"formMyCheck.radioSp === '驳回'"
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
placeholder=
"请选择驳回节点"
<Radio
label=
"1"
>
上一节点
</Radio>
v-model=
"formMyCheck.rejectToNodeId"
<Radio
label=
"2"
>
第一节点
</Radio>
>
</RadioGroup>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
<Input
v-if=
"formMyCheck.radioSp === '驳回'"
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请填写原因"
/>
<Option
</FormItem>
v-for=
"(item, index) in nodeList"
</Col>
:value=
"item.value"
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
:label=
"item.label"
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
确定
</Button>
:key=
"index"
</Col>
:disabled=
"item.statu > 0 ? false : true"
</Row>
></Option>
</Form>
</Select>
<RadioGroup
v-if=
"formMyCheck.radioSp === '驳回'"
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<Radio
label=
"1"
>
上一节点
</Radio>
<Radio
label=
"2"
>
第一节点
</Radio>
</RadioGroup>
<Input
v-if=
"formMyCheck.radioSp === '驳回'"
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请填写原因"
/>
</FormItem>
</Col>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
确定
</Button>
</Col>
</Row>
</Form>
</div>
</div>
<Modal
<Modal
v-model=
"modalCheckNo"
title=
"材料消耗单审批"
width=
"800"
:scrollable=
"true"
>
v-model=
"modalCheckNo"
<br
/>
title=
"材料消耗单审批"
<h4>
width=
"800"
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此材料消耗单审批?
:scrollable=
"true"
</h4>
>
<br
/>
<br
/>
<div
slot=
"footer"
>
<h4>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此材料消耗单审批?
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</h4>
</div>
<br
/>
<div
slot=
"footer"
>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
'../api'
import
Api
from
'../api'
import
Detail
from
'./detail'
import
Detail
from
'./detail'
import
Process
from
'../process'
import
Process
from
'../process'
export
default
{
export
default
{
layout
:
'empty'
,
layout
:
'empty'
,
name
:
'Index'
,
name
:
'Index'
,
components
:
{
components
:
{
Detail
,
Detail
,
Process
Process
},
data
()
{
return
{
currentUserId
:
0
,
formMyCheck
:
{
radioSp
:
'通过'
,
comment
:
''
,
workHours
:
0
,
//工时
printPeriod
:
0
,
//打印周期
equipment
:
''
,
//设备
materialWeight
:
0
,
//材料重量
rejectToNodeId
:
null
},
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:{}
}
},
props
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
this
.
getDetailInfos
(
this
.
detailId
)
},
methods
:
{
nextCheckOk
()
{
let
rejectToNode
=
this
.
formMyCheck
.
rejectToNodeId
let
commasge
=
this
.
formMyCheck
.
comment
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
if
(
rejectToNode
==
null
){
this
.
$Message
.
error
(
'请选择驳回节点'
)
return
}
if
(
commasge
==
''
){
this
.
$Message
.
error
(
'请填写驳回原因'
)
return
}
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
// else {
// if(commasge==''){
// this.$Message.error('请填写终止原因')
// return
// }
// this.modalCheckNo = true
// this.statuTitle = '终止'
// }
},
},
getDetailInfos
(
idVal
)
{
data
()
{
this
.
getDetailRecords
=
[]
return
{
let
param
=
{
currentUserId
:
0
,
Id
:
idVal
formMyCheck
:
{
}
radioSp
:
'通过'
,
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
comment
:
''
,
this
.
testObj
=
r
workHours
:
0
,
//工时
if
(
r
.
success
)
{
printPeriod
:
0
,
//打印周期
this
.
currentNodeID
=
r
.
result
.
currentNodeId
equipment
:
''
,
//设备
this
.
passId
=
r
.
result
.
currentRecordId
materialWeight
:
0
,
//材料重量
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
rejectToNodeId
:
null
this
.
getNodes
(
r
.
result
.
nodes
)
},
}
else
{
modalCheckNo
:
false
,
this
.
$Message
.
error
(
'加载失败'
)
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{}
}
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
},
changeToNode
(
val
)
{
props
:
{},
if
(
val
==
'1'
)
{
async
fetch
(
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
store
,
}
else
{
params
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
})
{
}
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
},
//审批通过
created
()
{
checkOk
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
let
param
=
{
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
id
:
this
.
passId
,
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
comment
:
''
,
this
.
getDetailInfos
(
this
.
detailId
)
nextOperationIdList
:
[],
data
:
{}
}
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckOk
=
false
},
//审批驳回
checkNo
()
{
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
},
//审批终止
methods
:
{
checkCancel
()
{
nextCheckOk
()
{
let
param
=
{
let
rejectToNode
=
this
.
formMyCheck
.
rejectToNodeId
id
:
this
.
passId
,
let
commasge
=
this
.
formMyCheck
.
comment
comment
:
this
.
formMyCheck
.
comment
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
}
this
.
checkOk
()
Api
.
terminate
(
param
).
then
((
r
)
=>
{
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
if
(
r
.
success
)
{
if
(
rejectToNode
==
null
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
$Message
.
error
(
'请选择驳回节点'
)
this
.
footerStatu
=
3
return
}
else
{
}
this
.
$Message
.
error
(
'加载失败'
)
if
(
commasge
==
''
)
{
this
.
$Message
.
error
(
'请填写驳回原因'
)
return
}
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
// else {
// if(commasge==''){
// this.$Message.error('请填写终止原因')
// return
// }
// this.modalCheckNo = true
// this.statuTitle = '终止'
// }
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[]
let
param
=
{
Id
:
idVal
}
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
this
.
testObj
=
r
if
(
r
.
success
)
{
this
.
currentNodeID
=
r
.
result
.
currentNodeId
this
.
passId
=
r
.
result
.
currentRecordId
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
//审批通过
checkOk
()
{
let
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
[],
data
:
{}
}
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckOk
=
false
},
//审批驳回
checkNo
()
{
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//审批终止
checkCancel
()
{
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
}
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//终止或驳回
checkFalse
()
{
// if (this.formMyCheck.radioSp == '驳回') {
this
.
checkNo
()
// }
// else if (this.formMyCheck.radioSp == '终止') {
// this.checkCancel()
// }
this
.
footerStatu
=
3
},
l
(
key
)
{
key
=
'MaterialPlacode'
+
'.'
+
key
return
this
.
$t
(
key
)
}
}
this
.
modalCheckNo
=
false
})
},
//终止或驳回
checkFalse
()
{
// if (this.formMyCheck.radioSp == '驳回') {
this
.
checkNo
()
// }
// else if (this.formMyCheck.radioSp == '终止') {
// this.checkCancel()
// }
this
.
footerStatu
=
3
},
},
l
(
key
)
{
watch
:
{}
key
=
'MaterialPlacode'
+
'.'
+
key
return
this
.
$t
(
key
)
}
},
watch
:
{}
}
}
</
script
>
</
script
>
pages/handle/examine6/index.vue
View file @
92e1727d
<
template
>
<
template
>
<div
style=
"padding:30px 0"
>
<div
style=
"padding:30px 0"
>
<Detail
:idVal=
"detailId"
/>
<Detail
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<Form
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
:model=
"formMyCheck"
<Row>
:label-width=
"100"
<Col
span=
"18"
>
:rules=
"ruleValidate"
<FormItem
label=
"审批意见:"
>
inline
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
ref=
"formValidate"
<Radio
label=
"通过"
></Radio>
>
<Radio
label=
"驳回"
></Radio>
<Row>
<Radio
label=
"终止"
></Radio>
<Col
span=
"18"
>
</RadioGroup>
<FormItem
label=
"审批意见:"
>
</FormItem>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<Radio
label=
"通过"
></Radio>
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
<Radio
label=
"驳回"
></Radio>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
<Radio
label=
"终止"
></Radio>
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</RadioGroup>
</Select>
</FormItem>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<FormItem
<Radio
label=
"1"
>
上一节点
</Radio>
label=
"驳回节点:"
<Radio
label=
"2"
>
第一节点
</Radio>
v-if=
"formMyCheck.radioSp === '驳回'"
</RadioGroup>
prop=
"rejectToNodeId"
</FormItem>
>
<FormItem
label=
"原因:"
v-if=
"
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</Select>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<Radio
label=
"1"
>
上一节点
</Radio>
<Radio
label=
"2"
>
第一节点
</Radio>
</RadioGroup>
</FormItem>
<FormItem
label=
"原因:"
v-if=
"
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
"
"
prop=
"comment"
>
prop=
"comment"
<Input
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请输入原因"
/>
>
</FormItem>
<Input
</Col>
v-model=
"formMyCheck.comment"
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
style=
"width:400px;margin-left:10px"
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
placeholder=
"请输入原因"
</Col>
/>
</Row>
</FormItem>
</Form>
</Col>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
</Col>
</Row>
</Form>
</div>
</div>
<!-- 订单审里通过form -->
<!-- 订单审里通过form -->
<!--
<Modal
v-model=
"modalCheckOk"
title=
"订单审里"
width=
"800"
:scrollable=
"true"
>
<!--
<Modal
v-model=
"modalCheckOk"
title=
"订单审里"
width=
"800"
:scrollable=
"true"
>
...
@@ -104,234 +74,235 @@
...
@@ -104,234 +74,235 @@
</div>
</div>
</Modal>
-->
</Modal>
-->
<Modal
v-model=
"modalCheckNo"
title=
"订单审批"
width=
"800"
:scrollable=
"true"
>
<Modal
v-model=
"modalCheckNo"
title=
"订单审批"
width=
"800"
:scrollable=
"true"
>
<br
/>
<br
/>
<h4>
<h4>
您确定
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此订单审批?
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此订单审批?
</h4>
</h4>
<br
/>
<br
/>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</div>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
'../api'
import
Api
from
'../api'
import
Detail
from
'./detail'
import
Detail
from
'./detail'
import
Process
from
'../process'
import
Process
from
'../process'
export
default
{
export
default
{
layout
:
'empty'
,
layout
:
'empty'
,
name
:
'Index'
,
name
:
'Index'
,
components
:
{
components
:
{
Detail
,
Detail
,
Process
Process
},
data
()
{
return
{
currentUserId
:
0
,
formMyCheck
:
{
radioSp
:
'通过'
,
comment
:
''
,
workHours
:
0
,
//工时
printPeriod
:
0
,
//打印周期
equipment
:
''
,
//设备
materialWeight
:
0
,
//材料重量
rejectToNodeId
:
null
},
modalCheckOk
:
false
,
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[
{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}
],
comment
:
[
{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}
]
}
}
},
props
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
console
.
log
(
this
.
detailId
)
console
.
log
(
this
.
footerStatu
)
this
.
getDetailInfos
(
this
.
detailId
)
},
methods
:
{
nextCheckOk
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'通过'
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
else
{
}
})
}
else
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{
}
})
}
},
},
getDetailInfos
(
idVal
)
{
data
()
{
this
.
getDetailRecords
=
[]
return
{
let
param
=
{
currentUserId
:
0
,
Id
:
idVal
formMyCheck
:
{
}
radioSp
:
'通过'
,
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
comment
:
''
,
this
.
testObj
=
r
workHours
:
0
,
//工时
if
(
r
.
success
)
{
printPeriod
:
0
,
//打印周期
this
.
currentNodeID
=
r
.
result
.
currentNodeId
equipment
:
''
,
//设备
this
.
passId
=
r
.
result
.
currentRecordId
materialWeight
:
0
,
//材料重量
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
rejectToNodeId
:
null
this
.
getNodes
(
r
.
result
.
nodes
)
},
}
else
{
modalCheckOk
:
false
,
this
.
$Message
.
error
(
'加载失败'
)
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}],
comment
:
[{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}]
}
}
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
},
//审批通过
props
:
{},
checkOk
()
{
async
fetch
({
// alert(this.passId)
store
,
let
param
=
{
params
id
:
this
.
passId
,
})
{
comment
:
''
,
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
nextOperationIdList
:
this
.
nextNodeUserIdList
,
//this.nextNodeUserIdList
data
:
{}
}
console
.
log
(
param
)
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
footerStatu
=
3
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckNo
=
false
},
},
//审批驳回
created
()
{
checkNo
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
// alert(this.passId)
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
let
param
=
{
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
id
:
this
.
passId
,
console
.
log
(
this
.
detailId
)
comment
:
this
.
formMyCheck
.
comment
,
console
.
log
(
this
.
footerStatu
)
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
this
.
getDetailInfos
(
this
.
detailId
)
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
},
//审批终止
methods
:
{
checkCancel
()
{
nextCheckOk
()
{
// alert(this.passId)
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
let
param
=
{
this
.
modalCheckNo
=
true
id
:
this
.
passId
,
this
.
statuTitle
=
'通过'
comment
:
this
.
formMyCheck
.
comment
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
}
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
//alert(JSON.stringify(param))
if
(
valid
)
{
Api
.
terminate
(
param
).
then
((
r
)
=>
{
this
.
modalCheckNo
=
true
if
(
r
.
success
)
{
this
.
statuTitle
=
'驳回'
this
.
$Message
.
success
(
'终止审批成功'
)
}
else
{}
this
.
footerStatu
=
3
})
}
else
{
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{}
})
}
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[]
let
param
=
{
Id
:
idVal
}
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
this
.
testObj
=
r
if
(
r
.
success
)
{
this
.
currentNodeID
=
r
.
result
.
currentNodeId
this
.
passId
=
r
.
result
.
currentRecordId
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
//审批通过
checkOk
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
//this.nextNodeUserIdList
data
:
{}
}
console
.
log
(
param
)
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckNo
=
false
},
//审批驳回
checkNo
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//审批终止
checkCancel
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
}
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
l
(
key
)
{
key
=
'MaterialPlacode'
+
'.'
+
key
return
this
.
$t
(
key
)
}
}
this
.
modalCheckNo
=
false
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
},
l
(
key
)
{
watch
:
{}
key
=
'MaterialPlacode'
+
'.'
+
key
return
this
.
$t
(
key
)
}
},
watch
:
{}
}
}
</
script
>
</
script
>
pages/handle/examine7/index.vue
View file @
92e1727d
<
template
>
<
template
>
<div
style=
"padding:30px 0"
>
<div
style=
"padding:30px 0"
>
<Detail
:idVal=
"detailId"
/>
<Detail
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
@
node-click=
"show"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
@
node-click=
"show"
/>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
>
<Form
:model=
"formMyCheck"
:label-width=
"150"
>
<Form
:model=
"formMyCheck"
:label-width=
"150"
>
<Row>
<Row>
<Col
span=
"18"
>
<Col
span=
"18"
>
<FormItem
label=
"审批意见:"
style=
"width:100%;text-align:left;"
>
<FormItem
label=
"审批意见:"
style=
"width:100%;text-align:left;"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"驳回"
></Radio>
<!--
<Radio
label=
"终止"
></Radio>
-->
<!--
<Radio
label=
"终止"
></Radio>
-->
</RadioGroup>
</RadioGroup>
<Select
<Select
v-if=
"formMyCheck.radioSp === '驳回'"
style=
"width:200px"
clearable
ransfer
placeholder=
"请选择驳回节点"
class=
"selectBox"
v-model=
"formMyCheck.rejectToNodeId"
>
v-if=
"formMyCheck.radioSp === '驳回'"
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
style=
"width:200px"
clearable
ransfer
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
placeholder=
"请选择驳回节点"
class=
"selectBox"
</Select>
v-model=
"formMyCheck.rejectToNodeId"
>
<RadioGroup
v-if=
"formMyCheck.radioSp === '驳回'"
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
<Radio
label=
"1"
>
上一节点
</Radio>
<Option
<Radio
label=
"2"
>
第一节点
</Radio>
v-for=
"(item, index) in nodeList"
</RadioGroup>
:value=
"item.value"
<Input
v-if=
"formMyCheck.radioSp === '驳回' ||
:label=
"item.label"
formMyCheck.radioSp === '终止'"
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请如如驳回原因"
/>
:key=
"index"
</FormItem>
:disabled=
"item.statu > 0 ? false : true"
</Col>
></Option>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
</Select>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
<RadioGroup
</Col>
v-if=
"formMyCheck.radioSp === '驳回'"
</Row>
type=
"button"
</Form>
size=
"small"
@
on-change=
"changeToNode"
>
<Radio
label=
"1"
>
上一节点
</Radio>
<Radio
label=
"2"
>
第一节点
</Radio>
</RadioGroup>
<Input
v-if=
"formMyCheck.radioSp === '驳回' ||
formMyCheck.radioSp === '终止'"
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请如如驳回原因"
/>
</FormItem>
</Col>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
</Col>
</Row>
</Form>
</div>
</div>
<!-- 不合格品通过form -->
<!-- 不合格品通过form -->
<Modal
<Modal
v-model=
"modalCheckOk"
title=
"不合格品审理"
width=
"800"
:mask-closable=
"false"
:scrollable=
"true"
>
v-model=
"modalCheckOk"
<div
v-if=
"showSize==2"
>
title=
"不合格品审理"
<Form
:model=
"formMyCheck"
ref=
"formMyCheck"
:rules=
"ruleValidate"
:label-width=
"150"
>
width=
"800"
:mask-closable=
"false"
<Row>
:scrollable=
"true"
>
<Col
span=
"24"
>
<div
v-if=
"showSize==2"
>
<FormItem
label=
"问题产生原因分析:"
prop=
"causeAnalysis"
style=
"width:100%"
>
<Form
:model=
"formMyCheck"
ref=
"formMyCheck"
:rules=
"ruleValidate"
:label-width=
"150"
>
<Input
type=
"textarea"
:autosize=
"
{minRows: 1,maxRows: 5}" v-model="formMyCheck.causeAnalysis" :disabled="disabledFlag" style="width: 600px" />
<Row>
</FormItem>
<Col
span=
"24"
>
</Col>
<FormItem
label=
"问题产生原因分析:"
prop=
"causeAnalysis"
style=
"width:100%"
>
<Col
span=
"24"
>
<Input
type=
"textarea"
:autosize=
"
{minRows: 1,maxRows: 5}" v-model="formMyCheck.causeAnalysis"
<FormItem
label=
"审理结论:"
prop=
"conclusion"
style=
"width:100%"
>
:disabled="disabledFlag" style="width: 600px"/>
<CheckboxGroup
v-model=
"formMyCheck.conclusion"
>
</FormItem>
<Checkbox
label=
"返工"
value=
'1'
:disabled=
"disabledFlag"
></Checkbox>
</Col>
<Checkbox
label=
"返修"
value=
'2'
:disabled=
"disabledFlag"
></Checkbox>
<Col
span=
"24"
>
<Checkbox
label=
"降级使用"
value=
'3'
:disabled=
"disabledFlag"
></Checkbox>
<FormItem
label=
"审理结论:"
prop=
"conclusion"
style=
"width:100%"
>
<Checkbox
label=
"让步"
value=
'4'
:disabled=
"disabledFlag"
></Checkbox>
<CheckboxGroup
v-model=
"formMyCheck.conclusion"
>
<Checkbox
label=
"报废"
value=
'5'
:disabled=
"disabledFlag"
></Checkbox>
<Checkbox
label=
"返工"
value=
'1'
:disabled=
"disabledFlag"
></Checkbox>
<Checkbox
label=
"通知顾客"
value=
'6'
:disabled=
"disabledFlag"
></Checkbox>
<Checkbox
label=
"返修"
value=
'2'
:disabled=
"disabledFlag"
></Checkbox>
</CheckboxGroup>
<Checkbox
label=
"降级使用"
value=
'3'
:disabled=
"disabledFlag"
></Checkbox>
</FormItem>
<Checkbox
label=
"让步"
value=
'4'
:disabled=
"disabledFlag"
></Checkbox>
</Col>
<Checkbox
label=
"报废"
value=
'5'
:disabled=
"disabledFlag"
></Checkbox>
</Row>
<Checkbox
label=
"通知顾客"
value=
'6'
:disabled=
"disabledFlag"
></Checkbox>
<Row>
</CheckboxGroup>
<Col
span=
"24"
>
</FormItem>
<FormItem
label=
"纠正措施:"
prop=
"measures"
style=
"width:100%"
>
</Col>
<Input
type=
"textarea"
:autosize=
"
{minRows: 1,maxRows: 5}" v-model="formMyCheck.measures" :disabled="disabledFlag" style="width: 600px" />
</Row>
</FormItem>
<Row>
</Col>
<Col
span=
"24"
>
<Col
span=
"24"
>
<FormItem
label=
"纠正措施:"
prop=
"measures"
style=
"width:100%"
>
<FormItem
label=
"审理级别:"
prop=
"triaLevel"
style=
"width:100%"
>
<Input
type=
"textarea"
:autosize=
"
{minRows: 1,maxRows: 5}" v-model="formMyCheck.measures"
<CheckboxGroup
v-model=
"formMyCheck.triaLevel"
>
:disabled="disabledFlag" style="width: 600px"/>
<Checkbox
label=
"一级审理"
value=
'1'
:disabled=
"disabledFlag"
></Checkbox>
</FormItem>
<Checkbox
label=
"二级审理"
value=
'2'
:disabled=
"disabledFlag"
></Checkbox>
</Col>
<Checkbox
label=
"三级审理"
value=
'3'
:disabled=
"disabledFlag"
></Checkbox>
<Col
span=
"24"
>
</CheckboxGroup>
<FormItem
label=
"审理级别:"
prop=
"triaLevel"
style=
"width:100%"
>
</FormItem>
<CheckboxGroup
v-model=
"formMyCheck.triaLevel"
>
</Col>
<Checkbox
label=
"一级审理"
value=
'1'
:disabled=
"disabledFlag"
></Checkbox>
</Row>
<Checkbox
label=
"二级审理"
value=
'2'
:disabled=
"disabledFlag"
></Checkbox>
</Form>
<Checkbox
label=
"三级审理"
value=
'3'
:disabled=
"disabledFlag"
></Checkbox>
</div>
</CheckboxGroup>
<div
v-if=
"showSize==4"
>
</FormItem>
<Form
:model=
"formResultText"
ref=
"formResultText"
:rules=
"ruleValidate"
:label-width=
"150"
>
</Col>
<Row>
</Row>
<Col
span=
"24"
>
</Form>
<FormItem
label=
"落实情况验证结果:"
prop=
"resultText"
style=
"width:100%"
>
</div>
<Input
type=
"textarea"
:autosize=
"
{minRows:3,maxRows: 7}" v-model="formResultText.resultText" :disabled="disabledFlag" style="width: 600px" />
<div
v-if=
"showSize==4"
>
</FormItem>
<Form
:model=
"formResultText"
ref=
"formResultText"
:rules=
"ruleValidate"
:label-width=
"150"
>
</Col>
<Row>
</Row>
<Col
span=
"24"
>
</Form>
<FormItem
label=
"落实情况验证结果:"
prop=
"resultText"
style=
"width:100%"
>
</div>
<Input
type=
"textarea"
:autosize=
"
{minRows:3,maxRows: 7}" v-model="formResultText.resultText"
<div
slot=
"footer"
>
:disabled="disabledFlag" style="width: 600px"/>
<Button
@
click=
"cancelFn"
>
取消
</Button>
</FormItem>
<Button
type=
"primary"
@
click=
"checkOk()"
v-show=
"footerStatue"
>
确定
</Button>
</Col>
</div>
</Row>
</Form>
</div>
<div
slot=
"footer"
>
<Button
@
click=
"cancelFn"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkOk()"
v-show=
"footerStatue"
>
确定
</Button>
</div>
</Modal>
</Modal>
<Modal
<Modal
v-model=
"ResultModal"
title=
"测试步骤"
width=
"800"
:scrollable=
"true"
>
v-model=
"ResultModal"
<div>
title=
"测试步骤"
{{
'第'
+
this
.
showSize
+
'布'
}}
width=
"800"
:scrollable=
"true"
>
{{
'id'
+
this
.
typeId
}}
<div>
</div>
{{
'第'
+
this
.
showSize
+
'布'
}}
<div
slot=
"footer"
>
{{
'id'
+
this
.
typeId
}}
<Button
@
click=
"cancelFn02"
>
取消
</Button>
</div>
<Button
type=
"primary"
@
click=
"checkOk6"
>
确定
</Button>
<div
slot=
"footer"
>
</div>
<Button
@
click=
"cancelFn02"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkOk6"
>
确定
</Button>
</div>
</Modal>
</Modal>
<Modal
<Modal
v-model=
"modalCheckNo"
title=
"不合格品审批"
width=
"800"
:scrollable=
"true"
>
v-model=
"modalCheckNo"
<br
/>
title=
"不合格品审批"
<h4>
width=
"800"
:scrollable=
"true"
>
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此不合格品审批?
<br/>
</h4>
<h4>
<br
/>
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此不合格品审批?
<div
slot=
"footer"
>
</h4>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<br
/>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
<div
slot=
"footer"
>
</div>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
'../api'
import
Api
from
'../api'
import
Detail
from
'./detail'
import
Detail
from
'./detail'
import
Process
from
'../process'
import
Process
from
'../process'
export
default
{
export
default
{
layout
:
'empty'
,
layout
:
'empty'
,
name
:
'Index'
,
name
:
'Index'
,
components
:
{
components
:
{
Detail
,
Detail
,
Process
Process
},
data
()
{
return
{
currentUserId
:
0
,
formMyCheck
:
{
radioSp
:
'通过'
,
comment
:
''
,
causeAnalysis
:
''
,
//问题产生原因分析
conclusion
:
[],
//审理结论
measures
:
''
,
//纠正措施
triaLevel
:
[],
//审理级别
rejectToNodeId
:
null
},
formResultText
:{
resultText
:
''
},
//落实情况
ResultModal
:
false
,
//落实情况
footerStatue
:
true
,
//详情隐藏确定
disabledFlag
:
false
,
//是否可用
stepeFlag
:
null
,
//审核flag
showSize
:
1
,
// 弹框默认展示内容
ruleValidate
:
{
causeAnalysis
:
[{
required
:
true
,
message
:
'请填写原因分析'
,
trigger
:
'blur'
}],
conclusion
:
[
{
required
:
true
,
type
:
'array'
,
min
:
1
,
message
:
'至少选择一个审理结论'
,
trigger
:
'change'
},
// { type: 'array', max: 2, message: '最多选两个审理结论', trigger: 'change' }
],
measures
:
[{
required
:
true
,
message
:
'请填写纠正措施'
,
trigger
:
'blur'
}],
resultText
:
[{
required
:
true
,
message
:
'请填写落实情况'
,
trigger
:
'blur'
}],
triaLevel
:
[{
required
:
true
,
type
:
'array'
,
min
:
1
,
message
:
'至少选择一个审理级别'
,
trigger
:
'change'
}],
},
modalCheckOk
:
false
,
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
typeId
:
null
,
//审批节点
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:{}
}
},
props
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
this
.
getDetailInfos
(
this
.
detailId
)
},
methods
:
{
nextCheckOk
()
{
let
rejectToNode
=
this
.
formMyCheck
.
rejectToNodeId
let
commasge
=
this
.
formMyCheck
.
comment
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
if
(
this
.
typeId
==
2
){
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'通过'
}
else
{
this
.
footerStatue
=
true
this
.
modalCheckOk
=
true
}
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
if
(
rejectToNode
==
null
){
this
.
$Message
.
error
(
'请选择驳回节点'
)
return
}
if
(
commasge
==
''
){
this
.
$Message
.
error
(
'请填写驳回原因'
)
return
}
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
else
{
this
.
$Message
.
error
(
'请选择审批意见'
)
// if(commasge==''){
// this.$Message.error('请填写终止原因')
// return
// }
// this.modalCheckNo = true
// this.statuTitle = '终止'
}
},
},
show
(
a
){
data
()
{
this
.
disabledFlag
=
true
return
{
let
contextDate
=
JSON
.
parse
(
a
.
contextData
)
currentUserId
:
0
,
console
.
log
(
a
)
formMyCheck
:
{
if
(
contextDate
.
measures
){
radioSp
:
'通过'
,
this
.
showSize
=
2
comment
:
''
,
this
.
stepeFlag
=
2
//第二步
causeAnalysis
:
''
,
//问题产生原因分析
this
.
formMyCheck
=
contextDate
conclusion
:
[],
//审理结论
}
else
if
(
contextDate
.
resultText
){
measures
:
''
,
//纠正措施
this
.
showSize
=
4
triaLevel
:
[],
//审理级别
this
.
stepeFlag
=
4
rejectToNodeId
:
null
this
.
formResultText
=
contextDate
},
}
formResultText
:
{
// else{
resultText
:
''
// alert('第三步')
},
//落实情况
// }
ResultModal
:
false
,
//落实情况
this
.
modalCheckOk
=
true
footerStatue
:
true
,
//详情隐藏确定
this
.
footerStatue
=
false
disabledFlag
:
false
,
//是否可用
},
stepeFlag
:
null
,
//审核flag
getDetailInfos
(
idVal
)
{
showSize
:
1
,
// 弹框默认展示内容
this
.
getDetailRecords
=
[]
ruleValidate
:
{
let
param
=
{
causeAnalysis
:
[{
Id
:
idVal
required
:
true
,
}
message
:
'请填写原因分析'
,
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
trigger
:
'blur'
if
(
r
.
success
)
{
}],
this
.
currentNodeID
=
r
.
result
.
currentNodeId
conclusion
:
[{
this
.
passId
=
r
.
result
.
currentRecordId
required
:
true
,
this
.
typeId
=
r
.
result
.
currentIndexId
type
:
'array'
,
this
.
showSize
=
this
.
typeId
+
1
min
:
1
,
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
message
:
'至少选择一个审理结论'
,
this
.
getNodes
(
r
.
result
.
nodes
)
trigger
:
'change'
}
else
{
},
this
.
$Message
.
error
(
'加载失败'
)
// { type: 'array', max: 2, message: '最多选两个审理结论', trigger: 'change' }
],
measures
:
[{
required
:
true
,
message
:
'请填写纠正措施'
,
trigger
:
'blur'
}],
resultText
:
[{
required
:
true
,
message
:
'请填写落实情况'
,
trigger
:
'blur'
}],
triaLevel
:
[{
required
:
true
,
type
:
'array'
,
min
:
1
,
message
:
'至少选择一个审理级别'
,
trigger
:
'change'
}],
},
modalCheckOk
:
false
,
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
typeId
:
null
,
//审批节点
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{}
}
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
cancelFn
(){
this
.
modalCheckOk
=
false
this
.
formMyCheck
.
radioSp
=
'通过'
this
.
disabledFlag
=
false
if
(
this
.
stepeFlag
=
2
){
this
.
showSize
=
4
}
},
},
cancelFn02
(){
props
:
{},
this
.
ResultModal
=
false
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
},
checkOk6
(){
created
()
{
this
.
ResultModal
=
false
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
this
.
getDetailInfos
(
this
.
detailId
)
},
},
//审批通过
methods
:
{
checkOk
()
{
nextCheckOk
()
{
if
(
this
.
typeId
==
1
){
let
rejectToNode
=
this
.
formMyCheck
.
rejectToNodeId
this
.
$refs
[
'formMyCheck'
].
validate
((
valid
)
=>
{
let
commasge
=
this
.
formMyCheck
.
comment
// console.log(valid)
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
if
(
valid
)
{
if
(
this
.
typeId
==
2
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'通过'
}
else
{
this
.
footerStatue
=
true
this
.
modalCheckOk
=
true
}
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
if
(
rejectToNode
==
null
)
{
this
.
$Message
.
error
(
'请选择驳回节点'
)
return
}
if
(
commasge
==
''
)
{
this
.
$Message
.
error
(
'请填写驳回原因'
)
return
}
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
else
{
this
.
$Message
.
error
(
'请选择审批意见'
)
// if(commasge==''){
// this.$Message.error('请填写终止原因')
// return
// }
// this.modalCheckNo = true
// this.statuTitle = '终止'
}
},
show
(
a
)
{
this
.
disabledFlag
=
true
let
contextDate
=
JSON
.
parse
(
a
.
contextData
)
console
.
log
(
a
)
if
(
contextDate
.
measures
)
{
this
.
showSize
=
2
this
.
stepeFlag
=
2
//第二步
this
.
formMyCheck
=
contextDate
}
else
if
(
contextDate
.
resultText
)
{
this
.
showSize
=
4
this
.
stepeFlag
=
4
this
.
formResultText
=
contextDate
}
// else{
// alert('第三步')
// }
this
.
modalCheckOk
=
true
this
.
footerStatue
=
false
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[]
let
param
=
{
let
param
=
{
id
:
this
.
passId
,
Id
:
idVal
comment
:
''
,
}
nextOperationIdList
:
this
.
nextNodeUserIdList
,
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
data
:
{
if
(
r
.
success
)
{
causeAnalysis
:
this
.
formMyCheck
.
causeAnalysis
,
this
.
currentNodeID
=
r
.
result
.
currentNodeId
conclusion
:
this
.
formMyCheck
.
conclusion
,
this
.
passId
=
r
.
result
.
currentRecordId
measures
:
this
.
formMyCheck
.
measures
,
this
.
typeId
=
r
.
result
.
currentIndexId
triaLevel
:
this
.
formMyCheck
.
triaLevel
this
.
showSize
=
this
.
typeId
+
1
}
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
}
Api
.
pass
(
param
).
then
((
r
)
=>
{
})
// console.log(param)
},
if
(
r
.
success
)
{
//获取流程节点
this
.
$Message
.
success
(
'审批通过成功'
)
getNodes
(
nodes
)
{
this
.
footerStatu
=
3
this
.
nodeList
=
[]
}
else
{
nodes
.
forEach
((
data
)
=>
{
this
.
$Message
.
error
(
'审批通过失败'
)
let
nodeObj
=
{}
}
nodeObj
.
value
=
data
.
id
})
nodeObj
.
label
=
data
.
name
this
.
modalCheckOk
=
false
nodeObj
.
statu
=
1
}
else
{
this
.
nodeList
.
push
(
nodeObj
)
console
.
log
(
"审核不通过"
)
})
}
//第一节点node的ID
})
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
}
else
if
(
this
.
typeId
==
3
){
//根据当前nodeid找到上一节点的nodeId
this
.
$refs
[
'formResultText'
].
validate
((
valid
)
=>
{
var
index
=
this
.
nodeList
.
findIndex
(
if
(
valid
){
(
item
)
=>
item
.
value
==
this
.
currentNodeID
let
param
=
{
)
id
:
this
.
passId
,
if
(
index
>
0
)
{
comment
:
''
,
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
nextOperationIdList
:
this
.
nextNodeUserIdList
,
}
else
{
data
:
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
resultText
:
this
.
formResultText
.
resultText
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
cancelFn
()
{
this
.
modalCheckOk
=
false
this
.
formMyCheck
.
radioSp
=
'通过'
this
.
disabledFlag
=
false
if
(
this
.
stepeFlag
=
2
)
{
this
.
showSize
=
4
}
},
cancelFn02
()
{
this
.
ResultModal
=
false
},
checkOk6
()
{
this
.
ResultModal
=
false
},
//审批通过
checkOk
()
{
if
(
this
.
typeId
==
1
)
{
this
.
$refs
[
'formMyCheck'
].
validate
((
valid
)
=>
{
// console.log(valid)
if
(
valid
)
{
let
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{
causeAnalysis
:
this
.
formMyCheck
.
causeAnalysis
,
conclusion
:
this
.
formMyCheck
.
conclusion
,
measures
:
this
.
formMyCheck
.
measures
,
triaLevel
:
this
.
formMyCheck
.
triaLevel
}
}
}
}
Api
.
pass
(
param
).
then
((
r
)
=>
{
Api
.
pass
(
param
).
then
((
r
)
=>
{
// console.log(param)
// console.log(param)
if
(
r
.
success
)
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckOk
=
false
}
else
{
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
console
.
log
(
"审核不通过"
)
}
})
}
else
if
(
this
.
typeId
==
3
)
{
this
.
$refs
[
'formResultText'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{
resultText
:
this
.
formResultText
.
resultText
}
}
Api
.
pass
(
param
).
then
((
r
)
=>
{
// console.log(param)
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckOk
=
false
}
}
})
})
this
.
modalCheckOk
=
false
}
},
//审批驳回
checkNo
()
{
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
}
this
.
modalCheckNo
=
false
})
})
}
},
//审批终止
},
checkCancel
()
{
//审批驳回
let
param
=
{
checkNo
()
{
id
:
this
.
passId
,
let
param
=
{
comment
:
this
.
formMyCheck
.
comment
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//审批终止
checkCancel
()
{
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
}
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
// 通过
passFn
(){
let
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
}
Api
.
pass
(
param
).
then
((
r
)
=>
{
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
footerStatu
=
3
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
}
else
{
this
.
footerStatu
=
3
this
.
$Message
.
error
(
'审批通过失败'
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
// 通过
passFn
()
{
let
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
}
this
.
modalCheckNo
=
false
Api
.
pass
(
param
).
then
((
r
)
=>
{
})
if
(
r
.
success
)
{
},
this
.
$Message
.
success
(
'审批通过成功'
)
//终止或驳回
this
.
footerStatu
=
3
checkFalse
()
{
}
else
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
$Message
.
error
(
'审批通过失败'
)
this
.
checkNo
()
}
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
){
this
.
modalCheckNo
=
false
this
.
passFn
()
})
}
},
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
//终止或驳回
this
.
checkCancel
()
checkFalse
()
{
}
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
footerStatu
=
3
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
passFn
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
this
.
footerStatu
=
3
},
l
(
key
)
{
key
=
'MaterialPlacode'
+
'.'
+
key
return
this
.
$t
(
key
)
}
},
},
l
(
key
)
{
watch
:
{}
key
=
'MaterialPlacode'
+
'.'
+
key
return
this
.
$t
(
key
)
}
},
watch
:
{}
}
}
</
script
>
</
script
>
pages/handle/examine8/index.vue
View file @
92e1727d
<
template
>
<
template
>
<div
style=
"padding:30px 0"
>
<div
style=
"padding:30px 0"
>
<Detail
:idVal=
"detailId"
/>
<Detail
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
@
node-click=
"show"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
@
node-click=
"show"
/>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<Form
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
:model=
"formMyCheck"
<Row>
:label-width=
"100"
<Col
span=
"18"
>
:rules=
"ruleValidate"
<FormItem
label=
"审批意见:"
>
inline
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
ref=
"formValidate"
<Radio
label=
"通过"
></Radio>
>
<Radio
label=
"驳回"
></Radio>
<Row>
<Radio
label=
"终止"
></Radio>
<Col
span=
"18"
>
</RadioGroup>
<FormItem
label=
"审批意见:"
>
</FormItem>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<Radio
label=
"通过"
></Radio>
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
<Radio
label=
"驳回"
></Radio>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
<Radio
label=
"终止"
></Radio>
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</RadioGroup>
</Select>
</FormItem>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<FormItem
<Radio
label=
"1"
>
上一节点
</Radio>
label=
"驳回节点:"
<Radio
label=
"2"
>
第一节点
</Radio>
v-if=
"formMyCheck.radioSp === '驳回'"
</RadioGroup>
prop=
"rejectToNodeId"
</FormItem>
>
<FormItem
label=
"原因:"
v-if=
"
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</Select>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<Radio
label=
"1"
>
上一节点
</Radio>
<Radio
label=
"2"
>
第一节点
</Radio>
</RadioGroup>
</FormItem>
<FormItem
label=
"原因:"
v-if=
"
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
"
"
prop=
"comment"
>
prop=
"comment"
<Input
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请输入原因"
/>
>
</FormItem>
<Input
</Col>
v-model=
"formMyCheck.comment"
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
style=
"width:400px;margin-left:10px"
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
placeholder=
"请输入原因"
</Col>
/>
</Row>
</FormItem>
</Form>
</Col>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
</Col>
</Row>
</Form>
</div>
</div>
<!-- 订单审里通过form -->
<!-- 订单审里通过form -->
<Modal
v-model=
"modalCheckOk"
title=
"协调单审理"
width=
"800"
:scrollable=
"true"
>
<Modal
v-model=
"modalCheckOk"
title=
"协调单审理"
width=
"800"
:scrollable=
"true"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
>
<Row>
<Row>
<Col
span=
"12"
>
<Col
span=
"12"
>
<FormItem
label=
"闭环情况"
style=
"width:100%"
>
<FormItem
label=
"闭环情况"
style=
"width:100%"
>
<Input
v-model=
"formMyCheck.close_situation"
style=
"width:500px"
/>
<Input
v-model=
"formMyCheck.close_situation"
style=
"width:500px"
/>
</FormItem>
</FormItem>
</Col>
</Col>
</Row>
</Row>
</Form>
</Form>
<div
slot=
"footer"
v-show=
"footerStatue === true"
>
<div
slot=
"footer"
v-show=
"footerStatue === true"
>
<Button
@
click=
"modalCheckOk = false"
>
取消
</Button>
<Button
@
click=
"modalCheckOk = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkOk"
>
确定
</Button>
<Button
type=
"primary"
@
click=
"checkOk"
>
确定
</Button>
</div>
</div>
</Modal>
</Modal>
<!-- 订单审里通过form -->
<!-- 订单审里通过form -->
<Modal
v-model=
"modalCheckOk1"
title=
"协调单审理"
width=
"800"
:scrollable=
"true"
>
<Modal
v-model=
"modalCheckOk1"
title=
"协调单审理"
width=
"800"
:scrollable=
"true"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
>
<Row>
<Row>
<FormItem
label=
"协调结果"
>
<FormItem
label=
"协调结果"
>
<textarea
v-model=
"formMyCheck.coordinate_results"
style=
"width: 600px"
></textarea>
<textarea
v-model=
"formMyCheck.coordinate_results"
style=
"width: 600px"
></textarea>
</FormItem>
</FormItem>
</Row>
</Row>
<Row>
<Row>
<FormItem
label=
"在制品处理意见"
>
<FormItem
label=
"在制品处理意见"
>
<textarea
v-model=
"formMyCheck.handling_suggestion"
style=
"width: 600px"
></textarea>
<textarea
v-model=
"formMyCheck.handling_suggestion"
style=
"width: 600px"
></textarea>
</FormItem>
</FormItem>
</Row>
</Row>
<Row>
<Row>
<FormItem
label=
"是否更改设计文件"
>
<FormItem
label=
"是否更改设计文件"
>
<Select
v-model=
"formMyCheck.change_design_file"
placeholder=
"请选择"
style=
"width:225px;"
>
<Select
v-model=
"formMyCheck.change_design_file"
placeholder=
"请选择"
style=
"width:225px;"
>
<Option
value=
"是"
>
是
</Option>
<Option
value=
"是"
>
是
</Option>
<Option
value=
"否"
>
否
</Option>
<Option
value=
"否"
>
否
</Option>
</Select>
</Select>
</FormItem>
</FormItem>
</Row>
</Row>
<Row>
<Row>
<FormItem
label=
"是否更改工艺文件"
>
<FormItem
label=
"是否更改工艺文件"
>
<Select
v-model=
"formMyCheck.change_process_file"
placeholder=
"请选择"
style=
"width:225px;"
>
<Select
v-model=
"formMyCheck.change_process_file"
placeholder=
"请选择"
style=
"width:225px;"
>
<Option
value=
"是"
>
是
</Option>
<Option
value=
"是"
>
是
</Option>
<Option
value=
"否"
>
否
</Option>
<Option
value=
"否"
>
否
</Option>
</Select>
</Select>
</FormItem>
</FormItem>
</Row>
</Row>
<Row>
<Row>
<FormItem
label=
"是否编写临时工艺"
>
<FormItem
label=
"是否编写临时工艺"
>
<Select
<Select
v-model=
"formMyCheck.compilation_temporary_process"
placeholder=
"请选择"
style=
"width:225px;"
>
v-model=
"formMyCheck.compilation_temporary_process"
<Option
value=
"是"
>
是
</Option>
placeholder=
"请选择"
<Option
value=
"否"
>
否
</Option>
style=
"width:225px;"
</Select>
>
</FormItem>
<Option
value=
"是"
>
是
</Option>
</Row>
<Option
value=
"否"
>
否
</Option>
</Form>
</Select>
<div
slot=
"footer"
v-show=
"footerStatue === true"
>
</FormItem>
<Button
@
click=
"modalCheckOk1 = false"
>
取消
</Button>
</Row>
<Button
type=
"primary"
@
click=
"checkOk"
>
确定
</Button>
</Form>
</div>
<div
slot=
"footer"
v-show=
"footerStatue === true"
>
<Button
@
click=
"modalCheckOk1 = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkOk"
>
确定
</Button>
</div>
</Modal>
</Modal>
<Modal
v-model=
"modalCheckNo"
title=
"订单审批"
width=
"800"
:scrollable=
"true"
>
<Modal
v-model=
"modalCheckNo"
title=
"订单审批"
width=
"800"
:scrollable=
"true"
>
<br
/>
<br
/>
<h4>
<h4>
您确定
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此订单审批?
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此订单审批?
</h4>
</h4>
<br
/>
<br
/>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</div>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
'../api'
import
Api
from
'../api'
import
Detail
from
'./detail'
import
Detail
from
'./detail'
import
Process
from
'../process'
import
Process
from
'../process'
export
default
{
export
default
{
layout
:
'empty'
,
layout
:
'empty'
,
name
:
'Index'
,
name
:
'Index'
,
components
:
{
components
:
{
Detail
,
Detail
,
Process
Process
},
data
()
{
return
{
currentUserId
:
0
,
formMyCheck
:
{
radioSp
:
'通过'
,
comment
:
''
,
coordinate_results
:
''
,
handling_suggestion
:
''
,
change_design_file
:
''
,
change_process_file
:
''
,
close_situation
:
''
,
compilation_temporary_process
:
''
,
workHours
:
0
,
//工时
printPeriod
:
0
,
//打印周期
equipment
:
''
,
//设备
materialWeight
:
''
,
//材料重量
rejectToNodeId
:
null
},
modalCheckOk
:
false
,
modalCheckOk1
:
false
,
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
footerStatue
:
true
,
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[
{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}
],
comment
:
[
{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}
]
}
}
},
props
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
console
.
log
(
this
.
footerStatu
)
this
.
getDetailInfos
(
this
.
detailId
)
},
methods
:
{
nextCheckOk
()
{
console
.
log
(
this
.
currentNodeID
)
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
if
(
this
.
currentNodeID
==
165
)
{
this
.
footerStatue
=
true
this
.
modalCheckOk
=
true
}
else
if
(
this
.
currentNodeID
==
163
)
{
this
.
footerStatue
=
true
this
.
modalCheckOk1
=
true
}
else
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'通过'
}
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
else
{
}
})
}
else
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{
}
})
}
},
},
getDetailInfos
(
idVal
)
{
data
()
{
this
.
getDetailRecords
=
[]
return
{
let
param
=
{
currentUserId
:
0
,
Id
:
idVal
formMyCheck
:
{
}
radioSp
:
'通过'
,
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
comment
:
''
,
this
.
testObj
=
r
coordinate_results
:
''
,
if
(
r
.
success
)
{
handling_suggestion
:
''
,
this
.
currentNodeID
=
r
.
result
.
currentNodeId
change_design_file
:
''
,
this
.
passId
=
r
.
result
.
currentRecordId
change_process_file
:
''
,
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
close_situation
:
''
,
this
.
getNodes
(
r
.
result
.
nodes
)
compilation_temporary_process
:
''
,
}
else
{
workHours
:
0
,
//工时
this
.
$Message
.
error
(
'加载失败'
)
printPeriod
:
0
,
//打印周期
}
equipment
:
''
,
//设备
})
materialWeight
:
''
,
//材料重量
},
rejectToNodeId
:
null
//获取流程节点
},
getNodes
(
nodes
)
{
modalCheckOk
:
false
,
this
.
nodeList
=
[]
modalCheckOk1
:
false
,
nodes
.
forEach
((
data
)
=>
{
modalCheckNo
:
false
,
let
nodeObj
=
{}
detailId
:
null
,
nodeObj
.
value
=
data
.
id
statuTitle
:
''
,
nodeObj
.
label
=
data
.
name
footerStatu
:
null
,
//是否显示footer
nodeObj
.
statu
=
1
footerStatue
:
true
,
this
.
nodeList
.
push
(
nodeObj
)
getDetailResults
:
[],
//getdetail返回数据
})
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
//第一节点node的ID
getDetailProcess
:
[],
//getdetail返回process信息
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
getDetailRecords
:
[],
//getdetail返回当前records信息
//根据当前nodeid找到上一节点的nodeId
passId
:
null
,
//通过审批/驳回/终止接口 id,
var
index
=
this
.
nodeList
.
findIndex
(
nodeList
:
[],
//返回节点
(
item
)
=>
item
.
value
==
this
.
currentNodeID
currentNodeID
:
null
,
//当前节点
)
firstNodeID
:
null
,
//第一个节点
if
(
index
>
0
)
{
preNodeID
:
null
,
//上一个节点
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
}
else
{
testObj
:
{},
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
ruleValidate
:
{
}
rejectToNodeId
:
[{
},
required
:
true
,
changeToNode
(
val
)
{
message
:
'请选择驳回节点'
,
if
(
val
==
'1'
)
{
type
:
'number'
,
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
trigger
:
'change'
}
else
{
}],
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
comment
:
[{
}
required
:
true
,
},
message
:
'请输入原因'
,
//审批通过
trigger
:
'blur'
checkOk
()
{
}]
// alert(this.passId)
}
var
param
=
{
// id: this.passId,
// comment: '',
// nextOperationIdList: this.nextNodeUserIdList,
// data: {}
}
if
(
this
.
currentNodeID
==
165
)
{
if
(
!
this
.
formMyCheck
.
close_situation
)
{
this
.
$Message
.
error
(
'请填写闭环情况'
)
return
}
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{
close_situation
:
this
.
formMyCheck
.
close_situation
}
}
}
else
if
(
this
.
currentNodeID
==
163
)
{
if
(
!
this
.
formMyCheck
.
coordinate_results
)
{
this
.
$Message
.
error
(
'请填写协调结果'
)
return
}
if
(
!
this
.
formMyCheck
.
handling_suggestion
)
{
this
.
$Message
.
error
(
'请填写在制品处理意见'
)
return
}
if
(
!
this
.
formMyCheck
.
change_design_file
)
{
this
.
$Message
.
error
(
'请选择是否更改设计文件'
)
return
}
if
(
!
this
.
formMyCheck
.
change_process_file
)
{
this
.
$Message
.
error
(
'请选择是否更改工艺文件'
)
return
}
if
(
!
this
.
formMyCheck
.
compilation_temporary_process
)
{
this
.
$Message
.
error
(
'请选择是否编写临时工艺'
)
return
}
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{
coordinate_results
:
this
.
formMyCheck
.
coordinate_results
,
handling_suggestion
:
this
.
formMyCheck
.
handling_suggestion
,
change_design_file
:
this
.
formMyCheck
.
change_design_file
,
change_process_file
:
this
.
formMyCheck
.
change_process_file
,
compilation_temporary_process
:
this
.
formMyCheck
.
compilation_temporary_process
}
}
}
else
{
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
}
console
.
log
(
param
)
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
footerStatu
=
3
this
.
modalCheckNo
=
false
this
.
modalCheckOk
=
false
this
.
modalCheckOk1
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckNo
=
false
},
//审批驳回
checkNo
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//审批终止
checkCancel
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
}
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
}
this
.
modalCheckNo
=
false
})
},
},
//终止或驳回
props
:
{},
checkFalse
()
{
async
fetch
({
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
store
,
this
.
checkNo
()
params
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
})
{
this
.
checkCancel
()
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
},
l
(
key
)
{
created
()
{
key
=
'MaterialPlacode'
+
'.'
+
key
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
return
this
.
$t
(
key
)
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
console
.
log
(
this
.
footerStatu
)
this
.
getDetailInfos
(
this
.
detailId
)
},
},
show
(
a
){
methods
:
{
console
.
log
(
a
)
nextCheckOk
()
{
this
.
footerStatue
=
false
console
.
log
(
this
.
currentNodeID
)
let
contextDate
=
JSON
.
parse
(
a
.
contextData
)
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
formMyCheck
=
contextDate
if
(
this
.
currentNodeID
==
165
)
{
if
(
a
.
nodeId
==
163
)
this
.
footerStatue
=
true
{
this
.
modalCheckOk
=
true
this
.
modalCheckOk1
=
true
}
else
if
(
this
.
currentNodeID
==
163
)
{
}
this
.
footerStatue
=
true
else
if
(
a
.
nodeId
==
165
)
this
.
modalCheckOk1
=
true
{
}
else
{
this
.
modalCheckOk
=
true
this
.
modalCheckNo
=
true
}
this
.
statuTitle
=
'通过'
}
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
else
{}
})
}
else
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{}
})
}
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[]
let
param
=
{
Id
:
idVal
}
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
this
.
testObj
=
r
if
(
r
.
success
)
{
this
.
currentNodeID
=
r
.
result
.
currentNodeId
this
.
passId
=
r
.
result
.
currentRecordId
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
//审批通过
checkOk
()
{
// alert(this.passId)
var
param
=
{
// id: this.passId,
// comment: '',
// nextOperationIdList: this.nextNodeUserIdList,
// data: {}
}
if
(
this
.
currentNodeID
==
165
)
{
if
(
!
this
.
formMyCheck
.
close_situation
)
{
this
.
$Message
.
error
(
'请填写闭环情况'
)
return
}
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{
close_situation
:
this
.
formMyCheck
.
close_situation
}
}
}
else
if
(
this
.
currentNodeID
==
163
)
{
if
(
!
this
.
formMyCheck
.
coordinate_results
)
{
this
.
$Message
.
error
(
'请填写协调结果'
)
return
}
if
(
!
this
.
formMyCheck
.
handling_suggestion
)
{
this
.
$Message
.
error
(
'请填写在制品处理意见'
)
return
}
if
(
!
this
.
formMyCheck
.
change_design_file
)
{
this
.
$Message
.
error
(
'请选择是否更改设计文件'
)
return
}
if
(
!
this
.
formMyCheck
.
change_process_file
)
{
this
.
$Message
.
error
(
'请选择是否更改工艺文件'
)
return
}
if
(
!
this
.
formMyCheck
.
compilation_temporary_process
)
{
this
.
$Message
.
error
(
'请选择是否编写临时工艺'
)
return
}
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{
coordinate_results
:
this
.
formMyCheck
.
coordinate_results
,
handling_suggestion
:
this
.
formMyCheck
.
handling_suggestion
,
change_design_file
:
this
.
formMyCheck
.
change_design_file
,
change_process_file
:
this
.
formMyCheck
.
change_process_file
,
compilation_temporary_process
:
this
.
formMyCheck
.
compilation_temporary_process
}
}
}
else
{
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
}
console
.
log
(
param
)
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
this
.
modalCheckNo
=
false
this
.
modalCheckOk
=
false
this
.
modalCheckOk1
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckNo
=
false
},
//审批驳回
checkNo
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//审批终止
checkCancel
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
}
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
footerStatu
=
3
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
l
(
key
)
{
key
=
'MaterialPlacode'
+
'.'
+
key
return
this
.
$t
(
key
)
},
show
(
a
)
{
console
.
log
(
a
)
this
.
footerStatue
=
false
let
contextDate
=
JSON
.
parse
(
a
.
contextData
)
this
.
formMyCheck
=
contextDate
if
(
a
.
nodeId
==
163
)
{
this
.
modalCheckOk1
=
true
}
else
if
(
a
.
nodeId
==
165
)
{
this
.
modalCheckOk
=
true
}
},
},
},
},
watch
:
{}
watch
:
{}
}
}
</
script
>
</
script
>
pages/handle/examine9/index.vue
View file @
92e1727d
<
template
>
<
template
>
<div
style=
"padding:30px 0"
>
<div
style=
"padding:30px 0"
>
<Detail
:idVal=
"detailId"
/>
<Detail
:idVal=
"detailId"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<Process
ref=
"userProcess"
:idVal=
"detailId"
:resulstInfo=
"testObj"
/>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<div
class=
"footers"
v-if=
"footerStatu === '2'"
style=
"text-align:left;"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Form
:model=
"formMyCheck"
:label-width=
"100"
:rules=
"ruleValidate"
inline
ref=
"formValidate"
>
<Row>
<Row>
<Col
span=
"18"
>
<Col
span=
"18"
>
<FormItem
label=
"审批意见:"
>
<FormItem
label=
"审批意见:"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<RadioGroup
v-model=
"formMyCheck.radioSp"
style=
"width:200px"
>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"通过"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"驳回"
></Radio>
<Radio
label=
"终止"
></Radio>
<Radio
label=
"终止"
></Radio>
</RadioGroup>
</RadioGroup>
</FormItem>
</FormItem>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<FormItem
label=
"驳回节点:"
v-if=
"formMyCheck.radioSp === '驳回'"
prop=
"rejectToNodeId"
>
<Select
<Select
style=
"width:200px"
clearable
transfer
placeholder=
"请选择驳回节点"
v-model=
"formMyCheck.rejectToNodeId"
>
style=
"width:200px"
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
clearable
<Option
v-for=
"(item, index) in nodeList"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
transfer
</Select>
placeholder=
"请选择驳回节点"
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
v-model=
"formMyCheck.rejectToNodeId"
<Radio
label=
"1"
>
上一节点
</Radio>
>
<Radio
label=
"2"
>
第一节点
</Radio>
<Option
value
class=
"option-text"
>
请选择驳回节点
</Option>
</RadioGroup>
<Option
</FormItem>
v-for=
"(item, index) in nodeList"
<FormItem
label=
"原因:"
v-if=
"
:value=
"item.value"
:label=
"item.label"
:key=
"index"
:disabled=
"item.statu > 0 ? false : true"
></Option>
</Select>
<RadioGroup
type=
"button"
size=
"small"
@
on-change=
"changeToNode"
>
<Radio
label=
"1"
>
上一节点
</Radio>
<Radio
label=
"2"
>
第一节点
</Radio>
</RadioGroup>
</FormItem>
<FormItem
label=
"原因:"
v-if=
"
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
formMyCheck.radioSp === '驳回' || formMyCheck.radioSp === '终止'
"
"
prop=
"comment"
>
prop=
"comment"
<Input
v-model=
"formMyCheck.comment"
style=
"width:400px;margin-left:10px"
placeholder=
"请输入原因"
/>
>
</FormItem>
<Input
</Col>
v-model=
"formMyCheck.comment"
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
style=
"width:400px;margin-left:10px"
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
placeholder=
"请输入原因"
</Col>
/>
</Row>
</FormItem>
</Form>
</Col>
<Col
span=
"6"
style=
"text-align:right;padding-right:40px"
>
<Button
type=
"primary"
@
click=
"nextCheckOk"
>
下一步
</Button>
</Col>
</Row>
</Form>
</div>
</div>
<Modal
v-model=
"modalCheckNo"
title=
"合格证审批"
width=
"800"
:scrollable=
"true"
>
<Modal
v-model=
"modalCheckNo"
title=
"合格证审批"
width=
"800"
:scrollable=
"true"
>
<br
/>
<br
/>
<h4>
<h4>
您确定
您确定
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此合格证审批?
<span
class=
"new-red"
>
{{
statuTitle
}}
</span>
此合格证审批?
</h4>
</h4>
<br
/>
<br
/>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
@
click=
"modalCheckNo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
<Button
type=
"primary"
@
click=
"checkFalse"
>
确定
</Button>
</div>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
'../api'
import
Api
from
'../api'
import
Detail
from
'./detail'
import
Detail
from
'./detail'
import
Process
from
'../process'
import
Process
from
'../process'
export
default
{
export
default
{
layout
:
'empty'
,
layout
:
'empty'
,
name
:
'Index'
,
name
:
'Index'
,
components
:
{
components
:
{
Detail
,
Detail
,
Process
Process
},
data
()
{
return
{
currentUserId
:
0
,
formMyCheck
:
{
radioSp
:
'通过'
,
comment
:
''
,
workHours
:
0
,
//工时
printPeriod
:
0
,
//打印周期
equipment
:
''
,
//设备
materialWeight
:
0
,
//材料重量
rejectToNodeId
:
null
},
modalCheckOk
:
false
,
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[
{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}
],
comment
:
[
{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}
]
}
}
},
props
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
this
.
getDetailInfos
(
this
.
detailId
)
},
methods
:
{
nextCheckOk
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
modalCheckNo
=
true
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'驳回'
}
else
{
}
})
}
else
{
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{
}
})
}
},
},
getDetailInfos
(
idVal
)
{
data
()
{
this
.
getDetailRecords
=
[]
return
{
let
param
=
{
currentUserId
:
0
,
Id
:
idVal
formMyCheck
:
{
}
radioSp
:
'通过'
,
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
comment
:
''
,
this
.
testObj
=
r
workHours
:
0
,
//工时
if
(
r
.
success
)
{
printPeriod
:
0
,
//打印周期
this
.
currentNodeID
=
r
.
result
.
currentNodeId
equipment
:
''
,
//设备
this
.
passId
=
r
.
result
.
currentRecordId
materialWeight
:
0
,
//材料重量
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
rejectToNodeId
:
null
this
.
getNodes
(
r
.
result
.
nodes
)
},
}
else
{
modalCheckOk
:
false
,
this
.
$Message
.
error
(
'加载失败'
)
modalCheckNo
:
false
,
detailId
:
null
,
statuTitle
:
''
,
footerStatu
:
null
,
//是否显示footer
getDetailResults
:
[],
//getdetail返回数据
getDetailResultOrder
:
[],
//getdetail返回订单detail数据
getDetailProcess
:
[],
//getdetail返回process信息
getDetailRecords
:
[],
//getdetail返回当前records信息
passId
:
null
,
//通过审批/驳回/终止接口 id,
nodeList
:
[],
//返回节点
currentNodeID
:
null
,
//当前节点
firstNodeID
:
null
,
//第一个节点
preNodeID
:
null
,
//上一个节点
nextNodeUserIdList
:
[],
//通过时提交的下一个节点UserId
testObj
:
{},
ruleValidate
:
{
rejectToNodeId
:
[{
required
:
true
,
message
:
'请选择驳回节点'
,
type
:
'number'
,
trigger
:
'change'
}],
comment
:
[{
required
:
true
,
message
:
'请输入原因'
,
trigger
:
'blur'
}]
}
}
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
},
//审批通过
props
:
{},
checkOk
()
{
async
fetch
({
// alert(this.passId)
store
,
let
param
=
{
params
id
:
this
.
passId
,
})
{
comment
:
''
,
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckNo
=
false
},
},
//审批驳回
created
()
{
checkNo
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
// alert(this.passId)
this
.
detailId
=
this
.
$http
.
common
.
getquerystring
(
'id'
)
let
param
=
{
this
.
footerStatu
=
this
.
$http
.
common
.
getquerystring
(
'statu'
)
id
:
this
.
passId
,
this
.
getDetailInfos
(
this
.
detailId
)
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
},
//审批终止
methods
:
{
checkCancel
()
{
nextCheckOk
()
{
// alert(this.passId)
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
let
param
=
{
this
.
modalCheckNo
=
true
id
:
this
.
passId
,
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
comment
:
this
.
formMyCheck
.
comment
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
}
if
(
valid
)
{
//alert(JSON.stringify(param))
this
.
modalCheckNo
=
true
Api
.
terminate
(
param
).
then
((
r
)
=>
{
this
.
statuTitle
=
'驳回'
if
(
r
.
success
)
{
}
else
{}
this
.
$Message
.
success
(
'终止审批成功'
)
})
}
else
{
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
this
.
$refs
[
'formValidate'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
modalCheckNo
=
true
this
.
statuTitle
=
'终止'
}
else
{}
})
}
},
getDetailInfos
(
idVal
)
{
this
.
getDetailRecords
=
[]
let
param
=
{
Id
:
idVal
}
Api
.
getdetail
(
param
).
then
((
r
)
=>
{
this
.
testObj
=
r
if
(
r
.
success
)
{
this
.
currentNodeID
=
r
.
result
.
currentNodeId
this
.
passId
=
r
.
result
.
currentRecordId
this
.
nextNodeUserIdList
=
this
.
$refs
.
userProcess
.
immutData
//获取下一节点的审核人
this
.
getNodes
(
r
.
result
.
nodes
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
})
},
//获取流程节点
getNodes
(
nodes
)
{
this
.
nodeList
=
[]
nodes
.
forEach
((
data
)
=>
{
let
nodeObj
=
{}
nodeObj
.
value
=
data
.
id
nodeObj
.
label
=
data
.
name
nodeObj
.
statu
=
1
this
.
nodeList
.
push
(
nodeObj
)
})
//第一节点node的ID
this
.
firstNodeID
=
this
.
nodeList
[
0
].
value
//根据当前nodeid找到上一节点的nodeId
var
index
=
this
.
nodeList
.
findIndex
(
(
item
)
=>
item
.
value
==
this
.
currentNodeID
)
if
(
index
>
0
)
{
this
.
preNodeID
=
this
.
nodeList
[
index
-
1
].
value
}
else
{
this
.
preNodeID
=
this
.
nodeList
[
0
].
value
}
},
changeToNode
(
val
)
{
if
(
val
==
'1'
)
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
preNodeID
}
else
{
this
.
formMyCheck
.
rejectToNodeId
=
this
.
firstNodeID
}
},
//审批通过
checkOk
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
''
,
nextOperationIdList
:
this
.
nextNodeUserIdList
,
data
:
{}
}
// alert(JSON.stringify(param))
Api
.
pass
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'审批通过成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
this
.
modalCheckNo
=
false
}
else
{
this
.
$Message
.
error
(
'审批通过失败'
)
}
})
this
.
modalCheckNo
=
false
},
//审批驳回
checkNo
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
,
rejectToNodeId
:
this
.
formMyCheck
.
rejectToNodeId
}
// alert(JSON.stringify(param))
Api
.
reject
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'驳回审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//审批终止
checkCancel
()
{
// alert(this.passId)
let
param
=
{
id
:
this
.
passId
,
comment
:
this
.
formMyCheck
.
comment
}
//alert(JSON.stringify(param))
Api
.
terminate
(
param
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'终止审批成功'
)
this
.
$refs
.
userProcess
.
load
(
this
.
detailId
)
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
this
.
modalCheckNo
=
false
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
l
(
key
)
{
key
=
'MaterialPlacode'
+
'.'
+
key
return
this
.
$t
(
key
)
}
}
this
.
modalCheckNo
=
false
})
},
//终止或驳回
checkFalse
()
{
if
(
this
.
formMyCheck
.
radioSp
==
'驳回'
)
{
this
.
checkNo
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'终止'
)
{
this
.
checkCancel
()
}
else
if
(
this
.
formMyCheck
.
radioSp
==
'通过'
)
{
this
.
checkOk
()
}
this
.
footerStatu
=
3
},
},
l
(
key
)
{
watch
:
{}
key
=
'MaterialPlacode'
+
'.'
+
key
return
this
.
$t
(
key
)
}
},
watch
:
{}
}
}
</
script
>
</
script
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment