import { defineStore } from 'pinia'
// interface Icommon { // 审批、抄送、条件设置类型、（发起人--由于）
//   flag?: boolean
//   id?: string
//   value?: any
//   conditionNodes?: []
// }
const useWorkFlowStore = defineStore(
  'workFlow',
  {
    state: () => ({
      tableId: '', // 审批id
      promoterDrawer: false, // 发起人抽屉显示隐藏（暂时无用--发起人暂时固定所有人）
      flowPermissionValue: {} as any, // 发起人配置（暂时无用--发起人暂时固定所有人）
      approverDrawer: false, // 审批抽屉显示隐藏
      approverConfigValue: {} as any, // 审批人配置
      copyerDrawer: false, // 抄送抽屉显示隐藏
      copyerConfigValue: {} as any, // 抄送人配置
      conditionDrawer: false, // 条件抽屉显示隐藏
      conditionsConfigValue: { // 条件配置
        conditionNodes: [],
      } as any,
      conditonErrorCount: 0, // 条件错误数量
      approverErrorCount: 0, // 审批错误数量
    }),
    actions: {
      // 设置审批id
      setTableId(payload: string) {
        this.tableId = payload
      },
      // 发起人抽屉显示隐藏（暂时无用--发起人暂时固定所有人）
      setPromoter(payload: boolean) {
        this.promoterDrawer = payload
      },
      // 发起人配置（暂时无用--发起人暂时固定所有人）
      setFlowPermission(payload: object) {
        this.flowPermissionValue = payload
      },
      // 审批抽屉显隐
      setApprover(payload: boolean) {
        this.approverDrawer = payload
      },
      // 审批设置
      setApproverConfig(payload: object) {
        this.approverConfigValue = payload
      },
      // 抄送抽屉显示隐藏
      setCopyer(payload: boolean) {
        this.copyerDrawer = payload
      },
      // 抄送人配置
      setCopyerConfig(payload: object) {
        this.copyerConfigValue = payload
      },
      // 条件抽屉显示隐藏
      setCondition(payload: boolean) {
        this.conditionDrawer = payload
      },
      // 条件配置
      setConditionsConfig(payload: any) {
        this.conditionsConfigValue = payload
      },
    },
  },
)

export default useWorkFlowStore
