Commit 342a9eab authored by wangqinghua's avatar wangqinghua

api update

parent 38ee4369
......@@ -52,6 +52,7 @@ import {MeetRoomPageModule} from "../pages/serve-pages/meet-room/meet-room.modul
import {UseCarPageModule} from "../pages/serve-pages/use-car/use-car.module";
import {AppMainService} from "./app.service";
import {VistorRegisterPageModule} from "../pages/serve-pages/vistor-register/vistor-register.module";
import {BusinessUnitPageModule} from "../pages/serve-pages/business-unit/business-unit.module";
@NgModule({
......@@ -90,6 +91,7 @@ import {VistorRegisterPageModule} from "../pages/serve-pages/vistor-register/vis
MeetRoomPageModule,
UseCarPageModule,
VistorRegisterPageModule,
BusinessUnitPageModule
],
bootstrap: [IonicApp],
entryComponents: [
......
......@@ -190,6 +190,8 @@ ion-navbar .header-ios .toolbar-ios:last-child .toolbar-background-ios {
.scroll-tab {
overflow: hidden;
position: relative;
padding-right: 50px;
background-color: #fff1f0;
}
.scroll-tab{
span.more{
......
import { Animation, PageTransition } from 'ionic-angular'; export class ModalFromRightEnter extends PageTransition { public init() { super.init(); const ele = this.enteringView.pageRef().nativeElement; const backdrop = new Animation(this.plt, ele.querySelector('ion-backdrop')); backdrop.beforeStyles({ 'z-index': 0, 'opacity': 0.3, 'visibility': 'visible' }); const wrapper = new Animation(this.plt, ele.querySelector('.modal-wrapper')); wrapper.beforeStyles({ 'opacity': 1 }); wrapper.fromTo('transform', 'translateX(100%)', 'translateX(10%)'); const contentWrapper = new Animation(this.plt, ele.querySelector('ion-content.content')); contentWrapper.beforeStyles({ 'width': '90%' }); this .element(this.enteringView.pageRef()) .duration(300) .easing('cubic-bezier(.25, .1, .25, 1)') .add(backdrop) .add(wrapper) .add(contentWrapper); }} export class ModalFromRightLeave extends PageTransition { public init() { super.init(); const ele = this.leavingView.pageRef().nativeElement; const backdrop = new Animation(this.plt, ele.querySelector('ion-backdrop')); backdrop.beforeStyles({ 'visibility': 'hidden' }); const wrapper = new Animation(this.plt, ele.querySelector('.modal-wrapper')); wrapper.fromTo('transform', 'translateX(10%)', 'translateX(100%)'); this .element(this.leavingView.pageRef()) .duration(300) .easing('cubic-bezier(.25, .1, .25, 1)') .add(backdrop) .add(wrapper); }} export class ModalScaleEnter extends PageTransition { public init() { super.init(); const ele = this.enteringView.pageRef().nativeElement; const wrapper = new Animation(this.plt, ele.querySelector('.modal-wrapper')); wrapper.beforeStyles({ 'opacity': 1 }); wrapper.fromTo('transform', 'scale(0)', 'scale(1)'); this .element(this.enteringView.pageRef()) .duration(400) .easing('cubic-bezier(.1, .7, .1, 1)') .add(wrapper); }} export class ModalScaleLeave extends PageTransition { public init() { super.init(); const ele = this.leavingView.pageRef().nativeElement; const wrapper = new Animation(this.plt, ele.querySelector('.modal-wrapper')); wrapper.fromTo('transform', 'scale(1)', 'scale(0)'); this .element(this.leavingView.pageRef()) .duration(400) .easing('cubic-bezier(.1, .7, .1, 1)') .add(wrapper); }}
\ No newline at end of file
import { Animation, PageTransition } from 'ionic-angular'; export class ModalFromRightEnter extends PageTransition { public init() { super.init(); const ele = this.enteringView.pageRef().nativeElement; const backdrop = new Animation(this.plt, ele.querySelector('ion-backdrop')); backdrop.beforeStyles({ 'z-index': 0, 'opacity': 0.3, 'visibility': 'visible' }); const wrapper = new Animation(this.plt, ele.querySelector('.modal-wrapper')); wrapper.beforeStyles({ 'opacity': 1 }); wrapper.fromTo('transform', 'translateX(100%)', 'translateX(0%)'); const contentWrapper = new Animation(this.plt, ele.querySelector('ion-content.content')); contentWrapper.beforeStyles({ 'width': '100%' }); this .element(this.enteringView.pageRef()) .duration(300) .easing('cubic-bezier(.25, .1, .25, 1)') .add(backdrop) .add(wrapper) .add(contentWrapper); }} export class ModalFromRightLeave extends PageTransition { public init() { super.init(); const ele = this.leavingView.pageRef().nativeElement; const backdrop = new Animation(this.plt, ele.querySelector('ion-backdrop')); backdrop.beforeStyles({ 'visibility': 'hidden' }); const wrapper = new Animation(this.plt, ele.querySelector('.modal-wrapper')); wrapper.fromTo('transform', 'translateX(0%)', 'translateX(100%)'); this .element(this.leavingView.pageRef()) .duration(300) .easing('cubic-bezier(.25, .1, .25, 1)') .add(backdrop) .add(wrapper); }} export class ModalScaleEnter extends PageTransition { public init() { super.init(); const ele = this.enteringView.pageRef().nativeElement; const wrapper = new Animation(this.plt, ele.querySelector('.modal-wrapper')); wrapper.beforeStyles({ 'opacity': 1 }); wrapper.fromTo('transform', 'scale(0)', 'scale(1)'); this .element(this.enteringView.pageRef()) .duration(400) .easing('cubic-bezier(.1, .7, .1, 1)') .add(wrapper); }} export class ModalScaleLeave extends PageTransition { public init() { super.init(); const ele = this.leavingView.pageRef().nativeElement; const wrapper = new Animation(this.plt, ele.querySelector('.modal-wrapper')); wrapper.fromTo('transform', 'scale(1)', 'scale(0)'); this .element(this.leavingView.pageRef()) .duration(400) .easing('cubic-bezier(.1, .7, .1, 1)') .add(wrapper); }}
\ No newline at end of file
......
<ion-header>
<ion-navbar>
<ion-title>businessDetail</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
</ion-content>
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
@Component({
selector: 'page-business-detail',
templateUrl: 'business-detail.html',
})
export class BusinessDetailPage {
constructor(public navCtrl: NavController, public navParams: NavParams) {
}
ionViewDidLoad() {
console.log('ionViewDidLoad BusinessDetailPage');
}
}
<ion-header>
<ion-navbar>
<ion-title>业务制度</ion-title>
</ion-navbar>
<ion-content>
<ion-refresher (ionRefresh)="doRefresh($event)">
<ion-refresher-content pullingText="下拉刷新"
refreshingSpinner="bubbles">
</ion-refresher-content>
</ion-refresher>
<div class="search-content">
<ng-container *ngFor="let item of newList">
<div class="search-item" (click)="goToDetail(item)">
<p class="item-info">
<span class="item-source">{{item.source}}</span>
<span>{{item.publishTime | date:'yyyy-MM-dd'}}</span>
</p>
<div class="item-news">
<ion-row class="news-item">
<!-- 标题图片 -->
<ng-container *ngIf="item.path">
<ng-container *ngIf="item.resourceType == 1">
<ion-col col-8 class="news-left">
<p class="news-title">{{item.title}}
<ion-icon *ngIf="item.topTime"
class="icon-fire iconfont"></ion-icon>
</p>
</ion-col>
<ion-col col-4 class="news-right">
<img src="{{picture + item.path}}">
</ion-col>
</ng-container>
<ng-container *ngIf="item.resourceType == 2">
<ion-col col-12 class="news-left">
<p class="news-title">{{item.title}}
<ion-icon *ngIf="item.topTime"
class="icon-fire iconfont"></ion-icon>
</p>
</ion-col>
</ng-container>
<!-- 视频 -->
<ng-container *ngIf="item.resourceType == 3">
<ion-col col-12 class="news-left">
<p class="news-title">{{item.title}}
<ion-icon *ngIf="item.topTime"
class="icon-fire iconfont"></ion-icon>
</p>
<div style="width: 100%;max-height: 180px;">
<video width="100%" height="100%"
crossorigin="anonymous"
(canplay)="loadVideo($event)"
(play)="clickVideo($event)"
preload="metadata"
controls="controls" muted="muted">
<source [src]="picture +item.path+ '#t=1' ">
您的浏览器不支持 html5。
</video>
</div>
</ion-col>
</ng-container>
</ng-container>
<ng-container *ngIf="!item.path">
<ion-col col-12 class="news-left">
<p class="news-title">{{item.title}}
<ion-icon *ngIf="item.topTime"
class="icon-fire iconfont"></ion-icon>
</p>
</ion-col>
</ng-container>
</ion-row>
</div>
</div>
</ng-container>
</div>
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content
loadingSpinner="bubbles"
loadingText="加载中"></ion-infinite-scroll-content>
</ion-infinite-scroll>
</ion-content>
import {NgModule} from '@angular/core';
import {IonicPageModule} from 'ionic-angular';
import {BusinessUnitPage} from './business-unit';
import {BusinessDetailPage} from "./business-detail/business-detail";
@NgModule({
declarations: [
BusinessUnitPage,
BusinessDetailPage
],
imports: [
IonicPageModule.forChild(BusinessUnitPage),
],
entryComponents: [
BusinessDetailPage,
]
})
export class BusinessUnitPageModule {
}
page-business-unit {
.search-header {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
box-sizing: border-box;
width: 95%;
margin-left: 5px;
ion-input {
border-bottom: 1px solid #ffffff;
background-color: #fff;
border-radius: 5px;
height: 30px;
padding-left: 10px;
}
}
ion-navbar{
height: 44px;
}
.text-input::-webkit-input-placeholder {
color: #ffffff;
}
.clear {
border-radius: 15px;
text-align: center;
margin-left: 10px;
color: #ffffff;
font-size: 1.8rem;
}
.filter-new{
height: 3rem;
line-height: 2.2rem;
}
.segment-ios .segment-button{
border-color: #e12724;
color: #e12724;
height: 2.2rem;
line-height: 2rem;
}
.segment-ios .segment-button.segment-activated{
background-color: #e12724;
}
.header-ios .toolbar-ios:last-child .toolbar-background-ios{
border: none;
}
//新闻区
.search-content {
padding: 0 1rem 5rem 1rem;
.search-item {
padding: .2rem 0;
.item-info {
margin: .8rem 0;
color: #989898;
.item-source {
color: #d88f27;
font-weight: 500;
margin-right: 1rem;
}
}
.news-left {
display: flex;
flex-flow: row wrap;
min-height: 100%;
padding: 5px;
.news-title {
align-self: flex-start;
font-weight: bold;
width: 100%;
//margin-bottom: 1rem;
color: #333333;
font-size: 1.6rem;
font-family: SourceHanSans-Bold;
position: relative;
.icon-fire {
position: absolute;
top: 3px;
left: -14px;
font-size: 1.5rem;
color: #e42417;
}
}
.news-end {
align-self: flex-end;
color: #989898;
font-size: 1.5rem;
margin-top: .5rem;
ion-icon{
font-size: 1.2rem;
}
span {
margin-right: .8rem;
font-size: 1rem;
}
}
}
.news-right {
padding: 5px;
text-align: center;
max-height: 60px;
img {
border-radius: .5rem;
}
}
}
.search-item + .search-item {
border-top: 1px solid #eeeeee;
}
}
}
import {Component, ViewChild} from '@angular/core';
import {InfiniteScrollContent, IonicPage, NavController, NavParams} from 'ionic-angular';
import {AppGlobal} from "../../../service/http.service";
import {TabsService} from "../../tabs/tabs.service";
import {StuffDetailPage} from "../../home-pages/stuff-detail/stuff-detail";
@IonicPage()
@Component({
selector: 'page-business-unit',
templateUrl: 'business-unit.html',
})
export class BusinessUnitPage {
@ViewChild(InfiniteScrollContent) infiniteScrollContent: InfiniteScrollContent;
picture: string = AppGlobal.domain + '/wisdomgroup';
newList = [];
searchObj = {
title: '',
stuffType: null, //类型:(1图文,2视频)
order: 'desc', //asc升序 desc 降序
};
pageNum: number = 1;
pageSize = AppGlobal.pageCount;
totalNum: number;
constructor(public navCtrl: NavController, public navParams: NavParams,
public tabs: TabsService) {
}
ionViewDidEnter() {
this.search();
}
ionViewDidLeave() {
const videoArr = document.querySelectorAll("video");
for (let i = 0; i < videoArr.length; i++) {
videoArr[i].pause();
}
}
//查询列表
search() {
const data = {
pageNum: 1,
pageSize: this.pageSize,
isRecent: 0,
obj: this.searchObj,
};
this.tabs.stuffPage(data).subscribe(
(res) => {
this.newList = res.data.list;
this.totalNum = res.data.total;
this.newList.forEach(e => {
if (e.attachments && e.attachments.length > 0) {
e.path = e.attachments[0].path;
e.resourceType = e.attachments[0].resourceType;
}
})
}
)
}
//下拉刷新
doRefresh(e) {
this.infiniteScrollContent.inf.enable(true);
this.search();
setTimeout(() => {
e.complete();
}, 800);
}
//上拉加载
doInfinite(e) {
if (this.totalNum == this.newList.length) {
console.log('done');
e.enable(false);
return false;
}
this.pageNum++;
const data = {
pageNum: 1,
pageSize: this.pageSize,
isRecent: 0,
obj: this.searchObj,
};
this.tabs.stuffPage(data).subscribe(
(res) => {
this.totalNum = res.data.total;
res.data.list.forEach(e => {
if (e.attachments && e.attachments.length > 0) {
e.path = e.attachments[0].path;
e.resourceType = e.attachments[0].resourceType;
}
this.newList.push(e);
});
e.complete();
}
)
}
//查看详情
goToDetail(item) {
this.navCtrl.push(StuffDetailPage, {id: item.id});
}
//列表视频不同时播放
clickVideo(e) {
const videoArr = document.querySelectorAll("video");
for (let i = 0; i < videoArr.length; i++) {
if (videoArr[i] != e.target) {
videoArr[i].pause();
}
}
}
loadVideo(e) {
const scale = 0.8;
const canvas = document.createElement('canvas');
canvas.width = 120 * scale;
canvas.height = 120 * scale;
//绘制图片
canvas.getContext('2d').drawImage(e.target, 0, 0, canvas.width, canvas.height);
//设置标签的poster属性
let img = new Image();
img.src = canvas.toDataURL("image/png");
img.setAttribute("crossOrigin", 'Anonymous')
img.onload = () => {
// console.log(img);
e.target.setAttribute("poster", canvas.toDataURL("image/png"));
}
}
}
<ion-header> <ion-navbar> <ion-title>申领评价</ion-title> </ion-navbar> </ion-header> <ion-content> <div class="order" *ngFor="let item of orderList"> <div class="orderTips"> <p> <span *ngIf="item.status == 2">已申请</span> <span *ngIf="item.status == 3">已领取</span> <span *ngIf="item.status == 4">已驳回</span> <span float-right>时间:{{item.submitTime | date:'yyyy-MM-dd HH:mm:ss'}}</span> </p> <p> <span>申请人:{{item.applicantName}}</span> <span float-right>申请部门:{{item.orgName}}</span> </p> </div> <div class="goodsList"> <ng-container *ngFor="let goods of item.suppies"> <div class="goodsItem"> <div class="goods-img"> <img [src]="picture + goods.url"> </div> <div class="goods-info"> <p class="model"> {{goods.brand}}&nbsp;&nbsp;&nbsp; <span>{{goods.model}}</span> </p> <p> <span class="specs">规格: <span>{{goods.specs1}}</span> <span>{{goods.specs2}}</span> <span>{{goods.specs3}}</span> <span>{{goods.specs4}}</span> <span>{{goods.specs5}}</span> </span> <span class="amount">数量:{{goods.amount}}</span> </p> </div> </div> </ng-container> </div> </div></ion-content>
\ No newline at end of file
......
page-evaluation {
.main {
background-color: rgba(0, 0, 0, .4);
height: 100%;
}
.content {
position: relative;
height: 100%;
width: 100%;
}
.comment {
position: absolute;
width: 100%;
bottom: 0;
height: 60%;
background: #fff;
.order {
font-size: 1.6rem;
color: #333333;
background-color: #fff;
margin: 10px;
border-radius: 8px;
box-shadow: -5px 0px 5px 1px #f2f2f2, 0px -5px 5px 1px #f2f2f2, 5px 0px 5px 1px #f2f2f2, 0px 5px 5px 1px #f2f2f2;
.orderTips{
padding: 10px;
background-color: #fff1f0;
color: #e42417;
border-top-right-radius: 8px;
border-top-left-radius: 8px;
padding: 5px 15px;
.name {
padding: 20px 5px;
font-size: 2rem;
font-weight: bold;
font-size: 1.4rem;
p + p{
margin-top: 10px;
}
ion-icon {
font-size: 3rem;
font-weight: bold;
ion-checkbox{
vertical-align: bottom;
margin-right: 10px;
}
.p-name {
padding: 10px 5px;
font-weight: bold;
}
.detail-item {
margin-bottom: 10px;
margin-top: 10px;
span {
display: inline-block;
padding: 5px 20px;
background-color: #f2f2f2;
border-radius: 10px;
margin-right: 20px;
margin-bottom: 10px;
border: 1px solid #f2f2f2;
.goodsList{
padding: 10px;
border-bottom-right-radius: 8px;
border-bottom-left-radius: 8px;
}
span.select {
background-color: #fdf8f2;
border: 1px solid #e42417;
color: #e42417;
.model{
padding: 5px 0;
font-size: 1.4rem;
}
.specs {
color: #666666;
font-size: 1.3rem;
}
.choose-spces {
display: flex;
.amount {
color: #666666;
font-size: 1.3rem;
div:last-child {
margin-left: auto;
span {
margin-left: 5px;
}
}
}
.choose-num {
.goodsItem {
display: flex;
height: 40px;
line-height: 40px;
div:last-child {
margin-left: auto;
}
}
.img-star{
span{
color: #999999;
font-size: 2rem;
}
.goods-img {
width: 20%;
padding: 5px 10px 5px 5px;
}
.submit-btn {
position: absolute;
bottom: 20px;
margin-left: 8%;
.goods-info {
width: 80%;
}
}
}
......@@ -2,64 +2,37 @@ import {Component, ElementRef, Renderer2, ViewChild} from '@angular/core';
import {IonicPage, NavController, NavParams, ViewController} from 'ionic-angular';
import {ServeService} from "../../serve.service";
import {CommonService} from "../../../../provide/common.service";
import {AppGlobal} from "../../../../service/http.service";
@Component({
selector: 'page-evaluation',
templateUrl: 'evaluation.html',
})
export class EvaluationPage {
@ViewChild('starEle') starEle: ElementRef;
goods;
goodsId;
choose = {
amount: <any>'1',
brand: '',
officeId: '',
id: '',
model: '',
};
orderId;
orderList;
select = 0;
starList = new Array(5);
picture = AppGlobal.picture;
goodsDetail;
constructor(private viewCtrl: ViewController, private params: NavParams,
private renderer: Renderer2,
private serveSer: ServeService, private commonSer: CommonService) {
this.goodsId = this.params.get('goodsId');
this.goodsDetail = this.params.get('data');
if (this.goodsDetail) {
this.choose.amount = this.goodsDetail.amount;
}
this.serveSer.supplyDetail(this.goodsId).subscribe(
(res) => {
this.goods = res;
}
)
constructor(public navCtrl: NavController, public navParams: NavParams,
private serveSer:ServeService) {
}
checkStar(index) {
console.log(this.starEle);
this.select = index;
ionViewDidLoad() {
this.orderId = this.navParams.get('id');
this.getDetail();
}
close() {
this.viewCtrl.dismiss();
getDetail(){
const data = {
type:0,
parentId:this.orderId
}
stop(e) {
e.stopPropagation();
this.serveSer.searchSubmited(data).subscribe(
(res)=>{
this.orderList = res.list;
}
//提交
submit() {
this.choose.brand = this.goods.brand;
this.choose.officeId = this.goods.id;
if (this.goodsDetail) this.choose.id = this.goods.id; //购物车编辑
this.choose.model = this.goods.model;
console.log(this.choose);
this.viewCtrl.dismiss(this.choose);
)
}
}
......@@ -112,7 +112,7 @@ page-goods-collect {
}
.scroll-tab {
margin-right: 50px;
background-color: #fff;
}
.tabs-parent {
......
import {Injectable} from "@angular/core";import {HttpClient} from "@angular/common/http";import {Http} from "@angular/http";import {Observable} from "rxjs/Observable";import {AppGlobal} from "../../service/http.service";import {CommonService} from "../../provide/common.service"; @Injectable()export class ServeService { constructor( private http: HttpClient, //该请求 将结果转为json private commonSer: CommonService, private https: Http, //该请求不转json ) { } getAllOrganization(data): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/sysmanagement/org/getAllOrganization?' + this.commonSer.toQuery(data)); } /** 物品领用 **/ //办公用品列表 searchSupplies(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/officesupplies/searchSupplies', this.commonSer.toFormData(data)); } //物品详情 supplyDetail(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/detail/' + params); } //保存订单 saveOrder(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/saveOrder', data); } //查询订单 myOrder(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/myOrder', this.commonSer.toFormData(data)); } //类型列表 getTypeList(): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/officesupplies/getTypeList', null); } //购物车 shoppingCar(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/shoppingCar', this.commonSer.toFormData(data)); } //更新购物车 saveOrderSuppy(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/saveOrderSuppy', data); } //删除购物车物品 deleteOrderSuppy(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/deleteOrderSuppy/' + params); } //申请审核 dealOrder(data, params): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/dealOrder/' + params, this.commonSer.toFormData(data)); } //查询未提交的 searchUnsubmit(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/searchUnsubmit', this.commonSer.toFormData(data)); } //查询已提交的 searchSubmited(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/searchSubmited', this.commonSer.toFormData(data)); } /** 会议室预定 **/ queryMeetingRoomByDate(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/queryMeetingRoomByDate', this.commonSer.toFormData(data)); } //预定详情 meetDetail(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/detail/' + params); } //会议室列表 getRoomList(): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/getRoomList', null); } //部领导列表 getLeaders(): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/getLeaders', null); } //保存会议申请 saveApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/saveApply', data); } //我的预定列表 queryMyApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/queryMyApply', this.commonSer.toFormData(data)); } //取消预定 cancelApply(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/cancel/' + params); } //查询已审核/未审核的申请 searchCheckList(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup//modules/meetingapply/searchCheckList', this.commonSer.toFormData(data)); } //审核通过/驳回 meetOperate(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/operate', this.commonSer.toFormData(data)); } /** 用车申请 **/ //保存申请 saveCarApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/carapply/saveApply', data); } //获取司机 getCarList(): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/carapply/getCarList'); } //获取车辆 getDriverList(): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/carapply/getDriverList'); } //根据日期查询用车信息 queryCarApplyByDate(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/carapply/queryCarApplyByDate', this.commonSer.toFormData(data)); } //查询用车申请详情 carDetail(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/carapply/detail/' + params,); } //我的申请 myCarApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/carapply/myApply', this.commonSer.toFormData(data)); } //取消申请 cancelCarApply(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/carapply/cancel/' + params,); } //查询已审核/未审核的申请 searchCarCheckList(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup//modules/carapply/searchCheckList', this.commonSer.toFormData(data)); } //审核通过/驳回 carOperate(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/carapply/operate', data); } /*****理发********/ //保存理发预约 saveHairApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/haircut/saveApply', data); } //取消预约 cancelHair(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/haircut/cancel/' + params,); } //预约详情 hairApplyDetail(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/haircut/detail/' + params,); } //根据日期查询预约信息 queryAppointmentByDate(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/haircut/queryAppointmentByDate', this.commonSer.toFormData(data)); } //我的预约 myAppointment(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/haircut/myAppointment', this.commonSer.toFormData(data)); } /**访客登记**/ //查询访客 searchVisitor(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/visitor/searchVisitor', this.commonSer.toFormData(data)); } //保存访客 saveVisitorApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/visitor/save', data); } //查询访客 editVisitorApply(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/visitor/editVisitor/' + params); } }
\ No newline at end of file
import {Injectable} from "@angular/core";import {HttpClient} from "@angular/common/http";import {Http} from "@angular/http";import {Observable} from "rxjs/Observable";import {AppGlobal} from "../../service/http.service";import {CommonService} from "../../provide/common.service"; @Injectable()export class ServeService { constructor( private http: HttpClient, //该请求 将结果转为json private commonSer: CommonService, private https: Http, //该请求不转json ) { } getAllOrganization(data): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/sysmanagement/org/getAllOrganization?' + this.commonSer.toQuery(data)); } /** 物品领用 **/ //办公用品列表 searchSupplies(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/officesupplies/searchSupplies', this.commonSer.toFormData(data)); } //物品详情 supplyDetail(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/detail/' + params); } //保存订单 saveOrder(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/saveOrder', data); } //查询订单 myOrder(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/myOrder', this.commonSer.toFormData(data)); } //类型列表 getTypeList(): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/officesupplies/getTypeList', null); } //购物车 shoppingCar(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/shoppingCar', this.commonSer.toFormData(data)); } //更新购物车 saveOrderSuppy(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/saveOrderSuppy', data); } //删除购物车物品 deleteOrderSuppy(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/deleteOrderSuppy/' + params); } //申请审核 dealOrder(data, params): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/dealOrder/' + params, this.commonSer.toFormData(data)); } //查询未提交的 searchUnsubmit(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/searchUnsubmit', this.commonSer.toFormData(data)); } //查询已提交的 searchSubmited(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/ordermanage/searchSubmited', this.commonSer.toFormData(data)); } /** 会议室预定 **/ queryMeetingRoomByDate(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/queryMeetingRoomByDate', this.commonSer.toFormData(data)); } //预定详情 meetDetail(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/detail/' + params); } //会议室列表 getRoomList(): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/getRoomList', null); } //部领导列表 getLeaders(): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/getLeaders', null); } //保存会议申请 saveApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/saveApply', data); } //我的预定列表 queryMyApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/queryMyApply', this.commonSer.toFormData(data)); } //取消预定 cancelApply(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/cancel/' + params); } //查询已审核/未审核的申请 searchCheckList(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup//modules/meetingapply/searchCheckList', this.commonSer.toFormData(data)); } //审核通过/驳回 meetOperate(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/meetingapply/operate', this.commonSer.toFormData(data)); } /** 用车申请 **/ //保存申请 saveCarApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/carapply/saveApply', data); } //获取司机 getCarList(): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/carapply/getCarList'); } //获取车辆 getDriverList(): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/carapply/getDriverList'); } //根据日期查询用车信息 queryCarApplyByDate(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/carapply/queryCarApplyByDate', this.commonSer.toFormData(data)); } //查询用车申请详情 carDetail(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/carapply/detail/' + params,); } //我的申请 myCarApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/carapply/myApply', this.commonSer.toFormData(data)); } //取消申请 cancelCarApply(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/carapply/cancel/' + params,); } //查询已审核/未审核的申请 searchCarCheckList(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup//modules/carapply/searchCheckList', this.commonSer.toFormData(data)); } //审核通过/驳回 carOperate(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/carapply/operate', data); } /*****理发********/ //保存理发预约 saveHairApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/haircut/saveApply', data); } //取消预约 cancelHair(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/haircut/cancel/' + params,); } //预约详情 hairApplyDetail(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/haircut/detail/' + params,); } //根据日期查询预约信息 queryAppointmentByDate(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/haircut/queryAppointmentByDate', this.commonSer.toFormData(data)); } //我的预约 myAppointment(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/haircut/myAppointment', this.commonSer.toFormData(data)); } /**访客登记**/ //查询访客 searchVisitor(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/visitor/searchVisitor', this.commonSer.toFormData(data)); } //保存访客 saveVisitorApply(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/visitor/save', data); } //访客登记详情 editVisitorApply(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/visitor/editVisitor/' + params); } //我的访客 myVisitor(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/visitor/myVisitor', data); } //根据日期查询访客登记 findVisitorByDate(params): Observable<any> { return this.http.get(AppGlobal.domain + '/wisdomgroup/modules/visitor/findVisitorByDate' + params); } /** 业务制度 **/ //业务制度详情 businessDetail(params): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/businessystem/detail/' + params, null); } //查询业务制度列表 searchBusinessSystem(data): Observable<any> { return this.http.post(AppGlobal.domain + '/wisdomgroup/modules/businessystem/searchBusinessSystem', data); } }
\ No newline at end of file
......
......@@ -13,7 +13,7 @@ import {PersonMulComponent} from "../../../../components/person-mul/person-mul";
})
export class VistorApplyPage {
obj =<any> {
obj = <any>{
visitorName: '',
visitorOrg: '',
carNumber: '',
......@@ -77,14 +77,14 @@ export class VistorApplyPage {
}
if (checkBool) return false;
this.obj.visitTime = this.datePipe.transform(this.obj.visitTime,'yyyy-MM-dd HH:mm');
if(this.applyId) this.obj.id = this.applyId;
this.obj.visitTime = new Date(this.obj.visitTime).getTime();
if (this.applyId) this.obj.id = this.applyId;
this.commonSer.alert('确定提交登记?', () => {
this.serveSer.saveVisitorApply(this.obj).subscribe(
(res) => {
if (res.errcode == 1000) {
this.navCtrl.pop()
this.navCtrl.pop();
this.commonSer.toast('访客登记成功');
} else {
this.commonSer.toast(res.errmsg);
......
......@@ -4,7 +4,7 @@
<ion-title>访客登记</ion-title>
<ion-buttons end>
<button ion-button (click)="goApply(null)">
<ion-icon class="top-right-icon icon-fabu iconfont"></ion-icon>
<ion-icon style="font-size: 2rem" class="top-right-icon icon-fabu iconfont"></ion-icon>
</button>
</ion-buttons>
</ion-navbar>
......@@ -92,7 +92,12 @@
<ion-item-sliding class="apply" *ngFor="let item of applyList">
<ion-item>
<p>
访客名称:{{item.visitorName}}
<span>
访客名称:
<span>
{{item.visitorName}}
</span>
</span>
<span float-end>访问时间:
<span>{{item.visitTime | date:'yyyy-MM-dd HH:mm'}}</span>
</span>
......
......@@ -138,16 +138,8 @@ export class VistorRegisterPage {
//新增申请
goApply(item) {
if (this.role.includes(0)) return false;
let data;
if (item) {
data = {
roomId: item.id,
roomName: item.name,
startTime: this.selectDate + ' 9:00:00',
};
}
this.navCtrl.push(RoomApplyPage, {data: data});
this.navCtrl.push(VistorApplyPage);
}
}
......@@ -75,7 +75,7 @@
</div>
<div class="fixed-toolbar">
<div class="tabs-fixed">
<div class="scroll-tab">
<div class="scroll-tab" style="padding: 0;background-color:#fff;">
<div class="news-content" #newsContent>
<div class="tabs-parent">
<div class="tabs-child">
......@@ -85,6 +85,9 @@
</div>
</div>
</div>
<span class="more" (click)="moreParty()">
<ion-icon name="list"></ion-icon>
</span>
</div>
</div>
</div>
......
......@@ -231,9 +231,11 @@ export class DiscoverPage {
itemWidth;
spanWidth;
branchList; //党支部列表
constructor(public navCtrl: NavController, public navParams: NavParams,
public commonSer: CommonService, public renderer: Renderer2,
public zone: NgZone, public storage: Storage,private modalCtrl: ModalController,
public zone: NgZone, public storage: Storage, private modalCtrl: ModalController,
public tabsSer: TabsService, public emitSer: EmitService) {
// 接收发射过来的数据
this.emitSer.eventEmit.subscribe((value: any) => {
......@@ -250,6 +252,7 @@ export class DiscoverPage {
this.initSwiper();
this.getBanner();
this.scrollHeight();
this.getBranch();
timer(20).subscribe(() => {
const htmlFontSize = getComputedStyle(window.document.documentElement)['font-size'];
this.itemWidth = htmlFontSize.split("px")[0] * 8;
......@@ -266,6 +269,15 @@ export class DiscoverPage {
}
}
//获取党支部
getBranch() {
this.tabsSer.getBranchList().subscribe(
(res) => {
this.branchList = res.data;
}
)
}
public dragTo(e) {
if (e.target.scrollLeft > window.screen.width / 3) {
this.toRight = false;
......@@ -417,7 +429,6 @@ export class DiscoverPage {
});
this.slides.slideTo(this.indexParent, 500);
this.slideList[this.indexParent] = this.newList;
console.log(this.newList);
}
)
}
......@@ -514,7 +525,7 @@ export class DiscoverPage {
//上拉加载更多
doInfinite(e) {
console.log('doInfinite:'+this.slideList[this.indexParent].length);
console.log('doInfinite:' + this.slideList[this.indexParent].length);
if (this.totalNum == this.slideList[this.indexParent].length || this.totalNum < this.slideList[this.indexParent].length) {
e.complete();
return false;
......@@ -620,7 +631,7 @@ export class DiscoverPage {
}
//多模块
moreTab(){
moreTab() {
let modal = this.modalCtrl.create(FilterComponent, {list: this.tabsList, type: this.obj.plateType}, {
enterAnimation: 'modal-from-right-enter',
leaveAnimation: 'modal-from-right-leave'
......@@ -633,5 +644,18 @@ export class DiscoverPage {
modal.present();
}
moreParty() {
let modal = this.modalCtrl.create(FilterComponent, {list: this.branchList, type: this.obj.plateType}, {
enterAnimation: 'modal-from-right-enter',
leaveAnimation: 'modal-from-right-leave'
});
modal.onDidDismiss(data => {
if (data) {
this.changeParent(data)
}
});
modal.present();
}
}
......@@ -56,7 +56,7 @@
<label class="label2-2 more2-2">值班管理</label>
</div>
</div>
<div (click)="goTo('LearningListPage')">
<div (click)="goTo('BusinessUnitPage')">
<div class="card">
<img src="./assets/imgs/home/icon-ywzd.png">
<label class="label2-2 more2-2">业务制度</label>
......
......@@ -213,4 +213,9 @@ export class TabsService {
updatePassword(data): Observable<any> {
return this.http.post(AppGlobal.domain + '/wisdomgroup/manager/updatePassword', this.commonSer.toFormData(data));
}
//获取党支部
getBranchList(): Observable<any> {
return this.http.get(AppGlobal.domain + '/wisdomgroup/sysmanagement/org/getBranchList');
}
}
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