Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tsndu-web
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
魏吉光
tsndu-web
Commits
feb9957b
Commit
feb9957b
authored
Oct 23, 2020
by
weijiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
6d96045f
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
220 additions
and
130 deletions
+220
-130
src/libs/constants.js
+1
-0
src/view/company/info/index.vue
+45
-37
src/view/driver/add/index.js
+3
-3
src/view/driver/add/index.vue
+4
-4
src/view/driver/edit/index.js
+1
-1
src/view/driver/edit/index.vue
+4
-4
src/view/driver/list/helper.js
+6
-6
src/view/driver/list/index.js
+1
-1
src/view/driver_contract/edit/helper.js
+28
-2
src/view/driver_contract/edit/index.vue
+1
-1
src/view/driver_contract/list/actions/index.js
+4
-7
src/view/driver_contract/list/actions/index.vue
+7
-0
src/view/driver_contract/list/index.vue
+1
-1
src/view/driver_contract/receivables/helper.js
+13
-0
src/view/driver_contract/receivables/index.js
+1
-1
src/view/driver_contract/receivables/index.vue
+8
-0
src/view/driver_contract/sign/index.js
+11
-3
src/view/driver_contract/sign/index.vue
+28
-25
src/view/source_contract/edit/helper.js
+14
-1
src/view/source_contract/list/actions/index.js
+4
-7
src/view/source_contract/list/actions/index.vue
+7
-0
src/view/source_contract/list/helper.js
+1
-1
src/view/source_contract/list/index.vue
+1
-1
src/view/source_contract/sign/index.js
+5
-3
src/view/source_contract/sign/index.vue
+18
-18
src/view/vehicle/add/index.js
+1
-1
src/view/vehicle/list/index.js
+2
-2
No files found.
src/libs/constants.js
View file @
feb9957b
...
...
@@ -35,3 +35,4 @@ export const levelOption = [
{
text
:
"初级(10)"
,
value
:
2
},
{
text
:
"高级(50)"
,
value
:
3
},
];
src/view/company/info/index.vue
View file @
feb9957b
...
...
@@ -7,52 +7,43 @@
<div
v-else
>
<Form
:label-width=
"100"
:label-colon=
"true"
id=
"fontstyle"
>
<Row>
<Col
span=
"24"
style=
"text-align:center; font-size:22px; color:#FF3333
"
>
{{
validText
}}
</Col>
<Col
span=
"24"
class=
"tip
"
>
{{
validText
}}
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"企业ID"
>
{{
company
.
id
}}
</FormItem>
</Col>
<Row
class=
"row"
>
<Col
span=
"2"
class=
"left"
>
企业ID:
</Col>
<Col
span=
"22"
class=
"right"
>
{{
company
.
id
}}
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"企业名称"
>
{{
company
.
name
}}
</FormItem>
</Col>
<Row
class=
"row"
>
<Col
span=
"2"
class=
"left"
>
企业名称:
</Col>
<Col
span=
"22"
class=
"right"
>
{{
company
.
name
}}
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"企业简称"
>
{{
company
.
abbr
}}
</FormItem>
</Col>
<Row
class=
"row"
>
<Col
span=
"2"
class=
"left"
>
企业简称:
</Col>
<Col
span=
"22"
class=
"right"
>
{{
company
.
abbr
}}
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"企业地址"
>
{{
company
.
address
}}
</FormItem>
</Col>
<Row
class=
"row"
>
<Col
span=
"2"
class=
"left"
>
企业地址:
</Col>
<Col
span=
"22"
class=
"right"
>
{{
company
.
address
}}
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"联系人"
>
{{
company
.
contactName
}}
</FormItem>
</Col>
<Row
class=
"row"
>
<Col
span=
"2"
class=
"left"
>
联系人:
</Col>
<Col
span=
"22"
class=
"right"
>
{{
company
.
contactName
}}
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"联系电话"
>
{{
company
.
contactPhone
}}
</FormItem>
</Col>
<Row
class=
"row"
>
<Col
span=
"2"
class=
"left"
>
联系电话:
</Col>
<Col
span=
"22"
class=
"right"
>
{{
company
.
contactPhone
}}
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"省/市/区"
>
{{
company
.
province
}}
/
{{
company
.
city
}}
/
{{
company
.
district
}}
</FormItem>
</Col>
<Row
class=
"row"
>
<Col
span=
"2"
class=
"left"
>
省/市/区:
</Col>
<Col
span=
"22"
class=
"right"
>
{{
company
.
province
}}
/
{{
company
.
city
}}
/
{{
company
.
district
}}
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"等级"
>
{{
level
}}
</FormItem>
</Col>
<Row
class=
"row"
>
<Col
span=
"2"
class=
"left"
>
等级:
</Col>
<Col
span=
"22"
class=
"right"
>
{{
level
}}
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"状态"
>
{{
company
.
status
==
1
?
"正常"
:
"禁用"
}}
</FormItem>
</Col>
<Row
class=
"row"
>
<Col
span=
"2"
class=
"left"
>
状态:
</Col>
<Col
span=
"22"
class=
"right"
>
{{
company
.
status
==
1
?
"正常"
:
"禁用"
}}
</Col>
</Row>
</Form>
</div>
...
...
@@ -76,4 +67,20 @@
#fontstyle
.ivu-form-item-content
{
color
:
#999
;
}
.tip
{
text-align
:
center
;
font-size
:
22px
;
color
:
#FF3333
}
.row
{
margin-top
:
20px
;
}
.left
{
text-align
:
right
;
padding-right
:
10px
;
font-weight
:
bold
;
}
.right
{
}
</
style
>
\ No newline at end of file
src/view/driver/add/index.js
View file @
feb9957b
...
...
@@ -23,7 +23,7 @@ export default {
identityValidPeriodEnd
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请输入身份证有效斯"
,
trigger
:
"change"
}],
credentialNo
:
[{
required
:
true
,
message
:
"请输入驾驶证号"
,
trigger
:
"change"
}],
fileNo
:
[{
required
:
true
,
message
:
"请输入驾驶证档案编号"
,
trigger
:
"change"
}],
//
fileNo: [{ required: true, message: "请输入驾驶证档案编号", trigger: "change" }],
firstIssue
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请输入首次发证日期"
,
trigger
:
"change"
}],
licenseValidPeriodStart
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请输入驾驶证有效斯"
,
trigger
:
"change"
}],
licenseValidPeriodEnd
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请输入驾驶证有效斯"
,
trigger
:
"change"
}],
...
...
@@ -196,11 +196,11 @@ export default {
saveDriver
()
{
this
.
$refs
.
driverForm
.
validate
(
valid
=>
{
if
(
valid
)
{
dispatch
(
"invoke/asyncCreateDriver"
,
this
.
driverForm
).
then
(({
code
})
=>
{
dispatch
(
"invoke/asyncCreateDriver"
,
this
.
driverForm
).
then
(({
code
,
data
})
=>
{
this
.
submitLoading
=
false
;
if
(
code
===
1
)
{
this
.
$Message
.
success
(
"添加成功"
);
this
.
$emit
(
"search"
);
this
.
$emit
(
"search"
,
1
,
data
);
this
.
visible
=
false
;
}
});
...
...
src/view/driver/add/index.vue
View file @
feb9957b
...
...
@@ -165,13 +165,13 @@
</FormItem>
</Col>
<Col
span=
"8"
>
<FormItem
label=
"
档案编号"
prop=
"fileNo
"
>
<Input
v-model
.
trim=
"driverForm.
fileNo
"
type=
"text"
/>
<FormItem
label=
"
准驾车型"
prop=
"drivingClass
"
>
<Input
v-model
.
trim=
"driverForm.
drivingClass
"
type=
"text"
/>
</FormItem>
</Col>
<Col
span=
"8"
>
<FormItem
label=
"
准驾车型"
prop=
"drivingClass
"
>
<Input
v-model
.
trim=
"driverForm.
drivingClass
"
type=
"text"
/>
<FormItem
label=
"
档案编号"
prop=
"fileNo
"
>
<Input
v-model
.
trim=
"driverForm.
fileNo
"
type=
"text"
/>
</FormItem>
</Col>
</Row>
...
...
src/view/driver/edit/index.js
View file @
feb9957b
...
...
@@ -25,7 +25,7 @@ export default {
identityValidPeriodEnd
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请输入身份证有效斯"
,
trigger
:
"change"
}],
credentialNo
:
[{
required
:
true
,
message
:
"请输入驾驶证号"
,
trigger
:
"change"
}],
fileNo
:
[{
required
:
true
,
message
:
"请输入驾驶证档案编号"
,
trigger
:
"change"
}],
//
fileNo: [{ required: true, message: "请输入驾驶证档案编号", trigger: "change" }],
firstIssue
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请输入首次发证日期"
,
trigger
:
"change"
}],
licenseValidPeriodStart
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请输入驾驶证有效斯"
,
trigger
:
"change"
}],
licenseValidPeriodEnd
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请输入驾驶证有效斯"
,
trigger
:
"change"
}],
...
...
src/view/driver/edit/index.vue
View file @
feb9957b
...
...
@@ -182,13 +182,13 @@
</FormItem>
</Col>
<Col
span=
"8"
>
<FormItem
label=
"
档案编号"
prop=
"fileNo
"
>
<Input
v-model
.
trim=
"driverForm.
fileNo
"
type=
"text"
:disabled=
"readonly"
/>
<FormItem
label=
"
准驾车型"
prop=
"drivingClass
"
>
<Input
v-model
.
trim=
"driverForm.
drivingClass
"
type=
"text"
:disabled=
"readonly"
/>
</FormItem>
</Col>
<Col
span=
"8"
>
<FormItem
label=
"
准驾车型"
prop=
"drivingClass
"
>
<Input
v-model
.
trim=
"driverForm.
drivingClass
"
type=
"text"
:disabled=
"readonly"
/>
<FormItem
label=
"
档案编号"
prop=
"fileNo
"
>
<Input
v-model
.
trim=
"driverForm.
fileNo
"
type=
"text"
:disabled=
"readonly"
/>
</FormItem>
</Col>
</Row>
...
...
src/view/driver/list/helper.js
View file @
feb9957b
...
...
@@ -36,18 +36,18 @@ export const columns = (search, showEdit) => [
minWidth
:
120
,
},
{
title
:
"地址"
,
key
:
"address"
,
align
:
"center"
,
minWidth
:
200
,
},
{
title
:
"身份证号"
,
key
:
"identityNumber"
,
align
:
"center"
,
minWidth
:
150
,
},
{
title
:
"地址"
,
key
:
"address"
,
align
:
"center"
,
minWidth
:
200
,
},
{
title
:
"联系人"
,
key
:
"contactName"
,
align
:
"center"
,
...
...
src/view/driver/list/index.js
View file @
feb9957b
...
...
@@ -30,7 +30,7 @@ export default {
this
.
$refs
.
editDriver
.
driver
=
driver
;
this
.
$refs
.
editDriver
.
visible
=
true
;
},
search
(
current
=
1
)
{
search
(
current
=
1
,
driver
)
{
this
.
searchForm
=
{
name
:
this
.
name
,
phone
:
this
.
phone
,
...
...
src/view/driver_contract/edit/helper.js
View file @
feb9957b
...
...
@@ -34,7 +34,7 @@ export const logColumns = () => [
export
const
rentColumns
=
()
=>
[
{
title
:
"状态"
,
title
:
"
付款
状态"
,
align
:
"center"
,
width
:
120
,
render
(
h
,
{
row
})
{
...
...
@@ -47,6 +47,19 @@ export const rentColumns = () => [
}
},
{
title
:
"状态"
,
align
:
"center"
,
width
:
120
,
render
(
h
,
{
row
})
{
try
{
const
{
status
}
=
row
;
return
h
(
"span"
,
{
style
:
{
color
:
status
==
1
?
'green'
:
'red'
}},
status
==
1
?
'正常'
:
'已中止'
);
}
catch
(
e
)
{
console
.
log
(
e
);
}
}
},
{
title
:
"类型"
,
key
:
"name"
,
align
:
"center"
,
...
...
@@ -80,7 +93,7 @@ export const rentColumns = () => [
export
const
feeColumns
=
()
=>
[
{
title
:
"状态"
,
title
:
"
付款
状态"
,
align
:
"center"
,
width
:
120
,
render
(
h
,
{
row
})
{
...
...
@@ -93,6 +106,19 @@ export const feeColumns = () => [
}
},
{
title
:
"状态"
,
align
:
"center"
,
width
:
120
,
render
(
h
,
{
row
})
{
try
{
const
{
status
}
=
row
;
return
h
(
"span"
,
{
style
:
{
color
:
status
==
1
?
'green'
:
'red'
}},
status
==
1
?
'正常'
:
'已中止'
);
}
catch
(
e
)
{
console
.
log
(
e
);
}
}
},
{
title
:
"类型"
,
key
:
"name"
,
align
:
"center"
,
...
...
src/view/driver_contract/edit/index.vue
View file @
feb9957b
<
template
>
<div>
<Modal
width=
"800"
v-model=
"visible"
title=
"
车源
合同 - 修改"
fullscreen
>
<Modal
width=
"800"
v-model=
"visible"
title=
"
司机
合同 - 修改"
fullscreen
>
<Tabs
v-model=
"selectTab"
>
<TabPane
label=
"合同信息"
icon=
"md-document"
name=
"contractTab"
>
<div>
...
...
src/view/driver_contract/list/actions/index.js
View file @
feb9957b
...
...
@@ -11,6 +11,8 @@ export default {
},
data
()
{
return
{
terminateVisiable
:
false
,
terminateDeletePlanning
:
"保留"
,
}
},
methods
:
{
...
...
@@ -29,17 +31,12 @@ export default {
}
},
showConfirmTerminate
()
{
this
.
$Modal
.
confirm
({
title
:
'中止'
,
content
:
'确定中止当前合同?'
,
onOk
:
()
=>
{
this
.
terminateContract
();
}
});
this
.
terminateVisiable
=
true
;
},
terminateContract
()
{
const
requestData
=
{
contractId
:
this
.
data
.
id
,
deletePlanning
:
this
.
terminateDeletePlanning
==
"删除"
?
1
:
0
,
}
dispatch
(
"invoke/asyncTerminateContract"
,
requestData
).
then
(({
code
})
=>
{
this
.
submitLoading
=
false
;
...
...
src/view/driver_contract/list/actions/index.vue
View file @
feb9957b
...
...
@@ -10,6 +10,13 @@
<DropdownItem
v-if=
"params.returnDeposit"
name=
"returnDeposit"
>
返还押金
</DropdownItem>
<DropdownItem
v-if=
"params.terminate"
name=
"terminate"
>
中止合同
</DropdownItem>
</DropdownMenu>
<Modal
title=
"确定中止当前合同?"
v-model=
"terminateVisiable"
@
on-ok=
"terminateContract"
>
同时删除费用计划:
<RadioGroup
v-model=
"terminateDeletePlanning"
>
<Radio
label=
"保留"
value=
"0"
></Radio>
<Radio
label=
"删除"
value=
"1"
></Radio>
</RadioGroup>
</Modal>
</Dropdown>
</
template
>
...
...
src/view/driver_contract/list/index.vue
View file @
feb9957b
...
...
@@ -30,7 +30,7 @@
</Col>
<Col
span=
"4"
>
<FormItem
label=
"押金状态"
>
<Select
v-model
.
trim=
"depositStatus"
filterable
clearable
>
<Select
v-model
.
trim=
"depositStatus"
filterable
clearable
multiple
>
<Option
v-for=
"item in depositStatusOption"
:value=
"item.value"
:key=
"item.value"
>
{{
item
.
text
}}
</Option>
</Select>
</FormItem>
...
...
src/view/driver_contract/receivables/helper.js
View file @
feb9957b
...
...
@@ -18,6 +18,19 @@ export const columns = (search, showContract, showDriver, showVehicle, showPayin
}
},
{
title
:
"状态"
,
align
:
"center"
,
width
:
120
,
render
(
h
,
{
row
})
{
try
{
const
{
status
}
=
row
;
return
h
(
"span"
,
{
style
:
{
color
:
status
==
1
?
'green'
:
'red'
}},
status
==
1
?
'正常'
:
'已中止'
);
}
catch
(
e
)
{
console
.
log
(
e
);
}
}
},
{
title
:
"费用类型"
,
key
:
"name"
,
align
:
"center"
,
...
...
src/view/driver_contract/receivables/index.js
View file @
feb9957b
...
...
@@ -29,7 +29,7 @@ export default {
planDate
:
null
,
planDateStart
:
null
,
planDateEnd
:
null
,
paymentStatus
:
0
,
paymentStatus
:
null
,
status
:
null
,
},
data
:
{
...
...
src/view/driver_contract/receivables/index.vue
View file @
feb9957b
...
...
@@ -43,6 +43,14 @@
</FormItem>
</Col>
<Col
span=
"6"
>
<FormItem
label=
"状态"
>
<Select
v-model
.
trim=
"searchForm.status"
filterable
clearable
>
<Option
:value=
"1"
:key=
"1"
>
有效
</Option>
<Option
:value=
"0"
:key=
"0"
>
已中止
</Option>
</Select>
</FormItem>
</Col>
<Col
span=
"6"
>
<Button
@
click=
"search()"
type=
"primary"
><Icon
type=
"ios-search-outline"
/>
查询
</Button>
</Col>
</Row>
...
...
src/view/driver_contract/sign/index.js
View file @
feb9957b
...
...
@@ -3,10 +3,11 @@ const { dispatch } = store;
import
moment
from
"moment"
;
import
{
isInteger
}
from
"@/libs/validator.js"
;
import
{
feeColumns
}
from
"./columns.js"
;
import
AddDriver
from
"@/view/driver/add/index.vue"
;
import
{
leaseTypeOption
}
from
"@/libs/constants.js"
;
export
default
{
components
:
{
feeColumns
,
leaseTypeOption
},
components
:
{
feeColumns
,
leaseTypeOption
,
AddDriver
},
data
()
{
return
{
visible
:
false
,
...
...
@@ -26,7 +27,7 @@ export default {
rentAmount
:
[{
required
:
true
,
message
:
"请输入月租金"
,
trigger
:
"blur"
},
{
validator
:
isInteger
,
trigger
:
"blur"
}],
firstPaidAmount
:
[{
required
:
true
,
message
:
"首次实收租金"
,
trigger
:
"blur"
},
{
validator
:
isInteger
,
trigger
:
"blur"
}],
leaseType
:
[{
type
:
"number"
,
required
:
true
,
message
:
"请选择租赁方式"
,
trigger
:
"change"
}],
startDate
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请选择开始日期"
,
trigger
:
"change"
}],
startDate
Text
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请选择开始日期"
,
trigger
:
"change"
}],
leasePeriod
:
[{
required
:
true
,
message
:
"请输入租赁周期"
,
trigger
:
"blur"
},
{
validator
:
isInteger
,
trigger
:
"blur"
}],
},
contractForm
:
{
...
...
@@ -36,6 +37,7 @@ export default {
odograph
:
null
,
odographEv
:
null
,
startDate
:
null
,
startDateText
:
null
,
// endDate: null,
payableDepositAmount
:
null
,
paidDepositAmount
:
null
,
...
...
@@ -86,7 +88,8 @@ export default {
this
.
listVehicles
();
this
.
listDrivers
();
this
.
listEnableFees
();
this
.
contractForm
.
startDate
=
moment
().
format
().
substring
(
0
,
10
);
// console.log(this.$refs.startDate);
this
.
contractForm
.
startDateText
=
moment
().
format
().
substring
(
0
,
10
);
}
},
feeDialogVisible
(
show
)
{
...
...
@@ -95,6 +98,10 @@ export default {
}
},
methods
:
{
onAddComplete
(
current
,
driver
)
{
this
.
drivers
.
unshift
(
driver
);
this
.
contractForm
.
driverId
=
driver
.
id
;
},
handleView
(
item
)
{
this
.
imageUrl
=
item
.
url
;
this
.
imageVisible
=
true
;
...
...
@@ -138,6 +145,7 @@ export default {
saveContract
()
{
this
.
$refs
.
contractForm
.
validate
(
valid
=>
{
if
(
valid
)
{
this
.
contractForm
.
startDate
=
this
.
contractForm
.
startDateText
.
valueOf
();
this
.
uploadList
.
forEach
(
f
=>
{
this
.
contractForm
.
files
.
push
(
f
.
id
);
})
...
...
src/view/driver_contract/sign/index.vue
View file @
feb9957b
...
...
@@ -4,18 +4,19 @@
<Modal
width=
"800"
v-model=
"visible"
title=
"司机合同 - 签约"
fullscreen
>
<div>
<Form
ref=
"contractForm"
:model=
"contractForm"
:rules=
"contractFormRule"
:label-width=
"80"
label-colon
>
<Row>
<Row
:gutter=
"5"
>
<Col
span=
"8"
>
<FormItem
label=
"
车辆信息"
prop=
"vehicle
Id"
>
<Select
v-model
.
trim=
"contractForm.
vehicleId"
filterable
>
<Option
v-for=
"item in
vehicles"
:value=
"item.id"
:key=
"item.id"
>
{{
item
.
id
+
" / "
+
item
.
plateNo
+
" / "
+
item
.
color
+
" / "
+
item
.
brandName
+
" / "
+
item
.
model
}}
</Option>
<FormItem
label=
"
司机信息"
prop=
"driver
Id"
>
<Select
v-model
.
trim=
"contractForm.
driverId"
filterable
style=
"width:80%"
>
<Option
v-for=
"item in
drivers"
:value=
"item.id"
:key=
"item.id"
>
{{
item
.
name
+
" / "
+
item
.
phone
}}
</Option>
</Select>
<AddDriver
ref=
"addDriverDialog"
@
search=
"onAddComplete"
style=
"float:right; width:20%"
/>
</FormItem>
</Col>
<Col
span=
"8"
>
<FormItem
label=
"
司机信息"
prop=
"driver
Id"
>
<Select
v-model
.
trim=
"contractForm.
driver
Id"
filterable
>
<Option
v-for=
"item in
drivers"
:value=
"item.id"
:key=
"item.id"
>
{{
item
.
name
+
" / "
+
item
.
phone
}}
</Option>
<FormItem
label=
"
车辆信息"
prop=
"vehicle
Id"
>
<Select
v-model
.
trim=
"contractForm.
vehicle
Id"
filterable
>
<Option
v-for=
"item in
vehicles"
:value=
"item.id"
:key=
"item.id"
>
{{
item
.
id
+
" / "
+
item
.
plateNo
+
" / "
+
item
.
color
+
" / "
+
item
.
brandName
+
" / "
+
item
.
model
}}
</Option>
</Select>
</FormItem>
</Col>
...
...
@@ -25,7 +26,7 @@
</FormItem>
</Col>
</Row>
<Row>
<Row
:gutter=
"5"
>
<Col
span=
"8"
>
<FormItem
label=
"应收押金"
prop=
"payableDepositAmount"
>
<Input
v-model
.
trim=
"contractForm.payableDepositAmount"
type=
"number"
/>
...
...
@@ -42,19 +43,7 @@
</FormItem>
</Col>
</Row>
<Row>
<Col
span=
"8"
>
<FormItem
label=
"周期租金"
prop=
"rentAmount"
>
<Input
v-model
.
trim=
"contractForm.rentAmount"
type=
"number"
/>
</FormItem>
</Col>
<Col
span=
"8"
>
<FormItem
label=
"首次实收租金"
prop=
"firstPaidAmount"
>
<Input
v-model
.
trim=
"contractForm.firstPaidAmount"
type=
"number"
/>
</FormItem>
</Col>
</Row>
<Row>
<Row
:gutter=
"5"
>
<Col
span=
"8"
>
<FormItem
label=
"租赁方式"
prop=
"leaseType"
>
<Select
v-model=
"contractForm.leaseType"
>
...
...
@@ -63,8 +52,10 @@
</FormItem>
</Col>
<Col
span=
"8"
>
<FormItem
label=
"开始日期"
prop=
"startDate"
>
<DatePicker
v-model=
"contractForm.startDate"
style=
"width: 100%"
placeholder=
"请输入开始日期"
></DatePicker>
<FormItem
label=
"开始日期"
prop=
"startDateText"
>
<!-- @on-change="getStartDate" -->
<!-- v-model="contractForm.startDate" format="yyyy-MM-dd" -->
<DatePicker
style=
"width: 100%"
placeholder=
"请输入开始日期"
v-model=
"contractForm.startDateText"
></DatePicker>
</FormItem>
</Col>
<Col
span=
"8"
>
...
...
@@ -73,7 +64,19 @@
</FormItem>
</Col>
</Row>
<Row>
<Row
:gutter=
"5"
>
<Col
span=
"8"
>
<FormItem
label=
"周期租金"
prop=
"rentAmount"
>
<Input
v-model
.
trim=
"contractForm.rentAmount"
type=
"number"
/>
</FormItem>
</Col>
<Col
span=
"8"
>
<FormItem
label=
"首次实收租金"
prop=
"firstPaidAmount"
>
<Input
v-model
.
trim=
"contractForm.firstPaidAmount"
type=
"number"
/>
</FormItem>
</Col>
</Row>
<Row
:gutter=
"5"
>
<Col
span=
"24"
>
<FormItem
label=
"备注"
prop=
"remark"
>
<Input
v-model=
"contractForm.remark"
type=
"textarea"
:rows=
"4"
placeholder=
"请输入备注"
style=
"width: 100%"
/>
...
...
@@ -98,7 +101,7 @@
</Modal>
</Col>
</Row>
<Row>
<Row
:gutter=
"5"
>
<Col
span=
"24"
>
<FormItem
label=
"验车照片"
>
<div
class=
"demo-upload-list"
v-for=
"item in uploadList"
>
...
...
src/view/source_contract/edit/helper.js
View file @
feb9957b
...
...
@@ -34,7 +34,7 @@ export const logColumns = () => [
export
const
rentColumns
=
()
=>
[
{
title
:
"状态"
,
title
:
"
付款
状态"
,
align
:
"center"
,
width
:
120
,
render
(
h
,
{
row
})
{
...
...
@@ -47,6 +47,19 @@ export const rentColumns = () => [
}
},
{
title
:
"状态"
,
align
:
"center"
,
width
:
120
,
render
(
h
,
{
row
})
{
try
{
const
{
status
}
=
row
;
return
h
(
"span"
,
{
style
:
{
color
:
status
==
1
?
'green'
:
'red'
}},
status
==
1
?
'正常'
:
'已中止'
);
}
catch
(
e
)
{
console
.
log
(
e
);
}
}
},
{
title
:
"类型"
,
key
:
"name"
,
align
:
"center"
,
...
...
src/view/source_contract/list/actions/index.js
View file @
feb9957b
...
...
@@ -11,6 +11,8 @@ export default {
},
data
()
{
return
{
terminateVisiable
:
false
,
terminateDeletePlanning
:
"保留"
,
}
},
methods
:
{
...
...
@@ -29,17 +31,12 @@ export default {
}
},
showConfirmTerminate
()
{
this
.
$Modal
.
confirm
({
title
:
'中止'
,
content
:
'确定中止当前合同?'
,
onOk
:
()
=>
{
this
.
terminateContract
();
}
});
this
.
terminateVisiable
=
true
;
},
terminateContract
()
{
const
requestData
=
{
contractId
:
this
.
data
.
id
,
deletePlanning
:
this
.
terminateDeletePlanning
==
"删除"
?
1
:
0
,
}
dispatch
(
"invoke/asyncTerminateContract"
,
requestData
).
then
(({
code
})
=>
{
this
.
submitLoading
=
false
;
...
...
src/view/source_contract/list/actions/index.vue
View file @
feb9957b
...
...
@@ -10,6 +10,13 @@
<DropdownItem
v-if=
"params.returnDeposit"
name=
"returnDeposit"
>
返还押金
</DropdownItem>
<DropdownItem
v-if=
"params.terminate"
name=
"terminate"
>
中止合同
</DropdownItem>
</DropdownMenu>
<Modal
title=
"确定中止当前合同?"
v-model=
"terminateVisiable"
@
on-ok=
"terminateContract"
>
同时删除费用计划:
<RadioGroup
v-model=
"terminateDeletePlanning"
>
<Radio
label=
"保留"
value=
"0"
></Radio>
<Radio
label=
"删除"
value=
"1"
></Radio>
</RadioGroup>
</Modal>
</Dropdown>
</
template
>
...
...
src/view/source_contract/list/helper.js
View file @
feb9957b
...
...
@@ -110,7 +110,7 @@ export const columns = (search, showContract, showVehicle, showReturnDeposit) =>
}
},
{
title
:
"
月
租金"
,
title
:
"租金"
,
key
:
"rentAmount"
,
align
:
"center"
,
minWidth
:
100
,
...
...
src/view/source_contract/list/index.vue
View file @
feb9957b
...
...
@@ -18,7 +18,7 @@
</Col>
<Col
span=
"4"
>
<FormItem
label=
"押金状态"
>
<Select
v-model
.
trim=
"depositStatus"
filterable
clearable
>
<Select
v-model
.
trim=
"depositStatus"
filterable
clearable
multiple
>
<Option
v-for=
"item in depositStatusOption"
:value=
"item.value"
:key=
"item.value"
>
{{
item
.
text
}}
</Option>
</Select>
</FormItem>
...
...
src/view/source_contract/sign/index.js
View file @
feb9957b
...
...
@@ -21,7 +21,7 @@ export default {
rentAmount
:
[{
required
:
true
,
message
:
"请输入月租金"
,
trigger
:
"blur"
},
{
validator
:
isInteger
,
trigger
:
"blur"
}],
firstPaidAmount
:
[{
required
:
true
,
message
:
"首次实收租金"
,
trigger
:
"blur"
},
{
validator
:
isInteger
,
trigger
:
"blur"
}],
leaseType
:
[{
type
:
"number"
,
required
:
true
,
message
:
"请选择租赁方式"
,
trigger
:
"change"
}],
startDate
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请选择开始日期"
,
trigger
:
"change"
}],
startDate
Text
:
[{
type
:
"date"
,
required
:
true
,
message
:
"请选择开始日期"
,
trigger
:
"change"
}],
leasePeriod
:
[{
required
:
true
,
message
:
"请输入租赁周期"
,
trigger
:
"blur"
},
{
validator
:
isInteger
,
trigger
:
"blur"
}],
},
contractForm
:
{
...
...
@@ -32,6 +32,7 @@ export default {
payableDepositAmount
:
null
,
paidDepositAmount
:
null
,
diffDepositAmount
:
null
,
startDateText
:
null
,
startDate
:
null
,
rentAmount
:
null
,
firstPaidAmount
:
null
,
...
...
@@ -72,12 +73,12 @@ export default {
this
.
contractForm
.
files
=
[];
this
.
listVehicles
();
this
.
listSources
();
this
.
contractForm
.
startDate
=
moment
().
format
().
substring
(
0
,
10
);
this
.
contractForm
.
startDate
Text
=
moment
().
format
().
substring
(
0
,
10
);
}
},
},
methods
:
{
onAddComplete
(
vehicle
)
{
onAddComplete
(
current
,
vehicle
)
{
this
.
vehicles
.
unshift
(
vehicle
);
this
.
contractForm
.
vehicleId
=
vehicle
.
id
;
},
...
...
@@ -129,6 +130,7 @@ export default {
this
.
contractForm
.
files
.
push
(
f
.
id
);
})
dispatch
(
"invoke/asyncSignContract"
,
this
.
contractForm
).
then
(({
code
})
=>
{
this
.
contractForm
.
startDate
=
this
.
contractForm
.
startDateText
.
valueOf
();
this
.
submitLoading
=
false
;
if
(
code
===
1
)
{
this
.
$Message
.
success
(
"合同签订成功"
);
...
...
src/view/source_contract/sign/index.vue
View file @
feb9957b
...
...
@@ -10,7 +10,7 @@
<Select
v-model
.
trim=
"contractForm.vehicleId"
filterable
style=
"width:80%"
>
<Option
v-for=
"item in vehicles"
:value=
"item.id"
:key=
"item.id"
>
{{
item
.
id
+
" / "
+
item
.
plateNo
+
" / "
+
item
.
color
+
" / "
+
item
.
brandName
+
" / "
+
item
.
model
}}
</Option>
</Select>
<AddVehicle
ref=
"addVehicleDialog"
@
search=
"onAddComplete
($event)
"
style=
"float:right; width:20%"
/>
<AddVehicle
ref=
"addVehicleDialog"
@
search=
"onAddComplete"
style=
"float:right; width:20%"
/>
</FormItem>
</Col>
<Col
span=
"8"
>
...
...
@@ -26,7 +26,7 @@
</FormItem>
</Col>
</Row>
<Row>
<Row
:gutter=
"5"
>
<Col
span=
"8"
>
<FormItem
label=
"应付押金"
prop=
"payableDepositAmount"
>
<Input
v-model
.
trim=
"contractForm.payableDepositAmount"
type=
"number"
/>
...
...
@@ -43,19 +43,7 @@
</FormItem>
</Col>
</Row>
<Row>
<Col
span=
"8"
>
<FormItem
label=
"周期租金"
prop=
"rentAmount"
>
<Input
v-model
.
trim=
"contractForm.rentAmount"
type=
"number"
/>
</FormItem>
</Col>
<Col
span=
"8"
>
<FormItem
label=
"首次实收租金"
prop=
"firstPaidAmount"
>
<Input
v-model
.
trim=
"contractForm.firstPaidAmount"
type=
"number"
/>
</FormItem>
</Col>
</Row>
<Row>
<Row
:gutter=
"5"
>
<Col
span=
"8"
>
<FormItem
label=
"租赁方式"
prop=
"leaseType"
>
<Select
v-model=
"contractForm.leaseType"
>
...
...
@@ -64,8 +52,8 @@
</FormItem>
</Col>
<Col
span=
"8"
>
<FormItem
label=
"开始日期"
prop=
"startDate"
>
<DatePicker
v-model=
"contractForm.startDate"
style=
"width: 100%"
placeholder=
"请输入开始日期"
></DatePicker>
<FormItem
label=
"开始日期"
prop=
"startDate
Text
"
>
<DatePicker
v-model=
"contractForm.startDate
Text
"
style=
"width: 100%"
placeholder=
"请输入开始日期"
></DatePicker>
</FormItem>
</Col>
<Col
span=
"8"
>
...
...
@@ -74,6 +62,18 @@
</FormItem>
</Col>
</Row>
<Row
:gutter=
"5"
>
<Col
span=
"8"
>
<FormItem
label=
"周期租金"
prop=
"rentAmount"
>
<Input
v-model
.
trim=
"contractForm.rentAmount"
type=
"number"
/>
</FormItem>
</Col>
<Col
span=
"8"
>
<FormItem
label=
"首次实收租金"
prop=
"firstPaidAmount"
>
<Input
v-model
.
trim=
"contractForm.firstPaidAmount"
type=
"number"
/>
</FormItem>
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem
label=
"备注"
prop=
"remark"
>
...
...
@@ -81,7 +81,7 @@
</FormItem>
</Col>
</Row>
<Row>
<Row
:gutter=
"5"
>
<Col
span=
"24"
>
<FormItem
label=
"验车照片"
>
<div
class=
"demo-upload-list"
v-for=
"item in uploadList"
>
...
...
src/view/vehicle/add/index.js
View file @
feb9957b
...
...
@@ -184,7 +184,7 @@ export default {
this
.
submitLoading
=
false
;
if
(
code
===
1
)
{
this
.
$Message
.
success
(
"添加成功"
);
this
.
$emit
(
"search"
,
data
);
this
.
$emit
(
"search"
,
1
,
data
);
this
.
visible
=
false
;
}
});
...
...
src/view/vehicle/list/index.js
View file @
feb9957b
...
...
@@ -54,7 +54,7 @@ export default {
this
.
$refs
.
editVehicle
.
vehicle
=
vehicle
;
this
.
$refs
.
editVehicle
.
visible
=
true
;
},
search
(
current
=
1
)
{
search
(
current
=
1
,
v
)
{
this
.
searchForm
=
{
plateNo
:
this
.
plateNo
,
brandName
:
this
.
brandName
,
...
...
@@ -69,7 +69,7 @@ export default {
dispatch
(
"invoke/asyncListVehicle"
,
{
...
initQuery
}).
then
(({
data
})
=>
{
this
.
loading
=
false
this
.
loading
=
false
;
if
(
data
!=
null
)
{
this
.
data
=
{...
data
};
}
else
{
...
...
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