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
149f135a
Commit
149f135a
authored
Nov 15, 2022
by
柳 佳乐
Browse files
20221115
parent
2423ec69
Changes
23
Show whitespace changes
Inline
Side-by-side
src/router/index.js
View file @
149f135a
...
@@ -101,9 +101,17 @@ export const componentMap = {
...
@@ -101,9 +101,17 @@ export const componentMap = {
'
spendreimbursementList_Update
'
:
()
=>
import
(
'
@/views/Spendreimbursement/spendreimbursementListUpdate.vue
'
).
then
(
m
=>
m
.
default
),
'
spendreimbursementList_Update
'
:
()
=>
import
(
'
@/views/Spendreimbursement/spendreimbursementListUpdate.vue
'
).
then
(
m
=>
m
.
default
),
// 公司文件模块
// 公司文件模块
'
company_file_list
'
:()
=>
import
(
'
@/views/companyFile/companyFileList
'
).
then
(
m
=>
m
.
default
),
'
company_file_list
'
:
()
=>
import
(
'
@/views/companyFile/companyFileList
'
).
then
(
m
=>
m
.
default
),
'
self_file_list
'
:()
=>
import
(
'
@/views/companyFile/selfFileList
'
).
then
(
m
=>
m
.
default
),
'
self_file_list
'
:
()
=>
import
(
'
@/views/companyFile/selfFileList
'
).
then
(
m
=>
m
.
default
),
'
company_file_add
'
:()
=>
import
(
'
@/views/companyFile/companyFileAdd
'
).
then
(
m
=>
m
.
default
),
'
company_file_add
'
:
()
=>
import
(
'
@/views/companyFile/companyFileAdd
'
).
then
(
m
=>
m
.
default
),
//公司资产
'
assets_List
'
:
()
=>
import
(
'
@/views/assets/assetslist
'
).
then
(
m
=>
m
.
default
),
'
assets_Upedata
'
:
()
=>
import
(
'
@/views/assets/assetsUpedata
'
).
then
(
m
=>
m
.
default
),
'
administration_lsit
'
:
()
=>
import
(
'
@/views/assets/administration/administrationlist
'
).
then
(
m
=>
m
.
default
),
'
administration_Update
'
:
()
=>
import
(
'
@/views/assets/administration/administrationUpdate
'
).
then
(
m
=>
m
.
default
),
'
administration_select
'
:
()
=>
import
(
'
@/views/assets/administration/administrationselect
'
).
then
(
m
=>
m
.
default
),
'
assetuse_list
'
:
()
=>
import
(
'
@/views/assets/assetuse/assetuselist
'
).
then
(
m
=>
m
.
default
),
}
}
/**
/**
...
...
src/utils/myValidate.js
View file @
149f135a
...
@@ -113,9 +113,9 @@ export function pathValid (rule, value, callback) {
...
@@ -113,9 +113,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
]([
0-9
]
+
)?(\.[
0-9
]{1,6})?
$
)
|
(
^
([
-
]?)(
0
){1}
$
)
|
(
^
([
-
]?)[
0-9
]\.[
0-9
]([
0-9
]
)?
$
)
/
;
if
(
RegExp
.
test
(
value
))
{
if
(
RegExp
.
test
(
value
))
{
callback
();
callback
();
}
else
{
}
else
{
...
...
src/views/Spendreimbursement/spendreimbursementAdd.vue
View file @
149f135a
...
@@ -12,11 +12,7 @@
...
@@ -12,11 +12,7 @@
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<div
class=
"grid-content bg-purple"
>
<div
class=
"grid-content bg-purple"
>
<!-- projectId -->
<!-- projectId -->
<el-form-item
<el-form-item
label=
"报销项目"
prop=
"projectId"
>
label=
"报销项目"
:label-width=
"formLabelWidth"
prop=
"projectId"
>
<el-select
<el-select
placeholder=
"请选择"
placeholder=
"请选择"
v-model=
"spendreimbursementform.projectId"
v-model=
"spendreimbursementform.projectId"
...
@@ -669,16 +665,13 @@ export default {
...
@@ -669,16 +665,13 @@ export default {
let
time
=
this
.
timestampToTime
(
val
);
let
time
=
this
.
timestampToTime
(
val
);
this
.
spendreimbursementform
.
applyTime
=
time
;
this
.
spendreimbursementform
.
applyTime
=
time
;
}
}
},
},
// 计算天数
// 计算天数
DateDiff
(
sDate1
,
sDate2
)
{
DateDiff
(
sDate1
,
sDate2
)
{
//sDate1和sDate2是2006-12-18格式
let
oDate1
,
oDate2
,
iDays
;
var
aDate
,
oDate1
,
oDate2
,
iDays
;
oDate1
=
new
Date
(
sDate1
);
aDate
=
sDate1
.
split
(
"
-
"
);
oDate2
=
new
Date
(
sDate2
);
oDate1
=
new
Date
(
aDate
[
1
]
+
"
-
"
+
aDate
[
2
]
+
"
-
"
+
aDate
[
0
]);
//转换为12-18-2006格式
aDate
=
sDate2
.
split
(
"
-
"
);
oDate2
=
new
Date
(
aDate
[
1
]
+
"
-
"
+
aDate
[
2
]
+
"
-
"
+
aDate
[
0
]);
iDays
=
parseInt
(
Math
.
abs
(
oDate1
-
oDate2
)
/
1000
/
60
/
60
/
24
);
//把相差的毫秒数转换为天数
iDays
=
parseInt
(
Math
.
abs
(
oDate1
-
oDate2
)
/
1000
/
60
/
60
/
24
);
//把相差的毫秒数转换为天数
console
.
log
(
iDays
);
return
iDays
;
return
iDays
;
},
},
//开始结束 时间的处理 计算天数
//开始结束 时间的处理 计算天数
...
...
src/views/Spendreimbursement/spendreimbursementAdd_Copy.vue
deleted
100644 → 0
View file @
2423ec69
<
template
>
<el-form
ref=
"ruleform"
:model=
"spendreimbursementform"
label-width=
"120px"
:label-position=
"labelPosition"
:rules=
"rules"
>
<el-row
:gutter=
"20"
>
<!-- 第一列表单 -->
<el-col
:span=
"6"
>
<div
class=
"grid-content bg-purple"
>
<!-- projectId -->
<el-form-item
label=
"项目列表"
:label-width=
"formLabelWidth"
prop=
"projectId"
>
<el-select
placeholder=
"请选择"
v-model=
"spendreimbursementform.projectId"
>
<el-option
:label=
"item.projectName"
v-for=
"item in collectProject"
:key=
"item.projectId"
:value=
"item.projectId"
>
</el-option>
</el-select>
</el-form-item>
<!-- summary -->
<el-form-item
label=
"摘要"
prop=
"summary"
>
<el-input
v-model=
"spendreimbursementform.summary"
></el-input>
</el-form-item>
<!-- enclosureNumber -->
<el-form-item
label=
"附件数量"
prop=
"enclosureNumber"
>
<el-input
v-model=
"spendreimbursementform.enclosureNumber"
></el-input>
</el-form-item>
<!-- tripReason -->
<el-form-item
label=
"出差缘由"
prop=
"tripReason"
>
<el-input
v-model=
"spendreimbursementform.tripReason"
></el-input>
</el-form-item>
<!-- fromPlace -->
<el-form-item
label=
"出发地点"
prop=
"fromPlace"
>
<el-input
v-model=
"spendreimbursementform.fromPlace"
></el-input>
</el-form-item>
<!-- purposePlace -->
<el-form-item
label=
"目的地点"
prop=
"purposePlace"
>
<el-input
v-model=
"spendreimbursementform.purposePlace"
></el-input>
</el-form-item>
<!-- transitPlace -->
<el-form-item
label=
"经过地点"
prop=
"transitPlace"
>
<el-input
v-model=
"spendreimbursementform.transitPlace"
></el-input>
</el-form-item>
<!-- vehicle -->
<el-form-item
label=
"交通工具"
prop=
"vehicle"
>
<el-input
v-model=
"spendreimbursementform.vehicle"
></el-input>
</el-form-item>
<!-- applyTime -->
<el-form-item
label=
"申请时间"
prop=
"applyTime"
required
>
<el-date-picker
v-model=
"spendreimbursementform.applyTime"
type=
"date"
style=
"width: 90%"
@
change=
"formtime3"
placeholder=
"选择日期"
>
</el-date-picker>
</el-form-item>
</div>
</el-col>
<!-- 第二列表单 -->
<el-col
:span=
"6"
>
<div
class=
"grid-content bg-purple"
>
<!-- receiveSubsidy -->
<el-form-item
label=
"是否领取补贴"
>
<el-switch
v-model=
"values"
active-color=
"#13ce66"
inactive-color=
"#ff4949"
@
change=
"changeswitch(values)"
>
</el-switch>
</el-form-item>
<!-- foodAllowance -->
<el-form-item
label=
"伙食补贴"
prop=
"foodAllowance"
>
<el-input
v-model.number=
"spendreimbursementform.foodAllowance"
></el-input>
</el-form-item>
<!-- publicMiscellaneousSubsidy -->
<el-form-item
label=
"公杂补贴"
prop=
"publicMiscellaneousSubsidy"
>
<el-input
v-model.number=
"spendreimbursementform.publicMiscellaneousSubsidy"
></el-input>
</el-form-item>
<!-- tripCost -->
<el-form-item
label=
"火车/汽车/轮船费"
prop=
"tripCost"
>
<el-input
v-model.number=
"spendreimbursementform.tripCost"
></el-input>
</el-form-item>
<!-- planeTicket -->
<el-form-item
label=
"飞机票"
prop=
"planeTicket"
>
<el-input
v-model.number=
"spendreimbursementform.planeTicket"
></el-input>
</el-form-item>
<!-- trafficCost -->
<el-form-item
label=
"过路过桥汽油费"
prop=
"trafficCost"
>
<el-input
v-model.number=
"spendreimbursementform.trafficCost"
></el-input>
</el-form-item>
<!-- lodgingCost -->
<el-form-item
label=
"住宿费"
prop=
"lodgingCost"
>
<el-input
v-model.number=
"spendreimbursementform.lodgingCost"
></el-input>
</el-form-item>
<!-- insuranceCost -->
<el-form-item
label=
"保险费"
prop=
"insuranceCost"
>
<el-input
v-model.number=
"spendreimbursementform.insuranceCost"
></el-input>
</el-form-item>
<!-- otherCost -->
<el-form-item
label=
"其他费用"
prop=
"otherCost"
>
<el-input
v-model.number=
"spendreimbursementform.otherCost"
></el-input>
</el-form-item>
</div>
</el-col>
<!-- 第三列表单 -->
<el-col
:span=
"6"
>
<div
class=
"grid-content bg-purple"
>
<!-- applyTotalAmountLarge -->
<el-form-item
label=
"申报总金额(大写)"
prop=
"applyTotalAmountLarge"
label-width=
"140"
>
<el-input
v-model=
"spendreimbursementform.applyTotalAmountLarge"
></el-input>
</el-form-item>
<!-- applyTotalAmountSmall -->
<el-form-item
label=
"申报总金额(小写)"
prop=
"applyTotalAmountSmall"
label-width=
"140"
>
<el-input
v-model=
"spendreimbursementform.applyTotalAmountSmall"
></el-input>
</el-form-item>
<el-form-item
label=
"出差时间"
prop=
"startTime"
required
:rules=
"[
{
type: 'daterange',
required: true,
message: '请选择日期',
trigger: 'change',
},
]"
>
<el-date-picker
v-model=
"timeSlot"
@
change=
"formtime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
<!-- nobillExplain -->
<el-form-item
label=
"无票据说明"
prop=
"nobillExplain"
>
<el-input
v-model=
"spendreimbursementform.nobillExplain"
></el-input>
</el-form-item>
<!-- remarks -->
<el-form-item
label=
"备注"
prop=
"remarks"
>
<el-input
type=
"textarea"
:rows=
"5"
v-model=
"spendreimbursementform.remarks"
></el-input>
</el-form-item>
</div>
</el-col>
<!-- 第四列表单 -->
<el-col
:span=
"6"
>
<div
class=
"grid-content bg-purple"
>
<!-- 其他 -->
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-circle-plus"
@
click=
"addBtn1"
>
随行人员
</el-button
>
</el-form-item>
<!-- 对话框1 -->
<el-dialog
title=
"选择随行人员"
:visible.sync=
"dialogFormVisible"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"6"
v-for=
"item in collectProjectpeople"
:key=
"item.userId"
>
<div
class=
"grid-content bg-purple"
style=
"margin: 20px 0px"
>
<el-checkbox
v-model=
"peopleId"
:label=
"item.userId"
border
>
{{
item
.
userName
}}
</el-checkbox>
</div>
</el-col>
</el-row>
<button
@
click=
"btn"
>
测试
</button>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
确 定
</el-button
>
</div>
</el-dialog>
</div>
</el-col>
</el-row>
<el-button
type=
"primary"
@
click=
"submitForm()"
>
提交
</el-button>
<el-button
@
click=
"resetForm()"
>
重置
</el-button>
<el-button
@
click=
"back()"
>
返回
</el-button>
</el-form>
</
template
>
<
script
>
import
{
insert
}
from
"
@/api/spendreimbursement.js
"
;
import
{
selectTypeitem
}
from
"
@/api/spendreimbursement.js
"
;
// selectProjectitem
import
{
selectProjectitem
}
from
"
@/api/spendreimbursement.js
"
;
//selectProjectpeople
import
{
selectProjectpeople
}
from
"
@/api/spendreimbursement.js
"
;
// insertId
import
{
insertId
}
from
"
@/api/spendreimbursement.js
"
;
export
default
{
created
()
{
this
.
Typeitem
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
Projectitem
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
Projectpeople
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
spendreimbursementform
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
spendreimbursementform
.
userId
=
this
.
$store
.
getters
.
urId
;
this
.
reimebursementtypeItem
();
this
.
reimebursementprojectItem
();
this
.
reimebursementprojectpeopleItem
();
},
data
()
{
return
{
dialogFormVisible
:
false
,
labelPosition
:
"
left
"
,
values
:
false
,
timeSlot
:
null
,
userId
:
[],
// 收集的是页面表单的数据
spendreimbursementform
:
{
companyId
:
null
,
summary
:
""
,
enclosureNumber
:
""
,
tripReason
:
""
,
typeId
:
""
,
fromPlace
:
""
,
remarks
:
""
,
purposePlace
:
""
,
transitPlace
:
""
,
startTime
:
""
,
endTime
:
""
,
applyTime
:
""
,
receiveSubsidy
:
0
,
vehicle
:
""
,
foodAllowance
:
""
,
publicMiscellaneousSubsidy
:
""
,
tripCost
:
""
,
planeTicket
:
""
,
trafficCost
:
""
,
lodgingCost
:
""
,
insuranceCost
:
""
,
otherCost
:
""
,
remarks
:
""
,
nobillExplain
:
""
,
applyTotalAmountLarge
:
""
,
applyTotalAmountSmall
:
""
,
projectId
:
""
,
companyId
:
null
,
// 天数
days
:
null
,
userId
:
null
,
tripStatus
:
0
,
},
peopleId
:
[],
insertBatch
:
[
{
personnelId
:
null
,
tripId
:
null
,
},
],
// 报销类型
Typeitem
:
{
companyId
:
null
,
typeCategory
:
0
,
},
// 项目类型
Projectitem
:
{
companyId
:
null
,
},
// 随从成员
Projectpeople
:
{
companyId
:
null
,
},
// 收集报销类型进行展示
collectType
:
[],
// 收集项目名称进行展示
collectProject
:
[],
// 收集随从人员进行展示
collectProjectpeople
:
[],
// 验证规则
rules
:
{
summary
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
enclosureNumber
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
tripReason
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
typeId
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
,
trigger
:
"
change
"
,
},
],
fromPlace
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
purposePlace
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
transitPlace
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
applyTotalAmountLarge
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
applyTotalAmountSmall
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
applyTime
:
[
{
type
:
"
daterange
"
,
required
:
true
,
message
:
"
请选择日期!
"
,
trigger
:
"
change
"
,
},
],
planeTicket
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
},
{
type
:
"
number
"
,
message
:
"
该项必须为数字值
"
},
],
vehicle
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
foodAllowance
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
},
{
type
:
"
number
"
,
message
:
"
该项必须为数字值
"
},
],
publicMiscellaneousSubsidy
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
},
{
type
:
"
number
"
,
message
:
"
该项必须为数字值
"
},
],
tripCost
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
},
{
type
:
"
number
"
,
message
:
"
该项必须为数字值
"
},
],
planeTicket
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
},
{
type
:
"
number
"
,
message
:
"
该项必须为数字值
"
},
],
trafficCost
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
},
{
type
:
"
number
"
,
message
:
"
该项必须为数字值
"
},
],
lodgingCost
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
},
{
type
:
"
number
"
,
message
:
"
该项必须为数字值
"
},
],
insuranceCost
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
},
{
type
:
"
number
"
,
message
:
"
该项必须为数字值
"
},
],
otherCost
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
},
{
type
:
"
number
"
,
message
:
"
该项必须为数字值
"
},
],
remarks
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
projectId
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
,
trigger
:
"
change
"
,
},
],
publicMiscellaneousSubsidy
:
[
{
required
:
true
,
message
:
"
此项不能为空!
"
},
],
startTime
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
endTime
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
trafficCost
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
lodgingCost
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
insuranceCost
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
otherCost
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
nobillExplain
:
[{
required
:
true
,
message
:
"
此项不能为空!
"
}],
},
};
},
methods
:
{
// 这是测试的数据
btn
()
{
this
.
insertBatch
.
splice
(
this
.
insertBatch
.
indexOf
(
0
),
1
);
this
.
peopleId
.
forEach
((
item
)
=>
{
let
obj
=
{};
obj
.
personnelId
=
item
;
obj
.
tripId
=
3
;
this
.
insertBatch
.
push
(
obj
);
});
insertId
(
this
.
insertBatch
)
.
then
((
result
)
=>
{
if
(
result
.
success
)
{
console
.
log
(
result
);
}
else
{
this
.
$message
.
error
(
result
.
msg
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
失败
"
);
});
this
.
insertBatch
=
[];
},
// 添加数据的方法
submitForm
()
{
this
.
$refs
.
ruleform
.
validate
((
valid
)
=>
{
console
.
log
(
"
1111
"
);
if
(
valid
)
{
console
.
log
(
"
aaaa
"
);
// insert(this.spendreimbursementform)
// .then((res) => {
// if (res.success) {
// this.insertBatch.tripId = res.data;
// var tid = this.insertBatch.tripId;
// // 处理数组 得到传递数据的对象
// this.insertBatch.splice(this.insertBatch.indexOf(0), 1);
// this.peopleId.forEach((item) => {
// let obj = {};
// obj.personnelId = item;
// obj.tripId = tid;
// this.insertBatch.push(obj);
// });
// // 第二个方法
// insertId(this.insertBatch)
// .then((result) => {
// if (result.success) {
// this.$message.success("添加成功!");
// // 添加成功以后 把表单的数据清空
// this.$refs.ruleform.resetFields();
// } else {
// this.$message.error(result.msg);
// }
// })
// .catch((error) => {
// this.$message.error("失败");
// });
// this.insertBatch = [];
// } else {
// this.$message.error(res.msg);
// }
// })
// .catch((error) => {
// this.$message.error("添加失败");
// });
}
else
{
console
.
log
(
"
error submit!!
"
);
return
false
;
}
});
},
// 报销类型
reimebursementtypeItem
()
{
selectTypeitem
(
this
.
Typeitem
)
.
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
collectType
=
res
.
data
;
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
查询失败
"
);
});
},
// 项目类型
reimebursementprojectItem
()
{
selectProjectitem
(
this
.
Projectitem
)
.
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
collectProject
=
res
.
data
;
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
查询失败
"
);
});
},
// 随从人员
reimebursementprojectpeopleItem
()
{
selectProjectpeople
(
this
.
Projectpeople
)
.
then
((
res
)
=>
{
if
(
res
.
code
==
20000
)
{
this
.
collectProjectpeople
=
res
.
data
;
}
else
{
this
.
$message
.
error
(
"
失败
"
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
查询失败
"
);
});
},
// 弹窗按钮
addBtn1
()
{
this
.
dialogFormVisible
=
true
;
},
// 开关选项
changeswitch
(
values
)
{
// console.log(values);
if
(
values
==
true
)
{
this
.
spendreimbursementform
.
receiveSubsidy
=
1
;
}
else
{
this
.
spendreimbursementform
.
receiveSubsidy
=
0
;
}
},
// 返回上一级
back
()
{
this
.
$store
.
dispatch
(
"
tagsView/delView
"
,
this
.
$route
);
this
.
$router
.
push
(
"
/spendreimbursementList
"
);
},
//申请时间处理
formtime3
(
val
)
{
if
(
val
!=
null
)
{
let
time
=
this
.
timestampToTime
(
val
);
this
.
spendreimbursementform
.
applyTime
=
time
;
}
},
// 计算天数
DateDiff
(
sDate1
,
sDate2
)
{
//sDate1和sDate2是2006-12-18格式
var
aDate
,
oDate1
,
oDate2
,
iDays
;
aDate
=
sDate1
.
split
(
"
-
"
);
oDate1
=
new
Date
(
aDate
[
1
]
+
"
-
"
+
aDate
[
2
]
+
"
-
"
+
aDate
[
0
]);
//转换为12-18-2006格式
aDate
=
sDate2
.
split
(
"
-
"
);
oDate2
=
new
Date
(
aDate
[
1
]
+
"
-
"
+
aDate
[
2
]
+
"
-
"
+
aDate
[
0
]);
iDays
=
parseInt
(
Math
.
abs
(
oDate1
-
oDate2
)
/
1000
/
60
/
60
/
24
);
//把相差的毫秒数转换为天数
return
iDays
;
},
//开始结束 时间的处理 计算天数
formtime
(
val
)
{
if
(
val
==
null
)
{
this
.
spendreimbursementform
.
startTime
=
null
;
this
.
spendreimbursementform
.
endTime
=
null
;
}
else
{
this
.
spendreimbursementform
.
startTime
=
this
.
timestampToTime
(
val
[
0
]);
this
.
spendreimbursementform
.
endTime
=
this
.
timestampToTime
(
val
[
1
]);
let
time
=
this
.
DateDiff
(
this
.
spendreimbursementform
.
startTime
,
this
.
spendreimbursementform
.
endTime
);
this
.
spendreimbursementform
.
days
=
time
;
}
},
//时间处理
timestampToTime
(
value
)
{
var
date
=
value
;
var
Y
=
date
.
getFullYear
()
+
"
-
"
;
var
M
=
(
date
.
getMonth
()
+
1
<
10
?
"
0
"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
)
+
"
-
"
;
var
D
=
(
date
.
getDate
()
<
10
?
"
0
"
+
date
.
getDate
()
:
date
.
getDate
())
+
"
"
;
var
h
=
(
date
.
getHours
()
<
10
?
"
0
"
+
date
.
getHours
()
:
date
.
getHours
())
+
"
:
"
;
var
m
=
(
date
.
getMinutes
()
<
10
?
"
0
"
+
date
.
getMinutes
()
:
date
.
getMinutes
())
+
"
:
"
;
var
s
=
date
.
getSeconds
()
<
10
?
"
0
"
+
date
.
getSeconds
()
:
date
.
getSeconds
();
return
Y
+
M
+
D
+
h
+
m
+
s
;
},
//重置
resetForm
()
{
this
.
$refs
.
ruleform
.
resetFields
();
},
},
};
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/views/Spendreimbursement/spendreimbursementList copy.vue
deleted
100644 → 0
View file @
2423ec69
<
template
>
<div
class=
"container"
>
<!-- 添加按钮 -->
<div
class=
"total_top"
>
<el-button
type=
"success"
icon=
"el-icon-circle-plus"
@
click=
"insertreimebursementItem"
>
申请出差报销
</el-button
>
</div>
<!-- 表格内容区域 -->
<div
class=
"total_content"
>
<el-table
:data=
"tableData"
style=
"width: 100%"
border
>
<el-table-column
type=
"expand"
>
<template
slot-scope=
"props"
>
<el-form
label-position=
"left"
class=
"demo-table-expand"
>
<el-descriptions
title=
"报销详情"
:column=
"5"
border
style=
"width: 100%"
>
<el-descriptions-item
label=
"组长审批状态"
:span=
"2"
>
<el-tag
:type=
"
props.row.tripStatus == 0
? 'info'
: props.row.tripStatus == 2
? 'danger'
: 'success'
"
>
{{
props
.
row
.
tripStatus
==
0
?
"
待审批
"
:
props
.
row
.
tripStatus
==
2
?
"
驳回
"
:
"
通过
"
}}
</el-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"组长审批时间"
:span=
"3"
:formatter=
"timestampToTime"
>
{{
props
.
row
.
headmanTime
}}
</el-descriptions-item
>
<el-descriptions-item
label=
"组长驳回缘由"
:span=
"5"
>
{{
props
.
row
.
headmanRefute
||
"
无
"
}}
</el-descriptions-item>
<el-descriptions-item
label=
"财务审批状态"
:span=
"2"
>
<el-tag
:type=
"
props.row.tripStatus == 4
? 'danger'
: props.row.tripStatus == 3
? 'success'
: 'info'
"
>
{{
props
.
row
.
tripStatus
==
4
?
"
驳回
"
:
props
.
row
.
tripStatus
==
3
?
"
通过
"
:
"
待审批
"
}}
</el-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"财务审批时间"
:span=
"3"
:formatter=
"timestampToTime"
>
{{
props
.
row
.
financeTime
}}
</el-descriptions-item
>
<el-descriptions-item
label=
"财务驳回缘由"
:span=
"5"
>
{{
props
.
row
.
finaceRefute
||
"
无
"
}}
</el-descriptions-item>
<el-descriptions-item
label=
"查看详情"
:span=
"5"
>
<el-button
@
click=
"getdetails(props.row)"
type=
"primary"
style=
"margin: 5px"
size=
"mini"
>
查看详情
</el-button
>
</el-descriptions-item>
</el-descriptions>
</el-form>
</
template
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"50px"
>
<
template
slot-scope=
"scope"
>
{{
(
queryitem
.
pageNum
-
1
)
*
queryitem
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"项目列表"
prop=
"projectName"
>
</el-table-column>
<el-table-column
label=
"申报总金额"
prop=
"applyTotalAmountSmall"
>
</el-table-column>
<el-table-column
label=
"核报总金额"
>
<
template
slot-scope=
"props"
>
{{
props
.
row
.
verifyTotalAmountSmall
||
"
还未核实金额
"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"组长审批人"
>
<
template
slot-scope=
"props"
>
{{
props
.
row
.
financeName
||
"
暂无
"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"财务审批人"
>
<
template
slot-scope=
"props"
>
{{
props
.
row
.
financeName
||
"
暂无
"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"报销日期"
prop=
"applyTime"
:formatter=
"timestampToTime"
>
</el-table-column>
<el-table-column
label=
"状态"
>
<
template
slot-scope=
"props"
>
<el-tag
:type=
"
props.row.tripStatus == 0
? 'info'
: props.row.tripStatus == 1 || props.row.tripStatus == 3
? 'success'
: 'danger'
"
>
{{
props
.
row
.
tripStatus
==
0
?
"
待审批
"
:
props
.
row
.
tripStatus
==
1
?
"
小组长通过
"
:
props
.
row
.
tripStatus
==
2
?
"
小组长驳回
"
:
props
.
row
.
tripStatus
==
3
?
"
财务通过
"
:
props
.
row
.
tripStatus
==
4
?
"
财务驳回
"
:
"
不存在
"
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-button
style=
"margin: 5px"
size=
"mini"
icon=
"el-icon-edit"
type=
"info"
@
click=
"updatereimbursementList(scope.row)"
v-if=
"scope.row.tripStatus != 3 && scope.row.tripStatus != 1"
>
修改信息
</el-button
>
<el-button
style=
"margin: 5px"
size=
"mini"
icon=
"el-icon-edit-outline"
type=
"success"
@
click=
"updatebtn(scope.row)"
v-if=
"scope.row.tripStatus != 3 && scope.row.tripStatus != 1"
>
修改随行人员
</el-button
>
<el-button
style=
"margin: 5px"
size=
"mini"
type=
"danger"
@
click=
"Resubmit(scope.row)"
v-if=
"scope.row.tripStatus == 2 || scope.row.tripStatus == 4"
>
重新提交
</el-button
>
<el-button
style=
"margin: 5px"
size=
"mini"
type=
"info"
@
click=
"withdraw(scope.row)"
v-if=
"scope.row.tripStatus == 0"
>
撤回
</el-button
>
<el-link
type=
"success"
style=
"margin: 5px"
size=
"mini"
v-if=
"scope.row.tripStatus == 3"
>
已通过
</el-link
>
<el-link
type=
"info"
style=
"margin: 5px"
size=
"mini"
v-if=
"scope.row.tripStatus == 1"
>
待审批
</el-link
>
</
template
>
</el-table-column>
</el-table>
<!-- 查看详情 -->
<el-drawer
title=
"查看详情"
:visible.sync=
"drawer"
:direction=
"direction"
size=
"50%"
>
<el-form
:inline=
"true"
label-width=
"180px"
>
<el-row>
<el-col
:span=
"12"
>
<div>
<el-form-item
label=
"审批状态"
>
<el-tag
:type=
"
paramlist.tripStatus == 0
? 'info'
: paramlist.tripStatus == 1 || paramlist.tripStatus == 3
? 'success'
: 'danger'
"
>
{{
paramlist.tripStatus == 0
? "待审批"
: paramlist.tripStatus == 1
? "小组长通过"
: paramlist.tripStatus == 2
? "小组长驳回"
: paramlist.tripStatus == 3
? "财务通过"
: paramlist.tripStatus == 4
? "财务驳回"
: "不存在"
}}
</el-tag>
</el-form-item>
<el-form-item
label=
"附件数量"
>
<span>
{{ paramlist.enclosureNumber }}
</span>
</el-form-item>
<el-form-item
label=
"出差理由"
>
<span>
{{ paramlist.tripReason }}
</span>
</el-form-item>
<el-form-item
label=
"出发地点"
>
<span>
{{ paramlist.fromPlace }}
</span>
</el-form-item>
<el-form-item
label=
"目的地点"
>
<span>
{{ paramlist.purposePlace }}
</span>
</el-form-item>
<el-form-item
label=
"经过地点"
>
<span>
{{ paramlist.transitPlace }}
</span>
</el-form-item>
<el-form-item
label=
"交通工具"
>
<span>
{{ paramlist.vehicle }}
</span>
</el-form-item>
<el-form-item
label=
"伙食补贴"
>
<span>
{{ paramlist.foodAllowance }}
</span>
</el-form-item>
<el-form-item
label=
"公杂补贴"
>
<span>
{{ paramlist.publicMiscellaneousSubsidy }}
</span>
</el-form-item>
<el-form-item
label=
"随从人员"
>
<span
v-for=
"item in paramlist.entouragelist"
:key=
"item.tripId"
style=
"margin: 0px 5px"
>
{{ item.userName }}
</span
>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div>
<el-form-item
label=
"火车/汽车/轮船费"
>
<span>
{{ paramlist.tripCost }}
</span>
</el-form-item>
<el-form-item
label=
"机票费"
>
<span>
{{ paramlist.planeTicket }}
</span>
</el-form-item>
<el-form-item
label=
"汽油费"
>
<span>
{{ paramlist.trafficCost }}
</span>
</el-form-item>
<el-form-item
label=
"住宿费"
>
<span>
{{ paramlist.lodgingCost }}
</span>
</el-form-item>
<el-form-item
label=
"其他费用"
>
<span>
{{ paramlist.otherCost }}
</span>
</el-form-item>
<el-form-item
label=
"备注"
>
<span>
{{ paramlist.remarks }}
</span>
</el-form-item>
<el-form-item
label=
"无票据说明"
>
<span>
{{ paramlist.nobillExplain }}
</span>
</el-form-item>
<el-form-item
label=
"是否领取补贴"
>
<span>
{{ paramlist.receiveSubsidy == 0 ? "否" : "是" }}
</span>
</el-form-item>
<el-form-item
label=
"天数"
>
<span>
{{ paramlist.days }}
</span>
</el-form-item>
</div>
</el-col>
</el-row>
</el-form>
</el-drawer>
<!-- 对话框1 -->
<el-dialog
title=
"修改随从人员"
:visible.sync=
"dialogFormVisible"
>
<!-- 输入框的布局 -->
<el-row
:gutter=
"20"
>
<el-col
:span=
"16"
><div
class=
"grid-content bg-purple"
>
<el-input
placeholder=
"请输入..."
></el-input></div
></el-col>
<el-col
:span=
"8"
><div
class=
"grid-content bg-purple"
>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
查询
</el-button>
</div></el-col
>
</el-row>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"员工"
name=
"first"
>
<!-- v-model 绑定的是 数据少的那个数组 -->
<el-checkbox-group
v-model=
"peopleId"
>
<el-checkbox
v-for=
"item in collectProjectpeople"
:label=
"item.userId"
:key=
"item.userId"
>
{{ item.userName }}
</el-checkbox
>
</el-checkbox-group>
</el-tab-pane>
<el-tab-pane
label=
"财务人员"
name=
"second"
>
财务人员
</el-tab-pane>
<el-tab-pane
label=
"小组长"
name=
"third"
>
小组长
</el-tab-pane>
<button
@
click=
"btn"
>
测试
</button>
</el-tabs>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"dialogFormVisible = false"
>
确 定
</el-button
>
</div>
</el-dialog>
</div>
<!-- 分页区域 -->
<div
class=
"block"
>
<el-pagination
layout=
"->, total, prev, pager, next"
:total=
"10"
:page-size=
"queryitem.pageSize"
@
current-change=
"getpagelist"
>
</el-pagination>
</div>
</div>
</template>
<
script
>
import
{
queryBypage
}
from
"
@/api/spendreimbursement
"
;
import
{
selectAll
}
from
"
@/api/spendreimbursement
"
;
import
{
reimbursementListid
,
resubmit
}
from
"
@/api/spendreimbursement
"
;
// insertId
import
{
insertId
}
from
"
@/api/spendreimbursement.js
"
;
//selectProjectpeople
import
{
selectProjectpeople
}
from
"
@/api/spendreimbursement.js
"
;
export
default
{
created
()
{
this
.
Projectpeople
.
companyId
=
this
.
$store
.
getters
.
companyId
;
// 获取 userId
this
.
queryitem
.
userId
=
this
.
$store
.
getters
.
urId
;
this
.
reimebursementprojectpeopleItem
();
this
.
getpagelist
();
},
data
()
{
return
{
activeName
:
"
second
"
,
list1
:
[],
queryitem
:
{
pageNum
:
1
,
pageSize
:
10
,
userId
:
null
,
},
//抽屉
drawer
:
false
,
// 对话框
dialogFormVisible
:
false
,
// 接受的数据
tableData
:
[],
// 收集随从人员进行展示
collectProjectpeople
:
[],
// 随从成员
Projectpeople
:
{
companyId
:
null
,
},
// 随从人员
entouragelist
:
[],
paramlist
:
{},
peopleId
:
[],
// 收集所选择的随从人员
insertBatch
:
[
{
personnelId
:
null
,
tripId
:
null
,
},
],
list
:
[],
};
},
methods
:
{
handleClick
(
tab
,
event
)
{
console
.
log
(
event
);
},
// 这是测试的数据
btn
()
{
console
.
log
(
this
.
peopleId
);
console
.
log
(
this
.
list1
);
// this.insertBatch.splice(this.insertBatch.indexOf(0), 1);
// this.peopleId.forEach((item) => {
// let obj = {};
// obj.personnelId = item;
// obj.tripId = 3;
// this.insertBatch.push(obj);
// });
// insertId(this.insertBatch)
// .then((result) => {
// if (result.success) {
// console.log(result);
// } else {
// this.$message.error(result.msg);
// }
// })
// .catch((error) => {
// this.$message.error("失败");
// });
// this.insertBatch = [];
},
// 修改随从人员
updatereimbursementPeople
()
{
// 第二个方法
insertId
(
this
.
insertBatch
)
.
then
((
result
)
=>
{
if
(
result
.
success
)
{
this
.
$message
.
success
(
"
添加成功!
"
);
// 添加成功以后 把表单的数据清空
this
.
$refs
.
ruleform
.
resetFields
();
}
else
{
this
.
$message
.
error
(
result
.
msg
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
失败
"
);
});
},
// 查询de所有随从人员
reimebursementprojectpeopleItem
()
{
selectProjectpeople
(
this
.
Projectpeople
)
.
then
((
res
)
=>
{
if
(
res
.
code
==
20000
)
{
this
.
collectProjectpeople
=
res
.
data
;
}
else
{
this
.
$message
.
error
(
"
失败
"
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
查询失败
"
);
});
},
//添加的方法
insertreimebursementItem
()
{
this
.
$router
.
push
(
"
/spendreimbursementAdd
"
);
},
// 展示数据的方法
getpagelist
(
pager
=
1
)
{
this
.
queryitem
.
pageNum
=
pager
;
queryBypage
(
this
.
queryitem
)
.
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
tableData
=
res
.
data
.
list
;
res
.
data
.
list
.
forEach
((
item
)
=>
{
selectAll
({
tripId
:
item
.
tripId
})
.
then
((
resu
)
=>
{
if
(
resu
.
success
)
{
item
.
entouragelist
=
resu
.
data
;
this
.
list
=
resu
.
data
;
resu
.
data
.
forEach
((
element
)
=>
{
let
obj
=
{};
let
personnelId
=
""
;
personnelId
=
element
.
personnelId
;
obj
.
personnelId
=
element
.
personnelId
;
obj
.
tripId
=
element
.
tripId
;
this
.
peopleId
.
push
(
personnelId
);
this
.
list1
.
push
(
obj
);
});
}
else
{
this
.
$message
.
error
(
resu
.
msg
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
失败
"
);
});
});
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
查询失败
"
);
});
},
// 跳转修改页面
updatereimbursementList
(
data
)
{
this
.
$router
.
push
({
path
:
"
/spendreimbursementListUpdate
"
,
//query 找到我们需要的字段
query
:
{
tripid
:
data
.
tripId
,
},
});
},
// 弹窗展示
updatebtn
()
{
this
.
dialogFormVisible
=
true
;
},
// 查看详情
getdetails
(
data
)
{
this
.
drawer
=
true
;
this
.
paramlist
=
data
;
},
// 从新提交
Resubmit
(
data
)
{
resubmit
(
data
)
.
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$message
.
success
(
"
重新提交成功,等待审批
"
);
this
.
getpagelist
();
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
重新提交失败
"
);
});
},
// 撤回申请
withdraw
(
data
)
{
reimbursementListid
(
data
.
tripId
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
getpagelist
();
}
});
},
//时间处理
timestampToTime
(
row
,
column
,
cellValue
)
{
return
cellValue
.
split
(
"
"
)[
0
];
},
},
};
</
script
>
<
style
scoped
>
.total_content
{
padding
:
0px
15px
;
}
.demo-table-expand
{
font-size
:
0
;
padding
:
0px
100px
;
width
:
100%
;
}
.demo-table-expand
label
{
width
:
90px
;
color
:
#99a9bf
;
}
.demo-table-expand
.el-form-item
{
margin-right
:
150px
;
margin-bottom
:
0
;
width
:
80%
;
}
.total_top
{
margin
:
15px
20px
;
}
</
style
>
\ No newline at end of file
src/views/assets/assetsUpedata.vue
View file @
149f135a
...
@@ -79,6 +79,7 @@
...
@@ -79,6 +79,7 @@
import
{
insert
}
from
"
@/api/assets
"
;
import
{
insert
}
from
"
@/api/assets
"
;
import
{
secletAllStaff
}
from
"
@/api/user
"
;
import
{
secletAllStaff
}
from
"
@/api/user
"
;
import
user
from
"
../../store/modules/user
"
;
import
user
from
"
../../store/modules/user
"
;
import
{
money
}
from
"
@/utils/myValidate
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -109,7 +110,8 @@ export default {
...
@@ -109,7 +110,8 @@ export default {
{
required
:
true
,
message
:
"
请输入活动名称
"
,
trigger
:
"
change
"
}
{
required
:
true
,
message
:
"
请输入活动名称
"
,
trigger
:
"
change
"
}
],
],
fixedCode
:
[
fixedCode
:
[
{
required
:
true
,
message
:
"
请收入资产编号
"
,
trigger
:
"
change
"
}
{
required
:
true
,
message
:
"
请收入资产编号
"
,
trigger
:
"
change
"
},
{
validator
:
this
.
checkData
,
trigger
:
"
blur
"
}
],
],
fixedAddress
:
[
fixedAddress
:
[
{
{
...
@@ -121,8 +123,7 @@ export default {
...
@@ -121,8 +123,7 @@ export default {
fixedMoney
:
[
fixedMoney
:
[
{
required
:
true
,
message
:
"
请输入资产金额
"
,
trigger
:
"
change
"
},
{
required
:
true
,
message
:
"
请输入资产金额
"
,
trigger
:
"
change
"
},
{
{
pattern
:
/
(
^
([
-
]?)[
1-9
]([
0-9
]
+
)?(\.[
0-9
]{1,6})?
$
)
|
(
^
([
-
]?)(
0
){1}
$
)
|
(
^
([
-
]?)[
0-9
]\.[
0-9
]([
0-9
])?
$
)
/
,
validator
:
money
,
message
:
"
输入资产金额不合法
"
,
trigger
:
"
change
"
trigger
:
"
change
"
}
}
]
]
...
@@ -131,7 +132,7 @@ export default {
...
@@ -131,7 +132,7 @@ export default {
nowDate
:
null
,
//存放年月日变量时分秒变量
nowDate
:
null
,
//存放年月日变量时分秒变量
timer
:
""
,
//定义一个定时器的变量
timer
:
""
,
//定义一个定时器的变量
currentTime
:
new
Date
(),
// 获取当前时间
currentTime
:
new
Date
(),
// 获取当前时间
name
:
"
选择负责人
"
,
name
:
"
选择负责人
"
};
};
},
},
created
()
{
created
()
{
...
@@ -174,12 +175,12 @@ export default {
...
@@ -174,12 +175,12 @@ export default {
grtselect
()
{
grtselect
()
{
if
(
this
.
falesId
==
true
)
{
if
(
this
.
falesId
==
true
)
{
this
.
falesId
=
false
;
this
.
falesId
=
false
;
this
.
name
=
"
确定负责人
"
this
.
name
=
"
确定负责人
"
;
}
else
{
}
else
{
if
(
this
.
options
.
length
>
0
)
{
if
(
this
.
options
.
length
>
0
)
{
this
.
FixedAssetsAddDTO
.
fixedController
=
this
.
user
.
userId
;
this
.
FixedAssetsAddDTO
.
fixedController
=
this
.
user
.
userId
;
this
.
falesId
=
true
;
this
.
falesId
=
true
;
this
.
name
=
"
修改负责人
"
this
.
name
=
"
修改负责人
"
;
console
.
log
(
this
.
FixedAssetsAddDTO
.
fixedController
);
console
.
log
(
this
.
FixedAssetsAddDTO
.
fixedController
);
}
else
{
}
else
{
this
.
$message
.
error
(
"
没有负责人哦亲
"
);
this
.
$message
.
error
(
"
没有负责人哦亲
"
);
...
@@ -249,6 +250,7 @@ export default {
...
@@ -249,6 +250,7 @@ export default {
console
.
log
(
this
.
FixedAssetsAddDTO
);
console
.
log
(
this
.
FixedAssetsAddDTO
);
this
.
$refs
.
ruleForm
.
validate
(
valid
=>
{
this
.
$refs
.
ruleForm
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
if
(
this
.
FixedAssetsAddDTO
.
fixedController
!=
null
)
{
insert
(
this
.
FixedAssetsAddDTO
)
insert
(
this
.
FixedAssetsAddDTO
)
.
then
(
res
=>
{
.
then
(
res
=>
{
if
(
res
.
success
)
{
if
(
res
.
success
)
{
...
@@ -265,6 +267,13 @@ export default {
...
@@ -265,6 +267,13 @@ export default {
.
catch
(
error
=>
{
.
catch
(
error
=>
{
this
.
$message
.
error
(
error
.
msg
);
this
.
$message
.
error
(
error
.
msg
);
});
});
}
else
{
this
.
$message
({
showClose
:
true
,
message
:
"
还没有添加管理员哦!!
"
,
type
:
"
warning
"
});
}
}
}
});
});
},
},
...
@@ -285,6 +294,17 @@ export default {
...
@@ -285,6 +294,17 @@ export default {
registerRemarks
:
null
,
//登记备注
registerRemarks
:
null
,
//登记备注
registerTime
:
null
//登记时间
registerTime
:
null
//登记时间
};
};
},
//不能为中文的校验
checkData
(
rule
,
value
,
callback
)
{
if
(
value
)
{
if
(
/
[\u
4E00-
\u
9FA5
]
/g
.
test
(
value
))
{
callback
(
new
Error
(
"
资产编码由数字或字符组成!
"
));
}
else
{
callback
();
}
}
callback
();
}
}
},
},
beforeDestroy
()
{
beforeDestroy
()
{
...
...
src/views/companyFile/companyFileAdd.vue
View file @
149f135a
...
@@ -31,6 +31,7 @@
...
@@ -31,6 +31,7 @@
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"上传公司文件"
>
<el-form-item
label=
"上传公司文件"
>
<el-upload
<el-upload
class=
"upload-demo"
class=
"upload-demo"
drag
drag
...
@@ -46,6 +47,7 @@
...
@@ -46,6 +47,7 @@
</div>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
文件大小不超过500kb
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
文件大小不超过500kb
</div>
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
<br
/>
<br
/>
<div
class=
"items"
>
<div
class=
"items"
>
...
@@ -104,6 +106,7 @@ export default {
...
@@ -104,6 +106,7 @@ export default {
},
},
//返回
//返回
returnback
()
{
returnback
()
{
this
.
$store
.
dispatch
(
"
tagsView/delView
"
,
this
.
$route
);
this
.
$router
.
push
(
"
/selfFileList
"
);
this
.
$router
.
push
(
"
/selfFileList
"
);
},
},
},
},
...
...
src/views/companyFile/companyFileList copy.vue
deleted
100644 → 0
View file @
2423ec69
<
template
>
<!-- 公司文件列表(查询公司全部的文件信息) -->
<div
class=
"container"
>
<!-- 头部 -->
<div
class=
"header"
>
<el-form
:inline=
"true"
:model=
"companyFileQurey"
>
<el-form-item
label=
"文件名称"
>
<el-input
v-model=
"companyFileQurey.conmpanyFileName"
placeholder=
"文件名称"
></el-input>
</el-form-item>
<!--
<el-form-item
label=
"提交人姓名"
>
<el-input
v-model=
"companyFileQurey.userName"
placeholder=
"提交人姓名"
></el-input>
</el-form-item>
-->
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"querycompanyFile()"
>
查询
</el-button
>
<el-button
type=
"primary"
icon=
"el-icon-refresh-right"
@
click=
"reset()"
>
重置
</el-button
>
</el-form-item>
</el-form>
</div>
<!-- 中间 -->
<div
class=
"center"
>
<el-table
:data=
"companyFIleList"
style=
"width: 100%"
text-align:
center
border
>
<el-table-column
label=
"序号"
width=
"100px"
align=
"center"
>
<template
slot-scope=
"scope"
>
{{
(
companyFileQurey
.
pageNum
-
1
)
*
companyFileQurey
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"conmpanyFileName"
label=
"文件名称"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"fileRemarks"
label=
"文件备注"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"userName"
label=
"提交人"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"submitTime"
label=
"上传时间"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"prop"
label=
"操作"
width=
"130px"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"success"
size=
"mini"
@
click=
"download(scope.row)"
>
点击下载
</el-button
>
</
template
>
</el-table-column>
</el-table>
</div>
<!-- 尾部 -->
<div
class=
"footer"
>
<el-pagination
@
current-change=
"handleCurrentChange"
:current-page.sync=
"companyFileQurey.pageNum"
:page-size=
"companyFileQurey.pageSize"
layout=
"total, prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
</div>
</template>
<
script
>
import
{
queryBypage
}
from
"
@/api/companyFile
"
;
export
default
{
data
()
{
return
{
companyFileQurey
:
{
conmpanyFileName
:
null
,
pageNum
:
1
,
pageSize
:
10
,
companyId
:
null
,
},
companyFIleList
:
[],
//公司合同文件表格区域
total
:
0
,
};
},
created
()
{
this
.
companyFileQurey
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
getCompanyFileList
();
},
methods
:
{
//重置
reset
(){
this
.
companyFileQurey
=
{
pageNum
:
1
,
pageSize
:
10
,
companyId
:
null
,
userId
:
null
,
}
this
.
companyFileQurey
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
getCompanyFileList
();
},
//下载
download
(
row
)
{
console
.
log
(
row
);
var
a
=
document
.
createElement
(
"
a
"
);
//创建一个
<
a
><
/a>标
签
a
.
href
=
process
.
env
.
VUE_APP_BASE_API
+
row
.
companyFile
;
// 给a标签的href属性值加上地址,注意,这里是绝对路径,不用加 点.
a
.
target
=
"
_blank
"
;
a
.
style
.
display
=
"
none
"
;
// 障眼法藏起来a标签
document
.
body
.
appendChild
(
a
);
// 将a标签追加到文档对象中
a
.
click
();
// 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
a
.
remove
();
// 一次性的,用完就删除a标签
},
//查询
querycompanyFile
()
{
this
.
companyFileQurey
.
pageNum
=
1
;
this
.
getCompanyFileList
();
},
//分页查询(查询全公司的)
getCompanyFileList
()
{
queryBypage
(
this
.
companyFileQurey
)
.
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
companyFIleList
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
获取数据失败
"
);
});
},
//换页
handleCurrentChange
(
val
)
{
this
.
companyFileQurey
.
pageNum
=
val
;
this
.
getCompanyFileList
();
},
},
};
</
script
>
<
style
scoped
>
.container
{
padding
:
10px
;
}
.header
{
padding
:
10px
;
}
.center
{
margin-bottom
:
10px
;
}
.footer
{
text-align
:
right
;
}
</
style
>
\ No newline at end of file
src/views/expense/expenseList.vue
View file @
149f135a
...
@@ -91,6 +91,20 @@
...
@@ -91,6 +91,20 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"mone"
label=
"发票金额"
></el-table-column>
<el-table-column
prop=
"mone"
label=
"发票金额"
></el-table-column>
<el-table-column
prop=
"prop"
label=
"发票文件"
width=
"120px"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"formatProtocolType(scope.row)"
>
<el-image
style=
"width: 80px; height: 80px"
:src=
"getimagin(scope.row)"
:preview-src-list=
"srcList"
></el-image>
</div>
<div
v-else
>
<a
class=
"a-style"
@
click=
"handlePreView(scope.row)"
>
点击查看文件
</a>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"status"
label=
"发票状态"
width=
"90px"
>
<el-table-column
prop=
"status"
label=
"发票状态"
width=
"90px"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-tag
<el-tag
...
@@ -145,10 +159,18 @@
...
@@ -145,10 +159,18 @@
class=
"demo-ruleForm"
class=
"demo-ruleForm"
>
>
<el-form-item
label=
"发票代码"
prop=
"code"
>
<el-form-item
label=
"发票代码"
prop=
"code"
>
<el-input
v-model=
"addTO.code"
maxlength=
"12"
onkeyup=
"this.value=this.value.replace(/\D|^0/g,'')"
></el-input>
<el-input
v-model=
"addTO.code"
maxlength=
"12"
onkeyup=
"this.value=this.value.replace(/\D|^/g,'')"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"发票号码"
prop=
"number"
>
<el-form-item
label=
"发票号码"
prop=
"number"
>
<el-input
v-model=
"addTO.number"
maxlength=
"8"
onkeyup=
"this.value=this.value.replace(/\D|^0/g,'')"
></el-input>
<el-input
v-model=
"addTO.number"
maxlength=
"8"
onkeyup=
"this.value=this.value.replace(/\D|^/g,'')"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"发票时间"
required
prop=
"time"
>
<el-form-item
label=
"发票时间"
required
prop=
"time"
>
<el-date-picker
<el-date-picker
...
@@ -216,11 +238,8 @@
...
@@ -216,11 +238,8 @@
</template>
</template>
<
script
>
<
script
>
import
{
import
{
insertList
,
queryBypageIncomeAdd
,
deleteexpen
}
from
"
@/api/project
"
;
insertList
,
import
{
money
}
from
"
@/utils/myValidate
"
;
queryBypageIncomeAdd
,
deleteexpen
}
from
"
@/api/project
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -320,8 +339,7 @@ export default {
...
@@ -320,8 +339,7 @@ export default {
mone
:
[
mone
:
[
{
required
:
true
,
message
:
"
请输入发票金额
"
,
trigger
:
"
change
"
},
{
required
:
true
,
message
:
"
请输入发票金额
"
,
trigger
:
"
change
"
},
{
{
pattern
:
/
(
^
([
-
]?)[
1-9
]([
0-9
]
+
)?(\.[
0-9
]{1,6})?
$
)
|
(
^
([
-
]?)(
0
){1}
$
)
|
(
^
([
-
]?)[
0-9
]\.[
0-9
]([
0-9
])?
$
)
/
,
validator
:
money
,
message
:
"
输入发票金额不合法
"
,
trigger
:
"
change
"
trigger
:
"
change
"
}
}
]
]
...
@@ -359,7 +377,9 @@ export default {
...
@@ -359,7 +377,9 @@ export default {
total
:
10
,
total
:
10
,
//收集数据
//收集数据
newList
:
[],
newList
:
[],
visible
:
false
//确认删除
visible
:
false
,
//确认删除
//查看发票图片
srcList
:
[]
};
};
},
},
computed
:
{
computed
:
{
...
@@ -440,11 +460,21 @@ export default {
...
@@ -440,11 +460,21 @@ export default {
if
(
res
.
success
)
{
if
(
res
.
success
)
{
this
.
invoicegetList
=
res
.
data
;
this
.
invoicegetList
=
res
.
data
;
this
.
total
=
res
.
data
.
total
;
this
.
total
=
res
.
data
.
total
;
let
list
=
[];
// let list = [];
res
.
data
.
list
.
forEach
((
item
,
index
)
=>
{
// res.data.list.forEach((item, index) => {
list
.
push
({
// list.push({
status
:
item
.
status
// status: item.status
});
// });
// });
this
.
srcList
=
[];
res
.
data
.
list
.
forEach
(
e
=>
{
let
fileNamepdf
=
e
.
filePath
;
let
fileType
=
fileNamepdf
.
substring
(
fileNamepdf
.
lastIndexOf
(
"
.
"
)
);
if
(
fileType
!=
"
.pdf
"
)
{
this
.
srcList
.
push
(
process
.
env
.
VUE_APP_BASE_API
+
e
.
filePath
);
}
});
});
}
else
{
}
else
{
this
.
$message
.
errror
(
res
.
msg
);
this
.
$message
.
errror
(
res
.
msg
);
...
@@ -587,6 +617,30 @@ export default {
...
@@ -587,6 +617,30 @@ export default {
.
catch
(
e
=>
{
.
catch
(
e
=>
{
this
.
$message
.
error
(
e
.
msg
);
this
.
$message
.
error
(
e
.
msg
);
});
});
},
//图片格式
formatProtocolType
(
row
)
{
//这里判断的是是否有文件
if
(
row
.
filePath
==
null
)
{
return
false
;
}
else
{
let
fileNamepdf
=
row
.
filePath
;
let
fileType
=
fileNamepdf
.
substring
(
fileNamepdf
.
lastIndexOf
(
"
.
"
));
if
(
fileType
!=
"
.pdf
"
)
{
return
true
;
}
else
{
return
false
;
}
}
},
getimagin
(
row
)
{
return
process
.
env
.
VUE_APP_BASE_API
+
row
.
filePath
;
},
//点击查看发票
handlePreView
(
row
)
{
const
photopath
=
process
.
env
.
VUE_APP_BASE_API
+
row
.
filePath
;
console
.
log
(
photopath
);
window
.
open
(
photopath
,
"
_blank
"
);
}
}
}
}
};
};
...
...
src/views/pettyMoney/components/examinePetty.vue
View file @
149f135a
...
@@ -98,7 +98,7 @@
...
@@ -98,7 +98,7 @@
</span>
</span>
</el-dialog>
</el-dialog>
<el-drawer
:visible.sync=
"drawerVisible"
size=
"50%"
:with-header=
"false"
@
closed=
""
>
<el-drawer
:visible.sync=
"drawerVisible"
size=
"50%"
:with-header=
"false"
>
<div
class=
"drawerHeader"
>
<div
class=
"drawerHeader"
>
申请详情
申请详情
</div>
</div>
...
@@ -137,7 +137,7 @@
...
@@ -137,7 +137,7 @@
<div
class=
"drawerContainer"
>
<div
class=
"drawerContainer"
>
<div
class=
"repay-timeline"
>
<div
class=
"repay-timeline"
>
<el-timeline>
<el-timeline>
<el-timeline-item
v-for=
"
(
item
, index)
in repayDetailList"
:key=
"item.repaymentId"
<el-timeline-item
v-for=
"item in repayDetailList"
:key=
"item.repaymentId"
:type=
"approveResult[item.repaymentApproval].type"
:timestamp=
"item.repaymentTime"
>
:type=
"approveResult[item.repaymentApproval].type"
:timestamp=
"item.repaymentTime"
>
<el-tag
<el-tag
...
...
src/views/pettyMoney/pettyMoneyRecord.vue
View file @
149f135a
...
@@ -90,7 +90,7 @@
...
@@ -90,7 +90,7 @@
</span>
</span>
</el-dialog>
</el-dialog>
<el-drawer
:visible.sync=
"drawerVisible"
size=
"50%"
:with-header=
"false"
@
closed=
""
>
<el-drawer
:visible.sync=
"drawerVisible"
size=
"50%"
:with-header=
"false"
>
<div
class=
"drawerHeader"
>
<div
class=
"drawerHeader"
>
申请详情
申请详情
</div>
</div>
...
@@ -128,7 +128,7 @@
...
@@ -128,7 +128,7 @@
<div
class=
"drawerContainer "
>
<div
class=
"drawerContainer "
>
<div
class=
"repay-timeline"
>
<div
class=
"repay-timeline"
>
<el-timeline>
<el-timeline>
<el-timeline-item
v-for=
"
(
item
, index)
in repayDetailList"
:key=
"item.repaymentId"
<el-timeline-item
v-for=
"item in repayDetailList"
:key=
"item.repaymentId"
:type=
"approveResult[item.repaymentApproval].type"
:timestamp=
"item.repaymentTime"
>
:type=
"approveResult[item.repaymentApproval].type"
:timestamp=
"item.repaymentTime"
>
<el-tag
<el-tag
...
...
src/views/project/expend/expendList.vue
View file @
149f135a
...
@@ -76,7 +76,7 @@
...
@@ -76,7 +76,7 @@
<el-table-column
prop=
"expendTime"
label=
"支出时间"
/>
<el-table-column
prop=
"expendTime"
label=
"支出时间"
/>
<el-table-column
prop=
"expendInformation"
label=
"支出详情"
/>
<el-table-column
prop=
"expendInformation"
label=
"支出详情"
/>
<el-table-column
prop=
"expendRemarks"
label=
"支出备注"
/>
<el-table-column
prop=
"expendRemarks"
label=
"支出备注"
/>
<el-table-column
prop=
"prop"
label=
"发票
图片
"
>
<el-table-column
prop=
"prop"
label=
"发票
文件
"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"ReviseImage(scope.row)"
>
点击查看
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"ReviseImage(scope.row)"
>
点击查看
</el-button>
</
template
>
</
template
>
...
...
src/views/project/income/incomeList.vue
View file @
149f135a
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
<el-table-column
prop=
"incomeBody"
label=
"收入内容"
/>
<el-table-column
prop=
"incomeBody"
label=
"收入内容"
/>
<el-table-column
prop=
"incomeTime"
label=
"收入时间"
/>
<el-table-column
prop=
"incomeTime"
label=
"收入时间"
/>
<el-table-column
prop=
"prop"
label=
"发票
图片
"
>
<el-table-column
prop=
"prop"
label=
"发票
文件
"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"ReviseImage(scope.row)"
>
点击查看
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"ReviseImage(scope.row)"
>
点击查看
</el-button>
</
template
>
</
template
>
...
...
src/views/project/projectAdd.vue
View file @
149f135a
...
@@ -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,6 +97,7 @@
...
@@ -97,6 +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
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -132,7 +133,8 @@ export default {
...
@@ -132,7 +133,8 @@ export default {
{
required
:
true
,
message
:
"
请输入项目名称
"
,
trigger
:
"
blur
"
}
{
required
:
true
,
message
:
"
请输入项目名称
"
,
trigger
:
"
blur
"
}
],
],
projectNumber
:
[
projectNumber
:
[
{
required
:
true
,
message
:
"
请输入项目编号
"
,
trigger
:
"
blur
"
}
{
required
:
true
,
message
:
"
请输入项目编号
"
,
trigger
:
"
blur
"
},
{
validator
:
this
.
checkData
,
trigger
:
"
blur
"
}
],
],
projectAmount
:
[
projectAmount
:
[
{
{
...
@@ -141,8 +143,7 @@ export default {
...
@@ -141,8 +143,7 @@ export default {
trigger
:
"
blur
"
trigger
:
"
blur
"
},
},
{
{
pattern
:
/
(
^
([
-
]?)[
1-9
]([
0-9
]
+
)?(\.[
0-9
]{1,6})?
$
)
|
(
^
([
-
]?)(
0
){1}
$
)
|
(
^
([
-
]?)[
0-9
]\.[
0-9
]([
0-9
])?
$
)
/
,
validator
:
money
,
message
:
"
输入项目合同金额不合法
"
,
trigger
:
"
change
"
trigger
:
"
change
"
}
}
],
],
...
@@ -209,7 +210,7 @@ export default {
...
@@ -209,7 +210,7 @@ export default {
AddSelect
(
row
)
{
AddSelect
(
row
)
{
if
(
this
.
projectLeaderList
.
indexOf
(
row
.
userId
)
>
-
1
)
{
if
(
this
.
projectLeaderList
.
indexOf
(
row
.
userId
)
>
-
1
)
{
this
.
userIdAdd
.
push
(
row
.
userName
);
this
.
userIdAdd
.
push
(
row
.
userName
);
}
else
{
}
else
{
let
index
=
this
.
userIdAdd
.
indexOf
(
row
.
userName
);
let
index
=
this
.
userIdAdd
.
indexOf
(
row
.
userName
);
this
.
userIdAdd
.
splice
(
index
,
1
);
this
.
userIdAdd
.
splice
(
index
,
1
);
}
}
...
@@ -290,6 +291,17 @@ export default {
...
@@ -290,6 +291,17 @@ export default {
var
s
=
var
s
=
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
();
}
}
}
}
};
};
...
...
src/views/project/projectUpdata.vue
View file @
149f135a
...
@@ -72,14 +72,12 @@ export default {
...
@@ -72,14 +72,12 @@ export default {
projectExpend
:
0
,
projectExpend
:
0
,
projectExpense
:
0
,
projectExpense
:
0
,
projectStartTime
:
null
,
projectStartTime
:
null
,
project
e
EndTime
:
null
,
projectEndTime
:
null
,
projectFile
:
null
,
projectFile
:
null
,
userId
:
null
,
userId
:
null
,
companyId
:
null
,
companyId
:
null
,
projectPartyb
:
null
,
projectPartyb
:
null
,
projectInformation
:
null
,
projectInformation
:
null
,
timeSlot
:
null
,
timeSlot
:
null
,
},
},
rules
:
{
rules
:
{
...
@@ -122,8 +120,8 @@ export default {
...
@@ -122,8 +120,8 @@ export default {
getProject
(){
getProject
(){
selectByProjectId
({
projectId
:
this
.
projectId
}).
then
((
res
)
=>
{
selectByProjectId
({
projectId
:
this
.
projectId
}).
then
((
res
)
=>
{
if
(
res
.
success
){
if
(
res
.
success
){
res
.
data
.
timeSlot
=
[
res
.
data
.
projectStartTime
,
res
.
data
.
projectEndTime
]
this
.
projectFrom
=
res
.
data
this
.
projectFrom
=
res
.
data
this
.
projectFrom
.
timeSlot
=
this
.
Stime
(
res
.
data
)
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
msg
)
this
.
$message
.
error
(
res
.
msg
)
this
.
back
()
this
.
back
()
...
@@ -135,17 +133,16 @@ export default {
...
@@ -135,17 +133,16 @@ export default {
},
},
//时间处理
//时间处理
time
(
val
)
{
time
(
val
)
{
console
.
log
(
"
123123
"
)
if
(
val
==
null
)
{
if
(
val
==
null
)
{
this
.
projectFrom
.
projectStartTime
=
null
;
this
.
projectFrom
.
projectStartTime
=
null
;
this
.
projectFrom
.
project
e
EndTime
=
null
;
this
.
projectFrom
.
projectEndTime
=
null
;
}
else
{
}
else
{
this
.
projectFrom
.
projectStartTime
=
val
[
0
];
this
.
projectFrom
.
projectStartTime
=
this
.
timestampToTime
(
val
[
0
]
)
;
this
.
projectFrom
.
project
e
EndTime
=
val
[
1
];
this
.
projectFrom
.
projectEndTime
=
this
.
timestampToTime
(
val
[
1
]
)
;
}
}
},
},
Stime
(
value
){
return
[
value
.
projectStartTime
,
value
.
projectEndTime
]
},
//重置数据
//重置数据
resetForm
(){
resetForm
(){
this
.
$refs
.
form
.
resetFields
()
this
.
$refs
.
form
.
resetFields
()
...
@@ -174,7 +171,24 @@ export default {
...
@@ -174,7 +171,24 @@ export default {
this
.
$store
.
dispatch
(
'
tagsView/delView
'
,
this
.
$route
)
this
.
$store
.
dispatch
(
'
tagsView/delView
'
,
this
.
$route
)
this
.
$router
.
push
(
"
/projectList
"
)
this
.
$router
.
push
(
"
/projectList
"
)
},
},
//时间处理
timestampToTime
(
date
)
{
var
Y
=
date
.
getFullYear
()
+
"
-
"
;
var
M
=
(
date
.
getMonth
()
+
1
<
10
?
"
0
"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
)
+
"
-
"
;
var
D
=
(
date
.
getDate
()
<
10
?
"
0
"
+
date
.
getDate
()
:
date
.
getDate
())
+
"
"
;
var
h
=
(
date
.
getHours
()
<
10
?
"
0
"
+
date
.
getHours
()
:
date
.
getHours
())
+
"
:
"
;
var
m
=
(
date
.
getMinutes
()
<
10
?
"
0
"
+
date
.
getMinutes
()
:
date
.
getMinutes
())
+
"
:
"
;
var
s
=
date
.
getSeconds
()
<
10
?
"
0
"
+
date
.
getSeconds
()
:
date
.
getSeconds
();
return
Y
+
M
+
D
+
h
+
m
+
s
;
}
},
},
};
};
</
script
>
</
script
>
...
...
src/views/reimbursement/finance/financeList.vue
View file @
149f135a
...
@@ -3,12 +3,12 @@
...
@@ -3,12 +3,12 @@
<div>
<div>
<el-form
:inline=
"true"
:model=
"reimbursementQurey"
>
<el-form
:inline=
"true"
:model=
"reimbursementQurey"
>
<el-form-item>
<el-form-item>
<
!--
<el-button
<
el-form-item
label=
"报销人"
>
type=
"success"
<el-input
v-model=
"reimbursementQurey.userName"
placeholder=
"根据报销人姓名搜索"
></el-input>
icon=
"el-icon-circle-plus-outline"
</el-form-item>
@
click=
"addreimbursement()"
<el-form-item
label=
"项目名称"
>
>
申请报销
</el-button
<el-input
v-model=
"reimbursementQurey.userName"
placeholder
></el-input>
>
--
>
</el-form-item
>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
...
...
src/views/reimbursement/reimbursementList copy.vue
deleted
100644 → 0
View file @
2423ec69
<
template
>
<div
class=
"container"
>
<div>
<el-form
:inline=
"true"
:model=
"reimbursementQurey"
>
<el-form-item>
<el-button
type=
"success"
icon=
"el-icon-circle-plus-outline"
@
click=
"addreimbursement()"
>
申请报销
</el-button
>
</el-form-item>
</el-form>
</div>
<div
class=
"conter"
>
<el-table
:data=
"reimbursementList"
style=
"width: 100%; text-align: center"
border
>
<el-table-column
type=
"expand"
>
<template
slot-scope=
"props"
>
<div
style=
"padding: 10px"
>
<el-descriptions
title=
"报销详情"
:column=
"5"
border
>
<el-descriptions-item
label=
"支付方式"
:span=
"5"
>
{{
props
.
row
.
paymentMethod
}}
</el-descriptions-item>
<el-descriptions-item
label=
"组长审批状态"
:span=
"2"
>
<el-tag
:type=
"
props.row.reimbursementState == 0
? 'info'
: props.row.reimbursementState == 2
? 'danger'
: 'success'
"
>
{{
props
.
row
.
reimbursementState
==
0
?
"
待审批
"
:
props
.
row
.
reimbursementState
==
2
?
"
驳回
"
:
"
通过
"
}}
</el-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"组长审批时间"
:span=
"3"
>
{{
props
.
row
.
headmanTime
}}
</el-descriptions-item>
<el-descriptions-item
label=
"组长驳回缘由"
:span=
"5"
>
{{
props
.
row
.
headmanRefute
||
"
无
"
}}
</el-descriptions-item>
<el-descriptions-item
label=
"财务审批状态"
:span=
"2"
>
<el-tag
:type=
"
props.row.reimbursementState == 4
? 'danger'
: props.row.reimbursementState == 3
? 'success'
: 'info'
"
>
{{
props
.
row
.
reimbursementState
==
4
?
"
驳回
"
:
props
.
row
.
reimbursementState
==
3
?
"
通过
"
:
"
待审批
"
}}
</el-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"财务审批时间"
:span=
"3"
>
{{
props
.
row
.
financeTime
}}
</el-descriptions-item>
<el-descriptions-item
label=
"财务驳回缘由"
:span=
"5"
>
{{
props
.
row
.
finaceRefute
||
"
无
"
}}
</el-descriptions-item>
<el-descriptions-item
label=
"查看详情"
:span=
"5"
>
<el-button
@
click=
"getdetails(props.row)"
type=
"primary"
style=
"margin: 5px"
size=
"mini"
>
查看详情
</el-button
>
</el-descriptions-item>
</el-descriptions>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"50px"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
(
reimbursementQurey
.
pageNum
-
1
)
*
reimbursementQurey
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"projectName"
label=
"项目"
align=
"center"
/>
<el-table-column
prop=
"applyTotalAmountSmall"
label=
"申报总金额(元)"
align=
"center"
/>
<el-table-column
label=
"核报总金额(元)"
align=
"center"
>
<
template
slot-scope=
"props"
>
{{
props
.
row
.
verifyTotalAmountSmall
||
"
还未核实金额
"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"组长审批人"
align=
"center"
>
<
template
slot-scope=
"props"
>
{{
props
.
row
.
financeName
||
"
暂无
"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"财务审批人"
align=
"center"
>
<
template
slot-scope=
"props"
>
{{
props
.
row
.
financeName
||
"
暂无
"
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"fillingTime"
label=
"报销日期"
align=
"center"
:formatter=
"timestampToTime"
></el-table-column>
<el-table-column
prop=
"prop"
label=
"发票图片"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
style=
"margin: 5px"
type=
"primary"
size=
"mini"
@
click=
"ReviseImage(scope.row)"
>
点击查看
</el-button
>
<el-button
style=
"margin: 5px"
size=
"mini"
icon=
"el-icon-edit"
type=
"info"
@
click=
"getinvoive(scope.row)"
v-if=
"
scope.row.reimbursementState != 3 &&
scope.row.reimbursementState != 1 &&
scope.row.reimbursementState != 2 &&
scope.row.reimbursementState != 4
"
>
修改发票
</el-button
>
</
template
>
</el-table-column>
<el-table-column
prop=
"prop"
label=
"附件下载"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"success"
size=
"mini"
@
click=
"selectImage(scope.row)"
>
点击下载
</el-button>
</
template
>
</el-table-column>
<el-table-column
prop=
"reimbursementState"
label=
"状态"
align=
"center"
>
<
template
slot-scope=
"props"
>
<el-tag
:type=
"
props.row.reimbursementState == 0 ||props.row.reimbursementState == 1
? 'info'
:
props.row.reimbursementState == 3
? 'success'
: 'danger'
"
>
{{
props
.
row
.
reimbursementState
==
0
?
"
待小组长通过
"
:
props
.
row
.
reimbursementState
==
1
?
"
待财务长通过
"
:
props
.
row
.
reimbursementState
==
2
?
"
小组长驳回
"
:
props
.
row
.
reimbursementState
==
3
?
"
财务长通过
"
:
"
财务长驳回
"
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
style=
"margin: 5px"
size=
"mini"
icon=
"el-icon-edit"
type=
"info"
@
click=
"updataReimbursement(scope.row)"
v-if=
"
scope.row.reimbursementState != 3 &&
scope.row.reimbursementState != 1&&
scope.row.reimbursementState != 2 &&
scope.row.reimbursementState != 4
"
>
修改信息
</el-button
>
<el-button
style=
"margin: 5px"
size=
"mini"
type=
"danger"
@
click=
"Resubmit(scope.row)"
v-if=
"
scope.row.reimbursementState == 2 ||
scope.row.reimbursementState == 4
"
>
重新提交
</el-button
>
<el-button
style=
"margin: 5px"
size=
"mini"
type=
"info"
@
click=
"withdraw(scope.row)"
v-if=
"scope.row.reimbursementState == 0"
>
撤回
</el-button
>
<div
v-if=
"scope.row.reimbursementState == 3"
style=
"width:100%;text-align: center ; color:#67C23A;"
>
已通过
</div>
<div
v-if=
"scope.row.reimbursementState == 1"
style=
"width:100%;text-align: center ; color:darkgray;"
>
待审批
</div>
</
template
>
</el-table-column>
</el-table>
<!-- 查看详情 -->
<el-drawer
title=
"查看详情"
:visible.sync=
"drawer"
:direction=
"direction"
size=
"35%"
>
<div
class=
"cd"
>
<el-row
justify=
"center"
align=
"middle"
>
<el-col
v-for=
"(item, index) in reimbursementDetails.list"
:key=
"index"
:span=
"20"
>
<el-descriptions
:title=
"item.name"
border
:column=
"1"
style=
"margin: 10px 0"
>
<el-descriptions-item
label=
"金额"
:contentStyle=
"contentStyle"
:labelStyle=
"labelStyle"
>
{{ item.money }}元
</el-descriptions-item
>
<el-descriptions-item
label=
"备注"
:contentStyle=
"contentStyle"
:labelStyle=
"labelStyle"
>
{{ item.explain }}
</el-descriptions-item
>
<el-descriptions-item
label=
"说明"
:contentStyle=
"contentStyle"
:labelStyle=
"labelStyle"
>
{{ item.remarks }}
</el-descriptions-item
>
</el-descriptions>
</el-col>
</el-row>
</div>
</el-drawer>
<!-- 发票详情 -->
<el-drawer
title=
"发票详情"
:visible.sync=
"invoiceShow"
:direction=
"direction"
size=
"30%"
>
<!-- filePath-->
<el-table
:data=
"getinvoivelist"
style=
"width: 100%; text-align: center"
border
>
<el-table-column
type=
"index"
label=
"序号"
width=
"80"
></el-table-column>
<el-table-column
prop=
"prop"
label=
"发票详情"
>
<
template
slot-scope=
"scope"
>
<el-image
style=
"width: 100px; height: 100px"
:src=
"scope.row.filePath"
:preview-src-list=
"[scope.row.filePath]"
></el-image>
</
template
>
</el-table-column>
</el-table>
</el-drawer>
<!-- 修改发票信息 -->
<el-drawer
title=
"修改发票"
:visible.sync=
"drawer1"
>
<div>
<el-form
:inline=
"true"
:model=
"invoiceQurey"
>
<el-form-item>
<el-button
type=
"success"
icon=
"el-icon-circle-plus-outline"
style=
"margin:0 15px"
@
click=
"addinvoice()"
>
添加发票号码
</el-button
>
</el-form-item>
</el-form>
</div>
<div>
<el-table
:data=
"invoicelist"
style=
"width: 100%; text-align: center"
border
>
<el-table-column
type=
"index"
label=
"序号"
width=
"40"
></el-table-column>
<el-table-column
prop=
"number"
label=
"发票号码"
width=
"180"
/>
<el-table-column
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-button
style=
"margin: 5px"
size=
"mini"
type=
"info"
@
click=
"delinvoice(scope.row)"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
</div>
</el-drawer>
<!-- 添加发票对话框 -->
<el-dialog
title=
"添加发票"
:visible.sync=
"dialogVisible"
width=
"30%"
>
<
template
>
<el-form
ref=
"form"
:model=
"invoiceQurey"
:inline=
"true"
label-width=
"150px"
>
<el-form-item
prop=
"fromList"
>
<el-select
style=
"width:500px"
v-model=
"invoiceQurey.fromList"
multiple
filterable
allow-create
default-first-option
placeholder=
"请选择发票号码"
>
<el-option
v-for=
"item in getinvoivelist"
:key=
"item.invoiceId"
:label=
"item.number"
:value=
"item.invoiceId"
></el-option>
</el-select>
</el-form-item>
</el-form>
</
template
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submit()"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
<div
class=
"footer"
>
<el-pagination
@
current-change=
"handleCurrentChange"
:current-page.sync=
"reimbursementQurey.pageNum"
:page-size=
"reimbursementQurey.pageSize"
layout=
"total, prev, pager, next"
:total=
"total"
></el-pagination>
</div>
<!-- 附件的下载与添加 -->
<div>
<el-drawer
title=
"附件操作"
:visible.sync=
"drawer2"
:direction=
"direction"
size=
"50%"
>
<el-button
type=
"primary"
style=
" margin-left:5%;margin:30px 50px "
@
click=
"updatecard"
:disabled=
"isDisabled"
>
添加附件
</el-button>
<el-card
class=
"box-card"
style=
"width:90%; margin-left:5%; margin-top:20px"
v-show=
"getshow==1"
>
<el-row
class=
"row-bg"
>
<div
v-for=
"index in queryDTOList"
:key=
"index.enclosureId"
class=
"lsitall"
>
<el-col
:span=
"10"
>
<div
style=
" margin-top: 6px;margin-left:40px"
>
附件{{index.enclosureId}}
</div>
</el-col>
<el-col
:span=
"12"
style=
"margin-left:-50px"
>
<el-button
type=
"primary"
icon=
"el-icon-folder-checked"
class=
"a-style"
size=
"mini"
style=
" font-size: 13px"
@
click=
"delProject(index)"
>
下载
</el-button>
<el-popover
placement=
"top"
width=
"160"
v-model=
"index.visible"
>
<p>
确定要删除此条附件吗
</p>
<div
style=
"text-align: right; margin: 0"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"index.visible= false"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteProject(index)"
>
确定
</el-button>
</div>
<el-button
type=
"danger"
icon=
"el-icon-delete"
class=
"a-style"
size=
"mini "
style=
"font-size: 13px"
slot=
"reference"
:disabled=
"isDisabled"
>
删除
</el-button>
</el-popover>
</el-col>
</div>
</el-row>
</el-card>
<!-- 附件上传 -->
<el-card
class=
"box-card"
style=
"width:90%; margin-left:5%; margin-top:20px"
v-show=
"getshow==0"
>
<div
style=
"width:60%;margin-left:30px"
>
<el-input
type=
"textarea"
:rows=
"2"
placeholder=
"请输入附件详情"
v-model=
"proutlist1.enclosureDescribe"
style=
"margin:20px 0px;"
></el-input>
<el-upload
class=
"upload-demo"
ref=
"upload1"
drag
:action=
"action1"
:file-list=
"fileList1"
:on-remove=
"delfile1"
:auto-upload=
"false"
:on-change=
"onChangepdf"
:on-success=
"Refresh"
:data=
"proutlist1"
multiple
style=
"margin:20px 0px;"
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传附件
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
只能上传文件,且不超过500kb
</div>
</el-upload>
</div>
<div
style=
"margin-left:75%;"
>
<el-button
@
click=
"remove()"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"determine()"
style=
"margin-top:20px;"
>
确 定
</el-button>
</div>
</el-card>
<div
class=
"box-card"
v-show=
"getshow==3"
></div>
</el-drawer>
</div>
</div>
</template>
<
script
>
import
{
queryBypage
,
resubmit
,
reimbursementId
}
from
"
@/api/reimbursement
"
;
import
{
selectByReimbursementId
}
from
"
@/api/reimbursementDetails
"
;
import
{
selectAllById
,
deletBystatus
,
selectAllBystatus
,
updatesubmit
,
selectByIdF
,
deleteById
}
from
"
@/api/project
"
;
export
default
{
data
()
{
return
{
isDisabled
:
null
,
//判断是否显示附件的删除按钮
//修改发票表格
invoicelist
:
[],
invoiceQurey
:
{
companyId
:
null
,
reimbursementId
:
null
,
},
getinvoivelist
:
[],
//可以选择的发票号
dialogVisible
:
false
,
//内容样式
contentStyle
:
{
"
text-align
"
:
"
center
"
,
},
//label样式
labelStyle
:
{
width
:
"
80px
"
},
reimbursementQurey
:
{
userId
:
null
,
pageNum
:
1
,
pageSize
:
10
,
},
total
:
0
,
reimbursementList
:
[],
//抽屉
drawer
:
false
,
drawer1
:
false
,
invoiceShow
:
false
,
direction
:
"
rtl
"
,
reimbursementDetails
:
{
list
:
[],
},
//查询图片给的值
getinvoiveId
:
{
companyId
:
null
,
reimbursementId
:
0
,
},
//附件///-------
drawer
:
false
,
direction
:
"
rtl
"
,
fileList1
:
[],
//合同文件
disabled
:
false
,
//隐藏
getshow
:
1
,
//判断show的显示与隐藏,
//查询附件
queryDTO
:
{
companyId
:
null
,
reimbursementId
:
null
},
queryDTOList
:
[],
//收集附件的数据
//附件抽屉
drawer2
:
false
,
//发票对话框
dialogFormVisible
:
false
,
invoiceListAdd
:
[],
//查询发票的集合
getFormslist
:
{
userId
:
null
,
companyId
:
null
,
type
:
0
},
//查询的能选择的表单信息
getListincom
:
[],
//收集选择的数组
incomeIdgrt
:
null
,
//收集incomeId数据
getshow
:
1
,
//判断show的显示与隐藏,
//合同文件上传携带参数
proutlist1
:
{
Id
:
null
,
enclosureDescribe
:
""
,
status
:
2
,
//0收入 1支出
companyId
:
null
,
userId
:
null
},
fileTypepdf
:
false
,
//判断合同文件是否存在
fileList1
:
[],
//附件文件
disabled
:
false
,
//隐藏
};
},
created
()
{
this
.
getinvoiveId
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
reimbursementQurey
.
userId
=
this
.
$store
.
getters
.
urId
;
this
.
invoiceQurey
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
queryDTO
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
action1
=
process
.
env
.
VUE_APP_BASE_API
+
"
/file/updataEnclosures
"
;
//保存附件与下载的接口
this
.
getReimbursement
();
},
methods
:
{
//添加
submit
(){
this
.
dialogVisible
=
false
;
let
list
=
[];
this
.
invoiceQurey
.
fromList
.
forEach
((
item
)
=>
{
list
.
push
({
invoiceId
:
item
,
reimbursementId
:
this
.
invoiceQurey
.
reimbursementId
,
status
:
1
});
});
updatesubmit
(
list
).
then
((
res
)
=>
{
if
(
res
.
success
){
this
.
getinvoive
({
reimbursementId
:
this
.
invoiceQurey
.
reimbursementId
});
this
.
$message
.
success
(
res
.
msg
);
}
else
{
this
.
$message
.
error
(
"
发票上传失败!
"
);
}
})
},
//查询发票编号
Selectinvoielsit
()
{
let
param
=
{
companyId
:
this
.
$store
.
getters
.
companyId
,
status
:
0
,
type
:
2
,
userId
:
this
.
$store
.
getters
.
info
.
userId
,
};
selectAllBystatus
(
param
)
.
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
getinvoivelist
=
res
.
data
;
}
else
{
this
.
$message
.
error
(
res
.
msg
);
this
.
back
();
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
获取发票编号失败
"
);
this
.
back
();
});
},
//添加发票号码
addinvoice
(){
this
.
dialogVisible
=
true
;
this
.
Selectinvoielsit
()
},
//获取发票号列表详情
getinvoive
(
data
)
{
this
.
drawer1
=
true
;
this
.
invoiceQurey
.
reimbursementId
=
data
.
reimbursementId
;
selectAllById
(
this
.
invoiceQurey
).
then
((
res
)
=>
{
console
.
log
(
res
)
if
(
res
.
success
)
{
this
.
invoicelist
=
res
.
data
;
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
});
},
//删除关系
delinvoice
(
data
){
deletBystatus
(
data
).
then
((
res
)
=>
{
if
(
res
.
success
){
this
.
getinvoive
(
data
);
}
})
},
//查看详情
getdetails
(
data
)
{
this
.
drawer
=
true
;
let
param
=
{
reimbursementId
:
data
.
reimbursementId
,
};
//接口是一个以对象的形式传值 所以定义了一个对象去拿这个参数
selectByReimbursementId
(
param
)
.
then
((
res
)
=>
{
if
(
res
.
success
)
{
//获取数据
console
.
log
(
res
);
this
.
reimbursementDetails
.
list
=
res
.
data
;
//接口返回res里面
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
查询失败
"
);
});
},
//申请报销
addreimbursement
()
{
this
.
$router
.
push
({
path
:
"
/reimbursementAdd
"
});
},
//获取申请报销列表
getReimbursement
()
{
queryBypage
(
this
.
reimbursementQurey
)
.
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
reimbursementList
=
res
.
data
.
list
;
this
.
total
=
res
.
data
.
total
;
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
回去数据失败
"
);
});
},
//修改信息
updataReimbursement
(
data
)
{
//data是列表中所有的数据
console
.
log
(
data
);
this
.
$router
.
push
({
path
:
"
/reimbursementUpdata
"
,
//query 找到我们需要的字段
query
:
{
reimbursementId
:
data
.
reimbursementId
,
//传那一行数据的id
projectId
:
data
.
projectId
,
//项目id 下拉框根据项目id选择
typeId
:
data
.
typeId
,
//报销类别id
money
:
data
.
money
,
//备注
applyTotalAmountLarge
:
data
.
applyTotalAmountLarge
,
//大写金额
applyTotalAmountSmall
:
data
.
applyTotalAmountSmall
,
//小写金额
summary
:
data
.
summary
,
//摘要
paymentMethod
:
data
.
paymentMethod
,
//支付方式
},
});
},
//换页
handleCurrentChange
(
val
)
{
this
.
reimbursementQurey
.
pageNum
=
val
;
this
.
getReimbursement
();
},
//时间处理
timestampToTime
(
row
,
column
,
cellValue
)
{
return
cellValue
.
split
(
"
"
)[
0
];
},
//重新提交
Resubmit
(
data
)
{
//重新提交就要让之前的数据回复。
//两个审批人的id、状态、审批时间、驳回缘由、核实金额
//删除记录在重新填,或者删除字段记录
data
.
reimbursementState
=
0
;
//状态
data
.
verifyTotalAmountLarge
=
null
;
//核实金额
data
.
verifyTotalAmountSmall
=
null
;
//核实金额
data
.
headmanRefute
=
null
;
//驳回缘由
data
.
finaceRefute
=
null
;
//驳回缘由
data
.
financeTime
=
null
;
//审批时间
data
.
headmanTime
=
null
;
//审批时间
data
.
financeId
=
null
;
//审批人的id
data
.
headmanId
=
null
;
//审批人的id
resubmit
(
data
)
.
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
$message
.
success
(
"
重新提交成功,等待审批
"
);
this
.
getReimbursement
();
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
重新提交失败
"
);
});
},
//撤回
withdraw
(
data
)
{
// console.log(data.reimbursementId)
reimbursementId
(
data
.
reimbursementId
).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
getReimbursement
();
}
});
},
//查看图片的方法
ReviseImage
(
row
)
{
this
.
invoiceShow
=
true
;
this
.
getinvoiveId
.
reimbursementId
=
row
.
reimbursementId
;
this
.
Selectinsertlsit
();
},
//查询发票图片
Selectinsertlsit
()
{
console
.
log
(
this
.
getinvoivelist
)
selectAllById
(
this
.
getinvoiveId
)
.
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
getinvoivelist
=
res
.
data
;
this
.
getinvoivelist
.
forEach
((
e
)
=>
{
e
.
filePath
=
process
.
env
.
VUE_APP_BASE_API
+
e
.
filePath
;
});
}
else
{
this
.
$message
.
error
(
res
.
msg
);
this
.
back
();
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
获取发票图片失败
"
);
this
.
back
();
});
},
///----附件区域
//查看项目附件.....
selectImage
(
row
)
{
console
.
log
(
row
);
if
(
row
.
reimbursementState
==
1
||
row
.
reimbursementState
==
3
||
row
.
reimbursementState
==
2
||
row
.
reimbursementState
==
4
){
this
.
isDisabled
=
true
}
else
{
this
.
isDisabled
=
false
}
this
.
queryDTO
.
reimbursementId
=
row
.
reimbursementId
;
this
.
proutlist1
.
Id
=
row
.
reimbursementId
;
selectByIdF
(
this
.
queryDTO
)
.
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
queryDTOList
=
res
.
data
;
if
(
this
.
queryDTOList
.
length
>
0
)
{
this
.
drawer2
=
true
;
this
.
getshow
=
1
;
this
.
disabled
=
false
;
}
else
{
this
.
drawer2
=
true
;
this
.
disabled
=
false
;
this
.
getshow
=
3
;
}
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
.
catch
(
error
=>
{
this
.
$message
.
error
(
"
获取附件文件失败
"
);
});
},
//下载附件
delProject
(
row
)
{
console
.
log
(
row
)
var
a
=
document
.
createElement
(
"
a
"
);
//创建一个
<
a
><
/a>标
签
a
.
href
=
process
.
env
.
VUE_APP_BASE_API
+
row
.
enclosureFile
;
// 给a标签的href属性值加上地址,注意,这里是绝对路径,不用加 点.
//a.download = row.enclosureFile; //设置下载文件文件名,这里加上.xlsx指定文件类型,pdf文件就指定.fpd即可
a
.
target
=
'
_blank
'
a
.
style
.
display
=
"
none
"
;
// 障眼法藏起来a标签
document
.
body
.
appendChild
(
a
);
// 将a标签追加到文档对象中
a
.
click
();
// 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
a
.
remove
();
// 一次性的,用完就删除a标签
},
//显示添加附件
updatecard
()
{
this
.
getshow
=
0
;
this
.
disabled
=
true
;
this
.
delfile1
();
},
//删除附件
deleteProject
(
row
)
{
this
.
submissionFlag
=
true
;
deleteById
(
row
)
.
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
selectImage
(
row
);
this
.
$message
({
message
:
"
删除成功
"
,
type
:
"
success
"
});
this
.
visible
=
false
;
console
.
log
(
res
.
msg
);
}
})
.
catch
(
errror
=>
{
this
.
$message
.
error
(
res
.
msg
);
});
},
//清除附件文件
delfile1
(
file
)
{
this
.
fileList1
=
this
.
fileList1
.
filter
(
item
=>
item
.
uid
!==
file
.
uid
);
this
.
fileTypepdf
=
false
;
},
//确定提交附件
determine
()
{
//判断是否有附件文件
if
(
this
.
fileTypepdf
)
{
this
.
proutlist1
.
userId
=
this
.
$store
.
getters
.
urId
;
this
.
proutlist1
.
companyId
=
this
.
$store
.
getters
.
companyId
;
this
.
$refs
.
upload1
.
submit
();
this
.
getshow
=
1
;
//隐藏与显示
this
.
disabled
=
false
;
this
.
$message
({
showClose
:
true
,
message
:
"
上传附件成功
"
,
type
:
"
success
"
});
this
.
Refresh
();
}
else
{
this
.
$message
.
error
(
"
请添加附件,在进行提交
"
);
}
},
//刷新附件
Refresh
()
{
console
.
log
(
this
.
proutlist1
.
Id
);
this
.
queryDTO
.
reimbursementId
=
this
.
proutlist1
.
Id
;
console
.
log
(
this
.
proutlist1
.
Id
);
selectByIdF
(
this
.
queryDTO
)
.
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
queryDTOList
=
res
.
data
;
this
.
proutlist1
.
enclosureDescribe
=
""
//初始化数据
}
else
{
this
.
$message
.
error
(
res
.
msg
);
}
})
.
catch
(
error
=>
{
this
.
$message
.
error
(
"
获取附件文件失败
"
);
});
},
//附件取消
remove
()
{
if
(
this
.
queryDTOList
.
length
>
0
)
{
this
.
getshow
=
1
;
this
.
disabled
=
false
;
this
.
delfile1
();
}
else
{
this
.
getshow
=
3
;
this
.
disabled
=
false
;
this
.
delfile1
();
}
},
//附件文件校验
onChangepdf
(
file
)
{
console
.
log
(
this
.
proutlist1
);
const
fileNamepdf
=
file
.
name
;
let
fileType
=
fileNamepdf
.
substring
(
fileNamepdf
.
lastIndexOf
(
"
.
"
));
if
(
fileType
!=
""
)
{
this
.
fileTypepdf
=
true
;
}
else
{
this
.
$message
.
warning
(
"
附件只能只能上传文件
"
);
this
.
$refs
.
upload1
.
clearFiles
();
this
.
fileTypepdf
=
false
;
}
}
},
};
</
script
>
<
style
scoped
>
.container
{
padding
:
10px
;
}
.conter
{
margin-bottom
:
10px
;
}
.footer
{
text-align
:
right
;
}
.lsitall
.el-col
{
margin
:
20px
10px
;
}
.lsitall
.el-button
{
margin-left
:
16px
;
}
.row-bg
{
margin-left
:
15%
;
}
.dialog-footer
{
width
:
90%
;
margin
:
20px
5%
;
}
.lsitall
.el-col
{
margin
:
20px
10px
;
}
.lsitall
.el-button
{
margin-left
:
16px
;
}
.row-bg
{
margin-left
:
15%
;
}
.dialog-footer
{
width
:
90%
;
margin
:
20px
5%
;
}
.cd
{
width
:
90%
;
margin
:
30px
5%
;
}
</
style
>
\ No newline at end of file
src/views/reimbursement/reimbursementList.vue
View file @
149f135a
...
@@ -3,6 +3,23 @@
...
@@ -3,6 +3,23 @@
<!-- 申请报销头部模块 -->
<!-- 申请报销头部模块 -->
<div>
<div>
<el-form
:inline=
"true"
:model=
"reimbursementQurey"
>
<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-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=
"qurey()"
>
查询
</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-button
<el-button
type=
"success"
type=
"success"
...
@@ -556,10 +573,34 @@ export default {
...
@@ -556,10 +573,34 @@ 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
:
[],
//抽屉
//抽屉
...
@@ -746,6 +787,18 @@ export default {
...
@@ -746,6 +787,18 @@ 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是列表中所有的数据
...
...
src/views/staff/staffList.vue
View file @
149f135a
...
@@ -11,14 +11,12 @@
...
@@ -11,14 +11,12 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"员工手机号"
>
<el-form-item
label=
"员工手机号"
>
<el-input
<el-input
v-model=
"staffQurey.
companyAddress
"
v-model=
"staffQurey.
userPhone
"
placeholder=
"员工手机号"
placeholder=
"员工手机号"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"qurey()"
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"qurey()"
>
查询
</el-button>
>
查询
</el-button
>
<el-button
<el-button
type=
"primary"
type=
"primary"
icon=
"el-icon-refresh-right"
icon=
"el-icon-refresh-right"
...
...
src/views/staff/staffList2.vue
deleted
100644 → 0
View file @
2423ec69
<
template
>
<!-- 员工管理 -->
<div
class=
"container"
>
<div
class=
"header"
>
<el-form
:inline=
"true"
:model=
"staffQurey"
>
<el-form-item
label=
"员工姓名"
>
<el-input
v-model=
"staffQurey.userName"
placeholder=
"员工姓名"
></el-input>
</el-form-item>
<el-form-item
label=
"员工手机号"
>
<el-input
v-model=
"staffQurey.companyAddress"
placeholder=
"员工手机号"
></el-input>
</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-refresh-right"
@
click=
"reset()"
>
重置
</el-button
>
<el-button
type=
"success"
icon=
"el-icon-circle-plus-outline"
@
click=
"addstaff()"
>
添加员工
</el-button
>
</el-form-item>
</el-form>
</div>
<div
class=
"conter"
>
<el-table
:data=
"staffList"
style=
"width: 100%; text-align: center"
border
>
<el-table-column
label=
"序号"
width=
"50px"
>
<template
slot-scope=
"scope"
>
{{
(
staffQurey
.
pageNum
-
1
)
*
staffQurey
.
pageSize
+
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"userName"
label=
"姓名"
/>
<el-table-column
prop=
"userSex"
label=
"性别"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
userSex
==
'
0
'
?
'
女
'
:
'
男
'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"userPhone"
label=
"手机号"
/>
<el-table-column
prop=
"userIdentification"
label=
"身份证"
/>
<el-table-column
prop=
"userBankNumber"
label=
"银行卡号"
/>
<el-table-column
prop=
"userBankAddress"
label=
"开户银行"
/>
<el-table-column
label=
"员工角色"
>
<
template
slot-scope=
"scope"
>
<el-tag
v-for=
"item in scope.row.roleList"
:key=
"item.rlId"
style=
"margin-right:10px;"
>
{{
item
.
rlName
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-button
style=
"margin:5px"
size=
"mini"
icon=
"el-icon-edit"
type=
"info"
@
click=
"updataStaff(scope.row)"
>
修改信息
</el-button>
<el-button
style=
"margin:5px"
size=
"mini"
icon=
"el-icon-edit"
type=
"info"
@
click=
"staffrole(scope.row)"
:disabled=
"scope.row.roles.indexOf(2)>-1"
>
修改员工角色
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"footer"
>
<el-pagination
@
current-change=
"handleCurrentChange"
:current-page.sync=
"staffQurey.pageNum"
:page-size=
"staffQurey.pageSize"
layout=
"total, prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
<el-dialog
:title=
"staffdata.userName"
:visible.sync=
"dialogVisible"
width=
"30%"
>
<p>
角色
</p>
<el-checkbox-group
v-model=
"staffdata.roles"
>
<el-checkbox
v-for=
"item in rolesList"
:key=
"item.rlId"
:label=
"item.rlId"
name=
"type"
>
{{item.rlName}}
</el-checkbox>
</el-checkbox-group>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"updataStaffRole"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
{
selectAllByCompanyId
}
from
'
@/api/role
'
import
{
secletStaff
,
updateRole
}
from
'
@/api/user
'
export
default
{
data
()
{
return
{
staffQurey
:
{
companyId
:
null
,
pageNum
:
1
,
pageSize
:
10
,
userName
:
null
,
userPhone
:
null
,
},
total
:
0
,
staffList
:
[],
dialogVisible
:
false
,
staffdata
:{},
rolesList
:[],
};
},
created
()
{
this
.
staffQurey
.
companyId
=
this
.
$store
.
getters
.
companyId
this
.
getSatff
()
this
.
getRoles
();
},
methods
:
{
//获取权限
getRoles
()
{
selectAllByCompanyId
({
companyId
:
this
.
$store
.
getters
.
companyId
}).
then
((
res
)
=>
{
if
(
res
.
status
==
"
success
"
){
this
.
rolesList
=
res
.
data
}
else
{
this
.
$message
.
error
(
res
.
data
)
}
}).
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
查询角色失败
"
)
})
},
//获取员工
getSatff
(){
secletStaff
(
this
.
staffQurey
).
then
((
res
)
=>
{
if
(
res
.
status
==
'
success
'
){
// console.log(res.status)
this
.
staffList
=
res
.
data
.
list
this
.
total
=
res
.
data
.
total
}
else
{
this
.
$message
.
error
(
res
.
data
)
}
}).
catch
((
error
)
=>
{
this
.
$message
.
error
(
"
获取员工失败
"
)
})
},
//查询
qurey
()
{
this
.
staffQurey
.
pageNum
=
1
this
.
getSatff
()
},
//重置
reset
()
{
this
.
staffQurey
=
{
companyId
:
this
.
$store
.
getters
.
companyId
,
pageNum
:
1
,
pageSize
:
10
,
userName
:
null
,
userPhone
:
null
,
}
this
.
getSatff
()
},
//添加员工
addstaff
()
{
this
.
$router
.
push
(
'
/addStaff
'
)
},
//换页
handleCurrentChange
(
val
)
{
this
.
staffQurey
.
pageNum
=
val
this
.
getSatff
()
},
//修改员工信息
updataStaff
(
data
){
this
.
$router
.
push
({
path
:
'
/updataStaff
'
,
query
:{
id
:
data
.
userId
,
}
})
},
//修改员工角色
staffrole
(
data
){
let
roles
=
this
.
$store
.
getters
.
roles
console
.
log
(
data
)
if
(
roles
.
indexOf
(
2
)
>
-
1
){
this
.
staffdata
=
data
this
.
dialogVisible
=
true
}
else
{
this
.
$message
.
warning
(
"
只有管理员有权限修改员工角色
"
)
}
},
//修改员工角色提交方法
updataStaffRole
(){
// console.log(this.staffdata)
let
param
=
{
userId
:
this
.
staffdata
.
userId
,
roles
:
this
.
staffdata
.
roles
}
console
.
log
(
param
)
updateRole
(
param
).
then
(
res
=>
{
if
(
res
.
status
==
'
success
'
){
this
.
getSatff
()
}
else
{
this
.
$message
.
error
(
res
.
data
)
}
})
this
.
dialogVisible
=
false
}
},
};
</
script
>
<
style
scoped
>
.container
{
padding
:
10px
;
}
.conter
{
margin-bottom
:
10px
;
}
.footer
{
text-align
:
right
;
}
</
style
>
\ No newline at end of file
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