Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
bdc
/
bdcdj-web
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
db5e9829
authored
2023-04-26 09:49:59 +0800
by
xiaomiao
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
mask-content
1 parent
6450e472
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
493 additions
and
489 deletions
src/components/Base/base.js
src/views/workflow/components/processViewer.vue
src/views/workflow/components/szxx.vue
src/views/workflow/components/zslq.vue
src/components/Base/base.js
View file @
db5e982
/*
* @Description: 引入公共组件
* @Autor: renchao
* @LastEditTime: 2023-04-
10 11:16:54
* @LastEditTime: 2023-04-
25 15:18:20
*/
import
dialogBox
from
'@/components/
D
ialogBox/dialogBox.vue'
import
dialogBox
from
'@/components/
d
ialogBox/dialogBox.vue'
import
LbTable
from
'@/components/LbTable/lb-table.vue'
import
Theme
from
'@/components/Theme/theme.vue'
import
Popup
from
'@/components/Popup/index'
...
...
src/views/workflow/components/processViewer.vue
View file @
db5e982
...
...
@@ -53,215 +53,214 @@
</el-select>
<el-table
:data=
"taskCommentList"
size=
"mini"
border
header-cell-class-name=
"table-header-gray"
>
<el-table-column
label=
"序号"
header-align=
"center"
align=
"center"
type=
"index"
width=
"55px"
/>
<el-table-column
label=
"
候选办理
"
prop=
"candidate"
minWidth=
"150px"
align=
"center"
/>
<el-table-column
label=
"
实际办理
"
prop=
"assigneeName"
minWidth=
"100px"
align=
"center"
/>
<el-table-column
label=
"
环节名称
"
prop=
"candidate"
minWidth=
"150px"
align=
"center"
/>
<el-table-column
label=
"
办理人
"
prop=
"assigneeName"
minWidth=
"100px"
align=
"center"
/>
<el-table-column
label=
"处理时间"
prop=
"createTime"
width=
"140px"
align=
"center"
/>
<el-table-column
label=
"办结时间"
prop=
"finishTime"
width=
"140px"
align=
"center"
/>
<el-table-column
label=
"耗时"
prop=
"duration"
minWidth=
"100px"
align=
"center"
/>
<el-table-column
label=
"操作类型"
align=
"center"
>
<el-table-column
label=
"操作方式"
align=
"center"
>
</el-table-column>
</el-table>
</div>
</div>
</
template
>
<
script
>
import
'@/styles/package/theme/index.scss'
import
BpmnViewer
from
'bpmn-js/lib/Viewer'
import
MoveCanvasModule
from
'diagram-js/lib/navigation/movecanvas'
export
default
{
props
:
{
formData
:
{
type
:
Object
,
default
:
{}
}
},
data
()
{
return
{
dlgTitle
:
undefined
,
defaultZoom
:
1
,
// 是否正在加载流程图
isLoading
:
true
,
bpmnViewer
:
undefined
,
// 已完成流程元素
processNodeInfo
:
undefined
,
// 当前任务id
selectTaskId
:
undefined
,
// 任务节点审批记录
taskCommentList
:
[],
// 已完成任务悬浮延迟Timer
hoverTimer
:
null
,
// 下拉
selectValue
:
''
,
selectOptions
:
[]
}
},
created
()
{
this
.
$nextTick
(()
=>
{
this
.
importXML
(
this
.
formData
.
xml
)
this
.
setProcessStatus
(
this
.
formData
.
finishedInfo
);
})
},
destroyed
()
{
this
.
clearViewer
()
},
methods
:
{
processReZoom
()
{
this
.
defaultZoom
=
1
this
.
bpmnViewer
.
get
(
'canvas'
).
zoom
(
'fit-viewport'
,
'auto'
)
},
processZoomIn
(
zoomStep
=
0.1
)
{
const
newZoom
=
Math
.
floor
(
this
.
defaultZoom
*
100
+
zoomStep
*
100
)
/
100
if
(
newZoom
>
4
)
{
throw
new
Error
(
'[Process Designer Warn ]: The zoom ratio cannot be greater than 4'
)
import
'@/styles/package/theme/index.scss'
import
BpmnViewer
from
'bpmn-js/lib/Viewer'
import
MoveCanvasModule
from
'diagram-js/lib/navigation/movecanvas'
export
default
{
props
:
{
formData
:
{
type
:
Object
,
default
:
{}
}
this
.
defaultZoom
=
newZoom
this
.
bpmnViewer
.
get
(
'canvas'
).
zoom
(
this
.
defaultZoom
)
},
processZoomOut
(
zoomStep
=
0.1
)
{
const
newZoom
=
Math
.
floor
(
this
.
defaultZoom
*
100
-
zoomStep
*
100
)
/
100
if
(
newZoom
<
0.2
)
{
throw
new
Error
(
'[Process Designer Warn ]: The zoom ratio cannot be scss than 0.2'
)
data
()
{
return
{
dlgTitle
:
undefined
,
defaultZoom
:
1
,
// 是否正在加载流程图
isLoading
:
true
,
bpmnViewer
:
undefined
,
// 已完成流程元素
processNodeInfo
:
undefined
,
// 当前任务id
selectTaskId
:
undefined
,
// 任务节点审批记录
taskCommentList
:
[],
// 已完成任务悬浮延迟Timer
hoverTimer
:
null
,
// 下拉
selectValue
:
''
,
selectOptions
:
[]
}
this
.
defaultZoom
=
newZoom
this
.
bpmnViewer
.
get
(
'canvas'
).
zoom
(
this
.
defaultZoom
)
},
getOperationTagType
(
type
)
{
return
'success'
},
// 流程图预览清空
clearViewer
(
a
)
{
if
(
this
.
$refs
.
processCanvas
)
{
this
.
$refs
.
processCanvas
.
innerHTML
=
''
}
if
(
this
.
bpmnViewer
)
{
this
.
bpmnViewer
.
destroy
()
}
this
.
bpmnViewer
=
null
created
()
{
this
.
$nextTick
(()
=>
{
this
.
importXML
(
this
.
formData
.
xml
)
this
.
setProcessStatus
(
this
.
formData
.
finishedInfo
);
})
},
// 添加自定义箭头
addCustomDefs
()
{
const
canvas
=
this
.
bpmnViewer
.
get
(
'canvas'
)
const
svg
=
canvas
.
_svg
const
customSuccessDefs
=
this
.
$refs
.
customSuccessDefs
const
customFailDefs
=
this
.
$refs
.
customFailDefs
svg
.
appendChild
(
customSuccessDefs
)
svg
.
appendChild
(
customFailDefs
)
destroyed
()
{
this
.
clearViewer
()
},
// 任务悬浮弹窗
onSelectElement
(
element
)
{
this
.
selectTaskId
=
undefined
this
.
dlgTitle
=
undefined
methods
:
{
processReZoom
()
{
this
.
defaultZoom
=
1
this
.
bpmnViewer
.
get
(
'canvas'
).
zoom
(
'fit-viewport'
,
'auto'
)
},
processZoomIn
(
zoomStep
=
0.1
)
{
const
newZoom
=
Math
.
floor
(
this
.
defaultZoom
*
100
+
zoomStep
*
100
)
/
100
if
(
newZoom
>
4
)
{
throw
new
Error
(
'[Process Designer Warn ]: The zoom ratio cannot be greater than 4'
)
}
this
.
defaultZoom
=
newZoom
this
.
bpmnViewer
.
get
(
'canvas'
).
zoom
(
this
.
defaultZoom
)
},
processZoomOut
(
zoomStep
=
0.1
)
{
const
newZoom
=
Math
.
floor
(
this
.
defaultZoom
*
100
-
zoomStep
*
100
)
/
100
if
(
newZoom
<
0.2
)
{
throw
new
Error
(
'[Process Designer Warn ]: The zoom ratio cannot be scss than 0.2'
)
}
this
.
defaultZoom
=
newZoom
this
.
bpmnViewer
.
get
(
'canvas'
).
zoom
(
this
.
defaultZoom
)
},
getOperationTagType
(
type
)
{
return
'success'
},
// 流程图预览清空
clearViewer
(
a
)
{
if
(
this
.
$refs
.
processCanvas
)
{
this
.
$refs
.
processCanvas
.
innerHTML
=
''
}
if
(
this
.
bpmnViewer
)
{
this
.
bpmnViewer
.
destroy
()
}
this
.
bpmnViewer
=
null
},
// 添加自定义箭头
addCustomDefs
()
{
const
canvas
=
this
.
bpmnViewer
.
get
(
'canvas'
)
const
svg
=
canvas
.
_svg
const
customSuccessDefs
=
this
.
$refs
.
customSuccessDefs
const
customFailDefs
=
this
.
$refs
.
customFailDefs
svg
.
appendChild
(
customSuccessDefs
)
svg
.
appendChild
(
customFailDefs
)
},
// 任务悬浮弹窗
onSelectElement
(
element
)
{
this
.
selectTaskId
=
undefined
this
.
dlgTitle
=
undefined
if
(
this
.
processNodeInfo
==
null
||
this
.
processNodeInfo
.
finishedTaskSet
==
null
)
return
if
(
this
.
processNodeInfo
==
null
||
this
.
processNodeInfo
.
finishedTaskSet
==
null
)
return
if
(
element
==
null
||
this
.
processNodeInfo
.
finishedTaskSet
.
indexOf
(
element
.
id
)
===
-
1
)
{
return
}
if
(
element
==
null
||
this
.
processNodeInfo
.
finishedTaskSet
.
indexOf
(
element
.
id
)
===
-
1
)
{
return
}
this
.
selectTaskId
=
element
.
id
this
.
dlgTitle
=
element
.
businessObject
?
element
.
businessObject
.
name
:
undefined
// 计算当前悬浮任务审批记录,如果记录为空不显示弹窗
this
.
taskCommentList
=
(
this
.
formData
.
allCommentList
||
[]).
filter
(
item
=>
{
return
item
.
taskDefKey
===
this
.
selectTaskId
})
},
// 下拉列表切换
handleSelect
(
val
)
{
this
.
taskCommentList
=
(
this
.
formData
.
allCommentList
||
[]).
filter
(
item
=>
{
return
item
.
taskDefKey
===
val
})
},
// 显示流程图
async
importXML
(
xml
)
{
let
xmlData
=
this
.
$x2js
.
xml2js
(
xml
).
definitions
.
process
;
this
.
selectOptions
=
xmlData
.
userTask
.
map
(
item
=>
{
return
{
value
:
item
.
_id
,
label
:
item
.
_name
}
})
this
.
selectOptions
=
[{
value
:
xmlData
.
startEvent
.
_id
,
label
:
'浏览记录'
},
...
this
.
selectOptions
]
this
.
selectOptions
=
this
.
selectOptions
.
map
(
item
=>
{
if
(
this
.
formData
.
finishedInfo
.
finishedTaskSet
.
includes
(
item
.
value
))
{
return
item
this
.
selectTaskId
=
element
.
id
this
.
dlgTitle
=
element
.
businessObject
?
element
.
businessObject
.
name
:
undefined
// 计算当前悬浮任务审批记录,如果记录为空不显示弹窗
this
.
taskCommentList
=
(
this
.
formData
.
allCommentList
||
[]).
filter
(
item
=>
{
return
item
.
taskDefKey
===
this
.
selectTaskId
})
},
// 下拉列表切换
handleSelect
(
val
)
{
this
.
taskCommentList
=
(
this
.
formData
.
allCommentList
||
[]).
filter
(
item
=>
{
return
item
.
taskDefKey
===
val
})
},
// 显示流程图
async
importXML
(
xml
)
{
let
xmlData
=
this
.
$x2js
.
xml2js
(
xml
).
definitions
.
process
;
this
.
selectOptions
=
xmlData
.
userTask
.
map
(
item
=>
{
return
{
value
:
item
.
_id
,
label
:
item
.
_name
}
})
this
.
selectOptions
=
[{
value
:
xmlData
.
startEvent
.
_id
,
label
:
'浏览记录'
},
...
this
.
selectOptions
]
this
.
selectOptions
=
this
.
selectOptions
.
map
(
item
=>
{
if
(
this
.
formData
.
finishedInfo
.
finishedTaskSet
.
includes
(
item
.
value
))
{
return
item
}
}).
filter
(
Boolean
);
this
.
selectValue
=
xmlData
.
startEvent
.
_id
this
.
clearViewer
(
'a'
)
if
(
xml
!=
null
&&
xml
!==
''
)
{
try
{
this
.
bpmnViewer
=
new
BpmnViewer
({
additionalModules
:
[
// 移动整个画布
MoveCanvasModule
],
container
:
this
.
$refs
.
processCanvas
})
// 任务节点悬浮事件
this
.
bpmnViewer
.
on
(
'element.click'
,
({
element
})
=>
{
this
.
onSelectElement
(
element
)
})
await
this
.
bpmnViewer
.
importXML
(
xml
)
this
.
isLoading
=
true
this
.
addCustomDefs
()
}
catch
(
e
)
{
this
.
clearViewer
(
'b'
)
}
finally
{
this
.
isLoading
=
false
this
.
setProcessStatus
(
this
.
processNodeInfo
)
this
.
$nextTick
(()
=>
{
this
.
processReZoom
()
})
}
}
}).
filter
(
Boolean
);
this
.
selectValue
=
xmlData
.
startEvent
.
_id
this
.
clearViewer
(
'a'
)
if
(
xml
!=
null
&&
xml
!==
''
)
{
try
{
this
.
bpmnViewer
=
new
BpmnViewer
({
additionalModules
:
[
// 移动整个画布
MoveCanvasModule
],
container
:
this
.
$refs
.
processCanvas
})
// 任务节点悬浮事件
this
.
bpmnViewer
.
on
(
'element.click'
,
({
element
})
=>
{
this
.
onSelectElement
(
element
)
})
await
this
.
bpmnViewer
.
importXML
(
xml
)
this
.
isLoading
=
true
this
.
addCustomDefs
()
}
catch
(
e
)
{
this
.
clearViewer
(
'b'
)
}
finally
{
this
.
isLoading
=
false
this
.
setProcessStatus
(
this
.
processNodeInfo
)
this
.
$nextTick
(()
=>
{
this
.
processReZoom
()
},
// 设置流程图元素状态
setProcessStatus
(
processNodeInfo
)
{
this
.
processNodeInfo
=
processNodeInfo
if
(
this
.
isLoading
||
this
.
processNodeInfo
==
null
||
this
.
bpmnViewer
==
null
)
return
const
{
finishedTaskSet
,
rejectedTaskSet
,
unfinishedTaskSet
,
finishedSequenceFlowSet
}
=
this
.
processNodeInfo
const
canvas
=
this
.
bpmnViewer
.
get
(
'canvas'
)
const
elementRegistry
=
this
.
bpmnViewer
.
get
(
'elementRegistry'
)
if
(
Array
.
isArray
(
finishedSequenceFlowSet
))
{
finishedSequenceFlowSet
.
forEach
(
item
=>
{
if
(
item
!=
null
)
{
canvas
.
addMarker
(
item
,
'success'
)
const
element
=
elementRegistry
.
get
(
item
)
const
conditionExpression
=
element
.
businessObject
.
conditionExpression
if
(
conditionExpression
)
{
canvas
.
addMarker
(
item
,
'condition-expression'
)
}
}
})
}
}
},
// 设置流程图元素状态
setProcessStatus
(
processNodeInfo
)
{
this
.
processNodeInfo
=
processNodeInfo
if
(
this
.
isLoading
||
this
.
processNodeInfo
==
null
||
this
.
bpmnViewer
==
null
)
return
const
{
finishedTaskSet
,
rejectedTaskSet
,
unfinishedTaskSet
,
finishedSequenceFlowSet
}
=
this
.
processNodeInfo
const
canvas
=
this
.
bpmnViewer
.
get
(
'canvas'
)
const
elementRegistry
=
this
.
bpmnViewer
.
get
(
'elementRegistry'
)
if
(
Array
.
isArray
(
finishedSequenceFlowSet
))
{
finishedSequenceFlowSet
.
forEach
(
item
=>
{
if
(
item
!=
null
)
{
canvas
.
addMarker
(
item
,
'success'
)
const
element
=
elementRegistry
.
get
(
item
)
const
conditionExpression
=
element
.
businessObject
.
conditionExpression
if
(
conditionExpression
)
{
canvas
.
addMarker
(
item
,
'condition-expression'
)
}
}
})
}
if
(
Array
.
isArray
(
finishedTaskSet
))
{
finishedTaskSet
.
forEach
(
item
=>
canvas
.
addMarker
(
item
,
'success'
))
console
.
log
(
finishedTaskSet
,
'finishedTaskSet'
);
}
if
(
Array
.
isArray
(
unfinishedTaskSet
))
{
unfinishedTaskSet
.
forEach
(
item
=>
canvas
.
addMarker
(
item
,
'primary'
))
}
if
(
Array
.
isArray
(
rejectedTaskSet
))
{
rejectedTaskSet
.
forEach
(
item
=>
{
if
(
item
!=
null
)
{
const
element
=
elementRegistry
.
get
(
item
)
if
(
element
.
type
.
includes
(
'Task'
))
{
canvas
.
addMarker
(
item
,
'danger'
)
}
else
{
canvas
.
addMarker
(
item
,
'warning'
)
if
(
Array
.
isArray
(
finishedTaskSet
))
{
finishedTaskSet
.
forEach
(
item
=>
canvas
.
addMarker
(
item
,
'success'
))
console
.
log
(
finishedTaskSet
,
'finishedTaskSet'
);
}
if
(
Array
.
isArray
(
unfinishedTaskSet
))
{
unfinishedTaskSet
.
forEach
(
item
=>
canvas
.
addMarker
(
item
,
'primary'
))
}
if
(
Array
.
isArray
(
rejectedTaskSet
))
{
rejectedTaskSet
.
forEach
(
item
=>
{
if
(
item
!=
null
)
{
const
element
=
elementRegistry
.
get
(
item
)
if
(
element
.
type
.
includes
(
'Task'
))
{
canvas
.
addMarker
(
item
,
'danger'
)
}
else
{
canvas
.
addMarker
(
item
,
'warning'
)
}
}
}
}
)
}
)
}
}
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.information-list
{
height
:
150px
;
margin-top
:
10px
;
.information-list
{
height
:
150px
;
margin-top
:
10px
;
p
{
font-size
:
16px
;
line-height
:
24px
;
p
{
font-size
:
16px
;
line-height
:
24px
;
}
}
}
</
style
>
\ No newline at end of file
</
style
>
...
...
src/views/workflow/components/szxx.vue
View file @
db5e982
...
...
@@ -70,214 +70,216 @@
</div>
</
template
>
<
script
>
import
{
getSlsqBdcqzList
,
invalidCertificate
,
getSzRecordList
}
from
"@/api/bdcqz.js"
;
import
bdcqzPrint
from
"./zsdy.vue"
;
import
{
popupDialog
}
from
"@/utils/popup.js"
;
export
default
{
components
:
{
bdcqzPrint
},
props
:
{},
data
()
{
return
{
dialog
:
false
,
tableData
:
[],
bdcqzlx
:
1
,
bdcqz
:
{},
zfyy
:
""
,
invalidDiglog
:
false
,
bsmSz
:
""
,
};
},
created
()
{
this
.
list
();
},
methods
:
{
//初始化列表
list
()
{
var
bsmSlsq
=
this
.
$route
.
query
.
bsmSlsq
;
getSlsqBdcqzList
({
bsmSlsq
:
bsmSlsq
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
tableData
=
res
.
result
;
if
(
res
.
result
)
{
this
.
bdcqz
=
res
.
result
[
0
];
}
}
});
import
{
getSlsqBdcqzList
,
invalidCertificate
,
getSzRecordList
}
from
"@/api/bdcqz.js"
;
import
bdcqzPrint
from
"./zsdy.vue"
;
import
{
popupDialog
}
from
"@/utils/popup.js"
;
export
default
{
components
:
{
bdcqzPrint
},
props
:
{},
data
()
{
return
{
dialog
:
false
,
tableData
:
[],
bdcqzlx
:
1
,
bdcqz
:
{},
zfyy
:
""
,
invalidDiglog
:
false
,
bsmSz
:
""
,
bsmBdcqz
:
""
};
},
created
()
{
this
.
list
();
},
//打开证书预览弹窗
openZsylDialog
(
item
,
type
)
{
l
et
that
=
this
;
if
(
type
==
1
)
{
//证书预览
this
.
$popup
(
"证书预览"
,
"workflow/components/zsyl"
,
{
height
:
"630px"
,
width
:
"800px"
,
formData
:
{
bdcqz
:
item
,
methods
:
{
//初始化列表
l
ist
()
{
var
bsmSlsq
=
this
.
$route
.
query
.
bsmSlsq
;
getSlsqBdcqzList
({
bsmSlsq
:
bsmSlsq
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
tableData
=
res
.
result
;
if
(
res
.
result
)
{
this
.
bdcqz
=
res
.
result
[
0
];
}
}
});
}
else
{
this
.
$nextTick
(()
=>
{
this
.
dialog
=
true
;
this
.
bdcqz
=
item
;
this
.
$refs
.
bdcqzPrint
.
getBdcqzPreview
();
})
//证书打印
// this.$popup("证书打印", "workflow/components/zsdy", {
// height: "700px",
// width: "800px",
// formData: {
// bsmSlsq: this.bsmSlsq,
// bdcqz: item,
// },
// btnShow: true,
// confirmText: "打印证书",
// cancel: () => {
// console.log("取消回调");
// },
// confirm: () => {
// that.list();
// },
// });
}
},
//再次打印
openInvalidDiglog
(
item
)
{
this
.
bsmSz
=
item
.
bsmSz
;
this
.
invalidDiglog
=
true
;
},
closeInvalidDiglog
()
{
this
.
invalidDiglog
=
false
;
this
.
bsmSz
=
""
;
this
.
zfyy
=
""
;
},
//作废缮证信息
confirmInvalid
()
{
invalidCertificate
({
bsmSz
:
this
.
bsmSz
,
zfyy
:
this
.
zfyy
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
list
();
this
.
$message
.
success
(
"作废成功"
);
this
.
invalidDiglog
=
false
;
this
.
openZsylDialog
(
this
.
bdcqz
);
},
//打开证书预览弹窗
openZsylDialog
(
item
,
type
)
{
let
that
=
this
;
if
(
type
==
1
)
{
//证书预览
this
.
$popup
(
"证书预览"
,
"workflow/components/zsyl"
,
{
height
:
"630px"
,
width
:
"800px"
,
formData
:
{
bdcqz
:
item
,
}
});
}
else
{
this
.
$message
.
error
(
res
.
message
);
this
.
$nextTick
(()
=>
{
this
.
dialog
=
true
;
this
.
bdcqz
=
item
;
this
.
$refs
.
bdcqzPrint
.
getBdcqzPreview
();
})
//证书打印
// this.$popup("证书打印", "workflow/components/zsdy", {
// height: "700px",
// width: "800px",
// formData: {
// bsmSlsq: this.bsmSlsq,
// bdcqz: item,
// },
// btnShow: true,
// confirmText: "打印证书",
// cancel: () => {
// console.log("取消回调");
// },
// confirm: () => {
// that.list();
// },
// });
}
});
},
//再次打印
openInvalidDiglog
(
item
)
{
this
.
bsmSz
=
item
.
bsmSz
;
this
.
invalidDiglog
=
true
;
this
.
bsmBdcqz
=
item
.
bsmBdcqz
},
closeInvalidDiglog
()
{
this
.
invalidDiglog
=
false
;
this
.
bsmSz
=
""
;
this
.
zfyy
=
""
;
},
//作废缮证信息
confirmInvalid
()
{
invalidCertificate
({
bsmbdcqz
:
this
.
bsmBdcqz
,
zfyy
:
this
.
zfyy
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
list
();
this
.
$message
.
success
(
"作废成功"
);
this
.
invalidDiglog
=
false
;
this
.
openZsylDialog
(
this
.
bdcqz
);
}
else
{
this
.
$message
.
error
(
res
.
message
);
}
});
},
openRecordPop
(
item
)
{
popupDialog
(
"缮证记录"
,
"workflow/components/szRecord"
,
{
bsmBdcqz
:
item
.
bsmBdcqz
},
'50%'
)
}
},
openRecordPop
(
item
)
{
popupDialog
(
"缮证记录"
,
"workflow/components/szRecord"
,
{
bsmBdcqz
:
item
.
bsmBdcqz
},
'50%'
)
}
},
};
};
</
script
>
<
style
scoped
lang=
'scss'
>
@import
"~@/styles/public.scss"
;
@import
"~@/styles/public.scss"
;
.szxx
{
box-sizing
:
border-box
;
padding-right
:
15px
;
width
:
100%
;
height
:
600px
;
overflow-y
:
scroll
;
.szxx
{
box-sizing
:
border-box
;
padding-right
:
15px
;
width
:
100%
;
height
:
600px
;
overflow-y
:
scroll
;
.box-card
{
float
:
left
;
width
:
300px
;
margin-top
:
10px
;
margin-right
:
10px
;
.box-card
{
float
:
left
;
width
:
300px
;
margin-top
:
10px
;
margin-right
:
10px
;
.szxx_body
{
height
:
240px
;
.szxx_body
{
height
:
240px
;
}
}
}
}
.szxx_header
{
color
:
#ffffff
;
font-weight
:
bolder
;
font-size
:
16px
;
.szxx_header
{
color
:
#ffffff
;
font-weight
:
bolder
;
font-size
:
16px
;
.header_type
{
display
:
flex
;
justify-content
:
center
;
align-content
:
center
;
.header_type
{
display
:
flex
;
justify-content
:
center
;
align-content
:
center
;
}
.header_text
{
text-align
:
center
;
margin-top
:
10px
;
line-height
:
30px
;
}
}
.header_text
{
text-align
:
center
;
margin-top
:
10px
;
line-height
:
30px
;
.top_line
{
border-top
:
2px
solid
rgb
(
222
,
222
,
222
);
}
}
.top_line
{
border-top
:
2px
solid
rgb
(
222
,
222
,
222
);
}
.text
{
margin-bottom
:
10px
;
text-align
:
center
;
}
.text
{
margin-bottom
:
10px
;
text-align
:
center
;
}
.color_iray
{
color
:
rgb
(
153
,
153
,
153
);
}
.color_iray
{
color
:
rgb
(
153
,
153
,
153
);
}
.color_red
{
color
:
rgb
(
255
,
89
,
24
);
}
.color_red
{
color
:
rgb
(
255
,
89
,
24
)
;
}
.middle_margin
{
margin-bottom
:
10px
;
}
.middle_margin
{
margin-bottom
:
10px
;
}
.operation_button
{
border
:
1px
solid
rgb
(
0
,
121
,
254
);
padding
:
5px
;
text-align
:
center
;
}
.operation_button
{
border
:
1px
solid
rgb
(
0
,
121
,
254
);
padding
:
5px
;
text-align
:
center
;
}
.card_padding
{
padding-top
:
8px
;
}
.card_padding
{
padding-top
:
8px
;
}
.invalid-diglog
{
padding-bottom
:
20px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgb
(
99
,
99
,
99
);
.invalid-diglog
{
padding-bottom
:
20px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgb
(
99
,
99
,
99
);
.invalid-title
{
display
:
flex
;
align-content
:
center
;
.invalid-title
{
display
:
flex
;
align-content
:
center
;
.invalid-icon
{
color
:
rgb
(
254
,
148
,
0
);
font-size
:
34px
;
margin-right
:
10px
;
}
.invalid-icon
{
color
:
rgb
(
254
,
148
,
0
)
;
font-size
:
34
px
;
margin-right
:
10px
;
.invalid-body
{
line-height
:
40px
;
margin-bottom
:
10
px
;
}
}
.invalid-body
{
line-height
:
40px
;
.invalid-reson
{
margin-bottom
:
10px
;
}
}
.invalid-reson
{
margin-bottom
:
10px
;
.dialog-footer
{
margin-top
:
10px
;
display
:
flex
;
justify-content
:
flex-end
;
}
}
.dialog-footer
{
margin-top
:
10px
;
display
:
flex
;
justify-content
:
flex-end
;
/
deep
/
.el-card__header
{
background-color
:
rgb
(
198
,
67
,
83
);
}
}
/
deep
/
.el-card__header
{
background-color
:
rgb
(
198
,
67
,
83
);
}
/
deep
/
.el-card__body
{
padding
:
0px
;
}
</
style
>
\ No newline at end of file
/
deep
/
.el-card__body
{
padding
:
0px
;
}
</
style
>
...
...
src/views/workflow/components/zslq.vue
View file @
db5e982
<
template
>
<dialogBox
title=
"不动产权证领取"
width=
"85%"
@
closeDialog=
"closeDialog"
@
submitForm=
"handleSubmit"
v-model=
"value"
>
<div
class=
"zslq"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"发证人姓名"
>
<el-input
v-model=
"ruleForm.fzrxm
"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"发证时间"
>
<el-input
v-model=
"ruleForm.fzrxm
"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"发证数量"
>
<el-input
v-model=
"ruleForm.fzsl"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<dialogBox
title=
"不动产权证领取"
width=
"85%"
@
closeDialog=
"closeDialog"
@
submitForm=
"handleSubmit"
v-model=
"value"
>
<div
class=
"zslq"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"发证人姓名"
>
<el-input
v-model=
"ruleForm.fzrmc
"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"发证时间"
>
<el-input
v-model=
"ruleForm.fzsj
"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"发证数量"
>
<el-input
v-model=
"ruleForm.fzsl"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<lb-table
border
:column=
"tableData.columns"
:data=
"tableData.data"
:pagination=
"false"
:heightNum=
"600"
>
</lb-table>
<el-row>
<el-col
:span=
"6"
>
<el-form-item
label=
"领证人"
prop=
"lzrxm"
>
<el-input
v-model=
"ruleForm.lzrxm"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"证件类型"
prop=
"lzrzjlb"
>
<el-select
v-model=
"ruleForm.lzrzjlb"
filterable
clearable
placeholder=
"请选择"
>
<el-option
v-for=
"item in zjzlData"
:key=
"item.dcode"
:label=
"item.dname"
:value=
"item.dcode"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"证件号"
prop=
"lzrzjh"
>
<el-input
v-model=
"ruleForm.lzrzjh"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"领证人电话"
prop=
"lzrdh"
>
<el-input
v-model=
"ruleForm.lzrdh"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</dialogBox>
<lb-table
border
:column=
"tableData.columns"
:data=
"tableData.data"
:pagination=
"false"
:heightNum=
"600"
>
</lb-table>
<el-row>
<el-col
:span=
"6"
>
<el-form-item
label=
"领证人"
prop=
"lzrxm"
>
<el-input
v-model=
"ruleForm.lzrxm"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"证件类型"
prop=
"lzrzjlb"
>
<el-select
v-model=
"ruleForm.lzrzjlb"
filterable
clearable
placeholder=
"请选择"
>
<el-option
v-for=
"item in zjzlData"
:key=
"item.dcode"
:label=
"item.dname"
:value=
"item.dcode"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"证件号"
prop=
"lzrzjh"
>
<el-input
v-model=
"ruleForm.lzrzjh"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"领证人电话"
prop=
"lzrdh"
>
<el-input
v-model=
"ruleForm.lzrdh"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</dialogBox>
</
template
>
<
script
>
import
store
from
'@/store/index.js'
import
table
from
"@/utils/mixin/table"
;
import
{
getUnclaimedBdcqz
,
issueCertificate
}
from
"@/api/bdcqz.js"
;
import
{
datas
}
from
"../javascript/fzxxdata"
;
export
default
{
props
:
{
value
:
{
type
:
Boolean
,
default
:
true
}
},
mixins
:
[
table
],
data
()
{
return
{
zjzlData
:
store
.
getters
.
dictData
[
'A30'
],
ruleForm
:
{
fzrxm
:
''
,
fzsj
:
''
,
fzsl
:
''
,
bdcqzList
:
[],
lzrxm
:
''
,
lzrzjlb
:
''
,
lzrzjh
:
''
,
lzrdh
:
''
},
rules
:
{
lzrxm
:
[
{
required
:
true
,
message
:
'请输入领证人'
,
trigger
:
'blur'
}
],
lzrzjlb
:
[
{
required
:
true
,
message
:
'请选择证件类型'
,
trigger
:
'change'
}
],
lzrzjh
:
[
{
required
:
true
,
message
:
'请输入证件号'
,
trigger
:
'blur'
}
],
lzrdh
:
[
{
required
:
true
,
message
:
'请输入电话号码'
,
trigger
:
'blur'
}
],
},
tableData
:
{
total
:
0
,
columns
:
datas
.
columns
().
lzgrid
,
data
:
[],
},
}
},
watch
:
{
value
(
val
)
{
if
(
val
)
{
this
.
loadGrid
();
}
import
store
from
'@/store/index.js'
import
table
from
"@/utils/mixin/table"
;
import
{
getUnclaimedBdcqz
,
issueCertificate
}
from
"@/api/bdcqz.js"
;
import
{
datas
}
from
"../javascript/fzxxdata"
;
export
default
{
props
:
{
value
:
{
type
:
Boolean
,
default
:
true
}
},
},
methods
:
{
//列表初始化
loadGrid
()
{
getUnclaimedBdcqz
({
bsmSlsq
:
this
.
$route
.
query
.
bsmSlsq
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
tableData
.
data
=
res
.
result
;
this
.
ruleForm
.
bdcqzList
=
res
.
result
;
}
})
mixins
:
[
table
],
data
()
{
return
{
zjzlData
:
store
.
getters
.
dictData
[
'A30'
],
ruleForm
:
{
fzrmc
:
''
,
fzsj
:
''
,
fzsl
:
''
,
bdcqzList
:
[],
lzrxm
:
''
,
lzrzjlb
:
''
,
lzrzjh
:
''
,
lzrdh
:
''
},
rules
:
{
lzrxm
:
[
{
required
:
true
,
message
:
'请输入领证人'
,
trigger
:
'blur'
}
],
lzrzjlb
:
[
{
required
:
true
,
message
:
'请选择证件类型'
,
trigger
:
'change'
}
],
lzrzjh
:
[
{
required
:
true
,
message
:
'请输入证件号'
,
trigger
:
'blur'
}
],
lzrdh
:
[
{
required
:
true
,
message
:
'请输入电话号码'
,
trigger
:
'blur'
}
],
},
tableData
:
{
total
:
0
,
columns
:
datas
.
columns
().
lzgrid
,
data
:
[],
},
}
},
handleSubmit
()
{
this
.
$refs
.
ruleForm
.
validate
(
valid
=>
{
if
(
valid
)
{
issueCertificate
(
this
.
ruleForm
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
'保存成功'
);
this
.
$parent
.
queryClick
();
this
.
$emit
(
"input"
,
false
);
}
else
{
this
.
$message
.
error
(
res
.
message
)
}
})
}
else
{
this
.
$message
.
error
(
"请填写领取人信息!"
)
return
false
;
watch
:
{
value
(
val
)
{
if
(
val
)
{
this
.
loadGrid
();
}
});
},
closeDialog
()
{
this
.
$emit
(
"input"
,
false
);
},
},
methods
:
{
//列表初始化
loadGrid
()
{
getUnclaimedBdcqz
({
bsmSlsq
:
this
.
$route
.
query
.
bsmSlsq
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
tableData
.
data
=
res
.
result
.
list
;
this
.
ruleForm
.
fzrmc
=
res
.
result
.
fzrmc
this
.
ruleForm
.
fzsj
=
res
.
result
.
fzsj
this
.
ruleForm
.
fzsl
=
res
.
result
.
fzsl
}
})
},
handleSubmit
()
{
this
.
$refs
.
ruleForm
.
validate
(
valid
=>
{
if
(
valid
)
{
issueCertificate
(
this
.
ruleForm
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
'保存成功'
);
this
.
$parent
.
queryClick
();
this
.
$emit
(
"input"
,
false
);
}
else
{
this
.
$message
.
error
(
res
.
message
)
}
})
}
else
{
this
.
$message
.
error
(
"请填写领取人信息!"
)
return
false
;
}
});
},
closeDialog
()
{
this
.
$emit
(
"input"
,
false
);
},
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"~@/styles/mixin.scss"
;
@import
"~@/styles/mixin.scss"
;
</
style
>
...
...
Please
register
or
sign in
to post a comment