import { computed } from 'vue';
import { useDropDownDataStore } from "@/store/dropDownData"

/**
 * 汇总下拉框列表数据
 * 
 * @returns feeItemLists 费用类型列表
 * @returns countTypeList 算法列表
 * @returns unitTypeList 计费参数
 * @returns packageTypeList 包装类型
 * @returns portInfoList 口岸编号
 * @returns countryList 国家/地区列表
 * @returns calculateUnitList 计量
 * @returns specialParametersList 特殊参数
 * @returns weightArithmeticList 重量计算方式列表
 * @returns specialFeeItemList 特使费用类型
 * @returns parametersList 计费参数
 * @returns pickValueTypeList 取值对比
 * @returns unitTypeIntegerList 计算符号
 * @returns productList 产品名称
 * @returns branchCompanyCustomers 公司
 * @returns customertList 客户列表
 * @returns feeSetTypeList 费用类型
 * @returns currencyList 币种
 * @returns feeItemTypeList 费用类型
 * @returns feeItemSpecialFlagList 特殊费用
 * @returns allProvidersList 服务商列表
 * @returns deliverChannelList 成本产品列表
 * @returns shareTypeList 分摊方式
 * @returns cycleTypecist 周期类型
 * @returns feeItemGetTypeList 取值类型
 * @returns unitTypeParamList 计算符号
 * @returns customerTypeList 费用类型
 * @returns costFeeItemList 成本费用类型
 * @returns operatingTypeList 费用操作类型
 * @returns feeDataTypeList 费用数据类型
 * @returns feeQueryTypeList 费用查询类型
 * @returns reportModelTypeList 报表模板类型
 * @returns reportQueryDateTypeList 查询时间类型
 * @returns companyEntityTypeList 主体类型
 * @returns airBusinessTypeList 航空业务类型
 * @returns airCompanyList 航空公司
 * @returns compareTypeList 大货比价类型
 * @returns mpsCountFeeTypeList 一票多件计费方式
 * @returns accountPeriodTypeList 账期类型
 * @returns customerBillStatusList 客户账单状态
 * @returns mpsParametersList 偏远计算符号列表
 * @returns remoteSurveyTypeList 是否是偏远
 * @returns copyDataTypeList 拷贝数据类型列表
 * @returns paymentPlatformList 支付平台下拉框数据
 * @returns allPaymentPlatformList 支付方式列表数据
 * @returns profitStatusList 盈利状态列表
 */
