import { defineStore } from 'pinia'
import { ref, getCurrentInstance, ComponentPublicInstance } from 'vue'
import { getConsultation_information_list, getPrescription_list } from '../api'
import { } from '../types'

export const useOrderStore = defineStore(
  'order',
  () => {

    const { proxy } = getCurrentInstance() as { proxy: ComponentPublicInstance }

    const orderState = ref<number>(0) // 0 问诊订单 1 处方订单

    const subOrderState = ref<number>(0)

    const page = ref(1)

    const orderList = ref([])

    const orderStateList = ref([
      {
        title: '问诊订单',
        data: [{ name: '全部' }, { name: '待问诊' }, { name: '问诊中' }, { name: '问诊结束' }, { name: '已取消' }]
      },
      {
        title: '处方订单',
        data: [{ name: '全部' }, { name: '待支付' }, { name: '待发货' }, { name: '已发货' }]
      }
    ])

    const getOrderListHandler = async (refresh: boolean, index: number, subTabsIndex: number) => {
      refresh ? (page.value = 1, orderList.value.splice(0)) : page.value++

      if (orderState.value === 0) {
        const { result } = await getConsultation_information_list({ pageNo: page.value, orderState: proxy.$h.optData('paramsOrderState')[subTabsIndex] })
        if (!result.records.length) return
        // console.log('问诊订单列表接口调用')
        result.records.map((_: any) => orderList.value?.push(_))
      } else if (orderState.value === 1) {
        const { result } = await getPrescription_list({ pageNo: page.value, orderState: proxy.$h.optData('paramsstate')[subTabsIndex] })
        if (!result.records.length) return
        // console.log('处方订单列表接口调用')
        result.records.map((_: any) => orderList.value?.push(_))
      }
      console.log(index, subTabsIndex)
    }
    return { orderStateList, orderState, getOrderListHandler, subOrderState, page, orderList }
  },
)