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
a984570b
Commit
a984570b
authored
May 10, 2022
by
qiaoyanqi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
工会信息
parent
3e3a0fea
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
946 additions
and
2 deletions
+946
-2
agreeAction.js
...-plugin-billexpand/src/actions/labourUnion/agreeAction.js
+232
-0
rejectAction.js
...plugin-billexpand/src/actions/labourUnion/rejectAction.js
+120
-0
submitAction.js
...plugin-billexpand/src/actions/labourUnion/submitAction.js
+130
-0
news-detail.vue
...-plugin-billexpand/src/components-control/news-detail.vue
+1
-1
achievements.vue
...-billexpand/src/control/vxe-achievements/achievements.vue
+272
-0
dataControl.vue
...d/src/control/vxe-achievements/components/dataControl.vue
+31
-0
inputControl.vue
.../src/control/vxe-achievements/components/inputControl.vue
+31
-0
radioGroupControl.vue
...control/vxe-achievements/components/radioGroupControl.vue
+28
-0
vxe-table.vue
...and/src/control/vxe-achievements/components/vxe-table.vue
+64
-0
vxe-achievements.js
...llexpand/src/control/vxe-achievements/vxe-achievements.js
+15
-0
emcon.js
develop/@gms/gms-plugin-billexpand/src/emcon.js
+19
-0
mcon.js
develop/@gms/gms-plugin-billexpand/src/mcon.js
+3
-1
No files found.
develop/@gms/gms-plugin-billexpand/src/actions/labourUnion/agreeAction.js
0 → 100644
View file @
a984570b
import
Bridge
from
'../components-control/util/bridge'
import
SelectApprovers
from
'../components-control/select-approvers.vue'
import
{
compareData
}
from
"../components-control/util/dataChange"
import
{
showSignModal
,
saveBill
,
verifyBill
}
from
'./util'
import
{
BILL_GLOBAL_PARAM
}
from
'../constant'
export
default
{
execute
:
function
(
bill
,
param
)
{
if
(
bill
)
{
if
(
!
verifyBill
(
bill
))
{
GMS
.
$hideContainer
.
$Message
.
error
(
'验签失败'
)
return
}
if
(
!
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
)
||
!
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
taskId
)
{
GMS
.
$hideContainer
.
$Message
.
error
(
'请配置审批轨迹'
)
return
}
if
(
!
this
.
isApproverEqulloginer
(
bill
,
param
))
{
GMS
.
$hideContainer
.
$Message
.
error
(
'单据审批状态已发生变化,请刷新界面'
)
return
}
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
();
let
oldObj
=
curTagId
&&
GMS
.
oldBillDataMap
[
curTagId
]?
GMS
.
oldBillDataMap
[
curTagId
]:
GMS
.
oldBillData
;
const
dataChangeFlag
=
compareData
(
oldObj
,
bill
.
getBuillData
())
const
noRunTimeFormula
=
bill
.
getGlobalParam
(
"noRunTimeFormula"
)
if
(
noRunTimeFormula
)
{
this
.
approvalLogical
(
bill
,
param
,
this
)
}
else
if
(
dataChangeFlag
)
{
bill
.
runFormulaCheckData
(
param
,
(
msg
)
=>
{
if
(
msg
.
length
==
0
)
{
this
.
approvalLogical
(
bill
,
param
,
this
)
}
else
{
GMS
.
vbus
.
$Modal
.
warning
({
title
:
"信息错误"
,
content
:
msg
,
});
}
})
}
else
{
bill
.
runFormulaCheckData
(
param
,
(
msg
)
=>
{
if
(
msg
.
length
==
0
)
{
GMS
.
$hideContainer
.
$Modal
.
confirm
({
title
:
"信息提示"
,
content
:
"信息发生变化, 是否保存"
,
onOk
:
()
=>
{
saveBill
(
bill
,
param
).
then
(()
=>
{
this
.
approvalLogical
(
bill
,
param
)
})
},
onCancel
:
()
=>
{
}
})
}
else
{
GMS
.
vbus
.
$Modal
.
warning
({
title
:
"信息错误"
,
content
:
msg
,
});
}
});
}
}
else
{
GMS
.
$hideContainer
.
$Message
.
error
(
'缺少参数'
);
}
},
approvalLogical
:
function
(
bill
,
param
)
{
const
getApprovalList
=
()
=>
{
const
setApprover
=
(
data
)
=>
{
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
(()
=>
{
GMS
.
$hideContainer
.
$Message
.
error
(
'未找到下一节点的审批人'
);
})
}
if
(
param
.
param
.
actions
)
{
let
saveParam
=
{
actions
:
param
.
param
.
actions
}
bill
.
executeServerAction
(
saveParam
,
function
(
code
,
data
)
{
if
(
code
===
200
)
{
getApprovalList
()
}
else
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
if
(
data
.
message
.
includes
(
'还款金额不能大于未还金额'
))
{
GMS
.
$hideContainer
.
$message
.
error
(
"还款金额不能大于未还金额!"
);
}
else
{
GMS
.
$hideContainer
.
$message
.
error
(
"操作异常请联系管理员"
);
}
}
}.
bind
(
this
));
}
else
{
getApprovalList
()
}
},
executeApproval
:
function
(
bill
,
param
)
{
let
taskId
=
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
taskId
;
let
comments
=
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
suggestions
?
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
suggestions
:
''
;
const
fn
=
()
=>
{
saveBill
(
bill
,
param
).
then
(()
=>
{
GMS
.
$http
.
post
(
'/rbc/workflow/approve/completed/'
+
taskId
+
'?result=1&comments='
+
comments
).
then
(
function
(
response
)
{
if
(
response
.
status
==
200
||
response
.
statusText
==
'OK'
)
{
if
(
response
.
data
.
code
!=
0
)
{
GMS
.
$hideContainer
.
$Message
.
error
(
response
.
data
.
message
)
return
}
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
GMS
.
$hideContainer
.
$Message
.
success
(
'审批成功!'
)
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
();
GMS
.
vbus
.
$emit
(
'change-form-state'
,
{
state
:
'readOnly'
},
curTagId
)
if
(
window
.
osConfig
.
appOpenMode
&&
window
.
osConfig
.
appOpenMode
==
"apploader"
)
{
GMS
.
$hideContainer
.
$portalAPI
.
emit
(
'entry-tag-close'
)
}
else
if
(
Bridge
.
vm
)
{
Bridge
.
vm
.
modal_visible
=
false
}
window
.
GMS
.
vbus
.
$emit
(
'refresh-workflow-job-view'
)
}
}.
bind
(
this
)
)
.
catch
(
function
(
error
)
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
GMS
.
$hideContainer
.
$Message
.
error
(
'工作流配置错误,请联系管理员'
)
}.
bind
(
this
)
);
})
}
window
.
GMS
.
$http
.
get
(
`/rbc/workflow/signatureConfig/
${
taskId
}
`
).
then
((
res
)
=>
{
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/rejectAction.js
0 → 100644
View file @
a984570b
import
Bridge
from
'../components-control/util/bridge'
import
{
compareData
}
from
"../components-control/util/dataChange"
import
{
SIGNATURE_TABLE_NAME
,
BILL_GLOBAL_PARAM
}
from
'../constant'
import
{
saveBill
}
from
'./util'
export
default
{
execute
:
function
(
bill
,
param
)
{
if
(
bill
){
if
(
!
this
.
isApproverEqulloginer
(
bill
,
param
))
{
GMS
.
$hideContainer
.
$Message
.
error
(
'单据审批状态已发生变化,请刷新界面'
)
return
}
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
();
let
oldObj
=
curTagId
&&
GMS
.
oldBillDataMap
[
curTagId
]?
GMS
.
oldBillDataMap
[
curTagId
]:
GMS
.
oldBillData
;
let
flag
=
compareData
(
oldObj
,
bill
.
getBuillData
())
||
bill
.
getGlobalParam
(
"noRunTimeFormula"
);
if
(
flag
)
{
this
.
approvalLogical
(
bill
,
param
,
this
)
}
else
{
GMS
.
$hideContainer
.
$Modal
.
confirm
({
title
:
"信息提示"
,
content
:
"信息发生变化, 是否保存"
,
onOk
:
()
=>
{
saveBill
(
bill
,
param
).
then
(()
=>
{
this
.
approvalLogical
(
bill
,
param
)
})
},
onCancel
:
()
=>
{
}
})
}
}
else
{
GMS
.
$hideContainer
.
$Message
.
error
(
'缺少参数'
);
}
},
approvalLogical
:
function
(
bill
,
param
)
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
false
)
if
(
param
.
param
.
actions
){
let
saveParam
=
{
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
(
"操作异常请联系管理员"
);
}
}.
bind
(
this
));
}
else
{
this
.
approval
(
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
(
'请配置审批轨迹'
)
return
}
let
taskId
=
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
taskId
;
let
comments
=
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
suggestions
?
bill
.
getGlobalParam
(
BILL_GLOBAL_PARAM
.
APPROVAL_COMMENT
).
suggestions
:
''
bill
.
clearSubDatas
(
SIGNATURE_TABLE_NAME
)
saveBill
(
bill
,
param
).
then
(()
=>
{
GMS
.
$http
.
post
(
'/rbc/workflow/approve/completed/'
+
taskId
+
'?result=3&comments='
+
comments
).
then
(
function
(
response
)
{
if
(
response
.
status
==
200
||
response
.
statusText
==
'OK'
)
{
if
(
response
.
data
.
code
!=
0
)
{
GMS
.
$hideContainer
.
$Message
.
error
(
response
.
data
.
message
)
return
}
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
();
GMS
.
vbus
.
$emit
(
'change-form-state'
,
{
state
:
'readOnly'
},
curTagId
)
GMS
.
$hideContainer
.
$Message
.
success
(
'驳回成功!'
)
if
(
window
.
osConfig
.
appOpenMode
&&
window
.
osConfig
.
appOpenMode
==
"apploader"
)
{
GMS
.
$hideContainer
.
$portalAPI
.
emit
(
'entry-tag-close'
)
}
else
if
(
Bridge
.
vm
)
{
Bridge
.
vm
.
modal_visible
=
false
}
window
.
GMS
.
vbus
.
$emit
(
'refresh-workflow-job-view'
)
}
}.
bind
(
this
)
)
.
catch
(
function
(
error
)
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
GMS
.
$hideContainer
.
$Message
.
error
(
'工作流配置错误,请联系管理员'
)
}.
bind
(
this
)
);
})
},
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/submitAction.js
0 → 100644
View file @
a984570b
import
errorMessageUtil
from
"./util/errorMessageUtil"
;
import
{
minusIndex
}
from
'../query-actions/util/queryTag.js'
;
import
{
showSignModal
,
saveBill
}
from
"./util"
;
export
default
{
execute
:
function
(
bill
,
param
)
{
if
(
param
&&
param
.
param
&&
param
.
param
.
budgetcontrol
)
{
let
res
=
this
.
getBudgetControl
(
bill
,
true
,
param
);
res
.
then
((
data
)
=>
{
if
(
data
.
code
==
0
)
{
let
result
=
this
.
getBudgetControl
(
bill
,
false
,
param
);
result
.
then
((
data1
)
=>
{
if
(
data1
.
code
==
0
)
{
this
.
submitExecute
(
bill
,
param
);
}
else
if
(
data1
.
code
==
1
)
{
GAMS
.
Common
.
messagePrompt
(
data1
.
msg
);
}
});
}
else
if
(
data
.
code
==
1
)
{
setTimeout
(()
=>
{
GAMS
.
Common
.
messagePrompt
(
data
.
msg
);
},
500
);
}
else
if
(
data
.
code
==
2
)
{
setTimeout
(()
=>
{
this
.
getModal
(
bill
,
param
,
data
);
},
500
);
}
});
}
else
{
this
.
submitExecute
(
bill
,
param
);
}
},
getModal
(
bill
,
param
,
data
)
{
GMS
.
$hideContainer
.
$Modal
.
confirm
({
title
:
"信息提示"
,
content
:
data
.
msg
,
onOk
:
()
=>
{
let
result
=
this
.
getBudgetControl
(
bill
,
false
,
param
);
result
.
then
((
data1
)
=>
{
if
(
data1
.
code
==
0
)
{
this
.
submitExecute
(
bill
,
param
);
}
else
if
(
data1
.
code
==
1
)
{
GAMS
.
Common
.
messagePrompt
(
data1
.
msg
);
}
});
},
onCancel
:
()
=>
{
GMS
.
$hideContainer
.
$Message
[
"error"
]({
content
:
"已取消"
,
});
},
});
},
getBudgetControl
(
bill
,
check
,
param
)
{
let
postData
=
{
data
:
bill
.
getBuillData
(),
};
let
url
=
`/v1/budget/control/
${
param
.
define
}
/
${
check
}
`
;
return
new
Promise
((
resolve
,
reject
)
=>
{
GMS
.
$http
.
post
(
url
,
postData
,
{
headers
:
{
post
:
{
"Content-Type"
:
"application/json"
,
},
},
})
.
then
((
res
)
=>
{
resolve
(
res
.
data
);
});
});
},
submitExecute
(
bill
,
param
){
if
(
bill
)
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
'enable'
,
false
)
const
submitFn
=
()
=>
{
let
postData
=
{
data
:
bill
.
getBuillData
(),
};
let
url
=
`/rbc/bill/workflowAction/executed/
${
param
.
define
}
/workflow.submitToFlow?transmission=total`
;
window
.
GMS
.
$http
.
post
(
url
,
JSON
.
stringify
(
postData
)).
then
((
response
)
=>
{
const
data
=
response
.
data
let
code
=
200
if
(
data
.
code
!=
0
)
{
code
=
201
}
bill
.
setControlsSate
(
param
[
"_control_name_"
],
'enable'
,
true
)
if
(
code
===
200
)
{
const
id
=
data
.
content
.
billData
.
id
;
minusIndex
();
//上张下张用
GMS
.
$hideContainer
.
$Message
.
success
(
'提交成功'
);
let
curTagId
=
window
.
nros
.
context
.
getCurrTag
();
GMS
.
vbus
.
$emit
(
"workflow-state-change"
,
90
,
curTagId
);
}
else
if
(
code
===
201
)
{
GMS
.
$hideContainer
.
$Spin
.
hide
()
data
.
message
&&
GMS
.
$hideContainer
.
$Message
.
error
({
content
:
errorMessageUtil
.
submitAction
.
getErrorMessage
(
data
.
message
),
duration
:
3
});
}
else
if
(
code
===
202
)
{
GMS
.
$hideContainer
.
$Spin
.
hide
();
GMS
.
$hideContainer
.
$Message
.
error
(
"暂存单据异常请联系管理员"
);
}
}).
catch
((
err
)
=>
{
GMS
.
$hideContainer
.
$Message
.
error
(
'工作流配置错误,请联系管理员'
);
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
})
}
if
(
param
&&
param
.
param
&&
param
.
param
.
useSignature
)
{
showSignModal
(
bill
,
param
,
'提交人'
).
then
(()
=>
{
saveBill
(
bill
,
param
).
then
(
submitFn
)
}).
catch
(()
=>
{
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"enable"
,
true
)
bill
.
setControlsSate
(
param
[
"_control_name_"
],
"loading"
,
false
)
})
}
else
{
submitFn
()
}
}
else
{
GMS
.
$hideContainer
.
$Spin
.
hide
();
alert
(
'缺少参数'
);
}
}
}
\ No newline at end of file
develop/@gms/gms-plugin-billexpand/src/components-control/news-detail.vue
View file @
a984570b
...
...
@@ -2,7 +2,7 @@
<div
class=
"news-container"
>
<div
class=
"news-detail"
>
<div
class=
"detail-title"
>
{{
title
}}
</div>
<div
class=
"detail-description"
>
摘要:
{{
description
}}
&
nbsp
&
nbsp
&
nbsp
&
nbsp
时间:
{{
time
}}
</div>
<div
class=
"detail-description"
>
摘要:
{{
description
}}
 
