Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
rbc-demo
Overview
Overview
Details
Activity
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
王衍超
rbc-demo
Commits
21c2d4c3
Commit
21c2d4c3
authored
May 17, 2022
by
yangchen
Browse files
Options
Browse Files
Download
Plain Diff
合并于develop
parents
33b2cb34
1446c9d4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
717 additions
and
259 deletions
+717
-259
gh_agreeAction.js
...ugin-billexpand/src/actions/labourUnion/gh_agreeAction.js
+40
-104
gh_rejectAction.js
...gin-billexpand/src/actions/labourUnion/gh_rejectAction.js
+67
-78
gh_retrieveAction.js
...n-billexpand/src/actions/labourUnion/gh_retrieveAction.js
+22
-0
gh_submitAction.js
...gin-billexpand/src/actions/labourUnion/gh_submitAction.js
+9
-4
index.js
develop/@gms/gms-plugin-billexpand/src/actions/util/index.js
+45
-0
typesBill.vue
...ms-plugin-billexpand/src/components-control/typesBill.vue
+3
-0
constant.js
develop/@gms/gms-plugin-billexpand/src/constant.js
+2
-0
approval-user-control.vue
...c/control/approval-user-control/approval-user-control.vue
+68
-46
approvalOpinionControl.vue
...-plugin-billexpand/src/control/approvalOpinionControl.vue
+0
-0
modification-track.vue
...and/src/control/modification-track/modification-track.vue
+266
-0
value-change-detail.vue
...nd/src/control/modification-track/value-change-detail.vue
+34
-0
achievements.vue
...-billexpand/src/control/vxe-achievements/achievements.vue
+47
-23
vxe-table.vue
...and/src/control/vxe-achievements/components/vxe-table.vue
+30
-2
emcon.js
develop/@gms/gms-plugin-billexpand/src/emcon.js
+38
-0
mcon.js
develop/@gms/gms-plugin-billexpand/src/mcon.js
+5
-1
exportExcel.js
...ms/gms-plugin-billexpand/src/query-actions/exportExcel.js
+1
-0
run.sh
develop/run.sh
+39
-0
solution.json
solution.json
+1
-1
No files found.
develop/@gms/gms-plugin-billexpand/src/actions/labourUnion/gh_agreeAction.js
View file @
21c2d4c3
import
Bridge
from
'../../components-control/util/bridge'
import
Bridge
from
'../../components-control/util/bridge'
import
SelectApprovers
from
'../../components-control/select-approvers.vue'
import
{
compareData
}
from
"../../components-control/util/dataChange"
import
{
compareData
}
from
"../../components-control/util/dataChange"
import
{
s
howSignModal
,
saveBill
,
verifyBil
l
}
from
'../util'
import
{
s
aveBill
,
verifyBill
,
showCommentModa
l
}
from
'../util'
import
{
BILL_GLOBAL_PARAM
}
from
'../../constant'
import
{
BILL_GLOBAL_PARAM
}
from
'../../constant'
export
default
{
export
default
{
execute
:
function
(
bill
,
param
)
{
execute
:
function
(
bill
,
param
)
{
bill
=
bill
.
dom
||
bill
if
(
bill
)
{
if
(
bill
)
{
if
(
!
verifyBill
(
bill
))
{
if
(
!
verifyBill
(
bill
))
{
GMS
.
$hideContainer
.
$Message
.
error
(
'验签失败'
)
GMS
.
$hideContainer
.
$Message
.
error
(
'验签失败'
)
return
return
}
}
if
(
!
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
)
||
!
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
taskId
)
{
GMS
.
$hideContainer
.
$Message
.
error
(
'请配置审批轨迹'
)
// if (!bill.getGlobalParam(BILL_GLOBAL_PARAM.APPROVAL_COMMENT) || !bill.getGlobalParam(BILL_GLOBAL_PARAM.APPROVAL_COMMENT).taskId) {
return
// GMS.$hideContainer.$Message.error('请配置审批轨迹')
}
// return
if
(
!
this
.
isApproverEqulloginer
(
bill
,
param
))
{
// }
GMS
.
$hideContainer
.
$Message
.
error
(
'单据审批状态已发生变化,请刷新界面'
)
return
// if (!this.isApproverEqulloginer(bill, param)) {
}
// GMS.$hideContainer.$Message.error('单据审批状态已发生变化,请刷新界面')
// return
// }
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
false
)
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
();
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
();
let
oldObj
=
curTagId
&&
GMS
.
oldBillDataMap
[
curTagId
]?
GMS
.
oldBillDataMap
[
curTagId
]:
GMS
.
oldBillData
;
let
oldObj
=
curTagId
&&
GMS
.
oldBillDataMap
&&
GMS
.
oldBillDataMap
[
curTagId
]?
GMS
.
oldBillDataMap
[
curTagId
]:
GMS
.
oldBillData
;
const
dataChangeFlag
=
compareData
(
oldObj
,
bill
.
getBuillData
())
const
dataChangeFlag
=
compareData
(
oldObj
,
bill
.
getBuillData
())
const
noRunTimeFormula
=
bill
.
getGlobalParam
(
"noRunTimeFormula"
)
const
noRunTimeFormula
=
bill
.
getGlobalParam
(
"noRunTimeFormula"
)
if
(
noRunTimeFormula
)
{
if
(
noRunTimeFormula
)
{
...
@@ -67,63 +71,12 @@ export default {
...
@@ -67,63 +71,12 @@ export default {
},
},
approvalLogical
:
function
(
bill
,
param
)
{
approvalLogical
:
function
(
bill
,
param
)
{
const
getApprovalList
=
()
=>
{
const
fn
=
()
=>
{
showCommentModal
(
bill
,
param
).
then
(()
=>
{
const
setApprover
=
(
data
)
=>
{
this
.
executeApproval
(
bill
,
param
)
bill
.
getMasterData
().
setValue
(
'APPROVERPROPERTIES'
,
data
,
null
,
'none'
)
}
let
taskId
=
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
taskId
;
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
false
)
let
selectedApprovers
=
[]
window
.
GMS
.
$http
.
get
(
`/bpm/bill/selectApprover/ApproverList/
${
taskId
}
`
).
then
((
res
)
=>
{
setApprover
(
null
)
if
(
res
.
data
.
code
==
204
)
{
this
.
executeApproval
(
bill
,
param
)
return
}
else
if
(
res
.
data
.
code
!=
200
)
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
GMS
.
$hideContainer
.
$Message
.
error
(
res
.
data
.
msg
||
'提交失败,请联系系统管理员'
);
return
}
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
const
nodeData
=
res
.
data
.
ApproverVo
const
optionList
=
[...
nodeData
.
approvers
]
if
(
optionList
.
length
==
0
)
{
GMS
.
$hideContainer
.
$Message
.
error
(
'未找到下一节点的审批人'
)
return
}
GMS
.
$hideContainer
.
$Modal
.
confirm
({
width
:
700
,
render
:
(
h
)
=>
{
return
h
(
SelectApprovers
,
{
props
:
{
optionList
,
},
on
:
{
'on-change'
:
(
val
)
=>
{
selectedApprovers
=
val
}
}
}
)
},
onOk
:
()
=>
{
const
data
=
JSON
.
stringify
({
...
nodeData
,
approvers
:
selectedApprovers
,
})
setApprover
(
data
)
this
.
executeApproval
(
bill
,
param
)
},
onCancel
:
()
=>
{
}
});
}).
catch
(()
=>
{
}).
catch
(()
=>
{
GMS
.
$hideContainer
.
$Message
.
error
(
'未找到下一节点的审批人'
);
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
})
})
}
}
...
@@ -133,7 +86,7 @@ export default {
...
@@ -133,7 +86,7 @@ export default {
}
}
bill
.
executeServerAction
(
saveParam
,
function
(
code
,
data
)
{
bill
.
executeServerAction
(
saveParam
,
function
(
code
,
data
)
{
if
(
code
===
200
)
{
if
(
code
===
200
)
{
getApprovalList
()
fn
()
}
else
{
}
else
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
if
(
data
.
message
.
includes
(
'还款金额不能大于未还金额'
))
{
if
(
data
.
message
.
includes
(
'还款金额不能大于未还金额'
))
{
...
@@ -145,7 +98,7 @@ export default {
...
@@ -145,7 +98,7 @@ export default {
}
}
}.
bind
(
this
));
}.
bind
(
this
));
}
else
{
}
else
{
getApprovalList
()
fn
()
}
}
},
},
executeApproval
:
function
(
bill
,
param
)
{
executeApproval
:
function
(
bill
,
param
)
{
...
@@ -155,10 +108,26 @@ export default {
...
@@ -155,10 +108,26 @@ export default {
?
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
suggestions
?
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
suggestions
:
''
;
:
''
;
if
(
!
comments
)
{
comments
=
'同意'
bill
.
setGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
,
{
taskId
,
suggestions
:
comments
})
}
const
fn
=
()
=>
{
const
fn
=
()
=>
{
saveBill
(
bill
,
param
).
then
(()
=>
{
saveBill
(
bill
,
param
).
then
(()
=>
{
GMS
.
$http
.
post
(
'/rbc/workflow/approve/completed/'
+
taskId
+
'?result=1&comments='
+
comments
).
then
(
GMS
.
$http
.
post
(
`/rbc/bill/action/zgh/change/work/
${
param
.
define
}
/bill.Basic.accept`
,
{
approvalComments
:
comments
,
data
:
bill
.
getBuillData
(),
detailData
:
[],
}
).
then
(
function
(
response
)
{
function
(
response
)
{
console
.
log
(
'response'
,
response
)
if
(
response
.
status
==
200
||
response
.
statusText
==
'OK'
)
{
if
(
response
.
status
==
200
||
response
.
statusText
==
'OK'
)
{
if
(
response
.
data
.
code
!=
0
)
{
if
(
response
.
data
.
code
!=
0
)
{
GMS
.
$hideContainer
.
$Message
.
error
(
response
.
data
.
message
)
GMS
.
$hideContainer
.
$Message
.
error
(
response
.
data
.
message
)
...
@@ -193,39 +162,7 @@ export default {
...
@@ -193,39 +162,7 @@ export default {
})
})
}
}
window
.
GMS
.
$http
.
get
(
`/rbc/workflow/signatureConfig/
${
taskId
}
`
).
then
((
res
)
=>
{
fn
()
const
{
isUseSignature
,
nodeName
}
=
res
.
data
&&
res
.
data
.
data
||
{}
if
(
isUseSignature
)
{
showSignModal
(
bill
,
param
,
nodeName
).
then
(
fn
).
catch
((
err
)
=>
{
if
(
err
)
console
.
error
(
err
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
})
}
else
{
fn
()
}
})
return
},
},
isApproverEqulloginer
:
function
(
bill
,
param
)
{
const
loginer
=
GMS
.
userContext
&&
GMS
.
userContext
.
id
||
window
.
nros
.
getUser
().
conetxtUser
.
id
;
let
approver
=
[]
$
.
ajax
({
type
:
"GET"
,
url
:
`
${
osConfig
.
baseUrl
}
/rbc/workflow/confirmApprover/getUserId/
${
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
taskId
}
`
,
async
:
false
,
contentType
:
"application/json;"
,
beforeSend
:
function
(
request
)
{
request
.
setRequestHeader
(
"Authorization"
,
GMS
.
util
.
getAuthorization
());
},
success
:
function
(
data1
)
{
approver
=
data1
.
ownerIds
},
error
:
function
()
{
}
})
return
approver
.
includes
(
loginer
)
}
}
}
\ No newline at end of file
develop/@gms/gms-plugin-billexpand/src/actions/labourUnion/gh_rejectAction.js
View file @
21c2d4c3
import
Bridge
from
'../../components-control/util/bridge'
import
Bridge
from
'../../components-control/util/bridge'
import
{
compareData
}
from
"../../components-control/util/dataChange"
import
{
compareData
}
from
"../../components-control/util/dataChange"
import
{
SIGNATURE_TABLE_NAME
,
BILL_GLOBAL_PARAM
}
from
'../../constant'
import
{
SIGNATURE_TABLE_NAME
,
BILL_GLOBAL_PARAM
}
from
'../../constant'
import
{
saveBill
}
from
'../util'
import
{
saveBill
,
showCommentModal
}
from
'../util'
export
default
{
export
default
{
execute
:
function
(
bill
,
param
)
{
execute
:
function
(
bill
,
param
)
{
if
(
bill
){
if
(
bill
)
{
if
(
!
this
.
isApproverEqulloginer
(
bill
,
param
))
{
bill
=
bill
.
dom
||
bill
GMS
.
$hideContainer
.
$Message
.
error
(
'单据审批状态已发生变化,请刷新界面'
)
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
();
return
let
oldObj
=
curTagId
&&
GMS
.
oldBillDataMap
[
curTagId
]
?
GMS
.
oldBillDataMap
[
curTagId
]
:
GMS
.
oldBillData
;
}
let
flag
=
compareData
(
oldObj
,
bill
.
getBuillData
())
||
bill
.
getGlobalParam
(
"noRunTimeFormula"
);
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
();
if
(
flag
)
{
let
oldObj
=
curTagId
&&
GMS
.
oldBillDataMap
[
curTagId
]?
GMS
.
oldBillDataMap
[
curTagId
]:
GMS
.
oldBillData
;
this
.
approvalLogical
(
bill
,
param
,
this
)
let
flag
=
compareData
(
oldObj
,
bill
.
getBuillData
())
||
bill
.
getGlobalParam
(
"noRunTimeFormula"
);
}
else
{
if
(
flag
)
{
GMS
.
$hideContainer
.
$Modal
.
confirm
({
this
.
approvalLogical
(
bill
,
param
,
this
)
title
:
"信息提示"
,
}
else
{
content
:
"信息发生变化, 是否保存"
,
GMS
.
$hideContainer
.
$Modal
.
confirm
({
onOk
:
()
=>
{
title
:
"信息提示"
,
saveBill
(
bill
,
param
).
then
(()
=>
{
content
:
"信息发生变化, 是否保存"
,
this
.
approvalLogical
(
bill
,
param
)
onOk
:
()
=>
{
})
saveBill
(
bill
,
param
).
then
(()
=>
{
},
this
.
approvalLogical
(
bill
,
param
)
onCancel
:
()
=>
{
})
}
},
})
onCancel
:
()
=>
{
}
})
}
}
else
{
GMS
.
$hideContainer
.
$Message
.
error
(
'缺少参数'
);
}
}
}
else
{
GMS
.
$hideContainer
.
$Message
.
error
(
'缺少参数'
);
}
},
},
approvalLogical
:
function
(
bill
,
param
)
{
approvalLogical
:
function
(
bill
,
param
)
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
false
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
false
)
if
(
param
.
param
.
actions
){
if
(
param
.
param
.
actions
)
{
let
saveParam
=
{
let
saveParam
=
{
actions
:
param
.
param
.
actions
,
actions
:
param
.
param
.
actions
,
}
bill
.
executeServerAction
(
saveParam
,
function
(
code
,
data
)
{
if
(
code
===
200
)
{
this
.
approval
(
bill
,
param
);
}
else
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
GMS
.
$hideContainer
.
$message
.
error
(
"操作异常请联系管理员"
);
}
}
bill
.
executeServerAction
(
saveParam
,
function
(
code
,
data
){
}.
bind
(
this
));
if
(
code
===
200
){
this
.
approval
(
bill
,
param
);
}
else
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
GMS
.
$hideContainer
.
$message
.
error
(
"操作异常请联系管理员"
);
}
}.
bind
(
this
));
}
else
{
}
else
{
this
.
approval
(
bill
,
param
);
this
.
approval
(
bill
,
param
);
}
}
},
},
approval
:
function
(
bill
,
param
){
approval
:
function
(
bill
,
param
)
{
if
(
!
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
)
||
!
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
taskId
)
{
GMS
.
$hideContainer
.
$Message
.
error
(
'请配置审批轨迹'
)
const
fn
=
()
=>
{
return
}
let
taskId
=
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
taskId
;
let
comments
=
let
comments
=
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
suggestions
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
suggestions
?
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
suggestions
?
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
suggestions
:
''
:
''
bill
.
clearSubDatas
(
SIGNATURE_TABLE_NAME
)
bill
.
clearSubDatas
(
SIGNATURE_TABLE_NAME
)
saveBill
(
bill
,
param
).
then
(()
=>
{
saveBill
(
bill
,
param
).
then
(()
=>
{
GMS
.
$http
.
post
(
'/rbc/workflow/approve/completed/'
+
taskId
+
'?result=3&comments='
+
comments
).
then
(
GMS
.
$http
.
post
(
function
(
response
)
{
`/rbc/bill/action/zgh/change/work/
${
param
.
define
}
/bill.Basic.reject`
,
{
approvalComments
:
comments
,
data
:
bill
.
getBuillData
(),
detailData
:
[],
},
).
then
(
function
(
response
)
{
if
(
response
.
status
==
200
||
response
.
statusText
==
'OK'
)
{
if
(
response
.
status
==
200
||
response
.
statusText
==
'OK'
)
{
if
(
response
.
data
.
code
!=
0
)
{
if
(
response
.
data
.
code
!=
0
)
{
GMS
.
$hideContainer
.
$Message
.
error
(
response
.
data
.
message
)
GMS
.
$hideContainer
.
$Message
.
error
(
response
.
data
.
message
)
return
return
}
}
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
();
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
();
GMS
.
vbus
.
$emit
(
'change-form-state'
,
{
state
:
'readOnly'
},
curTagId
)
GMS
.
vbus
.
$emit
(
'change-form-state'
,
{
state
:
'readOnly'
},
curTagId
)
GMS
.
$hideContainer
.
$Message
.
success
(
'驳回成功!'
)
GMS
.
$hideContainer
.
$Message
.
success
(
'驳回成功!'
)
if
(
if
(
window
.
osConfig
.
appOpenMode
&&
window
.
osConfig
.
appOpenMode
&&
...
@@ -88,32 +90,20 @@ export default {
...
@@ -88,32 +90,20 @@ export default {
}
}
}.
bind
(
this
)
}.
bind
(
this
)
)
)
.
catch
(
.
catch
(
function
(
error
)
{
function
(
error
)
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
tru
e
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
fals
e
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
fals
e
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
tru
e
)
GMS
.
$hideContainer
.
$Message
.
error
(
'工作流配置错误,请联系管理员'
)
GMS
.
$hideContainer
.
$Message
.
error
(
'工作流配置错误,请联系管理员'
)
}.
bind
(
this
)
}.
bind
(
this
)
);
);
})
})
}
showCommentModal
(
bill
,
param
,
true
).
then
(
fn
).
catch
((
error
)
=>
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
})
},
},
isApproverEqulloginer
:
function
(
bill
,
param
)
{
const
loginer
=
GMS
.
userContext
&&
GMS
.
userContext
.
id
||
window
.
nros
.
getUser
().
conetxtUser
.
id
;
let
approver
=
[]
$
.
ajax
({
type
:
"GET"
,
url
:
`
${
osConfig
.
baseUrl
}
/rbc/workflow/confirmApprover/getUserId/
${
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
taskId
}
`
,
async
:
false
,
contentType
:
"application/json;"
,
beforeSend
:
function
(
request
)
{
request
.
setRequestHeader
(
"Authorization"
,
GMS
.
util
.
getAuthorization
());
},
success
:
function
(
data1
)
{
approver
=
data1
.
ownerIds
},
error
:
function
()
{
}
})
return
approver
.
includes
(
loginer
)
}
}
}
\ No newline at end of file
develop/@gms/gms-plugin-billexpand/src/actions/labourUnion/gh_retrieveAction.js
0 → 100644
View file @
21c2d4c3
export
default
{
execute
(
bill
,
param
)
{
bill
=
bill
.
dom
||
bill
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
false
)
GMS
.
$http
.
post
(
`/rbc/bill/action/zgh/change/work/
${
param
.
define
}
/bill.Basic.retrieve`
,
{
approvalComments
:
comments
,
data
:
bill
.
getBuillData
(),
detailData
:
[],
}
).
then
(()
=>
{
GMS
.
$hideContainer
.
$Message
.
success
(
'操作成功!'
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
}).
catch
(()
=>
{
GMS
.
$hideContainer
.
$Message
.
error
(
'系统错误,请联系管理员'
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
})
},
}
develop/@gms/gms-plugin-billexpand/src/actions/labourUnion/gh_submitAction.js
View file @
21c2d4c3
...
@@ -4,6 +4,8 @@ import { showSignModal, saveBill } from "../util";
...
@@ -4,6 +4,8 @@ import { showSignModal, saveBill } from "../util";
export
default
{
export
default
{
execute
:
function
(
bill
,
param
)
{
execute
:
function
(
bill
,
param
)
{
bill
=
bill
.
dom
||
bill
console
.
log
(
param
,
bill
)
if
(
param
&&
param
.
param
&&
param
.
param
.
budgetcontrol
)
{
if
(
param
&&
param
.
param
&&
param
.
param
.
budgetcontrol
)
{
let
res
=
this
.
getBudgetControl
(
bill
,
true
,
param
);
let
res
=
this
.
getBudgetControl
(
bill
,
true
,
param
);
res
.
then
((
data
)
=>
{
res
.
then
((
data
)
=>
{
...
@@ -77,9 +79,12 @@ export default {
...
@@ -77,9 +79,12 @@ export default {
const
submitFn
=
()
=>
{
const
submitFn
=
()
=>
{
let
postData
=
{
let
postData
=
{
data
:
bill
.
getBuillData
(),
data
:
bill
.
getBuillData
(),
};
detailData
:
[],
let
url
=
`/rbc/bill/workflowAction/executed/
${
param
.
define
}
/workflow.submitToFlow?transmission=total`
;
}
window
.
GMS
.
$http
.
post
(
url
,
JSON
.
stringify
(
postData
)).
then
((
response
)
=>
{
let
url
=
`/rbc/bill/action/zgh/change/work/
${
param
.
define
}
/bill.Basic.submit`
;
window
.
GMS
.
$http
.
post
(
url
,
postData
).
then
((
response
)
=>
{
console
.
log
(
'------------------------------------'
)
console
.
log
(
response
)
const
data
=
response
.
data
const
data
=
response
.
data
let
code
=
200
let
code
=
200
if
(
data
.
code
!=
0
)
{
if
(
data
.
code
!=
0
)
{
...
@@ -104,8 +109,8 @@ export default {
...
@@ -104,8 +109,8 @@ export default {
}
}
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
GMS
.
$hideContainer
.
$Message
.
error
(
'工作流配置错误,请联系管理员'
);
GMS
.
$hideContainer
.
$Message
.
error
(
'工作流配置错误,请联系管理员'
);
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
})
})
}
}
...
...
develop/@gms/gms-plugin-billexpand/src/actions/util/index.js
View file @
21c2d4c3
...
@@ -7,6 +7,7 @@ import {
...
@@ -7,6 +7,7 @@ import {
import
{
getValueListString
}
from
'../../utils'
import
{
getValueListString
}
from
'../../utils'
import
{
btnVerifySync
}
from
'../../BJCAWebsign'
import
{
btnVerifySync
}
from
'../../BJCAWebsign'
import
ElectronicSignature
from
'../../components-control/electronic-signature.vue'
import
ElectronicSignature
from
'../../components-control/electronic-signature.vue'
import
ApprovalUserControl
from
'../../control/approval-user-control/approval-user-control.vue'
export
const
saveBill
=
(
bill
,
param
,
postData
)
=>
{
export
const
saveBill
=
(
bill
,
param
,
postData
)
=>
{
if
(
!
postData
)
{
if
(
!
postData
)
{
...
@@ -122,6 +123,50 @@ export const showSignModal = (bill, param, nodeName) => {
...
@@ -122,6 +123,50 @@ export const showSignModal = (bill, param, nodeName) => {
})
})
}
}
export
const
showCommentModal
=
(
bill
,
param
,
checkComment
)
=>
{
const
h
=
GMS
.
$hideContainer
.
$createElement
const
vNode
=
h
(
ApprovalUserControl
,
{
props
:
{
define
:
{
isModal
:
true
,
config
:
{
placeholder
:
'请直接输入您的意见或在下方选择常用意见'
},
},
context
:
{
bill
,
},
},
}
)
window
.
GMS
.
vbus
.
$emit
(
GLOBAL_EVENT
.
APPROVAL_USER_CONTROL_RESETVALUE
)
return
GMS
.
$hideContainer
.
$msgbox
({
title
:
'审批意见'
,
message
:
vNode
,
showCancelButton
:
true
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
beforeClose
:
(
action
,
instance
,
done
)
=>
{
if
(
action
===
'confirm'
)
{
let
comments
=
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
)
&&
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
suggestions
if
(
comments
||
!
checkComment
)
{
done
()
}
else
{
GMS
.
$hideContainer
.
$Message
.
error
(
'请输入审批意见'
)
}
}
else
{
done
()
}
}
})
}
export
const
verifyBill
=
(
bill
)
=>
{
export
const
verifyBill
=
(
bill
)
=>
{
const
dataObjList
=
bill
.
getSubData
(
SIGNATURE_TABLE_NAME
)
const
dataObjList
=
bill
.
getSubData
(
SIGNATURE_TABLE_NAME
)
if
(
!
(
dataObjList
instanceof
Array
&&
dataObjList
.
length
))
return
true
if
(
!
(
dataObjList
instanceof
Array
&&
dataObjList
.
length
))
return
true
...
...
develop/@gms/gms-plugin-billexpand/src/components-control/typesBill.vue
View file @
21c2d4c3
...
@@ -122,6 +122,9 @@ export default {
...
@@ -122,6 +122,9 @@ export default {
let
that
=
this
;
let
that
=
this
;
setTimeout
(()
=>
{
setTimeout
(()
=>
{
that
.
billClass
=
bill
;
that
.
billClass
=
bill
;
if
(
!
GMS
.
oldBillDataMap
)
GMS
.
oldBillDataMap
=
{}
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
()
curTagId
&&
(
GMS
.
oldBillDataMap
[
curTagId
]
=
bill
.
getBuillData
())
GMS
.
oldBillData
=
bill
.
getBuillData
();
GMS
.
oldBillData
=
bill
.
getBuillData
();
that
.
oldBillData
=
bill
.
getBuillData
();
// 单据整体对象
that
.
oldBillData
=
bill
.
getBuillData
();
// 单据整体对象
},
100
);
},
100
);
...
...
develop/@gms/gms-plugin-billexpand/src/constant.js
View file @
21c2d4c3
...
@@ -16,4 +16,6 @@ export const BILL_GLOBAL_PARAM = {
...
@@ -16,4 +16,6 @@ export const BILL_GLOBAL_PARAM = {
export
const
GLOBAL_EVENT
=
{
export
const
GLOBAL_EVENT
=
{
VERIFY_SIGNATURE_FAIL
:
'verifySignatureFail'
,
VERIFY_SIGNATURE_FAIL
:
'verifySignatureFail'
,
APPROVAL_USER_CONTROL_RESETVALUE
:
'approvalUserControlResetValue'
,
}
}
develop/@gms/gms-plugin-billexpand/src/control/approval-user-control/approval-user-control.vue
View file @
21c2d4c3
<
template
>
<
template
>
<div>
<div
class=
"approval-user-control"
>
<div
v-if=
"isModal"
class=
"top-button-group"
>
<Button
@
click=
"openEditModal"
size=
"small"
>
<svg
aria-hidden=
"true"
class=
"icon"
>
<use
xlink:href=
"#icon-a-16_BILLEXPAND_C_RBC_EDIT"
></use>
</svg>
</Button>
<Button
@
click=
"handleAdd"
size=
"small"
>
<svg
aria-hidden=
"true"
class=
"icon"
>
<use
xlink:href=
"#icon-a-16_BILLEXPAND_A_RBC_ADD"
></use>
</svg>
</Button>
</div>
<div
class=
"suggestion-wrapper"
>
<div
class=
"suggestion-wrapper"
>
<div
class=
"label"
>
{{
this
.
define
.
title
}}
</div>
<div
v-if=
"!isModal"
class=
"label"
>
{{
this
.
define
.
title
}}
</div>
<div
class=
"input-wrapper"
>
<div
class=
"input-wrapper"
>
<Input
v-model=
"value"
type=
"textarea"
:placeholder=
"define.config.placeholder"
:maxlength=
"240"
/>
<Input
v-model=
"value"
type=
"textarea"
:placeholder=
"define.config.placeholder"
:maxlength=
"240"
/>
<div
class=
"suggestion-button-wrapper"
>
<div
class=
"suggestion-button-wrapper"
>
...
@@ -31,10 +44,6 @@
...
@@ -31,10 +44,6 @@
</div>
</div>
</ConfirmPopover>
</ConfirmPopover>
</div>
</div>
<!--
<div>
<Button
size=
"small"
@
click=
"suggestionOptionModal = true"
>
edit
</Button>
<Button
size=
"small"
@
click=
"handleAdd"
>
add
</Button>
</div>
-->
</div>
</div>
</div>
</div>
<el-dialog
<el-dialog
...
@@ -124,7 +133,7 @@
...
@@ -124,7 +133,7 @@
<
script
>
<
script
>
const
TABLE_NAME
=
"MD_SPYJ"
const
TABLE_NAME
=
"MD_SPYJ"
import
ConfirmPopover
from
'./confirm-popover'
import
ConfirmPopover
from
'./confirm-popover'
import
{
BILL_GLOBAL_PARAM
}
from
'../../constant'
;
import
{
BILL_GLOBAL_PARAM
,
GLOBAL_EVENT
}
from
'../../constant'
;
export
default
{
export
default
{
name
:
'ApprovalUserControl'
,
name
:
'ApprovalUserControl'
,
...
@@ -185,6 +194,7 @@ export default {
...
@@ -185,6 +194,7 @@ export default {
}
}
},
},
mounted
()
{
mounted
()
{
this
.
isModal
=
this
.
define
.
isModal
this
.
reviewParam
[
'taskId'
]
=
GMS
.
workflowTaskId
this
.
reviewParam
[
'taskId'
]
=
GMS
.
workflowTaskId
this
.
taskId
=
GMS
.
workflowTaskId
;
this
.
taskId
=
GMS
.
workflowTaskId
;
// this.reviewParam['billid'] = this.$route.query.id;
// this.reviewParam['billid'] = this.$route.query.id;
...
@@ -193,6 +203,7 @@ export default {
...
@@ -193,6 +203,7 @@ export default {
this
.
currentTagId
=
window
.
nros
.
context
.
getCurrTag
()
this
.
currentTagId
=
window
.
nros
.
context
.
getCurrTag
()
window
.
GMS
.
vbus
.
$on
(
'approval-user-control-edit'
,
this
.
openEditModal
)
window
.
GMS
.
vbus
.
$on
(
'approval-user-control-edit'
,
this
.
openEditModal
)
window
.
GMS
.
vbus
.
$on
(
'approval-user-control-add'
,
this
.
handleAdd
)
window
.
GMS
.
vbus
.
$on
(
'approval-user-control-add'
,
this
.
handleAdd
)
window
.
GMS
.
vbus
.
$on
(
GLOBAL_EVENT
.
APPROVAL_USER_CONTROL_RESETVALUE
,
this
.
resetValue
)
this
.
getSuggestionOptions
()
this
.
getSuggestionOptions
()
},
},
beforeDestroy
()
{
beforeDestroy
()
{
...
@@ -200,6 +211,10 @@ export default {
...
@@ -200,6 +211,10 @@ export default {
window
.
GMS
.
vbus
.
$off
(
'approval-user-control-add'
,
this
.
handleAdd
)
window
.
GMS
.
vbus
.
$off
(
'approval-user-control-add'
,
this
.
handleAdd
)
},
},
methods
:
{
methods
:
{
resetValue
()
{
if
(
this
.
currentTagId
&&
this
.
currentTagId
!=
window
.
nros
.
context
.
getCurrTag
())
return
this
.
value
=
''
},
showDeletePopover
(
suggestion
)
{
showDeletePopover
(
suggestion
)
{
this
.
$set
(
suggestion
,
'visible'
,
true
)
this
.
$set
(
suggestion
,
'visible'
,
true
)
},
},
...
@@ -348,52 +363,59 @@ export default {
...
@@ -348,52 +363,59 @@ export default {
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.suggestion-wrapper
{
.approval-user-control
{
display
:
flex
;
.top-button-group
{
.label
{
display
:
flex
;
width
:
90px
;
padding
:
0
0
10px
15px
;
text-align
:
right
;
}
}
.input-wrapper
{
.suggestion-wrapper
{
flex
:
1
;
display
:
flex
;
padding-left
:
15px
;
.label
{
.suggestion-button-wrapper
{
width
:
90px
;
display
:
flex
;
text-align
:
right
;
flex-wrap
:
wrap
;
}
padding-top
:
12px
;
.input-wrapper
{
max-height
:
84px
;
flex
:
1
;
overflow
:
hidden
;
padding-left
:
15px
;
.suggestion-button
{
.suggestion-button-wrapper
{
cursor
:
pointer
;
display
:
flex
;
height
:
28px
;
flex-wrap
:
wrap
;
padding
:
0px
11px
;
padding-top
:
12px
;
margin
:
0px
8px
8px
0px
;
max-height
:
84px
;
border-radius
:
3px
;
overflow
:
hidden
;
position
:
relative
;
.suggestion-button
{
.delete-icon
{
cursor
:
pointer
;
width
:
12px
;
height
:
12px
;
font-size
:
10px
;
color
:
red
;
position
:
absolute
;
top
:
-10px
;
right
:
-6px
;
}
.text
{
height
:
28px
;
height
:
28px
;
max-width
:
140px
;
padding
:
0px
11px
;
white-space
:
nowrap
;
margin
:
0px
8px
8px
0px
;
overflow
:
hidden
;
border-radius
:
3px
;
text-overflow
:
ellipsis
;
position
:
relative
;
font-size
:
14px
;
.delete-icon
{
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
width
:
12px
;
font-weight
:
400
;
height
:
12px
;
line-height
:
28px
;
font-size
:
10px
;
color
:
red
;
position
:
absolute
;
top
:
-10px
;
right
:
-6px
;
}
.text
{
height
:
28px
;
max-width
:
140px
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
line-height
:
28px
;
}
}
}
}
}
}
}
}
}
}
}
.suggestion-edit-table-popper
[
style
]
{
.suggestion-edit-table-popper
[
style
]
{
z-index
:
3000
!important
;
z-index
:
3000
!important
;
}
}
...
...
develop/@gms/gms-plugin-billexpand/src/control/approvalOpinionControl.vue
deleted
100644 → 0
View file @
33b2cb34
This diff is collapsed.
Click to expand it.
develop/@gms/gms-plugin-billexpand/src/control/modification-track/modification-track.vue
0 → 100644
View file @
21c2d4c3
<
template
>
<div>
<div
class=
"modification-button"
:style=
"
{top: styleTop, right: styleRight}" @click="showDrawer = true">
<div
class=
"icon"
>
<svg
width=
"28px"
height=
"28px"
viewBox=
"0 0 28 28"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
<use
xlink:href=
"#icon-a-28_BILLEXPAND_C_RBC_xinshenpiguiji"
></use>
</svg>
</div>
</div>
<Drawer
:transfer=
"false"
title=
"变更轨迹"
:closable=
"true"
v-model=
"showDrawer"
:width=
"styleDrawerWidth"
:inner=
"true"
:mask=
"false"
>
<div
v-if=
"!data || data.length == 0"
>
暂无数据
</div>
<div
v-if=
"data && data.length"
class=
"modification-step-wrapper"
>
<div
class=
"modification-step"
v-for=
"step, k in data"
:key=
"k"
>
<div
class=
"step-head"
>
<div
class=
"step-circle"
>
</div>
<div
:class=
"`step-line waiting-line`"
v-if=
"k != data.length - 1"
></div>
</div>
<div
class=
"step-main"
>
<div
class=
"main-body"
>
<div
class=
"text-black"
>
<div>
<span
class=
"participants"
>
{{
step
.
createUserName
}}
</span>
</div>
</div>
<div>
{{
formatDate
(
step
.
createTime
)
}}
</div>
<div
class=
"comment"
>
<div
class=
"modification"
>
<div
v-for=
"modification in step.modifyDesc"
:key=
"modification.label"
>
<div
class=
"label text-main"
>
{{
modification
.
label
}}
</div>
<div
v-if=
"isArray(modification.value)"
>
<div
class=
"sub-table-modification-header"
@
click=
"currentExpandBlock == modification ? currentExpandBlock = null : currentExpandBlock = modification"
>
<Icon
v-if=
"isCurrentExpandBlock(modification)"
type=
"ios-arrow-down"
/>
<Icon
v-else
type=
"ios-arrow-forward"
/>
<div>
{{
isCurrentExpandBlock
(
modification
)
?
'收起明细'
:
'展开明细'
}}
</div>
</div>
<div
style=
"margin-left: 10px"
v-if=
"isCurrentExpandBlock(modification)"
>
<div
v-for=
"subModification in modification.value[0]"
:key=
"subModification.label"
>
<div
class=
"label text-main"
>
{{
subModification
.
label
}}
</div>
<ValueChangeDetail
:value=
"subModification.value"
/>
</div>
</div>
</div>
<ValueChangeDetail
v-else
:value=
"modification.value"
/>
<Divider
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</Drawer>
</div>
</
template
>
<
script
>
import
ValueChangeDetail
from
'./value-change-detail.vue'
export
default
{
components
:
{
ValueChangeDetail
,
},
props
:
{
define
:
{
type
:
Object
,
required
:
true
,
},
context
:
{
type
:
Object
,
default
:
()
=>
{
}
}
},
data
()
{
return
{
showDrawer
:
false
,
data
:
[],
currentExpandBlock
:
null
,
}
},
computed
:
{
styleTop
()
{
return
this
.
define
.
layout
.
top
||
'0px'
},
styleRight
()
{
return
this
.
define
.
layout
.
right
||
'0px'
},
styleDrawerWidth
()
{
return
this
.
define
.
layout
.
drawerWidth
||
'400px'
},
},
mounted
()
{
console
.
log
(
this
.
define
,
this
.
context
)
const
{
tableName
}
=
this
.
define
.
config
const
subTable
=
this
.
context
.
bill
.
getSubData
(
tableName
)
if
(
subTable
instanceof
Array
)
{
this
.
data
=
subTable
.
map
((
o
)
=>
{
const
ans
=
{}
;[
'createTime'
,
'createUserName'
,
'deptName'
,
'modifyDesc'
].
forEach
((
key
)
=>
{
ans
[
key
]
=
o
.
getValue
(
key
)
})
ans
[
'createTime'
]
=
new
Date
(
ans
[
'createTime'
]).
format
(
'yyyy-MM-dd HH:mm:ss'
)
console
.
log
(
ans
[
'modifyDesc'
])
ans
[
'modifyDesc'
]
=
JSON
.
parse
(
ans
[
'modifyDesc'
])
return
ans
})
}
console
.
log
(
this
.
data
)
},
beforeDestroy
()
{
},
methods
:{
isCurrentExpandBlock
(
block
)
{
return
this
.
currentExpandBlock
===
block
},
isArray
(
obj
)
{
return
obj
instanceof
Array
},
formatDate
(
datetime
)
{
const
t
=
new
Date
(
datetime
)
return
t
.
format
(
'yyyy-MM-dd HH:mm:ss'
)
},
},
}
</
script
>
<
style
lang=
"less"
scoped
>
@icon-width
:
24px
;
@main-color
:
#0DA2E6
;
.modification-button
{
cursor
:
pointer
;
position
:
absolute
;
z-index
:
1000
;
padding-top
:
4px
;
width
:
42px
;
height
:
36px
;
background
:
#005791
;
box-shadow
:
0
0
4px
0
rgba
(
109
,
109
,
109
,
0.50
);
border-radius
:
100px
0
0
100px
;
.icon
{
width
:
28px
;
height
:
28px
;
margin-left
:
11px
;
}
.text
{
margin-top
:
2px
;
text-align
:
center
;
height
:
17px
;
font-size
:
12px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#FFFFFF
;
line-height
:
17px
;
text-shadow
:
0px
1px
6px
rgba
(
255
,
169
,
56
,
0.8
);
}
}
.modification-step-wrapper
{
width
:
100%
;
.modification-step
{
width
:
100%
;
position
:
relative
;
.step-head
{
width
:
@
icon-width
;
position
:
absolute
;
height
:
100%
;
.step-circle
{
width
:
10px
;
height
:
10px
;
border-radius
:
50%
;
margin
:
5px
auto
0
auto
;
border
:
1px
@
main-color
solid
;
}
.waiting-icon
{
color
:
@
main-color
;
}
.finish-icon
{
color
:
#888
;
}
.step-line
{
margin-left
:
@
icon-width
/
2
;
width
:
1px
;
height
:
calc
(
100%
-
10px
);
}
.finish-line
{
background-color
:
#C8C8C8
;
}
.waiting-line
{
background-color
:
@
main-color
;
}
}
.step-main
{
width
:
100%
;
min-height
:
calc
(
@
icon-width
+
10px
);
padding-left
:
@
icon-width
;
font-size
:
12px
;
color
:
#888888
;
line-height
:
17px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
.main-body
{
padding-bottom
:
30px
;
padding-left
:
5px
;
>
div
{
margin-bottom
:
5px
;
}
.text-gray
{
color
:
#888888
;
}
.text-black
{
color
:
#222222
;
}
.text-main
{
color
:
@
main-color
;
}
.text-error
{
color
:
#ED664B
;
}
.participants
{
height
:
20px
;
font-size
:
14px
;
line-height
:
20px
;
}
.result
{
height
:
20px
;
font-size
:
14px
;
line-height
:
20px
;
}
.comment
{
.modification
{
margin-top
:
5px
;
.sub-table-modification-header
{
user-select
:
none
;
cursor
:
pointer
;
display
:
flex
;
align-items
:
center
;
}
}
}
}
}
}
}
</
style
>
develop/@gms/gms-plugin-billexpand/src/control/modification-track/value-change-detail.vue
0 → 100644
View file @
21c2d4c3
<
template
>
<div
class=
"value-change-detail"
>
<div
class=
"value-block"
>
{{
value
.
oldDesc
||
'null'
}}
</div>
<div
class=
"arrow"
><Icon
type=
"md-arrow-round-forward"
/></div>
<div
class=
"value-block"
>
{{
value
.
newDesc
||
'null'
}}
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
value
:
{
default
:
()
=>
({}),
type
:
Object
,
},
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.value-change-detail
{
display
:
flex
;
.value-block
{
width
:
45%
;
}
.arrow
{
width
:
10%
;
height
:
100%
;
align-self
:
center
;
color
:
#0DA2E6
;
}
}
</
style
>
\ No newline at end of file
develop/@gms/gms-plugin-billexpand/src/control/vxe-achievements/achievements.vue
View file @
21c2d4c3
<
template
>
<
template
>
<div
class=
"bill-achievements"
>
<div
class=
"bill-achievements"
>
<Button
type=
"primary"
@
click=
"Primary"
>
Primary
</Button>
<Button
type=
"primary"
@
click=
"Primary"
>
Primary
</Button>
<vxe-table
border
ref=
"xTable"
:data=
"tableData"
:show-header=
"false"
>
<vxe-table
border
ref=
"xTable"
:data=
"tableData"
:show-header=
"false"
>
<vxe-table-column
<vxe-table-column
field=
"name"
field=
"name"
title=
"name"
title=
"name"
...
@@ -56,63 +61,57 @@ export default {
...
@@ -56,63 +61,57 @@ export default {
type
:
"vxeTableControl"
,
type
:
"vxeTableControl"
,
attr
:
{
attr
:
{
showHeader
:
false
,
showHeader
:
false
,
addObj
:
{
name
:
""
,
value
:
""
,
},
tableData
:
[
tableData
:
[
{
{
name
:
"资金总额:"
,
name
:
"资金总额:"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
{
{
name
:
" (一)上级工会预算拨款:"
,
name
:
" (一)上级工会预算拨款:"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
{
{
name
:
"1.工会经费:"
,
name
:
"1.工会经费:"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
{
{
name
:
"2.财政拨款:"
,
name
:
"2.财政拨款:"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
{
{
name
:
"(二)自有资金:"
,
name
:
"(二)自有资金:"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
{
{
name
:
"1.工会经费:"
,
name
:
"1.工会经费:"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
{
{
name
:
"2.财政补助收入:"
,
name
:
"2.财政补助收入:"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
{
{
name
:
"3.行政补助收入:"
,
name
:
"3.行政补助收入:"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
{
{
name
:
"4.事业收入:"
,
name
:
"4.事业收入:"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
{
{
name
:
"5.经营性收入:"
,
name
:
"5.经营性收入:"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
],
],
columns
:
[
columns
:
[
{
{
field
:
"name"
,
field
:
"name"
,
title
:
"收入名称"
,
title
:
"收入名称"
,
width
:
15
0
,
width
:
23
0
,
type
:
"inputControl"
,
type
:
"inputControl"
,
},
},
{
{
...
@@ -138,28 +137,30 @@ export default {
...
@@ -138,28 +137,30 @@ export default {
type
:
"vxeTableControl"
,
type
:
"vxeTableControl"
,
attr
:
{
attr
:
{
showHeader
:
false
,
showHeader
:
false
,
addObj
:
{
name
:
""
,
value
:
""
,
},
tableData
:
[
tableData
:
[
{
{
name
:
"项目立项的依据"
,
name
:
"项目立项的依据"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
{
{
name
:
"项目申报的可行性"
,
name
:
"项目申报的可行性"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
{
{
name
:
"项目申报的必要性"
,
name
:
"项目申报的必要性"
,
value
:
""
,
value
:
""
,
width
:
200
,
},
},
],
],
columns
:
[
columns
:
[
{
{
field
:
"name"
,
field
:
"name"
,
title
:
"立项情况"
,
title
:
"立项情况"
,
width
:
200
,
width
:
230
,
type
:
"inputControl"
},
},
{
{
field
:
"value"
,
field
:
"value"
,
...
@@ -175,6 +176,11 @@ export default {
...
@@ -175,6 +176,11 @@ export default {
attr
:
{
attr
:
{
showHeader
:
false
,
showHeader
:
false
,
headerOne
:
[
0
],
headerOne
:
[
0
],
addObj
:
{
content
:
""
,
startTime
:
""
,
endTime
:
""
,
},
tableData
:
[
tableData
:
[
{
{
content
:
"项目实施内容"
,
content
:
"项目实施内容"
,
...
@@ -224,6 +230,10 @@ export default {
...
@@ -224,6 +230,10 @@ export default {
attr
:
{
attr
:
{
showHeader
:
false
,
showHeader
:
false
,
headerOne
:
[
0
],
headerOne
:
[
0
],
addObj
:
{
longGoal
:
""
,
yearGoal
:
""
,
},
tableData
:
[
tableData
:
[
{
{
longGoal
:
"长期目标"
,
longGoal
:
"长期目标"
,
...
@@ -256,6 +266,13 @@ export default {
...
@@ -256,6 +266,13 @@ export default {
attr
:
{
attr
:
{
showHeader
:
false
,
showHeader
:
false
,
headerOne
:
[
0
,
5
],
headerOne
:
[
0
,
5
],
addObj
:
{
firstIndex
:
""
,
secondIndex
:
""
,
content
:
""
,
indexValue
:
""
,
remark
:
""
,
},
tableData
:
[
tableData
:
[
{
{
firstIndex
:
"一级指标"
,
firstIndex
:
"一级指标"
,
...
@@ -427,6 +444,13 @@ export default {
...
@@ -427,6 +444,13 @@ export default {
attr
:
{
attr
:
{
showHeader
:
false
,
showHeader
:
false
,
headerOne
:
[
0
,
3
],
headerOne
:
[
0
,
3
],
addObj
:
{
firstIndex
:
""
,
secondIndex
:
""
,
content
:
""
,
indexValue
:
""
,
remark
:
""
,
},
tableData
:
[
tableData
:
[
{
{
firstIndex
:
"一级指标"
,
firstIndex
:
"一级指标"
,
...
@@ -637,9 +661,9 @@ export default {
...
@@ -637,9 +661,9 @@ export default {
watch
:
{},
watch
:
{},
computed
:
{},
computed
:
{},
methods
:
{
methods
:
{
Primary
(){
Primary
()
{
console
.
log
(
this
.
tableData
)
console
.
log
(
this
.
tableData
);
}
}
,
},
},
mounted
()
{},
mounted
()
{},
created
()
{},
created
()
{},
...
@@ -647,16 +671,16 @@ export default {
...
@@ -647,16 +671,16 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.rbcInputControl
input
{
.rbcInputControl
input
{
margin-left
:
-10px
;
margin-left
:
-10px
;
width
:
calc
(
100%
+
18px
);
width
:
calc
(
100%
+
18px
);
height
:
40px
;
height
:
40px
;
margin-top
:
-3px
;
margin-top
:
-3px
;
border
:
none
border
:
none
;
}
}
.bill-achievements
{
.bill-achievements
{
width
:
1300px
;
width
:
1300px
;
.vxe-table--render-default
.
vxe-body--column
:
not
(.
col--ellipsis
)
{
.vxe-table--render-default
.
vxe-body--column
:
not
(.
col--ellipsis
)
{
padding
:
0
;
padding
:
0
;
line-height
:
44px
;
line-height
:
44px
;
...
...
develop/@gms/gms-plugin-billexpand/src/control/vxe-achievements/components/vxe-table.vue
View file @
21c2d4c3
...
@@ -2,11 +2,13 @@
...
@@ -2,11 +2,13 @@
<div
class=
"detail-table"
>
<div
class=
"detail-table"
>
<vxe-table
<vxe-table
border
border
ref=
"
x
Table"
ref=
"
detailX
Table"
:data=
"attr.attr.tableData"
:data=
"attr.attr.tableData"
:show-header=
"attr.attr.showHeader || false"
:show-header=
"attr.attr.showHeader || false"
:header-cell-class-name=
"headerCellClassName"
:header-cell-class-name=
"headerCellClassName"
:span-method=
"spanMethods"
:span-method=
"spanMethods"
:menu-config=
"tableMenu"
@
menu-click=
"contextMenuClickEvent"
>
>
<template
v-for=
"(column, index) in attr.attr.columns"
>
<template
v-for=
"(column, index) in attr.attr.columns"
>
<vxe-table-column
<vxe-table-column
...
@@ -52,7 +54,18 @@ export default {
...
@@ -52,7 +54,18 @@ export default {
inputControl
,
inputControl
,
},
},
data
()
{
data
()
{
return
{};
return
{
tableMenu
:
{
body
:
{
options
:
[
[
{
code
:
"addRow"
,
name
:
"增行"
,
disabled
:
false
},
{
code
:
"removeRow"
,
name
:
"删行"
,
disabled
:
false
},
],
],
},
},
};
},
},
props
:
{
props
:
{
attr
:
{
attr
:
{
...
@@ -87,6 +100,21 @@ export default {
...
@@ -87,6 +100,21 @@ export default {
}
}
}
}
},
},
contextMenuClickEvent
({
menu
,
row
,
rowIndex
,
$rowIndex
,
column
,
columnIndex
,
$columnIndex
,
$event
})
{
console
.
log
(
menu
,
row
,
rowIndex
,
column
,
columnIndex
);
let
detailXTable
=
this
.
$refs
.
detailXTable
;
switch
(
menu
.
code
)
{
case
"addRow"
:
detailXTable
.
insertAt
(
this
.
attr
.
attr
.
addObj
,
row
);
break
;
case
"removeRow"
:
if
(
this
.
attr
.
attr
.
tableData
.
length
>
1
){
detailXTable
.
remove
(
row
)
}
break
;
default
:
}
},
},
},
mounted
()
{},
mounted
()
{},
created
()
{},
created
()
{},
...
...
develop/@gms/gms-plugin-billexpand/src/emcon.js
View file @
21c2d4c3
export
default
{
export
default
{
billControl
:
[
billControl
:
[
{
{
"title"
:
"变更轨迹"
,
"description"
:
""
,
"discard"
:
false
,
"dynamicComponent"
:
'billForm'
,
"extends"
:
{
"config"
:
[
{
"ref"
:
"BillClassVO.all"
,
"type"
:
"field"
,
"title"
:
"操作表名称"
,
"valueKey"
:
"bagName"
,
"key"
:
"tableName"
},
{},
],
},
"value"
:
"ModificationTrack"
,
"path"
:
"报销/通用"
},
{
"title"
:
"绩效表样"
,
"title"
:
"绩效表样"
,
"description"
:
""
,
"description"
:
""
,
"discard"
:
false
,
"discard"
:
false
,
...
@@ -1273,6 +1293,12 @@ export default {
...
@@ -1273,6 +1293,12 @@ export default {
"type"
:
"Boolean"
,
"type"
:
"Boolean"
,
"title"
:
"导出当页"
,
"title"
:
"导出当页"
,
"key"
:
"currentPage"
"key"
:
"currentPage"
},
{
"isRequired"
:
true
,
"type"
:
"Boolean"
,
"title"
:
"是否导出id"
,
"key"
:
"isId"
}
}
]
]
},
},
...
@@ -2250,6 +2276,18 @@ export default {
...
@@ -2250,6 +2276,18 @@ export default {
},
},
{
{
"discard"
:
false
,
"discard"
:
false
,
"path"
:
"报销/工会"
,
"extends"
:
{
"param"
:
[
]
},
"description"
:
""
,
"title"
:
"工会_取回[GH_retrieveAction]"
,
"value"
:
"GH_retrieveAction"
,
"btnDisable"
:
"billEdit"
},
{
"discard"
:
false
,
"path"
:
"资产/通用"
,
"path"
:
"资产/通用"
,
"extends"
:
{
"extends"
:
{
"param"
:
[
"param"
:
[
...
...
develop/@gms/gms-plugin-billexpand/src/mcon.js
View file @
21c2d4c3
...
@@ -45,6 +45,7 @@ import lincaoReadView from './actions/lincaoReadView';
...
@@ -45,6 +45,7 @@ import lincaoReadView from './actions/lincaoReadView';
import
GH_agreeAction
from
'./actions/labourUnion/gh_agreeAction.js'
;
import
GH_agreeAction
from
'./actions/labourUnion/gh_agreeAction.js'
;
import
GH_rejectAction
from
'./actions/labourUnion/gh_rejectAction.js'
;
import
GH_rejectAction
from
'./actions/labourUnion/gh_rejectAction.js'
;
import
GH_submitAction
from
'./actions/labourUnion/gh_submitAction.js'
;
import
GH_submitAction
from
'./actions/labourUnion/gh_submitAction.js'
;
import
GH_retrieveAction
from
'./actions/labourUnion/gh_retrieveAction.js'
;
//queryAction
//queryAction
import
leafletGenerationAction
from
'./query-actions/leafletGenerationAction.js'
import
leafletGenerationAction
from
'./query-actions/leafletGenerationAction.js'
...
@@ -88,6 +89,7 @@ import IntroduceInputControl from './control/IntroduceInputControl.vue'
...
@@ -88,6 +89,7 @@ import IntroduceInputControl from './control/IntroduceInputControl.vue'
import
InputModalControl
from
'./control/InputModalControl.vue'
import
InputModalControl
from
'./control/InputModalControl.vue'
import
Achievements
from
'./control/vxe-achievements/achievements.vue'
import
Achievements
from
'./control/vxe-achievements/achievements.vue'
import
VxeSubjectControl
from
'./control/vxeTableExpand/VxeSubjectControl.js'
import
VxeSubjectControl
from
'./control/vxeTableExpand/VxeSubjectControl.js'
import
ModificationTrack
from
'./control/modification-track/modification-track.vue'
//formula
//formula
import
GeneralImportFile
from
'./formula/GeneralImportFile.js'
;
import
GeneralImportFile
from
'./formula/GeneralImportFile.js'
;
...
@@ -215,6 +217,7 @@ export default {
...
@@ -215,6 +217,7 @@ export default {
GH_agreeAction
,
GH_agreeAction
,
GH_rejectAction
,
GH_rejectAction
,
GH_submitAction
,
GH_submitAction
,
GH_retrieveAction
,
DEQKD_batchEditorAction
DEQKD_batchEditorAction
},
},
billAction
:
{
billAction
:
{
...
@@ -273,7 +276,8 @@ export default {
...
@@ -273,7 +276,8 @@ export default {
IntroduceInputControl
,
IntroduceInputControl
,
InputModalControl
,
InputModalControl
,
Achievements
,
Achievements
,
VxeSubjectControl
VxeSubjectControl
,
ModificationTrack
,
},
},
formula
:
{
formula
:
{
SubTableSetBaseData
,
SubTableSetBaseData
,
...
...
develop/@gms/gms-plugin-billexpand/src/query-actions/exportExcel.js
View file @
21c2d4c3
...
@@ -7,6 +7,7 @@ export default {
...
@@ -7,6 +7,7 @@ export default {
}
}
GMS
.
$http
.
post
(
`/rbcquery/exportExcel`
,
{
GMS
.
$http
.
post
(
`/rbcquery/exportExcel`
,
{
queryParameter
:
queryParam
,
queryParameter
:
queryParam
,
enableId
:
param
.
isId
||
false
,
queryViewVO
:
context
.
dom
.
queryBus
.
config
,
queryViewVO
:
context
.
dom
.
queryBus
.
config
,
currentGroup
:
context
.
dom
.
queryBus
.
currGroup
,
currentGroup
:
context
.
dom
.
queryBus
.
currGroup
,
},{
},{
...
...
develop/run.sh
0 → 100644
View file @
21c2d4c3
baseDir
=
`
pwd
`
# basedir = $(cd "$(dirname "$0")";pwd)
echo
$baseDir
for
folder
in
\
"@gms/gms-plugin-billexpand"
\
"@gms/gms-plugin-mainpage-commonfunctions"
\
"@gms/gms-plugin-mainpage-feedback"
\
"@gms/gms-plugin-mainpage-fileList"
\
"@gms/gms-plugin-mainpage-mybill"
\
"@gms/gms-plugin-mainpage-newsList"
\
"@gms/gms-plugin-mainpage-reimburseBill"
\
"@gms/gms-plugin-mainpage-reimburseExpense"
\
"@gms/gms-plugin-mainpage-workflowcard"
\
# "@gms/gms-plugin-workflow" \
# "@rbc/bill-runner-query" \
# "@rbc/control-strategy" \
# "@rbc/file-management" \
# "@rbc/invoice" \
# "@rbc/rbc-news" \
# "@rbc/runner-bill-form" \
# "@rbc/voucher-center" \
# "@rbc/welcome-page" \
# "@rbc/workflow-job-view"
do
cd
$baseDir
/
$folder
# rm package-lock.json
# npm install
npm run build-dev
# npm publish
done
\ No newline at end of file
solution.json
View file @
21c2d4c3
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
"name"
:
"nvwa"
,
"name"
:
"nvwa"
,
"index"
:
{
"index"
:
{
"name"
:
"@gms/gms-entry"
,
"name"
:
"@gms/gms-entry"
,
"version"
:
"
latest
"
"version"
:
"
0.2.93-rbc
"
},
},
"login"
:
{
"login"
:
{
"name"
:
"@rbc/rbc-login"
,
"name"
:
"@rbc/rbc-login"
,
...
...
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