Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
party-build-cloud
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangqinghua
party-build-cloud
Commits
6594df43
Commit
6594df43
authored
Feb 09, 2020
by
wangqinghua
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
字体
parent
8637df13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1197 additions
and
6 deletions
+1197
-6
ionic.config.json
ionic.config.json
+1
-1
app.module.ts
src/app/app.module.ts
+2
-0
info-create.html
...ages/serve-pages/info-report/info-create/info-create.html
+204
-0
info-create.scss
...ages/serve-pages/info-report/info-create/info-create.scss
+137
-0
info-create.ts
src/pages/serve-pages/info-report/info-create/info-create.ts
+132
-0
info-detail.html
...ages/serve-pages/info-report/info-detail/info-detail.html
+49
-0
info-detail.scss
...ages/serve-pages/info-report/info-detail/info-detail.scss
+53
-0
info-detail.ts
src/pages/serve-pages/info-report/info-detail/info-detail.ts
+40
-0
info-report.html
src/pages/serve-pages/info-report/info-report.html
+91
-0
info-report.module.ts
src/pages/serve-pages/info-report/info-report.module.ts
+24
-0
info-report.scss
src/pages/serve-pages/info-report/info-report.scss
+253
-0
info-report.ts
src/pages/serve-pages/info-report/info-report.ts
+193
-0
serve.service.ts
src/pages/serve-pages/serve.service.ts
+0
-0
key.html
src/pages/tabs/key/key.html
+6
-1
key.ts
src/pages/tabs/key/key.ts
+8
-0
http.service.ts
src/service/http.service.ts
+4
-4
No files found.
ionic.config.json
View file @
6594df43
...
...
@@ -7,7 +7,7 @@
"proxies"
:
[
{
"path"
:
"/wisdomgroup"
,
"proxyUrl"
:
"http
s://bjgdjy.shjcdj.cn
/wisdomgroup"
"proxyUrl"
:
"http
://47.103.33.196:8080
/wisdomgroup"
},
{
"path"
:
"/logistics"
,
...
...
src/app/app.module.ts
View file @
6594df43
...
...
@@ -62,6 +62,7 @@ import {RepairPageModule} from "../pages/serve-pages/repair/repair.module";
import
{
TimeFormatService
}
from
"../provide/timeFormat.service"
;
import
{
InterceptorProvider
}
from
"../core/auth.interceptor"
;
import
{
RequirementPageModule
}
from
"../pages/serve-pages/requirement/requirement.module"
;
import
{
InfoReportPageModule
}
from
"../pages/serve-pages/info-report/info-report.module"
;
@
NgModule
({
...
...
@@ -105,6 +106,7 @@ import {RequirementPageModule} from "../pages/serve-pages/requirement/requiremen
PaymentPageModule
,
RepairPageModule
,
RequirementPageModule
,
InfoReportPageModule
,
],
bootstrap
:
[
IonicApp
],
entryComponents
:
[
...
...
src/pages/serve-pages/info-report/info-create/info-create.html
0 → 100644
View file @
6594df43
<ion-header>
<ion-navbar>
<ion-title>
{{obj.reportDate | date:'yyyy-MM-dd'}}
信息上报
</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
<div
class=
"requiremen-content"
>
<p
class=
"module"
>
应到
</p>
<ion-item>
<ion-label
class=
"item-left"
>
在编人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
expectPayroll
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
在编明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
expectPayrollDetail
"
></ion-textarea>
</div>
</div>
<ion-item>
<ion-label
class=
"item-left"
>
借调人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
expectLoan
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
借调明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
expectLoanDetail
"
></ion-textarea>
</div>
</div>
<ion-item>
<ion-label
class=
"item-left"
>
驻场人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
expectStation
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
驻场明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
expectStationDetail
"
></ion-textarea>
</div>
</div>
</div>
<div
class=
"requiremen-content"
>
<p
class=
"module"
>
实到
</p>
<ion-item>
<ion-label
class=
"item-left"
>
在编人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
actualPayroll
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
在编明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
actualPayrollDetail
"
></ion-textarea>
</div>
</div>
<ion-item>
<ion-label
class=
"item-left"
>
借调人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
actualLoan
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
借调明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
actualLoanDeail
"
></ion-textarea>
</div>
</div>
<ion-item>
<ion-label
class=
"item-left"
>
驻场人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
actualStation
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
驻场明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
actualStationDetail
"
></ion-textarea>
</div>
</div>
</div>
<div
class=
"requiremen-content"
>
<p
class=
"module"
>
返沪居家观察
</p>
<ion-item>
<ion-label
class=
"item-left"
>
在编人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
homePayroll
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
在编明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
homePayrollDetail
"
></ion-textarea>
</div>
</div>
<ion-item>
<ion-label
class=
"item-left"
>
借调人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
homeLoan
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
借调明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
homeLoanDetail
"
></ion-textarea>
</div>
</div>
<ion-item>
<ion-label
class=
"item-left"
>
驻场人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
homeStation
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
驻场明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
homeStationDetail
"
></ion-textarea>
</div>
</div>
</div>
<div
class=
"requiremen-content"
>
<p
class=
"module"
>
身体不适
</p>
<ion-item>
<ion-label
class=
"item-left"
>
在编人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
unwellPayroll
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
在编明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
unwellPayrollDetail
"
></ion-textarea>
</div>
</div>
<ion-item>
<ion-label
class=
"item-left"
>
借调人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
unwellLoan
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
借调明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
unwellLoanDetail
"
></ion-textarea>
</div>
</div>
<ion-item>
<ion-label
class=
"item-left"
>
驻场人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
unwellStation
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
驻场明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
unwellStationDetail
"
></ion-textarea>
</div>
</div>
</div>
<div
class=
"requiremen-content"
>
<p
class=
"module"
>
其他原因未到岗
</p>
<ion-item>
<ion-label
class=
"item-left"
>
在编人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
otherPayroll
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
在编明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
otherPayrollDetail
"
></ion-textarea>
</div>
</div>
<ion-item>
<ion-label
class=
"item-left"
>
借调人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
otherLoan
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
借调明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
otherLoanDetail
"
></ion-textarea>
</div>
</div>
<ion-item>
<ion-label
class=
"item-left"
>
驻场人数:
</ion-label>
<ion-input
[(
ngModel
)]="
obj
.
otherStation
"
type=
"number"
maxlength=
"20"
placeholder=
"在编人数"
></ion-input>
</ion-item>
<div
class=
"item-box"
>
<div
class=
"left"
>
驻场明细:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
otherStationDetail
"
></ion-textarea>
</div>
</div>
</div>
<div
class=
"item-box"
>
<div
class=
"left"
>
备注:
</div>
<div
class=
"right"
>
<ion-textarea
[
disabled
]="
type =
=
'
look
'"
[(
ngModel
)]="
obj
.
remark
"
></ion-textarea>
</div>
</div>
<button
*
ngIf=
"type != 'look'"
class=
"submit-btn submit"
tappable
(
click
)="
submit
()"
>
提交
</button>
</ion-content>
src/pages/serve-pages/info-report/info-create/info-create.scss
0 → 100644
View file @
6594df43
page-info-create
{
.item-left
{
text-align
:
right
;
width
:
30%
;
font-weight
:
bold
;
font-size
:
1
.4rem
;
flex
:
none
;
}
.item-ios.item-block
.item-inner
{
border-bottom
:
0
.55px
solid
#eeeeee
;
}
.right-arrow
{
position
:
absolute
;
right
:
2px
;
top
:
0
;
color
:
#999
;
font-size
:
1
.6rem
;
}
.choose
{
text-align
:
right
;
margin-right
:
20px
;
font-size
:
1
.5rem
;
color
:
#999
;
}
.item-box
{
display
:
flex
;
border-bottom
:
0
.55px
solid
#eeeeee
;
padding
:
8px
;
.left
{
text-align
:
right
;
width
:
30%
;
font-weight
:
bold
;
font-size
:
1
.4rem
;
margin
:
11px
8px
11px
0
;
}
.right
{
width
:
70%
;
padding
:
11px
8px
11px
16px
;
.div-tag
{
span
{
display
:
inline-block
;
margin-right
:
10px
;
white-space
:
initial
;
border
:
1px
solid
#eee
;
padding
:
2px
5px
;
font-size
:
1rem
;
margin-bottom
:
5px
;
border-radius
:
4px
;
ion-icon
{
margin-left
:
3px
;
color
:
#666666
;
font-size
:
1rem
;
}
}
}
button
{
margin
:
0
;
}
ion-textarea
{
padding
:
6px
;
height
:
100px
;
border
:
1px
solid
#ddd
;
}
.tag
{
border
:
1px
solid
#ccc
;
margin
:
0
5px
10px
0
;
display
:
inline-block
;
padding
:
4px
20px
;
brder-radius
:
4px
;
font-size
:
1
.2rem
;
}
span
.selectLead
{
background-color
:
#fdf8f2
;
border
:
1px
solid
#e42417
;
color
:
#e42417
;
}
}
}
.item-box
:nth-child
(
2n
)
{
border-bottom
:
2px
solid
#bcbcbc
;
}
.item-box
:last-child
{
border
:
none
;
}
ion-item
,
.item-box
{
position
:
relative
;
}
textarea
.text-input
{
margin
:
0
;
height
:
100%
;
}
.check-tips
{
position
:
absolute
;
font-size
:
1
.2rem
;
top
:
24px
;
color
:
red
;
left
:
10px
;
}
.toolbar-icon
{
color
:
#ffffff
;
margin-right
:
10px
;
font-size
:
25px
;
}
.requiremen-content
{
border-bottom
:
5px
solid
#f2f2f2
;
}
.module
{
color
:
#666666
;
font-size
:
16px
;
padding
:
10px
;
}
ion-input
input
{
text-align
:
right
;
font-size
:
1
.4rem
;
}
}
src/pages/serve-pages/info-report/info-create/info-create.ts
0 → 100644
View file @
6594df43
import
{
Component
}
from
'@angular/core'
;
import
{
ActionSheetController
,
IonicPage
,
NavController
,
NavParams
}
from
'ionic-angular'
;
import
{
CommonService
}
from
"../../../../provide/common.service"
;
import
{
AppMainService
}
from
"../../../../app/app.service"
;
import
{
ServeService
}
from
"../../serve.service"
;
import
{
assign
}
from
"rxjs/util/assign"
;
@
Component
({
selector
:
'page-info-create'
,
templateUrl
:
'info-create.html'
,
})
export
class
InfoCreatePage
{
id
=
null
;
obj
=
{
orgid
:
''
,
reportDate
:
''
,
expectPayroll
:
""
,
expectPayrollDetail
:
""
,
expectLoan
:
""
,
expectLoanDetail
:
""
,
expectStation
:
""
,
expectStationDetail
:
""
,
actualPayroll
:
""
,
actualPayrollDetail
:
""
,
actualLoan
:
""
,
actualLoanDeail
:
""
,
actualStation
:
""
,
actualStationDetail
:
""
,
homePayroll
:
""
,
homePayrollDetail
:
""
,
homeLoan
:
""
,
homeLoanDetail
:
""
,
homeStation
:
""
,
homeStationDetail
:
""
,
unwellPayroll
:
""
,
unwellPayrollDetail
:
""
,
unwellLoan
:
""
,
unwellLoanDetail
:
""
,
unwellStation
:
""
,
unwellStationDetail
:
""
,
otherPayroll
:
""
,
otherPayrollDetail
:
""
,
otherLoan
:
""
,
otherLoanDetail
:
""
,
otherStation
:
""
,
otherStationDetail
:
""
,
remark
:
""
};
role
=
[];
type
;
mineInfo
;
constructor
(
public
navCtrl
:
NavController
,
public
navParams
:
NavParams
,
private
actionSheetCtrl
:
ActionSheetController
,
private
commonSer
:
CommonService
,
private
appMainSer
:
AppMainService
,
private
serveSer
:
ServeService
)
{
this
.
obj
.
reportDate
=
this
.
navParams
.
get
(
"date"
);
this
.
type
=
this
.
navParams
.
get
(
"type"
);
this
.
id
=
this
.
navParams
.
get
(
"id"
);
}
ionViewDidLoad
()
{
//获取权限
this
.
appMainSer
.
role
.
subscribe
(
value
=>
{
this
.
role
=
value
;
}
);
this
.
appMainSer
.
mineInfo
.
subscribe
(
value
=>
{
console
.
log
(
value
);
this
.
obj
.
orgid
=
value
.
orgId
;
});
if
(
this
.
id
)
{
//已填写
this
.
getDetail
();
}
}
//查询详情
getDetail
()
{
const
data
=
{
id
:
this
.
id
,
};
this
.
serveSer
.
viewDetail
(
data
).
subscribe
(
(
res
)
=>
{
if
(
res
.
data
)
{
for
(
let
k
in
this
.
obj
)
{
this
.
obj
[
k
]
=
res
.
data
[
k
];
}
}
}
)
}
//提交
submit
()
{
this
.
commonSer
.
alert
(
'确认提交?'
,
()
=>
{
if
(
this
.
id
)
{
const
d
=
{
id
:
this
.
id
};
Object
.
assign
(
this
.
obj
,
d
);
this
.
serveSer
.
updateCensus
(
this
.
obj
).
subscribe
(
(
res
)
=>
{
if
(
res
.
errcode
==
"1000"
)
{
this
.
commonSer
.
toast
(
'提交成功'
);
this
.
navCtrl
.
pop
();
}
else
{
this
.
commonSer
.
alert
(
res
.
errmsg
);
}
}
)
}
else
{
this
.
serveSer
.
addCensus
(
this
.
obj
).
subscribe
(
(
res
)
=>
{
if
(
res
.
errcode
==
"1000"
)
{
this
.
commonSer
.
toast
(
'提交成功'
);
this
.
navCtrl
.
pop
();
}
else
{
this
.
commonSer
.
alert
(
res
.
errmsg
);
}
}
)
}
});
}
}
src/pages/serve-pages/info-report/info-detail/info-detail.html
0 → 100644
View file @
6594df43
<ion-header>
<ion-navbar>
<ion-title>
处室问需汇总
</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
<div
class=
"r-content"
>
<p>
固定资产更换需求
</p>
<div
class=
"item"
*
ngFor=
"let item of list?.replacementList"
(
click
)="
goDetail
(
item
)"
>
<p>
<span>
{{item.orgName}}:
</span>
<span>
{{item.assertReplacement}}
</span>
</p>
<p>
<span>
申领原因:
</span>
<span>
{{item.replacementReason}}
</span>
</p>
</div>
</div>
<div
class=
"r-content"
>
<p>
办公用品申领名称及数量
</p>
<div
class=
"item"
*
ngFor=
"let item of list?.officeList"
(
click
)="
goDetail
(
item
)"
>
<p>
<span>
{{item.orgName}}:
</span>
<span>
{{item.officeSuppy}}
</span>
</p>
<p>
<span>
申领原因:
</span>
<span>
{{item.officeReason}}
</span>
</p>
</div>
</div>
<div
class=
"r-content"
>
<p>
会务用茶申领数量
</p>
<div
class=
"item"
*
ngFor=
"let item of list?.teaList"
(
click
)="
goDetail
(
item
)"
>
<p>
<span>
{{item.orgName}}:
</span>
<span>
{{item.teaAmount}}
</span>
</p>
<p>
<span>
申领原因:
</span>
<span>
{{item.teaReason}}
</span>
</p>
</div>
</div>
</ion-content>
src/pages/serve-pages/info-report/info-detail/info-detail.scss
0 → 100644
View file @
6594df43
page-info-detail
{
>
ion-content
.content-ios
{
background-color
:
#f2f2f2
;
}
.r-content
{
background-color
:
#fff
;
padding
:
10px
;
>
p
{
border-top-left-radius
:
5px
;
border-top-right-radius
:
5px
;
border-top
:
1px
solid
#dddddd
;
border-left
:
1px
solid
#dddddd
;
border-right
:
1px
solid
#dddddd
;
text-align
:
center
;
padding
:
10px
;
font-weight
:
bold
;
}
}
.r-content
+
.r-content
{
margin-top
:
15px
;
}
.item
{
padding
:
10px
;
p
{
padding-bottom
:
10px
;
span
:first-child
{
color
:
#777777
;
}
span
:last-child
{
color
:
#333333
;
}
}
}
.item
:nth-child
(
2n
+
1
)
{
background-color
:
#fff1f0
;
border
:
1px
solid
#fff1f0
;
color
:
#474747
;
}
.item
:nth-child
(
2n
)
{
border
:
1px
solid
#c6d9f0
;
background-color
:
#c6d9f0
;
color
:
#474747
;
}
}
src/pages/serve-pages/info-report/info-detail/info-detail.ts
0 → 100644
View file @
6594df43
import
{
Component
}
from
'@angular/core'
;
import
{
IonicPage
,
NavController
,
NavParams
}
from
'ionic-angular'
;
import
{
ServeService
}
from
"../../serve.service"
;
import
{
RequirementApplyPage
}
from
"../../requirement/requirement-apply/requirement-apply"
;
@
Component
({
selector
:
'page-info-detail'
,
templateUrl
:
'info-detail.html'
,
})
export
class
InfoDetailPage
{
item
;
list
;
constructor
(
public
navCtrl
:
NavController
,
public
navParams
:
NavParams
,
private
serveSer
:
ServeService
)
{
this
.
item
=
this
.
navParams
.
get
(
'item'
);
}
ionViewDidLoad
()
{
const
data
=
{
requireContentId
:
this
.
item
.
id
,
}
this
.
serveSer
.
typeSelect
(
data
).
subscribe
(
(
res
)
=>
{
if
(
res
.
errcode
==
'1000'
)
{
this
.
list
=
res
.
data
;
}
}
)
}
//查看详情
goDetail
(
item
)
{
this
.
item
.
isRequired
=
1
;
this
.
item
.
orgId
=
item
.
orgId
;
this
.
navCtrl
.
push
(
RequirementApplyPage
,
{
item
:
this
.
item
});
}
}
src/pages/serve-pages/info-report/info-report.html
0 → 100644
View file @
6594df43
<ion-header>
<ion-navbar>
<ion-title>
信息上报
</ion-title>
<ion-buttons
end
>
<button
ion-button
tappable
(
click
)="
goApply
()"
>
<ion-icon
style=
"font-size: 2rem"
class=
"top-right-icon icon-fabu iconfont"
></ion-icon>
</button>
</ion-buttons>
</ion-navbar>
<div
class=
"duty"
>
<div
class=
"dutyItem"
tappable
(
click
)="
change
(
1
)"
>
<span
class=
"{{changeType == 1?'duty-title':''}}"
>
上报日历
</span>
</div>
<div
class=
"dutyItem"
tappable
(
click
)="
change
(
2
)"
>
<span
class=
"{{changeType == 2?'duty-title':''}}"
>
我的上报
</span>
</div>
</div>
</ion-header>
<ion-content>
<ion-content
direction=
"y"
scrollbar-y=
"true"
class=
"bgc-e7e8ed"
>
<ion-refresher
(
ionRefresh
)="
doRefresh
($
event
)"
>
<ion-refresher-content
pullingText=
"下拉刷新"
refreshingSpinner=
"bubbles"
>
</ion-refresher-content>
</ion-refresher>
<ng-container
*
ngIf=
"changeType == 1"
>
<ion-calendar
#
calendar
[(
ngModel
)]="
date
"
(
onChange
)="
getDate
($
event
)"
[
options
]="
options
"
type=
"string"
format=
"YYYY-MM-DD"
>
</ion-calendar>
<div
class=
"room"
>
<div
class=
"already"
>
<p>
已上报
</p>
<div
class=
"morning"
>
<div
class=
"morning-room"
>
<ng-container
*
ngFor=
"let item1 of repair"
>
<span
tappable
(
click
)="
goApplyEdit
(
item1
)"
>
<span>
上报处室:{{item1.orgName || "-"}}
</span>
<span>
上报人:{{item1.userName}}
</span>
</span>
</ng-container>
</div>
</div>
</div>
</div>
</ng-container>
<ng-container
*
ngIf=
"changeType == 2"
>
<div
class=
"duty-content"
>
<ion-list
class=
"myItem"
>
<ion-item-sliding
class=
"apply"
*
ngFor=
"let item of applyList"
>
<ion-item
tappable
(
click
)="
goMyApplyEdit
(
item
)"
>
<p>
<span>
上报时间:
<span>
{{item.reportDate | date:'yyyy-MM-dd'}}
</span>
</span>
</p>
<p>
<span
class=
"apply-room"
>
居家观察在编:
<span>
{{item.homePayroll}}
</span>
</span>
</p>
<p>
<span
class=
"apply-room"
>
不适在编:
<span>
{{item.unwellPayroll}}
</span>
</span>
</p>
</ion-item>
</ion-item-sliding>
</ion-list>
<ion-list
text-center
style=
"margin-top: 10rem;color: #666666"
*
ngIf=
"!page.isLoad && applyList.length == 0"
>
<img
style=
"width: 20%;"
src=
"./assets/imgs/no-info.png"
alt=
""
>
<p
text-center
>
暂无上报
</p>
</ion-list>
</div>
</ng-container>
<ion-infinite-scroll
(
ionInfinite
)="
doInfinite
($
event
)"
>
<ion-infinite-scroll-content
loadingSpinner=
"bubbles"
loadingText=
"加载中"
></ion-infinite-scroll-content>
</ion-infinite-scroll>
</ion-content>
</ion-content>
src/pages/serve-pages/info-report/info-report.module.ts
0 → 100644
View file @
6594df43
import
{
NgModule
}
from
'@angular/core'
;
import
{
IonicPageModule
}
from
'ionic-angular'
;
import
{
InfoReportPage
}
from
'./info-report'
;
import
{
InfoCreatePage
}
from
"./info-create/info-create"
;
import
{
InfoDetailPage
}
from
"./info-detail/info-detail"
;
import
{
CalendarModule
}
from
"ion2-calendar"
;
@
NgModule
({
declarations
:
[
InfoReportPage
,
InfoCreatePage
,
InfoDetailPage
],
imports
:
[
CalendarModule
,
IonicPageModule
.
forChild
(
InfoReportPage
),
],
entryComponents
:
[
InfoCreatePage
,
InfoDetailPage
]
})
export
class
InfoReportPageModule
{
}
src/pages/serve-pages/info-report/info-report.scss
0 → 100644
View file @
6594df43
page-info-report
{
.list-ios
.item-block
.item-inner
{
border
:
none
;
}
.bar-buttons-ios
[
end
]
{
width
:
35px
;
height
:
35px
;
text-align
:
center
;
margin-right
:
10px
;
}
.duty
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
center
;
height
:
36px
;
background-color
:
#fff
;
}
.duty-state
{
border
:
1px
solid
#f8ac56
;
font-size
:
1
.3rem
;
border-radius
:
4px
;
padding
:
1px
4px
;
color
:
#f8ac56
;
}
.duty
div
{
width
:
50%
;
text-align
:
center
;
position
:
relative
;
height
:
36px
;
line-height
:
36px
;
}
.duty-title
{
position
:
relative
;
color
:
#e42417
;
}
.
duty-title
:
:
after
{
content
:
''
;
position
:
absolute
;
width
:
100%
;
height
:
2px
;
background-color
:
#e42417
;
bottom
:
-10px
;
left
:
0px
;
}
.span-btn
{
background-color
:
#e42417
;
font-size
:
1
.4rem
;
padding
:
4px
6px
;
color
:
#fff
;
border-radius
:
3px
;
}
.dutyItem
>
div
{
margin-bottom
:
10px
;
}
.daySpan
{
padding
:
2px
20px
;
background-color
:
#e42417
;
color
:
#fff
;
border-bottom-right-radius
:
5px
;
}
.nightSpan
{
padding
:
4px
20px
;
background-color
:
#4e5e6f
;
color
:
#fff
;
border-bottom-right-radius
:
5px
;
}
.duty-Obj
.item-ios
p
{
margin-bottom
:
15px
;
}
.duty-Obj
.label-ios
{
margin
:
0
;
}
.duty-Obj
{
.item-ios.item-block
.item-inner
{
background-color
:
#f5f6f7
;
}
}
.room
{
padding
:
15px
;
background-color
:
#fff
;
}
.morning
,
.afternoon
{
display
:
flex
;
.morning-text
,
.afternoon-text
{
width
:
20%
;
display
:
flex
;
align-items
:
center
;
font-weight
:
bold
;
padding-left
:
15px
;
}
.morning-room
,
.morning-room
{
width
:
100%
;
padding
:
10px
5px
;
min-height
:
53px
;
span
{
display
:
inline-block
;
font-size
:
1
.5rem
;
border-radius
:
4px
;
color
:
#474747
;
padding
:
0
8px
;
margin-bottom
:
8px
;
margin-right
:
5px
;
}
}
}
.morning
+
.afternoon
{
border-top
:
1px
solid
#cccccc
;
}
.already
,
.notYet
{
border
:
1px
solid
#dddddd
;
border-radius
:
3px
;
margin-bottom
:
20px
;
p
{
background-color
:
#fff1f0
;
color
:
#e42417
;
padding
:
6px
15px
;
}
}
.already
{
.morning
{
border-top-right-radius
:
8px
;
border-top-left-radius
:
8px
;
}
.afternoon
{
border-bottom-right-radius
:
8px
;
border-bottom-left-radius
:
8px
;
}
}
.notYet
{
margin-top
:
15px
;
.morning
,
.afternoon
{
.morning-room
{
span
{
background-color
:
#f2f2f2
;
border
:
1px
solid
#f2f2f2
;
color
:
#666666
;
}
}
}
}
.duty-content
{
padding
:
15px
;
ion-item
{
p
{
padding
:
0
10px
10px
10px
;
span
{
color
:
#333333
;
font-weight
:
500
;
span
{
color
:
#666666
;
font-weight
:
400
;
}
}
}
p
:first-child
{
border-bottom
:
1px
solid
#cccccc
;
margin-bottom
:
10px
;
}
}
}
.apply
{
font-size
:
1
.4rem
;
border-radius
:
5px
;
.apply-room
{
font-size
:
1
.4rem
;
}
.meet-type
{
font-size
:
1
.4rem
;
margin-left
:
20px
;
span
{
font-size
:
1
.4rem
;
}
}
.order-time
{
font-size
:
1
.4rem
;
}
}
.apply
+
.apply
{
margin-top
:
8px
;
}
.list-ios
.item-block
.item-inner
{
padding
:
0
;
}
.success
{
background-color
:
#2ec95c
;
color
:
#fff
!
important
;
padding
:
3px
5px
;
display
:
inline-block
;
font-size
:
1rem
;
border-radius
:
4px
;
}
.fab
ion-icon
{
color
:
#e42417
;
font-size
:
4rem
;
}
.fab-ios-light
{
border
:
1px
solid
#333333
;
width
:
9rem
;
height
:
9rem
;
}
.fab-call
{
line-height
:
normal
;
p
{
color
:
#333333
;
font-size
:
1rem
;
}
}
}
src/pages/serve-pages/info-report/info-report.ts
0 → 100644
View file @
6594df43
import
{
Component
,
ViewChild
}
from
'@angular/core'
;
import
{
IonicPage
,
NavController
,
NavParams
}
from
'ionic-angular'
;
import
{
InfoCreatePage
}
from
"./info-create/info-create"
;
import
{
timer
}
from
"rxjs/observable/timer"
;
import
{
ServeService
}
from
"../serve.service"
;
import
{
DatePipe
}
from
"@angular/common"
;
import
{
CommonService
}
from
"../../../provide/common.service"
;
import
{
AppMainService
}
from
"../../../app/app.service"
;
import
{
CalendarComponent
,
CalendarComponentOptions
}
from
"ion2-calendar"
;
import
{
monthCh
,
weekDay
}
from
"../../../app/main"
;
/**
* Generated class for the InfoReportPage page.
*
* See https://ionicframework.com/docs/components/#navigation for more info on
* Ionic pages and navigation.
*/
@
IonicPage
()
@
Component
({
selector
:
'page-info-report'
,
templateUrl
:
'info-report.html'
,
})
export
class
InfoReportPage
{
@
ViewChild
(
'calendar'
)
calendar
:
CalendarComponent
;
date
;
changeType
=
1
;
options
:
CalendarComponentOptions
=
{
from
:
new
Date
(
2000
,
0
,
1
),
monthFormat
:
'YYYY 年 MM 月 '
,
weekdays
:
weekDay
,
monthPickerFormat
:
monthCh
,
pickMode
:
'single'
,
color
:
'danger'
};
role
=
[];
mineInfo
;
repair
;
applyList
=
[];
page
=
{
P_pageNumber
:
1
,
P_pageSize
:
10
,
total
:
null
,
isLoad
:
true
};
constructor
(
public
navCtrl
:
NavController
,
public
navParams
:
NavParams
,
private
serveSer
:
ServeService
,
public
datePipe
:
DatePipe
,
private
commonSer
:
CommonService
,
private
appMainSer
:
AppMainService
)
{
}
ionViewDidEnter
()
{
this
.
myApply
();
this
.
getApply
();
}
ionViewDidLoad
()
{
this
.
date
=
this
.
datePipe
.
transform
(
new
Date
(),
'yyyy-MM-dd'
);
//获取权限
this
.
appMainSer
.
role
.
subscribe
(
value
=>
{
this
.
role
=
value
;
}
);
//获取个人信息
this
.
appMainSer
.
mineInfo
.
subscribe
(
value
=>
{
this
.
mineInfo
=
value
;
})
}
doRefresh
(
e
)
{
const
data
=
{
P_pageNumber
:
1
,
P_pageSize
:
this
.
page
.
P_pageSize
,
};
this
.
getApply
();
this
.
serveSer
.
myRepair
(
data
).
subscribe
(
(
res
)
=>
{
this
.
page
.
isLoad
=
false
;
this
.
applyList
=
res
.
data
.
list
;
this
.
page
.
total
=
res
.
data
.
total
;
timer
(
800
).
subscribe
(()
=>
e
.
complete
());
}
)
}
//加载更多
doInfinite
(
e
)
{
if
(
this
.
page
.
total
==
this
.
applyList
.
length
)
{
this
.
page
.
isLoad
=
false
;
e
.
enable
(
false
);
return
false
;
}
this
.
page
.
P_pageNumber
++
;
const
data
=
{
P_pageNumber
:
this
.
page
.
P_pageNumber
,
P_pageSize
:
this
.
page
.
P_pageSize
,
};
this
.
serveSer
.
myRepair
(
data
).
subscribe
(
(
res
)
=>
{
this
.
page
.
total
=
res
.
data
.
total
;
res
.
data
.
list
.
forEach
(
e
=>
{
this
.
applyList
.
push
(
e
);
});
timer
(
800
).
subscribe
(()
=>
e
.
complete
());
}
)
}
//获取预定日程
getApply
()
{
const
data
=
{
'reportDate'
:
this
.
date
,
orgid
:
''
,
P_pageNumber
:
'1'
,
P_pageSize
:
'100'
};
this
.
serveSer
.
searchCensus
(
data
).
subscribe
(
(
res
)
=>
{
this
.
repair
=
res
.
data
.
list
;
}
)
}
getDate
(
e
)
{
this
.
date
=
e
;
this
.
getApply
();
}
//我的预定
myApply
()
{
const
data
=
{
P_pageNumber
:
this
.
page
.
P_pageNumber
,
P_pageSize
:
this
.
page
.
P_pageSize
,
};
this
.
serveSer
.
myReport
(
data
).
subscribe
(
(
res
)
=>
{
this
.
page
.
isLoad
=
false
;
this
.
applyList
=
res
.
data
.
list
;
this
.
page
.
total
=
res
.
data
.
total
;
}
)
}
//取消预定
removeItem
(
item
)
{
if
(
item
.
orderDate
<
new
Date
().
getTime
())
{
this
.
commonSer
.
toast
(
"已过期不可取消"
);
return
;
}
this
.
serveSer
.
cancelMeals
(
item
.
id
).
subscribe
(
(
res
)
=>
{
if
(
res
.
errcode
==
1000
)
{
this
.
commonSer
.
toast
(
'取消预定成功'
);
this
.
myApply
();
}
else
{
this
.
commonSer
.
toast
(
res
.
errmsg
);
}
}
)
}
//改变
change
(
type
)
{
this
.
changeType
=
type
;
if
(
this
.
changeType
==
1
)
this
.
getApply
();
if
(
this
.
changeType
==
2
)
this
.
myApply
();
}
//查看
goApplyEdit
(
item
)
{
if
(
this
.
mineInfo
.
orgId
==
item
.
orgid
||
this
.
role
.
includes
(
15
))
{
this
.
navCtrl
.
push
(
InfoCreatePage
,
{
id
:
item
.
id
,
type
:
'look'
});
}
}
goMyApplyEdit
(
item
)
{
this
.
navCtrl
.
push
(
InfoCreatePage
,
{
id
:
item
.
id
,
type
:
'edit'
});
}
//新增申请
goApply
()
{
this
.
navCtrl
.
push
(
InfoCreatePage
,
{
date
:
this
.
date
,
type
:
'edit'
});
}
}
src/pages/serve-pages/serve.service.ts
View file @
6594df43
This diff is collapsed.
Click to expand it.
src/pages/tabs/key/key.html
View file @
6594df43
...
...
@@ -74,7 +74,12 @@
<label
class=
"label2-2 more2-2"
>
值班换班
</label>
</div>
</div>
<div
tappable
(
click
)="
goToInfo
()"
>
<div
class=
"card"
>
<img
src=
"./assets/imgs/home/icon-wxdc.png"
>
<label
class=
"label2-2 more2-2"
>
信息上报
</label>
</div>
</div>
</div>
</div>
</ion-content>
src/pages/tabs/key/key.ts
View file @
6594df43
...
...
@@ -4,6 +4,7 @@ import {AppMainService} from "../../../app/app.service";
import
{
TabsService
}
from
"../tabs.service"
;
import
{
GoodsCollectPage
}
from
"../../serve-pages/goods-collect/goods-collect"
;
import
{
ChangeApplyListPage
}
from
"../../home/manageDuty/change-apply-list/change-apply-list"
;
import
{
InfoReportPage
}
from
"../../serve-pages/info-report/info-report"
;
@
IonicPage
()
...
...
@@ -15,6 +16,7 @@ export class KeyPage {
//角色对应的int值,0普通用户,1内勤人员,2处室领导,3管理员,4值班管理员,5审核人员,6耗材管理员,
// 7会议室管理员,8车队管理员,9理发管理员,10用车管理员,11订餐管理员,12访客管理员,13机要角色
// 15信息日报查看角色
role
;
switch
;
...
...
@@ -60,4 +62,10 @@ export class KeyPage {
}
}
goToInfo
()
{
if
(
this
.
role
.
includes
(
1
)
||
this
.
role
.
includes
(
2
)
||
this
.
role
.
includes
(
3
))
{
this
.
navCtrl
.
push
(
InfoReportPage
);
}
}
}
src/service/http.service.ts
View file @
6594df43
...
...
@@ -14,12 +14,12 @@ export class AppGlobal {
//接口基地址
// static domain = "http://192.168.2.106:8080"; //正式环境
static
domain
=
"https://bjgdjy.shjcdj.cn"
;
//政务云
//
static domain = "https://bjgdjy.shjcdj.cn"; //政务云
// static domain = "http://47.103.33.196:8080"; //阿里云正式地址
// static domain = "http://47.103.35.216:8080"; //阿里云测试地址
// static domain = "http://218.78.19.169:8081"; //天翼云地址
// static domain = "http://218.78.19.169:8082/"; //天翼测试云地址
//
static domain = ""; //本地环境
static
domain
=
""
;
//本地环境
//图片地址
static
picture
=
AppGlobal
.
domain
+
"/wisdomgroup/manager/getIcon/"
;
...
...
@@ -28,8 +28,8 @@ export class AppGlobal {
static
pictureNotice
=
AppGlobal
.
domain
;
//默认版本
//
static defaultVersion = "4.7.0"; //dev
static
defaultVersion
;
//prod
static
defaultVersion
=
"4.7.0"
;
//dev
//
static defaultVersion; //prod
//接口地址
static
API
:
any
=
{
...
...
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