Skip to content
goods-verify.ts 4.85 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams} from 'ionic-angular';
import {ServeService} from "../../serve.service";
import {CommonService} from "../../../../provide/common.service";
wangqinghua's avatar
wangqinghua committed
import {AppMainService} from "../../../../app/app.service";
wangqinghua's avatar
wangqinghua committed
import {AppGlobal} from "../../../../service/http.service";
wangqinghua's avatar
wangqinghua committed
import {OrderDetailPage} from "../order-detail/order-detail";
wangqinghua's avatar
wangqinghua committed
import {timer} from "rxjs/observable/timer";
wangqinghua's avatar
wangqinghua committed


@Component({
    selector: 'page-goods-verify',
    templateUrl: 'goods-verify.html',
})
export class GoodsVerifyPage {

    changeType = 1;
    doneList = [];
    noList = [];
wangqinghua's avatar
wangqinghua committed
    deliveryList = [];
wangqinghua's avatar
wangqinghua committed

    chooseObj = [];
    footerView = false;
    checkAll = false;

wangqinghua's avatar
wangqinghua committed
    role = [];

    params;
    type;

wangqinghua's avatar
wangqinghua committed
    picture = AppGlobal.picture;
wangqinghua's avatar
wangqinghua committed
    mineInfo;
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    constructor(public navCtrl: NavController, public navParams: NavParams, private appMainSer: AppMainService,
wangqinghua's avatar
wangqinghua committed
                private serveSer: ServeService, private commonSer: CommonService) {
    }

    ionViewDidLoad() {
        this.footerView = true;
wangqinghua's avatar
wangqinghua committed
        //获取权限
        this.appMainSer.role.subscribe(value => {
                this.role = value;
                console.log(value);
                if (this.role.includes(1)) {  //内勤
                    this.type = 1;
                    this.params = 2;
                }
                if (this.role.includes(6)) {  //耗材管理员
                    this.type = 2;
                    this.params = 3;
                }
                this.getUnsubmit();
            }
        );
wangqinghua's avatar
wangqinghua committed

        //获取个人信息
        this.appMainSer.mineInfo.subscribe(value => {
            this.mineInfo = value;
        })
wangqinghua's avatar
wangqinghua committed
    }

    ionViewWillLeave() {
        this.footerView = false;
    }

wangqinghua's avatar
wangqinghua committed
    //待提交
wangqinghua's avatar
wangqinghua committed
    getUnsubmit() {
wangqinghua's avatar
wangqinghua committed
        this.checkAll = false;
wangqinghua's avatar
wangqinghua committed
        this.changeType = 1;
        this.footerView = true;
        const data = {
            P_pageNumber: 1,
wangqinghua's avatar
wangqinghua committed
            P_pageSize: 1000,
wangqinghua's avatar
wangqinghua committed
            type: this.type,
wangqinghua's avatar
wangqinghua committed
        };
        this.serveSer.searchUnsubmit(data).subscribe(
            (res) => {
                this.noList = res.list;
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
    //已提交
wangqinghua's avatar
wangqinghua committed
    getSubmited() {
        this.changeType = 2;
        this.footerView = false;
        const data = {
            P_pageNumber: 1,
wangqinghua's avatar
wangqinghua committed
            P_pageSize: 1000,
wangqinghua's avatar
wangqinghua committed
            type: this.type,
wangqinghua's avatar
wangqinghua committed
        };
wangqinghua's avatar
wangqinghua committed
        this.serveSer.searchSubmitedForApp(data).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                this.doneList = res.list;
            }
        )
    }

wangqinghua's avatar
wangqinghua committed
    //待领取
    getDelivery() {
        this.changeType = 3;
        this.footerView = false;
        const data = {
            P_pageNumber: 1,
wangqinghua's avatar
wangqinghua committed
            P_pageSize: 1000,
wangqinghua's avatar
wangqinghua committed
            type: this.type,
        };
        this.serveSer.searchDelivery(data).subscribe(
            (res) => {
                this.deliveryList = res.list;
            }
        )
    }

    delivery(item) {
        const data = {
            idStr: item.id
        };
        this.commonSer.alert("确定发放?", () => {
            this.serveSer.delivery(data).subscribe(
                (res) => {
                    this.getDelivery();
                    this.getSubmited();
                }
            )
        });
    }

wangqinghua's avatar
wangqinghua committed
    doRefresh(e) {
wangqinghua's avatar
wangqinghua committed
        if(this.changeType == 1)  this.getUnsubmit();
        if(this.changeType == 2)  this.getSubmited();
        if(this.changeType == 3)  this.getDelivery();
        timer(1000).subscribe(() => e.complete());
wangqinghua's avatar
wangqinghua committed
    }

    doInfinite(e) {
        e.complete()
    }

    //单选
    changeCheck(goods) {
        const index = this.chooseObj.indexOf(goods.id);
        if (index > -1) {
            this.chooseObj.splice(index, 1);
        } else {
            this.chooseObj.push(goods.id);
        }
wangqinghua's avatar
wangqinghua committed
        this.checkAll = this.chooseObj.length === this.noList.length;
wangqinghua's avatar
wangqinghua committed
    }

    //全选
    selectAll(e) {
        this.chooseObj = [];
        if (e == false) {
            this.noList.forEach(e => {
                e.checkbox = false;
            })
        } else {
            this.noList.forEach(e => {
                e.checkbox = true;
                this.chooseObj.push(e.id);
            })
        }
    }

    //提交
    submit(operateFlag) {
wangqinghua's avatar
wangqinghua committed
        if (this.chooseObj.length == 0) {
wangqinghua's avatar
wangqinghua committed
            this.commonSer.toast('请选择申请');
            return false;
        }
wangqinghua's avatar
wangqinghua committed
        const data = {
            idStr: this.chooseObj.join(','),
            operateFlag: operateFlag,
        };
        let msg = operateFlag == 1 ? '确定通过所选申请' : '确定退回所选申请';
        this.commonSer.alert(msg, () => {
wangqinghua's avatar
wangqinghua committed
            this.serveSer.dealOrder(data, this.params).subscribe(
wangqinghua's avatar
wangqinghua committed
                (res) => {
                    this.getSubmited();
                    this.getUnsubmit();
                }
            )
        })
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
    //订单详情
wangqinghua's avatar
wangqinghua committed
    goDetail(item) {
        this.navCtrl.push(OrderDetailPage, {id: item.id});