;
时间:
{{
time
}}
</div>
<div
class=
"detail-content"
v-html=
"content"
></div>
</div>
</div>
...
...
develop/@gms/gms-plugin-billexpand/src/control/vxe-achievements/achievements.vue
0 → 100644
View file @
a984570b
<
template
>
<div
class=
"bill-achievements"
>
<vxe-table
border
ref=
"xTable"
:data=
"tableData"
:show-header=
"false"
>
<vxe-table-column
field=
"name"
title=
"name"
width=
"160"
align=
"center"
></vxe-table-column>
<vxe-table-column
field=
"value"
title=
"type"
>
<template
slot-scope=
"scope"
>
<component
:is=
"scope.row.type"
:attr=
"
{ field: 'value', row: scope.row, attr: scope.row.attr }"
>
</component>
</
template
>
</vxe-table-column>
</vxe-table>
</div>
</template>
<
script
>
import
vxeAchievements
from
"./vxe-achievements.js"
;
import
dataControl
from
"./components/dataControl.vue"
;
import
vxeTableControl
from
"./components/vxe-table.vue"
;
import
radioGroupControl
from
"./components/radioGroupControl.vue"
;
import
inputControl
from
"./components/inputControl.vue"
;
export
default
{
mixins
:
[
vxeAchievements
],
components
:
{
vxeTableControl
,
dataControl
,
radioGroupControl
,
inputControl
,
},
data
()
{
return
{
tableData
:
[
{
name
:
"项目名称"
,
type
:
"inputControl"
,
value
:
""
,
},
{
name
:
"项目属性"
,
type
:
"radioGroupControl"
,
value
:
""
,
},
{
name
:
"项目起止时间"
,
type
:
"dataControl"
,
value
:
""
,
},
{
name
:
"项目资金申请(万元)"
,
type
:
"vxeTableControl"
,
attr
:
{
showHeader
:
false
,
tableData
:
[
{
name
:
"资金总额:"
,
value
:
""
,
width
:
200
,
},
{
name
:
" (一)上级工会预算拨款:"
,
value
:
""
,
width
:
200
,
},
{
name
:
"1.工会经费:"
,
value
:
""
,
width
:
200
,
},
{
name
:
"2.财政拨款:"
,
value
:
""
,
width
:
200
,
},
{
name
:
"(二)自有资金:"
,
value
:
""
,
width
:
200
,
},
{
name
:
"1.工会经费:"
,
value
:
""
,
width
:
200
,
},
{
name
:
"2.财政补助收入:"
,
value
:
""
,
width
:
200
,
},
{
name
:
"3.行政补助收入:"
,
value
:
""
,
width
:
200
,
},
{
name
:
"4.事业收入:"
,
value
:
""
,
width
:
200
,
},
{
name
:
"5.经营性收入:"
,
value
:
""
,
width
:
200
,
},
],
columns
:
[
{
field
:
"name"
,
title
:
"收入名称"
,
width
:
150
,
type
:
"inputControl"
,
},
{
field
:
"value"
,
title
:
"数值"
,
type
:
"inputControl"
,
},
],
},
},
{
name
:
"单位(部门)职能概述"
,
type
:
"inputControl"
,
},
{
name
:
"项目概况"
,
type
:
"inputControl"
,
},
{
name
:
"项目立项情况"
,
type
:
"vxeTableControl"
,
attr
:
{
showHeader
:
false
,
tableData
:
[
{
name
:
"项目立项的依据"
,
value
:
""
,
width
:
200
,
},
{
name
:
"项目申报的可行性"
,
value
:
""
,
width
:
200
,
},
{
name
:
"项目申报的必要性"
,
value
:
""
,
width
:
200
,
},
],
columns
:
[
{
field
:
"name"
,
title
:
"立项情况"
,
width
:
200
,
},
{
field
:
"value"
,
title
:
"描述"
,
type
:
"inputControl"
,
},
],
},
},
{
name
:
"项目实施进度计划"
,
type
:
"vxeTableControl"
,
attr
:
{
showHeader
:
true
,
tableData
:
[
{
content
:
""
,
startTime
:
""
,
endTime
:
""
,
},
{
content
:
""
,
startTime
:
""
,
endTime
:
""
,
},
],
columns
:
[
{
field
:
"content"
,
title
:
"项目实施内容"
,
type
:
"inputControl"
,
},
{
field
:
"startTime"
,
title
:
"开始时间"
,
type
:
"dataControl"
,
daterange
:
"date"
,
placement
:
"bottom"
,
},
{
field
:
"endTime"
,
title
:
"完成时间"
,
type
:
"dataControl"
,
daterange
:
"date"
,
placement
:
"bottom"
,
},
],
},
},
{
name
:
"项目绩效目标"
,
type
:
"vxeTableControl"
,
attr
:
{
showHeader
:
false
},
},
{
name
:
"长期绩效指标"
,
type
:
"vxeTableControl"
,
attr
:
{
showHeader
:
false
},
},
{
name
:
"年度绩效指标"
,
type
:
"vxeTableControl"
,
attr
:
{
showHeader
:
true
,
tableData
:
[
{
longGoal
:
""
,
yearGoal
:
""
,
},
{
longGoal
:
""
,
yearGoal
:
""
,
},
],
columns
:
[
{
field
:
"longGoal"
,
title
:
"长期目标"
,
type
:
"inputControl"
,
},
{
field
:
"yearGoal"
,
title
:
"年度目标"
,
type
:
"dataControl"
,
type
:
"inputControl"
,
}
],
},
},
{
name
:
"其他说明的问题"
,
type
:
"inputControl"
,
},
{
name
:
"填报人:"
,
type
:
"inputControl"
,
},
],
};
},
props
:
{},
watch
:
{},
computed
:
{},
methods
:
{},
mounted
()
{},
created
()
{},
beforeDestroy
()
{},
};
</
script
>
<
style
lang=
"less"
scoped
>
.bill-achievements
{
}
</
style
>
develop/@gms/gms-plugin-billexpand/src/control/vxe-achievements/components/dataControl.vue
0 → 100644
View file @
a984570b
<
template
>
<div
class=
""
>
<DatePicker
:type=
"attr.column && attr.column.daterange?attr.column.daterange:'daterange'"
:placement=
"attr.column && attr.column.placement"
:value=
"attr.row[attr.field]"
></DatePicker>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
};
},
props
:
{
attr
:{
type
:
Object
,
default
:()
=>
{}
}
},
watch
:
{},
computed
:
{},
methods
:
{
},
mounted
()
{},
created
()
{},
beforeDestroy
()
{},
};
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
develop/@gms/gms-plugin-billexpand/src/control/vxe-achievements/components/inputControl.vue
0 → 100644
View file @
a984570b
<
template
>
<div
class=
""
>
<Input
v-model=
"attr.row[attr.field]"
/>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
};
},
props
:
{
attr
:{
type
:
Object
,
default
:()
=>
{}
}
},
watch
:
{},
computed
:
{},
methods
:
{
},
mounted
()
{},
created
()
{},
beforeDestroy
()
{},
};
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
develop/@gms/gms-plugin-billexpand/src/control/vxe-achievements/components/radioGroupControl.vue
0 → 100644
View file @
a984570b
<
template
>
<div
class=
""
>
<RadioGroup
v-model=
"attr.row[attr.field]"
>
<Radio
label=
"新增项目"
></Radio>
<Radio
label=
"延续项目"
></Radio>
</RadioGroup>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{};
},
props
:
{
attr
:{
type
:
Object
,
default
:()
=>
{}
}
},
watch
:
{},
computed
:
{},
methods
:
{},
mounted
()
{},
created
()
{},
beforeDestroy
()
{},
};
</
script
>
<
style
lang=
"less"
scoped
></
style
>
develop/@gms/gms-plugin-billexpand/src/control/vxe-achievements/components/vxe-table.vue
0 → 100644
View file @
a984570b
<
template
>
<div
class=
"detail-table"
>
<vxe-table
border
ref=
"xTable"
:data=
"attr.attr.tableData"
:show-header=
"attr.attr.showHeader||false"
:header-cell-class-name=
"headerCellClassName"
>
<template
v-for=
"(column, index) in attr.attr.columns"
>
<vxe-table-column
:field=
"column.field"
:title=
"column.title"
:width=
"column.width"
:key=
"index"
>
<template
slot-scope=
"scope"
>
<component
v-if=
"column.type"
:is=
"column.type"
:attr=
"
{field:column.field,row:scope.row,column:column}"
>
</component>
<span
v-else
>
{{
scope
.
row
[
column
.
field
]
}}
</span>
</
template
>
</vxe-table-column>
</template>
</vxe-table>
</div>
</template>
<
script
>
import
vxeAchievements
from
"../vxe-achievements.js"
;
import
dataControl
from
"./dataControl.vue"
;
import
vxeTableControl
from
"./vxe-table.vue"
;
import
radioGroupControl
from
"./radioGroupControl.vue"
;
import
inputControl
from
"./inputControl.vue"
;
export
default
{
mixins
:
[
vxeAchievements
],
components
:
{
vxeTableControl
,
dataControl
,
radioGroupControl
,
inputControl
},
data
()
{
return
{
};
},
props
:
{
attr
:{
type
:
Object
,
default
:()
=>
{}
}
},
watch
:
{},
computed
:
{},
methods
:
{
headerCellClassName
({
column
,
columnIndex
})
{
if
(
column
.
property
===
'content'
)
{
return
'col-white'
}
},
},
mounted
()
{},
created
()
{},
beforeDestroy
()
{},
};
</
script
>
<
style
lang=
"less"
scoped
>
.detail-table
{
.vxe-header--column
.col-white
{
background-color
:
#fff
!important
;
}
}
</
style
>
develop/@gms/gms-plugin-billexpand/src/control/vxe-achievements/vxe-achievements.js
0 → 100644
View file @
a984570b
export
default
{
data
()
{
return
{
};
},
props
:
{},
watch
:
{},
computed
:
{},
methods
:
{
},
mounted
()
{
},
created
()
{},
beforeDestroy
()
{},
};
develop/@gms/gms-plugin-billexpand/src/emcon.js
View file @
a984570b
export
default
{
billControl
:
[
{
"title"
:
"绩效表样"
,
"description"
:
""
,
"discard"
:
false
,
"dynamicComponent"
:
'billForm'
,
"extends"
:
{
"config"
:
[
{
"background"
:
"#fff"
,
"key"
:
"background"
,
"type"
:
"Color"
,
"title"
:
"背景色"
}
],
"layout"
:[]
},
"value"
:
"Achievements"
,
"path"
:
"单据/通用"
},
{
"title"
:
"Tab切换容器"
,
"description"
:
""
,
"discard"
:
false
,
...
...
develop/@gms/gms-plugin-billexpand/src/mcon.js
View file @
a984570b
...
...
@@ -83,6 +83,7 @@ import integerControl from './control/integerControl.vue'
import
IntroduceInputControl
from
'./control/IntroduceInputControl.vue'
import
InputModalControl
from
'./control/InputModalControl.vue'
import
TabContainer
from
'./control/tab-container/tab-container.vue'
import
Achievements
from
'./control/vxe-achievements/achievements.vue'
//formula
import
GeneralImportFile
from
'./formula/GeneralImportFile.js'
;
...
...
@@ -263,7 +264,8 @@ export default {
integerControl
,
IntroduceInputControl
,
InputModalControl
,
TabContainer
TabContainer
,
Achievements
},
formula
:
{
SubTableSetBaseData
,
...
...
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