export function useDropDownData() {
    // 状态数据
    const storeDropDownData = useDropDownDataStore()
    // 费用类型列表
    const feeItemLists = computed(() => storeDropDownData.getFeeItemList)
    // 算法列表
    const countTypeList = computed(() => storeDropDownData.getCountTypeList)
    // 计费参数
    const unitTypeList = computed(() => storeDropDownData.getUnitTypeList)
    // 包装类型
    const packageTypeList = computed(() => storeDropDownData.getPackageTypeList)
    // 口岸编号
    const portInfoList = computed(() => storeDropDownData.getPortInfoList)
    // 国家/地区列表 
    const countryList = computed(() => storeDropDownData.getCountryList)
    // 计量
    const calculateUnitList = computed(() => storeDropDownData.getCalculateUnitList)
    // 特殊参数
    const specialParametersList = computed(() => storeDropDownData.getSpecialParametersList)
    // 重量计算方式列表
    const weightArithmeticList = computed(() => storeDropDownData.getWeightArithmeticList)
    // 计费参数
    const parametersList = computed(() => storeDropDownData.getParametersList)
    // 取值对比
    const pickValueTypeList = computed(() => storeDropDownData.getPickValueTypeList)
    // 计算符号
    const unitTypeIntegerList = computed(() => storeDropDownData.getUnitTypeIntegerList)
    // 产品名称
    const productList = computed(() => storeDropDownData.getProductList)
    // 公司
    const branchCompanyCustomers = computed(() => storeDropDownData.getBranchCompanyCustomers)
    // 客户列表
    const customertList = computed(() => storeDropDownData.getCustomertList)
    // 费用类型
    const feeSetTypeList = computed(() => storeDropDownData.getFeeSetTypeList)
    // 币种
    const currencyList = computed(() => storeDropDownData.getCurrencyList)
    // 费用类型
    const feeItemTypeList = computed(() => storeDropDownData.getFeeItemTypeList)
    // 特殊费用
    const feeItemSpecialFlagList = computed(() => storeDropDownData.getFeeItemSpecialFlagList)
    // 服务商列表
    const allProvidersList = computed(() => storeDropDownData.getAllProvidersList)
    // 成本产品列表
    const deliverChannelList = computed(() => storeDropDownData.getDeliverChannelList)
    // 分摊方式
    const shareTypeList = computed(() => storeDropDownData.getShareTypeList)
    // 周期类型
    const cycleTypecist = computed(() => storeDropDownData.getCycleTypeList)
    // 取值类型
    const feeItemGetTypeList = computed(() => storeDropDownData.getFeeItemGetTypeList)
    //特使费用类型
    const specialFeeItemList = computed(() => storeDropDownData.getspecialFeeItemList)
    // 计算符号
    const unitTypeParamList = computed(() => storeDropDownData.getUnitTypeParamList)
    // 费用类型
    const customerTypeList = computed(() => storeDropDownData.getCustomerTypeList)
    // 成本费用类型
    const costFeeItemList = computed(() => storeDropDownData.getCostFeeItemList)
    // 费用操作类型
    const operatingTypeList = computed(() => storeDropDownData.getOperatingTypeList)
    // 费用数据类型
    const feeDataTypeList = computed(() => storeDropDownData.getFeeDataTypeList)
    // 费用查询类型
    const feeQueryTypeList = computed(() => storeDropDownData.getFeeQueryTypeList)
    // 报表模板类型
    const reportModelTypeList = computed(() => storeDropDownData.getReportModelTypeList)
    // 查询时间类型
    const reportQueryDateTypeList = computed(() => storeDropDownData.getReportQueryDateTypeList)
    // 主体类型
    const companyEntityTypeList = computed(() => storeDropDownData.getCompanyEntityTypeList)
    // 航空业务类型
    const airBusinessTypeList = computed(() => storeDropDownData.getAirBusinessTypeList)
    // 航空公司
    const airCompanyList = computed(() => storeDropDownData.getAirCompanyList)
    // 大货比价类型
    const compareTypeList = computed(() => storeDropDownData.getCompareTypeList)
    // 一票多件计费方式
    const mpsCountFeeTypeList = computed(() => storeDropDownData.getMpsCountFeeTypeList)
    // 账期类型
    const accountPeriodTypeList = computed(() => storeDropDownData.getAccountPeriodTypeList)
    // 客户账单状态
    const customerBillStatusList = computed(() => storeDropDownData.getcustomerBillStatusList)
    // 获取偏远计算符号列表
    const mpsParametersList = computed(() => storeDropDownData.getMpsParametersList)
    // 是否是偏远
    const remoteSurveyTypeList = computed(() => storeDropDownData.getRemoteSurveyTypeList)
    // 拷贝数据类型列表
    const copyDataTypeList = computed(() => storeDropDownData.getCopyDataTypeList)
    // 支付平台下拉框数据
    const paymentPlatformList = computed(() => storeDropDownData.getPaymentPlatformList)
    // 支付方式列表数据
    const allPaymentPlatformList = computed(() => storeDropDownData.getAllPaymentPlatformList)
    // 盈利状态列表
    const profitStatusList = computed(() => storeDropDownData.getProfitStatusList)
    
    return {
        storeDropDownData,
        feeItemLists,
        countTypeList,
        unitTypeList,
        packageTypeList,
        portInfoList,
        countryList,
        calculateUnitList,
        specialParametersList,
        specialFeeItemList,
        weightArithmeticList,
        parametersList,
        pickValueTypeList,
        unitTypeIntegerList,
        productList,
        branchCompanyCustomers,
        customertList,
        feeSetTypeList,
        currencyList,
        feeItemTypeList,
        feeItemSpecialFlagList,
        allProvidersList,
        deliverChannelList,
        shareTypeList,
        cycleTypecist,
        feeItemGetTypeList,
        unitTypeParamList,
        customerTypeList,
        costFeeItemList,
        operatingTypeList,
        feeDataTypeList,
        feeQueryTypeList,
        reportModelTypeList,
        reportQueryDateTypeList,
        companyEntityTypeList,
        airBusinessTypeList,
        airCompanyList,
        compareTypeList,
        mpsCountFeeTypeList,
        accountPeriodTypeList,
        customerBillStatusList,
        mpsParametersList,
        remoteSurveyTypeList,
        copyDataTypeList,
        paymentPlatformList,
        allPaymentPlatformList,
        profitStatusList
    }
}