Commit c12b2058 authored by wangqinghua's avatar wangqinghua

信息日报统计

parent ee4914cf
......@@ -66,10 +66,11 @@ page-info-create {
margin: 0;
}
ion-textarea {
textarea {
padding: 6px;
height: 100px;
min-height: 60px;
border: 1px solid #ddd;
width: 100%;
}
.tag {
......@@ -126,8 +127,8 @@ page-info-create {
.module {
color: #666666;
text-align: left !important;
font-size: 16px;
padding: 10px;
}
ion-input input {
......
......@@ -47,6 +47,13 @@
</div>
</div>
</div>
<div class="total" *ngIf="role.includes(15)">
<p>应到总计:{{Total.expectTotal}}</p>
<p>实到总计:{{Total.actualTotal}}</p>
<p>返沪居家观察合计:{{Total.homeTotal}}</p>
<p>身体不适合计:{{Total.unwellTotal}}</p>
<p>其他原因未到岗合计:{{Total.otherTotal}}</p>
</div>
</div>
</ng-container>
<ng-container *ngIf="changeType == 2">
......
......@@ -5,12 +5,14 @@ import {InfoCreatePage} from "./info-create/info-create";
import {InfoDetailPage} from "./info-detail/info-detail";
import {CalendarModule} from "ion2-calendar";
import {PipesModule} from "../../../pipes/pipes.module";
import {InfoTotalPage} from "./info-total/info-total";
@NgModule({
declarations: [
InfoReportPage,
InfoCreatePage,
InfoDetailPage
InfoDetailPage,
InfoTotalPage,
],
imports: [
CalendarModule,
......@@ -19,7 +21,8 @@ import {PipesModule} from "../../../pipes/pipes.module";
],
entryComponents: [
InfoCreatePage,
InfoDetailPage
InfoDetailPage,
InfoTotalPage,
]
})
export class InfoReportPageModule {
......
......@@ -246,4 +246,181 @@ page-info-report {
font-size: 1rem;
}
}
.loader {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-mos-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
text-align: center;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: default
}
.loader .text {
position: absolute;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
top: -4px;
left: 10px;
z-index: 5;
font-size: 1em;
font-weight: 900;
text-transform: uppercase;
white-space: nowrap;
color: #333333;
}
.rotation {
width: 50px;
height: 50px;
position: relative;
overflow: hidden;
background: #b9cbda;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-mos-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg)
}
svg {
position: absolute;
top: 0;
left: 0
}
svg line {
stroke-width: 10px;
fill: none;
stroke-dasharray: 200px
}
.rotation svg line.top {
stroke: #db2f00;
-webkit-animation: topline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-moz-animation: topline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-moz-animation: topline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-ms-animation: topline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-o-animation: topline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
animation: topline cubic-bezier(.75, 0, .5, 1) 1.5s infinite
}
.rotation svg line.bottom {
stroke: #db2f00;
-webkit-animation: bottomline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-moz-animation: bottomline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-moz-animation: bottomline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-ms-animation: bottomline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-o-animation: bottomline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
animation: bottomline cubic-bezier(.75, 0, .5, 1) 1.5s infinite
}
.rotation svg line.left {
stroke: #13a3a5;
-webkit-animation: leftline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-moz-animation: leftline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-moz-animation: leftline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-ms-animation: leftline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-o-animation: leftline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
animation: leftline cubic-bezier(.75, 0, .5, 1) 1.5s infinite
}
.rotation svg line.right {
stroke: #13a3a5;
-webkit-animation: rightline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-moz-animation: rightline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-moz-animation: rightline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-ms-animation: rightline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
-o-animation: rightline cubic-bezier(.75, 0, .5, 1) 1.5s infinite;
animation: rightline cubic-bezier(.75, 0, .5, 1) 1.5s infinite
}
@keyframes topline {
0% {
transform: translateX(0px)
}
50% {
transform: translateX(-200px)
}
100% {
transform: translateX(-400px)
}
}
@keyframes bottomline {
0% {
transform: translateX(0px)
}
50% {
transform: translateX(200px)
}
100% {
transform: translateX(400px)
}
}
@keyframes leftline {
0% {
transform: translateY(0px)
}
50% {
transform: translateY(200px)
}
100% {
transform: translateY(400px)
}
}
@keyframes rightline {
0% {
transform: translateY(0px)
}
50% {
transform: translateY(-200px)
}
100% {
transform: translateY(-400px)
}
}
@keyframes text {
0% {
transform: scale(1, 1)
}
40% {
transform: scale(1.4, 1.4)
}
70%, 100% {
transform: scale(1, 1)
}
}
.fab-ios-light {
background-color: transparent;
color: #ffffff;
border: none;
}
.total {
padding: 10px;
border: 1px solid #ddd;
border-radius: 5px;
p {
margin-bottom: 5px;
}
}
}
......@@ -8,6 +8,7 @@ import {CommonService} from "../../../provide/common.service";
import {AppMainService} from "../../../app/app.service";
import {CalendarComponent, CalendarComponentOptions} from "ion2-calendar";
import {monthCh, weekDay} from "../../../app/main";
import {InfoTotalPage} from "./info-total/info-total";
/**
* Generated class for the InfoReportPage page.
......@@ -49,6 +50,14 @@ export class InfoReportPage {
isLoad: true
};
Total = {
expectTotal: 0,
actualTotal: 0,
homeTotal: 0,
unwellTotal: 0,
otherTotal: 0
};
constructor(public navCtrl: NavController, public navParams: NavParams,
private serveSer: ServeService, public datePipe: DatePipe,
......@@ -116,15 +125,28 @@ export class InfoReportPage {
//获取预定日程
getApply() {
this.Total = {
expectTotal: 0,
actualTotal: 0,
homeTotal: 0,
unwellTotal: 0,
otherTotal: 0
};
const data = {
'reportDate': this.date,
orgid: '',
P_pageNumber: '1',
P_pageSize: '100'
};
this.serveSer.searchCensus(data).subscribe(
(res) => {
this.repair = res.data.list;
this.repair.forEach(e => {
this.Total.expectTotal += e.expectPayroll + e.expectLoan + e.expectStation;
this.Total.actualTotal += e.actualPayroll + e.actualLoan + e.actualStation;
this.Total.homeTotal += e.homePayroll + e.homeLoan + e.homeStation;
this.Total.unwellTotal += e.unwellPayroll + e.unwellLoan + e.unwellStation;
this.Total.otherTotal += e.otherPayroll + e.otherLoan + e.otherStation;
})
}
)
}
......@@ -190,4 +212,9 @@ export class InfoReportPage {
this.navCtrl.push(InfoCreatePage, {date: this.date, type: 'edit'});
}
//统计
total() {
this.navCtrl.push(InfoTotalPage, {date: this.date});
}
}
<ion-header>
<ion-navbar>
<ion-title>信息日报统计</ion-title>
<ion-buttons end>
<button icon-only class="toolbar-signUp">
<ion-datetime (ionChange)="getList()" cancelText="取消" doneText="确认" displayFormat="YYYY-MM-DD"
pickerFormat="YYYY MM DD" placeholder="请选择"
[(ngModel)]="date"></ion-datetime>
</button>
</ion-buttons>
</ion-navbar>
</ion-header>
<ion-content>
<div class="content">
<div class="list" *ngFor="let item of list">
<p>
<span>名称:</span>
<span>{{item.orgName || "-"}}</span>
</p>
<p>
<span>应到:</span>
<span>{{(item.expectPayroll| toNumber) + (item.expectLoan| toNumber) + (item.expectStation | toNumber)}}</span>
<span>实到</span>
<span>{{(item.actualPayroll | toNumber) + (item.actualLoan | toNumber) + (item.actualStation| toNumber)}}</span>
</p>
</div>
<ion-list text-center style="margin-top: 10rem;color: #666666"
*ngIf="isLoad && list.length == 0">
<img style="width: 20%;" src="./assets/imgs/no-info.png" alt="">
<p text-center>
暂无上报
</p>
</ion-list>
</div>
</ion-content>
page-info-total {
.list {
padding: 10px;
p {
margin-bottom: 5px;
span:nth-child(2n +1) {
margin-left: 10px;
color: #666666;
}
}
}
.list + .list {
border-top: 5px solid #f2f2f2;
}
.datetime-text {
font-size: 14px;
color: #feffff;
}
ion-buttons button, ion-buttons a, ion-buttons input, ion-buttons textarea, ion-buttons div {
background-color: transparent;
}
}
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams} from 'ionic-angular';
import {ServeService} from "../../serve.service";
@Component({
selector: 'page-info-total',
templateUrl: 'info-total.html',
})
export class InfoTotalPage {
list = [];
date;
isLoad = false;
constructor(public navCtrl: NavController, public navParams: NavParams,
private serveSer: ServeService) {
this.date = this.navParams.get('date');
}
ionViewDidLoad() {
this.getList();
}
getList() {
const data = {
'reportDate': this.date,
P_pageNumber: '1',
P_pageSize: '100'
};
this.serveSer.searchCensus(data).subscribe(
(res) => {
this.list = res.data.list;
this.isLoad = true;
}
)
}
}
......@@ -15,11 +15,11 @@ export class AppGlobal {
//接口基地址
// static domain = "http://192.168.2.106:8080"; //正式环境
// static domain = "https://bjgdjy.shjcdj.cn"; //政务云
static domain = "http://47.103.33.196:8080"; //阿里云正式地址
// 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 = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment