//
//  PrintListMgVc.swift
//  GeliBusinessPlatform
//
//  Created by junye lu on 2021/1/18.
//  Copyright © 2021 junye lu. All rights reserved.
//

import UIKit
import Parchment
import LGButton

class PrintListMgVc: BaseViewController, PagingViewControllerDelegate,UIPrintInteractionControllerDelegate {
    let web_vc = WebViewController()
    @IBAction func check_detail(_ sender: UIButton) {
        web_vc.titleStr = "打印预览"
        web_vc.urlStr = "https://www.baidu.com"
        self.navigationController?.pushViewController(web_vc, animated: true)
        
    }
    @IBAction func print_action(_ sender: LGButton) {
        
        let pc = UIPrintInteractionController.shared
        // 打印任务相关信息
        let printInfo = UIPrintInfo(dictionary:nil)
        printInfo.outputType = UIPrintInfo.OutputType.general
        printInfo.jobName = "my print Job"
        pc.printInfo = printInfo
        pc.delegate = self
        
        if userName != "不二制油" { //普通
            let formatter = web_vc.wkWebView.viewPrintFormatter()
            pc.printFormatter = formatter
            formatter.startPage = 0
            pc.present(animated: true) { (printer, result, err) in
                print(result)
            }
        }else{//不二
            let vc = viewControllers[selectIndex]
            if selectIndex != 0 {
                print(vc.FM_str,vc.detail_adr_str,vc.phone_str,vc.contect_str)
            }
        }
        
        
    }
    @IBOutlet weak var contentV: UIView!
    
    
    fileprivate let cities = [
        "普通订单打印",
        "订货单打印模版1",
        "订货单打印模版2"
    ]
    
    
    let viewControllers = [
        PrintViewController(title: "普通订单打印"),
        PrintViewController(title: "订货单打印模版1"),
        PrintViewController(title: "订货单打印模版2")
    ]
    var selectIndex = 0
    //头部滚动视图
    weak var pagingVC : PagingViewController?
    
    @IBOutlet weak var holder_img: UIImageView!
    let UserToken = UserDefaults.standard.value(forKey: "user_token")
    let userName = UserDefaults.standard.string(forKey: "userName")
    
    @IBOutlet weak var normal_type_btn: UIButton!
    override func viewDidLoad() {
        super.viewDidLoad()
        navbar.title = "打印模版确认"
        navbar.lineView.isHidden = true
        self.view.addSubview(navbar)
        SetTopFrameView(view: contentV, btmView: self.view)
        
        if userName != "不二制油" {
            normal_type_btn.isHidden = false
        }else{
            normal_type_btn.isHidden = true
            let pagingViewController = PagingViewController(viewControllers: viewControllers)
            pagingViewController.indicatorColor = UIColor.init(named: "蓝色字体颜色")!
            pagingViewController.menuItemSize = .fixed(width: 0, height: 44*glscale)
            pagingViewController.font = UIFont.systemFont(ofSize: 13)
            pagingViewController.selectedFont = UIFont.systemFont(ofSize: 13)
            pagingViewController.textColor = UIColor.init(named: "灰色字体颜色")!
            pagingViewController.selectedTextColor = UIColor.init(named: "蓝色字体颜色")!
            pagingViewController.delegate = self
            pagingViewController.dataSource = self
            pagingViewController.sizeDelegate = self
            addChild(pagingViewController)
            contentV.addSubview(pagingViewController.view)
            contentV.backgroundColor = UIColor(named: "app底色")!
            contentV.constrainToEdges(pagingViewController.view)
            pagingViewController.didMove(toParent: self)
            pagingVC = pagingViewController
        }
        holder_img.isHidden = normal_type_btn.isHidden
        
        
        
        // Do any additional setup after loading the view.
    }
    
    @IBOutlet weak var btm_lbl: UILabel!
    func pagingViewController(
        _ pagingViewController: PagingViewController,
        didScrollToItem pagingItem: PagingItem,
        startingViewController: UIViewController?,
        destinationViewController: UIViewController,
        transitionSuccessful: Bool){
        if transitionSuccessful {
            guard let item = pagingItem as? PagingIndexItem else { return}
            if selectIndex != item.index {
                selectIndex = item.index
                
            }
        }
    }
    
    
}

extension PrintListMgVc: PagingViewControllerDataSource {
    
    func pagingViewController(_: PagingViewController, pagingItemAt index: Int) -> PagingItem {
        return PagingIndexItem(index: index, title: cities[index])
    }
    
    func pagingViewController(_: PagingViewController, viewControllerAt index: Int) -> UIViewController {
        return viewControllers[index]
    }
    
    func numberOfViewControllers(in pagingViewController: PagingViewController) -> Int {
        return cities.count
    }
    
}

extension PrintListMgVc: PagingViewControllerSizeDelegate {
    
    
    func pagingViewController(_ pagingViewController: PagingViewController, widthForPagingItem pagingItem: PagingItem, isSelected: Bool) -> CGFloat {
        
        return ScreenWidth/2.5
    }
    
}