Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
柳 佳乐
finance
Commits
70782e64
Commit
70782e64
authored
Nov 14, 2022
by
cx49085
Browse files
bug修复
parent
17929662
Changes
6
Show whitespace changes
Inline
Side-by-side
src/api/contract.js
View file @
70782e64
...
@@ -37,6 +37,15 @@ export function updateContractType(data) {
...
@@ -37,6 +37,15 @@ export function updateContractType(data) {
})
})
}
}
// 更新合同类型状态
export
function
updateContractTypeState
(
data
)
{
return
request
({
url
:
'
/contractType/updateBystate
'
,
method
:
'
post
'
,
data
})
}
/************* 合同管理 ************/
/************* 合同管理 ************/
// 获取合同列表
// 获取合同列表
...
...
src/styles/element-ui.scss
View file @
70782e64
...
@@ -97,7 +97,11 @@
...
@@ -97,7 +97,11 @@
.el-range-separator
{
.el-range-separator
{
box-sizing
:
content-box
;
box-sizing
:
content-box
;
}
}
.contract-form
{
.el-form-item
{
margin-bottom
:
12px
;
}
}
.contract-description-form
{
.contract-description-form
{
.required
{
.required
{
&
::after
{
&
::after
{
...
@@ -105,6 +109,9 @@
...
@@ -105,6 +109,9 @@
color
:
red
;
color
:
red
;
}
}
}
}
.el-descriptions-item__cell
{
padding-bottom
:
10px
;
}
}
}
.petty-data-simple
{
.petty-data-simple
{
.el-badge__content.is-fixed
{
.el-badge__content.is-fixed
{
...
...
src/utils/myValidate.js
View file @
70782e64
...
@@ -89,6 +89,7 @@ export function bankAccountValid (rule, value, callback) {
...
@@ -89,6 +89,7 @@ export function bankAccountValid (rule, value, callback) {
// 电话号码验证
// 电话号码验证
export
function
checkPhone
(
rule
,
value
,
callback
)
{
export
function
checkPhone
(
rule
,
value
,
callback
)
{
if
(
!
value
)
{
if
(
!
value
)
{
console
.
log
(
1
)
return
callback
(
new
Error
(
'
手机号不能为空
'
));
return
callback
(
new
Error
(
'
手机号不能为空
'
));
}
else
{
}
else
{
const
reg
=
/
(
^1
\d{10}
$
)
|
(
^
[
0-9
]\d{7}
$
)
/
const
reg
=
/
(
^1
\d{10}
$
)
|
(
^
[
0-9
]\d{7}
$
)
/
...
@@ -116,7 +117,9 @@ export function pathValid (rule, value, callback) {
...
@@ -116,7 +117,9 @@ export function pathValid (rule, value, callback) {
//定义金额校验
//定义金额校验
export
function
money
(
rule
,
value
,
callback
)
{
export
function
money
(
rule
,
value
,
callback
)
{
let
RegExp
=
/^
(([
1-9
]{1}\d
*
)
|
(
0
{1}))(\.\d{1,2})?
$/
;
let
RegExp
=
/^
(([
1-9
]{1}\d
*
)
|
(
0
{1}))(\.\d{1,2})?
$/
;
if
(
RegExp
.
test
(
value
))
{
if
(
value
.
toString
()
===
''
)
{
callback
(
new
Error
(
'
金额不能为空
'
))
}
else
if
(
RegExp
.
test
(
value
))
{
callback
();
callback
();
}
else
{
}
else
{
callback
(
new
Error
(
"
金额格式错误
"
));
callback
(
new
Error
(
"
金额格式错误
"
));
...
@@ -126,9 +129,23 @@ export function money(rule, value, callback) {
...
@@ -126,9 +129,23 @@ export function money(rule, value, callback) {
//校验账号密码,只允许数字和字母
//校验账号密码,只允许数字和字母
export
function
account_password_valid
(
rule
,
value
,
callback
){
export
function
account_password_valid
(
rule
,
value
,
callback
){
let
reg
=
/^
[
a-zA-Z0-9
]
*$/
let
reg
=
/^
[
a-zA-Z0-9
]
*$/
if
(
reg
.
test
(
value
))
{
if
(
value
.
toString
()
===
''
)
{
callback
(
new
Error
(
'
不能为空
'
))
}
else
if
(
reg
.
test
(
value
))
{
callback
();
callback
();
}
else
{
}
else
{
callback
(
new
Error
(
"
格式错误,只允许输入数字和字母
"
));
callback
(
new
Error
(
"
格式错误,只允许输入数字和字母
"
));
}
}
}
}
//只允许数字
export
function
number_valid
(
rule
,
value
,
callback
){
let
reg
=
/^
[
0-9
]
*$/
if
(
value
.
toString
()
===
''
)
{
return
callback
(
new
Error
(
'
不能为空
'
))
}
else
if
(
reg
.
test
(
value
))
{
callback
();
}
else
{
callback
(
new
Error
(
"
只允许输入数字
"
));
}
}
\ No newline at end of file
src/views/contract/components/addContract.vue
View file @
70782e64
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<!--
<i
class=
"el-icon-close"
@
click=
"closeDrawer"
></i>
-->
<!--
<i
class=
"el-icon-close"
@
click=
"closeDrawer"
></i>
-->
</div>
</div>
<div
class=
"container"
>
<div
class=
"container"
>
<el-form
v-
model=
"formData"
:rules=
"addFormValidRules"
ref=
"form"
>
<el-form
:
model=
"formData"
:rules=
"addFormValidRules"
ref=
"form"
class=
"contract-form"
>
<el-descriptions
:column=
"3"
border
class=
"contract-description-form"
>
<el-descriptions
:column=
"3"
border
class=
"contract-description-form"
>
<el-descriptions-item
label=
"母合同名称"
:span=
"3"
v-if=
"parseInt(formData.contractNature) === 2"
>
<el-descriptions-item
label=
"母合同名称"
:span=
"3"
v-if=
"parseInt(formData.contractNature) === 2"
>
<el-form-item
prop=
"contractParent"
>
<el-form-item
prop=
"contractParent"
>
...
@@ -86,7 +86,8 @@
...
@@ -86,7 +86,8 @@
<el-descriptions-item
label=
"合同金额"
labelClassName=
"required"
>
<el-descriptions-item
label=
"合同金额"
labelClassName=
"required"
>
<el-form-item
prop=
"contractMoney"
>
<el-form-item
prop=
"contractMoney"
>
<el-input
placeholder=
"请输入合同金额"
type=
"number"
v-model=
"formData.contractMoney"
step=
“0.01”
>
<el-input
placeholder=
"请输入合同金额"
type=
"number"
v-model=
"formData.contractMoney"
step=
“0.01”
:min=
"0"
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
</el-descriptions-item>
</el-descriptions-item>
...
@@ -100,7 +101,7 @@
...
@@ -100,7 +101,7 @@
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
label=
"税点"
labelClassName=
"required"
>
<el-descriptions-item
label=
"税点"
labelClassName=
"required"
>
<el-form-item
prop=
"taxPoint"
>
<el-form-item
prop=
"taxPoint"
>
<el-input
placeholder=
"请输入税点"
type=
"number"
v-model=
"formData.taxPoint"
min=
“0.00”
<el-input
placeholder=
"请输入税点"
type=
"number"
v-model=
"formData.taxPoint"
min=
“0.00”
:min=
"0"
step=
“0.01”
>
step=
“0.01”
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
...
@@ -172,6 +173,7 @@
...
@@ -172,6 +173,7 @@
<br
/>
<br
/>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"addContract"
>
{{
!
isEdit
?
'
立即创建
'
:
'
修改
'
}}
</el-button>
<el-button
type=
"primary"
@
click=
"addContract"
>
{{
!
isEdit
?
'
立即创建
'
:
'
修改
'
}}
</el-button>
<el-button
@
click=
"$router.back();"
>
返回
</el-button>
<!--
<el-button
@
click=
"closeDrawer"
>
取消
</el-button>
-->
<!--
<el-button
@
click=
"closeDrawer"
>
取消
</el-button>
-->
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -182,10 +184,10 @@
...
@@ -182,10 +184,10 @@
<
script
>
<
script
>
import
{
selectAllContractTypeList
,
selectAllContractList
,
addContract
,
getContractById
,
updateContract
,
selectContractFiles
,
deleteContract
}
from
'
@/api/contract
'
import
{
selectAllContractTypeList
,
selectAllContractList
,
addContract
,
getContractById
,
updateContract
,
selectContractFiles
,
deleteContract
}
from
'
@/api/contract
'
import
{
deepClone
}
from
'
@/utils
'
import
{
deepClone
}
from
'
@/utils
'
import
{
contractNatures
}
from
'
../contractStaticData
'
import
{
contractNatures
,
addFormValidRules
}
from
'
../contractStaticData
'
import
{
mapGetters
}
from
'
vuex
'
import
{
mapGetters
}
from
'
vuex
'
import
{
downloadPDFFile
}
from
'
@/utils/download
'
import
{
downloadPDFFile
}
from
'
@/utils/download
'
import
{
checkPhone
}
from
'
@/utils/myValidate
'
//
import { checkPhone } from '@/utils/myValidate'
export
default
{
export
default
{
// props: ['drawerVisible'],
// props: ['drawerVisible'],
data
()
{
data
()
{
...
@@ -219,6 +221,7 @@ export default {
...
@@ -219,6 +221,7 @@ export default {
contractParentList
:
[],
contractParentList
:
[],
contractNatures
:
deepClone
(
contractNatures
),
contractNatures
:
deepClone
(
contractNatures
),
isEdit
:
false
,
isEdit
:
false
,
addFormValidRules
,
action
:
''
,
action
:
''
,
uploadChange
:
false
uploadChange
:
false
}
}
...
@@ -273,11 +276,14 @@ export default {
...
@@ -273,11 +276,14 @@ export default {
})
})
},
},
addContract
()
{
addContract
()
{
let
validRes
=
this
.
validFormData
()
// let validRes = this.validFormData()
if
(
validRes
.
length
)
{
// if (validRes.length) {
this
.
$message
.
warning
(
"
带 * 号必填,请正确填写信息
"
)
// this.$message.warning("带 * 号必填,请正确填写信息")
return
// return
}
// }
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
const
params
=
{
const
params
=
{
companyId
:
this
.
companyId
||
this
.
$store
.
getters
.
companyId
,
companyId
:
this
.
companyId
||
this
.
$store
.
getters
.
companyId
,
...
this
.
formData
...
this
.
formData
...
@@ -312,7 +318,8 @@ export default {
...
@@ -312,7 +318,8 @@ export default {
}
}
})
})
}
}
}
});
},
},
uploadOnchange
(
file
,
fileList
)
{
uploadOnchange
(
file
,
fileList
)
{
this
.
uploadChange
=
true
this
.
uploadChange
=
true
...
...
src/views/contract/contractStaticData.js
View file @
70782e64
import
{
checkPhone
}
from
"
@/utils/myValidate
"
import
{
checkPhone
,
money
as
contractMoneyValid
,
number_valid
}
from
"
@/utils/myValidate
"
export
const
contractNatures
=
[
'
普通合同
'
,
'
框架合同
'
,
'
补充协议
'
,
'
其它合同
'
]
export
const
contractNatures
=
[
'
普通合同
'
,
'
框架合同
'
,
'
补充协议
'
,
'
其它合同
'
]
// firstParty: '',
// contractName: '',
// contractNature: this.$route.query.checkedContractNature,
// contarctRemarks: ' ',
// contractStartTime: '',
// contractFirstParty: '',
// contractMoney: "0",
// contractNumber: '',
// contractPaetyb: '',
// contractEndTime: '',
// signingTime: '',
// partybName: '',
// taxPoint: '',
// tax: '0',
// typeId: '',
// safekeeping: '',
// firstPartyAddress: '',
// preparedBy: '',
// contractParent: ''
export
const
addFormValidRules
=
{
export
const
addFormValidRules
=
{
firstParty
:
[{
required
:
true
,
message
:
'
甲方签订人不能为空
'
,
trigger
:
'
blur
'
}],
contractName
:
[{
required
:
true
,
message
:
'
合同名称不能为空
'
,
trigger
:
'
blur
'
}],
// contractNature: this.$route.query.checkedContractNature,
// contarctRemarks: [{required: true, message: '不能为空', trigger: 'blur'}],
contractStartTime
:
[{
required
:
true
,
message
:
'
合同开始日期不能为空
'
,
trigger
:
'
blur
'
}],
contractFirstParty
:
[{
required
:
true
,
message
:
'
客户名称(甲方)不能为空
'
,
trigger
:
'
blur
'
}],
contractMoney
:
[{
required
:
true
,
message
:
'
合同金额不能为空
'
,
trigger
:
'
blur
'
}],
contractNumber
:
[{
required
:
true
,
validator
:
number_valid
,
trigger
:
[
'
change
'
,
'
blur
'
]}],
contractPaetyb
:
[{
required
:
true
,
message
:
'
合同乙方不能为空
'
,
trigger
:
'
blur
'
}],
contractEndTime
:
[{
required
:
true
,
message
:
'
合同结束日期不能为空
'
,
trigger
:
'
blur
'
}],
signingTime
:
[{
required
:
true
,
message
:
'
合同签订时间不能为空
'
,
trigger
:
'
blur
'
}],
partybName
:
[{
required
:
true
,
message
:
'
乙方签订人不能为空
'
,
trigger
:
'
blur
'
}],
tax
:
[{
required
:
true
,
message
:
'
是否含税不能为空
'
,
trigger
:
'
blur
'
}],
taxPoint
:
[{
required
:
true
,
validator
:
function
(
rule
,
value
,
callback
){
if
(
value
===
null
||
value
===
undefined
||
value
===
''
){
callback
(
new
Error
(
'
税点不能为空
'
))
}
else
if
(
Number
(
value
)
===
NaN
||
Number
(
value
)
<
0
){
callback
(
new
Error
(
'
请输入正确格式
'
))
}
else
{
callback
()
}
},
trigger
:
'
blur
'
}],
typeId
:
[{
required
:
true
,
message
:
'
合同类型不能为空
'
,
trigger
:
'
blur
'
}],
safekeeping
:
[{
required
:
true
,
message
:
'
合同保管人不能为空
'
,
trigger
:
'
blur
'
}],
firstPartyAddress
:
[{
required
:
true
,
message
:
'
客户联系地址不能为空
'
,
trigger
:
'
blur
'
}],
preparedBy
:
[{
required
:
true
,
message
:
'
合同制定人不能为空
'
,
trigger
:
'
blur
'
}],
contractParent
:
[{
required
:
true
,
message
:
'
母合同名称不能为空
'
,
trigger
:
'
blur
'
}],
firstPartyPhone
:
[
firstPartyPhone
:
[
{
required
:
true
,
validator
:
checkPhone
,
trigger
:
[
'
blur
'
,
'
change
'
]
},
{
required
:
true
,
validator
:
checkPhone
,
trigger
:
[
'
change
'
,
'
blur
'
]
},
],
],
contractMoney
:
[
{
validator
:
contractMoneyValid
,
trigger
:
[
'
blur
'
]
}
]
}
}
\ No newline at end of file
src/views/contract/contractType.vue
View file @
70782e64
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
<el-table-column
prop=
"state"
label=
"启用状态"
width=
"100px"
>
<el-table-column
prop=
"state"
label=
"启用状态"
width=
"100px"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.state"
<el-switch
v-model=
"scope.row.state"
@
change=
"update(
{ ...scope.row, state: Math.abs(scope.row.state - 1) })"
@
change=
"update
State
(
{ ...scope.row, state: Math.abs(scope.row.state - 1) })"
active-color="#13ce66" inactive-color="#ff4949">
active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
</el-switch>
</
template
>
</
template
>
...
@@ -67,7 +67,8 @@
...
@@ -67,7 +67,8 @@
import
{
import
{
selectContractTypeList
,
selectContractTypeList
,
addContractType
as
insert
,
addContractType
as
insert
,
updateContractType
updateContractType
,
updateContractTypeState
}
from
'
@/api/contract
'
}
from
'
@/api/contract
'
import
{
mapGetters
}
from
'
vuex
'
import
{
mapGetters
}
from
'
vuex
'
...
@@ -124,7 +125,7 @@ export default {
...
@@ -124,7 +125,7 @@ export default {
})
})
},
},
update
(
data
)
{
update
(
data
)
{
function
updateCore
(
)
{
if
(
this
.
$refs
.
form
)
{
const
params
=
{
const
params
=
{
companyId
:
this
.
companyId
||
this
.
$store
.
getters
.
companyId
,
companyId
:
this
.
companyId
||
this
.
$store
.
getters
.
companyId
,
...
data
...
data
...
@@ -138,16 +139,20 @@ export default {
...
@@ -138,16 +139,20 @@ export default {
}
}
})
})
}
}
if
(
this
.
$refs
.
form
)
{
},
this
.
$refs
.
form
.
validate
((
valida
)
=>
{
updateState
(
data
){
if
(
valida
)
{
const
params
=
{
updateCore
.
call
(
this
)
companyId
:
this
.
companyId
||
this
.
$store
.
getters
.
companyId
,
...
data
}
}
})
!
Number
.
isInteger
(
data
.
state
)
&&
(
params
.
state
=
Number
(
!
data
.
state
))
}
else
{
updateContractTypeState
(
params
).
then
(
res
=>
{
updateCore
.
call
(
this
)
if
(
res
.
success
)
{
this
.
$message
.
success
(
"
修改成功
"
)
// this.dialogFormVisible && (this.dialogFormVisible = false)
this
.
getContractTypeList
()
}
}
})
},
},
addContractType
()
{
addContractType
()
{
this
.
$refs
.
form
.
validate
((
valida
)
=>
{
this
.
$refs
.
form
.
validate
((
valida
)
=>
{
...
...
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