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
ee083724
Commit
ee083724
authored
Nov 15, 2022
by
柳 佳乐
Browse files
20221115
parent
43dd450d
Changes
29
Show whitespace changes
Inline
Side-by-side
src/views/project/projectAdd.vue
View file @
ee083724
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<el-input
v-model=
"projectFrom.projectName"
></el-input>
<el-input
v-model=
"projectFrom.projectName"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"项目编号"
prop=
"projectNumber"
>
<el-form-item
label=
"项目编号"
prop=
"projectNumber"
>
<el-input
v-model=
"projectFrom.projectNumber"
></el-input>
<el-input
v-model=
"projectFrom.projectNumber"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"项目合同金额"
prop=
"projectAmount"
>
<el-form-item
label=
"项目合同金额"
prop=
"projectAmount"
>
<el-input
v-model=
"projectFrom.projectAmount"
></el-input>
<el-input
v-model=
"projectFrom.projectAmount"
></el-input>
...
@@ -97,7 +97,7 @@
...
@@ -97,7 +97,7 @@
<
script
>
<
script
>
import
{
insert
}
from
"
@/api/project
"
;
import
{
insert
}
from
"
@/api/project
"
;
import
{
selectAllByCompanyId
,
insertBatch
,
secletAllByRlid
}
from
"
@/api/role
"
;
import
{
selectAllByCompanyId
,
insertBatch
,
secletAllByRlid
}
from
"
@/api/role
"
;
import
{
money
}
from
"
@/utils/myValidate
"
;
import
{
money
,
account_password_valid
}
from
"
@/utils/myValidate
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -133,8 +133,7 @@ export default {
...
@@ -133,8 +133,7 @@ export default {
{
required
:
true
,
message
:
"
请输入项目名称
"
,
trigger
:
"
blur
"
}
{
required
:
true
,
message
:
"
请输入项目名称
"
,
trigger
:
"
blur
"
}
],
],
projectNumber
:
[
projectNumber
:
[
{
required
:
true
,
message
:
"
请输入项目编号
"
,
trigger
:
"
blur
"
},
{
validator
:
account_password_valid
,
trigger
:
"
blur
"
}
{
validator
:
this
.
checkData
,
trigger
:
"
blur
"
}
],
],
projectAmount
:
[
projectAmount
:
[
{
{
...
@@ -292,17 +291,6 @@ export default {
...
@@ -292,17 +291,6 @@ export default {
date
.
getSeconds
()
<
10
?
"
0
"
+
date
.
getSeconds
()
:
date
.
getSeconds
();
date
.
getSeconds
()
<
10
?
"
0
"
+
date
.
getSeconds
()
:
date
.
getSeconds
();
return
Y
+
M
+
D
+
h
+
m
+
s
;
return
Y
+
M
+
D
+
h
+
m
+
s
;
},
},
//不能为中文的校验
checkData
(
rule
,
value
,
callback
)
{
if
(
value
)
{
if
(
/
[\u
4E00-
\u
9FA5
]
/g
.
test
(
value
))
{
callback
(
new
Error
(
"
项目编码由数字或字符组成!
"
));
}
else
{
callback
();
}
}
callback
();
}
}
}
};
};
</
script
>
</
script
>
...
...
src/views/project/projectUpdata.vue
View file @
ee083724
...
@@ -60,7 +60,7 @@
...
@@ -60,7 +60,7 @@
<
script
>
<
script
>
import
{
update
,
selectByProjectId
}
from
'
@/api/project
'
import
{
update
,
selectByProjectId
}
from
'
@/api/project
'
import
{
money
,
account_password_valid
}
from
"
@/utils/myValidate
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -85,7 +85,7 @@ export default {
...
@@ -85,7 +85,7 @@ export default {
{
required
:
true
,
message
:
"
请输入项目名称
"
,
trigger
:
"
blur
"
},
{
required
:
true
,
message
:
"
请输入项目名称
"
,
trigger
:
"
blur
"
},
],
],
projectNumber
:
[
projectNumber
:
[
{
required
:
true
,
message
:
"
请输入项目编号
"
,
trigger
:
"
blur
"
}
,
{
validator
:
account_password_valid
,
trigger
:
"
blur
"
}
],
],
projectAmount
:
[
projectAmount
:
[
{
{
...
@@ -93,6 +93,10 @@ export default {
...
@@ -93,6 +93,10 @@ export default {
message
:
"
请输入项目合同金额(起始金额)
"
,
message
:
"
请输入项目合同金额(起始金额)
"
,
trigger
:
"
blur
"
,
trigger
:
"
blur
"
,
},
},
{
validator
:
money
,
trigger
:
"
change
"
}
],
],
timeSlot
:
[
timeSlot
:
[
{
required
:
true
,
message
:
"
请选择日期
"
,
trigger
:
"
change
"
},
{
required
:
true
,
message
:
"
请选择日期
"
,
trigger
:
"
change
"
},
...
...
src/views/reimbursement/finance/financeList.vue
View file @
ee083724
...
@@ -2,13 +2,42 @@
...
@@ -2,13 +2,42 @@
<div
class=
"container"
>
<div
class=
"container"
>
<div>
<div>
<el-form
:inline=
"true"
:model=
"reimbursementQurey"
>
<el-form
:inline=
"true"
:model=
"reimbursementQurey"
>
<el-form-item>
<el-form-item
label=
"项目名称"
>
<el-input
v-model=
"reimbursementQurey.projectName"
placeholder=
"项目名称"
></el-input>
</el-form-item>
<el-form-item
label=
"报销人"
>
<el-form-item
label=
"报销人"
>
<el-input
v-model=
"reimbursementQurey.userName"
placeholder=
"根据报销人姓名搜索"
></el-input>
<el-input
v-model=
"reimbursementQurey.userName"
placeholder=
"报销人"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"项目名称"
>
<el-form-item
label=
"状态"
>
<el-input
v-model=
"reimbursementQurey.userName"
placeholder
></el-input>
<el-select
v-model=
"reimbursementQurey.reimbursementState"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"query()"
>
查询
</el-button
>
<el-button
type=
"primary"
icon=
"el-icon-refresh-right"
@
click=
"reset()"
>
重置
</el-button
>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
...
@@ -178,9 +207,10 @@
...
@@ -178,9 +207,10 @@
<div
v-if=
"scope.row.reimbursementState == 1"
>
<div
v-if=
"scope.row.reimbursementState == 1"
>
<el-button
<el-button
style=
"margin: 5px"
style=
"margin: 5px"
type=
"primary"
type=
'primary'
size=
"mini"
@
click=
"agreeandrefuse(scope.row)"
@
click=
"agreeandrefuse(scope.row)"
>
同意
和
驳回
</el-button
>
同意
或
驳回
</el-button
>
>
</div>
</div>
<div
<div
...
@@ -312,11 +342,6 @@
...
@@ -312,11 +342,6 @@
<el-form-item
<el-form-item
label=
"核实报销总金额(小写)"
label=
"核实报销总金额(小写)"
prop=
"verifyTotalAmountSmall"
prop=
"verifyTotalAmountSmall"
:rules=
"{
validator: moneyrow,
trigger: 'blur',
required: true,
}"
>
>
<el-input
<el-input
v-model=
"from.verifyTotalAmountSmall"
v-model=
"from.verifyTotalAmountSmall"
...
@@ -508,6 +533,7 @@ import { selectByReimbursementId } from "@/api/reimbursementDetails";
...
@@ -508,6 +533,7 @@ import { selectByReimbursementId } from "@/api/reimbursementDetails";
import
{
selectByFinance
,
financeApproval
}
from
"
@/api/reimbursement
"
;
import
{
selectByFinance
,
financeApproval
}
from
"
@/api/reimbursement
"
;
import
{
selectAllById
}
from
"
@/api/project
"
;
import
{
selectAllById
}
from
"
@/api/project
"
;
import
{
deletBystatus
,
selectByIdF
,
deleteById
}
from
"
@/api/project
"
;
import
{
deletBystatus
,
selectByIdF
,
deleteById
}
from
"
@/api/project
"
;
import
{
money
}
from
"
@/utils/myValidate
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -528,7 +554,28 @@ export default {
...
@@ -528,7 +554,28 @@ export default {
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
,
pageSize
:
10
,
},
},
options
:
[
{
value
:
"
0
"
,
label
:
"
待小组长通过
"
,
},
{
value
:
"
1
"
,
label
:
"
待财务长通过
"
,
},
{
value
:
"
2
"
,
label
:
"
小组长驳回
"
,
},
{
value
:
"
3
"
,
label
:
"
财务长通过
"
,
},
{
value
:
"
4
"
,
label
:
"
财务长驳回
"
,
},
],
total
:
0
,
total
:
0
,
reimbursementList
:
[],
reimbursementList
:
[],
from
:
{
from
:
{
...
@@ -540,7 +587,11 @@ export default {
...
@@ -540,7 +587,11 @@ export default {
verifyTotalAmountLarge
:
null
,
verifyTotalAmountLarge
:
null
,
verifyTotalAmountSmall
:
null
,
verifyTotalAmountSmall
:
null
,
},
},
rules
:
{},
rules
:
{
verifyTotalAmountSmall
:
[
{
validator
:
money
,
trigger
:
"
blur
"
,
required
:
true
},
],
},
invoiceShow
:
false
,
invoiceShow
:
false
,
getinvoivelist
:
[],
getinvoivelist
:
[],
//查询图片给的值
//查询图片给的值
...
@@ -595,13 +646,31 @@ export default {
...
@@ -595,13 +646,31 @@ export default {
this
.
getReimbursement
();
this
.
getReimbursement
();
},
},
methods
:
{
methods
:
{
//重置
reset
()
{
this
.
reimbursementQurey
=
{
pageNum
:
1
,
pageSize
:
10
,
userId
:
null
,
companyId
:
null
,
};
this
.
reimbursementQurey
.
userId
=
this
.
$store
.
getters
.
urId
;
this
.
reimbursementQurey
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
getReimbursement
();
},
//搜索
query
()
{
this
.
reimbursementQurey
.
pageNum
=
1
;
this
.
getReimbursement
();
},
//图片格式
//图片格式
formatProtocolType
(
row
)
{
formatProtocolType
(
row
)
{
if
(
row
.
filePath
==
null
)
{
if
(
row
.
filePath
==
null
)
{
return
false
;
return
false
;
}
else
{
}
else
{
let
fileNamepdf
=
row
.
filePath
;
let
fileNamepdf
=
row
.
filePath
;
let
fileType
=
fileNamepdf
.
substring
(
fileNamepdf
.
lastIndexOf
(
"
.
"
))
let
fileType
=
fileNamepdf
.
substring
(
fileNamepdf
.
lastIndexOf
(
"
.
"
))
;
if
(
fileType
!=
"
.pdf
"
)
{
if
(
fileType
!=
"
.pdf
"
)
{
return
true
;
return
true
;
}
else
{
}
else
{
...
@@ -654,11 +723,13 @@ export default {
...
@@ -654,11 +723,13 @@ export default {
},
},
//获取申请报销列表
//获取申请报销列表
getReimbursement
()
{
getReimbursement
()
{
// console.log(this.reimbursementQurey)
let
param
=
{
let
param
=
{
companyId
:
this
.
reimbursementQurey
.
companyId
,
companyId
:
this
.
reimbursementQurey
.
companyId
,
pageNum
:
this
.
reimbursementQurey
.
pageNum
,
pageNum
:
this
.
reimbursementQurey
.
pageNum
,
pageSize
:
this
.
reimbursementQurey
.
pageSize
,
pageSize
:
this
.
reimbursementQurey
.
pageSize
,
projectName
:
this
.
reimbursementQurey
.
projectName
,
userName
:
this
.
reimbursementQurey
.
userName
,
reimbursementState
:
this
.
reimbursementQurey
.
reimbursementState
,
};
};
selectByFinance
(
param
)
selectByFinance
(
param
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
...
@@ -681,13 +752,16 @@ export default {
...
@@ -681,13 +752,16 @@ export default {
this
.
getReimbursement
();
this
.
getReimbursement
();
},
},
//agreeandrefuse同意
和
驳回
//agreeandrefuse同意
或
驳回
agreeandrefuse
(
data
)
{
agreeandrefuse
(
data
)
{
this
.
getgetdetails
(
data
);
this
.
getgetdetails
(
data
);
console
.
log
(
this
.
financeList
);
this
.
reimbursementData
=
data
;
this
.
reimbursementData
=
data
;
this
.
dialogVisible
=
true
;
this
.
dialogVisible
=
true
;
this
.
lsitboot
();
this
.
lsitboot
();
this
.
$nextTick
(()
=>
{
this
.
$refs
.
form
.
resetFields
()
//移除校验结果并重置字段值
})
},
},
//清空
//清空
lsitboot
()
{
lsitboot
()
{
...
@@ -729,6 +803,7 @@ export default {
...
@@ -729,6 +803,7 @@ export default {
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
操作失败
"
);
this
.
$message
.
error
(
"
操作失败
"
);
});
});
this
.
dialogVisible
=
false
;
this
.
dialogVisible
=
false
;
})
})
.
catch
(()
=>
{
.
catch
(()
=>
{
...
@@ -932,17 +1007,6 @@ export default {
...
@@ -932,17 +1007,6 @@ export default {
}
}
this
.
from
.
verifyTotalAmountLarge
=
chineseStr
;
this
.
from
.
verifyTotalAmountLarge
=
chineseStr
;
},
},
//定义金额校验
moneyrow
(
rule
,
value
,
callback
)
{
let
RegExp
=
/
(
^
([
-
]?)[
1-9
]([
0-9
]
+
)?(\.[
0-9
]{1,2})?
$
)
|
(
^
([
-
]?)(
0
){1}
$
)
|
(
^
([
-
]?)[
0-9
]\.[
0-9
]([
0-9
])?
$
)
/
;
// /^(([1-9][0-9]{0,14})|([0]{1})|(([0]\\.\\d{1,2}|[1-9][0-9]{0,14}\\.\\d{1,2})))$/;
if
(
RegExp
.
test
(
value
))
{
callback
();
}
else
{
callback
(
new
Error
(
"
金额格式错误
"
));
}
},
//查看项目附件.....
//查看项目附件.....
selectImage
(
row
)
{
selectImage
(
row
)
{
console
.
log
(
row
);
console
.
log
(
row
);
...
@@ -1088,9 +1152,7 @@ export default {
...
@@ -1088,9 +1152,7 @@ export default {
.container
{
.container
{
padding
:
10px
;
padding
:
10px
;
}
}
.conter
{
margin-bottom
:
10px
;
}
.footer
{
.footer
{
text-align
:
right
;
text-align
:
right
;
}
}
...
...
src/views/reimbursement/headman/headmanList.vue
View file @
ee083724
<
template
>
<
template
>
<div
class=
"container"
>
<div
class=
"container"
>
<div>
<el-form
:inline=
"true"
:model=
"reimbursementQurey"
>
<el-form-item
label=
"项目名称"
>
<el-input
v-model=
"reimbursementQurey.projectName"
placeholder=
"项目名称"
></el-input>
</el-form-item>
<el-form-item
label=
"报销人"
>
<el-input
v-model=
"reimbursementQurey.userName"
placeholder=
"报销人"
></el-input>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-select
v-model=
"reimbursementQurey.reimbursementState"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"query()"
>
查询
</el-button
>
<el-button
type=
"primary"
icon=
"el-icon-refresh-right"
@
click=
"reset()"
>
重置
</el-button
>
</el-form-item>
</el-form>
</div>
<div
class=
"conter"
>
<div
class=
"conter"
>
<el-table
<el-table
:data=
"reimbursementList"
:data=
"reimbursementList"
...
@@ -409,6 +450,27 @@ export default {
...
@@ -409,6 +450,27 @@ export default {
reimbursementDetails
:
{
reimbursementDetails
:
{
list
:
[],
list
:
[],
},
},
options
:
[
{
value
:
"
0
"
,
label
:
"
待小组长通过
"
,
},
{
value
:
"
1
"
,
label
:
"
待财务长通过
"
,
},
{
value
:
"
2
"
,
label
:
"
小组长驳回
"
,
},
{
value
:
"
3
"
,
label
:
"
财务长通过
"
,
},
{
value
:
"
4
"
,
label
:
"
财务长驳回
"
,
}
],
reimbursementQurey
:
{
reimbursementQurey
:
{
userId
:
null
,
userId
:
null
,
pageNum
:
1
,
pageNum
:
1
,
...
@@ -476,6 +538,22 @@ export default {
...
@@ -476,6 +538,22 @@ export default {
this
.
getReimbursement
();
this
.
getReimbursement
();
},
},
methods
:
{
methods
:
{
//重置
reset
(){
this
.
reimbursementQurey
=
{
pageNum
:
1
,
pageSize
:
10
,
userId
:
null
,
companyId
:
null
,
};
this
.
reimbursementQurey
.
userId
=
this
.
$store
.
getters
.
urId
;
this
.
reimbursementQurey
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
getReimbursement
();
},
query
(){
this
.
reimbursementQurey
.
pageNum
=
1
this
.
getReimbursement
();
},
//图片格式
//图片格式
formatProtocolType
(
row
)
{
formatProtocolType
(
row
)
{
if
(
row
.
filePath
==
null
)
{
if
(
row
.
filePath
==
null
)
{
...
@@ -805,9 +883,7 @@ export default {
...
@@ -805,9 +883,7 @@ export default {
.container
{
.container
{
padding
:
10px
;
padding
:
10px
;
}
}
.conter
{
padding-top
:
40px
;
}
.footer
{
.footer
{
text-align
:
right
;
text-align
:
right
;
}
}
...
...
src/views/reimbursement/reimbursementAdd.vue
View file @
ee083724
<
template
>
<
template
>
<div
class=
"container"
>
<div
class=
"container"
:gutter=
"20"
>
<!-- 左边 -->
<div
class=
"box"
>
<div
class=
"box"
>
<el-row
:gutter=
"24"
>
<el-col
:xl=
"12"
:lg=
"12"
:md=
"12"
:sm=
"24"
:xs=
"24"
>
<el-form
<el-form
ref=
"form"
ref=
"form"
:model=
"from"
:model=
"from"
...
@@ -47,12 +48,14 @@
...
@@ -47,12 +48,14 @@
<el-input
v-model=
"from.summary"
></el-input>
<el-input
v-model=
"from.summary"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"报销总金额-大写(元)"
>
<el-form-item
label=
"报销总金额-大写(元)"
>
<el-input
v-model=
"from.applyTotalAmountLarge"
disabled
></el-input>
<el-input
v-model=
"from.applyTotalAmountLarge"
disabled
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
<el-form-item
label=
"报销总金额-小写(元)"
label=
"报销总金额-小写(元)"
prop=
"applyTotalAmountSmall"
prop=
"applyTotalAmountSmall"
:rules=
"
{ validator: moneyrow, trigger: 'blur', required: true }"
>
>
<el-input
<el-input
v-model=
"from.applyTotalAmountSmall"
v-model=
"from.applyTotalAmountSmall"
...
@@ -117,10 +120,13 @@
...
@@ -117,10 +120,13 @@
<el-button
@
click=
"back()"
>
返回
</el-button>
<el-button
@
click=
"back()"
>
返回
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</
div
>
</
el-col
>
<!-- 右边 -->
<!-- 右边 -->
<div>
<el-col
:xl=
"12"
:lg=
"12"
:md=
"12"
:sm=
"24"
:xs=
"24"
>
<div
class=
"spend"
v-show=
"!subbut"
>
<div
v-show=
"subbut"
>
<el-empty
description=
"暂无报销项,因此无法报销"
></el-empty>
</div>
<div
v-show=
"!subbut"
>
<el-form
<el-form
:model=
"reimbursementItemData"
:model=
"reimbursementItemData"
:inline=
"true"
:inline=
"true"
...
@@ -141,7 +147,13 @@
...
@@ -141,7 +147,13 @@
required: true,
required: true,
}"
}"
>
>
<el-input
v-model=
"item.money"
><i
slot=
"suffix"
style=
"font-style:normal;margin-right: 10px;"
>
元
</i></el-input>
<el-input
v-model=
"item.money"
><i
slot=
"suffix"
style=
"font-style: normal; margin-right: 10px"
>
元
</i
></el-input
>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-form-item
label=
"备注"
>
<el-input
v-model=
"item.remarks"
></el-input>
<el-input
v-model=
"item.remarks"
></el-input>
...
@@ -150,9 +162,9 @@
...
@@ -150,9 +162,9 @@
</el-row>
</el-row>
</el-form>
</el-form>
</div>
</div>
<div
v-show=
"subbut"
>
<el-
empty
description=
"暂无报销项,因此无法报销"
></el-empty
>
<
/
el-
col
>
</
div
>
</
el-row
>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -163,6 +175,7 @@ import { insert } from "@/api/reimbursement";
...
@@ -163,6 +175,7 @@ import { insert } from "@/api/reimbursement";
import
{
Details
}
from
"
@/api/reimbursement
"
;
import
{
Details
}
from
"
@/api/reimbursement
"
;
import
{
queryBypageIncomeAdd
,
selectAllBystatus
}
from
"
@/api/project
"
;
import
{
queryBypageIncomeAdd
,
selectAllBystatus
}
from
"
@/api/project
"
;
import
{
updatesubmit
}
from
"
@/api/project
"
;
import
{
updatesubmit
}
from
"
@/api/project
"
;
import
{
money
}
from
"
@/utils/myValidate
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -225,8 +238,8 @@ export default {
...
@@ -225,8 +238,8 @@ export default {
trigger
:
"
change
"
,
trigger
:
"
change
"
,
},
},
],
],
mone
:
[
applyTotalAmountSmall
:
[
{
required
:
true
,
messa
ge
:
"
请输入发票金额
"
,
trigger
:
"
change
"
},
{
validator
:
money
,
trig
ge
r
:
"
blur
"
,
required
:
true
},
],
],
},
},
isgetid
:
0
,
isgetid
:
0
,
...
@@ -408,9 +421,10 @@ export default {
...
@@ -408,9 +421,10 @@ export default {
//定义金额校验
//定义金额校验
moneyrow
(
rule
,
value
,
callback
)
{
moneyrow
(
rule
,
value
,
callback
)
{
let
RegExp
=
let
RegExp
=
/
(
^
([
-
]?)[
1-9
]([
0-9
]
+
)?(\.[
0-9
]{1,2})?
$
)
|
(
^
([
-
]?)(
0
){1}
$
)
|
(
^
([
-
]?)[
0-9
]\.[
0-9
]([
0-9
])?
$
)
/
;
/
(
^
([
-
]?)[
1-9
]([
0-9
]
+
)?(\.[
0-9
]{1,6})?
$
)
|
(
^
([
-
]?)(
0
){1}
$
)
|
(
^
([
-
]?)[
0-9
]\.[
0-9
]([
0-9
])?
$
)
/
;
// /^(([1-9][0-9]{0,14})|([0]{1})|(([0]\\.\\d{1,2}|[1-9][0-9]{0,14}\\.\\d{1,2})))$/;
if
(
value
===
null
||
value
===
undefined
||
value
===
""
)
{
if
(
RegExp
.
test
(
value
))
{
callback
(
new
Error
(
"
金额不能为空
"
));
}
else
if
(
RegExp
.
test
(
value
))
{
callback
();
callback
();
}
else
{
}
else
{
callback
(
new
Error
(
"
金额格式错误
"
));
callback
(
new
Error
(
"
金额格式错误
"
));
...
@@ -577,7 +591,7 @@ export default {
...
@@ -577,7 +591,7 @@ export default {
<
style
scoped
>
<
style
scoped
>
.box
{
.box
{
width
:
8
00
px
;
width
:
1
00
%
;
float
:
left
;
float
:
left
;
margin
:
60px
0px
;
margin
:
60px
0px
;
padding
:
20px
10px
;
padding
:
20px
10px
;
...
...
src/views/reimbursement/reimbursementList.vue
View file @
ee083724
...
@@ -4,21 +4,35 @@
...
@@ -4,21 +4,35 @@
<div>
<div>
<el-form
:inline=
"true"
:model=
"reimbursementQurey"
>
<el-form
:inline=
"true"
:model=
"reimbursementQurey"
>
<el-form-item
label=
"项目名称"
>
<el-form-item
label=
"项目名称"
>
<el-input
v-model=
"reimbursementQurey.projectName"
placeholder=
"根据项目名称搜索"
></el-input>
<el-input
v-model=
"reimbursementQurey.projectName"
placeholder=
"项目名称"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"审批状态"
>
<el-form-item
label=
"状态"
>
<el-select
v-model=
"reimbursementQurey.reimbursementState"
placeholder=
"根据状态搜索"
>
<el-select
v-model=
"reimbursementQurey.reimbursementState"
placeholder=
"请选择"
>
<el-option
<el-option
v-for=
"item in options"
v-for=
"item in options"
:key=
"item.value"
:key=
"item.value"
:label=
"item.label"
:label=
"item.label"
:value=
"item.value"
>
:value=
"item.value"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"qurey()"
>
查询
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"query()"
<el-button
type=
"primary"
icon=
"el-icon-refresh-right"
@
click=
"reset()"
>
重置
</el-button>
>
查询
</el-button
>
<el-button
type=
"primary"
icon=
"el-icon-refresh-right"
@
click=
"reset()"
>
重置
</el-button
>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
<el-button
...
@@ -206,6 +220,24 @@
...
@@ -206,6 +220,24 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
style=
"margin: 5px"
size=
"mini"
type=
"info"
@
click=
"withdraw(scope.row)"
v-if=
"scope.row.reimbursementState == 0"
>
撤回
</el-button
>
<!--
<el-popconfirm
title=
"这是一段内容确定删除吗?"
>
<el-button
slot=
"reference"
style=
"margin: 5px"
size=
"mini"
type=
"info"
@
click=
"withdraw(scope.row)"
v-if=
"scope.row.reimbursementState == 0"
>
删除
</el-button>
</el-popconfirm>
-->
<el-button
<el-button
style=
"margin: 5px"
style=
"margin: 5px"
size=
"mini"
size=
"mini"
...
@@ -220,6 +252,7 @@
...
@@ -220,6 +252,7 @@
"
"
>
修改信息
</el-button
>
修改信息
</el-button
>
>
<el-button
<el-button
style=
"margin: 5px"
style=
"margin: 5px"
size=
"mini"
size=
"mini"
...
@@ -231,15 +264,7 @@
...
@@ -231,15 +264,7 @@
"
"
>
重新提交
</el-button
>
重新提交
</el-button
>
>
<el-button
style=
"margin: 5px"
size=
"mini"
type=
"info"
@
click=
"withdraw(scope.row)"
v-if=
"scope.row.reimbursementState == 0"
>
撤回
</el-button
>
<div
<div
v-if=
"scope.row.reimbursementState == 3"
v-if=
"scope.row.reimbursementState == 3"
style=
"width:100%;text-align: center ; color:#67C23A;"
style=
"width:100%;text-align: center ; color:#67C23A;"
...
@@ -367,6 +392,7 @@
...
@@ -367,6 +392,7 @@
size=
"mini"
size=
"mini"
type=
"info"
type=
"info"
@
click=
"delinvoice(scope.row)"
@
click=
"delinvoice(scope.row)"
:disabled=
"isDisabledDel"
>
>
删除
</el-button
删除
</el-button
>
>
...
@@ -481,7 +507,7 @@
...
@@ -481,7 +507,7 @@
size=
"mini "
size=
"mini "
style=
"font-size: 13px"
style=
"font-size: 13px"
slot=
"reference"
slot=
"reference"
:disabled=
"
isDisabled
"
:disabled=
"
submissionFlag
"
>
删除
</el-button
>
删除
</el-button
>
>
</el-popover>
</el-popover>
...
@@ -558,12 +584,35 @@ export default {
...
@@ -558,12 +584,35 @@ export default {
data
()
{
data
()
{
return
{
return
{
isDisabled
:
null
,
//判断是否显示附件的删除按钮
isDisabled
:
null
,
//判断是否显示附件的删除按钮
isDisabledDel
:
false
,
//判断是否禁用删除发票图片按钮
//修改发票表格
//修改发票表格
invoicelist
:
[],
invoicelist
:
[],
invoiceQurey
:
{
invoiceQurey
:
{
companyId
:
null
,
companyId
:
null
,
reimbursementId
:
null
,
reimbursementId
:
null
,
},
},
options
:
[
{
value
:
"
0
"
,
label
:
"
待小组长通过
"
,
},
{
value
:
"
1
"
,
label
:
"
待财务长通过
"
,
},
{
value
:
"
2
"
,
label
:
"
小组长驳回
"
,
},
{
value
:
"
3
"
,
label
:
"
财务长通过
"
,
},
{
value
:
"
4
"
,
label
:
"
财务长驳回
"
,
},
],
getinvoivelist
:
[],
//可以选择的发票号
getinvoivelist
:
[],
//可以选择的发票号
dialogVisible
:
false
,
dialogVisible
:
false
,
//内容样式
//内容样式
...
@@ -573,34 +622,10 @@ export default {
...
@@ -573,34 +622,10 @@ export default {
//label样式
//label样式
labelStyle
:
{
width
:
"
80px
"
},
labelStyle
:
{
width
:
"
80px
"
},
reimbursementQurey
:
{
reimbursementQurey
:
{
reimbursementState
:
null
,
projectName
:
null
,
userId
:
null
,
userId
:
null
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
,
pageSize
:
10
,
},
},
options
:[
{
value
:
0
,
label
:
'
待小组长审批
'
},
{
value
:
1
,
label
:
'
待财务审批
'
},
{
value
:
2
,
label
:
'
小组长驳回
'
},
{
value
:
3
,
label
:
'
审批全通过
'
},
{
value
:
4
,
label
:
'
财务驳回
'
}
],
total
:
0
,
total
:
0
,
reimbursementList
:
[],
reimbursementList
:
[],
//抽屉
//抽屉
...
@@ -664,6 +689,21 @@ export default {
...
@@ -664,6 +689,21 @@ export default {
this
.
getReimbursement
();
this
.
getReimbursement
();
},
},
methods
:
{
methods
:
{
//重置
reset
()
{
this
.
reimbursementQurey
=
{
pageNum
:
1
,
pageSize
:
10
,
userId
:
null
,
};
this
.
reimbursementQurey
.
userId
=
this
.
$store
.
getters
.
urId
;
this
.
getReimbursement
();
},
//搜索
query
()
{
this
.
reimbursementQurey
.
pageNum
=
1
;
this
.
getReimbursement
();
},
//图片格式
//图片格式
formatProtocolType
(
row
)
{
formatProtocolType
(
row
)
{
//这里判断的是是否有文件
//这里判断的是是否有文件
...
@@ -695,6 +735,7 @@ export default {
...
@@ -695,6 +735,7 @@ export default {
this
.
getinvoive
({
this
.
getinvoive
({
reimbursementId
:
this
.
invoiceQurey
.
reimbursementId
,
reimbursementId
:
this
.
invoiceQurey
.
reimbursementId
,
});
});
this
.
$refs
.
form
.
resetFields
()
this
.
$message
.
success
(
res
.
msg
);
this
.
$message
.
success
(
res
.
msg
);
}
else
{
}
else
{
this
.
$message
.
error
(
"
发票上传失败!
"
);
this
.
$message
.
error
(
"
发票上传失败!
"
);
...
@@ -726,6 +767,7 @@ export default {
...
@@ -726,6 +767,7 @@ export default {
//添加发票号码
//添加发票号码
addinvoice
()
{
addinvoice
()
{
this
.
dialogVisible
=
true
;
this
.
dialogVisible
=
true
;
this
.
Selectinvoielsit
();
this
.
Selectinvoielsit
();
},
},
//获取发票号列表详情
//获取发票号列表详情
...
@@ -736,6 +778,12 @@ export default {
...
@@ -736,6 +778,12 @@ export default {
console
.
log
(
res
);
console
.
log
(
res
);
if
(
res
.
success
)
{
if
(
res
.
success
)
{
this
.
invoicelist
=
res
.
data
;
this
.
invoicelist
=
res
.
data
;
console
.
log
(
res
.
data
.
length
)
if
(
res
.
data
.
length
<=
1
){
this
.
isDisabledDel
=
true
}
else
{
this
.
isDisabledDel
=
false
}
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
msg
);
this
.
$message
.
error
(
res
.
msg
);
}
}
...
@@ -787,18 +835,6 @@ export default {
...
@@ -787,18 +835,6 @@ export default {
this
.
$message
.
error
(
"
回去数据失败
"
);
this
.
$message
.
error
(
"
回去数据失败
"
);
});
});
},
},
//查询
qurey
(){
this
.
reimbursementQurey
.
pageNum
=
1
this
.
getReimbursement
()
},
//重置
reset
(){
this
.
reimbursementQurey
.
projectName
=
null
this
.
reimbursementQurey
.
pageNum
=
1
this
.
reimbursementQurey
.
reimbursementState
=
null
this
.
getReimbursement
()
},
//修改信息
//修改信息
updataReimbursement
(
data
)
{
updataReimbursement
(
data
)
{
//data是列表中所有的数据
//data是列表中所有的数据
...
@@ -856,12 +892,17 @@ export default {
...
@@ -856,12 +892,17 @@ export default {
},
},
//撤回
//撤回
withdraw
(
data
)
{
withdraw
(
data
)
{
// console.log(data.reimbursementId)
this
.
$confirm
(
"
是否同意撤回?
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
,
}).
then
(()
=>
{
reimbursementId
(
data
.
reimbursementId
).
then
((
res
)
=>
{
reimbursementId
(
data
.
reimbursementId
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
if
(
res
.
success
)
{
this
.
getReimbursement
();
this
.
getReimbursement
();
}
}
});
});
})
},
},
//查看图片的方法
//查看图片的方法
ReviseImage
(
row
)
{
ReviseImage
(
row
)
{
...
...
src/views/reimbursement/reimbursementUpdata.vue
View file @
ee083724
...
@@ -29,11 +29,13 @@
...
@@ -29,11 +29,13 @@
<el-input
v-model=
"from.summary"
></el-input>
<el-input
v-model=
"from.summary"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"报销总金额-大写(元)"
prop=
"applyTotalAmountLarge"
>
<el-form-item
label=
"报销总金额-大写(元)"
prop=
"applyTotalAmountLarge"
>
<el-input
v-model=
"from.applyTotalAmountLarge"
></el-input>
<el-input
v-model=
"from.applyTotalAmountLarge"
disabled
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"报销总金额-小写(元)"
prop=
"applyTotalAmountSmall"
>
<el-form-item
label=
"报销总金额-小写(元)"
prop=
"applyTotalAmountSmall"
>
<el-input
v-model=
"from.applyTotalAmountSmall"
></el-input>
<el-input
v-model=
"from.applyTotalAmountSmall"
@
change=
"convertCurrency(from.applyTotalAmountSmall)"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"支付方式"
prop=
"paymentMethod"
>
<el-form-item
label=
"支付方式"
prop=
"paymentMethod"
>
<el-input
v-model=
"from.paymentMethod"
></el-input>
<el-input
v-model=
"from.paymentMethod"
></el-input>
...
@@ -142,8 +144,8 @@ export default {
...
@@ -142,8 +144,8 @@ export default {
applyTotalAmountLarge
:[
applyTotalAmountLarge
:[
{
required
:
true
,
message
:
"
请输入申请报销总金额(大写)
"
,
trigger
:
"
blur
"
},
{
required
:
true
,
message
:
"
请输入申请报销总金额(大写)
"
,
trigger
:
"
blur
"
},
],
],
applyTotalAmountSmall
:[
applyTotalAmountSmall
:
[
{
required
:
true
,
message
:
"
请输入申请报销总金额(小写)
"
,
trigger
:
"
blur
"
},
{
validator
:
money
,
trigger
:
"
blur
"
,
required
:
true
},
],
],
entrustedBusinessFee
:[
entrustedBusinessFee
:[
{
validator
:
money
,
trigger
:
"
blur
"
},
{
validator
:
money
,
trigger
:
"
blur
"
},
...
@@ -337,17 +339,6 @@ export default {
...
@@ -337,17 +339,6 @@ export default {
//重置信息
//重置信息
resetForm
(){
resetForm
(){
this
.
getFrom
()
this
.
getFrom
()
},
//定义金额校验
moneyrow
(
rule
,
value
,
callback
)
{
let
RegExp
=
/
(
^
([
-
]?)[
1-9
]([
0-9
]
+
)?(\.[
0-9
]{1,2})?
$
)
|
(
^
([
-
]?)(
0
){1}
$
)
|
(
^
([
-
]?)[
0-9
]\.[
0-9
]([
0-9
])?
$
)
/
;
// /^(([1-9][0-9]{0,14})|([0]{1})|(([0]\\.\\d{1,2}|[1-9][0-9]{0,14}\\.\\d{1,2})))$/;
if
(
RegExp
.
test
(
value
))
{
callback
();
}
else
{
callback
(
new
Error
(
"
金额格式错误
"
));
}
},
},
//查询发票编号
//查询发票编号
Selectinsertlsit
()
{
Selectinsertlsit
()
{
...
@@ -384,6 +375,104 @@ export default {
...
@@ -384,6 +375,104 @@ export default {
callback
(
new
Error
(
"
金额格式错误
"
));
callback
(
new
Error
(
"
金额格式错误
"
));
}
}
},
},
convertCurrency
(
money
)
{
//汉字的数字
var
cnNums
=
new
Array
(
"
零
"
,
"
壹
"
,
"
贰
"
,
"
叁
"
,
"
肆
"
,
"
伍
"
,
"
陆
"
,
"
柒
"
,
"
捌
"
,
"
玖
"
);
//基本单位
var
cnIntRadice
=
new
Array
(
""
,
"
拾
"
,
"
佰
"
,
"
仟
"
);
//对应整数部分扩展单位
var
cnIntUnits
=
new
Array
(
""
,
"
万
"
,
"
亿
"
,
"
兆
"
);
//对应小数部分单位
var
cnDecUnits
=
new
Array
(
"
角
"
,
"
分
"
,
"
毫
"
,
"
厘
"
);
//整数金额时后面跟的字符
var
cnInteger
=
"
整
"
;
//整型完以后的单位
var
cnIntLast
=
"
元
"
;
//最大处理的数字
var
maxNum
=
999999999999999.9999
;
//金额整数部分
var
integerNum
;
//金额小数部分
var
decimalNum
;
//输出的中文金额字符串
var
chineseStr
=
""
;
//分离金额后用的数组,预定义
var
parts
;
if
(
money
==
""
)
{
return
""
;
}
money
=
parseFloat
(
money
);
if
(
money
>=
maxNum
)
{
//超出最大处理数字
return
""
;
}
if
(
money
==
0
)
{
chineseStr
=
cnNums
[
0
]
+
cnIntLast
+
cnInteger
;
return
chineseStr
;
}
//转换为字符串
money
=
money
.
toString
();
if
(
money
.
indexOf
(
"
.
"
)
==
-
1
)
{
integerNum
=
money
;
decimalNum
=
""
;
}
else
{
parts
=
money
.
split
(
"
.
"
);
integerNum
=
parts
[
0
];
decimalNum
=
parts
[
1
].
substr
(
0
,
4
);
}
//获取整型部分转换
if
(
parseInt
(
integerNum
,
10
)
>
0
)
{
var
zeroCount
=
0
;
var
IntLen
=
integerNum
.
length
;
for
(
var
i
=
0
;
i
<
IntLen
;
i
++
)
{
var
n
=
integerNum
.
substr
(
i
,
1
);
var
p
=
IntLen
-
i
-
1
;
var
q
=
p
/
4
;
var
m
=
p
%
4
;
if
(
n
==
"
0
"
)
{
zeroCount
++
;
}
else
{
if
(
zeroCount
>
0
)
{
chineseStr
+=
cnNums
[
0
];
}
//归零
zeroCount
=
0
;
chineseStr
+=
cnNums
[
parseInt
(
n
)]
+
cnIntRadice
[
m
];
}
if
(
m
==
0
&&
zeroCount
<
4
)
{
chineseStr
+=
cnIntUnits
[
q
];
}
}
chineseStr
+=
cnIntLast
;
}
//小数部分
if
(
decimalNum
!=
""
)
{
var
decLen
=
decimalNum
.
length
;
for
(
var
i
=
0
;
i
<
decLen
;
i
++
)
{
var
n
=
decimalNum
.
substr
(
i
,
1
);
if
(
n
!=
"
0
"
)
{
chineseStr
+=
cnNums
[
Number
(
n
)]
+
cnDecUnits
[
i
];
}
}
}
if
(
chineseStr
==
""
)
{
chineseStr
+=
cnNums
[
0
]
+
cnIntLast
+
cnInteger
;
}
else
if
(
decimalNum
==
""
)
{
chineseStr
+=
cnInteger
;
}
this
.
from
.
applyTotalAmountLarge
=
chineseStr
;
},
},
},
};
};
</
script
>
</
script
>
...
...
src/views/reimebursementItem/reimebursementItemList.vue
View file @
ee083724
...
@@ -55,6 +55,7 @@
...
@@ -55,6 +55,7 @@
<el-button
<el-button
type=
"info"
type=
"info"
icon=
"el-icon-edit"
icon=
"el-icon-edit"
size=
"mini"
@
click=
"Update(scope.row)"
@
click=
"Update(scope.row)"
>
编辑
</el-button>
>
编辑
</el-button>
</
template
>
</
template
>
...
...
src/views/reimebursementItem/reimebursementItemUpdate.vue
View file @
ee083724
...
@@ -80,6 +80,8 @@ export default {
...
@@ -80,6 +80,8 @@ export default {
update
(
this
.
reimebursementItemdata
).
then
((
res
)
=>
{
update
(
this
.
reimebursementItemdata
).
then
((
res
)
=>
{
if
(
res
.
success
){
if
(
res
.
success
){
this
.
$message
.
success
(
"
修改成功
"
)
this
.
$message
.
success
(
"
修改成功
"
)
this
.
$store
.
dispatch
(
"
tagsView/delView
"
,
this
.
$route
)
this
.
$router
.
push
(
"
reimburtypeList
"
)
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
msg
(
'
名称重复
'
))
this
.
$message
.
error
(
res
.
msg
(
'
名称重复
'
))
}
}
...
...
Prev
1
2
Next
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