Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
ems3.3
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wuhao
ems3.3
Commits
aab9e0ac
Commit
aab9e0ac
authored
Nov 22, 2023
by
左玲玲
😬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1853
parent
55902baf
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
728 additions
and
376 deletions
+728
-376
proxy.js
config/proxy.js
+2
-2
FormItems.jsx
src/components/InitForm/FormItems.jsx
+3
-3
global.less
src/global.less
+13
-1
Details.jsx
src/pages/lease/contract/Details.jsx
+94
-16
columns.js
src/pages/lease/contract/columns.js
+327
-274
index.jsx
src/pages/lease/contract/index.jsx
+206
-54
columns.js
src/pages/lease/costanalysis/columns.js
+82
-25
index.jsx
src/pages/lease/costanalysis/index.jsx
+1
-1
No files found.
config/proxy.js
View file @
aab9e0ac
...
...
@@ -23,7 +23,7 @@ export default {
dev
:
{
[
defaultSetting
.
proxypath
]:
{
// 要代理的地址
target
:
'http://192.168.40.
203
:8000'
,
//jf哥
target
:
'http://192.168.40.
110
:8000'
,
//jf哥
// target: 'http://192.168.40.248:8080', //jf哥
// target: 'http://192.168.40.64:28000', //gc哥
// target: 'http://192.168.40.203:8000', //dj哥
...
...
@@ -32,7 +32,7 @@ export default {
},
'/token'
:
{
// 要代理的地址
target
:
'http://192.168.40.
203
:8000'
,
target
:
'http://192.168.40.
110
:8000'
,
changeOrigin
:
true
,
},
'/staticfile/'
:
{
...
...
src/components/InitForm/FormItems.jsx
View file @
aab9e0ac
...
...
@@ -181,7 +181,7 @@ let FormRender = memo(({ fields = [], name, curindex, formRef, action }) => {
<
Col
{
...
item
.
colProps
}
style=
{
{
height
:
68
}
}
key=
{
index
}
>
<
div
>
<
label
htmlFor=
""
style=
{
{
marginBottom
:
14
,
display
:
'inline-block'
}
}
>
{
item
.
title
}
</
label
>
<
div
style=
{
{
margin
:
0
}
}
>
<
div
title=
{
value
[
item
?.
key
??
item
?.
dataIndex
]
??
"-"
}
style=
{
{
margin
:
0
}
}
>
{
value
[
item
?.
key
??
item
?.
dataIndex
]
??
"-"
}
</
div
>
</
div
>
...
...
@@ -189,7 +189,7 @@ let FormRender = memo(({ fields = [], name, curindex, formRef, action }) => {
)
:
(
<
Col
{
...
item
.
colProps
}
style=
{
{
height
:
40
,
display
:
'flex'
,
alignItems
:
'center'
}
}
key=
{
index
}
>
<
div
>
<
div
style=
{
{
margin
:
0
}
}
>
<
div
title=
{
value
[
item
?.
key
??
item
?.
dataIndex
]
??
"-"
}
style=
{
{
margin
:
0
}
}
>
{
value
[
item
?.
key
??
item
?.
dataIndex
]
??
"-"
}
</
div
>
</
div
>
...
...
@@ -1466,7 +1466,7 @@ function FormList(props) {
}, [props]);
return (
<Col {...col}>
<div className="formlist">
<div className="formlist"
style={{ '--bordered': item.bordered ? '1px solid #dbdbdb' : 'none' }}
>
{
item?.creatorButtonProps === false ?
!isEmpty ?
...
...
src/global.less
View file @
aab9e0ac
...
...
@@ -617,11 +617,13 @@ ol {
.formlist {
>div {
overflow-x: auto;
>div {
>div {
>div {
>div:last-child {
border:
1px solid #dbdbdb
;
border:
var(--bordered)
;
padding: 12px;
}
}
...
...
@@ -636,6 +638,16 @@ ol {
.ant-form-item {
margin-bottom: 12px !important;
}
.ant-pro-form-group {
>div {
>.ant-row {
flex-flow: row nowrap !important;
align-items: baseline !important;
}
}
}
}
.screenwh {
...
...
src/pages/lease/contract/Details.jsx
View file @
aab9e0ac
...
...
@@ -11,7 +11,7 @@ const fields = [
key
:
'contractNo'
},
{
title
:
'合同金额
(元)
'
,
title
:
'合同金额'
,
dataIndex
:
'amount'
,
key
:
'amount'
},
...
...
@@ -46,15 +46,25 @@ const fields = [
key
:
'undertakingId'
},
{
title
:
'
合同负责人
'
,
title
:
'
销售经理
'
,
dataIndex
:
'head'
,
key
:
'head'
},
{
title
:
'
登记
日期'
,
title
:
'
签订
日期'
,
dataIndex
:
'registrationDate'
,
key
:
'registrationDate'
},
{
title
:
'到货日期'
,
dataIndex
:
'arriveDate'
,
key
:
'arriveDate'
},
{
title
:
'退还日期'
,
dataIndex
:
'returnDate'
,
key
:
'returnDate'
},
{
title
:
'状态'
,
dataIndex
:
'statusName'
,
...
...
@@ -89,7 +99,7 @@ const fields = [
valueType
:
'split'
},
{
title
:
'
去程运费(元)
'
,
title
:
'
交付运费
'
,
dataIndex
:
'tripFreight'
,
key
:
'tripFreight'
},
...
...
@@ -99,21 +109,16 @@ const fields = [
key
:
'tripBearName'
},
{
title
:
'
返程运费(元)
'
,
title
:
'
退还运费
'
,
dataIndex
:
'returnFreight'
,
key
:
'returnFreight'
},
{
title
:
'返程运费承担方'
,
dataIndex
:
'returnBearName'
,
key
:
'returnBearName'
},
{
title
:
''
,
valueType
:
'split'
},
{
title
:
'退还押金
(元)
'
,
title
:
'退还押金'
,
dataIndex
:
'refund'
,
key
:
'refund'
},
...
...
@@ -127,6 +132,12 @@ const fields = [
dataIndex
:
'handleTime'
,
key
:
'handleTime'
},
{
title
:
'备注'
,
dataIndex
:
'remark'
,
key
:
'remark'
,
colProps
:
{
span
:
24
},
},
{
title
:
'相关文件'
,
valueType
:
'split'
...
...
@@ -224,35 +235,77 @@ const Details = ({ drawer }) => {
dataIndex
:
'equipmentName'
,
key
:
'equipmentName'
,
},
{
title
:
'设备型号'
,
dataIndex
:
'equipmentModelName'
,
key
:
'equipmentModelName'
,
hideInSearch
:
true
},
{
title
:
'莫格云眼'
,
dataIndex
:
'intelligentUnitNo'
,
key
:
'intelligentUnitNo'
,
},
{
title
:
'每期单价(元)'
,
title
:
'出库区域'
,
dataIndex
:
'equipmentModelName'
,
key
:
'equipmentModelName'
,
hideInSearch
:
true
},
{
title
:
'入库区域'
,
dataIndex
:
'equipmentModelName'
,
key
:
'equipmentModelName'
,
hideInSearch
:
true
},
{
title
:
'每期单价'
,
dataIndex
:
'unitPrice'
,
key
:
'unitPrice'
,
hideInSearch
:
true
},
{
title
:
'智享价
(元)
'
,
title
:
'智享价'
,
dataIndex
:
'zxPrice'
,
key
:
'zxPrice'
,
hideInSearch
:
true
},
{
title
:
'返利金额
(元)
'
,
title
:
'返利金额'
,
dataIndex
:
'rebatePrice'
,
key
:
'rebatePrice'
,
hideInSearch
:
true
},
{
title
:
'押金(元)'
,
title
:
'交付运费'
,
dataIndex
:
'deliveryPrice'
,
key
:
'deliveryPrice'
,
hideInSearch
:
true
},
{
title
:
'交付日期'
,
dataIndex
:
'deliveryDate'
,
key
:
'deliveryDate'
,
hideInSearch
:
true
},
{
title
:
'押金'
,
dataIndex
:
'deposit'
,
key
:
'deposit'
,
hideInSearch
:
true
},
{
title
:
'开始租赁时间'
,
dataIndex
:
'startLeaseDate'
,
key
:
'startLeaseDate'
,
hideInSearch
:
true
},
{
title
:
'结束租赁时间'
,
dataIndex
:
'endLeaseDate'
,
key
:
'endLeaseDate'
,
hideInSearch
:
true
},
{
title
:
'实际结束时间'
,
dataIndex
:
'realEndDate'
,
...
...
@@ -260,11 +313,35 @@ const Details = ({ drawer }) => {
hideInSearch
:
true
},
{
title
:
'违约金
(元)
'
,
title
:
'违约金'
,
dataIndex
:
'violatePrice'
,
key
:
'violatePrice'
,
hideInSearch
:
true
},
{
title
:
'退还运费'
,
dataIndex
:
'returnFreight'
,
key
:
'returnFreight'
,
hideInSearch
:
true
},
{
title
:
'退还日期'
,
dataIndex
:
'returnDate'
,
key
:
'returnDate'
,
hideInSearch
:
true
},
{
title
:
'返程运费承担方'
,
dataIndex
:
'returnBearName'
,
key
:
'returnBearName'
,
hideInSearch
:
true
},
{
title
:
'备注'
,
dataIndex
:
'remark'
,
key
:
'remark'
,
hideInSearch
:
true
},
];
const
items
=
useMemo
(()
=>
{
return
[
...
...
@@ -288,6 +365,7 @@ const Details = ({ drawer }) => {
bordered=
{
false
}
extraparams=
{
{
contractId
:
drawer
?.
item
?.
id
}
}
pagination=
{
'false'
}
x=
{
2300
}
/>,
}
]
...
...
src/pages/lease/contract/columns.js
View file @
aab9e0ac
import
{
Tooltip
,
Image
}
from
'antd'
;
import
Filedetail
from
"@/components/Filedetail"
;
function
getcolumns
(
setdrawer
,
valtype
,
itemId
)
{
let
common
=
[
let
common
a
=
[
{
title
:
'合同单号'
,
dataIndex
:
'contractNo'
,
...
...
@@ -31,7 +31,7 @@ function getcolumns(setdrawer, valtype, itemId) {
}
},
{
title
:
'客户'
,
title
:
'客户
名称
'
,
dataIndex
:
'customerName'
,
key
:
'customerId'
,
colProps
:
{
span
:
8
},
...
...
@@ -43,7 +43,7 @@ function getcolumns(setdrawer, valtype, itemId) {
},
},
{
title
:
'合同金额
(元)
'
,
title
:
'合同金额'
,
dataIndex
:
'amount'
,
key
:
'amount'
,
hideInSearch
:
true
,
...
...
@@ -55,293 +55,331 @@ function getcolumns(setdrawer, valtype, itemId) {
key
:
'startLeaseDateList'
,
hideInForm
:
true
,
valueType
:
'dateRange'
},
{
title
:
'本期应收回款'
,
dataIndex
:
'thisCollection'
,
key
:
'thisCollection'
,
hideInSearch
:
true
,
hideInForm
:
true
,
},
{
title
:
'设备台数'
,
dataIndex
:
'equipmentNum'
,
key
:
'equipmentNum'
,
hideInSearch
:
true
,
hideInForm
:
true
,
render
:
(
_
,
row
)
=>
{
return
(
<
a
className
=
"table-cell"
onClick
=
{()
=>
{
setdrawer
&&
setdrawer
((
s
)
=>
({
...
s
,
open
:
true
,
item
:
row
,
val
:
'only'
,
title
:
'租赁设备'
,
type
:
'device'
}));
}}
>
{
row
.
equipmentNum
}
<
/a
>
);
}
},
{
title
:
'去程运费'
,
dataIndex
:
'tripFreight'
,
key
:
'tripFreight'
,
colProps
:
{
span
:
8
},
valueType
:
'digit'
,
hideInSearch
:
true
,
hideInTable
:
true
,
precision
:
2
},
{
title
:
'去程运费承担方'
,
dataIndex
:
'tripBear'
,
key
:
'tripBear'
,
hideInSearch
:
true
,
valueType
:
'select'
,
options
:
[
{
label
:
'客户'
,
value
:
'1'
},
{
label
:
'平台'
,
value
:
'2'
},
],
colProps
:
{
span
:
8
},
hideInTable
:
true
,
},
{
title
:
'回款设置(自然日)'
,
dataIndex
:
'collectionSet'
,
key
:
'collectionSet'
,
valueType
:
'digit'
,
hideInSearch
:
true
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
},
colProps
:
{
span
:
8
},
hideInTable
:
true
,
precision
:
0
,
min
:
1
},
{
title
:
'预警设置(自然日)'
,
dataIndex
:
'warnSet'
,
key
:
'warnSet'
,
hideInSearch
:
true
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
},
colProps
:
{
span
:
8
},
valueType
:
'digit'
,
hideInTable
:
true
,
precision
:
0
,
min
:
1
},
{
title
:
'合同租期(月)'
,
dataIndex
:
'tenancy'
,
key
:
'tenancy'
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
},
colProps
:
{
span
:
8
},
hideInSearch
:
true
,
valueType
:
'digit'
,
hideInTable
:
true
,
precision
:
0
,
min
:
1
},
{
title
:
'租赁设备'
,
dataIndex
:
'contractEquipmentList'
,
key
:
'contractEquipmentList'
,
hideInSearch
:
true
,
valueType
:
'formList'
,
hideInTable
:
true
,
colProps
:
{
xs
:
24
,
sm
:
24
,
}
],
commonb
=
[
{
title
:
'设备数量'
,
dataIndex
:
'equipmentNum'
,
key
:
'equipmentNum'
,
hideInSearch
:
true
,
hideInForm
:
true
,
render
:
(
_
,
row
)
=>
{
return
(
<
a
className
=
"table-cell"
onClick
=
{()
=>
{
setdrawer
&&
setdrawer
((
s
)
=>
({
...
s
,
open
:
true
,
item
:
row
,
val
:
'only'
,
title
:
'租赁设备'
,
type
:
'device'
}));
}}
>
{
row
.
equipmentNum
}
<
/a
>
);
}
},
columns
:
[
{
title
:
'设备'
,
dataIndex
:
'equipmentName'
,
key
:
'equipmentId'
,
valueType
:
'select'
,
fieldProps
:
{
placeholder
:
'请选择'
,
showSearch
:
true
},
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
},
colProps
:
{
sm
:
6
,
},
options
:
{
path
:
'/lease/umLeaseLedger/queryLedgerSelectbox'
,
params
:
valtype
==
'add'
?
{}
:
{
contractId
:
itemId
},
},
},
{
title
:
'每期单价(元)'
,
dataIndex
:
'unitPrice'
,
key
:
'unitPrice'
,
valueType
:
'digit'
,
precision
:
2
,
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
},
colProps
:
{
sm
:
3
,
},
min
:
0.01
{
title
:
'交付运费'
,
dataIndex
:
'tripFreight'
,
key
:
'tripFreight'
,
colProps
:
{
span
:
8
},
valueType
:
'digit'
,
hideInSearch
:
true
,
hideInTable
:
true
,
hideInForm
:
true
,
precision
:
2
},
{
title
:
'去程运费承担方'
,
dataIndex
:
'tripBear'
,
key
:
'tripBear'
,
hideInSearch
:
true
,
valueType
:
'select'
,
options
:
[
{
label
:
'客户'
,
value
:
'1'
},
{
label
:
'平台'
,
value
:
'2'
},
],
colProps
:
{
span
:
8
},
hideInTable
:
true
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
}
},
{
title
:
'回款设置(自然日)'
,
dataIndex
:
'collectionSet'
,
key
:
'collectionSet'
,
valueType
:
'digit'
,
hideInSearch
:
true
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
},
colProps
:
{
span
:
8
},
hideInTable
:
true
,
precision
:
0
,
min
:
1
},
{
title
:
'预警设置(自然日)'
,
dataIndex
:
'warnSet'
,
key
:
'warnSet'
,
hideInSearch
:
true
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
},
colProps
:
{
span
:
8
},
valueType
:
'digit'
,
hideInTable
:
true
,
precision
:
0
,
min
:
1
},
{
title
:
'合同租期(月)'
,
dataIndex
:
'tenancy'
,
key
:
'tenancy'
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
},
colProps
:
{
span
:
8
},
hideInSearch
:
true
,
valueType
:
'digit'
,
precision
:
0
,
min
:
1
},
{
title
:
'租赁设备'
,
dataIndex
:
'contractEquipmentList'
,
key
:
'contractEquipmentList'
,
hideInSearch
:
true
,
valueType
:
'formList'
,
hideInTable
:
true
,
colProps
:
{
xs
:
24
,
sm
:
24
,
},
{
title
:
'智享价(元)'
,
dataIndex
:
'zxPrice'
,
key
:
'zxPrice'
,
valueType
:
'digit'
,
precision
:
2
,
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
columns
:
[
{
title
:
'设备'
,
dataIndex
:
'equipmentName'
,
key
:
'equipmentId'
,
valueType
:
'select'
,
fieldProps
:
{
placeholder
:
'请选择'
,
showSearch
:
true
},
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
},
colProps
:
{
sm
:
4
,
},
options
:
{
path
:
'/lease/umLeaseLedger/queryLedgerSelectbox'
,
params
:
valtype
==
'add'
?
{}
:
{
contractId
:
itemId
},
},
},
colProps
:
{
sm
:
3
,
{
title
:
'每期单价'
,
dataIndex
:
'unitPrice'
,
key
:
'unitPrice'
,
valueType
:
'digit'
,
precision
:
2
,
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
},
colProps
:
{
sm
:
3
,
},
min
:
0.00
},
min
:
0.01
},
{
title
:
'返利金额(元)'
,
dataIndex
:
'rebatePrice'
,
key
:
'rebatePrice'
,
valueType
:
'digit'
,
precision
:
2
,
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
{
title
:
'智享价'
,
dataIndex
:
'zxPrice'
,
key
:
'zxPrice'
,
valueType
:
'digit'
,
precision
:
2
,
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
},
colProps
:
{
sm
:
3
,
},
min
:
0.00
},
colProps
:
{
sm
:
3
,
{
title
:
'返利金额'
,
dataIndex
:
'rebatePrice'
,
key
:
'rebatePrice'
,
valueType
:
'digit'
,
precision
:
2
,
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
},
colProps
:
{
sm
:
3
,
},
fieldProps
:
{
disabled
:
true
},
min
:
0.00
},
fieldProps
:
{
disabled
:
true
{
title
:
'交付运费'
,
dataIndex
:
'deliveryPrice'
,
key
:
'deliveryPrice'
,
valueType
:
'digit'
,
precision
:
2
,
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
},
colProps
:
{
sm
:
3
,
},
min
:
0.00
},
min
:
0.00
},
{
title
:
'押金(元)'
,
dataIndex
:
'deposit'
,
key
:
'deposit'
,
valueType
:
'digit'
,
precision
:
2
,
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
{
title
:
'交付日期'
,
dataIndex
:
'deliveryDate'
,
key
:
'deliveryDate'
,
valueType
:
'date'
,
colProps
:
{
sm
:
3
,
}
},
colProps
:
{
sm
:
3
,
{
title
:
'押金'
,
dataIndex
:
'deposit'
,
key
:
'deposit'
,
valueType
:
'digit'
,
precision
:
2
,
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
},
colProps
:
{
sm
:
2
,
},
min
:
0.00
},
min
:
0.01
{
title
:
'备注'
,
dataIndex
:
'remark'
,
key
:
'remark'
,
colProps
:
{
sm
:
3
,
},
}
],
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
},
min
:
1
},
{
title
:
'营销区域'
,
dataIndex
:
'marketRegion'
,
key
:
'marketRegion'
,
hideInSearch
:
true
,
colProps
:
{
span
:
8
},
},
{
title
:
'智享店'
,
dataIndex
:
'zxstore'
,
key
:
'zxstore'
,
colProps
:
{
span
:
8
},
hideInSearch
:
true
,
hideInTable
:
true
,
},
{
title
:
'签订日期'
,
dataIndex
:
'registrationDate'
,
key
:
'registrationDate'
,
colProps
:
{
span
:
8
},
hideInSearch
:
true
,
valueType
:
'date'
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
},
},
{
title
:
'承接合同编号'
,
dataIndex
:
'undertakingNo'
,
key
:
'undertakingId'
,
colProps
:
{
span
:
8
},
hideInSearch
:
true
,
hideInTable
:
true
,
valueType
:
'select'
,
options
:
{
path
:
'/lease/umContract/querySelect'
,
params
:
{
id
:
valtype
==
'edit'
?
itemId
:
''
}
},
},
{
title
:
'销售经理'
,
dataIndex
:
'head'
,
key
:
'head'
,
hideInSearch
:
true
,
colProps
:
{
span
:
8
},
},
{
title
:
'到货日期'
,
dataIndex
:
'arriveDate'
,
key
:
'arriveDate'
,
colProps
:
{
span
:
8
},
hideInSearch
:
true
,
valueType
:
'date'
},
{
title
:
'合同(最多5个)'
,
dataIndex
:
'contractFileList'
,
key
:
'contractFileList'
,
hideInSearch
:
true
,
hideInTable
:
false
,
valueType
:
'uploadBtn'
,
span
:
3
,
fieldProps
:
{
limit
:
5
,
},
{
title
:
'备注'
,
dataIndex
:
'remark'
,
key
:
'remark'
,
colProps
:
{
sm
:
6
,
},
colProps
:
{
span
:
24
},
render
:
(
_
,
row
)
=>
{
return
<
Filedetail
files
=
{
valtype
==
'only'
?
row
?.[
'contractFileList'
]
:
(
row
?.[
'contractFileList'
]?.[
0
]
?
[
row
?.[
'contractFileList'
]?.[
0
]]
:
[])}
/
>
}
],
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
},
min
:
1
},
{
title
:
'营销区域'
,
dataIndex
:
'marketRegion'
,
key
:
'marketRegion'
,
hideInSearch
:
true
,
colProps
:
{
span
:
8
},
hideInTable
:
true
,
},
{
title
:
'智享店'
,
dataIndex
:
'zxstore'
,
key
:
'zxstore'
,
colProps
:
{
span
:
8
},
hideInSearch
:
true
,
hideInTable
:
true
,
},
{
title
:
'登记日期'
,
dataIndex
:
'registrationDate'
,
key
:
'registrationDate'
,
colProps
:
{
span
:
8
},
hideInSearch
:
true
,
hideInTable
:
true
,
valueType
:
'date'
,
},
{
title
:
'承接合同编号'
,
dataIndex
:
'undertakingNo'
,
key
:
'undertakingId'
,
colProps
:
{
span
:
8
},
hideInSearch
:
true
,
hideInTable
:
true
,
valueType
:
'select'
,
options
:
{
path
:
'/lease/umContract/querySelect'
,
params
:
{
id
:
valtype
==
'edit'
?
itemId
:
''
}
},
},
{
title
:
'合同负责人'
,
dataIndex
:
'head'
,
key
:
'head'
,
hideInSearch
:
true
,
hideInTable
:
true
,
colProps
:
{
span
:
8
},
},
{
title
:
'合同上传(最多5个)'
,
dataIndex
:
'contractFileList'
,
key
:
'contractFileList'
,
hideInSearch
:
true
,
hideInTable
:
false
,
valueType
:
'uploadBtn'
,
span
:
3
,
fieldProps
:
{
limit
:
5
,
},
colProps
:
{
span
:
24
},
render
:
(
_
,
row
)
=>
{
return
<
Filedetail
files
=
{
valtype
==
'only'
?
row
?.[
'contractFileList'
]
:
(
row
?.[
'contractFileList'
]?.[
0
]
?
[
row
?.[
'contractFileList'
]?.[
0
]]
:
[])}
/
>
}
}
];
];
return
[
{
tab
:
'未完成'
,
key
:
'1'
,
columns
:
[
...
common
,
...
commona
,
{
title
:
'本期应收回款'
,
dataIndex
:
'thisCollection'
,
key
:
'thisCollection'
,
hideInSearch
:
true
,
hideInForm
:
true
,
},
...
commonb
,
{
title
:
'状态'
,
dataIndex
:
'statusName'
,
...
...
@@ -381,7 +419,22 @@ function getcolumns(setdrawer, valtype, itemId) {
tab
:
'已完成'
,
key
:
'2'
,
columns
:
[
...
common
,
...
commona
,
{
title
:
'合同终止日'
,
dataIndex
:
'endLeaseDate'
,
key
:
'endLeaseDate'
,
hideInSearch
:
true
,
hideInForm
:
true
,
},
{
title
:
'退还日期'
,
dataIndex
:
'returnDate'
,
key
:
'returnDate'
,
hideInSearch
:
true
,
hideInForm
:
true
,
},
...
commonb
,
{
title
:
'状态'
,
dataIndex
:
'statusName'
,
...
...
src/pages/lease/contract/index.jsx
View file @
aab9e0ac
...
...
@@ -57,7 +57,7 @@ const formCommonColumns = [
editable
:
false
},
{
title
:
'每期单价
(元)
'
,
title
:
'每期单价'
,
dataIndex
:
'unitPrice'
,
key
:
'unitPrice'
,
colProps
:
{
...
...
@@ -66,7 +66,34 @@ const formCommonColumns = [
editable
:
false
},
{
title
:
'押金(元)'
,
title
:
'智享价'
,
dataIndex
:
'zxPrice'
,
key
:
'zxPrice'
,
editable
:
false
,
colProps
:
{
sm
:
2
,
},
},
{
title
:
'返利金额'
,
dataIndex
:
'rebatePrice'
,
key
:
'rebatePrice'
,
editable
:
false
,
colProps
:
{
sm
:
2
,
},
},
{
title
:
'交付运费'
,
dataIndex
:
'deliveryPrice'
,
key
:
'deliveryPrice'
,
editable
:
false
,
colProps
:
{
sm
:
2
,
},
},
{
title
:
'押金'
,
dataIndex
:
'deposit'
,
key
:
'deposit'
,
editable
:
false
,
...
...
@@ -74,6 +101,15 @@ const formCommonColumns = [
sm
:
2
,
},
},
{
title
:
'开始租赁时间'
,
dataIndex
:
'startLeaseDate'
,
key
:
'startLeaseDate'
,
editable
:
false
,
colProps
:
{
sm
:
3
},
},
{
title
:
'结束租赁时间'
,
dataIndex
:
'endLeaseDate'
,
...
...
@@ -242,14 +278,6 @@ function Contract(props) {
fieldProps
:
{
placeholder
:
'请选择'
,
},
formItemProps
:
{
rules
:
[
{
required
:
true
,
message
:
'此项为必填项'
,
},
],
},
colProps
:
{
sm
:
6
,
},
...
...
@@ -267,6 +295,7 @@ function Contract(props) {
],
creatorButtonProps
:
false
,
deleteIconProps
:
false
,
bordered
:
true
},
{
title
:
'起租单上传'
,
...
...
@@ -372,7 +401,6 @@ function Contract(props) {
sm
:
24
,
},
columns
:
[
...
formCommonColumns
,
{
title
:
'实际结束时间'
,
dataIndex
:
'realEndDate'
,
...
...
@@ -387,7 +415,7 @@ function Contract(props) {
hideInFormShowKey
:
'realEndDate'
},
{
title
:
'违约金
(元)
'
,
title
:
'违约金'
,
dataIndex
:
'violatePrice'
,
key
:
'violatePrice'
,
colProps
:
{
...
...
@@ -400,9 +428,62 @@ function Contract(props) {
},
hideInFormShowKey
:
'violatePrice'
},
{
title
:
'退还运费'
,
dataIndex
:
'returnFreight'
,
key
:
'returnFreight'
,
colProps
:
{
sm
:
3
,
},
valueType
:
'digit'
,
precision
:
2
,
hideInForm
:
{
isFinish
:
[
2
]
},
hideInFormShowKey
:
'returnFreight'
},
{
title
:
'退还日期'
,
dataIndex
:
'returnDate'
,
key
:
'returnDate'
,
valueType
:
'date'
,
colProps
:
{
sm
:
3
,
},
hideInForm
:
{
isFinish
:
[
2
]
},
hideInFormShowKey
:
'returnDate'
},
{
title
:
'返程运费承担方'
,
dataIndex
:
'returnBear'
,
key
:
'returnBear'
,
valueType
:
'select'
,
options
:
[
{
label
:
'客户'
,
value
:
1
},
{
label
:
'平台'
,
value
:
2
},
],
colProps
:
{
sm
:
3
,
},
hideInForm
:
{
isFinish
:
[
2
]
},
hideInFormShowKey
:
'returnBearName'
},
...
formCommonColumns
,
],
creatorButtonProps
:
false
,
deleteIconProps
:
false
,
bordered
:
false
}
]
}));
...
...
@@ -420,31 +501,67 @@ function Contract(props) {
setdrawer
((
s
)
=>
({
...
s
,
open
:
true
,
item
:
{
...
row
,
device
List
:
res
?.
data
?.
dataList
??
[]
},
item
:
{
...
row
,
contractEquipment
List
:
res
?.
data
?.
dataList
??
[]
},
val
:
'break'
,
title
:
'结束'
,
fields
:
[
{
title
:
'返程运费'
,
dataIndex
:
'returnFreight'
,
key
:
'returnFreight'
,
colProps
:
{
span
:
8
},
valueType
:
'digit'
,
precision
:
2
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
}
},
{
title
:
'返程运费承担方'
,
dataIndex
:
'returnBear'
,
key
:
'returnBear'
,
valueType
:
'select'
,
options
:
[
{
label
:
'客户'
,
value
:
'1'
},
{
label
:
'平台'
,
value
:
'2'
},
title
:
''
,
dataIndex
:
'contractEquipmentList'
,
key
:
'contractEquipmentList'
,
valueType
:
'formList'
,
initialValue
:
[
{
state
:
'all'
,
title
:
'标题'
,
},
],
colProps
:
{
span
:
8
},
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
}
},
colProps
:
{
xs
:
24
,
sm
:
24
,
},
columns
:
[
{
title
:
'退还运费'
,
dataIndex
:
'returnFreight'
,
key
:
'returnFreight'
,
colProps
:
{
sm
:
3
,
},
valueType
:
'digit'
,
precision
:
2
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
}
},
{
title
:
'退还日期'
,
dataIndex
:
'returnDate'
,
key
:
'returnDate'
,
colProps
:
{
sm
:
3
,
},
valueType
:
'date'
,
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
}
},
{
title
:
'返程运费承担方'
,
dataIndex
:
'returnBear'
,
key
:
'returnBear'
,
valueType
:
'select'
,
options
:
[
{
label
:
'客户'
,
value
:
1
},
{
label
:
'平台'
,
value
:
2
},
],
colProps
:
{
sm
:
3
,
},
formItemProps
:
{
rules
:
[{
required
:
true
,
message
:
'此项为必填项'
}]
}
},
...
formCommonColumns
,
],
creatorButtonProps
:
false
,
deleteIconProps
:
false
,
bordered
:
false
}
]
}));
},
...
...
@@ -502,6 +619,32 @@ function Contract(props) {
}
}
>
处理
</
PremButton
>,
<
PremButton
key=
'creatremark'
btn=
{
{
size
:
'small'
,
onClick
:
async
()
=>
{
setdrawer
((
s
)
=>
({
...
s
,
open
:
true
,
item
:
{
...
row
},
val
:
'creatremark'
,
title
:
`备注 ${row.contractNo}`
,
fields
:
[
{
title
:
'备注'
,
dataIndex
:
'remark'
,
key
:
'remark'
,
colProps
:
{
span
:
24
},
valueType
:
'textarea'
,
}
]
}));
},
}
}
>
备注
</
PremButton
>
]
}
...
...
@@ -527,16 +670,12 @@ function Contract(props) {
const
columns
=
useMemo
(()
=>
{
let
defcolumn
=
getcolumns
(
setdrawer
,
drawer
?.
val
,
drawer
?.
item
?.
id
).
filter
((
it
)
=>
it
.
key
==
activeTabKey
)[
0
]?.
columns
;
let
defpath
=
getcolumns
(
setdrawer
,
drawer
?.
val
,
drawer
?.
item
?.
id
).
filter
((
it
)
=>
it
.
key
==
activeTabKey
)[
0
]?.
pathconfig
??
{};
if
(
activeTabKey
==
1
)
{
return
defcolumn
.
concat
({
title
:
'操作'
,
valueType
:
'option'
,
width
:
150
,
render
:
(
text
,
row
,
_
,
action
)
=>
rightExtra
(
text
,
row
,
_
,
action
),
});
}
else
{
return
defcolumn
;
}
return
defcolumn
.
concat
({
title
:
'操作'
,
valueType
:
'option'
,
width
:
activeTabKey
==
'1'
?
150
:
80
,
render
:
(
text
,
row
,
_
,
action
)
=>
rightExtra
(
text
,
row
,
_
,
action
),
});
},
[
activeTabKey
,
drawer
?.
val
,
drawer
?.
item
?.
id
]);
const
tabList
=
useMemo
(()
=>
{
...
...
@@ -651,24 +790,42 @@ function Contract(props) {
}
else
if
(
drawer
?.
val
==
'edit'
)
{
await
runAsync
({
url
:
pathconfig
?.
edit
,
params
:
{
...
newVals
,
id
:
drawer
?.
item
?.
id
,
amount
}
});
}
else
if
(
drawer
?.
val
==
'start'
)
{
let
equipmentIdList
=
newVals
.
intelligenceList
?.
map
(
it
=>
it
.
equipmentId
);
let
equipmentList
=
newVals
?.
intelligenceList
?.
filter
(
it
=>
it
.
isBindUnit
!=
1
&&
it
.
ledgerEquipmentId
)?.
map
(
it
=>
{
return
{
leaseLedgerId
:
it
.
equipmentId
,
ledgerEquipmentId
:
it
.
ledgerEquipmentId
}
})
??
[];
delete
newVals
.
intelligenceList
;
await
runAsync
({
url
:
'/lease/umContract/start'
,
params
:
{
...
newVals
,
id
:
drawer
?.
item
?.
id
,
equipment
Id
List
}
});
await
runAsync
({
url
:
'/lease/umContract/start'
,
params
:
{
...
newVals
,
id
:
drawer
?.
item
?.
id
,
equipmentList
}
});
}
else
if
(
drawer
?.
val
==
'out'
)
{
let
contractEquipmentList
=
newVals
.
deviceList
?.
filter
(
it
=>
{
if
(
it
.
isFinish
==
1
)
{
return
{
id
:
it
.
id
,
realEndDate
:
it
.
realEndDate
,
violatePrice
:
it
.
violatePrice
violatePrice
:
it
.
violatePrice
,
returnFreight
:
it
.
returnFreight
,
returnBear
:
it
.
returnBear
,
returnDate
:
it
.
returnDate
}
}
})
await
runAsync
({
url
:
'/lease/umContract/rentout'
,
params
:
{
contractEquipmentList
,
id
:
drawer
?.
item
?.
id
}
});
}
else
if
(
drawer
?.
val
==
'break'
)
{
await
runAsync
({
url
:
'/lease/umContract/end'
,
params
:
{
...
newVals
,
id
:
drawer
?.
item
?.
id
}
});
let
contractEquipmentList
=
newVals
?.
contractEquipmentList
?.
map
(
it
=>
{
return
{
id
:
it
.
id
,
returnFreight
:
it
.
returnFreight
,
returnBear
:
it
.
returnBear
,
returnDate
:
it
.
returnDate
}
})
await
runAsync
({
url
:
'/lease/umContract/end'
,
params
:
{
contractEquipmentList
,
id
:
drawer
?.
item
?.
id
}
});
}
else
if
(
drawer
?.
val
==
'handle'
)
{
await
runAsync
({
url
:
'/lease/umContract/handle'
,
params
:
{
...
newVals
,
id
:
drawer
?.
item
?.
id
}
});
}
else
if
(
drawer
?.
val
==
'creatremark'
)
{
await
runAsync
({
url
:
'/lease/umContract/remark'
,
params
:
{
...
newVals
,
id
:
drawer
?.
item
?.
id
}
});
}
}
}
onValuesChange=
{
(
changedValues
,
allValues
)
=>
{
...
...
@@ -699,11 +856,6 @@ function Contract(props) {
}
})
}
if
(
i
==
'intelligenceList'
)
{
let
params
=
changedValues
[
i
],
equipmentId
=
params
.
length
>
0
?
intelligenceList
[
params
.
length
-
1
]?.
equipmentId
:
""
;
params
=
params
.
length
>
0
?
params
[
params
.
length
-
1
]
:
{};
doFetch
({
url
:
'/lease/umLeaseLedger/bound'
,
params
:
{
...
params
,
id
:
equipmentId
}
});
}
}
}
}
submitter=
{
{
...
...
@@ -745,13 +897,13 @@ function Contract(props) {
},
}
}
childrenposition=
{
(
drawer
.
val
==
'
break'
||
drawer
.
val
==
'
handle'
)
?
'top'
:
''
}
childrenposition=
{
(
drawer
.
val
==
'handle'
)
?
'top'
:
''
}
>
{
drawer
.
val
==
'only'
&&
getOnlyDom
()
}
{
(
drawer
.
val
==
'
break'
||
drawer
.
val
==
'
handle'
)
&&
<
FormTable
columns=
{
[
(
drawer
.
val
==
'handle'
)
&&
<
FormTable
columns=
{
[
...
formCommonColumns
,
{
title
:
'实际结束时间'
,
...
...
@@ -763,7 +915,7 @@ function Contract(props) {
editable
:
false
},
{
title
:
'违约金
(元)
'
,
title
:
'违约金'
,
dataIndex
:
'violatePrice'
,
key
:
'violatePrice'
,
colProps
:
{
...
...
src/pages/lease/costanalysis/columns.js
View file @
aab9e0ac
...
...
@@ -8,7 +8,7 @@ const statusColors = {
function
getcolumns
(
setdrawer
,
activeKey
)
{
const
commona
=
[
{
title
:
'客户'
,
title
:
'客户
名称
'
,
dataIndex
:
'customerName'
,
key
:
'customerId'
,
valueType
:
'select'
,
...
...
@@ -35,37 +35,86 @@ function getcolumns(setdrawer, activeKey) {
key
:
'equipmentName'
,
},
{
title
:
'智能单元莫格云眼编号'
,
dataIndex
:
'intelligentUnitNo'
,
key
:
'intelligentUnitNo'
,
width
:
170
},
{
title
:
'每期单价(元)'
,
dataIndex
:
'unitPrice'
,
key
:
'unitPrice'
,
title
:
'设备型号'
,
dataIndex
:
'equipmentModelName'
,
key
:
'equipmentModelName'
,
hideInSearch
:
true
},
{
title
:
'智享价(元)'
,
dataIndex
:
'zxPrice'
,
key
:
'zxPrice'
,
hideInSearch
:
true
},
{
title
:
'返利金额(元)'
,
dataIndex
:
'rebatePrice'
,
key
:
'rebatePrice'
,
hideInSearch
:
true
title
:
'莫格云眼'
,
dataIndex
:
'intelligentUnitNo'
,
key
:
'intelligentUnitNo'
,
width
:
170
},
{
title
:
'押金(元)'
,
dataIndex
:
'deposit'
,
key
:
'deposit'
,
hideInSearch
:
true
title
:
'出库区域'
,
dataIndex
:
'intelligentUnitNo'
,
key
:
'intelligentUnitNo'
,
}
],
commonb
=
[
{
title
:
'每期单价'
,
dataIndex
:
'unitPrice'
,
key
:
'unitPrice'
,
hideInSearch
:
true
},
{
title
:
'智享价'
,
dataIndex
:
'zxPrice'
,
key
:
'zxPrice'
,
hideInSearch
:
true
},
{
title
:
'返利金额'
,
dataIndex
:
'rebatePrice'
,
key
:
'rebatePrice'
,
hideInSearch
:
true
},
{
title
:
'交付运费'
,
dataIndex
:
'deliveryPrice'
,
key
:
'deliveryPrice'
,
hideInSearch
:
true
},
{
title
:
'交付日期'
,
dataIndex
:
'deliveryDate'
,
key
:
'deliveryDate'
,
hideInSearch
:
true
},
{
title
:
'退还运费'
,
dataIndex
:
'returnFreight'
,
key
:
'returnFreight'
,
hideInSearch
:
true
},
{
title
:
'退还日期'
,
dataIndex
:
'returnDate'
,
key
:
'returnDate'
,
hideInSearch
:
true
},
{
title
:
'返程运费承担方'
,
dataIndex
:
'returnBearName'
,
key
:
'returnBearName'
,
hideInSearch
:
true
},
{
title
:
'押金'
,
dataIndex
:
'deposit'
,
key
:
'deposit'
,
hideInSearch
:
true
},
{
title
:
'违约金'
,
dataIndex
:
'violatePrice'
,
key
:
'violatePrice'
,
hideInSearch
:
true
}
],
commonc
=
[
{
title
:
'开票期数'
,
dataIndex
:
'openNum'
,
...
...
@@ -153,6 +202,7 @@ function getcolumns(setdrawer, activeKey) {
hideInSearch
:
true
},
...
commonb
,
...
commonc
,
{
title
:
'回款状态'
,
dataIndex
:
'collectionStatusName'
,
...
...
@@ -202,7 +252,14 @@ function getcolumns(setdrawer, activeKey) {
},
hideInSearch
:
true
},
...
commonb
,]
...
commonb
,
{
title
:
'入库区域'
,
dataIndex
:
'intelligentUnitNo'
,
key
:
'intelligentUnitNo'
,
},
...
commonc
]
}
]
...
...
src/pages/lease/costanalysis/index.jsx
View file @
aab9e0ac
...
...
@@ -135,7 +135,7 @@ const Costanalysis = () => {
title
:
'租金减免'
,
fields
:
[
{
title
:
'当前减免金额
(元)
'
,
title
:
'当前减免金额'
,
dataIndex
:
'reducePrice'
,
key
:
'reducePrice'
,
valueType
:
'digit'
,
...
...
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