package com.wd.workoffice.ui.activity.bat.order;

import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;

import com.google.android.material.tabs.TabLayout;
import com.wd.workoffice.R;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.workEnum.OrderType;
import com.wd.workoffice.bean.workEnum.PagePermissionType;
import com.wd.workoffice.ui.adapter.VpDataAdapter;
import com.wd.workoffice.ui.fg.UseApplyFragment;
import com.wd.workoffice.util.WorkUtils;

import java.util.ArrayList;
import java.util.List;

import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.viewpager.widget.ViewPager;
import butterknife.BindView;
import butterknife.ButterKnife;

/**
 * 领用列表
 * author : flexible
 * email : lgd19940421@163.com
 * github: https://github.com/FlexibleXd
 **/
public class UseApplyActivity extends WorkToolBarActivity {

    @BindView(R.id.tl_tab)
    TabLayout tlTab;
    @BindView(R.id.vp_data)
    ViewPager vpData;
    private String tab[] = {
            "待审核", "已通过", "已驳回"};
    private String order[] = {
            "0", "1", "2"};

    @Override
    protected void initView() {
        ButterKnife.bind(this);
        tlTab.setupWithViewPager(vpData);
        tlTab.setTabMode(TabLayout.MODE_FIXED);
    }

    @Override
    protected void initData() {
        FragmentManager sfm = getSupportFragmentManager();
        List<Fragment> data = new ArrayList<>();
        for (int i = 0; i < tab.length; i++) {
            UseApplyFragment saleFragment = new UseApplyFragment();
            Bundle bundle = new Bundle();
            bundle.putString("state", order[i]);
            bundle.putString("orderId", getIntent().getStringExtra("orderId"));
            bundle.putString("productId", getIntent().getStringExtra("productId"));
            bundle.putString("orderType", getIntent().getStringExtra("orderType"));
            bundle.putString("simpleCode", getIntent().getStringExtra("simpleCode"));
            bundle.putString("product", getIntent().getStringExtra("product"));
            bundle.putString("orderItemId", getIntent().getStringExtra("orderItemId"));
            bundle.putString("usedStore", getIntent().getStringExtra("usedStore"));
            saleFragment.setArguments(bundle);
            data.add(saleFragment);

        }
        VpDataAdapter vpFgAdapter = new VpDataAdapter(sfm, data);
        vpData.setAdapter(vpFgAdapter);
        for (int i = 0; i < tab.length; i++) {
            tlTab.getTabAt(i).setText(tab[i]);
        }
    }

    @Override
    protected void initEvent() {
    }

    @Override
    protected int layoutId() {
        return R.layout.activity_order;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        String orderType = getIntent().getStringExtra("orderType");
        String num = getIntent().getStringExtra("num");
        if (Double.valueOf(num) == 0d) {
            return super.onCreateOptionsMenu(menu);
        }
        if (TextUtils.equals(orderType, OrderType.SALE.getCode())) {
            if (WorkUtils.hasPermission(PagePermissionType.SO_USE_APPLY_SAVE.getPermission())) {
                getMenuInflater().inflate(R.menu.menu_add, menu);
            }
        } else if (TextUtils.equals(orderType, OrderType.BUILD.getCode())) {
            if (WorkUtils.hasPermission(PagePermissionType.AO_USE_APPLY_SAVE.getPermission())) {
                getMenuInflater().inflate(R.menu.menu_add, menu);
            }
        } else if (TextUtils.equals(orderType, OrderType.OUT_BUY.getCode())) {
            if (WorkUtils.hasPermission(PagePermissionType.PO_USE_APPLY_SAVE.getPermission())) {
                getMenuInflater().inflate(R.menu.menu_add, menu);
            }
        }
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.add:
                startActivity(UseApplyAddActivity.class,
                        "num", getIntent().getStringExtra("num"),
                        "customerId",getIntent().getStringExtra("customerId"),
                        "orderType", getIntent().getStringExtra("orderType"),
                        "productId", getIntent().getStringExtra("productId"),
                        "orderItemId", getIntent().getStringExtra("orderItemId"),
                        "simpleCode", getIntent().getStringExtra("simpleCode"),
                        "usedStoreName", getIntent().getStringExtra("usedStoreName"),
                        "id", getIntent().getStringExtra("orderId"));
                break;
        }
        return super.onOptionsItemSelected(item);
    }
}
